imported all code from master branch

This commit is contained in:
Rainchus 2024-06-30 15:40:01 -05:00
parent a1589622a4
commit e8f2ab5bb5
76 changed files with 4445 additions and 398 deletions

View File

@ -8,6 +8,7 @@
#include "engine/siman.h"
typedef s32 func_ptr(void);
void HuPrcSleep(s32);
f32 sinf(f32);
void func_8006EEB8(s16, u8, u8, s16, s16);
void func_8006F3BC(s16, s16, s16, s32, s32);

View File

@ -32,8 +32,6 @@ extern camera* D_800F32A0; //pointer to camera struct
extern u16 D_800F2BC0;
extern omObjData* D_800F3FB0[];
extern unk_Struct00* D_800C3110;
extern u8 D_800F6F20;
extern s16 D_800F6EE2;
extern s32 D_800EDEC0;
extern u8 D_800F37F0;
extern s16 D_800F3FA8;

View File

@ -1781,7 +1781,7 @@ segments:
bss_size: 0x10
subsegments:
- [0x282820, c]
- [0x285110, data, 282820] #800F8ED0
- [0x285110, .data, 282820] #800F8ED0
- [0x285210, .rodata, 282820]
- {0x285230, type: bss, vram: 0x800F8FF0, name: ovl_46_bss}
- type: code
@ -1808,7 +1808,7 @@ segments:
bss_size: 0x20
subsegments:
- [0x285B70, c]
- [0x286650, data, 285B70]
- [0x286650, .data, 285B70]
- [0x2866F0, .rodata, 285B70]
- {0x286700, type: bss, vram: 0x800F7170, name: ovl_48_bss}
- type: code
@ -1822,7 +1822,7 @@ segments:
bss_size: 0x20
subsegments:
- [0x286700, c]
- [0x2871F0, data, 286700] #800F70D0
- [0x2871F0, .data, 286700] #800F70D0
- [0x287290, .rodata, 286700]
- {0x2872A0, type: bss, vram: 0x800F7180, name: ovl_49_bss}
- type: code
@ -1919,7 +1919,7 @@ segments:
bss_size: 0x10
subsegments:
- [0x28E030, c]
- [0x28E570, data, 28E030]
- [0x28E570, .data, 28E030]
- {0x28E630, type: bss, vram: 0x800F6BE0, name: ovl_50_bss}
- type: code
start: 0x28E630
@ -1998,7 +1998,7 @@ segments:
bss_size: 0x10
subsegments:
- [0x293260, c]
- [0x293A30, data, 293260]
- [0x293A30, .data, 293260]
- [0x293A60, .rodata, 293260]
- {0x293A70, type: bss, vram: 0x800F6DF0, name: ovl_56_bss}
- type: code
@ -2119,7 +2119,7 @@ segments:
bss_size: 0x10
subsegments:
- [0x29AB30, c]
- [0x29B280, data, 29AB30]
- [0x29B280, .data, 29AB30]
- [0x29B3E0, .rodata, 29AB30]
- {0x29B410, type: bss, vram: 0x800F6EC0, name: ovl_60_bss}
- type: code
@ -2139,7 +2139,7 @@ segments:
- type: code
start: 0x2A2500
vram: 0x800F65E0
dir: overlays/ovl_62_board_intro
dir: overlays/ovl_62_BoardIntro
name: BoardIntro
overlay: True
exclusive_ram_id: minigame
@ -2237,8 +2237,8 @@ segments:
subsegments:
- [0x2BA9E0, c]
- [0x2BAA10, c]
- [0x2BB350, data, 2BA9E0]
- [0x2BB370, data, 2BAA10]
- [0x2BB350, .data, 2BA9E0]
- [0x2BB370, .data, 2BAA10]
- [0x2BB380, .rodata, 2BAA10]
- {0x2BB390, type: bss, vram: 0x800F6F90, name: ovl_67_bss}
- type: code
@ -2252,7 +2252,7 @@ segments:
subsegments:
- [0x2BB390, c]
- [0x2BB3C0, c]
- [0x2BB5B0, data, 2BB390]
- [0x2BB5B0, .data, 2BB390]
- type: code
start: 0x2BB5C0
vram: 0x800F65E0
@ -2265,7 +2265,7 @@ segments:
subsegments:
- [0x2BB5C0, c]
- [0x2BB5F0, c]
- [0x2BE910, data, 2BB5C0]
- [0x2BE910, .data, 2BB5C0]
- [0x2BE920, data, 2BB5F0]
- [0x2BF150, .rodata, 2BB5F0]
- {0x2BF1A0, type: bss, vram: 0x800FA1C0, name: ovl_69_bss}
@ -2388,7 +2388,7 @@ segments:
subsegments:
- [0x2F6FB0, c]
- [0x2F6FE0, c]
- [0x2F7060, data, 2F6FB0]
- [0x2F7060, .data, 2F6FB0]
- type: code
start: 0x2F7080
vram: 0x800F65E0
@ -2431,7 +2431,8 @@ segments:
subsegments:
- [0x2F96E0, c]
- [0x2F9710, c]
- [0x2F9FE0, data, 2F96E0]
- [0x2F9FE0, .data, 2F96E0]
- [0x2FA000, data, 2F9710]
- {0x2FA120, type: bss, vram: 0x800F7020, name: ovl_74_bss}
- type: code
start: 0x2FA120
@ -2441,10 +2442,12 @@ segments:
overlay: True
exclusive_ram_id: minigame
symbol_name_format: $VRAM_$SEG
bss_size: 0x10
subsegments:
- [0x2FA120, c]
- [0x2FA150, c]
- [0x2FA760, data, 2FA120]
- [0x2FA760, .data, 2FA120]
- [0x2FA780, data, 2FA150]
- {0x2FA8A0, type: bss, vram: 0x800F6D60, name: ovl_75_bss}
- type: code
start: 0x2FA8A0
@ -2457,7 +2460,8 @@ segments:
subsegments:
- [0x2FA8A0, c]
- [0x2FA8D0, c]
- [0x2FAC80, data, 2FA8A0]
- [0x2FAC80, .data, 2FA8A0]
- [0x2FACA0, data, 2FA8D0]
- type: code
start: 0x2FADB0
vram: 0x800F65E0

View File

@ -50,7 +50,6 @@ extern struct D_800F9948_tuple D_800F9948_DKsJungleAdventure[];
// { -2, 0 },
// { -3, 0 },
extern s16 D_800ED154[];
extern s16 D_800ED172;
extern EventTableEntry main_event_table[]; //800FA0CC

View File

@ -5,8 +5,6 @@ void func_8004F548(void);
void func_800532E0(void);
void func_800F7F1C_ResultsScene(void);
void func_800FB054_ResultsScene(void);
extern s16 D_800ED154[];
extern s16 D_800ED168[];
extern s32 D_800FC430_ResultsScene[4];
extern s32 D_800FC440_ResultsScene;
extern s32 D_800FC448_ResultsScene;

View File

