Commit Graph

387 Commits

Author SHA1 Message Date
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
Sefa Eyeoglu
849b92665e
Merge branch 'develop' into remove-updater 2022-12-14 23:22:27 +01: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
Sefa Eyeoglu
fdbd8d9d2b
refactor: remove old updater
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-21 16:18:05 +01: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
Sefa Eyeoglu
8aae652be1
fix: remove unnecessary condition
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-16 18:10:54 +01:00
flow
c4c1e75de8
fix: use QPixmapCache only from the main thread
It's a required condition.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-15 18:14:03 -03:00
flow
7705f290ca
fix: don't retry to load RP images that can't fit in the cache
Avoids an infinite loop when the image is too big.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-15 12:07:11 -03:00
flow
cedc7754d9
Merge pull request #428 from DioEgizio/fixes-to-CI 2022-11-14 14:16:01 -08:00
TheLastRar
aef5349aee Pass index.parent() as parent parameter for rowCount
Signed-off-by: TheLastRar <TheLastRar@users.noreply.github.com>
2022-11-14 19:05:57 +00:00
TheLastRar
ac993aa31f Use Q_UNUSED instead of [[maybe_unused]] in onParseFailed
Qt5 on Ubuntu cannot handle [[maybe_unused]] in this function

Signed-off-by: TheLastRar <TheLastRar@users.noreply.github.com>
2022-11-14 19:05:57 +00:00
TheLastRar
fce323b945 Check parent in rowCount/columnCount/canFetchMore
Signed-off-by: TheLastRar <TheLastRar@users.noreply.github.com>
2022-11-14 19:05:57 +00:00
TheLastRar
5558f3d2cc Mark paramaters of dropMimeData as unused
Signed-off-by: TheLastRar <TheLastRar@users.noreply.github.com>
2022-11-14 19:05:57 +00:00
TheLastRar
08f8623cb7 Mark paramaters of onParseFailed as unused
Signed-off-by: TheLastRar <TheLastRar@users.noreply.github.com>
2022-11-14 19:05:56 +00:00
TheLastRar
3cba359d38 Mark paramater runtimeContext as unused
Base class uses variable, but ImplicitRule does not

Signed-off-by: TheLastRar <TheLastRar@users.noreply.github.com>
2022-11-14 19:05:56 +00:00
txtsd
0a04c3a2a7 fix: Fix the error that CodeQL caught
Signed-off-by: txtsd <code@ihavea.quest>
2022-11-13 18:54:55 +01:00
Sefa Eyeoglu
392452d422
Merge pull request #397 from flowln/windows_mod_updater_fixes_maybe
Fixes https://github.com/PrismLauncher/PrismLauncher/issues/226
2022-11-10 14:34:15 +01:00
TheKodeToad
32c2ad2bbd A lot more cleanup
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2022-11-08 17:51:18 +00:00
TheKodeToad
9931c9a286 Remove arguments being passed twice
Passing the classpath into stdin has no effect. Java is already provided the classpath with -cp, which pretty much takes up the largest part of the arguments anyway, which leads me to wonder, what's the point of stdin arguments at all?

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2022-11-08 16:37:00 +00:00
TheKodeToad
e68dcea6bc Various tweaks to the Java component of the launcher
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2022-11-08 16:24:55 +00:00
flow
353b51f11e
refactor: move MMCStrings -> StringUtils
General utilities can go in here >:)

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-04 16:53:24 -03:00
flow
76050880f1
fix: use unicode variant for marking '.index' hidden
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-04 16:53:21 -03:00
txtsd
8f045af867
Merge pull request #374 from flowln/fix_lto 2022-11-04 15:39:41 +05:30
flow
7956e6f04e
fix: don't use forward-declared Ptr types in meta/
This would cause ODR violations when those headers were included in
other places that also included stuff like "Version.h" (note the
"meta/Version.h"), which can cause problems, especially in LTO.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-01 19:48:26 -03:00
Ryan Cao
8467daa0ec
oop
Signed-off-by: Ryan Cao <70191398+ryanccn@users.noreply.github.com>
2022-10-31 14:58:38 +08:00
Ryan Cao
27dfe30fe6
Update VerifyJavaInstall.cpp
Signed-off-by: Ryan Cao <70191398+ryanccn@users.noreply.github.com>
2022-10-31 14:44:11 +08:00
Ryan Cao
19a8d51bf3
fix: more user friendly Java warning text
Signed-off-by: Ryan Cao <70191398+ryanccn@users.noreply.github.com>
2022-10-30 11:56:43 +08:00
Samisafool
8201d1df02
Rename
Signed-off-by: Samisafool <thenerdiestguy@gmail.com>
2022-10-19 15:02:43 +05:30
Sefa Eyeoglu
3ac398ac49
fix: use display name in code
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-10-18 09:50:27 +02:00
Sefa Eyeoglu
fafc9cf9ca
Merge pull request #1033 from Scrumplex/multi-arch-support 2022-10-08 20:12:40 +02:00
Sefa Eyeoglu
3111e6a721
chore: add missing license headers
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-10-08 20:12:07 +02:00
Sefa Eyeoglu
0dca9cb6b8
Merge pull request #1162 from Trial97/feature/Replace-toml-library 2022-09-30 19:44:45 +02:00
timoreo
9ff364b0d3
huge nit: added const refs, everywhere
Signed-off-by: timoreo <contact@timoreo.fr>
2022-09-26 11:50:31 +02:00
Alexandru Ionut Tripon
ed261f0af9
Update launcher/minecraft/mod/tasks/LocalModParseTask.cpp
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2022-09-25 20:38:55 +03:00
Trial97
600c49f7f0
Replaced tomlc99 with tomlplusplus
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2022-09-24 00:10:27 +03:00
flow
6131346e2f
refactor: change the way instance names are handled
While working on pack updating, instance naming always gets in the way,
since we need both way of respecting the user's name choice, and a
standarized way of getting the original pack name / version.

