From e618d4dd97762ea16e2b682abab1ea6b0a3c01ce Mon Sep 17 00:00:00 2001 From: Cuyler36 Date: Sat, 3 May 2025 11:20:35 -0400 Subject: [PATCH] Cleanup ac_museum_fish some --- include/ac_museum_fish_priv.h | 120 ++++---- src/actor/ac_museum_fish.c | 247 +++++++++-------- src/actor/ac_museum_fish_afish.c_inc | 18 +- src/actor/ac_museum_fish_aroana.c_inc | 16 +- src/actor/ac_museum_fish_base.c_inc | 320 ++++++++++++---------- src/actor/ac_museum_fish_bass.c_inc | 36 +-- src/actor/ac_museum_fish_big_fish.c_inc | 50 ++-- src/actor/ac_museum_fish_dojou.c_inc | 18 +- src/actor/ac_museum_fish_donko.c_inc | 20 +- src/actor/ac_museum_fish_gupi.c_inc | 20 +- src/actor/ac_museum_fish_hasu.c_inc | 70 ++--- src/actor/ac_museum_fish_ito.c_inc | 22 +- src/actor/ac_museum_fish_kaseki.c_inc | 24 +- src/actor/ac_museum_fish_kingyo.c_inc | 24 +- src/actor/ac_museum_fish_koi.c_inc | 34 +-- src/actor/ac_museum_fish_kurage.c_inc | 2 +- src/actor/ac_museum_fish_medaka.c_inc | 20 +- src/actor/ac_museum_fish_namazu.c_inc | 28 +- src/actor/ac_museum_fish_seafish.c_inc | 22 +- src/actor/ac_museum_fish_small_fish.c_inc | 28 +- src/actor/ac_museum_fish_tai.c_inc | 26 +- src/actor/ac_museum_fish_unagi.c_inc | 20 +- src/actor/ac_museum_fish_zarigani.c_inc | 24 +- 23 files changed, 632 insertions(+), 577 deletions(-) diff --git a/include/ac_museum_fish_priv.h b/include/ac_museum_fish_priv.h index a2cb98a7..ac5801ef 100644 --- a/include/ac_museum_fish_priv.h +++ b/include/ac_museum_fish_priv.h @@ -14,6 +14,16 @@ extern "C" { #endif +enum { + mfish_TANK_0, + mfish_TANK_1, + mfish_TANK_2, + mfish_TANK_3, + mfish_TANK_4, + + mfish_TANK_NUM +}; + // found useful macros #define MY_MAX(a, b) (((a) >= (b)) ? (a) : (b)) #define MY_CLAMP(v, l, h) MIN(MY_MAX((l), (v)), (h)) @@ -40,7 +50,7 @@ typedef void (*PRIV_FISH_PROCESS)(struct _FISH_PRIVATE_DATA*, GAME*); // struct decls typedef struct _MUSEUM_FISH_INIT_DATA { f32 renderScale; - f32 _04; + f32 ofs_y; f32 _08; f32 _0C; f32 _10; @@ -48,65 +58,55 @@ typedef struct _MUSEUM_FISH_INIT_DATA { f32 _18; f32 _1C; f32 _20; - f32 _24; + f32 ofs_z; f32 _28; s16 activeFramesMin; s16 activeFramesRange; s16 _30; } MUSEUM_FISH_INIT_DATA; // size: 0x34 -typedef struct _YET_SKELETON { - cKF_SkeletonInfo_R_c _00; // offset 0, size 0x70 - Mtx _70; // offset 70, size - artificial_padding(0x70, 0x2b0, Mtx); - Mtx _2b0; - artificial_padding(0x2b0, 0x46C, Mtx); - - void* _46C; - - artificial_padding(0x46C, 0x4F0, void*); - - s_xyz _4F0; - - artificial_padding(0x4F0, 0x514, s_xyz); - - s_xyz _514; - artificial_padding(0x514, 0x526, s_xyz); - s_xyz _526; - artificial_padding(0x526, 0x538, s_xyz); +typedef struct fish_keyframe_s { + cKF_SkeletonInfo_R_c keyframe; // offset 0, size 0x70 + Mtx mtx[2][9]; + s_xyz work[6]; + s_xyz morph[6]; s_xyz _538; // unused 2 byte padding here xyz_t _540; cKF_Skeleton_R_c* _54C; cKF_Animation_R_c* _550[2]; -} YET_SKELETON; // size 558 +} mfish_keyframe_c; // size 558 -typedef struct _YET_SKELETON_2 { - YET_SKELETON _00; - f32 _558; - f32 _55C; - f32 _560; - f32 _564; - s16 _568; - s16 _56A; - s16 _56C; -} YET_SKELETON_2; +typedef struct hasu_s { + /* 0x000 */ cKF_SkeletonInfo_R_c keyframe; // offset 0, size 0x70 + /* 0x070 */ Mtx mtx[2][9]; + /* 0x4F0 */ s_xyz work[9]; + /* 0x526 */ s_xyz morph[9]; + /* 0x55C */ f32 _55C; + /* 0x560 */ f32 _560; + /* 0x564 */ f32 _564; + /* 0x568 */ s16 _568; + /* 0x56A */ s16 _56A; + /* 0x56C */ s16 _56C; + // 2 bytes pad +} mfish_hasu_c; typedef enum fish_type MUSEUM_FISH_TYPE; +typedef struct _FISH_PRIVATE_DATA MUSEUM_FISH_PRIVATE_DATA; -typedef struct _FISH_PRIVATE_DATA { +struct _FISH_PRIVATE_DATA { MUSEUM_FISH_INIT_DATA init_data; PRIV_FISH_PROCESS currentProcess; // size:4 - YET_SKELETON _38; + mfish_keyframe_c kf; - YET_SKELETON_2* _590; - struct _FISH_PRIVATE_DATA* _594; - struct _FISH_PRIVATE_DATA* _598; + mfish_hasu_c* hasu_p; // lilypad + MUSEUM_FISH_PRIVATE_DATA* _594; + MUSEUM_FISH_PRIVATE_DATA* _598; - MUSEUM_FISH_TYPE fishIDEnum; + MUSEUM_FISH_TYPE fish_idx; xyz_t position; xyz_t _5AC; - xyz_t _5B8; + xyz_t objchk_pos; artificial_padding(0x5B8, 0x5D0, xyz_t); xyz_t _5D0; xyz_t _5DC; @@ -128,12 +128,12 @@ typedef struct _FISH_PRIVATE_DATA { s16 _624; s16 activityFrameCount; s16 savedActivityFrameCount; - s16 _62A; + s16 escape_angle; s16 _62C; s16 _62E_flags; - s16 group; + s16 tank; s16 _632; - s16 _634; + s16 hide_camera_angle; s16 _636; s16 _638; s16 _63A; @@ -143,10 +143,10 @@ typedef struct _FISH_PRIVATE_DATA { s16 _642; s16 _644; s16 _646; -} MUSEUM_FISH_PRIVATE_DATA; // size 648 +}; // size 648 // Holds data for the underwater grass -typedef YET_SKELETON MUSEUM_FISH_KUSA_DATA; +typedef mfish_keyframe_c MUSEUM_FISH_KUSA_DATA; typedef struct _FISH_DISPLAY_MSG_INFO { s16 fishName; @@ -158,7 +158,7 @@ typedef struct _MUSEUM_FISH_ACTOR { int _174; MUSEUM_FISH_PRIVATE_DATA prvFish[aGYO_TYPE_NUM]; // offset: 0x178 size: 0xFB48 MUSEUM_FISH_KUSA_DATA prvKusa[14]; // offset: 0xFCB8 size: 0x4AD0 - YET_SKELETON_2 _14788; // offset: 0x14788 size: 0x570 + mfish_hasu_c _14788; // offset: 0x14788 size: 0x570 u8 _14cf8[16]; // temp @@ -172,8 +172,8 @@ typedef struct _MUSEUM_FISH_ACTOR { artificial_padding(0x14d78, 0x14daa, s16[20]); s16 _14daa[5]; - s16 _14db4; - s16 _14db6; // offset: 0x14db6, size: 2 + s16 player_area; + s16 player_area_update_timer; // offset: 0x14db6, size: 2 s16 lightID1; // offset: 0x14db8, size: 2 s16 lightID2; // offset: 0x14dba, size: 2 s16 lightPower[2]; // offset: 0x14dbc, size: 4 @@ -192,13 +192,13 @@ extern xyz_t kusa_pos[14]; extern xyz_t hasu_pos; extern xyz_t suisou_awa_pos[20]; extern s16 suisou_awa_group[20]; -extern cKF_Skeleton_R_c* mfish_model_tbl[40]; -extern cKF_Animation_R_c* mfish_anime_init_tbl[40]; -extern MUSEUM_FISH_INIT_DATA mfish_init_data[40]; -extern s16 mfish_group_tbl[40]; -extern PRIV_FISH_CONSTRUCTOR mfish_ct[40]; -extern PRIV_FISH_MOVE mfish_mv[40]; -extern PRIV_FISH_DRAW mfish_dw[40]; +extern cKF_Skeleton_R_c* mfish_model_tbl[aGYO_TYPE_NUM]; +extern cKF_Animation_R_c* mfish_anime_init_tbl[aGYO_TYPE_NUM]; +extern MUSEUM_FISH_INIT_DATA mfish_init_data[aGYO_TYPE_NUM]; +extern s16 mfish_group_tbl[aGYO_TYPE_NUM]; +extern PRIV_FISH_CONSTRUCTOR mfish_ct[aGYO_TYPE_NUM]; +extern PRIV_FISH_MOVE mfish_mv[aGYO_TYPE_NUM]; +extern PRIV_FISH_DRAW mfish_dw[aGYO_TYPE_NUM]; extern float kusa_start_frame[14]; // functions @@ -207,11 +207,11 @@ extern float kusa_start_frame[14]; void Museum_Fish_Prv_data_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game, int fishNum, int r6); void Museum_Fish_Actor_ct(ACTOR* actor, GAME* game); void Museum_Fish_Actor_dt(ACTOR* actor, GAME* game); -int Museum_Fish_GetMsgNo(ACTOR* actor); +// int Museum_Fish_GetMsgNo(ACTOR* actor); BOOL Museum_Fish_Check_Talk_Distance(GAME* gamex, int index); -void Museum_Fish_Set_MsgFishInfo(ACTOR* actor, int param2); +// void Museum_Fish_Set_MsgFishInfo(ACTOR* actor, int param2); void Museum_Fish_set_talk_info(ACTOR* actor); -void Museum_Fish_Talk_process(ACTOR* actor, GAME* game); +// void Museum_Fish_Talk_process(ACTOR* actor, GAME* game); void Museum_Fish_Actor_move(ACTOR* actor, GAME* game); void Museum_Fish_Suisou_draw(ACTOR* actor, GAME* game, int r5); BOOL kusa_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, Gfx** joint_shape, u8* joint_flags, @@ -503,9 +503,9 @@ void mfish_kurage_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_kurage_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); // ac_museum_fish_hasu.c_inc -void mfish_hasu_ct(YET_SKELETON_2* actor, GAME* game); -void mfish_hasu_mv(YET_SKELETON_2* actor, GAME* game); -void mfish_hasu_dw(YET_SKELETON_2* actor, GAME* game); +void mfish_hasu_ct(mfish_hasu_c* actor, GAME* game); +void mfish_hasu_mv(mfish_hasu_c* actor, GAME* game); +void mfish_hasu_dw(mfish_hasu_c* actor, GAME* game); void mfish_kaeru_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex); void mfish_kaeru_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex); BOOL hasu_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, Gfx** joint_shape, u8* joint_flags, diff --git a/src/actor/ac_museum_fish.c b/src/actor/ac_museum_fish.c index f8d9ebb0..1e864340 100644 --- a/src/actor/ac_museum_fish.c +++ b/src/actor/ac_museum_fish.c @@ -120,7 +120,22 @@ static xyz_t suisou_pos[5] = { { 320.0f, 40.0f, 20.0f } }; -int kusa_group_tbl[14] = { 0, 2, 1, 3, 3, 4, 4, 4, 4, 4, 0, 2, 1, 3 }; +int kusa_group_tbl[14] = { + mfish_TANK_0, + mfish_TANK_2, + mfish_TANK_1, + mfish_TANK_3, + mfish_TANK_3, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_0, + mfish_TANK_2, + mfish_TANK_1, + mfish_TANK_3, +}; xyz_t kusa_pos[14] = { { 179.0f, 40.0f, 170.0f }, @@ -165,13 +180,29 @@ xyz_t suisou_awa_pos[20] = { }; s16 suisou_awa_group[20] = { - 4, 4, 4, 4, 4, - 4, 4, 4, 0, 0, - 0, 1, 1, 1, 2, - 2, 2, 3, 3, 3 + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_0, + mfish_TANK_0, + mfish_TANK_0, + mfish_TANK_1, + mfish_TANK_1, + mfish_TANK_1, + mfish_TANK_2, + mfish_TANK_2, + mfish_TANK_2, + mfish_TANK_3, + mfish_TANK_3, + mfish_TANK_3, }; -cKF_Skeleton_R_c* mfish_model_tbl[40] = { +cKF_Skeleton_R_c* mfish_model_tbl[aGYO_TYPE_NUM] = { /* CRUCIAN_CARP */ &cKF_bs_r_act_mus_funa_a1, /* BROOK_TROUT */ &cKF_bs_r_act_mus_hera_a1, /* CARP */ &cKF_bs_r_act_mus_koi_a1, @@ -214,7 +245,7 @@ cKF_Skeleton_R_c* mfish_model_tbl[40] = { /* ARAPAIMA */ &cKF_bs_r_act_mus_pira_a1 }; -cKF_Animation_R_c* mfish_anime_init_tbl[40] = { +cKF_Animation_R_c* mfish_anime_init_tbl[aGYO_TYPE_NUM] = { /* CRUCIAN_CARP */ &cKF_ba_r_act_mus_funa_a1, /* BROOK_TROUT */ &cKF_ba_r_act_mus_hera_a1, /* CARP */ &cKF_ba_r_act_mus_koi_a1, @@ -257,7 +288,7 @@ cKF_Animation_R_c* mfish_anime_init_tbl[40] = { /* ARAPAIMA */ &cKF_ba_r_act_mus_pira_a1 }; -MUSEUM_FISH_INIT_DATA mfish_init_data[40] = { +MUSEUM_FISH_INIT_DATA mfish_init_data[aGYO_TYPE_NUM] = { /* CRUCIAN_CARP */ { 0.0100f, 3.8f, 7.5f, 74.0f, 0.400f, 0.450f, 0.98995f, 0.2f, 0.40f, -3.5f, -6.0f, 120, 120, DEG2SHORT_ANGLE(70) }, /* BROOK_TROUT */ { 0.0100f, 4.6f, 7.0f, 78.0f, 0.400f, 0.600f, 0.98995f, 0.2f, 0.40f, -3.5f, -6.0f, 100, 160, DEG2SHORT_ANGLE(70) }, /* CARP */ { 0.0100f, 6.0f, 10.6f, 80.0f, 0.350f, 0.300f, 0.98995f, 0.2f, 0.60f, -5.0f, -9.0f, 100, 150, DEG2SHORT_ANGLE(90) }, @@ -300,50 +331,50 @@ MUSEUM_FISH_INIT_DATA mfish_init_data[40] = { /* ARAPAIMA */ { 0.0120f, 9.3f, 31.5f, 75.0f, 0.050f, 0.100f, 0.97468f, 0.2f, 0.90f, -14.0f, -31.0f, 240, 480, DEG2SHORT_ANGLE(90) } }; -s16 mfish_group_tbl[40] = { -/* CRUCIAN_CARP */ 0, -/* BROOK_TROUT */ 0, -/* CARP */ 0, -/* KOI */ 0, -/* CATFISH */ 1, -/* SMALL_BASS */ 1, -/* BASS */ 1, -/* LARGE_BASS */ 1, -/* BLUEGILL */ 1, -/* GIANT_CATFISH */ 1, -/* GIANT_SNAKEHEAD */ 3, -/* BARBEL_STEED */ 0, -/* DACE */ 2, -/* PALE_CHUB */ 2, -/* BITTERLING */ 0, -/* LOACH */ 1, -/* POND_SMELT */ 2, -/* SWEETFISH */ 2, -/* CHERRY_SALMON */ 2, -/* LARGE_CHAR */ 2, -/* RAINBOW_TROUT */ 2, -/* STRINGFISH */ 2, -/* SALMON */ 4, -/* GOLDFISH */ 0, -/* PIRANHA */ 3, -/* AROWANA */ 3, -/* EEL */ 0, -/* FRESHWATER_GOBY */ 1, -/* ANGELFISH */ 3, -/* GUPPY */ 3, -/* POPEYED_GOLDFISH */ 0, -/* COELACANTH */ 4, -/* CRAWFISH */ 2, -/* FROG */ 1, -/* KILLIFISH */ 0, -/* JELLYFISH */ 4, -/* SEA_BASS */ 4, -/* RED_SNAPPER */ 4, -/* BARRED_KNIFEJAW */ 4, -/* ARAPAIMA */ 3 +s16 mfish_group_tbl[aGYO_TYPE_NUM] = { +/* CRUCIAN_CARP */ mfish_TANK_0, +/* BROOK_TROUT */ mfish_TANK_0, +/* CARP */ mfish_TANK_0, +/* KOI */ mfish_TANK_0, +/* CATFISH */ mfish_TANK_1, +/* SMALL_BASS */ mfish_TANK_1, +/* BASS */ mfish_TANK_1, +/* LARGE_BASS */ mfish_TANK_1, +/* BLUEGILL */ mfish_TANK_1, +/* GIANT_CATFISH */ mfish_TANK_1, +/* GIANT_SNAKEHEAD */ mfish_TANK_3, +/* BARBEL_STEED */ mfish_TANK_0, +/* DACE */ mfish_TANK_2, +/* PALE_CHUB */ mfish_TANK_2, +/* BITTERLING */ mfish_TANK_0, +/* LOACH */ mfish_TANK_1, +/* POND_SMELT */ mfish_TANK_2, +/* SWEETFISH */ mfish_TANK_2, +/* CHERRY_SALMON */ mfish_TANK_2, +/* LARGE_CHAR */ mfish_TANK_2, +/* RAINBOW_TROUT */ mfish_TANK_2, +/* STRINGFISH */ mfish_TANK_2, +/* SALMON */ mfish_TANK_4, +/* GOLDFISH */ mfish_TANK_0, +/* PIRANHA */ mfish_TANK_3, +/* AROWANA */ mfish_TANK_3, +/* EEL */ mfish_TANK_0, +/* FRESHWATER_GOBY */ mfish_TANK_1, +/* ANGELFISH */ mfish_TANK_3, +/* GUPPY */ mfish_TANK_3, +/* POPEYED_GOLDFISH */ mfish_TANK_0, +/* COELACANTH */ mfish_TANK_4, +/* CRAWFISH */ mfish_TANK_2, +/* FROG */ mfish_TANK_1, +/* KILLIFISH */ mfish_TANK_0, +/* JELLYFISH */ mfish_TANK_4, +/* SEA_BASS */ mfish_TANK_4, +/* RED_SNAPPER */ mfish_TANK_4, +/* BARRED_KNIFEJAW */ mfish_TANK_4, +/* ARAPAIMA */ mfish_TANK_3, }; -PRIV_FISH_CONSTRUCTOR mfish_ct[40] = { +PRIV_FISH_CONSTRUCTOR mfish_ct[aGYO_TYPE_NUM] = { /* CRUCIAN_CARP */ mfish_afish_ct, /* BROOK_TROUT */ mfish_afish_ct, /* CARP */ mfish_koi_ct, @@ -386,7 +417,7 @@ PRIV_FISH_CONSTRUCTOR mfish_ct[40] = { /* ARAPAIMA */ mfish_big_fish_ct }; -PRIV_FISH_MOVE mfish_mv[40] = { +PRIV_FISH_MOVE mfish_mv[aGYO_TYPE_NUM] = { /* CRUCIAN_CARP */ mfish_afish_mv, /* BROOK_TROUT */ mfish_afish_mv, /* CARP */ mfish_koi_mv, @@ -430,7 +461,7 @@ PRIV_FISH_MOVE mfish_mv[40] = { }; -PRIV_FISH_DRAW mfish_dw[40] = { +PRIV_FISH_DRAW mfish_dw[aGYO_TYPE_NUM] = { /* CRUCIAN_CARP */ mfish_afish_dw, /* BROOK_TROUT */ mfish_afish_dw, /* CARP */ mfish_koi_dw, @@ -478,12 +509,12 @@ PRIV_FISH_DRAW mfish_dw[40] = { // clang-format on void Museum_Fish_Prv_data_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game, int fishNum, int r6) { - actor->fishIDEnum = fishNum; + actor->fish_idx = fishNum; actor->init_data = mfish_init_data[fishNum]; - actor->group = mfish_group_tbl[fishNum]; + actor->tank = mfish_group_tbl[fishNum]; - if (actor->group >= 0) { - actor->position = suisou_pos[actor->group]; + if (actor->tank >= 0) { + actor->position = suisou_pos[actor->tank]; } else { actor->position = ZeroVec; } @@ -541,23 +572,23 @@ void Museum_Fish_Actor_ct(ACTOR* actorx, GAME* gamex) { int i; MUSEUM_FISH_PRIVATE_DATA* prv; MF_Control_Actor = actor; - actor->_14db6 = 0x1e; + actor->player_area_update_timer = 0x1e; mfish_point_light_ct(actorx, gamex); for (i = 0; i < 14; i++) { actor->prvKusa[i]._54C = kusa_model[i]; - cKF_SkeletonInfo_R_ct(&actor->prvKusa[i]._00, kusa_model[i], kusa_anime[i], &actor->prvKusa[i]._4F0, - &actor->prvKusa[i]._514); - cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&actor->prvKusa[i]._00, kusa_anime[i], NULL, - kusa_group_tbl[i] == 2 ? 1.5f : 0.5f, 0.0f); - actor->prvKusa[i]._00.frame_control.current_frame = kusa_start_frame[i]; + cKF_SkeletonInfo_R_ct(&actor->prvKusa[i].keyframe, kusa_model[i], kusa_anime[i], actor->prvKusa[i].work, + actor->prvKusa[i].morph); + cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&actor->prvKusa[i].keyframe, kusa_anime[i], NULL, + kusa_group_tbl[i] == mfish_TANK_2 ? 1.5f : 0.5f, 0.0f); + actor->prvKusa[i].keyframe.frame_control.current_frame = kusa_start_frame[i]; actor->prvKusa[i]._538.x = qrand(); actor->prvKusa[i]._538.z = qrand(); } if (mMmd_FishInfo(aGYO_TYPE_FROG)) { - actor->prvFish[aGYO_TYPE_FROG]._590 = &actor->_14788; + actor->prvFish[aGYO_TYPE_FROG].hasu_p = &actor->_14788; } else { mfish_hasu_ct(&actor->_14788, gamex); } @@ -566,8 +597,8 @@ void Museum_Fish_Actor_ct(ACTOR* actorx, GAME* gamex) { for (i = 0; i < aGYO_TYPE_NUM; i++, prv++) { prv->_62E_flags &= ~1; if (mMmd_FishInfo(i)) { - prv->_38._54C = mfish_model_tbl[i]; - prv->_38._550[0] = mfish_anime_init_tbl[i]; + prv->kf._54C = mfish_model_tbl[i]; + prv->kf._550[0] = mfish_anime_init_tbl[i]; prv->_62E_flags |= 1; Museum_Fish_Prv_data_init(prv, gamex, i, 1); } @@ -583,8 +614,8 @@ void Museum_Fish_Actor_dt(ACTOR* actor, GAME* game) { mfish_point_light_dt(actor, game); } -int Museum_Fish_GetMsgNo(ACTOR* actorx) { - MUSEUM_FISH_ACTOR* actor = (MUSEUM_FISH_ACTOR*)actorx; +int Museum_Fish_GetMsgNo(MUSEUM_FISH_ACTOR* actor) { + // MUSEUM_FISH_ACTOR* actor = (MUSEUM_FISH_ACTOR*)actorx; static u8 item_name[mIN_ITEM_NAME_LEN]; int itemArticle; @@ -616,10 +647,9 @@ int Museum_Fish_GetMsgNo(ACTOR* actorx) { } BOOL Museum_Fish_Check_Talk_Distance(GAME* gamex, int index) { - GAME_PLAY* game = (GAME_PLAY*)gamex; s16 subAngle; xyz_t pos; - PLAYER_ACTOR* actor; + ACTOR* playerx; // fish tank locations? static xyz_t kanban_pos[5] = { { 260.0f, 40.0f, 300.0f }, @@ -628,9 +658,9 @@ BOOL Museum_Fish_Check_Talk_Distance(GAME* gamex, int index) { { 460.0f, 40.0f, 540.0f }, { 500.0f, 40.0f, 60.0f } }; - actor = get_player_actor_withoutCheck(game); - subAngle = DEG2SHORT_ANGLE(-180) + actor->actor_class.world.angle.y; - xyz_t_sub(&actor->actor_class.world.position, &kanban_pos[index], &pos); + playerx = GET_PLAYER_ACTOR_GAME_ACTOR(gamex); + subAngle = DEG2SHORT_ANGLE(-180) + playerx->world.angle.y; + xyz_t_sub(&playerx->world.position, &kanban_pos[index], &pos); if (ABS(pos.x) < 20.0f && ABS(pos.z) < 20.0f && ABS(subAngle) < 0x3000) { return TRUE; @@ -638,8 +668,8 @@ BOOL Museum_Fish_Check_Talk_Distance(GAME* gamex, int index) { return FALSE; } -void Museum_Fish_Set_MsgFishInfo(ACTOR* actorx, int param2) { - MUSEUM_FISH_ACTOR* actor = (MUSEUM_FISH_ACTOR*)actorx; +void Museum_Fish_Set_MsgFishInfo(MUSEUM_FISH_ACTOR* actor, int param2) { + // MUSEUM_FISH_ACTOR* actor = (MUSEUM_FISH_ACTOR*)actorx; int i; // defines how many fish are in each grouping of fish names static int group_max_num[5] = { 10, 9, 9, 6, 6 }; @@ -673,7 +703,7 @@ void Museum_Fish_set_talk_info(ACTOR* actorx) { static rgba_t window_color = { 255, 255, 0xcd, 255 }; int r3; if (actor->numFishDisplayed > 0) { // maybe related to if there are fish in the tank - r3 = Museum_Fish_GetMsgNo(actorx); + r3 = Museum_Fish_GetMsgNo(actor); actor->fishDisplayMsgIter++; // maybe iterating through the fish donation record, given which fish are donated? } else { r3 = 0x2fa1; @@ -687,23 +717,19 @@ void Museum_Fish_set_talk_info(ACTOR* actorx) { mDemo_Set_use_zoom_sound(TRUE); } -void Museum_Fish_Talk_process(ACTOR* actorx, GAME* game) { - MUSEUM_FISH_ACTOR* actor = (MUSEUM_FISH_ACTOR*)actorx; +void Museum_Fish_Talk_process(MUSEUM_FISH_ACTOR* actor, GAME* game) { + // MUSEUM_FISH_ACTOR* actor = (MUSEUM_FISH_ACTOR*)actorx; - if (mDemo_Check(8, actorx) != 0) { - GAME_PLAY* _gamePT; - PLAYER_ACTOR* playerActor = get_player_actor_withoutCheck((GAME_PLAY*)game); - s_xyz rotation = playerActor->actor_class.shape_info.rotation; + if (mDemo_Check(mDemo_TYPE_SPEAK, (ACTOR*)actor) != 0) { + s_xyz rotation = GET_PLAYER_ACTOR_GAME_ACTOR(game)->shape_info.rotation; add_calc_short_angle2(&rotation.y, DEG2SHORT_ANGLE(-180), 0.3f, DEG2SHORT_ANGLE(22.5f), 0); - - _gamePT = (GAME_PLAY*)gamePT; - get_player_actor_withoutCheck(_gamePT)->Set_force_position_angle_proc(&_gamePT->game, NULL, &rotation, 32); + GET_PLAYER_ACTOR_NOW()->Set_force_position_angle_proc(gamePT, NULL, &rotation, 32); if (mMsg_Check_MainNormalContinue(mMsg_Get_base_window_p()) != 0) { int choseNum = mChoice_Get_ChoseNum(mChoice_Get_base_window_p()); if (choseNum != -1) { if (choseNum == 0) { mMsg_Window_c* windowC; - int msgNum = Museum_Fish_GetMsgNo(actorx); + int msgNum = Museum_Fish_GetMsgNo(actor); actor->fishDisplayMsgIter += 1; mMsg_Set_continue_msg_num(mMsg_Get_base_window_p(), msgNum); mMsg_Unset_LockContinue(mMsg_Get_base_window_p()); @@ -717,8 +743,8 @@ void Museum_Fish_Talk_process(ACTOR* actorx, GAME* game) { int i; for (i = 0; i < 5; i++) { if (Museum_Fish_Check_Talk_Distance(game, i)) { - Museum_Fish_Set_MsgFishInfo(actorx, i); - mDemo_Request(8, actorx, &Museum_Fish_set_talk_info); + Museum_Fish_Set_MsgFishInfo(actor, i); + mDemo_Request(mDemo_TYPE_SPEAK, (ACTOR*)actor, &Museum_Fish_set_talk_info); } } } @@ -728,42 +754,39 @@ void Museum_Fish_Actor_move(ACTOR* actorx, GAME* game) { int i; int j; MUSEUM_FISH_PRIVATE_DATA* prv; - s16 old_14db4; + s16 oldplayer_area; f32 v; - GAME_PLAY* play = (GAME_PLAY*)game; MUSEUM_FISH_ACTOR* actor = (MUSEUM_FISH_ACTOR*)actorx; MUSEUM_FISH_PRIVATE_DATA* prv2; - mfish_point_light_mv(actor, &play->game); - old_14db4 = actor->_14db4; - mfish_get_player_area(actor, &play->game); + mfish_point_light_mv((MUSEUM_FISH_ACTOR*)actorx, game); + oldplayer_area = actor->player_area; + mfish_get_player_area((MUSEUM_FISH_ACTOR*)actorx, game); - if (actor->_14db4 != old_14db4) { - PLAYER_ACTOR* player; + if (actor->player_area != oldplayer_area) { xyz_t p; prv = actor->prvFish; - player = get_player_actor_withoutCheck(play); - p = player->actor_class.world.position; + p = GET_PLAYER_ACTOR_GAME_ACTOR(game)->world.position; - if (actor->_14db4 == 3) { + if (actor->player_area == mfish_TANK_3) { actor->prvFish[aGYO_TYPE_GOLDFISH].activityFrameCount = 0; actor->prvFish[aGYO_TYPE_POPEYED_GOLDFISH].activityFrameCount = 0; actor->prvFish[aGYO_TYPE_PIRANHA].activityFrameCount = 0; - } else if (actor->_14db4 == 0) { + } else if (actor->player_area == mfish_TANK_0) { actor->prvFish[aGYO_TYPE_CARP].activityFrameCount = 20; actor->prvFish[aGYO_TYPE_KOI].activityFrameCount = 20; } for (i = 0; i < aGYO_TYPE_NUM; i++, prv++) { f32 v = search_position_distanceXZ(&p, &prv->position); - if (actor->_14db4 == prv->group && v < 60.0f) { + if (actor->player_area == prv->tank && v < 60.0f) { prv->activityFrameCount = RANDOM_F(60); } } } for (j = 0; j < 14; j++) { - cKF_SkeletonInfo_R_play(&actor->prvKusa[j]._00); - if (kusa_group_tbl[j] == 2) { + cKF_SkeletonInfo_R_play(&actor->prvKusa[j].keyframe); + if (kusa_group_tbl[j] == mfish_TANK_2) { add_calc2(&actor->prvKusa[j]._540.x, -4.0f, 0.5f, 0.5f); add_calc_short_angle2(&actor->prvKusa[j]._538.y, DEG2SHORT_ANGLE(3.5f), CALC_EASE2(0.1f), 22, 4); } else { @@ -778,13 +801,13 @@ void Museum_Fish_Actor_move(ACTOR* actorx, GAME* game) { add_calc_short_angle2(&actor->prvKusa[j]._538.y, DEG2SHORT_ANGLE(0), CALC_EASE2(0.1f), 22, 4); } - Museum_Fish_Kusa_Check(actor, &play->game); - Museum_Fish_Object_Check(actor, &play->game); + Museum_Fish_Kusa_Check((MUSEUM_FISH_ACTOR*)actorx, game); + Museum_Fish_Object_Check((MUSEUM_FISH_ACTOR*)actorx, game); for (i = 0; i < 20; i++) { actor->_14d50[i]--; if (actor->_14d50[i] < 0) { - common_data.clip.effect_clip->effect_make_proc(0x6e, suisou_awa_pos[i], 2, 0, &play->game, -1, + eEC_CLIP->effect_make_proc(eEC_EFFECT_SUISOU_AWA, suisou_awa_pos[i], 2, 0, game, RSV_NO, suisou_awa_group[i], 0); if (actor->_14d78[i] > 0) { actor->_14d78[i]--; @@ -796,7 +819,7 @@ void Museum_Fish_Actor_move(ACTOR* actorx, GAME* game) { } } - Museum_Fish_Talk_process(actorx, game); + Museum_Fish_Talk_process((MUSEUM_FISH_ACTOR*)actorx, game); prv2 = actor->prvFish; for (i = 0; i < aGYO_TYPE_NUM; i++, prv2++) { if (prv2->_62E_flags & 1) { @@ -894,16 +917,16 @@ void Museum_Fish_Kusa_Draw(ACTOR* actorx, GAME* game, int r5) { if (mfish_cull_check(game, &kusa_pos[r5], 0.0f, 0.0f, 120.0f)) { Mtx* mtx; if (play->game.frame_counter % 2 != 0) { - mtx = &actor->prvKusa[r5]._70; + mtx = actor->prvKusa[r5].mtx[0]; } else { - mtx = &actor->prvKusa[r5]._2b0; + mtx = actor->prvKusa[r5].mtx[1]; } OPEN_DISP(game->graph); Matrix_translate(kusa_pos[r5].x, 0, kusa_pos[r5].z, 0); Matrix_scale(0.01f, 0.01f, 0.01f, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); CLOSE_DISP(game->graph); - cKF_Si3_draw_R_SV(game, &actor->prvKusa[r5]._00, mtx, kusa_before_disp, NULL, &actor->prvKusa[r5]); + cKF_Si3_draw_R_SV(game, &actor->prvKusa[r5].keyframe, mtx, kusa_before_disp, NULL, &actor->prvKusa[r5]); } } @@ -934,8 +957,8 @@ void Museum_Fish_Actor_draw(ACTOR* actorx, GAME* game) { prv = actor->prvFish; for (i = 0; i < aGYO_TYPE_NUM; i++, prv++) { - if (prv->_62E_flags & 1 && prv->fishIDEnum != aGYO_TYPE_JELLYFISH && prv->fishIDEnum != aGYO_TYPE_FROG && - mfish_cull_check(game, &prv->_5B8, prv->init_data._08 + 50.0f, prv->init_data._08 + 10.0f, + if (prv->_62E_flags & 1 && prv->fish_idx != aGYO_TYPE_JELLYFISH && prv->fish_idx != aGYO_TYPE_FROG && + mfish_cull_check(game, &prv->objchk_pos, prv->init_data._08 + 50.0f, prv->init_data._08 + 10.0f, prv->init_data._08 + 10.0f)) { mfish_dw[i](prv, game); } @@ -944,8 +967,8 @@ void Museum_Fish_Actor_draw(ACTOR* actorx, GAME* game) { if (actor->prvFish[aGYO_TYPE_JELLYFISH]._62E_flags & 1 && mfish_cull_check(game, &actor->prvFish[aGYO_TYPE_JELLYFISH].position, actor->prvFish[aGYO_TYPE_JELLYFISH].init_data._08 + 10.0f, - actor->prvFish[aGYO_TYPE_JELLYFISH].init_data._04, - actor->prvFish[aGYO_TYPE_JELLYFISH].init_data._04)) { + actor->prvFish[aGYO_TYPE_JELLYFISH].init_data.ofs_y, + actor->prvFish[aGYO_TYPE_JELLYFISH].init_data.ofs_y)) { mfish_dw[0x23](&actor->prvFish[aGYO_TYPE_JELLYFISH], game); } diff --git a/src/actor/ac_museum_fish_afish.c_inc b/src/actor/ac_museum_fish_afish.c_inc index e09ed9e1..247b631f 100644 --- a/src/actor/ac_museum_fish_afish.c_inc +++ b/src/actor/ac_museum_fish_afish.c_inc @@ -11,15 +11,15 @@ void mfish_afish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { void mfish_afish_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { f32 v; - actor->_634 = mfish_get_hide_camera_angle(actor); + actor->hide_camera_angle = mfish_get_hide_camera_angle(actor); if (actor->_62E_flags & 0x1e) { if ((s16)(actor->_612.y - actor->_62C) > 0) { - actor->_634 = actor->_62C + DEG2SHORT_ANGLE(90); + actor->hide_camera_angle = actor->_62C + DEG2SHORT_ANGLE(90); } else { - actor->_634 = actor->_62C - DEG2SHORT_ANGLE(90); + actor->hide_camera_angle = actor->_62C - DEG2SHORT_ANGLE(90); } } else { - add_calc_short_angle2(&actor->_634, actor->_612.y, CALC_EASE(0.4f), DEG2SHORT_ANGLE(7.5f), + add_calc_short_angle2(&actor->hide_camera_angle, actor->_612.y, CALC_EASE(0.4f), DEG2SHORT_ANGLE(7.5f), DEG2SHORT_ANGLE(0.5f)); } @@ -29,7 +29,7 @@ void mfish_afish_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { } void mfish_afish_dummy_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - add_calc_short_angle2(&actor->_612.y, actor->_634, CALC_EASE2(0.2f), DEG2SHORT_ANGLE(3.75f), + add_calc_short_angle2(&actor->_612.y, actor->hide_camera_angle, CALC_EASE2(0.2f), DEG2SHORT_ANGLE(3.75f), DEG2SHORT_ANGLE(0.25f)); actor->_622 = add_calc_short_angle2(&actor->_60C.y, actor->_612.y, CALC_EASE2(0.5f), DEG2SHORT_ANGLE(5), DEG2SHORT_ANGLE(0.25f)); @@ -119,7 +119,7 @@ void mfish_afish_turn_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { } else { s3 = -ABS(s3); } - } else if (actor->_62E_flags & 0x20 && (actor->_62A - actor->_60C.y) < 0) { + } else if (actor->_62E_flags & 0x20 && (actor->escape_angle - actor->_60C.y) < 0) { s3 = -s3; } @@ -209,7 +209,7 @@ void mfish_afish_base_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } else if (actor->currentProcess == mfish_afish_normal_process) { if ((actor->_62E_flags & 0x1e && ABS((s16)(actor->_62C - actor->_60C.y)) < DEG2SHORT_ANGLE(30)) || (actor->_62E_flags & 0x20 && - ABS((s16)(DEG2SHORT_ANGLE(180) + actor->_62A - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { + ABS((s16)(DEG2SHORT_ANGLE(180) + actor->escape_angle - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { actor->activityFrameCount = actor->init_data.activeFramesMin + (s16)RANDOM_F(actor->init_data.activeFramesRange); actor->savedActivityFrameCount = actor->activityFrameCount; @@ -235,10 +235,10 @@ void mfish_afish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Museum_Fish_BGCheck(actor, gamex); if (actor->_640 > 0) { actor->_640--; - actor->_38._00.frame_control.speed = + actor->kf.keyframe.frame_control.speed = ((actor->_5F0 - actor->_5E8) * 3.0f) / (actor->init_data._10 + actor->init_data._14) + 1.5f; } else { - add_calc2(&(actor->_38)._00.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); + add_calc2(&(actor->kf).keyframe.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); } } diff --git a/src/actor/ac_museum_fish_aroana.c_inc b/src/actor/ac_museum_fish_aroana.c_inc index ba181b64..4c2a2512 100644 --- a/src/actor/ac_museum_fish_aroana.c_inc +++ b/src/actor/ac_museum_fish_aroana.c_inc @@ -112,7 +112,7 @@ void mfish_aroana_turn_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { } else { s3 = -ABS(s3); } - } else if (actor->_62E_flags & 0x20 && (actor->_62A - actor->_60C.y) < 0) { + } else if (actor->_62E_flags & 0x20 && (actor->escape_angle - actor->_60C.y) < 0) { s3 = -s3; } @@ -224,7 +224,7 @@ void mfish_aroana_base_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } else if (actor->currentProcess == mfish_aroana_normal_process) { if ((actor->_62E_flags & 0x1e && ABS((s16)(actor->_62C - actor->_60C.y)) < DEG2SHORT_ANGLE(30)) || (actor->_62E_flags & 0x20 && - ABS((s16)(DEG2SHORT_ANGLE(180) + actor->_62A - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { + ABS((s16)(DEG2SHORT_ANGLE(180) + actor->escape_angle - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { actor->activityFrameCount = actor->init_data.activeFramesMin + (s16)RANDOM_F(actor->init_data.activeFramesRange); actor->savedActivityFrameCount = actor->activityFrameCount; @@ -247,7 +247,7 @@ void mfish_aroana_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { mfish_onefish_mv(actor, gamex); mfish_aroana_base_mv(actor, gamex); Museum_Fish_BGCheck(actor, gamex); - actor->_38._00.frame_control.speed = (actor->_5E8 * 2.0f) / (actor->init_data._10 + actor->init_data._14) + 0.5f; + actor->kf.keyframe.frame_control.speed = (actor->_5E8 * 2.0f) / (actor->init_data._10 + actor->init_data._14) + 0.5f; } BOOL mfish_aroana_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, Gfx** joint_shape, @@ -270,19 +270,19 @@ BOOL mfish_aroana_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int jo } void mfish_aroana_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y + actor->_5AC.y, actor->position.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_aroana_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_aroana_before_disp, NULL, actor); CLOSE_DISP(play->game.graph); } diff --git a/src/actor/ac_museum_fish_base.c_inc b/src/actor/ac_museum_fish_base.c_inc index 0ebe63d9..8558f5e7 100644 --- a/src/actor/ac_museum_fish_base.c_inc +++ b/src/actor/ac_museum_fish_base.c_inc @@ -31,7 +31,7 @@ f32 Rnd_EX_fx(f32 v) { void mfish_base_FishMove(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { f32 t; xyz_t pos; - if (actor->fishIDEnum == aGYO_TYPE_PIRANHA && actor->currentProcess != mfish_peck_process) { + if (actor->fish_idx == aGYO_TYPE_PIRANHA && actor->currentProcess != mfish_peck_process) { actor->_5E8 *= actor->init_data._18; } else { add_calc0(&actor->_5E8, 1.0f - actor->init_data._18, 0.025f); @@ -53,10 +53,10 @@ void mfish_base_FishMove(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { int mfish_PosWallCheck(MUSEUM_FISH_PRIVATE_DATA* priv, xyz_t* pos) { u32 flag = 0; - xyz_t p = suisou_pos[priv->group]; + xyz_t p = suisou_pos[priv->tank]; f32 a, b, c, d; - if (priv->group < 4) { + if (priv->tank < 4) { a = priv->init_data._28 + 45; b = priv->init_data._28 + 45; c = priv->init_data._28 + 45; @@ -98,7 +98,7 @@ BOOL mfish_WallCheck(MUSEUM_FISH_PRIVATE_DATA* prv) { s16 mfish_get_hide_camera_angle(MUSEUM_FISH_PRIVATE_DATA* priv) { s16 v = priv->_60C.y; - if (v > 0 || (priv->group == 2 && RANDOM_F(1) < 0.8f)) { + if (v > 0 || (priv->tank == 2 && RANDOM_F(1) < 0.8f)) { if (v > DEG2SHORT_ANGLE(90)) { v = DEG2SHORT_ANGLE(90) + DEG2SHORT_ANGLE(RANDOM_F(45)); } else { @@ -115,21 +115,21 @@ s16 mfish_get_hide_camera_angle(MUSEUM_FISH_PRIVATE_DATA* priv) { } void mfish_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* prv) { - prv->_634 = mfish_get_hide_camera_angle(prv); - if (prv->group == 2 && prv->_60C.y < 0 && prv->_634 > 0) { + prv->hide_camera_angle = mfish_get_hide_camera_angle(prv); + if (prv->tank == 2 && prv->_60C.y < 0 && prv->hide_camera_angle > 0) { prv->_5F0 = MAX(prv->init_data._10, GETREG(TAKREG, 80) * 0.1f + 1.2f); } prv->currentProcess = mfish_dummy_process; } void mfish_dummy_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { - add_calc_short_angle2(&actor->_612.y, actor->_634, CALC_EASE2(0.2f), DEG2SHORT_ANGLE(3.75f), + add_calc_short_angle2(&actor->_612.y, actor->hide_camera_angle, CALC_EASE2(0.2f), DEG2SHORT_ANGLE(3.75f), DEG2SHORT_ANGLE(0.25f)); actor->_622 = add_calc_short_angle2(&actor->_60C.y, actor->_612.y, CALC_EASE2(0.5f), DEG2SHORT_ANGLE(5.0f), DEG2SHORT_ANGLE(0.25f)); add_calc_short_angle2(&actor->_618.z, actor->_622, CALC_EASE2(0.5f), DEG2SHORT_ANGLE(5.0f), DEG2SHORT_ANGLE(0.25f)); - if (actor->group == 2) { + if (actor->tank == mfish_TANK_2) { if (actor->_612.y < 0) { actor->activityFrameCount--; } else { @@ -203,7 +203,7 @@ void mfish_normal_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { CALC_EASE2(0.5f), DEG2SHORT_ANGLE(6.25f), 45); add_calc_short_angle2(&actor->_618.z, actor->_622, CALC_EASE2(0.5f), DEG2SHORT_ANGLE(3.75f), 45); - if (actor->_5E8 < 0.01f || actor->group == 2 && actor->_5E8 < 0.05f) { + if (actor->_5E8 < 0.01f || actor->tank == mfish_TANK_2 && actor->_5E8 < 0.05f) { mfish_dummy_process_init(actor); } else if (actor->_5E8 > 1.0f && actor->_62E_flags & 0x1e) { if ((s16)(actor->_60C.y - actor->_62C) > 0) { @@ -233,7 +233,7 @@ void mfish_turn_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { v = v; } } else if (actor->_62E_flags & 0x20) { - if ((s16)(actor->_62A - actor->_60C.y) < 0) { + if ((s16)(actor->escape_angle - actor->_60C.y) < 0) { v = -v; } else { v = v; @@ -248,7 +248,7 @@ void mfish_turn_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { actor->_612.y += v; - if (actor->group == 2) { + if (actor->tank == mfish_TANK_2) { s16 tmp = actor->_612.y + DEG2SHORT_ANGLE(90); if (tmp > DEG2SHORT_ANGLE(135)) { actor->_612.y = DEG2SHORT_ANGLE(-45); @@ -383,7 +383,7 @@ void mfish_peck_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void mfish_ground_peck_process_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - xyz_t p = suisou_pos[actor->group]; + xyz_t p = suisou_pos[actor->tank]; xyz_t_sub(&p, &actor->position, &p); actor->_5F4 = ((actor->init_data._08 * 0.3f + 65.0f) - MAX(ABS(p.x), ABS(p.z)) * 0.15f) - actor->init_data._0C; @@ -401,7 +401,7 @@ void mfish_ground_peck_process_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex } void mfish_ground_peck_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - xyz_t p = suisou_pos[actor->group]; + xyz_t p = suisou_pos[actor->tank]; xyz_t_sub(&p, &actor->position, &p); actor->_5F4 = ((actor->init_data._08 * 0.3f + 65.0f) - (MAX(ABS(p.x), ABS(p.z)) * 0.15f)) - actor->init_data._0C; xyz_t_mult_v(&actor->_5DC, 0.1f); @@ -441,9 +441,9 @@ void mfish_base_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_5D0.z = sin_s(q) * f; actor->_60C.y = q; actor->_612.y = actor->_60C.y; - if (actor->fishIDEnum == aGYO_TYPE_CATFISH || actor->fishIDEnum == aGYO_TYPE_GIANT_CATFISH) { + if (actor->fish_idx == aGYO_TYPE_CATFISH || actor->fish_idx == aGYO_TYPE_GIANT_CATFISH) { actor->_5F4 = 0.0f; - } else if (actor->fishIDEnum == aGYO_TYPE_FRESHWATER_GOBY) { + } else if (actor->fish_idx == aGYO_TYPE_FRESHWATER_GOBY) { actor->_5F4 = RANDOM_F(5.0f); } else { actor->_5F4 = RANDOM2_F(10.0f); @@ -480,7 +480,7 @@ void mfish_base_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } else if (actor->currentProcess == mfish_normal_process) { if ((actor->_62E_flags & 0x1E && ABS((s16)(actor->_62C - actor->_60C.y)) < DEG2SHORT_ANGLE(30)) || (actor->_62E_flags & 0x20 && - ABS((s16)(actor->_62A + DEG2SHORT_ANGLE(180) - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { + ABS((s16)(actor->escape_angle + DEG2SHORT_ANGLE(180) - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { actor->activityFrameCount = actor->init_data.activeFramesMin + (s16)RANDOM_F(actor->init_data.activeFramesRange); actor->savedActivityFrameCount = actor->activityFrameCount; @@ -491,7 +491,7 @@ void mfish_base_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { if (actor->_624 == 10) { actor->_5AC.y = 0; actor->position.y = actor->init_data._0C; - } else if (actor->group == 2) { + } else if (actor->tank == mfish_TANK_2) { actor->_5AC.y = sin_s(actor->_638) * 0.2f; } else { actor->_5AC.y = 0; @@ -511,9 +511,9 @@ void mfish_base_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { void mfish_onefish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { GAME_PLAY* game = (GAME_PLAY*)gamex; - YET_SKELETON* s = &actor->_38; - cKF_SkeletonInfo_R_ct(&s->_00, s->_54C, s->_550[0], &s->_4F0, &s->_514); - cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&s->_00, s->_550[0], NULL, 1.0f, 0.0f); + mfish_keyframe_c* s = &actor->kf; + cKF_SkeletonInfo_R_ct(&s->keyframe, s->_54C, s->_550[0], s->work, s->morph); + cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&s->keyframe, s->_550[0], NULL, 1.0f, 0.0f); actor->activityFrameCount = actor->init_data.activeFramesMin + (s16)RANDOM_F(actor->init_data.activeFramesRange); actor->savedActivityFrameCount = actor->activityFrameCount; actor->_60C.x = DEG2SHORT_ANGLE(0); @@ -524,7 +524,7 @@ void mfish_onefish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void mfish_onefish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - cKF_SkeletonInfo_R_play(&actor->_38._00); + cKF_SkeletonInfo_R_play(&actor->kf.keyframe); } int mfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, Gfx** joint_shape, u8* joint_flags, @@ -533,7 +533,7 @@ int mfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, if (joint_idx == 2) { int v, t; - if (actor->group != 4) { + if (actor->tank != mfish_TANK_4) { v = 2; } else if (actor->init_data._20 > 0.7f) { v = 1; @@ -548,22 +548,22 @@ int mfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, t = joint_rot->x - (actor->_618.z >> 1); joint_rot->x = MY_CLAMP(t, DEG2SHORT_ANGLE(-25), DEG2SHORT_ANGLE(25)); } - return 1; + return TRUE; } void mfish_onefish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele; + mfish_keyframe_c* skele; Mtx* mtx; GRAPH* graph; GAME_PLAY* play; play = (GAME_PLAY*)gamex; - skele = &actor->_38; + skele = &actor->kf; if (play->game.frame_counter % 2 != 0) { - mtx = &skele->_70; + mtx = skele->mtx[0]; } else { - mtx = &skele->_2b0; + mtx = skele->mtx[1]; } graph = play->game.graph; @@ -571,17 +571,17 @@ void mfish_onefish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(actor->position.x, actor->position.y + actor->_5AC.y, actor->position.z, 0); Matrix_RotateY(actor->_60C.y, 1); - Matrix_translate(0.0f, 0.25f * actor->init_data._04, 1.5f * actor->init_data._24, 1); + Matrix_translate(0.0f, 0.25f * actor->init_data.ofs_y, 1.5f * actor->init_data.ofs_z, 1); Matrix_RotateX(actor->_60C.x, 1); Matrix_RotateZ(MY_CLAMP(-(actor->_618.z >> 1), DEG2SHORT_ANGLE(-20), DEG2SHORT_ANGLE(20)), 1); - Matrix_translate(0.0f, 0.25f * -actor->init_data._04, 0.5f * -actor->init_data._24, 1); + Matrix_translate(0.0f, 0.25f * -actor->init_data.ofs_y, 0.5f * -actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); OPEN_DISP(graph); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(play->game.graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); CLOSE_DISP(graph); - cKF_Si3_draw_R_SV(&play->game, &skele->_00, mtx, &mfish_before_disp, 0, actor); + cKF_Si3_draw_R_SV(&play->game, &skele->keyframe, mtx, &mfish_before_disp, 0, actor); } void mfish_ani_base_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { @@ -597,24 +597,24 @@ void mfish_ani_base_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { mfish_base_mv(actor, gamex); Museum_Fish_BGCheck(actor, gamex); - if (actor->group == 2) { - actor->_38._00.frame_control.speed = + if (actor->tank == mfish_TANK_2) { + actor->kf.keyframe.frame_control.speed = (actor->_5E8 * 3.0f) / (actor->init_data._10 + actor->init_data._14) + 1.0f; - } else if (actor->fishIDEnum == aGYO_TYPE_BITTERLING || actor->fishIDEnum == aGYO_TYPE_BROOK_TROUT || - actor->fishIDEnum == aGYO_TYPE_CRUCIAN_CARP) { + } else if (actor->fish_idx == aGYO_TYPE_BITTERLING || actor->fish_idx == aGYO_TYPE_BROOK_TROUT || + actor->fish_idx == aGYO_TYPE_CRUCIAN_CARP) { if (actor->_5F0 - 0.1f > actor->_5E8 && actor->currentProcess == mfish_normal_process && actor->activityFrameCount > actor->savedActivityFrameCount - 10) { - actor->_38._00.frame_control.speed = + actor->kf.keyframe.frame_control.speed = ((actor->_5F0 - actor->_5E8) * 3.0f) / (actor->init_data._10 + actor->init_data._14) + 1.5f; } else { - add_calc2(&actor->_38._00.frame_control.speed, 2.0f * actor->_5E8 + 0.5f, 0.2f, 0.1f); + add_calc2(&actor->kf.keyframe.frame_control.speed, 2.0f * actor->_5E8 + 0.5f, 0.2f, 0.1f); } } else { if (actor->activityFrameCount > actor->savedActivityFrameCount - 10 && actor->_5F0 > 0) { - actor->_38._00.frame_control.speed = + actor->kf.keyframe.frame_control.speed = (actor->_5E8 * 4.0f) / (actor->init_data._10 + actor->init_data._14) + 1.25f; } else { - add_calc2(&actor->_38._00.frame_control.speed, 2.0f * actor->_5E8 + 0.5f, 0.2f, 0.1f); + add_calc2(&actor->kf.keyframe.frame_control.speed, 2.0f * actor->_5E8 + 0.5f, 0.2f, 0.1f); } } @@ -654,12 +654,12 @@ void Museum_Fish_BigFishObjCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { for (i = 0; i < 2; i++) { f32 v; - xyz_t ip = fish[i]->_5B8; + xyz_t ip = fish[i]->objchk_pos; xyz_t op; f32 f27 = actor->init_data._08 * (sin_s(actor->_60C.y) * 0.3f + 0.7f) + fish[i]->init_data._08; f32 f26 = 10.f + (actor->init_data._08 * (0.7f + 0.3f * cos_s(actor->_60C.y))); - f32 f25 = actor->init_data._04 + fish[i]->init_data._04; - xyz_t_sub(&actor->_5B8, &ip, &op); + f32 f25 = actor->init_data.ofs_y + fish[i]->init_data.ofs_y; + xyz_t_sub(&actor->objchk_pos, &ip, &op); if (ABS(op.z) < f26 && ABS(op.y) < f25 && ABS(op.x) < f27) { f27 -= ABS(op.x); f26 -= ABS(op.z); @@ -676,12 +676,12 @@ void Museum_Fish_BigFishObjCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { v = ABS(cos_s(actor->_60C.y) * actor->_5E8); if (op.z < 0) { actor->position.z -= MIN(f26, MAX(0.5f, v)); - if (fish[i]->_5B8.z < max[i] + 10.0f) { + if (fish[i]->objchk_pos.z < max[i] + 10.0f) { fish[i]->position.z += MIN(f26, 0.05f); } } else { actor->position.z += MIN(f26, MAX(0.5f, v)); - if (fish[i]->_5B8.z > max[i] - 10.0f) { + if (fish[i]->objchk_pos.z > max[i] - 10.0f) { fish[i]->position.z -= MIN(f26, 0.05f); } } @@ -700,40 +700,40 @@ void Museum_Fish_BigFishObjCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { } void Museum_Fish_ObjBGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex, f32 f1, f32 f2) { - xyz_t p = suisou_pos[actor->group]; + xyz_t p = suisou_pos[actor->tank]; f32 a, b, c, d, e; - switch (actor->group) { - case 0: + switch (actor->tank) { + case mfish_TANK_0: e = 85.0f; a = -20.0f + p.x; b = 1000.0f + p.x; c = -25.0f + p.z; d = -1000.0f + p.z; break; - case 1: + case mfish_TANK_1: a = -5.0f + p.x; c = -10.0f + p.z; b = 1000.0f + p.x; d = -1000.0f + p.z; // needs cast, temp doesn't work - e = 75.0f - cos_s((int)DEG2SHORT_ANGLE(180.0f * (actor->_5B8.x - a) / 70.0f)) * 5.0f; + e = 75.0f - cos_s((int)DEG2SHORT_ANGLE(180.0f * (actor->objchk_pos.x - a) / 70.0f)) * 5.0f; break; - case 2: + case mfish_TANK_2: e = 80.0f; a = -1000.0f + p.x; b = -5.0f + p.x; c = -20.0f + p.z; d = -1000.0f + p.z; break; - case 3: + case mfish_TANK_3: e = 75.0f; a = -20.0f + p.x; b = 1000.0f + p.x; c = -5.0f + p.z; d = -1000.0f + p.z; break; - case 4: + case mfish_TANK_4: default: return; } @@ -774,7 +774,7 @@ void Museum_Fish_ObjBGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex, f32 f1 actor->position.y += e; if (actor->_624 == 3) { actor->_612.x = DEG2SHORT_ANGLE(45); - } else if (actor->fishIDEnum == aGYO_TYPE_LOACH) { + } else if (actor->fish_idx == aGYO_TYPE_LOACH) { if (actor->_612.x > DEG2SHORT_ANGLE(30)) { actor->_612.x -= DEG2SHORT_ANGLE(2); } else if (actor->_612.x < DEG2SHORT_ANGLE(-30)) { @@ -798,7 +798,7 @@ void Museum_Fish_DonkoBGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { f32 f24; f32 f25; f32 f26; - xyz_t p = suisou_pos[actor->group]; + xyz_t p = suisou_pos[actor->tank]; f32 v = (sin_s(actor->_60C.y) * 0.7f) * (ABS(cos_s(actor->_618.z)) * 0.5f + 0.5f) + 0.3f; f32 v2 = (cos_s(actor->_60C.y) * 0.7f) * (ABS(cos_s(actor->_618.z)) * 0.5f + 0.5f) + 0.3f; actor->_62E_flags &= ~0x1e; @@ -810,8 +810,8 @@ void Museum_Fish_DonkoBGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { d = (-17.5f + p.z); c = (-45.0f + p.z); - f27 = 76.0f - 6.0f * cos_s(DEG2SHORT_ANGLE2(180.0f * (actor->_5B8.x - p.x) / 55.0f)); - f26 = 76.0f - 6.0f * cos_s(DEG2SHORT_ANGLE2((actor->_5B8.x + sin_s(actor->_60C.y) - p.x) * 180.0f / 55.0f)); + f27 = 76.0f - 6.0f * cos_s(DEG2SHORT_ANGLE2(180.0f * (actor->objchk_pos.x - p.x) / 55.0f)); + f26 = 76.0f - 6.0f * cos_s(DEG2SHORT_ANGLE2((actor->objchk_pos.x + sin_s(actor->_60C.y) - p.x) * 180.0f / 55.0f)); a -= (actor->position.x + actor->init_data._28 * v); b -= (actor->position.x - actor->init_data._28 * v); @@ -884,17 +884,17 @@ void Museum_Fish_DonkoBGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void Museum_Fish_objchk_pos_set(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { - actor->_5B8 = actor->position; - actor->_5B8.x += (actor->init_data._24 * sin_s(actor->_60C.y)); - actor->_5B8.z += (actor->init_data._24 * cos_s(actor->_60C.y)); + actor->objchk_pos = actor->position; + actor->objchk_pos.x += (actor->init_data.ofs_z * sin_s(actor->_60C.y)); + actor->objchk_pos.z += (actor->init_data.ofs_z * cos_s(actor->_60C.y)); } -void Museum_Fish_old_chk_pos_set(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { +static void Museum_Fish_old_chk_pos_set(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { // UNUSED/STRIPPED } void Museum_Fish_BGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { - xyz_t p = suisou_pos[actor->group]; + xyz_t p = suisou_pos[actor->tank]; f32 f29, f30, f28, f27, f31, f26, f25; s32 r31 = 0; @@ -918,7 +918,7 @@ void Museum_Fish_BGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { f25 = 1.0f; } - if (actor->group < 4) { + if (actor->tank < mfish_TANK_4) { f30 = 54.0f + actor->init_data._28 * f26; f29 = 54.0f + actor->init_data._28 * f26; f28 = 54.0f + actor->init_data._28 * f25; @@ -928,7 +928,7 @@ void Museum_Fish_BGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { f29 = actor->init_data._28 * f26 + 189.0f; f28 = actor->init_data._28 * f25 + 14.0f; f27 = actor->init_data._28 * f25 + 25.0f; - f31 = actor->_5B8.x - p.x; + f31 = actor->objchk_pos.x - p.x; f27 += cos_s(f31 * 32768.0f / 180.0f) * 9.0f; f27 += 21.0f; r31 = DEG2SHORT_ANGLE(sin_s(f31 * 32768.0f / 180.0f) * -10.0f); @@ -938,29 +938,29 @@ void Museum_Fish_BGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { actor->_62C = 0; Museum_Fish_objchk_pos_set(actor, game); - if (actor->_5B8.x > (p.x + f30)) { - actor->position.x += (p.x + f30) - actor->_5B8.x; + if (actor->objchk_pos.x > (p.x + f30)) { + actor->position.x += (p.x + f30) - actor->objchk_pos.x; actor->_62E_flags |= 0x4; - } else if (actor->_5B8.x < p.x - f29) { - actor->position.x += (p.x - f29) - actor->_5B8.x; + } else if (actor->objchk_pos.x < p.x - f29) { + actor->position.x += (p.x - f29) - actor->objchk_pos.x; actor->_62E_flags |= 0x2; } - if (actor->_5B8.z > (p.z + f28)) { - actor->position.z += (p.z + f28) - actor->_5B8.z; + if (actor->objchk_pos.z > (p.z + f28)) { + actor->position.z += (p.z + f28) - actor->objchk_pos.z; actor->_62E_flags |= 0x10; - } else if (actor->_5B8.z < (p.z - f27)) { - actor->position.z += (p.z - f27) - actor->_5B8.z; + } else if (actor->objchk_pos.z < (p.z - f27)) { + actor->position.z += (p.z - f27) - actor->objchk_pos.z; actor->_62E_flags |= 0x8; } Museum_Fish_objchk_pos_set(actor, game); - actor->_5FC = actor->_5B8.x - (p.x - f29); - actor->_600 = (p.x + f30) - actor->_5B8.x; - actor->_604 = actor->_5B8.z - (p.z - f27); - actor->_608 = (p.z + f28) - actor->_5B8.z; + actor->_5FC = actor->objchk_pos.x - (p.x - f29); + actor->_600 = (p.x + f30) - actor->objchk_pos.x; + actor->_604 = actor->objchk_pos.z - (p.z - f27); + actor->_608 = (p.z + f28) - actor->objchk_pos.z; - if (actor->group < 4 && actor->fishIDEnum != aGYO_TYPE_EEL) { + if (actor->tank < mfish_TANK_4 && actor->fish_idx != aGYO_TYPE_EEL) { Museum_Fish_ObjBGCheck(actor, game, f26, f25); } @@ -986,7 +986,22 @@ void Museum_Fish_BGCheck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { } void Museum_Fish_Kusa_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { - static int kusa_group_tbl[14] = { 0, 2, 1, 3, 3, 4, 4, 4, 4, 4, 0, 2, 1, 3 }; + static int kusa_group_tbl[14] = { + mfish_TANK_0, + mfish_TANK_2, + mfish_TANK_1, + mfish_TANK_3, + mfish_TANK_3, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_4, + mfish_TANK_0, + mfish_TANK_2, + mfish_TANK_1, + mfish_TANK_3, +}; MUSEUM_FISH_KUSA_DATA* k; MUSEUM_FISH_PRIVATE_DATA* f = actor->prvFish; int i; @@ -1000,13 +1015,13 @@ void Museum_Fish_Kusa_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { f->_62E_flags &= ~0x100; // this if statement salso works as a continue statement - if (f->fishIDEnum != aGYO_TYPE_EEL && f->fishIDEnum != aGYO_TYPE_COELACANTH && - f->fishIDEnum != aGYO_TYPE_FROG) { + if (f->fish_idx != aGYO_TYPE_EEL && f->fish_idx != aGYO_TYPE_COELACANTH && + f->fish_idx != aGYO_TYPE_FROG) { for (j = 0; j < 14; j++) { f32 f1 = (j < 5) ? 90.0f : (j < 10) ? 115.0f : 80.0f; - if (kusa_group_tbl[j] == f->group && f->_5B8.y < f1) { + if (kusa_group_tbl[j] == f->tank && f->objchk_pos.y < f1) { f32 z; f32 x; f32 d; @@ -1014,8 +1029,8 @@ void Museum_Fish_Kusa_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { f32 dx; f32 dy; - if (kusa_group_tbl[j] == 4) { - if (f->fishIDEnum == aGYO_TYPE_COELACANTH) { + if (kusa_group_tbl[j] == mfish_TANK_4) { + if (f->fish_idx == aGYO_TYPE_COELACANTH) { d = 5.0f + f->init_data._08; } else { d = 10.0f + f->init_data._08; @@ -1026,8 +1041,8 @@ void Museum_Fish_Kusa_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { dSQ = d * d; } - x = f->_5B8.x - (kusa_pos[j].x + actor->prvKusa[j]._540.x); - z = f->_5B8.z - (kusa_pos[j].z + actor->prvKusa[j]._540.z); + x = f->objchk_pos.x - (kusa_pos[j].x + actor->prvKusa[j]._540.x); + z = f->objchk_pos.z - (kusa_pos[j].z + actor->prvKusa[j]._540.z); sq = SQ(x) + SQ(z); if (sq < dSQ) { @@ -1037,7 +1052,7 @@ void Museum_Fish_Kusa_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { d -= sqrtf(sq); d *= 0.1f; f30 += sin_s(v) * d; - if (kusa_group_tbl[j] == 4) { + if (kusa_group_tbl[j] == mfish_TANK_4) { f29 += MAX(cos_s(v), 0.2f) * d; } else { f29 += cos_s(v) * d; @@ -1047,7 +1062,7 @@ void Museum_Fish_Kusa_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { actor->prvKusa[j]._540.x -= (f->init_data._20 * 1.5f) * d * sin_s(v); - if (kusa_group_tbl[j] == 4) { + if (kusa_group_tbl[j] == mfish_TANK_4) { actor->prvKusa[j]._540.z -= (f->init_data._20 * 1.5f) * d * MAX(cos_s(v), 0.1f); } else { actor->prvKusa[j]._540.z -= (f->init_data._20 * 1.5f) * d * cos_s(v); @@ -1100,14 +1115,32 @@ void Museum_Fish_Object_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { f = actor->prvFish; for (i = 0; i < aGYO_TYPE_NUM; i++, f++) { - if (i != 0x21 && i != 0x20 && i != 0x1a && i != 0x27 && i != 0xa && f->_62E_flags & 1) { + if ( + // clang-format off + i != aGYO_TYPE_FROG && + i != aGYO_TYPE_CRAWFISH && + i != aGYO_TYPE_EEL && + i != aGYO_TYPE_ARAPAIMA && + i != aGYO_TYPE_GIANT_SNAKEHEAD && + f->_62E_flags & 1 + // clang-format on + ) { for (j = 0; j < aGYO_TYPE_NUM; j++, fj++) { - if (f->group == fj->group && i != j && j != 0x21 && j != 0x1a && j != 0x27 && j != 10 && - fj->_62E_flags & 1 != 0) { + if ( + // clang-format off + f->tank == fj->tank && + i != j && + j != aGYO_TYPE_FROG && + j != aGYO_TYPE_EEL && + j != aGYO_TYPE_ARAPAIMA && + j != aGYO_TYPE_GIANT_SNAKEHEAD && + (fj->_62E_flags & 1) != 0 + // clang-format on + ) { - test.x = f->_5B8.x - fj->_5B8.x; - test.y = f->_5B8.y - fj->_5B8.y; - test.z = f->_5B8.z - fj->_5B8.z; + test.x = f->objchk_pos.x - fj->objchk_pos.x; + test.y = f->objchk_pos.y - fj->objchk_pos.y; + test.z = f->objchk_pos.z - fj->objchk_pos.z; sq_xz = SQ(test.x) + SQ(test.z); sq_xzy = sq_xz + SQ(test.y); if (sqrtf(sq_xzy) < f23) { @@ -1115,7 +1148,7 @@ void Museum_Fish_Object_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { f->_598 = fj; } - if (ABS(test.y) < (f->init_data._04 + fj->init_data._04)) { + if (ABS(test.y) < (f->init_data.ofs_y + fj->init_data.ofs_y)) { f32 additive = f->init_data._08 + fj->init_data._08; if (sq_xz < SQ(additive)) { @@ -1123,19 +1156,19 @@ void Museum_Fish_Object_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { //! BUG: multiplying by zero? if (test.y > atans_table(sqrtf(SQ(test.x) + SQ(test.z)), test.y) * 0.0f) { - test.y = -test.y + (f->init_data._04 + fj->init_data._04); + test.y = -test.y + (f->init_data.ofs_y + fj->init_data.ofs_y); } else { - test.y = -test.y - (f->init_data._04 + fj->init_data._04); + test.y = -test.y - (f->init_data.ofs_y + fj->init_data.ofs_y); } test.y *= 0.2f + (GETREG(TAKREG, 0x11)) * 0.0001f; f22 *= 0.2f + (GETREG(TAKREG, 0x12)) * 0.0001f; - f->_62A = atans_table(test.z, test.x); + f->escape_angle = atans_table(test.z, test.x); f->_62E_flags |= 0x20; - fj->_62A = f->_62A + DEG2SHORT_ANGLE(180); + fj->escape_angle = f->escape_angle + DEG2SHORT_ANGLE(180); f->_62E_flags |= 0x20; f->_594 = fj; - if ((fj->_62E_flags & 0x1e) == 0 || ABS((s16)(fj->_62C - f->_62A)) >= DEG2SHORT_ANGLE(90)) { + if ((fj->_62E_flags & 0x1e) == 0 || ABS((s16)(fj->_62C - f->escape_angle)) >= DEG2SHORT_ANGLE(90)) { f32 v = (fj->init_data._20 / (f->init_data._20 + fj->init_data._20)); v *= (1.0f - f->init_data._20); f22 *= v; @@ -1147,9 +1180,9 @@ void Museum_Fish_Object_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { test.y *= v; } - if (f22 < ABS(test.y) || f->_624 == 0xa || f->fishIDEnum == aGYO_TYPE_COELACANTH) { - f28 += sin_s(f->_62A) * f22; - f27 += cos_s(f->_62A) * f22; + if (f22 < ABS(test.y) || f->_624 == 0xa || f->fish_idx == aGYO_TYPE_COELACANTH) { + f28 += sin_s(f->escape_angle) * f22; + f27 += cos_s(f->escape_angle) * f22; f25 += 1.0f; } else { f26 += test.y; @@ -1180,7 +1213,7 @@ void Museum_Fish_Object_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { if (f24 > 0 && f25 > 0) { xyz_t r; xyz_t_sub(&f->_594->position, &f->position, &r); - f->_62A = atans_table(r.z, r.x); + f->escape_angle = atans_table(r.z, r.x); } f25 = 0.0f; @@ -1191,7 +1224,7 @@ void Museum_Fish_Object_Check(MUSEUM_FISH_ACTOR* actor, GAME* game) { f23 = FLT_MAX; fj = actor->prvFish; } - if (f->group == 3 && f->_624 != 7) { + if (f->tank == 3 && f->_624 != 7) { Museum_Fish_BigFishObjCheck(f, game); } } @@ -1207,11 +1240,10 @@ void mfish_body_wind_anime_play(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { } void mfish_get_player_angle(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game, s16* atanx, s16* atany, f32* distance) { - PLAYER_ACTOR* playerActor = get_player_actor_withoutCheck((GAME_PLAY*)game); - xyz_t p; + xyz_t p = GET_PLAYER_ACTOR_GAME_ACTOR(game)->world.position; xyz_t p1; f32 v; - p = playerActor->actor_class.world.position; + p.y += 40.0f; xyz_t_sub(&p, &actor->position, &p1); v = SQ(p1.x) + SQ(p1.z); @@ -1228,18 +1260,19 @@ void mfish_get_player_angle(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game, s16* at } BOOL mfish_peck_check(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - Private_c* commonData_prv = common_data.now_private; + Private_c* commonData_prv = Now_Private; - if (MF_Control_Actor->_14db4 == actor->group) { - if (actor->fishIDEnum == aGYO_TYPE_PIRANHA) { + if (MF_Control_Actor->player_area == actor->tank) { + if (actor->fish_idx == aGYO_TYPE_PIRANHA) { return TRUE; - } else if (mPr_GetPossessionItemIdx(commonData_prv, 0x2806) != -1) { - if (actor->fishIDEnum == aGYO_TYPE_CARP || actor->fishIDEnum == aGYO_TYPE_KOI) { + } else if (mPr_GetPossessionItemIdx(commonData_prv, ITM_FOOD_CANDY) != -1) { + if (actor->fish_idx == aGYO_TYPE_CARP || actor->fish_idx == aGYO_TYPE_KOI) { + return TRUE; + } + } else if (mPr_GetPossessionItemIdxItem1Category(commonData_prv, ITEM1_CAT_FRUIT) != -1) { + if (actor->fish_idx == aGYO_TYPE_GOLDFISH || actor->fish_idx == aGYO_TYPE_POPEYED_GOLDFISH) { return TRUE; } - } else if (mPr_GetPossessionItemIdxItem1Category(commonData_prv, 8) != -1 && - (actor->fishIDEnum == aGYO_TYPE_GOLDFISH || actor->fishIDEnum == aGYO_TYPE_POPEYED_GOLDFISH)) { - return TRUE; } } @@ -1249,8 +1282,7 @@ BOOL mfish_peck_check(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { BOOL mfish_peck_wall_check(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { s16 temp = (actor->_60C.y - actor->_62C); if (actor->_62E_flags & 0x1E && ABS(temp) < DEG2SHORT_ANGLE(45)) { - PLAYER_ACTOR* playerActor = get_player_actor_withoutCheck((GAME_PLAY*)gamex); - xyz_t target = playerActor->actor_class.world.position; + xyz_t target = GET_PLAYER_ACTOR_GAME_ACTOR(gamex)->world.position; return search_position_distance(&actor->position, &target) < 60.0f; } return FALSE; @@ -1260,7 +1292,7 @@ BOOL mfish_ground_peck_before_check(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex xyz_t p, p2; f32 v; - p2 = p = suisou_pos[actor->group]; + p2 = p = suisou_pos[actor->tank]; xyz_t_sub(&p2, &actor->position, &p2); @@ -1268,7 +1300,7 @@ BOOL mfish_ground_peck_before_check(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex if (actor->currentProcess == mfish_ground_peck_process) { return actor->_63E > 0; - } else if ((actor->group == 2) && (actor->position.x < p.x + 20.0f) && (actor->position.z > p.z - 10.0f) && + } else if ((actor->tank == mfish_TANK_2) && (actor->position.x < p.x + 20.0f) && (actor->position.z > p.z - 10.0f) && (actor->position.y < (actor->init_data._08 * 0.5f + 75.0f) - (v * 0.15f)) && (RANDOM_F(1.0f) > 0.2f)) { return TRUE; } @@ -1277,45 +1309,45 @@ BOOL mfish_ground_peck_before_check(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex } void mfish_get_player_area(MUSEUM_FISH_ACTOR* actor, GAME* gamex) { - PLAYER_ACTOR* player = get_player_actor_withoutCheck((GAME_PLAY*)gamex); - xyz_t p = player->actor_class.world.position; + ACTOR* playerx = GET_PLAYER_ACTOR_GAME_ACTOR(gamex); + xyz_t p = playerx->world.position; - if (actor->_14db6-- < 0) { - actor->_14db6 = 0x1e; + if (actor->player_area_update_timer-- < 0) { + actor->player_area_update_timer = 0x1e; } else { return; } if (p.z < 80.0f) { - actor->_14db4 = 4; + actor->player_area = mfish_TANK_4; return; } if (p.z > 120.0f && p.z < 320.0f) { if (p.x < 320.0f) { - actor->_14db4 = 0; + actor->player_area = mfish_TANK_0; } else { - actor->_14db4 = 1; + actor->player_area = mfish_TANK_1; } return; } if (p.z > 360.0f && p.z < 560.0f) { if (p.x < 320.0f && p.x > 120.0f) { - actor->_14db4 = 2; + actor->player_area = mfish_TANK_2; } else { - actor->_14db4 = 3; + actor->player_area = mfish_TANK_3; } return; } - actor->_14db4 = -1; + actor->player_area = -1; } void mfish_get_flow_vec(xyz_t* pos, MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { f32 v; xyz_t p2; - xyz_t p = suisou_pos[actor->group]; + xyz_t p = suisou_pos[actor->tank]; xyz_t t; xyz_t p3; @@ -1326,15 +1358,15 @@ void mfish_get_flow_vec(xyz_t* pos, MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) f32 d; f32 dSQ; - if (actor->group == 0) { + if (actor->tank == mfish_TANK_0) { v = 0.05f; - } else if (actor->group == 1) { + } else if (actor->tank == mfish_TANK_1) { v = 0.06f; - } else if (actor->group == 2) { + } else if (actor->tank == mfish_TANK_2) { v = 0.2f; - } else if (actor->group == 3) { + } else if (actor->tank == mfish_TANK_3) { v = 0.05f; - } else if (actor->group == 4) { + } else if (actor->tank == mfish_TANK_4) { v = 0.08f; } xyz_t_sub(&actor->position, &p, &t); @@ -1345,9 +1377,9 @@ void mfish_get_flow_vec(xyz_t* pos, MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) p2.y = (s * 0.5f) * cos_s(DEG2SHORT_ANGLE2(180.0f * t.y / 70.0f)); s2 = atans_table(t.z, t.x); - s2 += MF_Control_Actor->_14daa[actor->group]; + s2 += MF_Control_Actor->_14daa[actor->tank]; - if (actor->group == 2) { + if (actor->tank == mfish_TANK_2) { p2.x += (GETREG(TAKREG, 0xc) * 0.01f + 2.0f) * cos_s(s2); p2.z += (GETREG(TAKREG, 0xc) * 0.01f + 2.0f) * sin_s(s2); } else { @@ -1363,9 +1395,9 @@ void mfish_get_flow_vec(xyz_t* pos, MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) p2.z *= cos_s(actor->_618.z); } - if (actor->group == 4) { + if (actor->tank == mfish_TANK_4) { p2.z += (GETREG(TAKREG, 0xb) * 0.01f + 0.5f) * cos_s(actor->_60C.y + DEG2SHORT_ANGLE(90)); - } else if (actor->group == 2) { + } else if (actor->tank == mfish_TANK_2) { p2.x -= ABS(cos_s(actor->_60C.y)) * 0.02f; if (ABS((s16)(actor->_60C.y - DEG2SHORT_ANGLE(270))) < DEG2SHORT_ANGLE(100)) { p2.x = MIN(-1.0f + GETREG(TAKREG, 0x48) * 0.001f, p2.x); @@ -1373,7 +1405,7 @@ void mfish_get_flow_vec(xyz_t* pos, MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) } if (actor->_598 != NULL) { - if (actor->group == 4) { + if (actor->tank == mfish_TANK_4) { s = actor->_598->init_data._08 * 10.0f + actor->init_data._08 * 2.0f; } else { s = actor->_598->init_data._08 * 5.0f + actor->init_data._08 * 2.0f; @@ -1391,7 +1423,7 @@ void mfish_get_flow_vec(xyz_t* pos, MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) } } - if (actor->group == 2 && p2.x < 0.0f) { + if (actor->tank == mfish_TANK_2 && p2.x < 0.0f) { p2.x *= 1.1f; } @@ -1428,7 +1460,7 @@ s16 mfish_get_escape_angle(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { return v1; } else { - return actor->_62A; + return actor->escape_angle; } } @@ -1465,11 +1497,11 @@ void mfish_move_smooth(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { add_calc0(&actor->_5E8, 0.1f * cos_s(vv << 1), 0.02f); } - if ((actor->group == 0 || actor->_624 == 10 || actor->_624 == 11 || - actor->fishIDEnum == aGYO_TYPE_AROWANA) && + if ((actor->tank == mfish_TANK_0 || actor->_624 == 10 || actor->_624 == 11 || + actor->fish_idx == aGYO_TYPE_AROWANA) && ABS(vv) < DEG2SHORT_ANGLE(90) && ABS(actor->_622) < DEG2SHORT_ANGLE(10)) { if (actor->currentProcess == mfish_afish_dummy_process) { - o = &actor->_634; + o = &actor->hide_camera_angle; } else { o = &actor->_612.y; } @@ -1497,6 +1529,6 @@ void mfish_hamon_make(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { xyz_t p = actor->position; p.y = 115.0f; Common_Get(clip.effect_clip) - ->effect_make_proc(0x45, p, 2, DEG2SHORT_ANGLE(180) + actor->_60C.y, game, -1, 7, 0); + ->effect_make_proc(eEC_EFFECT_TURI_HAMON, p, 2, DEG2SHORT_ANGLE(180) + actor->_60C.y, game, RSV_NO, 7, 0); } } diff --git a/src/actor/ac_museum_fish_bass.c_inc b/src/actor/ac_museum_fish_bass.c_inc index e7a6e5dd..85bae5d2 100644 --- a/src/actor/ac_museum_fish_bass.c_inc +++ b/src/actor/ac_museum_fish_bass.c_inc @@ -33,17 +33,17 @@ void mfish_bass_base_FishMove(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { } void mfish_bass_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { - actor->_634 = mfish_get_hide_camera_angle(actor); + actor->hide_camera_angle = mfish_get_hide_camera_angle(actor); if ((actor->_62E_flags & 0x1E) != 0) { // works with temp instead of cast if ((s16)(actor->_612.y - actor->_62C) > 0) { - actor->_634 = actor->_62C + DEG2SHORT_ANGLE(90); + actor->hide_camera_angle = actor->_62C + DEG2SHORT_ANGLE(90); } else { - actor->_634 = actor->_62C - DEG2SHORT_ANGLE(90); + actor->hide_camera_angle = actor->_62C - DEG2SHORT_ANGLE(90); } } else { - add_calc_short_angle2(&actor->_634, actor->_612.y, CALC_EASE(0.5f), DEG2SHORT_ANGLE(22.5), + add_calc_short_angle2(&actor->hide_camera_angle, actor->_612.y, CALC_EASE(0.5f), DEG2SHORT_ANGLE(22.5), DEG2SHORT_ANGLE(0.5f)); } @@ -54,7 +54,7 @@ void mfish_bass_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { } void mfish_bass_dummy_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { - add_calc_short_angle2(&actor->_612.y, actor->_634, CALC_EASE2(0.1f), DEG2SHORT_ANGLE(2.5f), DEG2SHORT_ANGLE(0.25f)); + add_calc_short_angle2(&actor->_612.y, actor->hide_camera_angle, CALC_EASE2(0.1f), DEG2SHORT_ANGLE(2.5f), DEG2SHORT_ANGLE(0.25f)); actor->_622 = add_calc_short_angle2(&actor->_60C.y, actor->_612.y, CALC_EASE2(0.25f), DEG2SHORT_ANGLE(1.25f), DEG2SHORT_ANGLE(0.25f)); add_calc_short_angle2(&actor->_618.z, actor->_622, CALC_EASE2(0.25f), DEG2SHORT_ANGLE(1.25f), @@ -184,7 +184,7 @@ void mfish_bass_turn_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { b = -ABS(a); } } else if (actor->_62E_flags & 0x20) { - if ((s16)(actor->_62A - actor->_60C.y) < 0) { + if ((s16)(actor->escape_angle - actor->_60C.y) < 0) { b = -a; } } @@ -267,9 +267,9 @@ void mfish_bass_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->currentProcess = mfish_bass_normal_process; - if (actor->fishIDEnum == aGYO_TYPE_LARGE_BASS) { + if (actor->fish_idx == aGYO_TYPE_LARGE_BASS) { actor->_5AC.y = 0; - } else if (actor->fishIDEnum == aGYO_TYPE_BASS) { + } else if (actor->fish_idx == aGYO_TYPE_BASS) { actor->_5AC.y = 0.5f; } else { actor->_5AC.y = 1; @@ -303,7 +303,7 @@ void mfish_bass_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } else if (actor->currentProcess == &mfish_bass_normal_process) { if (((actor->_62E_flags & 0x1e) && ABS((s16)(actor->_62C - actor->_60C.y)) < DEG2SHORT_ANGLE(30)) || ((actor->_62E_flags & 0x20) && - ABS((s16)((actor->_62A - DEG2SHORT_ANGLE(-180)) - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { + ABS((s16)((actor->escape_angle - DEG2SHORT_ANGLE(-180)) - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { actor->activityFrameCount = actor->init_data.activeFramesMin + (s16)RANDOM_F(actor->init_data.activeFramesRange); actor->savedActivityFrameCount = actor->activityFrameCount; @@ -330,30 +330,30 @@ void mfish_bass_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { // needed tmp before the decrement for some reason tmp = (0.4f + (0.7f * actor->_5AC.y)); actor->_640--; - add_calc2(&actor->_38._00.frame_control.speed, + add_calc2(&actor->kf.keyframe.frame_control.speed, tmp * (1.75f + actor->_5AC.z * (actor->_5F0 - actor->_5E8) / ((actor->init_data._14) + actor->init_data._10)), 0.5f, 0.5f); } else { - add_calc2(&actor->_38._00.frame_control.speed, (actor->_5E8 * 2.0f + 0.5f) * (actor->_5AC.y * 0.8f + 0.6f), + add_calc2(&actor->kf.keyframe.frame_control.speed, (actor->_5E8 * 2.0f + 0.5f) * (actor->_5AC.y * 0.8f + 0.6f), 0.2f, 0.1f); } } void mfish_bass_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele; + mfish_keyframe_c* skele; Mtx* mtx; GRAPH* graph; GAME_PLAY* play; play = (GAME_PLAY*)gamex; - skele = &actor->_38; + skele = &actor->kf; if (play->game.frame_counter % 2 != 0) { - mtx = &skele->_70; + mtx = skele->mtx[0]; } else { - mtx = &skele->_2b0; + mtx = skele->mtx[1]; } graph = play->game.graph; @@ -361,16 +361,16 @@ void mfish_bass_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_RotateY(actor->_60C.y, 1); - Matrix_translate(0, 0.25f * actor->init_data._04, 1.5f * actor->init_data._24, 1); + Matrix_translate(0, 0.25f * actor->init_data.ofs_y, 1.5f * actor->init_data.ofs_z, 1); Matrix_RotateX(actor->_60C.x, 1); Matrix_RotateZ(MY_CLAMP(-(actor->_618.z >> 1), DEG2SHORT_ANGLE(-20), DEG2SHORT_ANGLE(20)), 1); - Matrix_translate(0, 0.25f * -actor->init_data._04, 0.5f * -actor->init_data._24, 1); + Matrix_translate(0, 0.25f * -actor->init_data.ofs_y, 0.5f * -actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); OPEN_DISP(graph); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(play->game.graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); CLOSE_DISP(graph); - cKF_Si3_draw_R_SV(&play->game, &skele->_00, mtx, &mfish_before_disp, 0, actor); + cKF_Si3_draw_R_SV(&play->game, &skele->keyframe, mtx, &mfish_before_disp, 0, actor); return; } diff --git a/src/actor/ac_museum_fish_big_fish.c_inc b/src/actor/ac_museum_fish_big_fish.c_inc index 087e7307..6ab59fc4 100644 --- a/src/actor/ac_museum_fish_big_fish.c_inc +++ b/src/actor/ac_museum_fish_big_fish.c_inc @@ -8,12 +8,12 @@ void mfish_big_fish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_5AC = ZeroVec; actor->_5F0 = actor->_5E8; actor->_60C.y = DEG2SHORT_ANGLE(90); - if (actor->fishIDEnum == aGYO_TYPE_ARAPAIMA) { + if (actor->fish_idx == aGYO_TYPE_ARAPAIMA) { actor->_60C.y = -actor->_60C.y; actor->position.z = 430.0f; actor->position.x += 40.0f; actor->_640 = 0; - } else if (actor->fishIDEnum == aGYO_TYPE_GIANT_SNAKEHEAD) { + } else if (actor->fish_idx == aGYO_TYPE_GIANT_SNAKEHEAD) { actor->position.z = 530.0f; actor->position.x -= 40.0f; } @@ -26,7 +26,7 @@ void mfish_big_fish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_63A = qrand(); actor->_63C = qrand(); actor->_640 = 0; - actor->_634 = 0; + actor->hide_camera_angle = 0; actor->_632 = 0; actor->_644 = 0; actor->_5AC.x = 0.0f; @@ -39,17 +39,17 @@ void mfish_big_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { xyz_t p; mfish_onefish_mv(actor, gamex); mfish_body_wind_anime_play(actor, gamex); - if (actor->fishIDEnum == aGYO_TYPE_ARAPAIMA) { - actor->_38._00.frame_control.speed = (sin_s(actor->_63A) * 0.2f + 1.0f) * 0.5f; + if (actor->fish_idx == aGYO_TYPE_ARAPAIMA) { + actor->kf.keyframe.frame_control.speed = (sin_s(actor->_63A) * 0.2f + 1.0f) * 0.5f; } else { - actor->_38._00.frame_control.speed = + actor->kf.keyframe.frame_control.speed = ((GETREG(TAKREG, 0x37) * 0.01f) + 0.5f + sin_s(actor->_63A) * (GETREG(TAKREG, 0x38) * 0.01f + 0.1f)) * 0.5f; } actor->_5AC.y = 0.0f; add_calc2(&actor->_5E8, actor->_5F0, 0.1f, 0.02f); actor->_5D0.x = actor->_5E8 * sin_s(actor->_60C.y); actor->_5D0.z = actor->_5E8 * cos_s(actor->_60C.y); - if (actor->fishIDEnum == aGYO_TYPE_ARAPAIMA) { + if (actor->fish_idx == aGYO_TYPE_ARAPAIMA) { if (actor->_600 > 35.0f) { if (actor->_632 > DEG2SHORT_ANGLE(10)) { add_calc0(&actor->_5F0, 1.0f - actor->init_data._18, 0.005f); @@ -85,16 +85,16 @@ void mfish_big_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { DEG2SHORT_ANGLE(0.05f)); actor->_636 += DEG2SHORT_ANGLE(GETREG(TAKREG, 0x47) * 0.1f + 3.0f); add_calc(&actor->position.y, actor->init_data._0C + actor->_5F4, CALC_EASE(0.05f), 0.15f, 0.05f); - if (actor->group == 2) { + if (actor->tank == mfish_TANK_2) { actor->_636 += DEG2SHORT_ANGLE(10); } else { actor->_646 += actor->_642; } - add_calc_short_angle2(&actor->_634, actor->_640, CALC_EASE2(0.1f), + add_calc_short_angle2(&actor->hide_camera_angle, actor->_640, CALC_EASE2(0.1f), (s16)(DEG2SHORT_ANGLE(GETREG(TAKREG, 0x3d) * 0.1f + 0.8f) >> 1) >> 1, DEG2SHORT_ANGLE(0.025f)); if (actor->_5E8 > 0.0f) { - add_calc_short_angle2(&actor->_644, actor->_634, CALC_EASE2(0.1f), DEG2SHORT_ANGLE(0.625f), + add_calc_short_angle2(&actor->_644, actor->hide_camera_angle, CALC_EASE2(0.1f), DEG2SHORT_ANGLE(0.625f), DEG2SHORT_ANGLE(0.025f)); } else { add_calc_short_angle2(&actor->_644, DEG2SHORT_ANGLE(0), CALC_EASE2(0.1f), DEG2SHORT_ANGLE(0.625f), @@ -102,8 +102,8 @@ void mfish_big_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } add_calc2(&actor->_5AC.x, actor->_5AC.z, 0.25f, 0.02f); if (actor->activityFrameCount-- < 0) { - if ((actor->fishIDEnum == aGYO_TYPE_ARAPAIMA && actor->_600 < 10.0f) || - (actor->fishIDEnum == aGYO_TYPE_GIANT_SNAKEHEAD && actor->_5FC < 10.0f)) { + if ((actor->fish_idx == aGYO_TYPE_ARAPAIMA && actor->_600 < 10.0f) || + (actor->fish_idx == aGYO_TYPE_GIANT_SNAKEHEAD && actor->_5FC < 10.0f)) { if (actor->_60C.y > 0) { actor->_612.y = DEG2SHORT_ANGLE(90); } else { @@ -114,18 +114,18 @@ void mfish_big_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { if (RANDOM_F(1.0f) < GETREG(TAKREG, 0x46) * 0.01f + 0.5f) { actor->_642 = DEG2SHORT_ANGLE(RANDOM2_F(2.0f) + 3.0f); - if (actor->fishIDEnum == aGYO_TYPE_ARAPAIMA || GETREG(TAKREG, 0x39) == 1) { - actor->_634 = DEG2SHORT_ANGLE(RANDOM_F(10.f) + 20.f); + if (actor->fish_idx == aGYO_TYPE_ARAPAIMA || GETREG(TAKREG, 0x39) == 1) { + actor->hide_camera_angle = DEG2SHORT_ANGLE(RANDOM_F(10.f) + 20.f); actor->_640 = DEG2SHORT_ANGLE(RANDOM_F(10.f)); actor->_5AC.z = Rnd_EX_f(1.0f); } else { - actor->_634 = DEG2SHORT_ANGLE(RANDOM_F(5.0f) + 15.0f); + actor->hide_camera_angle = DEG2SHORT_ANGLE(RANDOM_F(5.0f) + 15.0f); actor->_640 = DEG2SHORT_ANGLE(RANDOM_F(10.f)); actor->_5AC.z = Rnd_EX_f(0.5f); } } else { actor->_642 = DEG2SHORT_ANGLE(RANDOM2_F(2.0f) + 3.0f); - actor->_634 = 0; + actor->hide_camera_angle = 0; actor->_640 = 0; actor->_5AC.z = 0.0f; actor->_632 = DEG2SHORT_ANGLE(GETREG(TAKREG, 0x48) + 45.0f); @@ -136,7 +136,7 @@ void mfish_big_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_5F0 = -0.01f; actor->_5F4 = RANDOM2_F(5.0f); actor->_642 = 0; - actor->_634 = 0; + actor->hide_camera_angle = 0; actor->_640 = 0; actor->_5AC.z = 0.0f; } @@ -153,7 +153,7 @@ BOOL mfish_bfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi if (joint_idx == 1) { f32 v; int i; - if (actor->fishIDEnum == aGYO_TYPE_ARAPAIMA) { + if (actor->fish_idx == aGYO_TYPE_ARAPAIMA) { v = 0.015f; } else { v = 0.02f; @@ -167,7 +167,7 @@ BOOL mfish_bfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi } else if (joint_idx == 2) { f32 v; int i; - if (actor->fishIDEnum == aGYO_TYPE_ARAPAIMA) { + if (actor->fish_idx == aGYO_TYPE_ARAPAIMA) { v = 0.025f; } else { v = 0.035f; @@ -180,7 +180,7 @@ BOOL mfish_bfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi joint_rot->x = MY_CLAMP(i, DEG2SHORT_ANGLE(-20), DEG2SHORT_ANGLE(20)); Matrix_scale(1.0f, 1.0f + v * sin_s(actor->_63A + DEG2SHORT_ANGLE(270)), 1.0f + v * sin_s(actor->_63A + DEG2SHORT_ANGLE(90)), 1); - } else if (joint_idx == 3 && actor->fishIDEnum == aGYO_TYPE_ARAPAIMA) { + } else if (joint_idx == 3 && actor->fish_idx == aGYO_TYPE_ARAPAIMA) { int i = joint_rot->y - actor->_618.z + (int)(actor->_644 * (1.0f + 0.01f * GETREG(TAKREG, 0x16)) * sin_s(actor->_646 + DEG2SHORT_ANGLE(-180.f + GETREG(TAKREG, 0x18)))); @@ -191,19 +191,19 @@ BOOL mfish_bfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi } void mfish_big_fish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_bfish_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_bfish_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_dojou.c_inc b/src/actor/ac_museum_fish_dojou.c_inc index 1b24db38..34e0e750 100644 --- a/src/actor/ac_museum_fish_dojou.c_inc +++ b/src/actor/ac_museum_fish_dojou.c_inc @@ -114,15 +114,15 @@ void mfish_dojou_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->position.z += actor->_5D0.z + p.z; mfish_onefish_mv(actor, gamex); if (ABS(actor->_612.x) > DEG2SHORT_ANGLE(15)) { - add_calc2(&actor->_38._00.frame_control.speed, + add_calc2(&actor->kf.keyframe.frame_control.speed, (GETREG(TAKREG, 0x1a) * 0.1f + 3.0f) * 0.5f + (GETREG(TAKREG, 0x1b) * 0.1f + 3.0f) * actor->_5E8, 0.2f, 0.1f); add_calc2(&actor->_5AC.x, 1.0f, 0.1f, 0.02f); } else { - add_calc2(&actor->_38._00.frame_control.speed, actor->_5E8 * 1.5f + 0.5f, 0.2f, 0.1f); + add_calc2(&actor->kf.keyframe.frame_control.speed, actor->_5E8 * 1.5f + 0.5f, 0.2f, 0.1f); add_calc0(&actor->_5AC.x, 0.1f, 0.02f); } - actor->_5B8 = actor->position; + actor->objchk_pos = actor->position; Museum_Fish_BGCheck(actor, gamex); if (actor->position.y < actor->init_data._08 + 50.f) { actor->position.y = actor->init_data._08 + 50.f; @@ -189,23 +189,23 @@ BOOL mfish_dojou_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi } void mfish_dojou_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; s16 s; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } s = actor->_60C.x; OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_RotateY(actor->_60C.y, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24 * (0.5f * cos_s(s) + ABS(cos_s(s))), 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z * (0.5f * cos_s(s) + ABS(cos_s(s))), 1); Matrix_RotateX(s, 1); - Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f * cos_s(s), 1); + Matrix_translate(0.0f, 0.0f, -actor->init_data.ofs_z * 0.5f * cos_s(s), 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_dojou_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_dojou_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_donko.c_inc b/src/actor/ac_museum_fish_donko.c_inc index 488fe0ec..169ceecb 100644 --- a/src/actor/ac_museum_fish_donko.c_inc +++ b/src/actor/ac_museum_fish_donko.c_inc @@ -29,16 +29,16 @@ void mfish_donko_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { mfish_body_wind_anime_play(actor, gamex); if (actor->activityFrameCount > actor->savedActivityFrameCount - 10) { - actor->_38._00.frame_control.speed = (actor->_5E8 * 3.0f + 1.0f) * 0.5f; + actor->kf.keyframe.frame_control.speed = (actor->_5E8 * 3.0f + 1.0f) * 0.5f; } else { - add_calc2(&actor->_38._00.frame_control.speed, actor->_5E8 * 2.0f + 0.125f, 0.2f, 0.1f); + add_calc2(&actor->kf.keyframe.frame_control.speed, actor->_5E8 * 2.0f + 0.125f, 0.2f, 0.1f); } actor->_5AC.y = 0.0f; actor->_5D0.x = actor->_5E8 * sin_s(actor->_60C.y); actor->_5D0.z = actor->_5E8 * cos_s(actor->_60C.y); - x = (actor->position.x - (suisou_pos[actor->group].x + 22.5f)); - z = (actor->position.z - (suisou_pos[actor->group].z - 31.25f)); + x = (actor->position.x - (suisou_pos[actor->tank].x + 22.5f)); + z = (actor->position.z - (suisou_pos[actor->tank].z - 31.25f)); actor->_5D0.x -= x * 0.002f; actor->_5D0.z -= z * 0.002f; @@ -112,21 +112,21 @@ BOOL mfish_donko_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi } void mfish_donko_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_RotateY(actor->_60C.y, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24 * 1.5f, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z * 1.5f, 1); Matrix_RotateX(actor->_60C.x, 1); - Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f, 1); + Matrix_translate(0.0f, 0.0f, -actor->init_data.ofs_z * 0.5f, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_donko_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_donko_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_gupi.c_inc b/src/actor/ac_museum_fish_gupi.c_inc index 742704e8..e3bc8ffe 100644 --- a/src/actor/ac_museum_fish_gupi.c_inc +++ b/src/actor/ac_museum_fish_gupi.c_inc @@ -62,7 +62,7 @@ void mfish_gupi_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { s16 s; //! BUG: unused? RANDOM_F(1.0f); - s = search_position_angleY(&suisou_pos[actor->group], &actor->position); + s = search_position_angleY(&suisou_pos[actor->tank], &actor->position); actor->_5F8 = 0.0f; actor->_612.y = s + DEG2SHORT_ANGLE(RANDOM2_F(90.0)); actor->activityFrameCount = @@ -129,13 +129,13 @@ void mfish_gupi_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { mfish_onefish_mv(actor, gamex); if (actor->_5F0 - 0.01f > actor->_5E8 && actor->_5F0 > 0.1f) { - actor->_38._00.frame_control.speed = + actor->kf.keyframe.frame_control.speed = (1.0f + GETREG(TAKREG, 0x28) * 0.1f) * 0.5f + (3.0f + GETREG(TAKREG, 0x29) * 0.1f) * actor->_5E8; } else { - add_calc2(&actor->_38._00.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); + add_calc2(&actor->kf.keyframe.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); } actor->_63A += (s16)DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x47) + 3.0f); - actor->_5B8 = actor->position; + actor->objchk_pos = actor->position; Museum_Fish_BGCheck(actor, gamex); if (actor->position.y < (actor->_5F4 - 30.f) + actor->init_data._08) { @@ -193,23 +193,23 @@ BOOL mfish_gupi_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int join } void mfish_gupi_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; s16 v; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } v = actor->_60C.x * 0.7f; OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_RotateY(actor->_60C.y, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24 * 1.5f, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z * 1.5f, 1); Matrix_RotateX(v, 1); - Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f, 1); + Matrix_translate(0.0f, 0.0f, -actor->init_data.ofs_z * 0.5f, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_gupi_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_gupi_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_hasu.c_inc b/src/actor/ac_museum_fish_hasu.c_inc index e76be43a..ae98a3eb 100644 --- a/src/actor/ac_museum_fish_hasu.c_inc +++ b/src/actor/ac_museum_fish_hasu.c_inc @@ -3,43 +3,43 @@ extern cKF_Skeleton_R_c cKF_bs_r_obj_museum5_hasu; extern cKF_Animation_R_c cKF_ba_r_obj_museum5_hasu; -void mfish_hasu_ct(YET_SKELETON_2* actor, GAME* gamex) { - cKF_SkeletonInfo_R_ct(&actor->_00._00, &cKF_bs_r_obj_museum5_hasu, &cKF_ba_r_obj_museum5_hasu, &actor->_00._4F0, - &actor->_00._526); - cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&actor->_00._00, &cKF_ba_r_obj_museum5_hasu, NULL, 0.5f, +void mfish_hasu_ct(mfish_hasu_c* actor, GAME* gamex) { + cKF_SkeletonInfo_R_ct(&actor->keyframe, &cKF_bs_r_obj_museum5_hasu, &cKF_ba_r_obj_museum5_hasu, actor->work, + actor->morph); + cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&actor->keyframe, &cKF_ba_r_obj_museum5_hasu, NULL, 0.5f, 0.0f); } -void mfish_hasu_mv(YET_SKELETON_2* actor, GAME* gamex) { - cKF_SkeletonInfo_R_play(&actor->_00._00); +void mfish_hasu_mv(mfish_hasu_c* actor, GAME* gamex) { + cKF_SkeletonInfo_R_play(&actor->keyframe); } -void mfish_hasu_dw(YET_SKELETON_2* actor, GAME* gamex) { +void mfish_hasu_dw(mfish_hasu_c* actor, GAME* gamex) { Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &actor->_00._70; + mtxp = actor->mtx[0]; } else { - mtxp = &actor->_00._2b0; + mtxp = actor->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(hasu_pos.x + GETREG(TAKREG, 0x42) * 0.1f, hasu_pos.y, hasu_pos.z + GETREG(TAKREG, 0x43) * 0.1f, 0); Matrix_RotateY(DEG2SHORT_ANGLE(-180), 1); Matrix_scale(0.01f, 0.01f, 0.01f, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &actor->_00._00, mtxp, NULL, NULL, NULL); + cKF_Si3_draw_R_SV(gamex, &actor->keyframe, mtxp, NULL, NULL, NULL); CLOSE_DISP(gamex->graph); } extern cKF_Animation_R_c cKF_ba_r_act_mus_kaeru_a1_big; void mfish_kaeru_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; - YET_SKELETON_2* keyframe = actor->_590; + mfish_keyframe_c* skele = &actor->kf; + mfish_hasu_c* keyframe = actor->hasu_p; skele->_550[1] = &cKF_ba_r_act_mus_kaeru_a1_big; - cKF_SkeletonInfo_R_ct(&skele->_00, skele->_54C, skele->_550[0], &skele->_4F0, &skele->_514); - cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&skele->_00, skele->_550[0], NULL, 0.5f, 0.0f); - cKF_SkeletonInfo_R_ct(&keyframe->_00._00, &cKF_bs_r_obj_museum5_hasu, &cKF_ba_r_obj_museum5_hasu, - &keyframe->_00._4F0, &keyframe->_00._526); - cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&keyframe->_00._00, &cKF_ba_r_obj_museum5_hasu, NULL, 0.5f, + cKF_SkeletonInfo_R_ct(&skele->keyframe, skele->_54C, skele->_550[0], skele->work, skele->morph); + cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&skele->keyframe, skele->_550[0], NULL, 0.5f, 0.0f); + cKF_SkeletonInfo_R_ct(&keyframe->keyframe, &cKF_bs_r_obj_museum5_hasu, &cKF_ba_r_obj_museum5_hasu, + keyframe->work, keyframe->morph); + cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&keyframe->keyframe, &cKF_ba_r_obj_museum5_hasu, NULL, 0.5f, 0.0f); actor->position.x = 453.9f; actor->position.y = 116.0f; @@ -61,18 +61,18 @@ void mfish_kaeru_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { void mfish_kaeru_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { GAME_PLAY* game = (GAME_PLAY*)gamex; - YET_SKELETON* skele1 = &actor->_38; - YET_SKELETON_2* skele2 = actor->_590; - cKF_SkeletonInfo_R_play(&skele1->_00); - cKF_SkeletonInfo_R_play(&skele2->_00._00); + mfish_keyframe_c* skele1 = &actor->kf; + mfish_hasu_c* skele2 = actor->hasu_p; + cKF_SkeletonInfo_R_play(&skele1->keyframe); + cKF_SkeletonInfo_R_play(&skele2->keyframe); skele2->_568 += DEG2SHORT_ANGLE(GETREG(TAKREG, 0xb) + 5.0f); skele2->_56A += DEG2SHORT_ANGLE(GETREG(TAKREG, 0xb) + 5.0f); skele2->_56C += DEG2SHORT_ANGLE(GETREG(TAKREG, 0xb) + 5.0f); add_calc0(&skele2->_55C, 0.2f, GETREG(TAKREG, 0xc) * 0.1f + 0.5f); add_calc0(&skele2->_560, 0.2f, GETREG(TAKREG, 0xc) * 0.1f + 0.5f); add_calc0(&skele2->_564, 0.2f, GETREG(TAKREG, 0xc) * 0.1f + 0.5f); - // some other macro? - if ((float)__fabs(skele1->_00.frame_control.current_frame - skele1->_00.frame_control.start_frame) < 0.008f) { + + if (F32_IS_ZERO(skele1->keyframe.frame_control.current_frame - skele1->keyframe.frame_control.start_frame)) { actor->_63E--; if (actor->_63E <= 0) { if (actor->_640 == 1) { @@ -81,7 +81,7 @@ void mfish_kaeru_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_640 = 1; } actor->_63E = RANDOM_F(8.0f) + 1.0f; - cKF_SkeletonInfo_R_init_standard_repeat_morph(&skele1->_00, skele1->_550[actor->_640], NULL, 0.f); + cKF_SkeletonInfo_R_init_standard_repeat_morph(&skele1->keyframe, skele1->_550[actor->_640], NULL, 0.f); } if (actor->_640 == 1) { sAdo_OngenTrgStart(0x77, &actor->position); @@ -162,7 +162,7 @@ void mfish_kaeru_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { BOOL hasu_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, Gfx** joint_shape, u8* joint_flags, void* arg, s_xyz* joint_rot, xyz_t* joint_pos) { MUSEUM_FISH_PRIVATE_DATA* actor = (MUSEUM_FISH_PRIVATE_DATA*)arg; - YET_SKELETON_2* v2 = actor->_590; + mfish_hasu_c* v2 = actor->hasu_p; if (joint_idx == 7) { joint_pos->z += v2->_55C * sin_s(v2->_568); } else if (joint_idx == 4) { @@ -176,7 +176,7 @@ BOOL hasu_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, BOOL hasu_after_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, Gfx** joint_shape, u8* joint_flags, void* arg, s_xyz* joint_rot, xyz_t* joint_pos) { MUSEUM_FISH_PRIVATE_DATA* actor = (MUSEUM_FISH_PRIVATE_DATA*)arg; - YET_SKELETON_2* skele = actor->_590; + mfish_hasu_c* skele = actor->hasu_p; if (joint_idx == 9) { Matrix_Position_Zero(&actor->position); actor->position.y = skele->_564 * actor->init_data.renderScale * sin_s(skele->_56C) + 116.0f; @@ -185,15 +185,15 @@ BOOL hasu_after_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, } void mfish_kaeru_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; - YET_SKELETON_2* keyframe = actor->_590; + mfish_keyframe_c* skele = &actor->kf; + mfish_hasu_c* keyframe = actor->hasu_p; Mtx *mtxp, *mtxp2; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; - mtxp2 = &keyframe->_00._70; + mtxp = skele->mtx[0]; + mtxp2 = keyframe->mtx[0]; } else { - mtxp = &skele->_2b0; - mtxp2 = &keyframe->_00._2b0; + mtxp = skele->mtx[1]; + mtxp2 = keyframe->mtx[1]; } OPEN_DISP(gamex->graph); @@ -201,13 +201,13 @@ void mfish_kaeru_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_RotateY(DEG2SHORT_ANGLE(-180), 1); Matrix_scale(0.01f, 0.01f, 0.01f, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &keyframe->_00._00, mtxp2, hasu_before_disp, hasu_after_disp, actor); + cKF_Si3_draw_R_SV(gamex, &keyframe->keyframe, mtxp2, hasu_before_disp, hasu_after_disp, actor); Matrix_translate(actor->position.x + actor->_5AC.x, actor->position.y, actor->position.z + actor->_5AC.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, NULL, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, NULL, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_ito.c_inc b/src/actor/ac_museum_fish_ito.c_inc index 05f94f15..74f3c057 100644 --- a/src/actor/ac_museum_fish_ito.c_inc +++ b/src/actor/ac_museum_fish_ito.c_inc @@ -17,7 +17,7 @@ void mfish_ito_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_63A = qrand(); actor->_63C = qrand(); actor->_640 = 0; - actor->_634 = 0; + actor->hide_camera_angle = 0; actor->_632 = 0; actor->_644 = 0; actor->_5AC.x = 0.0f; @@ -29,7 +29,7 @@ void mfish_ito_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { xyz_t p; mfish_onefish_mv(actor, gamex); mfish_body_wind_anime_play(actor, gamex); - actor->_38._00.frame_control.speed = (sin_s(actor->_63A) * 0.6f + 3.0f) * 0.5f; + actor->kf.keyframe.frame_control.speed = (sin_s(actor->_63A) * 0.6f + 3.0f) * 0.5f; actor->_5AC.y = sin_s(actor->_63A) * 0.2f; add_calc2(&actor->_5E8, actor->_5F0, 0.1f, 0.02f); actor->_5D0.x = actor->_5E8 * sin_s(actor->_60C.y); @@ -50,10 +50,10 @@ void mfish_ito_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { DEG2SHORT_ANGLE(0.025f)); add_calc(&actor->position.y, actor->init_data._0C + actor->_5F4, CALC_EASE(0.05f), 0.15f, 0.05f); actor->_646 += DEG2SHORT_ANGLE(10); - add_calc_short_angle2(&actor->_634, actor->_640, CALC_EASE2(0.1f), + add_calc_short_angle2(&actor->hide_camera_angle, actor->_640, CALC_EASE2(0.1f), (s16)(DEG2SHORT_ANGLE(GETREG(TAKREG, 0x3d) * 0.1f + 0.8f) >> 1) >> 1, DEG2SHORT_ANGLE(0.025f)); - add_calc_short_angle2(&actor->_644, actor->_634, CALC_EASE2(0.1f), DEG2SHORT_ANGLE(0.625f), + add_calc_short_angle2(&actor->_644, actor->hide_camera_angle, CALC_EASE2(0.1f), DEG2SHORT_ANGLE(0.625f), DEG2SHORT_ANGLE(0.025f)); add_calc2(&actor->_5AC.x, actor->_5AC.z, 0.25f, 0.001f); if (actor->activityFrameCount-- < 0) { @@ -65,14 +65,14 @@ void mfish_ito_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } actor->_5F0 = actor->init_data._10 + MAX(-actor->init_data._10, RANDOM_F(actor->init_data._14)); actor->_642 = DEG2SHORT_ANGLE(RANDOM2_F(2.0f) + 3.0f); - actor->_634 = DEG2SHORT_ANGLE(RANDOM_F(10.0f) + 20.0f); + actor->hide_camera_angle = DEG2SHORT_ANGLE(RANDOM_F(10.0f) + 20.0f); actor->_640 = DEG2SHORT_ANGLE(RANDOM_F(10.0f)); actor->_5AC.z = Rnd_EX_f(0.06f); } else { actor->_5F0 = -0.1f; actor->_5F4 = RANDOM2_F(5.0f); actor->_642 = 0; - actor->_634 = 0; + actor->hide_camera_angle = 0; actor->_640 = 0; actor->_5AC.z = 0.0f; } @@ -110,19 +110,19 @@ BOOL mfish_ito_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint void mfish_ito_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y + actor->_5AC.y, actor->position.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_ito_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_ito_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_kaseki.c_inc b/src/actor/ac_museum_fish_kaseki.c_inc index 522025de..9c57961a 100644 --- a/src/actor/ac_museum_fish_kaseki.c_inc +++ b/src/actor/ac_museum_fish_kaseki.c_inc @@ -14,7 +14,7 @@ void mfish_kaseki_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_5AC = ZeroVec; actor->_638 = qrand(); actor->_622 = 0; - actor->_634 = 0; + actor->hide_camera_angle = 0; actor->activityFrameCount = actor->init_data.activeFramesMin + (s16)RANDOM_F(actor->init_data.activeFramesRange); actor->_624 = 1; actor->_594 = NULL; @@ -31,7 +31,7 @@ void mfish_kaseki_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { void mfish_kaseki_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { s16 s = ABS(actor->_622) * (actor->init_data._30 * (GETREG(TAKREG, 0x1d) * 0.001f + 0.5f) / 32749.0f); - s = MIN(actor->_634, MAX(s, DEG2SHORT_ANGLE2(5))); + s = MIN(actor->hide_camera_angle, MAX(s, DEG2SHORT_ANGLE2(5))); add_calc_short_angle2(&actor->_632, 0, CALC_EASE(0.5), DEG2SHORT_ANGLE(5), DEG2SHORT_ANGLE(0.5f)); actor->_636 += 455; actor->_622 = add_calc_short_angle2(&actor->_60C.y, actor->_612.y + (s16)(actor->_632 * sin_s(actor->_636)), @@ -110,10 +110,10 @@ void mfish_kaseki_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { actor->currentProcess(actor, game); add_calc2(&actor->position.y, actor->init_data._0C, 0.5f, 0.1f); if (ABS(actor->_622) > DEG2SHORT_ANGLE(10)) { - add_calc_short_angle2(&actor->_634, DEG2SHORT_ANGLE(20), CALC_EASE(0.25f), DEG2SHORT_ANGLE(0.25f), + add_calc_short_angle2(&actor->hide_camera_angle, DEG2SHORT_ANGLE(20), CALC_EASE(0.25f), DEG2SHORT_ANGLE(0.25f), DEG2SHORT_ANGLE(0)); } else { - add_calc_short_angle2(&actor->_634, DEG2SHORT_ANGLE(1), CALC_EASE(0.25f), DEG2SHORT_ANGLE(1.25f), + add_calc_short_angle2(&actor->hide_camera_angle, DEG2SHORT_ANGLE(1), CALC_EASE(0.25f), DEG2SHORT_ANGLE(1.25f), DEG2SHORT_ANGLE(0)); } @@ -139,11 +139,11 @@ void mfish_kaseki_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { actor->position.x += actor->_5D0.x; actor->position.z += actor->_5D0.z; mfish_onefish_mv(actor, game); - actor->_38._00.frame_control.speed = actor->_5E8 * 0.75f + 0.25f; + actor->kf.keyframe.frame_control.speed = actor->_5E8 * 0.75f + 0.25f; mfish_body_wind_anime_play(actor, game); Museum_Fish_BGCheck(actor, game); - if (actor->position.y < 55.0f - actor->init_data._04) { - actor->position.y = 55.0f - actor->init_data._04; + if (actor->position.y < 55.0f - actor->init_data.ofs_y) { + actor->position.y = 55.0f - actor->init_data.ofs_y; } actor->activityFrameCount--; } @@ -174,19 +174,19 @@ BOOL mfish_kaseki_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int jo } void mfish_kaseki_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_kaseki_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_kaseki_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_kingyo.c_inc b/src/actor/ac_museum_fish_kingyo.c_inc index 557a8724..a6de2ae0 100644 --- a/src/actor/ac_museum_fish_kingyo.c_inc +++ b/src/actor/ac_museum_fish_kingyo.c_inc @@ -57,7 +57,7 @@ void mfish_kingyo_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } } else if (actor->_5F8 > actor->init_data._08 * 30.f) { f32 v = RANDOM_F(1.0f); - s16 s = search_position_angleY(&suisou_pos[actor->group], &actor->position); + s16 s = search_position_angleY(&suisou_pos[actor->tank], &actor->position); actor->_5F8 = 0.0f; actor->_612.y = s + DEG2SHORT_ANGLE(RANDOM2_F(90)); actor->activityFrameCount = @@ -126,7 +126,7 @@ void mfish_kingyo_peck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } if (actor->_62E_flags & 0x20 && dist > 40.f) { - if ((s16)(actor->_612.y - actor->_62A) > 0) { + if ((s16)(actor->_612.y - actor->escape_angle) > 0) { actor->_612.y += DEG2SHORT_ANGLE(90); } else { actor->_612.y -= DEG2SHORT_ANGLE(90); @@ -147,7 +147,7 @@ void mfish_kingyo_peck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->savedActivityFrameCount = actor->activityFrameCount; actor->_640 = RANDOM_F(130.f); } - } else if (MF_Control_Actor->_14db4 != actor->group) { + } else if (MF_Control_Actor->player_area != actor->tank) { mfish_kingyo_turn_init(actor, gamex); } else if (mfish_peck_wall_check(actor, gamex)) { actor->_5F0 = 0.0f; @@ -190,15 +190,15 @@ void mfish_kingyo_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { if ((((actor->_5F0 - 0.01f) > actor->_5E8) || (actor->activityFrameCount > (s16)(actor->savedActivityFrameCount - actor->_640))) && actor->_5F0 > 0.1f) { - actor->_38._00.frame_control.speed = + actor->kf.keyframe.frame_control.speed = (5.0f + GETREG(TAKREG, 0x28) * 0.1f) * 0.5f + (4.0f + GETREG(TAKREG, 0x29) * 0.1f) * actor->_5E8; } else { add_calc2(&actor->_5F0, GETREG(TAKREG, 0x31) * 0.001f + 0.05f, GETREG(TAKREG, 0x32) * 0.001f + 0.01f, GETREG(TAKREG, 0x33) * 0.001f + 0.002f); - add_calc2(&actor->_38._00.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); + add_calc2(&actor->kf.keyframe.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); } actor->_63A += (s16)DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x47) + 3.0f); - actor->_5B8 = actor->position; + actor->objchk_pos = actor->position; Museum_Fish_BGCheck(actor, gamex); if (actor->position.y < 60.f + actor->init_data._08) { actor->position.y = 60.f + actor->init_data._08; @@ -242,23 +242,23 @@ BOOL mfish_kingyo_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int jo } void mfish_kingyo_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; s16 s; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } s = actor->_60C.x * (GETREG(TAKREG, 0x41) * 0.01f + 0.75f); OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_RotateY(actor->_60C.y, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24 * 1.5f, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z * 1.5f, 1); Matrix_RotateX(s, 1); - Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f, 1); + Matrix_translate(0.0f, 0.0f, -actor->init_data.ofs_z * 0.5f, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_kingyo_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_kingyo_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_koi.c_inc b/src/actor/ac_museum_fish_koi.c_inc index 21cf9af8..058fe37e 100644 --- a/src/actor/ac_museum_fish_koi.c_inc +++ b/src/actor/ac_museum_fish_koi.c_inc @@ -55,7 +55,7 @@ void mfish_koi_move_smooth(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { if (ABS(vv) < DEG2SHORT_ANGLE(90) && ABS(actor->_622) < DEG2SHORT_ANGLE(15)) { if (actor->currentProcess == mfish_koi_dummy_process) { - o = &actor->_634; + o = &actor->hide_camera_angle; } else { o = &actor->_612.y; } @@ -89,15 +89,15 @@ void mfish_koi_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void mfish_koi_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { - actor->_634 = mfish_get_hide_camera_angle(actor); + actor->hide_camera_angle = mfish_get_hide_camera_angle(actor); if (actor->_62E_flags & 0x1e) { if ((s16)(actor->_612.y - actor->_62C) > 0) { - actor->_634 = actor->_62C + DEG2SHORT_ANGLE(90); + actor->hide_camera_angle = actor->_62C + DEG2SHORT_ANGLE(90); } else { - actor->_634 = actor->_62C - DEG2SHORT_ANGLE(90); + actor->hide_camera_angle = actor->_62C - DEG2SHORT_ANGLE(90); } } else { - add_calc_short_angle2(&actor->_634, actor->_612.y, CALC_EASE(0.4), DEG2SHORT_ANGLE(7.5f), + add_calc_short_angle2(&actor->hide_camera_angle, actor->_612.y, CALC_EASE(0.4), DEG2SHORT_ANGLE(7.5f), DEG2SHORT_ANGLE(0.5f)); } actor->_5F0 = MIN(MAX(actor->init_data._10, 0.1f), actor->_5E8); @@ -106,7 +106,7 @@ void mfish_koi_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { } void mfish_koi_dummy_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { - add_calc_short_angle2(&actor->_612.y, actor->_634, CALC_EASE2(0.2f), DEG2SHORT_ANGLE(3.75f), + add_calc_short_angle2(&actor->_612.y, actor->hide_camera_angle, CALC_EASE2(0.2f), DEG2SHORT_ANGLE(3.75f), DEG2SHORT_ANGLE(0.25f)); actor->_622 = add_calc_short_angle2(&actor->_60C.y, actor->_612.y, CALC_EASE2(0.25f), DEG2SHORT_ANGLE(3.75f), DEG2SHORT_ANGLE(0.125f)); @@ -208,7 +208,7 @@ void mfish_koi_turn_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { s3 = -ABS(s3); } actor->_62E_flags &= ~0xC0; - } else if (actor->_62E_flags & 0x20 && (actor->_62A - actor->_60C.y) < 0) { + } else if (actor->_62E_flags & 0x20 && (actor->escape_angle - actor->_60C.y) < 0) { s3 = -s3; } @@ -410,7 +410,7 @@ void mfish_koi_base_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } else if (actor->currentProcess == mfish_koi_normal_process) { if ((actor->_62E_flags & 0x1e && ABS((s16)(actor->_62C - actor->_60C.y)) < DEG2SHORT_ANGLE(30)) || (actor->_62E_flags & 0x20 && - ABS((s16)(DEG2SHORT_ANGLE(180) + actor->_62A - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { + ABS((s16)(DEG2SHORT_ANGLE(180) + actor->escape_angle - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { actor->activityFrameCount = actor->init_data.activeFramesMin + (s16)RANDOM_F(actor->init_data.activeFramesRange); actor->savedActivityFrameCount = actor->activityFrameCount; @@ -442,13 +442,13 @@ void mfish_koi_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { if (actor->_640 > 0) { actor->_640--; if (actor->currentProcess == mfish_koi_dummy_process || actor->currentProcess == mfish_koi_long_move_process) { - add_calc2(&actor->_38._00.frame_control.speed, + add_calc2(&actor->kf.keyframe.frame_control.speed, (actor->_5AC.x * MAX(actor->_5F0 - actor->_5E8, 0.0f)) / (actor->init_data._10 + actor->init_data._14) + 0.15f, 0.5f, 0.5f); } else { - add_calc2(&actor->_38._00.frame_control.speed, + add_calc2(&actor->kf.keyframe.frame_control.speed, (actor->_5AC.x * MAX(actor->_5F0 - actor->_5E8, 0.0f)) / (actor->init_data._10 + actor->init_data._14) + 0.15f, @@ -461,7 +461,7 @@ void mfish_koi_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { (actor->init_data._14 + actor->init_data._10), 0.5f, 0.1f); } else { - add_calc2(&actor->_38._00.frame_control.speed, + add_calc2(&actor->kf.keyframe.frame_control.speed, (actor->_5E8 * 2.0f) / (actor->init_data._10 + actor->init_data._14) + 0.3f, 0.2f, 0.1f); add_calc2(&actor->_5AC.z, 1.0f, 0.1f, 0.025f); } @@ -490,22 +490,22 @@ BOOL mfish_koi_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint } void mfish_koi_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_RotateY(actor->_60C.y, 1); - Matrix_translate(0.0f, actor->init_data._04 * 0.25f, actor->init_data._24 * 1.5f, 1); + Matrix_translate(0.0f, actor->init_data.ofs_y * 0.25f, actor->init_data.ofs_z * 1.5f, 1); Matrix_RotateX(actor->_60C.x, 1); Matrix_RotateZ(MY_CLAMP(-(actor->_618.z >> 2), DEG2SHORT_ANGLE(-20), DEG2SHORT_ANGLE(20)), 1); - Matrix_translate(0.0f, -actor->init_data._04 * 0.25f, -actor->init_data._24 * 0.5f, 1); + Matrix_translate(0.0f, -actor->init_data.ofs_y * 0.25f, -actor->init_data.ofs_z * 0.5f, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_koi_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_koi_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_kurage.c_inc b/src/actor/ac_museum_fish_kurage.c_inc index 7852a592..f03736d2 100644 --- a/src/actor/ac_museum_fish_kurage.c_inc +++ b/src/actor/ac_museum_fish_kurage.c_inc @@ -171,7 +171,7 @@ void mfish_kurage_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->position.y += actor->_5D0.y + actor->_5DC.y; actor->position.z += actor->_5D0.z + actor->_5DC.z; - actor->_5B8 = actor->position; + actor->objchk_pos = actor->position; Museum_Fish_BGCheck(actor, gamex); if (actor->position.y < 55.0f + actor->init_data._08) { diff --git a/src/actor/ac_museum_fish_medaka.c_inc b/src/actor/ac_museum_fish_medaka.c_inc index 600357a8..f1023aa1 100644 --- a/src/actor/ac_museum_fish_medaka.c_inc +++ b/src/actor/ac_museum_fish_medaka.c_inc @@ -20,7 +20,7 @@ void mfish_medaka_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void mfish_medaka_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - if (actor->group == 2) { + if (actor->tank == mfish_TANK_2) { if (actor->activityFrameCount < 0) { actor->_5F0 = actor->init_data._10 + Rnd_EX_f(actor->init_data._14); } @@ -58,7 +58,7 @@ void mfish_medaka_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } } else if (actor->_5F8 > actor->init_data._08 * 30.f) { f32 v = RANDOM_F(1.0f); - s16 s = search_position_angleY(&suisou_pos[actor->group], &actor->position); + s16 s = search_position_angleY(&suisou_pos[actor->tank], &actor->position); actor->_5F8 = 0.0f; actor->_612.y = s + DEG2SHORT_ANGLE(RANDOM2_F(90)); actor->activityFrameCount = @@ -120,8 +120,8 @@ void mfish_medaka_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->position.y += actor->_5D0.y + p.y; actor->position.z += actor->_5D0.z + p.z; mfish_onefish_mv(actor, gamex); - add_calc2(&actor->_38._00.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); - actor->_5B8 = actor->position; + add_calc2(&actor->kf.keyframe.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); + actor->objchk_pos = actor->position; Museum_Fish_BGCheck(actor, gamex); if (actor->position.y < 70.f + actor->init_data._08) { actor->position.y = 70.f + actor->init_data._08; @@ -156,23 +156,23 @@ BOOL mfish_medaka_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int jo } void mfish_medaka_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; s16 s; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } s = actor->_60C.x * (GETREG(TAKREG, 0x41) * 0.01f + 0.75f); OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_RotateY(actor->_60C.y, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24 * 1.5f, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z * 1.5f, 1); Matrix_RotateX(s, 1); - Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f, 1); + Matrix_translate(0.0f, 0.0f, -actor->init_data.ofs_z * 0.5f, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_medaka_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_medaka_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_namazu.c_inc b/src/actor/ac_museum_fish_namazu.c_inc index 089698af..101175aa 100644 --- a/src/actor/ac_museum_fish_namazu.c_inc +++ b/src/actor/ac_museum_fish_namazu.c_inc @@ -8,7 +8,7 @@ void mfish_namazu_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_612.y = actor->_60C.y; actor->_5F4 = 0.0f; actor->_5AC = ZeroVec; - if (actor->fishIDEnum == aGYO_TYPE_CATFISH) { + if (actor->fish_idx == aGYO_TYPE_CATFISH) { actor->_5AC.y = 1500.f; } else { actor->_5AC.y = 1700.f; @@ -96,14 +96,14 @@ void mfish_namazu_normal_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void mfish_namazu_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { - actor->_634 = mfish_get_hide_camera_angle(actor); - add_calc_short_angle2(&actor->_634, actor->_612.y, CALC_EASE(0.5f), DEG2SHORT_ANGLE(10), DEG2SHORT_ANGLE(0.5f)); + actor->hide_camera_angle = mfish_get_hide_camera_angle(actor); + add_calc_short_angle2(&actor->hide_camera_angle, actor->_612.y, CALC_EASE(0.5f), DEG2SHORT_ANGLE(10), DEG2SHORT_ANGLE(0.5f)); actor->currentProcess = mfish_namazu_dummy_process; } void mfish_namazu_dummy_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game) { if (actor->_5E8 < 0.5f) { - add_calc_short_angle2(&actor->_612.y, actor->_634, CALC_EASE2(0.1f), DEG2SHORT_ANGLE(1.25f), + add_calc_short_angle2(&actor->_612.y, actor->hide_camera_angle, CALC_EASE2(0.1f), DEG2SHORT_ANGLE(1.25f), DEG2SHORT_ANGLE(0.125f)); } actor->_622 = add_calc_short_angle2(&actor->_60C.y, actor->_612.y, CALC_EASE2(0.05f), DEG2SHORT_ANGLE(0.8125f), @@ -127,7 +127,7 @@ void mfish_namazu_turn_process_init(MUSEUM_FISH_PRIVATE_DATA* actor) { angle = -ABS(angle); } } else if (actor->_62E_flags & 0x20) { - if ((s16)(actor->_62A - actor->_60C.y) < 0) { + if ((s16)(actor->escape_angle - actor->_60C.y) < 0) { angle = -angle; } } @@ -221,7 +221,7 @@ void mfish_namazu_base_FishMove(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void mfish_namazu_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - xyz_t p = suisou_pos[actor->group]; + xyz_t p = suisou_pos[actor->tank]; f32 v; int s; mfish_onefish_mv(actor, gamex); @@ -244,7 +244,7 @@ void mfish_namazu_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } else if (actor->currentProcess == mfish_namazu_normal_process) { if ((actor->_62E_flags & 0x1e && ABS((s16)(actor->_62C - actor->_60C.y)) < DEG2SHORT_ANGLE(45)) || (actor->_62E_flags & 0x20 && - ABS((s16)(actor->_62A + DEG2SHORT_ANGLE(180) - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { + ABS((s16)(actor->escape_angle + DEG2SHORT_ANGLE(180) - actor->_60C.y)) < DEG2SHORT_ANGLE(30))) { actor->activityFrameCount = actor->init_data.activeFramesMin + (s16)RANDOM_F(actor->init_data.activeFramesRange); actor->savedActivityFrameCount = actor->activityFrameCount; @@ -273,12 +273,12 @@ void mfish_namazu_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_642 = 0; } add_calc_short_angle2(&actor->_640, actor->_642, CALC_EASE(0.2f), DEG2SHORT_ANGLE(0.25f), DEG2SHORT_ANGLE(0.05f)); - actor->_38._00.frame_control.speed = (actor->_5E8 * 0.75f) / (actor->init_data._10 + actor->init_data._14) + 0.125f; + actor->kf.keyframe.frame_control.speed = (actor->_5E8 * 0.75f) / (actor->init_data._10 + actor->init_data._14) + 0.125f; mfish_namazu_base_FishMove(actor, gamex); Museum_Fish_BGCheck(actor, gamex); xyz_t_sub(&p, &actor->position, &p); v = 60.f + MAX(ABS(p.x), ABS(p.z)) * -0.15f; - actor->position.y = v + actor->init_data._04; + actor->position.y = v + actor->init_data.ofs_y; mfish_namazu_body_wind_anime_play(actor, gamex); } @@ -308,19 +308,19 @@ BOOL mfish_namazu_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int jo } void mfish_namazu_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_namazu_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_namazu_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_seafish.c_inc b/src/actor/ac_museum_fish_seafish.c_inc index d3f1a763..4a4f31b7 100644 --- a/src/actor/ac_museum_fish_seafish.c_inc +++ b/src/actor/ac_museum_fish_seafish.c_inc @@ -52,15 +52,15 @@ void mfish_seafish_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { abs_diff_sum /= sum_i_8; - if (actor->_598->fishIDEnum != aGYO_TYPE_JELLYFISH) { + if (actor->_598->fish_idx != aGYO_TYPE_JELLYFISH) { f32 this_5a0_y = actor->position.y; if (o_5a0_y < actor->position.y) { - t = o_5a0_y + (actor->_598->init_data._04 + actor->init_data._04); + t = o_5a0_y + (actor->_598->init_data.ofs_y + actor->init_data.ofs_y); if (this_5a0_y < t) { add_calc2(&actor->position.y, t + 2.0f, 0.2f, abs_diff_sum * 0.1f); } } else { - t = o_5a0_y - (actor->_598->init_data._04 + actor->init_data._04); + t = o_5a0_y - (actor->_598->init_data.ofs_y + actor->init_data.ofs_y); if (this_5a0_y > t) { add_calc2(&actor->position.y, t - 2.0f, 0.2f, abs_diff_sum * 0.1f); } @@ -197,7 +197,7 @@ void mfish_seafish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } else { add_calc2(&actor->_5E8, actor->_5F0, 0.2f, 0.02f); } - actor->_38._00.frame_control.speed = + actor->kf.keyframe.frame_control.speed = (GETREG(TAKREG, 0x14) * 0.01f + 0.5f) * 0.5f + (GETREG(TAKREG, 0x15) * 0.01f + 1.2f) * actor->_5E8; actor->_5D0.x = actor->_5E8 * sin_s(actor->_60C.y); actor->_5D0.z = actor->_5E8 * cos_s(actor->_60C.y); @@ -207,8 +207,8 @@ void mfish_seafish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { mfish_onefish_mv(actor, gamex); mfish_body_wind_anime_play(actor, gamex); Museum_Fish_BGCheck(actor, gamex); - if (actor->position.y < GETREG(TAKREG, 0x47) + 55.0f - actor->init_data._04) { - actor->position.y = GETREG(TAKREG, 0x47) + 55.0f - actor->init_data._04; + if (actor->position.y < GETREG(TAKREG, 0x47) + 55.0f - actor->init_data.ofs_y) { + actor->position.y = GETREG(TAKREG, 0x47) + 55.0f - actor->init_data.ofs_y; } actor->activityFrameCount--; } @@ -231,19 +231,19 @@ BOOL mfish_seafish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int j } void mfish_seafish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_seafish_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_seafish_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_small_fish.c_inc b/src/actor/ac_museum_fish_small_fish.c_inc index f8686e15..ec07e081 100644 --- a/src/actor/ac_museum_fish_small_fish.c_inc +++ b/src/actor/ac_museum_fish_small_fish.c_inc @@ -20,7 +20,7 @@ void mfish_small_fish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void mfish_sfish_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - if (actor->group == 2) { + if (actor->tank == mfish_TANK_2) { if (actor->activityFrameCount < 0) { actor->_5F0 = actor->init_data._10 + Rnd_EX_f(actor->init_data._14); } @@ -48,7 +48,7 @@ void mfish_sfish_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->init_data.activeFramesMin + (s16)RANDOM_F(actor->init_data.activeFramesRange); actor->savedActivityFrameCount = actor->activityFrameCount; actor->_5F0 = actor->init_data._10 + Rnd_EX_f(actor->init_data._14); - if (actor->group == 2 && actor->_5F0 < actor->init_data._10 + actor->init_data._14 * 0.5f) { + if (actor->tank == mfish_TANK_2 && actor->_5F0 < actor->init_data._10 + actor->init_data._14 * 0.5f) { actor->_612.y = atans_table(-actor->_5DC.z, -actor->_5DC.x); actor->activityFrameCount *= 5; } @@ -66,7 +66,7 @@ void mfish_sfish_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { s16 s; //! BUG: unused? RANDOM_F(1.0f); - s = search_position_angleY(&suisou_pos[actor->group], &actor->position); + s = search_position_angleY(&suisou_pos[actor->tank], &actor->position); actor->_5F8 = 0.0f; actor->_612.y = s + DEG2SHORT_ANGLE(RANDOM2_F(90.0)); actor->activityFrameCount = @@ -84,7 +84,7 @@ void mfish_sfish_turn_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_612.y = actor->_62C - DEG2SHORT_ANGLE(115); } - if (actor->group == 2) { + if (actor->tank == mfish_TANK_2) { if (actor->_5F0 < 0.0f) { actor->_5F0 = actor->init_data._10 + MAX(-actor->init_data._10, RANDOM_F(actor->init_data._14)); } @@ -138,13 +138,13 @@ void mfish_small_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->position.y += actor->_5D0.y + p.y; actor->position.z += actor->_5D0.z + p.z; mfish_onefish_mv(actor, gamex); - if (actor->group == 2) { - actor->_38._00.frame_control.speed = actor->_5E8 * 2.0f + 1.0f; + if (actor->tank == mfish_TANK_2) { + actor->kf.keyframe.frame_control.speed = actor->_5E8 * 2.0f + 1.0f; } else { - add_calc2(&actor->_38._00.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); + add_calc2(&actor->kf.keyframe.frame_control.speed, actor->_5E8 * 2.0f + 0.5f, 0.2f, 0.1f); } - actor->_5B8 = actor->position; + actor->objchk_pos = actor->position; Museum_Fish_BGCheck(actor, gamex); if (actor->position.y < 55.0f + actor->init_data._08) { @@ -181,23 +181,23 @@ BOOL mfish_sfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi } void mfish_small_fish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; s16 v; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } v = actor->_60C.x * 0.7f; OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_RotateY(actor->_60C.y, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24 * 1.5f, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z * 1.5f, 1); Matrix_RotateX(v, 1); - Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f, 1); + Matrix_translate(0.0f, 0.0f, -actor->init_data.ofs_z * 0.5f, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_sfish_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_sfish_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_tai.c_inc b/src/actor/ac_museum_fish_tai.c_inc index 353b1b5a..9ab0868a 100644 --- a/src/actor/ac_museum_fish_tai.c_inc +++ b/src/actor/ac_museum_fish_tai.c_inc @@ -49,15 +49,15 @@ void mfish_tai_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { f32 o_z = actor->_598->position.z; f32 v = MAX(d - ABS(actor->_598->position.z - actor->position.z), 0.0f); v = v / d; - if (actor->_598->fishIDEnum != aGYO_TYPE_JELLYFISH) { + if (actor->_598->fish_idx != aGYO_TYPE_JELLYFISH) { if (actor->_598->position.y < actor->position.y) { - if (actor->position.y < (o_y + (actor->_598->init_data._04 + actor->init_data._04))) { - add_calc2(&actor->position.y, (o_y + (actor->_598->init_data._04 + actor->init_data._04)) + 2.0f, + if (actor->position.y < (o_y + (actor->_598->init_data.ofs_y + actor->init_data.ofs_y))) { + add_calc2(&actor->position.y, (o_y + (actor->_598->init_data.ofs_y + actor->init_data.ofs_y)) + 2.0f, 0.2f, v * 0.1f); } } else { - if (actor->position.y > o_y - (actor->_598->init_data._04 + actor->init_data._04)) { - add_calc2(&actor->position.y, (o_y - (actor->_598->init_data._04 + actor->init_data._04)) - 2.0f, + if (actor->position.y > o_y - (actor->_598->init_data.ofs_y + actor->init_data.ofs_y)) { + add_calc2(&actor->position.y, (o_y - (actor->_598->init_data.ofs_y + actor->init_data.ofs_y)) - 2.0f, 0.2f, v * 0.1f); } } @@ -232,15 +232,15 @@ void mfish_tai_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->position.z += actor->_5D0.z + p.z; mfish_onefish_mv(actor, gamex); - actor->_38._00.frame_control.speed = + actor->kf.keyframe.frame_control.speed = (0.1f + 0.01f * GETREG(TAKREG, 0x14)) * 0.5f + (1.5f + 0.01f * GETREG(TAKREG, 0x15)) * actor->_5E8; add_calc0(&actor->_5F8, 0.25f, 0.05f); actor->_5F8 = MIN(1.0f, actor->_5F8); mfish_body_wind_anime_play(actor, gamex); Museum_Fish_BGCheck(actor, gamex); - if (actor->position.y < (GETREG(TAKREG, 0x47) + 55.0f) - actor->init_data._04) { - actor->position.y = (GETREG(TAKREG, 0x47) + 55.0f) - actor->init_data._04; + if (actor->position.y < (GETREG(TAKREG, 0x47) + 55.0f) - actor->init_data.ofs_y) { + actor->position.y = (GETREG(TAKREG, 0x47) + 55.0f) - actor->init_data.ofs_y; } actor->activityFrameCount--; @@ -260,19 +260,19 @@ BOOL mfish_tai_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint } void mfish_tai_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x, actor->position.y, actor->position.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_tai_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_tai_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_unagi.c_inc b/src/actor/ac_museum_fish_unagi.c_inc index b92d74ea..462dc25e 100644 --- a/src/actor/ac_museum_fish_unagi.c_inc +++ b/src/actor/ac_museum_fish_unagi.c_inc @@ -344,9 +344,9 @@ void mfish_unagi_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { DEG2SHORT_ANGLE(0.25f)); add_calc_short_angle2(&actor->_618.z, actor->_622, CALC_EASE2(0.25f), DEG2SHORT_ANGLE(1.25f), DEG2SHORT_ANGLE(0.125f)); - add_calc_short_angle2(&actor->_38._538.x, actor->_618.z, CALC_EASE2(0.2f), DEG2SHORT_ANGLE(1.25f), + add_calc_short_angle2(&actor->kf._538.x, actor->_618.z, CALC_EASE2(0.2f), DEG2SHORT_ANGLE(1.25f), DEG2SHORT_ANGLE(0.125f)); - add_calc_short_angle2(&actor->_38._538.y, actor->_38._538.x, CALC_EASE2(0.15f), DEG2SHORT_ANGLE(1.25f), + add_calc_short_angle2(&actor->kf._538.y, actor->kf._538.x, CALC_EASE2(0.15f), DEG2SHORT_ANGLE(1.25f), DEG2SHORT_ANGLE(0.125f)); actor->currentProcess(actor, gamex); add_calc2(&actor->_5F4, actor->_632 * (GETREG(TAKREG, 0x47) * 0.001f + 0.04f), 0.25f, 91.0f); @@ -369,17 +369,17 @@ BOOL mfish_unagi_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi joint_rot->y = MY_CLAMP(i, DEG2SHORT_ANGLE2(-90), DEG2SHORT_ANGLE2(90)); } else if (joint_idx == 3) { int i; - i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3d)) - (int)(actor->_38._538.x * (1.1f + 0.01f * GETREG(TAKREG, 0x39))); + i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3d)) - (int)(actor->kf._538.x * (1.1f + 0.01f * GETREG(TAKREG, 0x39))); i += (s16)(actor->_632 * sin_s(actor->_636 + DEG2SHORT_ANGLE(180))); joint_rot->y = MY_CLAMP(i, DEG2SHORT_ANGLE(-90), DEG2SHORT_ANGLE(90)); } else if (joint_idx == 4) { int i; - i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3e)) - (int)(actor->_38._538.y * (1.2f + 0.01f * GETREG(TAKREG, 0x3a))); + i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3e)) - (int)(actor->kf._538.y * (1.2f + 0.01f * GETREG(TAKREG, 0x3a))); i += (s16)(actor->_632 * 0.75f * sin_s(actor->_636 + DEG2SHORT_ANGLE(270))); joint_rot->y = MY_CLAMP(i, DEG2SHORT_ANGLE(-90), DEG2SHORT_ANGLE(90)); } else if (joint_idx == 5) { int i; - i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3f)) - (int)(actor->_38._538.z * (1.3f + 0.01f * GETREG(TAKREG, 0x3b))); + i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3f)) - (int)(actor->kf._538.z * (1.3f + 0.01f * GETREG(TAKREG, 0x3b))); i += (s16)(actor->_632 * 0.5f * sin_s(actor->_636 + DEG2SHORT_ANGLE(0))); joint_rot->y = MY_CLAMP(i, DEG2SHORT_ANGLE(-90), DEG2SHORT_ANGLE(90)); } @@ -387,19 +387,19 @@ BOOL mfish_unagi_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi } void mfish_unagi_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x + actor->_5AC.x, actor->position.y, actor->position.z + actor->_5AC.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_unagi_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_unagi_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); } diff --git a/src/actor/ac_museum_fish_zarigani.c_inc b/src/actor/ac_museum_fish_zarigani.c_inc index f0ea7d6e..cd47994c 100644 --- a/src/actor/ac_museum_fish_zarigani.c_inc +++ b/src/actor/ac_museum_fish_zarigani.c_inc @@ -1,10 +1,10 @@ #include "ac_museum_fish_priv.h" void mfish_zarigani_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; - cKF_SkeletonInfo_R_ct(&skele->_00, skele->_54C, skele->_550[0], &skele->_4F0, &skele->_514); - cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&skele->_00, skele->_550[0], NULL, 0.5f, 0.0f); - actor->position = suisou_pos[actor->group]; + mfish_keyframe_c* skele = &actor->kf; + cKF_SkeletonInfo_R_ct(&skele->keyframe, skele->_54C, skele->_550[0], skele->work, skele->morph); + cKF_SkeletonInfo_R_init_standard_repeat_speedsetandmorph(&skele->keyframe, skele->_550[0], NULL, 0.5f, 0.0f); + actor->position = suisou_pos[actor->tank]; actor->position.y = 53.0f; actor->_60C.y = qrand(); actor->_612.y = actor->_60C.y; @@ -22,7 +22,7 @@ void mfish_zarigani_normal_process_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* g void mfish_zarigani_normal_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->activityFrameCount--; - cKF_SkeletonInfo_R_play(&actor->_38._00); + cKF_SkeletonInfo_R_play(&actor->kf.keyframe); if (actor->_5F0 > 0.0f) { add_calc_short_angle2(&actor->_644, (s16)DEG2SHORT_ANGLE2(actor->_5F0 * 30.0f + 1.0f), CALC_EASE(0.25f), DEG2SHORT_ANGLE(0.125f), DEG2SHORT_ANGLE(0.5f)); @@ -107,7 +107,7 @@ void mfish_zarigani_stand_process_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* ga void mfish_zarigani_stand_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { f32 v; - cKF_SkeletonInfo_R_play(&actor->_38._00); + cKF_SkeletonInfo_R_play(&actor->kf.keyframe); if (actor->activityFrameCount > 0) { actor->activityFrameCount--; if (add_calc_short_angle2(&actor->_60C.x, (s16)DEG2SHORT_ANGLE2(-45.0f + GETREG(TAKREG, 0x1a)), CALC_EASE(0.1), @@ -167,7 +167,7 @@ void mfish_zarigani_jump_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { void mfish_zarigani_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { f32 v; - xyz_t p = suisou_pos[actor->group]; + xyz_t p = suisou_pos[actor->tank]; add_calc(&actor->_5E8, actor->_5F0, 0.1f, 0.2f, 0.01f); actor->currentProcess(actor, gamex); actor->_638 += actor->_644; @@ -210,21 +210,21 @@ BOOL mfish_zarigani_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int } void mfish_zarigani_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { - YET_SKELETON* skele = &actor->_38; + mfish_keyframe_c* skele = &actor->kf; Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &skele->_70; + mtxp = skele->mtx[0]; } else { - mtxp = &skele->_2b0; + mtxp = skele->mtx[1]; } OPEN_DISP(gamex->graph); Matrix_translate(actor->position.x + actor->_5AC.x, actor->position.y + actor->_5AC.y, actor->position.z + actor->_5AC.z, 0); Matrix_rotateXYZ(actor->_60C.x, actor->_60C.y, actor->_60C.z, 1); - Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); + Matrix_translate(0.0f, 0.0f, actor->init_data.ofs_z, 1); Matrix_rotateXYZ(DEG2SHORT_ANGLE(-90), DEG2SHORT_ANGLE(-180), DEG2SHORT_ANGLE(0), 1); Matrix_scale(actor->init_data.renderScale, actor->init_data.renderScale, actor->init_data.renderScale, 1); gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(gamex->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - cKF_Si3_draw_R_SV(gamex, &skele->_00, mtxp, mfish_zarigani_before_disp, NULL, actor); + cKF_Si3_draw_R_SV(gamex, &skele->keyframe, mtxp, mfish_zarigani_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); }