diff options
| author | Tal Hayon <talhayon1@gmail.com> | 2022-08-04 20:33:03 +0300 |
|---|---|---|
| committer | Tal Hayon <talhayon1@gmail.com> | 2022-08-04 20:33:03 +0300 |
| commit | 3583720933f0de3e524fdfc22bd909e58b4959fe (patch) | |
| tree | 107531044fce6baf8d1775e54cbbbeb45f11433f /include | |
| parent | 76634df376948b03825fbdcf770ce8351dbe3bd0 (diff) | |
Match sub_0804A720
Diffstat (limited to 'include')
| -rw-r--r-- | include/entity.h | 50 |
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; /** |
