Commit graph

63 commits

Author SHA1 Message Date
Scott Percival
c4bd70d820 DIRECTOR: Fix name remapping when duplicating a cast member
Fixes the language icons on the remote control in Murphy's TV.
2025-02-04 15:24:17 +01:00
Scott Percival
47fdf67b74 DIRECTOR: Add debugger command for listing windows 2025-02-04 15:24:17 +01:00
Scott Percival
c6d6785447 DIRECTOR: Fix loading Lingo scripts from different internal casts
Fixes the block minigame in Fisher Price Learning in Toyland.
2024-11-11 20:40:06 +01:00
Scott Percival
554b9a9987
DIRECTOR: Validate all palette cast member IDs before use
Fixes the avalanche of error messages when entering the mirror
in AMBER: Journeys Beyond.
2024-06-22 15:07:37 +08:00
Scott Percival
690cd9c6a0 DIRECTOR: Add frame and sprite script mappings to debugger 'funcs' command 2024-06-15 02:04:30 +02:00
Scott Percival
60a15d17f8
DIRECTOR: Add debugger guardrail for missing frame data 2024-05-28 11:49:14 +08:00
scemino
b9b7788aeb DIRECTOR: Add breakpoint list window 2024-05-20 11:47:38 +02:00
Scott Percival
e2a46585e5 DIRECTOR: Add actions command to debugger 2024-03-31 16:58:31 +02:00
Scott Percival
b23b084232 DIRECTOR: Add property breakpoints to debugger 2024-01-30 23:30:11 +01:00
Scott Percival
c2f9829783 DIRECTOR: Fix chan/mk debugger commands 2024-01-11 20:41:43 +01:00
Le Philousophe
cf3eac29c3 DIRECTOR: Migrate engine to Path 2023-12-24 13:19:25 +01:00
Eugene Sandulenko
10b0624223
DIRECTOR: Added missing newlines in debug help 2023-11-15 23:46:31 +01:00
Scott Percival
bf546a5afb DIRECTOR: Add support for factory methods to debugger 2023-10-22 17:19:54 +02:00
Scott Percival
ac597ab95e DIRECTOR: Add factory methods to disassembler 2023-10-22 17:19:54 +02:00
Eugene Sandulenko
8bccc12786
DIRECTOR: Reduce header dependency 2023-08-02 21:05:06 +02:00
Eugene Sandulenko
64b3159825 DIRECTOR: Added forceredraw debugger command 2023-07-10 16:03:11 +02:00
Harishankar Kumar
2cac64a069 DIRECTOR: Debugger use frame demand loading to view channels 2023-07-10 16:03:11 +02:00
Harishankar Kumar
fdd8c34691 DIRECTOR: Rename _frame, getCurrentFrame(), getTotalFrames() to improve readability 2023-07-10 16:03:11 +02:00
Harishankar Kumar
bcc3ad7f66 DIRECTOR: Refactored quickSelect to getFrameData
Earlier quickSelect was modifying and contaminating current state
of the score. This was causing problems with the frame demand.
Now quickSelect is only used for previewing one frame and it
doesn't modify the score.
2023-07-10 16:03:11 +02:00
Harishankar Kumar
2b331582aa DIRECTOR: Change preloading of frames to demand loading
Frames are now loaded on demand, when they are first accessed. Also
the starting offsets of each frames are stored in a special array, so
any previously visited frame might have quick access time. Much of the
work is done in Score class itself.

Warning: This commit is not yet complete. There are various issues
and crashes on the way.

Demand loading of frames is implemented to replicate the behavior of
the original engine. The original engine does not load frames until
it is accessed, this property when used with lingo is exploited to
allow changes in sprite properties when there is no next frame changes
of that property. In essential what happened was that for a non puppet
sprites, the game can have its property changed and rendered until there
was full refresh (in form of jumps, etc) of screen. This was not possible
with precached frames.

