mirror of
https://github.com/n64decomp/mk64
synced 2026-07-30 07:44:13 -04:00
3 matches in code_80057C60 (#480)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
+134
-357
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user