For a certain user, it appears that the engine attempts to route to the
bitverse screen before the router is properly initialized. I could not
reproduce the problem on my side and we were not able to extract his
save game, so this is a blind shot if it'll work or not.
Wraps the toX() functions of the Router to add a check to only run the
function when it is allowed.
The check is used in the import page to prevent user scripts from
redirecting away to a crime or something else.
Adds a channel to communicate between the main process & the renderer
process, so that the game can easily ship data back to the main process.
It uses the Electron contextBridge & ipcRenderer/ipcMain.
Connects those events to various save functions. Adds triggered events
on game save, game load, and imported game. Adds way for the Electron
app to ask for certain actions or data.
Hook handlers to disable automatic restore
Allows to temporarily disable restore when the game just did an import
or deleted a save game. Prevents looping screens.
This adds a new page reachable from the import save file
options menu. It shows the difference between the current save
and the data that is being imported, for confirmation.
Includes an "automatic" variant, which has different wording for when
Electron decides it has access to a newer version of the game.
While in this screen, the autosave is disabled.
This also adds a new BypassWrapper component around the game's tree.
It allows for content to be displayed without rendering the nested
pages (import, recovery). This prevents player scripts from messing
with the screen.
Adds a lot of metadata to be able to easily compare the new save to the
current player.
- Adds lastSaved & identifier to the PlayerObject
- Includes a hash method used to generate an identifier
Removed the themes buttons that were in the ThemeEditorModal and only
left a "Revert to Default" button along with a link to the ThemeBrowser
page.
Split off the buttons into reusable components since they are now used
in two pages.
Display the themes in big cards with a zoomable screenshot. Applying the
theme now shows a toast with an option to undo the action.
The snackbar now allows ReactNode instead of only strings.
- Add link with details on how to create a new theme in the game.
- Add link to the theme-sharing discord channel.
- Add icons to the theme & style buttons in GameOptions
- Add "Theme Editor" button to ThemeBrowser
- Add "Style Editor" button to ThemeBrowser
- Move Styles related files into Themes folder
- Includes a modal that shows a bigger version of the screenshot.
- Change Snackbar to allow for ReactNode as the message
Previously, going to a full-width page and heading back to the terminal would default the sidebar to its opened state regardless of what it was before.
Now it stores it in the GameRoot's state and also in the Settings so
that it persists over reloads.
Adds error & environment information to the recovery page when
available. The info will be displayed when the error boundary catches an error only.
Otherwise, does a few minor tweaks to the UI of the page.
- Add DevPage button to throw an uncaught error to go into recovery
- Add "Delete Save" button in recovery from Game Options (refactored into its own
component)
- Use "Soft Reset" button from Game Options (refactored into its own
component)
- The "Soft Reset" & "Delete Save" buttons now have confirmations
- Add tooltip on "Disable Recovery Mode" button
- Add timestamp to the RECOVERY.json filename
- Add textarea containing markdown with the current error details, if
available
- Error
- Page
- Version
- Environment
- Platform
- UserAgent
- Features
- Source
- Stack Trace
- Change GitHub new issue link to contain default body & title, if possible
- Change links to not take the full width (they were clickable by mistake)
- Fix "Disable Recovery Mode" not resetting the ErrorBoundary's state,
making going back to terminal impossible
- Allows the WorkInProgress cancel & unfocus to go back to the previous
page instead of a default one.
- Change layout of overview buttons
- Add a back button in the overview, only visible in pages with a
sidebar
- Clear the history on augmentation install & on prestige
Makes the character overview (and tutorial) draggable, persisting the
{x, y, opened} in the user's settings.
- Remove margin & padding from html, body and ensure main content is
full height
- Add setting to disable progress bars
- Refactor options to use new OptionSwitch
- Add exclusions to prettierignore
- Specify line ending in prettier & gitattributes
- Add a script to generate achievement data from Steamworks API
- Add achievements page with a link in sidebar
- Calculate achievements (1/min) with an engine counter
- Store achievements with a timestamp on unlocked in the PlayerObject
- Add a script to generate monochrome icons from Steam icons
- Add toast when unlocking an achievement
The base64 regex was throwing a maximum stack size exceeded error with
large files.
The whole check was a bit redundant since we already try to parse the
file from base64 just below.