Skip to content

Releases: dscalzi/HeliosLauncher

Alpha v0.0.1-alpha.15

23 Jul 03:56
372a76b
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.15 Pre-release
Pre-release

Alpha Update 15

This update includes a massive overhaul of the distribution index specification and its implementation in the launcher. Optimizations and improvements were added to many sections of the code which reference the distribution index. These efforts were especially concentrated on download processing, which should run smoother (no more 107% or going from 90% to 75%). Several other changes and bugfixes are also included.

The distribution updates introduced in this build means that all older alpha builds are obsolete and using a deprecated system. Update to this version as soon as possible, as older builds will cease to function when the deprecated index is removed. Expect that to happen within the next few updates, at most.

Changes

  • 7dcce68 Overhauled distribution index specification and implementation.
    • 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. During downloads, an asset's declared size is compared to the content-length header. If they do not match, the total download size is adjusted. Once the asset with a mismatch is downloaded, the hashes will be compared. If those match, then everything is fine. If they do not match, the file may be corrupt or wrong. All this information is logged to the console. Hopefully it will add some insight into any future download issues.
    • 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.
  • 3131002 Use full body skin render for the avatar image. There is room for improvement here but it works for now.
  • 41aae0c Changed email to uuid on the account settings view.
  • 6759b14 Show installing OS progress bar during extractions.
  • 810e815 Linted the entire project to eliminate any syntactical inconsistencies.
    • Caught a minor bug with the settings UI while linting. Issues where you could not press keys containing the letter e while editing the game resolution has been fixed.
    • Note on the linter - the browser scripts and internal modules use two separate configurations. This is because the linter does not pick up on variables used in the DOM's global scope.
  • 04cf2ee Fixed minor issue with the styling of a.commit-links with content outside of the tt element.
  • cb28bce Rewrote the README file. Check it out!

New Dev Dependency

  • 810e815 eslint@5.2.0 Added to enforce a proper code style throughout the project and avoid potential bugs. To run the linter, npm run lint.

Dependency Upgrades

Alpha v0.0.1-alpha.14

30 Jun 19:38
651c2d6
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.14 Pre-release
Pre-release

Alpha Update 14

This update adds support for optional mods and built-in support liteloader. A UI for toggling optional mods will be included in a future update. For now, optional mods can be toggled off in the config file directly.

The mod configurations are stored in config.json under the modConfigurations property. Example configuration:

{
    "id": "WesterosCraft-1.11.2",
    "mods": {
        "com.mumfrey:liteloader": {
            "value": false,
            "mods": {
                "com.mumfrey:macrokeybindmod": false
            }
        },
        "mcp.mobius:waila": true,
        "com.github.hexomod:worldeditcuife2": true,
        "techbrew:journeymap": true,
        "octarine-noise:betterfoliage": true,
        "org.blockartistry:dynsurround": true
    }
}

To enable a mod, change its value to true. To disable it, change the value to false.
Once you've modified the values, save the config file and type ConfigManager.load() in the console.

New Features

  • 145a2fe Added support for optional mods.
  • aa0e1a2 8f172a4 Added support for liteloader, litemods, and optional submods.
  • 85331a7 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 arrows can be used to navigate between articles.
    Thanks to aaronholtomcook@26659f8 for the inspiration.
  • c0714ec Implemented the avatar overlay edit button. Clicking it will now take you directly to the account settings tab. The styles for this have also been modified a bit.

Fixed

  • a68abaf Added styling for links on the changelog UI.
  • 52d9027 Added styling for code blocks on the changelog UI.
  • 9769458 The color of the frame bar has been adjusted.
  • 9769458 The background of the settings UI is set to transparent when the overlay is active.
  • 4196856 Fixed range slider rendering when the value exceeds the limits. The slider will now snap to the lowest/highest value. Also reduced the margin of the memory label.

Misc

  • dab195a Fixed issue with travis build after upgrading dependencies. In windows and linux, yarn is used in place of npm. On macOS, upgraded xcode from v9.2 to v9.4.
  • 932443f Removed deprecated launch code.

Dependency Upgrades

New Dependencies

  • 52d9027 github-syntax-dark@0.5.0 Added to properly style code blocks from GitHub's atom feed on the changelog UI.

Alpha v0.0.1-alpha.13

