summaryrefslogtreecommitdiff
path: root/tptlibrary
diff options
context:
space:
mode:
Diffstat (limited to 'tptlibrary')
-rw-r--r--tptlibrary/file.c15
-rw-r--r--tptlibrary/tpt_syscalls.asm16
-rw-r--r--tptlibrary/tpt_syscalls.h20
3 files changed, 51 insertions, 0 deletions
diff --git a/tptlibrary/file.c b/tptlibrary/file.c
new file mode 100644
index 0000000..67f2ca1
--- /dev/null
+++ b/tptlibrary/file.c
@@ -0,0 +1,15 @@
+#include "tpt_syscalls.h"
+
+int update_TEST(int i, int x, int y, int nt, int ss)
+{
+ int k, j, index;
+
+ for(k=-1; k<2; k++)
+ for(j=-1; j<2; j++)
+ {
+ index = pmapData(x+k, y+j);
+ if ((index&0xFF) == 2)
+ killPart(index>>8);
+ }
+ return 0;
+}
diff --git a/tptlibrary/tpt_syscalls.asm b/tptlibrary/tpt_syscalls.asm
new file mode 100644
index 0000000..fd86585
--- /dev/null
+++ b/tptlibrary/tpt_syscalls.asm
@@ -0,0 +1,16 @@
+code
+
+equ sin -1
+equ cos -2
+equ atan2 -3
+equ sqrt -4
+equ floor -5
+equ ceil -6
+
+equ error -7
+equ print -8
+equ partCreate -9
+equ partChangeType -10
+equ pmapData -11
+equ deletePart -12
+equ killPart -13
diff --git a/tptlibrary/tpt_syscalls.h b/tptlibrary/tpt_syscalls.h
new file mode 100644
index 0000000..f72aeb5
--- /dev/null
+++ b/tptlibrary/tpt_syscalls.h
@@ -0,0 +1,20 @@
+#ifndef TPT_SYSCALLS_H
+#define TPT_SYSCALLS_H
+
+float sin(float value);
+float cos(float value);
+float atan2(float x, float y);
+float sqrt(float value);
+float floor(float value);
+float ceil(float value);
+
+void print(char * message);
+void error(char * message);
+
+int partCreate(int i, int x, int y, int type);
+void partChangeType(int i, int x, int y, int type);
+int pmapData(int x, int y);
+void deletePart(int x, int y, int flags);
+void killPart(int i);
+
+#endif