Commit Graph

170 Commits

Author SHA1 Message Date
flow
7f5dea28bb
feat(ManagedPackPage): add link to the Modrinth's pack page
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 17:00:32 -03:00
flow
d4979974b4
fix(ManagedPackPage): better UX for when network requests fail / are pending
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 17:00:32 -03:00
flow
9539230915
fix: do not display managed pack page for providers without an impl. yet
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 17:00:32 -03:00
flow
25cfa26e7b
fix: use rich text in changelog for modrinth modpacks
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 17:00:32 -03:00
flow
58d2c15ffa
feat: add functionality to MR modpack update in the page :D
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 17:00:32 -03:00
flow
1c567232e3
feat: add (current) indicator to the currently installed version in MR
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 16:54:54 -03:00
flow
cba2608c1c
feat: add logic for the modrinth instance modpack page
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 16:54:54 -03:00
flow
e5c42f68c2
feat: add basic ManagedPackPage classes
The idea is to have a base class that defines common behavior, and
subclasses for each modpack provider, adding specific behavior.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 16:54:54 -03:00
flow
02b4468bcd
feat(ui): add ManagedPackPage ui
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 16:54:50 -03:00
DioEgizio
70620d5137 feat: add a proper server icon
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-12-04 12:45:39 +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
Sefa Eyeoglu
9e1653ebb4
Merge pull request #436 from Scrumplex/feat-change-maxmem
Closes https://github.com/PrismLauncher/PrismLauncher/issues/426
2022-11-30 18:22:55 +01:00
Sefa Eyeoglu
a5b0b4800a
fix: make resource buttons work when instance is running
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-27 23:10:32 +01:00
TheKodeToad
96e8217b00 Button to add agent
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2022-11-23 09:46:55 +00: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
2d69d63efe
feat(InstancePages): save/load wide bar visibility settings
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-19 18:41:31 -03:00
flow
fece9e207b
Merge pull request #448 from TheLastRar/fixup-warnings 2022-11-14 14:15:46 -08: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
flow
577069cfb4
fix: don't have the clear button on instance page filters
This thing is otherworldly unoptimized. o.O

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-12 19:23:57 -03:00
Sefa Eyeoglu
b57fee1a44
fix: swap spin box and state icon
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-11 15:24:14 +01:00
Sefa Eyeoglu
cabd887866
feat: use icons to show memory allocation state
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-11 15:22:16 +01:00
Sefa Eyeoglu
863a168cb5
feat: raise memory limits to 1TiB
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-11 15:05:00 +01:00
Sefa Eyeoglu
5ee4fb3522
feat: validate maximum memory allocation
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-11 15:04:05 +01:00
Cleo John
83ceb26151 Streamline Button changes to improve source readability. 2022-10-18 17:28:23 +02:00
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
09e85e948c
refactor: introduce RuntimeContext
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 15:59:43 +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
jopejoe1
29dcb9d274 Added Launch Demo button.
Signed-off-by: jopejoe1 <johannes@joens.email>
2022-09-15 18:44:18 -03: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
8e3356f11a
Merge pull request #1034 from Scrumplex/detect-performance-features 2022-09-05 17:45:17 +02:00
flow
43a7af3f44
fix: removing mods with their metadata as well
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:23 -03:00
flow
afa1a5e932
feat: modify InfoFrame and ResourcePackPage to show ResourcePack info
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:21 -03:00
flow
e2ab2aea32
change: add enable/disable to resources
TIL that zip resource packs, when disabled, actually have the effect of
not showing up in the game at all. Since this can be useful to someone,
I moved the logic for it to the resources.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20 10:49:54 -03:00
flow
97a74d5c1f
refactor: adapt rest of the codebase to the new resource model
In order to access the ModFolderModel from the ModFolderPage, i created
a new m_model for the correct type, shadowing the m_model of type
ResourceFolderModel. This creates two shared_ptr references to the same object,
but since they will have the same lifetime, it doesn't generate a memory
leak.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20 10:47:58 -03:00
flow
ec62d8e973
refactor: move general code from mod model to its own model
This aims to continue decoupling other types of resources (e.g. resource
packs, shader packs, etc) from mods, so that we don't have to
continuously watch our backs for changes to one of them affecting the
others.

To do so, this creates a more general list model for resources, based on
the mods one, that allows you to extend it with functionality for other
resources.

I had to do some template and preprocessor stuff to get around the
QObject limitation of not allowing templated classes, so that's sadge :c

