Commit Graph

121 Commits

Author SHA1 Message Date
Petr Mrázek
0cb8ff40b2 Finish preliminary offline support
* ProgressProvider now has an abort() call
* Abort button support added to the progress dialog
* YggdrasilTask and MojangAccount adapted to support abort

YggdrasilTask will time out after 10 seconds of no network activity, or when the user pushes the Play Offline button.
In offline mode, all instance update tasks are skipped! This will need further work.
2013-12-08 17:34:45 +01:00
Petr Mrázek
f028aa76bc Offline mode support, part 1
Refactor MojangAccount so it exposes a less generic interface and supports login. Hide the ugly details.
Yggdrasil tasks are now only used from MojangAccount.
2013-12-05 02:39:52 +01:00
Petr Mrázek
f56eff04ef Fix (hopefully) library dependency resolution.
Installing libs is now enabled, hardcoded.
Enable -Wall for all builds.
Fix many warnings and latent bugs.
2013-12-01 16:34:51 +01:00
Petr Mrázek
a3fbf05c7b Fix private info censor 2013-12-01 02:14:32 +01:00
Petr Mrázek
f27a6c39ea Fix login and startup logging issues
Auth uses the refresh endpoint instead of validate. This means less password entering.
Console will now only autoscroll when already scrolled all the way down.
Better conformance with the Yggdrasil auth protocol (not complete yet, but Mojang launcher isn't complete either).
Fix bug that prevented saving the account data (uninitialized variable).
Accounts can now trigger account list saving, this is used for the refresh endpoint.
2013-12-01 02:00:42 +01:00
Jan Dalheimer
8334b6a09f Fix crash when no instances are available 2013-11-30 12:28:35 +01:00
Jan Dalheimer
8831856172 Remember the last selected instance and select it on startup 2013-11-30 12:28:20 +01:00
Andrew
0395474a0c Nuke dead code 2013-11-28 22:05:58 -06:00
Andrew
bfc9e1e5d5 Verify access tokens before launching Minecraft
Kind of an important thing to do... Heh...
2013-11-28 20:45:52 -06:00
Andrew
f7b64a551b Add icon for when no default account is selected
Also fixed a bug where the icon on the accounts button wouldn't change
when the user checked the "Use as default" checkbox in the account
selection dialog.
2013-11-28 15:46:04 -06:00
Petr Mrázek
60e325b8af Merge https://github.com/brainiac744/MultiMC5 into develop 2013-11-28 21:28:57 +01:00
Anthony Parrott
c0c7037e18 Could reach end of rulesFromJsonV4 method without returning a QList
It was possible for execution to reach the end of the rulesFromJsonV4
method without returning. This was causing a crash on OS X when parsing
rules inside an instance.
2013-11-28 14:50:04 -05:00
Sky
191e850cf1 Add support for "no default account" 2013-11-27 23:39:36 +00:00
Andrew
a4c5f0135e Allow setting no default account
This allows the user to select an account to use every time they launch
an instance.
2013-11-27 16:14:18 -06:00
Sky
38732636d3 Nuke skins.json, use nice yggdrasil implementation instead. Grabs all Mojang account skins on addition, active on startup 2013-11-27 18:45:29 +00:00
Sky
7d7579d7f0 Move "manage accounts" to right, use player skin when available 2013-11-27 16:56:15 +00:00
Petr Mrázek
7024e5a83e Fix for latest snapshot ``changes'' 2013-11-27 01:50:38 +01:00
Petr Mrázek
d6b09f7c13 Add java checker to the instance settings 2013-11-25 01:14:30 +01:00
Petr Mrázek
088b039cf7 Detect java bitness on launch, use appropriate libraries
Fixes problems with latest snapshot
2013-11-25 00:46:52 +01:00
Petr Mrázek
82225a21e1 Merge branch 'feature_yggdrasil' into develop
Conflicts:
	gui/MainWindow.cpp
	logic/OneSixInstance.h

Fix missing session id functionality for legacy and old onesix.
2013-11-24 18:41:35 +01:00
Petr Mrázek
ca297fca79 Prepare for rework of instance launch/update
Added missing licenses
Added a Java functionality checker (detects 32/64bit java)
Refactor of *Update - no longer based on BaseUpdate, but Task directly
Fixed runner script to not derp up on 32bit linux. Could add more detection and error reporting there.
Resources are now split into graphics and generated. Generated resources are placed in the build tree and included from there.
Used the Java checker in the main settings dialog (TODO: instance settings).
Partial support for ${arch}-using libraries - both 32 and 64 variants of ${arch} are downloaded.
2013-11-24 06:36:16 +01:00
Petr Mrázek
4124faf474 Fix console window (now not a QDialog)
It now opens and coloses as expected, depending on user
preferences and the status of the various processes involved.
Console window geometry and state are remembered between runs.
2013-11-23 01:41:28 +01:00
Andrew
75e7932607 Properly implement launching and downloading
Also added a system to select an active account to log in with.
2013-11-22 12:47:39 -06:00
Andrew
23bc195b3c Implement removing accounts. 2013-11-22 10:54:52 -06:00
Petr Mrázek
7f5eb5d61a Implement user info stub for newest minecraft snapshot 2013-11-22 01:04:14 +01:00
Andrew
abf8408911 Nuke and pave the old login system
Also, account list now saves profile lists.
2013-11-20 18:31:15 -06:00
Andrew
928e0d0b15 Implement saving account list to file
Currently it only saves when accounts are added or removed. We'll have
to fix this, but we need signals for when account objects change first.
2013-11-19 12:53:30 -06:00
Petr Mrázek
57a9dadb08 Forge XZ downloads now use temp files local to MultiMC, files are removed. 2013-11-19 00:47:59 +01:00
Petr Mrázek
294c2d122f Fix assets URL (expected to change... again) 2013-11-18 20:12:24 +01:00
Andrew
a9a0b65358 Implement loading accounts from list. 2013-11-18 12:58:03 -06:00
Andrew
cdca530139 Implement account list and account list dialog 2013-11-18 12:05:35 -06:00
Petr Mrázek
210629e274 Use the forge mirrors for downloading forge libraries
Let's hope we never, ever see a forge download error again.
2013-11-17 11:44:18 +01:00
Petr Mrázek
2a45302dfc Mark forge lib downloads as failed when they fail 2013-11-16 20:36:01 +01:00
Andrew
ad8aeb0b2b Implement auth task's response processing.
The authenticate task can now successfully log a user in.
2013-11-14 14:32:43 -06:00
Andrew
9cfd5ae465 Add test authentication task.
It doesn't actually do anything with the server's reply yet.
2013-11-14 12:17:38 -06:00
Andrew
d84b1a91f4 Add abstract base class for Yggdrasil tasks. 2013-11-13 14:12:31 -06:00
Petr Mrázek
9693a5e6e9 Fix signal derp from previous commit
Console should now properly close/not close based on minecraft return code/signal.
2013-11-13 00:24:49 +01:00
Petr Mrázek
fdc58bb913 Fix console not staying open on minecraft crash 2013-11-12 09:23:39 +01:00
Andrew
962639aa6d Added data structures for Mojang Account. 2013-11-11 12:59:59 -06:00
Petr Mrázek
e611aef0e7 Recover from the bin folder of converted legacy instance being deleted.
Use the new vanilla jar as the base jar if mcbackup.jar is missing.
2013-11-11 04:45:31 +01:00
Petr Mrázek
b097d2f744 Use the right LWJGL path while creating an instance 2013-11-11 03:47:14 +01:00
Petr Mrázek
452cc1849f Fix Sourceforge lwjgl version index download. 2013-11-06 20:59:44 +01:00
Sky
605423b8e4 Read mcmod.info first, forgeversion.properties second 2013-11-05 23:46:06 +00:00
Petr Mrázek
bb7e8985f6 Reformat and (slightly) decruft all the things. 2013-11-04 02:53:05 +01:00
Petr Mrázek
d6e4fb2971 Implement instance sorting options. 2013-11-04 00:11:20 +01:00
Petr Mrázek
4466929074 Add instance copying, fix instance creation (with identical names) 2013-11-03 21:28:04 +01:00
Sky
ab21b6977d Catch assets index failure 2013-11-03 16:02:59 +00:00
Sky
bade253a1a Added NagUtils, nag people about trying to override JVM memory options 2013-11-03 15:20:26 +00:00
Petr Mrázek
f39a83edc6 Hack for Intel graphics drivers on Windows. 2013-10-31 01:39:37 +01:00
Petr Mrázek
6ecb833dbf Fix problem with instance list not using the instance folder path 2013-10-28 20:55:12 +01:00