Commit Graph

279 Commits

Author SHA1 Message Date
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
ba3ac85356
Merge pull request #1067 from Scrumplex/classpath-epicness
Move classpath definition into NewLaunch itself
2022-08-31 18:28:29 -03:00
Sefa Eyeoglu
afcd669d2f
Merge pull request #965 from flowln/fat_files_in_memory
Refactor a bit EnsureMetadataTask and calculate hashes in a incremental manner
2022-08-28 11:03:12 +02:00
DioEgizio
6b6a095b91 fix(COPYING): fix COPYING.md by adding some missing copyright notices
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-08-19 18:42:26 +02:00
Sefa Eyeoglu
01505910f4
refactor: move classpath definition into NewLaunch itself
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-18 18:14:01 +02:00
txtsd
78dc0cfdf3
chore(markdown): MD001 Heading levels should only increment by one level at a time
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 13:00:57 +05:30
txtsd
123d1864f4
chore(markdown): MD037 Spaces inside emphasis markers
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 13:00:57 +05:30
txtsd
96a91e988d
chore(markdown): MD010 Hard tabs
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 13:00:56 +05:30
txtsd
19ecb1701e
chore(markdown): MD031 Fenced code blocks should be surrounded by blank lines
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 13:00:56 +05:30
txtsd
8085b2728d
chore(markdown): MD032 Lists should be surrounded by blank lines
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 13:00:56 +05:30
txtsd
3275bc4e93
chore(markdown): MD009 Trailing spaces
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 12:57:30 +05:30
txtsd
8963378039
chore(markdown): MD007 Unordered list indentation
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 12:57:30 +05:30
txtsd
c7d435bb7a
chore(markdown): MD025 Multiple top-level headings in the same document
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 12:57:11 +05:30
txtsd
fba20e2cfb
chore(markdown): MD040 Fenced code blocks should have a language specified
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 12:55:11 +05:30
txtsd
358f080c76
chore(markdown): MD012 Multiple consecutive blank lines
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 12:55:11 +05:30
txtsd
8cea57ff0f
chore(markdown): MD022 Headings should be surrounded by blank lines
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-08-06 12:53:50 +05:30
DioEgizio
abd090bd48
fix: remove iconfix from libraries/README.MD
someone forgor (💀) to remove it

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-08-01 20:21:19 +02:00
flow
24c034ff6a
change(libs): use a 4MiB buffer by default in murmur2 hashing
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-24 17:46:54 -03:00
flow
f95bcf45ad
feat(libs): add incremental version of murmurhash2 calculation
This does two passes for a given file, which is kinda slow, but I don't
know how else to get the size excluding the filtered ones :<

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-24 17:46:53 -03:00
Sefa Eyeoglu
c666c3e251
refactor!: bump to C++17 and C17
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-20 14:22:10 +02:00
flow
32a9545360
libs: add murmur2 library
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:41 -03:00
Sefa Eyeoglu
e58158c3cd
feat: add Qt 6 support to CMake
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:19:14 +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
e6fe701727
Merge pull request #808 from Scrumplex/fix-lgtm-warnings 2022-07-09 01:10:59 +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
txtsd
00df092a99
chore(readme): Reword and place entry in alphabetical order
Signed-off-by: txtsd <thexerothermicsclerodermoid@gmail.com>
2022-07-06 09:34:17 +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
flow
fb75c23f4e
Merge pull request #784 from Scrumplex/refactor-cmake
Refactor tests
2022-07-02 17:50:08 -03:00
flow
bf9888099c
Merge pull request #800 from Scrumplex/refactor-newlaunch-package
Rename NewLaunch package
2022-07-01 10:05:07 -03:00
Sefa Eyeoglu
9ec260619b
fix: fix warnings reported by LGTM.com 2022-06-17 16:34:32 +02:00
Sefa Eyeoglu
08fc3ea2e0
fix: add classpath exception to launcher library
Signed-off-by: icelimetea <fr3shtea@outlook.com>
2022-06-16 17:58:38 +02:00
Sefa Eyeoglu
8b9ac63657
chore: update COPYING.md 2022-06-15 10:15:35 +02:00
Sefa Eyeoglu
0ba02f0830
refactor: rename NewLaunch package 2022-06-15 10:05:35 +02:00
Sefa Eyeoglu
effe46db86
refactor: move away from UnitTest.cmake 2022-06-14 14:44:49 +02:00
icelimetea
8e43190984
Compile JavaCheck for Java 7 2022-06-12 17:46:40 +01:00
icelimetea
63b69c0b0c
Change formatting of JavaCheck 2022-06-12 16:29:39 +01:00
icelimetea
dd6d8e0002
Make Launcher class to look more like original 2022-06-05 02:43:14 +01:00
icelimetea
cd49406bfe
Fix launching process for some legacy Forge versions 2022-06-05 01:18:59 +01:00
icelimetea
3f259eb97a Refactor script parsing 2022-05-14 16:48:14 +01:00
icelimetea
fac0b027b3 Fix the license header 2022-05-14 16:46:57 +01:00
icelimetea
c3336251e0 Add the license header to EntryPoint 2022-05-13 18:10:11 +01:00
icelimetea
c054d0f329 Add the license header to LauncherFactory 2022-05-13 17:21:35 +01:00
icelimetea
067484a6a8 Fix formatting 2022-05-13 16:59:00 +01:00
icelimetea
113528e1f2 Make line count check more lenient 2022-05-05 07:20:33 +01:00
icelimetea
6bffa06063 Fix typo 2022-05-05 07:16:16 +01:00
icelimetea
dcc41ef885 Improve mpticket file parsing code 2022-05-05 07:14:32 +01:00
icelimetea
9a87ae575e More minor fixes 2022-05-03 03:19:26 +01:00
icelimetea
860a7af679 Fix method access modifier 2022-05-03 00:53:22 +01:00
icelimetea
4fdb21b414 Compile with Java 7 in mind 2022-05-03 00:27:14 +01:00
icelimetea
eeb5297284 Use only Java 7 features (in order to deal with #515) 2022-05-03 00:25:26 +01:00
icelimetea
8de63b60b1 Refactor some parts of NewLaunch (part 2) 2022-05-02 22:36:55 +01:00
Sefa Eyeoglu
bd946c78f3
Merge pull request #486 from icelimetea/refactor-java-launcher
Refactor some parts of NewLaunch
2022-04-28 07:18:39 +02:00
icelimetea
884f772362 Clarify exception messages 2022-04-25 11:22:56 +01:00
icelimetea
b0a469baab Use java.util.logging instead of custom logging 2022-04-24 15:10:35 +01:00
icelimetea
c968c1be78 Refactor some parts of NewLaunch 2022-04-24 14:45:01 +01:00
flow
3ec511010f
fix: Build iconfix as static library
On CI we build using the bundled Quazip, and automatically set
-DBUILD_STATIC_LIBS to true, so it build iconfix statically as well.

However, since we recently added support for using the system quazip,
this flag is not set anymore, and PolyMC fails to run because iconfix
neither is statically linked, nor it creates a .so file for dynamic
linking.

Since most other libs are built statically, we should make this one
static as well. Maybe we should consider allowing for dynamic linking of
libs now that quazip is not much of an issue anymore. :^)
2022-04-21 09:34:44 -03:00
flow
af167e8e67
libs: update bundled submodules 2022-04-16 10:23:15 -03:00
Philipp David
1b47132ebb
libnbtplusplus: fix compilation as shared library 2022-03-24 08:32:26 +01:00
Philipp David
c7c83a35fa
Enable LTO/IPO on release builds 2022-03-22 21:04:35 +01:00
Philipp David
e8373bbf65
Build with static rainbow 2022-03-21 12:47:42 +01:00
Philipp David
26acc836d9
Revert "fix: use our own prefix for rainbow lib"
This reverts commit 61db1c46be.
2022-03-21 09:40:20 +01:00
Sefa Eyeoglu
61db1c46be
fix: use our own prefix for rainbow lib 2022-02-12 17:02:54 +01:00
Sefa Eyeoglu
a60b2feb5f
Revert "refactor(build): link rainbow statically"
Windows build fails for some reason. Needs to be investigated later

