aboutsummaryrefslogtreecommitdiff
path: root/src/libparsec/include/obj_creg.h
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
committerFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
commitc068f22329d5cc722622a2183bbb22eef2093df7 (patch)
tree12d56c1aede67988a55e241364606bfbb4dba933 /src/libparsec/include/obj_creg.h
downloadopenparsec-main.tar.xz
openparsec-main.zip
initial importHEADmain
Diffstat (limited to 'src/libparsec/include/obj_creg.h')
-rw-r--r--src/libparsec/include/obj_creg.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/libparsec/include/obj_creg.h b/src/libparsec/include/obj_creg.h
new file mode 100644
index 0000000..bada64d
--- /dev/null
+++ b/src/libparsec/include/obj_creg.h
@@ -0,0 +1,46 @@
+/*
+ * PARSEC HEADER: obj_creg.h
+ */
+
+#ifndef _OBJ_CREG_H_
+#define _OBJ_CREG_H_
+
+
+// maximum number of ship classes
+#define MAX_SHIP_CLASSES 16
+
+// maximum number of extra classes
+#define MAX_EXTRA_CLASSES 64
+
+// class is not a ship
+#define SHIPINDEX_NO_SHIP -1
+
+// class is not an extra
+#define EXTRAINDEX_NO_EXTRA -1
+
+
+// function pointer type for class registration callback
+typedef void (*classreg_fpt)( int numparams, int *params );
+
+
+// external variables
+
+extern int NumShipClasses;
+extern dword ShipClasses[];
+extern int ObjClassShipIndex[];
+
+extern int NumExtraClasses;
+extern dword ExtraClasses[];
+extern int ObjClassExtraIndex[];
+
+
+// external functions
+
+int OBJ_RegisterClassRegistration( classreg_fpt regfunc );
+int OBJ_RegisterShipClass( dword classid );
+int OBJ_RegisterExtraClass( dword classid );
+
+
+#endif // _OBJ_CREG_H_
+
+