Commit Graph

345 Commits (master)

Author SHA1 Message Date
Daniel Scalzi d2982ca387
v1.4.1 - Forge 1.12.2 (4/10) + requires absolute: prefix. 2018-12-31 11:27:40 -05:00
Daniel Scalzi d7fe519923
Preliminary Java 9+ Support (#20).
We will still not allow these versions to be used until they have been fully verified on our far-future 1.13 test server.
2018-12-31 10:39:27 -05:00
Daniel Scalzi be533af38b
v1.4.0 - Added Shader Options, Electron v4. 2018-12-21 16:06:34 -05:00
Daniel Scalzi b98a4ec21f
Shaderpack settings nearly finalized.
Added saving function, add pack button, drag and drop functionality to the button, ability to
refresh the list of packs.
Added height limit to the dropdown with scrolling. Cleaned up some styles.
2018-12-21 08:02:24 -05:00
Daniel Scalzi a4d4b69791
Initial work on shader options, electron@4. 2018-12-21 06:51:08 -05:00
Daniel Scalzi f5b1418d18
Reduced size of background 7. Removed some unused images.
7.jpg : 24MB -> 5MB
Updated electron, electron-builder.
2018-12-21 02:29:33 -05:00
Daniel Scalzi 001a2cbe81
v1.2.1 - Fixed issue w/ native lib parsing.
In 1.12.2, some natives do not provide a rules
object and instead just omit the classifier
from the natives object. We now check for that.

Updated electron to v3.0.12.
2018-12-17 00:11:23 -05:00
Daniel Scalzi f5ce7734b8
Ensure mods dir exists on file drop. 2018-12-01 10:06:23 -05:00
Daniel Scalzi d779eacf61
Added drag/drop functionality to the add mods button.
You can now drag one or more files onto the add mods button in order to add them to the mods directory. Only jar, litemod, and zip files will be moved.
Changed eslint to use a single configuration file, with overrides for the UI scripts.
Now using fs-extra, replace usages of rimraf and mkdirp with fs-extra functions.
2018-12-01 08:20:42 -05:00
Daniel Scalzi d9858958c9
Oracle now uses https, update body parser accordingly. 2018-11-25 22:18:59 -05:00
Daniel Scalzi 684e884d9c
Mod config bug fixes, electron upgrade.
If the instance mods directory does not exist when the 'Add Drop-In Mod' button is clicked, it will be created.
The update selected server code has been modified. Previously, the server would be updated before the mod config was saved. This has been fixed so that the mod config is saved before the server is switched.
Updated electron to v3.0.10.
2018-11-20 05:19:59 -05:00
Daniel Scalzi c6051f9942
v1.1.0-pre.2 2018-11-18 22:03:17 -05:00
Daniel Scalzi acd6143d30
Modify AutoUpdater behavior on macOS.
The AutoUpdater requires that macOS builds be code signed. That is currently not possible.
As a workaround, the autoupdater on mac will now alert users that an update is available and give the option to download the file directly from GitHub.
Closes #16.
2018-11-18 21:51:48 -05:00
Daniel Scalzi bcd8082afe
Fix native lib extraction for old MC versions.
#18
2018-11-18 04:33:59 -05:00
Daniel Scalzi 03273232c6
Fix for native lib parsing in old MC versions.
Fixes #18.
2018-11-18 04:19:17 -05:00
Daniel Scalzi affacbf56e
Cleanup 2018-11-11 18:28:58 -05:00
Daniel Scalzi e6b9728fe5
Updated electron-builder, electron-updater. 2018-11-09 01:03:28 -05:00
Daniel Scalzi a9f12ee329
Fixed 'Failed to verify username.'
Send first request without clientToken, store the returned clientToken, use that for subsequent requests. Dont generate random UUID for clientToken, it can sometimes be 'bad'.
Removed dependency 'uuid'.
Updated 'electron-builder'.
2018-11-04 02:03:55 -05:00
Daniel Scalzi ce86840a87
v1.0.4 - Logic cleanup, minor bug fixes.
Removed the old workaround logic for queueing archives for extraction.
Removed the old forge callback (this was replaced a while ago).
Fixed a typo in _parseDistroModules (getType).
Use discordrpc straight from the repository. The author has refused to push the bugfix for nearly a month.
Fix timestamp issue on discord rich presence.
Dependency upgrades.
2018-10-31 01:25:38 -04:00
Daniel Scalzi f089993ea4
Use launchermeta.mojang.com instead of S3 (deprecated). (#12)
The deprecated endpoint will be removed by the end of 2018.
2018-10-25 12:45:32 -04:00
Daniel Scalzi 3acc213544
electron-is-dev is now useless, use our own copy. 2018-09-23 02:19:16 -04:00
Daniel Scalzi b2e9223b10
Updated to Electron v3.0.0, renderer to node v10.
Fixed deprecation of Buffer constructor in node v10.
Set flag to print the stack trace of node warnings in the renderer.
2018-09-22 05:07:18 -04:00
Daniel Scalzi 2a9db6c646
Various fixes to New UI.
Add proper styling for spoiler blocks. (#6)
Fixed minor issue with relative url replacement regex.
Upgraded eslint@5.5.0
2018-09-05 02:30:26 -04:00
Daniel Scalzi 7851fdbefb
v1.0.0 2018-08-31 12:42:18 -04:00
Daniel Scalzi e53b92c38b
Fix styling error when logging out of last account. 2018-08-29 13:44:28 -04:00
Daniel Scalzi cf7e9adb89
v1.0.0-beta.6 - Revert UUID related change, updated deps. 2018-08-29 13:24:48 -04:00
Daniel Scalzi db5653a7b7
Added additional fix for 'Failed to verify username'.
It seemed that login may also randomly fail if the user had a no-dash uuid stored. Corrected this.
2018-08-24 16:26:50 -04:00
Daniel Scalzi 70b83a6397
v1.0.0-beta.5 - Fixed Mojang issue resulting in "Failed to verify username" for specific users.
The Mojang API may randomly return extraneous spaces around the displayName and username fields. Launching the game with these values will result in the aforementioned error. The launcher now trims these values as a precautionary measure.
2018-08-24 15:17:32 -04:00
Daniel Scalzi 0346597afe
Wrap calls to console.log through LoggerUtil (prefixes). 2018-08-22 14:21:49 -04:00
Daniel Scalzi 37606dc8d2
Improvements to overlay keybinds.
Added dynamic keybinder for overlays. If dismissable, the Escape key will dismiss the overlay. If not dismissable, Enter & Escape will trigger the main button.
If the selected account is not valid and you have more than one other account, you may cancel logging in to return to the original error overlay.
Updated electron-builder@20.28.2.
Fixed minor bug where the background of the settings UI was set to transparent. This occurred if the validation error overlay was shown on the settings UI, and you chose the login option.
2018-08-22 10:54:09 -04:00
Daniel Scalzi afe69a21c6
Small changes and cleanup to Java related UI.
The manual installation overlay now links to the Java Management wiki article.
The Available Options for Java 8 href now links to the os-specific page (/windows for windows, /unix for macOS and Linux).
The default config now uses the same value as max ram for min ram.
2018-08-20 04:02:27 -04:00
Daniel Scalzi 58a8215b05
v1.0.0-beta.3 - Added error handling for LaunchWrapper failure.
Fixes #5.
2018-08-19 03:16:08 -04:00
Daniel Scalzi 845721a830
Encode game stderr stream in utf-8. Updated deps.
semver@5.5.1
esline@5.4.0
2018-08-19 00:42:52 -04:00
Daniel Scalzi 50317c3fc2
v1.0.0-beta.2
Fixed bug which prevented mods with declared extensions in their identifiers from being loaded.
Synced distribution.json with remote.
Updated electron-builder.
Updated readme to include information on beta testing.
2018-08-15 09:17:59 -04:00
Daniel Scalzi f1d89c0e6b
Fixed game status monitoring.
Switched to version-safe regex for monitoring game launch progress.
Game output is now encoded in utf-8 to avoid multiple conversions from Uint8Array to String.
Note that game output has line breaks. Trim any content before testing it against regular expressions.
2018-08-13 08:25:25 -04:00
Daniel Scalzi 4f416220c2
Added failsafe to configuration loading.
If file is malformed or corrupt, generate a fresh configuration file.
2018-08-13 06:31:46 -04:00
Daniel Scalzi 1566ff4e4c
Updated the auto-update UI.
Added a settings tab to manage updates.
On this tab you can:
* Init auto update check.
* View update information (version, prerelease vs release, etc).
* View update changelog.
* Install updates (when downloaded).
The green glow on the landing page now takes users to the settings tab. Updates can be installed from there.
This UI can be changed in the future if needed.
2018-08-13 06:13:13 -04:00
Daniel Scalzi b46ac97493
General cleanup for mods tab code. 2018-08-07 04:41:26 -04:00
Daniel Scalzi 556199aa55
Added support for drop-in mods on the UI. 2018-08-07 04:16:15 -04:00
Daniel Scalzi ff3f2bfb8d
Added server status bar to the top of the mods tab.
The user is also given the option to switch servers from this status bar.
2018-08-07 00:58:32 -04:00
Daniel Scalzi 0c98cc2447
Added support for optional submods of required mods. 2018-07-29 16:32:41 +02:00
Daniel Scalzi 60ba7b4f8a
Add functionality to mods tab.
Mod configurations can now be changed and saved.
Still pending optimization to allow required mods to
properly declare optional mods.
Show main UI on interactive event. We shouldn't wait for
remote images to load first.
2018-07-29 14:42:11 +02:00
Daniel Scalzi 34b806c3a8 Updated mercurius updater to 1.12.2 on distro. 2018-07-26 04:44:36 +02:00
Daniel Scalzi 40506c4283 Cleaned up distribution.json for mod toggle UI.
Removed the version from the module's name. The version can be retrieved
from the identifier and placed wherever desired.
Reorganized the modules to have the more popular/important mods listed
first. The order in which modules are declared is the order they appear
on the UI.
Updated the docs to make it clear that maven identifiers are required for
all modules not of type File.
2018-07-26 04:44:36 +02:00
Daniel Scalzi e583133c8b Initial work on mod toggle UI.
This still needs a lot of work.
2018-07-26 04:44:36 +02:00
Daniel Scalzi 6e71cd6b46
v0.0.1-alpha.16 - Fixed download errors.
Fixed error 'self signed certificate in certificate chain'.
Disabled reject unauthorized in assetexec process.
Fixed error messages from assetexec to renderer.
Updated elctron-builder to v20.25.0.
2018-07-26 04:30:47 +02:00
Daniel Scalzi 04cf2ee718
Fixed styling issue with a.commit-links.
Text outside the tt element did not behave properly on hover. This has been corrected.
2018-07-22 23:33:48 -04:00
Daniel Scalzi 810e81521c
Added eslint. To lint, npm run lint.
Linted the entire project. Using different rules for the script files
as there are a lot of undefined variables just because of the way the
DOM's global scope works.

Mostly just code cleanup, however the linter did catch a minor bug with
a settings regex. That has been corrected.
2018-07-22 13:31:15 -04:00
Daniel Scalzi 7dcce68455
Updated Distribution Index spec and impl.
Added distromanager.js to represent distro elements.
Moved all distro refresh code to distromanager.js.
Overhauled assetexec.js.
Overhauled handling of assetexec.js output in landing.js.
Overhauled events emitted by assetguard.js.
Improved doenload processing in assetguard.
Updated discord-rpc to v3.0.0.
Replaced westeroscraft.json with distribution.json.
Use npm in travis for windows + linux.
Remove file extension from imports.
Added liteloader + macromod + shaders to distribution.json.
2018-07-22 11:40:15 -04:00
Daniel Scalzi 6759b143c4
Show installing progress bar during extractions. 2018-07-02 02:24:13 -04:00
Daniel Scalzi 41aae0c418
Changed email to uuid on the account settings view.
I'm not a fan of showing a user's email on the UI.
2018-07-02 02:08:48 -04:00
Daniel Scalzi 3131002d02
Use full body skin render for the avatar image.
There's room for improvement here, but it works for now.
2018-07-02 02:01:28 -04:00
Daniel Scalzi 85331a7088
Added keyboard controls to the News UI.
On the landing view, the up arrow will open the News UI.
On the News UI, the left and right arrow keys will switch articles.

Thanks to aaronholtomcook/ElectronLauncher (26659f8c38)
2018-06-30 15:16:31 -04:00
Daniel Scalzi 52d90276bf
Added styling for github syntax highlighting. 2018-06-30 14:23:42 -04:00
Daniel Scalzi 8f172a41e6
Documented new functions in processbuilder. Minor fixes.
Recursive call now uses the proper parameter (.mods).
Submodules are only parsed if the parent mod is enabled for launch.
2018-06-30 03:16:57 -04:00
Daniel Scalzi 932443fcb8
Removing deprecated files.
Launchprocess.js has been deprecated for over a year, pending removal once liteloader support was added.
The user modlist idea was scrapped a while ago. User mods can be stored inside of the mods folder for each server instance.
2018-06-23 22:02:42 -04:00
Daniel Scalzi aa0e1a20ca
Added initial support of liteloader + optional submodules.
Liteloader is loaded as a library, with special launch conditions being executed when it is enabled. Litemods are constructed into a mod list and passed to liteloader via the --modRepo argument.

The launcher now supports optional submodules. These are parsed recursively, there is no depth limit. Typically the depth will be only 2 as litemods are optional submoduless of liteloader.
2018-06-23 21:03:49 -04:00
Daniel Scalzi 145a2fe77b
Added initial support for optional mods.
Optional mods are stored by ID in the configuration. Their enabled state is stored here. The mod configurations are updated each time the distro index is refreshed. Configurations are stored by server id. If the id no longer exists (changed/removed), the mod configuration is removed. If new optional mods are added, they are added to the configuration. If they are removed, they are removed from the configuration.

Currently only top level optional mods are supported.
2018-06-23 15:17:26 -04:00
Daniel Scalzi 4196856d31
Fixed range slider rendering when value is out of range.
If the value of a ranged slider is out of range, the slider will snap to either 0% or 100%.
Reduced memory label margin to preserve sufficient spacing.
2018-06-21 21:04:10 -04:00
Daniel Scalzi 9769458499
Fixes for the overlay on the settings UI.
The background of the settings UI is set to transparent when the overlay is toggled.
The color of the frame bar has been adjusted to what it should actually be.
2018-06-21 20:54:07 -04:00
Daniel Scalzi c0714ecbc6
Added functionality to avatar overlay.
Overlay changed from div to button.
Clicking on the overlay will bring you directly to the settings account tab.
Modified overlay background color.
2018-06-21 12:38:21 -04:00
Daniel Scalzi a68abaf89c
Added styling for changelog anchors. 2018-06-21 10:01:03 -04:00
Daniel Scalzi 2d0c4c76eb
Enhanced News UI.
Added a drop shadow so that the news no longer scrolls into nothing.
Tweaked several styles to make the UI look a lot better.
2018-06-20 09:12:44 -04:00
Daniel Scalzi e2e48f6444
Enhanced the settings UI structure.
The left side of the settings UI now has a more comprehensive layout.
Settings tabs now scroll all the way to the frame bar. When the content is scrolled out of view, a drop shadow is displayed. This removes the awkward feel of content scrolling into nothing.
2018-06-20 07:38:53 -04:00
Daniel Scalzi 5a16416db5
Added about settings tab.
This tab displays information about the current version of the application. Release notes are fetched from GitHub's atom feed and displayed here as well.
2018-06-20 06:15:10 -04:00
Daniel Scalzi e7752b4374
v0.0.1-alpha.12 - Completed Java Settings Tab.
Added JVM Options to the Java tab.
Small clean up for the Java tab's styles and bindings.
2018-06-14 06:09:09 -04:00
Daniel Scalzi 109c24bc79
Added option to change the Java exec to the settings UI. 2018-06-14 03:49:55 -04:00
Daniel Scalzi 7cf0e1f049
Various CSS updates.
Most of the UI is now unselectable.
The account selecton styles now conform with the auth account styles.
2018-06-12 04:12:22 -04:00
Daniel Scalzi b61a9a2c55
Tweaking memory range sliders.
Fixed minor issue where an extra tick was added.
The bar fill color now changes to yellow and red depending on how much memory is being allocated.
2018-06-12 03:48:36 -04:00
Daniel Scalzi 6ac48a63b5
Added memory management to Java tab. 2018-06-12 03:25:36 -04:00
Daniel Scalzi 34e8da2aa2
Minor modification to toggle switch styles. 2018-06-11 22:45:30 -04:00
Daniel Scalzi db7ba0d450
Initial work on Java tab. Added custom range slider.
Also added two more settings tabs. These are experimental and subject to change.
2018-06-11 22:11:05 -04:00
Daniel Scalzi 08eb04775e
Added indication for when there is new news. 2018-06-04 23:08:03 -04:00
Daniel Scalzi 05fe516249
v0.0.1-alpha.10 - Hotfix for startup error. 2018-06-04 20:06:34 -04:00
Daniel Scalzi 50d85d30cc
v0.0.1-alpha.9 - Added option to enable/disable prereleases.
Added option to enable/disable prerelease updates.
Implemented launcher tab on the settings UI, as this is the only current value.
Added semver dependency.
2018-06-04 19:34:47 -04:00
Daniel Scalzi 790a3e0e8b
v0.0.1-alpha.8 - Implemented Minecraft Settings Tab.
Implemented minecraft settings tab.
Updated distro index documentation to reflext the file system overhaul.
2018-06-04 16:28:17 -04:00
Daniel Scalzi 0cc861f614
Overhauling file system structure.
Common files such as assets, libraries, and mods have been externalized into a 'common' folder. Each server now has its own instance folder to allow saving per version files. This resolves issues with resourcepacks and mod configurations being overriden, and still preserves our optimizations in storing libraries and mods maven style.
2018-06-04 00:17:20 -04:00
Daniel Scalzi 97e9c15baf
Updated discord-rpc, changed ad hoc fix to api fix. 2018-06-03 15:35:39 -04:00
Daniel Scalzi 74a60a61c2
v0.0.1-alpha.6 - Finalizing the settings account tab.
Added a done button which closes the settings UI.
Displays a warning before the user logs out of the last saved account. If they proceed with the logout, they will be redirected to the login UI.
Added startup handling for when the user has 0 saved accounts. They will be brought directly to the login UI.
Accounts are now validated each time they are switched.
2018-05-30 23:32:51 -04:00
Daniel Scalzi 91c842dd40
Added UI and implementation for the account settings tab.
Features:
* Add a new account.
* Switch accounts.
* Log out of an account.

Also added a cancel button to the login UI which is only shown when a user is adding an account. In that case, the operation should be and is cancellable.
2018-05-30 22:22:17 -04:00
Daniel Scalzi 2dcbb45bdb
Further progress on settings UI.
Added a tooltip to the settings button on the landing UI.
Settings button now opens to the (incomplete) settings UI.
Added navigation bar to the settings UI.
Implemented tabbing between settings tabs.
More to come.
2018-05-30 16:00:07 -04:00
Daniel Scalzi 30c258da2d
More work on settings, removing css redundancy. 2018-05-30 11:41:04 -04:00
Daniel Scalzi ee55446cd6
Temporary fix to DiscordRPC not shutting down properly.
Something must have changed on discord's end, as our previous solution is no longer working. The latest changes to the module include a clearActivity() method, however it is not available on npm. Until it is, we are using the implementation directly.
2018-05-29 23:42:27 -04:00
Daniel Scalzi daa6faac86
v0.0.1-alpha.6
Fixed AuthManager sending incorrect client token to the auth endpoint.
Fixed minor issues with the validate selected function.
Fixed minor issue related to UI transitions.
Added account validations on startup and when account is switched.
Updated dependencies.
2018-05-29 21:47:55 -04:00
Daniel Scalzi 5a692d9088
Fix settings container rendering. 2018-05-22 22:35:56 -04:00
Daniel Scalzi e9e2ec162a
Added settings container, updated dependencies. 2018-05-22 22:34:35 -04:00
Daniel Scalzi a67dac23cf
Fixes related to offline startup.
Fixed incorrect function name for local distro index loading.
Fixed mojang tooltip not showing statuses when offline.
Added timeout of 2500ms to news loading, remote distro index retrieval, and mojang status loading.
Updates async to fix lodash vulnerability.
2018-05-22 08:41:22 -04:00
Daniel Scalzi ba916aa953
v0.0.1-alpha.5
Added tooltip UI which shows the status of each Mojang service.
Updated dependencies.
2018-05-17 03:11:44 -04:00
Daniel Scalzi f4abbef58c
Increasing version, various small fixes.
Fixed launcher.js not checking the correct return value when verifying the configured Java executable.
Removed debug logging from configmanager.js.
Updated dependencies.
2018-05-15 06:07:28 -04:00
Daniel Scalzi 71cbd109c4
Various fixes.
Fixed issue where news button could not be tabbed to when news UI is active.
Fixed incorrect java version sorting (now behaves as intended).
2018-05-15 02:30:26 -04:00
Daniel Scalzi d2c435ce51
Added Java Validations for Linux.
Also abstracted and optimized the common functions for resolving Java between the three supported operating systems.
Changes made to win32 and darwin validations will require testing to ensure everything is functional.
2018-05-15 01:05:10 -04:00
Daniel Scalzi 54e3861ba8
Fixing linux data directory. 2018-05-14 22:33:38 -04:00
Daniel Scalzi f0a66e7a02
Various fixes for the news UI.
Made the layout for the status container more comprehensive.
Added a spacer to the bottom of news article content.
Disabled tabbing between the landing and news containers.
2018-05-10 05:48:55 -04:00
Daniel Scalzi 848440ed1c
Fixed an issue with registry scan, minor UI changes.
The registry scan function exited early if no Java Development Key was found. This has been corrected by redoing the exit checks.
Social media buttons now lose focus after they are clicked to prevent a sticky appearance.
Changed the load spinner to have the text rotate within the center image.
2018-05-10 04:36:52 -04:00
Daniel Scalzi f0b21330a0
v0.0.1-alpha.2 Fixed console.debug error. 2018-05-10 00:22:00 -04:00
Daniel Scalzi d33476bcf9
ConfigManager improvements. v0.0.1-alpha.1
Added new configuration option, launchDetached.
Added validation function to ConfigManager to add missing keys (due to updates).
Updated westeroscraft.json
Game process can now be detached from the launcher.
2018-05-10 00:01:38 -04:00
Daniel Scalzi f1a98f2d45
Added mojang account validation UI.
Other minor fixes included. Bumped version from dev to alpha. Testing to begin soon.
2018-05-09 22:23:37 -04:00
Daniel Scalzi 15a83a7736
Attempting to make references to the distribution index more streamlined. WIP 2018-05-08 20:10:46 -04:00
Daniel Scalzi f161e196be
Improving application startup flow.
Major improvements to distribution index loading.
Implemented new transitional UI for startup.
If **no** distribution index is loaded on startup, completion of startup will be prevented and the user will be shown a message displaying the issue.
Launch errors are now shown as overlays.
Many more minor fixes and enhancements.
2018-05-08 06:34:16 -04:00
Daniel Scalzi cd4f7918c8
Pipe output from forked processes back to parent.
Also cleaned up the code a bit. Switched to use lambda declarations in promises and renamed 'fulfill' to 'resolve', as it should be,
2018-05-07 18:15:59 -04:00
Daniel Scalzi 0c1ebd0ce0
Distribution data is now pulled from our servers. 2018-05-07 01:34:57 -04:00
Daniel Scalzi 40de1e3cd3
Added News UI.
Added News UI and implemented functionality.
Removed westeroscraft.xml as we don't need to cache it.
Updated westeroscraft.json.
Updated Electron to v2.0.0
2018-05-06 21:45:20 -04:00
Daniel Scalzi 252b82a944
Enhancing social media button responsiveness (focus styles). 2018-04-29 22:36:28 -04:00
Daniel Scalzi 39fd7e19ef
Make menu button slide up (experimental). Disable tabindex on overlay. 2018-04-29 18:39:57 -04:00
Daniel Scalzi 4106b2b069
Many fixes and adjustments to the upper right landing UI.
The user_text span now displays the currently selected account.
2018-04-29 18:05:59 -04:00
Daniel Scalzi ea758aee1f
Various optimizations related to library extraction.
Updated PackXZExtract to v1.0.1.
If no files are queued for extraction, the step is skipped.
The UI now shows some indication that the extraction is in progress.
2018-04-28 23:34:23 -04:00
Daniel Scalzi d08cfbf248
Change library extraction to be queue based to ensure it completes. 2018-04-28 20:52:13 -04:00
Daniel Scalzi 0216582827
Application now checks for updates every 30 minutes. 2018-04-28 18:45:19 -04:00
Daniel Scalzi f1cf433ca8
Fixed issue where extraction library could not be run from asar. 2018-04-28 18:07:39 -04:00
Daniel Scalzi 95afe5c63a
Added basic auto update implementation. 2018-04-28 16:26:38 -04:00
Daniel Scalzi 5b74ecef21
Experimental changes in preparation for auto-update support. 2018-04-28 04:16:09 -04:00
Daniel Scalzi c6637d18e1
Syncing distro files (Added 1.11.2 + 1.12.2 test servers). 2018-04-27 16:22:46 -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 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 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