This reverts commit 812f00eb81.
2022-02-12 16:56:35 +01:00
Sefa Eyeoglu
6ba031f048
refactor(build): link iconfix statically 2022-02-12 16:10:53 +01:00
Sefa Eyeoglu
812f00eb81
refactor(build): link rainbow statically 2022-02-12 16:10:46 +01:00
Sefa Eyeoglu
0442b80a2c
refactor: simpler includes for quazip 2022-01-31 21:40:59 +01:00
Sefa Eyeoglu
3aa809b8c0
refactor: add in-tree QuaZip 2022-01-31 21:40:59 +01:00
Sefa Eyeoglu
efa414c442
refactor: initial migration to QuaZip 1.2
Let's move off our custom QuaZip. In the olden times we needed the
custom version of QuaZip, as it was basically unmaintained and on
SourceForge (eww). But nowadays it's maintained and on GitHub. See
new GitHub page: https://github.com/stachenov/quazip
2022-01-31 21:40:59 +01:00
swirl
1d8196e11a
More rebranding
Closes: #39

Mostly done with rebranding now. We just need to translate some services
to PolyMC.
2022-01-10 12:47:35 -05:00
seth
390a90b361
stop cmake from blocking builds on wsl 2022-01-08 22:49:30 -05:00
dada513
fa98ed3ccd
Merge remote-tracking branch 'upstream/develop' into upstream_update 2021-12-31 18:05:40 +01:00
Petr Mrázek
3efcccf334
Merge pull request #4345 from graemeg/freebsd-support
Adds FreeBSD support to MultiMC
2021-12-30 20:00:45 +01:00
swirl
f25a9bc103
Completely remove Google Analytics library 2021-12-29 10:37:09 -05:00
Lenny McLennington
0c306d3676
update submodule 2021-12-21 00:03:43 +00:00
Lenny McLennington
18a931eaa9
Merge remote-tracking branch 'upstream/develop' into develop 2021-12-20 03:01:41 +00:00
Petr Mrázek
6d3eace2a8 NOISSUE fix up java dependency to 1.7 so builds work again
'7' is not a thing
2021-12-19 19:11:08 +01:00
swirl
7912e0f32b
Apply patches
Re-add lin-system, and fix Linux datadir

