Implement & link ac_tak_stew, add all effects to enum

This commit is contained in:
Cuyler36
2024-03-04 19:30:45 -05:00
parent 7960c3cf40
commit d8ae38b5f0
7 changed files with 521 additions and 359 deletions
+28
View File
@@ -12,6 +12,34 @@ extern "C" {
typedef struct furniture_actor_s FTR_ACTOR;
enum {
aFTR_STATE_STOP,
aFTR_STATE_WAIT_PUSH,
aFTR_STATE_WAIT_PUSH2,
aFTR_STATE_WAIT_PUSH3,
aFTR_STATE_PUSH,
aFTR_STATE_WAIT_PULL,
aFTR_STATE_WAIT_PULL2,
aFTR_STATE_PULL,
aFTR_STATE_WAIT_LROTATE,
aFTR_STATE_LROTATE,
aFTR_STATE_WAIT_RROTATE,
aFTR_STATE_RROTATE,
aFTR_STATE_BIRTH_WAIT,
aFTR_STATE_BIRTH,
aFTR_STATE_BYE,
aFTR_STATE_DEATH,
aFTR_STATE_NUM
};
enum {
aFTR_CTR_TYPE_GAME,
aFTR_CTR_TYPE_GAME_PLAY,
aFTR_CTR_TYPE_NUM
};
enum {
aFTR_SHAPE_TYPEB_90, /* 2x1 (facing up)*/
aFTR_SHAPE_TYPEB_180, /* 2x1 [- *] */
+146 -29
View File
@@ -10,54 +10,171 @@ extern "C" {
#endif
enum effect_type {
eEC_EFFECT_SHOCK,
eEC_EFFECT_DUST,
eEC_EFFECT_MUKA,
eEC_EFFECT_WARAU,
/* TODO: finish */
eEC_EFFECT_CAR_SPARKLE = 90,
eEC_DOUZOU_LIGHT = 101,
eEC_HEM_LIGHT = 123,
eEC_EFFECT_NUM = 126
eEC_EFFECT_SHOCK,
eEC_EFFECT_DUST,
eEC_EFFECT_MUKA,
eEC_EFFECT_WARAU,
eEC_EFFECT_HA,
eEC_EFFECT_SIBUKI,
eEC_EFFECT_GIMONHU,
eEC_EFFECT_KANTANHU,
eEC_EFFECT_ASE,
eEC_EFFECT_ASE_CH,
eEC_EFFECT_KANGAERU,
eEC_EFFECT_OTIKOMI,
eEC_EFFECT_BURUBURU,
eEC_EFFECT_SIAWASE_HIKARI,
eEC_EFFECT_SIAWASE_HANA,
eEC_EFFECT_SIAWASE_HANA_CH,
eEC_EFFECT_TAKURAMI,
eEC_EFFECT_TAKURAMI_KIRA,
eEC_EFFECT_KAZE,
eEC_EFFECT_KAZE_HAPPA,
eEC_EFFECT_LOVELOVE,
eEC_EFFECT_LOVELOVE_HEART,
eEC_EFFECT_PUN,
eEC_EFFECT_PUN_YUGE,
eEC_EFFECT_PUN_SEKIMEN,
eEC_EFFECT_NAKU,
eEC_EFFECT_NAMIDA,
eEC_EFFECT_HIRAMEKI_DEN,
eEC_EFFECT_HIRAMEKI_HIKARI,
eEC_EFFECT_SITUREN,
eEC_EFFECT_ASE2,
eEC_EFFECT_DASH_ASIMOTO,
eEC_EFFECT_KONPU,
eEC_EFFECT_LOVELOVE2,
eEC_EFFECT_KPUN,
eEC_EFFECT_KISHA_KEMURI,
eEC_EFFECT_NEBOKE,
eEC_EFFECT_NEBOKE_AWA,
eEC_EFFECT_HANABI_YANAGI,
eEC_EFFECT_HANABI_BOTAN1,
eEC_EFFECT_HANABI_BOTAN2,
eEC_EFFECT_HANABI_HOSHI,
eEC_EFFECT_HANABI_SET,
eEC_EFFECT_HANABI_SWITCH,
eEC_EFFECT_FOOTPRINT,
eEC_EFFECT_TURN_FOOTPRINT,
eEC_EFFECT_BUBU,
eEC_EFFECT_TURN_ASIMOTO,
eEC_EFFECT_STRING,
eEC_EFFECT_YUKIHANE,
eEC_EFFECT_ANAHIKARI,
eEC_EFFECT_BUSH_HAPPA,
eEC_EFFECT_BUSH_YUKI,
eEC_EFFECT_TUMBLE,
eEC_EFFECT_TUMBLE_BODYPRINT,
eEC_EFFECT_SLIP,
eEC_EFFECT_TUMBLE_DUST,
eEC_EFFECT_SWING_NET,
eEC_EFFECT_AMI_MIZU,
eEC_EFFECT_MIZUTAMA,
eEC_EFFECT_YUKIDAMA,
eEC_EFFECT_KIKUZU,
eEC_EFFECT_SWING_AXE,
eEC_EFFECT_STEAM,
eEC_EFFECT_NIGHT15_MOON,
eEC_EFFECT_NIGHT13_MOON,
eEC_EFFECT_NEBOKE_AKUBI,
eEC_EFFECT_SLIP_FOOTPRINT,
eEC_EFFECT_WALK_ASIMOTO,
eEC_EFFECT_TURI_HAMON,
eEC_EFFECT_TURI_MIZU,
eEC_EFFECT_TURI_HANE0,
eEC_EFFECT_TURI_HANE1,
eEC_EFFECT_TURI_SUITEKI,
eEC_EFFECT_ONGEN,
eEC_EFFECT_IMPACT_STAR,
eEC_EFFECT_SANDSPLASH,
eEC_EFFECT_YOUNG_TREE,
eEC_EFFECT_SWING_ROD,
eEC_EFFECT_DOYON,
eEC_EFFECT_KAGU_HAPPA,
eEC_EFFECT_HANABI_DUMMY,
eEC_EFFECT_DIG_HOLE,
eEC_EFFECT_DIG_SCOOP,
eEC_EFFECT_DIG_MUD,
eEC_EFFECT_KIGAE,
eEC_EFFECT_KIGAE_LIGHT,
eEC_EFFECT_TAPE,
eEC_EFFECT_CLACKER,
eEC_EFFECT_KAMIFUBUKI,
eEC_EFFECT_CAR_BLIGHT,
eEC_EFFECT_TAMAIRE,
eEC_EFFECT_CAR_LIGHT,
eEC_EFFECT_RESET_HOLE,
eEC_EFFECT_GOKI,
eEC_EFFECT_HANABIRA,
eEC_EFFECT_WAIT_ASIMOTO,
eEC_EFFECT_OTOSIANA,
eEC_EFFECT_IKIGIRE,
eEC_EFFECT_YUKIDARUMA,
eEC_EFFECT_KYOUSOU_ONPU,
eEC_EFFECT_DOUZOU_LIGHT,
eEC_EFFECT_HALLOWEEN_SMOKE,
eEC_EFFECT_HALLOWEEN,
eEC_EFFECT_MOTIYUGE,
eEC_EFFECT_TABERU,
eEC_EFFECT_KASAMIZU,
eEC_EFFECT_KASAMIZUTAMA,
eEC_EFFECT_HANATIRI,
eEC_EFFECT_URANAI,
eEC_EFFECT_SUISOU_AWA,
eEC_EFFECT_BREAK_AXE,
eEC_EFFECT_YAJIRUSHI,
eEC_EFFECT_SOBA_YUGE,
eEC_EFFECT_FURO_YUGE,
eEC_EFFECT_SHOOTING,
eEC_EFFECT_SHOOTING_SET,
eEC_EFFECT_SHOOTING_KIRA,
eEC_EFFECT_COIN,
eEC_EFFECT_TENT_LAMP,
eEC_EFFECT_FLASH,
eEC_EFFECT_FLASHC,
eEC_EFFECT_KILLER,
eEC_EFFECT_MAKE_HEM,
eEC_EFFECT_MAKE_HEM_KIRA,
eEC_EFFECT_MAKE_HEM_LIGHT,
eEC_EFFECT_NUM
};
enum {
eEC_LIGHT_COLOR_DISABLED,
eEC_LIGHT_COLOR_INCREASING,
eEC_LIGHT_COLOR_MAXIMUM,
eEC_LIGHT_COLOR_DECREASING,
eEC_LIGHT_COLOR_DISABLED,
eEC_LIGHT_COLOR_INCREASING,
eEC_LIGHT_COLOR_MAXIMUM,
eEC_LIGHT_COLOR_DECREASING,
eEC_LIGHT_COLOR_NUM
eEC_LIGHT_COLOR_NUM
};
typedef void (*eEC_NAME2EFFECTMAKE_PROC)(int, xyz_t, int, short, GAME*, u16, s16, s16);
typedef void (*eEC_NAME2EFFECTKILL_PROC)(int,u16);
typedef void (*eEC_NAME2EFFECTKILL_PROC)(int, u16);
typedef void (*eEC_REGISTEFFECTLIGHT_PROC)(f32*, s16,s16,s16);
typedef void (*eEC_REGISTEFFECTLIGHT_PROC)(f32*, s16, s16, s16);
typedef int (*eEC_EFFECTLIGHTSTATUS_PROC)(rgba_t*, int*); // returns eEC_LIGHT_COLOR_*
typedef struct effect_control_clip_s {
/* 0x00 */ eEC_NAME2EFFECTMAKE_PROC effect_make_proc;
/* 0x04 */ eEC_NAME2EFFECTKILL_PROC effect_kill_proc;
/* 0x08 */ u8 _08[0x30 - 0x08];
/* 0x30 */ eEC_REGISTEFFECTLIGHT_PROC regist_effect_light;
/* 0x34 */ void* _34;
/* 0x38 */ void* _38;
/* 0x3C */ eEC_EFFECTLIGHTSTATUS_PROC effect_light_status;
/* 0x40 */ void* _40;
/* 0x44 */ void* _44;
/* 0x00 */ eEC_NAME2EFFECTMAKE_PROC effect_make_proc;
/* 0x04 */ eEC_NAME2EFFECTKILL_PROC effect_kill_proc;
/* 0x08 */ u8 _08[0x30 - 0x08];
/* 0x30 */ eEC_REGISTEFFECTLIGHT_PROC regist_effect_light;
/* 0x34 */ void* _34;
/* 0x38 */ void* _38;
/* 0x3C */ eEC_EFFECTLIGHTSTATUS_PROC effect_light_status;
/* 0x40 */ void* _40;
/* 0x44 */ void* _44;
} eEC_EffectControl_Clip_c;
typedef struct effect_control_s EFFECT_CONTROL_ACTOR;
struct effect_control_s {
ACTOR actor_class;
eEC_EffectControl_Clip_c clip;
ACTOR actor_class;
eEC_EffectControl_Clip_c clip;
};
extern ACTOR_PROFILE Effect_Control_Profile;
#ifdef __cplusplus