Matches in external and some namings in ceremony (#281)

* Matches in external and some namings in ceremony
This commit is contained in:
MegaMech
2022-12-06 19:25:16 -07:00
committed by GitHub
parent 10ae9a7970
commit 3172daa2ea
25 changed files with 151 additions and 728 deletions
+66 -185
View File
@@ -9,7 +9,7 @@
#include "audio/data.h"
#include <sounds.h>
// REQUIRES void in the argument list to match properly
// Requires void in the argument list to match properly.
void func_800C13F0(void) {
}
@@ -1250,7 +1250,7 @@ GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3608.s")
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_801930D0;
void func_800C36C4(s32 arg0, s32 arg1, s8 arg2, s8 arg3) {
void func_800C36C4(s32 arg0, s32 arg1, u8 arg2, s8 arg3) {
void *temp_v0;
temp_v0 = ((arg0 & 0xFF) * 0x24C) + &D_801930D0;
@@ -4228,67 +4228,42 @@ void func_800C8CCC(void) {
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8CCC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void play_sound(s32, ? *, ?, ? *, ? *, ? *); // extern
extern ? D_800EA1C8;
extern ? D_800EA1D4;
extern ? D_800EA1DC;
extern u8 D_800EA1D4;
void play_sound2(s32 arg0) {
s32 phi_a0;
s32 phi_a0_2;
void play_sound2(s32 soundBits) {
phi_a0 = arg0;
if ((arg0 == SOUND_ACTION_REV_ENGINE) && (gCurrentCourseId == 0x12)) {
phi_a0 = 0x49008027;
if ((soundBits == SOUND_ACTION_REV_ENGINE) && (gCurrentCourseId == 0x12)) {
soundBits = 0x49008027;
}
phi_a0_2 = phi_a0;
if ((phi_a0 == SOUND_ACTION_REV_ENGINE_2) && (gCurrentCourseId == 0x12)) {
phi_a0_2 = 0x49008028;
if ((soundBits == SOUND_ACTION_REV_ENGINE_2) && (gCurrentCourseId == 0x12)) {
soundBits = 0x49008028;
}
play_sound(phi_a0_2, &D_800EA1C8, 4, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
play_sound(soundBits, &D_800EA1C8, 4, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/play_sound2.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800C3448(s32); // extern
void func_800C3448(s32);
extern u16 D_800EA15C;
void func_800C8EAC(u16 arg0) {
func_800C3448(arg0 | 0x10000);
D_800EA15C = arg0;
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8EAC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800C3448(s32); // extern
void func_800C3448(s32);
extern u16 D_800EA160;
void func_800C8EF8(u16 arg0) {
func_800C3448(arg0 | 0x1010000);
D_800EA160 = arg0;
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8EF8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800C36C4(?, ?, s32, ?); // extern
void func_800C8F44(s32 arg0) {
func_800C36C4(0, 0, arg0 & 0xFF, 1);
void func_800C36C4(s32 arg0, s32 arg1, u8 arg2, s8 arg3);
void func_800C8F44(u8 arg0) {
func_800C36C4(0, 0, arg0, 1);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8F44.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -4814,77 +4789,49 @@ void func_800C9D80(Vec3f position, Vec3f velocity, u32 soundBits) {
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9D80.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_800C21E8(s32, ?); // extern
void func_800C5578(s32, ?); // extern
extern u8 D_800EA1C0;
void func_800C9EF4(s32 arg0, ? arg1) {
s32 temp_t8;
s32 temp_v0;
s32 phi_s0;
f32 *func_800C21E8(s32, s32);
void func_800C5578(s32, s32);
phi_s0 = 0;
if ((D_800EA1C0 + 1) > 0) {
do {
temp_v0 = func_800C21E8(arg0, arg1);
if (temp_v0 != 0) {
func_800C5578(temp_v0, arg1);
}
temp_t8 = (phi_s0 + 1) & 0xFF;
phi_s0 = temp_t8;
} while (temp_t8 < (D_800EA1C0 + 1));
void func_800C9EF4(s32 arg0, s32 arg1) {
f32 *temp;
u8 i;
for (i = 0; i < D_800EA1C0 + 1; i++) {
temp = func_800C21E8(arg0, arg1);
if (temp != 0) {
func_800C5578(temp, arg1);
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9EF4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800CBBB8(?, ?); // extern
void play_sound2(?); // extern
extern s8 D_800EA16C;
void func_800C9F90(s32 arg0) {
if ((arg0 & 0xFF) != 0) {
void func_800C9F90(u8 arg0) {
if ((arg0) != 0) {
play_sound2(SOUND_ACTION_GO_BACK_2);
func_800CBBB8(0xF1000000, 0);
D_800EA16C = 1;
return;
} else {
play_sound2(SOUND_ACTION_UNKNOWN_CONFIRMATION);
func_800CBBB8(0xF2000000, 0);
D_800EA16C = 0;
}
play_sound2(SOUND_ACTION_UNKNOWN_CONFIRMATION);
func_800CBBB8(0xF2000000, 0);
D_800EA16C = 0;
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9F90.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800C3448(s32); // extern
void func_800C36C4(?, ?, ?, ?); // extern
void func_800CA008(u8 arg0, u8 arg1) {
u8 phi_v0;
// u8 phi_v0;
func_800C36C4(0, 0, 0x7F, 1);
func_800C36C4(1, 0, 0x7F, 1);
phi_v0 = arg1;
//phi_v0 = arg1;
if (arg1 >= 4) {
if ((arg1 == 0xC) || (arg1 == 4)) {
phi_v0 = 5;
arg1 = 5;
} else {
phi_v0 = 4;
arg1 = 4;
}
}
func_800C3448((arg0 << 8) | 0xF0000000 | phi_v0);
func_800C3448((arg0 << 8) | 0xF0000000 | arg1);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA008.s")
#endif
// With -framepointer active, you CANNOT put void
// in the argument list, causes a minor stack difference
@@ -4900,17 +4847,10 @@ void func_800CA0CC() {
D_800EA108 = 1;
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800C5278(?); // extern
void func_800CA0E4(void) {
func_800C5278(3);
func_800C5278(5);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA0E4.s")
#endif
#ifdef MIPS_TO_C
switch(D_800EA1C0) {
@@ -4990,42 +4930,27 @@ void func_800CA118(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA118.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_800EA0EC;
extern u8 D_800EA0EC[];
void func_800CA24C(s32 arg0) {
*(&D_800EA0EC + (arg0 & 0xFF)) = 2;
void func_800CA24C(u8 arg0) {
D_800EA0EC[arg0] = 2;
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA24C.s")
#endif
void func_800CA270() {
D_800EA0F4 = 1;
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_800E9F90;
extern u8 D_800E9F90[];
void func_800CA288(s32 arg0, s8 arg1) {
*(&D_800E9F90 + ((arg0 & 0xFF) * 0x3C)) = arg1;
// appears to write u8 in list of f32s?
// However, 0x3C is 0.0f which could likely get confused with `u8 = 0`;
void func_800CA288(u8 arg0, s8 arg1) {
D_800E9F90[arg0 * 0x3C] = arg1; // * 0x3C
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA288.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_800E9F90;
void func_800CA2B8(s32 arg0) {
*(&D_800E9F90 + ((arg0 & 0xFF) * 0x3C)) = 0;
void func_800CA2B8(u8 arg0) {
D_800E9F90[arg0 * 0x3C] = 0;
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA2B8.s")
#endif
void func_800CA2E4(u8 arg0, s8 arg1) {
D_800EA06C[arg0].unk0C = arg1;
@@ -5035,48 +4960,23 @@ void func_800CA30C(u8 arg0) {
D_800EA06C[arg0].unk0C = 0;
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800C3448(s32, s32); // extern
void func_800CA330(s32 arg0) {
s32 sp34;
s32 temp_a1;
s32 temp_v0;
temp_a1 = arg0 & 0xFF;
temp_v0 = temp_a1 << 0x10;
sp34 = temp_v0;
func_800C3448(temp_v0 | 0x100000FF, temp_a1);
func_800C3448(temp_v0 | 0x110000FF);
void func_800CA330(u8 arg0) {
func_800C3448(arg0 << 0x10 | 0x100000FF);
func_800C3448(arg0 << 0x10 | 0x110000FF);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA330.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800C58B8(?, ?, s32); // extern
void func_800C58B8(u8, u8, u16); // extern
void func_800CA388(s32 arg0) {
s32 temp_s0;
temp_s0 = (arg0 * 2) & 0xFF;
func_800C58B8(0, 0, temp_s0 & 0xFFFF);
func_800C58B8(1, 0, temp_s0 & 0xFFFF);
func_800C58B8(2, 0, temp_s0 & 0xFFFF);
func_800C58B8(3, 0, temp_s0 & 0xFFFF);
func_800C58B8(5, 0, temp_s0 & 0xFFFF);
void func_800CA388(u8 arg0) {
arg0 *= 2;
func_800C58B8(0, 0, arg0);
func_800C58B8(1, 0, arg0);
func_800C58B8(2, 0, arg0);
func_800C58B8(3, 0, arg0);
func_800C58B8(5, 0, arg0);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA388.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800C3448(s32); // extern
s32 func_800C3508(?); // extern
void func_800C35E8(?); // extern
void func_800C3448(s32);
extern u8 D_800EA104;
void func_800CA414(u16 arg0, u16 arg1) {
@@ -5088,32 +4988,24 @@ void func_800CA414(u16 arg0, u16 arg1) {
}
D_800EA104 = 1;
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA414.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800C3448(s32, ?); // extern
void func_800C8EF8(?); // extern
void func_800C9060(s32, ?); // extern
extern u8 D_800EA108;
extern u16 D_800EA15C;
extern u8 D_800EA164;
extern u8 D_800EA1C0;
extern u8 D_8018FC08;
void func_800CA49C(s32 arg0) {
void func_800CA49C(u8 arg0) {
if (D_800EA108 == 0) {
if (D_800EA1C0 >= 2) {
func_800C9060(arg0 & 0xFF, 0x1900FF3A);
func_800C9060(arg0, 0x1900FF3A);
} else if (D_800EA164 != 0) {
func_800C3448(0x100100FF, 0x19000000);
func_800C3448(0x100100FF); // 0x19000000
func_800C3448(0x110100FF);
func_800C8EF8(0xC);
func_800C3448(0xC1510011);
} else {
func_800C3448(0x100100FF, 0x19000000);
func_800C3448(0x100100FF); //0x19000000
func_800C3448(0x110100FF);
func_800C8EF8(0xC);
func_800C3448(D_800EA15C | 0xC1500000);
@@ -5122,9 +5014,6 @@ void func_800CA49C(s32 arg0) {
D_8018FC08 = D_8018FC08 + 1;
}
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA49C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -5286,19 +5175,11 @@ void func_800CA984(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA984.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
? func_800C5578(f32 *, ?); /* extern */
s8 D_800EA108 = 0; /* const */
void func_800CAACC(s32 playerId) {
void func_800CAACC(u8 playerId) {
if ((u8) D_800EA108 == 0) {
func_800C5578(func_800C21E8(((playerId & 0xFF) * 0xDD8) + 0x14 + gPlayers, 0x31029008U), 0x31029008);
func_800C5578(func_800C21E8(gPlayers[playerId].pos, 0x31029008U), 0x31029008);
}
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAACC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
+7 -7
View File
@@ -96,7 +96,7 @@ struct Unk_8018EFD8 *func_800C1C88(u8, Vec3f, Vec3f, f32*, u8, u32);
void func_800C1DA4(Camera*, Vec3s, struct Unk_8018EFD8*);
void func_800C1E2C(Camera*, Vec3f, struct Unk_8018EFD8*);
void func_800C1F8C();
f32 *func_800C21E8(f32*, u32);
f32 *func_800C21E8(s32, s32);
void func_800C4084(u16);
void play_sound(u32, f32*, u8, f32*, f32*, u8*);
void func_800C41CC(u8, struct Unk_80191420*);
@@ -108,7 +108,7 @@ void func_800C8770(u8);
void func_800C89E4();
void play_sound2(s32);
void func_800C8EAC(u16);
void func_800C8EF8();
void func_800C8EF8(u16);
void func_800C9060(u8, u32);
void func_800C90F4(u8, uintptr_t);
void func_800CA008(u8, u8);
@@ -119,11 +119,9 @@ void func_800CA118();
void func_800CA270();
void func_800CA2E4(u8, s8);
void func_800CA30C(u8);
void func_800CA330();
void func_800CA330(s32);
void func_800CA388();
void func_800CA388(s32);
void func_800CA49C();
void func_800CA330(u8);
void func_800CA388(u8);
void func_800CA49C(u8);
void func_800CB134();
void func_800CB2C4(void);
@@ -171,4 +169,6 @@ extern Vec3f D_800EA1C8;// = {0.0f, 0.0f, 0.0f}
extern u8 D_800EA1DC;// = 0;
extern u8 D_800EA244;
extern s8 D_800EA16C;
#endif
+1 -1
View File
@@ -37,5 +37,5 @@ void func_802816B8(void) {
D_80150148 = 1.33333333f;
D_80150150 = 3.0f;
D_8015014C = 6800.0f;
func_80283430();
init_cinematic_camera();
}
+71 -66
View File
@@ -465,7 +465,7 @@ void func_80283240(s16 arg0) {
}
/**
* Call the event while `start` <= gCutsceneTimer <= `end`
* Call the event while `start` <= gCutsceneShotTimer <= `end`
* If `end` is -1, call for the rest of the shot.
*/
s32 cutscene_event(CameraEvent event, struct CinematicCamera *camera, s16 start, s16 end) {
@@ -520,46 +520,47 @@ s32 func_80283428(void) {
return 0;
}
void func_80283430(void) {
void init_cinematic_camera(void) {
s32 i;
struct CinematicCamera *new_var = &D_802876E0;
struct CinematicCamera *camera = &D_802876E0;
D_802876D8 = 0;
new_var->cutscene = 0;
camera->cutscene = 0;
D_802856C4 = (s32) D_800DC5E4;
vec3f_clear(new_var->lookAt);
vec3f_set_dupe(new_var->pos, 0.0f, 0.0f, 500.0f);
vec3f_clear(new_var->unk30);
vec3f_set_dupe(new_var->unk24, 0.0f, 0.0f, 500.0f);
vec3f_set_dupe(new_var->unk3C, 0.0f, 1.0f, 0.0f);
new_var->unk18 = 0.0f;
vec3s_clear(new_var->unk48);
vec3s_clear(new_var->unk4E);
vec3s_clear(new_var->unk54);
vec3s_clear(new_var->unk5A);
new_var->unk60 = 0;
new_var->unk64 = 0.0f;
new_var->unk68 = 0.0f;
new_var->unk6C = 0;
new_var->unk6E = 0;
new_var->unk20 = D_80150130[0];
vec3f_clear(camera->lookAt);
vec3f_set_dupe(camera->pos, 0.0f, 0.0f, 500.0f);
vec3f_clear(camera->unk30);
vec3f_set_dupe(camera->unk24, 0.0f, 0.0f, 500.0f);
vec3f_set_dupe(camera->unk3C, 0.0f, 1.0f, 0.0f);
camera->unk18 = 0.0f;
vec3s_clear(camera->unk48);
vec3s_clear(camera->unk4E);
vec3s_clear(camera->unk54);
vec3s_clear(camera->unk5A);
camera->unk60 = 0;
camera->unk64 = 0.0f;
camera->unk68 = 0.0f;
camera->unk6C = 0;
camera->unk6E = 0;
camera->unk20 = D_80150130[0];
sCutsceneShot = 0;
gCutsceneShotTimer = 0;
D_802876D4 = 0;
reset_spline();
for (i = 0; i < 32; i++)
{
for (i = 0; i < 32; i++) {
D_80287818[i].unk0 = -1;
D_80287998[i].unk0 = -1;
}
for (i = 0; i < 10; i++)
{
for (i = 0; i < 10; i++) {
vec3f_clear(D_80287750[i].unk0);
vec3s_clear(D_80287750[i].unkC);
}
D_802856C0 = 0.0f;
if (gGamestate == 5) {
if (gGamestate == ENDING_SEQUENCE) {
D_802856B0 = 120.0f;
D_802856B4 = 12.0f;
D_802856B8 = 120.0f;
@@ -617,7 +618,7 @@ s32 func_80283648(Camera *camera) {
camera->up[2] = -sins(var_f2) * sins(sp6C);
vec3f_copy_dupe(camera->pos, new_var->lookAt);
vec3f_copy_dupe(camera->lookAt, new_var->pos);
if ((gGamestate == 9) && (gIsMirrorMode != 0)) {
if ((gGamestate == CREDITS_SEQUENCE) && (gIsMirrorMode != 0)) {
camera->pos[0] = -camera->pos[0];
camera->lookAt[0] = -camera->lookAt[0];
}
@@ -1505,49 +1506,44 @@ u16 D_80286B34[] = {
};
void func_802847CC(struct CinematicCamera *camera) {
u16 sp2E;
u16 sp2C;
// D_802856B4 cast to u32 triggers cfc1.
sp2E = D_80286A04[D_800DC5E4].unkC - (10 - (-(((u16)(u32) D_802856B4))));
u16 sp2E;
u16 sp2C;
// D_802856B4 cast to u32 triggers cfc1.
sp2E = D_80286A04[D_800DC5E4].unkC - (10 - (-(((u16)(u32) D_802856B4))));
sp2C = D_80286A04[D_800DC5E4].unkC;
//sp2E =
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);
switch (D_80286A04[D_800DC5E4].unk0)
{
case 1:
cutscene_event(func_802839CC, camera, 0, -1);
cutscene_event(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);
break;
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);
switch (D_80286A04[D_800DC5E4].unk0) {
case 1:
cutscene_event(func_802839CC, camera, 0, -1);
cutscene_event(func_802839E0, camera, sp2E - 0x14, sp2E - 0x14);
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);
break;
}
if (gCCSelection == 3)
{
sp2C = D_80286B34[D_800DC5E4];
}
if (gCutsceneShotTimer == sp2C)
{
if (D_80286A04[D_800DC5E4].unk0 != 2)
{
func_80280268(D_80286A04[D_800DC5E4 + 1].unk1);
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);
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);
break;
}
if (gCCSelection == 3) {
sp2C = D_80286B34[D_800DC5E4];
}
if (gCutsceneShotTimer == sp2C) {
if (D_80286A04[D_800DC5E4].unk0 != 2) {
func_80280268(D_80286A04[D_800DC5E4 + 1].unk1);
}
}
}
}
// Start of credits cutscene?
@@ -1560,6 +1556,9 @@ struct struct_80284AE8 {
u8 unk1C;
};
/**
* 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];
s16 cutsceneDuration;
@@ -1610,7 +1609,13 @@ void play_cutscene(struct CinematicCamera *camera) {
}
void func_80284CC0(void) {
/**
* Scene transition
*
* Sliding black borders that open horizontally to display scene.
* Used at the beginning of award ceremony and throughout credits.
*/
void transition_sliding_borders(void) {
f32 temp_f0;
f32 temp_f14;
+1 -1
View File
@@ -197,7 +197,7 @@ void func_802846B4(struct CinematicCamera*);
void func_802846E4(struct CinematicCamera*);
void func_802847CC(struct CinematicCamera*);
void play_cutscene(struct CinematicCamera*);
void func_80284CC0();
void transition_sliding_borders();
/* This is where I'd put my static data, if I had any */
+1 -1
View File
@@ -667,7 +667,7 @@ void func_80021B0C(void) {
func_8006E7CC(gPlayerSeven, 6, 0);
func_8006E7CC(gPlayerEight, 7, 0);
}
if (gGamestate == 5) {
if (gGamestate == ENDING_SEQUENCE) {
if (gPlayerOne->unk_044 & 0x2000) {
func_80024374(gPlayerOne, 0, 0);
}
+2 -2
View File
@@ -45,7 +45,7 @@ void func_80280038(void) {
func_802A3008(D_800DC5EC);
func_80058090(0);
func_80058538(0);
func_80284CC0();
transition_sliding_borders();
func_80281C40();
init_rdp();
func_80093F10();
@@ -140,7 +140,7 @@ void load_credits(void) {
camera->up[0] = 0.0f;
camera->up[1] = 1.0f;
camera->up[2] = 0.0f;
func_80283430();
init_cinematic_camera();
func_80003040();
func_8006E9C0();
func_80093E60();
+1 -1
View File
@@ -63,7 +63,7 @@ void func_80281D00(void) {
func_80021B0C();
gSPDisplayList(gDisplayListHead++, &D_00284EE0);
func_80093F10();
func_80284CC0();
transition_sliding_borders();
func_80281C40();
init_rdp();
}
+1 -1
View File
@@ -1038,7 +1038,7 @@ void func_8003D080(void) {
Player* ptr = &gPlayers[0];
func_8005D290();
if (gGamestate == 5) {
if (gGamestate == ENDING_SEQUENCE) {
func_8003CD78();
} else {
func_8003C0F0();