Commit Graph

749 Commits

Author SHA1 Message Date
Jamie Mansfield
f5f59203a2
ATLauncher: Reduce boilerplate code for fetching versions 2022-05-20 18:05:58 +01:00
Jamie Mansfield
c329730de8
ATLauncher: Install LiteLoader as a component where possible 2022-05-20 18:03:32 +01:00
Jamie Mansfield
97a83c9b7a
ATLauncher: Avoid downloading Forge twice for older packs
This resolves a quirk where Forge would still be downloaded for use as
a jarmod, even when we detected Forge as a component.
2022-05-20 17:58:00 +01:00
timoreo22
1e6df7eec0
Merge pull request #592 from flowln/technic
Use empty string when version is null in the Technic pack manifest
2022-05-20 10:56:42 +02:00
Sefa Eyeoglu
36045a8b0a
chore: improve readability
Co-authored-by: flow <thiagodonato300@gmail.com>
2022-05-19 12:37:20 +02:00
Sefa Eyeoglu
943090db98
refactor: allow tracking multiple mod loaders 2022-05-19 08:49:27 +02:00
Sefa Eyeoglu
77caaca50d
fix: only consider enabled mod loaders 2022-05-19 08:09:37 +02:00
Sefa Eyeoglu
f66e0fa0e8
fix: support split natives
Mojang introduced a new structure for natives, notably for LWJGL.
Now instead of using the `natives` structure of the version format, Mojang
chose to create a seperate library entry for each platform, which uses
the `rules` structure to specify the platform. These new split natives
carry the same groupId and artifactId, as the main library, but have an
additional classifier, like `natives-linux`.

When comparing GradleSpecifiers we don't look at the classifier, so when
the launcher sees an artifact called `org.lwjgl:lwjgl:3.3.1` and right
after that an artifact called `org.lwjgl:lwjgl:3.3.1:natives-linux`, it
will treat it as "already added" and forget it.

This change will include the classifier in that comparison.
2022-05-18 22:51:15 +02:00
flow
441075f610
fix: version field in technic pack manifest being null
Sometimes, the version field, that is supposed to be a string, was a
null instead. Inspecting other entries, seems like the default for not
having a version should be "", so I made it like that in case the
version was null.

I hope this fixes the issue :^)
2022-05-18 17:17:16 -03:00
timoreo22
b2878dca1d
Merge pull request #590 from DioEgizio/fix-qmj-over-fmj
fix(quilt) always prefer qmj over fmj
2022-05-18 19:18:18 +02:00
DioEgizio
127dfadc6c
fix(quilt) always prefer qmj over fmj
this fixes Quilt-only mods like ok zoomer showing wrong metadata
2022-05-18 14:33:58 +02:00
flow
ff9f3cb31f
fix conflicts with develop 2022-05-17 18:25:08 -03:00
Sefa Eyeoglu
8e9f1bcf18
fix: remove unnecessary Qt version checks 2022-05-17 22:25:50 +02:00
Sefa Eyeoglu
cc27bb3231
fix(updater): remove Windows version check
Qt 5.12 doesn't support anything older than Windows 7 anyway, so we
can't really check if we are on an older platform.
2022-05-17 22:25:50 +02:00
Sefa Eyeoglu
c1700054f4
fix: replace deprecated stuff as of Qt 5.12 2022-05-17 22:25:50 +02:00
Sefa Eyeoglu
cc13310083
Merge pull request #565 from Scrumplex/modrinth-packs
Initial Modrinth modpack support
2022-05-17 16:09:22 +02:00
Sefa Eyeoglu
1012912272
Merge pull request #567 from Scrumplex/quilt-metadata
Support `quilt.mod.json` metadata
2022-05-17 16:08:59 +02:00
Sefa Eyeoglu
edbd90a4e6
fix: update links for Quilt metadata format 2022-05-17 15:17:20 +02:00
Sefa Eyeoglu
ddc3b5eb0b
Update launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui
Co-authored-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-05-17 15:14:53 +02:00
flow
17bbfe8d89
fix: virtual signal in Task.h 2022-05-17 06:47:00 -03:00
flow
96deb5b09d
chore: remove copyright from files i didnt mess with
This is what happens when you auto-pilot stuff xdd
2022-05-17 06:36:30 -03:00
txtsd
9b387d73e5
Merge pull request #529 from flowln/vertical_toolbar
Set right orientation for instance toolbar when moving it around
2022-05-17 12:14:34 +05:30
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
Lenny McLennington
6dfec4db40
Fix toolbar disappearing in a certain circumstance. 2022-05-17 00:21:57 +01:00
flow
2e9d7f5c3d
fix: mod skipping between pages and remove dead code 2022-05-16 19:17:37 -03:00
flow
696a711e39
fix: missed change to metacache entry lookup 2022-05-16 19:10:31 -03:00
flow
887246a66b
fix: typo and useless code 2022-05-16 17:09:14 -03:00
Sefa Eyeoglu
cd9e0e0cc0
fix: use own metacache base for modrinth icons 2022-05-16 20:17:19 +02:00
Sefa Eyeoglu
f66598db8a
Merge pull request #564 from flowln/cf_icon 2022-05-16 20:06:59 +02:00
flow
a6d2c5e181
fix: better hack for icons that cant be natively scaled to 48x48 2022-05-16 14:35:01 -03:00
flow
82760f4b91
fix: import modrinth packs with weird overrides structure
Probably because of Packwiz limitations, or an space optimizer that did
this :)
2022-05-16 12:11:50 -03:00
flow
62e099ace5
feat: better handling of optional mods
This disables the optional mods by default and tell the user about it.
Pretty hackish, but a better solution would involve the modrinth
metadata to have the mod names...

