summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTal Hayon <talhayon1@gmail.com>2022-08-04 20:33:03 +0300
committerTal Hayon <talhayon1@gmail.com>2022-08-04 20:33:03 +0300
commit3583720933f0de3e524fdfc22bd909e58b4959fe (patch)
tree107531044fce6baf8d1775e54cbbbeb45f11433f /include
parent76634df376948b03825fbdcf770ce8351dbe3bd0 (diff)
Match sub_0804A720
Diffstat (limited to 'include')
-rw-r--r--include/entity.h50
1 files changed, 22 insertions, 28 deletions
diff --git a/include/entity.h b/include/entity.h
index ddeef86c..c20af84a 100644
--- a/include/entity.h
+++ b/include/entity.h
@@ -112,6 +112,22 @@ typedef struct {
u8 b3 : 1; // 0x80
} PACKED SpritePriority;
+#define GENERIC_ENTITY_FIELDS \
+ /*0x68*/ union SplitHWord field_0x68; \
+ /*0x6a*/ union SplitHWord field_0x6a; \
+ /*0x6c*/ union SplitHWord field_0x6c; \
+ /*0x6e*/ union SplitHWord field_0x6e; \
+ /*0x70*/ union SplitWord field_0x70; \
+ /*0x74*/ union SplitHWord field_0x74; \
+ /*0x76*/ union SplitHWord field_0x76; \
+ /*0x78*/ union SplitHWord field_0x78; \
+ /*0x7a*/ union SplitHWord field_0x7a; \
+ /*0x7c*/ union SplitWord field_0x7c; \
+ /*0x80*/ union SplitHWord field_0x80; \
+ /*0x82*/ union SplitHWord field_0x82; \
+ /*0x84*/ union SplitHWord cutsceneBeh; \
+ /*0x86*/ union SplitHWord field_0x86;
+
/**
* Container for instantiable behavior.
*/
@@ -201,39 +217,17 @@ typedef struct Entity_ {
/*0x63*/ s8 spriteOffsetY;
/*0x64*/ void* myHeap; /**< Heap data allocated with #zMalloc. */
#ifndef NENT_DEPRECATED
- /*0x68*/ union SplitHWord field_0x68;
- /*0x6a*/ union SplitHWord field_0x6a;
- /*0x6c*/ union SplitHWord field_0x6c;
- /*0x6e*/ union SplitHWord field_0x6e;
- /*0x70*/ union SplitWord field_0x70;
- /*0x74*/ union SplitHWord field_0x74;
- /*0x76*/ union SplitHWord field_0x76;
- /*0x78*/ union SplitHWord field_0x78;
- /*0x7a*/ union SplitHWord field_0x7a;
- /*0x7c*/ union SplitWord field_0x7c;
- /*0x80*/ union SplitHWord field_0x80;
- /*0x82*/ union SplitHWord field_0x82;
- /*0x84*/ union SplitHWord cutsceneBeh;
- /*0x86*/ union SplitHWord field_0x86;
+ GENERIC_ENTITY_FIELDS
#endif
} Entity;
typedef struct {
+ GENERIC_ENTITY_FIELDS
+} GenericEntityData;
+
+typedef struct {
/*0x00*/ Entity base;
- /*0x68*/ union SplitHWord field_0x68;
- /*0x6a*/ union SplitHWord field_0x6a;
- /*0x6c*/ union SplitHWord field_0x6c;
- /*0x6e*/ union SplitHWord field_0x6e;
- /*0x70*/ union SplitWord field_0x70;
- /*0x74*/ union SplitHWord field_0x74;
- /*0x76*/ union SplitHWord field_0x76;
- /*0x78*/ union SplitHWord field_0x78;
- /*0x7a*/ union SplitHWord field_0x7a;
- /*0x7c*/ union SplitWord field_0x7c;
- /*0x80*/ union SplitHWord field_0x80;
- /*0x82*/ union SplitHWord field_0x82;
- /*0x84*/ union SplitHWord cutsceneBeh;
- /*0x86*/ union SplitHWord field_0x86;
+ GENERIC_ENTITY_FIELDS
} GenericEntity;
/**