fix jar paths

allow for modern java
2021-12-18 14:29:33 +00:00
Graeme Geldenhuys
7179e75e70 Changes required to support FreeBSD 2021-12-12 11:39:36 +00:00
Dāvis Mosāns
c29b616497 Update Java version to 7+
Otherwise currently it doesn't build with newer Java
2021-12-10 03:15:01 +02:00
Petr Mrázek
859d710581 GH-4071 handle invalid MSA refresh token as a hard error 2021-11-28 19:01:21 +01:00
Petr Mrázek
285188ea53 GH-4071 handle network errors when logging in with MSA as 'soft'
This makes the tokens not expire when such errors happen.

Only applies to MSA, not the XBox and Mojang steps afterwards.
Further testing and improvements are still needed.
2021-11-28 18:42:01 +01:00
Petr Mrázek
27f276ef13 GH-1795 add terminal launch option to use a specific Minecraft profile
Used like this:
```
./MultiMC --launch 1.17.1 --profile MultiMCTest --server mc.hypixel.net
```
2021-10-31 21:43:33 +01:00
Petr Mrázek
7c86732a47 NOISSUE Update links to repo, fix up library README 2021-10-21 23:25:52 +02:00
Petr Mrázek
5b3dffce62 NOISSUE continue debranding... 2021-10-21 00:47:53 +02:00
Petr Mrázek
f39c313c5f NOISSUE fix _ICONFIX_EXPORT 2021-10-21 00:47:53 +02:00
Petr Mrázek
441ab7eedc NOISSUE debranding for real, initial work
This is probably very broken on macOS and Windows and will need a lot of work to complete fully.
2021-10-21 00:47:53 +02:00
Petr Mrázek
a5956194df NOISSUE Remove Requestor, it is unused 2021-09-21 22:02:12 +02:00
Petr Mrázek
823e7d22c7 GH-4014 fix kernel version scanning on macOS and linux some more 2021-09-04 22:18:29 +02:00
Petr Mrázek
c17b359d03 GH-4014 fix kernel version scanning on macOS and linux 2021-09-04 22:10:57 +02:00
Petr Mrázek
938f896bfa GH-4014 change updater to recognize new Qt 5.15.2 builds 2021-09-04 21:27:09 +02:00
Petr Mrázek
b2c1100b1c NOISSUE introduce the concept of secrets static library 2021-08-27 22:35:17 +02:00
Petr Mrázek
34a5459dce NOISSUE cut down Requestor 2021-08-25 21:27:51 +02:00
Petr Mrázek
eae65da110 GH-3392 Switch MS account login to use device flow instead
Device flow involves the user manually opening a web page and putting in
a code. We no longer need to interact with the browser.
2021-08-22 20:01:18 +02:00
Petr Mrázek
345641f7d2 NOISSUE sanitize some MSA auth logging 2021-08-19 00:43:19 +02:00
Petr Mrázek
4a283fe4c1 NOISSUE print errorString in Requestor 2021-08-18 04:18:59 +02:00
Petr Mrázek
f1a5f7bc4d NOISSUE add ssl error logging to Requestor 2021-08-18 03:43:55 +02:00
Petr Mrázek
7921f47ec4 NOISSUE loosen requirements on CMake version in katabasis 2021-07-25 19:50:44 +02:00
Petr Mrázek
dd13368085 NOISSUE bulk addition of code from Katabasis 2021-07-25 19:50:44 +02:00
Jamie Mansfield
d8598d6901
NOISSUE Use MiB suffix for Java memory options 2021-06-23 09:57:55 +01:00
Janrupf
0ccd7223fd NOISSUE Make LauncherPart aware of server to join 2021-05-22 16:33:16 +02:00
Petr Mrázek
911074e966
Merge pull request #3735 from kumquat-ir/develop
NOISSUE Parse META-INF/mods.toml for Forge 1.14+ mod metadata
2021-05-15 00:36:46 +02:00
Trung Lê
c2fd714f8d
Add limits header 2021-04-29 12:42:49 +10:00
kumquat-ir
e668aa0f95 switch to new toml library 2021-04-17 09:46:11 -07:00
kumquat-ir
860706caec allow parsing toml from a QByteArray 2021-04-16 11:02:02 -07:00
kumquat-ir
42253150e4 add toml11 as dependency 2021-04-15 23:19:01 -07:00
Jamie Mansfield
524fc5b6ec
NOISSUE Fix string formatting issues
This allows translations to have more control over the output :)
2021-04-08 18:55:20 +01:00
Petr Mrázek
485f123362
Merge pull request #3311 from AbigailBuccaneer/develop
Fix endianness handling errors
2021-02-09 23:12:32 +01:00
Petr Mrázek
1cf60a01d5
Merge pull request #3538 from Scotsguy/develop
NOISSUE Update Copyright Year
2021-02-07 02:23:31 +01:00
Petr Mrázek
1868e0ccf1 GH-3229 fix copy seed button not working for newer worlds
Added the `optional-bare` library and refactored NBT reading
code to support this change.
2021-02-06 15:58:03 +01:00
AppleTheGolden
0de064eb35
NOISSUE Update Copyright Year 2021-01-18 08:28:54 +01:00
Moresteck
49126fa8e2
NOISSUE Corrected the fix for Classic saving, fixes Indev compatibility 2020-11-12 14:58:12 +00:00
Petr Mrázek
feae420450 NOISSUE add 'java.vendor' to the checker and display/log the value 2020-09-07 22:28:41 +02:00
AbigailBuccaneer
6995a2e1ba Avoid undefined behaviour when byteswapping
`a << b` is undefined when `a` is negative, and `a >> b` is
implementation-defined. The correct thing to do here is to cast to
unsigned, swap the bytes there and then swap back.