Also sorry for the diffs, my clangd went rogue x.x
2022-05-15 22:16:52 -03:00
flow
e92b7bd25e
change: switch to modrinth production servers 2022-05-15 21:50:42 -03:00
flow
e7bb3b2776
fix: macos compilation
i forgor macos is cringe with static arrays 💀

edit: WHY DONT MAC LET ME USE STD::ARRAY ;----;
2022-05-15 21:18:29 -03:00
flow
ec3c882a44
change: add alpha note to modrinth page 2022-05-15 20:52:57 -03:00
flow
66ce5a4a2d
fix: pack sorting and other search parameters 2022-05-15 20:45:27 -03:00
Sefa Eyeoglu
a110d445ac
feat: support quilt.mod.json metadata 2022-05-15 23:00:09 +02:00
flow
a67f3131e7
Merge pull request #560 from kthchew/feature/close-pmc-override
Add instance overrides for miscellaneous settings
2022-05-15 17:40:53 -03:00
Sefa Eyeoglu
e5d0097116
Merge pull request #531 from Ozynt/patch-1
Remove reference to legacy Minecraft accounts
2022-05-15 22:18:34 +02:00
flow
6d78ea5a45
Merge pull request #539 from kthchew/fix/translation-switch
Fix untranslated strings after changing language
2022-05-15 17:11:21 -03:00
dada513
550d6a6a9b
Merge pull request #547 from kthchew/feature/hidden-temp 2022-05-15 21:54:46 +02:00
dada513
9be8160bf2
Merge pull request #546 from kthchew/feature/scrollable-accounts 2022-05-15 21:43:34 +02:00
dada513
3070565fa3
Merge pull request #545 from DioEgizio/patch-4 2022-05-15 21:42:51 +02:00
flow
7194bb1b81
fix: validate whitelisted download urls 2022-05-15 16:06:49 -03:00
Sefa Eyeoglu
78cf0c73c8
fix: always show project url, if available 2022-05-15 20:38:27 +02:00
flow
4adc61bda9
change: update modrinth icon
Updates to the version at https://github.com/modrinth/docs/blob/master/static/img/logo.svg
2022-05-15 11:26:15 -03:00
flow
93e0041d0e
change: use modrinth icon as default on modrinth packs 2022-05-15 11:09:45 -03:00
Sefa Eyeoglu
682a7fb6ba
feat: add version of Modrinth modpack to instance name 2022-05-15 13:36:55 +02:00
flow
5f2398fe59
chore: license headers 2 2022-05-15 08:26:34 -03:00
Sefa Eyeoglu
3abf466632
chore: add/update license headers 2022-05-15 13:20:05 +02:00
flow
4bb429a0fb
change: use build variables for the modrinth API URLs
Make it more consistent with the others
2022-05-15 07:43:02 -03:00
flow
4a0e4fdb85 fix: add author page url 2022-05-15 07:15:56 -03:00
Sefa Eyeoglu
a43f882d48
feat: add support for Quilt Loader in Modrinth packs 2022-05-15 12:06:01 +02:00
Sefa Eyeoglu
9731e06728
fix: fix build on Qt 5.12 2022-05-15 11:49:27 +02:00
flow
4745ed2818
fix: choose valid download url even if it's not the primary one
It seems to be possible to have modpack versions that have to primary
file. In those cases, we pick a valid one "at random".
2022-05-14 22:50:04 -03:00
flow
49de5d9b07
change: list what file types can be entered in the importer 2022-05-14 22:04:40 -03:00
flow
365cc198ba
refactor: some random improvements 2022-05-14 21:50:54 -03:00
flow
9899a0e098
fix: Have the URL be the project URL itself
(I think, doesn't seem to work for the waffle though, probably because
of the staging API :/)
2022-05-14 21:47:35 -03:00
flow
5ea8cec16f
fix: make all modrinth modpacks have the same icon size 2022-05-14 21:29:48 -03:00
flow
9dd70ca9ae
fix: download icon as well when importing modrinth modpacks 2022-05-14 20:26:20 -03:00
flow
4fda35b466
feat: add modrinth pack downloading
Things that don't work / work poorly (there's more for sure but those
are the evident ones):
    - Icons are broken in the import dialog
    - No way to search for private packs
    - Icons are not downloaded when downloading a mod
    - No support for multiple download URLs
    - Probably a lot more...
