jtuu
d85de25f31
[VM] Fixed a bug where string arguments did not have a null terminator.
2019-11-11 23:00:56 +02:00
jtuu
f6b766bda3
Fixed VM tests that were broken by the changes to ExecutionResult.
2019-11-11 18:09:51 +02:00
jtuu
b8db5d46fc
[VM] Allow last instruction to return an ExecutionResult other than Halted.
...
The next call to execute will then be a no-op and return Halted.
2019-11-11 18:07:26 +02:00
jtuu
87cabac307
Added a unit test for list opcode.
2019-11-11 16:08:38 +02:00
jtuu
6b2a61bc4f
Added RegTupRef argument support for the argument stack.
2019-11-11 16:07:25 +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
jtuu
7e99857baf
Added a message log in the quest editor.
...
QuestEditorStore was extended to hold the state of the message log. The view is handled by a new core GUI class MessageLog.
2019-11-08 15:07:46 +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
Daan Vanden Bosch
4a755a884f
Entity world-relative rotation now stays constant while translating manually.
2019-11-04 18:02:30 +01:00
Daan Vanden Bosch
db9d15b78a
Fixed bug in computation of inverse rotation of section. The bug manifested while manually translating an entity across a rotated section.
2019-11-04 18:01:11 +01:00
Daan Vanden Bosch
8212348a81
Made event rendering more robust. Added call_now option to ListProperty.observe_list.
2019-11-04 17:19:57 +01:00
jtuu
e7a39168ae
[VM] Print a warning instead of throwing an error when a unimplemented opcode is encountered.
2019-11-01 21:05:20 +02:00
jtuu
4441435302
[VM] Implemented opcode set_episode and made it possible to load the entire quest in the VM.
2019-11-01 21:04:50 +02:00
jtuu
89a119e90d
Modified the function convert_quest_from_model to do a deep copy of the given object.
...
Added a couple other cloning functions.
2019-11-01 18:13:32 +02:00
Daan Vanden Bosch
af5c27a565
Removed unnecessary console.log statements.
2019-10-31 19:11:58 +01:00
Daan Vanden Bosch
ee76fb8aea
Merge remote-tracking branch 'github/master'
2019-10-31 19:11:20 +01:00
Daan Vanden Bosch
f1fa19238d
Event DAG edges are now shown with lines.
2019-10-31 19:11:14 +01:00
jtuu
c726cd3461
[VM] Implemented gettime opcode.
2019-10-30 23:00:06 +02:00
jtuu
260c070f34
[VM] Implemented get_random opcode and added a unit test for it.
2019-10-30 21:02:35 +02:00
Daan Vanden Bosch
95da6e9e57
Logging when duplicate events are encountered.
2019-10-29 15:26:10 +01:00
Daan Vanden Bosch
5f1b3d5ff1
Quest events are now grouped in DAGs.
2019-10-29 15:22:46 +01:00
Daan Vanden Bosch
dff39bd194
Improved events view UI.
2019-10-27 23:21:58 +01:00
Daan Vanden Bosch
13fd0a984c
Fixed bug in QuestModel.
2019-10-27 22:47:38 +01:00
Daan Vanden Bosch
2ed9659d9b
Only the current area's event chains are now shown.
2019-10-27 22:40:26 +01:00
Daan Vanden Bosch
d6ebb8e21a
Added simple transparency to entities. Seems to work for most entities except for those that use translucent texture to emulate light rays etc.
2019-10-27 16:45:30 +01:00
jtuu
27e0d2fd6d
[VM] Added a unit test for float arithmetic.
2019-10-17 23:57:47 +03:00
jtuu
f42d66e7e1
[VM] Transform float arithmethic arguments to valid 32-bit floats.
2019-10-17 23:53:15 +03:00
jtuu
48f525a3bd
[VM] Fixed floating point arithmetic opcodes.
...
They were broken because they weren't actually using floats.
2019-10-17 22:11:59 +03:00
jtuu
2906c8b577
[VM] Added unit tests for integer arithmetic.
2019-10-17 21:48:21 +03:00
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
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
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
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