Commit Graph

40 Commits

Author SHA1 Message Date
Daan Vanden Bosch
70e6eef27c Added support for map_designate and map_designate_ex to the VM. 2020-01-02 18:54:18 +01:00
Daan Vanden Bosch
93e05ea614 - Moved instructions/opcodes and DFA code to core to avoid dependency from core to quest_editor
- When the assembly worker updates map designations, it now takes map_designate and map_designate_ex into account
2020-01-02 18:42:08 +01:00
Daan Vanden Bosch
99d50d754d Replaced js-logger. Improved testability with mocks, improved test configuration and code improvements. 2019-12-25 00:17:02 +01:00
Daan Vanden Bosch
243638879c Entity counts in area select are now updated when adding or removing entities. Added more unit tests. 2019-12-24 03:04:18 +01:00
Daan Vanden Bosch
66b8e808dd Fixed bug in QuestRunner that prevented the correct episode from reaching the VM. Improved logging performance in several different components. 2019-12-22 23:15:05 +01:00
Daan Vanden Bosch
be144ce9b1 Event section IDs and delays can now be edited. 2019-12-22 17:24:22 +01:00
Daan Vanden Bosch
5522e7c6af Small improvements to QuestRunner. 2019-12-22 13:50:55 +01:00
Daan Vanden Bosch
f1374fe100 Improved log view performance and fixed bug in quest runner. 2019-12-22 04:34:50 +01:00
Daan Vanden Bosch
05c9f3ce81 All code now uses HttpClient interface instead of fetch for improved testability. 2019-12-21 22:49:41 +01:00
Daan Vanden Bosch
f8a9c65086 NPC wave numbers are now shown in the entity info view. 2019-12-21 15:56:24 +01:00
Daan Vanden Bosch
202c01bf25 Added support for p_dead_v3 opcode. 2019-12-20 21:13:59 +01:00
Daan Vanden Bosch
e4dda8c1c7 Added key bindings for debugging actions. 2019-12-20 18:20:02 +01:00
Daan Vanden Bosch
027b50d3e4 Fixed sync calls and step out now works too. 2019-12-20 17:57:34 +01:00
Daan Vanden Bosch
663ad75435 Debugging now happens in the VM itself, this simplifies the code. 2019-12-20 16:10:50 +01:00
Daan Vanden Bosch
352365170f Fixed bug that resulted in the starting floor's floor_handler to run too early. 2019-12-20 00:32:56 +01:00
Daan Vanden Bosch
3fee246bd8 Fixed a bug in game state reset when debugging. 2019-12-20 00:22:41 +01:00
Daan Vanden Bosch
f8fc12c468 Fixed some bugs and added VM support for bb_map_designate. 2019-12-20 00:11:54 +01:00
Daan Vanden Bosch
aa0d398545 The floor handler for the initial area is now run when running a quest. 2019-12-19 22:14:59 +01:00
Daan Vanden Bosch
52f2ddccd2 Virtual machine now suspends instead of halts when there no threads anymore. 2019-12-19 20:45:02 +01:00
Daan Vanden Bosch
20885cb0f2 Simplified Widget.finalize_construction. Added game state to QuestRunner and modified execution flow to enable loading of area/entity models. Split QuestModelManager into two different classes so a different loading strategy can used in the quest runner view. Quest runner view is now automatically created when running a quest. 2019-12-19 18:54:01 +01:00
Daan Vanden Bosch
0585bbacec Removed VM dependency on QuestModel. 2019-12-19 14:35:13 +01:00
Daan Vanden Bosch
3bd3be8c4a Moved Thread to its own file and renamed vm/index.ts to vm/VirtualMachine.ts. 2019-12-18 23:40:38 +01:00
Daan Vanden Bosch
86187a0539 Fixed bug in script editor that would add breakpoints whenever a line was deleted. 2019-12-18 22:58:46 +01:00
Daan Vanden Bosch
2366cb3aa0 Refactored script debugging code to avoid circular dependencies and separate concerns. 2019-12-18 22:37:26 +01:00
Daan Vanden Bosch
28b8fa03d9 Simplified quest logging system. 2019-12-18 20:06:09 +01:00
jtuu
bb1a6b185e Added an execution count to QuestRunner to prevent the browser from freezing. 2019-11-23 17:01:04 +02:00
jtuu
8c102976a8 Added a VM registers viewer. 2019-11-21 23:04:16 +02:00
jtuu
d16c1634ba Modified QuestRunner to set paused state to false every time the execution loop is started regardless of whether any breakpoints are hit. 2019-11-21 19:52:42 +02:00
jtuu
b24afee12a Fixed VM threading in auto-advance mode.
Now when a thread is started at least one advance is required to have valid execution state.
2019-11-21 15:22:47 +02:00
jtuu
8582a25bc3 Lint 2019-11-16 18:07:21 +02:00
jtuu
f6f5fa7c3f QuestRunner now works in inline args mode. 2019-11-16 17:08:09 +02:00
jtuu
0365b40e55 Added stop button. 2019-11-15 20:17:24 +02:00
jtuu
24abf3ae7f Modified QuestRunner's execution flow.
Now it goes like this:
1. Advance instruction pointer.
2. Check for breakpoints.
3. Execute instruction.

Also fixed some bugs.
2019-11-15 19:59:05 +02:00
jtuu
b8f0cbfcb3 Added running and paused properties to QuestRunner.
Also tried to improve the situation with the circular dependencies.
2019-11-15 19:59:05 +02:00
jtuu
5c6dc50b4e Started working on stepping execution for QuestRunner.
Step over and step in kind of work but there are still bugs. Step out is unimplemented.
2019-11-15 19:59:05 +02:00
jtuu
911bde2bd9 Highlight the source location currently being executed when VM pauses. 2019-11-14 00:34:07 +02:00
jtuu
90ad66e96d Breakpoints now cause VM to pause. 2019-11-14 00:31:20 +02:00
jtuu
fbd4df4b58 Changed the way VM input is handled.
Now the VM informs the runner when it requires input via ExecutionResult. Input is provided to the VM by calling methods directly on it.
Also implemented opcode list.
2019-11-11 15:21:13 +02:00
jtuu
b9e762fa6e Use the new message log in QuestRunner. 2019-11-08 18:34:58 +02:00
Daan Vanden Bosch
9545f056ab Added QuestRunner for managing game state, orchestrating the VM and controlling the visual aspects of a virtual quest run. 2019-11-05 21:07:17 +01:00