Commit Graph

355 Commits

Author SHA1 Message Date
Phil
378f67097c Amending NetscriptDefinitions 2022-01-31 18:15:13 +00:00
Phil
af43e63415 Blanking Prompt value on close 2022-01-30 14:21:46 +00:00
Phil
08d0b4cbae Adding support for text/select options in Prompt command 2022-01-30 14:06:18 +00:00
smolgumball
2add4e9112 Merge branch 'dev' into add-ns-getRecentScripts 2022-01-26 19:07:02 -07:00
Martin Fournier
a47eae8b25 Add function to enable/disable routing
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.
2022-01-26 03:56:19 -05:00
Martin Fournier
855a4e622d Add Electron preload script to allow communication
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.
2022-01-26 03:56:19 -05:00
Martin Fournier
26432082e2 Add an import save comparison page
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.
2022-01-26 03:56:17 -05:00
Martin Fournier
974344545d Move import save functionality into SaveObject
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
2022-01-26 03:42:52 -05:00
hydroflame
2f36fb107f
Merge pull request #2803 from MartinFournier/feat/github-actions
Adds GitHub workflows to fetch a changelog & to bump the app's version
2022-01-26 00:52:06 -05:00
hydroflame
7a5dfd0e72
Merge pull request #2707 from MartinFournier/feature/theme-browser
Add Theme Browser accessible from GameOptions
2022-01-26 00:46:17 -05:00
Martin Fournier
8a2cad6c4a Reset styles for html changelogs in getUpdateText
Adds an optional sxProps to the DialogBox component.
2022-01-25 10:20:36 -05:00
nickofolas
259071e3d5 Align slider endpoints in settings 2022-01-21 16:32:32 -06:00
smolgumball
90e855053d Merge branch 'dev' into add-ns-getRecentScripts 2022-01-21 13:13:18 -07:00
Martin Fournier
a26b9c8dcf Add theme browser page accessible from game options
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
2022-01-20 18:41:49 -05:00
Martin Fournier
a9e2e35446 Move theme related things into its own subfolder
This will make contributions easier and less prone to conflicts.
2022-01-20 18:41:48 -05:00
Olivier Gagnon
77f525c98c rm blob caching 2022-01-20 16:11:48 -05:00
smolgumball
74e2acfa6f Add ns.getRecentScripts() 2022-01-19 00:04:48 -07:00
Olivier Gagnon
53727f6222 typo 2022-01-18 19:20:16 -05:00
nickofolas
eb7a0ebace Use background primary before #000000 for body 2022-01-18 16:15:36 -06:00
hydroflame
c5089ab82a Merge pull request #2664 from MartinFournier/feature/recovery
Add information to the recovery page
2022-01-17 16:05:00 -05:00
hydroflame
1d83247f8d
Merge pull request #2671 from gianfun/fix_ns_tail_behavior
Fix ns.tail() behaviour for multiple calls
2022-01-17 16:01:34 -05:00
Gian P
e38010a9a4 Revert "Logs button reopens log window"
This reverts commit 01efd372e95628d419575ade0e6536a458fd61d2.
2022-01-16 18:21:02 -03:00
Martin Fournier
65964c84b2 Add information to the recovery page
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
2022-01-16 09:07:53 -05:00
Cyn
8d7b71c5aa Prevent dragging log window off screen & reset log window position if resized off screen 2022-01-15 20:52:02 -05:00
SlyCedix
c25067c062 bound log box to parent div 2022-01-15 20:52:02 -05:00
hydroflame
a454e21977
Merge branch 'dev' into feature-catch-errors-and-softreset-recovery 2022-01-15 18:00:33 -05:00
hydroflame
0db08c3477
Merge pull request #2476 from nickofolas/reopen-log-windows
Logs button reopens log window
2022-01-15 17:18:59 -05:00
nickofolas
0359229af6 Grid-align buttons in location UIs (and options) 2022-01-15 10:21:45 -06:00
Olivier Gagnon
5126d72742 rm some stuff from netdef to make it work in-game 2022-01-13 14:26:05 -05:00
Martin Fournier
6633c00f5d Clear timers when unmounting CorruptableText
The interval was cleared, but not the setTimeout to replace the character
2022-01-13 09:34:08 -05:00
hydroflame
d274e21a10
Merge pull request #2596 from MartinFournier/feature/ns-ui-styles
Add ns.ui.[getStyles, setStyles, resetStyles]
2022-01-12 19:18:54 -05:00
Martin Fournier
0a2187bdf5 Revert "Add toPreviousPage in router"
This reverts commit b0bc3236fdcd2c9f6cfb9c540010e9520c2cbe01.
2022-01-12 18:49:53 -05:00
Martin Fournier
9b638b911f Add ns.ui.[getStyles, setStyles, resetStyles]
Adds three Netscript functions to manipulate the user's styles like the
player can with theme.
2022-01-12 18:34:05 -05:00
Martin Fournier
9d0a63734d Add details to work in overview
Add a reusable component for the focus section, add a bit of details &
some styling.
2022-01-11 20:46:34 -05:00
nickofolas
a41104f51a Add tooltips to unfocused work 2022-01-11 17:46:59 -06:00
TheMas3212
562d4ee800 Add ErrorBoundary component to catch rendering error and redirect to recovery page
also add softreset button on recovery page
2022-01-12 09:43:58 +11:00
Martin Fournier
b22eb58aba Add option to exclude running scripts from save 2022-01-11 16:48:00 -05:00
Martin Fournier
b0bc3236fd Add toPreviousPage in router
- 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
2022-01-11 09:38:52 -05:00
Martin Fournier
7ee2612c17 Allow drag on character overview
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
2022-01-10 07:37:01 -05:00
Olivier Gagnon
d8a5f5b03c many fixes 2022-01-09 15:24:32 -05:00
hydroflame
f6bc3b0b5e
Merge pull request #2495 from TheMas3212/fix-2163
Clear input field for CodingContractModal after submission
2022-01-09 13:01:34 -05:00
hydroflame
ee07942d3e
Merge pull request #2500 from MartinFournier/fix/server-list-alphabetical
Sort server list alphabetically
2022-01-09 12:58:54 -05:00
Martin Fournier
0ede6c4295 Add fontFamily & lineHeight settings 2022-01-09 08:40:57 -05:00
Martin Fournier
d6fa672fac Sort server list alphabetically 2022-01-09 05:43:50 -05:00
TheMas3212
5901312184
Clear input field for CodingContractModal after submission 2022-01-09 15:26:36 +11:00
nickofolas
01efd372e9 Logs button reopens log window 2022-01-08 14:31:58 -06:00
hydroflame
20ca1239df
Merge pull request #2229 from FaintSpeaker/update-theme-engine-missing-elements
Update theme engine to cover some themeless elements
2022-01-08 14:13:53 -05:00
hydroflame
8d7bc1755c
Merge pull request #2429 from MartinFournier/fix/export-bonus
Fix export bonus not being applied when using options menu
2022-01-08 12:43:28 -05:00
hydroflame
30f5559bdf
Merge pull request #2441 from Feodoric/fix-duplicate-messages
fix #2174 - icarus message will no longer stack infinitely
2022-01-08 12:42:19 -05:00
Martin Fournier
2b0a248673 Make toasts appear above tail popups 2022-01-08 10:07:35 -05:00
Russell Stringer
1cb65e3f31 fix #2174 - icarus message will no longer stack an unbounded number of alerts
AlertManager now stores a hash for each incoming alert and compares the
hash of any newly arriving alert against those still in the queue.
2022-01-07 15:19:36 -05:00
Martin Fournier
3562671772 Add SaveTimestamp to saveString, used in import 2022-01-07 09:02:35 -05:00
Martin Fournier
46fe8cc94c Change SuppressSaveToast to only work on auto-save
Before this, this setting also suppressed the toast for the manual clicks.
2022-01-05 14:56:28 -05:00
Olivier Gagnon
4860d6dc83 Merge branch 'dev' of github.com:danielyxie/bitburner into dev 2022-01-04 19:09:38 -05:00
Olivier Gagnon
c59a267437 change sf4 2022-01-04 19:09:34 -05:00
nickofolas
c445df4168 Allow notifications to be dismissed by clicking 2022-01-04 16:25:00 -06:00
Martin Fournier
dfabc0ac11 Fix import save issue with large files
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.
2022-01-03 11:02:29 -05:00
hydroflame
cd9fad06d0
Merge pull request #2231 from ErzengelLichtes/use-numeraljs-for-ram
Use numeral.js to format memory, allow use of GiB with an option
2022-01-02 11:43:33 -05:00
hydroflame
1a07399312
Merge pull request #2248 from MartinFournier/feature/confirm-save-import
Add validation & confirm prompt for save import
2022-01-02 11:39:10 -05:00
Martin Fournier
59d8e1f979 Remove alpha from color picker
rgba is not currently supported in the themes, so might as well remove
the option from the picker.
2021-12-31 10:13:53 -05:00
Martin Fournier
2b7464ebb7 Add validation & confirm prompt for save import 2021-12-31 05:32:52 -05:00
ErzengelLichtes
8f3da16ecf Use numeral.js to format memory, allow use of GiB with an option
numeral.js has a formatter for both kilobyte and kibibyte, so why use a custom formatter that only goes up to exabyte?
Also added a setting to allow people who really want to see GiB to enable that, even if it doesn't make sense.
2021-12-29 15:51:59 -08:00
FaintSpeaker
c5284d3b02 Alter the standardSuccess alert to use the successlight color, to be consistent with all other toast notification behaviours. 2021-12-29 13:51:18 -05:00
FaintSpeaker
fbb2f4b9f3 Add success to the palette that's being passed to create theme. Mui was using default colors without this inclusion, causing the success colors in it's snackbar to be the wrong colors. 2021-12-29 13:50:44 -05:00
FaintSpeaker
c619191173 When refreshing the theme, apply the black color to the body background color. 2021-12-29 12:26:40 -05:00
FaintSpeaker
ddbb37c2d1 Add the black property to the theme interfaces, so that it can be used in the project elsewhere. 2021-12-29 12:12:04 -05:00
FaintSpeaker
106b8e13a3 Use the white property to replace the hard-coded "white" in the world map. 2021-12-29 12:07:33 -05:00
FaintSpeaker
b3c5465ac2 Add the white property to the theme interfaces, so that it can be used in the project elsewhere. 2021-12-29 12:00:02 -05:00
hydroflame
3c3f482e7b
Merge pull request #2153 from MartinFournier/fix/sleeves-skill-progress
Fix #2021: Handle sleeves xp in stats overview
2021-12-29 01:54:28 -05:00
hydroflame
8b42703f95
Merge pull request #2199 from theit8514/log-window-improvements
Log window improvements
2021-12-28 10:32:04 -05:00
Jared Jolton
e3a9f9edab
Fix "Terminal capacity" option description typo 2021-12-26 20:21:35 -07:00
theit8514
5607561c50 Add minimize button to log windows 2021-12-26 18:52:14 -05:00
theit8514
169d3e6c77 Add title attribute to log title bar 2021-12-26 17:47:32 -05:00
Martin Fournier
6458440193 Fix #2021: Handle sleeves xp in stats overview 2021-12-23 09:11:08 -05:00
Martin Fournier
f2141dd83d Add community themes from discord 2021-12-22 13:54:04 -05:00
Olivier Gagnon
41593e0dce fix editor not loading 2021-12-21 12:02:06 -05:00
hydroflame
26106fa71d
Merge pull request #2077 from MartinFournier/feature/get-theme
Add ns.ui.getTheme() api function
2021-12-21 10:57:58 -05:00
Olivier Gagnon
41a7109baa fix 2021-12-20 15:48:26 -05:00
Martin Fournier
65d0877edc Add ns.ui.getTheme() api function 2021-12-20 14:37:10 -05:00
Olivier Gagnon
5dc9ac040a toast time config 2021-12-20 13:29:04 -05:00
BuildTools
6dc7dc42c5 resolved merge issue 2021-12-20 01:39:20 -06:00
hydroflame
3ed5aa8045
Merge pull request #2038 from MartinFournier/fix/skill-progress
Fix skills tooltip edge cases
2021-12-19 10:22:43 -05:00
Martin Fournier
05ed3f5461 Fix skills tooltip edge cases 2021-12-19 05:51:35 -05:00
millennIumAMbiguity
a9cf635a84
Improve the readability of text in the theme editor.
Copy the string above if you want to backup or share your theme with others. -> Backup your theme or share it with others by copying the string above.
Use the buttons below to replace the current theme with a pre-built template -> Replace the current theme with a pre-built template using the buttons below.
2021-12-19 11:14:16 +01:00
hydroflame
3a21beb708
Merge pull request #2003 from MartinFournier/feature/predetermined-themes
Add easily switchable predefined themes
2021-12-19 00:40:59 -05:00
Olivier Gagnon
555216a39b Add confirmation to installing 2021-12-18 18:13:49 -05:00
Martin Fournier
db64d9869c Add easily switchable predefined themes
Includes the default theme and a Monokai-ish variant
2021-12-18 16:28:15 -05:00
Olivier Gagnon
02605090df v1.2.0 2021-12-18 16:28:09 -05:00
hydroflame
b739d60490
Merge pull request #1979 from MartinFournier/feature/skill-progress-bars
Fix #1889: Add skill progress to overview
2021-12-18 14:44:18 -05:00
Martin Fournier
733f04c343 Add an option to suppress the 'Saved Game' toast 2021-12-18 08:01:15 -05:00
Martin Fournier
84c77c1d2c Fix #1889: Add skill progress to overview
Adds a progress bar for each stat to show how close to level up you are.
2021-12-17 12:44:18 -05:00
Martin Fournier
da0cc6d8f1 Fix #1974: Change default input to deferred
The value does not change automatically now, there's a "Set" button in
the popup to trigger the onColorChange event.
2021-12-17 11:00:00 -05:00
Olivier Gagnon
d195b00ab6 Added option to suppress TIX limit/stop orders 2021-12-08 20:21:44 -05:00
Olivier Gagnon
d01d75606a few bugfix 2021-12-08 17:39:01 -05:00
Olivier Gagnon
133d80749d add bn14 location 2021-12-04 23:47:53 -05:00
Olivier Gagnon
a845c5ac8f rm tail bound 2021-12-04 18:58:26 -05:00
Olivier Gagnon
d4ebc46a19 merge dev 2021-12-03 15:35:45 -05:00
Olivier Gagnon
798c9867a7 logbox cant go outside body 2021-12-03 15:31:25 -05:00
Olivier Gagnon
49a545f00e many bugfix 2021-12-03 14:12:32 -05:00
Olivier Gagnon
7ee5d8d71a more achievements 2021-11-28 23:51:01 -05:00