Commit Graph

478 Commits

Author SHA1 Message Date
PandaNinjas
318d11481d
Resolve other switch fallthrough issues 2023-06-07 19:37:54 -04:00
PandaNinjas
5d425ecc02
Fix the AccountList code
Signed-off-by: PandaNinjas <admin@malwarefight.wip.la>
2023-06-07 18:14:05 -04:00
PandaNinjas
c225ecbb55
Add sensible defaults in AccountList.cpp
Signed-off-by: PandaNinjas <admin@malwarefight.wip.la>
2023-06-07 18:01:39 -04:00
Tayou
9b9d439fce
Merge pull request #1111 from Trial97/requires 2023-06-07 18:57:46 +02:00
leo78913
a9302468e7 update resource and data pack pack_format_versions
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-06-06 16:10:15 -03:00
Trial97
6505a62801
Renamed requires fields
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-06-06 10:34:05 +03:00
Rachel Powers
cc41b039e6 chore: clean up after new compiler warnings
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-06-04 14:59:48 -07:00
Rachel Powers
5fe9e30f39 fix: use instance settings, make image column user resizeable, fix memory leak
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-28 14:53:15 -07:00
Rachel Powers
4eb9083ddc refactor: column names as class property, use string names in setting
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-28 13:00:08 -07:00
Rachel Powers
b28f682ad9 Merge branch 'develop' into feature/images-for-resource-page 2023-05-28 12:01:49 -07:00
Trial97
b4dff181f7
Fixed Ptr logic
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-05-28 18:22:55 +03:00
Trial97
737fc1a2a4
Merge branch 'Fix_Assert' of github.com:Trial97/PrismLauncher into develop
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-05-28 18:01:39 +03:00
Rachel Powers
a04a6f1e0d fix(memory leak): don't give shared pointers out to foldermodels (causes cyclic refrence)
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-28 02:15:39 -07:00
Rachel Powers
086a7e19f0 feat: Column on left, hideable
- columns are hideable (saves to settings)
- image column moved to left
- datamodals can provide resize modes

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-24 20:15:34 -07:00
Trial97
94cd831e8d
Made sure the metadata is valid when checking mod deps
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-05-14 22:13:53 +03:00
Trial97
ffcc58cb3e
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into develop 2023-05-14 14:20:24 +03:00
Rachel Powers
6b6d6a01dc
Merge branch 'develop' into fix/network_and_signals
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-12 01:13:17 -07:00
Rachel Powers
884ac73078 Merge remote-tracking branch 'upstream/develop' into better-tasks
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-07 13:21:21 -07:00
Rachel Powers
74e7c13a17 feat: display license and issue tracker
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-05 13:46:38 -07:00
Rachel Powers
ee94be624e use 32x32 images for image column
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-05 11:28:19 -07:00
Rachel Powers
2fe3dc5960 fix: fix qchar conversion and codeql
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-05 11:13:36 -07:00
Rachel Powers
ed185f047f feat(resourcePackPage): icon column
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-04 23:46:00 -07:00
Rachel Powers
d384d991fa feat(texturepackPage): icon column
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-04 23:45:24 -07:00
Rachel Powers
9913080a82 feat(modpage): mod icon in description and column
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-04 23:44:28 -07:00
Rachel Powers
ec157b766e feat(mod parsing): load extra mod details
- (image, license, issuetracker)

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-04 23:42:42 -07:00
Trial97
107b470289
Updated required_by as dependency
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-05-04 23:54:46 +03:00
Trial97
f7b912fc9d
Fixed comments
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-05-04 22:25:05 +03:00
Trial97
9fbec3793f
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into develop 2023-05-04 20:29:33 +03:00
Sefa Eyeoglu
64ba5e4ed1
Merge pull request #833 from Ryex/advanced_copy_instance 2023-05-02 12:11:41 +02:00
Rachel Powers
b6452215c1 feat: add details signal to Task
feat: add details to mod pack downloading
feat: add logging rule sloading form `ligging.ini at data path root
feat: add `launcher.task` `launcher.task.net` and `launcher.task.net.[down|up]load` logging categories
fix: add new subtask progress to the end of the lay out not the beginning (cuts down on flickering)

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:47:50 -07:00
Rachel Powers
9d2f0e4dc8 feat: Propogated subtask progress
Oh boy this is big.

> TaskStepProgress struct is now QMetaObject compatabile and can be sent through signals
> Task now has a method to propogates sub task progress it must be signal bound by each task containing a task wishing to report progress of it's children.
> Downloads report speed
> Tasks now have UUIDS to track them
  - use when reporting
  - use when logging
  - use when storeing them or objects related to them

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:47:20 -07:00
Rachel Powers
495103f72e fix: set x-xbl-contract-version header during xbox auth step
Refrencing GDlauncher and ATLauncher code for auth as well as https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/reference/live/rest/additional/httpstandardheaders
it is possible some of microsoft's server's are rejecting our request because of this missing header?

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:43:31 -07:00
Rachel Powers
d80dee2a54 refactor: pass instance ptr to resource models. use it to find instance root.
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-04-29 19:55:37 -07:00
Rachel Powers
788fa40c2a refactor: Move ini to use QSettings && drop get/setList functions
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-04-29 19:55:24 -07:00
Japa
7298f9c273
Fixed typo
Signed-off-by: Japa <japa4551@protonmail.com>
2023-04-26 16:06:17 -03:00
Japa
672f5cf160
Update launcher/minecraft/MinecraftInstance.cpp
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Japa <japa4551@protonmail.com>
2023-04-21 19:46:33 -03:00
Trial97
2c744da9f7
More cleanup
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:06 +03:00
Trial97
ffaa47bf54
Small cleanup
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:06 +03:00
Trial97
c1490cd627
Refator task to work with multiple providers
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:06 +03:00
Trial97
fac33498db
Made some copy by reference
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:06 +03:00
Trial97
f3f8f3574a
Small headers removal
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:05 +03:00
Trial97
7bd26ce468
Semi fixed the Modrinth dependency implementation
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:05 +03:00
Trial97
bcea19b957
Tried to fix codeQL
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:05 +03:00
Trial97
5079ce8d64
Fixed headers
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:05 +03:00
Trial97
4fe497cd68
First working version with curseforge mods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:05 +03:00
Japa
92cda68480
Update launcher/minecraft/MinecraftInstance.cpp
Co-authored-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Signed-off-by: Japa <japa4551@protonmail.com>
2023-04-21 11:18:17 -03:00
Japa
f41426f394
Instance Description displays the last launch date
Initial Draft using the Standard C++ Library, still requires testing.

Signed-off-by: Japa <japa4551@protonmail.com>
2023-04-21 00:30:38 -03:00
Rachel Powers
12f0d51c0c Fix: signal/slot macro -> func pointer & network fixes
- convert qt connect calls to use function pointers instead of the signal/slot macros wherever practical (UI classes were mostly left alone, target was tasks and processes)
- give signals an explicit receivers to use the static method over the instance method wherever practical
- ensure networks tasks are using the `errorOccured` signal added in Qt5.15 over the deprecated `error` signal
- ensure all networks tasks have an sslErrors signal connected
- add seemingly missing `MinecraftAccount::authSucceeded` connection for `MSAInteractive` login flow

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-04-17 18:23:18 -07:00
Trial97
4fbd5abe41
Added task to load dependencies
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-12 00:45:44 +03:00
Trial97
d524935b67
Added task to load local mod information
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-11 20:55:10 +03:00
Rachel Powers
458c2f38bc cleanup: code review sugestions
clean up translation strings

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-03-20 14:56:33 -07:00
Rachel Powers
a0e03c41c0 fix: typos
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-03-20 14:56:32 -07:00
Rachel Powers
a1053a4c5a feat: warnings when instance resources are linked
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-03-20 14:56:32 -07:00
Sefa Eyeoglu
f3f0652d2b
Merge pull request #853 from kumquat-ir/nil
NilLoader mod metadata support
2023-03-05 13:39:00 +01:00
Sefa Eyeoglu
651e511ff0
fix: use makeShared for importing components
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-03-01 12:33:00 +01:00
Sefa Eyeoglu
4878f1a438
Merge pull request #735 from Scrumplex/import-component 2023-03-01 09:49:47 +01:00
kumquat-ir
dc8109658c review fixes
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-22 13:20:13 -05:00
kumquat-ir
7973b01e81 fix metadata for mods with .nilmod extension
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-19 17:21:53 -05:00
kumquat-ir
256fc322a8 minor cleanup
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-16 12:57:35 -05:00
kumquat-ir
9c2a3231c5 do not create nilmods folder
"it cant be that easy" - me, clueless

Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-13 01:45:23 -05:00
kumquat-ir
c07fff7503 switch to qdcss for parsing
make it not horrible to look at

Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-12 17:23:15 -05:00
kumquat-ir
7896dd19c1 nilmods instance page
mostly copied from the coremod page impl

Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-11 17:46:17 -05:00
kumquat-ir
f5f2d33f93 parse nil metadata
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-11 17:46:17 -05:00
Rachel Powers
34460dd77a ensure command env vars use native path seperators
fix #824

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-02-04 12:28:52 -07:00
Sefa Eyeoglu
6ac073e779
fix: fix component uid regex
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-02-03 18:32:57 +01:00
flow
4166d9ab7b
fix: give error when components have bad uids
This allows other code to reject proceeding when the UID is bad, which
is generally a good idea. :p

Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-02 17:11:24 -03:00
flow
29f7ea752f
refactor: make shared_qobject_ptr ctor explicit
This turns issues like creating two shared ptrs from a single raw ptr
from popping up at runtime, instead making them a compile error.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-25 16:57:51 -03:00
Sefa Eyeoglu
199a7df807
refactor: add error handling to component import
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-25 10:43:23 +01:00
Sefa Eyeoglu
5186ad95d3
Merge pull request #784 from flowln/fix_resource_folder_double_smart_ptrs 2023-01-25 10:33:01 +01:00
flow
6d27ef5eea
fix(ResourceFolder): don't create two smart ptrs for the same raw ptr
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-24 17:04:01 -03:00
Sefa Eyeoglu
6e841a3b7e
Merge branch 'develop' into remove-updater
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-24 14:40:17 +01:00
Sefa Eyeoglu
16477a8f6c
Merge pull request #675 from flowln/generalize_mod_model 2023-01-23 23:58:52 +01:00
Sefa Eyeoglu
1a35fec134
Merge pull request #696 from Ryex/import-all-the-things
Fixes https://github.com/PrismLauncher/PrismLauncher/issues/581
Fixes https://github.com/PrismLauncher/PrismLauncher/issues/700
2023-01-16 10:04:09 +01:00
Sefa Eyeoglu
cd893e18d2
chore: update license headers
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-14 17:21:52 +01:00
flow
cf022524d1
Merge pull request #743 from flowln/fix_mods_with_wrong_modListVersion 2023-01-14 12:19:12 -03:00
flow
ebb0596c1a
fix: don't fail mod parsing when encountering invalid modListVersion
The spec (admitely a very old one) states that this entry should always
have the value "2". However, some mods do not follow this convention,
causing issues.

One notable example is the 1.6 version of Aether II for 1.7.10, that has
this value set at "5" for whatever reason.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 21:15:10 -03:00
flow
6a18079953
refactor: generalize mod models and APIs to resources
Firstly, this abstract away behavior in the mod download models that can
also be applied to other types of resources into a superclass, allowing
other resource types to be implemented without so much code duplication.

For that, this also generalizes the APIs used (currently, ModrinthAPI
and FlameAPI) to be able to make requests to other types of resources.

It also does a general cleanup of both of those. In particular, this
makes use of std::optional instead of invalid values for errors and,
well, optional values :p

This is a squash of some commits that were becoming too interlaced
together to be cleanly separated.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:00 -03:00
Aaron Sonin
b2f48eaeb8
Merge branch 'PrismLauncher:develop' into instance-accounts 2023-01-12 20:11:46 -08:00
Sefa Eyeoglu
fff52cb247
feat: add button to import component JSONs
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-11 13:50:57 +01:00
Rachel Powers
574af2c795 chore: cleanup review suggestions
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-09 17:18:08 -07:00
Rachel Powers
03b75bf2a9 feat: Import all the things!
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-07 15:04:22 -07:00
Sefa Eyeoglu
f3f628410d
Merge pull request #576 from Ryex/identify-zip-packs
fix https://github.com/PrismLauncher/PrismLauncher/issues/349
2023-01-07 17:33:34 +01:00
Aaron Sonin
e0e3d4d8fe
Merge branch 'PrismLauncher:develop' into instance-accounts 2023-01-02 11:59:29 -07:00
Aaron
7e2d78bab5 Allow selecting a default account to use with an instance
Signed-off-by: Aaron <10217842+byteduck@users.noreply.github.com>
2023-01-02 11:17:19 -07:00
Rachel Powers
0ebf04a021
fix newlines
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-30 10:21:49 -07:00
flow
d55f47077a
Merge pull request #626 from leo78913/mods-provider-column
closes https://github.com/PrismLauncher/PrismLauncher/issues/402
2022-12-30 11:39:03 -03:00
Rachel Powers
7f438425aa refactor: add an identify function to make easy to reuse
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-29 19:47:19 -07:00
flow
257970c27d
refactor(Mods): make provider() return a std::optional
This makes it easier to check if a mod has a provider or not, without
having to do a string comparison.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-29 13:21:49 -03:00
Sefa Eyeoglu
c8d8046412
refactor: add logging category for credentials
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-27 17:04:42 +01:00
Rachel Powers
3691f3a296 fix: cleanup and suggested changes
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-26 14:50:15 -07:00
Sefa Eyeoglu
6ea1234a3b
Merge pull request #618 from TheKodeToad/safer-destructive-actions
Fixes https://github.com/PolyMC/PolyMC/issues/948
2022-12-26 17:48:43 +01:00
Rachel Powers
8422e3ac01 feat: zip resource validation check for flame
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-24 20:43:17 -07:00
Rachel Powers
cfce54fe46 fix: update parse tests
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-24 20:43:17 -07:00
Rachel Powers
a7c9b2f172 feat: validate world saves
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-24 20:43:17 -07:00
Rachel Powers
eb31a951a1 feat: worldSave parsing and validation
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-24 20:43:01 -07:00
Rachel Powers
ccfe605920 feat: add shaderpack validation
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-24 15:55:10 -07:00
Rachel Powers
878614ff68 feat: add a ModUtils::validate
moves the reading of mod files into `ModUtils` namespace

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-24 09:42:02 -07:00
Rachel Powers
64c51a70a3 feat: add initial support for parseing datapacks
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-24 09:42:02 -07:00
leo78913
aa3633d2d7
fix: translate unknown mod provider
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: leo78913 <leo3758@riseup.net>
2022-12-16 11:13:54 -03:00
flow
c440f33122
fix(ResourceModel): use a single ConcurrentTask for parsing tasks
This avoids creating a bunch of threads that fills up the maximum amount
allowed by QThreadPool, and causes a deadlock between the helper threads
and the main thread (main thread tries to create threads in painting
code, but isn't able to, so it keeps waiting for a thread to free up,
but all the threads are waiting on the main thread to process some
events).

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-15 13:51:07 -03:00