diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-16 11:02:09 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-16 11:02:09 (GMT) |
| commit | 95bbd04d212a35d19af4f13375914971aeed758e (patch) | |
| tree | 533be8ff914afb13f0a97303f9c76bc0ed3277e5 /src/virtualmachine | |
| parent | 42ec654f3e38e8c037a948665d96789334f5b3d1 (diff) | |
| parent | ec0dfa27e888461ec85012fa23d5a26e30f0e813 (diff) | |
| download | powder-95bbd04d212a35d19af4f13375914971aeed758e.zip powder-95bbd04d212a35d19af4f13375914971aeed758e.tar.gz | |
Merge branch 'master' of github.com:FacialTurd/PowderToypp
Diffstat (limited to 'src/virtualmachine')
| -rw-r--r-- | src/virtualmachine/Operations.cpp | 2 | ||||
| -rw-r--r-- | src/virtualmachine/Syscalls.cpp | 17 | ||||
| -rw-r--r-- | src/virtualmachine/Syscalls.inl | 23 | ||||
| -rw-r--r-- | src/virtualmachine/VirtualMachine.h | 2 |
4 files changed, 31 insertions, 13 deletions
diff --git a/src/virtualmachine/Operations.cpp b/src/virtualmachine/Operations.cpp index dcd2cb2..0c998a8 100644 --- a/src/virtualmachine/Operations.cpp +++ b/src/virtualmachine/Operations.cpp @@ -353,4 +353,4 @@ namespace vm Push<int4_t>(Pop<float4_t>()); return 0; } -}
\ No newline at end of file +} diff --git a/src/virtualmachine/Syscalls.cpp b/src/virtualmachine/Syscalls.cpp index bc88fb2..876fe52 100644 --- a/src/virtualmachine/Syscalls.cpp +++ b/src/virtualmachine/Syscalls.cpp @@ -68,4 +68,19 @@ namespace vm { sim->part_change_type(ARG(0).int4, ARG(1).int4, ARG(2).int4, ARG(3).int4); } -}
\ No newline at end of file + + TRAPDEF(pmapData) + { + Push<int4_t>(sim->pmap[ARG(1).int4][ARG(0).int4]); + } + + TRAPDEF(deletePart) + { + sim->delete_part(ARG(0).int4, ARG(1).int4, ARG(2).int4); + } + + TRAPDEF(killPart) + { + sim->kill_part(ARG(0).int4); + } +} diff --git a/src/virtualmachine/Syscalls.inl b/src/virtualmachine/Syscalls.inl index 6338d11..75455c1 100644 --- a/src/virtualmachine/Syscalls.inl +++ b/src/virtualmachine/Syscalls.inl @@ -1,11 +1,14 @@ -TRAPDEF(-104, sin) -TRAPDEF(-105, cos) -TRAPDEF(-106, atan2) -TRAPDEF(-107, sqrt) -TRAPDEF(-108, floor) -TRAPDEF(-109, ceil) +TRAPDEF(-1, sin) +TRAPDEF(-2, cos) +TRAPDEF(-3, atan2) +TRAPDEF(-4, sqrt) +TRAPDEF(-5, floor) +TRAPDEF(-6, ceil) -TRAPDEF(-110, error) -TRAPDEF(-111, print) -TRAPDEF(-112, partCreate) -TRAPDEF(-113, partChangeType)
\ No newline at end of file +TRAPDEF(-7, error) +TRAPDEF(-8, print) +TRAPDEF(-9, partCreate) +TRAPDEF(-10, partChangeType) +TRAPDEF(-11, pmapData) +TRAPDEF(-12, deletePart) +TRAPDEF(-13, killPart) diff --git a/src/virtualmachine/VirtualMachine.h b/src/virtualmachine/VirtualMachine.h index 04dd400..b295d02 100644 --- a/src/virtualmachine/VirtualMachine.h +++ b/src/virtualmachine/VirtualMachine.h @@ -279,4 +279,4 @@ public: }; }; -}
\ No newline at end of file +} |
