Add enum for actor profiles & rework files

This commit is contained in:
Cuyler36
2023-06-23 12:58:37 -04:00
parent d0bd3413bf
commit c7beb2001a
9 changed files with 767 additions and 538 deletions
+251 -2
View File
@@ -36,8 +36,257 @@ enum actor_part {
ACTOR_PART_NUM
};
enum actor_profile_table {
mAc_PROFILE_PLAYER,
mAc_PROFILE_BGITEM,
mAc_PROFILE_SAMPLE,
mAc_PROFILE_FIELDM_DRAW,
mAc_PROFILE_FIELD_DRAW,
mAc_PROFILE_AIRPLANE,
mAc_PROFILE_ROOM_SUNSHINE,
mAc_PROFILE_LAMP_LIGHT,
mAc_PROFILE_EV_ANGLER,
mAc_PROFILE_BALL,
mAc_PROFILE_HANIWA,
mAc_PROFILE_MY_ROOM,
mAc_PROFILE_MBG,
mAc_PROFILE_T_TAMA,
mAc_PROFILE_BOXMANAGER,
mAc_PROFILE_BOXMOVE,
mAc_PROFILE_BOXTRICK01,
mAc_PROFILE_ARRANGE_ROOM,
mAc_PROFILE_ARRANGE_FURNITURE,
mAc_PROFILE_TRAINDOOR,
mAc_PROFILE_T_KEITAI,
mAc_PROFILE_HALLOWEEN_NPC,
mAc_PROFILE_EV_PUMPKIN,
mAc_PROFILE_RIDE_OFF_DEMO,
mAc_PROFILE_NPC_MAMEDANUKI,
mAc_PROFILE_HANABI_NPC0,
mAc_PROFILE_HANABI_NPC1,
mAc_PROFILE_SNOWMAN,
mAc_PROFILE_NPC_POST_GIRL,
mAc_PROFILE_NPC_ENGINEER,
mAc_PROFILE_NPC_MAJIN3,
mAc_PROFILE_NPC_SLEEP_OBABA,
mAc_PROFILE_NPC,
mAc_PROFILE_EFFECT_CONTROL,
mAc_PROFILE_NPC2,
mAc_PROFILE_KAMAKURA_NPC0,
mAc_PROFILE_NPC_POST_MAN,
mAc_PROFILE_SHOP_DESIGN,
mAc_PROFILE_QUEST_MANAGER,
mAc_PROFILE_MAILBOX,
mAc_PROFILE_HOUSE,
mAc_PROFILE_SHOP_LEVEL,
mAc_PROFILE_SHOP,
mAc_PROFILE_MYHOUSE,
mAc_PROFILE_EV_ARTIST,
mAc_PROFILE_EV_BROKER,
mAc_PROFILE_EV_DESIGNER,
mAc_PROFILE_T_UMBRELLA,
mAc_PROFILE_NPC_SHOP_MASTER,
mAc_PROFILE_BIRTH_CONTROL,
mAc_PROFILE_SHOP_MANEKIN,
mAc_PROFILE_SHOP_INDOOR,
mAc_PROFILE_EVENT_MANAGER,
mAc_PROFILE_SHOP_GOODS,
mAc_PROFILE_BRSHOP,
mAc_PROFILE_WEATHER,
mAc_PROFILE_POST_OFFICE,
mAc_PROFILE_NPC_GUIDE,
mAc_PROFILE_NPC_GUIDE2,
mAc_PROFILE_INSECT,
mAc_PROFILE_STATION,
mAc_PROFILE_EV_CARPETPEDDLER,
mAc_PROFILE_EV_KABUPEDDLER,
mAc_PROFILE_RESERVE,
mAc_PROFILE_HANDOVERITEM,
mAc_PROFILE_NPC_CONV_MASTER,
mAc_PROFILE_NPC_SUPER_MASTER,
mAc_PROFILE_NPC_DEPART_MASTER,
mAc_PROFILE_TOOLS,
mAc_PROFILE_STRUCTURE,
mAc_PROFILE_EV_GYPSY,
mAc_PROFILE_NPC_POLICE,
mAc_PROFILE_TRAIN0,
mAc_PROFILE_TRAIN1,
mAc_PROFILE_NPC_STATION_MASTER,
mAc_PROFILE_EV_SANTA,
mAc_PROFILE_NPC_POLICE2,
mAc_PROFILE_POLICE_BOX,
mAc_PROFILE_BGPOLICEITEM,
mAc_PROFILE_BGCHERRYITEM,
mAc_PROFILE_BGWINTERITEM,
mAc_PROFILE_BGXMASITEM,
mAc_PROFILE_BGPOSTITEM,
mAc_PROFILE_FALLS,
mAc_PROFILE_FALLSESW,
mAc_PROFILE_EV_BROKER2,
mAc_PROFILE_BROKER_DESIGN,
mAc_PROFILE_T_UTIWA,
mAc_PROFILE_PSNOWMAN,
mAc_PROFILE_MY_INDOOR,
mAc_PROFILE_NPC_RCN_GUIDE,
mAc_PROFILE_INTRO_DEMO,
mAc_PROFILE_SHRINE,
mAc_PROFILE_BUGGY,
mAc_PROFILE_T_HANABI,
mAc_PROFILE_CONVENI,
mAc_PROFILE_SUPER,
mAc_PROFILE_DEPART,
mAc_PROFILE_HANAMI_NPC0,
mAc_PROFILE_S_CAR,
mAc_PROFILE_HANAMI_NPC1,
mAc_PROFILE_NPC_P_SEL,
mAc_PROFILE_NPC_P_SEL2,
mAc_PROFILE_NPC_RCN_GUIDE2,
mAc_PROFILE_TRAIN_WINDOW,
mAc_PROFILE_NPC_MAJIN4,
mAc_PROFILE_KAMAKURA,
mAc_PROFILE_GYOEI,
mAc_PROFILE_NPC_MAJIN,
mAc_PROFILE_T_NPCSAO,
mAc_PROFILE_EV_SONCHO,
mAc_PROFILE_UKI,
mAc_PROFILE_NPC_MAJIN2,
mAc_PROFILE_NORMAL_NPC,
mAc_PROFILE_SET_MANAGER,
mAc_PROFILE_SET_NPC_MANAGER,
mAc_PROFILE_NPC_SHOP_MASTERSP,
mAc_PROFILE_ROOM_SUNSHINE_POSTHOUSE,
mAc_PROFILE_ROOM_SUNSHINE_POLICE,
mAc_PROFILE_EFFECTBG,
mAc_PROFILE_EV_CHERRY_MANAGER,
mAc_PROFILE_EV_YOMISE,
mAc_PROFILE_TOKYOSO_NPC0,
mAc_PROFILE_TOKYOSO_NPC1,
mAc_PROFILE_GOZA,
mAc_PROFILE_RADIO,
mAc_PROFILE_YATAI,
mAc_PROFILE_TOKYOSO_CONTROL,
mAc_PROFILE_SHOP_UMBRELLA,
mAc_PROFILE_GYO_RELEASE,
mAc_PROFILE_TUKIMI,
mAc_PROFILE_KAMAKURA_INDOOR,
mAc_PROFILE_EV_MIKO,
mAc_PROFILE_GYO_KAGE,
mAc_PROFILE_MIKUJI,
mAc_PROFILE_HOUSE_GOKI,
mAc_PROFILE_T_CRACKER,
mAc_PROFILE_NPC_NEEDLEWORK,
mAc_PROFILE_T_PISTOL,
mAc_PROFILE_T_FLAG,
mAc_PROFILE_T_TUMBLER,
mAc_PROFILE_TUKIMI_NPC0,
mAc_PROFILE_TUKIMI_NPC1,
mAc_PROFILE_NEEDLEWORK_SHOP,
mAc_PROFILE_COUNTDOWN_NPC0,
mAc_PROFILE_COUNTDOWN_NPC1,
mAc_PROFILE_TURI_NPC0,
mAc_PROFILE_TAISOU_NPC0,
mAc_PROFILE_COUNT,
mAc_PROFILE_GARAGARA,
mAc_PROFILE_TAMAIRE_NPC0,
mAc_PROFILE_TAMAIRE_NPC1,
mAc_PROFILE_HATUMODE_NPC0,
mAc_PROFILE_NPC_TOTAKEKE,
mAc_PROFILE_COUNT02,
mAc_PROFILE_HATUMODE_CONTROL,
mAc_PROFILE_TAMA,
mAc_PROFILE_KAGO,
mAc_PROFILE_TURI,
mAc_PROFILE_HOUSE_CLOCK,
mAc_PROFILE_TUNAHIKI_CONTROL,
mAc_PROFILE_TUNAHIKI_NPC0,
mAc_PROFILE_TUNAHIKI_NPC1,
mAc_PROFILE_KOINOBORI,
mAc_PROFILE_BEE,
mAc_PROFILE_NAMEPLATE,
mAc_PROFILE_DUMP,
mAc_PROFILE_ROPE,
mAc_PROFILE_EV_DOZAEMON,
mAc_PROFILE_WINDMILL,
mAc_PROFILE_LOTUS,
mAc_PROFILE_ANIMAL_LOGO,
mAc_PROFILE_MIKANBOX,
mAc_PROFILE_DOUZOU,
mAc_PROFILE_NPC_RTC,
mAc_PROFILE_TOUDAI,
mAc_PROFILE_NPC_RESTART,
mAc_PROFILE_NPC_MAJIN5,
mAc_PROFILE_FUUSEN,
mAc_PROFILE_EV_DOKUTU,
mAc_PROFILE_DUMMY,
mAc_PROFILE_NPC_CURATOR,
mAc_PROFILE_MUSEUM,
mAc_PROFILE_EV_GHOST,
mAc_PROFILE_MUSEUM_PICTURE,
mAc_PROFILE_185,
mAc_PROFILE_MUSEUM_FISH,
mAc_PROFILE_MUSEUM_INSECT,
mAc_PROFILE_BRIDGE_A,
mAc_PROFILE_ROOM_SUNSHINE_MUSEUM,
mAc_PROFILE_NEEDLEWORK_INDOOR,
mAc_PROFILE_ROOM_SUNSHINE_MINSECT,
mAc_PROFILE_MUSEUM_FOSSIL,
mAc_PROFILE_MURAL,
mAc_PROFILE_AC_SIGN,
mAc_PROFILE_ANT,
mAc_PROFILE_NPC_SENDO,
mAc_PROFILE_FLAG,
mAc_PROFILE_PRESENT_DEMO,
mAc_PROFILE_PRESENT_NPC,
mAc_PROFILE_BOAT,
mAc_PROFILE_BOAT_DEMO,
mAc_PROFILE_COTTAGE_MY,
mAc_PROFILE_COTTAGE_NPC,
mAc_PROFILE_EV_SONCHO2,
mAc_PROFILE_NPC_MASK_CAT,
mAc_PROFILE_NPC_MASK_CAT2,
mAc_PROFILE_RESET_DEMO,
mAc_PROFILE_GO_HOME_NPC,
mAc_PROFILE_MISIN,
mAc_PROFILE_LIGHTHOUSE_SWITCH,
mAc_PROFILE_MUSEUM_INDOOR,
mAc_PROFILE_T_ANRIUM1,
mAc_PROFILE_T_BISCUS1,
mAc_PROFILE_T_BISCUS2,
mAc_PROFILE_T_HASU1,
mAc_PROFILE_T_HAT1,
mAc_PROFILE_T_ZINNIA1,
mAc_PROFILE_T_BISCUS3,
mAc_PROFILE_T_BISCUS4,
mAc_PROFILE_T_ZINNIA2,
mAc_PROFILE_T_HAT2,
mAc_PROFILE_T_HAT3,
mAc_PROFILE_T_REI1,
mAc_PROFILE_T_REI2,
mAc_PROFILE_NPC_SHASHO,
mAc_PROFILE_T_BAG1,
mAc_PROFILE_T_BAG2,
mAc_PROFILE_EV_CASTAWAY,
mAc_PROFILE_T_COBRA1,
mAc_PROFILE_BALLOON,
mAc_PROFILE_NPC_SONCHO,
mAc_PROFILE_APRILFOOL_CONTROL,
mAc_PROFILE_EV_MAJIN,
mAc_PROFILE_HARVEST_NPC0,
mAc_PROFILE_HARVEST_NPC1,
mAc_PROFILE_GROUNDHOG_CONTROL,
mAc_PROFILE_EV_SPEECH_SONCHO,
mAc_PROFILE_GROUNDHOG_NPC0,
mAc_PROFILE_EV_TURKEY,
mAc_PROFILE_GHOG,
mAc_PROFILE_HTABLE,
mAc_PROFILE_NPC_HEM,
mAc_PROFILE_TENT,
mAc_PROFILE_PTERMINAL,
mAc_PROFILE_MSCORE_CONTROL
};
/* sizeof(ACTOR_PROFILE) == 0x24 */
typedef struct actor_profile_s {
struct actor_profile_s {
/* 0x00 */ s16 id; /* unique actor type ID */
/* 0x02 */ u8 part; /* actor type, seemingly called 'part' */
/* 0x04 */ u32 initial_flags_state; /* initial actor flag state */
@@ -49,7 +298,7 @@ typedef struct actor_profile_s {
/* 0x18 */ mActor_proc mv_proc; /* move */
/* 0x1C */ mActor_proc dw_proc; /* draw */
/* 0x20 */ mActor_proc sv_proc; /* save */
} ACTOR_PROFILE;
};
typedef void (*mActor_shadow_proc)(ACTOR*, LightsN*, GAME_PLAY*);