fox_43E80 decomped, matches and data import in fox_bg, some cleanup (#63)

* tank?

* matches and data

* excess files

* another extra file
This commit is contained in:
petrie911
2023-12-30 08:14:06 -06:00
committed by GitHub
parent 4bba3fa8be
commit 89cde81114
20 changed files with 2262 additions and 1959 deletions
+14 -3
View File
@@ -132,9 +132,9 @@ void func_80042FDC(Object_408*);
void func_80042FE8(Object_408*);
// fox_43E80
void func_80043468(Player* );
void func_800444BC(Player *);
void func_80047504(Player *);
void func_80043468(Player* player);
void func_800444BC(Player * player);
void func_80047504(Player * player);
// sf_496E0
void func_80049C0C(Player *);
@@ -512,6 +512,17 @@ void func_800B7184(Player *, s32);
void func_800B73E0(Player *);
void func_800B852C(s32 , Item *);
void func_800B86CC(void);
void func_800AD7F0(Player *player);
void func_800ADF58(Player *player);
void func_800B415C(Player *player);
void func_800B41E0(Player *player);
void func_800B41EC(Player *player);
void func_800A46A0(Player* player);
void func_800A86E4(Player* player);
void func_800A887C(Player* player);
s32 func_800A7974(Player* player, f32* hitboxData, s32* index, f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot,
f32 zRot, f32 arg9, f32 argA, f32 argB);
bool func_800A8054(s32 objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, Vec3f* arg7, Vec3f* arg8);
// fox_radio
s32 func_800BA7BC(u16*, s32);
+4
View File
@@ -26,6 +26,10 @@
#define VTX_T(x,y,z,s,t,cr,cg,cb,a) { { x, y, z }, 0, { s, t }, { cr, cg, cb, a } }
typedef struct {
u8 r, g, b;
} Color_RGB8; // size = 0x3
typedef union {
u16 data[SCREEN_HEIGHT * SCREEN_WIDTH];
u16 array[SCREEN_HEIGHT][SCREEN_WIDTH];
+6 -4
View File
@@ -289,7 +289,7 @@ extern s32 D_8015F978;
extern s32 D_8015F97C;
extern s32 D_8015F980;
extern f32 D_8015F984;
extern f32 D_80161394;
// extern f32 D_80161394;
// fox_43AC0
extern s32 D_801613A0;
@@ -516,7 +516,7 @@ extern u8 D_80177B6C;
extern s32 D_80177B70[7];
extern u8 D_80177B8C;
extern s32 D_80177B90[7];
extern s8 D_80177BAC;
extern u8 D_80177BAC;
extern s32 D_80177BB0[7];
//
extern u16 D_Timer_80177BD0[4];
@@ -826,7 +826,7 @@ extern Gfx* D_E6A810_801B7584[];
extern Gfx* D_E6A810_801B7608[];
extern Gfx* D_E6A810_801B769C[];
extern f32 D_E6A810_801B83A8[];
extern s8 D_E6A810_801BA1E8;
extern u8 D_E6A810_801BA1E8;
// ovl_E9F1D0
extern f32 D_E9F1D0_801A7F58;
@@ -969,10 +969,12 @@ extern Gfx D_3000090[];
extern Gfx D_3000660[];
extern u16 D_3000BC0[];
extern Gfx D_3001C90[];
extern u16 D_3002E80[];
extern Gfx D_3003CE0[];
extern Gfx D_3004680[];
extern Gfx D_3005980[];
extern Gfx D_3005AB0[];
extern u16 D_3005EA8[];
extern Gfx D_30066B0[];
extern Gfx D_3007650[];
extern Gfx D_3008100[];
@@ -1053,7 +1055,6 @@ extern f32 D_302EE64[];
extern f32 D_302EE80[];
extern f32 D_302EE9C[];
// ast_918430, ast_922730
extern AnimationHeader D_4000080;
extern Limb* D_400014C[];
@@ -1210,6 +1211,7 @@ extern f32 D_60092E8[];
extern f32 D_6009388[];
extern Gfx D_60097E0[];
extern u16* D_6009B34[];
extern u16 D_6009BB8[];
extern f32 D_6009CC4[];
extern f32 D_6009CFC[];
extern Gfx D_6009E30[];
+38 -37
View File
@@ -284,9 +284,9 @@ void func_8002EE34(void) {
}
void func_8002EE64(Object_2F4* obj2F4) {
s32 var_s3;
s32 i;
s32 var_s0;
Object_58* var_s2;
Object_58* obj58;
Vec3f temp1;
f32 temp4;
f32 temp5;
@@ -303,16 +303,16 @@ void func_8002EE64(Object_2F4* obj2F4) {
obj2F4->unk_178 = obj2F4->unk_17C = obj2F4->unk_184 = obj2F4->unk_180 = 0.0f;
if ((obj2F4->unk_0C9 != 0) && (gLevelMode == LEVELMODE_ALL_RANGE) && (gLevelType == LEVELTYPE_PLANET)) {
for (var_s3 = 0, var_s2 = gObjects58; var_s3 < 200; var_s3++, var_s2++) {
if ((var_s2->obj.status == 2) &&
((var_s2->obj.id == 150) || (var_s2->obj.id == 149) || (var_s2->obj.id == 148) ||
(var_s2->obj.id == 1) || (var_s2->obj.id == 3)) &&
(fabsf(var_s2->obj.pos.x - obj2F4->obj.pos.x) < 2500.0f) &&
(fabsf(var_s2->obj.pos.z - obj2F4->obj.pos.z) < 2500.0f)) {
temp1.x = var_s2->obj.pos.x;
temp1.y = var_s2->obj.pos.y;
temp1.z = var_s2->obj.pos.z;
temp4 = var_s2->obj.rot.y;
for (i = 0, obj58 = gObjects58; i < 200; i++, obj58++) {
if ((obj58->obj.status == 2) &&
((obj58->obj.id == OBJ_80_150) || (obj58->obj.id == OBJ_80_149) || (obj58->obj.id == OBJ_80_148) ||
(obj58->obj.id == OBJ_80_1) || (obj58->obj.id == OBJ_80_3)) &&
(fabsf(obj58->obj.pos.x - obj2F4->obj.pos.x) < 2500.0f) &&
(fabsf(obj58->obj.pos.z - obj2F4->obj.pos.z) < 2500.0f)) {
temp1.x = obj58->obj.pos.x;
temp1.y = obj58->obj.pos.y;
temp1.z = obj58->obj.pos.z;
temp4 = obj58->obj.rot.y;
Matrix_RotateY(gCalcMatrix, -temp4 * M_DTOR, 0);
spE4.x = obj2F4->obj.pos.x - temp1.x;
@@ -326,8 +326,8 @@ void func_8002EE64(Object_2F4* obj2F4) {
spC0.z = temp1.z; // fake?
spCC.y = spD8.y + temp1.y;
spCC.z = spD8.z + temp1.z;
if ((var_s2->obj.id == 149) || (var_s2->obj.id == 150)) {
if (var_s2->obj.id == 149) {
if ((obj58->obj.id == OBJ_80_149) || (obj58->obj.id == OBJ_80_150)) {
if (obj58->obj.id == OBJ_80_149) {
var_s0 = 5;
} else {
var_s0 = 6;
@@ -340,7 +340,7 @@ void func_8002EE64(Object_2F4* obj2F4) {
}
} else {
var_s0 = 0;
if (var_s2->obj.id == 3) {
if (obj58->obj.id == OBJ_80_3) {
var_s0 = 3;
}
if (func_800A3690(&spCC, &spC0, var_s0, &spB4) != 0) {
@@ -366,7 +366,7 @@ void func_8002F180(void) {
}
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 2;
obj2F4->obj.id = 197;
obj2F4->obj.id = OBJ_2F4_197;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
if (i == 0) {
obj2F4->unk_0E4 = 1000;
@@ -413,7 +413,7 @@ void func_8002F3E0(void) {
obj2F4->obj.pos.x = D_800C9AFC[i].x;
obj2F4->obj.pos.y = D_800C9AFC[i].y;
obj2F4->obj.pos.z = D_800C9AFC[i].z;
obj2F4->obj.id = 197;
obj2F4->obj.id = OBJ_2F4_197;
obj2F4->unk_0E4 = i + 4;
obj2F4->unk_0E6 = D_800C9B2C[i];
gObjects2F4[obj2F4->unk_0E6].unk_0E6 = -1;
@@ -548,7 +548,8 @@ void func_8002FB4C(Object_2F4* obj2F4) {
s32 i;
for (i = 10, var_v1 = &gObjects2F4[10]; i < 60; i++, var_v1++) {
if ((var_v1->obj.status == 2) && (var_v1->obj.id == 197) && (var_v1->unk_0B6 == 0) && (var_v1->unk_0E6 < 0)) {
if ((var_v1->obj.status == 2) && (var_v1->obj.id == OBJ_2F4_197) && (var_v1->unk_0B6 == 0) &&
(var_v1->unk_0E6 < 0)) {
var_a0 = false;
for (j = 1, var_a2 = &gObjects2F4[1]; j < 4; j++, var_a2++) {
if ((j != obj2F4->index) && (i == var_a2->unk_0E6)) {
@@ -635,7 +636,7 @@ void func_8002FEF0(Object_2F4* arg0) {
if (var_s0->obj.status == 0) {
Object_2F4_Initialize(var_s0);
var_s0->obj.status = 1;
var_s0->obj.id = 291;
var_s0->obj.id = OBJ_2F4_291;
if (gCurrentLevel == LEVEL_SECTOR_Z) {
var_s0->obj.pos.x = 200.0f;
var_s0->obj.pos.y = -500.0f;
@@ -1454,9 +1455,9 @@ void func_800319AC(Object_2F4* this) {
}
if ((this->unk_0E4 >= 4) && (this->unk_0E4 != 8) &&
((gCurrentLevel != LEVEL_VENOM_2) || (this->unk_0E4 != 4))) {
spCC = __sinf(((this->index * 45) + gFrameCount) * 0.017453292f) * 100.0f;
spC8 = __cosf(((this->index * 45) + (gFrameCount * 2)) * 0.017453292f) * 100.0f;
spC4 = __sinf(((this->index * 45) + gFrameCount) * 0.017453292f) * 100.0f;
spCC = __sinf(((this->index * 45) + gFrameCount) * M_DTOR) * 100.0f;
spC8 = __cosf(((this->index * 45) + (gFrameCount * 2)) * M_DTOR) * 100.0f;
spC4 = __sinf(((this->index * 45) + gFrameCount) * M_DTOR) * 100.0f;
}
if (gPlayer->unk_4DC == 0) {
this->unk_124.x = gPlayer->pos.x + spCC;
@@ -1484,9 +1485,9 @@ void func_800319AC(Object_2F4* this) {
}
} else if (this->unk_0E6 != 100) {
if (this->unk_0E4 >= 10) {
spCC = __sinf(((this->index * 45) + gFrameCount) * 0.017453292f) * 200.0f;
spC8 = __cosf(((this->index * 45) + (gFrameCount * 2)) * 0.017453292f) * 200.0f;
spC4 = __sinf(((this->index * 45) + gFrameCount) * 0.017453292f) * 200.0f;
spCC = __sinf(((this->index * 45) + gFrameCount) * M_DTOR) * 200.0f;
spC8 = __cosf(((this->index * 45) + (gFrameCount * 2)) * M_DTOR) * 200.0f;
spC4 = __sinf(((this->index * 45) + gFrameCount) * M_DTOR) * 200.0f;
}
this->unk_124.x = gObjects2F4[this->unk_0E6].obj.pos.x + spCC;
this->unk_124.y = gObjects2F4[this->unk_0E6].obj.pos.y + spC8;
@@ -1790,7 +1791,7 @@ void func_800319AC(Object_2F4* this) {
this->timer_0C0 = (s32) (Rand_ZeroOne() * 200.0f) + 200;
this->unk_13C = 30.0f;
}
if ((this->unk_0E6 > 0) && (gObjects2F4[this->unk_0E6].obj.id == 0xC5) &&
if ((this->unk_0E6 > 0) && (gObjects2F4[this->unk_0E6].obj.id == OBJ_2F4_197) &&
(gObjects2F4[this->unk_0E6].timer_0C2 == 0) && (gObjects2F4[this->unk_0E6].obj.status == 2)) {
this->unk_0B8 = 2;
this->unk_058 = 0;
@@ -1941,9 +1942,9 @@ void func_800319AC(Object_2F4* this) {
Math_SmoothStepToAngle(&this->obj.rot.z, this->unk_130, 0.2f, 100.0f, 0.01f);
if ((this->unk_0E4 == 8) && !(gFrameCount & 1)) {
if ((this->unk_130 > 10.0f) && (this->unk_130 < 350.0f)) {
Matrix_RotateY(gCalcMatrix, this->obj.rot.y * 0.017453292f, 0);
Matrix_RotateX(gCalcMatrix, this->obj.rot.x * 0.017453292f, 1);
Matrix_RotateZ(gCalcMatrix, this->obj.rot.z * 0.017453292f, 1);
Matrix_RotateY(gCalcMatrix, this->obj.rot.y * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, this->obj.rot.x * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, this->obj.rot.z * M_DTOR, 1);
spA8.x = 0.0f;
spA8.y = 70.0f;
@@ -1957,10 +1958,10 @@ void func_800319AC(Object_2F4* this) {
this->obj.rot.y = this->unk_0F4.y;
Math_SmoothStepToF(&this->unk_114, this->unk_118, 0.2f, 1.0f, 0.1f);
Math_SmoothStepToF(&this->unk_11C, this->unk_120, 1.0f, 0.1f, 0.1f);
spC0 = __sinf(this->obj.rot.x * 0.017453292f);
spB8 = __cosf(this->obj.rot.x * 0.017453292f);
spBC = __sinf(this->obj.rot.y * 0.017453292f);
spB4 = __cosf(this->obj.rot.y * 0.017453292f);
spC0 = __sinf(this->obj.rot.x * M_DTOR);
spB8 = __cosf(this->obj.rot.x * M_DTOR);
spBC = __sinf(this->obj.rot.y * M_DTOR);
spB4 = __cosf(this->obj.rot.y * M_DTOR);
sp9C.z = (this->unk_138 + this->unk_114) * spB8;
sp9C.y = (this->unk_138 + this->unk_114) * -spC0;
@@ -1986,9 +1987,9 @@ void func_800319AC(Object_2F4* this) {
sp90.z = spB4 * sp90.z;
if ((gCurrentLevel == LEVEL_VENOM_2) && (this->unk_0E4 >= 4)) {
Matrix_RotateY(gCalcMatrix, this->obj.rot.y * 0.017453292f, 0);
Matrix_RotateX(gCalcMatrix, this->obj.rot.x * 0.017453292f, 1);
Matrix_RotateZ(gCalcMatrix, this->obj.rot.z * 0.017453292f, 1);
Matrix_RotateY(gCalcMatrix, this->obj.rot.y * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, this->obj.rot.x * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, this->obj.rot.z * M_DTOR, 1);
spA8.y = 0.0f;
spA8.z = 0.0f;
if (Rand_ZeroOne() < 0.8f) {
@@ -2155,7 +2156,7 @@ bool func_800352E0(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* thi
RCP_SetupDL(&gMasterDisp, 0x1D);
}
if ((limbIndex == 1) || (limbIndex == 3)) {
rot->z += (f32) gFrameCount * 3.0f;
rot->z += gFrameCount * 3.0f;
}
if ((limbIndex == 1) || (limbIndex == 2)) {
RCP_SetupDL(&gMasterDisp, 0x22);
+469 -438
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1527,7 +1527,7 @@ void func_80057D00(void) {
} else {
Math_SmoothStepToF(&D_800CA230, 0.0f, 0.2f, 0.002f, 0.0f);
}
Matrix_RotateZ(gGfxMatrix, (f32) gFrameCount * 10.0f * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, gFrameCount * 10.0f * M_DTOR, 1);
Matrix_Scale(gGfxMatrix, 1.0f + D_800CA230, 1.0f - D_800CA230, 1.0f, 1);
Matrix_RotateZ(gGfxMatrix, -(f32) gFrameCount * 10.0f * M_DTOR, 1);
Matrix_Scale(gGfxMatrix, 1.0f + D_800CA230, 1.0f - D_800CA230, 1.0f, 1);
@@ -1556,7 +1556,7 @@ void func_80057D00(void) {
D_801779E8.z += player->unk_138 + player->unk_144;
if ((player->unk_238 != 0) && (player->unk_110 > 5.0f)) {
D_801779E8.x += __sinf((f32) gFrameCount * 150.0f * M_DTOR) * player->unk_110 * 0.2f;
D_801779E8.x += __sinf(gFrameCount * 150.0f * M_DTOR) * player->unk_110 * 0.2f;
}
} else if (player->state_1C8 == PLAYERSTATE_1C8_7) {
func_800578C4(player);
+1 -1
View File
@@ -1406,7 +1406,7 @@ void func_8006566C(f32 xPos, f32 yPos, f32 zPos, s32 arg3) {
}
}
#ifdef NON_MATCHING
#ifdef NON_EQUIVALENT
void func_800656D4(Object_2F4* obj2F4) {
f32 spD4;
f32 spD0;
+183 -184
View File
File diff suppressed because it is too large Load Diff
+31 -31
View File
@@ -2230,7 +2230,7 @@ void func_800AA800(Player* player) {
}
} else {
hitboxData = obj80->info.hitbox;
count = (s32) *hitboxData;
count = *hitboxData;
if (count != 0) {
if (obj80->info.action == (ObjectFunc) func_80066EA8) {
sp120 = 0.0f;
@@ -3410,7 +3410,7 @@ void func_800AECAC(Player* player) {
if (player->unk_4D8 < 180.0f) {
player->pos.y += 2.0f;
}
player->unk_2B4 = 1;
player->unk_2B4 = true;
if (gLevelMode == LEVELMODE_ON_RAILS) {
player->unk_2BC += 2.0f;
} else {
@@ -4485,7 +4485,7 @@ void func_800B2574(Player* player) {
if ((player->unk_2BC != 0.0f) && (gInputHold->button & gBrakeButton[player->num]) &&
(gInputHold->button & gBoostButton[player->num])) {
player->unk_2B4 = 1;
player->unk_2B4 = true;
}
if (gLevelMode == LEVELMODE_ON_RAILS) {
sp28 = 3.0f;
@@ -4524,7 +4524,7 @@ void func_800B2574(Player* player) {
}
if (player->timer_27C != 0) {
player->timer_27C--;
player->unk_2B4 = 1;
player->unk_2B4 = true;
if (D_80177E80 > 0) {
Math_SmoothStepToF(&D_801779A8[player->num], D_80177E80 * 10.0f, 1.0f, 5.0f, 0.0f);
}
@@ -4548,13 +4548,13 @@ void func_800B2574(Player* player) {
}
}
if (!(gInputHold->button & gBrakeButton[player->num]) && !(gInputHold->button & gBoostButton[player->num])) {
player->unk_2B4 = 1;
player->unk_2B4 = true;
if (player->unk_2BC == 0.0f) {
player->unk_2B4 = 0;
player->unk_2B4 = false;
}
}
if ((gInputHold->button & gBoostButton[player->num]) && !(gInputHold->button & gBrakeButton[player->num]) &&
(player->state_1C8 != PLAYERSTATE_1C8_5) && (player->unk_2B4 == 0)) {
(player->state_1C8 != PLAYERSTATE_1C8_5) && !player->unk_2B4) {
if (player->unk_2BC == 0.0f) {
func_800A5FA0(&player->unk_460, 0x09000002, player->num);
player->unk_194 = 5.0f;
@@ -4573,7 +4573,7 @@ void func_800B2574(Player* player) {
player->unk_2BC += sp28;
if (player->unk_2BC > 90.0f) {
player->unk_2BC = 90.0f;
player->unk_2B4 = 1;
player->unk_2B4 = true;
}
player->unk_25C += 0.04f;
if (player->unk_25C > 0.6f) {
@@ -4592,7 +4592,7 @@ void func_800B2574(Player* player) {
player->unk_2BC -= sp2C;
if (player->unk_2BC <= 0.0f) {
player->unk_2BC = 0.0f;
player->unk_2B4 = 0;
player->unk_2B4 = false;
}
}
if (player->unk_110 > 0.0f) {
@@ -4648,7 +4648,7 @@ void func_800B2C00(Player* player) {
}
}
if ((gInputHold->button & gBrakeButton[player->num]) && !(gInputHold->button & gBoostButton[player->num]) &&
(player->state_1C8 != PLAYERSTATE_1C8_5) && (player->unk_2B4 == 0)) {
(player->state_1C8 != PLAYERSTATE_1C8_5) && !player->unk_2B4) {
if (player->unk_2BC == 0.0f) {
func_800A5FA0(&player->unk_460, 0x09000003, player->num);
if ((gLevelMode == LEVELMODE_ALL_RANGE) && (gInputPress->button & gBrakeButton[player->num])) {
@@ -4663,7 +4663,7 @@ void func_800B2C00(Player* player) {
}
player->unk_2BC += sp30;
if (player->unk_2BC > 90.0f) {
player->unk_2B4 = 1;
player->unk_2B4 = true;
player->unk_2BC = 90.0f;
}
player->unk_190 = 0.3f;
@@ -4678,7 +4678,7 @@ void func_800B2C00(Player* player) {
player->unk_2BC -= sp34;
if (player->unk_2BC <= 0.0f) {
player->unk_2BC = 0.0f;
player->unk_2B4 = 0;
player->unk_2B4 = false;
}
if (player->unk_110 < 0.0f) {
player->unk_110 += 0.5f;
@@ -4693,18 +4693,18 @@ void func_800B2C00(Player* player) {
void func_800B3010(Player* player) {
f32 sp2C;
if (player->unk_2B8 == 0) {
if (!player->unk_2B8) {
Math_SmoothStepToF(&player->unk_2BC, 0.0f, 1.0f, 1.0f, 0.0f);
}
player->unk_2B8 = 0;
player->unk_2B8 = false;
if (player->unk_2BC == 0.0f) {
player->unk_2B4 = 0;
player->unk_2B4 = false;
} else if (!(gInputHold->button & Z_TRIG) && !(gInputHold->button & R_TRIG) &&
!(gInputHold->button & gBoostButton[player->num]) && !(gInputHold->button & gBrakeButton[player->num])) {
player->unk_2B4 = 1;
player->unk_2B4 = true;
}
sp2C = 20.0f;
if ((gInputHold->button & gBoostButton[player->num]) && (player->unk_2B4 == 0)) {
if ((gInputHold->button & gBoostButton[player->num]) && !player->unk_2B4) {
if (player->unk_2BC == 0.0f) {
player->unk_194 = 4.0f;
player->unk_190 = 4.0f;
@@ -4713,22 +4713,22 @@ void func_800B3010(Player* player) {
Math_SmoothStepToF(&D_801779A8[player->num], 30.0f, 1.0f, 10.0f, 0.0f);
player->unk_190 = 2.0f;
sp2C = 35.0f;
player->unk_2B8 = 1;
player->unk_2B8 = true;
Math_SmoothStepToF(&player->unk_2BC, 90.0f, 1.0f, 1.0f, 0.0f);
if (player->unk_2BC >= 90.0f) {
player->unk_2B4 = 1;
player->unk_2B4 = true;
}
}
if ((gInputHold->button & gBrakeButton[player->num]) && (player->unk_2B4 == 0)) {
if ((gInputHold->button & gBrakeButton[player->num]) && !player->unk_2B4) {
if (player->unk_2BC == 0.0f) {
func_800A5FA0(&player->unk_460, 0x09000003, player->num);
}
Math_SmoothStepToF(&D_801779A8[player->num], 20.0f, 1.0f, 10.0f, 0.0f);
sp2C = 5.0f;
player->unk_2B8 = 1;
player->unk_2B8 = true;
Math_SmoothStepToF(&player->unk_2BC, 90.0f, 1.0f, 1.0f, 0.0f);
if (player->unk_2BC >= 90.0f) {
player->unk_2B4 = 1;
player->unk_2B4 = true;
}
}
Math_SmoothStepToF(&player->unk_0D0, sp2C, 0.1f, 2.0f, 0.001f);
@@ -4739,7 +4739,7 @@ void func_800B3314(Player* player) {
f32 temp2;
player->unk_0D4 = 3.0f;
if ((gInputHold->button & Z_TRIG) && (player->unk_2B4 == 0)) {
if ((gInputHold->button & Z_TRIG) && !player->unk_2B4) {
if (player->unk_2BC == 0.0f) {
func_800A5FA0(&player->unk_460, 0x09000002, player->num);
}
@@ -4749,10 +4749,10 @@ void func_800B3314(Player* player) {
player->unk_12C = 50.0f;
}
Math_SmoothStepToF(&player->unk_170, 1.0f, 1.0f, 0.4f, 0.0f);
player->unk_2B8 = 1;
player->unk_2B8 = true;
Math_SmoothStepToF(&player->unk_2BC, 90.0f, 1.0f, 0.7f, 0.0f);
if (player->unk_2BC >= 90.0f) {
player->unk_2B4 = 1;
player->unk_2B4 = true;
}
} else {
if (player->unk_12C > 0.0f) {
@@ -4767,7 +4767,7 @@ void func_800B3314(Player* player) {
}
}
}
if ((gInputHold->button & R_TRIG) && (player->unk_2B4 == 0)) {
if ((gInputHold->button & R_TRIG) && !player->unk_2B4) {
if (player->unk_2BC == 0.0f) {
func_800A5FA0(&player->unk_460, 0x09000002, player->num);
}
@@ -4777,10 +4777,10 @@ void func_800B3314(Player* player) {
player->unk_12C = -50.0f;
}
Math_SmoothStepToF(&player->unk_16C, 1.0f, 1.0f, 0.4f, 0.0f);
player->unk_2B8 = 1;
player->unk_2B8 = true;
Math_SmoothStepToF(&player->unk_2BC, 90.0f, 1.0f, 0.7f, 0.0f);
if (player->unk_2BC >= 90.0f) {
player->unk_2B4 = 1;
player->unk_2B4 = true;
}
} else if (player->unk_12C < 0.0f) {
player->unk_188 += 1.5f;
@@ -4794,7 +4794,7 @@ void func_800B3314(Player* player) {
}
}
if ((player->unk_16C > 0.2f) && (player->unk_170 > 0.2f) && (player->timer_220 == 0)) {
player->unk_12C += (((__cosf((f32) gFrameCount * M_DTOR * 8.0f) * 10.0f) - player->unk_12C) * 0.1f);
player->unk_12C += (((__cosf(gFrameCount * M_DTOR * 8.0f) * 10.0f) - player->unk_12C) * 0.1f);
Math_SmoothStepToAngle(&player->unk_0E4, 0.0f, 0.05f, 5.0f, 0.00001f);
Math_SmoothStepToAngle(&player->unk_0EC, 0.0f, 0.05f, 5.0f, 0.00001f);
temp = gInputPress->stick_y;
@@ -4914,7 +4914,7 @@ void func_800B39E0(Player* player) {
if ((gLevelMode != LEVELMODE_UNK_2) &&
((player->unk_0D8.x != 0.f) || (player->unk_0D8.y != 0.f) || (player->unk_0D8.z != 0.f)) &&
((player->unk_1A4 >= 40) || (player->unk_1A4 == 21))) {
player->unk_2B4 = 1;
player->unk_2B4 = true;
player->unk_0E4 = 0;
player->unk_0E8 = 0;
Math_SmoothStepToF(&player->unk_110, 0, 1.0f, 5.0f, 0);
@@ -5471,7 +5471,7 @@ void func_800B48BC(Player* player) {
Math_SmoothStepToF(&player->unk_09C, sp1C8, 1.0f, 10.0f, 0.0f);
if (player->form == FORM_ARWING) {
Math_SmoothStepToF(&player->unk_194, player->unk_190, 0.5f, 5.0f, 0.0f);
if ((player->unk_2B4 != 0) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_3)) {
if (player->unk_2B4 && (gPlayer->state_1C8 == PLAYERSTATE_1C8_3)) {
player->unk_190 = 0.5f;
} else {
player->unk_190 = 1.0f;
+2 -2
View File
@@ -837,7 +837,7 @@ void* sSmallCharTex[] = {
void Graphics_DisplayLargeText(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) {
u32 charIndex;
f32 xPosCurrent = (f32) xPos;
f32 xPosCurrent = xPos;
s32 pad4C;
s32 width;
s32 startPrint = false;
@@ -1110,7 +1110,7 @@ void Graphics_DisplayLargeNumber(s32 xPos, s32 yPos, s32 number) {
void Graphics_DisplaySmallText(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) {
u32 var_t0;
f32 xPosCurrent = (f32) xPos;
f32 xPosCurrent = xPos;
s32 width;
while (text[0] != 0) {
-76
View File
@@ -1,76 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80035D30.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80035DEC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/PlayerShot_Initialize.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80035E78.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036318.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036528.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_800365E4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_800366CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036770.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036874.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80036F88.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80037438.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80037698.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003774C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80037CF4.s")
void func_80038140(PlayerShot* shot);
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80038140.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80038F34.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80039210.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_80039A50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003AF88.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003AFD8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003B00C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003B55C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BA80.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BAA0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BACC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BB4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003BEF4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003C008.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003C3D8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003C4D0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003CC08.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003CF90.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003D54C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003D854.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003D9B8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_beam/func_8003DA0C.s")
-1125
View File
File diff suppressed because it is too large Load Diff
+1492 -28
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -899,7 +899,7 @@ void func_8008B2F0(void) {
D_800D1EBC = 0;
}
if ((D_801617B0 == 0) && ((s32) gGoldRingCount[0] >= 3)) {
if ((D_801617B0 == 0) && (gGoldRingCount[0] >= 3)) {
D_801617A4 = 1.5f;
} else {
D_801617A4 = 1.0f;
@@ -1198,7 +1198,7 @@ void func_8008D4F0(f32 arg0, f32 arg1) {
temp_fv0 = 1.0f - temp_fs0;
temp2 = sp68 * temp_fs0;
if (gPlayer[gPlayerNum].unk_2B4 == 0) {
if (!gPlayer[gPlayerNum].unk_2B4) {
Math_SmoothStepToF(&D_800D19AC[var_v1], 255.0f, 0.4f, 100.0f, 0.01f);
} else {
Math_SmoothStepToF(&D_800D19AC[var_v1], 100.0f, 0.4f, 100.0f, 0.01f);
@@ -1394,11 +1394,11 @@ void func_8008E2C8(f32 arg0, f32 arg1, s32* arg2, f32 arg3) {
for (i = 0; i != 5; i++) {
if ((i == 0) || (i == 2)) {
var_s2 = (s32) arg2[i / 2] % 60;
var_s2 = arg2[i / 2] % 60;
}
if (i == 4) {
var_s2 = (s32) arg2[i / 2] % 100;
var_s2 = arg2[i / 2] % 100;
}
if (i & 1) {
+1 -1
View File
@@ -28,7 +28,7 @@ void func_DF4260_80187530(Object_80* obj80) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80187A38.s")
f32 func_DF4260_80187A88(s32 arg0) {
f32 ret = (f32) arg0 * 0.5f;
f32 ret = arg0 * 0.5f;
if (ret > 8.0f) {
ret = 8.0f;
+8 -8
View File
@@ -11,35 +11,35 @@ void func_EBFBE0_801A01A8(void);
void func_EBFBE0_80187520(s32 arg0, s32 arg1) {
switch (arg0) {
case 0x67:
case 103:
func_EBFBE0_80187754();
break;
case 0x68:
case 104:
func_EBFBE0_801878D8();
break;
case 0x69:
case 105:
func_EBFBE0_8019E8D0();
break;
case 0x6A:
case 106:
func_EBFBE0_801A01A8();
break;
case 0x6B:
case 107:
func_EBFBE0_801920C4();
break;
case 0x6C:
case 108:
func_EBFBE0_80192340();
break;
case 0x6D:
case 109:
func_EBFBE0_8019E85C();
break;
case 0x6E:
case 110:
func_EBFBE0_8019E8C8();
default:
+1 -7
View File
@@ -1045,9 +1045,6 @@ f32 func_EBFBE0_801A25C8(s32 arg0) {
return sp4;
}
// Doesn't match for some reason, related to "D_EBFBE0_801CEA64 *= 1.04f;"
// 1.04f gets put in rodata for some reason. Maybe it needs Data imported? /
#ifdef NON_MATCHING
void func_EBFBE0_801A2674(void) {
s32 i;
@@ -1055,7 +1052,7 @@ void func_EBFBE0_801A2674(void) {
func_EBFBE0_801A4A38(D_EBFBE0_801CEA64);
D_EBFBE0_801CEA64 *= 1.04f;
D_EBFBE0_801CEA64 *= 1.03f;
for (i = 0; i < 15; i++) {
D_EBFBE0_801CD900[i] -= 16;
@@ -1103,9 +1100,6 @@ void func_EBFBE0_801A2674(void) {
func_800182F4(0x102D00FF);
func_800182F4(0x112D00FF);
}
#else
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/ED6EC0/func_EBFBE0_801A2674.s")
#endif
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/ED6EC0/func_EBFBE0_801A281C.s")
+1 -1
View File
@@ -3770,7 +3770,7 @@ s32 func_EBFBE0_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_EBFBE0_801B9
if (arg3->unk_4 == 0) {
if (x != 0) {
var_fv1 = (f32) x / 20.0f;
var_fv1 = x / 20.0f;
arg3->unk_4 = arg3->unk_0;
if (arg3->unk_0 != 0) {
+2 -2
View File
@@ -2478,7 +2478,7 @@ void func_EBFBE0_8018E67C(s32 arg0) {
Matrix_Pop(&gGfxMatrix);
temp_fv1 = __sinf((f32) sp5C * 12.0f * M_DTOR) * 15.0f;
temp_fv1 = __sinf(sp5C * 12.0f * M_DTOR) * 15.0f;
if (temp_fv1 >= 0) {
D_EBFBE0_801B8350[arg0].unk_0C = temp_fv1;
@@ -2955,7 +2955,7 @@ void func_EBFBE0_801903B8(void) {
Matrix_SetGfxMtx(&gMasterDisp);
temp = (f32) D_EBFBE0_801AE528[i] * var_fs1;
temp = D_EBFBE0_801AE528[i] * var_fs1;
if (i != 10) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, D_EBFBE0_801AE51C[i], (s32) temp);
+3 -5
View File
@@ -263,12 +263,11 @@
- [0xCA650, rodata, ../libultra/rmon/rmonrcp]
# DATA - game engine
- [0xCA690, .data, fox_360]
- [0xCA7C0, data, sf_beam]
- [0xCA830, data, fox_bg]
- [0xCA830, .data, fox_bg]
- [0xCAA90, .data, fox_43AC0]
- [0xCAB00, data, sf_43E80]
- [0xCAB00, .data, sf_43E80]
- [0xCAB60, data, sf_496C0]
- [0xCAE20, .data, fox_display]
- [0xCAFB0, .data, fox_load]
@@ -330,7 +329,6 @@
- { start: 0xDE480, type: .bss, vram: 0x80145360, name: sys_fault }
- { start: 0xDE480, type: bss, vram: 0x80145D40, name: sys_audio }
# Libultra bss
- { start: 0xDE480, type: bss, vram: 0x80156620, name: ../libultra/io/controller }
- { start: 0xDE480, type: bss, vram: 0x801566B0, name: ../libultra/io/motor }
@@ -360,7 +358,7 @@
# Game engine bss
- { start: 0xDE480, type: .bss, vram: 0x8015F900, name: fox_360 }
- { start: 0xDE480, type: bss, vram: 0x8015F950, name: sf_beam }
- { start: 0xDE480, type: bss, vram: 0x8015F960, name: fox_bg }
- { start: 0xDE480, type: .bss, vram: 0x8015F960, name: fox_bg }
- { start: 0xDE480, type: .bss, vram: 0x801613A0, name: fox_43AC0 }
- { start: 0xDE480, type: .bss, vram: 0x801613B0, name: fox_display }
- { start: 0xDE480, type: .bss, vram: 0x801615D0, name: fox_edisplay }