Added gamemode and CC defines (#64)

* Added gamemode and CC defines
This commit is contained in:
CoderStig 2021-11-23 13:34:54 -07:00 committed by GitHub
parent f88c578b98
commit bd6c82588a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 204 additions and 201 deletions

View File

@ -176,4 +176,4 @@ struct bigboi {
/* 0x01F4 */ s32 unk_1F4;
/* 0x01F8 */ f32 unk_1F8;
/* 0x01FC */ f32 unk_1FC;
};
};

View File

@ -20,4 +20,16 @@
// Compiles to -0x1000 in diff.py
#define PLAYER_HUMAN_AND_CPU PLAYER_EXISTS | PLAYER_HUMAN | PLAYER_CPU | PLAYER_START_SEQUENCE
#define GRAND_PRIX 0
#define TIME_TRIALS 1
#define VERSUS 2
#define BATTTLE 3
#define CC_50 0
#define CC_100 1
#define CC_150 2
#define CC_EXTRA 3
#define CC_BATTLE 4
#endif // DEFINES_H

View File

@ -1,5 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C13F0.s")
@ -4800,7 +4801,7 @@ void func_800C8CCC(void) {
}
phi_s0_2 = 0;
phi_s0_3 = 0;
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
do {
func_800C8770(phi_s0_2 & 0xFF);
func_800C8C7C(phi_s0_2 & 0xFF);

View File

@ -2,6 +2,7 @@
#include <macros.h>
#include "types.h"
#include "variables.h"
#include <defines.h>
extern void func_800C8F44(u16 arg0);
extern u16 D_800DC5A8;
@ -135,7 +136,7 @@ void func_80002A18(void) {
} else {
gCourseDirection = 1.0f;
}
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
gCurrentCourseId = gCupTrackOrder[gCupSelection][gCourseSelection];
}
D_800DC52C = D_800DC530;
@ -164,7 +165,7 @@ void func_80002A18(void) {
func_80091FA4();
func_8029E158();
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
D_8015F8D0.unk4 = (f32) (D_80164490->unk2 - 15);;
D_8015F8D0.unk8 = D_80164490->unk4;
if (gCurrentCourseId == COURSE_TOADS_TURNPIKE) {

View File

@ -2022,7 +2022,7 @@ extern ? gPlayers;
*temp_t5 = -1;
*temp_t4 = -1;
phi_a1 = arg1;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
return 1;
}
if (arg1 < 0) {
@ -2540,7 +2540,7 @@ block_25:
if (temp_f0_2 < sp38) {
temp_t1 = *temp_v0_3 + 1;
*temp_v0_3 = temp_t1;
if ((gModeSelection == 0) && (temp_t1 == 5)) {
if ((gModeSelection == GRAND_PRIX) && (temp_t1 == 5)) {
phi_v0 = &lapCount;
if (*(&D_80164408 + phi_a3_2) == 7) {
do {
@ -2599,7 +2599,7 @@ block_25:
arg0 = phi_a0_4;
func_800065D0(phi_a0_4, arg1, &D_80163448);
phi_a0_5 = (bitwise f32) arg0;
if ((gModeSelection == 0) && (D_8018EDF3 == 2) && (arg0 == 0)) {
if ((gModeSelection == GRAND_PRIX) && (D_8018EDF3 == 2) && (arg0 == 0)) {
if (D_80164408 < D_8016440C) {
D_80163478 = 0;
} else {
@ -2651,7 +2651,7 @@ void func_800097E0(void) {
return;
}
if ((D_8016337C & 1) != 0) {
if (gModeSelection == 2) {
if (gModeSelection == VERSUS) {
do {
func_8000DF8C(phi_s0_2);
temp_s0_2 = phi_s0_2 + 1;
@ -6041,7 +6041,7 @@ void func_8000F124(void) {
if (D_800DC51C != 1) {
phi_s1 = &D_80163348;
phi_s0 = 0;
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
do {
loop_5:
temp_a2 = D_8018EDF3;
@ -6564,7 +6564,7 @@ void func_8000F628(void) {
*spD0 = -1;
*spCC = 0.0f;
*spC8 = 0.0f;
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
temp_v0_2 = *(phi_fp + D_80165270);
*phi_s4 = temp_v0_2;
*phi_s6 = temp_v0_2;
@ -6679,7 +6679,7 @@ void func_8000F628(void) {
D_801637BC.unk2 = 0;
if (D_800DC51C == 0) {
phi_v0_2 = &D_80163344;
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
phi_a0 = &D_80163348;
do {
temp_v0_4 = phi_v0_2 + 2;
@ -6707,7 +6707,7 @@ void func_8000F628(void) {
temp_s2->unk-2 = 0;
phi_s2_2 = temp_s2;
} while (temp_s2 < &D_80163340);
if (gModeSelection == 2) {
if (gModeSelection == VERSUS) {
temp_t6 = D_8016479E;
temp_t8 = (temp_t6 & 0xFFFF) * 2;
*(&D_80163330 + temp_t8) = 1;
@ -6744,7 +6744,7 @@ void func_8000F628(void) {
} while (temp_v1_3 < &D_80164448);
D_8016347A = 0;
phi_v1_2 = &D_80162F10;
if (gCCSelection == 3) {
if (gCCSelection == CC_EXTRA) {
D_8016347A = 1;
}
phi_v0_5 = &D_80162F50;
@ -8526,7 +8526,7 @@ loop_2:
} else {
phi_s6_2 = &D_801635A0;
if (gModeSelection != 0) {
if (gModeSelection != GRAND_PRIX) {
do {
temp_s6_2 = phi_s6_2 + 0x10C;
temp_s6_2->unk-E8 = 1;
@ -9190,14 +9190,14 @@ void func_800139E4(f32 arg0, f32 arg1, s32 arg2, s32 arg3, void *arg4, s32 arg5)
phi_s0->unk30 = 0;
phi_s0->unk31 = 0;
phi_s0->unkC = temp_v0->unk4;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
phi_s0->unk2E = phi_s3 % 3;
} else {
phi_s0->unk2E = random_int(3);
}
temp_v0_2 = phi_s0->unk2E;
phi_s0->unk24 = (temp_v0_2 - 1) * D_800ED168;
if (((gCCSelection > 0) || (gModeSelection == 1)) && (temp_v0_2 == 2)) {
if (((gCCSelection > 0) || (gModeSelection == TIME_TRIALS)) && (temp_v0_2 == 2)) {
phi_s0->unk20 = arg0;
} else {
phi_s0->unk20 = arg1;
@ -9644,7 +9644,7 @@ void func_800147E0(void) {
temp_f0 = (gCCSelection * D_800ED1B8) / 216.0;
phi_a2 = 7;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
phi_a2 = 8;
}
func_800139E4(temp_f0 + D_800ED1C0, temp_f0 + D_800ED1C8, phi_a2, 0, &D_80163818, D_80164550);
@ -9712,7 +9712,7 @@ void func_80014934(void) {
temp_f0 = (gCCSelection * D_800ED1D0) / 216.0;
phi_a2 = 7;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
phi_a2 = 8;
}
func_800139E4(temp_f0 + D_800ED1D8, temp_f0 + D_800ED1E0, phi_a2, 0x4B, &D_80163988, D_80164550);
@ -9780,7 +9780,7 @@ void func_80014A88(void) {
temp_f0 = (gCCSelection * D_800ED1E8) / 216.0;
phi_a2 = 7;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
phi_a2 = 8;
}
func_800139E4(temp_f0 + D_800ED1F0, temp_f0 + D_800ED1F8, phi_a2, 0x32, &D_80163AF8, D_80164550);
@ -9848,7 +9848,7 @@ void func_80014BDC(void) {
temp_f0 = (gCCSelection * D_800ED200) / 216.0;
phi_a2 = 7;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
phi_a2 = 8;
}
func_800139E4(temp_f0 + D_800ED208, temp_f0 + D_800ED210, phi_a2, 0x19, &D_80163C68, D_80164550);
@ -12449,7 +12449,7 @@ void func_8001A588(s32 arg0, void *arg1, u16 *arg2, s8 arg3, s32 cameraId) {
s32 phi_a3;
phi_s0 = arg1->unkAE;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
phi_s0 = 0;
}
func_80019FB4(cameraId);
@ -12515,7 +12515,7 @@ void func_8001A588(s32 arg0, void *arg1, u16 *arg2, s8 arg3, s32 cameraId) {
phi_t0 = &D_801646C8;
}
phi_a3 = cameraId;
if ((gModeSelection != 1) && (cameraId == 1) && ((temp_v0_6 = *phi_t0, (temp_v0_6 == 0x104)) || (temp_v0_6 == 0x105))) {
if ((gModeSelection != TIME_TRIALS) && (cameraId == 1) && ((temp_v0_6 = *phi_t0, (temp_v0_6 == 0x104)) || (temp_v0_6 == 0x105))) {
phi_v1 = 0;
if (D_8018EDF3 == 2) {
func_8001A518(phi_s0, *(&D_801643B8 + (phi_s0 * 4)), 1, cameraId);
@ -12767,7 +12767,7 @@ void func_8001AC10(s32 playerId, s32 *arg2) {
temp_t9 = (playerId * 0xDD8) + D_800DC4DC;
sp2C = temp_t9;
if ((gModeSelection != 1) && (D_801646CC != 1) && ((*temp_t9 & 0x800) == 0)) {
if ((gModeSelection != TIME_TRIALS) && (D_801646CC != 1) && ((*temp_t9 & 0x800) == 0)) {
temp_s0 = (playerId * 0x10) + &D_801642D8;
temp_a1 = temp_s0->unk0;
switch (temp_a1) { /* switch 1 */
@ -13368,7 +13368,7 @@ void func_8001C3C4(void) {
// Duplicate return node #5. Try simplifying control flow for better match
return;
}
if (gModeSelection == 2) {
if (gModeSelection == VERSUS) {
func_80057114();
}
}

View File

@ -122,7 +122,7 @@ void func_8001C4D0(f32 x, f32 y, f32 z, s16 rot, u32 arg4, s32 cameraId) {
if (temp_v0 != 2) {
if (temp_v0 != 3) {
} else if (gModeSelection == 3) {
} else if (gModeSelection == BATTTLE) {
cameras[cameraId].unk4 = (bitwise s32) 0.0f;
cameras[cameraId].unk7 = (bitwise s32) 0.0f;
cameras[cameraId].unk8 = (bitwise s32) 0.0f;
@ -140,7 +140,7 @@ void func_8001C4D0(f32 x, f32 y, f32 z, s16 rot, u32 arg4, s32 cameraId) {
} else {
goto block_7;
}
} else if (gModeSelection == 3) {
} else if (gModeSelection == BATTTLE) {
cameras[cameraId].unk4 = (bitwise s32) 0.0f;
cameras[cameraId].unk7 = (bitwise s32) 0.0f;
cameras[cameraId].unk8 = (bitwise s32) 0.0f;
@ -157,7 +157,7 @@ void func_8001C4D0(f32 x, f32 y, f32 z, s16 rot, u32 arg4, s32 cameraId) {
}
} else {
block_7:
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
cameras[cameraId].unk4 = (bitwise s32) 0.0f;
cameras[cameraId].unk7 = (bitwise s32) 0.0f;
cameras[cameraId].unk8 = (bitwise s32) 0.0f;

View File

@ -643,7 +643,7 @@ void func_80028864(Player *arg0, s32 arg1, s8 arg2, s8 arg3) {
phi_a0 = arg0;
block_17:
}
if ((sp1E == 1) || ((phi_a0->unk_000 & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) || (gModeSelection == 3) || (temp_v0_7 = phi_a0->unk_0CA, ((temp_v0_7 & 2) != 0)) || ((temp_v0_7 & 8) != 0) || (*(&D_801633F8 + (arg2 * 2)) == 1)) {
if ((sp1E == 1) || ((phi_a0->unk_000 & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) || (gModeSelection == BATTTLE) || (temp_v0_7 = phi_a0->unk_0CA, ((temp_v0_7 & 2) != 0)) || ((temp_v0_7 & 8) != 0) || (*(&D_801633F8 + (arg2 * 2)) == 1)) {
temp_t4 = phi_a0->unk_0BC & ~0x1000;
phi_a0->unk_0BC = temp_t4;
if (((temp_t4 & 0x80) == 0x80) || ((temp_t4 & 0x40) == 0x40) || ((temp_t4 & 0x400) == 0x400) || ((temp_t4 & 0x4000) == 0x4000) || ((temp_t4 & 0x80000) == 0x80000) || ((temp_t4 & 0x800000) == 0x800000) || ((temp_t4 & 0x1000000) == 0x1000000) || ((temp_t4 & 0x2000000) == 0x2000000) || ((temp_t4 & 0x20000) == 0x20000) || ((phi_a0->unk_044 & 0x800) != 0)) {
@ -5596,7 +5596,7 @@ void func_80032700(void *arg0) {
}
if (D_801656F0 == 1) {
phi_v0 = 8;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
phi_v0 = 0x14;
}
if (((gRaceFrameCounter - D_801652E0[func_80027D00()]) < phi_v0) && ((arg0->unk44 & 0x20) != 0x20)) {
@ -6282,7 +6282,7 @@ void func_80033AE0(void *arg0, void *arg1, s8 arg2) {
arg0->unkFA = temp_t9;
if (((sp2D0 >= 0x5A) || (sp2D0 < -0x59)) && ((arg0->unk44 & 0x4000) == 0)) {
temp_v1_4 = arg0->unkBC;
if (((temp_v1_4 & 0x10) == 0) && (gCCSelection == 2) && (gModeSelection != 3) && ((temp_v1_4 & 8) == 0) && (((arg0->unk94 / 18.0f) * 216.0f) >= 40.0f) && (arg0->unk204 == 0)) {
if (((temp_v1_4 & 0x10) == 0) && (gCCSelection == CC_150) && (gModeSelection != BATTTLE) && ((temp_v1_4 & 8) == 0) && (((arg0->unk94 / 18.0f) * 216.0f) >= 40.0f) && (arg0->unk204 == 0)) {
arg0->unkC = arg0->unkC | 0x80;
}
}
@ -6622,7 +6622,7 @@ block_125:
arg0->unk78 = phi_t4;
}
}
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
arg0->unk78 = arg0->unk78 * D_800EDD80;
}
}
@ -7232,7 +7232,7 @@ void func_80037BB4(void *arg0, void *arg1) {
arg0->unk2E = arg0->unk2E + temp_v0;
}
if ((arg0->unk0 & 0x1000) == 0) {
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_800378E8(&sp20, arg1);
return;
}
@ -7246,7 +7246,7 @@ void func_80037BB4(void *arg0, void *arg1) {
arg0->unk2E = arg0->unk2E + temp_v0;
}
if ((arg0->unk0 & 0x1000) == 0) {
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_80037A4C(&sp20, arg1);
return;
}
@ -7340,7 +7340,7 @@ block_21:
func_80030FC8(arg0);
func_80030E00(arg0);
} else {
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_80031F48(arg0, 0x40000000);
} else {
func_80031F48(arg0, 0x3F800000);

View File

@ -30,26 +30,23 @@ void spawn_player(Player *player, s8 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg
player->unk_100 = gKartGravityTable[player->characterId];
switch (gModeSelection) {
// Mario Grand Prix
case 0:
// Versus
case 2:
case GRAND_PRIX:
case VERSUS:
player->unk_084 = D_800E2400.unk_00[gCCSelection][player->characterId];
player->unk_088 = D_800E24B4.unk_00[gCCSelection][player->characterId];
player->unk_210 = D_800E2568.unk_00[gCCSelection][player->characterId];
player->unk_214 = D_800E261C.unk_00[gCCSelection][player->characterId];
break;
// Time Trial (uses 100CC values)
case 1:
// Uses 100CC values
case TIME_TRIALS:
player->unk_084 = D_800E2400.unk_00[1][player->characterId];
player->unk_088 = D_800E24B4.unk_00[1][player->characterId];
player->unk_210 = D_800E2568.unk_00[1][player->characterId];
player->unk_214 = D_800E261C.unk_00[1][player->characterId];
break;
// Battle
case 3:
case BATTTLE:
player->unk_084 = D_800E2400.unk_00[4][player->characterId];
player->unk_088 = D_800E24B4.unk_00[4][player->characterId];
player->unk_210 = D_800E2568.unk_00[4][player->characterId];
@ -296,7 +293,7 @@ void spawn_player(Player *player, s8 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg
func_80295BF8(arg1);
func_8005D6C0(player);
func_8006B87C(player, arg1);
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B7E4(player, arg1);
}
func_802B6540(player->unk_150, player->unk_058, player->unk_05C, player->unk_060, player->unk_02E);
@ -333,7 +330,7 @@ void func_80039AE4(void) {
case 1:
case 2:
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
D_80165578 = 0x898;
D_8016557A = 0;
D_8016557C = 0x320;
@ -359,7 +356,7 @@ void func_80039AE4(void) {
break;
default:
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
D_80165578 = 0x898;
D_8016557A = 0;
D_8016557C = 0x320;
@ -769,7 +766,7 @@ void func_8003C0F0(void) {
switch (D_800DC52C) {
case 0:
switch (gModeSelection) {
case 0:
case GRAND_PRIX:
D_80165210[0] = D_80165210[2] = D_80165210[4] = D_80165210[6] = sp5E + 0x14;
D_80165210[1] = D_80165210[3] = D_80165210[5] = D_80165210[7] = sp5E - 0x14;
D_80165230[0] = sp5C + 0x1E;
@ -783,7 +780,7 @@ void func_8003C0F0(void) {
func_80039F44(D_80165210, D_80165230, sp5A);
break;
case 1:
case TIME_TRIALS:
D_80165210[0] = D_80165210[2] = D_80165210[4] = D_80165210[6] = sp5E;
D_80165210[1] = D_80165210[3] = D_80165210[5] = D_80165210[7] = sp5E;
D_80165230[0] = sp5C + 0x1E;
@ -802,7 +799,7 @@ void func_8003C0F0(void) {
case 1:
case 2:
switch (gModeSelection) {
case 0:
case GRAND_PRIX:
D_80165210[0] = D_80165210[2] = D_80165210[4] = D_80165210[6] = sp5E + 0x14;
D_80165210[1] = D_80165210[3] = D_80165210[5] = D_80165210[7] = sp5E - 0x14;
D_80165230[0] = sp5C + 0x1E;
@ -816,7 +813,7 @@ void func_8003C0F0(void) {
func_8003A9F0(D_80165210, D_80165230, sp5A);
break;
case 2:
case VERSUS:
D_80165210[0] = D_80165210[2] = D_80165210[4] = D_80165210[6] = sp5E + 0xA;
D_80165210[1] = D_80165210[3] = D_80165210[5] = D_80165210[7] = sp5E - 0xA;
D_80165230[0] = sp5C + 0x1E;
@ -834,7 +831,7 @@ void func_8003C0F0(void) {
case 3:
switch (gModeSelection) {
case 2:
case VERSUS:
D_80165210[0] = sp5E + 0x1E;
D_80165210[2] = D_80165210[4] = D_80165210[6] = sp5E - 0xA;
D_80165210[3] = D_80165210[5] = D_80165210[7] = sp5E - 0x1E;
@ -1032,7 +1029,7 @@ void func_8003C0F0(void) {
break;
}
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
func_8000F628();
}
}
@ -1090,7 +1087,7 @@ void func_8003D080(void) {
switch (D_800DC52C) {
case 0:
switch (gModeSelection) {
case 0:
case GRAND_PRIX:
if (gCurrentCourseId == COURSE_TOADS_TURNPIKE) {
func_8001C4D0(0.0f, D_800DC4DC->unk_0A8, D_8016524C, D_800DC4DC->unk_0BC, 8, 0);
} else {
@ -1098,7 +1095,7 @@ void func_8003D080(void) {
}
break;
case 1:
case TIME_TRIALS:
func_8001C4D0(D_800DC4DC->unk_0A4, D_800DC4DC->unk_0A8, D_8016524C, D_800DC4DC->unk_0BC, 1, 0);
break;
@ -1111,12 +1108,12 @@ void func_8003D080(void) {
case 1:
case 2:
switch (gModeSelection) {
case 0:
case GRAND_PRIX:
func_8001C4D0(D_800DC4DC->unk_0A4, D_800DC4DC->unk_0A8, D_800DC4DC->unk_0AC, D_800DC4DC->unk_0BC, 1, 0);
func_8001C4D0(D_800DC4E0->posX, D_800DC4E0->posY, D_800DC4E0->posZ, D_800DC4E0->unk_02E, 1, 1);
break;
case 3:
case BATTTLE:
func_8001C4D0(D_800DC4DC->unk_0A4, D_800DC4DC->unk_0A8, D_800DC4DC->unk_0AC, D_800DC4DC->unk_0BC, 9, 0);
func_8001C4D0(D_800DC4E0->posX, D_800DC4E0->posY, D_800DC4E0->posZ, D_800DC4E0->unk_02E, 9, 1);
break;
@ -1129,7 +1126,7 @@ void func_8003D080(void) {
break;
case 3:
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
ptr = &D_800DC4E4;
func_8001C4D0(D_800DC4DC->unk_0A4, D_800DC4DC->unk_0A8, D_800DC4DC->unk_0AC, D_800DC4DC->unk_0BC, 9, 0);
func_8001C4D0(D_800DC4E0->posX, D_800DC4E0->posY, D_800DC4E0->posZ, D_800DC4E0->unk_02E, 9, 1);

View File

@ -6207,7 +6207,7 @@ void func_800508C0(void) {
s32 phi_s1_2;
s32 phi_s2_2;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
phi_s0 = D_80164378;
} else {
phi_s0 = D_80164360;
@ -6584,7 +6584,7 @@ void func_800514BC(void) {
phi_s1 = temp_s1;
} while (temp_s1 != phi_s3);
}
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
func_80050E34(0, D_80164408);
} else if (gPlayerCountSelection1 == 1) {
func_80050E34(0, *D_801643B8);

View File

@ -5,6 +5,7 @@
#include <common_structs.h>
#include <types.h>
#include <config.h>
#include <defines.h>
extern Mtx *D_80183D60;
extern Vp D_802B8880;
@ -438,7 +439,7 @@ void func_800588F4(s32 arg0) {
if (D_80165730 != 0) {
func_80053E6C(arg0);
}
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_80056AC0(arg0);
}
}
@ -843,21 +844,21 @@ void func_800591B4(void) {
if ((D_800DC51C == 0) && (D_801657E8 != 0)) {
if (D_80165800 != 0) {
func_8004EE54(0);
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
func_8004F020(0);
}
func_8004F3E4(0);
}
if ((D_800DC530 == 1) && (D_80165801 != 0)) {
func_8004EE54(1);
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
func_8004F020(1);
}
func_8004F3E4(1);
}
}
}
if ((D_801657E4 != 2) && (gModeSelection == 0) && (D_8018D2BC != 0)) {
if ((D_801657E4 != 2) && (gModeSelection == GRAND_PRIX) && (D_8018D2BC != 0)) {
func_80050320();
}
func_800590D4();
@ -941,7 +942,7 @@ extern ? D_80165800;
extern s32 D_8018D188;
void func_80059488(s32 arg0) {
if ((gModeSelection != 3) && (*(&D_80165800 + arg0) == 0) && (D_8018D188 != 0)) {
if ((gModeSelection != BATTTLE) && (*(&D_80165800 + arg0) == 0) && (D_8018D188 != 0)) {
func_8004FA78();
func_8004E78C(arg0);
}
@ -1018,7 +1019,7 @@ void func_80059560(s32 arg0) {
void *temp_v0;
void *temp_v0_2;
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
if ((D_801657F8 != 0) && (D_8018D188 != 0)) {
temp_v0 = (arg0 * 0x84) + &D_8018CA70;
sp3C = temp_v0;
@ -1334,7 +1335,7 @@ void func_80059AC8(void) {
}
} else if (D_800DC50C != 9) {
func_80059A88(0);
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
func_8005995C();
}
} else {
@ -1713,14 +1714,14 @@ void func_8005A3C0(s32 arg2) {
D_80165800.unk0 = (D_80165800.unk0 + 1) & 1;
phi_a1 = 1;
phi_a2 = 3;
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
D_801657F0 = (D_801657F0 + 1) & 1;
phi_a1 = 1;
phi_a2 = 3;
}
}
} else if (((D_800DC4BC->buttonPressed & 1) != 0) || ((D_800DC4C0->unk6 & 1) != 0) || (phi_a2 = 3, ((D_800DC4C4->unk6 & 1) != 0))) {
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
D_801657F0 = (D_801657F0 + 1) & 1;
}
D_801657E4 = (D_801657E4 + 1) & 1;
@ -1729,7 +1730,7 @@ void func_8005A3C0(s32 arg2) {
}
} else {
phi_a2 = 3;
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
if ((D_800DC4BC->buttonPressed & 1) != 0) {
D_80165800.unk0 = (D_80165800.unk0 + 1) & 1;
phi_a1 = 1;
@ -1836,7 +1837,7 @@ void func_8005A74C(void) {
if (D_800DC50C != 9) {
func_8007E1AC();
func_8007E4C4();
if (gModeSelection != 1) {
if (gModeSelection != TIME_TRIALS) {
func_8007DB44();
}
func_8007C340();
@ -2042,7 +2043,7 @@ GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005AAF0.s")
? func_8005AA6C(?); // extern
void func_8005AB20(void) {
if ((gModeSelection == 0) && (gPlayerCountSelection1 == 1)) {
if ((gModeSelection == GRAND_PRIX) && (gPlayerCountSelection1 == 1)) {
func_8005AA6C(0x14);
}
}
@ -2765,7 +2766,7 @@ block_76:
phi_v0_3 = D_8018D1CC;
break;
case 2: /* switch 2 */
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
D_8018CA70.unk80 = 1;
}
D_8018CA70.unk78 = 1;
@ -3233,7 +3234,7 @@ void func_8005CB60(s32 arg0, s32 arg1) {
temp_s0->unk8 = (temp_s0 + (*temp_v1 * 4))->unk14;
}
phi_a2 = 1;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
temp_v0_2 = D_80165638;
temp_a0_2 = temp_s0->unkC;
if (temp_v0_2 >= temp_a0_2) {
@ -3308,7 +3309,7 @@ void func_8005CB60(s32 arg0, s32 arg1) {
arg0 = phi_a3;
func_80079084(phi_a3);
func_800C9060(arg0 & 0xFF, 0x1900F015);
if ((gCurrentCourseId == 8) && (D_80165898 == 0) && (gModeSelection != 1)) {
if ((gCurrentCourseId == 8) && (D_80165898 == 0) && (gModeSelection != TIME_TRIALS)) {
D_80165898 = 1;
}
}
@ -3379,7 +3380,7 @@ extern s32 D_8016439C;
extern s32 lapCount;
void func_8005D0FC(s32 arg0) {
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
if (arg0 != 0) {
if (arg0 != 1) {
if (arg0 != 2) {
@ -3411,7 +3412,7 @@ extern s32 D_8018D2A4;
extern s32 D_8018D2BC;
void func_8005D18C(void) {
if ((gModeSelection == 0) && (gPlayerCountSelection1 == 1)) {
if ((gModeSelection == GRAND_PRIX) && (gPlayerCountSelection1 == 1)) {
D_801657D8 = 1;
D_8018D2BC = 0;
D_8018D2A4 = 0;
@ -3440,7 +3441,7 @@ void func_8005D1F4(s32 arg0) {
void *temp_v1;
? *phi_a2;
if (gModeSelection == 2) {
if (gModeSelection == VERSUS) {
temp_v1 = (arg0 * 0x84) + &D_8018CA70;
temp_v1->unk74 = 0;
phi_a2 = &D_80163DE8;
@ -11992,7 +11993,7 @@ void func_8006D474(void *arg0, s8 arg1, s8 arg2) {
phi_s2 = temp_s2;
} while (temp_s2 < 0xA);
}
if ((gModeSelection == 3) && ((arg0->unk2 & (2 << sp44)) != 0)) {
if ((gModeSelection == BATTTLE) && ((arg0->unk2 & (2 << sp44)) != 0)) {
func_8006BA94(arg0, arg1, arg2);
}
}
@ -12229,7 +12230,7 @@ void func_8006E420(u16 *arg0, s8 arg1, s8 arg2) {
temp_s0 = phi_s0 + 1;
phi_s0 = temp_s0;
} while (temp_s0 < 0xA);
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B9CC(arg0, arg1);
}
}

View File

@ -1,5 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
void func_8006EA5C(void);
extern s32 D_800DC530;
@ -635,7 +636,7 @@ void func_8006F8CC(void) {
D_80165800.unk0 = D_80165800.unk1;
temp_a0 = D_8018EDF3;
if (temp_a0 == 4) {
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
D_801657E4 = 1;
D_801657F0 = 1;
D_801657F8 = 1;
@ -649,7 +650,7 @@ void func_8006F8CC(void) {
D_801657E8 = 0;
D_801657F8 = 1;
} else if (temp_a0 == 2) {
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
D_80165800.unk1 = 0;
D_801657E4 = 1;
D_801657F0 = 1;
@ -814,7 +815,7 @@ void func_8006FA94(void) {
if (temp_ra != 4) {
} else {
if (gModeSelection == 2) {
if (gModeSelection == VERSUS) {
D_8018D114 = 0xA;
D_8018D178 = 0x1E;
D_8018D180 = 0x1E;
@ -825,7 +826,7 @@ void func_8006FA94(void) {
}
D_8018D2AC = 0xA;
}
} else if (gModeSelection == 2) {
} else if (gModeSelection == VERSUS) {
D_8018D114 = 8;
D_8018D178 = 0x64;
D_8018D180 = 0x96;
@ -864,7 +865,7 @@ void func_8006FA94(void) {
D_8018D114 = 7;
}
}
} else if (gModeSelection == 0) {
} else if (gModeSelection == GRAND_PRIX) {
D_8018D114 = 0;
D_8018D178 = 0x96;
D_8018D114 = 0xF0;
@ -1462,7 +1463,7 @@ void func_80070780(void) {
switch (temp_t6) {
case 0:
if (D_800DC50C != 9) {
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
func_80070714();
}
phi_s0 = &D_8018C630;
@ -1677,7 +1678,7 @@ void func_80070780(void) {
return;
case 7:
if (D_800DC50C != 9) {
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
func_80070714();
}
phi_s0_3 = &D_8018C630;
@ -1699,7 +1700,7 @@ void func_80070780(void) {
return;
case 8:
if (D_800DC50C != 9) {
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
func_80070714();
}
D_80165898 = 0;
@ -1725,7 +1726,7 @@ void func_80070780(void) {
if (D_800DC50C != 9) {
temp_v0_10 = D_8018EDF3;
phi_s1_8 = &D_80183EA0;
if ((temp_v0_10 == 1) || ((temp_v0_10 == 2) && (gModeSelection == 2))) {
if ((temp_v0_10 == 1) || ((temp_v0_10 == 2) && (gModeSelection == VERSUS))) {
temp_v0_11 = gCCSelection;
if (temp_v0_11 != 0) {
if (temp_v0_11 != 1) {
@ -2217,7 +2218,7 @@ void func_80071A20(void) {
D_8018CA70.unkDC = 0x7F;
D_8018CA70.unkDE = 0x101;
D_8018CA70.unkE4 = 0xDA;
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
D_8018CA70.unk44 = 0x5E;
D_8018CA70.unkC8 = 0xD0;
}
@ -2342,7 +2343,7 @@ void func_80071C28(void) {
D_8018CA70.unk1EC = 0xD4;
D_8018CA70.unk1F8 = 0xC8;
D_8018CA70.unk1FA = 0xC0;
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
D_8018CA70.unk44 = 0xC8;
D_8018CA70.unkC8 = 0xC8;
D_8018CA70.unk14C = 0xB8;

View File

@ -1,5 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@ -160,7 +161,7 @@ extern s32 D_80162DF8;
void func_80072180(void) {
u16 temp_v0;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
temp_v0 = D_800DC4DC->unk_000;
if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x1100) == 0)) {
D_80162DF8 = 1;
@ -6393,7 +6394,7 @@ extern s32 D_80183E88;
phi_a3 = 0;
phi_a3_2 = 0;
phi_t3 = 0;
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
if (random_int(0x64) < 0x51) {
temp_v0 = arg1 * 4;
phi_v1 = func_8007AF40(*(&D_80164392 + temp_v0), *(&D_801643BA + temp_v0));
@ -7427,7 +7428,7 @@ s16 func_8007C9F8(void) {
return 0;
}
if (temp_v0 == 2) {
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
if (D_801643B8->unk0 < D_801643B8->unk4) {
return 0;
}
@ -8269,7 +8270,7 @@ void func_8007E1AC(void) {
temp_a0 = D_80183EA4;
sp1C = temp_a0;
func_8007E00C(temp_a0);
if (gModeSelection != 1) {
if (gModeSelection != TIME_TRIALS) {
func_8007DDC0(temp_a0);
}
}
@ -8431,7 +8432,7 @@ void func_8007E4C4(void) {
temp_a0 = D_80183EA8;
sp1C = temp_a0;
func_8007E3EC(temp_a0);
if (gModeSelection != 1) {
if (gModeSelection != TIME_TRIALS) {
func_8007E1F4(temp_a0);
}
}

View File

@ -290,7 +290,7 @@ void func_8008C62C(Player *player, s8 arg1) {
if (player->unk_236 == 0) {
player->unk_0A8 = 0x2000;
func_8008C6D0(player, arg1);
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B8B4(player, arg1);
}
}
@ -411,7 +411,7 @@ void func_8008C8C4(void *arg0, s8 arg1) {
if ((*(&D_80165460 + temp_v1) == 1) && ((arg0->unk0 & 0x4000) == 0x4000)) {
arg0->unk9C = arg0->unk9C + 100.0f;
}
if ((gModeSelection == 2) && ((arg0->unk0 & 0x1000) == 0x1000) && (D_800DC51C == 0) && ((arg0->unkCA & 2) == 0) && (*(&D_801643B8 + temp_v1) != 0)) {
if ((gModeSelection == VERSUS) && ((arg0->unk0 & 0x1000) == 0x1000) && (D_800DC51C == 0) && ((arg0->unkCA & 2) == 0) && (*(&D_801643B8 + temp_v1) != 0)) {
arg0->unkC = arg0->unkC | 0x400000;
}
}
@ -469,7 +469,7 @@ void func_8008C9EC(void *arg0, s8 arg1) {
if (((temp_t7 & 0xFFFF) / (0x10000 / (0x168 / (*(&sp30 + (temp_v1 * 2)) / 182)))) == 0) {
arg0->unkB2 = temp_v1 - 1;
if (arg0->unkB2 <= 0) {
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B8B4(arg0, arg1, &sp30);
}
func_8008C8C4(arg0, arg1);
@ -486,7 +486,7 @@ void func_8008C9EC(void *arg0, s8 arg1) {
arg0->unkB2 = temp_v1_2 - 1;
if (arg0->unkB2 <= 0) {
func_8008C8C4(arg0, arg1);
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B8B4(arg0, arg1);
}
}
@ -1303,7 +1303,7 @@ void func_8008DF98(void *arg0, s8 arg1) {
} else {
func_800098FC(arg1, arg0);
}
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B8B4(arg0, arg1);
}
}
@ -1479,7 +1479,7 @@ void func_8008E4A4(void *arg0, s8 arg1) {
if ((*(&D_80165460 + (temp_a1 * 4)) == 1) && ((temp_t3 & 0x4000) == 0x4000)) {
arg0->unk9C = arg0->unk9C + 100.0f;
}
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B8B4(temp_a1, 3);
return;
}
@ -1499,7 +1499,7 @@ void func_8008E4A4(void *arg0, s8 arg1) {
temp_v0_2->unk20 = 1;
temp_v0_2->unk30 = 1;
arg0->unk42 = 0;
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
arg1 = temp_a1;
func_8006B8B4(temp_a1, 3);
phi_a1 = arg1;
@ -1560,12 +1560,12 @@ void func_8008E6C0(void *arg0, s8 arg1) {
arg0->unkE0 = 0;
arg0->unkEC = *(&D_800E3710 + temp_v0);
if (((temp_v1 & 0x4000) == 0x4000) && ((temp_v1 & 0x100) != 0x100)) {
if ((gModeSelection == 2) && ((temp_v1 & 0x1000) != 0) && (D_800DC51C == 0)) {
if ((gModeSelection == VERSUS) && ((temp_v1 & 0x1000) != 0) && (D_800DC51C == 0)) {
func_800CA24C(arg1);
}
sp20 = arg1;
func_800C90F4(arg1, (arg0->unk254 * 0x10) + 0x29008005, arg0->unk254);
if ((gModeSelection == 2) && ((arg0->unk0 & 0x1000) != 0) && (D_800DC51C == 0)) {
if ((gModeSelection == VERSUS) && ((arg0->unk0 & 0x1000) != 0) && (D_800DC51C == 0)) {
func_800CA24C(unksp23);
}
func_800C9060(unksp23, 0x19009005);
@ -1645,7 +1645,7 @@ void func_8008E8D8(void *arg0, s8 arg1) {
if ((*(&D_80165460 + (arg1 * 4)) == 1) && ((arg0->unk0 & 0x4000) == 0x4000)) {
arg0->unk9C = arg0->unk9C + 100.0f;
}
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B8B4(arg1);
return;
}
@ -1668,7 +1668,7 @@ void func_8008E8D8(void *arg0, s8 arg1) {
if ((*(&D_80165460 + (arg1 * 4)) == 1) && ((arg0->unk0 & 0x4000) == 0x4000)) {
arg0->unk9C = arg0->unk9C + 100.0f;
}
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B8B4(arg1);
}
}
@ -2083,7 +2083,7 @@ void func_8008F494(void *arg0, s8 arg1) {
temp_v0 = arg0->unkBC;
temp_a2 = arg0;
temp_a0 = temp_a2;
if ((((temp_v0 & 0x80) != 0) || ((temp_v0 & 0x40) != 0) || ((temp_v0 << 7) < 0) || ((temp_v0 << 6) < 0) || ((temp_v0 & 0x400) != 0)) && (gModeSelection == 3)) {
if ((((temp_v0 & 0x80) != 0) || ((temp_v0 & 0x40) != 0) || ((temp_v0 << 7) < 0) || ((temp_v0 << 6) < 0) || ((temp_v0 & 0x400) != 0)) && (gModeSelection == BATTTLE)) {
temp_a2->unk44 = temp_a2->unk44 | 0x8000;
}
arg0 = temp_a2;
@ -3164,7 +3164,7 @@ block_41:
if ((arg0->unk0 & 0x4000) != 0) {
func_800C9018(arg1, 0x100FA28);
}
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8006B8B4(arg0, arg1);
}
arg0->unkCA = arg0->unkCA & 0xFFFD;

View File

@ -1,5 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@ -471,11 +472,11 @@ void func_80091FA4(void) {
func_8009E650(0x97, 0x64, 0xDD, 1);
func_8009E650(0x98, 0, 0, 0);
func_8009E650(0xC7, 0, 0, 0);
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
func_8009E650(0xBE, 0, 0, 0);
func_8009E650(0x10E, 0, 0, 0);
}
if ((D_8015F890 != 0) && (gModeSelection == 1)) {
if ((D_8015F890 != 0) && (gModeSelection == TIME_TRIALS)) {
func_8009E650(0xBD, 0, 0, 0);
}
if (((gControllerBits & 1) == 0) && (D_8018EE08 != 0)) {
@ -668,10 +669,10 @@ extern s32 gModeSelection;
void func_80092500(void) {
switch(gModeSelection) {
case 0:
case GRAND_PRIX:
func_8009E650(0xAA, 0, 0, 0);
break;
case 1:
case TIME_TRIALS:
func_8009E650(0xB9, 0, 0, 0);
break;
}
@ -2246,7 +2247,7 @@ void func_80094C60(void) {
case 13:
func_8009E650(0x25, 0, 0, 2);
func_8009E650(0x52, 0, 0, 6);
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
func_8009E650(0x53, 0, 0, 4);
func_8009E650(0x54, 0, 0, 4);
func_8009E650(0x55, 0, 0, 4);
@ -6849,7 +6850,7 @@ block_74:
D_800DC51C = 1;
D_8018EE08 = 1;
D_800DC524 = 4;
gCCSelection = 1;
gCCSelection = CC_100;
temp_v1_4 = D_800E86BC;
switch (temp_v1_4) { /* switch 4 */
case 0: /* switch 4 */
@ -6858,7 +6859,7 @@ block_74:
gPlayerCountSelection1 = 1;
D_8018EDF3 = 1;
D_800E86A8.unk0 = 0;
gModeSelection = 0;
gModeSelection = GRAND_PRIX;
break;
case 1: /* switch 4 */
gCurrentCourseId = 1;
@ -6867,7 +6868,7 @@ block_74:
D_8018EDF3 = 2;
D_800E86A8.unk0 = 2;
D_800E86A8.unk1 = 4;
gModeSelection = 2;
gModeSelection = VERSUS;
phi_a2 = 2;
break;
case 2: /* switch 4 */
@ -6876,7 +6877,7 @@ block_74:
gPlayerCountSelection1 = 1;
D_8018EDF3 = 1;
D_800E86A8.unk0 = 1;
gModeSelection = 0;
gModeSelection = GRAND_PRIX;
break;
case 3: /* switch 4 */
gCurrentCourseId = 0xE;
@ -6886,7 +6887,7 @@ block_74:
D_800E86A8.unk0 = 5;
D_800E86A8.unk1 = 2;
D_800E86A8.unk2 = 7;
gModeSelection = 2;
gModeSelection = VERSUS;
phi_a2 = 2;
break;
case 4: /* switch 4 */
@ -6895,7 +6896,7 @@ block_74:
gPlayerCountSelection1 = 1;
D_8018EDF3 = 1;
D_800E86A8.unk0 = 7;
gModeSelection = 0;
gModeSelection = GRAND_PRIX;
phi_a2 = 2;
break;
case 5: /* switch 4 */
@ -6907,7 +6908,7 @@ block_74:
D_800E86A8.unk1 = 1;
D_800E86A8.unk2 = 6;
D_800E86A8.unk3 = 3;
gModeSelection = 2;
gModeSelection = VERSUS;
phi_a2 = 2;
break;
}
@ -6950,7 +6951,7 @@ block_74:
}
if (D_800E86A0 >= 0xE) {
D_800DC524 = 4;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
D_8018EDFB = 1;
}
func_8009CE1C(phi_a0, 1, phi_a2);
@ -6962,7 +6963,7 @@ block_74:
if (temp_v1_7 != 1) {
if ((temp_v1_7 != 2) && (temp_v1_7 != 3)) {
D_800DC524 = 4;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
D_8018EDFB = 1;
}
} else {
@ -6974,21 +6975,21 @@ block_74:
}
func_8000F124(1, 2);
if ((D_800DC530 == 3) && ((temp_v1_8 = gModeSelection, (temp_v1_8 == 0)) || (temp_v1_8 == 1))) {
gModeSelection = 2;
gModeSelection = VERSUS;
}
temp_a0_2 = gCurrentCourseId;
if ((temp_a0_2 != 0xF) && (temp_a0_2 != 0x10) && (temp_a0_2 != 0x11) && (temp_a0_2 != 0x13)) {
temp_v0_8 = gModeSelection;
phi_v0 = temp_v0_8;
if (temp_v0_8 == 3) {
gModeSelection = 0;
gModeSelection = GRAND_PRIX;
phi_v0 = 0;
}
if ((phi_v0 == 2) && (gPlayerCountSelection1 == 1)) {
gModeSelection = 0;
gModeSelection = GRAND_PRIX;
}
} else {
gModeSelection = 3;
gModeSelection = BATTTLE;
if (gPlayerCountSelection1 == 1) {
D_8018EDF3 = 2;
D_800DC530 = 1;
@ -7002,7 +7003,7 @@ block_74:
if (temp_v1_9 != 1) {
if (temp_v1_9 != 2) {
if (temp_v1_9 != 3) {
if (gCCSelection == 3) {
if (gCCSelection == CC_EXTRA) {
gIsMirrorMode = 1;
return;
}
@ -7010,10 +7011,10 @@ block_74:
/* Duplicate return node #115. Try simplifying control flow for better match */
return;
}
gCCSelection = 3;
gCCSelection = CC_EXTRA;
return;
}
gCCSelection = 0;
gCCSelection = CC_50;
return;
}
default: /* switch 2 */
@ -10574,7 +10575,7 @@ void func_800A2D1C(void *arg0) {
temp_v0 = D_80164A28;
if (temp_v0 != 1) {
if (temp_v0 != 2) {
if ((gModeSelection != 0) || (gPlayerCountSelection1 != 1) || (D_8018EE08 != 0)) {
if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != 1) || (D_8018EE08 != 0)) {
goto block_13;
}
temp_t8 = arg0->unk1C - 2;
@ -13913,7 +13914,7 @@ void func_800A8A98(void *arg0) {
phi_s4 = 0;
phi_s0 = &D_800E7208;
do {
if ((phi_s4 == gCourseSelection) && (temp_v0_4 = D_8018EDEC, ((temp_v0_4 < 2) == 0)) && (gModeSelection != 0)) {
if ((phi_s4 == gCourseSelection) && (temp_v0_4 = D_8018EDEC, ((temp_v0_4 < 2) == 0)) && (gModeSelection != GRAND_PRIX)) {
if ((temp_v0_4 == 2) || (temp_v0_4 == 4)) {
phi_v0 = func_800959A0(gDisplayListHead, phi_s0->unk0 + temp_s2, phi_s0->unk2 + temp_s3, phi_s0->unk8 + temp_s2, phi_s0->unkA + temp_s3);
} else {
@ -13968,7 +13969,7 @@ void func_800A8CA4(void *arg0) {
gDisplayListHead = temp_v1_3 + 8;
temp_v1_3->unk0 = 0xFCFFFFFF;
temp_v1_3->unk4 = 0xFFFCF279;
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
phi_s0 = 0;
if (D_8018EDEC != 3) {
do {
@ -15792,7 +15793,7 @@ void func_800AB314(void *arg0) {
phi_v1 = temp_v1;
phi_a1 = temp_a1;
} while (temp_a1 < 4);
if (gModeSelection != 0) {
if (gModeSelection != GRAND_PRIX) {
if (D_8018EDEC != 1) {
arg0->unk4 = 0;
arg0->unk20 = 0;
@ -16139,7 +16140,7 @@ void func_800ABC38(void *arg0) {
temp_v0 = D_80164A28;
if (temp_v0 != 1) {
if (temp_v0 != 2) {
if ((gModeSelection != 0) || (gPlayerCountSelection1 != 1) || (D_8018EE08 != 0)) {
if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != 1) || (D_8018EE08 != 0)) {
goto block_13;
}
temp_v0_2 = arg0->unk10;
@ -16234,7 +16235,7 @@ void func_800ABEAC(void *arg0) {
temp_v0 = D_80164A28;
if (temp_v0 != 1) {
if (temp_v0 != 2) {
if ((gModeSelection != 0) || (gPlayerCountSelection1 != 1) || (D_8018EE08 != 0)) {
if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != 1) || (D_8018EE08 != 0)) {
goto block_13;
}
temp_v0_2 = arg0->unk10;
@ -16837,7 +16838,7 @@ void func_800ACC50(void *arg0) {
temp_t9 = temp_a1->unk1C + 0x20;
temp_a1->unk1C = temp_t9;
if (temp_t9 >= 0x100) {
if (gModeSelection == 2) {
if (gModeSelection == VERSUS) {
temp_a1->unk4 = D_8018EDF4;
} else {
temp_a1->unk4 = D_8018EDF6;
@ -16898,7 +16899,7 @@ void func_800ACC50(void *arg0) {
arg0 = phi_a1_2;
func_8009DFE0(0x1E, phi_a1_2);
play_sound2(0x49008016);
if (gModeSelection == 2) {
if (gModeSelection == VERSUS) {
D_8018EDF4 = arg0->unk4;
} else {
D_8018EDF6 = arg0->unk4;

View File

@ -1,5 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
u32 func_802A7B70(u16 x);
extern u32 D_8018EDB8;
@ -1932,7 +1933,7 @@ void func_800B28C8(void) {
gIsMirrorMode = 0;
return;
}
gCCSelection = 1;
gCCSelection = CC_100;
gIsMirrorMode = 0;
D_800DC648 = 0;
if (temp_v0 != 0) {
@ -2501,7 +2502,7 @@ block_22:
return;
}
if ((phi_v1_2 & 0x8000) != 0) {
if (gModeSelection != 0) {
if (gModeSelection != GRAND_PRIX) {
*phi_a1_2 = 2;
play_sound2(0x49008001, phi_a1_2);
} else {
@ -2719,7 +2720,7 @@ void func_800B3F74(u32 arg0) {
break;
case 3:
case 13:
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
gCupSelection = 4;
D_800DC540 = 4;
D_8018EDEC = 4;
@ -2738,7 +2739,7 @@ void func_800B3F74(u32 arg0) {
}
play_sound2(0x49009013);
D_8018EE0A = 0;
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
gCourseSelection = 0;
}
phi_v0_2 = &D_8018D9C8;

View File

@ -2,6 +2,7 @@
#include <macros.h>
#include "types.h"
#include "variables.h"
#include <defines.h>
#include "code_80281780.h"
@ -91,7 +92,7 @@ void load_ending_sequence_royalraceway(void) {
D_800DC530 = 0;
gPrevLoadedAddress = (s32) D_8015F734;
D_800DC52C = 0;
gModeSelection = 0;
gModeSelection = GRAND_PRIX;
load_course(gCurrentCourseId);
D_8015F730 = (s32) gPrevLoadedAddress;
set_segment_base_addr(0xB, func_802AA88C(&_data_821D10SegmentRomStart, &_data_825800SegmentRomStart));

View File

@ -1808,7 +1808,7 @@ block_3:
temp_a2_2 = sp2E - 0x14;
func_802832C4(&D_802839E0, arg0, temp_a2_2, temp_a2_2);
}
if (gCCSelection == 3) {
if (gCCSelection == CC_EXTRA) {
sp2C = *(&D_80286B34 + (D_800DC5E4 * 2));
}
if (sp2C == D_802876D2) {

View File

@ -37,7 +37,6 @@ extern u8 *D_8015F8C4;
extern u8 *D_8015F8C8;
extern u8 *D_8015F8CC;
//extern u8 D_800DC5EB;
extern s16 D_8018D8C0[];
extern s16 D_8016348C;
extern s8 gCourseSelection;
@ -129,8 +128,6 @@ UNUSED s32 D_802BA03C;
s16 D_802BA040[4];
u16 D_802BA048;
//extern s32 D_8015F8F2;
void func_8028DF00(void) {
struct Controller *controllers = &gControllers[0];
s32 i;
@ -306,9 +303,9 @@ void func_8028E438(void) {
D_800DC5EC->screenHeight = temp_v0->screenHeight;
D_800DC5EC->screenStartX = temp_v0->screenStartX;
D_800DC5EC->screenStartY = temp_v0->screenStartY;
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_80092604();
} else if (gModeSelection == 2) {
} else if (gModeSelection == VERSUS) {
func_80092604();
func_80019DF4();
} else {
@ -331,10 +328,10 @@ void func_8028E678(void) {
case 0:
// Unused switch?
switch(gModeSelection) {
case 0:
case 2:
case GRAND_PRIX:
case VERSUS:
break;
case 1:
case TIME_TRIALS:
break;
}
D_800DC5B8 = 0;
@ -478,7 +475,7 @@ void func_8028E678(void) {
if (D_802BA030 == 0) {
D_8015F894 = 3;
func_80092500();
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
func_80019DE4();
} else {
func_80019E58();
@ -635,18 +632,18 @@ void func_8028EF28(void) {
}
if (gModeSelection == 0 && gPlayerCountSelection1 == 2 && D_802BA048 == 0) {
if (gModeSelection == GRAND_PRIX && gPlayerCountSelection1 == 2 && D_802BA048 == 0) {
D_802BA048 = 1;
}
if ((gPlayers[i].unk_000 & PLAYER_INVISIBLE_OR_BOMB) == 0) {
D_800DC510 = 4;
}
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
func_80005AE8(ply);
}
if (gModeSelection == 2) {
if (gModeSelection == VERSUS) {
D_802BA038 = 180;
if (currentPosition == 0) {
D_800DC5E8 = i;
@ -714,7 +711,7 @@ void func_8028EF28(void) {
}
} else if (gPlayers[i].unk_008 == 3) {
func_8028EEF0(i);
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
func_80005AE8(ply);
}
}
@ -962,7 +959,7 @@ loop_2:
temp_s0->buttonPressed = 0;
func_800C9F90(1);
D_80162DF0 = 1;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
temp_a0 = D_800DC4DC;
if ((temp_a0->unk_000 & 0x8100) != 0) {
func_80005AE8(temp_a0);
@ -989,7 +986,7 @@ block_20:
phi_s3 += 0xDD8;
phi_s2 = temp_s2;
if (temp_s2 == 4) {
if ((gEnableDebugMode != 0) && (gModeSelection != 3)) {
if ((gEnableDebugMode != 0) && (gModeSelection != BATTTLE)) {
temp_a1 = D_800DC4BC;
if ((temp_a1->buttonPressed & 0x800) != 0) {
lapCount->unk0 = 2;
@ -1061,7 +1058,7 @@ void func_8028FCBC(void) {
switch (D_800DC510) {
case 0:
if (D_800DC51C == 0) {
if (gModeSelection == 0) {
if (gModeSelection == GRAND_PRIX) {
func_800C8EF8(11);
play_sound2(0x49008018);
play_sound2(0x49008019);
@ -1107,7 +1104,7 @@ void func_8028FCBC(void) {
D_800DC5B0 = 0;
D_800DC5B8 = 1;
func_80078F64();
if ((gModeSelection == 1) && (D_80162DD6 == 0)) {
if ((gModeSelection == TIME_TRIALS) && (D_80162DD6 == 0)) {
phi_v0_4 = 0x1;
for (i = 0; i < gCurrentCourseId; i++) {
phi_v0_4 <<= 1;
@ -1133,7 +1130,7 @@ void func_8028FCBC(void) {
func_8028F4E8();
break;
case 3:
if (gModeSelection == 3) {
if (gModeSelection == BATTTLE) {
func_8028E0F0();
} else {
func_8028F3F0();
@ -1145,7 +1142,7 @@ void func_8028FCBC(void) {
case 4:
switch(gModeSelection) {
case 0:
case GRAND_PRIX:
func_8028F4E8();
func_8028F3F0();
func_8028EF28();
@ -1174,13 +1171,13 @@ void func_8028FCBC(void) {
break;
}
break;
case 2:
case VERSUS:
func_8028F4E8();
func_8028F3F0();
func_8028EF28();
func_8028F970();
break;
case 1:
case TIME_TRIALS:
D_802BA038 = 360;
if (D_8015F890 != 0) {
D_800DC510 = 7;
@ -1195,7 +1192,7 @@ void func_8028FCBC(void) {
D_802BA038--;
} else {
switch(gModeSelection) {
case 0:
case GRAND_PRIX:
if (D_80150120 != 0) {
func_8028E678();
} else if (D_800DC530 == 0) {
@ -1205,11 +1202,11 @@ void func_8028FCBC(void) {
func_8028E438();
}
break;
case 1:
case TIME_TRIALS:
func_8028E678();
break;
case 2:
case 3:
case VERSUS:
case BATTTLE:
func_8028E438();
break;
}
@ -1408,20 +1405,18 @@ void func_802909F0(void) {
Player *ply2;
s32 i;
s32 k;
//phi_s1 = &gPlayers;
//phi_s5 = 0;
for (i = 0; i < 7; i++) {
ply = &gPlayers[i];
//temp_v0 = phi_s1->unk0;
if ((ply->unk_000 & PLAYER_EXISTS) &&
(!(ply->unk_0BC & 0x80000000)) &&
(!(ply->unk_000 & PLAYER_INVISIBLE_OR_BOMB)) &&
(!(ply->unk_0BC & 0x4000000))) { // && (temp_v0_2 < 8)) {
//phi_s0 = (temp_v0_2 * 0xDD8) + &gPlayers;
(!(ply->unk_0BC & 0x4000000))) {
for (k = i + 1; k < 8; k++) {
ply2 = &gPlayers[k];
//temp_v0_3 = phi_s0->unk0;
if ((ply2->unk_000 & PLAYER_EXISTS) &&
(!(ply2->unk_0BC & 0x80000000)) &&
(!(ply2->unk_000 & PLAYER_INVISIBLE_OR_BOMB)) &&

View File

@ -1,5 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@ -3440,7 +3441,7 @@ block_29:
D_802B87B4 = 0x3E8;
D_802B87D4 = 0x71C;
D_802B87D0 = 0xE38;
if ((gCCSelection != 0) && (gModeSelection != 1)) {
if ((gCCSelection != CC_50) && (gModeSelection != TIME_TRIALS)) {
func_802AAA70(0x7000000);
func_802AAA70(0x7000098);
func_802AAA70(0x7000178);

View File

@ -4,6 +4,7 @@
#include "types.h"
#include <common_structs.h>
#include "actor_types.h"
#include <defines.h>
extern Camera *camera1;
@ -855,7 +856,7 @@ block_9:
arg0 = temp_a2_2;
func_800C9060(temp_f12_2, temp_f14_2, (((temp_t7 + &gPlayers) - D_800DC4DC) / 0xDD8) & 0xFF, 0x19007018, temp_a2_2, &D_800DC4DC);
phi_a2_3 = arg0;
if (gModeSelection != 0) {
if (gModeSelection != GRAND_PRIX) {
D_80162DF8 = 1;
}
}
@ -4375,7 +4376,7 @@ void place_all_item_boxes(u32 arg0) {
temp_s0 = *(&gSegmentTable + ((arg0 >> 0x18) * 4)) + (arg0 & 0xFFFFFF) + 0x80000000;
phi_s0 = temp_s0;
if ((gModeSelection != 1) && (D_800DC648 != 0)) {
if ((gModeSelection != TIME_TRIALS) && (D_800DC648 != 0)) {
load_giant_egg(&sp60, 0, 0, 0);
temp_v1 = *temp_s0;
phi_v1 = temp_v1;
@ -5386,7 +5387,7 @@ extern s32 D_80162DF8;
} else {
arg0 = temp_a3;
func_8008DABC(temp_a3, (temp_a3 - D_800DC4DC) / 0xDD8);
if ((gModeSelection == 1) && ((arg0->unk0 & 0x1000) == 0)) {
if ((gModeSelection == TIME_TRIALS) && ((arg0->unk0 & 0x1000) == 0)) {
D_80162DF8 = 1;
}
}
@ -6123,7 +6124,7 @@ void func_802A0450(Player *player, void *arg1) {
if (((player->unk_0BC << 0) >= 0) && (temp_a0_5 = player, ((player->unk_000 & 0x100) == 0)) && (player = player, temp_a3 = player, (func_8029FB80(temp_a0_5, arg1, MIPS2C_ERROR(Read from unset register $a2)) == 1))) {
player = temp_a3;
func_800C98B8(arg1 + 0x18, arg1 + 0x24, 0x19009005, temp_a3);
if ((gModeSelection == 1) && ((player->unk_000 & 0x1000) == 0)) {
if ((gModeSelection == TIME_TRIALS) && ((player->unk_000 & 0x1000) == 0)) {
D_80162DF8 = 1;
}
if ((player->unk_0BC & 0x200) != 0) {
@ -6501,7 +6502,7 @@ void func_802A14BC(f32 arg0, f32 arg1, f32 arg2) {
? sp20;
f32 *temp_a0;
if (gModeSelection != 1) {
if (gModeSelection != TIME_TRIALS) {
func_802B52BC(&sp20, 0, 0, 0);
load_giant_egg(&sp28, 0, 0, 0);
temp_a0 = &sp34;
@ -7730,7 +7731,7 @@ void func_802A3008(void *arg0) {
gDisplayListHead = temp_v0_5 + 8;
temp_v0_5->unk4 = -1;
temp_v0_5->unk0 = 0xBB000001;
if (gModeSelection != 3) {
if (gModeSelection != BATTTLE) {
func_80297340(sp48, 1.0f, temp_s1);
}
D_8015F8E0 = 0;

View File

@ -2380,7 +2380,7 @@ block_16:
phi_v0_2 = temp_v0_2 - temp_v1_2;
}
arg0->unk12 = phi_v0_2;
} else if (gModeSelection == 3) {
} else if (gModeSelection == BATTTLE) {
arg0->unk8 = 1000.0f;
arg0->unk4 = func_802B3FD0(&gPlayers[temp_t7], arg0);
if (arg0->unk4 < 0) {

View File

@ -9,6 +9,7 @@
#include "segments.h"
#include "segment_symbols.h"
#include "common_structs.h"
#include <defines.h>
// Declarations (not in this file)
void func_8008C214(void);
@ -172,23 +173,11 @@ s32 D_800DC52C = 0;
s32 D_800DC530[2] = {0};
s32 gPlayerCountSelection1 = 2;
/**
* 0 = Mario Grand Prix
* 1 = Time Trial
* 2 = Versus
* 3 = Battle
**/
s32 gModeSelection = 0;
s32 gModeSelection = GRAND_PRIX;
s32 D_800DC540 = 0;
s32 D_800DC544 = 0;
/**
* 0 = 50CC
* 1 = 100CC
* 2 = 150CC
* 3 = Extra (a.k.a Mirror)
* 4 = Battle
**/
s32 gCCSelection = 0;
s32 gCCSelection = CC_50;
s32 gGlobalTimer = 0;
UNUSED s32 D_800DC550 = 0;
UNUSED s32 D_800DC554 = 0;

View File

@ -195,7 +195,7 @@ void func_800052A4(void) {
void func_80005310(void) {
// if time trials
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
set_staff_ghost();
@ -208,7 +208,7 @@ void func_80005310(void) {
D_80162DEC = 0;
D_80162DF8 = 0;
if (gModeSelection == 1 && D_800DC52C == 0) {
if (gModeSelection == TIME_TRIALS && D_800DC52C == 0) {
if (D_8015F890 == 1) {
func_80004FB0();
@ -488,7 +488,7 @@ void func_80005B18(void) {
s32 temp_v0;
u16 *phi_a3;
if (gModeSelection == 1) {
if (gModeSelection == TIME_TRIALS) {
temp_v0 = lapCount[0];
//phi_a3 = &D_80162DD4;
if ((lapCount[0] == 3) && (D_80162DDC == 0) && D_80162DF8 != 1) {
@ -548,7 +548,7 @@ void func_80005B18(void) {
if (D_80162DEC > 100) {
D_80162DEC = 100;
}
if ((gModeSelection == 1) && (D_800DC52C == 0)) {
if ((gModeSelection == TIME_TRIALS) && (D_800DC52C == 0)) {
if ((D_80162DD4 == 0) && (lapCount[4] != 3)) {
func_800057DC(); //gModeSelection, &D_80162DDC, 3, &D_80162DD4);
}
@ -567,7 +567,7 @@ GLOBAL_ASM("asm/non_matchings/staff_ghosts/func_80005B18.s")
#endif
void func_80005E6C(void) {
if ((gModeSelection == 1) && (gModeSelection == 1) && (D_800DC52C == 0)) {
if ((gModeSelection == TIME_TRIALS) && (gModeSelection == TIME_TRIALS) && (D_800DC52C == 0)) {
if ((D_80162DD8 == 0) && (D_80164394 != 3)) {
func_800057DC(); //3
}