summaryrefslogtreecommitdiff
path: root/src/virtualmachine
diff options
context:
space:
mode:
authorSavely Skresanov <savask@yandex.ru>2012-09-15 11:29:23 (GMT)
committer Savely Skresanov <savask@yandex.ru>2012-09-15 14:34:18 (GMT)
commitb626864293a5cb4717303245095c6d6f39c52f7d (patch)
tree1a9dd2f7db613851115877ba6c52da24f132a871 /src/virtualmachine
parent8a4d18df49f6dbc22b3c1b87c19cc7e6eca5837b (diff)
downloadpowder-b626864293a5cb4717303245095c6d6f39c52f7d.zip
powder-b626864293a5cb4717303245095c6d6f39c52f7d.tar.gz
Some work on adding new hooks.
Diffstat (limited to 'src/virtualmachine')
-rw-r--r--src/virtualmachine/Operations.cpp2
-rw-r--r--src/virtualmachine/Syscalls.cpp11
-rw-r--r--src/virtualmachine/Syscalls.inl21
-rw-r--r--src/virtualmachine/VirtualMachine.h2
4 files changed, 23 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..692d4d0 100644
--- a/src/virtualmachine/Syscalls.cpp
+++ b/src/virtualmachine/Syscalls.cpp
@@ -68,4 +68,13 @@ 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)
+ {
+ int xarg, yarg;
+ yarg = ARG(0).int4;
+ xarg = ARG(1).int4;
+
+ Push<int4_t>(sim->pmap[yarg][xarg]);
+ }
+}
diff --git a/src/virtualmachine/Syscalls.inl b/src/virtualmachine/Syscalls.inl
index 6338d11..5281fb3 100644
--- a/src/virtualmachine/Syscalls.inl
+++ b/src/virtualmachine/Syscalls.inl
@@ -1,11 +1,12 @@
-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)
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
+}