Commit Graph
55 Commits
Author SHA1 Message Date
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
Scott Percival 8d29dec888 DIRECTOR: Implement channels debugger command 2022-09-20 20:17:06 +02:00
Scott Percival 3d9cf67233 DIRECTOR: Implement frame and nextframe debugger commands 2022-09-20 20:17:06 +02:00
Scott Percival b8bff29967 DIRECTOR: Revert use of detection code 2022-09-13 23:19:00 +02:00
Scott Percival d3a2931285 DIRECTOR: Tidy up debugger based on feedback 2022-09-12 15:52:18 +02:00
Scott Percival c8ccf0e688 DIRECTOR: Add scriptframe command for debugger 2022-09-12 15:52:18 +02:00
Scott Percival 6876849f97 DIRECTOR: Add step, finish and next commands for debugger 2022-09-12 15:52:18 +02:00
Scott Percival 05c8119220 DIRECTOR: Start implementing Lingo debugger console 2022-09-12 15:52:18 +02:00
Scott Percival 3a096e60c3 DIRECTOR: Add version function to debugger 2022-09-12 15:52:18 +02:00