Commit Graph

107 Commits

Author SHA1 Message Date
Snarling
6732549196
ENUMS: Initial Enum Helper rework + Reorganization (#596) 2023-06-12 00:34:20 -04:00
Aleksei Bezrodnov
99954ebd1e
REFACTORING: ScriptEditor (#560) 2023-06-03 13:55:25 -04:00
Snarling
ebae35b1fb
CODEBASE: Expand lint rules, and Aliases are stored as maps (#501) 2023-05-05 03:55:59 -04:00
David Walker
aa7facd4ba
NETSCRIPT: Greatly speed up script launching, and remove the limitation unique args per script (#440)
* Remove the limitation unique args per script
* Internal changes to how runningScripts are stored on the server, to make common usage faster.
2023-04-27 18:21:06 -04:00
Snarling
e0272ad4af
FILES: Path rework & typesafety (#479)
* Added new types for various file paths, all in the Paths folder.
* TypeSafety and other helper functions related to these types
* Added basic globbing support with * and ?. Currently only implemented for Script/Text, on nano and download terminal commands
* Enforcing the new types throughout the codebase, plus whatever rewrites happened along the way
* Server.textFiles is now a map
* TextFile no longer uses a fn property, now it is filename
* Added a shared ContentFile interface for shared functionality between TextFile and Script.
* related to ContentFile change above, the player is now allowed to move a text file to a script file and vice versa.
* File paths no longer conditionally start with slashes, and all directory names other than root have ending slashes. The player is still able to provide paths starting with / but this now indicates that the player is specifying an absolute path instead of one relative to root.
* Singularized the MessageFilename and LiteratureName enums
* Because they now only accept correct types, server.writeToXFile functions now always succeed (the only reasons they could fail before were invalid filepath).
* Fix several issues with tab completion, which included pretty much a complete rewrite
* Changed the autocomplete display options so there's less chance it clips outside the display area.
* Turned CompletedProgramName into an enum.
* Got rid of programsMetadata, and programs and DarkWebItems are now initialized immediately instead of relying on initializers called from the engine.
* For any executable (program, cct, or script file) pathing can be used directly to execute without using the run command (previously the command had to start with ./ and it wasn't actually using pathing).
2023-04-24 10:26:57 -04:00
Snarling
6a6043c509
CODEBASE: Add custom useRerender hook (#359) 2023-02-11 13:22:55 -05:00
Snarling
dc0de2498b
Fix mathjax error (#287)
* Updated mathjax and better-react-mathjax
* Removed MathJaxWrapper. Per better-react-mathjax documentation, we were incorrectly including a new context for every equation using this wrapper.
* Wrapped entire game in a MathJaxContext at GameRoot.
2023-01-03 07:38:14 -05:00
Snarling
fb1f95c26e
VARIOUS: Various changes prior to release 2.2 (#271)
See PR #271 description
2022-12-29 20:28:53 -05:00
David Walker
149d687fd6
UI: Memoize character overview (#247) 2022-12-21 18:27:51 -05:00
David Walker
8d793ea271
Internal refactoring of Router (#241) 2022-12-04 03:14:06 -05:00
Snarling
65cd14e33b
DOC: Add ns documentation for possible sleeve tasks (#217)
* Add specific types for sleeve tasks
* Moved LocationName enum to overall enums file
* Add LocationName enum to those provided to player
* remove trailing s on CompanyPosNames enum (now CompanyPosName, in line with LocationName)
* Also regenerated all ns documentation. This leads to an expected error when checking for generated files, because PRs should not normally touch markdown files. Also leads to a lint failure in generated file bitburner.d.ts
* also removed some exporting from NetscriptDefinitions.d.ts for anything that wasn't imported somewhere else.
2022-11-20 12:07:22 -05:00
Olivier Gagnon
cbb7f58231 Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
Snarling
c9ee938bc6 fix previous commit 2022-09-27 15:35:40 -04:00
Snarling
a21b1029d7 No more player/router context 2022-09-27 15:35:40 -04:00
Snarling
83d357e758 commit1 2022-09-27 15:35:40 -04:00
Snarling
572c68738f Unify error handling 2022-09-27 15:34:47 -04:00
hydroflame
46f5640dcd
Merge pull request #3976 from Snarling/ScriptEditorResponsiveness
UI: FIX #3975, #3882 Script Editor more responsive on resize, and fix dirty file indicator
2022-08-23 12:12:21 -03:00
Snarling
5466ab3f69 format+lint 2022-08-20 19:16:11 -04:00
Snarling
7578860ce7 remove more prop chaining 2022-08-20 19:14:54 -04:00
Snarling
0f15431b5f remove unused eventEmitterForUiReset 2022-08-20 19:08:05 -04:00
Snarling
97961d6896 Reduce prop chaining 2022-08-20 18:52:18 -04:00
Snarling
9d5cf89f68 Remove prop chain for cancelOrder + format 2022-08-20 18:40:21 -04:00
Snarling
fd3ff76976 Improve ScriptEditor responsiveness 2022-08-16 02:32:25 -04:00
Olivier Gagnon
e6d14eff68 preparation for v2 launch 2022-07-26 15:09:11 -04:00
Olivier Gagnon
d01fd55bde lint fmt 2022-07-21 01:58:47 -04:00
Olivier Gagnon
bb8af88b77 prep v2 2022-07-19 14:21:12 -04:00
Olivier Gagnon
4bee746576 rm any 2022-07-15 01:51:30 -04:00
Olivier Gagnon
fac6633347 remove so many fields and values used by the old system 2022-07-12 23:13:40 -04:00
Olivier Gagnon
f7805c4a51 convert faction work to new work system 2022-07-12 01:54:19 -04:00
Olivier Gagnon
606f1bf6c4 create program and grafting done 2022-07-10 01:37:36 -04:00
Olivier Gagnon
3ee7d593d0 Convert crime to new work model 2022-07-07 02:00:23 -04:00
nickofolas
9db90709fd Bulk of design overhaul 2022-04-17 12:51:14 -05:00
hydroflame
3f4d00a8c2
Merge pull request #3350 from phyzical/bugfix/3348
Fix for install augmentation stale objects bug
2022-04-11 20:05:46 -04:00
phyzical
909e5e964f add call to missing stock market init when using the api 2022-04-10 18:19:45 +08:00
Olivier Gagnon
a2dddb0e5a Fix soft reset not installing augs anymore 2022-04-08 00:28:37 -04:00
phyzical
dfe9e98c77 move route to terminal to the inside of the common fucntion
* tested without bandaid still works correctly
* fix default script with installAugmentations
2022-04-04 18:29:43 +08:00
Olivier Gagnon
384cfb0044 Added apr1 2022-03-31 12:04:06 -04:00
nickofolas
919f8480dd Grafting UI framework 2022-03-18 23:22:21 -05:00
Olivier Gagnon
30776e5aca added arcade 2022-03-11 15:19:10 -05:00
hydroflame
1ed27bb88a
Merge pull request #3104 from MartinFournier/fix/bladeburner-early-routing
Attempt to fix `bladeburner.process()` early routing issue
2022-03-10 22:10:06 -05:00
nickofolas
e39817cb57 Very slightly adjust router.toFaction
- Faction argument is now required
- Added augPage argument
2022-03-10 18:37:57 -06:00
Martin Fournier
6588bbb8b1 Attempt to fix bladeburner.process() issue
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.
2022-03-09 15:44:19 -05:00
BB
2c3e0985c4 Simplified some relative imports 2022-03-06 05:05:55 +01: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
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
hydroflame
3654a238ae
Merge pull request #2726 from SagePtr/recheck-achievements
Force achievements recalculation on bitnode completion
2022-01-26 00:50:06 -05: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
SagePtr
32ba81883f Force achievements recalculation on bitnode completion 2022-01-21 00:04:47 +02:00
Martin Fournier
f9daf5df64 Keep the sidebar opened or closed on reload
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.
2022-01-16 17:00:06 -05:00
Olivier Gagnon
d5c3d89613 fix bug 2022-01-15 18:13:35 -05:00