mirror of
https://github.com/n64decomp/mk64
synced 2026-08-18 21:17:47 -04:00
Match a function, add some comments for some NON_MATCHING functions (#528)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
+60
-98
@@ -1161,10 +1161,10 @@ void func_80008424(s32 playerId, f32 arg1, Player *player) {
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Dec-26-2023
|
||||
static ? D_800DCAF4; /* unable to generate initializer */
|
||||
static ? D_800DCB34; /* unable to generate initializer */
|
||||
static ? *D_800DCBB4[0x15] = {
|
||||
//generated by m2c commit a39b70e85329b0bcaeb4350510ddb23dc9840dce on Jan-01-2024
|
||||
static s16 D_800DCAF4; /* unable to generate initializer: not enough data */
|
||||
static s16 D_800DCB34; /* unable to generate initializer: not enough data */
|
||||
s16 *D_800DCBB4[0x15] = {
|
||||
&D_800DCB34,
|
||||
&D_800DCAF4,
|
||||
&D_800DCAF4,
|
||||
@@ -1195,6 +1195,8 @@ s32 func_800088D8(s32 arg0, s16 arg1, s16 arg2) {
|
||||
f32 temp_f0;
|
||||
f32 temp_f0_2;
|
||||
f32 temp_f0_3;
|
||||
s16 *temp_a2_2;
|
||||
s16 *temp_a3;
|
||||
s16 temp_t5_2;
|
||||
s16 temp_v0;
|
||||
s16 var_a0_4;
|
||||
@@ -1216,8 +1218,6 @@ s32 func_800088D8(s32 arg0, s16 arg1, s16 arg2) {
|
||||
s32 var_a1_4;
|
||||
u16 *var_a0_3;
|
||||
u16 temp_t7;
|
||||
void *temp_a2_2;
|
||||
void *temp_a3;
|
||||
|
||||
var_a1 = arg1;
|
||||
temp_t5 = &D_80163128[arg0];
|
||||
@@ -1241,7 +1241,7 @@ s32 func_800088D8(s32 arg0, s16 arg1, s16 arg2) {
|
||||
return 1;
|
||||
}
|
||||
temp_t2 = var_a1 * 8;
|
||||
temp_a3 = D_800DCBB4[gCurrentCourseId] + (temp_t2 * 2);
|
||||
temp_a3 = &D_800DCBB4[gCurrentCourseId][temp_t2];
|
||||
if (arg2 == 0) {
|
||||
if (gDemoMode == (u16) 1) {
|
||||
temp_a2 = D_80164450[arg0].unk2 - D_80164450[*(D_80164378 + 0xE)].unk2;
|
||||
@@ -1318,11 +1318,11 @@ s32 func_800088D8(s32 arg0, s16 arg1, s16 arg2) {
|
||||
goto block_55;
|
||||
}
|
||||
if (temp_t2 < 0x18) {
|
||||
temp_a2_2 = temp_a3 + (var_t1 * 2);
|
||||
temp_a2_2 = &temp_a3[var_t1];
|
||||
temp_f0_3 = gLapCompletionPercentByPlayerId[arg0];
|
||||
var_a0_5 = (s32) (((f32) temp_a2_2->unk10 * temp_f0_3) + ((f32) temp_a2_2->unk0 * (1.0f - temp_f0_3)));
|
||||
} else {
|
||||
var_a0_5 = (s32) *(temp_a3 + (var_t1 * 2));
|
||||
var_a0_5 = (s32) temp_a3[var_t1].unk0;
|
||||
}
|
||||
*temp_t5 = var_a1_4;
|
||||
*temp_t4 = var_a0_5;
|
||||
@@ -2545,7 +2545,7 @@ s16 func_8000C9DC(f32 posX, f32 posY, f32 posZ, s16 waypointIndex, s32 pathIndex
|
||||
return nearestWaypointIndex;
|
||||
}
|
||||
|
||||
void func_8000CBA4(UNUSED f32 posX, f32 posY, UNUSED f32 posZ, s16 *waypointIndex) {
|
||||
void func_8000CBA4(UNUSED f32 posX, f32 posY, UNUSED f32 posZ, s16 *waypointIndex, s32 arg4) {
|
||||
s16 var_v0;
|
||||
|
||||
var_v0 = *waypointIndex;
|
||||
@@ -2582,106 +2582,68 @@ s16 func_8000CC88(f32 posX, f32 posY, f32 posZ, Player *player, s32 playerId, s3
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit b52d92c2340f6f4ba1aafb464188bb698752fbb0 on Jul-08-2023
|
||||
s16 func_8000CD24(f32 posX, f32 posY, f32 posZ, s16 waypointIndex, Player *player, s32 playerId, s32 pathIndex) {
|
||||
s16 sp5E;
|
||||
s32 sp48;
|
||||
s16 *sp44;
|
||||
f32 var_f20;
|
||||
f32 var_f22;
|
||||
f32 var_f24;
|
||||
s16 *temp_v1_2;
|
||||
s16 temp_a0;
|
||||
s16 temp_v0_2;
|
||||
s16 temp_v0_3;
|
||||
s16 temp_v0_4;
|
||||
s16 temp_v0_5;
|
||||
s16 temp_v0_6;
|
||||
s16 temp_v0_7;
|
||||
s16 var_v0;
|
||||
s16 stackPadding0;
|
||||
s32 stackPadding1;
|
||||
s32 stackPadding2;
|
||||
TrackWaypoint *temp_v1;
|
||||
TrackWaypoint *temp_v1_3;
|
||||
TrackWaypoint *temp_v1_4;
|
||||
u16 temp_v0;
|
||||
|
||||
temp_v0 = player->type;
|
||||
var_f24 = posZ;
|
||||
var_f20 = posX;
|
||||
var_f22 = posY;
|
||||
if ((temp_v0 & 0x4000) && !(temp_v0 & 0x1000)) {
|
||||
temp_v0_2 = func_8000C884(var_f20, var_f22, var_f24, waypointIndex, pathIndex, (u16) func_802ABD40(player->unk_110.unk3A));
|
||||
sp5E = temp_v0_2;
|
||||
if (temp_v0_2 == -1) {
|
||||
sp5E = func_8000CC88(var_f20, var_f22, var_f24, player, playerId, &pathIndex);
|
||||
if ((player->type & 0x4000) && !(player->type & 0x1000)) {
|
||||
sp5E = func_8000C884(posX, posY, posZ, waypointIndex, pathIndex, (u16) func_802ABD40(player->unk_110.unk3A));
|
||||
if (sp5E == -1) {
|
||||
sp5E = func_8000CC88(posX, posY, posZ, player, playerId, &pathIndex);
|
||||
}
|
||||
goto block_17;
|
||||
}
|
||||
sp48 = playerId * 2;
|
||||
if (D_801631E0[playerId] == 1) {
|
||||
temp_a0 = player->unk_0CA;
|
||||
if (temp_a0 & 1) {
|
||||
temp_v1 = &D_80164550[pathIndex][waypointIndex];
|
||||
player->pos[0] = (f32) temp_v1->posX;
|
||||
player->pos[1] = (f32) temp_v1->posY;
|
||||
player->unk_0CA = temp_a0 & 0xFFFE;
|
||||
player->pos[2] = (f32) temp_v1->posZ;
|
||||
return waypointIndex;
|
||||
}
|
||||
if (playerId == ((s32) D_80163488 % 8)) {
|
||||
func_802ADDC8(&player->unk_110, 10.0f, var_f20, var_f22, var_f24);
|
||||
temp_v0_3 = func_802ABD40(player->unk_110.unk3A);
|
||||
temp_v1_2 = sp48 + D_80163318;
|
||||
*temp_v1_2 = temp_v0_3;
|
||||
sp44 = temp_v1_2;
|
||||
var_v0 = func_8000C884(var_f20, var_f22, var_f24, waypointIndex, pathIndex, (u16) (temp_v0_3 & 0xFFFF));
|
||||
sp5E = var_v0;
|
||||
if (var_v0 == -1) {
|
||||
sp44 = temp_v1_2;
|
||||
var_v0 = func_8000C9DC(var_f20, var_f22, var_f24, waypointIndex, pathIndex);
|
||||
sp5E = var_v0;
|
||||
} else {
|
||||
if (D_801631E0[playerId] == 1) {
|
||||
if (player->unk_0CA & 1) {
|
||||
temp_v1 = &D_80164550[pathIndex][waypointIndex];
|
||||
player->pos[0] = (f32) temp_v1->posX;
|
||||
player->pos[1] = (f32) temp_v1->posY;
|
||||
player->pos[2] = (f32) temp_v1->posZ;
|
||||
player->unk_0CA &= ~0x0001;
|
||||
return waypointIndex;
|
||||
}
|
||||
if (var_v0 == -1) {
|
||||
temp_v0_4 = func_8000C0BC(var_f20, var_f22, var_f24, (u16) *temp_v1_2, &pathIndex);
|
||||
sp5E = temp_v0_4;
|
||||
temp_v1_3 = &D_80164550[pathIndex][temp_v0_4];
|
||||
player->pos[0] = (f32) temp_v1_3->posX;
|
||||
player->pos[1] = (f32) temp_v1_3->posY;
|
||||
player->pos[2] = (f32) temp_v1_3->posZ;
|
||||
if (playerId == ((s32) D_80163488 % 8)) {
|
||||
func_802ADDC8(&player->unk_110, 10.0f, posX, posY, posZ);
|
||||
D_80163318[playerId] = func_802ABD40(player->unk_110.unk3A);
|
||||
sp5E = func_8000C884(posX, posY, posZ, waypointIndex, pathIndex, D_80163318[playerId]);
|
||||
if (sp5E == -1) {
|
||||
sp5E = func_8000C9DC(posX, posY, posZ, waypointIndex, pathIndex);
|
||||
}
|
||||
if (sp5E == -1) {
|
||||
sp5E = func_8000C0BC(posX, posY, posZ, D_80163318[playerId], &pathIndex);
|
||||
temp_v1 = &D_80164550[pathIndex][sp5E];
|
||||
player->pos[0] = (f32) temp_v1->posX;
|
||||
player->pos[1] = (f32) temp_v1->posY;
|
||||
player->pos[2] = (f32) temp_v1->posZ;
|
||||
}
|
||||
} else {
|
||||
sp5E = func_8000C9DC(posX, posY, posZ, waypointIndex, pathIndex);
|
||||
if (sp5E == -1) {
|
||||
sp5E = func_8000BD94(posX, posY, posZ, pathIndex);
|
||||
temp_v1 = &D_80164550[pathIndex][sp5E];
|
||||
posX = (f32) temp_v1->posX;
|
||||
posY = (f32) temp_v1->posY;
|
||||
posZ = (f32) temp_v1->posZ;
|
||||
player->pos[0] = posX;
|
||||
player->pos[1] = posY;
|
||||
player->pos[2] = posZ;
|
||||
func_802ADDC8(&player->unk_110, 10.0f, posX, posY, posZ);
|
||||
D_80163318[playerId] = func_802ABD40(player->unk_110.unk3A);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
temp_v0_5 = func_8000C9DC(var_f20, var_f22, var_f24, waypointIndex, pathIndex);
|
||||
sp5E = temp_v0_5;
|
||||
if (temp_v0_5 == -1) {
|
||||
temp_v0_6 = func_8000BD94(var_f20, var_f22, var_f24, pathIndex);
|
||||
sp5E = temp_v0_6;
|
||||
temp_v1_4 = &D_80164550[pathIndex][temp_v0_6];
|
||||
var_f20 = (f32) temp_v1_4->posX;
|
||||
var_f22 = (f32) temp_v1_4->posY;
|
||||
player->pos[0] = var_f20;
|
||||
var_f24 = (f32) temp_v1_4->posZ;
|
||||
player->pos[1] = var_f22;
|
||||
player->pos[2] = var_f24;
|
||||
func_802ADDC8(&player->unk_110, 10.0f, var_f20, var_f22, var_f24);
|
||||
*(D_80163318 + sp48) = func_802ABD40(player->unk_110.unk3A);
|
||||
sp5E = func_8000C9DC(posX, posY, posZ, waypointIndex, pathIndex);
|
||||
if (sp5E == -1) {
|
||||
sp5E = func_8000CC88(posX, posY, posZ, player, playerId, &pathIndex);
|
||||
}
|
||||
}
|
||||
goto block_16;
|
||||
}
|
||||
temp_v0_7 = func_8000C9DC(var_f20, var_f22, var_f24, waypointIndex, pathIndex);
|
||||
sp5E = temp_v0_7;
|
||||
if (temp_v0_7 == -1) {
|
||||
sp5E = func_8000CC88(var_f20, var_f22, var_f24, player, playerId, &pathIndex);
|
||||
}
|
||||
block_16:
|
||||
func_8000CBA4(var_f20, var_f22, var_f24, &sp5E, /* extra? */ pathIndex);
|
||||
block_17:
|
||||
func_8000CBF8(var_f20, var_f22, var_f24, &sp5E, pathIndex);
|
||||
func_8000CBA4(posX, posY, posZ, &sp5E, pathIndex);
|
||||
}
|
||||
func_8000CBF8(posX, posY, posZ, &sp5E, pathIndex);
|
||||
return sp5E;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000CD24.s")
|
||||
#endif
|
||||
|
||||
s16 func_8000D100(f32 xPos, f32 yPos, f32 zPos, s16 arg3) {
|
||||
f32 xdiff;
|
||||
|
||||
Reference in New Issue
Block a user