20 Jun 13:50
f44d3b6
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.13 Pre-release
Pre-release

Alpha Update 13

This update adds a new settings tab and several UI enhancements.

New Features

  • 5a16416 Added an About Tab to the settings UI.
    • The about tab contains version information about the current release of the launcher. It also indicates whether the release is stable or a prerelease.
    • Links to the source code, support forum, and developer console are included on this tab.
    • The release notes for the current version are pulled from GitHub's atom feed and displayed.

UI Enhancements

  • 2d0c4c7 Changed several styles on the News UI in order to make it look a lot better.
    • The news status container is now right aligned.
    • The scrollbar now aligns with the edge of the application.
    • Allocated more space to the article content.
    • The main content container now spans all of the available width.
  • 2d0c4c7 Added a dropshadow effect to the News UI which is displayed when the article content is scrolled out of view. This eliminates the "scrolling into nothing" awkwardness.
  • e2e48f6 Changed serveral styles on the settings navigation bar.
    • The percentages are now more comprehensive. The bar should now fit better on the screen.
    • Spacing between the frame bar and the main content was slightly reduced.
    • The content now scrolls up to the frame bar.
  • e2e48f6 Added a dropshadow effect to the Settings UI which displays when the content is scrolled out of view. Eliminates the "scrolling into nothing" awkwardness.

Dependency Upgrades

Screenshots

(Gifs are too large for GitHub, click the links to view.)

New about tab and Settings UI enhancements.

News UI enhancements.

Alpha v0.0.1-alpha.12

14 Jun 10:29
e7752b4
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.12 Pre-release
Pre-release

This update completed the implementation for the Java settings tab. Options to edit the Java executable path and JVM options have been added.

Java Executable Setting

The Java executable is soft validated on the settings UI. The results of this validation are displayed on the UI. If an invalid file is selected, Invalid Selection will be displayed. If the validations are successful, information on the selected Java version will be displayed.
Ex.

User has selected:
C:\Program Files\Java\jre1.8.0_172\bin\javaw.exe

UI Displays:
Selected: Java 8 Update 172 (x64)

This value is only soft validated. If an invalid value is selected, you can still save and exit settings. Nothing will turn red. The value is hard validated before game launch. If an invalid value is selected, the launcher will attempt to correct that by scanning for a valid Java installation. If none are found, we tell the user. This behavior was added a few months ago.


The text The path should end with xxx is OS specific. Windows: bin\javaw.exe. MacOS/Linux: bin/java.

JVM Options Setting

An interesting UI was planned for this, however in the interest of time a simpler UI was implemented. The JVM options are listed as space separated values inside of a text field. These values are not validated, as only advanced users should be editing them. The fancier UI may be implemented in a post-release update.

New Features

  • 109c24b Added UI to edit the Java executable path.
  • e7752b4 Added UI to edit the additional JVM options.

Alpha v0.0.1-alpha.11

12 Jun 08:33
7cf0e1f
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.11 Pre-release
Pre-release

This build contains several minor new features. The Java settings tab has been partially completed, adding support for managing memory allocation. In a future build this tab will be completed, adding support for managing the location of the Java executable as well as the additional JVM arguments.

New Features

  • 08eb047 Added indication for when there is new or updated news content. This will be displayed as a red dot on the news button. It will remain until the news view has been opened.
  • 1fd6920 A .nvmrc file has been added for contributors who use Node Version Manager.
  • db7ba0d, 6ac48a6, b61a9a2 Partially implemented the Java settings tab. So far, support for memory management has been added. The range slider has a minimum value of 2G on machines with 4G or less RAM, 3G on all others. The slider's maximum value is determined by the following:
    (Total RAM) - (1G for OS) - (1G per each 4G RAM up to 16G) - (1G per each 8G RAM after 16G)

CSS Changes

  • 7cf0e1f Tweaked some existing styles.
    • Most of the UI is now unselectable. Specific portions, such as news articles, are still selectable. More portions can be turned back on if there is a need.
    • The account selection styles now conform with the auth account styles on the settings UI.

Alpha v0.0.1-alpha.10

05 Jun 00:12
05fe516
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.10 Pre-release
Pre-release