This tries to circunvent such problems by abstracting away the naming
schema into it's own struct, holding both the original name / version,
and the user-defined name, so that everyone can be happy and world peace
can be achieved! (at least that's what i'd hope :c).

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:08 -03:00
flow
941d75824a
refactor: add instance creation abstraction and move vanilla
This is so that 1. Code is more cleanly separated, and 2. Allows to more
easily add instance updating :)

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:32:36 -03:00
Sefa Eyeoglu
7bd8bd13fe
feat: support multiarch system classifiers
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 16:01:06 +02:00
Sefa Eyeoglu
09e85e948c
refactor: introduce RuntimeContext
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 15:59:43 +02:00
Sefa Eyeoglu
9ec1c00887
fix: register JavaRealArchitecture for MinecraftInstance
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 15:58:56 +02:00
Sefa Eyeoglu
a24d589845
fix: ensure all resource folders exist
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 10:39:05 +02:00
Sefa Eyeoglu
23fc453fae
fix: comments and naming of texture pack stuff
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 10:26:15 +02:00
Sefa Eyeoglu
aad6f74db6
fix: tests
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 10:26:15 +02:00
Sefa Eyeoglu
07dcefabcb
feat: add texture pack parsing
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 10:26:15 +02:00
txtsd
40c68595d7
Merge pull request #1150 from flowln/fix_crash_on_game_quit 2022-09-20 09:41:59 +05:30
flow
0873b8d304
fix: prevent container detaching in ResourceFolderModel
and use const accessors whenever we can!

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-16 20:12:31 -03:00
flow
c9eb584ac8
fix: prevent deletes by shared pointer accidental creation
This fixes the launcher crashing when opening the game :iea:

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-16 20:12:30 -03:00
flow
10493bd44a
fix: move newly allocated resources to the main thread
This avoids them getting deleted when the worker thread exits, due to
thread affinity on the created thread.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-16 20:12:30 -03:00
flow
9e35230467
fix: memory leak when getting mods from the mods folder
friendly reminder to always delete your news.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-16 20:12:30 -03:00
flow
81e326571b
fix: enable demo launch only on supported instances
e.g. >= 1.3.1 instances

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-15 19:27:42 -03:00
Sefa Eyeoglu
4c7d3a103c
refactor: restructure tests
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-11 22:29:01 +02:00
flow
333dbca01e
Merge pull request #1105 from flowln/better_resource_packs
Add basic resource pack parsing and fix issues
2022-09-07 08:30:36 -03:00
Sefa Eyeoglu
b70a82c609
Merge pull request #1111 from PolyMC/revert-1067-classpath-epicness 2022-09-05 20:06:33 +02:00
Sefa Eyeoglu
8e3356f11a
Merge pull request #1034 from Scrumplex/detect-performance-features 2022-09-05 17:45:17 +02:00
Sefa Eyeoglu
1b559c7776
Revert "Move classpath definition into NewLaunch itself"
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-05 17:37:10 +02:00
flow
bedd3c50b6
fix: improve handling of unrecognized pack formats
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 15:05:23 -03:00
flow
9db27c6acc
fix: crash when adding resource packs directly in the folder
This fixes an issue in which, when adding a new resource pack externally
to PolyMC, when the resource pack view was open, would crash poly.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:22 -03:00
flow
42c81395b3
fix: race condition on ResourceFolderModel tests
This (hopefully) fixes the race contiditions that sometimes got
triggered in tests.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:22 -03:00
flow
3b13e692d2
feat: move resource pack images to QPixmapCache
This takes care of evicting entries when the cache gets too big for us,
so we can add new entries without much worries.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:22 -03:00
flow
0331f5a1eb
feat(tests): add tests for resource pack parsing
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:22 -03:00
flow
8a7e117f6b
refactor: move resource pack file parsing utilities to separate namespace
This makes it easier to use that logic in other contexts.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:22 -03:00
flow
9b984cedac
feat: add image from pack.png to resource packs
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:22 -03:00
flow
6a93688b2e
fix: filtering in regex search in resource packs
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:21 -03:00
flow
3ab17a97a8
fix: sorting by pack format
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:21 -03:00
flow
f21ae66265
feat: add basic resource pack parsing of pack.mcmeta
This parses the pack format ID and the description from the local file,
from both a ZIP and a folder, and hooks it into the model.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:21 -03:00
flow
050768c266
feat: add more resource pack info
Adds pack format id and description to ResourcePack, that'll be parsed
from pack.mcmeta.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:21 -03:00
flow
cda2bfc240
feat: allow specifying factory for resources in BasicFolderLoadTask
This allows us to hook our own resource type, that possibly has more
content than the base Resource, to it.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:20 -03:00
flow
ba3ac85356
Merge pull request #1067 from Scrumplex/classpath-epicness
Move classpath definition into NewLaunch itself
2022-08-31 18:28:29 -03:00
flow
ec29cedeb7
Merge pull request #1080 from flowln/eternal_cache
Never invalidate libraries cache entries by time elapsed
2022-08-31 18:28:07 -03:00
flow
ddf1e1ccee
fix: make FML libraries cache eternal
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-21 13:47:49 -03:00
flow
5ac4e73697
fix: make libraries cache eternal
This restores the behavior prior to PR #920.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-21 13:47:49 -03:00