Cleaning Up Warnings (#317)

* Update mk64 makefile to reflect sm64 makefile

* print func matches and fix some warnings
This commit is contained in:
MegaMech
2023-06-28 14:30:11 -06:00
committed by GitHub
parent 1b659170dc
commit d6eb25aae3
49 changed files with 2442 additions and 2417 deletions
+188 -194
View File
@@ -20,9 +20,14 @@
#include "audio/external.h"
#include "common_textures.h"
s32 D_802BA050;
s32 D_802BA054;
s32 D_802BA058;
// Appears to be textures
// or tluts
u8 *D_802BA050;
u8 *D_802BA054;
u8 *D_802BA058;
struct Actor *D_802BA05C;
s8 D_802BA060[512]; // tlut 256
u16 D_802BA260;
@@ -32,19 +37,19 @@ void func_80296A50(struct ShellActor *shell) {
struct ShellActor *compare;
for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) {
compare = &gActorList[actorIndex];
compare = (struct ShellActor *)&gActorList[actorIndex];
if ((shell != compare) && !(compare->flags & 0xF) && (compare->type == ACTOR_GREEN_SHELL)) {
if (compare->state == 2) {
func_8000EE58(actorIndex);
}
D_8015F6FE -= 1;
destroy_actor(compare);
destroy_actor((struct Actor *)compare);
return;
}
}
for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) {
compare = &gActorList[actorIndex];
compare = (struct ShellActor *) &gActorList[actorIndex];
if ((shell != compare) && !(compare->flags & 0xF) && (compare->type == ACTOR_RED_SHELL)) {
switch(compare->state) {
case 2:
@@ -56,7 +61,7 @@ void func_80296A50(struct ShellActor *shell) {
func_8000EE58(actorIndex);
case 7:
D_8015F6FE -= 1;
destroy_actor(compare);
destroy_actor((struct Actor *)compare);
return;
default:
break;
@@ -65,21 +70,21 @@ void func_80296A50(struct ShellActor *shell) {
}
for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) {
compare = &gActorList[actorIndex];
compare = (struct ShellActor *) &gActorList[actorIndex];
if ((shell != compare) && (compare->type == ACTOR_GREEN_SHELL)) {
switch(compare->state) {
case 2:
func_8000EE58(actorIndex);
case 7:
D_8015F6FE -= 1;
destroy_actor(compare);
destroy_actor((struct Actor *)compare);
return;
}
}
}
for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) {
compare = &gActorList[actorIndex];
compare = (struct ShellActor *)&gActorList[actorIndex];
if ((shell != compare) && (compare->type == ACTOR_RED_SHELL)) {
switch(compare->state) {
case 2:
@@ -91,10 +96,8 @@ void func_80296A50(struct ShellActor *shell) {
func_8000EE58(actorIndex);
case 7:
D_8015F6FE -= 1;
destroy_actor(compare);
destroy_actor((struct Actor *)compare);
return;
default:
break;
}
}
}
@@ -376,8 +379,8 @@ void func_802977E4(Player *arg0) {
}
void func_80297818(void) {
s16 *phi_v0 = &D_802BA060[0];
s16 *phi_v1 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[SEGMENT_NUMBER2(gTLUTGreenShell)] + SEGMENT_OFFSET(gTLUTGreenShell));
s16 *phi_v0 = (s16 *) &D_802BA060[0];
s16 *phi_v1 = (s16 *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[SEGMENT_NUMBER2(gTLUTGreenShell)] + SEGMENT_OFFSET(gTLUTGreenShell));
s16 temp_a0, temp_a0_2, temp_a0_3, temp_a0_4, temp_a0_5;
s32 i;
for (i = 0; i < 256; i++) {
@@ -408,7 +411,7 @@ void func_8029794C(Vec3f arg0, Vec3s arg1, f32 arg2) {
}
}
void func_802979F8(struct Actor *arg0, f32 arg1) {
void func_802979F8(struct Actor *arg0, UNUSED f32 arg1) {
Vec3f sp24;
Vec3s sp1C;
@@ -627,10 +630,10 @@ void update_obj_piranha_plant(struct PiranhaPlant *arg0) {
// Mario Raceway Load piranha plant textures?
void func_80298328(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2) {
s32 pad;
s32 addr;
UNUSED s32 pad;
u8 *addr;
s16 temp_lo = arg0 - camera1;
s16 phi_t4;
s16 animationFrame; // unconfirmed
s16 temp = arg2->flags;
f32 temp_f0;
@@ -678,10 +681,9 @@ void func_80298328(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2) {
arg2->visibilityStates[3] = 0;
break;
}
phi_t4 = 0;
animationFrame = 0;
} else {
switch(temp_lo) {
case 0:
arg2->visibilityStates[0] = 1;
@@ -695,30 +697,29 @@ void func_80298328(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2) {
case 3:
arg2->visibilityStates[3] = 1;
break;
}
switch(temp_lo) {
case 0:
phi_t4 = arg2->timers[0];
animationFrame = arg2->timers[0];
break;
case 1:
phi_t4 = arg2->timers[1];
animationFrame = arg2->timers[1];
break;
case 2:
phi_t4 = arg2->timers[2];
animationFrame = arg2->timers[2];
break;
case 3:
phi_t4 = arg2->timers[3];
animationFrame = arg2->timers[3];
break;
}
}
phi_t4 /= 6;
animationFrame /= 6;
if (phi_t4 > 8) {
phi_t4 = 8;
if (animationFrame > 8) {
animationFrame = 8;
}
addr = D_802BA058 + (phi_t4 << 0xB);
addr = D_802BA058 + (animationFrame << 0xB);
gDPLoadTextureBlock(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(addr), G_IM_FMT_CI, G_IM_SIZ_8b, 32, 64, 0,
G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
@@ -730,7 +731,7 @@ void func_80298328(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2) {
}
}
void func_802986B4(Camera *camera, Mat4 arg1, struct Actor *actor) {
void func_802986B4(Camera *camera, Mat4 arg1, UNUSED struct Actor *actor) {
u16 temp_s1;
f32 temp_f0;
struct ActorSpawnData *var_t1;
@@ -808,7 +809,7 @@ void func_80298AC0(Player *player) {
Vec3f sp64;
s32 segment = SEGMENT_NUMBER2(D_06013F78);
s32 offset = SEGMENT_OFFSET(D_06013F78);
struct UnkActorSpawnData *data = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
struct UnkActorSpawnData *data = (struct UnkActorSpawnData *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
while (data->pos[0] != -0x8000) {
sp64[0] = data->pos[0] * gCourseDirection;
@@ -843,7 +844,7 @@ void func_80298C94(void) {
void func_80298D10(void) {
s32 segment = SEGMENT_NUMBER2(D_06013F78);
s32 offset = SEGMENT_OFFSET(D_06013F78);
struct UnkActorSpawnData *temp_v1 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
struct UnkActorSpawnData *temp_v1 = (struct UnkActorSpawnData *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
while (temp_v1->pos[0] != -0x8000) {
temp_v1->pos[1] = temp_v1->unk8;
@@ -852,11 +853,11 @@ void func_80298D10(void) {
}
}
void func_80298D7C(Camera *camera, Mat4 arg1, struct Actor *actor) {
void func_80298D7C(Camera *camera, Mat4 arg1, UNUSED struct Actor *actor) {
s32 segment = SEGMENT_NUMBER2(D_06013F78);
s32 offset = SEGMENT_OFFSET(D_06013F78);
struct UnkActorSpawnData *var_s1 = (struct UnkActorSpawnData *)VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
s32 stackPadding0;
UNUSED s32 pad;
Vec3f spD4;
f32 var_f22;
Mat4 sp90;
@@ -1179,7 +1180,7 @@ void func_8029A11C(Camera *camera, Mat4 arg1, struct Actor *arg2) {
}
}
void func_8029A23C(Camera *camera, Mat4 arg1, struct Actor *actor) {
void func_8029A23C(UNUSED Camera *camera, Mat4 arg1, struct Actor *actor) {
uintptr_t addr;
if (actor->state == 0) { return; }
@@ -1197,10 +1198,10 @@ void func_8029A23C(Camera *camera, Mat4 arg1, struct Actor *actor) {
gSPDisplayList(gDisplayListHead++, D_06013BB8);
}
void func_8029A3AC(Camera *camera, Mat4 arg1, struct ShellActor *shell) {
s16 pad;
void func_8029A3AC(Camera *camera, Mat4 matrix, struct ShellActor *shell) {
UNUSED s16 pad;
u16 temp_t8;
s32 pad2;
UNUSED s32 pad2;
s16 sp58[15] = // D_802B87E8;
{
0x0000, 0x0400, 0x0800, 0x0c00,
@@ -1208,6 +1209,8 @@ void func_8029A3AC(Camera *camera, Mat4 arg1, struct ShellActor *shell) {
0x1c00, 0x1800, 0x1400, 0x1000,
0x0c00, 0x0800, 0x0400
};
// todo: Is this making the shell spin?
// Is it doing this by modifying a an address?
uintptr_t phi_t3;
f32 temp_f0 = func_802B80D0(camera->pos, shell->pos, camera->rot[1], 0, D_80150130[camera - camera1], 490000.0f);
@@ -1220,18 +1223,18 @@ void func_8029A3AC(Camera *camera, Mat4 arg1, struct ShellActor *shell) {
func_802979F8((struct Actor *) shell, 3.4f);
}
if (shell->type == ACTOR_BLUE_SPINY_SHELL) {
phi_t3 = D_802BA054;
phi_t3 = (uintptr_t)D_802BA054;
} else {
phi_t3 = D_802BA050;
phi_t3 = (uintptr_t)D_802BA050;
}
temp_t8 = (u16) shell->rotVelocity / 4369;
phi_t3 += sp58[temp_t8];
arg1[3][0] = shell->pos[0];
arg1[3][1] = (shell->pos[1] - shell->boundingBoxSize) + 1.0f;
arg1[3][2] = shell->pos[2];
matrix[3][0] = shell->pos[0];
matrix[3][1] = (shell->pos[1] - shell->boundingBoxSize) + 1.0f;
matrix[3][2] = shell->pos[2];
if (func_802B4FF8(arg1, 0) == 0) { return; }
if (func_802B4FF8(matrix, 0) == 0) { return; }
gDPLoadTextureBlock(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(phi_t3),
G_IM_FMT_CI, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP,
@@ -1255,55 +1258,55 @@ UNUSED s16 D_802B8810[] = {
0x0000, 0x0000, 0xffff, 0xffff
};
void func_8029A690(Camera *arg0, Mat4 arg1, struct ShellActor *arg2) {
void func_8029A690(Camera *camera, Mat4 matrix, struct ShellActor *shell) {
gDPLoadTLUT_pal256(gDisplayListHead++, gTLUTGreenShell);
func_8029A3AC(arg0, arg1, arg2);
func_8029A3AC(camera, matrix, shell);
}
void func_8029A75C(Camera *arg0, Mat4 arg1, struct ShellActor *arg2) {
void func_8029A75C(Camera *camera, Mat4 matrix, struct ShellActor *shell) {
gDPLoadTLUT_pal256(gDisplayListHead++, &D_802BA060);
func_8029A3AC(arg0, arg1, arg2);
func_8029A3AC(camera, matrix, shell);
}
// Middle of a tlut access
void func_8029A828(Camera *arg0, Mat4 arg1, struct ShellActor *arg2) {
void func_8029A828(Camera *camera, Mat4 matrix, struct ShellActor *shell) {
gDPLoadTLUT_pal256(gDisplayListHead++, gTLUTBlueShell);
func_8029A3AC(arg0, arg1, arg2);
func_8029A3AC(camera, matrix, shell);
}
void func_8029A8F4(Camera *arg0, Mat4 arg1, struct BananaActor *arg2) {
s32 pad[3];
void func_8029A8F4(Camera *camera, UNUSED Mat4 arg1, struct BananaActor *banana) {
UNUSED s32 pad[3];
Vec3s sp7C;
Mat4 sp3C;
f32 temp = func_802B80D0(arg0->pos, arg2->pos, arg0->rot[1], 0, D_80150130[arg0 - camera1], 490000.0f);
f32 temp = func_802B80D0(camera->pos, banana->pos, camera->rot[1], 0, D_80150130[camera - camera1], 490000.0f);
if (temp < 0.0f) {
func_80297230(arg0, arg2);
func_80297230(camera, (struct Actor *) banana);
return;
}
if ((arg2->pos[1] > D_8015F6EC + 800.0f)) {
func_80297230(arg0, arg2);
if ((banana->pos[1] > D_8015F6EC + 800.0f)) {
func_80297230(camera, (struct Actor *) banana);
return;
}
if (arg2->pos[1] < (D_8015F6EE - 800.0f)) {
func_80297230(arg0, arg2);
if (banana->pos[1] < (D_8015F6EE - 800.0f)) {
func_80297230(camera, (struct Actor *) banana);
return;
}
func_802972B8(arg0, arg2);
func_802972B8(camera, (struct Actor *) banana);
if (arg2->state == 5) {
func_802B5F74(sp3C, arg2->pos, arg2->rot);
if (banana->state == 5) {
func_802B5F74(sp3C, banana->pos, banana->rot);
} else {
sp7C[0] = 0;
sp7C[1] = 0;
sp7C[2] = 0;
func_802B5F74(sp3C, arg2->pos, sp7C);
func_802B5F74(sp3C, banana->pos, sp7C);
}
if (func_802B4FF8(sp3C, 0) == 0) { return; }
if (arg2->state != 5) {
if (banana->state != 5) {
gSPDisplayList(gDisplayListHead++, &D_0D004B48);
} else {
gSPDisplayList(gDisplayListHead++, &D_0D004BD8);
@@ -1396,8 +1399,8 @@ UNUSED void func_8029AE14() {
}
// This likely attaches the paddle wheel to the boat
void func_8029AE1C(Camera *arg0, struct PaddleWheelBoat *boat, Mat4 arg2, u16 arg3) {
s32 pad[3];
void func_8029AE1C(Camera *arg0, struct PaddleWheelBoat *boat, UNUSED Mat4 arg2, u16 arg3) {
UNUSED s32 pad[3];
Vec3f sp120;
Mat4 spE0;
Mat4 spA0;
@@ -1432,9 +1435,9 @@ void func_8029AE1C(Camera *arg0, struct PaddleWheelBoat *boat, Mat4 arg2, u16 ar
}
void func_8029B06C(Camera *arg0, struct Actor *arg1) {
s32 pad[6];
UNUSED s32 pad[6];
Mat4 spD8;
s32 pad2[32];
UNUSED s32 pad2[32];
f32 temp_f0 = func_802B80D0(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, D_80150130[arg0 - camera1], 9000000.0f);
if (temp_f0 < 0.0f) { return; }
@@ -1473,9 +1476,9 @@ void func_8029B06C(Camera *arg0, struct Actor *arg1) {
}
void func_8029B2E4(Camera *arg0, struct Actor *arg1) {
s32 pad[6];
UNUSED s32 pad[6];
Mat4 spC8;
s32 pad2[32];
UNUSED s32 pad2[32];
f32 temp_f0;
temp_f0 = func_802B80D0(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, D_80150130[arg0 - camera1], 9000000.0f);
@@ -1505,9 +1508,9 @@ void func_8029B2E4(Camera *arg0, struct Actor *arg1) {
}
void func_8029B4E0(Camera *arg0, struct Actor *arg1) {
s32 pad[6];
UNUSED s32 pad[6];
Mat4 spC8;
s32 pad2[32];
UNUSED s32 pad2[32];
f32 temp_f0 = func_802B80D0(arg0->pos,arg1->pos, arg0->rot[1], 2500.0f, D_80150130[arg0 - camera1], 9000000.0f);
if (!(temp_f0 < 0.0f)) {
@@ -1538,9 +1541,9 @@ void func_8029B4E0(Camera *arg0, struct Actor *arg1) {
}
void func_8029B6EC(Camera *camera, struct Actor* arg1) {
s32 pad[6];
UNUSED s32 pad[6];
Mat4 spC8;
s32 pad2[32];
UNUSED s32 pad2[32];
f32 temp_f0 = func_802B80D0(camera->pos, arg1->pos, camera->rot[1], 2500.0f, D_80150130[camera - camera1], 9000000.0f);
if (!(temp_f0 < 0.0f)) {
@@ -1571,7 +1574,7 @@ void func_8029B6EC(Camera *camera, struct Actor* arg1) {
// Spins train wheels?
void func_8029B8E8(Camera *camera, struct TrainCar *actor) {
s32 pad[3];
UNUSED s32 pad[3];
Vec3f sp160;
Mat4 sp120;
Mat4 spE0;
@@ -1646,7 +1649,7 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) {
func_802B59DC(sp120, (s16) (actor->wheelRot + 0x444));
vec3f_set(sp160, 17.0f, 12.0f, -12.0f);
mtxf_translate(spE0, &sp160);
mtxf_translate(spE0, sp160);
func_802B71CC(spA0, sp120, spE0);
if (func_802B4FF8(spA0, 3) == 0) { return; }
@@ -1655,7 +1658,7 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) {
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
func_802B59DC(sp120, (s16) (actor->wheelRot + 0x444));
vec3f_set(&sp160, -17.0f, 12.0f, -12.0f);
vec3f_set(sp160, -17.0f, 12.0f, -12.0f);
mtxf_translate(spE0, sp160);
func_802B71CC(spA0, sp120, spE0);
@@ -1665,8 +1668,8 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) {
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
func_802B59DC(sp120, (s16) (actor->wheelRot + 0x2D8));
vec3f_set(&sp160, 17.0f, 12.0f, -34.0f);
mtxf_translate(spE0, &sp160);
vec3f_set(sp160, 17.0f, 12.0f, -34.0f);
mtxf_translate(spE0, sp160);
func_802B71CC(spA0, sp120, spE0);
if (func_802B4FF8(spA0, 3) == 0) { return; }
@@ -1831,7 +1834,7 @@ void func_8029C3CC(Camera *camera, struct TrainCar *actor) {
func_802B59DC(sp120, (s16) (actor->wheelRot + 0x5B0));
vec3f_set(sp160, 17.0f, 6.0f, -8.0f);
mtxf_translate(spE0, &sp160);
mtxf_translate(spE0, sp160);
func_802B71CC(spA0, sp120, spE0);
if (func_802B4FF8(spA0, 3) == 0) { return; }
@@ -1840,7 +1843,7 @@ void func_8029C3CC(Camera *camera, struct TrainCar *actor) {
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
func_802B59DC(sp120, (s16) (actor->wheelRot + 0x5B0));
vec3f_set(&sp160, -17.0f, 6.0f, -8.0f);
vec3f_set(sp160, -17.0f, 6.0f, -8.0f);
mtxf_translate(spE0, sp160);
func_802B71CC(spA0, sp120, spE0);
@@ -1850,8 +1853,8 @@ void func_8029C3CC(Camera *camera, struct TrainCar *actor) {
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
func_802B59DC(sp120, (s16) (actor->wheelRot + 0x16C));
vec3f_set(&sp160, 17.0f, 6.0f, -24.0f);
mtxf_translate(spE0, &sp160);
vec3f_set(sp160, 17.0f, 6.0f, -24.0f);
mtxf_translate(spE0, sp160);
func_802B71CC(spA0, sp120, spE0);
if (func_802B4FF8(spA0, 3) == 0) { return; }
@@ -1876,7 +1879,7 @@ void func_8029CA90(Camera *camera, struct FallingRock *rock) {
Vec3f sp8C;
Mat4 sp4C;
f32 temp_f0;
s32 pad[4];
UNUSED s32 pad[4];
if (rock->respawnTimer != 0) { return; }
@@ -1911,9 +1914,9 @@ void func_8029CA90(Camera *camera, struct FallingRock *rock) {
void place_piranha_plants(struct ActorSpawnData *spawnData) {
s32 segment = SEGMENT_NUMBER2(spawnData);
s32 offset = SEGMENT_OFFSET(spawnData);
struct ActorSpawnData *temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
struct ActorSpawnData *temp_s0 = (struct ActorSpawnData *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
struct PiranhaPlant *temp_v1;
s32 pad;
UNUSED s32 pad;
Vec3f startingPos;
Vec3f startingVelocity;
Vec3s startingRot;
@@ -1943,7 +1946,7 @@ void place_piranha_plants(struct ActorSpawnData *spawnData) {
void place_palm_trees(struct ActorSpawnData *spawnData) {
s32 segment = SEGMENT_NUMBER2(spawnData);
s32 offset = SEGMENT_OFFSET(spawnData);
struct ActorSpawnData *temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
struct ActorSpawnData *temp_s0 = (struct ActorSpawnData *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
struct PalmTree *temp_v1;
Vec3f startingPos;
Vec3f startingVelocity;
@@ -1970,7 +1973,7 @@ void place_palm_trees(struct ActorSpawnData *spawnData) {
void func_8029CF0C(struct ActorSpawnData *spawnData, struct FallingRock *rock) {
s32 segment = SEGMENT_NUMBER2(spawnData);
s32 offset = SEGMENT_OFFSET(spawnData);
struct ActorSpawnData *temp_v0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); // + (temp_v1 * 8);
struct ActorSpawnData *temp_v0 = (struct ActorSpawnData *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
Vec3s sp24 = {60, 120, 180};
temp_v0 += rock->unk_06;
rock->respawnTimer = sp24[rock->unk_06]; // * 2
@@ -1984,7 +1987,8 @@ void func_8029CF0C(struct ActorSpawnData *spawnData, struct FallingRock *rock) {
void place_falling_rocks(struct ActorSpawnData *spawnData) {
s32 addr = SEGMENT_NUMBER2(spawnData);
s32 offset = SEGMENT_OFFSET(spawnData);
struct ActorSpawnData *temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[addr]) + offset;
// Casting this to prevent warning does not work.
struct ActorSpawnData *temp_s0 = (struct ActorSpawnData *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[addr] + offset);
struct FallingRock *temp_v1;
Vec3f startingPos;
Vec3f startingVelocity;
@@ -2016,7 +2020,7 @@ void update_obj_falling_rocks(struct FallingRock *rock) {
return;
}
if (rock->pos[1] < D_8015F8E4) {
func_8029CF0C(&D_06007230, rock);
func_8029CF0C(D_06007230, rock);
}
rock->rot[0] += (s16) ((rock->velocity[2] * 5461.0f) / 20.0f);
rock->rot[2] += (s16) ((rock->velocity[0] * 5461.0f) / 20.0f);
@@ -2081,14 +2085,11 @@ void update_obj_falling_rocks(struct FallingRock *rock) {
// This function may be better named "init_trees_cacti_shrubs"
void place_segment_06(struct ActorSpawnData *arg0) {
s32 stackPadding0;
s32 stackPadding1;
s32 stackPadding2;
s32 stackPadding3;
UNUSED s32 pad[4];
Vec3f position;
Vec3f velocity;
Vec3s rotation;
s16 stackPadding4;
UNUSED s16 pad2;
s16 actorType;
struct Actor *temp_s0;
struct ActorSpawnData *var_s3;
@@ -2165,13 +2166,15 @@ void place_segment_06(struct ActorSpawnData *arg0) {
}
void place_all_item_boxes(struct ActorSpawnData *spawnData) {
s32 segment = SEGMENT_NUMBER2(spawnData);
s32 offset = SEGMENT_OFFSET(spawnData);
s16 temp_s1;
f32 temp_f0;
struct ItemBox *temp_v0;
struct ActorSpawnData *temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[SEGMENT_NUMBER2(spawnData)]) + SEGMENT_OFFSET(spawnData);
Vec3f startingPos;
Vec3f startingVelocity;
Vec3s startingRot;
struct ActorSpawnData *temp_s0 = (struct ActorSpawnData *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
//struct ItemBox *itemBox;
if ((gModeSelection == TIME_TRIALS) || (gPlaceItemBoxes == 0)) { return; }
@@ -2185,10 +2188,20 @@ void place_all_item_boxes(struct ActorSpawnData *spawnData) {
startingRot[2] = random_u16();
temp_s1 = addActorToEmptySlot(startingPos, startingRot, startingVelocity, ACTOR_ITEM_BOX);
temp_f0 = func_802AE1C0(startingPos[0], startingPos[1] + 10.0f, startingPos[2]);
temp_v0 = (struct ItemBox *) &gActorList[temp_s1];
temp_v0->resetDistance = temp_f0;
temp_v0->origY = startingPos[1];
temp_v0->pos[1] = temp_f0 - 20.0f;
// Should be struct ItemBox but not enough space in the stack.
// It's either the ItemBox or the SEGMENT/OFFSET variables.
//itemBox = (struct ItemBox *) &gActorList[temp_s1];
gActorList[temp_s1].unk_08 = temp_f0;
//itemBox->resetDistance = temp_f0;
gActorList[temp_s1].velocity[0] = startingPos[1];
//itemBox->origY = startingPos[1];
gActorList[temp_s1].pos[1] = temp_f0 - 20.0f;
//itemBox->pos[1] = temp_f0 - 20.0f;
temp_s0++;
}
@@ -2235,7 +2248,7 @@ void destroy_all_actors(void) {
}
void place_course_actors(void) {
s32 stackPadding0;
UNUSED s32 pad;
Vec3f position;
Vec3f velocity = { 0.0f, 0.0f, 0.0f };
Vec3s rotation = { 0, 0, 0 };
@@ -2502,7 +2515,7 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
struct ShellActor *compare;
for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) {
compare = &gActorList[actorIndex];
compare = (struct ShellActor *) &gActorList[actorIndex];
if (!(compare->flags & 0xF)) {
switch(compare->type) {
case ACTOR_RED_SHELL:
@@ -2515,8 +2528,8 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
case 9:
func_8000EE58(actorIndex);
case 7:
func_8029E7DC(compare);
actor_init(compare, pos, rot, velocity, actorType);
func_8029E7DC((struct Actor *) compare);
actor_init((struct Actor *) compare, pos, rot, velocity, actorType);
return actorIndex;
default:
break;
@@ -2527,8 +2540,8 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
case 2:
func_8000EE58(actorIndex);
case 7:
func_8029E7DC(compare);
actor_init(compare, pos, rot, velocity, actorType);
func_8029E7DC((struct Actor *) compare);
actor_init((struct Actor *) compare, pos, rot, velocity, actorType);
return actorIndex;
}
break;
@@ -2537,8 +2550,8 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
case 1:
case 4:
case 5:
func_8029E7DC(compare);
actor_init(compare, pos, rot, velocity, actorType);
func_8029E7DC((struct Actor *) compare);
actor_init((struct Actor *) compare, pos, rot, velocity, actorType);
return actorIndex;
}
break;
@@ -2546,8 +2559,8 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
switch(compare->state) {
case 1:
case 2:
func_8029E7DC(compare);
actor_init(compare, pos, rot, velocity, actorType);
func_8029E7DC((struct Actor *) compare);
actor_init((struct Actor *) compare, pos, rot, velocity, actorType);
return actorIndex;
}
break;
@@ -2558,7 +2571,7 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
}
for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) {
compare = &gActorList[actorIndex];
compare = (struct ShellActor *) &gActorList[actorIndex];
switch(compare->type) {
case ACTOR_RED_SHELL:
switch(compare->state) {
@@ -2570,8 +2583,8 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
case 9:
func_8000EE58(actorIndex);
case 7:
func_8029E7DC(compare);
actor_init(compare, pos, rot, velocity, actorType);
func_8029E7DC((struct Actor *) compare);
actor_init((struct Actor *) compare, pos, rot, velocity, actorType);
return actorIndex;
default:
break;
@@ -2582,8 +2595,8 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
case 2:
func_8000EE58(actorIndex);
case 7:
func_8029E7DC(compare);
actor_init(compare, pos, rot, velocity, actorType);
func_8029E7DC((struct Actor *) compare);
actor_init((struct Actor *) compare, pos, rot, velocity, actorType);
return actorIndex;
}
break;
@@ -2592,8 +2605,8 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
case 1:
case 4:
case 5:
func_8029E7DC(compare);
actor_init(compare, pos, rot, velocity, actorType);
func_8029E7DC((struct Actor *) compare);
actor_init((struct Actor *) compare, pos, rot, velocity, actorType);
return actorIndex;
}
break;
@@ -2601,8 +2614,8 @@ s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
switch(compare->state) {
case 1:
case 2:
func_8029E7DC(compare);
actor_init(compare, pos, rot, velocity, actorType);
func_8029E7DC((struct Actor *) compare);
actor_init((struct Actor *) compare, pos, rot, velocity, actorType);
return actorIndex;
}
break;
@@ -2650,7 +2663,7 @@ UNUSED void func_8029ED98(Player *player, uintptr_t arg1) {
s32 segment = SEGMENT_NUMBER2(arg1);
s32 offset = SEGMENT_OFFSET(arg1);
var_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
var_s0 = (struct test *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
while (var_s0->thing[0] != -0x8000) {
sp64[0] = var_s0->thing[0] * gCourseDirection;
sp64[1] = var_s0->thing[1];
@@ -2776,7 +2789,7 @@ s32 func_8029F2FC(Player *player, struct PiranhaPlant *plant) {
}
s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) {
f32 pad[5];
UNUSED f32 pad[5];
f32 z_dist;
f32 xz_dist;
f32 x_dist;
@@ -2838,8 +2851,7 @@ s32 func_8029F69C(Player *player, struct Actor *actor) {
f32 sp44;
f32 var_f16;
f32 xz_dist;
f32 stackPadding0;
f32 stackPadding1;
UNUSED f32 pad[2];
f32 temp_f12;
f32 temp_f0_4;
Vec3f sp20;
@@ -3220,10 +3232,9 @@ void func_802A0350(struct Actor *arg0, struct Actor *arg1) {
}
void func_802A0450(Player *player, struct Actor *actor) {
s32 stackPadding0;
UNUSED s32 pad;
s16 temp_lo;
s32 stackPadding1;
s32 stackPadding2;
UNUSED s32 pad2[2];
s16 temp_v1;
Player *owner;
f32 temp_f0;
@@ -3430,7 +3441,7 @@ void func_802A0E44(void) {
struct Actor *phi_s0;
struct Actor *temp_a1;
s32 i, j;
s32 pad;
UNUSED s32 pad;
for (i = gNumPermanentActors; i < (ACTOR_LIST_SIZE - 1); i++) {
phi_s0 = &gActorList[i];
@@ -3484,7 +3495,7 @@ void func_802A0E44(void) {
}
void func_802A1064(struct FakeItemBox *fake_item_box) {
if (fake_item_box - (struct FakeItemBox*)gActorList <= (u32)ACTOR_LIST_SIZE) {
if ((u32)(fake_item_box - (struct FakeItemBox*)gActorList) <= (u32)ACTOR_LIST_SIZE) {
if (((fake_item_box->flags & 0x8000) != 0) && (fake_item_box->type == ACTOR_FAKE_ITEM_BOX)) {
fake_item_box->state = 1;
fake_item_box->targetY = func_802ABEAC(&fake_item_box->unk30, fake_item_box->pos) + 8.66f;
@@ -3498,12 +3509,12 @@ void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) {
Player *temp_v0_4 = &gPlayers[temp_v1];
struct Controller *temp_v1_3;
s32 pad[7];
UNUSED s32 pad[7];
f32 temp_f2_2;
f32 temp_f14;
f32 temp_f16;
f32 temp_f18;
s32 pad2[3];
UNUSED s32 pad2[3];
switch(fake_item_box->state) {
case 0:
@@ -3524,7 +3535,7 @@ void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) {
fake_item_box->pos[1] = (temp_v0_4->pos[1] - temp_f16) - 1.0f;
fake_item_box->pos[2] = temp_v0_4->pos[2] - temp_f18;
func_802ADDC8(&fake_item_box->unk30, fake_item_box->boundingBoxSize, fake_item_box->pos[0], fake_item_box->pos[1], fake_item_box->pos[2]);
func_802B4E30(fake_item_box);
func_802B4E30((struct Actor *)fake_item_box);
temp_v1_3 = &gControllers[temp_v1];
if ((temp_v0_4->unk_000 & 0x4000) != 0) {
@@ -3564,7 +3575,7 @@ void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) {
case 2:
if ((fake_item_box->someTimer >= 0x14) || (fake_item_box->someTimer < 0)) {
destroy_actor(fake_item_box);
destroy_actor((struct Actor *) fake_item_box);
} else {
fake_item_box->someTimer++;
fake_item_box->rot[0] += 0x444;
@@ -3573,7 +3584,7 @@ void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) {
}
break;
default:
destroy_actor(fake_item_box);
destroy_actor((struct Actor *) fake_item_box);
break;
}
}
@@ -3652,24 +3663,11 @@ void update_obj_item_box(struct ItemBox *itemBox) {
void func_802A171C(Camera *camera, struct FakeItemBox *fakeItemBox) {
Vec3s someRot;
s32 stackPadding0;
s32 stackPadding1;
s32 stackPadding2;
UNUSED s32 pad[3];
Vec3f someVec;
Mat4 someMatrix2;
Mat4 someMatrix3;
s32 stackPadding3;
s32 stackPadding4;
s32 stackPadding5;
s32 stackPadding6;
s32 stackPadding7;
s32 stackPadding8;
s32 stackPadding9;
s32 stackPadding10;
s32 stackPadding11;
s32 stackPadding12;
s32 stackPadding13;
s32 stackPadding14;
UNUSED s32 pad2[12];
f32 temp_f0_2;
f32 temp_f0_3;
f32 temp_f12;
@@ -3801,19 +3799,15 @@ void func_802A171C(Camera *camera, struct FakeItemBox *fakeItemBox) {
}
void func_802A1EA0(Camera *camera, struct ItemBox *item_box) {
s32 stackPadding0;
s32 stackPadding1;
UNUSED s32 pad[2];
Vec3f someVec1;
Vec3f someVec2;
Vec3s someRot;
f32 thing;
s32 stackPadding2;
UNUSED s32 pad2;
Mat4 someMatrix1;
Mat4 someMatrix2;
s32 stackPadding3;
s32 stackPadding4;
s32 stackPadding5;
s32 stackPadding6;
UNUSED s32 pad3[4];
f32 temp_f0;
f32 temp_f0_2;
f32 temp_f0_3;
@@ -4014,7 +4008,7 @@ void func_802A27A0(Camera *arg0, Mat4 arg1, struct YoshiValleyEgg *egg, u16 arg3
}
}
void func_802A29BC(Camera *arg0, Mat4 arg1, struct Actor *arg2) {
void func_802A29BC(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2) {
Mat4 sp40;
f32 unk;
s16 temp = arg2->flags;
@@ -4024,15 +4018,15 @@ void func_802A29BC(Camera *arg0, Mat4 arg1, struct Actor *arg2) {
if (!(unk < 0.0f)) {
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
func_802B5F74(&sp40, arg2->pos, arg2->rot);
if (func_802B4FF8(&sp40, 0) != 0) {
func_802B5F74(sp40, arg2->pos, arg2->rot);
if (func_802B4FF8(sp40, 0) != 0) {
gSPDisplayList(gDisplayListHead++, D_06009330);
}
}
}
void func_802A2AD0(Camera *arg0, struct RailroadCrossing *rr_crossing) {
Vec3s sp80 = {0, 0, 0};
UNUSED Vec3s sp80 = {0, 0, 0};
Mat4 sp40;
f32 unk = func_802B80D0(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, D_80150130[arg0 - camera1], 4000000.0f);
@@ -4058,7 +4052,7 @@ void func_802A2AD0(Camera *arg0, struct RailroadCrossing *rr_crossing) {
}
}
void func_802A2C78(Camera *arg0, Mat4 arg1, struct Actor *arg2) {
void func_802A2C78(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2) {
Vec3s spA8 = {0, 0, 0};
Mat4 sp68;
f32 temp_f0;
@@ -4109,26 +4103,26 @@ void func_802A2C78(Camera *arg0, Mat4 arg1, struct Actor *arg2) {
void func_802A2F34(struct UnkStruct_800DC5EC *arg0) {
Camera *temp_s1 = arg0->camera;
struct Actor *phi_s0;
struct Actor *actor;
s32 i;
D_8015F8DC = 0;
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
phi_s0 = &gActorList[i];
actor = &gActorList[i];
if (phi_s0->flags == 0) {
if (actor->flags == 0) {
continue;
}
switch(phi_s0->type) {
switch(actor->type) {
case ACTOR_FAKE_ITEM_BOX:
func_802A171C(temp_s1, phi_s0);
func_802A171C(temp_s1, (struct FakeItemBox *) actor);
break;
case ACTOR_ITEM_BOX:
func_802A1EA0(temp_s1, phi_s0);
func_802A1EA0(temp_s1, (struct ItemBox *) actor);
break;
case ACTOR_HOT_AIR_BALLOON_ITEM_BOX:
func_802A1EA0(temp_s1, phi_s0);
func_802A1EA0(temp_s1, (struct ItemBox *) actor);
break;
}
}
@@ -4137,11 +4131,11 @@ void func_802A2F34(struct UnkStruct_800DC5EC *arg0) {
void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
Camera *camera = arg0->camera;
u16 sp92 = arg0->pathCounter;
s32 pad[12];
UNUSED s32 pad[12];
s32 i;
struct Actor *actor;
Vec3f sp4C = {0.0f, 5.0f, 10.0f};
UNUSED Vec3f sp4C = {0.0f, 5.0f, 10.0f};
f32 sp48 = sins(camera->rot[1] - 0x8000); // unk26;
f32 temp_f0 = coss(camera->rot[1] - 0x8000);
@@ -4217,7 +4211,7 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
func_8029A23C(camera, D_801502C0, actor);
break;
case ACTOR_BANANA:
func_8029A8F4(camera, D_801502C0, actor);
func_8029A8F4(camera, D_801502C0, (struct BananaActor *) actor);
break;
case ACTOR_GREEN_SHELL:
func_8029A690(camera, D_801502C0, (struct ShellActor *) actor);
@@ -4229,7 +4223,7 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
func_8029A828(camera, D_801502C0, (struct ShellActor *) actor);
break;
case ACTOR_PIRANHA_PLANT:
func_80298328(camera, D_801502C0, actor);
func_80298328(camera, D_801502C0, (struct PiranhaPlant *) actor);
break;
case ACTOR_TRAIN_ENGINE:
func_8029B8E8(camera, (struct TrainCar *) actor);
@@ -4256,7 +4250,7 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
func_802A2C78(camera, D_801502C0, actor);
break;
case ACTOR_PADDLE_WHEEL_BOAT:
func_8029AE1C(camera, actor, D_801502C0, sp92);
func_8029AE1C(camera, (struct PaddleWheelBoat *) actor, D_801502C0, sp92);
break;
case ACTOR_BOX_TRUCK:
func_8029B06C(camera, actor);
@@ -4271,10 +4265,10 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
func_8029B4E0(camera, actor);
break;
case ACTOR_RAILROAD_CROSSING:
func_802A2AD0(camera, actor);
func_802A2AD0(camera, (struct RailroadCrossing *) actor);
break;
case ACTOR_YOSHI_VALLEY_EGG:
func_802A27A0(camera, D_801502C0, actor, sp92);
func_802A27A0(camera, D_801502C0, (struct YoshiValleyEgg *) actor, sp92);
break;
}
}
@@ -4300,55 +4294,55 @@ void update_simple_objects(void) {
switch (actor->type) {
case ACTOR_FALLING_ROCK:
update_obj_falling_rocks(actor);
update_obj_falling_rocks((struct FallingRock *) actor);
break;
case ACTOR_GREEN_SHELL:
update_obj_green_shell(actor);
update_obj_green_shell((struct ShellActor *) actor);
break;
case ACTOR_RED_SHELL:
update_obj_red_blue_shell(actor);
update_obj_red_blue_shell((struct ShellActor *) actor);
break;
case ACTOR_BLUE_SPINY_SHELL:
update_obj_red_blue_shell(actor);
update_obj_red_blue_shell((struct ShellActor *) actor);
break;
case ACTOR_KIWANO_FRUIT:
update_obj_kiwano_fruit(actor);
update_obj_kiwano_fruit((struct KiwanoFruit *)actor);
break;
case ACTOR_BANANA:
update_obj_banana(actor);
update_obj_banana((struct BananaActor *) actor);
break;
case ACTOR_PADDLE_WHEEL_BOAT:
update_obj_paddle_wheel(actor);
update_obj_paddle_wheel((struct PaddleWheelBoat *) actor);
break;
case ACTOR_TRAIN_ENGINE:
update_obj_train_engine(actor);
update_obj_train_engine((struct TrainCar *) actor);
break;
case ACTOR_TRAIN_TENDER:
update_obj_train_car1(actor);
update_obj_train_car1((struct TrainCar *) actor);
break;
case ACTOR_TRAIN_PASSENGER_CAR:
update_obj_train_car2(actor);
update_obj_train_car2((struct TrainCar *) actor);
break;
case ACTOR_ITEM_BOX:
update_obj_item_box(actor);
update_obj_item_box((struct ItemBox *) actor);
break;
case ACTOR_HOT_AIR_BALLOON_ITEM_BOX:
update_obj_item_box_hot_air_balloon(actor);
update_obj_item_box_hot_air_balloon((struct ItemBox *)actor);
break;
case ACTOR_FAKE_ITEM_BOX:
update_obj_fake_item_box(actor);
update_obj_fake_item_box((struct FakeItemBox *) actor);
break;
case ACTOR_PIRANHA_PLANT:
update_obj_piranha_plant(actor);
update_obj_piranha_plant((struct PiranhaPlant *) actor);
break;
case ACTOR_BANANA_BUNCH:
update_obj_banana_bunch(actor);
update_obj_banana_bunch((struct BananaBunchParent *) actor);
break;
case ACTOR_TRIPLE_GREEN_SHELL:
update_obj_triple_shell(actor, ACTOR_GREEN_SHELL);
update_obj_triple_shell((TripleShellParent *) actor, ACTOR_GREEN_SHELL);
break;
case ACTOR_TRIPLE_RED_SHELL:
update_obj_triple_shell(actor, ACTOR_RED_SHELL);
update_obj_triple_shell((TripleShellParent *) actor, ACTOR_RED_SHELL);
break;
case ACTOR_MARIO_RACEWAY_SIGN:
update_obj_mario_raceway_sign(actor);
@@ -4357,7 +4351,7 @@ void update_simple_objects(void) {
update_obj_wario_stadium_sign(actor);
break;
case ACTOR_RAILROAD_CROSSING:
update_obj_railroad_crossing(actor);
update_obj_railroad_crossing((struct RailroadCrossing *) actor);
break;
case 2:
case 3:
@@ -4375,7 +4369,7 @@ void update_simple_objects(void) {
update_obj_trees_cacti_shrubs(actor);
break;
case ACTOR_YOSHI_VALLEY_EGG:
update_obj_yoshi_valley_egg(actor);
update_obj_yoshi_valley_egg((struct YoshiValleyEgg *) actor);
break;
}
}
+6 -7
View File
@@ -117,9 +117,9 @@ extern void func_800C99E0(Vec3f, s32);
extern Vec3f D_802B91C8;
extern s32 D_802BA050;
extern s32 D_802BA054;
extern s32 D_802BA058;
extern u8 *D_802BA050;
extern u8 *D_802BA054;
extern u8 *D_802BA058;
extern struct Actor *D_802BA05C;
extern s8 D_802BA060[512]; // tlut 256
extern u16 D_802BA260;
@@ -263,7 +263,6 @@ extern s32 D_801625EC;
extern s32 D_801625F0;
extern s32 D_801625F4;
extern s32 D_80162DF8;
extern s32 D_802BA058;
extern Gfx D_06006990[];
extern Gfx D_06009330[];
@@ -383,9 +382,9 @@ extern u8 D_0F057590[];
extern u8 D_0F057EB4[];
extern u8 D_0F0581E4[];
extern u8 D_0F058550[];
extern s8 gTexture671A88[];
extern s8 gTexture6774D8[];
extern s8 gTextureShrub[];
extern u8 gTexture671A88[];
extern u8 gTexture6774D8[];
extern u8 gTextureShrub[];
extern s8 D_800DC628[];
extern s8 D_800DC630[];
+82 -83
View File
@@ -11,6 +11,8 @@
#include "actors.h"
#include "actors_extended.h"
#include "audio/external.h"
#include "code_80071F00.h"
#include "code_8008C1D0.h"
void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) {
arg1->unk30 = arg0->unk30;
@@ -29,7 +31,7 @@ void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) {
}
void func_802B02B4(struct ShellActor *shell, s32 shellType) {
struct TripleShellParent *parent = &gActorList[shell->parentIndex];
TripleShellParent *parent = (TripleShellParent *) &gActorList[shell->parentIndex];
parent->shellsAvailable--;
@@ -74,17 +76,17 @@ void func_802B0464(s16 bananaIndex) {
struct BananaActor *banana;
if (bananaIndex != -1) {
banana = &gActorList[bananaIndex];
banana = (struct BananaActor *) &gActorList[bananaIndex];
func_802B039C(banana);
func_802B0464(banana->youngerIndex);
}
}
void func_802B04E8(struct BananaActor *unused, s16 bananaIndex) {
void func_802B04E8(UNUSED struct BananaActor *arg0, s16 bananaIndex) {
struct BananaActor *banana;
if (bananaIndex != -1) {
banana = &gActorList[bananaIndex];
banana = (struct BananaActor *) &gActorList[bananaIndex];
func_802B039C(banana);
func_802B04E8(banana, banana->elderIndex);
}
@@ -103,7 +105,7 @@ void func_802B0570(struct BananaActor *banana) {
banana->unk_04 = 0x003C;
banana->state = 5;
banana->velocity[1] = 3.0f;
temp_v0_2 = &gActorList[banana->parentIndex];
temp_v0_2 = (struct BananaBunchParent *) &gActorList[banana->parentIndex];
temp_v0_2->bananaIndices[0] = -1;
temp_v0_2->bananaIndices[1] = -1;
temp_v0_2->bananaIndices[2] = -1;
@@ -118,19 +120,19 @@ void func_802B0648(struct BananaBunchParent *banana_bunch) {
banana_bunch->bananasAvailable -= 1;
if (banana_bunch->bananaIndices[4] != -1) {
banana = &gActorList[banana_bunch->bananaIndices[4]];
banana = (struct BananaActor *) &gActorList[banana_bunch->bananaIndices[4]];
banana_bunch->bananaIndices[4] = -1;
} else if (banana_bunch->bananaIndices[3] != -1) {
banana = &gActorList[banana_bunch->bananaIndices[3]];
banana = (struct BananaActor *) &gActorList[banana_bunch->bananaIndices[3]];
banana_bunch->bananaIndices[3] = -1;
} else if (banana_bunch->bananaIndices[2] != -1) {
banana = &gActorList[banana_bunch->bananaIndices[2]];
banana = (struct BananaActor *) &gActorList[banana_bunch->bananaIndices[2]];
banana_bunch->bananaIndices[2] = -1;
} else if (banana_bunch->bananaIndices[1] != -1) {
banana = &gActorList[banana_bunch->bananaIndices[1]];
banana = (struct BananaActor *) &gActorList[banana_bunch->bananaIndices[1]];
banana_bunch->bananaIndices[1] = -1;
} else if (banana_bunch->bananaIndices[0] != -1) {
banana = &gActorList[banana_bunch->bananaIndices[0]];
banana = (struct BananaActor *) &gActorList[banana_bunch->bananaIndices[0]];
banana_bunch->bananaIndices[0] = -1;
} else {
return;
@@ -211,7 +213,7 @@ s32 func_802B09C0(s16 bananaId) {
}
void update_obj_banana_bunch(struct BananaBunchParent *banana_bunch) {
s32 pad[2];
UNUSED s32 pad[2];
Player *owner;
struct Controller *controller;
s32 someCount;
@@ -288,7 +290,7 @@ void update_obj_banana_bunch(struct BananaBunchParent *banana_bunch) {
someCount += 1;
}
if (someCount == 0) {
destroy_actor(banana_bunch);
destroy_actor((struct Actor *) banana_bunch);
owner->statusEffects &= ~0x40000;
} else if ((owner->unk_000 & 0x4000) != 0) {
controller = &gControllers[banana_bunch->playerId];
@@ -326,15 +328,13 @@ s32 func_802B0E14(s16 arg0) {
return 0;
}
void update_obj_triple_shell(struct TripleShellParent *parent, s16 shellType) {
s32 pad4;
s32 pad3;
void update_obj_triple_shell(TripleShellParent *parent, s16 shellType) {
UNUSED s32 pad[2];
s16 playerId;
s16 pad0;
s32 pad1;
UNUSED s32 pad2;
struct ShellActor *shell;
Vec3f someVelocity;
s32 pad2;
UNUSED s32 pad3;
s16 someCount;
u16 someRotAngle;
Player *player;
@@ -423,7 +423,7 @@ void update_obj_triple_shell(struct TripleShellParent *parent, s16 shellType) {
}
if (parent->unk_08 > 0.0f) {
if (parent->shellIndices[0] > 0.0f) {
shell = &gActorList[(s16)parent->shellIndices[0]];
shell = (struct ShellActor *)&gActorList[(s16)parent->shellIndices[0]];
if((shell->rotAngle < 0x38E) || (shell->rotAngle >= -0x38D)) {
someVelocity[0] = 0;
someVelocity[1] = 0;
@@ -448,7 +448,7 @@ void update_obj_triple_shell(struct TripleShellParent *parent, s16 shellType) {
}
}
if (parent->shellIndices[1] > 0.0f) {
shell = &gActorList[(s16)parent->shellIndices[1]];
shell = (struct ShellActor *) &gActorList[(s16)parent->shellIndices[1]];
if((shell->rotAngle < 0xAA1) || (shell->rotAngle >= 0x38F)) {
someVelocity[0] = 0;
someVelocity[1] = 0;
@@ -473,7 +473,7 @@ void update_obj_triple_shell(struct TripleShellParent *parent, s16 shellType) {
}
}
if (parent->shellIndices[2] > 0.0f) {
shell = &gActorList[(s16)parent->shellIndices[2]];
shell = (struct ShellActor *) &gActorList[(s16)parent->shellIndices[2]];
if((shell->rotAngle < -0x38E) || (shell->rotAngle >= -0x71B)) {
someVelocity[0] = 0;
someVelocity[1] = 0;
@@ -516,7 +516,7 @@ s32 func_802B17F4(Player *player) {
if (actorIndex < 0) {
return actorIndex;
}
bananaBunch = &gActorList[actorIndex];
bananaBunch = (struct BananaBunchParent *) &gActorList[actorIndex];
bananaBunch->state = 0;
bananaBunch->playerId = player - gPlayerOne;
player->statusEffects |= 0x40000;
@@ -529,13 +529,13 @@ s32 func_802B18E4(Player *player, s16 tripleShellType) {
Vec3s startingRot = {0, 0, 0};
Vec3f startingPos = {0.0f, 0.0f, 0.0f};
s16 actorIndex;
struct TripleShellParent *parent;
TripleShellParent *parent;
actorIndex = addActorToEmptySlot(startingPos, startingRot, startingVelocity, tripleShellType);
if (actorIndex < 0) {
return actorIndex;
}
parent = &gActorList[actorIndex];
parent = (TripleShellParent *) &gActorList[actorIndex];
parent->state = 0;
parent->rotVelocity = 0x05B0;
parent->rotAngle = -0x8000;
@@ -546,7 +546,7 @@ s32 func_802B18E4(Player *player, s16 tripleShellType) {
}
// This function could reasonably be called "spawn_shell_for_triple_shell" or similar
s32 func_802B19EC(struct TripleShellParent *parent, Player *player, s16 shellType, u16 shellId) {
s32 func_802B19EC(TripleShellParent *parent, Player *player, s16 shellType, u16 shellId) {
Vec3f startingVelocity = {0.0f, 0.0f, 0.0f};
Vec3s startingRot = {0, 0, 0};
Vec3f startingPos;
@@ -567,12 +567,12 @@ s32 func_802B19EC(struct TripleShellParent *parent, Player *player, s16 shellTyp
return -1;
}
shell = &gActorList[actorIndex];
shell = (struct ShellActor *) &gActorList[actorIndex];
startingPos[0] = player->pos[0];
startingPos[1] = player->pos[1];
startingPos[2] = player->pos[2];
func_802AD950(&shell->unk30, shell->boundingBoxSize + 1.0f, shell->pos[0], shell->pos[1], shell->pos[2], startingPos[0], startingPos[1], startingPos[2]);
func_802B4E30(shell);
func_802B4E30((struct Actor *)shell);
shell->flags = 0x9000;
switch (shellType) {
case ACTOR_GREEN_SHELL:
@@ -611,12 +611,12 @@ s32 func_802B1C9C(Player *player) {
return actorIndex;
}
shell = &gActorList[actorIndex];
shell = (struct ShellActor *) &gActorList[actorIndex];
startingPos[0] = player->pos[0];
startingPos[1] = player->pos[1];
startingPos[2] = player->pos[2];
func_802AD950(&shell->unk30, shell->boundingBoxSize + 1.0f, shell->pos[0], shell->pos[1], shell->pos[2], startingPos[0], startingPos[1], startingPos[2]);
func_802B4E30(shell);
func_802B4E30((struct Actor *)shell);
shell->state = 0;
shell->rotVelocity = 0;
shell->rotAngle = -0x8000;
@@ -644,12 +644,12 @@ s32 func_802B1E48(Player *player) {
return actorIndex;
}
shell = &gActorList[actorIndex];
shell = (struct ShellActor *) &gActorList[actorIndex];
startingPos[0] = player->pos[0];
startingPos[1] = player->pos[1];
startingPos[2] = player->pos[2];
func_802AD950(&shell->unk30, shell->boundingBoxSize + 1.0f, shell->pos[0], shell->pos[1], shell->pos[2], startingPos[0], startingPos[1], startingPos[2]);
func_802B4E30(shell);
func_802B4E30((struct Actor *)shell);
shell->state = 0;
shell->rotVelocity = 0;
shell->rotAngle = player->unk_02C[1] - 0x8000;
@@ -665,18 +665,17 @@ void func_802B1FFC(Player *player) {
}
void update_obj_banana(struct BananaActor *banana) {
f32 pad0;
UNUSED f32 pad;
Player *player;
struct BananaActor *elderBanana;
struct Controller *controller;
Vec3f someOtherVelocity;
Vec3f someVelocity;
f32 temp_f0;
f32 var_f8;
f32 var_f12;
f32 pad1;
f32 pad2;
f32 pad3;
UNUSED f32 var_f8;
UNUSED f32 pad2;
UNUSED f32 pad3;
UNUSED f32 pad4[2];
f32 temp_f12;
f32 temp_f2;
f32 temp_f14;
@@ -718,16 +717,16 @@ void update_obj_banana(struct BananaActor *banana) {
banana->unk_04 = 0x00B4;
player->statusEffects &= ~0x40000;
func_800C9060(player - gPlayerOne, 0x19008012U);
pad1 = controller->rawStickY;
if ((pad1 > 30.0f) && (controller->rawStickX < 10) && (controller->rawStickX >= -9)) {
pad1 = pad1 - ((f32) 30);
pad1 = (pad1 / 20.0f) + 0.5f;
pad3 = controller->rawStickY;
if ((pad3 > 30.0f) && (controller->rawStickX < 10) && (controller->rawStickX >= -9)) {
pad3 = pad3 - ((f32) 30);
pad3 = (pad3 / 20.0f) + 0.5f;
if (player->unk_094 < 2.0f) {
temp_f0 = 4.0f;
} else {
temp_f0 = (player->unk_094 * 0.75f) + 3.5f + pad1;
temp_f0 = (player->unk_094 * 0.75f) + 3.5f + pad3;
}
vec3f_set(someVelocity, 0, pad1, temp_f0);
vec3f_set(someVelocity, 0, pad3, temp_f0);
func_802B64C4(someVelocity, player->unk_02C[1] + player->unk_0C0);
banana->velocity[0] = someVelocity[0];
banana->velocity[1] = someVelocity[1];
@@ -848,8 +847,8 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b
Vec3f startingVelocity;
Vec3s startingRot;
Vec3f startingPos;
s32 pad0;
s32 pad1;
UNUSED s32 pad;
UNUSED s32 pad2;
struct BananaActor *newBanana;
struct BananaActor *tempBanana;
@@ -924,7 +923,7 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b
// This function could reasonably be called "spawn_fake_itembox" or similar
s32 func_802B2C40(Player *player) {
struct FakeItemBox *itemBox;
s32 pad[5];
UNUSED s32 pad[5];
s16 actorIndex;
Vec3f startingVelocity;
Vec3s startingRot;
@@ -956,7 +955,7 @@ s32 func_802B2C40(Player *player) {
// This function could reasonably be called "spawn_banana" or similar
s32 func_802B2D70(Player *player) {
s32 pad[6];
UNUSED s32 pad[6];
u16 playerId;
s16 actorIndex;
struct BananaActor *banana;
@@ -986,7 +985,7 @@ s32 func_802B2D70(Player *player) {
if (actorIndex < 0) {
return actorIndex;
}
banana = &gActorList[actorIndex];
banana = (struct BananaActor *) &gActorList[actorIndex];
banana->playerId = playerId;
banana->state = 0;
banana->unk_04 = 0x0014;
@@ -1105,22 +1104,22 @@ void func_802B30EC(void) {
void update_obj_green_shell(struct ShellActor *shell) {
Player *player;
f32 pad9;
f32 padA;
UNUSED f32 pad9;
UNUSED f32 padA;
Vec3f somePos2;
Vec3f somePosVel;
f32 var_f2;
struct Controller *controller;
struct TripleShellParent *parent;
f32 pad0;
f32 pad1;
f32 pad2;
f32 pad3;
f32 pad4;
f32 pad5;
f32 pad6;
f32 pad7;
f32 pad8;
TripleShellParent *parent;
UNUSED f32 pad0;
UNUSED f32 pad1;
UNUSED f32 pad2;
UNUSED f32 pad3;
UNUSED f32 pad4;
UNUSED f32 pad5;
UNUSED f32 pad6;
UNUSED f32 pad7;
UNUSED f32 pad8;
pad0 = shell->pos[0];
pad6 = shell->pos[1];
@@ -1249,7 +1248,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
break;
case 4:
player = &gPlayers[shell->playerId];
parent = &gActorList[shell->parentIndex];
parent = (TripleShellParent *) &gActorList[shell->parentIndex];
if (parent->type != ACTOR_TRIPLE_GREEN_SHELL) {
func_8029FDC8((struct Actor *) shell);
} else {
@@ -1470,33 +1469,33 @@ void func_802B4104(struct ShellActor *shell) {
}
void update_obj_red_blue_shell(struct ShellActor *shell) {
f32 pad9;
UNUSED f32 pad9;
Player *player;
f32 temp_f0;
f32 temp_f14;
UNUSED f32 temp_f14;
f32 temp_f2;
s16 temp_v0;
s16 pad3;
UNUSED s16 pad3;
Vec3f somePosVel;
struct Controller *controller;
struct TripleShellParent *parent;
f32 pad0;
f32 pad1;
f32 pad2;
f32 pad4;
f32 pad5;
f32 pad6;
f32 pad7;
f32 pad8;
f32 pad10;
f32 pad11;
f32 pad12;
s16 pad13;
s16 pad13_2;
f32 pad14;
f32 pad15;
f32 pad16;
f32 pad17;
TripleShellParent *parent;
UNUSED f32 pad0;
UNUSED f32 pad1;
UNUSED f32 pad2;
UNUSED f32 pad4;
UNUSED f32 pad5;
UNUSED f32 pad6;
UNUSED f32 pad7;
UNUSED f32 pad8;
UNUSED f32 pad10;
UNUSED f32 pad11;
UNUSED f32 pad12;
UNUSED s16 pad13;
UNUSED s16 pad13_2;
UNUSED f32 pad14;
UNUSED f32 pad15;
UNUSED f32 pad16;
UNUSED f32 pad17;
Vec3f origPos;
pad1 = shell->pos[0];
@@ -1691,7 +1690,7 @@ void update_obj_red_blue_shell(struct ShellActor *shell) {
break;
case 6:
player = &gPlayers[shell->playerId];
parent = &gActorList[shell->parentIndex];
parent = (TripleShellParent *) &gActorList[shell->parentIndex];
if (parent->type != ACTOR_TRIPLE_RED_SHELL) {
func_8029FDC8((struct Actor *) shell);
} else {
+2 -2
View File
@@ -15,10 +15,10 @@ void func_802B0788(s16, struct BananaBunchParent*, Player*);
s32 func_802B09C0(s16);
void update_obj_banana_bunch(struct BananaBunchParent*);
s32 func_802B0E14(s16);
void update_obj_triple_shell(struct TripleShellParent*, s16);
void update_obj_triple_shell(TripleShellParent*, s16);
s32 func_802B17F4(Player*);
s32 func_802B18E4(Player*, s16);
s32 func_802B19EC(struct TripleShellParent*, Player*, s16, u16);
s32 func_802B19EC(TripleShellParent*, Player*, s16, u16);
s32 func_802B1C9C(Player*);
s32 func_802B1E48(Player*);
void func_802B1FFC(Player*);
+5 -6
View File
@@ -8,6 +8,7 @@
#include "audio/load.h"
#include "audio/data.h"
#include <sounds.h>
#include "port_eu.h"
// Requires void in the argument list to match properly.
void func_800C13F0(void) {
@@ -364,7 +365,7 @@ f32 *func_800C21E8(Vec3f arg0, u32 arg1) {
u8 var_v0;
f32 *ret;
// Only here to force a match
f32 *thing = arg0;
UNUSED f32 *thing = arg0;
struct Unk_8018EFD8 *temp_a1;
ret = 0;
@@ -4188,7 +4189,7 @@ void play_sound2(s32 soundBits) {
if ((soundBits == SOUND_ACTION_REV_ENGINE_2) && (gCurrentCourseId == 0x12)) {
soundBits = 0x49008028;
}
play_sound(soundBits, &D_800EA1C8, 4, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
play_sound(soundBits, D_800EA1C8, 4, D_800EA1D4, D_800EA1D4, &D_800EA1DC);
}
void func_800C8EAC(u16 arg0) {
@@ -4243,15 +4244,13 @@ GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8F80.s")
//void func_800C5578(void *, s32); // extern
typedef struct {
s32 unk0[0x3C];
Vec3f unk0[0x14]; // 0x14
} UnkStruct_800E9F7C;
extern UnkStruct_800E9F7C D_800E9F7C[];
void func_800C9018(u8 arg0, s32 arg1) {
//s32 temp_a2;
//temp_a2 = arg0;
UNUSED s32 a = arg0;
func_800C5578(D_800E9F7C->unk0[arg0], arg1);
}
#else
+10 -2
View File
@@ -86,8 +86,16 @@ struct Unk_800EA06C {
/* 0x00 */ Vec3f unk00;
/* 0x0C */ u8 unk0C;
/* 0x0D */ // u8 compilerPadding0[3];
} ;
};
void func_800C35E8(s32);
u16 func_800C3508(s32);
void func_800C5278(u8);
void func_800CB14C(void);
void func_800C8F80(u8, s32);
void func_800C9018(u8, s32);
void func_800C9D0C(s32);
void func_800C97C4(s32);
void func_800C13F0();
void func_800C13FC(OSMesg);
f32 func_800C1480(u8, u8);
@@ -190,7 +198,7 @@ extern u8 D_800EA1C0;// = 0;
// Most similar to gGlobalSoundSource from SM64, but I don't know if its really
// a sound source, its usage makes it look like a 0'd Vec3f for general usage
extern Vec3f D_800EA1C8;// = {0.0f, 0.0f, 0.0f}
extern u8 D_800EA1D4;
extern Vec3f D_800EA1D4;
extern u8 D_800EA1DC;// = 0;
extern u8 D_800EA244;
+2 -2
View File
@@ -670,7 +670,7 @@ struct Note *alloc_note_from_decaying(struct NotePool *pool, struct SequenceChan
return note;
}
s32 alloc_note_from_active(struct NotePool *pool, struct SequenceChannelLayer *seqLayer) {
struct Note *alloc_note_from_active(struct NotePool *pool, struct SequenceChannelLayer *seqLayer) {
struct Note *aNote;
aNote = pop_node_with_lower_prio(&pool->active, seqLayer->seqChannel->notePriority);
@@ -681,7 +681,7 @@ s32 alloc_note_from_active(struct NotePool *pool, struct SequenceChannelLayer *s
func_800BD8F4(aNote, seqLayer);
audio_list_push_back(&pool->releasing, &aNote->listItem);
}
return aNote;
}
+1 -1
View File
@@ -42,7 +42,7 @@ void func_800BD8F4(struct Note *note, struct SequenceChannelLayer *seqLayer);
void note_release_and_take_ownership(struct Note *note, struct SequenceChannelLayer *seqLayer);
struct Note *alloc_note_from_disabled(struct NotePool *pool, struct SequenceChannelLayer *seqLayer);
struct Note *alloc_note_from_decaying(struct NotePool *pool, struct SequenceChannelLayer *seqLayer);
s32 alloc_note_from_active(struct NotePool *pool, struct SequenceChannelLayer *seqLayer);
struct Note *alloc_note_from_active(struct NotePool *pool, struct SequenceChannelLayer *seqLayer);
struct Note *alloc_note(struct SequenceChannelLayer *seqLayer);
void note_init_all(void);
+1 -1
View File
@@ -319,7 +319,7 @@ void func_800CBB88(u32 arg0, f32 arg1) {
func_800CBB48(arg0, (s32*) &arg1);
}
void func_800CBBB8(u32 arg0, u32 arg1) {
void func_800CBBB8(u32 arg0, s32 arg1) {
func_800CBB48(arg0, &arg1);
}
+1
View File
@@ -3,5 +3,6 @@
void seq_player_fade_to_zero_volume(s32 arg0, s32 fadeOutTime);
void func_800CBA64(s32 playerIndex, s32 fadeInTime);
void func_800CBBB8(u32, s32);
#endif
+11 -15
View File
@@ -233,7 +233,7 @@ void func_8001CA24(Player *player, f32 arg1) {
camera->unk_94 = arg1;
}
void func_8001CA78(Player *player, Camera *camera, Vec3f arg2, f32 *arg3, f32 *arg4, f32 *arg5, s16 huh, s8 wut) {
void func_8001CA78(UNUSED Player *player, Camera *camera, Vec3f arg2, f32 *arg3, f32 *arg4, f32 *arg5, UNUSED s32 huh, UNUSED s32 wut) {
Mat3 sp74;
Vec3f sp68;
Vec3f sp5C;
@@ -243,7 +243,7 @@ void func_8001CA78(Player *player, Camera *camera, Vec3f arg2, f32 *arg3, f32 *a
f32 var_f14;
f32 temp_f18;
f32 temp_f16;
s32 stackPadding0;
UNUSED s32 pad;
struct TrackWayPoint *temp_s2;
temp_s2 = &D_80164550[0][gWaypointCountByPathIndex[0] - 10];
@@ -497,10 +497,7 @@ void func_8001D53C(Player *player, Camera *camera, Vec3f arg2, f32 *arg3, f32 *a
f32 stackPadding0;
f32 stackPadding1;
f32 stackPadding2;
f32 stackPadding3;
f32 stackPadding4;
f32 stackPadding5;
f32 stackPadding6;
UNUSED f32 pad[4];
f32 thing;
if (((u16) player->unk_222 == 0) && (camera->unk_A0 == 0.0f)) {
@@ -547,7 +544,7 @@ void func_8001D794(Player *player, Camera *camera, Vec3f arg2, f32 *arg3, f32 *a
Mat3 sp6C;
Vec3f sp60;
Vec3f sp54;
f32 stackPadding[4];
UNUSED f32 stackPadding[4];
f32 test1;
f32 test2;
f32 test3;
@@ -768,19 +765,18 @@ GLOBAL_ASM("asm/non_matchings/camera/func_8001D944.s")
#endif
void func_8001E0C4(Camera *camera, Player *player, s8 arg2) {
s32 stackPadding0[6];
UNUSED s32 pad[6];
f32 temp_f12;
f32 sp80;
f32 temp_f14;
s32 stackPadding1;
UNUSED s32 pad2;
f32 sp74;
f32 sp70;
f32 sp6C;
Vec3f sp60;
s16 temp_t7;
s16 var_a2;
s32 stackPadding2[5];
s32 stackPadding3[3];
UNUSED s32 pad3[8];
s32 test = 3;
if (player->unk_078 == 0) {
@@ -930,17 +926,17 @@ GLOBAL_ASM("asm/non_matchings/camera/func_8001E45C.s")
#endif
void func_8001E8E8(Camera *camera, Player *player, s8 arg2) {
f32 stackPadding0[6];
UNUSED f32 pad[6];
f32 temp_f12;
f32 sp88;
f32 temp_f14;
f32 stackPadding1;
UNUSED f32 pad2;
f32 sp7C;
f32 sp78;
f32 sp74;
Vec3f stackPadding2;
UNUSED Vec3f pad3;
Vec3f sp5C;
f32 stackPadding3[10];
UNUSED f32 pad4[10];
camera->unk_B0 = 0;
camera->unk_2C = player->unk_02C[1];
+1 -1
View File
@@ -55,7 +55,7 @@ typedef CameraEvent CutsceneShot;
void func_8001CA10(Camera*);
void func_8001CA24(Player*, f32);
void func_8001CA78(Player*, Camera*, Vec3f, f32*, f32*, f32*, s16, s8);
void func_8001CA78(Player*, Camera*, Vec3f, f32*, f32*, f32*, s32, s32);
void func_8001D53C(Player*, Camera*, Vec3f, f32*, f32*, f32*, s16, s16);
void func_8001D794(Player*, Camera*, Vec3f, f32*, f32*, f32*, s16);
void func_8001E0C4(Camera*, Player*, s8);
+102 -101
View File
@@ -17,6 +17,8 @@
#include "camera.h"
#include "audio/external.h"
#include <sounds.h>
#include "code_80280650.h"
#include "code_80091750.h"
extern f32 D_80150130[];
@@ -203,7 +205,7 @@ void reset_spline(void) {
D_80287B20 = 0;
}
void func_80282434(struct CinematicCamera *arg0) {
void func_80282434(UNUSED struct CinematicCamera *arg0) {
reset_spline();
}
@@ -244,7 +246,7 @@ UNUSED void func_802825C8(Vec3f arg0, Vec3f arg1, Vec3f arg2, Vec3s arg3) {
void func_80282700(f32 arg0, Vec3f arg1, f32 *arg2, f32 arg3[], f32 arg4[], f32 arg5[], f32 arg6[])
{
f32 B[4];
f32 a = arg0;
if (arg0 > 1.0f)
{
arg0 = 1.0f;
@@ -373,20 +375,20 @@ dummy_label_888430: ;
s32 func_80282D90(struct CinematicCamera *camera, struct struct_80286A04 *arg1, struct struct_80286A04 *arg2, s32 arg3) {
s32 res;
cutscene_event(func_80282434, camera, 0, 0);
func_80282C40(&D_80287818, arg1, arg3);
func_80282C40(&D_80287998, arg2, arg3);
cutscene_event((CameraEvent)func_80282434, camera, 0, 0);
func_80282C40(D_80287818, (struct struct_80282C40 *) arg1, arg3);
func_80282C40(D_80287998, (struct struct_80282C40 *) arg2, arg3);
if (0) {}; // debug stub?
res = move_point_along_spline(camera->lookAt, &camera->unk18, &D_80287818, &sCutsceneSplineSegment, &sCutsceneSplineSegmentProgress) |
move_point_along_spline(camera->pos, &camera->unk18, &D_80287998, &sCutsceneSplineSegment, &sCutsceneSplineSegmentProgress);
res = move_point_along_spline(camera->lookAt, &camera->unk18, D_80287818, &sCutsceneSplineSegment, &sCutsceneSplineSegmentProgress) |
move_point_along_spline(camera->pos, &camera->unk18, D_80287998, &sCutsceneSplineSegment, &sCutsceneSplineSegmentProgress);
return res;
}
void func_80282E58(struct CinematicCamera *camera, struct struct_80282C40 *arg1, s32 arg2) {
func_80282C40(&D_80287818, arg1, arg2);
move_point_along_spline(camera->lookAt, &camera->unk18, &D_80287818, &sCutsceneSplineSegment, &sCutsceneSplineSegmentProgress);
func_80282C40(D_80287818, arg1, arg2);
move_point_along_spline(camera->lookAt, &camera->unk18, D_80287818, &sCutsceneSplineSegment, &sCutsceneSplineSegmentProgress);
}
void func_80282EAC(s32 arg0, struct CinematicCamera *arg1, s16 arg2, s16 arg3, s16 arg4)
@@ -412,7 +414,7 @@ void func_80282F00(s16 *arg0, s16 arg1) {
void func_80282F44(s32 arg0, struct CinematicCamera *arg1, Camera *camera) {
f32 sp5C;
s32 pad[2];
UNUSED s32 pad[2];
s16 sp50[2];
Vec3f pos;
Vec3f lookat;
@@ -471,7 +473,7 @@ void func_80283240(s16 arg0) {
s32 cutscene_event(CameraEvent event, struct CinematicCamera *camera, s16 start, s16 end) {
if (gCutsceneShotTimer >= start) {
if ((end == -1) || (end >= gCutsceneShotTimer)) {
event(camera);
event((Camera *)camera);
}
}
return 0;
@@ -632,66 +634,66 @@ s32 func_80283648(Camera *camera) {
return D_802876D8;
}
void func_80283968(struct CinematicCamera *camera) {
void func_80283968(UNUSED struct CinematicCamera *camera) {
func_8028100C(-0xC6C, 0xD2, -0x1EF);
}
void func_80283994(struct CinematicCamera *camera) {
void func_80283994(UNUSED struct CinematicCamera *camera) {
func_80280FFC();
}
void func_802839B4(struct CinematicCamera *camera) {
void func_802839B4(UNUSED struct CinematicCamera *camera) {
D_802856B8 = 52.0f;
}
void func_802839CC(struct CinematicCamera *camera) {
void func_802839CC(UNUSED struct CinematicCamera *camera) {
D_802856B8 = 0.0f;
}
void func_802839E0(struct CinematicCamera *camera) {
void func_802839E0(UNUSED struct CinematicCamera *camera) {
func_80092C80();
}
/**
* Played at beginning of credits.
*/
void play_sound_welcome(struct CinematicCamera *camera) {
void play_sound_welcome(UNUSED struct CinematicCamera *camera) {
if (D_800DC5E4 == 0) {
play_sound2(SOUND_INTRO_WELCOME);
}
}
void func_80283A34(struct CinematicCamera *camera) {
void func_80283A34(UNUSED struct CinematicCamera *camera) {
func_800CA0CC();
}
/**
* Played after receiving trophy.
*/
void play_sound_congratulation(struct CinematicCamera *camera) {
void play_sound_congratulation(UNUSED struct CinematicCamera *camera) {
play_sound2(SOUND_CEREMONY_CONGRATULATION);
}
/**
* Played in ceremony opening with ballons.
*/
void play_sound_balloon_pop(struct CinematicCamera *camera) {
void play_sound_balloon_pop(UNUSED struct CinematicCamera *camera) {
play_sound2(SOUND_CEREMONY_BALLOON_POP);
}
void play_sound_fish(struct CinematicCamera *camera) {
void play_sound_fish(UNUSED struct CinematicCamera *camera) {
play_sound2(SOUND_CEREMONY_FISH);
}
void play_sound_fish_2(struct CinematicCamera *camera) {
void play_sound_fish_2(UNUSED struct CinematicCamera *camera) {
play_sound2(SOUND_CEREMONY_FISH_2);
}
void play_sound_shoot_trophy(struct CinematicCamera *camera) {
void play_sound_shoot_trophy(UNUSED struct CinematicCamera *camera) {
play_sound2(SOUND_CEREMONY_SHOOT_TROPHY);
}
void play_sound_podium(struct CinematicCamera *camera) {
void play_sound_podium(UNUSED struct CinematicCamera *camera) {
play_sound2(SOUND_CEREMONY_PODIUM);
}
@@ -699,50 +701,50 @@ void play_sound_podium(struct CinematicCamera *camera) {
* Played in background nearly the entire ceremony
* Begins again or plays louder once the trophy appears.
*/
void play_sound_trophy(struct CinematicCamera *camera) {
void play_sound_trophy(UNUSED struct CinematicCamera *camera) {
play_sound2(SOUND_CEREMONY_TROPHY);
}
void func_80283B6C(struct CinematicCamera *camera) {
void func_80283B6C(UNUSED struct CinematicCamera *camera) {
func_800CA0B8();
func_800C9060(0, SOUND_ACTION_EXPLOSION);
func_800CA0A0();
}
void func_80283BA4(struct CinematicCamera *camera) {
void func_80283BA4(UNUSED struct CinematicCamera *camera) {
func_800CA0B8();
func_800C90F4(0, (gPlayerFour->characterId * 0x10) + 0x29008004);
func_800CA0A0();
}
void func_80283BF0(struct CinematicCamera *camera) {
void func_80283BF0(UNUSED struct CinematicCamera *camera) {
func_800C8EF8(0x1A);
}
//
void func_80283C14(struct CinematicCamera *camera) {
void func_80283C14(UNUSED struct CinematicCamera *camera) {
func_800C8EF8(0x1B);
}
void func_80283C38(struct CinematicCamera *camera) {
void func_80283C38(UNUSED struct CinematicCamera *camera) {
func_800CB134();
}
void func_80283C58(struct CinematicCamera *camera) {
void func_80283C58(UNUSED struct CinematicCamera *camera) {
func_800CB14C();
}
void func_80283C78(struct CinematicCamera *arg0) {
void func_80283C78(UNUSED struct CinematicCamera *arg0) {
if (D_800DC5E4 == 0) {
func_800C8EF8(0x1C);
}
}
void func_80283CA8(struct CinematicCamera *camera) {
void func_80283CA8(UNUSED struct CinematicCamera *camera) {
func_800CA008(0, 3);
}
void func_80283CD0(struct CinematicCamera *camera) {
void func_80283CD0(UNUSED struct CinematicCamera *camera) {
if (D_800DC5E4 == 0) {
func_800CA008(0, 2);
}
@@ -752,11 +754,10 @@ void func_80283CD0(struct CinematicCamera *camera) {
* End of credits farewell.
* "Hey, you're very good. See you next time!"
*/
void play_sound_farewell(struct CinematicCamera *arg0) {
void play_sound_farewell(UNUSED struct CinematicCamera *arg0) {
play_sound2(SOUND_CREDITS_FAREWELL);
}
// Camera rail spline animation
struct struct_80282C40 D_802856DC[] = {
// go to
@@ -874,23 +875,23 @@ struct struct_80282C40 D_80285940[] = {
void func_80283D2C(struct CinematicCamera *camera) {
D_802856B8 = 120.0f;
cutscene_event(&func_80283CA8, camera, 0, 0);
cutscene_event(&func_80283A34, camera, 1, 1);
cutscene_event(&func_80283BF0, camera, 0, 0);
cutscene_event(&play_sound_balloon_pop, camera, 45, 45);
cutscene_event(&play_sound_balloon_pop, camera, 65, 65);
cutscene_event(&play_sound_balloon_pop, camera, 70, 70);
cutscene_event(&play_sound_balloon_pop, camera, 94, 94);
cutscene_event(&play_sound_balloon_pop, camera, 110, 110);
cutscene_event(&play_sound_balloon_pop, camera, 130, 130);
cutscene_event(&play_sound_balloon_pop, camera, 152, 152);
cutscene_event(&play_sound_balloon_pop, camera, 160, 160);
cutscene_event(&func_80283994, camera, D_80285D10[0].duration - 60, D_80285D10[0].duration - 60);
func_80282D90(camera, &D_802856DC, &D_80285718, 0);
cutscene_event((CameraEvent)&func_80283CA8, camera, 0, 0);
cutscene_event((CameraEvent)&func_80283A34, camera, 1, 1);
cutscene_event((CameraEvent)&func_80283BF0, camera, 0, 0);
cutscene_event((CameraEvent)&play_sound_balloon_pop, camera, 45, 45);
cutscene_event((CameraEvent)&play_sound_balloon_pop, camera, 65, 65);
cutscene_event((CameraEvent)&play_sound_balloon_pop, camera, 70, 70);
cutscene_event((CameraEvent)&play_sound_balloon_pop, camera, 94, 94);
cutscene_event((CameraEvent)&play_sound_balloon_pop, camera, 110, 110);
cutscene_event((CameraEvent)&play_sound_balloon_pop, camera, 130, 130);
cutscene_event((CameraEvent)&play_sound_balloon_pop, camera, 152, 152);
cutscene_event((CameraEvent)&play_sound_balloon_pop, camera, 160, 160);
cutscene_event((CameraEvent)&func_80283994, camera, D_80285D10[0].duration - 60, D_80285D10[0].duration - 60);
func_80282D90(camera, (struct struct_80286A04 *) D_802856DC, (struct struct_80286A04 *) D_80285718, 0);
}
void func_80283EA0(struct CinematicCamera *camera) {
func_80282D90(camera, &D_80285754, &D_80285784, 0);
func_80282D90(camera, (struct struct_80286A04 *) D_80285754, (struct struct_80286A04 *) D_80285784, 0);
}
void func_80283ED0(struct CinematicCamera *camera) {
@@ -904,9 +905,9 @@ void func_80283EF8(struct CinematicCamera *camera) {
}
void func_80283F6C(struct CinematicCamera *camera) {
cutscene_event(&func_80283ED0, camera, 0, 0);
cutscene_event(&func_80283EF8, camera, 0, -1);
func_80282E58(camera, &D_802857B4, 0);
cutscene_event((CameraEvent)&func_80283ED0, camera, 0, 0);
cutscene_event((CameraEvent)&func_80283EF8, camera, 0, -1);
func_80282E58(camera, (struct struct_80282C40 *)D_802857B4, 0);
}
void func_80283FCC(struct CinematicCamera *camera) {
@@ -920,13 +921,13 @@ void func_80283FF4(struct CinematicCamera *camera) {
}
void func_80284068(struct CinematicCamera *camera) {
cutscene_event(&func_80283FCC, camera, 0, 0);
cutscene_event(&func_80283FF4, camera, 0, -1);
func_80282E58(camera, &D_802857CC, 0);
cutscene_event((CameraEvent) &func_80283FCC, camera, 0, 0);
cutscene_event((CameraEvent) &func_80283FF4, camera, 0, -1);
func_80282E58(camera, (struct struct_80282C40 *) D_802857CC, 0);
}
void func_802840C8(struct CinematicCamera *camera) {
cutscene_event(&func_80283C14, camera, 5, 5);
cutscene_event((CameraEvent) &func_80283C14, camera, 5, 5);
switch(D_802876D8) {
case 2:
@@ -942,7 +943,7 @@ void func_802840C8(struct CinematicCamera *camera) {
}
void func_80284154(struct CinematicCamera *camera) {
func_80282D90(camera, &D_80285910, &D_80285928, 0);
func_80282D90(camera, (struct struct_80286A04 *) D_80285910, (struct struct_80286A04 *) D_80285928, 0);
}
extern struct_80165C18_entry D_80165C20[];
@@ -956,23 +957,23 @@ void func_80284184(struct CinematicCamera *camera)
}
void func_802841E8(struct CinematicCamera *camera) {
func_80282E58(camera, &D_80285940, 0);
func_80282E58(camera, (struct struct_80282C40 *) D_80285940, 0);
vec3f_set_dupe(camera->pos, -3202.0f, 90.0f, -478.0f);
}
void func_8028422C(struct CinematicCamera *camera) {
cutscene_event(&play_sound_shoot_trophy, camera, 6, 6);
cutscene_event(&play_sound_trophy, camera, 30, 30);
cutscene_event(&func_802841E8, camera, 0, 0);
cutscene_event(&func_80284184, camera, 6, -1);
cutscene_event((CameraEvent)&play_sound_shoot_trophy, camera, 6, 6);
cutscene_event((CameraEvent)&play_sound_trophy, camera, 30, 30);
cutscene_event((CameraEvent)&func_802841E8, camera, 0, 0);
cutscene_event((CameraEvent)&func_80284184, camera, 6, -1);
}
void func_802842A8(struct CinematicCamera *camera) {
func_80282D90(camera, &D_802858B0, &D_802858C8, 0);
func_80282D90(camera, (struct struct_80286A04 *) D_802858B0, (struct struct_80286A04 *) D_802858C8, 0);
}
void func_802842D8(struct CinematicCamera *camera) {
func_80282D90(camera, &D_802857F0, &D_80285850, 0);
func_80282D90(camera, (struct struct_80286A04 *) D_802857F0, (struct struct_80286A04 *) D_80285850, 0);
}
void func_80284308(struct CinematicCamera *camera) {
@@ -987,8 +988,8 @@ void func_80284308(struct CinematicCamera *camera) {
f32 y;
f32 z;
cutscene_event(play_sound_congratulation, camera, 140, 140);
func_80282D90(camera, D_802858E0, D_802858F8, 0);
cutscene_event((CameraEvent)play_sound_congratulation, camera, 140, 140);
func_80282D90(camera, (struct struct_80286A04 *) D_802858E0, (struct struct_80286A04 *) D_802858F8, 0);
ply = *(sp30[0] + D_802874F5);
@@ -1126,33 +1127,33 @@ struct Cutscene D_80285D10[] = {
};
void func_80284418(struct CinematicCamera *camera) {
cutscene_event(&play_sound_podium, camera, 0x52, 0x52);
cutscene_event(&play_sound_podium, camera, 0x48, 0x48);
cutscene_event(&play_sound_podium, camera, 0x3D, 0x3D);
func_80282D90(camera, &D_80285A10, &D_80285A4C, 0);
cutscene_event((CameraEvent)&play_sound_podium, camera, 0x52, 0x52);
cutscene_event((CameraEvent)&play_sound_podium, camera, 0x48, 0x48);
cutscene_event((CameraEvent)&play_sound_podium, camera, 0x3D, 0x3D);
func_80282D90(camera, (struct struct_80286A04 *) D_80285A10, (struct struct_80286A04 *) D_80285A4C, 0);
}
void func_80284494(struct CinematicCamera *camera) {
cutscene_event(&play_sound_fish_2, camera, 0x1E, 0x1E);
cutscene_event(&func_80283968, camera, 0, 0);
func_80282D90(camera, &D_80285A88, &D_80285AB8, 0);
cutscene_event((CameraEvent)&play_sound_fish_2, camera, 0x1E, 0x1E);
cutscene_event((CameraEvent)&func_80283968, camera, 0, 0);
func_80282D90(camera, (struct struct_80286A04 *) D_80285A88, (struct struct_80286A04 *) D_80285AB8, 0);
}
void func_802844FC(struct CinematicCamera *camera) {
cutscene_event(&play_sound_fish, camera, 0x3B, 0x3B);
func_80282D90(camera, &D_80285AE8, &D_80285B00, 0);
cutscene_event((CameraEvent)&play_sound_fish, camera, 0x3B, 0x3B);
func_80282D90(camera, (struct struct_80286A04 *) D_80285AE8, (struct struct_80286A04 *) D_80285B00, 0);
}
void func_8028454C(struct CinematicCamera *camera) {
cutscene_event(&func_80283CA8, camera, 0, 0);
cutscene_event(&func_80283A34, camera, 1, 1);
cutscene_event(&func_80283C38, camera, 0, 0);
cutscene_event(&func_80283994, camera, 0x3C, 0x3C);
func_80282D90(camera, &D_80285B18, &D_80285B54, 0);
cutscene_event((CameraEvent)&func_80283CA8, camera, 0, 0);
cutscene_event((CameraEvent)&func_80283A34, camera, 1, 1);
cutscene_event((CameraEvent)&func_80283C38, camera, 0, 0);
cutscene_event((CameraEvent)&func_80283994, camera, 0x3C, 0x3C);
func_80282D90(camera, (struct struct_80286A04 *) D_80285B18, (struct struct_80286A04 *) D_80285B54, 0);
}
void func_802845EC(struct CinematicCamera *camera) {
func_80282D90(camera, &D_80285B90, &D_80285BA8, 0);
func_80282D90(camera, (struct struct_80286A04 *) D_80285B90, (struct struct_80286A04 *) D_80285BA8, 0);
}
void func_8028461C(struct CinematicCamera *camera) {
@@ -1161,9 +1162,9 @@ void func_8028461C(struct CinematicCamera *camera) {
}
void func_80284648(struct CinematicCamera *camera) {
cutscene_event(&func_802845EC, camera, 0, 0);
cutscene_event(&func_8028461C, camera, 0x110, 0x110);
cutscene_event(&func_80283BA4, camera, 0x115, 0x115);
cutscene_event((CameraEvent)&func_802845EC, camera, 0, 0);
cutscene_event((CameraEvent)&func_8028461C, camera, 0x110, 0x110);
cutscene_event((CameraEvent)&func_80283BA4, camera, 0x115, 0x115);
}
UNUSED void func_802846AC(void) {
@@ -1171,13 +1172,13 @@ UNUSED void func_802846AC(void) {
}
void func_802846B4(struct CinematicCamera *camera) {
func_80282D90(camera, &D_80285C38, &D_80285C74, 0);
func_80282D90(camera, (struct struct_80286A04 *) D_80285C38, (struct struct_80286A04 *) D_80285C74, 0);
}
// todo: What does this even do?
void func_802846E4(struct CinematicCamera *camera) {
func_80282D90(camera, &D_80285CB0, &D_80285CE0, 0);
func_80282D90(camera, (struct struct_80286A04 *) D_80285CB0, (struct struct_80286A04 *) D_80285CE0, 0);
camera->lookAt[0] += (gPlayerFour->pos[0] - -2796.0f); // <-- rodata
camera->lookAt[1] += (gPlayerFour->pos[1] - -29.0f);
camera->lookAt[2] += (gPlayerFour->pos[2] - -97.0f);
@@ -1512,26 +1513,26 @@ void func_802847CC(struct CinematicCamera *camera) {
sp2E = D_80286A04[D_800DC5E4].unkC - (10 - (-(((u16)(u32) D_802856B4))));
sp2C = D_80286A04[D_800DC5E4].unkC;
cutscene_event(func_80283CD0, camera, 0, 0);
cutscene_event(play_sound_welcome, camera, 8, 8);
cutscene_event(func_80283C78, camera, 149, 149);
cutscene_event(func_80282434, camera, 0, 0);
cutscene_event((CameraEvent)func_80283CD0, camera, 0, 0);
cutscene_event((CameraEvent)play_sound_welcome, camera, 8, 8);
cutscene_event((CameraEvent)func_80283C78, camera, 149, 149);
cutscene_event((CameraEvent)func_80282434, camera, 0, 0);
switch (D_80286A04[D_800DC5E4].unk0) {
case 1:
cutscene_event(func_802839CC, camera, 0, -1);
cutscene_event(func_802839E0, camera, sp2E - 0x14, sp2E - 0x14);
cutscene_event((CameraEvent)func_802839CC, camera, 0, -1);
cutscene_event((CameraEvent)func_802839E0, camera, sp2E - 0x14, sp2E - 0x14);
break;
case 2:
cutscene_event(func_802839B4, camera, 0, 0);
cutscene_event(play_sound_farewell, camera, 247, 247);
func_80282D90(camera, D_80286A04[D_800DC5E4].unk4, D_80286A04[D_800DC5E4].unk8, 0);
cutscene_event((CameraEvent)func_802839B4, camera, 0, 0);
cutscene_event((CameraEvent)play_sound_farewell, camera, 247, 247);
func_80282D90(camera, (struct struct_80286A04 *) D_80286A04[D_800DC5E4].unk4, (struct struct_80286A04 *) D_80286A04[D_800DC5E4].unk8, 0);
break;
default:
cutscene_event(func_802839B4, camera, 0, 0);
cutscene_event(func_802839CC, camera, sp2E, sp2E);
cutscene_event(func_802839E0, camera, sp2E - 0x14, sp2E - 0x14);
func_80282D90(camera, D_80286A04[D_800DC5E4].unk4, D_80286A04[D_800DC5E4].unk8, 0);
cutscene_event((CameraEvent)func_802839B4, camera, 0, 0);
cutscene_event((CameraEvent)func_802839CC, camera, sp2E, sp2E);
cutscene_event((CameraEvent)func_802839E0, camera, sp2E - 0x14, sp2E - 0x14);
func_80282D90(camera, (struct struct_80286A04 *) D_80286A04[D_800DC5E4].unk4, (struct struct_80286A04 *) D_80286A04[D_800DC5E4].unk8, 0);
break;
}
@@ -1560,7 +1561,7 @@ struct struct_80284AE8 {
* Play the current cutscene until either gCutsceneShotTimer reaches the max time, or c->cutscene is set to 0
*/
void play_cutscene(struct CinematicCamera *camera) {
s32 pad[3];
UNUSED s32 pad[3];
s16 cutsceneDuration;
#define CUTSCENE(id, cutscene) \
+48 -47
View File
@@ -14,6 +14,10 @@
#include "code_80057C60.h"
#include "framebuffers.h"
#include "waypoints.h"
#include "code_80027D00.h"
#include "hud_renderer.h"
void func_80020BF4(void);
s8 D_800DDB50[] = {
0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02
@@ -40,10 +44,10 @@ void func_8001F980(s32 *arg0, s32 *arg1) {
}
void func_8001F9E4(Player *player, Camera *camera, s8 arg2) {
s32 pad;
UNUSED s32 pad;
s32 sp30;
s32 sp2C;
s32 pad2;
UNUSED s32 pad2;
get_player_index_for_player(player);
func_8001F980(&sp30, &sp2C);
@@ -60,7 +64,7 @@ void func_8001F9E4(Player *player, Camera *camera, s8 arg2) {
}
u16 func_8001FB0C(Player *player, Camera *camera, f32 arg2, f32 arg3) {
f32 pad[6];
UNUSED f32 pad[6];
f32 sp64;
f32 sp60;
f32 sp5C;
@@ -105,7 +109,7 @@ u16 func_8001FB0C(Player *player, Camera *camera, f32 arg2, f32 arg3) {
return ret;
}
u16 func_8001FD78(Player *player, f32 posX, f32 arg2, f32 posZ) {
u16 func_8001FD78(Player *player, f32 posX, UNUSED f32 arg2, f32 posZ) {
f32 sp64;
f32 sp60;
f32 sp5c;
@@ -289,13 +293,13 @@ void func_80020524(void) {
func_80027560(D_80164AD0[i], D_80164AB0[i], D_80164AC0[i], D_80164AC0[i], D_801651D0[D_80164AC0[i]][D_80164AB0[i]]);
mio0decode(&D_802DFB80[D_801651D0[D_80164AC0[i - 1]][D_80164AB0[i - 1]]][D_80164AC0[i - 1]][D_80164AB0[i - 1]],
&D_802BFB80[D_801651D0[D_80164AC0[i - 1]][D_80164AB0[i - 1]]][D_80164AC0[i - 1]][D_80164AB0[i - 1]]);
mio0decode((u8 *)&D_802DFB80[D_801651D0[D_80164AC0[i - 1]][D_80164AB0[i - 1]]][D_80164AC0[i - 1]][D_80164AB0[i - 1]],
(u8 *)&D_802BFB80[D_801651D0[D_80164AC0[i - 1]][D_80164AB0[i - 1]]][D_80164AC0[i - 1]][D_80164AB0[i - 1]]);
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
}
mio0decode(&D_802DFB80[D_801651D0[D_80164ABE[D_800DDB58]][D_80164AAE[D_800DDB58]]][D_80164ABE[D_800DDB58]][D_80164AAE[D_800DDB58]],
&D_802BFB80[D_801651D0[D_80164ABE[D_800DDB58]][D_80164AAE[D_800DDB58]]][D_80164ABE[D_800DDB58]][D_80164AAE[D_800DDB58]]);
mio0decode((u8 *)&D_802DFB80[D_801651D0[D_80164ABE[D_800DDB58]][D_80164AAE[D_800DDB58]]][D_80164ABE[D_800DDB58]][D_80164AAE[D_800DDB58]],
(u8 *)&D_802BFB80[D_801651D0[D_80164ABE[D_800DDB58]][D_80164AAE[D_800DDB58]]][D_80164ABE[D_800DDB58]][D_80164AAE[D_800DDB58]]);
}
#ifdef MIPS_TO_C
@@ -309,7 +313,6 @@ extern s16 D_80164AAE;
extern s16 D_80164AB0;
extern s16 D_80164ABE;
extern s16 D_80164AC0;
extern Player *D_80164AD0;
extern u16 gFramebuffer0;
extern u16 gFramebuffer1;
extern u16 gFramebuffer2;
@@ -516,12 +519,12 @@ void func_80021244(Player *player, s8 arg1, s8 arg2) {
}
void func_800212B4(void) {
s32 stackPadding0;
char *sp3C[8] = {
UNUSED s32 pad;
UNUSED char *sp3C[8] = {
"S_MARIO", "S_LUIZI", "S_YOSSY", "S_KINOP",
"S_DONKY", "S_WARIO", "S_PEACH", "S_KUPPA",
};
char *sp1C[8] = {
UNUSED char *sp1C[8] = {
"J_MARIO", "J_LUIZI", "J_YOSSY", "J_KINOP",
"J_DONKY", "J_WARIO", "J_PEACH", "J_KUPPA",
};
@@ -580,108 +583,108 @@ f32 D_800DDBD4[] = {
0.75f, 0.75f, 0.75f, 0.75f
};
u8 *gKartMarioWheels0[] = {
u8 **gKartMarioWheels0[] = {
gKartMario168Wheel0, gKartMario147Wheel0, gKartMario126Wheel0, gKartMario105Wheel0,
gKartMario084Wheel0, gKartMario063Wheel0, gKartMario042Wheel0, gKartMario021Wheel0,
gKartMario000Wheel0
};
u8 *gKartMarioWheels1[] = {
u8 **gKartMarioWheels1[] = {
gKartMario269Wheel0, gKartMario269Wheel0, gKartMario249Wheel0, gKartMario229Wheel0,
gKartMario229Wheel0, gKartMario229Wheel0, gKartMario209Wheel0, gKartMario189Wheel0,
gKartMario189Wheel0
};
u8 *gKartLuigiWheels0[] = {
u8 **gKartLuigiWheels0[] = {
gKartLuigi168Wheel0, gKartLuigi147Wheel0, gKartLuigi126Wheel0, gKartLuigi105Wheel0,
gKartLuigi084Wheel0, gKartLuigi063Wheel0, gKartLuigi042Wheel0, gKartLuigi021Wheel0,
gKartLuigi000Wheel0
};
u8 *gKartLuigiWheels1[] = {
u8 **gKartLuigiWheels1[] = {
gKartLuigi269Wheel0, gKartLuigi269Wheel0, gKartLuigi249Wheel0, gKartLuigi229Wheel0,
gKartLuigi229Wheel0, gKartLuigi229Wheel0, gKartLuigi209Wheel0, gKartLuigi189Wheel0,
gKartLuigi189Wheel0
};
u8 *gKartBowserWheels0[] = {
u8 **gKartBowserWheels0[] = {
gKartBowser168Wheel0, gKartBowser147Wheel0, gKartBowser126Wheel0, gKartBowser105Wheel0,
gKartBowser084Wheel0, gKartBowser063Wheel0, gKartBowser042Wheel0, gKartBowser021Wheel0,
gKartBowser000Wheel0
};
u8 *gKartBowserWheels1[] = {
u8 **gKartBowserWheels1[] = {
gKartBowser269Wheel0, gKartBowser269Wheel0, gKartBowser249Wheel0, gKartBowser229Wheel0,
gKartBowser229Wheel0, gKartBowser229Wheel0, gKartBowser209Wheel0, gKartBowser189Wheel0,
gKartBowser189Wheel0
};
u8 *gKartToadWheels0[] = {
u8 **gKartToadWheels0[] = {
gKartToad168Wheel0, gKartToad147Wheel0, gKartToad126Wheel0, gKartToad105Wheel0,
gKartToad084Wheel0, gKartToad063Wheel0, gKartToad042Wheel0, gKartToad021Wheel0,
gKartToad000Wheel0
};
u8 *gKartToadWheels1[] = {
u8 **gKartToadWheels1[] = {
gKartToad269Wheel0, gKartToad269Wheel0, gKartToad249Wheel0, gKartToad229Wheel0,
gKartToad229Wheel0, gKartToad229Wheel0, gKartToad209Wheel0, gKartToad189Wheel0,
gKartToad189Wheel0
};
u8 *gKartYoshiWheels0[] = {
u8 **gKartYoshiWheels0[] = {
gKartYoshi168Wheel0, gKartYoshi147Wheel0, gKartYoshi126Wheel0, gKartYoshi105Wheel0,
gKartYoshi084Wheel0, gKartYoshi063Wheel0, gKartYoshi042Wheel0, gKartYoshi021Wheel0,
gKartYoshi000Wheel0
};
u8 *gKartYoshiWheels1[] = {
u8 **gKartYoshiWheels1[] = {
gKartYoshi269Wheel0, gKartYoshi269Wheel0, gKartYoshi249Wheel0, gKartYoshi229Wheel0,
gKartYoshi229Wheel0, gKartYoshi229Wheel0, gKartYoshi209Wheel0, gKartYoshi189Wheel0,
gKartYoshi189Wheel0
};
u8 *gKartDKWheels0[] = {
u8 **gKartDKWheels0[] = {
gKartDK168Wheel0, gKartDK147Wheel0, gKartDK126Wheel0, gKartDK105Wheel0,
gKartDK084Wheel0, gKartDK063Wheel0, gKartDK042Wheel0, gKartDK021Wheel0,
gKartDK000Wheel0
};
u8 *gKartDKWheels1[] = {
u8 **gKartDKWheels1[] = {
gKartDK269Wheel0, gKartDK269Wheel0, gKartDK249Wheel0, gKartDK229Wheel0,
gKartDK229Wheel0, gKartDK229Wheel0, gKartDK209Wheel0, gKartDK189Wheel0,
gKartDK189Wheel0
};
u8 *gKartPeachWheels0[] = {
u8 **gKartPeachWheels0[] = {
gKartPeach168Wheel0, gKartPeach147Wheel0, gKartPeach126Wheel0, gKartPeach105Wheel0,
gKartPeach084Wheel0, gKartPeach063Wheel0, gKartPeach042Wheel0, gKartPeach021Wheel0,
gKartPeach000Wheel0
};
u8 *gKartPeachWheels1[] = {
u8 **gKartPeachWheels1[] = {
gKartPeach269Wheel0, gKartPeach269Wheel0, gKartPeach249Wheel0, gKartPeach229Wheel0,
gKartPeach229Wheel0, gKartPeach229Wheel0, gKartPeach209Wheel0, gKartPeach189Wheel0,
gKartPeach189Wheel0
};
u8 *gKartWarioWheels0[] = {
u8 **gKartWarioWheels0[] = {
gKartWario168Wheel0, gKartWario147Wheel0, gKartWario126Wheel0, gKartWario105Wheel0,
gKartWario084Wheel0, gKartWario063Wheel0, gKartWario042Wheel0, gKartWario021Wheel0,
gKartWario000Wheel0
};
u8 *gKartWarioWheels1[] = {
u8 **gKartWarioWheels1[] = {
gKartWario269Wheel0, gKartWario269Wheel0, gKartWario249Wheel0, gKartWario229Wheel0,
gKartWario229Wheel0, gKartWario229Wheel0, gKartWario209Wheel0, gKartWario189Wheel0,
gKartWario189Wheel0
};
u8 *D_800DDE34[] = {
u8 ***D_800DDE34[] = {
gKartMarioWheels0, gKartLuigiWheels0, gKartYoshiWheels0, gKartToadWheels0,
gKartDKWheels0, gKartWarioWheels0, gKartPeachWheels0, gKartBowserWheels0
};
u8 *D_800DDE54[] = {
u8 ***D_800DDE54[] = {
gKartMarioWheels1, gKartLuigiWheels1, gKartYoshiWheels1, gKartToadWheels1,
gKartDKWheels1, gKartWarioWheels1, gKartPeachWheels1, gKartBowserWheels1
};
@@ -830,7 +833,7 @@ void func_80021DA8(void) {
}
void func_80021E10(Mat4 arg0, Vec3f arg1, Vec3s arg2) {
f32 stackPadding[3];
UNUSED f32 pad[3];
f32 sin1;
f32 cos1;
f32 sin2;
@@ -1125,7 +1128,7 @@ void func_80022BC4(Player *player, UNUSED s8 arg1) {
player->unk_DB6 = temp_v0;
}
void func_80022CA8(Player *player, s8 arg1, s8 arg2, s8 arg3) {
void func_80022CA8(Player *player, s8 arg1, UNUSED s8 arg2, s8 arg3) {
s16 temp_v0 = player->unk_DA4;
D_800DDBB4[arg1][arg3 + 0x0].v.ob[1] = 18 - (temp_v0 * 2.3);
@@ -1140,7 +1143,7 @@ void func_80022CA8(Player *player, s8 arg1, s8 arg2, s8 arg3) {
* Seems to stretch/warp a specific players texture for a
* short period of time. Perhaps does not do anything
**/
void func_80022D60(UNUSED Player *player, s8 arg1, s8 arg2, s8 arg3) {
void func_80022D60(UNUSED Player *player, s8 arg1, UNUSED s8 arg2, s8 arg3) {
D_800DDBB4[arg1][arg3].v.ob[1] = 21;
D_800DDBB4[arg1][arg3 + 0x3].v.ob[1] = 21;
}
@@ -1170,7 +1173,7 @@ void func_80022DB4(Player *player, UNUSED s8 arg1) {
player->unk_DCC = temp_v0;
}
void func_80022E84(Player *player, s8 arg1, s8 arg2, s8 arg3) {
void func_80022E84(Player *player, s8 arg1, UNUSED s8 arg2, s8 arg3) {
s16 temp_v0 = player->unk_DD2;
D_800DDBB4[arg1][arg3 + 0x0].v.ob[1] = 18 - temp_v0;
@@ -1184,7 +1187,7 @@ void func_80022E84(Player *player, s8 arg1, s8 arg2, s8 arg3) {
/**
* Sets player shading/colour.
*/
void func_80022F14(Player *player, s8 arg1, s32 arg2, f32 arg3) {
void func_80022F14(UNUSED Player *player, s8 arg1, s32 arg2, f32 arg3) {
D_80164B10[arg1] = (s16) ((f32)D_80164B10[arg1] - ((D_80164B10[arg1] - ((arg2 >> 16) & 0xFF)) * arg3));
D_80164B20[arg1] = (s16) ((f32)D_80164B20[arg1] - ((D_80164B20[arg1] - ((arg2 >> 8) & 0xFF)) * arg3));
@@ -1192,7 +1195,7 @@ void func_80022F14(Player *player, s8 arg1, s32 arg2, f32 arg3) {
D_80164B30[arg1] = (s16) ((f32)D_80164B30[arg1] - ((D_80164B30[arg1] - (arg2 & 0xFF)) * arg3));
}
void func_80023038(Player *player, s8 arg1, s32 arg2, f32 arg3) {
void func_80023038(UNUSED Player *player, s8 arg1, s32 arg2, f32 arg3) {
move_u16_towards(&D_80164B40[arg1], (arg2 >> 16) & 0xFF, arg3);
move_u16_towards(&D_80164B50[arg1], (arg2 >> 8) & 0xFF, arg3);
move_u16_towards(&D_80164B60[arg1], arg2 & 0xFF, arg3);
@@ -1202,7 +1205,7 @@ void func_80023038(Player *player, s8 arg1, s32 arg2, f32 arg3) {
* Activates in the tunnel to shade the player a bit darker
* Sort of an atmospheric effect.
*/
s32 func_800230E4(s32 arg0, s8 arg1) {
s32 func_800230E4(Player *player, s8 arg1) {
switch (gCurrentCourseId) {
case 8:
if (((gNearestWaypointByPlayerId[arg1] >= 0x14F) && (gNearestWaypointByPlayerId[arg1] < 0x158))
@@ -1210,8 +1213,8 @@ s32 func_800230E4(s32 arg0, s8 arg1) {
|| ((gNearestWaypointByPlayerId[arg1] >= 0x169) && (gNearestWaypointByPlayerId[arg1] < 0x170))
|| ((gNearestWaypointByPlayerId[arg1] >= 0x174) && (gNearestWaypointByPlayerId[arg1] < 0x17A))
|| ((gNearestWaypointByPlayerId[arg1] >= 0x17E) && (gNearestWaypointByPlayerId[arg1] < 0x184))) {
func_80022F14(arg0, arg1, 0x1C0000, 0.3f);
func_80023038(arg0, arg1, 0xE0, 0.3f);
func_80022F14(player, arg1, 0x1C0000, 0.3f);
func_80023038(player, arg1, 0xE0, 0.3f);
D_80164B80[arg1] = 0;
return 1;
}
@@ -1393,7 +1396,7 @@ void func_80023BF0(Player *player, s8 arg1, s8 arg2, s8 arg3) {
void func_80023C84(Player *player, s8 arg1, s8 arg2) {
Mat4 sp118;
Mat4 pad;
UNUSED Mat4 pad;
Vec3f spCC;
Vec3s spC4;
s16 temp_t9;
@@ -1401,9 +1404,7 @@ void func_80023C84(Player *player, s8 arg1, s8 arg2) {
Vec3f spB4;
f32 spB0;
f32 spAC;
s32 pad2;
f32 sp9C;
f32 sp38;
UNUSED Vec3f pad2;
f32 var_f2;
temp_t9 = (u16)(player->unk_048[arg2] + player->unk_02C[1] + player->unk_0C0) / 128; // << 7) & 0xFFFF;
@@ -1467,15 +1468,15 @@ void func_80023C84(Player *player, s8 arg1, s8 arg2) {
void func_80024374(Player *player, s8 arg1, s8 arg2) {
Mat4 sp118;
Mat4 pad;
UNUSED Mat4 pad;
Vec3f spCC;
Vec3s spC4;
s16 temp_t9;
s16 spC0;
Vec3f stackPadding0;
UNUSED Vec3f pad2;
f32 spB0;
f32 spAC;
Vec3f stackPadding1;
UNUSED Vec3f pad3;
Vec3f sp94 = { 9.0f, 7.0f, 5.0f };
temp_t9 = (u16)(player->unk_048[arg2] + player->unk_02C[1] + player->unk_0C0) / 128;
@@ -2706,6 +2707,6 @@ UNUSED void func_8002701C(void) {
}
UNUSED void func_80027024(s32 arg0, s32 arg1, s32 arg2) {
UNUSED void func_80027024(UNUSED s32 arg0, UNUSED s32 arg1, UNUSED s32 arg2) {
}
+165 -165
View File
@@ -47,7 +47,7 @@ void func_80022DB4(Player*, s8);
void func_80022E84(Player*, s8, s8, s8);
void func_80022F14(Player*, s8, s32, f32);
void func_80023038(Player*, s8, s32, f32);
s32 func_800230E4(s32, s8);
s32 func_800230E4(Player*, s8);
void func_800231D8(Player*, s8);
void func_800235AC(Player*, s8);
void func_80023BF0(Player*, s8, s8, s8);
@@ -67,7 +67,7 @@ extern s16 D_80164AAE[];
extern s16 D_80164AB0[];
extern s16 D_80164ABE[];
extern s16 D_80164AC0[];
extern s32 D_80164AD0[];
extern Player *D_80164AD0[];
extern u16 D_80164B10[];
extern u16 D_80164B20[];
extern u16 D_80164B30[];
@@ -76,7 +76,7 @@ extern u16 D_80164B50[];
extern u16 D_80164B60[];
extern s32 D_80164B80[];
extern u32 D_8018D474;
extern u8 *D_8018D474;
extern s32 D_8018D930[];
extern Gfx D_0D008C78[];
@@ -104,172 +104,172 @@ extern Vtx D_800E4EC0[];
extern Vtx D_800E4FD0[];
extern Vtx D_800E50D0[];
extern u8 *gKartMarioWheels0[];
extern u8 *gKartMarioWheels1[];
extern u8 *gKartLuigiWheels0[];
extern u8 *gKartLuigiWheels1[];
extern u8 *gKartBowserWheels0[];
extern u8 *gKartBowserWheels1[];
extern u8 *gKartToadWheels0[];
extern u8 *gKartToadWheels1[];
extern u8 *gKartYoshiWheels0[];
extern u8 *gKartYoshiWheels1[];
extern u8 *gKartDKWheels0[];
extern u8 *gKartDKWheels1[];
extern u8 *gKartPeachWheels0[];
extern u8 *gKartPeachWheels1[];
extern u8 *gKartWarioWheels0[];
extern u8 *gKartWarioWheels1[];
extern u8 **gKartMarioWheels0[];
extern u8 **gKartMarioWheels1[];
extern u8 **gKartLuigiWheels0[];
extern u8 **gKartLuigiWheels1[];
extern u8 **gKartBowserWheels0[];
extern u8 **gKartBowserWheels1[];
extern u8 **gKartToadWheels0[];
extern u8 **gKartToadWheels1[];
extern u8 **gKartYoshiWheels0[];
extern u8 **gKartYoshiWheels1[];
extern u8 **gKartDKWheels0[];
extern u8 **gKartDKWheels1[];
extern u8 **gKartPeachWheels0[];
extern u8 **gKartPeachWheels1[];
extern u8 **gKartWarioWheels0[];
extern u8 **gKartWarioWheels1[];
extern u8 *D_800DDE34[];
extern u8 *D_800DDE54[];
extern u8 ***D_800DDE34[];
extern u8 ***D_800DDE54[];
// These all come the kart data stuff, they should end up in their own inc.c eventually
extern u8 gKartMario168Wheel0[];
extern u8 gKartMario147Wheel0[];
extern u8 gKartMario126Wheel0[];
extern u8 gKartMario105Wheel0[];
extern u8 gKartMario084Wheel0[];
extern u8 gKartMario063Wheel0[];
extern u8 gKartMario042Wheel0[];
extern u8 gKartMario021Wheel0[];
extern u8 gKartMario000Wheel0[];
extern u8 gKartMario269Wheel0[];
extern u8 gKartMario269Wheel0[];
extern u8 gKartMario249Wheel0[];
extern u8 gKartMario229Wheel0[];
extern u8 gKartMario229Wheel0[];
extern u8 gKartMario229Wheel0[];
extern u8 gKartMario209Wheel0[];
extern u8 gKartMario189Wheel0[];
extern u8 gKartMario189Wheel0[];
extern u8 gKartLuigi168Wheel0[];
extern u8 gKartLuigi147Wheel0[];
extern u8 gKartLuigi126Wheel0[];
extern u8 gKartLuigi105Wheel0[];
extern u8 gKartLuigi084Wheel0[];
extern u8 gKartLuigi063Wheel0[];
extern u8 gKartLuigi042Wheel0[];
extern u8 gKartLuigi021Wheel0[];
extern u8 gKartLuigi000Wheel0[];
extern u8 gKartLuigi269Wheel0[];
extern u8 gKartLuigi269Wheel0[];
extern u8 gKartLuigi249Wheel0[];
extern u8 gKartLuigi229Wheel0[];
extern u8 gKartLuigi229Wheel0[];
extern u8 gKartLuigi229Wheel0[];
extern u8 gKartLuigi209Wheel0[];
extern u8 gKartLuigi189Wheel0[];
extern u8 gKartLuigi189Wheel0[];
extern u8 gKartBowser168Wheel0[];
extern u8 gKartBowser147Wheel0[];
extern u8 gKartBowser126Wheel0[];
extern u8 gKartBowser105Wheel0[];
extern u8 gKartBowser084Wheel0[];
extern u8 gKartBowser063Wheel0[];
extern u8 gKartBowser042Wheel0[];
extern u8 gKartBowser021Wheel0[];
extern u8 gKartBowser000Wheel0[];
extern u8 gKartBowser269Wheel0[];
extern u8 gKartBowser269Wheel0[];
extern u8 gKartBowser249Wheel0[];
extern u8 gKartBowser229Wheel0[];
extern u8 gKartBowser229Wheel0[];
extern u8 gKartBowser229Wheel0[];
extern u8 gKartBowser209Wheel0[];
extern u8 gKartBowser189Wheel0[];
extern u8 gKartBowser189Wheel0[];
extern u8 gKartToad168Wheel0[];
extern u8 gKartToad147Wheel0[];
extern u8 gKartToad126Wheel0[];
extern u8 gKartToad105Wheel0[];
extern u8 gKartToad084Wheel0[];
extern u8 gKartToad063Wheel0[];
extern u8 gKartToad042Wheel0[];
extern u8 gKartToad021Wheel0[];
extern u8 gKartToad000Wheel0[];
extern u8 gKartToad269Wheel0[];
extern u8 gKartToad269Wheel0[];
extern u8 gKartToad249Wheel0[];
extern u8 gKartToad229Wheel0[];
extern u8 gKartToad229Wheel0[];
extern u8 gKartToad229Wheel0[];
extern u8 gKartToad209Wheel0[];
extern u8 gKartToad189Wheel0[];
extern u8 gKartToad189Wheel0[];
extern u8 gKartYoshi168Wheel0[];
extern u8 gKartYoshi147Wheel0[];
extern u8 gKartYoshi126Wheel0[];
extern u8 gKartYoshi105Wheel0[];
extern u8 gKartYoshi084Wheel0[];
extern u8 gKartYoshi063Wheel0[];
extern u8 gKartYoshi042Wheel0[];
extern u8 gKartYoshi021Wheel0[];
extern u8 gKartYoshi000Wheel0[];
extern u8 gKartYoshi269Wheel0[];
extern u8 gKartYoshi269Wheel0[];
extern u8 gKartYoshi249Wheel0[];
extern u8 gKartYoshi229Wheel0[];
extern u8 gKartYoshi229Wheel0[];
extern u8 gKartYoshi229Wheel0[];
extern u8 gKartYoshi209Wheel0[];
extern u8 gKartYoshi189Wheel0[];
extern u8 gKartYoshi189Wheel0[];
extern u8 gKartDK168Wheel0[];
extern u8 gKartDK147Wheel0[];
extern u8 gKartDK126Wheel0[];
extern u8 gKartDK105Wheel0[];
extern u8 gKartDK084Wheel0[];
extern u8 gKartDK063Wheel0[];
extern u8 gKartDK042Wheel0[];
extern u8 gKartDK021Wheel0[];
extern u8 gKartDK000Wheel0[];
extern u8 gKartDK269Wheel0[];
extern u8 gKartDK269Wheel0[];
extern u8 gKartDK249Wheel0[];
extern u8 gKartDK229Wheel0[];
extern u8 gKartDK229Wheel0[];
extern u8 gKartDK229Wheel0[];
extern u8 gKartDK209Wheel0[];
extern u8 gKartDK189Wheel0[];
extern u8 gKartDK189Wheel0[];
extern u8 gKartPeach168Wheel0[];
extern u8 gKartPeach147Wheel0[];
extern u8 gKartPeach126Wheel0[];
extern u8 gKartPeach105Wheel0[];
extern u8 gKartPeach084Wheel0[];
extern u8 gKartPeach063Wheel0[];
extern u8 gKartPeach042Wheel0[];
extern u8 gKartPeach021Wheel0[];
extern u8 gKartPeach000Wheel0[];
extern u8 gKartPeach269Wheel0[];
extern u8 gKartPeach269Wheel0[];
extern u8 gKartPeach249Wheel0[];
extern u8 gKartPeach229Wheel0[];
extern u8 gKartPeach229Wheel0[];
extern u8 gKartPeach229Wheel0[];
extern u8 gKartPeach209Wheel0[];
extern u8 gKartPeach189Wheel0[];
extern u8 gKartPeach189Wheel0[];
extern u8 gKartWario168Wheel0[];
extern u8 gKartWario147Wheel0[];
extern u8 gKartWario126Wheel0[];
extern u8 gKartWario105Wheel0[];
extern u8 gKartWario084Wheel0[];
extern u8 gKartWario063Wheel0[];
extern u8 gKartWario042Wheel0[];
extern u8 gKartWario021Wheel0[];
extern u8 gKartWario000Wheel0[];
extern u8 gKartWario269Wheel0[];
extern u8 gKartWario269Wheel0[];
extern u8 gKartWario249Wheel0[];
extern u8 gKartWario229Wheel0[];
extern u8 gKartWario229Wheel0[];
extern u8 gKartWario229Wheel0[];
extern u8 gKartWario209Wheel0[];
extern u8 gKartWario189Wheel0[];
extern u8 gKartWario189Wheel0[];
extern u8 *gKartMario168Wheel0[];
extern u8 *gKartMario147Wheel0[];
extern u8 *gKartMario126Wheel0[];
extern u8 *gKartMario105Wheel0[];
extern u8 *gKartMario084Wheel0[];
extern u8 *gKartMario063Wheel0[];
extern u8 *gKartMario042Wheel0[];
extern u8 *gKartMario021Wheel0[];
extern u8 *gKartMario000Wheel0[];
extern u8 *gKartMario269Wheel0[];
extern u8 *gKartMario269Wheel0[];
extern u8 *gKartMario249Wheel0[];
extern u8 *gKartMario229Wheel0[];
extern u8 *gKartMario229Wheel0[];
extern u8 *gKartMario229Wheel0[];
extern u8 *gKartMario209Wheel0[];
extern u8 *gKartMario189Wheel0[];
extern u8 *gKartMario189Wheel0[];
extern u8 *gKartLuigi168Wheel0[];
extern u8 *gKartLuigi147Wheel0[];
extern u8 *gKartLuigi126Wheel0[];
extern u8 *gKartLuigi105Wheel0[];
extern u8 *gKartLuigi084Wheel0[];
extern u8 *gKartLuigi063Wheel0[];
extern u8 *gKartLuigi042Wheel0[];
extern u8 *gKartLuigi021Wheel0[];
extern u8 *gKartLuigi000Wheel0[];
extern u8 *gKartLuigi269Wheel0[];
extern u8 *gKartLuigi269Wheel0[];
extern u8 *gKartLuigi249Wheel0[];
extern u8 *gKartLuigi229Wheel0[];
extern u8 *gKartLuigi229Wheel0[];
extern u8 *gKartLuigi229Wheel0[];
extern u8 *gKartLuigi209Wheel0[];
extern u8 *gKartLuigi189Wheel0[];
extern u8 *gKartLuigi189Wheel0[];
extern u8 *gKartBowser168Wheel0[];
extern u8 *gKartBowser147Wheel0[];
extern u8 *gKartBowser126Wheel0[];
extern u8 *gKartBowser105Wheel0[];
extern u8 *gKartBowser084Wheel0[];
extern u8 *gKartBowser063Wheel0[];
extern u8 *gKartBowser042Wheel0[];
extern u8 *gKartBowser021Wheel0[];
extern u8 *gKartBowser000Wheel0[];
extern u8 *gKartBowser269Wheel0[];
extern u8 *gKartBowser269Wheel0[];
extern u8 *gKartBowser249Wheel0[];
extern u8 *gKartBowser229Wheel0[];
extern u8 *gKartBowser229Wheel0[];
extern u8 *gKartBowser229Wheel0[];
extern u8 *gKartBowser209Wheel0[];
extern u8 *gKartBowser189Wheel0[];
extern u8 *gKartBowser189Wheel0[];
extern u8 *gKartToad168Wheel0[];
extern u8 *gKartToad147Wheel0[];
extern u8 *gKartToad126Wheel0[];
extern u8 *gKartToad105Wheel0[];
extern u8 *gKartToad084Wheel0[];
extern u8 *gKartToad063Wheel0[];
extern u8 *gKartToad042Wheel0[];
extern u8 *gKartToad021Wheel0[];
extern u8 *gKartToad000Wheel0[];
extern u8 *gKartToad269Wheel0[];
extern u8 *gKartToad269Wheel0[];
extern u8 *gKartToad249Wheel0[];
extern u8 *gKartToad229Wheel0[];
extern u8 *gKartToad229Wheel0[];
extern u8 *gKartToad229Wheel0[];
extern u8 *gKartToad209Wheel0[];
extern u8 *gKartToad189Wheel0[];
extern u8 *gKartToad189Wheel0[];
extern u8 *gKartYoshi168Wheel0[];
extern u8 *gKartYoshi147Wheel0[];
extern u8 *gKartYoshi126Wheel0[];
extern u8 *gKartYoshi105Wheel0[];
extern u8 *gKartYoshi084Wheel0[];
extern u8 *gKartYoshi063Wheel0[];
extern u8 *gKartYoshi042Wheel0[];
extern u8 *gKartYoshi021Wheel0[];
extern u8 *gKartYoshi000Wheel0[];
extern u8 *gKartYoshi269Wheel0[];
extern u8 *gKartYoshi269Wheel0[];
extern u8 *gKartYoshi249Wheel0[];
extern u8 *gKartYoshi229Wheel0[];
extern u8 *gKartYoshi229Wheel0[];
extern u8 *gKartYoshi229Wheel0[];
extern u8 *gKartYoshi209Wheel0[];
extern u8 *gKartYoshi189Wheel0[];
extern u8 *gKartYoshi189Wheel0[];
extern u8 *gKartDK168Wheel0[];
extern u8 *gKartDK147Wheel0[];
extern u8 *gKartDK126Wheel0[];
extern u8 *gKartDK105Wheel0[];
extern u8 *gKartDK084Wheel0[];
extern u8 *gKartDK063Wheel0[];
extern u8 *gKartDK042Wheel0[];
extern u8 *gKartDK021Wheel0[];
extern u8 *gKartDK000Wheel0[];
extern u8 *gKartDK269Wheel0[];
extern u8 *gKartDK269Wheel0[];
extern u8 *gKartDK249Wheel0[];
extern u8 *gKartDK229Wheel0[];
extern u8 *gKartDK229Wheel0[];
extern u8 *gKartDK229Wheel0[];
extern u8 *gKartDK209Wheel0[];
extern u8 *gKartDK189Wheel0[];
extern u8 *gKartDK189Wheel0[];
extern u8 *gKartPeach168Wheel0[];
extern u8 *gKartPeach147Wheel0[];
extern u8 *gKartPeach126Wheel0[];
extern u8 *gKartPeach105Wheel0[];
extern u8 *gKartPeach084Wheel0[];
extern u8 *gKartPeach063Wheel0[];
extern u8 *gKartPeach042Wheel0[];
extern u8 *gKartPeach021Wheel0[];
extern u8 *gKartPeach000Wheel0[];
extern u8 *gKartPeach269Wheel0[];
extern u8 *gKartPeach269Wheel0[];
extern u8 *gKartPeach249Wheel0[];
extern u8 *gKartPeach229Wheel0[];
extern u8 *gKartPeach229Wheel0[];
extern u8 *gKartPeach229Wheel0[];
extern u8 *gKartPeach209Wheel0[];
extern u8 *gKartPeach189Wheel0[];
extern u8 *gKartPeach189Wheel0[];
extern u8 *gKartWario168Wheel0[];
extern u8 *gKartWario147Wheel0[];
extern u8 *gKartWario126Wheel0[];
extern u8 *gKartWario105Wheel0[];
extern u8 *gKartWario084Wheel0[];
extern u8 *gKartWario063Wheel0[];
extern u8 *gKartWario042Wheel0[];
extern u8 *gKartWario021Wheel0[];
extern u8 *gKartWario000Wheel0[];
extern u8 *gKartWario269Wheel0[];
extern u8 *gKartWario269Wheel0[];
extern u8 *gKartWario249Wheel0[];
extern u8 *gKartWario229Wheel0[];
extern u8 *gKartWario229Wheel0[];
extern u8 *gKartWario229Wheel0[];
extern u8 *gKartWario209Wheel0[];
extern u8 *gKartWario189Wheel0[];
extern u8 *gKartWario189Wheel0[];
#endif
+13 -13
View File
@@ -12,6 +12,9 @@
#include "waypoints.h"
#include "audio/external.h"
void func_80028E70(Player*, Camera*, s8, s8);
void func_800381AC(Player *, struct Controller*, u8);
s16 D_800E3810[] = {
1, 2, 3, 4, 5, 6, 7, 0
};
@@ -983,7 +986,7 @@ void func_80028E70(void *arg0, s32 arg1, s8 arg2, s8 arg3) {
GLOBAL_ASM("asm/non_matchings/code_80027D00/func_80028E70.s")
#endif
UNUSED void func_80028F5C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
UNUSED void func_80028F5C(UNUSED s32 arg0, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
}
@@ -1645,7 +1648,7 @@ void func_8002AAC0(Player *player) {
}
void func_8002AB70(Player *player) {
f64 pad;
UNUSED s32 pad[2];
if (((player->unk_0BC & 8) != 8) && (player->unk_08C > 0.0f)) {
if (((player->unk_0C4 / 182) < -1) && ((player->unk_0C4 / 182) >= -0x14) && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) {
move_f32_towards(&player->kartGravity, 500.0f, 1.0f);
@@ -1706,10 +1709,7 @@ UNUSED void func_8002AE30(void) {
}
void func_8002AE38(Player *player, s8 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) {
s32 stackPadding0;
s32 stackPadding1;
s32 stackPadding3;
s32 stackPadding4;
UNUSED s32 pad[4];
s16 temp_v0_3;
f32 sp28;
f32 temp_f16;
@@ -1806,7 +1806,7 @@ void func_8002B218(Player *player) {
}
}
void func_8002B308(Player *player, s8 arg1, s8 arg2) {
void func_8002B308(Player *player, s8 arg1, UNUSED s8 arg2) {
if ((player->statusEffects & 2) == 2) {
func_8008EAE0(player, arg1);
}
@@ -1863,7 +1863,7 @@ void func_8002B308(Player *player, s8 arg1, s8 arg2) {
}
}
void func_8002B5C0(Player *player, s8 arg1, s8 arg2) {
void func_8002B5C0(Player *player, UNUSED s8 arg1, UNUSED s8 arg2) {
if (((player->unk_0CA & 8) != 0) || ((player->unk_0CA & 2) != 0)) {
player->statusEffects &= 0xFE1D0478;
}
@@ -1960,7 +1960,7 @@ void func_8002B8A4(Player *player_one, Player *player_two) {
#ifdef NON_MATCHING
// data_0DD0A0_3_0_0.s
extern f64 D_800ED7D0;// = 4.2;
void func_8002B9CC(Player *player, s8 arg1, s32 arg2) {
void func_8002B9CC(Player *player, s8 arg1, UNUSED s32 arg2) {
f32 temp_f0;
f32 temp_f2;
f32 temp_f14;
@@ -2000,7 +2000,7 @@ GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002B9CC.s")
//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b
extern s16 D_800E3C98[10];// = { 0x0000, 0x00b6, 0x016c, 0x0222, 0x02d8, 0x038e, 0x0444, 0x04fa, 0x05b0, 0x0666 };
void func_8002BB9C(Player *player, f32 *arg1, f32 *arg2, f32 *arg3) {
void func_8002BB9C(Player *player, f32 *arg1, f32 *arg2, UNUSED f32 *arg3) {
Mat3 sp64;
Vec3f sp58;
Vec3f sp4C;
@@ -5228,7 +5228,7 @@ GLOBAL_ASM("asm/non_matchings/code_80027D00/func_80033AE0.s")
void func_8003680C(Player *player, s16 arg1) {
s32 sp304 = 0;
f32 stackPadding0[6];
UNUSED f32 pad[6];
f32 var_f0;
s16 var_v0;
f32 sp44[168] = {
@@ -5349,7 +5349,7 @@ void func_80036CB4(Player *player) {
void func_80036DB4(Player *player, Vec3f arg1, Vec3f arg2) {
s16 thing;
s16 stackPadding0;
UNUSED s16 pad;
f32 sp20;
f32 var_f18;
s32 temp_t6;
@@ -5565,7 +5565,7 @@ void func_80037A4C(Player *player, Vec3f arg1, Vec3f arg2) {
}
void func_80037BB4(Player *player, Vec3f arg1) {
s32 stackPadding0[3];
UNUSED s32 pad[3];
Vec3f sp20;
if (player->unk_078 == 0) {
+109 -103
View File
@@ -2,6 +2,7 @@
#include <macros.h>
#include <PR/gbi.h>
#include <main.h>
#include "memory.h"
#include <variables.h>
#include <config.h>
#include <defines.h>
@@ -1097,7 +1098,7 @@ void func_8005A070(void) {
}
}
func_8008C204();
func_8008C1E0(&D_80165678, &D_801655F0);
func_8008C1E0(&D_80165678, (s32)&D_801655F0);
}
#ifdef MIPS_TO_C
@@ -2314,7 +2315,7 @@ block_10:
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005C360.s")
#endif
void func_8005C64C(s32 *arg0) {
void func_8005C64C(UNUSED s32 *arg0) {
}
@@ -2837,49 +2838,53 @@ loop_2:
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005D1F4.s")
#endif
extern Gfx D_0F05D1E8[];
extern Gfx D_0F05D420[];
extern Gfx D_0F05D674[];
extern Gfx D_0F05DA50[];
extern Gfx D_0F05DDFC[];
extern Gfx D_0F05DFC0[];
extern Gfx D_0F05E19C[];
extern Gfx D_0F05E3E0[];
extern s32 D_8018D420;
extern s32 D_8018D424;
extern s32 D_8018D438;
extern s32 D_8018D43C;
extern s32 D_8018D440;
extern s32 D_8018D444;
extern s32 D_8018D448;
extern s32 D_8018D44C;
extern s32 D_8018D450;
extern s32 D_8018D454;
extern s32 D_8018D458;
extern s32 D_8018D45C;
extern s32 D_8018D460;
extern s32 D_8018D464;
extern s32 D_8018D468;
extern s32 D_8018D46C;
extern s32 D_8018D470;
extern s32 D_8018D478;
extern s32 D_8018D480;
extern s32 D_8018D484;
extern s32 D_8018D488;
extern s32 D_8018D494;
extern s32 D_8018D498;
extern s32 D_8018D49C;
extern s32 D_8018D4A0;
extern s32 D_8018D4A4;
extern s32 D_8018D4A8;
extern s32 D_8018D4AC;
extern s32 D_8018D4B0;
extern s32 D_8018D4B4;
extern s32 D_8018D4B8;
extern s32 D_8018D4BC;
extern s32 D_8018D4C0;
extern s32 D_8018D4C4;
extern s32 D_8018D4C8;
// todo: Import?
// Appears to be balloons
extern u8 D_0F05D1E8[]; // unk
extern u8 D_0F05D420[]; // unk
extern u8 D_0F05D674[]; // unk
extern u8 D_0F05DA50[]; // unk
extern u8 D_0F05DDFC[]; // unk
extern u8 D_0F05DFC0[]; // unk
extern u8 D_0F05E19C[]; // balloon top?
extern u8 D_0F05E3E0[]; // balloon bottom?
extern u8 *D_8018D420;
extern u8 *D_8018D424;
extern u8 *D_8018D438;
extern u8 *D_8018D43C;
extern u8 *D_8018D440;
extern u8 *D_8018D444;
extern u8 *D_8018D448;
extern u8 *D_8018D44C;
extern u8 *D_8018D450;
extern u8 *D_8018D454;
extern u8 *D_8018D458;
extern u8 *D_8018D45C;
extern u8 *D_8018D460;
extern u8 *D_8018D464;
extern u8 *D_8018D468;
extern u8 *D_8018D46C;
extern u8 *D_8018D470;
extern u8 *D_8018D478;
extern u8 *D_8018D488;
extern u8 *D_8018D494;
extern u8 *D_8018D498;
extern u8 *D_8018D49C;
extern u8 *D_8018D4A0;
extern u8 *D_8018D4A4;
extern u8 *D_8018D4A8;
extern u8 *D_8018D4AC;
extern u8 *D_8018D4B0;
extern u8 *D_8018D4B4;
extern u8 *D_8018D4B8;
extern u8 *D_8018D4BC;
extern u8 *D_8018D4C0;
extern u8 *D_8018D4C4;
extern u8 *D_8018D4C8;
extern u8 gTexture69B03C[];
extern u8 gTexture69B140[];
extern u8 gTexture69B378[];
@@ -2910,45 +2915,46 @@ extern u8 gTextureKartShadow[];
extern u8 gTextureLightningBolt0[];
extern u8 gTextureLightningBolt1[];
// Appears to load GP Mode race staging balloons and kart shadows.
void func_8005D290(void) {
D_8018D488 = dma_textures(&gTexture69C80C, 0x400, 0x400);
D_8018D474 = dma_textures(&gTextureKartShadow, 0x1000, 0x1000);
D_8018D420 = dma_textures(&gTexture69B03C, 0x100, 0x100);
D_8018D424 = dma_textures(&gTexture69B140, 0x400, 0x400);
D_8018D478 = dma_textures(&gTexture69C1E8, 0x200, 0x200);
D_8018D480 = dma_textures(&gTexture69BA28, 0x400, 0x400);
D_8018D484 = dma_textures(&gTexture69B960, 0x400, 0x400);
D_8018D48C = dma_textures(&gTexture69C354, 0x400, 0x400);
D_8018D494 = dma_textures(&gTexture69C4E4, 0x400, 0x400);
D_8018D488 = dma_textures(gTexture69C80C, 0x400, 0x400);
D_8018D474 = dma_textures(gTextureKartShadow, 0x1000, 0x1000);
D_8018D420 = dma_textures(gTexture69B03C, 0x100, 0x100);
D_8018D424 = dma_textures(gTexture69B140, 0x400, 0x400);
D_8018D478 = dma_textures(gTexture69C1E8, 0x200, 0x200);
D_8018D480 = dma_textures(gTexture69BA28, 0x400, 0x400);
D_8018D484 = dma_textures(gTexture69B960, 0x400, 0x400);
D_8018D48C = dma_textures(gTexture69C354, 0x400, 0x400);
D_8018D494 = dma_textures(gTexture69C4E4, 0x400, 0x400);
D_8018D490 = D_8018D48C;
D_8018D498 = dma_textures(&gTexture69B378, 0x1000, 0x1000);
D_8018D4BC = dma_textures(&D_0F05E19C, 0x800, 0x800);
D_8018D4C0 = dma_textures(&D_0F05E3E0, 0x800, 0x800);
D_8018D49C = dma_textures(&gTexture69C9C4, 0x200, 0x200);
D_8018D4A0 = dma_textures(&gTextureBoingExclamation, 0x800, 0x800);
D_8018D4A4 = dma_textures(&D_0F05DDFC, 0x800, 0x800);
D_8018D4A8 = dma_textures(&D_0F05DFC0, 0x800, 0x800);
D_8018D4AC = dma_textures(&D_0F05D674, 0x800, 0x800);
D_8018D4B0 = dma_textures(&D_0F05DA50, 0x800, 0x800);
D_8018D4B4 = dma_textures(&D_0F05D1E8, 0x800, 0x800);
D_8018D4B8 = dma_textures(&D_0F05D420, 0x800, 0x800);
D_8018D438 = dma_textures(&gTexture69CB84, 0x800, 0x800);
D_8018D43C = dma_textures(&gTexture69CCEC, 0x800, 0x800);
D_8018D440 = dma_textures(&gTexture69CEB8, 0x800, 0x800);
D_8018D444 = dma_textures(&gTexture69D148, 0x800, 0x800);
D_8018D448 = dma_textures(&gTexture69D4E0, 0x800, 0x800);
D_8018D44C = dma_textures(&gTexture69D8FC, 0x800, 0x800);
D_8018D450 = dma_textures(&gTexture69DCB4, 0x800, 0x800);
D_8018D454 = dma_textures(&gTexture69DFA0, 0x800, 0x800);
D_8018D458 = dma_textures(&gTexture69E25C, 0x800, 0x800);
D_8018D45C = dma_textures(&gTexture69E518, 0x800, 0x800);
D_8018D460 = dma_textures(&gTexture69E7A8, 0x800, 0x800);
D_8018D464 = dma_textures(&gTexture69EA18, 0x800, 0x800);
D_8018D468 = dma_textures(&gTexture69EC54, 0x800, 0x800);
D_8018D46C = dma_textures(&gTexture69EE38, 0x800, 0x800);
D_8018D470 = dma_textures(&gTexture69EFE0, 0x800, 0x800);
D_8018D4C4 = dma_textures(&gTextureLightningBolt0, 0x800, 0x800);
D_8018D4C8 = dma_textures(&gTextureLightningBolt1, 0x800, 0x800);
D_8018D498 = dma_textures(gTexture69B378, 0x1000, 0x1000);
D_8018D4BC = dma_textures(D_0F05E19C, 0x800, 0x800);
D_8018D4C0 = dma_textures(D_0F05E3E0, 0x800, 0x800);
D_8018D49C = dma_textures(gTexture69C9C4, 0x200, 0x200);
D_8018D4A0 = dma_textures(gTextureBoingExclamation, 0x800, 0x800);
D_8018D4A4 = dma_textures(D_0F05DDFC, 0x800, 0x800);
D_8018D4A8 = dma_textures(D_0F05DFC0, 0x800, 0x800);
D_8018D4AC = dma_textures(D_0F05D674, 0x800, 0x800);
D_8018D4B0 = dma_textures(D_0F05DA50, 0x800, 0x800);
D_8018D4B4 = dma_textures(D_0F05D1E8, 0x800, 0x800);
D_8018D4B8 = dma_textures(D_0F05D420, 0x800, 0x800);
D_8018D438 = dma_textures(gTexture69CB84, 0x800, 0x800);
D_8018D43C = dma_textures(gTexture69CCEC, 0x800, 0x800);
D_8018D440 = dma_textures(gTexture69CEB8, 0x800, 0x800);
D_8018D444 = dma_textures(gTexture69D148, 0x800, 0x800);
D_8018D448 = dma_textures(gTexture69D4E0, 0x800, 0x800);
D_8018D44C = dma_textures(gTexture69D8FC, 0x800, 0x800);
D_8018D450 = dma_textures(gTexture69DCB4, 0x800, 0x800);
D_8018D454 = dma_textures(gTexture69DFA0, 0x800, 0x800);
D_8018D458 = dma_textures(gTexture69E25C, 0x800, 0x800);
D_8018D45C = dma_textures(gTexture69E518, 0x800, 0x800);
D_8018D460 = dma_textures(gTexture69E7A8, 0x800, 0x800);
D_8018D464 = dma_textures(gTexture69EA18, 0x800, 0x800);
D_8018D468 = dma_textures(gTexture69EC54, 0x800, 0x800);
D_8018D46C = dma_textures(gTexture69EE38, 0x800, 0x800);
D_8018D470 = dma_textures(gTexture69EFE0, 0x800, 0x800);
D_8018D4C4 = dma_textures(gTextureLightningBolt0, 0x800, 0x800);
D_8018D4C8 = dma_textures(gTextureLightningBolt1, 0x800, 0x800);
}
void func_8005D6C0(Player* player) {
@@ -4082,7 +4088,7 @@ block_19:
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80060504.s")
#endif
void func_800608E0(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
void func_800608E0(Player *player, s16 arg1, UNUSED s32 arg2, s8 arg3, UNUSED s8 arg4) {
f32 var_f0;
f32 sp50;
f32 sp4C;
@@ -4120,9 +4126,9 @@ void func_80060B14(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
}
}
void func_80060BCC(Player *player, s16 arg1, s32 arg2, s32 arg3) {
void func_80060BCC(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
s32 sp54;
s32 stackPadding0;
UNUSED s32 pad;
s32 sp4C;
f32 sp48;
f32 sp44;
@@ -4207,7 +4213,7 @@ void func_80061224(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
}
}
void func_800612F8(Player *player, s32 arg1, s32 arg2, s32 arg3) {
void func_800612F8(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
s32 var_s2;
for (var_s2 = 0; var_s2 < 10; var_s2++){
@@ -4225,7 +4231,7 @@ void func_800612F8(Player *player, s32 arg1, s32 arg2, s32 arg3) {
player->unk_046 &= ~0x0008;
}
void func_80061430(Player *player, s32 arg1, s32 arg2, s32 arg3) {
void func_80061430(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
s32 var_s2;
for (var_s2 = 0; var_s2 < 7; var_s2++){
@@ -4277,7 +4283,7 @@ void func_800615AC(Player *player, s16 arg1, s32 arg2, s32 arg3) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800615AC.s")
#endif
void func_80061754(Player *player, s16 arg1, s32 arg2, s32 arg3, s32 arg4) {
void func_80061754(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s32 arg3, UNUSED s32 arg4) {
s32 sp54;
s16 temp_s1;
s32 sp4C;
@@ -4324,12 +4330,12 @@ void func_8006199C(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
}
}
void func_80061A34(Player *player, s16 arg1, s32 arg2, s32 arg3) {
void func_80061A34(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
s32 sp54;
s32 stackPadding0;
UNUSED s32 stackPadding0;
s32 sp4C;
f32 sp48;
s32 stackPadding1;
UNUSED s32 stackPadding1;
sp54 = random_int(0x0168U) - 0xB4;
sp4C = random_int(6U);
@@ -4384,13 +4390,13 @@ void func_80061D4C(Player *player, s16 arg1, s32 arg2, s32 arg3) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80061D4C.s")
#endif
void func_80061EF4(Player *player, s16 arg1, s32 arg2, s32 arg3) {
s32 stackPadding0;
void func_80061EF4(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
UNUSED s32 stackPadding0;
s32 var_t0 = 0x000000FF;
s32 var_t1;
s32 temp_v1;
f32 var_f2;
s32 stackPadding1;
UNUSED s32 stackPadding1;
if(1) {};
temp_v1 = random_int(8U) & 1;
@@ -4504,7 +4510,7 @@ void func_80062484(Player* player, UnkPlayerStruct258* arg1, s32 arg2) {
arg1->unk_01E = 0;
}
void func_800624D8(Player *player, s32 arg1, s32 arg2, s32 arg3) {
void func_800624D8(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
s32 var_s1;
switch (player->unk_0F8) {
@@ -5009,7 +5015,7 @@ void func_80063D58(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
}
}
void func_80063FBC(Player *player, s16 arg1, s32 arg2, s32 arg3) {
void func_80063FBC(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
f32 sp3C;
f32 sp38;
f32 sp34;
@@ -5081,11 +5087,11 @@ void func_800643A8(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
}
}
void func_800644E8(Player *player, s16 arg1, s32 arg2, s32 arg3) {
void func_800644E8(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
f32 thing2;
s32 stackPadding0;
UNUSED s32 stackPadding0;
s32 thing;
s32 stackPadding1;
UNUSED s32 stackPadding1;
if (player->unk_258[30 + arg1].unk_01E >= 9) {
player->unk_258[30 + arg1].unk_01E = 9;
@@ -5109,11 +5115,11 @@ void func_800644E8(Player *player, s16 arg1, s32 arg2, s32 arg3) {
}
}
void func_80064664(Player *player, s16 arg1, s32 arg2, s32 arg3) {
void func_80064664(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
f32 temp_f4;
s32 stackPadding0;
UNUSED s32 stackPadding0;
s32 temp_v1;
s32 stackPadding1;
UNUSED s32 stackPadding1;
temp_v1 = player->unk_258[30 + arg1].unk_01E;
temp_f4 = player->unk_258[30 + arg1].unk_024;
@@ -5550,7 +5556,7 @@ void func_8006538C(Player *player, s8 arg1, s16 arg2, s8 arg3) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006538C.s")
#endif
void func_800658A0(Player *player, s8 arg1, s16 arg2, s8 arg3) {
void func_800658A0(Player *player, UNUSED s8 arg1, s16 arg2, s8 arg3) {
Vec3f sp54;
Vec3s sp4C;
s16 red;
+6 -5
View File
@@ -5,6 +5,7 @@
// code_80057C60
void func_8005C674(s8 arg0, s16 *arg1, s16 *arg2, s16 *arg3);
void func_80057C60();
void func_80057CE4();
void func_80057DD0();
@@ -161,9 +162,9 @@ void func_800658A0(Player*, s8, s16, s8);
void func_80066998(Player*, s8, s16, s8);
void func_80067964(Player*, s8, f32, s8, s32);
void func_80067D3C(Player*, s8, s32, s32, f32, s32);
void func_80067D3C(Player*, s8, u8*, s32, f32, s32);
void func_8006801C(Player*, s8, s32, s32, f32, s32);
void func_8006801C(Player*, s8, u8*, s32, f32, s32);
void func_80068310(Player*, s8, f32, s8, s32);
void func_80068724(Player*, s8, f32, s8, s32);
void func_80068AA4(Player*, s8, f32, s8, s32);
@@ -222,7 +223,7 @@ extern u8 gControllerRandom;
extern struct Controller *gControllerOne;
extern s32 D_8018D214;
extern s32 D_8018D2C8[];
extern uintptr_t D_8018D48C; // Some kind of pointer to some decoded texture(s)
extern u8 *D_8018D48C; // Some kind of pointer to some decoded texture(s)
extern u16 gPlayerBalloonStatus[8][3]; // D_8018D5F0
extern s16 gPlayerBalloonCount[]; // D_8018D8C0
@@ -264,7 +265,7 @@ extern s32 D_8018D204;
extern s32 D_8018D21C;
extern s32 D_8018D2A4;
extern s32 D_8018D2BC;
extern s32 D_8018D480;
extern s32 D_8018D484;
extern u8 *D_8018D480;
extern u8 *D_8018D484;
#endif
+17 -4
View File
@@ -7,6 +7,17 @@
#include "objects.h"
#include "common_textures.h"
#include <sounds.h>
#include <functions.h>
#include "audio/external.h"
void func_8006FA94(void);
void func_80071428(void);
void func_80071818(void);
void func_80071C28(void);
void func_80070148(void);
void func_8006EB10(void);
void func_80071A20(void);
void func_8006E9C0(void) {
@@ -179,13 +190,15 @@ void func_8006ED60() {
D_80183D5C = -1;
}
s32 func_8006ED94(u8 *devAddr, u8 *baseAddress, u32 size, u32 offset)
u8 *func_8006ED94(u8 *devAddr, u8 *baseAddress, u32 size, u32 offset)
{
u8 **tempAddress;
u8 *address;
address = baseAddress + offset;
osInvalDCache(address, (0, size = (~0xF) & (size + 0xF)));
osPiStartDma(&gDmaIoMesg, 0, 0, &_other_texturesSegmentRomStart[((u32) devAddr) & 0xFFFFFF], address, size, &gDmaMesgQueue);
size = ALIGN16(size);
osInvalDCache(address, (size));
osPiStartDma(&gDmaIoMesg, 0, 0, (uintptr_t)&_other_texturesSegmentRomStart[((u32) devAddr) & 0xFFFFFF], address, size, &gDmaMesgQueue);
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, 1);
tempAddress = &address;
mio0decode(*tempAddress, (u8 *) baseAddress);
@@ -193,7 +206,7 @@ s32 func_8006ED94(u8 *devAddr, u8 *baseAddress, u32 size, u32 offset)
}
void func_8006EE44(void) {
D_8018D1E0 = func_8006ED94(&gTextureLogoMarioKart64, D_8018D9B0, 0x79E1, 0x20000);
D_8018D1E0 = func_8006ED94((u8 *)&gTextureLogoMarioKart64, (u8 *) D_8018D9B0, 0x79E1, 0x20000);
}
// Some kind of initalization for the Item Window part of the HUD
+4 -4
View File
@@ -6,7 +6,7 @@
void func_8006E9C0();
void func_8006EA5C();
void func_8006ED60();
s32 func_8006ED94(u8 *devAddr, u8* baseAddress, u32 size, u32 offset);
u8 *func_8006ED94(u8 *devAddr, u8* baseAddress, u32 size, u32 offset);
void func_8006EE44();
void func_8006EE7C(s32);
void func_80070190();
@@ -14,14 +14,14 @@ void func_800703E0(s32, s32, u16*);
void func_80070714();
extern s32 gScreenModeSelection;
extern s32 gTextureLogoMarioKart64;
extern s8 *gTextureLogoMarioKart64;
extern s16 D_80165730;
extern s16 D_80165740;
extern s16 D_80165748;
extern s32 D_80183D5C;
extern s8 D_8018EDF3;
extern s32 D_8018D1E0;
extern s32 D_8018D9B0;
extern u8 *D_8018D1E0;
extern intptr_t D_8018D9B0;
extern struct_8018CA70_entry D_8018CA70[];
// These are all *technically* hardcoded references to spots in D_8018CA70, but there's something weird
+177 -168
View File
@@ -16,6 +16,9 @@
#include "audio/external.h"
#include "sounds.h"
#include <actors.h>
#include "race_logic.h"
#include "code_802AAA70.h"
#include "code_8008C1D0.h"
extern s32 D_8018D1F0;
@@ -128,7 +131,6 @@ void func_80072100(s32 *arg0) {
}
void func_80072120(s32 *arg0, s32 arg1) {
s32 var_s0;
s32 i;
for (i = 0; i < arg1; i++) {
@@ -677,8 +679,8 @@ void func_80073404(s32 arg0, u8 arg1, u8 arg2, Vtx *arg3) {
D_80165C18[arg0].unk_054 = 0;
}
void func_80073444(s32 arg0, s32* arg1, s32* arg2, u8 arg3, u16 arg4) {
D_80165C18[arg0].unk_068 = arg1;
void func_80073444(s32 arg0, u8 *texture, u8* arg2, u8 arg3, u16 arg4) {
D_80165C18[arg0].unk_068 = (u32 *)texture;
D_80165C18[arg0].unk_06C = arg2;
D_80165C18[arg0].unk_0D9 = arg3;
D_80165C18[arg0].unk_0DA = arg4;
@@ -687,7 +689,7 @@ void func_80073444(s32 arg0, s32* arg1, s32* arg2, u8 arg3, u16 arg4) {
D_80165C18[arg0].unk_054 = 0;
}
UNUSED void func_8007348C(s32 arg0, s32* arg1, u8 arg2, u8 arg3, s32 arg4) {
UNUSED void func_8007348C(s32 arg0, u32* arg1, u8 arg2, u8 arg3, Vtx *arg4) {
D_80165C18[arg0].unk_060 = arg1;
D_80165C18[arg0].unk_068 = arg1;
D_80165C18[arg0].unk_0D9 = arg2;
@@ -731,7 +733,7 @@ UNUSED void func_80073570(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_80073570.s")
#endif
void func_800735BC(s32 arg0, s32 arg1, f32 arg2) {
void func_800735BC(s32 arg0, Gfx *arg1, f32 arg2) {
D_80165C18[arg0].unk_054 = 0;
D_80165C18[arg0].unk_070 = arg1;
D_80165C18[arg0].unk_000 = arg2;
@@ -1160,26 +1162,27 @@ void func_80074510(uintptr_t devAddr, void * vaddr, size_t nbytes) {
D_8018D224 = 1;
}
void func_80074574(s32 arg0, void *arg1, u16 arg2, u16 arg3) {
func_80074510(&_other_texturesSegmentRomStart[SEGMENT_OFFSET(arg0)], arg1, arg2 * arg3);
void func_80074574(u8 *arg0, void *arg1, u16 arg2, u16 arg3) {
func_80074510((uintptr_t) &_other_texturesSegmentRomStart[SEGMENT_OFFSET(arg0)], arg1, arg2 * arg3);
}
void func_800745C8(s32 arg0, s32 arg1) {
// todo: arg1 should likely be a u8 *
void func_800745C8(s32 objectIndex, s32 arg1) {
s32 phi_a1;
if ((D_80165C18[arg0].unk_054 & 1) != 0) {
if ((D_80165C18[objectIndex].unk_054 & 1) != 0) {
phi_a1 = 0;
if (D_80165C18[arg0].unk_068 != D_80165C18[arg0].unk_060) {
D_80165C18[arg0].unk_060 = D_80165C18[arg0].unk_068;
if (D_80165C18[objectIndex].unk_068 != D_80165C18[objectIndex].unk_060) {
D_80165C18[objectIndex].unk_060 = D_80165C18[objectIndex].unk_068;
}
D_80165C18[arg0].unk_054 ^= 2;
if ((D_80165C18[arg0].unk_054 & 2) != 0) {
D_80165C18[objectIndex].unk_054 ^= 2;
if ((D_80165C18[objectIndex].unk_054 & 2) != 0) {
phi_a1 = 1;
}
D_80165C18[arg0].unk_064 = (D_80165C18[arg0].unk_0D9 * D_80165C18[arg0].unk_0DA * phi_a1) + arg1;
func_800744A0(arg0);
D_80165C18[objectIndex].unk_064 = (u8 *) (D_80165C18[objectIndex].unk_0D9 * D_80165C18[objectIndex].unk_0DA * phi_a1) + arg1;
func_800744A0(objectIndex);
}
}
@@ -1193,7 +1196,7 @@ void func_8007466C(s32 arg0, s32 arg1) {
if ((D_80165C18[arg0].unk_054 & 2) != 0) {
phi_a1 = 1;
}
D_80165C18[arg0].unk_064 = (D_80165C18[arg0].unk_0D9 * D_80165C18[arg0].unk_0DA * phi_a1) + arg1;
D_80165C18[arg0].unk_064 = (u8 *) (D_80165C18[arg0].unk_0D9 * D_80165C18[arg0].unk_0DA * phi_a1) + arg1;
func_800744A0(arg0);
}
}
@@ -1208,12 +1211,12 @@ void func_80074704(s32 arg0, s32 arg1) {
if ((D_80165C18[arg0].unk_054 & 2) != 0) {
phi_a1 = 1;
}
D_80165C18[arg0].unk_064 = (D_80165C18[arg0].unk_0D9 * D_80165C18[arg0].unk_0DA * phi_a1) + arg1;
D_80165C18[arg0].unk_064 = (u8 *) (D_80165C18[arg0].unk_0D9 * D_80165C18[arg0].unk_0DA * phi_a1) + arg1;
func_800744A0(arg0);
}
}
s32 func_80074790(s32 arg0, s32 arg1) {
u8 *func_80074790(s32 arg0, u8 *arg1) {
s32 phi_a2;
D_80165C18[arg0].unk_054 ^= 4;
@@ -1224,8 +1227,8 @@ s32 func_80074790(s32 arg0, s32 arg1) {
return (D_80165C18[arg0].unk_0D9 * D_80165C18[arg0].unk_0DA * phi_a2) + arg1;
}
void func_800747F0(s32 objectIndex, s32 arg1) {
s32 sp24;
void func_800747F0(s32 objectIndex, u8 *arg1) {
u8 *sp24;
if (D_80165C18[objectIndex].unk_0D2 != D_80165C18[objectIndex].unk_0D3) {
sp24 = D_80165C18[objectIndex].unk_06C + (D_80165C18[objectIndex].unk_0D9 * D_80165C18[objectIndex].unk_0DA * D_80165C18[objectIndex].unk_0D2);
func_80074574(sp24, (void *) func_80074790(objectIndex, arg1), D_80165C18[objectIndex].unk_0D9, D_80165C18[objectIndex].unk_0DA);
@@ -1234,19 +1237,19 @@ void func_800747F0(s32 objectIndex, s32 arg1) {
}
}
void func_80074894(s32 arg0, s32 arg1) {
func_800747F0(arg0, arg1);
func_800745C8(arg0, arg1);
void func_80074894(s32 objectIndex, u8 *arg1) {
func_800747F0(objectIndex, arg1);
func_800745C8(objectIndex, (s32)arg1);
}
void func_800748C4(s32 arg0, s32 arg1) {
func_800747F0(arg0, arg1);
func_8007466C(arg0, arg1);
void func_800748C4(s32 objectIndex, u8 *arg1) {
func_800747F0(objectIndex, arg1);
func_8007466C(objectIndex, (s32)arg1);
}
void func_800748F4(s32 arg0, s32 arg1) {
func_800747F0(arg0, arg1);
func_80074704(arg0, arg1);
void func_800748F4(s32 objectIndex, u8 *arg1) {
func_800747F0(objectIndex, arg1);
func_80074704(objectIndex, (s32)arg1);
}
struct _struct_D_800E6F30_0x3 {
@@ -1343,7 +1346,7 @@ void func_80074924(s32 objectIndex) {
}
temp_a0 = sp2C % 8;
temp_v0_2 = &D_800E6F30[temp_a0];
temp_v1 = &D_800E6F48[temp_a0];
temp_v1 = (struct _struct_D_800E6F48_0x3 *)&D_800E6F48[temp_a0];
temp_s0->unk_084[0] = (s16) temp_v0_2->unk0;
temp_s0->unk_084[1] = (s16) temp_v0_2->unk1;
temp_s0->unk_084[2] = (s16) temp_v0_2->unk2;
@@ -1518,8 +1521,7 @@ void func_8007542C(s32 arg0) {
void func_80075574(s32 objectIndex, Vec3f arg1, f32 arg2) {
struct_80165C18_entry *temp_v1;
s32 pad0;
s32 pad1;
UNUSED s32 pad[2];
func_800723A4(objectIndex, 0);
temp_v1 = &D_80165C18[objectIndex];
@@ -1853,7 +1855,7 @@ void func_8007601C(s32 arg0) {
if ((func_8007223C(arg0, 0x40000) != 0) && (func_80072354(arg0, 1) != 0)) {
func_800722A4(arg0, 1);
func_80075F98(D_80165C18[arg0].unk_004, (u16) D_80165C18[arg0].unk_0BE[1], 1.0f);
func_800C9D80(D_80165C18[arg0].unk_004, &D_80165C18[arg0].unk_038, 0x5102800A);
func_800C9D80(D_80165C18[arg0].unk_004, D_80165C18[arg0].unk_038, 0x5102800A);
if (D_80165C18[arg0].unk_0A4 > 0) {
D_80165C18[arg0].unk_0A4--;
D_80165C18[arg0].unk_04C = 0x5A;
@@ -2062,7 +2064,7 @@ extern s16 D_800E579C[1]; //[15][3]; /* unable to
extern s16 D_800E57F8[1]; //[15][3]; /* unable to generate initializer */
void func_80076884(s32 arg0) {
s32 pad[2];
UNUSED s32 pad[2];
s32 i;
s16 *var_s2;
u16 temp_v0;
@@ -2199,7 +2201,7 @@ void func_80076C9C(s32 objectIndex, Vec3f arg1, s16 arg2) {
func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f);
}
void func_80076D70(Vec3f arg0, f32 arg1, s16 arg2) {
void func_80076D70(Vec3f arg0, UNUSED f32 arg1, s16 arg2) {
s32 temp_v0;
temp_v0 = func_80072044(D_8018C870, &D_80183E6C, 0x00000040);
@@ -2268,7 +2270,7 @@ void func_80076FEC(s32 objectIndex, s32 flameIndex) {
D_80165C18[objectIndex].unk_0D5 = 0xB;
D_80165C18[objectIndex].unk_064 = D_0D02BC58;
D_80165C18[objectIndex].unk_06C = D_0D02BC58;
D_80165C18[0, objectIndex].unk_000 = 0.8f;
D_80165C18[objectIndex].unk_000 = 0.8f;
// Mixing arr + offset and array access... Why?
// todo: ifdef this to proper array access.
@@ -2320,14 +2322,14 @@ void func_80077138(s32 objectIndex, Vec3f arg1, s32 arg2) {
}
temp_v0_3 = random_int(0x000CU);
if (temp_v0_3 < 9) {
func_8005C674(temp_v0_3, &sp30[2], &sp30[1], &sp30);
func_8005C674(temp_v0_3, &sp30[2], &sp30[1], sp30);
D_80165C18[objectIndex].unk_048 = 0;
D_80165C18[objectIndex].unk_084[0] = sp30[2];
D_80165C18[objectIndex].unk_084[1] = sp30[1];
D_80165C18[objectIndex].unk_084[2] = sp30[0];
} else {
temp_v0_3 = random_int(3U);
func_8005C6B4(temp_v0_3, &sp30[2], &sp30[1], &sp30);
func_8005C6B4(temp_v0_3, &sp30[2], &sp30[1], sp30);
D_80165C18[objectIndex].unk_084[0] = sp30[2];
D_80165C18[objectIndex].unk_084[1] = sp30[1];
D_80165C18[objectIndex].unk_084[2] = sp30[0];
@@ -2341,7 +2343,7 @@ void func_80077138(s32 objectIndex, Vec3f arg1, s32 arg2) {
}
}
void func_800773D8(s32 arg0, s32 arg1) {
void func_800773D8(f32 *arg0, s32 arg1) {
s32 temp_v0 = func_80072044(D_8018C630, &D_80183E5C, 0x80);
if (temp_v0 != -1) {
func_80077138(temp_v0, arg0, arg1);
@@ -2354,7 +2356,7 @@ void func_80077428(s32 arg0) {
}
void func_80077450(s32 objectIndex) {
s16 stackPadding0;
UNUSED s16 stackPadding0;
s16 sp3C;
s16 sp3A;
s16 sp38;
@@ -2420,16 +2422,16 @@ void func_80077640(void) {
}
void func_80077700(s32 objectIndex, Vec3f arg1, s32 arg2) {
s32 stackPadding1;
u16 stackPadding0;
UNUSED s32 stackPadding1;
UNUSED u16 stackPadding0;
u16 temp_s0;
u16 sp3E;
u16 sp3C;
func_800723A4(objectIndex, 0);
D_80165C18[objectIndex].unk_0D5 = 7;
D_80165C18[objectIndex].unk_060 = (s32 *) D_0D028DD8;
D_80165C18[objectIndex].unk_068 = (s32 *) D_0D028DD8;
D_80165C18[objectIndex].unk_060 = (u32 *) D_0D028DD8;
D_80165C18[objectIndex].unk_068 = (u32 *) D_0D028DD8;
D_80165C18[objectIndex].unk_000 = 0.1f;
D_80165C18[objectIndex].unk_044 = arg1[1];
switch (gCurrentCourseId) {
@@ -2471,7 +2473,7 @@ s32 func_80077A54(Vec3f arg0, s32 arg1) {
return temp_v0;
}
void func_80077AB0(Vec3f arg0, s32 arg1) {
void func_80077AB0(Vec3f arg0, UNUSED s32 arg1) {
s32 var_s0;
for (var_s0 = 0; var_s0 < D_8018C970_SPAWN_SIZE; var_s0++) {
@@ -2665,15 +2667,15 @@ void func_800780CC(s32 objectIndex, Camera *camera) {
extern s32 D_8018D1F0;
void func_80078170(s32 arg0, s32 arg1) {
s32 *phi_s0;
void func_80078170(s32 arg0, Camera *arg1) {
s32 *objectIndex;
s32 i;
func_80077D5C();
func_80077D5C(arg0);
for (i = 0; i < D_8018D1F0; i++) {
phi_s0 = &D_8018CC80[arg0 + i];
if (D_80165C18[*phi_s0].unk_0A6 != 0) {
func_800780CC(*phi_s0, arg1);
objectIndex = &D_8018CC80[arg0 + i];
if (D_80165C18[*objectIndex].unk_0A6 != 0) {
func_800780CC(*objectIndex, arg1);
}
}
}
@@ -2682,9 +2684,9 @@ void func_80078220(s32 objectIndex) {
struct_80165C18_entry *temp_v0;
temp_v0 = &D_80165C18[objectIndex];
temp_v0->unk_064 = &D_0D0293D8;
temp_v0->unk_06C = (s32) &D_0D0293D8;
temp_v0->unk_074 = (s32) &D_0D005770;
temp_v0->unk_064 = D_0D0293D8;
temp_v0->unk_06C = D_0D0293D8;
temp_v0->unk_074 = D_0D005770;
temp_v0->unk_000 = 0.15f;
func_80086EF0(objectIndex);
func_80072488(objectIndex);
@@ -2694,7 +2696,7 @@ void func_80078288(s32 objectIndex) {
s16 sp3E;
s16 sp3C;
s16 sp3A;
u16 temp_t3;
UNUSED u16 pad;
u16 temp_t6;
switch (D_80165C18[objectIndex].unk_0AE) { /* irregular */
@@ -2847,15 +2849,24 @@ void func_800789AC(s32 arg0, Camera *arg1, Vec3s *arg2) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800789AC.s")
#endif
void func_80078A44(s32 arg0, Camera *camera, s32 rot) {
typedef struct {
Vec3su unk0;
u16 pad;
Vec3su unkA;
u16 pad2;
} test;
typedef u16 testA[44][4];
void func_80078A44(s32 arg0, Camera *camera, u16 rot[][4]) {
s32 temp_s0;
s32 i;
for (i = 0; i < D_8018D1F0; i++, arg0++) {
temp_s0 = D_8018CC80[arg0];
// i * 8
func_800788F8(temp_s0, *(u16 *)((i << 3) + rot), camera);
// rot[i][0]
func_800788F8(temp_s0, *(u16 *)(rot + i), camera);
switch (i % 5U) {
case 0:
func_80073CB0(temp_s0, &D_80165C18[temp_s0].unk_0A0, 0x00000028, 0x000000B4, 0x000000FF, 0, -1);
@@ -2880,14 +2891,14 @@ UNUSED void func_80078C68() {
}
extern s32 D_800E6A38; /* unable to generate initializer; const */
extern s32 D_800E6AA8; /* unable to generate initializer; const */
extern s32 D_800E6B00; /* unable to generate initializer; const */
extern s32 D_800E6B38; /* unable to generate initializer; const */
extern s32 D_800E6BA8; /* unable to generate initializer; const */
extern s32 D_800E6C10; /* unable to generate initializer; const */
extern s32 D_800E6C80; /* unable to generate initializer; const */
extern s32 D_800E6DE0; /* unable to generate initializer; const */
extern u16 D_800E6A38[]; /* unable to generate initializer; const */
extern u16 D_800E6AA8[]; /* unable to generate initializer; const */
extern u16 D_800E6B00[]; /* unable to generate initializer; const */
extern u16 D_800E6B38[]; /* unable to generate initializer; const */
extern u16 D_800E6BA8[]; /* unable to generate initializer; const */
extern u16 D_800E6C10[]; /* unable to generate initializer; const */
extern u16 D_800E6C80[][4]; /* unable to generate initializer; const */
extern u16 D_800E6DE0[][4]; /* unable to generate initializer; const */
extern s16 D_8018D200;
extern s32 D_8018D1F0;
@@ -2898,7 +2909,7 @@ extern s16 D_8018D218;
void func_80078C70(s32 arg0) {
s32 sp1C;
s32 camera;
Camera *camera;
if (D_801657C8 == 0) {
switch (arg0) { /* switch 1 */
@@ -2934,42 +2945,42 @@ void func_80078C70(s32 arg0) {
D_8018D1E8 = 1.7578125 / D_8018D200;
D_8018D218 = 0xA0;
switch (gCurrentCourseId) { /* switch 2 */
case 0: /* switch 2 */
func_800789AC(sp1C, camera, &D_800E6A38);
break;
case 4: /* switch 2 */
func_800789AC(sp1C, camera, &D_800E6AA8);
break;
case 5: /* switch 2 */
func_80078170(sp1C, camera);
break;
case 6: /* switch 2 */
func_800789AC(sp1C, camera, &D_800E6B00);
break;
case 7: /* switch 2 */
func_800789AC(sp1C, camera, &D_800E6B38);
break;
case 8: /* switch 2 */
func_800789AC(sp1C, camera, &D_800E6A38);
break;
case 9: /* switch 2 */
func_800789AC(sp1C, camera, &D_800E6AA8);
break;
case 10: /* switch 2 */
func_80078A44(sp1C, camera, &D_800E6C80);
break;
case 11: /* switch 2 */
func_800789AC(sp1C, camera, &D_800E6C10);
break;
case 12: /* switch 2 */
func_800789AC(sp1C, camera, &D_800E6BA8);
break;
case 13: /* switch 2 */
func_80078A44(sp1C, camera, &D_800E6C80);
break;
case 14: /* switch 2 */
func_80078A44(sp1C, camera, &D_800E6DE0);
break;
case 0: /* switch 2 */
func_800789AC(sp1C, camera, D_800E6A38);
break;
case 4: /* switch 2 */
func_800789AC(sp1C, camera, D_800E6AA8);
break;
case 5: /* switch 2 */
func_80078170(sp1C, camera);
break;
case 6: /* switch 2 */
func_800789AC(sp1C, camera, D_800E6B00);
break;
case 7: /* switch 2 */
func_800789AC(sp1C, camera, D_800E6B38);
break;
case 8: /* switch 2 */
func_800789AC(sp1C, camera, D_800E6A38);
break;
case 9: /* switch 2 */
func_800789AC(sp1C, camera, D_800E6AA8);
break;
case 10: /* switch 2 */
func_80078A44(sp1C, camera, D_800E6C80);
break;
case 11: /* switch 2 */
func_800789AC(sp1C, camera, D_800E6C10);
break;
case 12: /* switch 2 */
func_800789AC(sp1C, camera, D_800E6BA8);
break;
case 13: /* switch 2 */
func_80078A44(sp1C, camera, D_800E6C80);
break;
case 14: /* switch 2 */
func_80078A44(sp1C, camera, D_800E6DE0);
break;
}
}
}
@@ -3012,7 +3023,7 @@ void func_800790E4(s32 arg0) {
func_800723A4(D_80183DB8[arg0], 6);
}
extern s32 D_8018C028;
extern u8 *D_8018C028;
void func_80079114(s32 objectIndex, s32 arg1, s32 arg2) {
s32 a;
@@ -3076,7 +3087,7 @@ void func_800791F0(s32 objectIndex, u8 playerId) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_800791F0.s")
#endif
extern s32 D_0F05EB50;
extern u8 *D_0F05EB50;
extern s16 D_801656F0;
extern s32 D_8018D168;
extern s32 D_8018D180;
@@ -3086,8 +3097,8 @@ void func_800792D8(s32 objectIndex, s32 arg1) {
D_801656F0 = 0;
D_8018D168 = 0;
}
func_80073444(objectIndex, &gTLUTLakituCountdown, &D_0F05EB50, 0x38U, (u16) 0x00000048);
D_80165C18[objectIndex].unk_074 = (s32) &D_0D005EB0;
func_80073444(objectIndex, (u8 *) gTLUTLakituCountdown, (u8 *) &D_0F05EB50, 0x38U, (u16) 0x00000048);
D_80165C18[objectIndex].unk_074 = (Vtx *) &D_0D005EB0;
D_80165C18[objectIndex].unk_000 = 0.15f;
func_800721E8(objectIndex, 0x00000010);
func_80072488(objectIndex);
@@ -3097,10 +3108,10 @@ void func_800792D8(s32 objectIndex, s32 arg1) {
extern s16 D_801656F0;
extern s32 D_8018D160;
extern s32 D_8018D168;
extern s32 D_800E67B8; // static
extern u16 D_800E67B8[][4]; // static
void func_80079380(s32 objectIndex, s32 arg1) {
s32 pad;
UNUSED s32 pad;
switch (D_80165C18[objectIndex].unk_0A6) {
case 0:
break;
@@ -3115,7 +3126,7 @@ void func_80079380(s32 objectIndex, s32 arg1) {
break;
case 3:
func_800721C0(objectIndex, 0x00000010);
func_80086F10(objectIndex, 1, (s32) &D_800E67B8);
func_80086F10(objectIndex, 1, D_800E67B8);
func_80072488(objectIndex);
break;
case 4:
@@ -3178,23 +3189,23 @@ void func_80079380(s32 objectIndex, s32 arg1) {
}
}
extern s32 D_0F07E350;
extern s32 D_8018C028;
extern s32 D_800E6834; // static
extern u8 *D_0F07E350;
//extern s32 D_8018C028;
extern u16 D_800E6834[][4]; // static
void func_8007963C(s32 objectIndex, s32 playerIndex) {
struct_80165C18_entry *temp_v0;
func_800791F0(objectIndex, playerIndex);
func_80073444(objectIndex, &gTLUTLakituCheckeredFlag, &D_0F07E350, 0x48U, (u16) 0x00000038);
func_80073444(objectIndex, gTLUTLakituCheckeredFlag, (u8 *) &D_0F07E350, 0x48U, (u16) 0x00000038);
temp_v0 = &D_80165C18[objectIndex];
temp_v0->unk_064 = D_8018C028;
temp_v0->unk_074 = (s32) &D_0D006730;
temp_v0->unk_074 = D_0D006730;
temp_v0->unk_004[2] = 5000.0f;
temp_v0->unk_004[1] = 5000.0f;
temp_v0->unk_004[0] = 5000.0f;
temp_v0->unk_000 = 0.15f;
func_80086F10(objectIndex, 2, &D_800E6834);
func_80086F10(objectIndex, 2, D_800E6834);
func_800721E8(objectIndex, 0x00000010);
func_80072488(objectIndex);
}
@@ -3262,11 +3273,11 @@ void func_8007993C(s32 objectIndex, Player *player) {
}
extern Vtx D_0D005F30[];
extern Gfx D_0F0CCF50[];
extern u8 D_0F0CCF50;
void func_800799A8(s32 objectIndex, s32 arg1) {
func_800791F0(objectIndex, arg1);
func_80073444(objectIndex, &gTLUTLakituFishing, &D_0F0CCF50, 0x38U, (u16) 0x00000048);
func_80073444(objectIndex, gTLUTLakituFishing, &D_0F0CCF50, 0x38U, (u16) 0x00000048);
D_80165C18[objectIndex].unk_074 = D_0D005F30;
D_80165C18[objectIndex].unk_000 = 0.15f;
func_80086E70(objectIndex);
@@ -3276,7 +3287,7 @@ void func_800799A8(s32 objectIndex, s32 arg1) {
func_800C8F80((u8)arg1, 0x0100FA28);
}
void func_80079A5C(s32 objectIndex, Player *player) {
void func_80079A5C(s32 objectIndex, UNUSED Player *player) {
switch (D_80165C18[objectIndex].unk_0AE) {
case 0:
break;
@@ -3435,14 +3446,14 @@ void func_80079D44(s32 objectIndex, s32 playerId) {
func_80079A5C(objectIndex, temp_s1);
}
extern Gfx D_0F09DB50[];
extern s16 D_800E694C[];
extern u8 *D_0F09DB50[];
extern u16 D_800E694C[];
void func_8007A060(s32 objectIndex, s32 playerIndex) {
struct_80165C18_entry *temp_v0;
func_800791F0(objectIndex, playerIndex);
func_80073444(objectIndex, &gTLUTLakituSecondLap, &D_0F09DB50, 0x48U, (u16) 0x00000038);
func_80073444(objectIndex, gTLUTLakituSecondLap, (u8 *) D_0F09DB50, 0x48U, (u16) 0x00000038);
temp_v0 = &D_80165C18[objectIndex];
temp_v0->unk_064 = D_8018C028;
temp_v0->unk_074 = D_0D006730;
@@ -3486,13 +3497,13 @@ void func_8007A124(s32 objectIndex, s32 playerIndex) {
}
}
extern Gfx D_0F0AD750[];
extern u8 *D_0F0AD750;
void func_8007A228(s32 objectIndex, s32 playerIndex) {
struct_80165C18_entry *temp_v0;
func_800791F0(objectIndex, playerIndex);
func_80073444(objectIndex, &gTLUTLakituFinalLap, &D_0F0AD750, 0x48U, (u16) 0x00000038);
func_80073444(objectIndex, gTLUTLakituFinalLap, (u8 *)&D_0F0AD750, 0x48U, (u16) 0x00000038);
temp_v0 = &D_80165C18[objectIndex];
temp_v0->unk_064 = D_8018C028;
temp_v0->unk_074 = D_0D006730;
@@ -3536,13 +3547,13 @@ void func_8007A2EC(s32 objectIndex, s32 playerIndex) {
}
}
extern Gfx D_0F0BD350[];
extern s16 D_800E69B0[1]; // static?
extern u8 D_0F0BD350[];
extern u16 D_800E69B0[][4]; // static?
void func_8007A3F0(s32 objectIndex, s32 arg1) {
f32 var = 5000.0f;
func_800791F0(objectIndex, arg1);
func_80073444(objectIndex, &gTLUTLakituReverse, &D_0F0BD350, 0x48U, (u16) 0x00000038);
func_80073444(objectIndex, gTLUTLakituReverse, D_0F0BD350, 0x48U, (u16) 0x00000038);
D_80165C18[objectIndex].unk_064 = D_8018C028;
D_80165C18[objectIndex].unk_074 = D_0D006730;
D_80165C18[objectIndex].unk_004[2] = var;
@@ -3550,13 +3561,13 @@ void func_8007A3F0(s32 objectIndex, s32 arg1) {
D_80165C18[objectIndex].unk_004[0] = var;
D_80165C18[objectIndex].unk_000 = 0.15f;
func_800721E8(objectIndex, 0x00000010);
func_80086F10(objectIndex, 6, &D_800E69B0);
func_80086F10(objectIndex, 6, D_800E69B0);
D_80165C18[objectIndex].unk_0D6 = 0;
func_80072488(objectIndex);
func_800C8F80((u8)arg1, 0x0100FA28);
}
extern s16 D_800E69F4[1]; // static?
extern u16 D_800E69F4[][4]; // static?
void func_8007A4D4(s32 objectIndex, s32 playerId) {
Player *sp2C = &gPlayerOne[playerId];
@@ -3582,7 +3593,7 @@ void func_8007A4D4(s32 objectIndex, s32 playerId) {
switch (D_80165C18[objectIndex].unk_0D6) { /* switch 1; irregular */
case 1: /* switch 1 */
if ((D_80165C18[objectIndex].unk_0A6 >= 3) && ((sp2C->unk_0BC << 9) >= 0)) {
func_80086F10(objectIndex, 6, &D_800E69F4);
func_80086F10(objectIndex, 6, D_800E69F4);
D_80165C18[objectIndex].unk_0D6 = 2;
D_80165C18[objectIndex].unk_04C = 0x00000050;
func_800C9018((u8) playerId, 0x0100FA28);
@@ -3745,7 +3756,7 @@ void func_8007ABFC(s32 playerId, s32 arg1) {
}
void func_8007AC9C(s32 playerId) {
s32 stackPadding;
UNUSED s32 pad;
Player *player;
s32 objectIndex;
struct_80165C18_entry *itemWindow;
@@ -3821,11 +3832,11 @@ u8 gen_random_item(s16 arg0, s16 arg1)
return randomItem;
}
u8 func_8007AF40(s16 arg0, s16 arg1) {
u8 func_8007AF40(UNUSED s16 arg0, s16 arg1) {
return gen_random_item(arg1, 0);
}
u8 func_8007AF78(s32 arg0, s16 arg1) {
u8 func_8007AF78(UNUSED s32 arg0, s16 arg1) {
return gen_random_item(arg1, 1);
}
@@ -3847,7 +3858,7 @@ extern a D_801643BA[];
*/
s16 func_8007AFB0(s32 objectIndex, s32 arg1) {
s32 pad[3];
UNUSED s32 pad[3];
s16 randomItem;
randomItem = (s16) func_8007AF40((s16) gLapCountByPlayerId[arg1], (s16) gGPCurrentRaceRankByPlayerId[arg1]);
@@ -4270,8 +4281,8 @@ void func_8007B34C(s32 playerId) {
GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007B34C.s")
#endif
void func_8007BB9C(void) {
func_8007B34C();
void func_8007BB9C(s32 arg0) {
func_8007B34C(arg0);
}
#ifdef MIPS_TO_C
@@ -4331,7 +4342,7 @@ void func_8007BD04(s32 playerId) {
}
void func_8007BDA8(void) {
s32 pad;
UNUSED s32 pad;
s32 temp_a0;
func_8007BD04(0);
@@ -4501,12 +4512,12 @@ extern s8 D_801658BC;
void func_8007C280(void) {
if (D_801658BC == 1) {
D_801658BC = 0;
func_800723A4(D_80183F28, 0);
func_800723A4((s32)D_80183F28, 0);
}
if (D_80165CBE[D_80183F28[0]].unk[0]) {
func_8007BEC8(D_80183F28);
func_8007BFB0(D_80183F28);
func_8007BEC8((s32)D_80183F28);
func_8007BFB0((s32)D_80183F28);
}
}
#else
@@ -4613,13 +4624,13 @@ void func_8007C550(s32 objectIndex) {
func_8007C4A4(objectIndex);
}
extern s8 gTLUTBoo[];
extern s32 *D_80165880;
extern u8 gTLUTBoo[];
extern u8 *D_80165880;
void func_8007C5B4(s32 objectIndex) {
struct_80165C18_entry *temp_s0;
func_80073444(objectIndex, &gTLUTBoo, D_80165880, 48, 40);
func_80073444(objectIndex, gTLUTBoo, D_80165880, 48, 40);
temp_s0 = &D_80165C18[objectIndex];
temp_s0->unk_004[0] = 0.0f;
temp_s0->unk_004[1] = 0.0f;
@@ -4708,16 +4719,16 @@ void func_8007C7B4(s32 arg0, s32 arg1) {
s16 temp_s1_2;
s16 temp_s4;
s16 temp_s5;
s32 var_s2;
s32 *var_s2;
s32 var_s3;
s32 *temp_s1;
s32 temp_v1;
UNUSED s32 *temp_v1;
//struct_80165C18_entry *temp_s0;
//s32 i = 0;
temp_s1 = &D_8018BFA8[arg0];
//sp40 = D_8018BFA8[arg0];
var_s2 = &D_800E5D9C;
var_s2 = (s32 *)&D_800E5D9C;
do { //for (i = 0; i < 20; i++) {
var_s3 = *temp_s1;
@@ -4729,14 +4740,14 @@ void func_8007C7B4(s32 arg0, s32 arg1) {
temp_s4 = random_int(20) - 10;
temp_s5 = random_int(80) - 40;
random_int(4096); // burn a card?
temp_v1 = var_s2;
temp_v1 = (s32 *) var_s2;
var_s2 += 4;
temp_s1 += 4;
D_80165C18[var_s3].unk_010[0] = (f32)temp_s1_2;
D_80165C18[var_s3].unk_080 = var_s2;
D_80165C18[var_s3].unk_080 = (u16 *) var_s2;
D_80165C18[var_s3].unk_010[1] = (f32) temp_s4;
D_80165C18[var_s3].unk_010[2] = (f32) temp_s5;
} while (var_s2 != D_800E5DB0);
} while (*var_s2 != D_800E5DB0);
func_800C9060(arg1, 0x1900705A);
if (&D_8018BFA8[arg0] == D_8018BFA8) {
@@ -4936,7 +4947,6 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007CC00.s")
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
extern s32 gTLUTBoo;
extern s32 D_0F0D0E50;
extern void *D_8018CF1C;
@@ -5139,8 +5149,7 @@ void func_8007D360(s32 objectIndex, s32 arg1) {
}
void func_8007D6A8(s32 objectIndex, s32 arg1) {
s32 stackPadding0;
s32 stackPadding1;
UNUSED s32 pad[2];
struct_80165C18_entry *temp_v0;
temp_v0 = &D_80165C18[objectIndex];
@@ -5243,7 +5252,7 @@ void func_8007DA4C(s32 arg0) {
}
void func_8007DA74(s32 objectIndex) {
s32 stackPadding;
UNUSED s32 pad;
if ((D_80165C18[objectIndex].unk_0AE != 0) && (D_80165C18[objectIndex].unk_0AE == 1)) {
if (func_80087060(objectIndex, 0x0000001E) != 0) {
D_80165C18[objectIndex].unk_0C6 = 0U;
@@ -6370,7 +6379,7 @@ void func_8007FF5C(s32 arg0)
{
switch(D_80165CF5[arg0].unk[0]) {
case 1:
func_8007FB48();
func_8007FB48(arg0);
break;
case 2:
func_8007FEA4(arg0);
@@ -6380,18 +6389,18 @@ void func_8007FF5C(s32 arg0)
void func_8007FFC0(s32 objectIndex) {
switch (D_80165CBE[objectIndex].unk[0]) { /* irregular */
case 0:
break;
case 1:
func_8007FA08(objectIndex);
break;
case 3:
func_80072568(objectIndex, 0x00000032);
break;
case 4:
func_80072488(objectIndex);
func_80086FD4(objectIndex);
break;
case 0:
break;
case 1:
func_8007FA08(objectIndex);
break;
case 3:
func_80072568(objectIndex, 0x00000032);
break;
case 4:
func_80072488(objectIndex);
func_80086FD4(objectIndex);
break;
}
func_8007E63C(objectIndex);
func_8007FF5C(objectIndex);
@@ -8093,7 +8102,7 @@ extern UnkStruct_80165CBE D_80165CBE[];
void func_80083474(s32 arg0) {
if (D_80165CBE[arg0].unk[0] >= 2) {
func_80089F24();
func_80089F24(arg0);
}
}
@@ -8938,7 +8947,7 @@ void func_80085024(void) {
}
void func_8008502C(s32 objectIndex, s32 arg1) {
void func_8008502C(s32 objectIndex, UNUSED s32 arg1) {
func_80088038(objectIndex, D_80165C18[objectIndex].unk_01C[1], D_80165C18[objectIndex].unk_0C6);
func_8008BF18(objectIndex);
func_800873F4(objectIndex);
+18 -10
View File
@@ -4,6 +4,10 @@
#include "common_structs.h"
#include "camera.h"
void func_8007BBBC(s32);
void func_8007B34C(s32);
void func_800789AC(s32, Camera*, u16*);
void func_80077D5C(s32);
s32 find_unused_obj_index(s32*);
void func_80071F6C(s32*);
s32 func_80071FBC();
@@ -23,6 +27,10 @@ s32 func_80072320(s32, s32);
s32 func_80072354(s32, s32);
void func_80072388(s32, s32);
void func_800723A4(s32, s32);
void func_8007CC00(void);
void func_8007FB48(s32);
void func_8007FA08(s32);
void func_8007E63C(s32);
void func_80072408(s32);
void func_80072428(s32);
void func_80072488(s32);
@@ -53,13 +61,13 @@ s32 func_80072F88(s32, s32, s32, s32, s32, s32);
s32 func_800730BC(s32, s32, s32, s32, s32, s32);
s32 func_8007326C(s32, s32, s32, s32, s32, s32);
void func_80073404(s32, u8, u8, Vtx*);
void func_80073444(s32, s32*, s32*, u8, u16);
void func_8007348C(s32, s32*, u8, u8, s32);
void func_80073444(s32, u8*, u8*, u8, u16);
void func_8007348C(s32, u32*, u8, u8, Vtx *);
void func_800734D4();
void func_800734DC(s32);
void func_80073514(s32);
void func_80073568();
void func_800735BC(s32, s32, f32);
void func_800735BC(s32, Gfx*, f32);
void func_80073600(s32);
void func_80073654(s32);
void func_8007369C(s32, s32);
@@ -101,11 +109,11 @@ void func_80074510(uintptr_t, void*, size_t);
void func_800745C8(s32, s32);
void func_8007466C(s32, s32);
void func_80074704(s32, s32);
s32 func_80074790(s32, s32);
void func_800747F0(s32, s32);
void func_80074894(s32, s32);
void func_800748C4(s32, s32);
void func_800748F4(s32, s32);
u8 *func_80074790(s32, u8*);
void func_800747F0(s32, u8*);
void func_80074894(s32, u8*);
void func_800748C4(s32, u8*);
void func_800748F4(s32, u8*);
void func_80074924(s32);
void func_80074D94(s32);
void func_80074E28(s32);
@@ -149,7 +157,7 @@ void func_80076ED8(s32);
void func_80076F2C();
void func_80076FEC(s32, s32);
void func_800770F0(s32);
void func_800773D8(s32, s32);
void func_800773D8(f32*, s32);
void func_80077428(s32);
void func_80077450(s32);
void func_80077584(s32);
@@ -269,6 +277,6 @@ extern s16 D_8018CFE8;
extern f32 D_8018D01C;
extern s32 D_8018D140;
extern s32 D_8018D224;
extern s32* D_8018D490;
extern u8* D_8018D490;
#endif
+16 -17
View File
@@ -26,10 +26,10 @@ void func_80086EF0(s32 arg0) {
func_80086E70(arg0);
}
void func_80086F10(s32 arg0, s32 arg1, s32 arg2) {
void func_80086F10(s32 arg0, s32 arg1, u16 arg2[][4]) {
func_80086E70(arg0);
D_80165C18[arg0].unk_0DE = arg1;
D_80165C18[arg0].unk_080 = arg2;
D_80165C18[arg0].unk_080 = (u16 *) arg2;
}
void func_80086F60(s32 arg0) {
@@ -106,7 +106,7 @@ s32 func_800871AC(s32 objectIndex, s32 arg1) {
return sp24;
}
UNUSED void func_80087258(s32 objectIndex, s32 arg1, f32 arg2) {
UNUSED void func_80087258(s32 objectIndex, UNUSED s32 arg1, f32 arg2) {
D_80165C18[objectIndex].unk_028[1] += arg2;
D_80165C18[objectIndex].unk_028[2] -= arg2;
}
@@ -333,7 +333,7 @@ s32 func_80087D24(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3) {
s32 func_80087E08(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3, s16 arg4, s32 arg5) {
s32 sp2C;
s32 stackPadding;
UNUSED s32 pad;
sp2C = 0;
if (func_80072270(objectIndex, 8) != 0) {
@@ -361,7 +361,7 @@ s32 func_80087E08(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3, s16 arg4, s32 a
UNUSED s32 func_80087F14(s32 objectIndex, f32 arg1, f32 arg2, f32 arg3, s16 arg4, s32 arg5) {
s32 sp2C;
s32 stackPadding;
UNUSED s32 stackPadding;
sp2C = 0;
if (func_80072270(objectIndex, 8) != 0) {
@@ -746,9 +746,7 @@ s32 func_80088D18(s32 objectIndex, Player *player) {
f32 temp_f0;
f32 temp_f12;
f32 temp_f2;
f32 var_f18;
s32 var_v1;
u16 temp_t8;
var_v1 = 0;
temp_f0 = D_80165C18[objectIndex].unk_004[0] - player->pos[0];
@@ -766,7 +764,6 @@ s32 func_80088DA4(s32 objectIndex, Player *player) {
f32 temp_f14;
f32 temp_f2;
s32 var_v1;
struct_80165C18_entry *temp_v0;
var_v1 = 0;
temp_f0 = D_80165C18[objectIndex].unk_004[0] - player->pos[0];
@@ -1197,6 +1194,8 @@ s32 func_8008A060(s32 objectIndex, Camera *camera, u16 arg2) {
var_v1 = 0;
temp_t3 = (((u16)camera->rot[1] - D_80165C18[objectIndex].unk_0BE[1]) + (arg2 >> 1));
// @warning Always true
if ((temp_t3 >= 0) && (arg2 >= temp_t3)) {
var_v1 = 1;
}
@@ -1232,7 +1231,7 @@ s32 func_8008A140(s32 objectIndex, Camera *camera, u16 arg2) {
}
void func_8008A1D0(s32 objectIndex, s32 cameraId, s32 arg2, s32 arg3) {
s32 temp_v0;
u32 temp_v0;
u16 var_a2;
Camera *camera;
@@ -1485,10 +1484,10 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AB10.s")
UNUSED void func_8008ABC0(s32 arg0) {
switch (D_80165C18[arg0].unk_0AE) {
case 1:
func_8008AA3C();
func_8008AA3C(arg0);
break;
case 2:
func_8008AB10();
func_8008AB10(arg0);
break;
case 3:
func_80086F60(arg0);
@@ -1501,10 +1500,10 @@ UNUSED void func_8008ABC0(s32 arg0) {
UNUSED void func_8008AC40(s32 arg0) {
switch (D_80165C18[arg0].unk_0AE) {
case 1:
func_8008AA3C();
func_8008AA3C(arg0);
break;
case 2:
func_8008AB10();
func_8008AB10(arg0);
break;
case 3:
func_8008701C(arg0, 1);
@@ -1622,7 +1621,7 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AE9C.s")
#endif
void func_8008AFE0(s32 arg0, f32 arg1) {
func_8008ADD0(&D_80183DC8, arg1);
func_8008ADD0((s32 *)&D_80183DC8, arg1);
func_8008AE9C(arg0);
}
@@ -1671,7 +1670,7 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B038.s")
#endif
void func_8008B17C(s32 arg0, f32 arg1) {
func_8008ACE0(&D_80183DA8, arg1);
func_8008ACE0((s32 *) &D_80183DA8, arg1);
func_8008B038(arg0);
}
@@ -2217,10 +2216,10 @@ void func_8008BFFC(s32 objectIndex) {
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BFFC.s")
#endif
UNUSED void func_8008C1B8(s32 arg0) {
UNUSED void func_8008C1B8(UNUSED s32 arg0) {
}
UNUSED void func_8008C1C0(s32 arg0) {
UNUSED void func_8008C1C0(UNUSED s32 arg0) {
}
+10 -3
View File
@@ -4,13 +4,20 @@
#include "common_structs.h"
#include "camera.h"
void func_8008BFFC(s32);
void func_8008B038(s32);
void func_8008AE9C(s32);
void func_8008AB10(s32);
void func_8008AA3C(s32);
void func_80086E70(s32);
void func_80086EAC(s32, s32, s16);
void func_80086EF0(s32);
void func_80086F10(s32, s32, s32);
void func_80086F10(s32, s32, u16[][4]);
void func_80086F60(s32);
s32 func_80086FA4(s32);
void func_80086FD4(s32);
void func_80089F24(s32);
void func_8008B78C(s32);
void func_8008701C(s32, s32);
s32 func_80087060(s32, s32);
s32 func_80087104(s32, u16);
@@ -98,13 +105,13 @@ void func_8008ADC0();
void func_8008ADC8();
void func_8008AE8C();
void func_8008AE94();
void func_8008ADD0(s32, f32);
void func_8008ADD0(s32*, f32);
void func_8008AFE0(s32, f32);
void func_8008B018();
void func_8008B020();
void func_8008B028();
void func_8008B030();
void func_8008ACE0(s32,f32);
void func_8008ACE0(s32*,f32);
void func_8008B17C(s32, f32);
void func_8008B1B4();
void func_8008B1BC();
+1 -1
View File
@@ -23,7 +23,7 @@ void func_8008C1D8(UNUSED s32 *arg0) {
}
void func_8008C1E0(UNUSED s32 arg0, UNUSED s32 arg1) {
void func_8008C1E0(UNUSED s32 *arg0, UNUSED s32 arg1) {
arg1 = 4;
}
+1 -1
View File
@@ -7,7 +7,7 @@
void func_unnamed();
void func_8008C1D8(s32*);
void func_8008C1E0(s32, s32);
void func_8008C1E0(s32*, s32);
void func_unnamed1(s32);
void func_unnamed2(s32);
void func_unnamed3();
+46 -43
View File
@@ -17,6 +17,8 @@
#include <sounds.h>
#include "code_80281780.h"
#include "memory.h"
#include "audio/external.h"
#include "hud_renderer.h"
// TODO: Move gGfxPool out of main.h
// Unfortunately that's not a small effort due to weird import structure in this project
#include "main.h"
@@ -203,8 +205,8 @@ void swap_values(s32 *arg0, s32 *arg1) {
extern s8 D_8018E7AC[]; // size of 4... Actually 5 probably.
extern s8 D_800E852C;
extern u32 D_8018D9B4;
extern u32 D_8018D9B8;
extern uintptr_t *D_8018D9B4;
extern uintptr_t *D_8018D9B8;
void func_80091B78(void) {
s32 why = 0;
@@ -227,10 +229,11 @@ void func_80091B78(void) {
set_segment_base_addr(6, decompress_segments((u8 *) &_data_825800SegmentRomStart, (u8 *) &_course_mario_raceway_dl_mio0SegmentRomStart));
}
gNextFreeMemoryAddress = D_8015F734;
D_8018D9B0 = get_next_available_memory_addr(0x000900B0);
D_8018D9B4 = get_next_available_memory_addr(0x0000CE00);
D_8018D9B8 = get_next_available_memory_addr(0x00012C00);
D_8018D9C0 = get_next_available_memory_addr(0x00001000);
// Hypothetically, this should be a ptr... But only hypothetically.
D_8018D9B0 = (intptr_t) get_next_available_memory_addr(0x000900B0);
D_8018D9B4 = (uintptr_t *) get_next_available_memory_addr(0x0000CE00);
D_8018D9B8 = (uintptr_t *) get_next_available_memory_addr(0x00012C00);
D_8018D9C0 = (struct_8018EE10_entry *) get_next_available_memory_addr(0x00001000);
func_800AF9B0();
D_8018EE0C = 0;
@@ -263,7 +266,7 @@ void func_80091B78(void) {
s32 func_80091D74(void) {
u8 sp67;
s32 pad[10];
UNUSED s32 pad[10];
s32 i;
if (!gControllerBits) {
@@ -326,10 +329,10 @@ void func_80091FA4(void) {
s32 i;
// todo: These sizes need to be sizeof() for shiftability if possible
D_8018D9B4 = get_next_available_memory_addr(0x00002800);
D_8018D9B0 = get_next_available_memory_addr(0x000124F8);
D_8018D9B8 = get_next_available_memory_addr(0x00001000);
D_8018D9BC = get_next_available_memory_addr(4);
D_8018D9B4 = (uintptr_t *) get_next_available_memory_addr(0x00002800);
D_8018D9B0 = (intptr_t) get_next_available_memory_addr(0x000124F8);
D_8018D9B8 = (uintptr_t *) get_next_available_memory_addr(0x00001000);
D_8018D9BC = (intptr_t *) get_next_available_memory_addr(4);
for (i = 0; i < 5; i++) {
D_8018E7AC[i] = 0;
@@ -883,7 +886,7 @@ void set_text_color(s32 arg0) {
gTextColor = arg0;
}
UNUSED void func_800930E4(s32 arg0, s32 arg1, s32 *arg2) {
UNUSED void func_800930E4(s32 arg0, s32 arg1, char *arg2) {
set_text_color(TEXT_BLUE);
func_80093324(arg0, arg1, arg2, 0, 1.0, 1.0);
}
@@ -898,8 +901,8 @@ void print_text0(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32
do{
glyphIndex = char_to_glyph_index(text);
if (glyphIndex >= 0) {
func_80099184(segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex]));
gDisplayListHead = func_8009BEF0(gDisplayListHead, segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex]), column + (stringWidth * x_scale), row, arg6, x_scale, y_scale);
func_80099184((MkTexture *)segmented_to_virtual_dupe((const void *) gGlyphTextureLUT[glyphIndex]));
gDisplayListHead = func_8009BEF0(gDisplayListHead, (MkTexture *) segmented_to_virtual_dupe((const void *) gGlyphTextureLUT[glyphIndex]), column + (stringWidth * x_scale), row, arg6, x_scale, y_scale);
stringWidth += gGlyphDisplayWidth[glyphIndex] + tracking;
}
else if ((glyphIndex != -2) && (glyphIndex == -1)) {
@@ -980,8 +983,8 @@ void print_text1(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32
do{
glyphIndex = char_to_glyph_index(text);
if (glyphIndex >= 0) {
func_80099184(segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex]));
gDisplayListHead = func_8009BEF0(gDisplayListHead, segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex]), column, row, arg6, x_scale, y_scale);
func_80099184((MkTexture *)segmented_to_virtual_dupe((const void *) gGlyphTextureLUT[glyphIndex]));
gDisplayListHead = func_8009BEF0(gDisplayListHead, (MkTexture *) segmented_to_virtual_dupe((const void *)gGlyphTextureLUT[glyphIndex]), column, row, arg6, x_scale, y_scale);
column += (gGlyphDisplayWidth[glyphIndex] + tracking);
column *= x_scale;
}
@@ -1032,7 +1035,7 @@ void print_text2(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32
do {
glyphIndex = char_to_glyph_index(text);
if (glyphIndex >= 0) {
glyphTexture = segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex]);
glyphTexture = (MkTexture *) segmented_to_virtual_dupe((const void *)gGlyphTextureLUT[glyphIndex]);
func_80099184(glyphTexture);
gDisplayListHead = func_8009BEF0(gDisplayListHead, glyphTexture, column - (gGlyphDisplayWidth[glyphIndex] / 2), row, arg6, x_scale, y_scale);
if ((glyphIndex >= 0xD5) && (glyphIndex < 0xE0)) {
@@ -1071,7 +1074,7 @@ void text_draw(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y
extern s8 D_800F0B1C[];
void func_80093A30(s32 arg0) {
func_8009E2A8(D_800F0B1C[arg0], arg0);
func_8009E2A8(D_800F0B1C[arg0]);
}
#ifdef MIPS_TO_C
@@ -1195,8 +1198,8 @@ void func_80093F10(void) {
D_80164AF0++;
gSPDisplayList(gDisplayListHead++, D_02007F18);
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 320, 240);
func_80092290(4, &D_8018E850, &D_8018E858);
func_80092290(5, &D_8018E854, &D_8018E85C);
func_80092290(4, D_8018E850, D_8018E858);
func_80092290(5, (s32 *) &D_8018E854, (s32 *) &D_8018E85C);
func_8009C918();
func_80099A70();
func_80099E54();
@@ -1215,8 +1218,8 @@ void func_800940EC(s32 arg0) {
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
D_80164AF0++;
gSPDisplayList(gDisplayListHead++, D_02007F18);
func_80092290(4, &D_8018E850, &D_8018E858);
func_80092290(5, &D_8018E854, &D_8018E85C);
func_80092290(4, D_8018E850, D_8018E858);
func_80092290(5, (s32 *) &D_8018E854, (s32 *) &D_8018E85C);
func_80092148();
func_80099A70();
func_80099E54();
@@ -1360,7 +1363,7 @@ void func_800942D0(void) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800942D0.s")
#endif
void func_80094660(struct GfxPool *arg0, s32 unused) {
void func_80094660(struct GfxPool *arg0, UNUSED s32 arg1) {
u16 perspNorm;
move_segment_table_to_dmem();
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
@@ -1373,7 +1376,7 @@ void func_80094660(struct GfxPool *arg0, s32 unused) {
gDPSetTextureFilter(gDisplayListHead++, G_TF_BILERP);
}
void func_800947B4(struct GfxPool *arg0, s32 unused) {
void func_800947B4(struct GfxPool *arg0, UNUSED s32 arg1) {
u16 perspNorm;
move_segment_table_to_dmem();
guPerspective(&arg0->mtxPool[1], &perspNorm, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f);
@@ -1725,17 +1728,21 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_80095574.s")
// Instead we depend on the fact that the result of func_80098C18 is left
// in v0 which means it is returned, sort of.
// Its also weird that the displayListHead argument goes entirely unused. What's up with that?
Gfx *func_800958D4(Gfx *displayListHead, s32 ulx, s32 uly, s32 lrx, s32 lry, s32 arg5) {
Gfx *func_800958D4(UNUSED Gfx *displayListHead, s32 ulx, s32 uly, s32 lrx, s32 lry, s32 arg5) {
s32 phi_v0;
phi_v0 = ((D_8018E7A8 % arg5) << 9) / arg5;
if (phi_v0 >= 0x101) {
if (phi_v0 > 0x100) {
phi_v0 = 0x200 - phi_v0;
}
if (phi_v0 >= 0x100) {
if (phi_v0 > 0xFF) {
phi_v0 = 0xFF;
}
#if AVOID_UB
return gDisplayListHead = func_80098C18(gDisplayListHead, ulx, uly, lrx, lry, phi_v0, phi_v0, phi_v0, 0xFF);
#else
gDisplayListHead = func_80098C18(gDisplayListHead, ulx, uly, lrx, lry, phi_v0, phi_v0, phi_v0, 0xFF);
#endif
}
Gfx *func_800959A0(Gfx *displayListHead, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
@@ -3479,9 +3486,6 @@ Gfx *func_80098C18(Gfx *displayListHead, s32 ulx, s32 uly, s32 lrx, s32 lry, s32
}
Gfx *draw_box(Gfx *displayListHead, s32 ulx, s32 uly, s32 lrx, s32 lry, s32 red, s32 green, s32 blue, s32 alpha) {
Gfx *temp_a0;
Gfx *temp_v1;
red &= 0xFF;
green &= 0xFF;
blue &= 0xFF;
@@ -3526,7 +3530,7 @@ void dma_copy_base_729a30(u64 *arg0, size_t nbytes, void *vaddr) {
OSMesg sp2C;
osInvalDCache(vaddr, nbytes);
osPiStartDma(&sp30, OS_MESG_PRI_NORMAL, OS_READ, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(arg0)], vaddr, nbytes, &gDmaMesgQueue);
osPiStartDma(&sp30, OS_MESG_PRI_NORMAL, OS_READ, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(arg0)], vaddr, nbytes, &gDmaMesgQueue);
osRecvMesg(&gDmaMesgQueue, &sp2C, OS_MESG_BLOCK);
}
@@ -3535,7 +3539,7 @@ void dma_copy_base_7fa3c0(u64 *arg0, size_t nbytes, void *vaddr) {
OSMesg sp2C;
osInvalDCache(vaddr, nbytes);
osPiStartDma(&sp30, OS_MESG_PRI_NORMAL, OS_READ, &_textures_0bSegmentRomStart[SEGMENT_OFFSET(arg0)], vaddr, nbytes, &gDmaMesgQueue);
osPiStartDma(&sp30, OS_MESG_PRI_NORMAL, OS_READ, (uintptr_t) &_textures_0bSegmentRomStart[SEGMENT_OFFSET(arg0)], vaddr, nbytes, &gDmaMesgQueue);
osRecvMesg(&gDmaMesgQueue, &sp2C, OS_MESG_BLOCK);
}
@@ -4564,8 +4568,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009B538.s")
#endif
s32 func_8009B8C4(u64 *arg0) {
s32 stackPadding1;
s32 stackPadding2;
UNUSED s32 pad[2];
s32 sp4;
s32 found;
s32 someIndex;
@@ -4589,7 +4592,7 @@ s32 func_8009B8C4(u64 *arg0) {
// struct_8018EE10_entry pointer. But here its being treated as a
// Gfx pointer. It seems to be multi use.
void func_8009B938(void) {
D_8018E75C = D_8018D9C0;
D_8018E75C = (Gfx *) D_8018D9C0;
gNumD_8018E768Entries = 0;
}
@@ -4610,7 +4613,7 @@ void func_8009B998(void) {
// as the return of this function. Which seems like a bug to me
Gfx *func_8009B9D0(Gfx *displayListHead, MkTexture *textures) {
Gfx *displayList;
s32 pad;
UNUSED s32 pad;
s32 found;
s32 index;
@@ -7949,7 +7952,7 @@ void func_800A09E0(struct_8018D9E0_entry *arg0) {
if ((D_800E86D0[0] != 0) || ((table_row != 0) && (table_row != 8)))
{
y = (table_row * 0xA) + arg0->row;
gDisplayListHead = func_8009BA74(gDisplayListHead, &D_0200157C, x, y);
gDisplayListHead = func_8009BA74(gDisplayListHead, D_0200157C, x, y);
}
}
}
@@ -7957,14 +7960,14 @@ void func_800A09E0(struct_8018D9E0_entry *arg0) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A09E0.s")
#endif
void func_800A0AD0(UNUSED struct_8018D9E0_entry *unused) {
void func_800A0AD0(UNUSED struct_8018D9E0_entry *arg0) {
struct_8018D9E0_entry *temp_t1;
// Find struct_8018D9E0_entry with a type/id of 0xDA
temp_t1 = find_8018D9E0_entry_dupe(0xDA);
if ((gControllerPakMenuSelection != CONTROLLER_PAK_MENU_SELECT_RECORD) && (gControllerPakMenuSelection != CONTROLLER_PAK_MENU_END))
{
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, temp_t1->unk20, 0x00, 0xFF);
gDisplayListHead = func_8009BA74(gDisplayListHead, &D_02001874, 0x24, (gControllerPakSelectedTableRow * 0xA) + 0x7C);
gDisplayListHead = func_8009BA74(gDisplayListHead, D_02001874, 0x24, (gControllerPakSelectedTableRow * 0xA) + 0x7C);
}
}
@@ -8364,7 +8367,7 @@ void func_800A1924(struct_8018D9E0_entry *arg0) {
func_8009A76C(arg0->D_8018DEE0_index, 0x17, 0x84, -1);
if (func_800B639C(gTimeTrialDataCourseIndex) >= TIME_TRIAL_DATA_LUIGI_RACEWAY) {
gDisplayListHead = func_800959A0(gDisplayListHead, 0x57, 0x84, 0x96, 0x95);
gDisplayListHead = func_8009BA74(gDisplayListHead, &D_02004A0C, 0x57, 0x84);
gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004A0C, 0x57, 0x84);
}
func_8004EF9C(gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]);
do {
@@ -8382,7 +8385,7 @@ void func_800A1A20(struct_8018D9E0_entry *arg0) {
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
draw_text(0x69, arg0->row + 0x19, D_800E7574[courseId], 0, 0.75f, 0.75f);
set_text_color(TEXT_RED);
func_80093324(0x2D, arg0->row + 0x28, &D_800E77D8, 0, 0.75f, 0.75f);
func_80093324(0x2D, arg0->row + 0x28, (char *)&D_800E77D8, 0, 0.75f, 0.75f);
func_800936B8(0xA5, arg0->row + 0x28, D_800E77E4[courseId], 1, 0.75f, 0.75f);
set_text_color(TEXT_YELLOW);
func_80093324(0xA0, arg0->row + 0x86, D_800E7728, 0, 0.75f, 0.75f);
@@ -12135,7 +12138,7 @@ void func_800A8CA4(struct_8018D9E0_entry *arg0) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A8CA4.s")
#endif
void func_800A8E14(UNUSED struct_8018D9E0_entry *unused) {
void func_800A8E14(UNUSED struct_8018D9E0_entry *arg0) {
set_text_color(TEXT_YELLOW);
draw_text(0x98, 0x44, D_800E77A8, 0, 1.0f, 1.0f);
func_80093324(0x17, 0x58, D_800E77AC, 0, D_800F24A8, D_800F24AC);
@@ -12201,7 +12204,7 @@ void func_800A8F48(struct_8018D9E0_entry *arg0) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A8F48.s")
#endif
void func_800A90D4(s32 arg0, struct_8018D9E0_entry *arg1) {
void func_800A90D4(UNUSED s32 arg0, struct_8018D9E0_entry *arg1) {
s32 temp_a2;
s32 temp_t1;
s32 temp_t7;
+15 -7
View File
@@ -60,6 +60,14 @@ typedef struct {
/* Function Prototypes */
void func_800A7A4C(s32);
void func_8009DF8C(u32, s8);
void func_8009DEF8(u32, s8);
void func_8009D77C(s32,s32,s32);
void func_8009CBE4(s32, s32, s32);
void func_800996BC(MkTexture*, s32);
void func_8009E2A8(s32);
s32 func_80091D74(void);
void func_80091EE4(void);
void func_80091FA4(void);
void func_80093A30(s32);
@@ -88,7 +96,7 @@ s32 func_80092E1C(s8 *);
s32 func_80092EE4(s8 *);
s32 get_string_width(char*);
void set_text_color(s32);
void func_800930E4(s32, s32, s32*);
void func_800930E4(s32, s32, char*);
void print_text0(s32, s32, char*, s32, f32, f32, s32);
void func_80093324(s32, s32, char*, s32, f32, f32);
void func_80093358(s32, s32, char*, s32, f32, f32);
@@ -123,7 +131,7 @@ Gfx *func_80098FC8(Gfx*, s32, s32, s32, s32);
void dma_copy_base_729a30(u64*, size_t, void*);
void dma_copy_base_7fa3c0(u64*, size_t, void*);
void func_80099110();
void func_80099184(s32);
void func_80099184(MkTexture*);
void *segmented_to_virtual_dupe(const void*);
void *segmented_to_virtual_dupe_2(const void*);
Gfx *func_8009C204(Gfx*, MkTexture*, s32, s32, s32);
@@ -149,8 +157,8 @@ void func_8009B938();
void func_8009B954(MkTexture*);
void func_8009B998();
Gfx *func_8009B9D0(Gfx*, MkTexture*);
Gfx *func_8009BA74(Gfx *, MkTexture*, s32, s32);
Gfx *func_8009BEF0(Gfx*, s32, f32, f32, s32, f32,f32);
Gfx *func_8009BA74(Gfx *, MkTexture[], s32, s32);
Gfx *func_8009BEF0(Gfx*, MkTexture*, f32, f32, s32, f32,f32);
Gfx *func_8009C434(Gfx*, struct_8018DEE0_entry*, s32, s32, s32);
Gfx *func_8009C708(Gfx*, struct_8018DEE0_entry *, s32, s32, s32, s32);
void func_8009C918();
@@ -287,7 +295,7 @@ extern Gfx *D_800E84CC[];
extern Gfx *D_800E84EC[];
extern Gfx *D_800E850C[];
extern s32 D_8018D9BC;
extern intptr_t *D_8018D9BC;
extern s16 gGlyphDisplayWidth[]; // D_800EF690
extern RGBA16 D_800E74A8[5];
@@ -304,7 +312,7 @@ extern char *D_800E7730;
extern char *D_800E77A8;
extern char *D_800E77AC;
extern char *D_800E77B0;
extern char *D_800E77D8;
extern char D_800E77D8[];
extern char *D_800E77E4[0x14];
extern char *D_800E7860[2];
extern char *D_800E7A88[4];
@@ -330,7 +338,7 @@ extern f32 D_800F24B4;
extern f32 D_800F24B8;
extern f64 D_800F24C0;
extern s32 D_80165754;
extern s32 D_8018D9B0;
extern intptr_t D_8018D9B0;
extern s8 D_8018D9D8;
extern s8 D_8018D9D9;
extern struct_8018D9E0_entry D_8018D9E0[D_8018D9E0_SIZE]; // D_8018D9E0
+1
View File
@@ -13,6 +13,7 @@ union GrandPrixPointsUnion
/* Function Prototypes */
void load_save_data(void);
void func_800B45E0(s32);
void write_save_data_grand_prix_points_and_sound_mode();
void func_800B46D0(void);
+1 -1
View File
@@ -128,7 +128,7 @@ void load_credits(void) {
gNextFreeMemoryAddress = D_8015F734;
load_course(gCurrentCourseId);
D_8015F730 = gNextFreeMemoryAddress;
set_segment_base_addr(0xB, (void *) decompress_segments(&_data_821D10SegmentRomStart, &_data_825800SegmentRomStart));
set_segment_base_addr(0xB, (void *) decompress_segments((u8 *)&_data_821D10SegmentRomStart, (u8 *)&_data_825800SegmentRomStart));
D_8015F6EA = -0x15A1;
D_8015F6EE = -0x15A1;
D_8015F6F2 = -0x15A1;
-1
View File
@@ -182,7 +182,6 @@ void func_80280A28(Vec3f arg0, Vec3s arg1, f32 arg2) {
}
#ifdef NON_MATCHING
extern u32 D_8018D48C;
void func_80280B50(Vec3f arg0, f32 arg1, s32 rgb, s16 alpha) {
Vec3f sp4C;
+2 -2
View File
@@ -65,8 +65,8 @@ extern void *D_80284ED0;
extern s8 gGPOverallRanks[8];
extern s8 D_8018EDF3;
extern s32 _data_821D10SegmentRomStart;
extern s32 _data_825800SegmentRomStart;
extern u8 *_data_821D10SegmentRomStart;
extern u8 *_data_825800SegmentRomStart;
extern s32 _course_banshee_boardwalk_dl_mio0SegmentRomStart;
extern s32 _course_yoshi_valley_dl_mio0SegmentRomStart;
+3 -3
View File
@@ -10,7 +10,7 @@ void nullify_displaylist(uintptr_t addr) {
Gfx *macro;
macro = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
macro = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
macro->words.w0 = G_ENDDL << 24;
macro->words.w1 = 0;
}
@@ -758,7 +758,7 @@ void func_802AC098(UnkActorInner *arg0, f32 *velocity) {
}
}
void func_802AC114(Vec3f arg0, f32 arg1, Vec3f arg2, f32 arg3) {
void func_802AC114(Vec3f arg0, f32 arg1, Vec3f arg2, UNUSED f32 arg3) {
f32 temp_f0;
f32 temp_f12;
f32 temp_f14;
@@ -2494,7 +2494,7 @@ GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AF5D8.s")
void func_802AF7B4(uintptr_t addr, s32 uls, s32 ult) {
s32 segment = SEGMENT_NUMBER2(addr);
s32 offset = SEGMENT_OFFSET(addr);
Gfx *phi_v0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
Gfx *phi_v0 = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
s32 gfxCommand;
uls = (uls << 12) & 0xFFF000;
+13 -14
View File
@@ -216,14 +216,14 @@ extern s32 unkPad;
extern s8 D_0D009958[];
extern s8 D_0D00A558[];
extern s8 D_0D00A958[];
extern s8 D_0D00AB58[];
extern u8 D_0D00AB58[];
extern s8 D_0D00AD58[];
extern s8 D_0D00B158[];
extern s8 D_0D00B558[];
extern s8 D_0D00B958[];
extern s8 D_0D00BD58[];
extern s8 D_0D00C158[];
extern s8 D_0D00C558[];
extern u8 D_0D00C558[];
extern s8 D_0D00D258[];
extern s8 D_0D00E258[];
extern s8 D_0D00F258[];
@@ -275,7 +275,7 @@ extern s8 gTLUTItemWindowTripleRedShell[];
extern s8 gTLUTItemWindowStar[];
extern s8 gTLUTItemWindowThunderBolt[];
extern s8 gTLUTItemWindowFakeItemBox[];
extern s8 gTextureItemWindowNone[];
extern u8 gTextureItemWindowNone[];
extern s8 gTextureItemWindowBanana[];
extern s8 gTextureItemWindowBananaBunch[];
extern s8 gTextureItemWindowMushroom[];
@@ -291,14 +291,14 @@ extern s8 gTextureItemWindowTripleRedShell[];
extern s8 gTextureItemWindowStar[];
extern s8 gTextureItemWindowThunderBolt[];
extern s8 gTextureItemWindowFakeItemBox[];
extern s8 gTLUTLakituCountdown[][512];
extern s8 gTLUTLakituCheckeredFlag[];
extern s8 gTLUTLakituSecondLap[];
extern s8 gTLUTLakituFinalLap[];
extern s8 gTLUTLakituReverse[];
extern s8 gTLUTLakituFishing[];
extern u8 gTLUTLakituCountdown[][512];
extern u8 gTLUTLakituCheckeredFlag[];
extern u8 gTLUTLakituSecondLap[];
extern u8 gTLUTLakituFinalLap[];
extern u8 gTLUTLakituReverse[];
extern u8 gTLUTLakituFishing[];
extern s8 D_0D028DD8[];
extern u8 D_0D028DD8[];
extern s8 D_0D025ED8[];
extern s8 D_0D0260D8[];
extern s8 D_0D026558[];
@@ -310,21 +310,20 @@ extern s8 D_0D027BD8[];
extern s8 D_0D028058[];
extern s8 D_0D0284D8[];
extern s8 D_0D028958[];
extern s8 D_0D028DD8[];
extern s8 D_0D0291D8[];
extern s8 D_0D0293D8[];
extern u8 D_0D0293D8[];
extern s8 D_0D029458[];
extern s8 D_0D029858[];
extern s8 D_0D029C58[];
extern s8 D_0D02A058[];
extern s8 D_0D02A458[];
extern s8 D_0D02A858[];
extern s8 D_0D02AA58[];
extern u8 D_0D02AA58[];
extern s8 D_0D02AC58[];
extern s8 D_0D02B058[];
extern s8 D_0D02B458[];
extern s8 D_0D02B858[];
extern s8 D_0D02BC58[];
extern u8 D_0D02BC58[];
extern s8 D_0D02C058[];
extern s8 D_0D02C458[];
extern s8 D_0D02C858[];
+13 -13
View File
@@ -2359,7 +2359,7 @@ s8 D_0D00A958[] = {
};
// 123/
s8 D_0D00AB58[] = {
u8 D_0D00AB58[] = {
#include "textures/common/132B50_0AB58.rgba16.inc.c"
};
@@ -2394,7 +2394,7 @@ s8 D_0D00C158[] = {
};
// 0123456789'"!
s8 D_0D00C558[] = {
u8 D_0D00C558[] = {
#include "textures/common/132B50_0C558.rgba16.inc.c"
};
@@ -2652,7 +2652,7 @@ s8 gTLUTItemWindowFakeItemBox[] = {
};
// UI Item Frames
s8 gTextureItemWindowNone[] = {
u8 gTextureItemWindowNone[] = {
#include "assets/item_window/gTextureItemWindowNone.inc.c"
};
@@ -2716,7 +2716,7 @@ s8 gTextureItemWindowFakeItemBox[] = {
#include "assets/item_window/gTextureItemWindowFakeItemBox.inc.c"
};
s8 gTLUTLakituCountdown[][512] = {
u8 gTLUTLakituCountdown[][512] = {
{
#include "assets/lakitu/nolights/gTLUTLakituNoLights.inc.c"
},
@@ -2736,23 +2736,23 @@ s8 gTLUTLakituCountdown[][512] = {
* Appears to be animation textures.
*/
s8 gTLUTLakituCheckeredFlag[] = {
u8 gTLUTLakituCheckeredFlag[] = {
#include "assets/lakitu/checkeredflag/gTLUTLakituCheckeredFlag.inc.c"
};
s8 gTLUTLakituSecondLap[] = {
u8 gTLUTLakituSecondLap[] = {
#include "assets/lakitu/secondlap/gTLUTLakituSecondLap.inc.c"
};
s8 gTLUTLakituFinalLap[] = {
u8 gTLUTLakituFinalLap[] = {
#include "assets/lakitu/finallap/gTLUTLakituFinalLap.inc.c"
};
s8 gTLUTLakituReverse[] = {
u8 gTLUTLakituReverse[] = {
#include "assets/lakitu/reverse/gTLUTLakituReverse.inc.c"
};
s8 gTLUTLakituFishing[] = {
u8 gTLUTLakituFishing[] = {
#include "assets/lakitu/fishing/gTLUTLakituFishing.inc.c"
};
@@ -2804,7 +2804,7 @@ UNUSED s8 D_0D028958[] = {
};
// leaf
s8 D_0D028DD8[] = {
u8 D_0D028DD8[] = {
#include "textures/common/132B50_28DD8.rgba16.inc.c"
};
@@ -2815,7 +2815,7 @@ s8 D_0D0291D8[] = {
// Cloud smoke or fog?
s8 D_0D0293D8[] = {
u8 D_0D0293D8[] = {
#include "textures/common/132B50_293D8.i4.inc.c"
};
@@ -2835,7 +2835,7 @@ s8 D_0D02A858[] = {
#include "textures/common/tlut2/132B50_29858.rgba16.ci8.tlut.inc.c"
};
s8 D_0D02AA58[] = {
u8 D_0D02AA58[] = {
#include "textures/common/132B50_2AA58.rgba16.inc.c"
};
@@ -2855,7 +2855,7 @@ s8 D_0D02B858[] = {
#include "textures/common/132B50_2B858.i8.inc.c"
};
s8 D_0D02BC58[] = {
u8 D_0D02BC58[] = {
#include "textures/common/132B50_2BC58.i8.inc.c"
};
+639 -694
View File
File diff suppressed because it is too large Load Diff
+237 -229
View File
@@ -3,183 +3,187 @@
#include "common_structs.h"
void func_80045738(u8*, u8*, s32, s32);
void func_80057114(s32);
void func_800431B0(Vec3f, Vec3s, f32, Vtx*);
void func_80043220(Vec3f, Vec3s, f32, Gfx*);
void func_80043328(Vec3f, Vec3s, f32, Gfx*);
void func_80043288(Vec3f, Vec3s, f32, Gfx*);
void func_80043390(Vec3f, Vec3s, f32, Gfx*);
void func_800433F8(Vec3f, Vec3s, f32, Gfx*);
void func_80043460(Vec3f, Vec3s, f32, Gfx*);
void func_80043500(Vec3f, Vec3s, f32, Gfx*);
void func_800431B0(Vec3f, Vec3su, f32, Vtx*);
void func_80043220(Vec3f, Vec3su, f32, Gfx*);
void func_80043328(Vec3f, Vec3su, f32, Gfx*);
void func_80043288(Vec3f, Vec3su, f32, Gfx*);
void func_80043390(Vec3f, Vec3su, f32, Gfx*);
void func_800433F8(Vec3f, Vec3su, f32, Gfx*);
void func_80043460(Vec3f, Vec3su, f32, Gfx*);
void func_80043500(Vec3f, Vec3su, f32, Gfx*);
void func_800435A0(Vec3f, Vec3su, f32, Gfx*, s32);
void func_80043668(Vec3f, Vec3s, f32, Gfx*);
void func_80043668(Vec3f, Vec3su, f32, Gfx*);
void func_800436D0(s32, s32, u16, f32, Vtx*);
void func_80043764(s32, s32, u16, f32, Vtx*);
void func_800437F8(s32, s32, u16, f32, Vtx*, s32);
void func_800438C4(s32, s32, u16, f32, Vtx*, s32);
void func_8004398C(s32, s32, u16, f32, Vtx*, s32);
s32 func_80043A54(s32);
void func_80043A84(s8*, s32, s32);
void func_80043C28(s8*, s32, s32);
void func_80043D50(s8*, s32, s32);
void func_80043EF8(s8*, s32, s32, s32);
void func_80043A84(u8*, s32, s32);
void func_80043C28(u8*, s32, s32);
void func_80043D50(u8*, s32, s32);
void func_80043EF8(u8*, s32, s32, s32);
void func_800440B8(s8*, s32, s32);
void func_800441E0(s8*, s32, s32);
void func_80044388(s8*, s32, s32);
void func_800444B0(s8*, s32, s32);
void func_80044658(s8*, s32, s32);
void func_8004477C(s8*, s32, s32);
void func_80044AB8(s8*, s32, s32);
void func_80044BF8(s8*, s32, s32);
void func_800440B8(u8*, s32, s32);
void func_800441E0(u8*, s32, s32);
void func_80044388(u8*, s32, s32);
void func_800444B0(u8*, s32, s32);
void func_80044658(u8*, s32, s32);
void func_8004477C(u8*, s32, s32);
void func_80044AB8(u8*, s32, s32);
void func_80044BF8(u8*, s32, s32);
void func_800452A4(s8*, s32, s32);
void func_8004544C(s8*, s32, s32, s32);
void func_80045614(s8*, s32, s32);
void func_800452A4(u8*, s32, s32);
void func_8004544C(u8*, s32, s32, s32);
void func_80045614(u8*, s32, s32);
void func_80045B2C(Vtx*);
void func_80045B74(Vtx*);
void func_80045BBC(Vec3f, Vec3s, f32, Vtx*);
void func_80045C48(Vec3f, Vec3s, f32, Vtx*);
void func_80045D0C(s8*, Vtx*, s32, s32, s32);
void func_80045E10(s8*, Vtx*, s32, s32, s32);
void func_80045F18(s8*, Vtx*, s32, s32, s32, s32);
void func_80045BBC(Vec3f, Vec3su, f32, Vtx*);
void func_80045C48(Vec3f, Vec3su, f32, Vtx*);
void func_80045D0C(u8*, Vtx*, s32, s32, s32);
void func_80045E10(u8*, Vtx*, s32, s32, s32);
void func_80045F18(u8*, Vtx*, s32, s32, s32, s32);
void func_800461A4(s8*, Vtx*, s32, s32, s32);
void func_800462A8(s8*, Vtx*, s32, s32, s32);
void func_800463B0(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32);
void func_80046424(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32);
void func_800464D0(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32);
void func_80046544(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32);
void func_800465B8(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32);
void func_80046634(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32, s32);
void func_800466B0(s32, s32, u16, f32, s32, s32, s32, s32);
void func_80046720(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32);
void func_80046794(s32, s32, u16, f32, s32, s32, s32, s32, s32, s32);
void func_80046808(Vec3f, Vec3s, f32, s32, s32, s32, s32, s32, s32);
void func_80046874(Vec3f, Vec3s, f32, s32, s32, s32, s32, s32, s32);
void func_800468E0(Vec3f, Vec3s, f32, s32, s32, s32, s32, s32, s32, s32);
void func_80046954(Vec3f, Vec3s, f32, s32, s32, s32, s32, s32, s32);
void func_80046A00(Vec3f, Vec3s, f32, s32, Vtx*, s32, s32);
void func_80046A68(Vec3f, Vec3s, f32, s32, s32, s32, s32, s32, s32);
void func_80046AD4(s32, s32, u16, f32, s32);
void func_80046B38(s32, s32, u16, f32, s32);
void func_80046B9C(Vec3f, Vec3s, f32, s32);
void func_80046BEC(s32, s32, u16, f32, s32, s32);
void func_80046C3C(s32, s32, f32, s32, s32);
void func_80046C78(s32, s32, u16, f32, s32);
void func_80046CDC(s32, s32, u16, f32, s32);
void func_80046D40(Vec3f, Vec3s, f32, s32);
void func_80046D90(s32, s32, u16, f32, s32);
void func_80046DF4(s32, s32, u16, f32, s32, s32);
void func_80046E60(s32, s32, s32, s32);
void func_80046F60(s32, s32, s32, s32, s32);
void func_800461A4(u8*, Vtx*, s32, s32, s32);
void func_800462A8(u8*, Vtx*, s32, s32, s32);
void func_800463B0(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80046424(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_800464D0(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80046544(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_800465B8(s32, s32, u16, f32, s32, u8*, Vtx*, s32, s32, s32, s32);
void func_80046634(s32, s32, u16, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_800466B0(s32, s32, u16, f32, u8*, Vtx*, s32, s32);
void func_80046720(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80046794(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80046808(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80046874(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_800468E0(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32, s32);
void func_80046954(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80046A00(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32);
void func_80046A68(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80046AD4(s32, s32, u16, f32, u8*);
void func_80046B38(s32, s32, u16, f32, u8*);
void func_80046B9C(Vec3f, Vec3su, f32, u8*);
void func_80046BEC(s32, s32, u16, f32, u8*, Vtx*);
void func_80046C3C(Vec3f, Vec3su, f32, u8*, Vtx*);
void func_80046C78(s32, s32, u16, f32, u8*);
void func_80046CDC(s32, s32, u16, f32, u8*);
void func_80046D40(Vec3f, Vec3su, f32, u8*);
void func_80046D90(s32, s32, u16, f32, u8*);
void func_80046DF4(s32, s32, u16, f32, s32, u8*);
void func_80046E60(u8*, u8*, s32, s32);
void func_80046F60(u8*, u8*, s32, s32, s32);
void func_80047068(s8*, s8*, Vtx*, s32, s32, s32, s32);
void func_80047270(s8*, s8*, Vtx*, s32, s32, s32, s32);
void func_8004747C(s8*, s8*, Vtx*, s32, s32, s32, s32, s32);
void func_8004768C(s8*, s8*, Vtx*, s32, s32, s32);
void func_8004788C(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047910(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047994(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047A18(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047A9C(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047B20(s32, s32, u16, f32, s32, s32, Vtx*, s32, s32, s32);
void func_80047B9C(s32, s32, u16, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047C28(s32, s32, u16, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047CB4(s32, s32, u16, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047D40(s32, s32, u16, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047DCC(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047E48(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047EC4(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047F40(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047FBC(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80047068(u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047270(u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_8004747C(u8*, u8*, Vtx*, s32, s32, s32, s32, s32);
void func_8004768C(u8*, u8*, Vtx*, s32, s32, s32);
void func_8004788C(s32, s32, u16, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047910(s32, s32, u16, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047994(s32, s32, u16, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047A18(s32, s32, u16, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047A9C(s32, s32, u16, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047B20(s32, s32, u16, f32, u8*, u8*, Vtx*, s32, s32, s32);
void func_80047B9C(s32, s32, u16, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047C28(s32, s32, u16, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047CB4(s32, s32, u16, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047D40(s32, s32, u16, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047DCC(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047E48(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047EC4(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047F40(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80047FBC(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80048038(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_800480B4(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80048130(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32, s32, s32);
void func_800481B4(Vec3f, Vec3su, f32, s32, s32, Vtx*, s32, s32, s32);
void func_80048228(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_800482AC(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80048330(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_800483B4(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80048438(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_800484BC(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80048540(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_800485C4(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_800486B0(s32, s32, u16, f32, s32, s32, Vtx*);
void func_80048718(s32, s32, u16, f32, s32, s32, Vtx*);
void func_80048780(s32, s32, f32, s32, s32, s32, Vtx*);
void func_800487DC(s32, s32, u16, f32, s32, s32, Vtx*);
void func_80048844(s32, s32, u16, f32, s32, s32, Vtx*);
void func_800488AC(s32, s32, u16, f32, s32, s32, Vtx*);
void func_80048914(s32, s32, u16, f32, s32, s32, Vtx*);
void func_8004897C(s32, s32, u16, f32, s32, s32, Vtx*);
void func_800489E4(s32, s32, u16, f32, s32, s32, Vtx*);
void func_80048A4C(s32, s32, u16, f32, s32, s32, Vtx*);
void func_80048AB4(s32, s32, u16, f32, s32, s32, s32, Vtx*);
void func_80048B24(s32, s32, u16, f32, s32, s32, s32, Vtx*);
void func_80048B94(Vec3f, Vec3su, f32, s32, s32, Vtx*);
void func_80048BE8(Vec3f, Vec3su, f32, s32, s32, Vtx*);
void func_80048C3C(Vec3f, Vec3su, f32, s32, s32, Vtx*);
void func_80048C90(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*);
void func_80048CEC(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*);
void func_80048D48(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*);
void func_80048DA4(Vec3f, Vec3su, f32, s32, s32, s32, Vtx*);
void func_80048E00(s32, s32, u16, f32, s32, s32, Vtx*);
void func_80048E68(s32, s32, u16, f32, s32, s32, Vtx*);
void func_80048ED0(s32, s32, u16, f32, s32, s32, Vtx*);
void func_80048F38(s32, s32, f32, s32, s32, Vtx*);
void func_80048F8C(s8*, Vtx*, s32, s32, s32, s32);
void func_80052F20(s32);
void func_80048038(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_800480B4(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80048130(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32, s32, s32);
void func_800481B4(Vec3f, Vec3su, f32, u8*, u8*, Vtx*, s32, s32, s32);
void func_80048228(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_800482AC(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80048330(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_800483B4(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80048438(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_800484BC(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_80048540(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_800485C4(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*, s32, s32, s32, s32);
void func_800486B0(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_80048718(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_80048780(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*);
void func_800487DC(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_80048844(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_800488AC(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_80048914(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_8004897C(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_800489E4(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_80048A4C(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_80048AB4(s32, s32, u16, f32, s32, u8*, u8*, Vtx*);
void func_80048B24(s32, s32, u16, f32, s32, u8*, u8*, Vtx*);
void func_80048B94(Vec3f, Vec3su, f32, u8*, u8*, Vtx*);
void func_80048BE8(Vec3f, Vec3su, f32, u8*, u8*, Vtx*);
void func_80048C3C(Vec3f, Vec3su, f32, u8*, u8*, Vtx*);
void func_80048C90(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*);
void func_80048CEC(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*);
void func_80048D48(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*);
void func_80048DA4(Vec3f, Vec3su, f32, s32, u8*, u8*, Vtx*);
void func_80048E00(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_80048E68(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_80048ED0(s32, s32, u16, f32, u8*, u8*, Vtx*);
void func_80048F38(Vec3f, Vec3su, f32, u8*, u8*, Vtx*);
void func_80048F8C(u8*, Vtx*, s32, s32, s32, s32);
void func_80044924(u8*, s32, s32);
void func_80044DA0(u8*, s32, s32);
void func_80049130(s8*, Vtx*, s32, s32, s32, s32);
void func_800492D4(s8*, Vtx*, s32, s32, s32, s32);
void func_80049478(s8*, Vtx*, s32, s32, s32, s32);
void func_800497CC(s8*, Vtx*, s32, s32, s32, s32);
void func_80049B20(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_80049B9C(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_80049C18(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_80049C94(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_80049D10(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_80049D8C(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_80049E08(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80049E98(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80049F28(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_80049FB8(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_80049130(u8*, Vtx*, s32, s32, s32, s32);
void func_800492D4(u8*, Vtx*, s32, s32, s32, s32);
void func_80049478(u8*, Vtx*, s32, s32, s32, s32);
void func_800497CC(u8*, Vtx*, s32, s32, s32, s32);
void func_80049B20(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80049B9C(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80049C18(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80049C94(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80049D10(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80049D8C(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_80049E08(s32, s32, u16, f32, s32, s32, s32, s32, u8*, Vtx*, s32, s32, s32, s32);
void func_80049E98(s32, s32, u16, f32, s32, s32, s32, s32, u8*, Vtx*, s32, s32, s32, s32);
void func_80049F28(s32, s32, u16, f32, s32, s32, s32, s32, u8*, Vtx*, s32, s32, s32, s32);
void func_80049FB8(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A034(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A0B0(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A12C(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A1BC(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A258(s32, s32, u16, f32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A2F4(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A384(s32, s32, u16, f32, s32, s32, s32, s32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A414(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A488(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A4FC(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A570(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32);
void func_8004A5E4(Vec3f, Vec3su, f32, s32, Vtx*);
void func_8004A034(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A0B0(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A12C(s32, s32, u16, f32, s32, s32, s32, s32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A1BC(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A258(s32, s32, u16, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A2F4(s32, s32, u16, f32, s32, s32, s32, s32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A384(s32, s32, u16, f32, s32, s32, s32, s32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A414(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A488(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A4FC(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A570(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004A5E4(Vec3f, Vec3su, f32, u8*, Vtx*);
void func_8004A630(UnkActorInner*, Vec3f, f32);
void func_8004A6EC(s32, f32);
void func_8004A7AC(s32, f32);
void func_8004A870(s32, f32);
void func_8004A9B8(f32);
void func_8004AA10(Vec3f, Vec3su, f32, s32, Vtx*, s32, s32, s32, s32);
void func_8004AAA0(s32, s32, u16, f32, s32, Vtx*);
void func_8004AB00(s32, s32, u16, f32, s32, Vtx*);
void func_8004AB60(s32, s32, u16, f32, s32, Vtx*);
void func_8004ABC0(s32, s32, u16, f32, s32, Vtx*);
void func_8004AC20(s32, s32, u16, f32, s32, Vtx*);
void func_8004AC80(s32, s32, u16, f32, s32, Vtx*);
void func_8004ACE0(s32, s32, f32, s32, Vtx*);
void func_8004AD2C(s32, s32, u16, f32, s32, Vtx*);
void func_8004AD8C(s32, s32, u16, f32, s32, Vtx*);
void func_8004ADEC(s32, s32, u16, f32, s32, Vtx*);
void func_8004AE4C(s32, s32, u16, f32, s32, Vtx*);
void func_8004AEAC(s32, s32, u16, f32, s32, Vtx*);
void func_8004AF0C(s32, s32, u16, f32, s32, Vtx*);
void func_8004AF6C(s32, s32, u16, f32, s32, Vtx*);
void func_8004AFCC(s32, s32, u16, f32, s32, Vtx*);
void func_8004AA10(Vec3f, Vec3su, f32, u8*, Vtx*, s32, s32, s32, s32);
void func_8004AAA0(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AB00(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AB60(s32, s32, u16, f32, u8*, Vtx*);
void func_8004ABC0(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AC20(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AC80(s32, s32, u16, f32, u8*, Vtx*);
void func_8004ACE0(Vec3f, Vec3su, f32, u8*, Vtx*);
void func_8004AD2C(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AD8C(s32, s32, u16, f32, u8*, Vtx*);
void func_8004ADEC(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AE4C(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AEAC(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AF0C(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AF6C(s32, s32, u16, f32, u8*, Vtx*);
void func_8004AFCC(s32, s32, u16, f32, u8*, Vtx*);
void func_8004B02C();
void func_8004B05C(u8*);
@@ -202,73 +206,78 @@ void func_8004B72C(s32, s32, s32, s32, s32, s32, s32);
void func_8004B950(s32, s32, s32, s32, s32);
void func_8004BB34();
void func_8004BB3C(s32, s32, s32, s32, f32);
void func_8004BD14(s32, s32, u32, u32, s32, s8*, s8*);
void func_8004BD14(s32, s32, u32, u32, s32, u8*, u8*);
void func_8004C6FC(s16, s16, u8*, u32, u32);
void func_8004C024(s16, s16, s16, u16, u16, u16, u16);
void func_8004C148(s16, s16, s16, u16, u16, u16, u16);
//void func_8004C268(s32, s32, s32, u32, u32, u32, s32);
void func_8004C354();
void func_8004C35C();
void func_8004C364(s32, s32, u32, u32, s32);
void func_8004C450(s32, s32, u32, u32, s32);
void func_8004C53C(s32, s32, u32, u32, s32);
void func_8004C628(s32, s32, u32, u32, s32);
void func_8004C364(s32, s32, u32, u32, u8*);
void func_8004C450(s32, s32, u32, u32, u8*);
void func_8004C53C(s32, s32, u32, u32, u8*);
void func_8004C628(s32, s32, u32, u32, u8*);
void func_8004C8D4(s16, s16);
void func_8004C91C(s32, s32, s32, s32, s32, s32);
void func_8004C9D8(s32, s32, s32, s32, s32, s32, s32, s32);
void func_8004CA58(s32, s32, f32, s32, s32, s32);
void func_8004CAD0(s32, s32, s32);
void func_8004CB00(s32, s32, s32);
void func_8004CB30(s32, s32, s32);
void func_8004CB60(s32, s32, s32);
void func_8004CB90(s32, s32, s32);
void func_8004CBC0(s32, s32, f32, s32);
void func_8004CBF4(s32, s32, s32);
void func_8004CC24(s32, s32, s32);
void func_8004CC54(s32, s32, s32);
void func_8004CC84(s32, s32, s32);
void func_8004CCB4(s32, s32, s32);
void func_8004CCE4(s32, s32, f32, s32);
void func_8004CD18(s32, s32, s32);
void func_8004CF9C(s32, s32, s32, s32, s32, s32, s32);
void func_8004CFF0(s32, s32, s32, s32, s32, s32, s32);
void func_8004C91C(s32, s32, u8*, s32, s32, s32);
void func_8004C9D8(s32, s32, s32, u8*, s32, s32, s32, s32);
void func_8004CA58(s32, s32, f32, u8*, s32, s32);
void func_8004CAD0(s32, s32, u8*);
void func_8004CB00(s32, s32, u8*);
void func_8004CB30(s32, s32, u8*);
void func_8004CB60(s32, s32, u8*);
void func_8004CB90(s32, s32, u8*);
void func_8004CBC0(s32, s32, f32, u8*);
void func_8004CBF4(s32, s32, u8*);
void func_8004CC24(s32, s32, u8*);
void func_8004CC54(s32, s32, u8*);
void func_8004CC84(s32, s32, u8*);
void func_8004CCB4(s32, s32, u8*);
void func_8004CCE4(s32, s32, f32, u8*);
void func_8004CD18(s32, s32, u8*);
void func_8004CF9C(s32, s32, u8*, s32, s32, s32, s32);
void func_8004CFF0(s32, s32, u8*, s32, s32, s32, s32);
void func_8004D044(s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32);
void func_800552BC(s32);
void func_800450C8(u8*, s32, s32);
void func_80044F34(u8*, s32, s32);
void func_8004D044(s32, s32, u8*, s32, s32, s32, s32, s32, s32, s32, s32);
void func_8004D0CC();
void func_8004DC34(s32, s32, s32);
void func_8004DC6C(s32, s32, s32);
void func_8004DCA4(s32, s32, s32);
void func_8004DCDC(s32, s32, s32);
void func_8004DD0C(s32, s32, s32);
void func_8004DD44(s32, s32, s32);
void func_8004DD74(s32, s32, s32);
void func_8004DDAC(s32, s32, s32);
void func_8004DDDC(s32, s32, s32);
void func_8004DE04(s32, s32, s32);
void func_8004DE2C(s32, s32, s32);
void func_8004DE54(s32, s32, s32);
void func_8004DE84(s32, s32, s32);
void func_8004DEB4(s32, s32, s32);
void func_8004DEEC(s32, s32, s32);
void func_8004DF24(s32, s32, s32);
void func_8004DC34(s32, s32, u8*);
void func_8004DC6C(s32, s32, u8*);
void func_8004DCA4(s32, s32, u8*);
void func_8004DCDC(s32, s32, u8*);
void func_8004DD0C(s32, s32, u8*);
void func_8004DD44(s32, s32, u8*);
void func_8004DD74(s32, s32, u8*);
void func_8004DDAC(s32, s32, u8*);
void func_8004DDDC(s32, s32, u8*);
void func_8004DE04(s32, s32, u8*);
void func_8004DE2C(s32, s32, u8*);
void func_8004DE54(s32, s32, u8*);
void func_8004DE84(s32, s32, u8*);
void func_8004DEB4(s32, s32, u8*);
void func_8004DEEC(s32, s32, u8*);
void func_8004DF24(s32, s32, u8*);
void func_8004F6D0(s32);
void func_8004E238();
void func_8004E240(s32, s32, u8*, s32, s32, s32, s32);
void func_8004E2B8(s32, s32, s32, s32, s32, s32, s32, s32);
void func_8004E338(s32, s32, u8*, s32, s32, s32);
void func_8004E240(s32, s32, u8*, u8*, s32, s32, s32);
void func_8004E2B8(s32, s32, s32, u8*, u8*, s32, s32, s32);
void func_8004E338(s32, s32, u8*, u8*, s32, s32);
void func_8004E3B8();
void func_8004E3C0(s32, s32, s32, s32, s32, s32, s32, s32);
void func_8004E3F4(s32, s32, s32, s32, s32, s32, s32, s32, s32);
void func_8004E430(s32, s32, s32, s32);
void func_8004E464(s32, s32, s32, s32);
void func_8004E498(s32, s32, s32, s32);
void func_8004E4CC(s32, s32, s32, s32);
void func_8004E500(s32, s32, s32, s32);
void func_8004E534(s32, s32, s32, s32);
void func_8004E568(s32, s32, s32, s32);
void func_8004E59C(s32, s32, s32, s32, s32);
void func_8004E5D8(s32, s32, u8*, s32);
void func_8004E604(s32, s32, u8*, s32);
void func_8004E3C0(s32, s32, u8*, u8*, s32, s32, s32, s32);
void func_8004E3F4(s32, s32, s32, u8*, u8*, s32, s32, s32, s32);
void func_8004E430(s32, s32, u8*, u8*);
void func_8004E464(s32, s32, u8*, u8*);
void func_8004E498(s32, s32, u8*, u8*);
void func_8004E4CC(s32, s32, u8*, u8*);
void func_8004E500(s32, s32, u8*, u8*);
void func_8004E534(s32, s32, u8*, u8*);
void func_8004E568(s32, s32, u8*, u8*);
void func_8004E59C(s32, s32, s32, u8*, u8*);
void func_8004E5D8(s32, s32, u8*, u8*);
void func_8004E604(s32, s32, u8*, u8*);
void func_8004E638(s32);
void func_8004E6C4(s32);
void func_8004E78C(s32);
@@ -280,6 +289,7 @@ void func_8004EB38(s32);
void func_8004ED40(s32);
void func_8004EE54(s32);
void func_8004EF9C(s32);
void func_8004F020(s32);
void func_8004F3E4(s32);
s32 func_8004F674(s32*, s32);
@@ -363,6 +373,8 @@ void func_80056A40(s32, s32);
void func_80056A94(s32);
void func_80056AC0(s32);
//void debug_print_number(s32*, s32*, u8*,u32);
void func_8005762C(s32*,s32*,s32,u32);
void func_80057330();
void func_80057338();
void func_800573BC();
@@ -375,20 +387,16 @@ void debug_wrap_text(s32*, s32*);
void func_80057708();
void load_debug_font();
void func_80057778();
void debug_print_str2(s32, s32, s8*);
void print_str_num(s32, s32, s8*, s32);
void func_80057814(s32, s32, s8*, s32);
void func_80057858(s32, s32, s8*, s32);
void func_800578B0(s32, s32, s8*, s32);
void func_80057908(s32, s32, s8*, s32);
void func_80057960(s32, s32, s8*, s32);
void func_800579B8(s32, s32, s8*);
void func_800579F8(s32, s32, s8*, s32);
void func_80057A50(s32*, s32*, char*, s32);
void func_80057AA8(s32, s32, s8*, s32);
void func_80057B14(s32, s32, s8*, s32);
void func_80057B80(s32, s32, s8*, s32);
void func_80057BEC(s32, s32, s8*, s32);
void debug_print_str2(s32, s32, char*);
void print_str_num(s32, s32, char*, u32);
void func_80057814(s32, s32, char*, u32);
void func_80057858(s32, s32, char*, u32);
void func_800578B0(s32, s32, char*, u32);
void func_80057908(s32, s32, char*, u32);
void func_80057960(s32, s32, char*, u32);
void func_800579B8(s32, s32, char*);
void func_800579F8(s32, s32, char*, u32);
void func_80057A50(s32, s32, char*, u32);
extern s32 D_80165860;
extern s32 D_8016586C;
@@ -403,11 +411,11 @@ extern s32 D_80183DD8[];
extern Vec3f D_80183E40;
extern Vec3f D_80183E50;
extern Vec3f D_80183E70;
extern Vec3s D_80183E80;
extern Vec3s D_80183E98;
extern Vec3su D_80183E80;
extern Vec3su D_80183E98;
extern s32 D_80183EAC;
extern UnkActorInner D_8018C830;
extern s32 D_8018D1E0;
extern u8 *D_8018D1E0;
extern s32 D_8018D1F0;
extern struct UnkStruct_800DC5EC *D_800DC5F0;
@@ -426,7 +434,7 @@ extern u8 gTLUTWhomp[]; // Some type of pallette?
extern Gfx *gDisplayListHead;
// Stuff from undefined_syms.txt, don't know where else to put them
extern s8 D_06013670[];
extern u8 D_06013670[];
extern Gfx D_06007218[];
extern Gfx D_0600F650[];
extern Gfx D_0600F960[];
+2 -2
View File
@@ -14,11 +14,11 @@
#ifdef NON_MATCHING
// Nearly matches
UNUSED s32 func_802B4F60(s32 arg0, Vec3f arg1, s32 arg2, f32 arg3, f32 arg4)
UNUSED s32 func_802B4F60(UNUSED s32 arg0, Vec3f arg1, UNUSED s32 arg2, UNUSED f32 arg3, UNUSED f32 arg4)
{
Mat4 sp30;
f32 sp2C;
f32 a;
UNUSED f32 a;
Vec3f sp1C;
vec3f_copy(sp1C, arg1);
sp2C = sp30[3][3] + (((sp1C[0] * sp30[0][3]) + (sp1C[1] * sp30[1][3])) + (sp30[2][3] * sp1C[2]));
+9 -4
View File
@@ -375,7 +375,7 @@ UNUSED u8 *func_802A841C(u8* arg0, s32 arg1, s32 arg2) {
return temp_v0;
}
u8 *dma_textures(u8 *arg0, u32 arg1, u32 arg2) {
u8 *dma_textures(u8 texture[], u32 arg1, u32 arg2) {
u8 *temp_v0;
void *temp_a0;
@@ -384,7 +384,7 @@ u8 *dma_textures(u8 *arg0, u32 arg1, u32 arg2) {
arg1 = ALIGN16(arg1);
arg2 = ALIGN16(arg2);
osInvalDCache((void *) temp_a0, arg1);
osPiStartDma(&gDmaIoMesg, 0, 0, (uintptr_t) &_other_texturesSegmentRomStart[SEGMENT_OFFSET(arg0)], (void *)temp_a0, arg1, &gDmaMesgQueue);
osPiStartDma(&gDmaIoMesg, 0, 0, (uintptr_t) &_other_texturesSegmentRomStart[SEGMENT_OFFSET(texture)], (void *)temp_a0, arg1, &gDmaMesgQueue);
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, (int) 1);
mio0decode((u8 *) temp_a0, temp_v0);
gNextFreeMemoryAddress += arg2;
@@ -412,7 +412,11 @@ void func_802A86A8(mk64_Vtx *data, u32 arg1) {
mk64_Vtx_n *vtx_n = (mk64_Vtx_n *) data;
Vtx *vtx;
s32 tmp = ALIGN16(arg1 * 0x10);
#ifdef AVOID_UB
u32 i;
#else
s32 i;
#endif
s8 temp_a0;
s8 temp_a3;
s8 flags;
@@ -420,6 +424,7 @@ void func_802A86A8(mk64_Vtx *data, u32 arg1) {
gHeapEndPtr -= tmp;
vtx = (Vtx *) gHeapEndPtr;
// s32 to u32 comparison required for matching.
for (i = 0; i < arg1; i++) {
if (gIsMirrorMode) {
vtx->n.ob[0] = -vtx_n->ob[0];
@@ -447,7 +452,7 @@ void func_802A86A8(mk64_Vtx *data, u32 arg1) {
}
}
void decompress_vtx(u8 *arg0, u32 vertexCount) {
void decompress_vtx(mk64_Vtx *arg0, u32 vertexCount) {
s32 size = ALIGN16(vertexCount * 0x18);
u32 segment = SEGMENT_NUMBER2(arg0);
u32 offset = SEGMENT_OFFSET(arg0);
@@ -1322,7 +1327,7 @@ u8 *load_course(s32 courseId) {
u8 *vertexRomEnd;
UNUSED s32 pad2[2];
u32 *textures;
u8 *vertexStart; // mio0 compressed
mk64_Vtx *vertexStart; // mio0 compressed
u8 *packedStart;
u32 vertexCount;
uintptr_t finalDisplaylistOffset;
+2 -2
View File
@@ -1,6 +1,6 @@
#include "types.h"
#include <types.h>
static Vtx silver_trophy_model[] = {
Vtx silver_trophy_model[] = {
{{{ 203, -400, 0}, 0, {0, 0}, {0x28, 0x00, 0x00, 0xff}}},
{{{ 164, -400, -119}, 0, {0, 0}, {0x28, 0x00, 0x00, 0xff}}},