summaryrefslogtreecommitdiff
path: root/src/code/m_object.c
diff options
context:
space:
mode:
authorAnghelo Carvajal <angheloalf95@gmail.com>2023-08-16 13:21:44 -0400
committerGitHub <noreply@github.com>2023-08-16 10:21:44 -0700
commitc7a746e71e310a23ba43a7208b9c83d2d1d483ee (patch)
tree8011f9289f4726ec929992d8fef517e6e6a128a0 /src/code/m_object.c
parent1ece5c6e6b3f01eb15ac87af832f210fef25346b (diff)
Object table (#53)
* find object_table and make tool to extract it * migrate object table * update the assets yaml a bit * comment * name gameplay_keep * change gameplay_keep to segment 4 * rename exclusive_ram_id to fit the segment used * review
Diffstat (limited to 'src/code/m_object.c')
-rw-r--r--src/code/m_object.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/code/m_object.c b/src/code/m_object.c
new file mode 100644
index 0000000..4e0b120
--- /dev/null
+++ b/src/code/m_object.c
@@ -0,0 +1,22 @@
+#include "m_object.h"
+#include "segment_symbols.h"
+
+// Segment declarations (also used in the table below)
+#define DEFINE_OBJECT(name, _enumValue) DECLARE_ROM_SEGMENT(name);
+#define DEFINE_OBJECT_UNSET(_enumValue)
+
+#include "tables/object_table.h"
+
+#undef DEFINE_OBJECT
+#undef DEFINE_OBJECT_UNSET
+
+// Object Table definition
+#define DEFINE_OBJECT(name, _enumValue) { SEGMENT_ROM_START(name), SEGMENT_ROM_END(name) },
+#define DEFINE_OBJECT_UNSET(_enumValue) { 0, 0 },
+
+ObjectOverlay gObjectTable[OBJECT_ID_MAX] = {
+#include "tables/object_table.h"
+};
+
+#undef DEFINE_OBJECT
+#undef DEFINE_OBJECT_UNSET