This also improves performance on some compilers: Clang is smart enough
to recognise that we're byteswapping here and reduce it to a single
`bswap` instruction on x86_64, but only for the unsigned versions.
2020-08-24 18:52:08 +01:00
AbigailBuccaneer
0f2757f000 Remove extra semicolons from big-endian handling
Fixes #3296.
2020-08-24 17:43:58 +01:00
Petr Mrázek
4ca62916f5 GH-3189 update the nbt library 2020-06-07 21:32:42 +02:00
Petr Mrázek
e7f79c9076 Remove some old forge hacks
Forge apparently removed all `.pack.xz` files without warning.
It broke a bunch of stuff, as always. But it also means we don't need some ugly code anymore.

This is removed:

- Support for 'forge-pack-xz' and the forge-specific file download compression.
- The pack200 library we no longer need.

This stays:

- The LZMA decompression library - we may still want to use it.
2020-05-19 15:13:16 +02:00
Moresteck
1f9378af9f NOISSUE Fixed online saving in early Classic versions 2020-04-19 20:31:04 +01:00
AppleTheGolden
437dec91f9
Update Copyright Year 2019-01-16 21:14:24 +01:00
Petr Mrázek
9eb165bfee iNOISSUE fix build issue with pack200 on rhel 7.6 2018-11-01 22:08:15 +01:00
Petr Mrázek
59e2f52db7 GH-2238 fix issues with whitespace/newlines in folder and instance names 2018-11-01 00:18:49 +01:00
Petr Mrázek
bbb3b3e6f6 NOISSUE tabs -> spaces 2018-07-15 14:51:05 +02:00
Petr Mrázek
8108c61745 NOISSUE fix unitialized data warning on Arch Linux 2018-07-06 19:46:28 +02:00
Petr Mrázek
bb599abf59 NOISSUE fix a bug with mutexes on Windows, more warnings 2018-06-28 23:42:44 +02:00
Petr Mrázek
07f7ec8eef NOISSUE fix some warnings so builds can go further 2018-06-28 23:35:04 +02:00
Petr Mrázek
7fe94ca7b4 NOISSUE fix all sorts of warnings, enable Werror and pedantic 2018-06-28 23:18:45 +02:00
Petr Mrázek
19bb50b872 NOISSUE sync up quazip merge commit 2018-06-05 01:01:04 +02:00
Sergey Shatunov
4d68c1b509
GH-2291 Fix build with Qt 5.11+ 2018-06-02 17:22:43 +07:00
Petr Mrázek
f0ff2db4e1 GH-2277 fix even more exception catches by value 2018-05-20 01:53:05 +02:00
Charles Milette
72c0002b45
Catch C++ exceptions by const reference
Fixes #2277
2018-05-19 19:18:26 -04:00
Petr Mrázek
6e69370fbf NOISSUE disable useless broken unit test to fix win32 and osx64 builds 2018-03-13 01:41:33 +01:00
Petr Mrázek
82208be49e NOISSUE add linux distro name and release stats to analytics
Hopefully this can serve as some sort of guideline for focusing
effort towards the right distro packages to make.
2018-03-13 00:28:51 +01:00
Petr Mrázek
604295e6d5 NOISSUE fix some warnings 2018-02-11 01:21:32 +01:00
Petr Mrázek
f259e9f727 NOISSUE update copyright dates 2018-02-11 00:40:01 +01:00
Petr Mrázek
cd55674b36 NOISSUE do not install .a files for shared libraries on Windows 2018-01-27 02:42:27 +01:00
Petr Mrázek
166e5a03d6 NOISSUE rearrange build system
* Added install commands to the libraries instead of force installing files
* Most of the application cmake stuff moved to top level
* RPATH should now be set/cleared correctly
* Contains a fix for GH-1780
2018-01-27 02:00:20 +01:00
MinecraftZuriki
3470158943 Support for classic multiplayer via mpticket 2017-11-18 01:27:57 +11:00
Petr Mrázek
e6d734d9ac NOISSUE fix build some more 2017-10-29 12:28:26 +01:00
Petr Mrázek
1489720b90 NOISSUE fix build 2017-10-29 12:27:12 +01:00
Petr Mrázek
b76bdf9368 GH-2026 avoid using awt Dimension class to fix input issues on macOS 2017-10-29 12:24:49 +01:00
Petr Mrázek
7add9de1cf GH-2026 remove some macOS stuff from launcher part to fix input issues on 1.13 2017-10-29 10:02:01 +01:00
Petr Mrázek
c51512f940 NOISSUE use classparser for importing Legacy instances with undecided Minecraft versions 2017-09-27 15:39:13 +02:00
Petr Mrázek
464bc0f770 GH-1997 replace use of weird hacks with normal java arguments
This affects classpath and java.library.path.

