Commit Graph

174 Commits (f5f5b72bed642ebb8739a18db2dc4b0e836912fd)

Author SHA1 Message Date
Daniel Scalzi be39d60705
Native files are now stored in the OS temp directory.
Temp folder is deleted when minecraft is closed. If the Node.js process ends abruptly, the folder will not delete. As a dirty way to counter this, the directory we extract native files to is cleaned in the preloader. Maybe we'll come up with a more elegant solution in the future.
2018-04-15 00:00:08 -04:00
Daniel Scalzi 5475ac0c69
Added function to remove an authenticated account to authmanager.js. 2018-04-14 22:43:58 -04:00
Daniel Scalzi 631c3cd6d4
Added option to dismiss Java download prompt.
You will be given an option to install Java manually. Selecting this will bring you to a final prompt which gives some useful information about installing Java and where you can find help. You have two options on this prompt. The first is to simply aknowledge it, which will dismiss it. The second is to go back to the first prompt.
2018-04-14 22:20:59 -04:00
Daniel Scalzi 66a3854a24
Better error handling with Mojang REST api.
Added handling for when there is no internet connection or Mojang's auth server is unreachable to both the login and status modules.
2018-04-14 18:42:45 -04:00
Daniel Scalzi b5386c0257
Added dynamic frames for darwin + win32.
The darwin frame is the same as the original, however the button behavior is corrected. The win32 frame uses the traditional buttons found on windows. Also added a small logo image to the windows frame. Each frame is dynamically loaded on startup via ejs.

Also disabled the server selection test UI.
2018-04-14 16:54:10 -04:00
Daniel Scalzi 28cd147ca0
Fixing some syntax issues.
It was late, I was tired, this was the result.
2018-04-12 22:40:48 -04:00
Daniel Scalzi 12aa9f9c5b
Removing '/Contents/Home' from Java root on darwin to have the code rely on the resolve executable method. 2018-04-12 22:13:26 -04:00
Daniel Scalzi fc81016dc6
More updates for Java validations on darwin.
Also, now require version 8u52+, as pack200 algo changed after 8u45.
2018-04-12 21:38:27 -04:00
Daniel Scalzi 2a551f18ba
Fixing default zoom level (darwin). 2018-04-12 18:39:31 -04:00
Daniel Scalzi f257208e2f
Disable zoom on UI (darwin). 2018-04-12 18:13:09 -04:00
Daniel Scalzi 05ebb80f19
Fixing variable rename typo. 2018-04-12 16:42:26 -04:00
Daniel Scalzi 4eb9d267eb
First attempt at Java validations for darwin (osx). 2018-04-12 16:12:45 -04:00
Daniel Scalzi 40a02726ad
Updated welcome text, testing a potential server selection UI. 2018-04-10 16:35:31 -04:00
Daniel Scalzi 8d682b15b3
Added remove account function to config manager. 2018-04-08 20:56:44 -04:00
Daniel Scalzi 9b4a2d4ef9
Added travis build script. 2018-04-08 13:32:27 -04:00
Daniel Scalzi 07946714cc
Adding form behavior to login.ejs.
Basic desired behavior which is now supported is submission when the enter key is pressed.
2018-04-07 20:41:09 -04:00
Daniel Scalzi a16a22e2e1
Modifications to welcome view, smoothing welcome transitions.
Disabled clouds on welcome.ejs. Added some welcome text to replace the lorem ipsum. The alignment was also changed from center to justify, to make the UI look sharper. Transitions between each view was changed from 250ms to 500ms.

Removed some testing code from login.ejs.
2018-04-07 19:58:23 -04:00
Daniel Scalzi 5a8ae0485a
Minor fixes for the Java download error overlay. 2018-04-07 18:24:13 -04:00
Daniel Scalzi 0a79634b8a
Implemented Java validations within the UI.
When a user attemps to launch, the configured Java executable will be validated. If it is invalid, we will look for a valid installation. If no valid installation is found, the user will be prompted with an option to install Java. An option to decline needs to be added. If they choose to install, it will download, extract, and update the executable in the config. The game will then be launched.

Also added progress tracking for asset validations, as they can potentially take a bit longer. Showing progress assures the user that the program isn't stuck or broken.
2018-04-07 18:06:49 -04:00
Daniel Scalzi 9b63d9bb58
Integrating new overlay mechanics with login view.
Removed login.ejs-specific overlay. Removed blur transition and reduced overlay fade from 500ms to 250ms. Minor modification to the overlay css.
2018-04-07 13:29:40 -04:00
Daniel Scalzi 5335e0124b
Further work on overlay mechanism. 2018-04-06 12:33:20 -04:00
Daniel Scalzi 92cb88a23a
Removing deprecated files (javaguard.js, index.ejs). 2018-04-04 15:46:19 -04:00
Daniel Scalzi c6f9121806
Making error overlay more generic, WIP 2018-04-02 22:43:11 -04:00
Daniel Scalzi 5c7e0c3c8a
Various additions and fixes to the launch controller.
Fixed an issue with concurrency when there are no downloads queued on launch. Added support for static function execution in AssetExec. Fixed a binding issue in uicore.js caused by delayed div loading. For now the solution is just hard coding in the value, will probably switch these two a css file later on. Included the launcher's x64 runtime directory in Java scans.
2018-04-02 18:40:32 -04:00
Daniel Scalzi ec9e95c130
Working on binding each view together.
Separate views are stored in an ejs file. When the app starts, each file will be loaded, with the DOM elements hidden. Based on the state of the application, a specific view will be fadded in. Switching between views will use this principle.