The first example use was seen in movie `ATD\HD\bdDREAMA.DXR` of game
'totaldistortion-win'.
2023-07-10 16:03:11 +02:00
Scott Percival
5cc9a5b593 DIRECTOR: Fix funcs debugger command to list from all casts 2023-07-08 22:01:00 +03:00
Scott Percival
97180fec5c DIRECTOR: Add search paths to 'info' debugger command 2023-07-08 22:01:00 +03:00
Eugene Sandulenko
587e48cc54
DIRECTOR: Added 'draw all' debug console command, allow 'frameS', 'castS' in the same. 2023-07-01 17:01:40 +02:00
Scott Percival
919b7ff5b1 DIRECTOR: Show multiple casts in debugger 2023-05-10 09:48:50 +02:00
Scott Percival
2009f27712 DIRECTOR: Add D5 support for _defaultPalette 2023-05-10 09:48:50 +02:00
Scott Percival
f703ee6ecf DIRECTOR: Split CastMember classes into files 2023-04-29 14:20:05 +02:00
Scott Percival
13912538f4 DIRECTOR: Add 'markers' command to debugger 2023-03-24 21:27:34 +01:00
Scott Percival
570bbfb7f1 DIRECTOR: Add "info" command to debugger 2023-03-06 21:26:28 +01:00
Scott Percival
e2053c51ab DIRECTOR: Add event breakpoints to debugger 2023-02-08 13:30:58 +01:00
Eugene Sandulenko
be62305248
DIRECTOR: Implemented debugger commands for drawing bitmapcast outlines and frame number 2023-02-04 15:48:41 +01:00
Eugene Sandulenko
d008f85d3c
DIRECTOR: Override debugger prompt in repl mode 2023-02-04 14:59:31 +01:00
Eugene Sandulenko
007d94963b
DIRECTOR: Truly fix repl in debugger 2023-02-04 14:33:32 +01:00
Scott Percival
873095c87e DIRECTOR: Move current Lingo state into Window-owned struct
The previous arrangement was to copy the bits of Lingo state back and forth from
the Window object to the Lingo instance, and query the window for the
callstack. This refactor consolidates the current Lingo state into a single
struct, owned by the Window object and accessible via a pointer on the
Lingo object.
2022-12-09 01:10:57 +01:00
Scott Percival
9a10fe51d3 DIRECTOR: Provide live channel information for current frame 2022-11-18 16:28:05 +01:00
Scott Percival
bd3b24d437 DIRECTOR: Add bpentity command to debugger 2022-10-22 19:53:22 +02:00
Scott Percival
4c306fbfd9 DIRECTOR: Fix Lingo REPL mode in debugger 2022-10-22 19:53:22 +02:00
Scott Percival
36e6246dde DIRECTOR: Add bpvar command to debugger 2022-10-22 19:53:22 +02:00
Scott Percival
6aa71f2f33 DIRECTOR: Show variable contents in debug output 2022-10-22 19:53:22 +02:00
Eugene Sandulenko
4a748a1791
DIRECTOR: Fix copy/paste error 2022-10-08 01:33:14 +02:00
Scott Percival
802c583b10 DIRECTOR: Improve breakpoint debugger command 2022-10-06 00:05:17 +02:00
Scott Percival
dcceb4c34b DIRECTOR: Add "disasm all" debugger command 2022-10-06 00:05:17 +02:00
Scott Percival
82605cc3ac DIRECTOR: Implement breakpoints 2022-09-28 17:07:07 +02:00
Scott Percival
2874f05eb3 DIRECTOR: Implement movie and nextmovie debugger commands 2022-09-28 17:07:07 +02:00
Roland van Laar
00e8feaaa7 DIRECTOR: fix unitialized scalar field
Initialize _nextFrame and _nextFrame counter in the debugger.

Fixes COVERITY: 1498346
2022-09-26 11:19:36 +02:00
Roland van Laar
03da927aaa DIRECTOR: Fix check on (shared)cast for formatting
Check for existance of `cast and `sharedcast` before calling
`getCastMember` on it.
2022-09-22 17:26:35 +02:00
Roland van Laar
074981ba73 DIRECTOR: filter cast list on id in debugger
Add option to only show the cast with castId in the debugger.
2022-09-21 16:22:34 +02:00
Scott Percival
fe86d41701 DIRECTOR: Implement disasm debugger command 2022-09-20 20:17:06 +02:00
Scott Percival
c1ebb4d52d DIRECTOR: Implement funcs debugger command 2022-09-20 20:17:06 +02:00
Scott Percival
c56d9056d4 DIRECTOR: Initial implementation of funcs debugger command 2022-09-20 20:17:06 +02:00
Scott Percival
5c5929737d DIRECTOR: Implement cast debugger command 2022-09-20 20:17:06 +02:00