Commit Graph

227 Commits

Author SHA1 Message Date
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