fixing misc mistakes, filling out .h

This commit is contained in:
roeming
2025-01-08 11:01:20 -05:00
parent 463faea2b8
commit 1203cfb49d
13 changed files with 114 additions and 92 deletions
+2 -2
View File
@@ -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)) {
+3 -1
View File
@@ -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);
}
+1 -1
View File
@@ -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);
}
+1 -1
View File
@@ -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);
}
+1 -1
View File
@@ -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;
+6 -8
View File
@@ -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;
+1 -1
View File
@@ -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);
}
+1 -1
View File
@@ -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);
}
+1
View File
@@ -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;
+1 -1
View File
@@ -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);
}
+1 -1
View File
@@ -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);
}
+11 -13
View File
@@ -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);
}