mirror of
https://github.com/Rainchus/mp1.git
synced 2025-02-19 20:41:01 +00:00
imported all code from master branch
This commit is contained in:
parent
a1589622a4
commit
e8f2ab5bb5
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
23
src/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0.h
Normal file
23
src/overlays/ovl_41_YoshisTropicalIslandEndingScene/2721F0.h
Normal 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
31
src/overlays/ovl_46_BowserSpaceEvent/282820.h
Normal file
31
src/overlays/ovl_46_BowserSpaceEvent/282820.h
Normal 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);
|
||||
|
@ -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();
|
||||
}
|
||||
|
16
src/overlays/ovl_47/285230.h
Normal file
16
src/overlays/ovl_47/285230.h
Normal 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;
|
||||
|
@ -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();
|
||||
}
|
||||
|
31
src/overlays/ovl_48_BowserVisitDKBoard/285B70.h
Normal file
31
src/overlays/ovl_48_BowserVisitDKBoard/285B70.h
Normal 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;
|
@ -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();
|
||||
}
|
||||
|
18
src/overlays/ovl_49_BowserVisitPeachBoard/286700.h
Normal file
18
src/overlays/ovl_49_BowserVisitPeachBoard/286700.h
Normal 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;
|
@ -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();
|
||||
}
|
||||
|
14
src/overlays/ovl_50_LoadCannonWarioBoard/28E030.h
Normal file
14
src/overlays/ovl_50_LoadCannonWarioBoard/28E030.h
Normal 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;
|
@ -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();
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
15
src/overlays/ovl_52_FlyGuyWarioBoard/28ECA0.h
Normal file
15
src/overlays/ovl_52_FlyGuyWarioBoard/28ECA0.h
Normal 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;
|
10
src/overlays/ovl_53_BowserVisitWarioBoard/2908F0.h
Normal file
10
src/overlays/ovl_53_BowserVisitWarioBoard/2908F0.h
Normal 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);
|
@ -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();
|
||||
}
|
||||
|
27
src/overlays/ovl_55_MoveDoorsLuigiBoard/292020.h
Normal file
27
src/overlays/ovl_55_MoveDoorsLuigiBoard/292020.h
Normal 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;
|
||||
|
@ -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);
|
||||
|
21
src/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260.h
Normal file
21
src/overlays/ovl_56_BowserToadSwapPlacesMarioBoard/293260.h
Normal 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;
|
||||
|
@ -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 };
|
20
src/overlays/ovl_60/29AB30.h
Normal file
20
src/overlays/ovl_60/29AB30.h
Normal 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;
|
@ -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;
|
||||
}
|
||||
|
24
src/overlays/ovl_61_OpeningScene/29B410.h
Normal file
24
src/overlays/ovl_61_OpeningScene/29B410.h
Normal 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;
|
112
src/overlays/ovl_62_BoardIntro/2A2500.c
Normal file
112
src/overlays/ovl_62_BoardIntro/2A2500.c
Normal 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);
|
22
src/overlays/ovl_62_BoardIntro/2A2500.h
Normal file
22
src/overlays/ovl_62_BoardIntro/2A2500.h
Normal 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;
|
5
src/overlays/ovl_62_BoardIntro/2A51E0.c
Normal file
5
src/overlays/ovl_62_BoardIntro/2A51E0.c
Normal 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);
|
5
src/overlays/ovl_62_BoardIntro/2A5420.c
Normal file
5
src/overlays/ovl_62_BoardIntro/2A5420.c
Normal 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);
|
5
src/overlays/ovl_62_BoardIntro/2A5840.c
Normal file
5
src/overlays/ovl_62_BoardIntro/2A5840.c
Normal 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);
|
15
src/overlays/ovl_62_BoardIntro/2A5E50.c
Normal file
15
src/overlays/ovl_62_BoardIntro/2A5E50.c
Normal 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);
|
27
src/overlays/ovl_62_BoardIntro/2A6500.c
Normal file
27
src/overlays/ovl_62_BoardIntro/2A6500.c
Normal 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);
|
11
src/overlays/ovl_62_BoardIntro/2A6EA0.c
Normal file
11
src/overlays/ovl_62_BoardIntro/2A6EA0.c
Normal 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);
|
5
src/overlays/ovl_62_BoardIntro/2A74F0.c
Normal file
5
src/overlays/ovl_62_BoardIntro/2A74F0.c
Normal 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);
|
25
src/overlays/ovl_62_BoardIntro/2A76E0.c
Normal file
25
src/overlays/ovl_62_BoardIntro/2A76E0.c
Normal 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);
|
@ -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);
|
@ -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);
|
@ -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);
|
@ -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);
|
@ -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);
|
@ -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);
|
@ -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);
|
@ -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);
|
@ -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);
|
@ -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);
|
||||
|
||||
|
11
src/overlays/ovl_65_UnknownBooStealScene/2B74A0.h
Normal file
11
src/overlays/ovl_65_UnknownBooStealScene/2B74A0.h
Normal 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);
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
40
src/overlays/ovl_67_LogosSequenceCopy/logos.h
Normal file
40
src/overlays/ovl_67_LogosSequenceCopy/logos.h
Normal 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;
|
@ -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);
|
||||
}
|
||||
|
3
src/overlays/ovl_68_SaveDataCorrupted/2BB390.h
Normal file
3
src/overlays/ovl_68_SaveDataCorrupted/2BB390.h
Normal file
@ -0,0 +1,3 @@
|
||||
#include "common.h"
|
||||
|
||||
void func_800F67C0_SaveDataCorrupted(void);
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
30
src/overlays/ovl_69_GameModeOverworld/2BB5C0.h
Normal file
30
src/overlays/ovl_69_GameModeOverworld/2BB5C0.h
Normal 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);
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
35
src/overlays/ovl_70_TestingRoom/2F40C0.h
Normal file
35
src/overlays/ovl_70_TestingRoom/2F40C0.h
Normal 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);
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
}
|
@ -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);
|
||||
}
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
6
src/overlays/ovl_79/3005B0.h
Normal file
6
src/overlays/ovl_79/3005B0.h
Normal 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;
|
@ -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);
|
||||
|
||||
|
6
src/overlays/ovl_82_MiniGameStadiumStartCopy/316440.h
Normal file
6
src/overlays/ovl_82_MiniGameStadiumStartCopy/316440.h
Normal 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);
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
7
src/overlays/ovl_83_DebugMinigameMenu/317980.h
Normal file
7
src/overlays/ovl_83_DebugMinigameMenu/317980.h
Normal 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?
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user