mirror of
https://github.com/zeldaret/tmc
synced 2026-09-03 02:13:43 -04:00
create object enum and update entity type struct
This commit is contained in:
+14
-8
@@ -5,19 +5,22 @@
|
||||
#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;
|
||||
u8 filler[14];
|
||||
} UnkStruct;
|
||||
|
||||
typedef struct {
|
||||
u8 type;
|
||||
u8 subtype;
|
||||
u8 form;
|
||||
u8 parameter;
|
||||
} EntityType;
|
||||
|
||||
typedef struct {
|
||||
s8 offset_x;
|
||||
s8 offset_y;
|
||||
@@ -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;
|
||||
|
||||
@@ -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*);
|
||||
|
||||
Reference in New Issue
Block a user