The catch is that if the strings cannot be expressed in system codepage
on Windows, it tries to use 8.3 paths.
2017-09-27 04:04:19 +02:00
Petr Mrázek
c707042dd7 NOISSUE set haspaid parameter to true when launching old versions 2017-09-20 23:57:20 +02:00
Petr Mrázek
c19f6d4dcd NOISSUE allow running legacy without the applet wrapper
Add 'noapplet' as a trait to do that.
2017-07-14 08:43:35 +02:00
Petr Mrázek
afb0db24a8 NOISSUE set max of java heap spinboxes to detected physical memory 2017-07-11 22:43:35 +02:00
Petr Mrázek
8a1da91219 NOISSUE finish cleaning quazip
All LGPL code is back in the customized quazip fork
2017-05-31 09:20:24 +02:00
Petr Mrázek
cdc9bed83f NOISSUE move some zip utility functions back to quazip
It's not entirely clean yet.
2017-05-31 09:20:24 +02:00
Petr Mrázek
15c829fd3c GH-1876 Fork and update quazip
* It is added as a new submodule: https://github.com/MultiMC/quazip/tree/multimc-1
* Its build system has been entirely replaced to remove the existing issues with it
* It now has working unit tests
* No more patches needed
* It has a static linking exception in its license now, but we use it shared anyway
2017-05-06 17:36:57 +02:00
Petr Mrázek
9d4c188fd4 GH-1876 turn iconfix into a shared library 2017-05-05 09:43:20 +02:00
Petr Mrázek
e854894a3c GH-1876 turn pack200 into a shared library 2017-05-05 01:34:01 +02:00