3 matches in code_80057C60 (#480)

Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
Tyler McGavran
2023-11-03 00:09:47 -04:00
committed by GitHub
parent a1f432e9dc
commit 0f3bc7ca1a
5 changed files with 156 additions and 1685 deletions
+134 -357
View File
@@ -5415,397 +5415,182 @@ void func_8006A280(Player *player, s8 arg1, s16 arg2, s8 arg3) {
}
}
#ifdef MIPS_TO_C
//generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Oct-14-2023
extern ? D_8018D4D0;
extern ? D_8018D530;
extern ? D_8018D590;
extern ? D_8018D620;
extern ? D_8018D650;
extern ? D_8018D6B0;
extern ? D_8018D710;
extern ? D_8018D770;
extern ? D_8018D7A0;
extern ? D_8018D7D0;
extern ? D_8018D800;
extern ? D_8018D830;
extern ? D_8018D860;
extern ? D_8018D890;
void func_8006A50C(Player *player, f32 arg1, f32 arg2, s8 arg3, s8 arg4, s16 arg5) {
f32 sp44;
f32 sp40;
f32 sp3C;
s32 sp38;
u16 *sp34;
s32 sp30;
s32 temp_v0;
s32 temp_v1;
u16 *temp_t0;
f32 someX;
f32 someY;
f32 someZ;
temp_v0 = arg4 * 2;
temp_t0 = (arg3 * 6) + temp_v0 + gPlayerBalloonStatus;
*temp_t0 = 0;
temp_v1 = arg4 * 4;
*(&D_8018D650 + ((arg3 * 0xC) + temp_v1)) = 0.1f;
*(&D_8018D6B0 + ((arg3 * 0xC) + temp_v1)) = 0.0f;
*(&D_8018D710 + ((arg3 * 0xC) + temp_v1)) = 0.0f;
*(&D_8018D770 + ((arg3 * 6) + temp_v0)) = 0;
*(&D_8018D7A0 + ((arg3 * 6) + temp_v0)) = 0;
*(&D_8018D7D0 + ((arg3 * 6) + temp_v0)) = 0;
*(&D_8018D800 + ((arg3 * 6) + temp_v0)) = 5;
*(&D_8018D830 + ((arg3 * 6) + temp_v0)) = 1;
*(&D_8018D620 + ((arg3 * 6) + temp_v0)) = -player->unk_02C[1] - player->unk_0C0;
sp34 = temp_t0;
sp30 = temp_v1;
sp38 = temp_v0;
func_80062B18(&sp44, &sp40, &sp3C, arg1, 4.0f, (f32) ((f64) arg2 + -3.8), (u16) (s32) -player->unk_02C[1], (u16) 0);
*(&D_8018D4D0 + ((arg3 * 0xC) + sp30)) = player->pos[0] + sp44;
*(&D_8018D590 + ((arg3 * 0xC) + sp30)) = player->pos[2] + sp3C;
*(&D_8018D530 + ((arg3 * 0xC) + sp30)) = (player->pos[1] - player->boundingBoxSize) + sp40;
*sp34 |= 1;
*(&D_8018D860 + ((arg3 * 6) + sp38)) = arg5;
*(&D_8018D890 + ((arg3 * 6) + sp38)) = 0;
gPlayerBalloonStatus[arg3][arg4] = 0;
D_8018D650[arg3][arg4] = 0.1f;
D_8018D6B0[arg3][arg4] = 0.0f;
D_8018D710[arg3][arg4] = 0.0f;
D_8018D770[arg3][arg4] = 0;
D_8018D7A0[arg3][arg4] = 0;
D_8018D7D0[arg3][arg4] = 0;
D_8018D800[arg3][arg4] = 5;
D_8018D830[arg3][arg4] = 1;
D_8018D620[arg3][arg4] = -player->unk_02C[1] - player->unk_0C0;
func_80062B18(&someX, &someY, &someZ, arg1, 4.0f, arg2 + -3.8, -player->unk_02C[1], 0);
D_8018D4D0[arg3][arg4] = player->pos[0] + someX;
D_8018D590[arg3][arg4] = player->pos[2] + someZ;
D_8018D530[arg3][arg4] = (player->pos[1] - player->boundingBoxSize) + someY;
gPlayerBalloonStatus[arg3][arg4] |= 1;
D_8018D860[arg3][arg4] = arg5;
D_8018D890[arg3][arg4] = 0;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006A50C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Oct-14-2023
extern ? D_8018D4D0;
extern ? D_8018D530;
extern ? D_8018D590;
extern ? D_8018D620;
extern ? D_8018D650;
extern ? D_8018D6B0;
extern ? D_8018D710;
extern ? D_8018D770;
extern ? D_8018D7A0;
extern ? D_8018D7D0;
extern ? D_8018D800;
extern ? D_8018D830;
extern ? D_8018D860;
extern ? D_8018D890;
extern ? D_8018D8D0;
static ? D_800E4914; /* unable to generate initializer */
void func_8006A7C0(Player *player, f32 arg1, f32 arg2, s8 arg3, s8 arg4) {
? sp80;
f32 sp78;
f32 sp74;
f32 sp70;
f32 sp80[] = {
9.0f, 10.0f, 9.0f, 8.0f,
10.0f, 9.5f, 9.5f, 11.0f,
};
s32 stackPadding0;
f32 someX;
f32 someY;
f32 someZ;
f32 sp6C;
f32 *sp60;
s32 sp5C;
u16 *sp58;
s32 sp54;
f32 *sp50;
f32 *sp4C;
s16 *sp3C;
s16 *sp34;
f32 *temp_a1;
f32 *temp_t2;
f32 *temp_v0_2;
f32 *temp_v1;
f32 *temp_v1_2;
f32 *temp_v1_3;
f32 *var_t2;
f32 temp_f8;
f32 var_f12;
f64 var_f0;
f64 var_f0_2;
s16 *temp_a2;
s16 *temp_v0;
s16 *var_a1;
s16 *var_v0;
s32 temp_t1;
s32 temp_t8;
s32 var_t0;
s32 var_t1;
u16 *temp_t7;
s32 stackPadding1;
s32 stackPadding2;
sp80.unk0 = (s32) D_800E4914.unk0;
sp80.unk4 = (s32) D_800E4914.unk4;
sp80.unk8 = (s32) D_800E4914.unk8;
sp80.unkC = (s32) D_800E4914.unkC;
sp80.unk10 = (s32) D_800E4914.unk10;
sp80.unk14 = (s32) D_800E4914.unk14;
sp80.unk18 = (s32) D_800E4914.unk18;
sp80.unk1C = (s32) D_800E4914.unk1C;
var_f12 = player->unk_094;
var_t0 = arg4 * 2;
temp_t7 = (arg3 * 6) + var_t0 + gPlayerBalloonStatus;
sp58 = temp_t7;
temp_t1 = arg4 * 4;
sp6C = (-(var_f12 / 18.0f) * 216.0f) / 10.0f;
if ((*temp_t7 & 2) != 2) {
temp_a1 = (arg3 * 0xC) + temp_t1 + &D_8018D650;
*temp_a1 = (f32) ((f64) *temp_a1 + (-0.003 + ((f64) -var_f12 * 0.0006)));
var_f0 = (f64) *temp_a1;
temp_v1 = (arg3 * 0xC) + temp_t1 + &D_8018D6B0;
temp_t2 = (arg3 * 0xC) + temp_t1 + &D_8018D710;
if (var_f0 >= 0.05) {
*temp_a1 = 0.05f;
var_f0 = (f64) *temp_a1;
sp6C = (-(player->unk_094 / 18.0f) * 216.0f) / 10.0f;
if ((gPlayerBalloonStatus[arg3][arg4] & 2) != 2) {
D_8018D650[arg3][arg4] += -0.003 + (-player->unk_094 * 0.0006);
if (D_8018D650[arg3][arg4] >= 0.05) {
D_8018D650[arg3][arg4] = 0.05f;
}
if (var_f0 <= -0.05) {
*temp_a1 = -0.05f;
if (D_8018D650[arg3][arg4] <= -0.05) {
D_8018D650[arg3][arg4] = -0.05f;
}
*temp_v1 += *temp_a1;
var_f0_2 = (f64) *temp_v1;
if (var_f0_2 >= 0.06) {
*temp_v1 = 0.06f;
var_f0_2 = (f64) *temp_v1;
D_8018D6B0[arg3][arg4] += D_8018D650[arg3][arg4];
if (D_8018D6B0[arg3][arg4] >= 0.06) {
D_8018D6B0[arg3][arg4] = 0.06f;
}
if (var_f0_2 <= -0.06) {
*temp_v1 = -0.06f;
if (D_8018D6B0[arg3][arg4] <= -0.06) {
D_8018D6B0[arg3][arg4] = -0.06f;
}
*temp_t2 += *temp_v1;
if (*temp_t2 < 0.0f) {
sp60 = temp_v1;
sp50 = temp_a1;
sp5C = var_t0;
sp4C = temp_t2;
temp_f8 = (f32) (random_int(0x000BU) / 10);
*temp_v1 = 0.0f;
*temp_t2 = 0.0f;
*temp_a1 = temp_f8;
D_8018D710[arg3][arg4] += D_8018D6B0[arg3][arg4];
if (D_8018D710[arg3][arg4] < 0.0f) {
D_8018D650[arg3][arg4] = random_int(0x000BU) / 10;
D_8018D6B0[arg3][arg4] = 0.0f;
D_8018D710[arg3][arg4] = 0.0f;
}
*(&D_8018D620 + ((arg3 * 6) + var_t0)) = -player->unk_02C[1] - player->unk_0C0;
sp5C = var_t0;
move_s16_towards((arg3 * 6) + var_t0 + &D_8018D890, (s16) (s32) (player->unk_094 * 182.0f), 0.1f);
var_f12 = player->unk_094;
D_8018D620[arg3][arg4] = -player->unk_02C[1] - player->unk_0C0;
move_s16_towards(&D_8018D890[arg3][arg4], player->unk_094 * 182.0f, 0.1f);
}
temp_a2 = (arg3 * 6) + var_t0 + &D_8018D830;
temp_t8 = arg4 * 4;
var_t1 = temp_t8;
sp50 = (arg3 * 6) + var_t0 + &D_8018D620;
var_t2 = (arg3 * 0xC) + temp_t8 + &D_8018D710;
if (*temp_a2 == 1) {
var_a1 = (arg3 * 6) + var_t0 + &D_8018D800;
var_v0 = (arg3 * 6) + var_t0 + &D_8018D770;
*var_v0 = (s16) (s32) ((f32) *var_v0 + ((f32) *var_a1 - var_f12));
if (D_8018D830[arg3][arg4] == 1) {
D_8018D770[arg3][arg4] += D_8018D800[arg3][arg4] - player->unk_094;
} else {
var_a1 = (arg3 * 6) + var_t0 + &D_8018D800;
var_v0 = (arg3 * 6) + var_t0 + &D_8018D770;
*var_v0 = (s16) (s32) ((f32) *var_v0 + ((f32) *var_a1 + var_f12));
D_8018D770[arg3][arg4] += D_8018D800[arg3][arg4] + player->unk_094;
}
if (*var_v0 >= 0xB) {
*var_v0 = 0x000B;
if (D_8018D770[arg3][arg4] >= 0xB) {
D_8018D770[arg3][arg4] = 0x000B;
}
if (*var_v0 < -0xA) {
*var_v0 = -0x000B;
if (D_8018D770[arg3][arg4] < -0xA) {
D_8018D770[arg3][arg4] = -0x000B;
}
temp_v0 = (arg3 * 6) + var_t0 + &D_8018D7A0;
*temp_v0 += *var_v0;
if (*temp_v0 >= 0x29) {
*temp_v0 = 0x0029;
D_8018D7A0[arg3][arg4] += D_8018D770[arg3][arg4];
if (D_8018D7A0[arg3][arg4] >= 0x29) {
D_8018D7A0[arg3][arg4] = 0x0029;
}
if (*temp_v0 < -0x28) {
*temp_v0 = -0x0029;
if (D_8018D7A0[arg3][arg4] < -0x28) {
D_8018D7A0[arg3][arg4] = -0x0029;
}
temp_v1_2 = (arg3 * 6) + var_t0 + &D_8018D7D0;
*temp_v1_2 = (s16) (*temp_v1_2 + *temp_v0);
if (*temp_v1_2 >= 0x38E) {
sp60 = temp_v1_2;
sp34 = var_a1;
sp3C = temp_a2;
sp5C = var_t0;
sp54 = var_t1;
sp4C = var_t2;
*var_a1 = -random_int(8U);
if (*temp_a2 != 1) {
*temp_a2 = 1;
D_8018D7D0[arg3][arg4] += D_8018D7A0[arg3][arg4];
if (D_8018D7D0[arg3][arg4] >= 0x38E) {
D_8018D800[arg3][arg4] = -random_int(8U);
if (D_8018D830[arg3][arg4] != 1) {
D_8018D830[arg3][arg4] = 1;
}
}
if (*temp_v1_2 < -0x38D) {
sp34 = var_a1;
sp3C = temp_a2;
sp5C = var_t0;
sp54 = var_t1;
sp4C = var_t2;
*var_a1 = random_int(8U);
if (*temp_a2 != -1) {
*temp_a2 = -1;
if (D_8018D7D0[arg3][arg4] < -0x38D) {
D_8018D800[arg3][arg4] = random_int(8U);
if (D_8018D830[arg3][arg4] != -1) {
D_8018D830[arg3][arg4] = -1;
}
}
sp54 = var_t1;
sp5C = var_t0;
func_80062B18(&sp78, &sp74, &sp70, arg1, (sp + (player->characterId * 4))->unk80 - *var_t2, (f32) ((f64) arg2 + -3.2 + (f64) (sp6C * 1.0f)), (u16) (s32) -*sp50, (u16) (player->unk_206 * -2));
if ((*sp58 & 2) != 2) {
*(&D_8018D530 + ((arg3 * 0xC) + sp54)) = (player->pos[1] - player->boundingBoxSize) + sp74;
*(&D_8018D4D0 + ((arg3 * 0xC) + sp54)) = player->pos[0] + sp78;
*(&D_8018D590 + ((arg3 * 0xC) + sp54)) = player->pos[2] + sp70;
*(&D_8018D8D0 + ((arg3 * 6) + sp5C)) = 0;
return;
}
temp_v0_2 = (arg3 * 0xC) + sp54 + &D_8018D530;
temp_v1_3 = (arg3 * 6) + sp5C + &D_8018D8D0;
*temp_v0_2 = (f32) ((f64) *temp_v0_2 + 0.2);
*temp_v1_3 = (s16) (*temp_v1_3 + 1);
sp60 = temp_v1_3;
move_s16_towards((arg3 * 6) + sp5C + &D_8018D890, 0, 0.1f);
move_s16_towards((arg3 * 6) + sp5C + &D_8018D860, 0, 0.1f);
if (*temp_v1_3 >= 0x78) {
func_8006B974((s32) player, arg3, arg4);
func_80062B18(&someX, &someY, &someZ, arg1, sp80[player->characterId] - D_8018D710[arg3][arg4], arg2 + -3.2 + (sp6C * 1), -D_8018D620[arg3][arg4], -player->unk_206 * 2);
if ((gPlayerBalloonStatus[arg3][arg4] & 2) != 2) {
D_8018D530[arg3][arg4] = (player->pos[1] - player->boundingBoxSize) + someY;
D_8018D4D0[arg3][arg4] = player->pos[0] + someX;
D_8018D590[arg3][arg4] = player->pos[2] + someZ;
D_8018D8D0[arg3][arg4] = 0;
} else {
D_8018D530[arg3][arg4] += 0.2;
D_8018D8D0[arg3][arg4] += 1;
move_s16_towards(&D_8018D890[arg3][arg4], 0, 0.1f);
move_s16_towards(&D_8018D860[arg3][arg4], 0, 0.1f);
if (D_8018D8D0[arg3][arg4] >= 0x78) {
func_8006B974((s32) player, arg3, arg4);
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006A7C0.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Oct-14-2023
extern ? D_8018D4D0;
extern ? D_8018D530;
extern ? D_8018D590;
extern ? D_8018D7D0;
extern ? D_8018D860;
extern ? D_8018D890;
static ? gBalloonVertexPlane1; /* unable to generate initializer */
static ? gBalloonVertexPlane2; /* unable to generate initializer */
static ? D_800E52D0; /* unable to generate initializer */
static ? D_800E4934; /* unable to generate initializer */
static ? D_800E4954; /* unable to generate initializer */
void func_8006AFD0(Player *player, s16 arg1, s8 arg2, s8 arg3) {
f32 sp13C;
f32 sp138;
f32 sp134;
s16 sp130;
s16 sp12E;
s16 sp12C;
s16 sp128;
s16 sp126;
s16 sp124;
s16 sp122;
s16 sp120;
s16 sp11E;
s16 sp11C;
Gfx *spB0;
Gfx *spAC;
f32 sp58;
void *sp54;
s32 sp44;
s32 sp40;
s16 *sp3C;
Camera *temp_v0_2;
Gfx *temp_v0_10;
Gfx *temp_v0_11;
Gfx *temp_v0_12;
Gfx *temp_v0_13;
Gfx *temp_v0_14;
Gfx *temp_v0_15;
Gfx *temp_v0_16;
Gfx *temp_v0_17;
Gfx *temp_v0_18;
Gfx *temp_v0_19;
Gfx *temp_v0_20;
Gfx *temp_v0_21;
Gfx *temp_v0_22;
Gfx *temp_v0_23;
Gfx *temp_v0_24;
Gfx *temp_v0_25;
Gfx *temp_v0_26;
Gfx *temp_v0_27;
Gfx *temp_v0_28;
Gfx *temp_v0_29;
Gfx *temp_v0_30;
Gfx *temp_v0_31;
Gfx *temp_v0_3;
Gfx *temp_v0_4;
Gfx *temp_v0_5;
Gfx *temp_v0_6;
Gfx *temp_v0_7;
Gfx *temp_v0_8;
Gfx *temp_v0_9;
f32 temp_f0;
f32 temp_f20;
f32 var_f20;
f64 var_f0;
s16 *temp_v1_2;
void func_8006AFD0(Player *player, s8 arg1, s16 arg2, s8 arg3) {
Mat4 sp140;
Vec3f sp134;
Vec3s sp12C;
s16 stackPadding;
s16 primRed;
s16 primGreen;
s16 primBlue;
s16 envRed;
s16 envGreen;
s16 envBlue;
s16 temp_t1;
s32 temp_a0;
s32 temp_t6;
s32 temp_t7;
s32 temp_v0;
s32 temp_v1;
u16 temp_t0;
f32 xdiff;
f32 zdiff;
f32 var_f20;
s32 primColors[] = {
MAKE_RGB(0xC8, 0x01, 0x00), MAKE_RGB(0x00, 0x70, 0x01), MAKE_RGB(0x10, 0x79, 0x51), MAKE_RGB(0x00, 0x59, 0x70),
MAKE_RGB(0x70, 0x55, 0x00), MAKE_RGB(0x7A, 0x7E, 0x00), MAKE_RGB(0x77, 0x2C, 0x24), MAKE_RGB(0x30, 0x14, 0x58),
};
s32 envColors[] = {
MAKE_RGB(0xDC, 0x00, 0x00), MAKE_RGB(0x00, 0x8C, 0x06), MAKE_RGB(0x00, 0x00, 0x51), MAKE_RGB(0x00, 0x00, 0x00),
MAKE_RGB(0x00, 0x00, 0x00), MAKE_RGB(0x00, 0x00, 0x00), MAKE_RGB(0x00, 0x00, 0x00), MAKE_RGB(0x00, 0x00, 0x00),
};
spF0[0].unk0 = D_800E4934.unk0;
spF0[0].unk4 = (s32) D_800E4934.unk4;
spF0[0].unk8 = (s32) D_800E4934.unk8;
spF0[0].unkC = (s32) D_800E4934.unkC;
spF0[0].unk10 = (s32) D_800E4934.unk10;
spF0[0].unk14 = (s32) D_800E4934.unk14;
spF0[0].unk18 = (s32) D_800E4934.unk18;
spF0[0].unk1C = (s32) D_800E4934.unk1C;
spD0[0].unk0 = D_800E4954.unk0;
spD0[0].unk4 = (s32) D_800E4954.unk4;
spD0[0].unk8 = (s32) D_800E4954.unk8;
spD0[0].unkC = (s32) D_800E4954.unkC;
spD0[0].unk10 = (s32) D_800E4954.unk10;
spD0[0].unk14 = (s32) D_800E4954.unk14;
spD0[0].unk18 = (s32) D_800E4954.unk18;
spD0[0].unk1C = (s32) D_800E4954.unk1C;
temp_t0 = player->characterId;
temp_v0 = (&spF0[0])[temp_t0];
sp128 = (temp_v0 >> 0x10) & 0xFF;
sp126 = (temp_v0 >> 8) & 0xFF;
sp124 = temp_v0 & 0xFF;
temp_v1 = (&spD0[0])[temp_t0];
sp122 = (temp_v1 >> 0x10) & 0xFF;
sp120 = (temp_v1 >> 8) & 0xFF;
sp11E = temp_v1 & 0xFF;
sp54 = player + (arg3 * 2);
temp_t1 = ((s32) ((player->unk_02C[1] + player->unk_048[arg3] + player->unk_0C0) & 0xFFFF) / 128) << 7;
if (arg3 == (s8) arg1) {
primRed = (primColors[player->characterId] >> 0x10) & 0xFF;
primGreen = (primColors[player->characterId] >> 0x08) & 0xFF;
primBlue = (primColors[player->characterId] >> 0x00) & 0xFF;
envRed = (envColors[player->characterId] >> 0x10) & 0xFF;
envGreen = (envColors[player->characterId] >> 0x08) & 0xFF;
envBlue = (envColors[player->characterId] >> 0x00) & 0xFF;
temp_t1 = (((player->unk_048[arg3] + player->unk_02C[1] + player->unk_0C0) & 0xFFFF) / 128);
temp_t1 <<= 7;
if (arg3 == arg1) {
var_f20 = 0.3f;
} else {
temp_v0_2 = &cameras[arg3];
temp_f20 = player->pos[0] - temp_v0_2->pos[0];
temp_f0 = player->pos[2] - temp_v0_2->pos[2];
// wut?
xdiff = (var_f20 = player->pos[0] - cameras[arg3].pos[0]);
zdiff = player->pos[2] - cameras[arg3].pos[2];
if (gActiveScreenMode != 3) {
sp11C = temp_t1;
var_f20 = sqrtf((temp_f20 * temp_f20) + (temp_f0 * temp_f0)) / 300.0f;
var_f20 = sqrtf((xdiff * xdiff) + (zdiff * zdiff)) / 300.0f;
} else {
sp11C = temp_t1;
var_f20 = sqrtf((temp_f20 * temp_f20) + (temp_f0 * temp_f0)) / 200.0f;
var_f20 = sqrtf((xdiff * xdiff) + (zdiff * zdiff)) / 200.0f;
}
var_f0 = (f64) var_f20;
if (var_f0 >= 1.8) {
if (var_f20 >= 1.8) {
var_f20 = 1.8f;
var_f0 = (f64) 1.8f;
}
if (var_f0 <= 0.3) {
if (var_f20 <= 0.3) {
var_f20 = 0.3f;
}
}
temp_t7 = (s16) arg2 * 4;
temp_a0 = temp_t1 & 0xFFFF;
sp44 = temp_a0;
sp134 = *(&D_8018D4D0 + (((s8) arg1 * 0xC) + temp_t7));
sp138 = *(&D_8018D530 + (((s8) arg1 * 0xC) + temp_t7));
sp13C = *(&D_8018D590 + (((s8) arg1 * 0xC) + temp_t7));
temp_t6 = (s16) arg2 * 2;
temp_v1_2 = ((s8) arg1 * 6) + temp_t6 + &D_8018D890;
sp12C = (s16) (s32) -(coss((u16) temp_a0) * (f32) (*temp_v1_2 * 4));
sp3C = temp_v1_2;
sp40 = temp_t6;
sp12E = sp54->unk48;
sp58 = coss(unksp46);
sp130 = (s16) (s32) (((f32) *(&D_8018D7D0 + (((s8) arg1 * 6) + temp_t6)) - ((f32) *(&D_8018D860 + (((s8) arg1 * 6) + temp_t6)) * sp58)) - (sins(unksp46) * (f32) (*sp3C * 8)));
mtxf_translate_rotate((f32 (*)[4]) &sp140[0], &sp134, &sp12C);
mtxf_scale2((f32 (*)[4]) &sp140[0], var_f20);
convert_to_fixed_point_matrix(&gGfxPool->mtxEffect[gMatrixEffectCount], (f32 (*)[4]) &sp140[0]);
sp134[0] = D_8018D4D0[arg1][arg2];
sp134[1] = D_8018D530[arg1][arg2];
sp134[2] = D_8018D590[arg1][arg2];
sp12C[0] = -((D_8018D890[arg1][arg2] * 4) * coss(temp_t1));
sp12C[1] = player->unk_048[arg3];
sp12C[2] = D_8018D7D0[arg1][arg2] - (D_8018D860[arg1][arg2] * coss(temp_t1)) - ((D_8018D890[arg1][arg2] * 8) * sins(temp_t1));
mtxf_translate_rotate(sp140, sp134, sp12C);
mtxf_scale2(sp140, var_f20);
convert_to_fixed_point_matrix(&gGfxPool->mtxEffect[gMatrixEffectCount], sp140);
gSPMatrix(gDisplayListHead++, PHYSICAL_TO_VIRTUAL(&gGfxPool->mtxEffect[gMatrixEffectCount], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gDisplayListHead++, D_0D008DB8);
gDPLoadTLUT_pal256(gDisplayListHead++, 0x800E52D0);
gDPLoadTLUT_pal256(gDisplayListHead++, D_800E52D0);
gDPSetTextureLUT(gDisplayListHead++, G_TT_RGBA16);
func_8004B614((s32) sp128, (s32) sp126, (s32) sp124, (s32) sp122, (s32) sp120, (s32) sp11E, 0x000000D8);
func_8004B614(primRed, primGreen, primBlue, envRed, envGreen, envBlue, 0x000000D8);
gDPSetRenderMode(gDisplayListHead++, AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_WRAP | ZMODE_XLU | CVG_X_ALPHA | FORCE_BL | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA), AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_WRAP | ZMODE_XLU | CVG_X_ALPHA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA));
gDPLoadTextureBlock(gDisplayListHead++, D_8018D4BC, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
@@ -5817,9 +5602,6 @@ void func_8006AFD0(Player *player, s16 arg1, s8 arg2, s8 arg3) {
gSPTexture(gDisplayListHead++, 0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF);
gMatrixEffectCount++;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006AFD0.s")
#endif
void func_8006B7E4(Player* player, s8 arg1) {
func_8006A50C(player, 0.0f, 0.0f, arg1, (s8) 0, (s16) 0);
@@ -5879,11 +5661,6 @@ void func_8006BA94(Player* player, s8 playerIndex, s8 arg2) {
}
}
// data/data_code_80071F00_2.s
extern Vtx gBalloonVertexPlane1[];
extern Vtx gBalloonVertexPlane2[];
extern u8 D_800E52D0[];
void render_balloon(Vec3f arg0, f32 arg1, s16 arg2, s16 arg3) {
Mat4 sp108;
Vec3f spFC;
+22 -1
View File
@@ -196,7 +196,7 @@ void func_8006A01C(Player*, s8, s16, s8);
void func_8006A280(Player*, s8, s16, s8);
void func_8006A50C(Player*, f32, f32, s8, s8, s16);
void func_8006A7C0(Player*, f32, f32, s8, s8);
void func_8006AFD0(Player*, s16, s8, s8);
void func_8006AFD0(Player*, s8, s16, s8);
void func_8006B7E4(Player*, s8);
void func_8006B87C(Player*, s8);
@@ -229,12 +229,33 @@ void func_8006E848(Player*, s8, s8);
void func_8006E8C4(Player*, s8, s8);
void func_8006E940(Player*, s8, s8);
// data/data_code_80071F00_2.s
extern Vtx gBalloonVertexPlane1[];
extern Vtx gBalloonVertexPlane2[];
extern u8 D_800E52D0[];
extern s16 D_800E4730[];
extern u8 **D_800E4770[];
extern u8 **D_800E47A0[];
extern s32 D_800E47DC[];
extern s32 D_800E480C[];
extern Vec3f D_8018D4D0[];
extern Vec3f D_8018D530[];
extern Vec3f D_8018D590[];
extern Vec3s D_8018D620[];
extern Vec3f D_8018D650[];
extern Vec3f D_8018D6B0[];
extern Vec3f D_8018D710[];
extern Vec3s D_8018D770[];
extern Vec3s D_8018D7A0[];
extern Vec3s D_8018D7D0[];
extern Vec3s D_8018D800[];
extern Vec3s D_8018D830[];
extern Vec3s D_8018D860[];
extern Vec3s D_8018D890[];
extern Vec3s D_8018D8D0[];
extern s8 D_801657B2;
extern s8 D_801657C8;
extern s32 D_8018D22C;