Commit Graph

353 Commits

Author SHA1 Message Date
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
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
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
leo78913
4ee29b388d feat: add a provider column to the mods page
Signed-off-by: leo78913 <leo3758@riseup.net>
2022-12-15 12:02:08 -03:00
TheKodeToad
127b094c41 Improve handling of destructive actions
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2022-12-14 15:20:42 +00:00
Una
822c5a530e
Not all libraries are from Mojang
Signed-off-by: Una <me@unascribed.com>
2022-12-11 16:11:32 -08:00
Sefa Eyeoglu
7cc42269a9
Merge pull request #569 from Jan200101/PR/fix-mangohud 2022-12-11 18:31:05 +01:00
flow
5622bcc563
Merge pull request #461 from flowln/fix_big_resource_pack_imgs
Fixes https://github.com/PrismLauncher/PrismLauncher/issues/360
2022-12-11 04:16:21 -08:00
Jan200101
deb9c98630
chore: replace naive mangohud preload with vklayer detection
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
2022-12-11 11:01:34 +01:00
Jan200101
514e7ae6a0
fix: re-add LD_LIBARY_PATH to mangohud
Upstream officially supports the use of $LIB/mangohud/

Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
2022-12-08 23:09:14 +01:00
flow
ab23f542c6
Merge pull request #423 from TheKodeToad/addagent
Fixes https://github.com/PrismLauncher/PrismLauncher/issues/414
2022-12-02 06:40:18 -08:00
flow
fa98bf1ee7
Merge pull request #481 from ryanccn/import-resource-pack-dialog-uwu 2022-12-02 06:39:54 -08:00
TheKodeToad
31dc82b1a6 Make requested changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2022-11-29 09:43:08 +00:00
flow
4e27e132a0
fix: don't disable interaction on non-mod models when inst. is running
It is still useful for mods though, since we don't wnt to allow
disabling mods when the instance is running, as that wouldn't affect the
running instance, possibly causing confusion

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-28 12:02:38 -03:00
Sefa Eyeoglu
8cac61f0be
fix: check resource pack validity solely using pack format
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-27 18:41:52 +01:00
TheKodeToad
96e8217b00 Button to add agent
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2022-11-23 09:46:55 +00:00
Ryan Cao
f916ce8752
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import-resource-pack-dialog-uwu 2022-11-21 23:19:50 +08:00
flow
f55fc51e9b
fix: remove commented-out assertions
They may not hold true at all times, and that's fine.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-20 11:11:08 -03:00
flow
df0f9259c0
refactor: move RP/TP validation to their respective utils
This makes it easier to validate individual resources, and allows the
logic to be used in other places in the future, if we need to.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-20 11:10:26 -03:00
Sefa Eyeoglu
30607c34a1
Merge pull request #291 from TheKodeToad/betterjavalauncher 2022-11-19 18:45:15 +01:00
Ryan Cao
1f6b8f9d2b
fix instance IDs and resource pack imports
Signed-off-by: Ryan Cao <70191398+ryanccn@users.noreply.github.com>
2022-11-19 23:59:30 +08:00
Ryan Cao
a33b804923
fix: add resource pack format for 1.19.3
Co-authored-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Signed-off-by: Ryan Cao <70191398+ryanccn@users.noreply.github.com>
2022-11-19 23:47:47 +08:00
Ryan Cao
f527958cb3
fix: check if packFormat is valid for resourcepack parsing
Signed-off-by: Ryan Cao <70191398+ryanccn@users.noreply.github.com>
2022-11-19 23:42:56 +08:00
Ryan Cao
b1bdc6f745
fix resource packs and add support for texture packs
Signed-off-by: Ryan Cao <70191398+ryanccn@users.noreply.github.com>
2022-11-19 23:38:05 +08:00
Sefa Eyeoglu
ce958f4ffd
refactor: use isEmpty instead of size for lists
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-16 23:20:47 +01:00
Sefa Eyeoglu
40970a1a87
fix: serialize metadata extensions
Prism has introduced a few extensions to the meta component version
format, which were not exported as JSON in the launcher. This caused the
`Customize` button on the version page to not write these new properties
to the custom component file.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-16 18:11:18 +01:00