2022-05-14 20:19:26 -03:00
Sefa Eyeoglu
31988f0529
fix: adapt upstream Modrinth code to our codebase 2022-05-14 20:27:45 +02:00
kb1000
db03846358
Add support for importing Modrinth packs from files 2022-05-14 20:01:09 +02:00
Sefa Eyeoglu
c6b3eccbdf
refactor: rename Modrinth classes to ModrinthMod 2022-05-14 20:00:54 +02:00
flow
84b962f256
fix: Handle icons with a dot in their names
E.g. some FTB modpacks.
Also fixes an issue with the name viewing on the Icon Chooser dialog
when the name was too big.
2022-05-13 17:21:35 -03:00
Sefa Eyeoglu
8dd68580a6
Merge pull request #528 from flowln/guo_ext 2022-05-13 18:17:40 +02:00
flow
dd2b324d8f
chore: add license header to remaining files
Also remove some unused imports
2022-05-12 18:11:55 -03:00
flow
0bce08d30f
chore: add polymc license headers to launcher/net files 2022-05-12 18:11:55 -03:00
flow
57d65177c8
fix: abort and fail logic in tasks
Also sets up correctly the status connections
2022-05-12 18:11:55 -03:00
flow
040ee919e5
refactor: more net cleanup
This runs clang-tidy on some other files in launcher/net/.

This also makes use of some JSON wrappers in HttpMetaCache, instead of
using the Qt stuff directly.