This update deploys a critical fix for an issue during the initialization of the auto updater. Unfortunately the bug caused the autoupdater to crash on startup. As a result, if you are currently on alpha 9, you will need to reinstall the launcher. Simply download one of the above files and run them.

Fixes

  • 05fe516 Fixed null pointer for the configmanager not being initialized in the main process.

Alpha v0.0.1-alpha.9

04 Jun 23:42
50d85d3
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.9 Pre-release
Pre-release

This alpha builds add an option to enable or disable prerelease updates. This option is only effective on release versions. On all prereleases, this option will be ignored and automatically set to true. This value is configurable on the UI under launcher settings.

New Features

  • 50d85d3 Added option to enable or disable prerelease updates.
  • 50d85d3 Implemented launcher tab on the settings UI. Currently the prerelease option is the only launcher setting.

New Dependencies

  • 50d85d3 semver@5.5.0 Added to test for prerelease components while toggling the allowPrerelease option.

Alpha v0.0.1-alpha.8

04 Jun 20:47
790a3e0
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.8 Pre-release
Pre-release

Alpha Update 8

This alpha build mainly focuses on backend improvements. The file system structure for asset storage has underwent a significant overhaul. Previously we used a single instance directory in order to reuse shared files between configurations. Unfortunately, this system had issues.

  • Forge mod configurations are not stored per version. This resulted in those files being overriden whenever a different version of the mod in question was loaded.
  • Resource packs are not stored per version. As a result, the resource pack would be redownloaded when switching servers.
  • Users could not store version-safe mods in the mods directory. If the server was switched, the mods would also need to be switched.

This issue has been resolved. In addition, all of the optimizations that come along with a single instance directory have been preserved. Common files such as assets, libraries, mods, and version meta are now stored in a common folder. These values are dynamically added to the classpath at runtime. All specified file types are now stored inside of an instance folder unique to each server configuration. The instance folder contains all of the configuration specific files. These include saves, screenshots, resource packs, and the classic mods folder.

For alpha users upgrading to this version

  • The nature of this change means that the files will need to be redownloaded. The launcher will automatically handle this.
  • If you had previously stored custom mods inside of the mods folder (such as liteloader, macromod, etc), you will need to install those mods once more inside of the new instance folder. For production, this should simply be .westeroscraft/instances/WesterosCraft-1.11.2/mods. If you do not see this folder, launch the game once and it will be created.
  • The old files will be stored at .westeroscraft/game. Feel free to save any files you wish to keep (screenshots) or delete this folder. It is now obsolete.

New Features

  • 790a3e0 The Minecraft settings tab has been implemented.
  • 0cc861f File system structure has been overhauled. Full information above.

Dependency Upgrades

  • 97e9c15 discord-rpc@3.0.0-beta.11 Allows us to replace our workaround rpc fix with an official API solution.

Alpha v0.0.1-alpha.7

31 May 03:42
74a60a6
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.7 Pre-release
Pre-release

Changelog

  • Fixed discord rpc not shutting down properly (ee55446)
  • Removed some redundancy in the css code (30c258d)
  • Added settings UI groundwork (2dcbb45)
    • 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.
  • Added and implemented the UI for the account management tab. (91c842d)
    • Features:
      • Add a new account.
      • Switch accounts.
      • Log out of an account.
    • Added a cancel button to the login UI which is only shown when a user is adding an account.
  • Finalized account management tab. (74a60a6)
    • Added proper startup handling for when the launcher is started with no saved accounts. The user will be directed to the login UI.
    • If a user tries to log out of the last saved account, they will be prompted with a warning. If they proceed with the log out, they will be redirected to the login UI.
    • Accounts are validated each time they are switched.

Alpha v0.0.1-alpha.6

30 May 02:06
daa6faa
Compare
Choose a tag to compare
Alpha v0.0.1-alpha.6 Pre-release
Pre-release

Please note that when you update to this version, you will need to login to your account again. The UI will prompt you of this. The existing access tokens may be valid, however they are attached to an incorrect client token. As such, they cannot be validated. The issue with the client token has been rectified in this release, so this should be a one time thing.

Changelog

  • Fixes related to offline startup. (a67dac2)
    • 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.
    • Updated async to fix lodash vulnerability.
  • Added settings container layout (not full UI). (e9e2ec1)
  • Fixes related to account validation (daa6faa)
    • 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 (electronbuilder).