Commit Graph

482 Commits

Author SHA1 Message Date
jtuu
fc2e7647fe [VM] Throw error on division by zero. 2019-10-17 21:38:47 +03:00
jtuu
cd52ca4576 [VM] Made the implementation of opcodes letb and letw more correct. 2019-10-17 20:02:53 +03:00
jtuu
4b7e03931c [VM] Implemented opcodes leta, flet and fleti. 2019-10-17 19:58:31 +03:00
jtuu
da6cdc7d74 [VM] Reset state more thoroughly when halting and loading new object code. 2019-10-17 18:44:05 +03:00
jtuu
755e38c76a Removed unused imports. 2019-10-17 17:53:20 +03:00
jtuu
4e9507cd3e Changed argument type of VirtualMachineIO.prototype.error from string to Error.
Also lint.
2019-10-17 17:50:19 +03:00
jtuu
bcc24e7a47 [VM] Added a unit test for window_msg. 2019-10-17 15:56:22 +03:00
jtuu
064f0659e4 Moved a function to test utils. 2019-10-17 15:14:13 +03:00
jtuu
cb81b988e5 [VM] Made the methods for getting register values public to enable unit tests.
Also renamed them so it's more obvious what they do.
2019-10-17 14:45:59 +03:00
jtuu
416e15e68e [VM] Changed some warnings into errors and added source locations to warnings. 2019-10-17 14:40:47 +03:00
jtuu
f3c26f9eda [VM] Added an interface for handling the virtual machine's IO. 2019-10-17 14:21:45 +03:00
jtuu
4cd0b58f66 Added a decorator for marking methods as stubs. 2019-10-17 12:01:37 +03:00
jtuu
f8dc1af8ea Split VM code into separate files. 2019-10-15 15:34:30 +03:00
jtuu
9facc6357c Dispose threads when VM halts. 2019-10-11 15:02:54 +03:00
jtuu
c7b27846c8 [VM] Quick and dirty implementation of window_msg, add_msg and winend. 2019-10-11 12:49:20 +03:00
jtuu
4499009e5a Added methods for reading strings at specific offsets to Cursor. 2019-10-11 12:48:49 +03:00
jtuu
21299646e4 [VM] Implemented arg_pushs and arg_pusha. 2019-10-11 11:11:06 +03:00
jtuu
2909b1bb3e Reworked VirtualMachineMemoryBuffer to extend ArrayBufferCursor. 2019-10-11 10:49:47 +03:00
jtuu
aad45b0929 Added methods for writing data at a specific offset to WritableCursor. 2019-10-11 10:39:13 +03:00
jtuu
6ed419cf35 Use undefined instead of null as the empty value. 2019-10-11 09:14:34 +03:00
Daan Vanden Bosch
9b1bc675a2 Fixed compilation issues and fixed bug in SimpleListProperty (length was not correctly initialized). 2019-10-11 00:04:01 +02:00
Daan Vanden Bosch
a5dd34cda7 Merge remote-tracking branch 'github/master' 2019-10-10 23:12:04 +02:00
Daan Vanden Bosch
ff8f02fe5b Refactored events model and added a basic view for it behind a feature flag. 2019-10-10 23:11:52 +02:00
jtuu
f8c75d7dad [VM] Reworked the argument stack to emulate the PSOBB client more accurately. 2019-10-10 21:07:21 +03:00
jtuu
5248dbe0a0 [VM] Reworked register storage to emulate the PSOBB client more accurately. 2019-10-10 21:07:21 +03:00
Daan Vanden Bosch
c287fdeb2f Renamed event-related types. Updated feature list. 2019-10-10 19:47:38 +02:00
Daan Vanden Bosch
2d534d2567 primitive reinterpretation functions are now while converting NPCs to dat data. 2019-10-10 13:56:15 +02:00
Daan Vanden Bosch
9803bfe125 Wave data is now parsed/written and converted to models. 2019-10-10 13:47:43 +02:00
jtuu
dbe4f3ab78 [VM] Implemented stack_push(m) and stack_pop(m) opcodes. 2019-10-07 20:52:44 +03:00
Daan Vanden Bosch
345c9ab0dc Improved typing of ListProperty. 2019-10-07 18:26:45 +02:00
Daan Vanden Bosch
295bb71c15 Merge remote-tracking branch 'github/master' 2019-10-05 21:12:11 +02:00
Daan Vanden Bosch
0583b7499e Added ASM editor history navigation with mouse buttons and keyboard. 2019-10-05 21:11:58 +02:00
jtuu
f0d1d67b24 Lint and remove console.logs. 2019-10-04 14:21:51 +03:00
jtuu
3a8b189b0a [VM] Implemented conditional jump opcodes.
jmp_on, jmp_off, jmp_=, jmpi_=, jmp_!=, jmpi_!=, ujmp_>, ujmpi_>, jmp_>, jmpi_>, ujmp_<, ujmpi_<, jmp_<, jmpi_<, ujmp_>=, ujmpi_>=, jmp_>=, jmpi_>=, ujmp_<=, ujmpi_<=, jmp_<=, jmpi_<=
2019-10-04 14:17:34 +03:00
Daan Vanden Bosch
efed622e94 Fixed regression. 2019-10-03 17:28:48 +02:00
Daan Vanden Bosch
421487e21f String segment strings are now displayed with "\n" escape sequence instead of "<cr>". 2019-10-03 17:06:23 +02:00
Daan Vanden Bosch
3670df618b Monaco popups were obscured by golden layout. 2019-10-03 16:46:26 +02:00
Daan Vanden Bosch
544ed46263 "Go to label definition" now works with arguments passed via the stack. 2019-10-03 16:40:43 +02:00
Daan Vanden Bosch
ee4a293d3e Fixed some bugs. 2019-10-03 00:18:11 +02:00
Daan Vanden Bosch
b85b7147a6 Removed an unnecessary todo and added a useful one. 2019-10-03 00:07:40 +02:00
Daan Vanden Bosch
f67752e277 "Go to label definition" now works fully for instructions with inline arguments. 2019-10-02 23:59:24 +02:00
Daan Vanden Bosch
90f0e0f7bd Basic go to label definition functionality. 2019-10-02 23:34:09 +02:00
Daan Vanden Bosch
971444f847 F5 keybinding for "Run in VM". Bugfix for feature flags. 2019-10-02 21:15:35 +02:00
jtuu
1a7e9ee9ac [VM] Put the "run in VM" button behind a feature flag called "vm". 2019-10-02 21:46:20 +03:00
jtuu
d9110f0041 [VM] Push entire Arg object to stack instead of just its value. 2019-10-02 21:46:19 +03:00
jtuu
2e672c12b2 [VM] Implemented shift_left and shift_right opcodes. 2019-10-02 21:46:17 +03:00
jtuu
c628c30e1b [VM] Compare opcode numbers not the objects. 2019-10-02 21:46:13 +03:00
jtuu
78ed5c8071 [VM] Implemented opcodes for basic numeric operations. 2019-10-02 21:46:11 +03:00
jtuu
bdd7e8b174 [VM] Assign arguments to variables to make accessing them terser. 2019-10-02 21:46:09 +03:00
jtuu
806ab0ddd5 [VM] Implement arg_pushr, b, w, and s correctly. Remove arg_pusha and o because they are tricky and low priority. 2019-10-02 21:46:07 +03:00
jtuu
98acdbf7f9 [VM] Added arg stack. 2019-10-02 21:46:05 +03:00
jtuu
5458d06d8e [VM] Changed the icon for the VM button. 2019-10-02 21:46:02 +03:00
jtuu
80a4aa784f [VM] Added a button to run the current quest in the VM.
Made the VM work with output from the assembler.
Added some comments to the VM and cleaned it up a little bit.
2019-10-02 21:43:53 +03:00
Daan Vanden Bosch
bffd8f51d9 Fixed unit tests. 2019-10-02 20:20:59 +02:00
Daan Vanden Bosch
6396eb1bdf Feature flags. 2019-10-02 20:10:02 +02:00
Daan Vanden Bosch
ed571b9061 Added asm meta data to IR. 2019-10-02 19:57:43 +02:00
Daan Vanden Bosch
7bde9988e8 Tiny bugfix. 2019-10-02 18:32:00 +02:00
Daan Vanden Bosch
fc5a34946e Opcode is now structured cloning-safe. All IR is now structured cloning-safe. 2019-10-02 14:25:47 +02:00
Daan Vanden Bosch
16b89a01d0 Param is now structured cloning-safe. 2019-10-02 13:56:00 +02:00
Daan Vanden Bosch
fa76002d1c Instruction is now structured cloning-safe. 2019-10-02 13:44:55 +02:00
Daan Vanden Bosch
431c0545f2 Added the basic Monaco machinery for providing symbol definitions. 2019-10-02 13:28:14 +02:00
Daan Vanden Bosch
825f14dc90 Fixed a disassembler bug: va list arg_push* instructions would not be output when in automatic stack management mode. 2019-10-01 22:47:01 +02:00
Daan Vanden Bosch
df2bb7a6ab Fixed an assembler and a disassembler bug. 2019-10-01 22:18:14 +02:00
Daan Vanden Bosch
edc6428a3d Fixed regression. 2019-10-01 18:36:35 +02:00
Daan Vanden Bosch
9b3d280e4f Upgraded all dependencies and fixed linting warnings/errors resulting from eslint upgrade. 2019-10-01 18:30:26 +02:00
Daan Vanden Bosch
c64ba16c7a The ASM editor command palette can now be opened with ctrl-shift-p. 2019-10-01 17:41:28 +02:00
Daan Vanden Bosch
75c19cf112 The 3D view is now focused when dropping an entity on it. 2019-10-01 17:10:19 +02:00
Daan Vanden Bosch
f852333fd6 Fixed text area visual bug in Firefox. 2019-09-30 12:23:13 +02:00
Daan Vanden Bosch
b6619644d1 When the mouse leaves the 3D view while hovering over an entity it is now correctly de-highlighted. 2019-09-29 18:58:32 +02:00
Daan Vanden Bosch
4bf2148b39 Entities can be rotated via the entity info view. 2019-09-29 18:53:01 +02:00
Daan Vanden Bosch
1498b37f67 Reduced GC pressure while rotating entities. 2019-09-28 21:31:04 +02:00
Daan Vanden Bosch
9e2858dae2 Entities can now be rotated around their y-axis by right-click dragging. 2019-09-28 21:11:57 +02:00
Daan Vanden Bosch
5d6f04c2c4 Small fix for bug in QuestEntityControls. 2019-09-25 01:01:34 +02:00
Daan Vanden Bosch
83eade32dc Refactored QuestEntityControls to make it easier to add behavior. 2019-09-25 00:53:06 +02:00
Daan Vanden Bosch
d97872d528 The selected entity can now be deleted with the delete key. 2019-09-24 19:47:22 +02:00
Daan Vanden Bosch
e57f095a49 All entities from the NPC and object lists are now scaled to fit nicely in their square. 2019-09-23 16:07:46 +02:00
Daan Vanden Bosch
1fe3015ce5 All objects are now correctly filtered based on area. 2019-09-23 14:47:14 +02:00
Daan Vanden Bosch
9859e15806 Objects area now filtered based on the selected area. Fixed some typos in object names. 2019-09-22 16:14:38 +02:00
Daan Vanden Bosch
f40b1fb168 NPCs in the NPC list are now filtered according to the selected area. Objects can now be added via drag and drop from the object list. 2019-09-22 15:18:46 +02:00
Daan Vanden Bosch
f0d474ad40 The EntityListView now shows renders of entities instead of green squares. 2019-09-21 21:47:00 +02:00
Daan Vanden Bosch
3d9b003e39 Fixed regression: hovered entities are now highlighted again. 2019-09-21 19:03:30 +02:00
Daan Vanden Bosch
dbb5b65b74 Reduced garbage creation for increased performance. 2019-09-21 14:54:42 +02:00
Daan Vanden Bosch
79b85fc859 Entity creation is now undoable. Fixed a bug that occurred when you started to translate an entity and then moved the cursor outside of the 3D-view. 2019-09-21 14:39:04 +02:00
Daan Vanden Bosch
a97b56cecc Simplified and deduplicated entity transformation code. 2019-09-21 12:48:34 +02:00
Daan Vanden Bosch
6e666b0ea5 Entity drag and drop code doesn't use custom events anymore for increased performance and simplicity. Made code more typesafe and decoupled. Fixed some bugs. 2019-09-20 22:27:19 +02:00
Daan Vanden Bosch
4293a3862b Fixed visual bug due to order of model loading. 2019-09-19 22:30:39 +02:00
Daan Vanden Bosch
7ae4ad428c Basic entity creation via drag and drop. 2019-09-19 22:20:17 +02:00
Daan Vanden Bosch
4e55f1b9fd Fixed bug in NavigationView. 2019-09-17 17:32:17 +02:00
Daan Vanden Bosch
8622b07bde Added bind_children_to function to efficiently update child nodes of an HTML element based on the contents of a ListProperty. 2019-09-17 17:26:25 +02:00
Daan Vanden Bosch
859d85da45 ASM editor view is now sized correctly again. 2019-09-17 12:47:03 +02:00
Daan Vanden Bosch
3c6b28f536 Fixed bug that would disassemble arg_pushr arguments incorrectly in automatic stack management mode. 2019-09-16 18:52:16 +02:00
Daan Vanden Bosch
bdee123ee3 LabelledControl labels are now disabled again when their control is disabled. The now also have the same tooltip as their control. 2019-09-15 23:28:48 +02:00
Daan Vanden Bosch
25c3c3b5b8 Removed unnecessary update_assembly_settings call. 2019-09-15 23:25:18 +02:00
Daan Vanden Bosch
7d941aa0e4 Undo is now reset when toggling "Inline args mode". 2019-09-15 23:16:11 +02:00
jtuu
fa78f5f95b Lint 2019-09-15 21:47:13 +03:00
jtuu
f1e6a31f0e Merge branch 'master' into script-editor-settings 2019-09-15 21:44:31 +03:00
jtuu
3155cdb183 Transform existing quest script when inline args mode is toggled. 2019-09-15 21:38:30 +03:00
jtuu
0618ca0b87 Added a checkbox for enabling inline arguments transformation mode to the script editor toolbar. 2019-09-15 20:59:51 +03:00
Daan Vanden Bosch
87c6ae37e4 Widget's element property is now abstract and is overridden in every concrete subclass. This often simplifies widget code. 2019-09-15 19:32:34 +02:00
Daan Vanden Bosch
da622aab61 Ctrl-Z and Ctrl-Shift-Z undo and redo commands now work more consistently. 2019-09-15 18:34:24 +02:00
jtuu
463685ffa1 Added a toolbar to the script view. 2019-09-14 23:25:21 +03:00
Daan Vanden Bosch
7ec05ac9a1 Fixed typo in QuestInfoView class name. 2019-09-14 22:13:44 +02:00
Daan Vanden Bosch
ddf5ff1bef Disabled native drag-and-drop globally. 2019-09-14 21:14:38 +02:00
Daan Vanden Bosch
aca71d1a17 Merge branch 'nui' 2019-09-14 17:32:32 +02:00
Daan Vanden Bosch
4c09486f65 Removed all React-related dependencies and config. 2019-09-14 17:31:03 +02:00
Daan Vanden Bosch
8411d75b7f Ported the DPS calc store to the new observables system. 2019-09-14 17:13:08 +02:00
Daan Vanden Bosch
d9b6c7015a The hunt method tables can be sorted again. There's no visual feedback in the table headers though. 2019-09-14 16:11:45 +02:00
Daan Vanden Bosch
9906ea88a9 Added more finalize_construction calls where necessary. 2019-09-14 15:20:36 +02:00
Daan Vanden Bosch
3a95e8a974 Added server select. Widget construction now happens in two phases with a finalize_construction method being called from the lowest subclass. 2019-09-14 15:15:59 +02:00
Daan Vanden Bosch
944f72d1a7 Improved help text. 2019-09-14 14:25:12 +02:00
Daan Vanden Bosch
20a1046053 Added a help tab in Hunt Optimizer. 2019-09-14 14:23:06 +02:00
Daan Vanden Bosch
58939b2ff5 The ComboBox menu can now be filtered by typing. 2019-09-14 13:16:13 +02:00
Daan Vanden Bosch
c8ff72726e The OptimizationResultView is now completely ported to the new GUI system. 2019-09-14 11:59:50 +02:00
Daan Vanden Bosch
8f8da79041 Up to four .qst headers are now parsed. This fixes parsing of The Value of Money. 2019-09-13 22:47:50 +02:00
Daan Vanden Bosch
f7010d75e0 Fixed visual bug in Select. 2019-09-13 22:44:59 +02:00
Daan Vanden Bosch
d6b1b3ca17 Added GitHub link. 2019-09-13 21:20:26 +02:00
Daan Vanden Bosch
fcf08e6f76 Menus and the various controls that use menus can now be controlled with the keyboard. 2019-09-13 20:53:31 +02:00
Daan Vanden Bosch
a933c5e4c1 Wanted items can now be added and removed. 2019-09-13 14:30:29 +02:00
Daan Vanden Bosch
c9820ceccb More data is now shown in the optimization result view. 2019-09-11 15:51:56 +02:00
Daan Vanden Bosch
0cfa20e30f Started working on optimization result view. 2019-09-09 18:37:20 +02:00
Daan Vanden Bosch
d7490b0d3c Text in table cells can now be aligned. Table now works in firefox. 2019-09-07 20:43:53 +02:00
Daan Vanden Bosch
a28a8ce624 Refactored table from MethodsForEpisodeView into a reusable Table widget. 2019-09-07 17:49:21 +02:00
Daan Vanden Bosch
1c2473c24f Improved loading of store data. 2019-09-05 20:30:11 +02:00
Daan Vanden Bosch
46ba5bb018 Length is now updated when a SimpleWritableListProperty is modified. 2019-09-03 16:49:04 +02:00
Daan Vanden Bosch
62db02e278 ListProperties can now emit update events. 2019-09-03 16:44:13 +02:00
Daan Vanden Bosch
1039049fda ListProperties now emit ListPropertyChangeEvents. 2019-09-02 21:09:40 +02:00
Daan Vanden Bosch
bb7bf16f9f Ported part of the hunt optimizer to the new GUI system. The methods tab is now working except for sorting. 2019-09-02 14:41:46 +02:00
Daan Vanden Bosch
c743cba13b Made golden layout tabs height the same as regular tabs height. Correctly centered text in both. 2019-08-31 21:37:55 +02:00
Daan Vanden Bosch
f73db32eaa Fixed entity translation bug. Fixed bug that caused default browser key bindings to be triggered instead of applications bindings. 2019-08-31 20:30:40 +02:00
Daan Vanden Bosch
73619ea91f "Save as..." button works again. Added key bindings for most quest editor actions. 2019-08-31 20:01:35 +02:00
Daan Vanden Bosch
4dde973951 Improved dropdown button and select widget behavior. 2019-08-30 17:31:46 +02:00
Daan Vanden Bosch
24f0cdb461 Ported new quest button to new GUI system. 2019-08-30 00:06:32 +02:00
Daan Vanden Bosch
31c51ca83d Fixed bug in entity translation undo/redo. 2019-08-29 18:42:44 +02:00
Daan Vanden Bosch
762591bf24 Improved select button. 2019-08-29 18:31:29 +02:00
Daan Vanden Bosch
2859dacd90 Added icons, select button and quest area select. 2019-08-29 18:24:03 +02:00
Daan Vanden Bosch
5446f77202 Refactored widgets to make it possible to centralize processing of constructor-provided options. Made widget event/data flow unidirectional. 2019-08-28 21:36:45 +02:00
Daan Vanden Bosch
f100220176 Refactored widget properties to simplify the interface. 2019-08-28 00:50:38 +02:00
Daan Vanden Bosch
3fd4d7c882 Quest entity view is now ported to the new GUI system. 2019-08-27 14:50:16 +02:00
Daan Vanden Bosch
0a9abcc7ed ASM editor undo now correctly resets when a new quest is loaded. 2019-08-26 19:31:01 +02:00
Daan Vanden Bosch
4e38896676 The ASM editor view has been ported to the new GUI system. 2019-08-26 19:19:19 +02:00
Daan Vanden Bosch
03dc60cec9 Undo/redo now works again in the quest editor. The NPC counts view is also ported. 2019-08-26 15:42:12 +02:00
Daan Vanden Bosch
17400200a0 Ported quest info view to the new GUI system. 2019-08-23 17:00:39 +02:00
Daan Vanden Bosch
8e13441f26 Improved observables and ported more of the quest editor to the new GUI system. 2019-08-22 22:45:01 +02:00
Daan Vanden Bosch
18a8ac1ad6 Fixed bug in code that starts/stops renderers when not visible. 2019-08-21 22:29:20 +02:00
Daan Vanden Bosch
dbd5dba682 Tweaked theme and started working on porting quest editor to the new UI system. 2019-08-21 22:04:08 +02:00
Daan Vanden Bosch
3185737cd9 Made fonts slightly smaller. 2019-08-21 19:06:02 +02:00
Daan Vanden Bosch
844e63735e Texture viewer now uses the new UI system. 2019-08-21 18:59:56 +02:00
Daan Vanden Bosch
c4865ee510 Tweaked TabContainer and ToolBar. 2019-08-21 18:17:00 +02:00
Daan Vanden Bosch
72506461ab Swapped code using new and old UI system around. 2019-08-21 17:56:46 +02:00
Daan Vanden Bosch
060e746aac Model viewer now pauses and unpauses when switching tools. 2019-08-21 16:55:12 +02:00
Daan Vanden Bosch
66147fa5e1 Fixed bug in model viewer. 2019-08-21 15:39:32 +02:00
Daan Vanden Bosch
429595b513 Model viewer now completely build on the new UI system. 2019-08-21 15:19:44 +02:00
Daan Vanden Bosch
3ba13606aa More work on new UI. 2019-08-20 15:02:58 +02:00
Daan Vanden Bosch
c7cbf68411 The model viewer can load NJ and XJ files again. 2019-08-19 23:49:40 +02:00
Daan Vanden Bosch
5571f6b1a8 Started working on new UI. 2019-08-19 22:56:40 +02:00
Daan Vanden Bosch
1d0da754ca Added AddObjectComponent. 2019-08-17 17:14:09 +02:00
Daan Vanden Bosch
a619eaa8f7 Updated features list. 2019-08-17 12:59:31 +02:00
Daan Vanden Bosch
b8ff183808 Somewhat improved parameter hint signatures. 2019-08-16 20:26:37 +02:00
Daan Vanden Bosch
56964cb4e2 Added preliminary support for parameter hints. 2019-08-16 19:57:29 +02:00
Daan Vanden Bosch
7d0d3188c2 Script labels in TalkLinkToSupport objects are now detected. 2019-08-16 16:41:05 +02:00
Daan Vanden Bosch
48a1998679 Fixed bug in area geometry loading code. 2019-08-14 18:55:05 +02:00
Daan Vanden Bosch
7454517eb6 Fixed new quest creation. 2019-08-14 18:48:28 +02:00
Daan Vanden Bosch
3a94a94e5d Improved entity section guessing when translating entities. 2019-08-14 18:29:40 +02:00
Daan Vanden Bosch
791968dd4e Made quest ID, name, short description and long description undoable. 2019-08-14 17:37:06 +02:00
Daan Vanden Bosch
cd2849cae4 Script entry points are now extracted from NPCs and objects. 2019-08-14 13:58:48 +02:00
Daan Vanden Bosch
9b19431e0a Fixed bug in pasm syntax highlighting. 2019-08-13 15:44:35 +02:00
Daan Vanden Bosch
206cc3ebb0 More .dat object properties are now parsed. 2019-08-12 20:34:47 +02:00
Daan Vanden Bosch
1a1a52bd43 Seaside area at night variant 1 can now be used to add a second tower map. 2019-08-12 17:55:04 +02:00
Daan Vanden Bosch
29b2e754dd Fixed float parsing bug in assembly lexer. 2019-08-12 17:18:42 +02:00
Daan Vanden Bosch
6c17c36b61 Split NPC counts off into its own dockable component. 2019-08-11 21:59:36 +02:00
Daan Vanden Bosch
66127253d3 Split code into one module per tool + core and application module. 2019-08-10 22:09:06 +02:00
Daan Vanden Bosch
cf1cd26c41 Fixed a bug in area variants computation. 2019-08-10 19:37:34 +02:00
Daan Vanden Bosch
ecbab0637d Area variants now change automatically when bb_map_designate instructions are added, deleted or changed. The 3D view also updates automatically. 2019-08-10 18:11:27 +02:00
Daan Vanden Bosch
2d551a1951 Separated most of quest domain models from quest parsing code and made quest parsing data structures more structured cloning-friendly. All areas for the quest's episode are now shown in the area selector with the number of entities in them in parentheses. 2019-08-10 00:27:57 +02:00
Daan Vanden Bosch
7cfcf5222c Script editor now supports line comments. 2019-08-08 11:02:06 +02:00
Daan Vanden Bosch
269b9cbd25 Removed unnecessary default quest character. 2019-08-07 22:31:02 +02:00
Daan Vanden Bosch
48b683f514 Fixed .qst embedded file naming bug. Implemented simpler PRS compression algorithm that seems to cause fewer errors during roundtrip tests. 2019-08-07 22:28:03 +02:00
Daan Vanden Bosch
194df177ab When creating a new quest and saving it, the filename of a quest that was loaded earlier was shown. This is now fixed. 2019-08-07 14:22:47 +02:00
Daan Vanden Bosch
c8ae97d8f6 Fixed bug in assembler. 2019-08-07 13:57:59 +02:00
Daan Vanden Bosch
d32c56ed02 Improved quest unit test. 2019-08-07 09:03:25 +02:00
Daan Vanden Bosch
fbef785410 Refactored opcode types to make them structurally clonable. 2019-08-07 08:43:47 +02:00
Daan Vanden Bosch
b928738d06 Float literal arguments passed via the stack are now handled correctly in the assembler and disassembler. 2019-08-06 17:37:34 +02:00
Daan Vanden Bosch
d3efe94837 Started working on a quest script VM. It has a call stack, supports threading, waiting for vsync and can execute some instructions at the moment. 2019-08-06 17:07:12 +02:00
Daan Vanden Bosch
054b1c99fb Fixed bugs in DFA code. All dynamic label references are now detected unless they're computed in a way which is too complex to analyse at the moment. 2019-08-06 01:14:57 +02:00
Daan Vanden Bosch
9284cf4a8a Fixed assembler bug related to arg_pushr. 2019-08-05 22:33:07 +02:00
Daan Vanden Bosch
2fc55cdc1a Dynamically referenced object code segments are now parsed correctly. 2019-08-05 16:56:39 +02:00
Daan Vanden Bosch
1ba7d3b6a7 All bugs resulting from opcode typing changes have been fixed. 2019-08-05 00:14:39 +02:00
Daan Vanden Bosch
dbe1b06fa6 Only one bug remains after opcode typing changes. 2019-08-04 22:59:32 +02:00
Daan Vanden Bosch
8e5472044b Fixed most issues resulting from opcode typing changes. 2019-08-04 19:50:02 +02:00
Daan Vanden Bosch
7aefdb688c Opcode code is now generated from yaml definitions. 2019-08-04 17:52:01 +02:00
Daan Vanden Bosch
fba6ac3e10 Created yaml file with opcode definitions (70% complete). 2019-08-03 23:23:55 +02:00
Daan Vanden Bosch
83d32dfe99 Added basic algorithm to compute the possible values of a register at a specific program point. 2019-08-02 00:13:19 +02:00
Daan Vanden Bosch
76c3169fd3 Added ValueSet, an efficient integer set. 2019-08-01 19:37:26 +02:00
Daan Vanden Bosch
d9ff4308e0 Added control flow graph creation algorithm. 2019-07-31 21:37:17 +02:00
Daan Vanden Bosch
ccb31854c3 Object code is now parsed recursively from its entry labels to ensure all segments are parsed as the correct type. 2019-07-30 23:15:23 +02:00
Daan Vanden Bosch
a1cec18636 Fixed bugs in assembler. 2019-07-30 16:39:50 +02:00
Daan Vanden Bosch
7d89c870cc Fixed bugs in bin object code parsing and the assembler. 2019-07-29 23:46:11 +02:00
Daan Vanden Bosch
1da64b8632 Data segments are now supported in quest script assembly. 2019-07-29 21:59:16 +02:00
Daan Vanden Bosch
3edb861693 Object code and labels are now represented by segments. Each segment describes the instructions or data denoted by a label. 2019-07-29 01:02:22 +02:00
Daan Vanden Bosch
f95e7ea220 All unit tests pass again. Removed dependency on text-encoding. Refactored cursors to reuse more code. 2019-07-27 21:47:49 +02:00