Lastly, this removes useless null checks (crashes don't occur because of
this, but because of concurrent usage / free of the QByteArray pointer),
and fix a fixme in Download.h
2022-05-12 18:11:55 -03:00
flow
efa3fbff39
refactor: remove some superfluous signals
Since now we're inheriting from Task, some signals can be reused.
2022-05-12 18:11:55 -03:00
flow
8c8eabf7ac
refactor: organize a little more the code in launcher/net/
This also reduces some code duplication by using some Task logic in
NetAction.
2022-05-12 18:11:49 -03:00
Kenneth Chew
3aea639fe4
Add UI for miscellaneous instance setting overrides 2022-05-12 17:11:06 -04:00
Kenneth Chew
046f1e6e58
Add instance overrides for miscellaneous settings 2022-05-12 17:08:06 -04:00
Kenneth Chew
527fa7ba9c
Hide temporary directory in instances folder 2022-05-09 18:34:47 -04:00
Kenneth Chew
288e7bc9c5
Make profile menu scrollable 2022-05-09 15:37:56 -04:00
timoreo22
649b8ac7c6
Merge pull request #537 from PolyMC/stable
Merge stable into develop
2022-05-09 18:06:56 +02:00
DioEgizio
96b2758169
fix websiteurl in curseforge modpacks 2022-05-09 17:42:17 +02: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
Kenneth Chew
5171d99fe5
Retranslate playtime text immediately when language is changed 2022-05-08 23:42:37 -04:00
Kenneth Chew
ea9d61c21c
Retranslate account actions after switching language 2022-05-08 23:19:23 -04:00
Sefa Eyeoglu
1e34de98ab
Merge pull request #534 from DioEgizio/stable 2022-05-08 21:43:06 +02:00
timoreo22
cab40026f2 Merge pull request #475 from Scrumplex/fix-hide-all-tokens
Hide all tokens for non-Debug builds for log and logfiles
2022-05-08 16:56:26 +02:00
Sefa Eyeoglu
ac66bddeda Merge pull request #482 from TheCodex6824/mojang-auth-fix 2022-05-08 16:52:31 +02:00
Sefa Eyeoglu
c4549a5375
Update launcher/modplatform/flame/FlameModIndex.cpp
Co-authored-by: flow <thiagodonato300@gmail.com>
2022-05-08 16:25:51 +02:00
Sefa Eyeoglu
e9b3140d12
Update launcher/modplatform/flame/FlameModIndex.cpp 2022-05-08 16:25:45 +02:00
Ozynt
bdd2d57808
This makes more sense 2022-05-08 11:19:53 +02:00
Ryan Cao
22f5128e39
adopt changes from #497 remapped 2022-05-08 15:22:50 +08:00
flow
29a53d7e95
fix: always have the instance toolbar be vertical
This overrides the orientation set automatically by Qt when we start
moving the toolbar around.
2022-05-07 20:44:44 -03:00
flow
2fbb7be23b
fix: filter based on MIME type instead of plaintext suffix
Suffixes are unreliable in different locales, while MIME types are more
standarized.
2022-05-07 20:16:55 -03:00
dada513
0556ae4749
Merge pull request #503 from txtsd/mnemonics_fix
Fix mnemonics that didn't parse
2022-05-02 11:19:30 +02:00
timoreo22
546d394868
Merge pull request #475 from Scrumplex/fix-hide-all-tokens
Hide all tokens for non-Debug builds for log and logfiles
2022-05-02 10:45:58 +02:00
dada513
8110040f86
Merge pull request #511 from dada513/hide_java_wizard
add hide java wizard toggle
2022-05-01 08:48:37 +02:00
dada513
5662d41062
Update launcher/ui/pages/global/JavaPage.ui
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-04-30 16:20:05 +02:00
dada513
1e03ef484d
Update launcher/ui/pages/global/JavaPage.ui
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-04-30 16:14:48 +02:00
Sefa Eyeoglu
1d95f10090
Merge pull request #489 from kthchew/fix/old-mac-cleanup 2022-04-30 15:54:10 +02:00
dada513
dac801c8ac
add hide java wizard toggle 2022-04-30 15:19:57 +02:00
txtsd
b931dc0f93
fix(mnemonics): Add missing buddies to labels
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-04-29 01:30:47 +05:30
Ryan Cao
0507b56bed
feat: add PolyMC icon as instance icon 2022-04-27 20:30:50 +08:00
Kenneth Chew
ac405aa564
Remove old macOS data migration code 2022-04-25 19:57:47 -04:00
Sefa Eyeoglu
aad7c63282
Merge pull request #482 from TheCodex6824/mojang-auth-fix 2022-04-25 21:55:00 +02:00
TheCodex6824
1ff459d995
Use suggested error handling 2022-04-25 14:08:27 -04:00
Sefa Eyeoglu
52454ca77b
Merge pull request #480 from dschemp/develop 2022-04-25 14:26:10 +02:00
TheCodex6824
a0bafa4952
Re-add base64 decode option for Qt versions that support it 2022-04-23 11:11:55 -04:00
TheCodex6824
e56f0db11b
Remove base64 decode option that was added in Qt 5.15 2022-04-23 10:32:52 -04:00
TheCodex6824
8bcbe07c87
Fix Mojang auth failing due to Mojang rejecting requests to the profile endpoint 2022-04-22 23:39:38 -04:00
Jamie Mansfield
ba9059c7c8
ATLauncher: Replace usage of QPushButton::pressed with ::clicked 2022-04-22 20:37:55 +01:00
Jamie Mansfield
45783c1661
ATLauncher: Support using share codes 2022-04-22 20:37:55 +01:00
Daniel Schemp
71777e7a6f added and fixed some Mnemonics in MainWindow 2022-04-22 00:31:03 +02:00
Daniel Schemp
c86ec0bd36 added: Mnemonics for Settings/APIs 2022-04-22 00:23:36 +02:00
Daniel Schemp
08b1b2669a added: Mnemonics for Settings/Accounts 2022-04-22 00:22:50 +02:00
Daniel Schemp
94a655b055 added: Mnemonics for Settings/External Tools 2022-04-22 00:20:54 +02:00
Daniel Schemp
717067e9eb added: Mnemonics for Settings/Proxy 2022-04-22 00:19:54 +02:00
Daniel Schemp
5a5797d914 added: Mnemonics for Settings/Custom Commands 2022-04-22 00:18:39 +02:00
Daniel Schemp
75826aca13 added: Mnemonics for Settings/Java 2022-04-22 00:16:11 +02:00
Daniel Schemp
f52b7c030f added: Mnemonics for Settings/Minecraft+ 2022-04-22 00:14:24 +02:00
Daniel Schemp
c1386bcb04 added: Mnemonics for Settings/Launcher 2022-04-22 00:12:20 +02:00
Sefa Eyeoglu
b3e1691c01
fix: hide LauncherLoginStep tokens for non-Debug builds 2022-04-20 18:33:33 +02:00
Sefa Eyeoglu
db6dae7541
fix: disable major version match for snapshots 2022-04-20 09:56:53 +02:00
dada513
4e97f2a6fe
Merge pull request #470 from kthchew/fix/ml-selector-crash
Fix crash if no Minecraft version is selected in the new instance screen
2022-04-20 09:08:48 +02:00
dada513
3c3ce71214
Merge pull request #467 from PolyMC/revert-429-develop
Revert "better FreeBSD support"
2022-04-20 08:17:19 +02:00
Kenneth Chew
0682fe544a
Fix crash if no Minecraft version is selected in the new instance screen 2022-04-19 22:20:00 -04:00
Ezekiel Smith
27e803e4a4
Merge pull request #463 from txtsd/enter_shenanigans
Only trigger macOS instance rename on KeyDown
2022-04-20 08:34:30 +10:00
Ezekiel Smith
405c44c9e1
Merge pull request #462 from Scrumplex/fix-world-size-sort
fix: use size in bytes to sort by world size
2022-04-20 08:32:38 +10:00
Sefa Eyeoglu
4c5f701b05
Revert "better FreeBSD support" 2022-04-19 21:49:54 +02:00
Sefa Eyeoglu
3ff3c335bc
Merge pull request #452 from Scrumplex/fix-download-mods-crash 2022-04-19 21:47:05 +02:00
dada513
b9d5e1bbf1
Merge pull request #451 from Scrumplex/fix-modloader-selection 2022-04-19 21:01:43 +02:00
Sefa Eyeoglu
027c666265
Merge pull request #450 from Scrumplex/fix-quilt-mod-dl 2022-04-19 20:36:37 +02:00
txtsd
ec2ac2e80c
fix: Only trigger rename on KeyPress
This is macOS specific
2022-04-19 18:43:51 +05:30
Sefa Eyeoglu
27c72935f8
fix: use size in bytes to sort by world size 2022-04-19 15:07:14 +02:00
Sefa Eyeoglu
fcdc7a1a35
fix: fix Modrinth query when Quilt is in use 2022-04-19 10:22:50 +02:00
Sefa Eyeoglu
f13c776099
Merge pull request #449 from DioEgizio/CI/specify-build-platform
specify -DLauncher_BUILD_PLATFORM on CI builds (EDIT: also remove "on x")
2022-04-19 09:59:11 +02:00
DioEgizio
7b9d462fbc remove "on x" 2022-04-18 18:31:50 +02:00
Sefa Eyeoglu
c174a1eb01
fix: don't set mod loader as important 2022-04-18 15:05:41 +02:00
Sefa Eyeoglu
ac77997a7a
fix: handle network errors when downloading modlist 2022-04-18 14:36:36 +02:00
Sefa Eyeoglu
fa352ff4d3
fix: actually check if a mod loader is selected
Thus also removes a suggestCurrent call from loaderFilterChanged, as it will already be triggered by setSelectedLoaderVersion
2022-04-18 14:15:02 +02:00
Sefa Eyeoglu
fd7745cbeb
Merge pull request #442 from kthchew/fix/typos 2022-04-18 13:38:54 +02:00
flow
cbbcc2d68b
fix(translation): don't translate placeholders
Those are modified programatically, and never show up to the user!
2022-04-17 19:24:49 -03:00
Kenneth Chew
fcbf37f60f
Fix typos and inconsistent capitalization in sort options 2022-04-17 17:58:51 -04:00
Sefa Eyeoglu
0ccbc801cf
Merge pull request #411 from kthchew/feature/menubar 2022-04-17 23:19:51 +02:00
Kenneth Chew
4c52cc414f
Improve menu bar setting string 2022-04-17 16:39:08 -04:00
Kenneth Chew
6b45386252
Disable instead of hide menu bar option on Linux
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-04-17 20:32:51 +00:00
Kenneth Chew
3acc761419
Fix bugs with instance menu bar options when opening without instances
- The launch option is no longer empty.
- The program now checks on startup whether an instance is selected to decide whether to disable instance options.