Moved contents of index.ejs to landing.ejs to make it compatible with the new format. As a result, index.ejs is deprecated and will be removed once it is no longer needed for reference.
2018-04-02 16:05:48 -04:00
Daniel Scalzi 7fb33c6813
Rough completion of JRE downloads from oracle.
Mojang fallback cannot be implemented due to limitations of decompressing large lzma files in node.js. This can probably be worked around by packaging with some command line binary, but it honestly it not worth it.
2018-03-31 20:45:24 -04:00
Daniel Scalzi ae387757bc
Discord-rpc has resolved the issue with the timeout function, updating to beta 10. Updating to node.js 8.11.x. 2018-03-31 13:46:52 -04:00
Daniel Scalzi 13cc555afd
Game now saves to OS-specific data directory. Fixed issue where logs folder did not save to correct location. Fixed issue with authentication code. Continuing work on Java validation code. 2018-03-31 13:05:05 -04:00
Daniel Scalzi f8131d9322
First phase of moving Java validation code to assetguard.js
Static utility functions have been moved. Functions which handle Java downloads will be moved next. AssetGuard is becoming a lengthy file, to cope with this I've added region comments so that specific sections can be collapsed and expanded when needed.
2018-03-30 08:31:54 -04:00
Daniel Scalzi aacf15efc5
Using object for JavaGuard. May move java downloading processes to AssetGuard as a non-default category. Very much a WIP. 2018-03-29 19:45:05 -04:00
Daniel Scalzi 2062865e7f
Got Java download working, just need to integrate it into the program and add some safeguards to the code. 2018-03-28 21:19:56 -04:00
Daniel Scalzi 4b2cac1eff
Completed Java validation for windows.
Possible paths are pulled from the registry and JAVA_HOME. These are sorted by version and whether they point to a JRE or JDK. Each path will be validated using an experimental option which yields the arch of the binary. The first one to  be validated will be selected and returned.
2018-03-28 17:13:11 -04:00
Daniel Scalzi 4fd202d180
Cleaning up jsdocs to be more aligned with the standard. 2018-03-28 16:42:10 -04:00
Daniel Scalzi d3c5997baa
Initial work on Java detection/validation system. 2018-03-28 16:13:57 -04:00
Daniel Scalzi 5e8342aec9
Updating dependencies. 2018-03-28 09:45:08 -04:00
Daniel Scalzi 454964ce0b Initial work on welcome view, upgraded dependencies. 2018-02-19 20:27:42 -05:00
Daniel Scalzi 8ea4ae8ec2 Adding login functionality to login view (connection with authmanager). 2018-01-29 01:23:20 -05:00
Daniel Scalzi 52aea274a7 Adding UI functionality to the login view. 2018-01-28 22:33:18 -05:00
Daniel Scalzi d50b3d2d41 Improving styles for error spans. 2018-01-27 22:51:12 -05:00
Daniel Scalzi 1284c54525 Continuing work on login view, still a ways off from completion. 2018-01-27 22:29:15 -05:00
Daniel Scalzi a3e7dfc570 Added styles for active elements on the login view. Made the frame buttons unfocusable by tabbing. Changed the login form from a form to a div, the form element is not what we want to use. 2018-01-24 17:35:06 -05:00
Daniel Scalzi 6c5e9303b4 Added more configuration options for electron-builder, removed electron-packager scripts and dependency. Investigating ways to run multi-platform builds efficiently. 2018-01-24 16:23:44 -05:00
Daniel Scalzi 69f9d297d0 Begining to transition over to electron-builder for building the app. Currently in a testing phase for this, gradually refining the build options. Once electron-builder has been fully implemented, the electron-packager scripts will be removed. Also updated electron to address a security issue. 2018-01-24 01:08:29 -05:00
Daniel Scalzi d7aa79f7d3 Unpacked Avenir.ttc to its several ttf components due to compatibility issues on older operating systems. 2018-01-23 21:16:10 -05:00
Daniel Scalzi 2e4a2be8b4 Adding focus and hover elements to the login view, minor change to svg style locations. 2018-01-23 18:07:18 -05:00
Daniel Scalzi 45997c17f5 Fixed transition error with login arrow button. 2018-01-23 15:41:01 -05:00
Daniel Scalzi e236a38757 Cleaning up login code a bit, next stage is completing login responsiveness. 2018-01-23 02:41:46 -05:00
Daniel Scalzi e555dd747f Initial work on login UI. Will continue to experiment with the layout and tweak colors and sizing. 2018-01-22 19:51:14 -05:00
Daniel Scalzi 965b56c6bd Switched to correct news icon. 2018-01-22 15:30:51 -05:00
Daniel Scalzi d96766528e Added an edit overlay to the user avatar. 2018-01-22 01:17:56 -05:00