djsrv
d71d4d2b5f
DIRECTOR: LINGO: Support keyless exprs in prop lists
2022-09-16 15:36:46 -04:00
Roland van Laar
0c0863ce42
DIRECTOR: LINGO: Add floats and ints to proparrays
...
Implement the use of integers and floats as keys in property arrays.
Property arrays in lingo use the following syntax: [#a: "text"].
They are better known as HashMaps in CPP.
It resolves a bug in Star Trek Omnipedia which uses integers for keys.
- Includes lingo tests.
2022-09-14 21:50:53 +02:00
Misty De Meo and djsrv
8e5702b0be
DIRECTOR: handle method end statements
...
Co-authored-by: djsrv <dservilla@gmail.com >
2021-11-20 01:19:49 +01:00
djsrv
4796729a58
DIRECTOR: LINGO: Terminate when stmt with newline
2021-08-24 22:41:33 -04:00
djsrv
7ddf6ecde2
DIRECTOR: LINGO: Fix memory leak
2021-07-20 17:48:10 -04:00
djsrv
7f5eb2b1fc
DIRECTOR: LINGO: Remove unused tokens from grammar
2021-07-20 17:47:01 -04:00
djsrv
75378c2ce1
DIRECTOR: LINGO: Handle stray end clauses
2021-07-20 17:45:47 -04:00
djsrv
545d34c022
DIRECTOR: LINGO: Eliminate when preprocessor
2021-07-15 16:31:47 -04:00
djsrv
f43026398f
DIRECTOR: LINGO: Fix assert line numbers
2021-06-25 01:52:40 -04:00
djsrv
9198d7364a
DIRECTOR: LINGO: Move field funcs from LB to LC
...
field, delete, and hilite were implemented as their own instructions in
the original. This also avoids having refs evaluated by LC::call.
2021-06-24 00:26:15 -04:00
djsrv
784f8fe9d3
DIRECTOR: LINGO: Allow expression after sprite
2021-06-22 18:16:53 -04:00
djsrv
32534e2d7a
DIRECTOR: LINGO: Move tokens out of CMDID
2021-06-22 18:16:53 -04:00
djsrv
ace4d11cf7
DIRECTOR: LINGO: Allow trailing comma in function args
2021-06-22 18:16:53 -04:00
djsrv
8abdb0df16
DIRECTOR: LINGO: Allow missing end if
...
It just outputs a warning instead of failing now.
2021-06-22 18:16:53 -04:00
djsrv
16ad72c042
DIRECTOR: LINGO: Fix calling window with multiple args
2021-06-22 18:16:53 -04:00
djsrv
509b34579f
DIRECTOR: LINGO: Change chunk ref args to exprs
2021-06-22 18:16:53 -04:00
djsrv
e093f59aa2
DIRECTOR: LINGO: Allow trailing comma
2021-06-22 18:16:53 -04:00
djsrv
76195e62f4
DIRECTOR: LINGO: Allow stray end ifs
2021-06-22 18:16:53 -04:00
djsrv
46785dbe26
DIRECTOR: LINGO: Fix list definitions
2021-06-22 18:16:53 -04:00
djsrv
c66377b5e8
DIRECTOR: LINGO: Reimplement repeat with in
2021-06-22 18:16:53 -04:00
djsrv
ac5dbe3492
DIRECTOR: LINGO: Create CMDID symbol
2021-06-22 18:16:53 -04:00
djsrv
a825a68f55
DIRECTOR: LINGO: Reimplement open
2021-06-22 18:16:53 -04:00
djsrv
1a311812cf
DIRECTOR: LINGO: Reimplement chunk expressions
2021-06-22 18:16:53 -04:00
djsrv
d393fa5472
DIRECTOR: LINGO: Reimplement 'the'
2021-06-22 18:16:53 -04:00
djsrv
510681249b
DIRECTOR: LINGO: Clean up token types
2021-06-22 18:16:53 -04:00
djsrv
0980939740
DIRECTOR: LINGO: Reimplement cast/object refs
2021-06-22 18:16:53 -04:00
djsrv
744fbc8628
DIRECTOR: LINGO: Reimplement intersects/within
2021-06-22 18:16:53 -04:00
djsrv
a5865079a1
DIRECTOR: LINGO: Reimplement when
2021-06-22 18:16:53 -04:00
djsrv
3f1df58337
DIRECTOR: LINGO: Reimplement tell
2021-06-22 18:16:53 -04:00
djsrv
884db621b4
DIRECTOR: LINGO: Reimplement scummvmAssertError
2021-06-22 18:16:53 -04:00
djsrv
41caf423dd
DIRECTOR: LINGO: Reimplement go command
2021-06-22 18:16:53 -04:00
djsrv
553b4beafd
DIRECTOR: LINGO: Create FrameNode and MovieNode
2021-06-22 18:16:53 -04:00
djsrv
4d6e4558c9
DIRECTOR: LINGO: Reimplement playAccel
2021-06-22 18:16:53 -04:00
djsrv
68200d4542
DIRECTOR: LINGO: Reimplement play command
2021-06-22 18:16:53 -04:00
djsrv
25b606c9b1
DIRECTOR: LINGO: Parse all variants of cmd args
2021-06-22 18:16:53 -04:00
djsrv
7649e2d44c
DIRECTOR: LINGO: Reimplement exit
2021-06-22 18:16:53 -04:00
djsrv
a6cfb4e275
DIRECTOR: LINGO: Reimplement lists
2021-06-22 18:16:53 -04:00
djsrv
4f29ef7b29
DIRECTOR: LINGO: Reimplement basic var instructions
2021-06-22 18:16:53 -04:00
djsrv
ad934d5960
DIRECTOR: LINGO: Add missing newlines
2021-06-22 18:16:53 -04:00
djsrv
d9a1057cd6
DIRECTOR: LINGO: Reimplement loops
2021-06-22 18:16:53 -04:00
djsrv
52a056f91c
DIRECTOR: LINGO: Reimplement if statements
2021-06-22 18:16:53 -04:00
djsrv
0a708b9c8f
DIRECTOR: LINGO: Move compiler logic to new class
2021-06-22 18:16:53 -04:00
djsrv
f726a6ed89
DIRECTOR: LINGO: Rewrite grammar to build AST
2021-06-22 18:16:53 -04:00
djsrv
c147a5c979
DIRECTOR: LINGO: Implement chunk refs
2020-08-21 21:52:54 -04:00
djsrv
20e54db2ae
DIRECTOR: LINGO: Implement errors
2020-08-21 00:20:22 -04:00
djsrv
34393fde5e
DIRECTOR: LINGO: Remove c_lazyeval
2020-08-20 23:41:51 -04:00
djsrv
518c90ec8f
DIRECTOR: LINGO: Pass me as arg to factory methods
2020-08-17 21:19:55 -04:00
djsrv
319fa7ee0f
DIRECTOR: LINGO: Recombine CASTNAME and CASTNUM
...
The original tries to immediately fetch a cast member by name and
turn it into a cast number.
Only cast numbers are not immediately checked for existence.
2020-08-15 11:58:33 -04:00
djsrv
992213b97c
DIRECTOR: LINGO: Lazily fetch cast members
...
Cast members should be fetched until they're actually needed, so
`the loaded of cast x`, etc. will work.
2020-08-14 18:00:38 -04:00
djsrv
19e1d7e544
DIRECTOR: LINGO: Compile put to b_put
2020-08-06 11:50:34 -04:00