Commit Graph

4347 Commits

Author SHA1 Message Date
flow
8f2c485c92
feat(ui): make selected mods in downloader bold with underline
Makes it easier to find which mods are selected in case you want to
change those.
2022-05-21 08:04:26 -03:00
flow
613f2fc447
feat: allow deselecting mods from the mod confirmation dialog
This adds a checkbox to each mod on the dialog that shows up when
confirming the mods to download, so you can deselect some of those if
you want to.
2022-05-21 08:02:27 -03:00
dada513
9a0d6124f3
Merge pull request #609 from timoreo22/feature/fix-blocked-modpacks 2022-05-21 12:22:45 +02:00
Sefa Eyeoglu
2646ae29f0
Merge pull request #520 from icelimetea/refactor-java-launcher-v2 2022-05-21 12:06:45 +02:00
Sefa Eyeoglu
b4707f46ad
Merge pull request #500 from flowln/net_refactor
Refactor a little the code in `launcher/net/` files
2022-05-21 12:06:34 +02:00
Sefa Eyeoglu
482e049ac7
Merge pull request #606 from jamierocks/h-launch-version 2022-05-21 11:43:19 +02:00
timoreo
c04adf7452
Do the url trick on initial modpack download too 2022-05-21 08:31:07 +02:00
timoreo22
92e8aaf36f
Merge pull request #608 from timoreo22/feature/curseforge-fix
Very Temporary Fix for curseforge
2022-05-21 06:34:43 +02:00
Kenneth Chew
b1f486518e
Use GitHub Actions to get signature for Sparkle
Requires a secret called `SPARKLE_ED25519_KEY`, in the format of a private key file
2022-05-21 00:32:14 -04:00
Kenneth Chew
3cab0e69f1
Fix default install location 2022-05-20 17:23:11 -04:00
Kenneth Chew
1ec7878c07
Add /NoShortcuts parameter for Windows installer 2022-05-20 17:22:30 -04:00
Kenneth Chew
cdd83c279c
Remove portable option in Windows installer 2022-05-20 17:12:08 -04:00
Kenneth Chew
12cadf3af0
Add /NoUninstaller parameter for Windows installer 2022-05-20 17:09:42 -04:00
Kenneth Chew
2bc6da038d
Add installer to release workflow 2022-05-20 17:09:26 -04:00
Sefa Eyeoglu
3b4b34b369
fix(ui): make CF and MR modpack dialogs more consistent 2022-05-20 22:48:42 +02:00
timoreo
6542f5f15a
Apply suggestions 2022-05-20 22:06:36 +02:00
timoreo
30b56dbcbd
Port temp fix to mods too 2022-05-20 22:00:38 +02:00
Kenneth Chew
cbc8c1aed6
Use consistent naming scheme
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-05-20 15:56:13 -04:00
timoreo
6afe59e76b
Very Temporary Fix for curseforge 2022-05-20 21:19:19 +02:00
dada513
88a93945d4
Merge pull request #607 from dada513/curse_set 2022-05-20 20:41:42 +02:00
dada513
2847cefff7
Add cursefrog key override 2022-05-20 19:56:27 +02:00
Jamie Mansfield
96f16069a9
Launch: Apply the Minecraft version correctly
It was previously using a deprecated field.
2022-05-20 18:47:11 +01:00
Jamie Mansfield
188c5aaa35
Launch: Match Vanilla launcher version string behaviour
This removes a means of profiling users.
2022-05-20 18:43:47 +01:00
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
Kenneth Chew
f3c72f4f08
Actually install the full Sparkle.framework
CMake's `fixup_bundle` did not copy everything in the framework, which caused the app to crash when updating. Oops.
2022-05-19 20:22:45 -04:00
Kenneth Chew
05cd30ac06
Refactor code, create abstract class ExternalUpdater
(Hopefully) this makes implementing updaters using external libraries easier on other platforms. To implement an updater on a new platform, create a new class that implements the pure virtual methods from `ExternalUpdater` and add code in the `UpdateChecker` initializer to initialize the new class.
2022-05-19 15:16:37 -04:00
Kenneth Chew
34adcec616
Add functionality to (Sparkle) updater settings on macOS
Also remove a debug line I accidentally left in
2022-05-19 15:16:37 -04:00
Kenneth Chew
f9f46609ee
Use my public key and appcast URL for testing purposes
This is for testing the PR only. If merged, this must be removed.
2022-05-19 15:16:37 -04:00
Kenneth Chew
b5bdfa6c2e
Implement automatic and manual updates on macOS 2022-05-19 15:16:37 -04:00
Kenneth Chew
ea4ef1655b
Create SparkleUpdater class for access from Qt/C++
To actually get automatic updates going, all that needs to happen is that `SparkleUpdater` needs to be initialized.

The rest of the functions can be connected to elements in the UI.
2022-05-19 15:16:37 -04:00
Kenneth Chew
7eb61a28be
Add build options for Sparkle updater
Two new build options are added:

`MAC_SPARKLE_PUB_KEY`: the public key used to verify the signatures of the appcast
`MAC_SPARKLE_APPCAST_URL`: the URL where the `appcast.xml` is located

If the updater should be disabled on macOS, set either of these to an empty string.
2022-05-19 15:16:37 -04:00
Kenneth Chew
92b913ca37
Add Sparkle Updater framework to macOS build 2022-05-19 15:16:37 -04:00
Sefa Eyeoglu
3806f23b02
Merge pull request #594 from Scrumplex/fix-support-split-natives
Support Mojang's new split natives
2022-05-19 17:42:17 +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
Sefa Eyeoglu
b883ce5c51
Merge pull request #127 from Scrumplex/refactor-bump-qt5.12 2022-05-18 15:47:17 +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
a21bd41580
fix: ignore deprecation again 2022-05-17 22:25:50 +02:00
Sefa Eyeoglu
8e9f1bcf18
fix: remove unnecessary Qt version checks 2022-05-17 22:25:50 +02:00
Sefa Eyeoglu
4b06fc5323
chore!: drop support for Qt <5.12
BREAKING CHANGE: If there are references to stuff that's deprecated as
of Qt 5.12, the compilation will fail. This means that support for
versions below 5.12 is hereby dropped
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