Commit Graph

328 Commits

Author SHA1 Message Date
Petr Mrázek
6dc1bc65e1 NOISSUE fix Mojang JSON format unit test on Qt 5.6 by dumping JSON to byte arrays 2017-04-25 23:33:19 +02:00
Petr Mrázek
4fa3e2a714 GH-1856 Fix metadata version and list loading
Shouldn't crash anymore, shouldn't overwrite data in some bad way anymore either.
2017-04-24 01:30:51 +02:00
Petr Mrázek
3f24c4cfe5 GH-1856 Make MultiMC fail hard when things are missing
Things like:
* jar mods
* valid version files
2017-04-23 02:34:16 +02:00
Petr Mrázek
8084f27ec8 NOISSUE do not write library display name twice 2017-04-22 20:27:00 +02:00
Petr Mrázek
249baf6fcf GH-1860 fix old jarmods
Names were not set for the libraries, making them return invalid things
2017-04-22 19:38:28 +02:00
Petr Mrázek
8ace5fa91d NOISSUE Add flame. 2017-04-22 18:51:04 +02:00
Petr Mrázek
77a1d39f6b NOISSUE fix problems in old curse packs
Added:
* jarmod importing
* fixing of bad minecraft versions
* mapping of undefined 'recommended' forge versions to something appropriate
* some fake guessing of pack icons
* fixes for some more issues found with the pack manifest format
2017-04-22 05:20:06 +02:00
Petr Mrázek
6a525db78d NOISSUE 'required' attribute of curse manifests is optional, libraries attribute reading 2017-04-22 00:29:24 +02:00
Petr Mrázek
1d71214d4a NOISSUE fix build: there is no qInfo in old Qt5. 2017-04-21 22:30:39 +02:00
Petr Mrázek
ab5045b54c NOISSUE finalize curse modpack import work 2017-04-21 22:23:31 +02:00
Petr Mrázek
f3c46dbf11 NOISSUE silly/simple implementation of mod metadata in OneSix version format 2017-04-21 22:23:00 +02:00
Petr Mrázek
6bd2605a79 NOISSUE add import from curse zip packs
Does not actually grab mods, but resolves them and prints the results in logs.
2017-04-20 05:22:04 +02:00
Petr Mrázek
60777ad8ce GH-1856 always pull new versions of metadata when requested
The only block is if it's already happening.
2017-04-19 22:23:00 +02:00
Rafael Ristovski
88041783e6 Add missing <functional> include.
Compiling under Linux fails because of a missing include directive
Ref:
http://en.cppreference.com/w/cpp/utility/functional/bind
http://en.cppreference.com/w/cpp/utility/functional/placeholders
2017-04-19 22:11:12 +02:00
Petr Mrázek
47e075babd NOISSUE set metadata source to main 2017-04-18 17:55:05 +02:00
Petr Mrázek
5565a2f85e NOISSUE fix crash because of early destruction of java list load task 2017-04-18 16:45:58 +02:00
Petr Mrázek
c4c8e99681 NOISSUE jar mods as libraries, fix for customizing net.minecraft 2017-04-17 22:51:30 +02:00
Petr Mrázek
fc28aacdea NOISSUE stop using the path attributes from Mojang download info
It really should not dictate how are things stored and it just makes
the metadata bigger for no reason.
2017-04-15 11:40:22 +02:00
Petr Mrázek
07cde802e4 GH-1853 fix FTB and parsing of old version files 2017-04-14 12:33:54 +02:00
Petr Mrázek
2aaf9827a6 NOISSUE slightly refactor jarMod entry reading 2017-04-14 12:21:10 +02:00
Petr Mrázek
be53eb66f8 NOISSUE implement mainJar support in OneSix format
This allows customizing the main jar like any other library.
2017-04-13 09:28:25 +02:00
Petr Mrázek
8e58d61150 NOISSUE fix issue with the narrator feature by splitting java and native libraries 2017-04-07 00:20:02 +02:00
Petr Mrázek
dddc5cedf3 NOISSUE make a call to ensureBoolean in the JSON format code less ambiguous 2017-04-07 00:20:02 +02:00
Petr Mrázek
dff307557b NOISSUE fix liteloader uid where it is hardcoded hardcoded 2017-04-07 00:20:02 +02:00
Petr Mrázek
643d74f66c NOISSUE implement recommended versions using the new JSON format 2017-04-07 00:20:02 +02:00
Petr Mrázek
f565798650 NOISSUE remove unused version range filtering 2017-04-07 00:20:02 +02:00
Petr Mrázek
e0596d3c86 NOISSUE Make forge installable again 2017-04-07 00:20:02 +02:00
Petr Mrázek
2ac0edbbdb NOISSUE preview of LWJGL version changing
It still needs work - some LWJGL versions are exclusive to macOS.
This has to be encoded in the json.
2017-04-07 00:20:02 +02:00
Petr Mrázek
53188386b8 NOISSUE refactor builtin patch loading slightly 2017-04-07 00:20:02 +02:00
Petr Mrázek
af3384c649 NOISSUE add filename to newly created jar mod patches 2017-04-07 00:20:02 +02:00
Petr Mrázek
22735f275e NOISSUE remove dead code 2017-04-07 00:20:02 +02:00
Petr Mrázek
5fabb4f254 NOISSUE Rough refactor of ProfilePatch and VersionFile internals.
They are now distinct classes with distinct responsibilities.

