Commit graph

150 commits

Author SHA1 Message Date
aebf318f83 Lots of formula changes
Many tests fail and inverting integrals is basically non-functional because it just chains stuff
Will need to implement integration by parts and/or integration by substitution for that
2023-02-15 20:30:58 -06:00
30aec8a93c Implement conditional formulas 2023-02-15 20:30:16 -06:00
675b30fdd0 Implement step-wise functions 2023-02-15 20:30:13 -06:00
773401069a Made formulas comparable and more efficient 2023-02-15 20:30:10 -06:00
7593fea512 Fix some tests. Boy tests run slow 2023-02-15 20:29:46 -06:00
5f3dd1162d Support variable anywhere in formula 2023-02-15 20:29:05 -06:00
c8283a7043 Formulas implementation (incomplete) 2023-02-15 20:28:44 -06:00
3a4b15bd8f Implemented requirements system 2023-02-15 20:26:40 -06:00
f5a25b2c2d Fix NaN detection
Also removes the proxy around player and cleaned up types
2023-02-15 20:21:26 -06:00
c1a66e6666 Tweak isPersistent typing 2023-02-15 20:13:13 -06:00
5498258700 Don't yell about deleted persistent refs 2022-12-23 11:46:09 -06:00
9b49aedccb Add eslint rule for strict boolean expressions and fix linting issues 2022-12-20 21:33:23 -06:00
beb996803d Made modifiers show small numbers 2022-12-14 21:26:21 -06:00
c40b80f60a Update modifier displays 2022-12-10 02:24:14 -06:00
8e8c71224a Fix total resources increasing on load 2022-12-07 23:01:38 -06:00
36f064ebd7 Cleaned up NonPersistent typing 2022-12-06 08:06:35 -06:00
5fa2e521b2 Fixed resets 2022-12-06 08:06:31 -06:00
4207677944 Fix save data object redundancy
Note: Requires the use of noPersist quite a bit, but the console will tell you when you missed a spot
Also required breaking up events.ts due to cyclical dependencies
2022-12-06 00:22:32 -06:00
ad613d06d4 Fixed fonts causing shifts in Node positions on firefox 2022-08-22 08:52:51 -05:00
21eb5409b4 Added option to exponential modifiers to support low numbers 2022-08-22 08:51:53 -05:00
6323fa0879 Implemented createDismissableNotify 2022-07-27 22:59:03 -05:00
1976628b16 Fixed modifier typing 2022-07-26 19:52:24 -05:00
b397929c62 Made sequential modifiers lazy 2022-07-26 18:17:36 -05:00
1997f70699 Made modifiers lazy 2022-07-26 15:25:31 -05:00
fe865bff9d Add onLoad event 2022-07-21 19:23:50 -05:00
ba47847e39 Fix LayerData typing for handling arrays 2022-07-17 20:21:34 -05:00
8d1234a916 Documented /game 2022-07-15 01:17:01 -05:00
be96fcdd38 Fixed broken links 2022-07-10 03:00:08 -05:00
717f13ebe0 Fix typing errors 2022-07-10 02:20:51 -05:00
db304dea43 Cleaned up docs 2022-07-10 01:07:39 -05:00
21e739070d Documented game/layers.tsx 2022-07-10 00:43:34 -05:00
9828e5ec62 Document all the window augmentations 2022-07-09 22:09:25 -05:00
9370b0ed6f Improved typing for player.layers 2022-06-26 23:44:05 -05:00
ab81a140c9 Make all type-only imports explicit 2022-06-26 19:17:22 -05:00
7fe57798bb Switched from vue-cli-service to vite
Should be thoroughly tested still
Also involved removing operator overloads, which weren't good anyways
2022-06-25 22:34:18 -05:00
6411ee4e34 Replace isPlainObject 2022-06-23 11:31:10 -05:00
d123ed3feb Made resetTime more useful and various setup functions use BaseLayer 2022-05-23 23:34:59 -05:00
2568a8b3a0 Fixed links being in the wrong spot after above elements added/removed 2022-05-23 22:54:50 -05:00
1e6104a349 Fixed additive modifier description using + on negative modifiers 2022-05-23 22:54:40 -05:00
868a77af29 Saving is now always lz-string. saveEncoding renamed to exportEncoding.
exportEncoding only affects exports, and defaults to base64 so it's
obfuscated but doesn't have issues with being pasted in discord
2022-05-10 20:58:13 -05:00
521c0d1ea4 Wrote documentation for feature.ts
Also slightly cleaned up modifiers.tsx due to slightly new comment style
2022-05-10 20:04:08 -05:00
223b1cfcd4 Fix createModifierSection requiring revert and enabled properties 2022-05-10 08:10:56 -05:00
2d9de00424 Make nested player proxies of arrays as well as objects 2022-05-03 01:35:30 -05:00
eb1d394f04 Added periods to modifiers doc comments 2022-05-01 19:24:39 -05:00
b7789563e2 Made modifier constructors have more explicit typing 2022-05-01 19:24:12 -05:00
22f3415069 Fix adding new layers not allowing them to be displayed until refresh 2022-05-01 19:24:03 -05:00
8f7160c725 Add comments for modifiers 2022-05-01 19:23:43 -05:00
8e6fc852d7 Made modifier section's base customizable 2022-04-27 08:20:47 -05:00
cfe378020a Added support for reading/loading from different encodings 2022-04-24 16:59:20 -05:00
8add09841e Make modifiers sections accept DecimalSources for the base 2022-04-23 22:15:04 -05:00
6e53678991 Moved createModifierSection to modifiers.tsx 2022-04-23 22:14:58 -05:00
89861dfbd5 Allowed layer.minWidth to take string values as well 2022-04-23 22:14:42 -05:00
6efd01fc43 Made modifier descriptions use CoercableComponents 2022-04-23 22:14:32 -05:00
4e2095fd51 Implemented modifiers 2022-04-23 22:14:25 -05:00
99cda9f344 Fixed attempting to delete persistent ref when there's no layer being added 2022-04-10 19:26:33 -05:00
64f1b460b0 Added FeatureOptionsFunc to simplify features 2022-04-10 19:26:33 -05:00
5a59aaf4fc Persistence rework
- Removed makePersistent
- Removed Persistent, renamed PersistentRef to Persistent
- createLazyProxy now takes optional base object
  - For use where previously makePersistent would be used
