djsrv
336576c538
DIRECTOR: LINGO: Enforce return values
2020-07-22 12:38:01 -04:00
djsrv
2277a92d8e
DIRECTOR: LINGO: Handle ARGC/ARGCNORET
2020-07-19 13:33:35 -04:00
djsrv
e95b7979b7
DIRECTOR: LINGO: Replace BLTIN/FBLTIN
...
They should only be treated differently during execution, not during
parse.
2020-07-19 13:33:35 -04:00
djsrv
d6270b7f09
DIRECTOR: LINGO: Add event map comment
2020-07-14 23:09:05 -04:00
djsrv
5c230256c6
DIRECTOR: LINGO: Fix segfault
2020-07-14 13:10:52 -04:00
djsrv
63ea83d057
DIRECTOR: LINGO: Attempt to repair script type/ID
2020-07-14 13:04:44 -04:00
Eugene Sandulenko
75043df8c7
DIRECTOR: LINGO: Improve debugging
2020-07-14 11:25:52 +02:00
Eugene Sandulenko
cd232d29e2
DIRECTOR: LINGO: Optimize addNamesV4()
2020-07-13 11:44:06 +02:00
Roland van Laar
a12eb79b18
DIRECTOR: LINGO: define size in Lnam header
...
Lnam headers have their size specified twice.
Use this size as a check if the stream is complete.
2020-07-12 23:26:34 +02:00
djsrv
b866d0abb4
DIRECTOR: LINGO: Fix bytecode global var oddities
2020-07-10 14:59:34 -04:00
djsrv
e599378565
DIRECTOR: LINGO: Load D4 bytecode event scripts
2020-07-10 14:03:39 -04:00
djsrv
4e33136e38
DIRECTOR: LINGO: Fix segfault when loading factory
2020-07-07 18:05:20 -04:00
djsrv
b2c20a07f7
DIRECTOR: LINGO: Refactor Object
...
This turns Object into a template so any type can easily act as a Lingo
object. For example, script objects no longer own a script context.
They *are* script contexts, and there are custom getters/setters for
methods and properties.
2020-07-07 16:59:55 -04:00
Eugene Sandulenko
18ce56fc1b
DIRECTOR: Create path for the dumped scripts
2020-07-07 12:33:40 +02:00
djsrv
1efd5f5c11
DIRECTOR: LINGO: Improve object refcounting
2020-07-06 20:18:57 -04:00
djsrv
856cb27870
DIRECTOR: LINGO: Reorganize Object
2020-07-06 20:18:57 -04:00
djsrv
05b6bb2021
DIRECTOR: Add Cast convenience methods
2020-07-02 11:40:22 -04:00
djsrv
64fdff14eb
DIRECTOR: Initialize cast members w/ cast and ID
2020-07-02 11:40:22 -04:00
djsrv
38d17341e2
DIRECTOR: LINGO: Move lingo archive to Cast
2020-07-01 22:07:13 -04:00
djsrv
005618bf25
Revert "DIRECTOR: LINGO: Fix bytecode loading for global scripts"
...
This reverts commit 45e72aa449 .
2020-07-01 13:27:48 -04:00
djsrv
fb39572fd5
DIRECTOR: Move _sharedCast to Movie
2020-07-01 13:24:37 -04:00
Eugene Sandulenko
0193472e96
DIRECTOR: LINGO: Reduce remaining include dependencies
2020-07-01 18:16:21 +02:00
Eugene Sandulenko
888e80c9b0
DIRECTOR: LINGO: Reduce header dependency
2020-07-01 18:05:05 +02:00
Scott Percival
52bef2ba43
DIRECTOR: LINGO: Fix name resolution for decodeInstruction
2020-07-01 23:45:28 +08:00
Scott Percival
45e72aa449
DIRECTOR: LINGO: Fix bytecode loading for global scripts
2020-07-01 23:45:27 +08:00
djsrv
5ae6c34074
DIRECTOR: Separate Movie and Cast from Score
2020-07-01 10:50:31 -04:00
djsrv
3303ab985e
DIRECTOR: Rename cast.cpp -> castmember.cpp
2020-07-01 10:50:31 -04:00
djsrv
b511300bf6
DIRECTOR: LINGO: Fix cb_objectcall pointer issues
2020-06-27 23:07:57 -04:00
djsrv
0906dc3240
DIRECTOR: LINGO: Improve factory method calls
2020-06-25 21:04:00 -04:00
djsrv
3157c9775d
DIRECTOR: LINGO: Improve Lscr name resolution
2020-06-25 21:01:51 -04:00
djsrv
16ba15d5b6
DIRECTOR: LINGO Add bytecode instruction 0x02
...
This just seems to be procret but for methods.
2020-06-25 20:54:28 -04:00
djsrv
4e2184956a
DIRECTOR: LINGO: Load factories from Lscr
2020-06-25 15:35:56 -04:00
Roland van Laar
3047a6b47e
DIRECTOR: LINGO: Fix messages
...
The order type and cast id was switched in error and
warning messages.
2020-06-25 21:31:11 +02:00
djsrv
25a20fb28d
DIRECTOR: LINGO: Treat scriptType as a bitmask
2020-06-25 12:02:27 -04:00
djsrv
a38011e101
DIRECTOR: LINGO: Load cast scripts from Lscr
2020-06-24 16:59:51 -04:00
djsrv
bb8704f7d0
DIRECTOR: LINGO: Fix cb_localcall
...
Which symbol a handler name resolves to depends on the first argument.
2020-06-23 14:14:01 -04:00
djsrv
d8c8df88f3
DIRECTOR: LINGO: Implement cb prop instructions
2020-06-23 14:14:01 -04:00
djsrv
f7132e73f4
DIRECTOR: LINGO: Read more Lscr fields
2020-06-23 12:46:00 -04:00
djsrv
624c8616d2
DIRECTOR: LINGO: Clean up script creation
2020-06-22 15:51:29 -04:00
Scott Percival
357550820f
DIRECTOR: LINGO: Fix LUT codes for text entities
2020-06-20 00:22:03 +08:00
Scott Percival
8135a3a1cc
DIRECTOR: LINGO: Tweak cb_objectcall to substitute variables
2020-06-20 00:22:03 +08:00
Scott Percival
be2f5815a9
DIRECTOR: LINGO: Fix stack after failed cb_objectcall
2020-06-20 00:22:03 +08:00
djsrv
2ece2c0d3a
DIRECTOR: LINGO: Improve globally defining handler
...
Only movie scripts' handlers should be globally available, and if there
is more than one with the same name, only the first.
2020-06-18 21:49:09 -04:00
djsrv
f2ec6cbf63
DIRECTOR: LINGO: Implement b_script
2020-06-18 12:33:38 -04:00
djsrv
c4914ea3ca
DIRECTOR: LINGO: Add name to ScriptContext
2020-06-18 12:33:38 -04:00
Roland van Laar
0a699b9681
DIRECTOR: LINGO: Implement cb_thepush2
...
Implement cb_thepush2 for pushing the value of an entity to the stack.
2020-06-18 14:49:37 +00:00
djsrv
612104336f
DIRECTOR: LINGO: Rework event handling
...
Setup for proper event delegation. It probably needs adjustments but
it should be mostly correct for D4.
2020-06-17 20:38:49 -04:00
Scott Percival
7c9ed6febb
DIRECTOR: Add new SpriteChannel class
...
Some sprite properties are considered global across all frames.
This can be seen in Chop Suey where e.g the exitFrame script for
frame 1 will change the visibility on sprite channels that aren't used
until frame 3. This adds a new global list of sprite channel properties
that aren't attached to a Frame.
This just tracks visibility for now, additional properties can be moved
over from Sprite when they are confirmed to be global.
2020-06-17 00:33:26 +08:00
Scott Percival
a60e68ae65
DIRECTOR: LINGO: Implement cb_objectcall
2020-06-16 01:20:01 +08:00
djsrv
4109fd0bc6
DIRECTOR: LINGO: Switch variables to DatumHash
2020-06-15 09:29:20 -04:00