summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authornotyourav <65437533+notyourav@users.noreply.github.com>2021-02-28 17:05:57 -0800
committerGitHub <noreply@github.com>2021-02-28 17:05:57 -0800
commit082b0c03a3e5c34a511069e159e9485ced292dbc (patch)
tree4284940e28d2c44940dee10bfa352fcd3bee5b1b /include
parent6596831a6bff9638c00baf7d81632d6ed1ed7e02 (diff)
parente3ee1058bb05edd47321a5554995a1bc78b42289 (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.h22
-rw-r--r--include/object.h197
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*);