311ff83d59
Change config.ans variables for games (add global directory, start expression, remove start script)
2022-01-16 00:18:20 +01:00
428042c5d9
Add scoped function injections
2022-01-16 00:17:23 +01:00
c4fb2649c2
Stdlib: add string!len, table!concat, _%_
2022-01-16 00:16:06 +01:00
6a5595ca04
Define injections from a game config.ans
2022-01-15 02:48:53 +01:00
a56e159a7d
Fix test error on LuaJIT due to Lua 5.4 change on double formatting
2022-01-14 23:49:22 +01:00
fdcea38e5e
Update documentation
2022-01-14 23:43:20 +01:00
dfe838a769
Add custom code inject at function/checkpoint start/end
2022-01-14 23:27:21 +01:00
5a61573cdb
🔖 is now a function reference
2022-01-14 21:40:08 +01:00
fd07db83f2
Add implicit multiplication
2022-01-14 21:32:14 +01:00
4214fafc68
Fix default tags
2022-01-14 21:31:56 +01:00
10af596a58
Update README
2021-12-23 20:01:22 +01:00
a952f971cd
Unneeded since vm:eval now merge state on success
2021-12-23 18:26:40 +01:00
88157b04b9
Merge behavior of : and = into single = operator for pairs; add assignment with _._ operator in function references
2021-12-14 02:37:09 +01:00
48cabbf4c0
Add while loop line and operator
2021-12-12 20:49:48 +01:00
f5382d2912
Add _;
2021-12-12 16:31:19 +01:00
e7cfab524a
Fix Lua 5.1 compatibility
...
Well error messages are still wrong due to pcall limitations in 5.1 but it works as intended.
2021-12-12 16:00:05 +01:00
ec8a928272
Update doc
2021-12-12 15:52:23 +01:00
bb45cc8fdd
Fix scoping with mutable variables
2021-12-12 15:38:27 +01:00
16d0bb8d7a
Fix LuaJIT compatibility
2021-12-11 01:38:18 +01:00
fef498b3d7
Add scoped functions
2021-12-11 01:05:01 +01:00
3d32f35d67
Omit function variables from merge
2021-12-10 21:25:05 +01:00
40c1616cce
Rewrite next, random using references
2021-12-09 17:23:54 +01:00
acb8945dec
Add variable reference and use them in alias(ref, id)
2021-12-09 14:34:21 +01:00
037654ebcf
Bump version, update doc
2021-12-06 18:48:32 +01:00
04c6683de8
Proper checkpointing of mutable values
2021-12-06 18:34:58 +01:00
801df67461
Update REFERENCE.md
2021-12-06 16:39:39 +01:00
bc5e68ffcb
Remove text litterals as events buffers may contain code blocks (choices events) and we don't want this to end up in the save file
2021-12-06 16:15:35 +01:00
9bd9759115
Rename overloaded operators (add underscores)
...
* add suffix unary operators
* add _! operator
* _._ and _&_ operator overloading
* allow calling function references with _! and access variables with _._
* rename . method operator to !
* various cleaning & improvements
Documentation will follow at some point.
2021-12-06 01:45:19 +01:00
d5b1a9f225
Allow argument-less calling using ! suffix
2021-12-04 18:51:09 +01:00
6e5cbf9e7e
Add function references
2021-12-04 18:20:32 +01:00
5e7ac83854
Separate value and type of eventbuffer in internal representation
2021-12-03 15:39:59 +01:00
14bf0c2b06
Store tags in a regular Anselme list
2021-12-03 01:16:35 +01:00
0f89307d5f
Cache read values in local state, handle mutable variables properly
2021-12-02 23:57:25 +01:00
607313d5ce
Merge state on vm:eval, new aliases need to be merged
2021-12-02 19:24:48 +01:00
721464218c
Add eventbuffer type
2021-12-02 18:39:43 +01:00
02d50fb79f
Update notes
2021-11-29 14:48:04 +01:00
90e5a2d9cf
Switch back to tag:pop instead of tag:trim
...
The tag operator should allow for all the user-defined tagging you need, and it already ensures the stack stays consistent so there's no need to be extra careful with tag:trim.
2021-11-28 16:31:42 +01:00
38b2a6ae69
Improve function decorator parsing
2021-11-28 16:23:44 +01:00
f2e74c94c9
Changed a few things
...
* Integrated # and ~ decorators into the expression system. Created associated operators.
* # and ~ decorators only affect their current line. That's more useful...
* Fix our priority system to evaluate left-to-right instead of right-to-left (if there was a reason why I did it this way initially, I don't remember it so ¯\_(ツ)_/¯)
* a lotta internal changes
Various other small adjustments, see the diff of REFERENCE.md for details.
2021-11-28 01:43:54 +01:00
14d348bad9
Untypo
2021-11-27 14:37:55 +01:00
12d2aa3e82
Move reference into separate file
2021-11-27 14:31:54 +01:00
b9b59547ff
More configurable handling of whitespace before decorators
2021-11-27 14:29:29 +01:00
e2b95b751b
Switch a few remaining variables to snake_case
2021-11-27 13:17:29 +01:00
7433d27da5
Don't expose private event fields to user in choices
2021-11-27 13:10:36 +01:00
7105b445ef
Handle events in text interpolation; capture text events in choice lines; improve test script
2021-11-26 21:26:41 +01:00
633f7b2d61
Prevent from restarting interpreter after return or error
2021-06-05 22:38:02 +02:00
c847fefd39
Parser only change state on success
2021-06-05 21:34:12 +02:00
0e755ea841
Add anselme version check in game config, rename version to "game version"
2021-06-05 17:26:15 +02:00
d42c35facd
Change versioning to separate language/API/save; allow executing blocks directly; add version to game config
2021-06-05 17:19:42 +02:00
9388a22a0f
Move default variables alias from game config to language file
2021-06-05 14:01:54 +02:00