@ -1,10 +1,43 @@
#include "common.h"
#include "2721F0.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_80108B60_YoshisTropicalIslandEndingScene);
void func_80108B60_YoshisTropicalIslandEndingScene(omObjData* arg0) {
if ((gPlayers[arg0->work[0]].playerObj->unk_34 <= 0.0f) && (gPlayers[arg0->work[0]].playerObj->unk_30 <= 0.0f)) {
gPlayers[arg0->work[0]].playerObj->unk_30 = 0.0f;
return;
}
gPlayers[arg0->work[0]].playerObj->unk_38 = -4.0f;
gPlayers[arg0->work[0]].playerObj->unk_34 += gPlayers[arg0->work[0]].playerObj->unk_38;
gPlayers[arg0->work[0]].playerObj->unk_30 += gPlayers[arg0->work[0]].playerObj->unk_34;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_80108CB8_YoshisTropicalIslandEndingScene);
if (gPlayers[arg0->work[0]].playerObj->unk_30 < 0.0f) {
gPlayers[arg0->work[0]].playerObj->unk_30 = 0.0f;
}
func_800A0D00(&gPlayers[arg0->work[0]].playerObj->coords, gPlayers[arg0->work[0]].playerObj->coords.x, gPlayers[arg0->work[0]].playerObj->unk_30, gPlayers[arg0->work[0]].playerObj->coords.z);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_80108D40_YoshisTropicalIslandEndingScene);
void func_80108CB8_YoshisTropicalIslandEndingScene(omObjData* arg0) {
gPlayers[arg0->work[0]].playerObj->unk_30 = 0;
gPlayers[arg0->work[0]].playerObj->unk_34 = 15.0f;
gPlayers[arg0->work[0]].playerObj->unk_38 = -4.0f;
arg0->func_ptr = &func_80108B60_YoshisTropicalIslandEndingScene;
}
void func_80108D40_YoshisTropicalIslandEndingScene(omObjData* arg0) {
Vec3f sp10;
Vec3f sp20;
Vec3f* temp_s0;
temp_s0 = &D_80110340_YoshisTropicalIslandEndingScene[arg0->work[1]];
func_800A0D00(&sp10, arg0->scale.x, arg0->scale.y, arg0->scale.z);
func_800A0D00(&sp20, arg0->rot.x, arg0->rot.y, arg0->rot.z);
arg0->trans.x = sp10.x * temp_s0->z + sp20.x;
arg0->trans.z = sp10.z * temp_s0->z + sp20.z;
arg0->trans.y = (((temp_s0->y * temp_s0->z) + sp10.y) * temp_s0->z) + sp20.y;
if (arg0->trans.y < temp_s0->x) {
arg0->work[0]++;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_80108E20_YoshisTropicalIslandEndingScene);
@ -12,32 +45,104 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/27
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010903C_YoshisTropicalIslandEndingScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_80109110_YoshisTropicalIslandEndingScene);
void func_80109110_YoshisTropicalIslandEndingScene(omObjData *arg0) {
s32 temp_s1 = arg0->work[0];
f32 var_f20 = arg0->rot.x;
f32 new_var;
var_f20 = var_f20 + 5.0f;
if (var_f20 < 360.0f) {
var_f20 -= 360.0f;
}
new_var = (-func_800AEAC0(var_f20)) + D_80110448_YoshisTropicalIslandEndingScene[temp_s1]->unk_10;
D_80110448_YoshisTropicalIslandEndingScene[temp_s1]->unk_10 = new_var;
arg0->rot.x = var_f20;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_801091A4_YoshisTropicalIslandEndingScene);
omObjData* func_801091A4_YoshisTropicalIslandEndingScene(u8 arg0) {
omObjData* temp_v0;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010920C_YoshisTropicalIslandEndingScene);
temp_v0 = omAddObj(0x600, 0, 0, -1, &func_80109110_YoshisTropicalIslandEndingScene);
temp_v0->work[0] = arg0;
omSetRot(temp_v0, 0.0f, 0.0f, 0.0f);
return temp_v0;
}
void func_8010920C_YoshisTropicalIslandEndingScene(Gfx** arg0) {
gDPSetDepthImage(D_800F37DC++, 0x003D0800);
gDPSetColorImage(D_800F37DC++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, 0x003D0800);
gSPDisplayList((*arg0)++, &D_8010ECB0_YoshisTropicalIslandEndingScene);
gDPSetColorImage(D_800F37DC++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, 0x02000000);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_80109294_YoshisTropicalIslandEndingScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010A740_YoshisTropicalIslandEndingScene);
void func_8010A740_YoshisTropicalIslandEndingScene(omObjData* arg0) {
omObjData* temp_s0;
arg0->rot.x = arg0->rot.x + 5.0f;
if (arg0->rot.x >= 360.0f) {
arg0->rot.x -= 360.0f;
}
D_80110448_YoshisTropicalIslandEndingScene[0]->unk_18 = (sinf((f32) (arg0->rot.x * D_8010F758_YoshisTropicalIslandEndingScene)) * 0.2f);
D_80110448_YoshisTropicalIslandEndingScene[0]->unk_20 = 1.0f;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010A7EC_YoshisTropicalIslandEndingScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010AA38_YoshisTropicalIslandEndingScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010AC24_YoshisTropicalIslandEndingScene);
void func_8010AC24_YoshisTropicalIslandEndingScene(omObjData* arg0) {
arg0->func_ptr = &func_8010AA38_YoshisTropicalIslandEndingScene;
arg0->trans.x = arg0->trans.y = arg0->trans.z = arg0->rot.x =
arg0->rot.y = arg0->rot.z = 0.0f;
arg0->work[0] = 1;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010AC5C_YoshisTropicalIslandEndingScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010AE08_YoshisTropicalIslandEndingScene);
void func_8010AE08_YoshisTropicalIslandEndingScene(omObjData* arg0) {
arg0->func_ptr = &func_8010AC5C_YoshisTropicalIslandEndingScene;
arg0->trans.x = arg0->trans.y = arg0->trans.z = arg0->rot.x = arg0->rot.y = arg0->rot.z = 0.0f;
arg0->work[0] = 1;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010AE40_YoshisTropicalIslandEndingScene);
void func_8010AE40_YoshisTropicalIslandEndingScene(omObjData* arg0) {
D_800C34A4 = arg0->rot.x;
if (arg0->rot.y > 1.0f) {
func_800258EC(*D_80110480_YoshisTropicalIslandEndingScene->unk_3C->unk_40, 4, 4);
return;
}
func_80026B8C(*D_80110480_YoshisTropicalIslandEndingScene->unk_3C->unk_40, arg0->rot.y, arg0->rot.z, 2);
arg0->rot.x += 39.0f;
if (arg0->rot.x > 360.0f) {
arg0->rot.x -= 360.0f;
}
arg0->rot.y += 0.05f;
arg0->rot.z = (10.0f - arg0->rot.z) / 30.0f + arg0->rot.z;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010AF58_YoshisTropicalIslandEndingScene);
void func_8010AF58_YoshisTropicalIslandEndingScene(omObjData* arg0) {
arg0->func_ptr = &func_8010AE40_YoshisTropicalIslandEndingScene;
func_80025930(*D_80110480_YoshisTropicalIslandEndingScene->unk_3C->unk_40, 0x22000, 0x20000);
func_80025AD4(*D_80110480_YoshisTropicalIslandEndingScene->unk_3C->unk_40);
func_80026040(*D_80110480_YoshisTropicalIslandEndingScene->unk_3C->unk_40);
arg0->rot.x = arg0->rot.y = 0.0f;
arg0->rot.z = 1.0f;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010AFF8_YoshisTropicalIslandEndingScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010B0C0_YoshisTropicalIslandEndingScene);
void func_8010B0C0_YoshisTropicalIslandEndingScene(omObjData* arg0) {
arg0->func_ptr = &func_8010AFF8_YoshisTropicalIslandEndingScene;
arg0->rot.x = arg0->rot.y = arg0->rot.z = 0.0f;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0", func_8010B0E4_YoshisTropicalIslandEndingScene);

View File

@ -0,0 +1,23 @@
#include "common.h"
typedef struct unkStruct6 {
char unk_00[0x10];
f32 unk_10;
char unk_14[4];
f32 unk_18;
char unk_1C[4];
f32 unk_20;
} unkStruct6;
extern unkStruct6* D_80110448_YoshisTropicalIslandEndingScene[];
extern Gfx* D_800F37DC;
extern Gfx* D_8010ECB0_YoshisTropicalIslandEndingScene;
extern Vec3f D_80110340_YoshisTropicalIslandEndingScene[];
void func_8010AA38_YoshisTropicalIslandEndingScene(omObjData*);
void func_80108B60_YoshisTropicalIslandEndingScene(omObjData*);
extern f64 D_8010F758_YoshisTropicalIslandEndingScene;
void func_8010AC5C_YoshisTropicalIslandEndingScene(omObjData*);
extern Object* D_80110480_YoshisTropicalIslandEndingScene;
void func_8010AE40_YoshisTropicalIslandEndingScene(omObjData*);
void func_8010AFF8_YoshisTropicalIslandEndingScene(omObjData*);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
#include "common.h"
s32 func_80049328(void);
s32 func_80049334(void);
s32 func_80049340(void);
void func_8004935C(void);
void func_80049478(void);
void func_800499CC(u8);
void func_80049E60(void);
void func_80055994(u8, s32);
void func_80060618(s32, u8);
extern char* D_800C5218[];
void func_8005546C(s32);
void func_80055544(s32);
void func_80055810(s32, s32, u8);
void func_800F8EA8_BowserSpaceEvent(void);
void func_800F8DC0_BowserSpaceEvent(void);
s32 func_800F66FC_BowserSpaceEvent(void);
void func_800F6744_BowserSpaceEvent(void);
void HidePlayerHUDVisibility(s32 playerIndex, s32 hideHUDBool);
void func_800F8608_BowserSpaceEvent(void);
void func_800F8C6C_BowserSpaceEvent(void);
void func_800F8DF4_BowserSpaceEvent(void);
void func_800F8C20_BowserSpaceEvent(omObjData*);
void func_8004DBD4(s32, u8);
void func_800F8B1C_BowserSpaceEvent(void);

View File

@ -1,19 +1,87 @@
#include "common.h"
#include "285230.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_47/285230", func_800F65E0_name_47);
extern u8 D_800F6F20_name_47;
extern s16 D_800F6EE2_name_47;
void func_800F65E0_name_47(void) {
D_800F6F20_name_47 = D_800ED5DC;
omInitObjMan(50, 10);
func_800F6E14_name_47();
func_800F6D1C_name_47();
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
func_8006CEA0();
omAddPrcObj(&func_800F6924_name_47, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F6CBC_name_47);
if (D_800C597A != 0) {
SetFadeInTypeAndTime(6, 8);
} else {
SetFadeInTypeAndTime(1, 16);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_47/285230", func_800F66D0_name_47);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_47/285230", func_800F6924_name_47);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_47/285230", func_800F6C40_name_47);
void func_800F6C40_name_47(omObjData* obj) {
if (func_80072718() == 0) {
func_800F6EB4_name_47();
func_800F6DE8_name_47();
func_80054654();
func_80070ED4();
if (D_800F6EE0_name_47 == 0) {
omOvlReturnEx(1);
return;
}
func_8004F284();
func_8004F28C(0x47, D_800F6EE2_name_47);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_47/285230", func_800F6CBC_name_47);
void func_800F6CBC_name_47(omObjData* obj) {
if (D_800F5144 != 0) {
if (D_800F6EE0_name_47 != 0) {
func_800726AC(6, 8);
} else {
func_800726AC (1, 16);
}
obj->func_ptr = &func_800F6C40_name_47;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_47/285230", func_800F6D1C_name_47);
void func_800F6D1C_name_47(void) {
func_8003DAA8();
D_800F6F24_name_47 = CreateObject(10, &D_800F6F08_name_47);
D_800F6F24_name_47->coords.x = D_800F6EE4_name_47.x;
D_800F6F24_name_47->coords.y = D_800F6EE4_name_47.y;
D_800F6F24_name_47->coords.z = D_800F6EE4_name_47.z;
D_800F6F28_name_47 = CreateObject(func_80052F04(D_800F6F20_name_47), NULL);
D_800F6F28_name_47->coords.x = D_800F6EFC_name_47.x;
D_800F6F28_name_47->coords.y = D_800F6EFC_name_47.y;
D_800F6F28_name_47->coords.z = D_800F6EFC_name_47.z;
func_8004CCD0(&D_800F6F28_name_47->coords, &D_800F6F24_name_47->coords, &D_800F6F28_name_47->unk_18);
func_8004CCD0(&D_800F6F24_name_47->coords, &D_800F6F28_name_47->coords, &D_800F6F24_name_47->unk_18);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_47/285230", func_800F6DE8_name_47);
void func_800F6DE8_name_47(void) {
DestroyObject(D_800F6F28_name_47);
DestroyObject(D_800F6F24_name_47);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_47/285230", func_800F6E14_name_47);
void func_800F6E14_name_47(void) {
func_800178A0(1);
func_80017660(0, 0.0f, 0.0f, 320.0f, 240.0f);
func_800176C4(0, 640.0f, 480.0f, 511.0f, 640.0f, 480.0f, 511.0f);
LoadBackgroundData(&D_FE2310);
LoadBackgroundIndex(2);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_47/285230", func_800F6EB4_name_47);
void func_800F6EB4_name_47(void) {
func_8004A140();
func_80049F0C();
}

View File

@ -0,0 +1,16 @@
#include "common.h"
void func_800F6D1C_name_47(void);
void func_800F6E14_name_47(void);
void func_800F6924_name_47(void);
void func_800F6CBC_name_47(omObjData* obj);
void func_800F6DE8_name_47(void);
void func_800F6EB4_name_47(void);
void func_800F6C40_name_47(omObjData* obj);
extern Vec3f D_800F6EE4_name_47;
extern Vec3f D_800F6EFC_name_47;
extern Vec3f D_800F6F08_name_47;
extern Object* D_800F6F24_name_47;
extern Object* D_800F6F28_name_47;
extern s32 D_800F6EE0_name_47;

View File

@ -1,19 +1,234 @@
#include "common.h"
#include "engine/process.h"
#include "285B70.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_48_BowserVisitDKBoard/285B70", func_800F65E0_BowserVisitDKBoard);
Vec3f D_800F70C0_BowserVisitDKBoard = {-115.0f, 0.0f, 1120.0f};
Vec3f D_800F70CC_BowserVisitDKBoard[] = {{30.0f, 350.0f, 1475.0f},{30.0f, 65.0f, 1475.0f}};
Vec3f D_800F70E4_BowserVisitDKBoard = {115.0f, 0.0f, 1520.0f};
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_48_BowserVisitDKBoard/285B70", func_800F66BC_BowserVisitDKBoard);
s32 D_800F70F0_BowserVisitDKBoard[] = { 0x00000003, 0x000A0068, 0x000A006A, 0x000A006C };
s32 D_800F7100_BowserVisitDKBoard[] = { 0x00000002, 0x0001003C, 0x0001003E };
s32 D_800F710C_BowserVisitDKBoard[] = { 0x00000002, 0x0002003C, 0x0002003E };
s32 D_800F7118_BowserVisitDKBoard[] = { 0x00000002, 0x0006003C, 0x0006003E };
s32 D_800F7124_BowserVisitDKBoard[] = { 0x00000002, 0x0003003C, 0x0003003E };
s32 D_800F7130_BowserVisitDKBoard[] = { 0x00000002, 0x0004003C, 0x0004003E };
s32 D_800F713C_BowserVisitDKBoard[] = { 0x00000002, 0x0005003C, 0x0005003E };
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_48_BowserVisitDKBoard/285B70", func_800F6C14_BowserVisitDKBoard);
s32* D_800F7148_BowserVisitDKBoard[] = {D_800F7100_BowserVisitDKBoard, D_800F710C_BowserVisitDKBoard, D_800F7118_BowserVisitDKBoard, D_800F7124_BowserVisitDKBoard, D_800F7130_BowserVisitDKBoard, D_800F713C_BowserVisitDKBoard};
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_48_BowserVisitDKBoard/285B70", func_800F6D84_BowserVisitDKBoard);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_48_BowserVisitDKBoard/285B70", func_800F6DD0_BowserVisitDKBoard);
//f64 D_800F7160_BowserVisitDKBoard = 0.017453292519943295;
//f64 D_800F7160_BowserVisitDKBoard = 0.017453292519943295;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_48_BowserVisitDKBoard/285B70", func_800F6E1C_BowserVisitDKBoard);
//bss
extern u8 D_800F7170_ovl48;
extern Object* D_800F7174_ovl48;
extern Object* D_800F7178_ovl48;
extern Object* D_800F717C_ovl48;
extern omObjData* D_800F7180_ovl48;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_48_BowserVisitDKBoard/285B70", func_800F6FAC_BowserVisitDKBoard);
void func_800F65E0_BowserVisitDKBoard(void) {
D_800F7170_ovl48 = D_800ED5DC;
omInitObjMan(50, 10);
func_800F6FF8_BowserVisitDKBoard();
func_800F6E1C_BowserVisitDKBoard();
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
func_8006CEA0();
omAddPrcObj(func_800F66BC_BowserVisitDKBoard, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F6DD0_BowserVisitDKBoard);
func_80060128(0x12);
SetFadeInTypeAndTime(3, 0x10);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_48_BowserVisitDKBoard/285B70", func_800F6FF8_BowserVisitDKBoard);
void func_800F66BC_BowserVisitDKBoard(void) {
f32 var_f20;
s32 temp_s1;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_48_BowserVisitDKBoard/285B70", func_800F7098_BowserVisitDKBoard);
HuPrcSleep(0x10);
PlaySound(0x46A);
HuPrcSleep(0xA);
if (gPlayers[D_800F7170_ovl48].coinAmount == 0) {
temp_s1 = CreateTextWindow(0x28, 0x28, 0x10, 2);
LoadStringIntoWindow(temp_s1, (void* )0x192, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
func_8004DBD4(temp_s1, D_800F7170_ovl48);
HideTextWindow(temp_s1);
temp_s1 = CreateTextWindow(0x28, 0x28, 0x13, 3);
LoadStringIntoWindow(temp_s1, (void* )0x193, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
PlaySound(0x46A);
func_8004DBD4(temp_s1, D_800F7170_ovl48);
HideTextWindow(temp_s1);
} else if (!(gPlayers[D_800F7170_ovl48].coinAmount >= 0xA)) {
temp_s1 = CreateTextWindow(0x28, 0x28, 0x10, 2);
LoadStringIntoWindow(temp_s1, (void* )0x18F, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
func_8004DBD4(temp_s1, D_800F7170_ovl48);
HideTextWindow(temp_s1);
temp_s1 = CreateTextWindow(0x28, 0x28, 0x12, 3);
LoadStringIntoWindow(temp_s1, (void* )0x190, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow( temp_s1);
func_8004DBD4(temp_s1, D_800F7170_ovl48);
HideTextWindow(temp_s1);
func_8003E81C(D_800F7174_ovl48, 1, 0);
func_8004F40C(D_800F7174_ovl48, 0, 2);
func_8003E81C(D_800F717C_ovl48, 1, 0);
func_80055960(D_800F7170_ovl48, -gPlayers[D_800F7170_ovl48].coinAmount);
func_800503B0(D_800F7170_ovl48, 5);
func_80060618(0x44A, D_800F7170_ovl48);
HuPrcSleep(0x1E);
temp_s1 = CreateTextWindow(0x28, 0x28, 0x10, 2);
LoadStringIntoWindow(temp_s1, (void* )0x191, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
PlaySound(0x469);
func_8004DBD4(temp_s1, D_800F7170_ovl48);
HideTextWindow(temp_s1);
} else {
temp_s1 = CreateTextWindow(0x37, 0x28, 0x10, 2);
LoadStringIntoWindow(temp_s1, (void* )0x18C, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
func_8004DBD4(temp_s1, D_800F7170_ovl48);
HideTextWindow(temp_s1);
func_8004F4D4(D_800F7174_ovl48, 2, 0);
func_8004F40C(D_800F7174_ovl48, 0, 2);
HuPrcSleep(0x14);
var_f20 = D_800F70CC_BowserVisitDKBoard[0].y;
while (D_800F70CC_BowserVisitDKBoard[1].y <= var_f20) {
D_800F7178_ovl48->unk_30 = var_f20;
HuPrcVSleep();
var_f20 -= 2.0f;
}
D_800F7178_ovl48->unk_30 = D_800F70CC_BowserVisitDKBoard[1].y;
D_800F7180_ovl48->work[0] = 1;
HuPrcVSleep();
func_8003E81C(D_800F7174_ovl48, 1, 0);
func_8004F40C(D_800F7174_ovl48, 0, 2);
HuPrcSleep(0x28);
temp_s1 = CreateTextWindow(0x28, 0x28, 0x12, 3);
LoadStringIntoWindow(temp_s1, (void* )0x18D, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
func_8004DBD4(temp_s1, D_800F7170_ovl48);
HideTextWindow(temp_s1);
func_8003E81C(D_800F7174_ovl48, 1, 0);
func_8004F40C(D_800F7174_ovl48, 0, 2);
func_8003E81C(D_800F717C_ovl48, 0, 0);
func_80055960(D_800F7170_ovl48, -0xA);
func_800503B0(D_800F7170_ovl48, 5);
func_80060618(0x44A, D_800F7170_ovl48);
HuPrcSleep(0x1E);
temp_s1 = CreateTextWindow(0x50, 0x28, 0xF, 3);
LoadStringIntoWindow(temp_s1, (void* )0x18E, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
PlaySound(0x469);
func_8004DBD4(temp_s1, D_800F7170_ovl48);
HideTextWindow(temp_s1);
}
D_800F5144 = 1;
while (1) {
HuPrcVSleep();
}
}
void func_800F6C14_BowserVisitDKBoard(omObjData* arg0) {
Object* temp_s0;
Object* temp_s0_2;
Object* temp_s0_3;
temp_s0 = D_800F7178_ovl48;
temp_s0->unk_18.x = sinf(arg0->rot.x * 0.017453292519943295);
temp_s0_2 = D_800F7178_ovl48;
temp_s0_2->unk_18.z = cosf(arg0->rot.x * 0.017453292519943295);
if ((arg0->work[0] == 0) || !(arg0->rot.x < -310.0f)) {
arg0->rot.x = arg0->rot.x - 5.0f;
if (arg0->rot.x <= -360.0f) {
arg0->rot.x = arg0->rot.x + 360.0f;
}
} else {
temp_s0_3 = D_800F7178_ovl48;
temp_s0_3->unk_30 = ((sinf(arg0->rot.y * 0.017453292519943295)) * 4.0f) + D_800F70CC_BowserVisitDKBoard[1].y;
arg0->rot.y = arg0->rot.y + 5.0f;
if (arg0->rot.y >= 360.0f) {
arg0->rot.y -= 360.0f;
}
}
}
void func_800F6D84_BowserVisitDKBoard(void) {
if (func_80072718() == 0) {
func_800F7098_BowserVisitDKBoard();
func_800F6FAC_BowserVisitDKBoard();
func_80054654();
func_80070ED4();
omOvlReturnEx(1);
}
}
void func_800F6DD0_BowserVisitDKBoard(omObjData* arg0) {
if (D_800F5144 != 0) {
func_800726AC(3, 0x10);
func_800601D4(0x20);
arg0->func_ptr = &func_800F6D84_BowserVisitDKBoard;
}
}
void func_800F6E1C_BowserVisitDKBoard(void) {
func_8003DAA8();
func_8004F2AC();
D_800F7174_ovl48 = CreateObject(6, D_800F70F0_BowserVisitDKBoard);
D_800F7174_ovl48->coords.x = D_800F70C0_BowserVisitDKBoard.x;
D_800F7174_ovl48->coords.y = D_800F70C0_BowserVisitDKBoard.y;
D_800F7174_ovl48->coords.z = D_800F70C0_BowserVisitDKBoard.z;
D_800F7174_ovl48->zScale = 1.5f;
D_800F7174_ovl48->yScale = 1.5f;
D_800F7174_ovl48->xScale = 1.5f;
D_800F7178_ovl48 = CreateObject(0x28, NULL);
D_800F7178_ovl48->coords.x = D_800F70CC_BowserVisitDKBoard[0].x;
D_800F7178_ovl48->coords.y = 0.0f;
D_800F7178_ovl48->unk_30 = D_800F70CC_BowserVisitDKBoard[0].y;
D_800F7178_ovl48->coords.z = D_800F70CC_BowserVisitDKBoard[0].z;
D_800F7180_ovl48 = omAddObj(0x1000, 0, 0, -1, &func_800F6C14_BowserVisitDKBoard);
D_800F7180_ovl48->rot.x = -12.0f;
D_800F7180_ovl48->rot.y = 0.0f;
D_800F7180_ovl48->work[0] = 0;
D_800F717C_ovl48 = CreateObject(func_80052F04(D_800F7170_ovl48), D_800F7148_BowserVisitDKBoard[gPlayers[D_800F7170_ovl48].characterID]);
D_800F717C_ovl48->coords.x = D_800F70E4_BowserVisitDKBoard.x;
D_800F717C_ovl48->coords.y = D_800F70E4_BowserVisitDKBoard.y;
D_800F717C_ovl48->coords.z = D_800F70E4_BowserVisitDKBoard.z;
func_8004CCD0(&D_800F717C_ovl48->coords, &D_800F7174_ovl48->coords, &D_800F717C_ovl48->unk_18);
func_8004CCD0(&D_800F7174_ovl48->coords, &D_800F717C_ovl48->coords, &D_800F7174_ovl48->unk_18);
}
void func_800F6FAC_BowserVisitDKBoard(void) {
omDelObj(D_800F7180_ovl48);
DestroyObject(D_800F717C_ovl48);
DestroyObject(D_800F7174_ovl48);
DestroyObject(D_800F7178_ovl48);
func_8004F2EC();
}
void func_800F6FF8_BowserVisitDKBoard(void) {
func_800178A0(1);
func_80017660(0U, 0.0f, 0.0f, 320.0f, 240.0f);
func_800176C4(0U, 640.0f, 480.0f, 511.0f, 640.0f, 480.0f, 511.0f);
LoadBackgroundData(&D_FE2310);
LoadBackgroundIndex(2);
}
void func_800F7098_BowserVisitDKBoard(void) {
func_8004A140();
func_80049F0C();
}

View File

@ -0,0 +1,31 @@
#include "common.h"
void func_800F66BC_BowserVisitDKBoard(void);
void func_800F6E1C_BowserVisitDKBoard(void);
void func_800F6FF8_BowserVisitDKBoard(void);
void func_800F6DD0_BowserVisitDKBoard(omObjData*);
void func_800F6FAC_BowserVisitDKBoard(void);
void func_800F7098_BowserVisitDKBoard(void);
void func_800F6D84_BowserVisitDKBoard(void);
void func_800F6C14_BowserVisitDKBoard(omObjData*);
void func_8004DBD4(s32, u8);
// extern Object* D_800F7178_BowserVisitDKBoard;
// extern Vec3f D_800F70C0_BowserVisitDKBoard;
// extern Vec3f D_800F70CC_BowserVisitDKBoard;
// extern Vec3f D_800F70E4_BowserVisitDKBoard;
// extern Object* D_800F7148_BowserVisitDKBoard[];
// extern u8 D_800F7170_BowserVisitDKBoard;
// extern Object* D_800F7174_BowserVisitDKBoard;
// extern Object* D_800F7178_BowserVisitDKBoard;
// extern Object* D_800F717C_BowserVisitDKBoard;
// extern omObjData* D_800F7180_BowserVisitDKBoard;
// extern Vec4f D_800F70D0_BowserVisitDKBoard;
// extern f32 D_800F70DC_BowserVisitDKBoard;
// extern u8 D_800F7170_BowserVisitDKBoard;
// extern Object* D_800F7174_BowserVisitDKBoard;
// extern Object* D_800F7178_BowserVisitDKBoard;
// extern Object* D_800F717C_BowserVisitDKBoard;
// extern omObjData* D_800F7180_BowserVisitDKBoard;
// extern u8 D_800F7170_BowserVisitDKBoard;

View File

@ -1,19 +1,223 @@
#include "common.h"
#include "engine/process.h"
#include "286700.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_49_BowserVisitPeachBoard/286700", func_800F65E0_BowserVisitPeachBoard);
Vec3f D_800F70D0_BowserVisitPeachBoard = {-115.0f, 0.0f, 1120.0f};
Vec3f D_800F70DC_BowserVisitPeachBoard[2] = {{30.0f, 350.0f, 1475.0f}, {30.0f, 120.0f, 1475.0f}};
Vec3f D_800F70F4_BowserVisitPeachBoard = {115.0f, 0.0f, 1520.0f};
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_49_BowserVisitPeachBoard/286700", func_800F66BC_BowserVisitPeachBoard);
s32 D_800F7100_BowserVisitPeachBoard[] = {0x00000003, 0x000A0068, 0x000A006A, 0x000A006C};
s32 D_800F7110_BowserVisitPeachBoard[] = {0x00000002, 0x0001003C, 0x0001003E};
s32 D_800F711C_BowserVisitPeachBoard[] = {0x00000002, 0x0002003C, 0x0002003E};
s32 D_800F7128_BowserVisitPeachBoard[] = {0x00000002, 0x0006003C, 0x0006003E};
s32 D_800F7134_BowserVisitPeachBoard[] = {0x00000002, 0x0003003C, 0x0003003E};
s32 D_800F7140_BowserVisitPeachBoard[] = {0x00000002, 0x0004003C, 0x0004003E};
s32 D_800F714C_BowserVisitPeachBoard[] = {0x00000002, 0x00050010, 0x00050010};
s32* D_800F7158_BowserVisitPeachBoard[] = {D_800F7110_BowserVisitPeachBoard, D_800F711C_BowserVisitPeachBoard, D_800F7128_BowserVisitPeachBoard, D_800F7134_BowserVisitPeachBoard, D_800F7140_BowserVisitPeachBoard, D_800F714C_BowserVisitPeachBoard};
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_49_BowserVisitPeachBoard/286700", func_800F6C10_BowserVisitPeachBoard);
void func_800F65E0_BowserVisitPeachBoard(void) {
D_800F7180_BowserVisitPeachBoard = D_800ED5DC;
omInitObjMan(50, 10);
func_800F7008_BowserVisitPeachBoard();
func_800F6E18_BowserVisitPeachBoard();
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
func_8006CEA0();
omAddPrcObj(func_800F66BC_BowserVisitPeachBoard, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F6DCC_BowserVisitPeachBoard);
func_80060128(18);
SetFadeInTypeAndTime(3, 16);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_49_BowserVisitPeachBoard/286700", func_800F6D80_BowserVisitPeachBoard);
void func_800F66BC_BowserVisitPeachBoard(void) {
f32 var_f20;
s32 temp_s1;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_49_BowserVisitPeachBoard/286700", func_800F6DCC_BowserVisitPeachBoard);
HuPrcSleep(0x10);
PlaySound(0x46A);
HuPrcSleep(0xA);
if (gPlayers[D_800F7180_BowserVisitPeachBoard].coinAmount == 0) {
temp_s1 = CreateTextWindow(0x3C, 0x28, 0x10, 3);
LoadStringIntoWindow(temp_s1, (void* )0x1A0, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
func_8004DBD4(temp_s1, D_800F7180_BowserVisitPeachBoard);
HideTextWindow(temp_s1);
temp_s1 = CreateTextWindow(0x3C, 0x28, 0x0F, 3);
LoadStringIntoWindow(temp_s1, (void* )0x1A1, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
PlaySound(0x46A);
func_8004DBD4(temp_s1, D_800F7180_BowserVisitPeachBoard);
HideTextWindow(temp_s1);
} else if (!(gPlayers[D_800F7180_BowserVisitPeachBoard].coinAmount >= 20)) {
temp_s1 = CreateTextWindow(0x37, 0x28, 0x10, 3);
LoadStringIntoWindow(temp_s1, (void* )0x19D, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
func_8004DBD4(temp_s1, D_800F7180_BowserVisitPeachBoard);
HideTextWindow(temp_s1);
temp_s1 = CreateTextWindow(0x37, 0x28, 0x10, 3);
LoadStringIntoWindow(temp_s1, (void* )0x19E, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow( temp_s1);
func_8004DBD4(temp_s1, D_800F7180_BowserVisitPeachBoard);
HideTextWindow(temp_s1);
func_8003E81C(D_800F7184_BowserVisitPeachBoard, 1, 0);
func_8004F40C(D_800F7184_BowserVisitPeachBoard, 0, 2);
func_8003E81C(D_800F718C_BowserVisitPeachBoard, 1, 0);
func_80055960(D_800F7180_BowserVisitPeachBoard, -gPlayers[D_800F7180_BowserVisitPeachBoard].coinAmount);
func_800503B0(D_800F7180_BowserVisitPeachBoard, 5);
func_80060618(0x44A, D_800F7180_BowserVisitPeachBoard);
HuPrcSleep(0x1E);
temp_s1 = CreateTextWindow(0x64, 0x28, 0x0B, 2);
LoadStringIntoWindow(temp_s1, (void* )0x19F, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
PlaySound(0x469);
func_8004DBD4(temp_s1, D_800F7180_BowserVisitPeachBoard);
HideTextWindow(temp_s1);
} else {
temp_s1 = CreateTextWindow(0x37, 0x28, 0x10, 3);
LoadStringIntoWindow(temp_s1, (void* )0x19A, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
func_8004DBD4(temp_s1, D_800F7180_BowserVisitPeachBoard);
HideTextWindow(temp_s1);
func_8004F4D4(D_800F7184_BowserVisitPeachBoard, 2, 0);
func_8004F40C(D_800F7184_BowserVisitPeachBoard, 0, 2);
HuPrcSleep(0x14);
var_f20 = D_800F70DC_BowserVisitPeachBoard[0].y;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_49_BowserVisitPeachBoard/286700", func_800F6E18_BowserVisitPeachBoard);
while (D_800F70DC_BowserVisitPeachBoard[1].y <= var_f20) {
D_800F7188_BowserVisitPeachBoard->unk_30 = var_f20;
HuPrcVSleep();
var_f20 -= 2.0f;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_49_BowserVisitPeachBoard/286700", func_800F6FBC_BowserVisitPeachBoard);
D_800F7188_BowserVisitPeachBoard->unk_30 = D_800F70DC_BowserVisitPeachBoard[1].y;
D_800F7190_BowserVisitPeachBoard->work[0] = 1;
HuPrcVSleep();
func_8003E81C(D_800F7184_BowserVisitPeachBoard, 1, 0);
func_8004F40C(D_800F7184_BowserVisitPeachBoard, 0, 2);
HuPrcSleep(0x28);
temp_s1 = CreateTextWindow(0x37, 0x28, 0x11, 3);
LoadStringIntoWindow(temp_s1, (void* )0x19B, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
func_8004DBD4(temp_s1, D_800F7180_BowserVisitPeachBoard);
HideTextWindow(temp_s1);
func_8003E81C(D_800F7184_BowserVisitPeachBoard, 1, 0);
func_8004F40C(D_800F7184_BowserVisitPeachBoard, 0, 2);
func_8003E81C(D_800F718C_BowserVisitPeachBoard, 0, 0);
func_80055960(D_800F7180_BowserVisitPeachBoard, -20);
func_800503B0(D_800F7180_BowserVisitPeachBoard, 5);
func_80060618(0x44A, D_800F7180_BowserVisitPeachBoard);
HuPrcSleep(0x1E);
temp_s1 = CreateTextWindow(0x46, 0x28, 0x10, 3);
LoadStringIntoWindow(temp_s1, (void* )0x19C, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
PlaySound(0x469);
func_8004DBD4(temp_s1, D_800F7180_BowserVisitPeachBoard);
HideTextWindow(temp_s1);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_49_BowserVisitPeachBoard/286700", func_800F7008_BowserVisitPeachBoard);
D_800F5144 = 1;
while (1) {
HuPrcVSleep();
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_49_BowserVisitPeachBoard/286700", func_800F70A8_BowserVisitPeachBoard);
void func_800F6C10_BowserVisitPeachBoard(omObjData* arg0) {
Object* temp_s0;
Object* temp_s0_2;
Object* temp_s0_3;
temp_s0 = D_800F7188_BowserVisitPeachBoard;
temp_s0->unk_18.x = sinf(arg0->rot.x * 0.017453292519943295);
temp_s0_2 = D_800F7188_BowserVisitPeachBoard;
temp_s0_2->unk_18.z = cosf(arg0->rot.x * 0.017453292519943295);
if ((arg0->work[0] == 0) || !(arg0->rot.x < -310.0f)) {
arg0->rot.x = arg0->rot.x - 5.0f;
if (arg0->rot.x <= -360.0f) {
arg0->rot.x = arg0->rot.x + 360.0f;
}
} else {
temp_s0_3 = D_800F7188_BowserVisitPeachBoard;
temp_s0_3->unk_30 = ((sinf(arg0->rot.y * 0.017453292519943295)) * 4.0f) + D_800F70DC_BowserVisitPeachBoard[1].y;
arg0->rot.y = arg0->rot.y + 5.0f;
if (arg0->rot.y >= 360.0f) {
arg0->rot.y -= 360.0f;
}
}
}
void func_800F6D80_BowserVisitPeachBoard(void) {
if (func_80072718() == 0) {
func_800F70A8_BowserVisitPeachBoard();
func_800F6FBC_BowserVisitPeachBoard();
func_80054654();
func_80070ED4();
omOvlReturnEx(1);
}
}
void func_800F6DCC_BowserVisitPeachBoard(omObjData* arg0) {
if (D_800F5144 != 0) {
func_800726AC(3, 16);
func_800601D4(32);
arg0->func_ptr = &func_800F6D80_BowserVisitPeachBoard;
}
}
void func_800F6E18_BowserVisitPeachBoard(void) {
func_8003DAA8();
func_8004F2AC();
D_800F7184_BowserVisitPeachBoard = CreateObject(6, &D_800F7100_BowserVisitPeachBoard);
D_800F7184_BowserVisitPeachBoard->coords.x = D_800F70D0_BowserVisitPeachBoard.x;
D_800F7184_BowserVisitPeachBoard->coords.y = D_800F70D0_BowserVisitPeachBoard.y;
D_800F7184_BowserVisitPeachBoard->coords.z = D_800F70D0_BowserVisitPeachBoard.z;
D_800F7184_BowserVisitPeachBoard->zScale = 1.5f;
D_800F7184_BowserVisitPeachBoard->yScale = 1.5f;
D_800F7184_BowserVisitPeachBoard->xScale = 1.5f;
D_800F7188_BowserVisitPeachBoard = CreateObject(0x80, NULL);
D_800F7188_BowserVisitPeachBoard->coords.x = D_800F70DC_BowserVisitPeachBoard[0].x;
D_800F7188_BowserVisitPeachBoard->coords.y = 0.0f;
D_800F7188_BowserVisitPeachBoard->unk_30 = D_800F70DC_BowserVisitPeachBoard[0].y;
D_800F7188_BowserVisitPeachBoard->coords.z = D_800F70DC_BowserVisitPeachBoard[0].z;
D_800F7190_BowserVisitPeachBoard = omAddObj(0x1000, 0, 0, -1, &func_800F6C10_BowserVisitPeachBoard);
D_800F7190_BowserVisitPeachBoard->rot.x = -12.0f;
D_800F7190_BowserVisitPeachBoard->rot.y = 0.0f;
D_800F7190_BowserVisitPeachBoard->work[0] = 0;
D_800F7188_BowserVisitPeachBoard->unk_0A |= 1;
D_800F718C_BowserVisitPeachBoard = CreateObject(func_80052F04(D_800F7180_BowserVisitPeachBoard), D_800F7158_BowserVisitPeachBoard[gPlayers[D_800F7180_BowserVisitPeachBoard].characterID]);
D_800F718C_BowserVisitPeachBoard->coords.x = D_800F70F4_BowserVisitPeachBoard.x;
D_800F718C_BowserVisitPeachBoard->coords.y = D_800F70F4_BowserVisitPeachBoard.y;
D_800F718C_BowserVisitPeachBoard->coords.z = D_800F70F4_BowserVisitPeachBoard.z;
func_8004CCD0(&D_800F718C_BowserVisitPeachBoard->coords, &D_800F7184_BowserVisitPeachBoard->coords, &D_800F718C_BowserVisitPeachBoard->unk_18);
func_8004CCD0(&D_800F7184_BowserVisitPeachBoard->coords, &D_800F718C_BowserVisitPeachBoard->coords, &D_800F7184_BowserVisitPeachBoard->unk_18);
}
void func_800F6FBC_BowserVisitPeachBoard(void) {
omDelObj(D_800F7190_BowserVisitPeachBoard);
DestroyObject(D_800F718C_BowserVisitPeachBoard);
DestroyObject(D_800F7184_BowserVisitPeachBoard);
DestroyObject(D_800F7188_BowserVisitPeachBoard);
func_8004F2EC();
}
void func_800F7008_BowserVisitPeachBoard(void) {
func_800178A0(1);
func_80017660(0U, 0.0f, 0.0f, 320.0f, 240.0f);
func_800176C4(0U, 640.0f, 480.0f, 511.0f, 640.0f, 480.0f, 511.0f);
LoadBackgroundData(&D_FE2310);
LoadBackgroundIndex(10);
}
void func_800F70A8_BowserVisitPeachBoard(void) {
func_8004A140();
func_80049F0C();
}

View File

@ -0,0 +1,18 @@
#include "common.h"
void func_800F66BC_BowserVisitPeachBoard(void);
void func_800F6E18_BowserVisitPeachBoard(void);
void func_800F7008_BowserVisitPeachBoard(void);
void func_800F6DCC_BowserVisitPeachBoard(omObjData*);
void func_800F6FBC_BowserVisitPeachBoard(void);
void func_800F70A8_BowserVisitPeachBoard(void);
void func_800F6D80_BowserVisitPeachBoard(void);
void func_800F6C10_BowserVisitPeachBoard(omObjData*);
s32 func_8004DBD4(s32, u8);
//bss
extern u8 D_800F7180_BowserVisitPeachBoard;
extern Object* D_800F7184_BowserVisitPeachBoard;
extern Object* D_800F7188_BowserVisitPeachBoard;
extern Object* D_800F718C_BowserVisitPeachBoard;
extern omObjData* D_800F7190_BowserVisitPeachBoard;

View File

@ -1,17 +1,126 @@
#include "common.h"
#include "engine/process.h"
#include "28E030.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_50_LoadCannonWarioBoard/28E030", func_800F65E0_LoadCannonWarioBoard);
Vec3f D_800F6B20_LoadCannonWarioBoard = {-80.0f, 0.0f, 1310.0f};
Vec3f D_800F6B2C_LoadCannonWarioBoard = {80.0f, 0.0f, 1520.0f};
Vec3f D_800F6B38_LoadCannonWarioBoard = {35.0f, 0.0f, 1450.0f};
Vec3f D_800F6B44_LoadCannonWarioBoard = {120.0f, 0.0f, 1575.0f};
Vec3f D_800F6B50_LoadCannonWarioBoard = {55.0f, 0.0f, 1475.0f};
Vec3f D_800F6B5C_LoadCannonWarioBoard = {100.0f, 0.0f, 1555.0f};
Vec3f D_800F6B68_LoadCannonWarioBoard = {400.0f, 0.0f, 1940.0f};
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_50_LoadCannonWarioBoard/28E030", func_800F66B4_LoadCannonWarioBoard);
s32 D_800F6B74_LoadCannonWarioBoard[] = {0x00000002, 0x00010000, 0x00010063};
s32 D_800F6B80_LoadCannonWarioBoard[] = {0x00000002, 0x00020000, 0x00020063};
s32 D_800F6B8C_LoadCannonWarioBoard[] = {0x00000002, 0x00060000, 0x00060063};
s32 D_800F6B98_LoadCannonWarioBoard[] = {0x00000002, 0x00030000, 0x00030063};
s32 D_800F6BA4_LoadCannonWarioBoard[] = {0x00000002, 0x00040000, 0x00040063};
s32 D_800F6BB0_LoadCannonWarioBoard[] = {0x00000002, 0x00050000, 0x00050063};
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_50_LoadCannonWarioBoard/28E030", func_800F68A8_LoadCannonWarioBoard);
s32* D_800F6BBC_LoadCannonWarioBoard[] = {D_800F6B74_LoadCannonWarioBoard, D_800F6B80_LoadCannonWarioBoard, D_800F6B8C_LoadCannonWarioBoard, D_800F6B98_LoadCannonWarioBoard, D_800F6BA4_LoadCannonWarioBoard, D_800F6BB0_LoadCannonWarioBoard};
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_50_LoadCannonWarioBoard/28E030", func_800F68F4_LoadCannonWarioBoard);
void func_800F65E0_LoadCannonWarioBoard(void) {
D_800F6BE0_LoadCannonWarioBoard = D_800ED5DC;
omInitObjMan(0x32, 0xA);
func_800F6A54_LoadCannonWarioBoard();
func_800F6918_LoadCannonWarioBoard();
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
func_8006CEA0();
omAddPrcObj(&func_800F66B4_LoadCannonWarioBoard, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F68F4_LoadCannonWarioBoard);
SetFadeInTypeAndTime(1, 16);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_50_LoadCannonWarioBoard/28E030", func_800F6918_LoadCannonWarioBoard);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_50_LoadCannonWarioBoard/28E030", func_800F6A28_LoadCannonWarioBoard);
void func_800F66B4_LoadCannonWarioBoard(void) {
s32 temp_s1;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_50_LoadCannonWarioBoard/28E030", func_800F6A54_LoadCannonWarioBoard);
func_800421E0();
HuPrcSleep(16);
PlaySound(0xBF);
HuPrcSleep(10);
temp_s1 = CreateTextWindow(100, 80, 10, 4);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_50_LoadCannonWarioBoard/28E030", func_800F6AF4_LoadCannonWarioBoard);
LoadStringIntoWindow(temp_s1, (void* )0x1CC, -1, -1);
func_8006E070(temp_s1, 0);
ShowTextWindow(temp_s1);
func_8004DBD4(temp_s1, D_800F6BE0_LoadCannonWarioBoard);
HideTextWindow(temp_s1);
func_8004E3E0(0, &D_800F6B38_LoadCannonWarioBoard, 20, D_800F6BE4_LoadCannonWarioBoard);
HuPrcSleep(20);
PlaySound(0xC2);
PlaySound(0x145);
func_800503B0(D_800F6BE0_LoadCannonWarioBoard, 1);
func_8004F4D4(D_800F6BE8_LoadCannonWarioBoard, 1, 2);
func_8004E3E0(0, &D_800F6B44_LoadCannonWarioBoard, 5, D_800F6BE8_LoadCannonWarioBoard);
HuPrcSleep(20);
func_8004E3E0(0, &D_800F6B50_LoadCannonWarioBoard, 5, D_800F6BE4_LoadCannonWarioBoard);
func_8004E3E0(0, &D_800F6B5C_LoadCannonWarioBoard, 5, D_800F6BE8_LoadCannonWarioBoard);
HuPrcSleep(4);
PlaySound(0xC2);
PlaySound(0x145);
func_800503B0(D_800F6BE0_LoadCannonWarioBoard, 1);
func_8004E3E0(0, &D_800F6B68_LoadCannonWarioBoard, 20, D_800F6BE8_LoadCannonWarioBoard);
HuPrcSleep(5);
func_8004E3E0(0, &D_800F6B5C_LoadCannonWarioBoard, 20, D_800F6BE4_LoadCannonWarioBoard);
HuPrcSleep(5);
func_800726AC(1, 8);
HuPrcSleep(20);
D_800F5144 = 1;
while (1) {
HuPrcVSleep();
}
}
void func_800F68A8_LoadCannonWarioBoard(void) {
if (func_80072718() == 0) {
func_800F6AF4_LoadCannonWarioBoard();
func_800F6A28_LoadCannonWarioBoard();
func_80054654();
func_80070ED4();
omOvlReturnEx(1);
}
}
void func_800F68F4_LoadCannonWarioBoard(omObjData* arg0) {
if (D_800F5144 != 0) {
arg0->func_ptr = &func_800F68A8_LoadCannonWarioBoard;
}
}
void func_800F6918_LoadCannonWarioBoard(void) {
s32 sp18[2] = { 0xE, 0xF };
func_8003DAA8();
D_800F6BE4_LoadCannonWarioBoard = CreateObject(sp18[D_800ED100.boardRam[0]], NULL);
D_800F6BE4_LoadCannonWarioBoard->coords.x = D_800F6B20_LoadCannonWarioBoard.x;
D_800F6BE4_LoadCannonWarioBoard->coords.y = D_800F6B20_LoadCannonWarioBoard.y;
D_800F6BE4_LoadCannonWarioBoard->coords.z = D_800F6B20_LoadCannonWarioBoard.z;
D_800F6BE8_LoadCannonWarioBoard = CreateObject(func_80052F04(D_800F6BE0_LoadCannonWarioBoard), D_800F6BBC_LoadCannonWarioBoard[gPlayers[D_800F6BE0_LoadCannonWarioBoard].characterID]);
D_800F6BE8_LoadCannonWarioBoard->coords.x = D_800F6B2C_LoadCannonWarioBoard.x;
D_800F6BE8_LoadCannonWarioBoard->coords.y = D_800F6B2C_LoadCannonWarioBoard.y;
D_800F6BE8_LoadCannonWarioBoard->coords.z = D_800F6B2C_LoadCannonWarioBoard.z;
func_8004CCD0(&D_800F6BE8_LoadCannonWarioBoard->coords, &D_800F6BE4_LoadCannonWarioBoard->coords, &D_800F6BE8_LoadCannonWarioBoard->unk_18);
func_8004CCD0(&D_800F6BE4_LoadCannonWarioBoard->coords, &D_800F6BE8_LoadCannonWarioBoard->coords, &D_800F6BE4_LoadCannonWarioBoard->unk_18);
}
void func_800F6A28_LoadCannonWarioBoard(void) {
DestroyObject(D_800F6BE8_LoadCannonWarioBoard);
DestroyObject(D_800F6BE4_LoadCannonWarioBoard);
}
void func_800F6A54_LoadCannonWarioBoard(void) {
func_800178A0(1);
func_80017660(0, 0.0f, 0.0f, 320.0f, 240.0f);
func_800176C4(0, 640.0f, 480.0f, 511.0f, 640.0f, 480.0f, 511.0f);
LoadBackgroundData(&D_FE2310);
LoadBackgroundIndex(29);
}
void func_800F6AF4_LoadCannonWarioBoard(void) {
func_8004A140();
func_80049F0C();
}

View File

@ -0,0 +1,14 @@
#include "common.h"
void func_800F66B4_LoadCannonWarioBoard(void);
void func_800F6918_LoadCannonWarioBoard(void);
void func_800F6A54_LoadCannonWarioBoard(void);
void func_8004DBD4(s32, u8);
void func_800F68F4_LoadCannonWarioBoard(omObjData*);
void func_800F6A28_LoadCannonWarioBoard(void);
void func_800F6AF4_LoadCannonWarioBoard(void);
extern s16 D_800ED154;
extern u8 D_800F6BE0_LoadCannonWarioBoard;
extern Object* D_800F6BE4_LoadCannonWarioBoard;
extern Object* D_800F6BE8_LoadCannonWarioBoard;

View File

@ -1,17 +1,134 @@
#include "common.h"
#include "engine/process.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_51_ChangeCannonTargetWarioBoard/28E630", func_800F65E0_ChangeCannonTargetWarioBoard);
void func_800F66B4_ChangeCannonTargetWarioBoard(void);
void func_800F69D8_ChangeCannonTargetWarioBoard(s32);
void func_800F6B30_ChangeCannonTargetWarioBoard(void);
void func_800F6994_ChangeCannonTargetWarioBoard(omObjData*);
void func_800F6B04_ChangeCannonTargetWarioBoard(void);
void func_800F6BD0_ChangeCannonTargetWarioBoard(void);
void func_800F69D8_ChangeCannonTargetWarioBoard(s32);
void func_800F6B04_ChangeCannonTargetWarioBoard(void);
void func_8004DBD4(s32, u8);
void func_800F6948_ChangeCannonTargetWarioBoard(void);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_51_ChangeCannonTargetWarioBoard/28E630", func_800F66B4_ChangeCannonTargetWarioBoard);
extern u8 D_800F6C50_ChangeCannonTargetWarioBoard;
extern Vec3f D_800F6C24_ChangeCannonTargetWarioBoard[];
extern s32 D_800F6C3C_ChangeCannonTargetWarioBoard[];
extern s32 D_800F6C44_ChangeCannonTargetWarioBoard[];
extern u8 D_800F6C50_ChangeCannonTargetWarioBoard;
extern void* D_800F6C54_ChangeCannonTargetWarioBoard;
extern void* D_800F6C58_ChangeCannonTargetWarioBoard;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_51_ChangeCannonTargetWarioBoard/28E630", func_800F6948_ChangeCannonTargetWarioBoard);
void func_800F65E0_ChangeCannonTargetWarioBoard(void) {
D_800F6C50_ChangeCannonTargetWarioBoard = D_800ED5DC;
omInitObjMan(50, 10);
func_800F6B30_ChangeCannonTargetWarioBoard();
func_800F69D8_ChangeCannonTargetWarioBoard(1);
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
func_8006CEA0();
omAddPrcObj(func_800F66B4_ChangeCannonTargetWarioBoard, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F6994_ChangeCannonTargetWarioBoard);
SetFadeInTypeAndTime(4, 16);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_51_ChangeCannonTargetWarioBoard/28E630", func_800F6994_ChangeCannonTargetWarioBoard);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_51_ChangeCannonTargetWarioBoard/28E630", func_800F69D8_ChangeCannonTargetWarioBoard);
void func_800F66B4_ChangeCannonTargetWarioBoard(void) {
s32 windowID;
s32 i;
s32 j;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_51_ChangeCannonTargetWarioBoard/28E630", func_800F6B04_ChangeCannonTargetWarioBoard);
func_800421E0();
HuPrcSleep(16);
PlaySound(0xBF);
HuPrcSleep(0xA);
windowID = CreateTextWindow(100, 80, 13, 3);
LoadStringIntoWindow(windowID, (void* )0x1C4, -1, -1);
func_8006E070(windowID, 0);
ShowTextWindow(windowID);
func_8004DBD4(windowID, D_800F6C50_ChangeCannonTargetWarioBoard);
HideTextWindow(windowID);
PlaySound(0xC4);
func_8004EE14(0, &D_800F6C24_ChangeCannonTargetWarioBoard[D_800F6C44_ChangeCannonTargetWarioBoard[D_800ED100.boardRam[15]]], 0x1E, D_800F6C58_ChangeCannonTargetWarioBoard);
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
func_800503B0(j, 1);
}
HuPrcSleep(9);
}
PlaySound(0xC5);
HuPrcSleep(30);
func_800726AC(0, 4);
HuPrcSleep(6);
func_800F6B04_ChangeCannonTargetWarioBoard();
func_8004A140();
LoadBackgroundIndex(0x20);
func_800F69D8_ChangeCannonTargetWarioBoard(0);
SetFadeInTypeAndTime(0, 4);
HuPrcSleep(4);
windowID = CreateTextWindow(0x64, 0x50, 0xC, 3);
LoadStringIntoWindow(windowID, (void* )0x1C5, -1, -1);
func_8006E070(windowID, 0);
ShowTextWindow(windowID);
func_8004DBD4(windowID, D_800F6C50_ChangeCannonTargetWarioBoard);
HideTextWindow(windowID);
PlaySound(0xC4);
func_8004EE14(0, &D_800F6C24_ChangeCannonTargetWarioBoard[D_800F6C3C_ChangeCannonTargetWarioBoard[D_800ED100.boardRam[15]]], 30, D_800F6C58_ChangeCannonTargetWarioBoard);
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
func_800503B0(j, 1);
}
HuPrcSleep(9);
}
PlaySound(0xC5);
HuPrcSleep(30);
D_800F5144 = 1;
while(1) {
HuPrcVSleep();
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_51_ChangeCannonTargetWarioBoard/28E630", func_800F6B30_ChangeCannonTargetWarioBoard);
void func_800F6948_ChangeCannonTargetWarioBoard(void) {
if (func_80072718() == 0) {
func_800F6BD0_ChangeCannonTargetWarioBoard();
func_800F6B04_ChangeCannonTargetWarioBoard();
func_80054654();
func_80070ED4();
omOvlReturnEx(1);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_51_ChangeCannonTargetWarioBoard/28E630", func_800F6BD0_ChangeCannonTargetWarioBoard);
void func_800F6994_ChangeCannonTargetWarioBoard(omObjData* arg0) {
if (D_800F5144 != 0) {
func_800726AC(4, 16);
arg0->func_ptr = &func_800F6948_ChangeCannonTargetWarioBoard;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_51_ChangeCannonTargetWarioBoard/28E630", func_800F69D8_ChangeCannonTargetWarioBoard); //https://decomp.me/scratch/XixHe
void func_800F6B04_ChangeCannonTargetWarioBoard(void) {
DestroyObject(D_800F6C54_ChangeCannonTargetWarioBoard);
DestroyObject(D_800F6C58_ChangeCannonTargetWarioBoard);
}
void func_800F6B30_ChangeCannonTargetWarioBoard(void) {
func_800178A0(1);
func_80017660(0, 0.0f, 0.0f, 320.0f, 240.0f);
func_800176C4(0, 640.0f, 480.0f, 511.0f, 640.0f, 480.0f, 511.0f);
LoadBackgroundData(&D_FE2310);
LoadBackgroundIndex(0x1D);
}
void func_800F6BD0_ChangeCannonTargetWarioBoard(void) {
func_8004A140();
func_80049F0C();
}

View File

@ -1,6 +1,25 @@
#include "common.h"
#include "28ECA0.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", func_800F65E0_FlyGuyWarioBoard);
void func_800F65E0_FlyGuyWarioBoard(void) {
D_800F8230_FlyGuyWarioBoard = D_800ED5DC;
omInitObjMan(50, 10);
func_800F7FA4_FlyGuyWarioBoard();
func_800F7DF0_FlyGuyWarioBoard();
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
func_8006CEA0();
omAddPrcObj(func_800F742C_FlyGuyWarioBoard, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F7D90_FlyGuyWarioBoard);
if (D_800C597A != 0) {
SetFadeInTypeAndTime(6, 8);
} else {
SetFadeInTypeAndTime(1, 16);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", func_800F66D0_FlyGuyWarioBoard);
@ -18,9 +37,25 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", func_800
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", D_800F820C_FlyGuyWarioBoard);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", func_800F72DC_FlyGuyWarioBoard);
void func_800F72DC_FlyGuyWarioBoard(omObjData* arg0) {
Object* temp_s0 = D_800F8234_FlyGuyWarioBoard;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", func_800F7384_FlyGuyWarioBoard);
temp_s0->unk_30 = ((sinf((arg0->rot.y * 0.0174532925199432955)) * arg0->work[0]) + arg0->trans.y);
arg0->rot.y += 10.0f;
if (arg0->rot.y >= 360.0f) {
arg0->rot.y -= 360.0f;
}
}
void func_800F7384_FlyGuyWarioBoard(omObjData* arg0) {
Object* temp_s0 = D_800F8070_FlyGuyWarioBoard;
temp_s0->unk_30 = ((sinf((arg0->rot.y * 0.0174532925199432955)) * arg0->work[0]) + arg0->trans.y);
arg0->rot.y += 10.0f;
if (arg0->rot.y >= 360.0f) {
arg0->rot.y -= 360.0f;
}
}
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", D_800F8220_FlyGuyWarioBoard);
@ -28,9 +63,31 @@ INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", D_800
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", func_800F742C_FlyGuyWarioBoard);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", func_800F7D14_FlyGuyWarioBoard);
void func_800F7D14_FlyGuyWarioBoard(void) {
if (func_80072718() == 0) {
func_800F8044_FlyGuyWarioBoard();
func_800F7F30_FlyGuyWarioBoard();
func_80054654();
func_80070ED4();
if (D_800F807C_FlyGuyWarioBoard == 0) {
omOvlReturnEx(1);
return;
}
func_8004F284();
func_8004F28C(0x52, D_800F807E_FlyGuyWarioBoard);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", func_800F7D90_FlyGuyWarioBoard);
void func_800F7D90_FlyGuyWarioBoard(omObjData* arg0) {
if (D_800F5144 != 0) {
if (D_800F807C_FlyGuyWarioBoard != 0) {
func_800726AC(6, 8);
} else {
func_800726AC(1, 16);
}
arg0->func_ptr = &func_800F7D14_FlyGuyWarioBoard;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_52_FlyGuyWarioBoard/28ECA0", func_800F7DF0_FlyGuyWarioBoard);

View File

@ -0,0 +1,15 @@
#include "common.h"
void func_800F742C_FlyGuyWarioBoard(void);
void func_800F7DF0_FlyGuyWarioBoard(void);
void func_800F7FA4_FlyGuyWarioBoard(void);
void func_800F7D90_FlyGuyWarioBoard(omObjData*);
void func_800F7F30_FlyGuyWarioBoard(void);
void func_800F8044_FlyGuyWarioBoard(void);
void func_800F7D14_FlyGuyWarioBoard(void);
extern s32 D_800F807C_FlyGuyWarioBoard;
extern s16 D_800F807E_FlyGuyWarioBoard;
extern s32 D_800F807C_FlyGuyWarioBoard;
extern u8 D_800F8230_FlyGuyWarioBoard;
extern Object* D_800F8234_FlyGuyWarioBoard;
extern Object* D_800F8070_FlyGuyWarioBoard;

View File

@ -0,0 +1,10 @@
#include "common.h"
void func_800F66BC_BowserVisitWarioBoard(void);
void func_800F6CE8_BowserVisitWarioBoard(void);
void func_800F6EA0_BowserVisitWarioBoard(void);
void func_800F6E6C_BowserVisitWarioBoard(void);
void func_800F6F40_BowserVisitWarioBoard(void);
void func_800F6C9C_BowserVisitWarioBoard(omObjData*);
void func_800F6C50_BowserVisitWarioBoard(void);
s32 func_8004DBD4(s32, u8);

View File

@ -1,21 +1,156 @@
#include "common.h"
#include "engine/process.h"
#include "292020.h"
void func_800F65E0_MoveDoorsLuigiBoard(void) {
D_800F7820_MoveDoorsLuigiBoard = D_800ED5DC;
omInitObjMan(50, 10);
func_800F765C_MoveDoorsLuigiBoard();
func_800F7528_MoveDoorsLuigiBoard();
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
func_8006CEA0();
omAddPrcObj(func_800F7198_MoveDoorsLuigiBoard, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F74C8_MoveDoorsLuigiBoard);
if (D_800C597A != 0) {
SetFadeInTypeAndTime(6, 8);
} else {
SetFadeInTypeAndTime(1, 16);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F65E0_MoveDoorsLuigiBoard);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F66D0_MoveDoorsLuigiBoard);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F6F14_MoveDoorsLuigiBoard);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F7198_MoveDoorsLuigiBoard);
void func_800F7198_MoveDoorsLuigiBoard(void) {
s8 sp10[3];
s32 temp_v0;
s32 temp_s0;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F744C_MoveDoorsLuigiBoard);
if (D_800C597A == 0) {
func_800421E0();
HuPrcSleep(0x10);
PlaySound(0xDA);
HuPrcSleep(10);
} else {
HuPrcSleep(8);
}
temp_v0 = CreateTextWindow(0x3C, 0x28, 0x11, 7);
if (gPlayers[D_800F7820_MoveDoorsLuigiBoard].coinAmount < 0x14) {
func_8006DA5C(temp_v0, &D_800F7810_MoveDoorsLuigiBoard, 0);
sp10[0] = 0;
} else {
func_8006DA5C(temp_v0, &D_800F7814_MoveDoorsLuigiBoard, 0);
sp10[0] = 1;
}
sp10[2] = 1;
sp10[1] = 1;
LoadStringIntoWindow(temp_v0, (void* )0x1D5, -1, -1);
func_8006E070(temp_v0, 0);
ShowTextWindow(temp_v0);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F74C8_MoveDoorsLuigiBoard);
while (func_8006FCC0(temp_v0) != 0) {
HuPrcVSleep();
}
temp_s0 = func_800F6F14_MoveDoorsLuigiBoard(temp_v0, sp10);
HideTextWindow(temp_v0);
if (temp_s0 == 2) {
D_800F7720_MoveDoorsLuigiBoard = 1;
} else if (temp_s0 == 1) {
temp_v0 = CreateTextWindow(80, 60, 15, 3);
LoadStringIntoWindow(temp_v0, (void* )0x1D7, -1, -1);
func_8006E070(temp_v0, 0);
ShowTextWindow(temp_v0);
func_8004DBD4(temp_v0, D_800F7820_MoveDoorsLuigiBoard);
HideTextWindow(temp_v0);
D_800ED100.boardRam[1] = 0;
} else {
func_80055960(D_800F7820_MoveDoorsLuigiBoard, -0x14);
HuPrcSleep(30);
D_800ED100.boardRam[1] = 1;
temp_v0 = CreateTextWindow(0x50, 0x3C, 0xD, 3);
LoadStringIntoWindow(temp_v0, (void* )0x1D6, -1, -1);
func_8006E070(temp_v0, 0);
ShowTextWindow(temp_v0);
func_8004DBD4(temp_v0, D_800F7820_MoveDoorsLuigiBoard);
HideTextWindow(temp_v0);
func_8004F4D4(D_800F7824_MoveDoorsLuigiBoard, 0, 0);
func_800503B0(D_800F7820_MoveDoorsLuigiBoard, 1);
PlaySound(0xE1);
HuPrcSleep(15);
}
D_800F5144 = 1;
while (1) {
HuPrcVSleep();
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F7528_MoveDoorsLuigiBoard);
void func_800F744C_MoveDoorsLuigiBoard(void) {
if (func_80072718() == 0) {
func_800F76FC_MoveDoorsLuigiBoard();
func_800F7630_MoveDoorsLuigiBoard();
func_80054654();
func_80070ED4();
if (D_800F7720_MoveDoorsLuigiBoard == 0) {
omOvlReturnEx(1);
return;
}
func_8004F284();
func_8004F28C(85, D_800F7720_MoveDoorsLuigiBoard);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F7630_MoveDoorsLuigiBoard);
void func_800F74C8_MoveDoorsLuigiBoard(omObjData* arg0) {
if (D_800F5144 != 0) {
if (D_800F7720_MoveDoorsLuigiBoard != 0) {
func_800726AC(6, 8);
} else {
func_800726AC(1, 16);
}
arg0->func_ptr = &func_800F744C_MoveDoorsLuigiBoard;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F765C_MoveDoorsLuigiBoard);
void func_800F7528_MoveDoorsLuigiBoard(void) {
func_8003DAA8();
D_800F7824_MoveDoorsLuigiBoard = CreateObject(0x11, D_800F773C_MoveDoorsLuigiBoard);
D_800F7824_MoveDoorsLuigiBoard->coords.x = D_800F7724_MoveDoorsLuigiBoard.x;
D_800F7824_MoveDoorsLuigiBoard->coords.y = D_800F7724_MoveDoorsLuigiBoard.y;
D_800F7824_MoveDoorsLuigiBoard->coords.z = D_800F7724_MoveDoorsLuigiBoard.z;
func_8003E81C(D_800F7824_MoveDoorsLuigiBoard, 1, 2);
D_800F7828_MoveDoorsLuigiBoard = CreateObject(func_80052F04(D_800F7820_MoveDoorsLuigiBoard), D_800C5490[gPlayers[D_800F7820_MoveDoorsLuigiBoard].characterID]);
D_800F7828_MoveDoorsLuigiBoard->coords.x = D_800F7730_MoveDoorsLuigiBoard.x;
D_800F7828_MoveDoorsLuigiBoard->coords.y = D_800F7730_MoveDoorsLuigiBoard.y;
D_800F7828_MoveDoorsLuigiBoard->coords.z = D_800F7730_MoveDoorsLuigiBoard.z;
func_8004CCD0(&D_800F7828_MoveDoorsLuigiBoard->coords, &D_800F7824_MoveDoorsLuigiBoard->coords, &D_800F7828_MoveDoorsLuigiBoard->unk_18);
func_8004CCD0(&D_800F7824_MoveDoorsLuigiBoard->coords, &D_800F7828_MoveDoorsLuigiBoard->coords, &D_800F7824_MoveDoorsLuigiBoard->unk_18);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_55_MoveDoorsLuigiBoard/292020", func_800F76FC_MoveDoorsLuigiBoard);
void func_800F7630_MoveDoorsLuigiBoard(void) {
DestroyObject(D_800F7828_MoveDoorsLuigiBoard);
DestroyObject(D_800F7824_MoveDoorsLuigiBoard);
}
void func_800F765C_MoveDoorsLuigiBoard(void) {
func_800178A0(1);
func_80017660(0U, 0.0f, 0.0f, 320.0f, 240.0f);
func_800176C4(0U, 640.0f, 480.0f, 511.0f, 640.0f, 480.0f, 511.0f);
LoadBackgroundData(&D_FE2310);
LoadBackgroundIndex(41);
}
void func_800F76FC_MoveDoorsLuigiBoard(void) {
func_8004A140();
func_80049F0C();
}

View File

@ -0,0 +1,27 @@
#include "common.h"
s32 func_800F6F14_MoveDoorsLuigiBoard(s32, s8*);
void func_8004DBD4(s32, u8);
void func_800F7198_MoveDoorsLuigiBoard(void);
void func_800F7528_MoveDoorsLuigiBoard(void);
void func_800F765C_MoveDoorsLuigiBoard(void);
void func_800F74C8_MoveDoorsLuigiBoard(omObjData*);
void func_800F7630_MoveDoorsLuigiBoard(void);
void func_800F76FC_MoveDoorsLuigiBoard(void);
void func_800F744C_MoveDoorsLuigiBoard(void);
extern u8 D_800F7820_MoveDoorsLuigiBoard;
extern s16 D_800ED156;
extern s32 D_800F7720_MoveDoorsLuigiBoard;
extern char D_800F7810_MoveDoorsLuigiBoard;
extern char D_800F7814_MoveDoorsLuigiBoard;
extern u8 D_800F7820_MoveDoorsLuigiBoard;
extern s32 D_800F7720_MoveDoorsLuigiBoard;
extern s32 D_800F7720_MoveDoorsLuigiBoard;
extern omObjData* D_800C5490[];
extern Vec3f D_800F7724_MoveDoorsLuigiBoard;
extern Vec3f D_800F7730_MoveDoorsLuigiBoard;
extern s32 D_800F773C_MoveDoorsLuigiBoard[];
extern u8 D_800F7820_MoveDoorsLuigiBoard;
extern Object* D_800F7824_MoveDoorsLuigiBoard;
extern Object* D_800F7828_MoveDoorsLuigiBoard;

View File

@ -1,19 +1,184 @@
#include "common.h"
#include "engine/process.h"
#include "293260.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260", func_800F65E0_BowserToadSwapPlacesMarioBoard);
Vec3f D_800F6DB0_BowserToadSwapPlacesMarioBoard = {0.0f, -190.0f, -500.0f};
Vec3f D_800F6DBC_BowserToadSwapPlacesMarioBoard = {0.0f, -190.0f, -500.0f};
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260", func_800F66AC_BowserToadSwapPlacesMarioBoard);
s32 D_800F6DC8_BowserToadSwapPlacesMarioBoard[] = {0x00000001, 0x000A006A};
s32 D_800F6DD0_BowserToadSwapPlacesMarioBoard[] = {0x00000001, 0x00070004};
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260", func_800F692C_BowserToadSwapPlacesMarioBoard);
void func_800F65E0_BowserToadSwapPlacesMarioBoard(void) {
D_800F6DF0_BowserToadSwapPlacesMarioBoard = D_800ED5DC;
omInitObjMan(50, 10);
func_800F6CE8_BowserToadSwapPlacesMarioBoard();
func_800F6B1C_BowserToadSwapPlacesMarioBoard();
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
omAddPrcObj(func_800F692C_BowserToadSwapPlacesMarioBoard, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F6AC8_BowserToadSwapPlacesMarioBoard);
SetFadeInTypeAndTime(4, 16);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260", func_800F6A84_BowserToadSwapPlacesMarioBoard);
//very odd need for temps?
void func_800F66AC_BowserToadSwapPlacesMarioBoard(f32 arg0) {
Object* temp_s0;
Object* var_s0;
Vec3f* temp;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260", func_800F6AC8_BowserToadSwapPlacesMarioBoard);
if (D_800ED100.boardRam[0] != 0) {
temp_s0 = D_800F6DF4_BowserToadSwapPlacesMarioBoard;
temp = &D_800F6DBC_BowserToadSwapPlacesMarioBoard;
temp_s0->coords.x = temp->x + (sinf(arg0 * 0.017453292519943295) * 200.0f);
temp_s0 = D_800F6DF4_BowserToadSwapPlacesMarioBoard;
temp_s0->coords.z = (cosf(arg0 * 0.017453292519943295) * 200.0f) + D_800F6DBC_BowserToadSwapPlacesMarioBoard.z;
temp_s0 = D_800F6DF4_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.x = sinf(arg0 * 0.017453292519943295);
temp_s0 = D_800F6DF4_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.z = cosf(arg0 * 0.017453292519943295);
temp_s0 = D_800F6DFC_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.x = sinf(arg0 * 0.017453292519943295);
temp_s0 = D_800F6DFC_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.z = cosf(arg0 * 0.017453292519943295);
temp_s0 = D_800F6DF8_BowserToadSwapPlacesMarioBoard;
temp_s0->coords.x = temp->x - (sinf(arg0 * 0.017453292519943295) * 200.0f);
temp_s0 = D_800F6DF8_BowserToadSwapPlacesMarioBoard;
temp_s0->coords.z = temp->z - (cosf(arg0 * 0.017453292519943295) * 200.0f);
temp_s0 = D_800F6DF8_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.x = -sinf(arg0 * 0.017453292519943295);
var_s0 = D_800F6DF8_BowserToadSwapPlacesMarioBoard;
var_s0->unk_18.z = -cosf(arg0 * 0.017453292519943295);
} else {
temp_s0 = D_800F6DF8_BowserToadSwapPlacesMarioBoard;
temp = &D_800F6DBC_BowserToadSwapPlacesMarioBoard;
temp_s0->coords.x = (sinf(arg0 * 0.017453292519943295) * 200.0f) + temp->x;
temp_s0 = D_800F6DF8_BowserToadSwapPlacesMarioBoard;
temp_s0->coords.z = (cosf(arg0 * 0.017453292519943295) * 200.0f) + D_800F6DBC_BowserToadSwapPlacesMarioBoard.z;
temp_s0 = D_800F6DF8_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.x = sinf(arg0 * 0.017453292519943295);
temp_s0 = D_800F6DF8_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.z = cosf(arg0 * 0.017453292519943295);
temp_s0 = D_800F6DFC_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.x = sinf(arg0 * 0.017453292519943295);
temp_s0 = D_800F6DFC_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.z = cosf(arg0 * 0.017453292519943295);
temp_s0 = D_800F6DF4_BowserToadSwapPlacesMarioBoard;
temp_s0->coords.x = temp->x - (sinf(arg0 * 0.017453292519943295) * 200.0f);
temp_s0 = D_800F6DF4_BowserToadSwapPlacesMarioBoard;
temp_s0->coords.z = D_800F6DBC_BowserToadSwapPlacesMarioBoard.z - (cosf(arg0 * 0.017453292519943295) * 200.0f);
temp_s0 = D_800F6DF4_BowserToadSwapPlacesMarioBoard;
temp_s0->unk_18.x = -sinf(arg0 * 0.017453292519943295);
var_s0 = D_800F6DF4_BowserToadSwapPlacesMarioBoard;
var_s0->unk_18.z = -cosf(arg0 * 0.017453292519943295);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260", func_800F6B1C_BowserToadSwapPlacesMarioBoard);
void func_800F692C_BowserToadSwapPlacesMarioBoard(void) {
s32 i;
f32 var_f20;
HuPrcSleep(26);
PlaySound(226);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260", func_800F6CB0_BowserToadSwapPlacesMarioBoard);
if (D_800ED100.boardRam[0] != 0) {
PlaySound(1131);
} else {
PlaySound(1127);
}
for (var_f20 = 0.0f; var_f20 >= -180.0f; var_f20 -= 5.0f) {
func_800F66AC_BowserToadSwapPlacesMarioBoard(var_f20);
HuPrcVSleep();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260", func_800F6CE8_BowserToadSwapPlacesMarioBoard);
PlaySound(228);
D_800ED100.boardRam[0] = (D_800ED100.boardRam[0] + 1) & 1;
if (D_800ED100.boardRam[0] == 0) {
PlaySound(1126);
func_8003E81C(D_800F6DF8_BowserToadSwapPlacesMarioBoard, 0, 2);
for (i = 0; i < 2; i++) {
func_8004F00C(D_800F6DF8_BowserToadSwapPlacesMarioBoard, 40.0f, -5.0f);
func_8004F044(D_800F6DF8_BowserToadSwapPlacesMarioBoard);
}
} else {
PlaySound(1130);
func_8003E81C(D_800F6DF4_BowserToadSwapPlacesMarioBoard, 0, 2);
HuPrcSleep(40);
}
D_800F5144 = 1;
while(1) {
HuPrcVSleep();
}
}
void func_800F6A84_BowserToadSwapPlacesMarioBoard(void) {
if (func_80072718() == 0) {
func_800F6D88_BowserToadSwapPlacesMarioBoard();
func_800F6CB0_BowserToadSwapPlacesMarioBoard();
func_80054654();
omOvlReturnEx(1);
}
}
void func_800F6AC8_BowserToadSwapPlacesMarioBoard(omObjData* arg0) {
if (D_800F5144 != 0) {
if (D_800ED100.boardRam[0] != 0) {
func_800726AC(3, 16);
} else {
func_800726AC(2, 16);
}
arg0->func_ptr = &func_800F6A84_BowserToadSwapPlacesMarioBoard;
}
}
void func_800F6B1C_BowserToadSwapPlacesMarioBoard(void) {
func_8003DAA8();
D_800F6DFC_BowserToadSwapPlacesMarioBoard = CreateObject(20, NULL);
VEC3F_COPY_TO_OBJ(D_800F6DFC_BowserToadSwapPlacesMarioBoard, D_800F6DB0_BowserToadSwapPlacesMarioBoard);
D_800F6DFC_BowserToadSwapPlacesMarioBoard->xScale = D_800F6DFC_BowserToadSwapPlacesMarioBoard->yScale = D_800F6DFC_BowserToadSwapPlacesMarioBoard->zScale = 1.5f;
func_80025F60(*D_800F6DFC_BowserToadSwapPlacesMarioBoard->unk_3C->unk_40, 0);
D_800F6DF4_BowserToadSwapPlacesMarioBoard = CreateObject(108, D_800F6DC8_BowserToadSwapPlacesMarioBoard);
D_800F6DF4_BowserToadSwapPlacesMarioBoard->coords.x = D_800F6DBC_BowserToadSwapPlacesMarioBoard.x;
D_800F6DF4_BowserToadSwapPlacesMarioBoard->coords.y = D_800F6DBC_BowserToadSwapPlacesMarioBoard.y;
D_800F6DF4_BowserToadSwapPlacesMarioBoard->coords.z = D_800F6DBC_BowserToadSwapPlacesMarioBoard.z + 200.0f;
D_800F6DF4_BowserToadSwapPlacesMarioBoard->xScale = D_800F6DF4_BowserToadSwapPlacesMarioBoard->yScale = D_800F6DF4_BowserToadSwapPlacesMarioBoard->zScale = 1.5f;
D_800F6DF8_BowserToadSwapPlacesMarioBoard = CreateObject(7, D_800F6DD0_BowserToadSwapPlacesMarioBoard);
D_800F6DF8_BowserToadSwapPlacesMarioBoard->coords.x = D_800F6DBC_BowserToadSwapPlacesMarioBoard.x;
D_800F6DF8_BowserToadSwapPlacesMarioBoard->coords.y = D_800F6DBC_BowserToadSwapPlacesMarioBoard.y;
D_800F6DF8_BowserToadSwapPlacesMarioBoard->coords.z = D_800F6DBC_BowserToadSwapPlacesMarioBoard.z + 200.0f;
func_800258EC(*D_800F6DF4_BowserToadSwapPlacesMarioBoard->unk_40->unk_40, 0x180, 0x80);
func_800258EC(*D_800F6DF8_BowserToadSwapPlacesMarioBoard->unk_40->unk_40, 0x180, 0x80);
func_80025AD4(*D_800F6DF4_BowserToadSwapPlacesMarioBoard->unk_40->unk_40);
func_80025AD4(*D_800F6DF8_BowserToadSwapPlacesMarioBoard->unk_40->unk_40);
func_800F66AC_BowserToadSwapPlacesMarioBoard(0);
}
void func_800F6CB0_BowserToadSwapPlacesMarioBoard(void) {
DestroyObject(D_800F6DF4_BowserToadSwapPlacesMarioBoard);
DestroyObject(D_800F6DF8_BowserToadSwapPlacesMarioBoard);
DestroyObject(D_800F6DFC_BowserToadSwapPlacesMarioBoard);
}
void func_800F6CE8_BowserToadSwapPlacesMarioBoard(void) {
func_800178A0(1);
func_80017660(0, 0.0f, 0.0f, 320.0f, 240.0f);
func_800176C4(0, 640.0f, 480.0f, 511.0f, 640.0f, 480.0f, 511.0f);
LoadBackgroundData(&D_FE2310);
LoadBackgroundIndex(51);
}
void func_800F6D88_BowserToadSwapPlacesMarioBoard(void) {
func_8004A140();
func_80049F0C();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260", func_800F6D88_BowserToadSwapPlacesMarioBoard);

View File

@ -0,0 +1,21 @@
#include "common.h"
void func_800F6CB0_BowserToadSwapPlacesMarioBoard(void);
void func_800F6D88_BowserToadSwapPlacesMarioBoard(void);
void func_800F66AC_BowserToadSwapPlacesMarioBoard(f32);
void func_800F6A84_BowserToadSwapPlacesMarioBoard(void);
void func_800F692C_BowserToadSwapPlacesMarioBoard(void);
void func_800F6B1C_BowserToadSwapPlacesMarioBoard(void);
void func_800F6CE8_BowserToadSwapPlacesMarioBoard(void);
void func_800F6AC8_BowserToadSwapPlacesMarioBoard(omObjData*);
extern GameStatus D_800ED154;
extern Vec3f D_800F6DB0_BowserToadSwapPlacesMarioBoard;
extern Vec3f D_800F6DBC_BowserToadSwapPlacesMarioBoard;
extern s32 D_800F6DC8_BowserToadSwapPlacesMarioBoard[];
extern s32 D_800F6DD0_BowserToadSwapPlacesMarioBoard[];
extern u8 D_800F6DF0_BowserToadSwapPlacesMarioBoard;
extern Object* D_800F6DF4_BowserToadSwapPlacesMarioBoard;
extern Object* D_800F6DF8_BowserToadSwapPlacesMarioBoard;
extern Object* D_800F6DFC_BowserToadSwapPlacesMarioBoard;

View File

@ -1,17 +1,196 @@
#include "common.h"
#include "engine/process.h"
#include "29AB30.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_60/29AB30", func_800F65E0_name_60);
extern s32 D_800F6E7C_name_60[];
extern s32 D_800F6D30_name_60[];
extern Vec3f D_800F6D50_name_60[];
extern Vec3f D_800F6DB0_name_60[];
extern s32* D_800F6E64_name_60[];
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_60/29AB30", func_800F66C4_name_60);
void func_8004DBD4(s32, u8);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_60/29AB30", func_800F692C_name_60);
void func_800F65E0_name_60(void) {
D_800F6EC0_name_60 = D_800ED5C2[0];
D_800F6EC1_name_60 = D_800ED5DC;
omInitObjMan(0x32, 0xA);
func_800F6B8C_name_60();
func_800F69BC_name_60();
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
func_8006CEA0();
omAddPrcObj(&func_800F66C4_name_60, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F6978_name_60);
SetFadeInTypeAndTime(1, 0x10);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_60/29AB30", func_800F6978_name_60);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_60/29AB30", func_800F69BC_name_60);
void func_800F66C4_name_60(void) {
s16 textWindowID;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_60/29AB30", func_800F6B58_name_60);
func_800421E0();
HuPrcSleep(26);
func_8004F00C(D_800F6EC4_name_60, 0, -3.0f);
func_8004F044(D_800F6EC4_name_60);
PlaySound(117);
HuPrcSleep(10);
textWindowID = CreateTextWindow(80, 60, 12, 3);
LoadStringIntoWindow(textWindowID, (void*)382, -1, -1);
func_8006E070(textWindowID, 0);
ShowTextWindow(textWindowID);
PlaySound(0x432);
func_8004DBD4(textWindowID, D_800F6EC1_name_60);
HideTextWindow(textWindowID);
func_8004CCD0(&D_800F6EC8_name_60->coords , &D_800F32A0->coords, &D_800F6EC8_name_60->unk_18 );
func_8004F4D4(D_800F6EC8_name_60, 0, 0);
func_80060468(0x451, gPlayers[D_800F6EC1_name_60].characterID);
func_80055960(D_800F6EC1_name_60, 20);
HuPrcSleep(40);
func_8003E81C(D_800F6EC8_name_60, 1, 2);
func_8004EE14(0, &D_800F6EC4_name_60->coords, 10, D_800F6EC8_name_60);
HuPrcSleep(10);
func_8004F4D4(D_800F6EC8_name_60, -1, 2);
textWindowID = CreateTextWindow(100, 60, 14, 3);
LoadStringIntoWindow(textWindowID, (void*)383, -1, -1);
func_8006E070(textWindowID, 0);
ShowTextWindow(textWindowID);
PlaySound(0x432);
func_8004DBD4(textWindowID, D_800F6EC1_name_60);
HideTextWindow(textWindowID);
func_8004F4D4(D_800F6EC4_name_60, 2, 2);
func_8004EE14(0, &D_800F6E10_name_60, 10, D_800F6EC4_name_60);
PlaySound(85);
HuPrcSleep(10);
func_8004E3E0(0, &D_800F6E10_name_60, 20, D_800F6EC4_name_60);
PlaySound(85);
HuPrcSleep(20);
D_800F5144 = 1;
while (1) {
HuPrcVSleep();
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_60/29AB30", func_800F6B8C_name_60);
void func_800F692C_name_60(void) {
if (func_80072718() == 0) {
func_800F6D04_name_60();
func_800F6B58_name_60();
func_80054654();
func_80070ED4();
omOvlReturnEx(1);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_60/29AB30", func_800F6D04_name_60);
void func_800F6978_name_60(omObjData* arg0) {
if (D_800F5144 != 0) {
func_800726AC(1, 16);
arg0->func_ptr = &func_800F692C_name_60;
}
}
void func_800F69BC_name_60(void) {
func_8003DAA8();
D_800F6EC4_name_60 = CreateObject(8, &D_800F6E7C_name_60);
D_800F6EC4_name_60->coords.x = D_800F6D50_name_60[D_800F6EC0_name_60].x;
D_800F6EC4_name_60->coords.y = D_800F6D50_name_60[D_800F6EC0_name_60].y;
D_800F6EC4_name_60->coords.z = D_800F6D50_name_60[D_800F6EC0_name_60].z;
D_800F6EC4_name_60->unk_30 = 1000.0f;
func_8004F140(*D_800F6EC4_name_60->unk_3C->unk_40);
D_800F6EC8_name_60 = CreateObject(func_80052F04(D_800F6EC1_name_60), D_800F6E64_name_60[gPlayers[D_800F6EC1_name_60].characterID]);
D_800F6EC8_name_60->coords.x = D_800F6DB0_name_60[D_800F6EC0_name_60].x;
D_800F6EC8_name_60->coords.y = D_800F6DB0_name_60[D_800F6EC0_name_60].y;
D_800F6EC8_name_60->coords.z = D_800F6DB0_name_60[D_800F6EC0_name_60].z;
func_80021B14(*D_800F6EC8_name_60->unk_3C->unk_40, gPlayers[D_800F6EC1_name_60].characterID, 0x80);
func_8004CCD0(&D_800F6EC4_name_60->coords, &D_800F6EC8_name_60->coords, &D_800F6EC4_name_60->unk_18);
func_8004CCD0(&D_800F6EC8_name_60->coords, &D_800F6EC4_name_60->coords, &D_800F6EC8_name_60->unk_18);
}
void func_800F6B58_name_60(void) {
DestroyObject((Object*) D_800F6EC4_name_60);
DestroyObject((Object*) D_800F6EC8_name_60);
func_8004F1D0();
}
void func_800F6B8C_name_60(void) {
s32 var_a0;
func_800178A0(1);
func_80017660(0, 0.0f, 0.0f, 320.0f, 240.0f);
func_800176C4(0, 640.0f, 480.0f, 511.0f, 640.0f, 480.0f, 511.0f);
LoadBackgroundData(&D_FE2310);
switch (D_800F6EC0_name_60) {
case 1:
if (gPlayers[D_800F6EC1_name_60].curChainIndex == 2) {
var_a0 = 12;
} else {
var_a0 = 9;
}
break;
case 3:
switch (gPlayers[D_800F6EC1_name_60].curChainIndex) {
case 2:
var_a0 = 29;
break;
case 3:
var_a0 = 33;
break;
case 8:
var_a0 = 31;
break;
case 1:
var_a0 = 32;
break;
case 0:
default:
var_a0 = 30;
break;
}
break;
default:
var_a0 = D_800F6D30_name_60[D_800F6EC0_name_60];
}
LoadBackgroundIndex(var_a0);
}
void func_800F6D04_name_60(void) {
func_8004A140();
func_80049F0C();
}
s32 D_800F6D30_name_60[] = {0x00000002, 0x00000009, 0x00000014, 0x0000001D, 0x00000029, 0x00000031, 0x0000003A, 0x00000047};
Vec3f D_800F6D50_name_60[] = {
{-80.0f, 0.0f, 1310.0f},
{-80.0f, 0.0f, 1310.0f},
{-80.0f, 0.0f, 1310.0f},
{-80.0f, 0.0f, 1310.0f},
{-80.0f, 0.0f, 1310.0f},
{-80.0f, 0.0f, 1310.0f},
{-80.0f, 0.0f, 1310.0f},
{-80.0f, 0.0f, 1310.0f}
};
Vec3f D_800F6DB0_name_60[] = {
{80.0f, 0.0f, 1520.0f},
{80.0f, 0.0f, 1520.0f},
{80.0f, 0.0f, 1520.0f},
{80.0f, 0.0f, 1520.0f},
{80.0f, 0.0f, 1520.0f},
{80.0f, 0.0f, 1520.0f},
{80.0f, 0.0f, 1520.0f},
{80.0f, 0.0f, 1520.0f},
};
Vec3f D_800F6E10_name_60 = {-500.0f, 0.0f, 1310.0f};
s32 D_800F6E1C_name_60[] = { 0x00000002, 0x00010039, 0x00010001 };
s32 D_800F6E28_name_60[] = { 0x00000002, 0x00020039, 0x00020001 };
s32 D_800F6E34_name_60[] = { 0x00000002, 0x00060039, 0x00060001 };
s32 D_800F6E40_name_60[] = { 0x00000002, 0x00030039, 0x00030001 };
s32 D_800F6E4C_name_60[] = { 0x00000002, 0x00040039, 0x00040001 };
s32 D_800F6E58_name_60[] = { 0x00000002, 0x00050039, 0x00050001 };
s32* D_800F6E64_name_60[] = { D_800F6E1C_name_60, D_800F6E28_name_60, D_800F6E34_name_60, D_800F6E40_name_60, D_800F6E4C_name_60, D_800F6E58_name_60 };
s32 D_800F6E7C_name_60[] = { 0x00000003, 0x000A0072, 0x000A0073, 0x000A0074, 0x00000000 };

View File

@ -0,0 +1,20 @@
#include "common.h"
void func_800F692C_name_60(void);
void func_800F6B58_name_60(void);
void func_800F6D04_name_60(void);
void func_800F69BC_name_60(void);
void func_800F6B8C_name_60(void);
void func_800F66C4_name_60(void);
void func_800F6978_name_60(omObjData*);
extern u8 D_800F6EC0_name_60;
extern u8 D_800F6EC1_name_60;
extern Vec3f D_800F6E10_name_60;
extern Object* D_800F6EC4_name_60;
extern Object* D_800F6EC8_name_60;
extern s32 D_800F6ECC_name_60;
extern s32 D_800F6ED0_name_60;
extern s32 D_800F6ED4_name_60;
extern s32 D_800F6ED8_name_60;
extern s32 D_800F6EDC_name_60;

View File

@ -1,11 +1,79 @@
#include "common.h"
#include "29B410.h"
#include "engine/process.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800F65E0_OpeningScene);
void func_800F65E0_OpeningScene(void) {
Vec3s sp18;
Vec3s sp28;
omObjData* temp_s0;
func_80062450();
D_800C5972 = 0;
D_800C59A6 = -1;
D_800F64F2 = 1;
InitCameras(1);
func_80029090(1);
func_8001DE70(25);
omInitObjMan(50, 20);
func_80060088();
func_8006CEA0();
func_8005AD18();
sp18 = D_800FD4A0_OpeningScene;
sp28 = D_800FD4AC_OpeningScene;
func_800FB670_OpeningScene(&sp18, &sp28, 1200.0f);
func_800FB7F8_OpeningScene(20.0f, 80.0f, 8000.0f);
temp_s0 = omAddObj(0x7FDA, 0, 0, -1, func_800FB810_OpeningScene);
omSetStatBit(temp_s0, 0xA0);
func_800FB810_OpeningScene(temp_s0);
func_80023448(3);
func_800234B8(0, 0x78, 0x78, 0x78);
func_800234B8(1, 0x40, 0x40, 0x60);
func_80023504(1, 50.0f, 50.0f, 100.0f);
func_800234B8(2, 0, 0, 0);
func_800234B8(3, 0, 0, 0);
D_800FD730_OpeningScene[1] = omAddPrcObj(&func_800FB86C_OpeningScene, 0x300, 0x2000, 0);
}
//what section are the D_80110450 ish addresses?
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800F6788_OpeningScene);
// void func_800F6788_OpeningScene(omObjData* arg0) {
// s32 pad[2]; //required to match stack alignment
// if (arg0->work[1] != 0) {
// arg0->work[1]--;
// return;
// }
// arg0->work[0]++;
// if (arg0->work[0] >= 7) {
// arg0->work[0] = 0;
// }
// arg0->work[1] = 0x50;
// func_800FBD48_OpeningScene(D_80110460_OpeningScene, D_80110448_OpeningScene[arg0->work[0]] + 12, 40.0f);
// }
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800F6804_OpeningScene);
// omObjData* func_800F6804_OpeningScene(unkGlobalStruct_00* arg0) {
// omObjData* temp_s0;
// temp_s0 = omAddObj(0x1000, 0, 0, -1, &func_800F6788_OpeningScene);
// omSetRot(temp_s0, 0, 0, 0);
// omSetSca(temp_s0, arg0->unk_18 + arg0->unk_0C, arg0->unk_1C + arg0->unk_10, arg0->unk_20.floatingPoint + arg0->unk_14);
// omSetTra(temp_s0, D_80110450_OpeningScene->unk_0C, D_80110450_OpeningScene->unk_10, D_80110450_OpeningScene->unk_14);
// temp_s0->work[0] = 2;
// temp_s0->work[1] = 48;
// temp_s0->unk_50 = arg0;
// return temp_s0;
// }
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800F68D4_OpeningScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800F69F0_OpeningScene);
@ -96,7 +164,11 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FB67
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FB79C_OpeningScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FB7F8_OpeningScene);
void func_800FB7F8_OpeningScene(f32 x, f32 y, f32 z) {
D_800FD6F4_OpeningScene.x = x;
D_800FD6F4_OpeningScene.y = y;
D_800FD6F4_OpeningScene.z = z;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FB810_OpeningScene);
@ -109,7 +181,13 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FB91
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FB97C_OpeningScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FBAC0_OpeningScene);
s32 func_800FBAC0_OpeningScene(void) {
func_800178A0(1);
func_800FC394_OpeningScene(0);
LoadBackgroundData(&D_FE2310);
func_8004B1B8();
return 1;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FBAFC_OpeningScene);
@ -117,13 +195,22 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FBB9
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FBC9C_OpeningScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FBCC0_OpeningScene);
Object* func_800FBCC0_OpeningScene(s32 arg0, void* arg1) {
Object* temp_v0;
temp_v0 = CreateObject(arg0, arg1);
func_80025F60(*temp_v0->unk_3C->unk_40, 0x800);
func_80025F60(*temp_v0->unk_40->unk_40, 0x400);
return temp_v0;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FBD14_OpeningScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FBD48_OpeningScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FBD7C_OpeningScene);
void func_800FBD7C_OpeningScene(void) {
func_8004E184();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FBD98_OpeningScene);
@ -163,7 +250,10 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FC6B
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FC724_OpeningScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FC758_OpeningScene);
void func_800FC758_OpeningScene(void) {
func_800FC724_OpeningScene();
HuPrcSleep(2);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FC77C_OpeningScene);
@ -183,4 +273,6 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FCE9
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FCECC_OpeningScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_61_OpeningScene/29B410", func_800FCEE8_OpeningScene);
void func_800FCEE8_OpeningScene(f32 arg0) {
D_800FD794_OpeningScene = arg0;
}

View File

@ -0,0 +1,24 @@
#include "common.h"
void func_800FB670_OpeningScene(Vec3s*, Vec3s*, f32);
void func_800FB7F8_OpeningScene(f32, f32, f32);
void func_800FB810_OpeningScene(omObjData*);
extern s16 D_800C5972;
extern s16 D_800C59A6;
extern s8 D_800F64F2;
extern Vec3s D_800FD4A0_OpeningScene;
extern Vec3s D_800FD4AC_OpeningScene;
extern Process* D_800FD730_OpeningScene[];
void func_800FB86C_OpeningScene(void);
void func_800FBD48_OpeningScene(s32, s32, f32);
extern s32 D_80110448_OpeningScene[];
extern s32 D_80110460_OpeningScene;
extern unkGlobalStruct_00* D_80110450_OpeningScene;
void func_800F6788_OpeningScene(omObjData*);
s32 func_800FC394_OpeningScene(s32);
void func_8004B1B8(void);
s32 func_8004E184(void);
s32 func_800FC724_OpeningScene(void);
extern Vec3f D_800FD6F4_OpeningScene;
extern f32 D_800FD794_OpeningScene;

View File

@ -0,0 +1,112 @@
#include "common.h"
#include "2A2500.h"
//what memory region does D_801102B0_BoardIntro belong to?
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F65E0_BoardIntro);
// void func_800F65E0_BoardIntro(void) {
// D_801102B0_BoardIntro = D_800ED5C2;
// omInitObjMan(50, 10);
// func_800F9200_BoardIntro();
// func_800F906C_BoardIntro();
// func_8006CEA0();
// omAddPrcObj(func_800F8DC8_BoardIntro, 0x300, 0x2000, 0);
// omAddObj(0x1000, 0, 0, -1, &func_800F8FEC_BoardIntro);
// }
void func_800F6660_BoardIntro(s32 arg0, s32 arg1) {
playerMain* temp_s1;
playerMain* temp_s2;
playerMain* temp_v0;
temp_s1 = GetPlayerStruct(arg0);
temp_s2 = GetPlayerStruct(arg1);
temp_v0 = HuMemDirectMalloc(sizeof(playerMain));
bcopy(temp_s1, temp_v0, sizeof(playerMain));
bcopy(temp_s2, temp_s1, sizeof(playerMain));
bcopy(temp_v0, temp_s2, sizeof(playerMain));
HuMemDirectFree(temp_v0);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F66E8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F677C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F67F8_BoardIntro);
//D_801102B0_BoardIntro symbol again
// s32 func_800F67F8_BoardIntro(s32 arg0) {
// return func_8004F628(D_800FD59C_ovl62[(D_801102B0_BoardIntro * 2) + arg0], 0xA, D_800FD554_BoardIntro[(D_801102B0_BoardIntro * 2) + arg0].unk0, D_800FD554_BoardIntro[(D_801102B0_BoardIntro * 2) + arg0].unk2);
// }
s32 func_800F684C_BoardIntro(void) {
return 0;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F6854_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F69F8_BoardIntro);
void func_800F6B18_BoardIntro(void) {
s32 sp10[2];
f32 var_f20;
func_80060128(57);
HuPrcSleep(10);
sp10[0] = func_800F67F8_BoardIntro(0);
for (var_f20 = 0.0f; var_f20 <= 1.0f; var_f20 += 0.1f) {
func_8004F7C0(sp10[0], 1.0f, var_f20);
HuPrcVSleep();
}
func_8004F7C0(sp10[0], 1.0f, 1.0f);
HuPrcSleep(34);
sp10[1] = func_800F67F8_BoardIntro(1);
HuPrcSleep(42);
func_800F684C_BoardIntro();
HuPrcSleep(60);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F6BE4_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F6DAC_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", D_800FD9C0_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", D_800FD9C4_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F7054_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F7330_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F73FC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F7538_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F7858_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F7988_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F7B5C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F8090_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F8334_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F8DC8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F8F38_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F8FEC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F906C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F9098_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F9200_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", func_800F9298_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A2500", D_800FD9E8_BoardIntro);

View File

@ -0,0 +1,22 @@
#include "common.h"
void func_800F8DC8_BoardIntro(void);
void func_800F906C_BoardIntro(void);
void func_800F9200_BoardIntro(void);
void func_8004F7C0(s32, f32, f32);
s32 func_800F67F8_BoardIntro(s32);
s32 func_800F684C_BoardIntro(void);
void func_800F8FEC_BoardIntro(void);
extern u8 D_801102B0_BoardIntro;
extern s32 D_800FCD2C_BoardIntro[];
extern s16 D_800FDA60_ovl62[];
typedef struct testing {
s16 unk0;
s16 unk2;
} testing;
s32 func_8004F628(s32, s32, s16, s16);
extern testing D_800FD554_BoardIntro[];
extern s32 D_800FD59C_ovl62[2];
extern u8 D_801102B0_BoardIntro;

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A51E0", func_800F92C0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A51E0", func_800F93AC_BoardIntro);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5420", func_800F9500_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5420", func_800F959C_BoardIntro);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5840", func_800F9920_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5840", func_800F9BCC_BoardIntro);

View File

@ -0,0 +1,15 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5E50", func_800F9F30_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5E50", func_800F9F6C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5E50", func_800F9F98_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5E50", func_800FA0C0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5E50", func_800FA104_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5E50", func_800FA168_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A5E50", func_800FA214_BoardIntro);

View File

@ -0,0 +1,27 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FA5E0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FA62C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FA660_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FA72C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FA770_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FA7D4_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FA908_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FA970_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FA9D4_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FACAC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FACF0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FAD50_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6500", func_800FADFC_BoardIntro);

View File

@ -0,0 +1,11 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6EA0", func_800FAF80_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6EA0", func_800FB030_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6EA0", func_800FB20C_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6EA0", D_800FDA20_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A6EA0", D_800FDA2C_BoardIntro);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A74F0", func_800FB5D0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A74F0", func_800FB66C_BoardIntro);

View File

@ -0,0 +1,25 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FB7C0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FB9CC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FBAA8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FBBB8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FC018_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FC1CC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FC460_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FC620_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FC64C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FC67C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FC768_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_BoardIntro/2A76E0", func_800FCD2C_BoardIntro);

View File

@ -1,61 +0,0 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F65E0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F6660_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F66E8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F677C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F67F8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F684C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F6854_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F69F8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F6B18_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F6BE4_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F6DAC_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", D_800FD9C0_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", D_800FD9C4_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F7054_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F7330_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F73FC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F7538_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F7858_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F7988_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F7B5C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F8090_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F8334_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F8DC8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F8F38_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F8FEC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F906C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F9098_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F9200_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", func_800F9298_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_board_intro/2A2500", D_800FD9E8_BoardIntro);

View File

@ -1,5 +0,0 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A51E0", func_800F92C0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A51E0", func_800F93AC_BoardIntro);

View File

@ -1,5 +0,0 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5420", func_800F9500_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5420", func_800F959C_BoardIntro);

View File

@ -1,5 +0,0 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5840", func_800F9920_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5840", func_800F9BCC_BoardIntro);

View File

@ -1,15 +0,0 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5E50", func_800F9F30_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5E50", func_800F9F6C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5E50", func_800F9F98_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5E50", func_800FA0C0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5E50", func_800FA104_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5E50", func_800FA168_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A5E50", func_800FA214_BoardIntro);

View File

@ -1,27 +0,0 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FA5E0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FA62C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FA660_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FA72C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FA770_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FA7D4_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FA908_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FA970_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FA9D4_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FACAC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FACF0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FAD50_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6500", func_800FADFC_BoardIntro);

View File

@ -1,11 +0,0 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6EA0", func_800FAF80_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6EA0", func_800FB030_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A6EA0", func_800FB20C_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_board_intro/2A6EA0", D_800FDA20_BoardIntro);
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_62_board_intro/2A6EA0", D_800FDA2C_BoardIntro);

View File

@ -1,5 +0,0 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A74F0", func_800FB5D0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A74F0", func_800FB66C_BoardIntro);

View File

@ -1,25 +0,0 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FB7C0_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FB9CC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FBAA8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FBBB8_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FC018_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FC1CC_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FC460_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FC620_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FC64C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FC67C_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FC768_BoardIntro);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_62_board_intro/2A76E0", func_800FCD2C_BoardIntro);

View File

@ -1,8 +1,41 @@
#include "common.h"
#include "2B74A0.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_65_UnknownBooStealScene/2B74A0", func_800F65E0_UnknownBooStealScene);
void func_800F65E0_UnknownBooStealScene(void) {
D_800F9600_UnknownBooStealScene = D_800ED5C0.unk_02;
D_800F9601_UnknownBooStealScene = D_800ED5C0.unk_1C;
if (D_800ED5C0.currentTurn < 10) {
D_800F9602_UnknownBooStealScene = 0;
} else if (D_800ED5C0.currentTurn < 20) {
D_800F9602_UnknownBooStealScene = 1;
} else if (D_800ED5C0.currentTurn < 40) {
D_800F9602_UnknownBooStealScene = 2;
} else {
D_800F9602_UnknownBooStealScene = 3;
}
omInitObjMan(0x32, 0x32);
func_800F922C_UnknownBooStealScene();
func_800F9024_UnknownBooStealScene();
func_800544E4();
func_800546B4(0, gPlayers[0].turn_status);
func_800546B4(1, gPlayers[1].turn_status);
func_800546B4(2, gPlayers[2].turn_status);
func_800546B4(3, gPlayers[3].turn_status);
func_8006CEA0();
omAddPrcObj(func_800F884C_UnknownBooStealScene, 0x300, 0, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F8F18_UnknownBooStealScene);
if (D_800C597A != 0) {
SetFadeInTypeAndTime(6, 8);
} else {
SetFadeInTypeAndTime(1, 0x10);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_65_UnknownBooStealScene/2B74A0", func_800F6734_UnknownBooStealScene);
s32 func_800F6734_UnknownBooStealScene(void) {
return rand8() / 256.0f * 100.0f;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_65_UnknownBooStealScene/2B74A0", func_800F6788_UnknownBooStealScene);
@ -30,7 +63,16 @@ INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_65_UnknownBooStealScene/2B74A0", D
INCLUDE_RODATA("asm/nonmatchings/overlays/ovl_65_UnknownBooStealScene/2B74A0", D_800F95C4_UnknownBooStealScene);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_65_UnknownBooStealScene/2B74A0", func_800F8F78_UnknownBooStealScene);
void func_800F8F78_UnknownBooStealScene(omObjData* arg0) {
Object* temp_s0;
temp_s0 = D_800F9604_UnknownBooStealScene;
temp_s0->unk_30 = sinf(arg0->rot.y * 0.0174532925199432955)* 20.0f + 150.0f;
arg0->rot.y += 2.0f;
if (arg0->rot.y >= 360.0f) {
arg0->rot.y -= 360.0f;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_65_UnknownBooStealScene/2B74A0", func_800F9024_UnknownBooStealScene);

View File

@ -0,0 +1,11 @@
#include "common.h"
extern u8 D_800F9600_UnknownBooStealScene;
extern u8 D_800F9601_UnknownBooStealScene;
extern s8 D_800F9602_UnknownBooStealScene;
extern Object* D_800F9604_UnknownBooStealScene;
void func_800F884C_UnknownBooStealScene(void);
void func_800F9024_UnknownBooStealScene(void);
void func_800F922C_UnknownBooStealScene(void);
void func_800F8F18_UnknownBooStealScene(void);

View File

@ -1,3 +1,14 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BA9E0", func_800F65E0_LogosSequenceCopy);
void func_800F6AD4_LogosSequenceCopy(void);
void func_800F6E10_LogosSequenceCopy(void);
board_overlay_entrypoint D_800F6F50_LogosSequenceCopy[] = {
{0, func_800F6AD4_LogosSequenceCopy},
{1, func_800F6E10_LogosSequenceCopy},
{-1, 0},
};
void func_800F65E0_LogosSequenceCopy(void) {
ExecBoardScene(D_800F6F50_LogosSequenceCopy, D_800C597A);
}

View File

@ -1,18 +1,83 @@
#include "common.h"
#include "logos.h"
s32 D_800F6F70_LogosSequenceCopy = 0;
s32 D_800F6F74_LogosSequenceCopy[] = {0x00110000, 0x00110001, 0x00110002};
void func_800F6610_LogosSequenceCopy(unkLogoStruct* arg0, s16 arg1, s16 arg2, s16 arg3, u16 arg4) {
void* temp_s6;
s32 i;
u8 temp_s0;
temp_s6 = ReadMainFS(0x110005);
sprintf(D_800F5038, "%02d", arg2);
for (i = 0; i < 2; i++) {
temp_s0 = D_800F5038[i];
arg0->unkC[arg1] = func_800678A4(temp_s6);
func_80067208(arg0->unkA, arg1, arg0->unkC[arg1], temp_s0 - 48);
func_80067384(arg0->unkA, arg1, 0xA);
func_800674BC(arg0->unkA, arg1, 0x1000);
func_80066DC4(arg0->unkA, arg1, arg3, arg4);
func_80067558(arg0->unkA, arg1, 255, 255, 255, 255);
arg1 += 1;
arg3 += 0x10;
}
FreeMainFS(temp_s6);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BAA10", func_800F6610_LogosSequenceCopy);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BAA10", func_800F6778_LogosSequenceCopy);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BAA10", func_800F6AD4_LogosSequenceCopy);
void func_800F6AD4_LogosSequenceCopy(void) {
s32 var_s0;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BAA10", func_800F6BA0_LogosSequenceCopy);
var_s0 = 1;
omInitObjMan(0xA, 0xA);
LeoDriveExistBool = func_800827C0() == 1;
if (LeoDriveExistBool != 0) {
D_800F6F70_LogosSequenceCopy = LeoDriveExist(0x95, 0x96, &D_800ECDE8, 8);
if (D_800F6F70_LogosSequenceCopy != 0) {
LeoDriveExistBool = 0;
} else if (osGetMemSize() < 0x800000) { //if memsize is less than 8MB
omAddPrcObj(func_800F6778_LogosSequenceCopy, 0x5000, 0, 0);
D_800F6F70_LogosSequenceCopy = 0x2C;
var_s0 = 0;
}
}
if (var_s0 != 0) {
omOvlGotoEx(0x66, 0, 0x91);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BAA10", func_800F6C1C_LogosSequenceCopy);
void func_800F6BA0_LogosSequenceCopy(void) {
unkLogoStruct sp10; //could be incorrect
s32 mesg;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BAA10", func_800F6C6C_LogosSequenceCopy);
osCreateMesgQueue(&D_800F7980_LogosSequenceCopy, &D_800F7998_LogosSequenceCopy, 1);
func_800639F8(&sp10, &D_800F7980_LogosSequenceCopy, 2);
osRecvMesg(&D_800F7980_LogosSequenceCopy, (OSMesg) &mesg, 1);
if (mesg == 2) {
func_8007FEA4();
}
func_80063A5C(&sp10);
osDestroyThread(NULL);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BAA10", func_800F6C94_LogosSequenceCopy);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BAA10", func_800F6C1C_LogosSequenceCopy); //https://decomp.me/scratch/rZb4x
void func_800F6C6C_LogosSequenceCopy(void) {
osSendMesg(&D_800F7980_LogosSequenceCopy, 0, 1);
}
s32 func_800F6C94_LogosSequenceCopy(s32 arg0, s32 arg1, s32 arg2) {
someStruct sp18;
s32 sp38;
func_800819F0(&sp18, 0, arg1, arg0, arg2, &D_800F6F90_LogosSequenceCopy);
osRecvMesg(&D_800F6F90_LogosSequenceCopy, (OSMesg) &sp38, 1);
return sp38;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_67_LogosSequenceCopy/2BAA10", func_800F6CEC_LogosSequenceCopy);

View File

@ -0,0 +1,40 @@
#include "PR/os.h"
#include "common.h"
//typing issues all over 2BAA10.c where this header file is included
//global functions defined in this file are not typed correctly, fix later (before removing definitions from this file)
extern board_overlay_entrypoint D_800F6F50_LogosSequenceCopy[];
typedef struct unkLogoStruct {
s16 unk0;
s16 unk2;
s32 unk4;
s16 unk8;
s16 unkA;
s16* unkC;
} unkLogoStruct;
typedef struct someStruct {
char unk_00[0x20];
} someStruct;
void func_800F6AD4_LogosSequenceCopy(void);
void func_800F6E10_LogosSequenceCopy(void);
void func_800819F0(someStruct*, s32, s32, s32, s32, OSMesgQueue*);
s32 LeoDriveExist(s32, s32, s32*, s32);
s32 func_800827C0(void);
void func_800F6778_LogosSequenceCopy(void);
extern s32 LeoDriveExistBool;
extern s32 D_800ECDE8;
extern s32 D_800F6F70_LogosSequenceCopy;
void func_80063A5C(void*);
void func_8007FEA4(void);
extern char D_800F5038[];
extern const char D_800F6F80_LogosSequenceCopy[];
extern OSMesgQueue D_800F7980_LogosSequenceCopy;
extern OSMesgQueue D_800F6F90_LogosSequenceCopy;
extern OSMesg D_800F7998_LogosSequenceCopy;

View File

@ -1,3 +1,12 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_68_SaveDataCorrupted/2BB390", func_800F65E0_SaveDataCorrupted);
void func_800F67C0_SaveDataCorrupted(void);
board_overlay_entrypoint D_800F6800_SaveDataCorrupted[] = {
{0, &func_800F67C0_SaveDataCorrupted},
{-1, 0},
};
void func_800F65E0_SaveDataCorrupted(void) {
ExecBoardScene(D_800F6800_SaveDataCorrupted, D_800C597A);
}

View File

@ -0,0 +1,3 @@
#include "common.h"
void func_800F67C0_SaveDataCorrupted(void);

View File

@ -1,5 +1,56 @@
#include "common.h"
#include "2BB390.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_68_SaveDataCorrupted/2BB3C0", func_800F6610_SaveDataCorrupted);
typedef struct unk_800F5460 {
/* 0x00 */ s16 unk_00;
/* 0x00 */ s16 unk_02;
/* 0x00 */ s16 unk_04;
/* 0x00 */ s16 unk_06;
} unk_800F5460;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_68_SaveDataCorrupted/2BB3C0", func_800F67C0_SaveDataCorrupted);
extern u16 D_800F5460[];
void func_800F6610_SaveDataCorrupted(void) {
s16 temp_s2;
s16 new_var;
func_8006CEA0();
temp_s2 = func_8006D010(0x34, 0x41, 0xD9, 0x22, 0, 0);
func_8006E154(temp_s2, 0xFF);
func_800717C0(temp_s2);
LoadStringIntoWindow(temp_s2, (void*)0x38, -1, -1);
func_8006E070(temp_s2, 0);
new_var = func_8006D010(0x3E, 0x8C, 0xC3, 0x14, 0, 0);
func_8006E154(new_var, 0xFF);
func_800717C0(new_var);
LoadStringIntoWindow(new_var, (void*)0x39, -1, -1);
func_8006E070(new_var, 0);
SetFadeInTypeAndTime(0xFF, 8);
while (func_80072718() != 0) {
HuPrcVSleep();
}
do {
HuPrcVSleep();
} while (((((D_800F5460[0] | D_800F5460[1]) | D_800F5460[2]) | D_800F5460[3]) & 0xF00F) == 0);
func_800726AC(0xFF, 8);
while (func_80072718() != 0) {
HuPrcVSleep();
}
func_80070D90(temp_s2);
func_80070D90(new_var);
func_80070ED4();
omOvlGotoEx(0x67, 0, 0x91);
omOvlKill();
HuPrcVSleep();
}
void func_800F67C0_SaveDataCorrupted(void) {
omInitObjMan(0xA, 0xA);
func_80060088();
omAddPrcObj(&func_800F6610_SaveDataCorrupted, 0x1005, 0, 0);
}

View File

@ -1,3 +1,12 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5C0", func_800F65E0_GameModeOverworld);
void func_800F6610_GameModeOverworld(void);
board_overlay_entrypoint D_800F9930_GameModeOverworld[] = {
{0, &func_800F6610_GameModeOverworld},
{-1, NULL},
};
void func_800F65E0_GameModeOverworld(void) {
ExecBoardScene(D_800F9930_GameModeOverworld, D_800C597A);
}

View File

@ -0,0 +1,30 @@
#include "common.h"
extern s32 D_800FA1FC_GameModeOverworld;
extern u8 D_800FA202_GameModeOverworld;
extern s16 D_800FA1C0_GameModeOverworld;
extern s16 D_800FA1C2_GameModeOverworld;
extern u8 D_800FA204_GameModeOverworld;
extern f32 D_800FA1D8_GameModeOverworld;
extern s8 D_800F3843[];
extern s16 D_800EDEB4[];
extern s8 D_800ECC22;
extern s16 D_800ED144;
extern s8 D_800F64F2;
extern s16 D_800FA1C0_GameModeOverworld;
extern s16 D_800FA1C2_GameModeOverworld;
extern Vec3f D_800FA1C4_GameModeOverworld;
extern Vec3f D_800FA1D0_GameModeOverworld;
extern f32 D_800FA1DC_ovl_69;
extern s16 D_800FA1E2_GameModeOverworld;
extern s32 D_800FA1FC_GameModeOverworld;
extern s8 D_800FA200_GameModeOverworld;
extern u8 D_800FA202_GameModeOverworld;
extern s8 D_800FA203_GameModeOverworld;
extern u8 D_800FA204_GameModeOverworld;
extern s8 D_800FA205_GameModeOverworld;
void func_800F8AB8_GameModeOverworld(omObjData*);
void func_800F6968_GameModeOverworld(void);
void func_800F884C_GameModeOverworld(omObjData*);
void func_800F8B38_GameModeOverworld(void);

View File

@ -1,36 +1,249 @@
#include "common.h"
#include "engine/process.h"
#include "2BB5C0.h"
void func_80025F10(s16, s32);
Object* func_80026A0C(s16, void*);
void func_800F731C_GameModeOverworld(void);
void func_800F86EC_GameModeOverworld(void);
extern char D_800FA180_GameModeOverworld[];
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F6610_GameModeOverworld);
// void func_800F6610_GameModeOverworld(void) { //matches, needs rodata support
// omObjData* temp_s1;
// InitCameras(1);
// func_80029090(1);
// func_8001DE70(0x19);
// omInitObjMan(0x32, 0x14);
// func_80060088();
// func_8006CEA0();
// temp_s1 = omAddObj(0x7FDA, 0, 0, -1, func_800F884C_GameModeOverworld);
// omSetStatBit(temp_s1, 0xA0);
// D_800F64F2 = 1;
// omAddObj(0x2710, 0, 0, -1, &func_800F8AB8_GameModeOverworld);
// D_800EE98C = 7120.0f;
// D_800F6524.x = 54.9103f;
// D_800F6524.y = 59.226612f;
// D_800F6524.z = 61.478203f;
// D_800F33EC.y = 341.0f;
// D_800F33EC.x = 28.0f;
// D_800F33EC.z = 0.0f;
// func_8001D494(0, 20.0f, 80.0f, 13000.0f);
// D_800FA1D0_GameModeOverworld.x = D_800FA1D0_GameModeOverworld.y = D_800FA1D0_GameModeOverworld.z = 0.0f;
// D_800FA1DC_ovl_69 = 2000.0f;
// D_800FA1C4_GameModeOverworld.x = D_800FA1C4_GameModeOverworld.y = D_800FA1C4_GameModeOverworld.z = 0.0f;
// func_8001D494(1, 10.0f, 80.0f, 8000.0f);
// func_800F884C_GameModeOverworld(temp_s1);
// D_800ECC22 = 1;
// func_8005AF60();
// func_80023448(3);
// func_800234B8(0U, 0x78U, 0x78U, 0x78U);
// func_800234B8(1U, 0x40U, 0x40U, 0x60U);
// func_80023504(1, -100.0f, 100.0f, 100.0f);
// func_80023504(2, -100.0f, 100.0f, 100.0f);
// func_800234B8(2U, 0U, 0U, 0U);
// func_800234B8(3U, 0U, 0U, 0U);
// omAddPrcObj(func_800F6968_GameModeOverworld, 0x3F00U, 0x1000, 0);
// D_800FA1C0_GameModeOverworld = 0;
// D_800FA1C2_GameModeOverworld = 0;
// D_800FA1E2_GameModeOverworld = 0;
// D_800FA1FC_GameModeOverworld = -1;
// D_800FA202_GameModeOverworld = 0;
// D_800FA200_GameModeOverworld = 0;
// if ((D_800ED144 >= 0x64) && (IsFlagSet(3) == 0) && (IsFlagSet(0x17) != 0)) {
// SetBoardFeatureFlag(3);
// SetBoardFeatureFlag(4);
// }
// D_800FA203_GameModeOverworld = IsFlagSet(3);
// D_800FA204_GameModeOverworld = IsFlagSet(4);
// D_800FA205_GameModeOverworld = IsFlagSet(0x18);
// if (D_800FA204_GameModeOverworld != 0) {
// D_800FA1E2_GameModeOverworld = 1;
// }
// ClearBoardFeatureFlag(0);
// ClearBoardFeatureFlag(0x29);
// ClearBoardFeatureFlag(0x2B);
// ClearBoardFeatureFlag(0x2C);
// if (IsFlagSet(0x36) != 0) {
// ClearBoardFeatureFlag(0x36);
// func_80070ED4();
// omOvlReturnEx(1);
// }
// }
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F6968_GameModeOverworld);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F6F14_GameModeOverworld);
void func_800F6F14_GameModeOverworld(void) {
f32 var_f20, var_f24;
u16 temp_s1;
temp_s1 = LoadFormFile(0x9001A, 0x299);
func_80026040(temp_s1);
func_80025F10(temp_s1, 1);
var_f20 = 0.0f;
var_f24 = var_f20;
while (1) {
HuPrcVSleep();
func_80027C1C(temp_s1, var_f24, var_f20, 0x20, 0x20);
var_f20 += 0.5f;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F6FC8_GameModeOverworld);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F7214_GameModeOverworld);
void func_800F7214_GameModeOverworld(void) {
s32 temp_s0;
Vec3f pad;
temp_s0 = LoadFormFile(0x7000A, 0x202B9);
func_80025EB4(temp_s0, 2, 2);
func_80025F10(temp_s0, 1);
pad.x = 291.0f;
pad.y = 0.0f;
pad.z = 2234.0f;
func_80025798(temp_s0, pad.x, pad.y, pad.z);
func_80025830(temp_s0, 3.0f, 3.0f, 3.0f);
func_800257E4(temp_s0, 0.0f, 45.0f, 0.0f);
omAddPrcObj(func_800F731C_GameModeOverworld, 0x3F00, 0x1000, 0);
func_80026A0C(temp_s0, "c100_1-atama")->unk_44 = -20.0f;
while (1) {
HuPrcVSleep();
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F731C_GameModeOverworld);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F7DB8_GameModeOverworld);
void func_800F7DB8_GameModeOverworld(s16 arg0) {
func_80071E80(arg0, 1);
func_80072080(arg0);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F7DF0_GameModeOverworld);
void func_800F7DF0_GameModeOverworld(void) {
HuPrcSleep(0x37);
PlaySound(0);
while (1) {
HuPrcVSleep();
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F7E24_GameModeOverworld);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F86A8_GameModeOverworld);
void func_800F86A8_GameModeOverworld(omObjData* arg0) {
arg0->model[0] = -1;
SetFadeInTypeAndTime(0xFF, 0x10);
arg0->func_ptr = &func_800F86EC_GameModeOverworld;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F86EC_GameModeOverworld);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F8758_GameModeOverworld);
void func_800F86EC_GameModeOverworld(void) {
if (D_800FA1C0_GameModeOverworld == 4) {
func_80070ED4();
if (D_800FA1FC_GameModeOverworld == -1) {
omOvlReturnEx(1);
return;
}
omOvlCallEx(D_800FA1FC_GameModeOverworld, D_800FA202_GameModeOverworld, 0x11);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F87D0_GameModeOverworld);
s32 func_800F8758_GameModeOverworld(u8 arg0) {
if ((D_800EDEB4[arg0] & 0x300) == 0) {
return D_800ECE14[arg0];
}
if ((D_800EDEB4[arg0] & 0x200) != 0) {
return -0x50;
} else {
return -((D_800EDEB4[arg0] & 0x100) != 0) & 0x50;
}
}
s32 func_800F87D0_GameModeOverworld(u8 arg0) {
if ((D_800EDEB4[arg0] & 0xC00) == 0) {
return D_800F3843[arg0];
}
if ((D_800EDEB4[arg0] & 0x800) != 0) {
return 0x50;
} else {
return -((D_800EDEB4[arg0] & 0x400) != 0) & -0x50;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F884C_GameModeOverworld);
// void func_800F884C_GameModeOverworld(omObjData* arg0) { //cleanup later, matches needs rodata support
// Vec3f sp10;
// Vec3f sp20;
// Vec3f sp30;
// f32 temp_f20;
// f32 temp_f20_2;
// f32 temp_f20_3;
// f32 temp_f20_4;
// f32 temp_f20_5;
// f32 temp_f20_6;
// f32 temp_f22;
// f32 temp_f22_2;
// f32 temp_f24;
// f32 temp_f24_2;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F8AB8_GameModeOverworld);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F8B38_GameModeOverworld);
// temp_f22 = D_800F33EC.y;
// temp_f24 = D_800F33EC.x;
// temp_f20 = func_800AEAC0(temp_f24);
// sp10.x = D_800F6524.x + (temp_f20 * func_800AEFD0(temp_f22) * D_800EE98C);
// sp10.y = (-func_800AEAC0(temp_f22) * D_800EE98C) + D_800F6524.y;
// temp_f20_2 = func_800AEFD0(temp_f24);
// sp10.z = (temp_f20_2 * func_800AEFD0(temp_f22) * D_800EE98C) + D_800F6524.z;
// sp20.x = D_800F6524.x;
// sp20.y = D_800F6524.y;
// sp20.z = D_800F6524.z;
// temp_f20_3 = func_800AEAC0(temp_f24);
// sp30.x = temp_f20_3 * func_800AEAC0(temp_f22);
// sp30.y = func_800AEFD0(temp_f22);
// temp_f20_4 = func_800AEFD0(temp_f24);
// sp30.z = temp_f20_4 * func_800AEAC0(temp_f22);
// func_8001D420(0, &sp10, &sp20, &sp30);
// func_8001D57C(0);
// temp_f22_2 = D_800FA1D0_GameModeOverworld.x;
// temp_f24_2 = D_800FA1D0_GameModeOverworld.y;
// temp_f20_5 = func_800AEAC0(temp_f24_2);
// sp10.x = D_800FA1C4_GameModeOverworld.x + (temp_f20_5 * func_800AEFD0(temp_f22_2) * D_800FA1DC_ovl_69);
// sp10.y = (-func_800AEAC0(temp_f22_2) * D_800FA1DC_ovl_69) + D_800FA1C4_GameModeOverworld.y;
// temp_f20_6 = func_800AEFD0(temp_f24_2);
// sp10.z = D_800FA1C4_GameModeOverworld.z + (temp_f20_6 * func_800AEFD0(temp_f22_2) * D_800FA1DC_ovl_69);
// sp20.x = D_800FA1C4_GameModeOverworld.x;
// sp20.y = D_800FA1C4_GameModeOverworld.y;
// sp20.z = D_800FA1C4_GameModeOverworld.z;
// sp30.x = func_800AEAC0(temp_f24_2) * func_800AEAC0(temp_f22_2);
// sp30.y = func_800AEFD0(temp_f22_2);
// sp30.z = func_800AEFD0(temp_f24_2) * func_800AEAC0(temp_f22_2);
// func_8001D420(1, &sp10, &sp20, &sp30);
// func_8001D57C(1);
// }
void func_800F8AB8_GameModeOverworld(omObjData* arg0) {
if ((D_800FA1C0_GameModeOverworld == 4) || (D_800FA1C2_GameModeOverworld != 0) || (D_800F5144 != 0)) {
func_800726AC(0, 0x14);
arg0->func_ptr = &func_800F8B38_GameModeOverworld;
if (D_800FA204_GameModeOverworld == 0) {
func_800601D4(0x28);
}
}
}
void func_800F8B38_GameModeOverworld(void) {
if (func_80072718() == 0) {
func_80070ED4();
if (D_800FA1FC_GameModeOverworld == -1) {
omOvlReturnEx(1);
return;
}
omOvlCallEx(D_800FA1FC_GameModeOverworld, D_800FA202_GameModeOverworld, 0x11);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_69_GameModeOverworld/2BB5F0", func_800F8BA0_GameModeOverworld);

View File

@ -1,24 +1,300 @@
#include "common.h"
#include "2F40C0.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F65E0_TestingRoom);
void func_800F65E0_TestingRoom(void) {
u8 temp_s0;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F6A44_TestingRoom);
func_80029090(0x32);
func_8002ADF0(&D_800EDEC0, 0x40);
func_8001DE70(0x20);
omInitObjMan(0x32, 0);
func_80060088();
func_8000942C();
func_800178A0(1);
temp_s0 = func_800178E8();
func_80017660(temp_s0, 0.0f, 0.0f, 320.0f, 240.0f);
func_800176C4(temp_s0, 640.0f, 480.0f, 511.0f, 640.0f, 480.0f, 511.0f);
func_8001D494(0, 30.0f, 80.0f, 8000.0f);
D_800EE984 = 0;
D_800F2BC0 = 0;
D_800ED440 = 0;
func_80009500();
D_800B899C = 0;
func_80009618(1);
D_800B8955 = 0;
func_800090B8(D_800ED440);
D_800F2AF8[D_800ED440++] = omAddObj(1, 1, 0, -1, &func_800F6BD8_TestingRoom);
D_800F2AF8[D_800ED440++] = omAddObj(1, 2, 0, -1, &func_800F6D04_TestingRoom);
D_800F2AF8[D_800ED440++] = omAddObj(1, 1, 0, -1, &func_800F6E38_TestingRoom);
D_800F2AF8[D_800ED440++] = omAddObj(1, 1, 0, -1, &func_800F6F1C_TestingRoom);
D_800F2AF8[D_800ED440++] = omAddObj(1, 1, 0, -1, &func_800F7010_TestingRoom);
D_800F3FB0[D_800F2BC0++] = omAddObj(2, 0xA, 0x3C, -1, &func_800F7970_TestingRoom);
D_800F3FB0[D_800F2BC0++] = omAddObj(2, 9, 0x3C, -1, &func_800F7A44_TestingRoom);
D_800F3FB0[D_800F2BC0++] = omAddObj(2, 9, 0x3C, -1, &func_800F7AFC_TestingRoom);
D_800F3FB0[D_800F2BC0++] = omAddObj(2, 9, 0x3C, -1, &func_800F7B78_TestingRoom);
D_800EDE70[D_800EE984++] = omAddObj(3, 5, 0, -1, &func_800F7C38_TestingRoom);
D_800EDE70[D_800EE984++] = omAddObj(3, 1, 0, -1, &func_800F7BF4_TestingRoom);
omSetStatBit(omAddObj(0x7FDA, 0, 0, -1, func_8005EB1C), 0xA0);
D_800B895C = 10.0f;
SetFadeInTypeAndTime(0, 0x10);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F6BD8_TestingRoom);
void func_800F6A44_TestingRoom(void) {
s32 i;
f32* tempVar;
f32* anotherTemp;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F6D04_TestingRoom);
func_80009468();
switch (D_800ED430) {
case 0:
if (D_800F9494_TestingRoom >= 0x1F) {
func_80009458();
}
D_800F9494_TestingRoom += 2;
break;
case 1:
D_800F9498_TestingRoom -= 2;
if ((D_800EDEB4[0] & 0x30) == 0x30) { //D_800EDEB4 maybe not an array
omOvlReturnEx(1);
}
break;
case 2:
if (D_800F949C_TestingRoom == 0) {
func_8000C250(0xB4);
}
if (D_800F949C_TestingRoom > 0xB4) {
func_80009448();
}
D_800F949C_TestingRoom += 2;
break;
case 3:
if (D_800F94A0_TestingRoom == 0) {
func_8000C250(0xB4);
}
D_800F94A0_TestingRoom += 2;
break;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F6E38_TestingRoom);
for (i = 0; i < D_800F2BC0; i++) {
anotherTemp = &((unkGlobalStruct_00*) D_800F3FB0[i]->unk_50)->unk_60;
tempVar = &D_800F33F0;
*anotherTemp = *tempVar;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F6F1C_TestingRoom);
void func_800F6BD8_TestingRoom(omObjData* arg0) {
unkGlobalStruct_02* temp_s1;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F7010_TestingRoom);
arg0->model[0] = func_800174C0(0x380004, 0x99);
arg0->trans.x = arg0->trans.y = arg0->trans.z = 0.0f;
func_80025798(arg0->model[0], 0.0f, arg0->trans.y, arg0->trans.z);
temp_s1 = func_80023684(sizeof(unkGlobalStruct_02), 0x7918);
arg0->unk_50 = temp_s1;
func_8009B770(temp_s1, 0, sizeof(unkGlobalStruct_02));
arg0->func_ptr = &func_800F6A44_TestingRoom;
temp_s1->unk_04 = 1;
D_800F6524.x = 8.0f;
D_800F6524.y = 110.0f;
D_800F6524.z = -86.0f;
D_800F33EC.y = 312.7f;
D_800EE98C = 2616.0f;
func_800090A4(arg0);
func_80008FB8(arg0, 0.6f);
func_80008FC4(arg0, 25.0f);
temp_s1->unk_05 = 0;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F7108_TestingRoom);
void func_800F6D04_TestingRoom(omObjData* arg0) {
unkGlobalStruct_02* temp_s1;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F71F4_TestingRoom);
arg0->model[0] = func_800174C0(0x380008, 0x899);
arg0->trans.x = -1500.0f;
arg0->trans.y = 75.0f;
arg0->trans.z = 1200.0f;
func_80025798(arg0->model[0], arg0->trans.x, arg0->trans.y, arg0->trans.z);
temp_s1 = func_80023684(sizeof(unkGlobalStruct_02), 0x7918);
arg0->unk_50 = temp_s1;
func_8009B770(temp_s1, 0, sizeof(unkGlobalStruct_02));
arg0->func_ptr = &func_800F7EDC_TestingRoom;
temp_s1->unk_04 = 1;
func_80009058(arg0, 160.0f, 160.0f, -100.0f, -100.0f, 100.0f, 100.0f);
func_80008FB8(arg0, 0.3f);
func_8000941C(arg0, 1.0f, 1.0f, 1.0f);
temp_s1->unk_05 = 1;
}
void func_800F6E38_TestingRoom(omObjData* arg0) {
unkGlobalStruct_02* temp_s1;
arg0->model[0] = func_800174C0(0x380000, 0x899);
arg0->trans.x = 0.0f;
arg0->trans.y = 0.0f;
arg0->trans.z = 0.0f;
func_80025798(arg0->model[0], arg0->trans.x, arg0->trans.y, arg0->trans.z);
temp_s1 = func_80023684(sizeof(unkGlobalStruct_02), 0x7918);
arg0->unk_50 = temp_s1;
func_8009B770(temp_s1, 0, sizeof(unkGlobalStruct_02));
arg0->func_ptr = &func_800F9400_TestingRoom;
temp_s1->unk_04 = 1;
func_80009000(arg0, 4, 0.0f);
func_800090A4(arg0);
func_80008FB8(arg0, 0.5f);
func_8000941C(arg0, 1.0f, 1.0f, 1.0f);
func_80008FC4(arg0, 20.0f);
temp_s1->unk_05 = 2;
}
void func_800F6F1C_TestingRoom(omObjData* arg0) {
unkGlobalStruct_02* temp_s1;
arg0->model[0] = func_800174C0(0x380006, 0x899);
arg0->trans.x = 0.0f;
arg0->trans.y = 125.0f;
arg0->trans.z = 1700.0f;
func_80025798(arg0->model[0], arg0->trans.x, arg0->trans.y, 1700.0f);
temp_s1 = func_80023684(sizeof(unkGlobalStruct_02), 0x7918);
arg0->unk_50 = temp_s1;
func_8009B770(temp_s1, 0, sizeof(unkGlobalStruct_02));
arg0->func_ptr = &func_800F7F50_TestingRoom;
temp_s1->unk_04 = 1;
func_80009000(arg0, 4, 0.0f);
func_80008FB8(arg0, 0.5f);
func_8000941C(arg0, 1.0f, 1.0f, 1.0f);
temp_s1->unk_05 = 3;
}
void func_800F7010_TestingRoom(omObjData* arg0) {
unkGlobalStruct_02* temp_s1;
arg0->model[0] = func_800174C0(0x380006, 0x899);
arg0->trans.z = 1000.0f;
temp_s1 = func_80023684(sizeof(unkGlobalStruct_02), 0x7918);
arg0->unk_50 = temp_s1;
func_8009B770(temp_s1, 0, sizeof(unkGlobalStruct_02));
arg0->func_ptr = NULL;
temp_s1->unk_04 = 1;
func_80009090(arg0);
func_80009058(arg0, 250.0f, 250.0f, -250.0f, -250.0f, 250.0f, 250.0f);
func_80008FB8(arg0, 0.5f);
func_80008FC4(arg0, 15.0f);
func_8000941C(arg0, 2.0f, 2.0f, 2.0f);
temp_s1->unk_05 = 4;
}
void func_800F7108_TestingRoom(omObjData* arg0) {
unkGlobalStruct_02* temp_s1;
arg0->model[0] = func_800174C0(0x380006, 0x899);
arg0->trans.x = 0.0f;
temp_s1 = func_80023684(sizeof(unkGlobalStruct_02), 0x7918);
arg0->unk_50 = temp_s1;
func_8009B770(temp_s1, 0, sizeof(unkGlobalStruct_02));
arg0->func_ptr = NULL;
temp_s1->unk_04 = 1;
func_80009090(arg0);
func_80009058(arg0, 250.0f, 250.0f, -250.0f, -250.0f, 250.0f, 250.0f);
func_80008FB8(arg0, 0.5f);
func_80008FC4(arg0, 15.0f);
func_8000941C(arg0, 2.0f, 2.0f, 2.0f);
temp_s1->unk_05 = 4;
}
void func_800F71F4_TestingRoom(omObjData* arg0) {
unkGlobalStruct_02* temp_s1;
arg0->model[0] = func_800174C0(0x38000C, 0x899);
arg0->trans.x = -1600.0f;
arg0->trans.y = 0.0f;
arg0->trans.z = 2000.0f;
func_80025798(arg0->model[0], arg0->trans.x, arg0->trans.y, 2000.0f);
temp_s1 = func_80023684(sizeof(unkGlobalStruct_02), 0x7918);
arg0->unk_50 = temp_s1;
func_8009B770(temp_s1, 0, sizeof(unkGlobalStruct_02));
arg0->func_ptr = NULL;
temp_s1->unk_04 = 1;
func_80009000(arg0, 4, 0.0f);
func_80008FB8(arg0, 0.5f);
func_8000941C(arg0, 1.0f, 1.0f, 1.0f);
temp_s1->unk_05 = 5;
}
#ifdef NON_MATCHING //matches but tons of warnings
typedef struct struct2 {
/* 0x00 */ union {
u16 unsigned16[2];
s16 signed16[2];
s32 signed32;
} unk_00;
s16 unk_04;
s16 unk_06;
s16 unk_08;
s16 unk_0A;
s16 unk_0C;
s16 unk_0E;
s16 unk_10;
} struct2;
typedef struct struct1 {
char unk_00[0x18];
f32 unk_18;
f32 unk_1C;
f32 unk_20;
char unk_24[0x1C];
struct2* unk_40;
} struct1;
void func_800F72DC_TestingRoom(struct1* arg0, s32 arg1, s32 arg2, s32 arg3, f32 arg4, f32 arg5, f32 arg6) {
func_8000979C(arg0, arg1, arg2, arg3 & 0xFFFF, 0xA99, 0xA99);
arg0->unk_40->unk_06 = LoadFormFile(0x19, 0xA8D);
arg0->unk_40->unk_08.unsigned16[0] = LoadFormFile(0x1A, 0xA8D);
arg0->unk_40->unk_0C = LoadFormFile(0x1B, 0xA8D);
arg0->unk_40->unk_0A = LoadFormFile(0x1C, 0xA8D);
arg0->unk_40->unk_0E = LoadFormFile(0x1E, 0xA8D);
arg0->unk_40->unk_10 = LoadFormFile(0x1D, 0xA8D);
func_800187D0(arg0, 0, arg1, 1, 0);
func_800187D0(arg0, 1, arg1 | 1, 1, 0);
func_800187D0(arg0, 2, arg1 | 3, 1, 0);
func_800187D0(arg0, 5, arg1 | 4, 0, 0);
func_800187D0(arg0, 6, arg1 | 5, 1, 0x13);
func_800187D0(arg0, 7, arg1 | 6, 1, 0x22);
func_800187D0(arg0, 8, arg1 | 9, 1, 0x1B);
func_800187D0(arg0, 9, arg1 | 0xA, 1, 0x27);
func_800187D0(arg0, 0x10, arg1 | 0x17, 1, 0);
func_800187D0(arg0, 0x11, arg1 | 0x18, 0, 0);
func_800187D0(arg0, 0x12, arg1 | 0x1C, 2, 0);
func_800187D0(arg0, 0x13, arg1 | 0x1D, 2, 0);
func_800187D0(arg0, 0xA, arg1 | 0x1E, 1, 0x27);
func_800187D0(arg0, 0x16, arg1 | 0x24, 1, 0);
func_8001874C(arg0, 0x15, arg1 | 0x62, 0, 0);
func_8001874C(arg0, 0x14, arg1 | 0x5F, 2, 0);
func_8001874C(arg0, 3, arg1 | 0x60, 1, 0);
func_8001874C(arg0, 4, arg1 | 0x61, 1, 0);
func_8001874C(arg0, 0x1E, arg1 | 0x63, 2, 0);
func_8001874C(arg0, 0x1F, arg1 | 0x64, 2, 0);
func_8001874C(arg0, 0x20, arg1 | 0x67, 0, 0);
func_8001874C(arg0, 0x21, arg1 | 0x68, 2, 0);
func_8001874C(arg0, 0x22, arg1 | 0x69, 2, 0);
arg0->unk_18 = arg4;
arg0->unk_1C = 10.0f;
arg0->unk_20 = arg6;
func_80025798(arg0->model[0], arg0->unk_18, arg0->unk_1C, arg6);
func_800090C4(arg0, 0, 2);
func_800090C4(arg0, 1, 2);
func_800090C4(arg0, 2, 2);
func_800090C4(arg0, 3, 2);
func_800090C4(arg0, 4, 2);
func_800090C4(arg0, 5, 2);
func_800090C4(arg0, 6, 2);
}
#else
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F72DC_TestingRoom);
#endif
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F7690_TestingRoom);
@ -26,7 +302,7 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F77BC
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F7970_TestingRoom);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F7A44_TestingRoom);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F7A44_TestingRoom); //https://decomp.me/scratch/LIhcP
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_70_TestingRoom/2F40C0", func_800F7AFC_TestingRoom);

View File

@ -0,0 +1,35 @@
#include "common.h"
extern s8 D_800B8955;
extern f32 D_800B895C;
extern s32 D_800B899C;
extern omObjData* D_800EDE70[];
extern u16 D_800EE984;
extern omObjData* D_800F2AF8[];
extern omObjData* D_800F3FB0[];
extern f32 D_800F33F0;
extern u32 D_800F9494_TestingRoom;
extern s32 D_800F9498_TestingRoom;
extern u32 D_800F949C_TestingRoom;
extern s32 D_800F94A0_TestingRoom;
extern s16 D_800EDEB4[];
void func_800F72DC_TestingRoom(void*, s32, s32, s32, f32, f32, f32);
extern unkStructSize14 D_800C59AC[];
extern u8 D_800F32E4;
void func_800F9400_TestingRoom(void);
void func_800F7EDC_TestingRoom(void);
void func_800F6A44_TestingRoom(void);
void func_800F6BD8_TestingRoom(omObjData*);
void func_800F6D04_TestingRoom(omObjData*);
void func_800F6E38_TestingRoom(omObjData*);
void func_800F6F1C_TestingRoom(omObjData*);
void func_800F7010_TestingRoom(omObjData*);
void func_800F7970_TestingRoom(void);
void func_800F7A44_TestingRoom(omObjData*);
void func_800F7AFC_TestingRoom(void);
void func_800F7B78_TestingRoom(void);
void func_800F7BF4_TestingRoom(void);
void func_800F7C38_TestingRoom(void);
void func_800F7F50_TestingRoom(void);

View File

@ -1,3 +1,15 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_71_MinigameIslandOverworld/2F6FB0", func_800F65E0_MinigameIslandOverworld);
void func_800F6610_MinigameIslandOverworld(void);
void func_800F6668_MinigameIslandOverworld(void);
board_overlay_entrypoint D_800F6690_MinigameIslandOverworld[] = {
{0, func_800F6610_MinigameIslandOverworld},
{1, func_800F6668_MinigameIslandOverworld},
{-1, 0},
};
void func_800F65E0_MinigameIslandOverworld(void) {
ExecBoardScene(&D_800F6690_MinigameIslandOverworld, D_800C597A);
}

View File

@ -1,5 +1,17 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_71_MinigameIslandOverworld/2F6FE0", func_800F6610_MinigameIslandOverworld);
void func_8005C208(void);
void func_8005C2B0(void);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_71_MinigameIslandOverworld/2F6FE0", func_800F6668_MinigameIslandOverworld);
void func_800F6610_MinigameIslandOverworld(void) {
D_800ED5C2[0] = 0xA;
omInitObjMan(0xA, 0);
func_8005C208();
omOvlGotoEx(0x71, 1, 0x92);
omOvlHisChg(0, 0x71, 1, 0x92);
}
void func_800F6668_MinigameIslandOverworld(void) {
omInitObjMan(0xA, 0);
func_8005C2B0();
}

View File

@ -1,3 +1,16 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F96E0", func_800F65E0_name_74);
void func_800F6758_name_74(void);
void func_800F6774_name_74(void);
void func_800F67A0_name_74(void);
board_overlay_entrypoint D_800F6EE0_name_74[] = {
{2, func_800F6758_name_74},
{5, func_800F6774_name_74},
{6, func_800F67A0_name_74},
{-1, 0}
};
void func_800F65E0_name_74(void) {
ExecBoardScene(D_800F6EE0_name_74, D_800C597A);
}

View File

@ -1,24 +1,131 @@
#include "common.h"
#include "spaces.h"
#include "engine/process.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6610_name_74);
typedef struct testStruct2 {
s16 unk_00;
u16 unk_02;
} testStruct2;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F666C_name_74);
typedef struct unkUserData {
char unk_00[0x0C];
Vec3f vec1;
Vec3f vec2;
} unkUserData;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6758_name_74);
void func_8005B860(s32);
extern testStruct2 D_800F6F00_name_74[];
void func_8005C3FC(s32, s32);
void func_8005CC3C(void);
void func_800F6610_name_74(void);
void func_800F68E8_name_74(void);
void func_800F6988_name_74(void);
void func_800F6C88_name_74(void);
extern EventTableEntry D_800F6FD0_name_74;
void func_800F666C_name_74(void);
void func_800F683C_name_74(void);
void func_800F67CC_name_74(void);
extern Object* D_800F7020_name_74;
extern Object* D_800F7024_name_74;
void func_800F6908_name_74(void);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6774_name_74);
void func_800F6610_name_74(void) {
testStruct2* temp = D_800F6F00_name_74;
for (; temp->unk_00 >= 0; temp++) {
if (func_8005CE48(temp->unk_02) != 0) {
SetSpaceType(temp->unk_00, 1);
}
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F67A0_name_74);
void func_800F666C_name_74(void) {
Object* temp_v1;
playerMain* player;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F67CC_name_74);
omInitObjMan(0x50, 0x28);
func_80060088();
InitCameras(2);
func_80023448(1);
func_800234B8(0, 0x78, 0x78, 0x78);
func_800234B8(1, 0x40, 0x40, 0x60);
func_80023504(1, -100.0f, 100.0f, 300.0f);
func_8005C3FC(0x51, 0x50);
func_80052E84(0);
player = GetPlayerStruct(0);
func_8003E174(player->playerObj);
player->playerObj->unk_0A |= 2;
func_800F68E8_name_74();
func_800F6988_name_74();
func_800F6C88_name_74();
EventTableHydrate(&D_800F6FD0_name_74);
func_800F6610_name_74();
func_8005CC3C();
func_80060128(0x46);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F683C_name_74);
void func_800F6758_name_74(void) {
func_800F666C_name_74();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F68E8_name_74);
void func_800F6774_name_74(void) {
SetPlayerOntoChain(0, 0, 0);
func_800F666C_name_74();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6908_name_74);
void func_800F67A0_name_74(void) {
SetPlayerOntoChain(0, 0, 7);
func_800F666C_name_74();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6988_name_74);
void func_800F67CC_name_74(void) {
unkUserData* temp_s1 = HuPrcCurrentGet()->user_data;
playerMain* temp_s2 = GetPlayerStruct(-1);
Vec3f* vec = &temp_s1->vec2;
while (1) {
HuPrcVSleep();
func_800A0E80(vec, &temp_s2->playerObj->coords, &temp_s1->vec1);
func_8003D408(vec);
}
}
void func_800F683C_name_74(void) {
Object* obj;
if (D_800F7020_name_74 == NULL) {
obj = CreateObject(0x6AU, NULL);
func_8003E174(obj);
D_800F7020_name_74 = obj;
obj->unk_0A |= 2;
func_800A0D00(&obj->xScale, 0.6f, 0.6f, 0.6f);
obj->unk_30 = 100.0f;
func_800A0D50(&obj->coords, &GetSpaceData(0)->coords);
omAddPrcObj(func_800F67CC_name_74, 0x4800, 0, 0)->user_data = obj;
}
}
void func_800F68E8_name_74(void) {
D_800F7020_name_74 = 0;
func_800F683C_name_74();
}
void func_800F6908_name_74(void) {
Object* temp_v0;
if (D_800F7024_name_74 == NULL) {
temp_v0 = CreateObject(0xEU, NULL);
func_8003E174(temp_v0);
D_800F7024_name_74 = temp_v0;
temp_v0->unk_0A |= 2;
func_800A0D00(&temp_v0->xScale, 1.4f, 1.4f, 1.4f);
func_800A0D50(&temp_v0->coords, &GetSpaceData(1)->coords);
}
}
void func_800F6988_name_74(void) {
D_800F7024_name_74 = 0;
func_800F6908_name_74();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F69A8_name_74);
@ -32,11 +139,19 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6D0C_name_74);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6D84_name_74);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6DA0_name_74);
void func_800F6DA0_name_74(void) {
func_8005B860(0x1B);
PlaySound(0x94);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6DC4_name_74);
void func_800F6DC4_name_74(void) {
func_8005B860(0x1C);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6DE0_name_74);
void func_800F6DE0_name_74(void) {
func_8005B860(0x1D);
PlaySound(0xBF);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_74/2F9710", func_800F6E04_name_74);

View File

@ -1,3 +1,16 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA120", func_800F65E0_name_75);
void func_800F6748_name_75(void);
void func_800F6764_name_75(void);
void func_800F6790_name_75(void);
board_overlay_entrypoint D_800F6C20_name_75[] = {
{2, func_800F6748_name_75},
{5, func_800F6764_name_75},
{6, func_800F6790_name_75},
{-1, 0}
};
void func_800F65E0_name_75(void) {
ExecBoardScene(D_800F6C20_name_75, D_800C597A);
}

View File

@ -1,41 +1,209 @@
#include "common.h"
#include "spaces.h"
#include "engine/process.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6610_name_75);
typedef struct testStruct2 {
s16 unk_00;
u16 unk_02;
} testStruct2;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F666C_name_75);
typedef struct unkUserData {
char unk_00[0x0C];
Vec3f vec1;
Vec3f vec2;
} unkUserData;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6748_name_75);
void func_8005CC3C(void);
void func_8005C3FC(s32, s32);
void func_8005B860(s32);
void func_800F67BC_name_75(void);
void func_800F682C_name_75(void);
extern s32 D_800F6C5C_name_75;
extern Object* D_800F6D60_name_75;
extern testStruct2 D_800F6C40_name_75;
extern EventTableEntry D_800F6D04_name_75;
void func_800F6934_name_75(void);
void func_800F69F4_name_75(void);
s32 func_8005B984(s32);
s32 func_8005BAB0(s32);
void func_8005CD7C(s32, s32, s32, s32);
void func_8005BD10(s32);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6764_name_75);
void func_800F6610_name_75(void) {
testStruct2* temp = &D_800F6C40_name_75;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6790_name_75);
for (; temp->unk_00 >= 0; temp++) {
if (func_8005CE48(temp->unk_02) != 0) {
SetSpaceType(temp->unk_00, 1);
}
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F67BC_name_75);
void func_800F666C_name_75(void) {
Object* temp_v1;
playerMain* player;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F682C_name_75);
omInitObjMan(0x50, 0x28);
func_80060088();
InitCameras(2);
func_80023448(1);
func_800234B8(0, 0x78, 0x78, 0x78);
func_800234B8(1, 0x40, 0x40, 0x60);
func_80023504(1, -100.0f, 100.0f, 300.0f);
func_8005C3FC(0x52, 0x51);
func_80052E84(0);
player = GetPlayerStruct(0);
func_8003E174(player->playerObj);
player->playerObj->unk_0A |= 2;
func_800F69F4_name_75();
EventTableHydrate(&D_800F6D04_name_75);
func_800F6610_name_75();
func_8005CC3C();
func_80060128(0x46);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6934_name_75);
void func_800F6748_name_75(void) {
func_800F666C_name_75();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F69F4_name_75);
void func_800F6764_name_75(void) {
SetPlayerOntoChain(0, 0, 0);
func_800F666C_name_75();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6A14_name_75);
void func_800F6790_name_75(void) {
SetPlayerOntoChain(0, 0, 8);
func_800F666C_name_75();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6A38_name_75);
void func_800F67BC_name_75(void) {
unkUserData* temp_s1 = HuPrcCurrentGet()->user_data;
playerMain* temp_s2 = GetPlayerStruct(-1);
Vec3f* vec = &temp_s1->vec2;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6AB0_name_75);
while (1) {
HuPrcVSleep();
func_800A0E80(vec, &temp_s2->playerObj->coords, &temp_s1->vec1);
func_8003D408(vec);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6AD8_name_75);
void func_800F682C_name_75(void) {
Object* temp_s0;
playerMain* temp_s1;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6AF4_name_75);
temp_s0 = HuPrcCurrentGet()->user_data;
temp_s1 = GetPlayerStruct(-1);
HuPrcSleep(0x28);
while (1) {
HuPrcVSleep();
if (GetAbsSpaceIndexFromChainSpaceIndex(temp_s1->curChainIndex, temp_s1->curSpaceIndex) != 6) {
continue;
}
func_8003E8B8(temp_s0, 0, 0, 6, 0);
HuPrcSleep(0xC);
PlaySound(0x9D);
HuPrcSleep(0xC);
PlaySound(0x9D);
HuPrcSleep(0x12);
PlaySound(0x9D);
while (!(func_8003E940(temp_s0) & 1)) {
HuPrcVSleep();
}
func_8003E8B8(temp_s0, -1, 0, 6, 2);
HuPrcSleep(0xA);
continue;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6B10_name_75);
void func_800F6934_name_75(void) {
Object* temp_v0;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6B2C_name_75);
if (D_800F6D60_name_75 == NULL) {
temp_v0 = CreateObject(0xC, &D_800F6C5C_name_75);
func_8003E174(temp_v0);
D_800F6D60_name_75 = temp_v0;
temp_v0->unk_0A |= 2;
func_800A0D00(&temp_v0->xScale, 1.2f, 1.2f, 1.2f);
func_800A0D50(&temp_v0->coords, &GetSpaceData(0)->coords);
omAddPrcObj(func_800F67BC_name_75, 0x4800, 0, 0)->user_data = temp_v0;
omAddPrcObj(func_800F682C_name_75, 0x4800, 0, 0)->user_data = temp_v0;
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6B48_name_75);
void func_800F69F4_name_75(void) {
D_800F6D60_name_75 = 0;
func_800F6934_name_75();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6B64_name_75);
void func_8005B860(s32);
void func_8005BD1C(s32);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6B80_name_75);
void func_800F6A14_name_75(void) {
func_8005B860(-1);
func_8005BD1C(0);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_75/2FA150", func_800F6BA4_name_75);
void func_800F6A38_name_75(void) {
s32 temp_s0 = func_8005BAB0(0x4B5);
s16 temp_s1 = func_8005B984(0);
func_80070D90(temp_s0);
if (temp_s1 == 0) {
func_8005CD7C(2, 6, 1, 0);
func_80058910(-1, 0);
}
EndProcess(NULL);
}
void func_800F6AB0_name_75(void) {
D_800ED100.boardRam[0] = 6;
func_8005B860(-2);
}
void func_800F6AD8_name_75(void) {
func_8005B860(0x20);
}
void func_800F6AF4_name_75(void) {
func_8005B860(0x21);
}
void func_800F6B10_name_75(void) {
func_8005B860(0x22);
}
void func_800F6B2C_name_75(void) {
func_8005B860(0x23);
}
void func_800F6B48_name_75(void) {
func_8005B860(0x24);
}
void func_800F6B64_name_75(void) {
func_8005B860(0x25);
}
void func_800F6B80_name_75(void) {
func_8005B860(-1);
func_8005BD10(0);
}
void func_800F6BA4_name_75(void) {
s16 temp_s0 = func_8005BAB0(0x4B6);
s16 temp_s1 = func_8005B984(0);
func_80070D90(temp_s0);
if (temp_s1 == 0) {
func_8005CD7C(4, 5, 1, 1);
func_80058910(-1, 0);
}
EndProcess(NULL);
}

View File

@ -1,3 +1,16 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8A0", func_800F65E0_name_76);
void func_800F6744_name_76(void);
void func_800F6760_name_76(void);
void func_800F678C_name_76(void);
board_overlay_entrypoint D_800F69C0_name_76[] = {
{2, func_800F6744_name_76},
{5, func_800F6760_name_76},
{6, func_800F678C_name_76},
{-1, 0},
};
void func_800F65E0_name_76(void) {
ExecBoardScene(&D_800F69C0_name_76, D_800C597A);
}

View File

@ -1,33 +1,131 @@
#include "common.h"
#include "spaces.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F6610_name_76);
typedef struct testStruct2 {
s16 unk_00;
u16 unk_02;
} testStruct2;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F666C_name_76);
s32 func_8005B984(s32);
s32 func_8005BAB0(s32);
void func_8005CD7C(s32, s32, s32, s32);
void func_8005B860(s32);
void func_8005C3FC(s32, s32);
void func_8005CC3C(void);
void func_800F6610_name_76(void);
void func_8005B860(s32);
void func_8005BD1C(s32);
void func_8005B860(s32);
void func_8005BD10(s32);
void func_8005B860(s32);
void func_8005B860(s32);
extern EventTableEntry D_800F6A9C_name_76;
extern testStruct2 D_800F69E0_name_76[];
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F6744_name_76);
void func_800F6610_name_76(void) {
testStruct2* temp = D_800F69E0_name_76;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F6760_name_76);
for (; temp->unk_00 >= 0; temp++) {
if (func_8005CE48(temp->unk_02) != 0) {
SetSpaceType(temp->unk_00, 1);
}
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F678C_name_76);
void func_800F666C_name_76(void) {
playerMain* player;
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F67B8_name_76);
omInitObjMan(0x50, 0x28);
func_80060088();
InitCameras(2);
func_80023448(1);
func_800234B8(0U, 0x78U, 0x78U, 0x78U);
func_800234B8(1U, 0x40U, 0x40U, 0x60U);
func_80023504(1, -100.0f, 100.0f, 300.0f);
func_8005C3FC(0x53, 0x52);
func_80052E84(0);
player = GetPlayerStruct(0);
func_8003E174(player->playerObj);
player->playerObj->unk_0A |= 2;
EventTableHydrate(&D_800F6A9C_name_76);
func_800F6610_name_76();
func_8005CC3C();
func_80060128(0x47);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F67DC_name_76);
void func_800F6744_name_76(void) {
func_800F666C_name_76();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F6854_name_76);
void func_800F6760_name_76(void) {
SetPlayerOntoChain(0, 0, 0);
func_800F666C_name_76();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F687C_name_76);
void func_800F678C_name_76(void) {
SetPlayerOntoChain(0, 0, 8);
func_800F666C_name_76();
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F6898_name_76);
void func_800F67B8_name_76(void) {
func_8005B860(-1);
func_8005BD1C(0);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F68B4_name_76);
void func_800F67DC_name_76(void) {
s32 temp_s0 = func_8005BAB0(0x4B7);
s16 temp_s1 = func_8005B984(0);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F68D0_name_76);
func_80070D90(temp_s0);
if (temp_s1 == 0) {
func_8005CD7C(3, 6, 1, 1);
func_80058910(-1, 0);
}
EndProcess(NULL);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F68EC_name_76);
void func_800F6854_name_76(void) {
D_800ED100.boardRam[0] = 7;
func_8005B860(-2);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F6908_name_76);
void func_800F687C_name_76(void) {
func_8005B860(0x26);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F6924_name_76);
void func_800F6898_name_76(void) {
func_8005B860(0x27);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_76/2FA8D0", func_800F6948_name_76);
void func_800F68B4_name_76(void) {
func_8005B860(0x28);
}
void func_800F68D0_name_76(void) {
func_8005B860(0x29);
}
void func_800F68EC_name_76(void) {
func_8005B860(0x2A);
}
void func_800F6908_name_76(void) {
func_8005B860(0x2B);
}
void func_800F6924_name_76(void) {
func_8005B860(-1);
func_8005BD10(0);
}
void func_800F6948_name_76(void) {
s32 temp_s0 = func_8005BAB0(0x4B8);
s16 temp_s1 = func_8005B984(0x4A9);
func_80070D90(temp_s0);
if (temp_s1 == 0) {
func_8005CD7C(0, 8, 1, 1);
func_80058910(-1, 0);
}
EndProcess(NULL);
}

View File

@ -1,4 +1,5 @@
#include "common.h"
#include "3005B0.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_79/3005B0", func_800F65E0_name_79);
@ -6,13 +7,30 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_79/3005B0", func_800F6800_name_79);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_79/3005B0", func_800F6844_name_79);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_79/3005B0", func_800F6A7C_name_79);
void func_800F6A7C_name_79(void) {
if (D_800F74D0_name_79 != 0) {
func_80042B10(D_800F74D0_name_79);
func_80070D90(D_800F74CE_name_79);
}
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_79/3005B0", func_800F6AB4_name_79);
s32 func_800F6AB4_name_79(void) {
s32 i;
s32 var_s1 = 0;
for (i = 7; i < 57; i++) {
var_s1 += func_8005CE48(i) != 0;
}
return var_s1;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_79/3005B0", func_800F6B00_name_79);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_79/3005B0", func_800F6D18_name_79);
void func_800F6D18_name_79(s16 arg0) {
s16 thing = 1 << gPlayers[0].flags;
func_8007155C(arg0, thing);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_79/3005B0", func_800F6D4C_name_79);

View File

@ -0,0 +1,6 @@
#include "common.h"
void func_80042B10(s32);
void func_80070D90(s16);
extern s16 D_800F74CE_name_79;
extern s32 D_800F74D0_name_79;

View File

@ -1,8 +1,28 @@
#include "common.h"
#include "PR/os.h"
#include "316440.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_82_MiniGameStadiumStartCopy/316440", func_800F65E0_MiniGameStadiumStartCopy);
void func_800F65E0_MiniGameStadiumStartCopy(void) {
omInitObjMan(50, 10);
func_800F7880_MiniGameStadiumStartCopy();
func_800F77E0_MiniGameStadiumStartCopy();
func_8006CEA0();
omAddPrcObj(&func_800F76E0_MiniGameStadiumStartCopy, 0x300, 0x2000, 0);
omAddObj(0x1000, 0, 0, -1, &func_800F7794_MiniGameStadiumStartCopy);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_82_MiniGameStadiumStartCopy/316440", func_800F6650_MiniGameStadiumStartCopy);
void func_800F6650_MiniGameStadiumStartCopy(s32 arg0, s32 arg1) {
playerMain* temp_s0;
playerMain* temp_s1;
void* temp_s2;
temp_s1 = GetPlayerStruct(arg0);
temp_s2 = GetPlayerStruct(arg1);
temp_s0 = HuMemDirectMalloc(sizeof(playerMain));
bcopy(temp_s1, temp_s0, sizeof(playerMain));
bcopy(temp_s2, temp_s1, sizeof(playerMain));
bcopy(temp_s0, temp_s2, sizeof(playerMain));
HuMemDirectFree(temp_s0);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_82_MiniGameStadiumStartCopy/316440", func_800F66D8_MiniGameStadiumStartCopy);

View File

@ -0,0 +1,6 @@
#include "common.h"
void func_800F77E0_MiniGameStadiumStartCopy(void);
void func_800F7880_MiniGameStadiumStartCopy(void);
void func_800F76E0_MiniGameStadiumStartCopy(void);
void func_800F7794_MiniGameStadiumStartCopy(void);

View File

@ -1,8 +1,18 @@
#include "common.h"
#include "317980.h"
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F65E0_DebugMinigameMenu);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F6B14_DebugMinigameMenu);
void func_800F6B14_DebugMinigameMenu(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6) {
func_800178A0(1);
D_800EE98C = arg0;
D_800F33EC.y = arg1;
D_800F33EC.x = arg2;
D_800F33EC.z = arg3;
D_800F6524.x = arg4;
D_800F6524.y = arg5;
D_800F6524.z = arg6;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F6BAC_DebugMinigameMenu);
@ -238,7 +248,9 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_80
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F855C_DebugMinigameMenu);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F8A24_DebugMinigameMenu);
void func_800F8A24_DebugMinigameMenu(omObjData* arg0) {
arg0->func_ptr = &func_800F8A34_DebugMinigameMenu;
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F8A34_DebugMinigameMenu);
@ -248,7 +260,12 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_80
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F94C8_DebugMinigameMenu);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F95F8_DebugMinigameMenu);
void func_800F95F8_DebugMinigameMenu(u16 arg0, u16 arg1, s32 arg2, u16 arg3, u16 arg4) {
D_800ECB24 = arg4;
func_800622BC(arg0 + 1, arg1 + 1, arg2);
D_800ECB24 = arg3;
func_800622BC(arg0, arg1, arg2);
}
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F9678_DebugMinigameMenu);
@ -256,4 +273,23 @@ INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_80
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F9744_DebugMinigameMenu);
INCLUDE_ASM("asm/nonmatchings/overlays/ovl_83_DebugMinigameMenu/317980", func_800F9810_DebugMinigameMenu);
void func_800F9810_DebugMinigameMenu(void) {
u8 sp10[4];
s32 randByte;
s32 i;
for (i = 0; i < 4; i++) {
sp10[i] = 0;
}
for (i = 0; i < 4; i++) {
while (1) {
randByte = rand8() & 3;
if (!(sp10[randByte] == 1)) {
break;
}
}
sp10[randByte] = 1;
D_800FAC60_DebugMinigameMenu[i].flags = randByte;
}
}

View File

@ -0,0 +1,7 @@
#include "common.h"
void func_800F8A34_DebugMinigameMenu(void);
void func_800622BC(u16, u16, s32);
extern s32 D_800ECB24;
extern playerMain D_800FAC60_DebugMinigameMenu[4]; //struct of size 0x30?

View File

@ -484,7 +484,6 @@ D_80100318 = 0x80100318; //rom:0x222248 type:f64 force_migration:True
D_80100920 = 0x80100920; //rom:0x22C660 type:f64 force_migration:True
D_800F7600 = 0x800F7600; //rom:0x28E010 type:f64 force_migration:True
D_800F8D54 = 0x800F8D54; //rom:0x2D6FA4 type:char* force_migration:True
D_800F6F70 = 0x800F6F70; //rom:0x2BB370 type:s32
D_800F7DB8_DebugRandomPlay = 0x800F7DB8; //rom:0x302C98 type:s32
D_800F9240 = 0x800F9240; //rom:0x30F1A0 type:char* force_migration:True
D_800CC728 = 0x800CC728; //rom:0xCD328 type:char* force_migration:True
@ -495,7 +494,7 @@ D_800CB3D0 = 0x800CB3D0; //rom:0xCBFD0 type:char* force_migration:True
D_800F370C = 0x800F370C; //type:u16
D_800F370E = 0x800F370E; //type:s16
D_800ED100 = 0x800ED100; //size:0x94
D_800ECDE8 = 0x800ECDE8;
D_800FC500_FaceLift = 0x800FC500; //rom:0x131B40 segment:FaceLift
@ -509,6 +508,7 @@ D_800FEE28_ShellGame = 0x800FEE28; // segment:ShellGame force_migration:True
D_800F9A00_PipeMaze = 0x800F9A00; // rom:0x1171E0 segment:PipeMaze force_migration:True
D_800FD5CC_ShyGuySays = 0x800FD5CC; // segment:ShyGuySays
D_800FD5CE_ShyGuySays = 0x800FD5CE; // segment:ShyGuySays
D_800F6F70_LogosSequenceCopy = 0x800F6F70; // segment:LogosSequenceCopy type:s32
__MotorDataBuf = 0x800EA1D0;
piAccessBuf = 0x800EA1C0;