Commit Graph

4831 Commits

Author SHA1 Message Date
phyzical
e8954bc1ee added basic type check to tryWritePort 2022-02-07 22:14:48 +08:00
phyzical
6ed5a445a8 added check for NS interface with user defined guard 2022-02-07 21:56:04 +08:00
hydroflame
9ddb1c4379
Merge pull request #2863 from SagePtr/can-run-scripts
Show "Can run scripts" to "NO" for zero-RAM servers in "analyze" command
2022-01-29 11:27:05 -05:00
SagePtr
40f2d16f44 Show "Can run scripts" to "NO" for zero-RAM servers in "analyze" command 2022-01-29 18:10:59 +02:00
hydroflame
9294ff3e9e
Merge pull request #2857 from MatthewTh0/patch-1
Spelling fixes in comments
2022-01-28 16:32:56 -05:00
Matthew Thornton
48d4f698c2
Spelling fixes in comments
This just fixes some misspelling in the comments, doesn't change any code or variables.
2022-01-28 14:57:52 -06:00
hydroflame
097e808193
Merge pull request #2856 from zeddrak/patch-7
Fix for Dev not building
2022-01-28 13:13:14 -05:00
zeddrak
3e9728f4c4
more fix
really can't count...
2022-01-28 10:08:20 -08:00
zeddrak
db2369a669
more fix
can't count...
2022-01-28 10:03:40 -08:00
zeddrak
33ed170e29
more fix
two missing ( is better than one...
2022-01-28 10:00:28 -08:00
zeddrak
dc8b051bde
Fix for Dev not building
It's the little things, like a missing "(", that make programmers happy all day long... >.<
2022-01-28 09:54:35 -08:00
hydroflame
47c2f9762c
Merge pull request #2850 from HeinousTugboat/htugboat/replace-stanek-anys
Replaces anys in Stanek with unknown
2022-01-28 00:19:12 -05:00
hydroflame
77b9787fba
Merge pull request #2846 from zeddrak/patch-5
Make crimes detection a little more friendly
2022-01-27 20:52:03 -05:00
hydroflame
a4b8a9ffd5
Update CrimeHelpers.ts 2022-01-27 20:51:48 -05:00
Heinous Tugboat
c7a3ac216f Replaces anys in Stanek with unknown 2022-01-27 20:48:37 -05:00
Olivier Gagnon
01680ca584 fix build 2022-01-27 20:44:50 -05:00
Olivier Gagnon
95e67f954b build 2022-01-27 20:24:43 -05:00
zeddrak
09da6ac63f
Make crimes detection a little more friendly
Initially just wanted to change "traffick" to "traffic" (as that supports both the American and British spelling), but then noticed there were a couple of other ones that could be made slightly less restrictive to improve detection. All changes make detection LESS RESTRICTIVE for the player (ie, they have more ways to provide the parameter), none are MORE RESTRICTIVE (ie, won't break any existing code, etc.

Anything that worked before will still work, but now a few things that may not have worked before - like "traffic arms" (without the k), "illegal arms", and "assassin" will work. (Also allowed for the common misspelling of "forgary")
2022-01-27 11:36:06 -08:00
hydroflame
463af6cbf2
Merge pull request #2819 from MartinFournier/chore/rm-intermediary-doc
Remove intermediary doc input file
2022-01-26 12:58:10 -05:00
hydroflame
e392e6d71f
Merge pull request #2780 from MartinFournier/feat/electron-store-winposition
Store Electron window position in user settings
2022-01-26 12:57:09 -05:00
hydroflame
b04c23bdd1
Merge pull request #2821 from MartinFournier/chore/npm-deps-audit
Run `npm audit fix` to resolve vulnerabilities
2022-01-26 12:56:59 -05:00
hydroflame
cef0f30993
Merge pull request #2820 from MartinFournier/chore/declutter
Declutter repository root
2022-01-26 12:56:37 -05:00
hydroflame
8c9be1667f
Merge pull request #2825 from MartinFournier/chore/move-bundle
Move main bundle output to ./dist subfolder
2022-01-26 12:56:25 -05:00
hydroflame
26d5e4dae0
Merge pull request #2781 from MartinFournier/feat/steam-saves
Add Steam Cloud saves & filesystem saves to Electron
2022-01-26 12:56:16 -05:00
Martin Fournier
70eef25d63 Rebuild the app using the new webpack config 2022-01-26 06:11:32 -05:00
Martin Fournier
069b7831d1 Move main bundle output to ./dist subfolder
Excludes the index.html so that the github page can still work as is.

This will declutter the root of the repo a fair bit.
2022-01-26 06:11:32 -05:00
Martin Fournier
412ef543c8 Run npm audit fix to resolve vulnerabilities
It did not resolve all of the vulns as some are gated behind breaking
changes. Most of them seem to be resolved when updating to webpack 5

Also moves devDependencies out of normal dependencies, as a few libs
were better suited for dev.
2022-01-26 05:47:27 -05:00
Martin Fournier
8e119b2b5b Move cypress & netscript tests to ./test subfolder 2022-01-26 05:35:21 -05:00
Martin Fournier
f943e55e86 Move engines-check to ./tools subfolder 2022-01-26 05:35:21 -05:00
Martin Fournier
a53e0c09af Move steam files to ./assets/Steam subfolder 2022-01-26 05:35:21 -05:00
Martin Fournier
bf6366cef4 Move markdown doc & quotes to ./docs subfolder 2022-01-26 05:35:21 -05:00
Martin Fournier
914c0f44c4 Remove intermediary doc input file 2022-01-26 05:18:58 -05: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
d386528627 Add support for Steam Cloud & local filesystem
Adds actions to save the game's data directly in the filesystem and/or
into Steam Cloud. Them game will push an event with the save data
whenever the game is saved. Electron will use that data to persist it
into the User Data folder, until the folder reaches a certain size.
Once over the quota, it's going to remove previous saves.

Files are grouped according the the player's identifier, ensuring
backups off different playthroughs if importing.

Optionally, the file will be gzipped before saving to disk, largely
reducing file size.

Adds a way to save & load from Steam Cloud, currently manually only.

When loading a save, it'll trigger the new "Import Data Comparison" page
to accept or cancel the import.

When saving the game, it will save to Steam Cloud & to filesystem if the
options are enabled.

Add automatic game restore

Detects when the player has access to a newer game that has been saved
more recently than the one being loaded. It checks both in the Steam
Cloud and on the local filesystem. Adds an option to disable the
feature.

- Adds a "Save Game" menu item that triggers the game's save.
- Adds a "Export Game" menu item that triggers the download file popup.
- Adds a "Export Scripts" menu item that triggers the "download *"
terminal command.
- Adds a "Load Last Save" menu item that loads the latest file modified
in the user data folder.
- Adds a "Load from Steam Cloud" menu item.
- Adds a "Load From File" menu item that popups a file selector & loads
the file.
- Adds settings for "Saves Compression (.gz)", "Auto-save Backups" &
"Auto-save to Steam", toggleable through the menu.
- Adds a "Open Game Data","Open Saves", "Open Logs" & "Open User Data" menu items.
- Adds a "Quit" menu item.
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
Martin Fournier
588c3e42d7 Refactor download.ts (export "download *" command)
Export the "download *" helper to be able to be called from Electron.
2022-01-26 03:40:22 -05:00
Martin Fournier
5c1504d7e4 Include lodash in Electron
Will be used to debounce function calls. Is a prerequisite for a few
other fixes.
2022-01-26 03:40:22 -05:00
Martin Fournier
ca5f51b7f0 Keep Electron window position in settings
This allows the app to be kept at the same location it was previously.
2022-01-26 03:39:50 -05:00
Martin Fournier
dc2f00057a Include lodash in Electron
Will be used to debounce function calls. Is a prerequisite for a few
other fixes.
2022-01-26 03:38:22 -05:00
Olivier Gagnon
022dd5d7d7 fix compile error 2022-01-26 00:58:02 -05:00
hydroflame
d27bac9be6
Merge pull request #2716 from lordducky/enhance-api-server
Enhance api server
2022-01-26 00:53:17 -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
9fa706073f
Merge pull request #2745 from jamie-mac/fix/roulette-result
Fix incorrect result being detected on the roulette table
2022-01-26 00:51:03 -05:00
hydroflame
1a34d5e363
Merge pull request #2703 from lethern/patch-1
purchaseServer error message fix + small docs change
2022-01-26 00:50:42 -05:00
hydroflame
a05ecc76c2
Merge pull request #2727 from nickofolas/feature/editor-tab-actions
Script Editor Tab Actions
2022-01-26 00:50:23 -05:00
hydroflame
3654a238ae
Merge pull request #2726 from SagePtr/recheck-achievements
Force achievements recalculation on bitnode completion
2022-01-26 00:50:06 -05:00
hydroflame
6e33417399
Merge pull request #2736 from MartinFournier/feature/sleeve-bonus-time
Display bonus time in sleeve detailed stats panel
2022-01-26 00:49:20 -05:00
hydroflame
ae2c6a4c7c
Merge pull request #2737 from pd/crimestats-name
NetscriptDefinitions: Fix type of CrimeStats.name
2022-01-26 00:49:04 -05:00