diff --git a/include/ac_museum_fish.h b/include/ac_museum_fish.h index 85d67549..cc7f6b0f 100644 --- a/include/ac_museum_fish.h +++ b/include/ac_museum_fish.h @@ -170,6 +170,7 @@ typedef struct _MUSEUM_FISH_ACTOR { s16 _14dc8; // offset: 0x14dc8, size: 2 } MUSEUM_FISH_ACTOR; // size 14DCA +// ac_museum_fish.c_inc 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); @@ -190,6 +191,7 @@ void mfish_point_light_dt(ACTOR* r30, GAME* r31); void mfish_point_light_mv(MUSEUM_FISH_ACTOR* actor, GAME* game); void mfish_normal_light_set(ACTOR* actor, GAME* game); +// ac_museum_fish_base.c_inc f32 Rnd_EX_f(f32 v1); f32 Rnd_EX_fx(f32 v1); void mfish_base_FishMove(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); @@ -233,6 +235,7 @@ s16 mfish_get_escape_angle(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_move_smooth(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_hamon_make(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_afish.c_inc void mfish_afish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_afish_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor); void mfish_afish_dummy_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); @@ -245,6 +248,7 @@ void mfish_afish_base_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_afish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_afish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_aroana.c_inc void mfish_aroana_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_aroana_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor); void mfish_aroana_dummy_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex); @@ -261,6 +265,7 @@ BOOL mfish_aroana_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int jo void* arg, s_xyz* joint1, xyz_t* trans); void mfish_aroana_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_koi.c_inc void mfish_koi_tail_anim_set(MUSEUM_FISH_PRIVATE_DATA* actor, s32 r4); void mfish_koi_move_smooth(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_koi_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); @@ -281,15 +286,17 @@ BOOL mfish_koi_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint void* arg, s_xyz* joint1, xyz_t* trans); void mfish_koi_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_kaseki.c_inc void mfish_kaseki_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_kaseki_normal_init(); -void mfish_kaseki_normal(); -void mfish_kaseki_move_wall_smooth(); +void mfish_kaseki_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex); +void mfish_kaseki_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex); +void mfish_kaseki_move_wall_smooth(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex); void mfish_kaseki_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_kaseki_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_kaseki_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_bass.c_inc void mfish_bass_tail_anim_set(MUSEUM_FISH_PRIVATE_DATA* actor, s32 r4); void mfish_bass_base_FishMove(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_bass_dummy_process_init(MUSEUM_FISH_PRIVATE_DATA* actor); @@ -302,8 +309,9 @@ void mfish_bass_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_bass_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_bass_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_seafish.c_inc void mfish_seafish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_seafish_normal_init(); +void mfish_seafish_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_seafish_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_seafish_turn_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_seafish_turn(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); @@ -312,150 +320,165 @@ BOOL mfish_seafish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int j void* arg, s_xyz* joint1, xyz_t* trans); void mfish_seafish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_tai.c_inc void mfish_tai_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_tai_normal_init(); -void mfish_tai_normal(); -void mfish_tai_turn_init(); -void mfish_tai_turn(); +void mfish_tai_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_tai_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_tai_turn_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_tai_turn(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_tai_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_tai_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_tai_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_sfish.c_inc void mfish_small_fish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_sfish_normal_init(); -void mfish_sfish_normal(); -void mfish_sfish_turn_init(); -void mfish_sfish_turn(); +void mfish_sfish_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_sfish_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_sfish_turn_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_sfish_turn(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_small_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_sfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_small_fish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_gupi.c_inc void mfish_gupi_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_gupi_normal_init(); -void mfish_gupi_normal(); -void mfish_gupi_turn_init(); -void mfish_gupi_turn(); +void mfish_gupi_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_gupi_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_gupi_turn_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_gupi_turn(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_gupi_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_gupi_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_gupi_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_medaka.c_inc void mfish_medaka_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_medaka_normal_init(); -void mfish_medaka_normal(); -void mfish_medaka_turn_init(); -void mfish_medaka_turn(); +void mfish_medaka_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_medaka_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_medaka_turn_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_medaka_turn(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_medaka_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_medaka_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_medaka_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_kingyo.c_inc void mfish_kingyo_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_kingyo_normal_init(); -void mfish_kingyo_normal(); -void mfish_kingyo_turn_init(); -void mfish_kingyo_turn(); -void mfish_kingyo_peck_init(); -void mfish_kingyo_peck(); +void mfish_kingyo_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_kingyo_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_kingyo_turn_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_kingyo_turn(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_kingyo_peck_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_kingyo_peck(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_kingyo_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_kingyo_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_kingyo_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_dojou.c_inc void mfish_dojou_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_dojou_normal_init(); -void mfish_dojou_normal(); -void mfish_dojou_turn_init(); -void mfish_dojou_turn(); +void mfish_dojou_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_dojou_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_dojou_turn_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_dojou_turn(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_dojou_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_dojou_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_dojou_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_donko.c_inc void mfish_donko_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_donko_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_donko_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_donko_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_big_fish.c_inc void mfish_big_fish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_big_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_bfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_big_fish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_ito.c_inc void mfish_ito_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_ito_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_ito_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_ito_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_unagi.c_inc void mfish_unagi_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -s16 mfish_unagi_get_next_rail_type(); -void mfish_unagi_aim_wind_angle_calc(); -void mfish_unagi_rail_move_init(); -void mfish_unagi_rail_move(); -void mfish_unagi_normal_to_reverse_init(); -void mfish_unagi_normal_to_reverse(); -void mfish_unagi_rail_move_reverse_init(); -void mfish_unagi_rail_move_reverse(); -void mfish_unagi_reverse_to_normal_init(); -void mfish_unagi_reverse_to_normal(); +s16 mfish_unagi_get_next_rail_type(MUSEUM_FISH_PRIVATE_DATA* actor); +void mfish_unagi_aim_wind_angle_calc(MUSEUM_FISH_PRIVATE_DATA* actor); +void mfish_unagi_rail_move_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_unagi_rail_move(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_unagi_normal_to_reverse_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_unagi_normal_to_reverse(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_unagi_rail_move_reverse_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_unagi_rail_move_reverse(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_unagi_reverse_to_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_unagi_reverse_to_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_unagi_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_unagi_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_unagi_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_namazu.c_inc void mfish_namazu_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_namazu_body_wind_anime_play(); -void mfish_namazu_normal_process_init(); -void mfish_namazu_normal_process(); +void mfish_namazu_body_wind_anime_play(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_namazu_normal_process_init(MUSEUM_FISH_PRIVATE_DATA* actor); +void mfish_namazu_normal_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +//! TODO: these should take (actor, game) because they're assigned to _34, but are statically called with just (actor) void mfish_namazu_dummy_process_init(); void mfish_namazu_dummy_process(); void mfish_namazu_turn_process_init(); void mfish_namazu_turn_process(); void mfish_namazu_ground_sweep_process_init(); void mfish_namazu_ground_sweep_process(); -void mfish_namazu_base_FishMove(); +void mfish_namazu_base_FishMove(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_namazu_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_namazu_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_namazu_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_zarigani.c_inc void mfish_zarigani_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_zarigani_normal_process_init(); -void mfish_zarigani_normal_process(); -void mfish_zarigani_wait_process_init(); -void mfish_zarigani_wait_process(); -void mfish_zarigani_stand_process_init(); -void mfish_zarigani_stand_process(); -void mfish_zarigani_jump_process_init(); -void mfish_zarigani_jump_process(); +void mfish_zarigani_normal_process_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_zarigani_normal_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_zarigani_wait_process_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_zarigani_wait_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_zarigani_stand_process_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_zarigani_stand_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_zarigani_jump_process_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_zarigani_jump_process(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); void mfish_zarigani_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); BOOL mfish_zarigani_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); void mfish_zarigani_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +// ac_museum_fish_kurage.c_inc void mfish_kurage_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); -void mfish_kurage_normal_init(); -void mfish_kurage_normal(); -void mfish_kurage_turn_init(); -void mfish_kurage_turn(); +void mfish_kurage_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_kurage_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_kurage_turn_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); +void mfish_kurage_turn(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* game); 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(); -void mfish_hasu_dw(); -void mfish_kaeru_ct(); -void mfish_kaeru_mv(); +void mfish_hasu_mv(YET_SKELETON_2* actor, GAME* game); +void mfish_hasu_dw(YET_SKELETON_2* 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_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); BOOL hasu_after_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans); -void mfish_kaeru_dw(); +void mfish_kaeru_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex); #ifdef __cplusplus } diff --git a/src/actor/ac_museum_fish.c b/src/actor/ac_museum_fish.c index f5c5f4b0..c6bc1c96 100644 --- a/src/actor/ac_museum_fish.c +++ b/src/actor/ac_museum_fish.c @@ -1158,7 +1158,7 @@ void Museum_Fish_Actor_move(ACTOR* actorx, GAME* game) { } if ((actor->prvFish[0x21]._62E & 1) == 0) { - mfish_hasu_mv((MUSEUM_FISH_PRIVATE_DATA*)&actor->_14788, game); + mfish_hasu_mv(&actor->_14788, game); } for (i = 0; i < 5; i++) { @@ -1201,7 +1201,7 @@ void Museum_Fish_Suisou_draw(ACTOR* actorx, GAME* game, int r5) { CLOSE_DISP(graph); if ((actor->prvFish[0x21]._62E & 1) == 0) { - mfish_hasu_dw((MUSEUM_FISH_PRIVATE_DATA*)&actor->_14788, game); + mfish_hasu_dw(&actor->_14788, game); } } } else if (mfish_cull_check(game, &suisou_pos[4], 215.0f, 25.0f, 0.0f)) { diff --git a/src/actor/ac_museum_fish_big_fish.c_inc b/src/actor/ac_museum_fish_big_fish.c_inc index ae1be141..269d3275 100644 --- a/src/actor/ac_museum_fish_big_fish.c_inc +++ b/src/actor/ac_museum_fish_big_fish.c_inc @@ -35,6 +35,7 @@ void mfish_big_fish_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void mfish_big_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { + //! NOTE: wrong floats in this function, based on objdiff xyz_t p; mfish_onefish_mv(actor, gamex); mfish_body_wind_anime_play(actor, gamex); @@ -145,6 +146,7 @@ void mfish_big_fish_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { BOOL mfish_bfish_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_num, Gfx** joint_m, u8* joint_f, void* arg, s_xyz* joint1, xyz_t* trans) { + //! NOTE: wrong floats in this function, based on objdiff MUSEUM_FISH_PRIVATE_DATA* actor = (MUSEUM_FISH_PRIVATE_DATA*)arg; if (joint_num == 1) { @@ -201,6 +203,6 @@ void mfish_big_fish_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); Matrix_scale(actor->init_data._00, actor->init_data._00, actor->init_data._00, 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->_00, 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 4c3767c1..23573aef 100644 --- a/src/actor/ac_museum_fish_dojou.c_inc +++ b/src/actor/ac_museum_fish_dojou.c_inc @@ -204,6 +204,6 @@ void mfish_dojou_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f * cos_s(s), 1); Matrix_scale(actor->init_data._00, actor->init_data._00, actor->init_data._00, 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->_00, 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 eff51ca3..76da14f8 100644 --- a/src/actor/ac_museum_fish_donko.c_inc +++ b/src/actor/ac_museum_fish_donko.c_inc @@ -125,6 +125,6 @@ void mfish_donko_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f, 1); Matrix_scale(actor->init_data._00, actor->init_data._00, actor->init_data._00, 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->_00, 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 31a085fc..52792e74 100644 --- a/src/actor/ac_museum_fish_gupi.c_inc +++ b/src/actor/ac_museum_fish_gupi.c_inc @@ -6,7 +6,7 @@ void mfish_gupi_ct(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { actor->_5F0 = actor->_5E8; actor->_60C.y = s; actor->_612.y = actor->_60C.y; - actor->_60C.x = DEG2SHORT_ANGLE(RANDOM_F(actor->init_data._30 * 2.0f)); + actor->_60C.x = DEG2SHORT_ANGLE(RANDOM2_F(actor->init_data._30 * 2.0f)); actor->_612.x = actor->_60C.x; actor->_5F4 = 115.f; actor->_5D0.y = 0.0f; diff --git a/src/actor/ac_museum_fish_hasu.c_inc b/src/actor/ac_museum_fish_hasu.c_inc index 27e19f02..7b97c0ed 100644 --- a/src/actor/ac_museum_fish_hasu.c_inc +++ b/src/actor/ac_museum_fish_hasu.c_inc @@ -10,30 +10,28 @@ void mfish_hasu_ct(YET_SKELETON_2* actor, GAME* gamex) { 0.0); } -void mfish_hasu_mv(YET_SKELETON* actor, GAME* gamex) { - cKF_SkeletonInfo_R_play(&actor->_00); +void mfish_hasu_mv(YET_SKELETON_2* actor, GAME* gamex) { + cKF_SkeletonInfo_R_play(&actor->_00._00); } -void mfish_hasu_dw(YET_SKELETON* actor, GAME* gamex) { +void mfish_hasu_dw(YET_SKELETON_2* actor, GAME* gamex) { Mtx* mtxp; if (gamex->frame_counter & 1) { - mtxp = &actor->_70; + mtxp = &actor->_00._70; } else { - mtxp = &actor->_2b0; + mtxp = &actor->_00._2b0; } 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, mtxp, NULL, NULL, NULL); + cKF_Si3_draw_R_SV(gamex, &actor->_00._00, 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) { - //! TODO: grabbed keyframe from ghidra, probably a cast to a larger struct - YET_SKELETON* skele = &actor->_38; YET_SKELETON_2* keyframe = actor->_590; skele->_550[1] = &cKF_ba_r_act_mus_kaeru_a1_big; diff --git a/src/actor/ac_museum_fish_ito.c_inc b/src/actor/ac_museum_fish_ito.c_inc index 907f7f2e..2cddea11 100644 --- a/src/actor/ac_museum_fish_ito.c_inc +++ b/src/actor/ac_museum_fish_ito.c_inc @@ -121,6 +121,6 @@ void mfish_ito_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); Matrix_scale(actor->init_data._00, actor->init_data._00, actor->init_data._00, 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->_00, mtxp, mfish_ito_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 03355c1c..d2633d77 100644 --- a/src/actor/ac_museum_fish_kingyo.c_inc +++ b/src/actor/ac_museum_fish_kingyo.c_inc @@ -254,6 +254,6 @@ void mfish_kingyo_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f, 1); Matrix_scale(actor->init_data._00, actor->init_data._00, actor->init_data._00, 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->_00, mtxp, mfish_kingyo_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 294bbb0a..1fc0e707 100644 --- a/src/actor/ac_museum_fish_kurage.c_inc +++ b/src/actor/ac_museum_fish_kurage.c_inc @@ -99,6 +99,7 @@ void mfish_kurage_turn(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { } void mfish_kurage_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { + //! NOTE: wrong floats in this file, based on objdiff f32 v; xyz_t p; f32 t; diff --git a/src/actor/ac_museum_fish_medaka.c_inc b/src/actor/ac_museum_fish_medaka.c_inc index fe0c6428..4429e578 100644 --- a/src/actor/ac_museum_fish_medaka.c_inc +++ b/src/actor/ac_museum_fish_medaka.c_inc @@ -170,6 +170,6 @@ void mfish_medaka_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(0.0f, 0.0f, -actor->init_data._24 * 0.5f, 1); Matrix_scale(actor->init_data._00, actor->init_data._00, actor->init_data._00, 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->_00, 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 cf72b2ee..75cd51d1 100644 --- a/src/actor/ac_museum_fish_namazu.c_inc +++ b/src/actor/ac_museum_fish_namazu.c_inc @@ -319,6 +319,6 @@ void mfish_namazu_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); Matrix_scale(actor->init_data._00, actor->init_data._00, actor->init_data._00, 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->_00, mtxp, mfish_namazu_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 82d6e876..3de9b395 100644 --- a/src/actor/ac_museum_fish_unagi.c_inc +++ b/src/actor/ac_museum_fish_unagi.c_inc @@ -204,7 +204,7 @@ void mfish_unagi_reverse_to_normal_init(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* g target = search_position_angleY(&actor->_5A0, &unagi_reverse_to_normal_rail_pos[actor->_642]); add_calc_short_angle2(&actor->_612.y, target, CALC_EASE(0.5f + 0.01f * GETREG(TAKREG, 0x24)), DEG2SHORT_ANGLE(GETREG(TAKREG, 0x25) + 5.0f) >> 1, DEG2SHORT_ANGLE(0.25f)); - actor->_34 = mfish_unagi_rail_move_reverse; + actor->_34 = mfish_unagi_reverse_to_normal; } void mfish_unagi_reverse_to_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { @@ -247,6 +247,7 @@ void mfish_unagi_reverse_to_normal(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) } void mfish_unagi_mv(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { + //! NOTE: wrong floats in this file, based on objdiff xyz_t p1, p2, p3; p1 = ZeroVec; p2 = ZeroVec; @@ -311,27 +312,24 @@ BOOL mfish_unagi_before_disp(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joi trans->z += actor->_5F4 * sin_s(actor->_636 + DEG2SHORT_ANGLE(90)); } else if (joint_num == 2) { int i; - i = (int)((1.0f + 0.01f * GETREG(TAKREG, 0x38)) * actor->_618.z); - i -= DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3c)); - i += (s16)(actor->_632 * 0.75f * sin_s(actor->_636 + DEG2SHORT_ANGLE(90))); - joint1->y = MY_CLAMP(i, DEG2SHORT_ANGLE(-90), DEG2SHORT_ANGLE(90)); + + i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3c)) - (int)(actor->_618.z * (1.0f + 0.01f * GETREG(TAKREG, 0x38))); + i += (s16)(actor->_632 * 0.75f * sin_s(actor->_636 + DEG2SHORT_ANGLE2(90))); + joint1->y = MY_CLAMP(i, DEG2SHORT_ANGLE2(-90), DEG2SHORT_ANGLE2(90)); } else if (joint_num == 3) { int i; - i = (int)((1.1f + 0.01f * GETREG(TAKREG, 0x39)) * actor->_38._538.x); - i -= DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3d)); + i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3d)) - (int)(actor->_38._538.x * (1.1f + 0.01f * GETREG(TAKREG, 0x39))); i += (s16)(actor->_632 * sin_s(actor->_636 + DEG2SHORT_ANGLE(180))); joint1->y = MY_CLAMP(i, DEG2SHORT_ANGLE(-90), DEG2SHORT_ANGLE(90)); } else if (joint_num == 4) { int i; - i = (int)((1.2f + 0.01f * GETREG(TAKREG, 0x3a)) * actor->_38._538.y); - i -= DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3e)); + i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3e)) - (int)(actor->_38._538.y * (1.2f + 0.01f * GETREG(TAKREG, 0x3a))); i += (s16)(actor->_632 * 0.75f * sin_s(actor->_636 + DEG2SHORT_ANGLE(270))); joint1->y = MY_CLAMP(i, DEG2SHORT_ANGLE(-90), DEG2SHORT_ANGLE(90)); } else if (joint_num == 5) { int i; - i = (int)((1.3f + 0.01f * GETREG(TAKREG, 0x3b)) * actor->_38._538.z); - i -= DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3f)); - i += (s16)(actor->_632 * 0.5f * sin_s(actor->_636)); + i = DEG2SHORT_ANGLE2(GETREG(TAKREG, 0x3f)) - (int)(actor->_38._538.z * (1.3f + 0.01f * GETREG(TAKREG, 0x3b))); + i += (s16)(actor->_632 * 0.5f * sin_s(actor->_636 + DEG2SHORT_ANGLE(0))); joint1->y = MY_CLAMP(i, DEG2SHORT_ANGLE(-90), DEG2SHORT_ANGLE(90)); } return TRUE; @@ -351,6 +349,6 @@ void mfish_unagi_dw(MUSEUM_FISH_PRIVATE_DATA* actor, GAME* gamex) { Matrix_translate(0.0f, 0.0f, actor->init_data._24, 1); Matrix_scale(actor->init_data._00, actor->init_data._00, actor->init_data._00, 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->_00, mtxp, mfish_unagi_before_disp, NULL, actor); CLOSE_DISP(gamex->graph); }