* ProfilePatch is an entry in MinecraftProfile and can hold VersionFile or Meta::Version.
* VersionFile is the basic element that holds version information loaded from JSON.
* Meta::Version is the loader class for VersionFile(s) from a server.
2017-04-07 00:20:02 +02:00
Petr Mrázek
6f2a87167a NOISSUE remove some dead code from version related classes 2017-04-07 00:20:02 +02:00
Petr Mrázek
3aa28bd64a NOISSUE fix some warning on linux related to the GNU C library 2017-04-07 00:20:02 +02:00
Petr Mrázek
da4ae1bc1e NOISSUE reimplement package dependencies
It is now stored as a hashmap
There is also a parentUid to limit depsolving by encapsulating by version
2017-04-07 00:20:02 +02:00
Petr Mrázek
f557c13679 NOISSUE stuff and things happened. Maybe. 2017-04-07 00:20:02 +02:00
Petr Mrázek
2660418d58 NOISSUE hack it together enough to get launching back
Meta index will now always return valid objects.
They just might never load if they don't exist on the server.
2017-04-07 00:20:02 +02:00
Petr Mrázek
e46aba9da5 NOISSUE sanitize loading and downloading of metadata files 2017-04-07 00:20:02 +02:00
Petr Mrázek
0060b50625 NOISSUE simplify. 2017-04-07 00:20:01 +02:00
Petr Mrázek
40cf38bc32 NOISSUE remove liteloader and forge 2017-04-07 00:20:01 +02:00
Petr Mrázek
f6eb8fa1e4 NOISSUE Remove hardcoded LWJGL (modern) 2017-04-07 00:20:01 +02:00
Petr Mrázek
2980322c3b NOISSUE Remove Minecraft version list and versions. 2017-04-07 00:20:01 +02:00
Petr Mrázek
8321187a20 NOISSUE fix downloading of metadata files 2017-04-07 00:20:01 +02:00
Petr Mrázek
ab868df50e NOISSUE Wonko is the new Meta
And then Wonko was the Meta.
2017-04-07 00:20:01 +02:00
Petr Mrázek
7382360771 NOISSUE remove builtin Minecraft versions 2017-04-07 00:19:56 +02:00
Petr Mrázek
8cbe13c656 NOISSUE remove legacy version blacklist 2017-04-07 00:19:51 +02:00
Petr Mrázek
160b5033a7 GH-1828 hardcode legacy assets location to fix legacy launch 2017-02-28 20:52:50 +01:00
Petr Mrázek
01cb5ebb35 GH-1828 do not load assets info from custom version files
Fixes issue where this causes the launcher to use the old assets URL
2017-02-28 20:37:51 +01:00
Petr Mrázek
17fac2e0df NOISSUE switch paste.ee over to https only 2017-02-08 21:30:39 +01:00
Petr Mrázek
8bbaab334c NOISSUE set line limit and overflow behaviour even for hidden console 2017-02-08 20:01:42 +01:00
Petr Mrázek
155de307bc GH-1802 fix log resize handling
The log could end up with many empty lines because the wrong maximum size was
used during the resize.
2017-02-08 01:59:16 +01:00
Petr Mrázek
c200301673 GH-1801 Do not print the launch script to MultiMC's log. 2017-01-24 08:20:16 +01:00
Petr Mrázek
cf43abc87e GH-1794 Only write to the instance.cfg once after copying FTB instances. 2017-01-22 15:20:05 +01:00
Tim Flynn
98e17998fe GH-1065 Normalize usage of directory vs folder 2017-01-16 22:42:22 +01:00
Petr Mrázek
858b490c74 GH-1778: Fix placement of modded Minecraft.jar in OneSix instances. 2017-01-10 23:03:00 +01: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
cff34a14dc NOISSUE dump the json to log in MojangVersionFormatTest 2017-01-07 19:32:39 +01:00
Petr Mrázek
8421ef622d NOISSUE even more java polishing
* Memory minimums lowered to 128M in all Java settings UIs
* Changing the memory sizes on the wizard page does not automatically trigger checks if the executable doesn't have 'java' in the name
* Java detection on linux now scans some common JRE locations, not just /usr/bin/java
2017-01-07 18:11:41 +01:00
Petr Mrázek
c4ec6bc0f5 NOISSUE polish the java setup wizard page
* Added a button to check why Java failed
* It will now avoid automatically scanning binaries that do not have 'java' in their filename
* Fixed some crashes related to running too many Java checks (it only does one at a time now)
* It can now distinguish between more Java failure states (not there at all, crashing, returning nonsense)
* Changed '...' button to Browse button to match the wizard page subtitle
* Changing minimum and maximum memory will no longer trigger a java check twice
2017-01-07 06:52:09 +01:00
Petr Mrázek
0249bd9eea NOISSUE default to javaw on Windows 2017-01-05 14:20:37 +01:00
Petr Mrázek
e1bd1c6145 NOISSUE feature complete setup wizard 2017-01-05 04:05:08 +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
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
Taylor Smock
03d2858c62 BUILD: Remove extraneous " from CreateServerResourcePacksFolder.cpp (#1749)
NOISSUE Remove extraneous " from CreateServerResourcePacksFolder.cpp

