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
Petr Mrázek
e9a6199507
NOISSUE fix benign issue in pack200 unpacker binary.
2017-04-19 22:23:00 +02:00
Petr Mrázek
f530aae9d3
NOISSUE update all the Copyright comments and texts to include 2017
2017-01-08 04:58:05 +01:00
Petr Mrázek
a666dc0a1a
NOISSUE fix up translation selection in settings and add OS/sys arch reporting
2017-01-01 20:04:08 +01:00
Petr Mrázek
722896d41f
NOISSUE Translations model and initial setup wizard work
2017-01-01 20:04:08 +01:00
Petr Mrázek
374710a87b
GH-1379 update nbt++ to allow renaming its library file
2016-12-28 21:14:44 +01:00
Petr Mrázek
2344ee2dcd
GH-1379 rename shared libraries to avoid collisions with system libraries
...
It was unlikely, now it's impossible.
2016-12-28 17:23:48 +01:00
Petr Mrázek
ef73a2bd32
NOISSUE fix Windows kernel numbers and add unit test for them
2016-11-27 00:40:02 +01:00
Petr Mrázek
5994c47d7c
NOISSUE add ganalytics and LocalPeer licenses
2016-11-26 23:53:56 +01:00
Petr Mrázek
dd0c815396
NOISSUE fix macOS build (stray assignment to removed variable)
2016-11-26 02:22:40 +01:00
Petr Mrázek
55541c387c
NOISSUE simplify system detection and user agent handling
...
Now it only checks OS kernel name/version.
User agent is 'MultiMC5/$version'.
Kernel info is passed through custom dimensions in analytics.
2016-11-26 02:18:05 +01:00
Petr Mrázek
d5fdc23eb2
NOISSUE dumb down Windows version detection...
...
Hopefully the analytics thing will accept it this time.
2016-11-25 00:39:15 +01:00
Petr Mrázek
a5fb931e8e
NOISSUE fix build (OSVERSIONINFOW)
2016-11-24 23:32:21 +01:00
Petr Mrázek
486d653586
NOISSUE Better Windows version detection and user agent
2016-11-24 23:28:55 +01:00
Petr Mrázek
121e2fd46c
NOISSUE add analytics settings (enable/disable)
2016-11-24 04:10:07 +01:00
Petr Mrázek
7a14b63957
NOISSUE send custom analytics values
...
* System, Java and CPU architecture (either 32 or 64).
* Java version.
* System memory size in MB.
* Java min/max heap size in MB.
2016-11-22 02:46:18 +01:00
Petr Mrázek
44805145dc
NOISSUE add implementations of system query functions
...
* system memory size in bytes
* system architecture is 64bit?
* CPU architecture is 64bit?
2016-11-22 02:46:18 +01:00
Petr Mrázek
ee6f2f0a8e
NOISSUE implement analytics IP anonymization
2016-11-21 21:18:30 +01:00
Petr Mrázek
ad25c89ac4
NOISSUE ifdef out unknown Apple system versions in analytics
2016-11-21 01:30:39 +01:00
Petr Mrázek
905bc2e440
NOISSUE most basic analytics integration possible
2016-11-21 01:19:34 +01:00
Petr Mrázek
2f8c752d1f
NOISSUE reformat and sanitize ganalytics
2016-11-21 01:19:22 +01:00
Petr Mrázek
2ec15c32e4
NOISSUE import google analytics from third party
...
See: https://github.com/HSAnet/qt-google-analytics
Sadly, the API and its internals are not acceptable and it needs changes
upstream likely wouldn't allow.
2016-11-20 12:04:29 +01:00
Petr Mrázek
69be23c5f6
GH-1726 better failure detection for updates
...
Instead of just checking if the new version started, make sure
it is able to write its IPC key to a file and then use the key
to connect to the process.
2016-11-19 22:11:45 +01:00
Petr Mrázek
a717864013
NOISSUE fix the build even more - win32 types are weird
2016-10-30 03:03:49 +01:00
Petr Mrázek
54e0b9bc9b
NOISSUE fix build some more - Windows
2016-10-30 02:53:13 +01:00
Petr Mrázek
412855ae3d
NOISSUE refactor window management and launch, make MultiMC a single instance application.
2016-10-30 02:37:38 +01:00
Petr Mrázek
cee53f7f3c
Revert "NOISSUE nuke builtin Minecraft versions"
...
This reverts commit 5ae3b2c114
.
We need those builtin versions for now.
2016-10-26 18:23:39 +02:00
Petr Mrázek
1f2bed2ef1
NOISSUE implement direct java launch
...
Just running the Java process and giving it params on the command line
2016-08-01 21:15:08 +02:00
Petr Mrázek
b6d455a02b
NOISSUE reorganize and document libraries
2016-05-01 00:00:14 +02:00
Petr Mrázek
47e37635f5
NOISSUE split GUI stuff from logic library
2016-04-30 23:59:23 +02:00