Commit Graph
146 Commits
Author SHA1 Message Date
Daniel Scalzi 1a7c8fd70f Fixing request dependency. 2018-04-27 00:33:30 -04:00
Daniel Scalzi 009a1b58af Added basic functionality to server selection UI.
The server list is now dynamically generated based on the servers listed in the distribution index. Also, moved to event.key for key bindings as event.keyCode is deprecated.
2018-04-27 00:04:09 -04:00
Daniel Scalzi ae3c8854f4 Upgrading Node.js from 8.11.x to 10.0.x. 2018-04-26 19:44:30 -04:00
Daniel Scalzi 5fe43ac8e9 Added basic functionality to server selection UI.
Basic selection and updating of the selected server has been added. There are a few subtle mechanics which need to be added still, such as keybind shortcuts (enter to submit, etc). In addition, functionality still needs to be added to generate the list of servers from the manifest file.

Fixed a minor issue with the login view.
Updated play button styles.
Updated dependencies.
2018-04-26 18:41:26 -04:00
Daniel Scalzi 4b708f59fe Minor modifications to menu animation. 2018-04-26 04:00:51 -04:00
Daniel Scalzi 22f5eabe49 Experimenting with the menu slide animation. 2018-04-26 03:49:45 -04:00
Daniel Scalzi 6e55442b25 Server selection view can now be opened from the landing view.
The temporary span which displayed the selected server has been changed to a button. Clicking this button will open the server selection view. The server selection view is still pending full implementation.
2018-04-26 02:39:47 -04:00
Daniel Scalzi 4b8133474d Various changes and improvements.
Added warning message when console is opened, this is in preparation for alpha.
Added a new background image. Restored random backgrounds on launch (for now).
Changed the overlay dismiss/cancel buttons from anchors to buttons.
2018-04-26 02:01:46 -04:00
Daniel Scalzi 2f66d44824 Further organization of the browser scripts.
Moved server selection styles to launcher.css, as they are nearly finished.
Moved overlay convenience functions to overlay.js.
Moved launch area (landing.ejs) convenience functions to landing.js.
Various cleanups and documentation also added.
2018-04-25 20:11:10 -04:00
Daniel Scalzi 92d8a5e254 Disable eval(), its use is not needed and improves security. 2018-04-25 17:51:10 -04:00
Daniel Scalzi 1b38629084 Organizing UI scripts.
Moved landing.ejs specific scripts to a dedicated file. General cleanup for other script files. Need to examine the remaining code in actionbinder.js to determine the most logical place for it.
2018-04-25 17:40:46 -04:00
Daniel Scalzi 4d26298b98 Added Content-Security-Policy to ensure that external scripts cannot be loaded.
Moved inline scripts to their own files. Moved all front-end scripts to /assets/js/scripts.
2018-04-25 17:06:10 -04:00
Daniel Scalzi 8d5cd2b00b Changed server listing element from div to button.
This is necessary to implement proper functionality. Work on that will be done shortly.
2018-04-19 22:06:34 -04:00
Daniel Scalzi f7e24fd092 Removed original server selection implementation. We will be using the overlay. 2018-04-19 01:48:18 -04:00
Daniel Scalzi 61538fdde5 Improving dynamic structuring within selection UI.
The server list is now centered. The minimum height was set to 40%, with a maximum of 65%. The UI will now scale to ideally fit the given number of servers. Four servers can be shown before scrolling enables.
2018-04-19 00:51:56 -04:00
Daniel Scalzi 9d04eb2227 Tweaking the server selection UI.
Removed divider. Moved star. Changed version tag back to green.
2018-04-18 23:50:26 -04:00
Daniel Scalzi e994f4c474 Added new server selection UI.
The UI is still being tweaked and modified. Functionality will be added once it is finalized.
2018-04-15 23:06:16 -04:00
Daniel Scalzi 714daace18 Added server status retrieval and implemented it on UI.
The player count on the landing page is now functional. If the server cannot be reached, the label and value will change to SERVER and OFFLINE, respectively. This behavior can be modified.
2018-04-15 22:35:14 -04:00
Daniel Scalzi 8446af4669 Added seven pointed star svgs and test server icon (temp). 2018-04-15 22:31:51 -04:00
Daniel Scalzi 6e8d4fe9bc Fixed old bug with argument splicing in processbuilder. 2018-04-15 01:26:40 -04:00
Daniel Scalzi 9448b9b5a3 Add additional arguments for mac. 2018-04-15 00:49:20 -04:00
Daniel Scalzi 2f899822b5 Fixing classpath argument for Unix-like systems (macOS, Linux).
Game should now launch on these two systems.
2018-04-15 00:21:26 -04:00
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