This did not affect build, but was visible in logs.
2016-12-12 14:36:42 +01:00
Petr Mrázek
a6882787b0 GH-1745 fix crash when using path matching filter on copy operations
Copying instances without saves doesn't crash anymore.
2016-12-08 21:58:31 +01:00
Petr Mrázek
035bdc7576 GH-1524 Regenerate Minecraft client token when the auth token is invalid
This makes the case where users copy MultiMC to other machines
easier to handle. It doesn't require manual intervention and the tokens
do not go in a desync loop.
2016-11-30 00:19:27 +01:00
Petr Mrázek
4ca6878743 GH-1670 Fix LWJGL list loading
Now it uses the standard Download class that supports redirects and SSL.
2016-11-27 01:45:55 +01:00
Petr Mrázek
5994c47d7c NOISSUE add ganalytics and LocalPeer licenses 2016-11-26 23:53:56 +01:00
Petr Mrázek
66ffab71ae NOISSUE allow killing the instance from main window 2016-11-26 18:06:08 +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
9efdd7232c NOISSUE include json path in errors when FTB json is missing. 2016-11-17 04:40:07 +01:00
Petr Mrázek
9b41986634 GH-347 update timestamps of added mods 2016-11-17 04:09:24 +01:00
Petr Mrázek
b09fad9cbf GH-347 Add timestamp column to mod lists
It shows when the file was changed (in most cases added).
2016-11-17 02:55:02 +01:00
Petr Mrázek
fd34ca5a0f NOISSUE always run the ExtractNatives task during launch
The task now checks the conditions, giving the update process time
to supply all the metadata.
2016-11-17 01:21:49 +01:00
Petr Mrázek
12f6534e77 NOISSUE mark used accounts/sessions in selection menus 2016-11-17 01:00:15 +01:00
Petr Mrázek
b6f133f579 GH-1713 fix FTB loading crashes 2016-11-09 01:22:02 +01:00
Petr Mrázek
dae3b06885 NOISSUE fix horrible globals crash
FIXME: remove all globals.
2016-11-07 02:28:18 +01:00
Petr Mrázek
8b952b3870 NOISSUE Refactor and sanitize MultiMC startup/shutdown
* Always create main window.
* Properly handle netowrk manager - it was created twice, leading to potential crashes.
2016-11-06 21:58:54 +01:00
Petr Mrázek
bc753859b5 GH-378 add basic custom theme support
Files you can customize are created in themes/custom/
2016-11-06 04:29:12 +01:00
Petr Mrázek
87dd951505 NOISSUE add a badge for crashed instances
Not persistent across MultiMC runs.
2016-11-04 01:19:04 +01:00
Petr Mrázek
3780a25d27 NOISSUE add an option to show console on error and default other options to false 2016-11-04 00:19:32 +01:00
Petr Mrázek
f0b71f989e NOISSUE use LoggedProcess to work around issues with QProcess on macOS 2016-11-03 01:11:57 +01:00
Petr Mrázek
85b64ad767 NOISSUE MCEdit integration - remove old 'tool', replace with Worlds 2016-11-02 02:37:54 +01:00
Petr Mrázek
a9c0d812a6 NOISSUE prefer shell script for running MCEdit on linux 2016-11-02 01:16:41 +01:00
Petr Mrázek
deabfa78f8 GH-1652 set instance running status before notifying event listeners 2016-10-29 02:19:42 +02:00
Petr Mrázek
dd0e996081 GH-1697 always stale files tolerate errors if a local copy is present
This fixes the situation when liteloader snapshot site is broken
and there's an older local snapshot already present.
2016-10-28 02:19:19 +02: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
1b4851a941 NOISSUE use QtConcurrent to run FS operations in worker threads
Not all operations - only the ones that aren't in error handling.
The API for QFuture is too nasty to do much more in a sensible way.
2016-10-26 18:21:25 +02:00
Petr Mrázek
d66fdcd4cc NOISSUE Granular instance reload 2016-10-26 18:21:24 +02:00
Petr Mrázek
f07496ac6d GH-1675 reimplement suspesion of log watch 2016-10-11 21:34:02 +02:00
Petr Mrázek
6e80f03409 NOISSUE add instance-local library storage
Any libraries stored in $instanceroot/libraries/ will override
the libraries from MultiMC's global folders, as long as they are marked 'local'
in the json patch.
2016-10-02 00:26:10 +02:00
Petr Mrázek
eb747e08b7 NOISSUE fix minor memory leaks 2016-08-19 09:04:58 +02:00
Petr Mrázek
67eca08b22 NOISSUE use model/view for Minecraft log data 2016-08-19 08:05:43 +02:00
Petr Mrázek
042f3ef55c GH-352 Make OneSix instance update downloads cancellable 2016-08-14 23:22:54 +02:00
Petr Mrázek
55544893a3 GH-1643 do not censor preferredLanguage in logs 2016-08-10 19:52:38 +02:00
Petr Mrázek
e2f3652a0f Revert "NOISSUE rework of minecraft log"
This reverts commit fc198dd308.
2016-08-10 08:41:58 +02:00
Petr Mrázek
c60db13af7 NOISSUE Do not kill running instances when MultiMC shuts down 2016-08-10 00:28:33 +02:00
Petr Mrázek
fc198dd308 NOISSUE rework of minecraft log
Now uses a model and a list view instead of text
This lets mmc keep track of the contents regardless of whether the instance windows are open