On the other hand, I tried cleaning up most general-purpose code in the
mod model, and added some documentation, because it looks nice :D

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20 10:45:01 -03:00
Sefa Eyeoglu
afb9ebcd99
fix: distinguish Coremods
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-20 12:53:13 +02:00
Sefa Eyeoglu
7e8644430c
Merge pull request #1007 from Gingeh/disable-update-button 2022-08-20 12:50:19 +02:00
Robb
cebac3c10e
Make new title strings translatable
Signed-off-by: Robb <computerguy440+gh@gmail.com>
2022-08-10 12:07:24 -05:00
Robb
cd30f75173
fix: Make world safety nag title text match the action being performed instead of always saying 'Copy World'
Signed-off-by: Robb <computerguy440+gh@gmail.com>
2022-08-09 16:01:21 -05:00
Sefa Eyeoglu
68f3f98bc3
feat: detect GameMode and MangoHud's presence
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-08 21:16:37 +02:00
Gingeh
a8aa862919 Move large condition into a new lambda
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-03 16:39:30 +10:00
Gingeh
f33b31e048 Check for running instance when re-opening the mod folder page and when selecting mods
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-02 14:14:45 +10:00
Gingeh
0d10ebb7ca Update launcher/ui/pages/instance/ModFolderPage.h
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-02 12:50:25 +10:00
Gingeh
77b640b76b Disable "Check for Updates" and "Download Mods" while the game is running
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-01 20:56:05 +10:00
Gingeh
a8dfe98b1a Disable "Check for Updates" if all mods are removed
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-01 20:56:05 +10:00
flow
3aa2003951
fix: filter in external resource pages not working
For some reason, using setFilterFixedString() doesn't seem to update the
QRegularExpression object with a new value, instead leaving it empty. It
updates QRegExp just fine, so maybe that's an Qt bug? o.O

Anyway, using regex in the filter is kinda cool actually :D

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-23 23:50:56 -03:00
flow
813dfbd2d3
fix: hide the entire performance tab on instance settings in non-Linux
"just woke up after a major release has just been made" coding style

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-23 13:29:39 -03:00
Sefa Eyeoglu
28ae5d710e
fix: fix translations for mod updater
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-19 18:03:45 +02:00
flow
de9e304236
fix: std::list -> QList
Qt6 removed Qlist::toStdList() 😭

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:45 -03:00
flow
c4316e81e6
change: make Mod a QObject used as a pointer
Prevents problems when copying it around!

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:44 -03:00
flow
2d10c246a8
feat: add update mods to the ui / mod model
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:42 -03:00
Sefa Eyeoglu
3b4539de79
chore: update license headers
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:19:15 +02:00
Sefa Eyeoglu
15c5bbcf22
fix: fix slots for Qt 6
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:19:15 +02:00
Sefa Eyeoglu
ff2cd50bfa
refactor: replace QRegExp with QRegularExpression
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:17:52 +02:00
Sefa Eyeoglu
984692dc62
refactor: fix deprecation up to Qt 5.15
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:17:52 +02:00
Sefa Eyeoglu
e210a4b244
Revert "fix: remove updater if it is not used"
This reverts commit 2ff0aa09e3.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-06 18:13:51 +02:00
Sefa Eyeoglu
f1902a4471
Merge pull request #794 from Scrumplex/resolve-jars-dynamically 2022-07-06 17:40:09 +02:00
Sefa Eyeoglu
04b865adae
Merge pull request #707 from Jan200101/PR/gamemode
Add Performance related settings
2022-07-06 17:11:43 +02:00
Jan200101
cad581388f
Add Performance related settings
Integrates support for Feral Gamemode, discrete GPU support for Mesa and the proprietary Nvidia driver and MangoHud support

Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
2022-07-06 09:34:14 +02:00
Sefa Eyeoglu
474d77ac57
feat: resolve JARs dynamically
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-03 17:31:01 +02:00
flow
02201631e7
feat: use ConcurrentTask for mod downloads
Way faster :)

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-01 08:34:17 -03:00
flow
5f951e8f21
change: better regex for removing 'The' when sorting mods
Teh :|

Co-authored-by: timoreo22 <timo.oreo34@gmail.com>
2022-06-30 07:04:47 -03:00
Sefa Eyeoglu
e25cdd9d12
refector: move download action to ExternalResourcesPage 2022-06-14 07:04:31 -03:00
flow
d394235ee0
refactor: Create a more clear hierarchy for some instance pages
Previously, the Shaders, Texture packs and Resource packs tabs had as
parent the ModFolderPage, making it so that making changes only to the
Mods page would require checking the id of the page for the correct one.
This was hackish and error-prone.

Now, those pages all inherit from a single class, ExternalResourcesPage,
that handles the basic behaviour of all of them, while allowing for
individual modification in code.