Also, get rid of a dynamic cast.
2022-04-17 12:44:24 -04:00
Ezekiel Smith
703bf9bb7a
Merge pull request #431 from Scrumplex/feat-quilt-modrinth
Query for Fabric mods if Quilt is in use
2022-04-17 13:46:22 +10:00
Sefa Eyeoglu
cab9afa45f
fix: query for Fabric mods if Quilt is in use
Right now we want to include Fabric mods in our searches where possible.
Modrinth allows definining multiple loaders, while Flame only allows a
single value.

As a compromise we ask for Fabric mods only on Flame and for both Fabric
and Quilt mods on Modrinth.
2022-04-16 23:40:10 +02:00
Sefa Eyeoglu
ba5946dc60
Merge pull request #336 from Scrumplex/refactor-portable 2022-04-16 21:25:05 +02:00
Kenneth Chew
9bad83a551
Use TranslatedAction instead of QAction for menu bar actions 2022-04-16 13:35:13 -04:00
Kenneth Chew
a549828655
Remove the Edit menu bar menu
It wouldn't bring much utility.

- The keyboard shortcuts for copy/paste/etc. already work and are well-known. The menu bar likely doesn't need to advertise them.
- There's not very many places you would be able to use these options in the main window (because there's not many places to type stuff in the main window). It would only be applicable on systems with a native menu bar that shows in all other windows as well (but again, the keyboard shortcuts still work).

Also, rename `actionWiki` -> `actionOpenWiki` to match the corresponding `on_actionOpenWiki_triggered`
2022-04-16 13:17:34 -04:00
Sefa Eyeoglu
e11d1b5202
Merge pull request #429 from Irgendwer01/develop
better FreeBSD support
2022-04-16 18:21:54 +02:00
Sefa Eyeoglu
b10d4d3b8f
fix: drop BUNDLE_DEST_DIR 2022-04-16 18:13:12 +02:00