- Added warnings when creating refs outside a layer
- Added warnings when persistent refs aren't included in their layer object
- createLayer now takes id as a parameter rather than an option
2022-04-10 19:26:33 -05:00
bd084e51c5 Fixed issue with dynamically loading layers 2022-04-10 19:26:33 -05:00
572e543ba8 Made all properties in FeatureNode non-optional 2022-03-27 19:23:31 -05:00
da6a47b1da Fixed position of links 2022-03-27 00:46:42 -05:00
5ce8195779 Separated Links into a feature and Context 2022-03-27 00:39:38 -05:00
b60d170657 Made node positions more general purpose 2022-03-27 00:39:35 -05:00
0acfebb412 Implemented Particles feature 2022-03-27 00:39:23 -05:00
496ea34a9b Enabled using the BaseLayer features while creating the layer 2022-03-13 23:06:25 -05:00
1ecab3716e Added gameWon global event 2022-03-11 17:26:39 -06:00
1cf72b4337 Added hotkeys to info modal 2022-03-11 16:38:49 -06:00
e56f34c13c Converted variables that track time to numbers 2022-03-11 15:33:08 -06:00
49474b1518 Changed path aliasing 2022-03-03 21:39:48 -06:00
52a9f51510 Renamed modInfo -> projInfo, mod -> projEntry 2022-03-02 20:12:56 -06:00
12438b67b3 Added some logic to reduce redundancies in player data 2022-02-27 18:07:21 -06:00
690b963afd Created utility function for opening layers as a modal 2022-02-27 17:06:38 -06:00
5beecba267 Have features register settings fields dynamically 2022-02-27 16:41:39 -06:00
a81040d6a2 Moved persistence related code to its own file 2022-02-27 16:18:13 -06:00
e2126472b2 Fixed runtime issues with vue
Entire demo tree has been tested and is fully functional,
including all the options and save manager functionality
2022-02-27 13:49:34 -06:00
067ba6ce90 Make layers lazy instantiate 2022-01-27 22:47:26 -06:00
90e49e196f Fixing more issues 2022-01-24 22:25:34 -06:00
15a460bf42 Fixing building / cleanup 2022-01-24 22:23:30 -06:00
6f781b33fa New layer API WIP 2022-01-13 22:25:47 -06:00
54cfb28bd6 Made it so by default, challenges can't be entered when complete 2021-09-19 11:28:44 -05:00
7c0f93b7ad Renamed grid data -> state 2021-09-19 10:40:18 -05:00
2eeb96a66f Added unthrottled setting 2021-09-05 19:13:56 -05:00
eaf47bb946 Moved properties from player data to new settings and state objects 2021-09-05 18:53:04 -05:00
d0bb9c1e99 Fixed several issues with Microtabs 2021-09-05 13:18:17 -05:00
9a01a2931b Fixed issue with demo layer working incorrectly 2021-09-04 20:59:02 -05:00
433795e52e Fixed subtab buttons not showing as selected 2021-09-04 17:37:46 -05:00
4869f042a9 Fixed issues with input fields in Saves Manager 2021-09-04 17:15:48 -05:00
72e73db048 Fixed things happening on save load 2021-08-28 11:35:25 -05:00
9313748f21 Added develop action 2021-08-26 23:47:53 -05:00
7618ee291a Implemented confirmable actions (plus logs and other related features) 2021-08-22 22:57:59 -05:00
11df9853d0 Implemented selecting nodes and running immediate actions 2021-08-22 01:50:03 -05:00
b43f3003b5 Added diamond shaped nodes 2021-08-20 23:21:29 -05:00
0ced1d7cd7 Added update() method to nodes 2021-08-20 22:07:34 -05:00
fbe4f7883f Fixed starting nodes returning on refresh after being removed 2021-08-20 21:42:11 -05:00
02443bbb0c Implemented dropping nodes into each other
Also improved node z-ordering and other related things
2021-08-20 00:47:56 -05:00
d47ce3525d Implemented most of the basic features for new Board component 2021-08-19 00:25:49 -05:00
c8651adb6b cleaned up setupFeatures 2021-08-18 00:18:23 -05:00
6e1536930e Made setupFeatures use more accurate types 2021-08-17 22:30:49 -05:00
78ca3713a1 Added type predicate to setDefault 2021-08-17 18:39:11 -05:00
0afcd1cd3d First pass at typescript support
Oh man did this end up requiring a *ton* of other work as well.
There's still a few typing issues I still can't quite work out,
and others I'd like to improve when I have time. In fact, this version
doesn't even really work, it has a stack overflow error caused by
a tooltip for some reason have a tree inside it, which in turn has
another tooltip, etc. There's also 17 errors that I *really* feel like
shouldn't be there, but they are, and 113 warnings - mostly using !
to assert that things are non-null. Lots of work left to do, to sum up.

The reason I'm committing this now is because I really need to get to
work on my game jam, and since it won't use a tree or really many of
TMT-X's features, I can get away with using a broken engine :)
2021-08-16 23:30:54 -05:00
8fe91e88c9 Vue 3 Migration 2021-07-24 17:08:52 -05:00