This is currently missing a way to select and copy text from the log.
2016-08-10 00:28:33 +02:00
Petr Mrázek
74b4343c43 GH-1642 fix instance launch from console 2016-08-09 22:29:17 +02:00
Petr Mrázek
bc6d1b5304 GH-338, GH-513, GH-700 Unify edit instance with console window
* The resulting instance window can be closed at any point.
* Main window is kept open and running instances are marked with a badge.
* Multiple instances can now run from the same MultiMC - it's even more **multi** now.
* MultiMC can be entirely closed, keeping Minecraft(s) running.
2016-08-07 11:48:15 +02:00
Petr Mrázek
c44d41ee9b NOISSUE do not attempt to stop watching world folders if they are not being watched 2016-08-07 11:44:42 +02:00
Petr Mrázek
cf0694a0cb NOISSUE allow user to sort mod list by clicking on column headers 2016-08-05 00:10:33 +02:00
Petr Mrázek
b76d4573cd GH-589 GH-842 GH-901 GH-1117 allow mass-enabling/disabling of mods 2016-08-04 23:16:03 +02:00
Petr Mrázek
6ec2652b45 GH-1273 allow extended selection in mod lists 2016-08-04 22:57:16 +02:00
Petr Mrázek
eec87db86a GH-1635 add filter bar to mod list pages 2016-08-04 21:54:25 +02:00
Petr Mrázek
42a98c3661 NOISSUE move creation of server resource pack folder to a separate task 2016-08-01 21:15:08 +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
FyberOptic
f626fd02c7 GH-1610 Make Forge installs only use newer list to fix older version downloads 2016-07-08 14:08:07 -04:00
Petr Mrázek
969418f01f NOISSUE make liteloader version list pretty and usable 2016-06-14 02:08:56 +02:00
Petr Mrázek
6ecfe8546f NOISSUE implement support for liteloader snapshots 2016-06-13 22:00:09 +02:00
Petr Mrázek
8b74f6dcf0 NOISSUE reset wroteAnyData flag when resetting FileSink
This fixes files getting overwritten with null content when stale cache
and redirects are combined
2016-06-13 21:56:22 +02:00
Petr Mrázek
d4109938fe NOISSUE implement 'always-stale' cache entries 2016-06-13 21:53:56 +02:00
Petr Mrázek
56394f93e5 NOISSUE log which file couldn't be copied during recursive copy 2016-06-10 00:58:30 +02:00
Petr Mrázek
54e5a98da0 NOISSUE refactor liteloader version file creation
It no longer implements yet another version file format serialization
2016-06-07 01:23:31 +02:00
Petr Mrázek
a1abbd9e05 NOISSUE refactor *Download into more, smaller pieces
* Download is now Download.
* Download uses Sink subclasses to process various events.
* Validators can be used to further customize the Sink behaviour.
2016-06-05 23:55:39 +02:00
Petr Mrázek
4440f68e59 GH-575 Add back file drop support to ModList 2016-05-15 23:27:06 +02:00
Petr Mrázek
67b22c8105 GH-575 clean up ModList - remove all legacy and obsolete parts 2016-05-15 22:56:14 +02:00
Petr Mrázek
12413f722d GH-575 separate legacy jar mod list from mod list 2016-05-15 22:56:14 +02:00
Alexia
377316999e GH-767 Basic skin upload 2016-05-15 16:01:05 +02:00
Mrazek, Petr
898e3cd4e7 GH-1559 Export IIconList from logic API 2016-05-03 17:49:56 +02:00
Petr Mrázek
e1a530f84d GH-1559 Fix FTB icons
This was caused by separation of GUI and logic. Now logic has an interface that GUI implements.
It should be expanded upon later.
2016-05-03 00:27:28 +02:00
Petr Mrázek
b0bfffcd90 NOISSUE revert to dumping all build artifacts to the root
This fixes unit tests on Windows... Windows has no mechanism to set library lookup path.
2016-05-01 03:49:46 +02:00
Petr Mrázek
771dd6f9ab NOISSUE reorganize unit tests to be placed next to the code they test. Nuke more dead tests. 2016-05-01 00:02:15 +02:00
Petr Mrázek
ed3884fd38 NOISSUE move Java and Minecraft launch tasks to the proper places
Minecraft and Java are not generic.
2016-05-01 00:00:24 +02:00
Petr Mrázek
1be7d57332 NOISSUE re/move some dead code and unused build system parts 2016-05-01 00:00:24 +02:00
Petr Mrázek
aa4842a91d NOISSUE make travis.ci shut up about fancy QJsonObject initialization in Wonko parser 2016-05-01 00:00:24 +02:00
Petr Mrázek
b6d455a02b NOISSUE reorganize and document libraries 2016-05-01 00:00:14 +02:00