This is still not a clear separation, since internally, all those
resources are derived from Mods, so for now there's still some awkward
common code :/
2022-06-14 07:04:31 -03:00
Sefa Eyeoglu
a4ef0940ed
chore: add license headers 2022-06-12 13:50:58 +02:00
Sefa Eyeoglu
2ff0aa09e3
fix: remove updater if it is not used 2022-06-12 13:39:47 +02:00
Sefa Eyeoglu
9054ee18a1
Merge pull request #505 from flowln/improve_download_ux 2022-05-30 13:41:02 +02:00
flow
166f872712
fix: various issues with ProgressDialog and SequentialTasks
- Fix aborting sequential tasks
- Fix displaying wrong number of tasks concluded
- Fix text cutting when the URL is too big
2022-05-21 08:36:36 -03:00
Sefa Eyeoglu
943090db98
refactor: allow tracking multiple mod loaders 2022-05-19 08:49:27 +02:00
txtsd
c02a6780b0
Merge pull request #540 from kthchew/fix/executable-screenshot
Show "executable" screenshots in the screenshot manager
2022-05-17 10:59:55 +05:30
Kenneth Chew
3aea639fe4
Add UI for miscellaneous instance setting overrides 2022-05-12 17:11:06 -04:00
Kenneth Chew
40e0252d7d
Show "executable" screenshots in the screenshot manager
Since the readable/writable filter was removed to do this, extra code was added to enable/disable certain buttons based on whether the screenshot is readable or writable.
2022-05-09 00:54:47 -04:00
Sefa Eyeoglu
27c72935f8
fix: use size in bytes to sort by world size 2022-04-19 15:07:14 +02:00
Sefa Eyeoglu
4ff1306e0c
Merge pull request #185 from Scrumplex/quilt
Quilt support
2022-04-15 11:38:50 +02:00
Sefa Eyeoglu
9fb5674233
refactor: cleanup ModLoaderType 2022-04-14 21:55:03 +02:00
Sefa Eyeoglu
18ac109e5a
fix: support Quilt from Minecraft 1.14 onwards 2022-04-14 17:20:07 +02:00
Sefa Eyeoglu
14a0e85862
fix: remove unused code 2022-04-14 16:50:04 +02:00
Sefa Eyeoglu
89125fde22
refactor: switch Quilt mappings to hashed MojMap 2022-04-09 14:56:07 +02:00
Sefa Eyeoglu
35cfb41a9c
fix: check for Quilt as Fabric-compatible loader 2022-04-07 18:46:09 +02:00
Sefa Eyeoglu
74cdf5350d
fix: restrict quilt-mappings versions to MC version 2022-04-07 18:46:00 +02:00
Petr Mrázek
566a83b245 NOISSUE prevent -version being passed to the JRE
We want specific JREs, always, not something that is magically resolved.
This counteracts some really bad advice recently being spread on reddit.
2022-04-07 18:28:27 +02:00
Sefa Eyeoglu
9eb9ddc668
feat: initial Quilt support 2022-04-07 18:11:40 +02:00
Sefa Eyeoglu
fa870bc026
Merge pull request #380 from flowln/task-progress 2022-04-06 10:52:38 +02:00
Sefa Eyeoglu
5fb096d7b9
Merge pull request #345 from Scrumplex/handle-incompatible-java 2022-04-04 21:01:49 +02:00
flow
9b8493c304
feat: Use a single progress dialog when doing multiple tasks
This puts all mod downloading tasks inside a SequentialTask, which is,
for more than one task, a multi step task. This is handled by the
ProgressDialog by showing both the global progress of tasks executed,
and the individual progress of each of them.
2022-04-01 09:32:00 -03:00
Sefa Eyeoglu
ea60e48d9d
chore: add license header
chore: add license header
2022-03-27 20:59:56 +02:00
Sefa Eyeoglu
85f3fc9944
fix: remove "PolyMC" from strings 2022-03-27 20:59:51 +02:00
Sefa Eyeoglu
82c35f2746
feat: block launch if Java is incompatible
Keep track of compatible Java versions from meta. Launch-step
VerifyJavaInstall will check if current instance's Java version is
compatible.
Also add override option both globally and per-instance in-case the user
doesn't care about the requirement.
2022-03-24 16:10:39 +01:00
Sefa Eyeoglu
75d0078a38
fix: retranslate CustomCommands 2022-03-20 21:51:36 +01:00
Sefa Eyeoglu
cafff5e504
chore: add license header 2022-03-20 21:40:49 +01:00
Jamie Mansfield
dd5c4b6864
App: Retranslate all pages when the language is changed 2022-03-20 20:48:12 +01:00
Sefa Eyeoglu
702a1da0ac
fix: disable "Install Forge" button when needed 2022-03-20 15:35:35 +01:00
Sefa Eyeoglu
768007d980
fix: disable "Download mods" button when needed
Fixes #271
2022-03-20 15:34:13 +01:00
flow
a3d7ad731d
fix missing translation strings
my mistake, sorry! ToT
2022-03-11 18:43:17 -03:00
flow
e0c025b162
fix extra spacing in resource packs and shader packs, and move button up
hopefully now its finally ok
2022-03-03 09:51:46 -03:00
flow
9e443faba3
hack: hide 'Download Mods' button when not in the mods tab 2022-03-03 04:02:22 -03:00
flow
f95cebaf06
change 'Install Mods' -> 'Download Mods' and change position 2022-03-03 01:10:10 -03:00
flow
c4f4e9e620 merge upstream and resolve conflicts 2022-02-25 13:43:27 -03:00
flow
9c6727e27f
feat: change task container in ModDownloadDialog to a QHash
Previously, we used a unique_ptr to a ModDownloadTask to keep track of
the selected mod to download when we accepted the dialog.

In order to allow multiple mods to be selected at once for download,
this has been changed to a QHash where the key is the mods name (since
it doesn't seem right to allow for multiple versions of the same mod to
be downloaded at once), and the value is a pointer to the corresponding
ModDownloadTask.
2022-02-21 21:34:06 -03:00