Commit Graph

8443 Commits

Author SHA1 Message Date
Tom Prince
2f95d21503
UI: Sync UI updates to game updates. (#1512)
There are a bunch of React components that update at the same rate
that the game engine processes cycles. Rather than have each place
that does so start its own timer to update that often, add a new
react hook that triggers an update shortly after the engine completes
a cycle.
2024-08-01 23:57:43 -07:00
catloversg
6483b5e7fe
BUGFIX: Crash when accessing nonexist files with file protocol (#1529) 2024-08-01 23:09:49 -07:00
catloversg
06677a1306
MISC: Refactor Person.ts and Sleeve.ts (#1532) 2024-08-01 22:59:41 -07:00
catloversg
d4b73531f5
DOCUMENTATION: Remove unmaintained VS Code extension (#1531) 2024-08-01 22:45:47 -07:00
catloversg
9308301b12
UI: Fix misleading favor numbers (#1530) 2024-08-01 22:44:03 -07:00
catloversg
bcb4a3835b
BLADEBURNER: Allow upgrading skill level over max safe integer (#1509) 2024-07-31 12:48:09 -07:00
Michael Taylor
0ceb478e32
DOC: Typo in ns2 migration doc (#1528) 2024-07-31 12:41:54 -07:00
mmjr-x
4d57d636af
INFILTRATION: Minesweepergame minor bugfix, made rounding behavior for height, width and mine count consistent (#1526) 2024-07-30 15:23:55 -07:00
TheAimMan
6cae65fc0d
BUGFIX: Cap Gang recruit member calculation (#1523) 2024-07-27 15:44:00 -07:00
gmcew
ad5e2b0fe5
CONTRACT: Remove " "s from .getDescription() result (#1525) 2024-07-27 15:42:28 -07:00
TheAimMan
d4f3cf7d81
BUGFIX: Stop current work when starting a program with Singularity (#1521) 2024-07-26 15:05:27 -07:00
Tom Prince
dd5fcc077a
MISC: Add some more types to webpack.config.js. (#1511)
Also fix some errors detected when turning on checking for it.
2024-07-26 02:17:59 -07:00
Tom Prince
1e6e635ae3
BUGFIX: Correctly show remaining grafting/programming time left when cycles are skipped. (#1510) 2024-07-26 02:05:29 -07:00
Tom Prince
c3dc275d34
MISC: Show values of constants in type hints. (#1515) 2024-07-26 01:56:09 -07:00
Tom Prince
02538d6953
EDITOR: Enable strict typechecking of typescript. (#1493)
* EDITOR: Tweak typescript language server configuration to match use.

- We allow importing files with `.ts`/`.tsx` extensions.
- We use an file-at-a-time transpiler, so we don't support features
  that require understanding the full type system.
- We use the classic `React.createElement` transform.
2024-07-23 21:28:05 -07:00
Tom Prince
854c1a5921
MISC: Remove unsed attribues of internal ScriptDeath. (#1513) 2024-07-23 17:50:51 -07:00
robofinch
42bcfa1889
BUGFIX: Prevent runtime NotAllowedError on Safari (#1507)
Could occur when the browser’s window is resized.
2024-07-20 01:16:02 -07:00
David Walker
4502fd443e
BUGFIX: Don't spin forever if IDB can't be loaded (#1500)
Our IndexDB handling did not have very good error handling. It wasn't
reporting the actual errors that occured, nor was it using actual Error
objects. In some cases it also had overly convoluted Promise use, and it
didn't need to be .tsx either.

The biggest issue was that if any problem occured during the main
load(), this would end up as an unhandled rejection and so it would only
be logged to the console. This extends the previous catch to also cover
this, so that the recovery screen is activated.
2024-07-19 19:27:04 -07:00
ngcthao
b73816f9db
DOC: Update README.md (#1503) 2024-07-19 17:41:59 -07:00
Tom Prince
d1f190c894
BUGFIX: Fix mathjax path on dev server. (#1501) 2024-07-19 17:13:42 -07:00
Tom Prince
dc93d166f0
BUGFIX: Use mathjax from npm, rather than vendored copy. (#1491) 2024-07-18 16:27:01 -07:00
catloversg
ceaf27714b
MISC: Remove testing code in ScriptTransformer (#1499) 2024-07-17 23:23:18 -07:00
Tom Prince
ea83138722
MISC: Add a type annotation to webpack configuration function. (#1497) 2024-07-17 16:08:32 -07:00
catloversg
cea0afe1f4
EDITOR: Follow-up of #1470 (Editor outline) (#1498) 2024-07-17 15:18:10 -07:00
David Walker
abe7a43eec
MISC: Always include stack trace in Recovery Mode (#1487)
We are getting some more error reports coming in that don't have enough
info in them. It turns out that populating the stack trace was gated
behind the dev flag; in reality, production builds are where we need it
most. Even if it ends up being obfuscated (source maps should prevent
this), we can figure out the actual source lines with enough effort if
need be.

This also changes to using the actual stack trace, rather than the
"component" trace (the tree of JSX objects), since knowing where the
code failed is far more valuable. Also, it ensures we get the full error
details when things go wrong in savefile loading.
2024-07-14 22:51:18 -07:00
catloversg
864613c616
MISC: Support JSX, TS, TSX script files (#1216) 2024-07-14 14:47:10 -07:00
catloversg
783120c886
FEATURE: BitNode options (#1411) 2024-07-14 14:30:30 -07:00
catloversg
0e1e8a9862
MISC: Disable rumor of Bladeburners in BN8 (#1484) 2024-07-14 14:20:10 -07:00
catloversg
8d39c7d9fc
UI: Only show relevant changes in "Purchased Augmentations" table (#1476) 2024-07-08 11:07:19 -07:00
David Walker
06553d9700
BUGFIX: Fix "Router called before initialization" race (#1474)
If the game takes long enough to load, certain counters can become
eligible to run as soon as Engine.start() runs. When this happens,
eventually Router.page() is called, which throws an Error since Router
isn't initialized yet. (Dropping a breakpoint before Engine.start() and
waiting at least 30 seconds is enough to reliably repro, but I have seen
this both live and in tests.)

This fixes it so that Router.page() is valid immediately, returning a
value of Page.LoadingScreen. It also removes the isInitialized field,
since this is now redundant. Trying to switch pages is still an error,
but that doesn't happen without user input, whereas checking the current
page is quite common.

This also consolidates a check for "should we show toasts" behind a
function in Router, making the logic central and equal for a few
usecases. This means (for instance) that the "autosave is disabled"
logic won't run during infiltration. (The toast should have already been
suppressed.)
2024-07-07 22:13:37 -07:00
catloversg
2b6ec5cd33
BLADEBURNER: Fix wrong behavior of ns.bladeburner.getSkillUpgradeCost (#1471) 2024-07-07 14:49:23 -07:00
jazzybones-www
1613eb38ed
BUGFIX: fix a typo in the hamming code problem statement (#1472) 2024-07-07 14:41:22 -07:00
catloversg
8f0ea7c8c4
EDITOR: Work around bug in monaco-editor (#1470) 2024-07-07 14:38:22 -07:00
catloversg
b7a996718b
UI: Tweak Hacknet summary (#1466) 2024-07-07 14:33:49 -07:00
Tom Prince
c4adbfc0ad
EDITOR: Update monaco-editor to 0.50.0. (#1468) 2024-07-07 00:11:30 -07:00
Tom Prince
b277975656
EDITOR: Provide type definitions for React and ReactDOM in in-game editor. (#1458)
* Fix the type declaration of `!!raw-loader!` modules.

Instead of declaring them to export an object with a single key
`default` which is a string, the modules have a default export, which
is a string.

Note, that this doesn't actually change the generated code, just the
types that typescript sees. The code worked before because the only
thing done to the values was to coerce the values to a string, which
turned into a no-op.

* Switch from using `raw-loader` to using a source asset module.

`raw-loader` was deprecated in webpack v5.
2024-07-07 00:08:33 -07:00
catloversg
055b4bd7bc
MISC: Add threshold for warning about system clock (#1463) 2024-07-06 22:24:51 -07:00
catloversg
f18d28fc6e
DOCUMENTATION: Add link to NS API documentation (#1460) 2024-07-06 12:54:56 -07:00
catloversg
8ade4801a9
MISC: Remove redundant type of CONSTANTS (#1464) 2024-07-06 12:52:20 -07:00
David Walker
1f2e69631e
EDITOR: Use ramOverride() to set compiled script RAM (#1446)
To use this, add a line like "ns.ramOverride(2);" as the first statement
in main(). Not only will it take effect at runtime, but it will now
*also* be parsed at compile time, changing the script's static RAM
limit. Since ns.ramOverride is a 0-cost function, the call to it on
startup then becomes a no-op.

This is an often-requested feature, and allows for scripts to set their
usage without it needing to be explicitly mentioned via args or options
when being launched. This also reduces pressure on the static RAM
analysis to be perfect all the time. (But certain limits, such as
"functions names must be unique across namespaces," remain.)

This also adds a tooltip to the RAM calculation, to make this slightly
discoverable.
2024-07-05 17:32:46 -07:00
catloversg
29c54df543
BLADEBURNER: Change formula of skill cost (#1443) 2024-07-05 14:27:28 -07:00
catloversg
02f5c5b727
MISC: Update description of source files (#1461) 2024-07-05 14:17:06 -07:00
Tom Prince
6fb6d38bd9
MISC: Update caniuse-lite to latest version. (#1459)
browserslist complains if caniuse-lite is more than 6 months old. This
updates to the latest version.

Note that there were no changes in supported versions based on this
update.
2024-07-05 14:02:33 -07:00
catloversg
26316c2494
BUGFIX: Fix wrong money source when traveling (#1456) 2024-07-04 14:19:36 -07:00
catloversg
313d6a28b6
MISC: Remove obsolete description of killall (#1453) 2024-07-04 00:03:18 -07:00
Snarling
8ee703760a Start 2.6.3 dev cycle 2024-07-03 19:39:21 -04:00
Snarling
633da38301
RELEASE: 2.6.2 (#1454) v2.6.2 2024-07-03 19:14:45 -04:00
catloversg
3c29757827
CORPORATION: Fix wrong product price calculation (#1451) 2024-07-02 15:11:32 -07:00
catloversg
960fe5aa8b
BUGFIX: Wrong success chance in ns.bladeburner.getActionEstimatedSuccessChance (#1450) 2024-07-02 15:07:56 -07:00
catloversg
922f0bfcc5
BITVERSE: Fix React warning (#1449) 2024-07-01 13:17:30 -07:00