diff options
| author | notyourav <65437533+notyourav@users.noreply.github.com> | 2021-02-28 17:05:57 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-28 17:05:57 -0800 |
| commit | 082b0c03a3e5c34a511069e159e9485ced292dbc (patch) | |
| tree | 4284940e28d2c44940dee10bfa352fcd3bee5b1b /include | |
| parent | 6596831a6bff9638c00baf7d81632d6ed1ed7e02 (diff) | |
| parent | e3ee1058bb05edd47321a5554995a1bc78b42289 (diff) | |
Merge pull request #126 from notyourav/ent_enums
create object enum and update entity type struct
Diffstat (limited to 'include')
| -rw-r--r-- | include/entity.h | 22 | ||||
| -rw-r--r-- | include/object.h | 197 |
2 files changed, 211 insertions, 8 deletions
diff --git a/include/entity.h b/include/entity.h index 9ab0aa64..a1dd6d93 100644 --- a/include/entity.h +++ b/include/entity.h @@ -5,6 +5,16 @@ #include "global.h" #include "sprite.h" +typedef enum { + PLAYER = 1, + ENEMY = 3, + PROJECTILE = 4, + OBJECT = 6, + NPC = 7, + PLAYER_ITEM = 8, + MANAGER = 9, +} EntityType; + typedef struct { void* entity1; void* entity2; @@ -12,13 +22,6 @@ typedef struct { } UnkStruct; typedef struct { - u8 type; - u8 subtype; - u8 form; - u8 parameter; -} EntityType; - -typedef struct { s8 offset_x; s8 offset_y; u8 unk2[4]; @@ -39,7 +42,10 @@ typedef struct { typedef struct Entity { /*0x00*/ struct Entity* prev; /*0x04*/ struct Entity* next; - /*0x08*/ EntityType entityType; + /*0x08*/ u8 kind; // was: type + /*0x09*/ u8 id; // was: subtype + /*0x0a*/ u8 type; // was: form + /*0x0b*/ u8 type2; // was: parameter /*0x0c*/ u8 action; /*0x0d*/ u8 previousActionFlag; /*0x0e*/ u8 actionDelay; diff --git a/include/object.h b/include/object.h index 5480a8a2..465ef064 100644 --- a/include/object.h +++ b/include/object.h @@ -4,6 +4,203 @@ #include "global.h" #include "entity.h" +typedef enum { + GROUND_ITEM, + DEATH_FX, + SHOP_ITEM, + BUTTON, + OBJECT_4, + POT, + OBJECT_6, + PUSHED_BLOCK, + LOCKED_DOOR, + OBJECT_9, + OBJECT_A, + OBJECT_B, + CHEST_SPAWNER, + OBJECT_D, + OBJECT_E, + SPECIAL_FX, + OBJECT_10, + OBJECT_11, + OBJECT_12, + RAILTRACK, + LILYPAD_LARGE, + OBJECT_15, + FLOATING_PLATFORM, + OBJECT_17, + EVIL_SPIRIT, + HOUSE_DOOR_EXT, + OBJECT_1A, + GREAT_FAIRY, + OBJECT_1C, + OBJECT_1D, + OBJECT_1E, + OBJECT_1F, + OBJECT_20, + OBJECT_21, + FIGURINE_DEVICE, + EYE_SWITCH, + OBJECT_24, + BIG_BARREL, + OBJECT_26, + PUSHABLE_STATUE, + OBJECT_28, + OBJECT_29, + OBJECT_2A, + OBJECT_2B, + BEANSTALK, + SMOKE, + PUSHABLE_ROCK, + HITTABLE_LEVER, + OBJECT_30, + OBJECT_31, + PULLABLE_MUSHROOM, + BOLLARD, + WARP_POINT, + OBJECT_35, + OBJECT_36, + OBJECT_37, + JAR_PORTAL, + BOSS_DOOR, + OBJECT_3A, + PORTAL_MUSHROOM_STALKS, + PORTAL_FALLING_PLAYER, + OBJECT_3D, + OBJECT_3E, + GIANT_LEAF, + FAIRY, + LADDER_UP, + OBJECT_42, + OBJECT_43, + OBJECT_44, + OBJECT_45, + GIANT_BOOK_LADDER, + HEART_CONTAINER, + FILE_SCREEN_OBJECTS, + OBJECT_49, + BACKGROUND_CLOUD, + OBJECT_4B, + PUSHABLE_FURNITURE, + FURNITURE, + MINISH_SIZED_ENTRANCE, + ARCHWAY, + GIANT_ROCK, + OBJECT_51, + OBJECT_52, + OBJECT_53, + PULLABLE_LEVER, + MINECART, + THOUGHT_BUBBLE, + HIDDEN_LADDER_DOWN, + GENTARI_CURTAIN, + LAVA_PLATFORM, + OBJECT_5A, + OBJECT_5B, + MASK, + HOUSE_DOOR_INT, + WHIRLWIND, + OBJECT_BLOCKING_STAIRS, + SWORDSMAN_NEWSLETTER, + OBJECT_61, + GIANT_TWIG, + OBJECT_63, + OBJECT_64, + LADDER_HOLE, + OBJECT_66, + OBJECT_67, + OBJECT_68, + OBJECT_69, + OBJECT_6A, + CRENAL_BEAN_SPROUT, + MINECART_DOOR, + OBJECT_ON_PILLAR, + MINERAL_WATER_SOURCE, + MINISH_SIZED_ARCHWAY, + OBJECT_70, + PUSHABLE_GRAVE, + OBJECT_72, + LILYPAD_SMALL, + OBJECT_74, + OBJECT_75, + OBJECT_76, + BELL, + HUGE_DECORATION, + OBJECT_79, + STEAM, + PUSHABLE_LEVER, + HUGE_SHOES, + OBJECT_ON_BEETLE, + OBJECT_7E, + PICO_BLOOM, + OBJECT_80, + OBJECT_81, + BIG_VORTEX, + BIG_PUSHABLE_LEVER, + SMALL_ICE_BLOCK, + BIG_ICE_BLOCK, + OBJECT_86, + OBJECT_87, + HUGE_BOOK, + OBJECT_89, + OBJECT_8A, + OBJECT_8B, + BOOK, + FIREPLACE, + OBJECT_8E, + FROZEN_WATER_ELEMENT, + OBJECT_90, + OBJECT_91, + BAKER_OVEN, + OBJECT_93, + WIND_TRIBE_FLAG, + BIRD, + OBJECT_96, + OBJECT_97, + OBJECT_98, + OBJECT_99, + HUGE_ACORN, + OBJECT_9B, + TREE_HIDING_PORTAL, + LIGHTABLE_SWITCH, + OBJECT_9E, + FAN, + OBJECT_A0, + PALACE_ARCHWAY, + OBJECT_A2, + CLOUD, + MINISH_LIGHT, + OBJECT_A5, + OBJECT_A6, + OBJECT_A7, + OBJECT_A8, + OBJECT_A9, + WATERFALL_OPENING, + OBJECT_AB, + FOUR_ELEMENTS, + OBJECT_AD, + FLOATING_BLOCK, + OBJECT_AF, + METAL_DOOR, + JAIL_BARS, + OBJECT_B2, + OBJECT_B3, + OBJECT_B4, + OBJECT_B5, + OBJECT_B6, + WELL, + WIND_TRIBE_TELEPORTER, + OBJECT_B9, + OBJECT_BA, + WINDCREST, + LIT_AREA, + OBJECT_BD, + PINWHEEL, + OBJECT_BF, + ENEMY_ITEM, + OBJECT_C1, +} Object; + extern void ItemOnGround(Entity*); extern void DeathFx(Entity*); extern void ItemForSale(Entity*); |
