add statue.c decomp to w03Dll
This commit is contained in:
parent
9ecc042cc4
commit
6934e4307e
11 changed files with 706 additions and 577 deletions
|
|
@ -135,32 +135,32 @@ lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:f
|
|||
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0xC data:4byte
|
||||
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x24 data:4byte
|
||||
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x6 data:2byte
|
||||
lbl_1_rodata_BE = .rodata:0x000000BE; // type:object size:0x1 data:byte
|
||||
lbl_1_rodata_C2 = .rodata:0x000000C2; // type:object size:0x6 data:byte
|
||||
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:float
|
||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0xC scope:local data:4byte
|
||||
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x24 scope:local data:4byte
|
||||
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x6 scope:local data:2byte
|
||||
lbl_1_rodata_BE = .rodata:0x000000BE; // type:object size:0x1 scope:local data:byte
|
||||
lbl_1_rodata_C2 = .rodata:0x000000C2; // type:object size:0x6 scope:local data:byte
|
||||
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:float
|
||||
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float
|
||||
|
|
|
|||
|
|
@ -928,7 +928,7 @@ config.libs = [
|
|||
objects = {
|
||||
Object(Matching, "REL/board_executor.c"),
|
||||
Object(Matching, "REL/w03Dll/main.c"),
|
||||
Object(NonMatching, "REL/w03Dll/statue.c"),
|
||||
Object(Matching, "REL/w03Dll/statue.c"),
|
||||
Object(NonMatching, "REL/w03Dll/condor.c"),
|
||||
Object(NonMatching, "REL/w03Dll/river.c"),
|
||||
Object(NonMatching, "REL/w03Dll/smoke.c"),
|
||||
|
|
|
|||
|
|
@ -3,10 +3,15 @@
|
|||
|
||||
#include "dolphin.h"
|
||||
|
||||
#ifndef _BOARD_SPACE_EVENT_FUNC
|
||||
#define _BOARD_SPACE_EVENT_FUNC
|
||||
typedef s32 (*BoardSpaceEventFunc)(void);
|
||||
#endif
|
||||
|
||||
void BoardCameraTargetModelSet(s16 model);
|
||||
void BoardCameraMotionStartEx(s16, Vec *, Vec *, f32, f32, s16);
|
||||
void BoardCameraMotionWait(void);
|
||||
void BoardSpacePosGet(s32, s32, Vec*);
|
||||
s32 BoardSpacePosGet(s32, s32, Vec*);
|
||||
void BoardShopTutorialExec(s32);
|
||||
void BoardLotteryTutorialExec(void);
|
||||
s16 BoardStarHostMdlGet(void);
|
||||
|
|
@ -34,10 +39,10 @@ void BoardModelPosSetV(s16, Vec*);
|
|||
void BoardModelPosSet(s16, f32, f32, f32);
|
||||
void BoardModelRotSetV(s16 arg0, Vec* arg1);
|
||||
void BoardModelVisibilitySet(s16, s32);
|
||||
void BoardSpaceWalkEventFuncSet(void*);
|
||||
void BoardSpaceWalkMiniEventFuncSet(void*);
|
||||
void BoardSpaceLandEventFuncSet(void*);
|
||||
s32 BoardSpaceFlagSearch(s32, s32);
|
||||
void BoardSpaceWalkEventFuncSet(BoardSpaceEventFunc func);
|
||||
void BoardSpaceWalkMiniEventFuncSet(BoardSpaceEventFunc func);
|
||||
void BoardSpaceLandEventFuncSet(BoardSpaceEventFunc func);
|
||||
s32 BoardSpaceFlagSearch(s32, u32);
|
||||
void BoardSpaceInit(s32);
|
||||
void BoardSpaceDestroy(void);
|
||||
void BoardShopHostSet(s16);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,10 @@
|
|||
|
||||
#define BOARD_SPACE_LINKMAX 4
|
||||
|
||||
#ifndef _BOARD_SPACE_EVENT_FUNC
|
||||
#define _BOARD_SPACE_EVENT_FUNC
|
||||
typedef s32 (*BoardSpaceEventFunc)(void);
|
||||
#endif
|
||||
|
||||
typedef struct board_space {
|
||||
Vec pos;
|
||||
|
|
|
|||
|
|
@ -1,457 +0,0 @@
|
|||
#include "common.h"
|
||||
#include "dolphin.h"
|
||||
#include "REL/executor.h"
|
||||
#include "game/process.h"
|
||||
#include "game/data.h"
|
||||
|
||||
void fn_8005B150(void*, void*);
|
||||
void fn_1_740(void);
|
||||
void fn_1_E0(void);
|
||||
typedef void (*VoidFunc)(void);
|
||||
extern const VoidFunc _ctors[];
|
||||
extern const VoidFunc _dtors[];
|
||||
|
||||
typedef struct w03StructUnk0 {
|
||||
/* 0x00 */ Vec unk_00;
|
||||
/* 0x0C */ Vec unk_0C;
|
||||
/* 0x18 */ Vec unk_18;
|
||||
/* 0x24 */ s32 datanum;
|
||||
} w03StructUnk0;
|
||||
|
||||
typedef struct w03State {
|
||||
s8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
s8 unk3;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
s16 unk8;
|
||||
} w03State;
|
||||
|
||||
//DATA
|
||||
w03StructUnk0 lbl_1_data_0[] = {
|
||||
{{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0004)},
|
||||
{{145.099f, 65.6173f, -2004.14f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0005)},
|
||||
{{-2004.14f, -1148.76f, -1095.54f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0006)},
|
||||
{{1050.0f, 50.0f, -1810.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x000B)},
|
||||
{{-1950.0f, 50.0f, 1790.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 0.914f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x000B)},
|
||||
{{1050.0f, 0.0f, -1750.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x000A)},
|
||||
{{-1950.0f, 0.0f, 1850.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 0.914f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x000A)},
|
||||
{{1950.0f, 0.0f, -1800.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0010)},
|
||||
{{-3150.0f, 0.0f, -600.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0011)},
|
||||
{{-3150.0f, 270.0f, -600.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0012)},
|
||||
{{2080.0f, 0.0f, -1635.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0002, 0x000D)},
|
||||
{{-3000.0f, 0.0f, -500.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0002, 0x000D)},
|
||||
};
|
||||
|
||||
s16 lbl_1_data_1E0 = 1;
|
||||
s16 lbl_1_data_1E2 = 1;
|
||||
s16 lbl_1_data_1E4 = 1;
|
||||
s16 lbl_1_data_1E6 = 1;
|
||||
s16 lbl_1_data_1E8 = 1;
|
||||
|
||||
typedef struct w03StructUnk1 {
|
||||
f32 unk_00;
|
||||
f32 unk_04;
|
||||
f32 unk_08;
|
||||
f32 unk_0C;
|
||||
f32 unk_10;
|
||||
f32 unk_14;
|
||||
f32 unk_18;
|
||||
f32 unk_1C;
|
||||
} w03StructUnk1;
|
||||
|
||||
w03StructUnk1 lbl_1_data_1EC = {
|
||||
0.0f, 118.0f, 120.0f, 180.0f, 180.0f, 240.0f, 240.0f, 300.0f
|
||||
};
|
||||
|
||||
s32 lbl_1_data_20C = {
|
||||
MAKE_DATA_NUM(0x0077, 0x001C),
|
||||
DATA_NUM_LISTEND
|
||||
};
|
||||
|
||||
s32 lbl_1_data_214 = {
|
||||
MAKE_DATA_NUM(0x0002, 0x000E),
|
||||
DATA_NUM_LISTEND
|
||||
};
|
||||
|
||||
s32 lbl_1_data_21C[] = {
|
||||
-1, -1, -1, -1
|
||||
};
|
||||
|
||||
Vec lbl_1_data_22C[] = {
|
||||
{3900.0f, 0.0f, 2100.0f},
|
||||
{3900.0f, 0.0f, 3600.0f},
|
||||
{2700.0f, 0.0f, 5400.0f},
|
||||
{2700.0f, 0.0f, 6300.0f},
|
||||
};
|
||||
|
||||
s32 lbl_1_data_25C[] = {
|
||||
0x0000044B, 0x00000439, 0x00000439, 0x0000044D
|
||||
};
|
||||
|
||||
s32 lbl_1_data_26C[] = {
|
||||
0x0000044C, 0x0000043A, 0x0000043A, 0x0000044E
|
||||
};
|
||||
|
||||
//BSS
|
||||
w03State* lbl_1_bss_0;
|
||||
|
||||
void fn_1_CF4(void);
|
||||
|
||||
void fn_1_0(void) {
|
||||
fn_8005B150(&fn_1_E0, &fn_1_740);
|
||||
}
|
||||
|
||||
int _prolog(void) {
|
||||
const VoidFunc* ctors = _ctors;
|
||||
while (*ctors != 0) {
|
||||
(**ctors)();
|
||||
ctors++;
|
||||
}
|
||||
fn_8005B150(&fn_1_E0, &fn_1_740);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void _epilog(void) {
|
||||
const VoidFunc* dtors = _dtors;
|
||||
while (*dtors != 0) {
|
||||
(**dtors)();
|
||||
dtors++;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_E0(void) {
|
||||
Vec* var_r29;
|
||||
f32 var_f30;
|
||||
f32 var_f31;
|
||||
s32 var_r31;
|
||||
s32 var_r31_2;
|
||||
w03StructUnk0* temp_r30;
|
||||
s32 i;
|
||||
|
||||
lbl_1_bss_0 = (w03State*)&GWSystem.board_data;
|
||||
lbl_1_bss_0->unk3 = 0;
|
||||
fn_800772EC(0x770000);
|
||||
lbl_1_data_1E0 = fn_8006D9A4(0x770001, NULL, 0);
|
||||
fn_8006DDE8(lbl_1_data_1E0, -1.0f);
|
||||
fn_8006F1A8(lbl_1_data_1E0, 0.0f, 0.0f, 0.0f);
|
||||
fn_8006E2B8(lbl_1_data_1E0, 0, 0x40000001);
|
||||
lbl_1_data_1E8 = fn_8006D9A4(0x770003, NULL, 0);
|
||||
fn_8006DDE8(lbl_1_data_1E8, -1.0f);
|
||||
fn_8006F1A8(lbl_1_data_1E8, 0.0f, 0.0f, 0.0f);
|
||||
fn_8006F61C(lbl_1_data_1E8, 2);
|
||||
lbl_1_data_1E2 = fn_8006D9A4(0x770002, NULL, 0);
|
||||
fn_8006DDE8(lbl_1_data_1E2, -1.0f);
|
||||
fn_8006F1A8(lbl_1_data_1E2, 0.0f, 0.0f, 0.0f);
|
||||
fn_8006E2B8(lbl_1_data_1E2, 0, 0x40000001);
|
||||
lbl_1_data_1E4 = fn_8006D9A4(0x77001B, &lbl_1_data_20C, 0);
|
||||
fn_8006F1A8(lbl_1_data_1E4, 0.0f, 0.0f, 0.0f);
|
||||
fn_8006E2B8(lbl_1_data_1E4, 1, 0x40000001);
|
||||
lbl_1_data_1E6 = fn_8006D9A4(0x2000D, &lbl_1_data_214, 0);
|
||||
fn_8006F1A8(lbl_1_data_1E6, 0.0f, 0.0f, 0.0f);
|
||||
fn_8006E2B8(lbl_1_data_1E6, 1, 0x40000001);
|
||||
|
||||
for (i = 0; i < 0xC; i++) {
|
||||
temp_r30 = &lbl_1_data_0[i];
|
||||
if (temp_r30->datanum != -1) {
|
||||
if ((i == 10) || (i == 11)) {
|
||||
var_r29 = &lbl_1_data_214;
|
||||
} else {
|
||||
var_r29 = NULL;
|
||||
}
|
||||
lbl_1_bss_C[i]= fn_8006D9A4(temp_r30->datanum, var_r29, 0);
|
||||
fn_8006F158(lbl_1_bss_C[i], temp_r30);
|
||||
fn_8006F220(lbl_1_bss_C[i], &temp_r30->unk_0C);
|
||||
fn_8006F2E8(lbl_1_bss_C[i], &temp_r30->unk_18);
|
||||
fn_8006F50C(lbl_1_bss_C[i], 1);
|
||||
}
|
||||
}
|
||||
fn_8006E2B8(lbl_1_bss_C[10], 1, 0x40000001);
|
||||
fn_8006E2B8(lbl_1_bss_C[11], 1, 0x40000001);
|
||||
fn_8006E2B8(lbl_1_bss_C[7], 0, 0x40000002);
|
||||
fn_8006E2B8(lbl_1_bss_C[9], 0, 0x40000002);
|
||||
fn_8006E2B8(lbl_1_bss_C[1], 0, 0x40000002);
|
||||
fn_1_3058();
|
||||
fn_1_6494();
|
||||
fn_1_7ABC();
|
||||
fn_1_9A7C();
|
||||
fn_8005D10C(&fn_1_884, &fn_1_8F0);
|
||||
fn_80073FF4(&fn_1_910);
|
||||
fn_80073FFC(&fn_1_A74);
|
||||
fn_80074004(&fn_1_AF8);
|
||||
fn_80083EDC(lbl_1_data_1E4);
|
||||
fn_800A4F6C(lbl_1_data_1E6);
|
||||
fn_8007A83C(lbl_1_data_1E6);
|
||||
fn_80077AAC(lbl_1_data_1E6);
|
||||
fn_80064D84(0x0000C000);
|
||||
fn_80064D84(0x3000);
|
||||
fn_1_CF4();
|
||||
fn_8006E2B8(lbl_1_bss_C[0], 0, 0x40000001);
|
||||
if (lbl_1_bss_0->unk0 != 0) {
|
||||
var_f30 = lbl_1_data_1EC.unk_10;
|
||||
var_f31 = lbl_1_data_1EC.unk_14;
|
||||
fn_1_63F4(0);
|
||||
} else {
|
||||
var_f30 = lbl_1_data_1EC.unk_00;
|
||||
var_f31 = lbl_1_data_1EC.unk_04;
|
||||
fn_1_63F4(1);
|
||||
}
|
||||
fn_8006E0B0(lbl_1_bss_C[0], var_f30, var_f31);
|
||||
fn_8006E2B8(lbl_1_bss_C[2], 0, 0x40000001);
|
||||
fn_8006E0B0(lbl_1_bss_C[2], 1, 0x64);
|
||||
fn_1_785C();
|
||||
if (lbl_1_bss_0->unk2 != 0) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
if ((lbl_1_bss_0->unk2 & (1 << i)) != 0) {
|
||||
fn_80064338(i, &fn_1_2930);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
fn_1_DEC();
|
||||
}
|
||||
|
||||
void fn_1_740(void) {
|
||||
s32 i;
|
||||
|
||||
fn_1_10B0();
|
||||
fn_1_9A9C();
|
||||
fn_1_7B58();
|
||||
for (i = 0; i < 0x0C; i++) {
|
||||
fn_8006DB90(lbl_1_bss_C[i]);
|
||||
lbl_1_bss_C[i] = -1;
|
||||
}
|
||||
if (lbl_1_data_1E6 != -1) {
|
||||
fn_8006DB90(lbl_1_data_1E6);
|
||||
lbl_1_data_1E6 = -1;
|
||||
}
|
||||
if (lbl_1_data_1E4 != -1) {
|
||||
fn_8006DB90(lbl_1_data_1E4);
|
||||
lbl_1_data_1E4 = -1;
|
||||
}
|
||||
if (lbl_1_data_1E0 != -1) {
|
||||
fn_8006DB90(lbl_1_data_1E0);
|
||||
lbl_1_data_1E0 = -1;
|
||||
}
|
||||
if (lbl_1_data_1E2 != -1) {
|
||||
fn_8006DB90(lbl_1_data_1E2);
|
||||
lbl_1_data_1E2 = -1;
|
||||
}
|
||||
}
|
||||
|
||||
extern f32 lbl_1_rodata_18;
|
||||
extern f32 lbl_1_rodata_1C;
|
||||
|
||||
void fn_1_884(void) {
|
||||
s32 var = fn_8006DBD4(lbl_1_data_1E0);
|
||||
Hu3DModelLightInfoSet(var, 1);
|
||||
Hu3DFogSet(lbl_1_rodata_18, lbl_1_rodata_1C, 0xE4U, 0xF0U, 0xFFU);
|
||||
}
|
||||
|
||||
void fn_1_8F0(void) {
|
||||
Hu3DFogClear();
|
||||
}
|
||||
|
||||
s32 fn_1_910(void) {
|
||||
u32 temp_r3;
|
||||
s32 cur_player_index;
|
||||
s32 unkC;
|
||||
|
||||
cur_player_index = GWSystem.player_curr;
|
||||
unkC = GWPlayer[cur_player_index].unkC;
|
||||
temp_r3 = fn_80074138(0, unkC);
|
||||
if (temp_r3 & 0xC000) {
|
||||
if ((fn_8006413C(cur_player_index) == 2) || ((u8) (( GWPlayer[cur_player_index].placement >> 4U) & 1))) {
|
||||
return 0;
|
||||
}
|
||||
if (temp_r3 & 0x4000) {
|
||||
if (lbl_1_bss_0->unk1 == 0) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if (temp_r3 & 0x8000 && lbl_1_bss_0->unk1 != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return fn_1_309C();
|
||||
}
|
||||
if (temp_r3 & 0x200) {
|
||||
if ((fn_8006413C(cur_player_index) == 2) || ((u8) ((GWPlayer[cur_player_index].placement >> 4U) & 1) != 0)) {
|
||||
return 0;
|
||||
}
|
||||
return fn_1_675C();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fn_1_A74(void) {
|
||||
s16 temp = GWPlayer[GWSystem.player_curr].unkC;
|
||||
u32 var = fn_80074138(0, temp) & 0x600000;
|
||||
if (var + -0x200000 == 0) {
|
||||
fn_1_7BA8();
|
||||
return;
|
||||
}
|
||||
if (var + -0x400000 == 0) {
|
||||
fn_1_9AA0();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_AF8(void) {
|
||||
if ((fn_8006413C(GWSystem.player_curr) == 0) && (fn_1_12C8() != 0) && (lbl_1_bss_0->unk2 != 0)) {
|
||||
fn_80064D84(0xC00);
|
||||
}
|
||||
}
|
||||
void fn_1_B5C(s32 arg0) {
|
||||
f32 var_f31;
|
||||
f32 var_f30;
|
||||
f32 var_f29;
|
||||
f32 var_f28;
|
||||
f32 temp;
|
||||
|
||||
if (arg0 != 0) {
|
||||
var_f30 = lbl_1_data_1EC.unk_08;
|
||||
var_f29 = lbl_1_data_1EC.unk_0C;
|
||||
var_f31 = lbl_1_data_1EC.unk_10;
|
||||
var_f28 = lbl_1_data_1EC.unk_14;
|
||||
fn_1_63F4(0);
|
||||
} else {
|
||||
var_f30 = lbl_1_data_1EC.unk_18;
|
||||
var_f29 = lbl_1_data_1EC.unk_1C;
|
||||
var_f31 = lbl_1_data_1EC.unk_00;
|
||||
var_f28 = lbl_1_data_1EC.unk_04;
|
||||
fn_1_63F4(1);
|
||||
}
|
||||
fn_8006E2B8(lbl_1_bss_C[0], 0, 0);
|
||||
fn_8006E674(lbl_1_bss_C[0], var_f30);
|
||||
while (1) {
|
||||
temp = fn_8006E6F8(lbl_1_bss_C[0]);
|
||||
if (temp >= var_f29) {
|
||||
break;
|
||||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
fn_8006E5C4(lbl_1_bss_C[0], 0x40000001);
|
||||
fn_8006E674(lbl_1_bss_C[0], var_f31);
|
||||
fn_8006E0B0(lbl_1_bss_C[0], (s32) var_f31, (s32) var_f28);
|
||||
}
|
||||
|
||||
void fn_1_CF4(void) {
|
||||
s16 var;
|
||||
s32 i, j;
|
||||
spaceData* temp_r28;
|
||||
spaceData* temp_r31;
|
||||
|
||||
for (i = 0; i < fn_800740B4(0); i++) {
|
||||
var = i + 1;
|
||||
temp_r31 = fn_800740C4(0, var);
|
||||
for (j = 0; j < temp_r31->num_links; j++) {
|
||||
if (fn_80074138(0, temp_r31->links[j]) & 0xC00) {
|
||||
temp_r28 = fn_800740C4(0, temp_r31->links[j]);
|
||||
if (lbl_1_bss_0->unk0 != 0) {
|
||||
temp_r28->flag |= 0x04000000;
|
||||
fn_80064D84(0xC00);
|
||||
} else {
|
||||
temp_r28->flag &= ~0x04000000;
|
||||
fn_80064D94(0xC00);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_DEC(void) {
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
omObjData* temp_r3;
|
||||
s32 var_r31;
|
||||
s32 var_r31_2;
|
||||
w03UnkStruct2* temp_r29;
|
||||
s32 i;
|
||||
|
||||
temp_r3 = omAddObjEx(lbl_801D3ED4, 0x101, 0, 0, -1, &fn_1_10E4);
|
||||
lbl_1_bss_4 = temp_r3;
|
||||
temp_r29 = (w03UnkStruct2*)&temp_r3->work[0];
|
||||
temp_r29->unk0 = 0;
|
||||
lbl_1_bss_8 = 0;
|
||||
fn_8005D530(&sp20);
|
||||
fn_8005D628(&sp14);
|
||||
HuAudFXListnerSetEX(&sp20, &sp14, 1200.0f, 4800.0f, 36000.0f, 0.0f, 1200.0f);
|
||||
for (i = 0; i < 4; i++) {
|
||||
sp8.x = lbl_1_data_22C[i].x - 3600.0f;
|
||||
sp8.y = lbl_1_data_22C[i].y;
|
||||
sp8.z = lbl_1_data_22C[i].z - 3600.0f;
|
||||
if (lbl_1_bss_0->unk2 != 0) {
|
||||
lbl_1_data_21C[i] = HuAudFXEmiterPlay(lbl_1_data_26C[i], &sp8);
|
||||
} else {
|
||||
lbl_1_data_21C[i] = HuAudFXEmiterPlay(lbl_1_data_25C[i], &sp8);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if ((WipeStatGet() != 0) || (_CheckFlag(0x1001CU) != 0)) {
|
||||
HuAudFXVolSet(lbl_1_data_21C[i], 0);
|
||||
} else {
|
||||
HuAudFXVolSet(lbl_1_data_21C[i], 0x7F);
|
||||
}
|
||||
}
|
||||
|
||||
if (_CheckFlag(0x10010) == 0) {
|
||||
if (lbl_1_bss_8 == 0) {
|
||||
HuAudFXPauseAll(1);
|
||||
lbl_1_bss_8 = 1;
|
||||
}
|
||||
} else if (lbl_1_bss_8 != 0) {
|
||||
HuAudFXPauseAll(0);
|
||||
lbl_1_bss_8 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_10B0(void) {
|
||||
if (lbl_1_bss_4) {
|
||||
((w03UnkStruct2*)&lbl_1_bss_4->work[0])->unk0 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_10E4(omObjData* arg0) {
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
s32 i;
|
||||
w03UnkStruct2* temp_r29;
|
||||
|
||||
temp_r29 = (w03UnkStruct2*)&arg0->work[0];
|
||||
if (temp_r29->unk0 != 0 || (fn_8005B6A8() != 0)) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (lbl_1_data_21C[i] != -1) {
|
||||
HuAudFXFadeOut(lbl_1_data_21C[i], 100);
|
||||
}
|
||||
}
|
||||
HuAudFXListnerKill();
|
||||
lbl_1_bss_4 = 0;
|
||||
omDelObjEx(HuPrcCurrentGet(), arg0);
|
||||
return;
|
||||
}
|
||||
fn_8005D628(&sp8);
|
||||
fn_8005D578(&sp14);
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if ((WipeStatGet() != 0) || (_CheckFlag(0x1001C) != 0)) {
|
||||
HuAudFXVolSet(lbl_1_data_21C[i], 0);
|
||||
} else {
|
||||
HuAudFXVolSet(lbl_1_data_21C[i], 0x7F);
|
||||
}
|
||||
}
|
||||
|
||||
sp14.y += 2000.0f;
|
||||
if (_CheckFlag(0x10010) == 0) {
|
||||
if (lbl_1_bss_8 == 0) {
|
||||
HuAudFXPauseAll(1);
|
||||
lbl_1_bss_8 = 1;
|
||||
}
|
||||
} else if (lbl_1_bss_8 != 0) {
|
||||
HuAudFXPauseAll(0);
|
||||
lbl_1_bss_8 = 0;
|
||||
}
|
||||
HuAudFXListnerUpdate(&sp14, &sp8);
|
||||
}
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
#include "common.h"
|
||||
#include "dolphin.h"
|
||||
#include "REL/executor.h"
|
||||
#include "game/process.h"
|
||||
#include "game/data.h"
|
||||
|
||||
//DATA file1
|
||||
s16 lbl_1_data_280 = -1;
|
||||
s16 lbl_1_data_282 = -1;
|
||||
s16 lbl_1_data_284 = -1;
|
||||
s16 lbl_1_data_286 = -1;
|
||||
s32 lbl_1_data_288 = -1;
|
||||
|
||||
//char lbl_1_data_28C[] = "%d";
|
||||
|
||||
//shouldn't use MAKE_DATA_NUM
|
||||
s32 lbl_1_data_290[] = {
|
||||
MAKE_DATA_NUM(0x005F, 0x0062),
|
||||
MAKE_DATA_NUM(0x001A, 0x0062),
|
||||
MAKE_DATA_NUM(0x006D, 0x0062),
|
||||
MAKE_DATA_NUM(0x008A, 0x0062),
|
||||
MAKE_DATA_NUM(0x0085, 0x0062),
|
||||
MAKE_DATA_NUM(0x0011, 0x0062),
|
||||
MAKE_DATA_NUM(0x000D, 0x0062),
|
||||
MAKE_DATA_NUM(0x0081, 0x0062),
|
||||
};
|
||||
|
||||
//shouldn't use MAKE_DATA_NUM
|
||||
s32 lbl_1_data_2B0[] = {
|
||||
MAKE_DATA_NUM(0x005F, 0x0033),
|
||||
MAKE_DATA_NUM(0x001A, 0x0033),
|
||||
MAKE_DATA_NUM(0x006D, 0x0033),
|
||||
MAKE_DATA_NUM(0x008A, 0x0033),
|
||||
MAKE_DATA_NUM(0x0085, 0x0033),
|
||||
MAKE_DATA_NUM(0x0011, 0x0033),
|
||||
MAKE_DATA_NUM(0x000D, 0x0033),
|
||||
MAKE_DATA_NUM(0x0081, 0x0033),
|
||||
};
|
||||
|
||||
s32 lbl_1_data_2D0[] = {
|
||||
0x125, 0x165, 0x1A5, 0x1E5, 0x225, 0x265, 0x2A5, 0x2E5
|
||||
};
|
||||
|
||||
s32 lbl_1_data_2F0[] = {
|
||||
0x12E, 0x16E, 0x1AE, 0x1EE, 0x22E, 0x26E, 0x2AE, 0x2EE
|
||||
};
|
||||
|
||||
s16 lbl_1_data_310 = -1;
|
||||
s16 lbl_1_data_312 = -1;
|
||||
s16 lbl_1_data_314 = -1;
|
||||
s16 lbl_1_data_316 = -1;
|
||||
|
||||
|
||||
s32 lbl_1_data_318[] = {
|
||||
MAKE_DATA_NUM(0x0077, 0x0016),
|
||||
MAKE_DATA_NUM(0x0077, 0x0017),
|
||||
MAKE_DATA_NUM(0x0077, 0x0018),
|
||||
MAKE_DATA_NUM(0x0077, 0x0019),
|
||||
MAKE_DATA_NUM(0x0077, 0x001A),
|
||||
DATA_NUM_LISTEND
|
||||
};
|
||||
|
||||
char lbl_1_data_330[] = "itemhook_oya";
|
||||
char lbl_1_data_33D[] = "jyanA";
|
||||
char lbl_1_data_343[] = "jyanB";
|
||||
|
||||
char* lbl_1_data_34C[] = {
|
||||
&lbl_1_data_33D, &lbl_1_data_343
|
||||
};
|
||||
|
||||
char lbl_1_data_354[] = "coin";
|
||||
|
||||
char* lbl_1_data_35C[] = {
|
||||
&lbl_1_data_33D, &lbl_1_data_343
|
||||
};
|
||||
|
|
@ -8,6 +8,11 @@
|
|||
#include "game/object.h"
|
||||
#include "game/board/player.h"
|
||||
#include "math.h"
|
||||
#include "board_unsplit.h"
|
||||
#include "game/hsfman.h"
|
||||
|
||||
void BoardModelPosSet(s16, f32, f32, f32);
|
||||
s32 BoardModelMotionStart(s16, s32, s32);
|
||||
|
||||
void fn_8005B150(void*, void*);
|
||||
void fn_1_740(void);
|
||||
|
|
@ -22,14 +27,13 @@ void fn_1_DEC(void);
|
|||
void fn_1_10B0(void);
|
||||
s32 fn_1_12C8(void);
|
||||
void fn_8006DDE8(s16, f32);
|
||||
BoardSpace* BoardSpaceGet(s32, s32);
|
||||
void fn_1_10E4(omObjData* arg0);
|
||||
extern Process *boardObjMan;
|
||||
typedef void (*VoidFunc)(void);
|
||||
extern const VoidFunc _ctors[];
|
||||
extern const VoidFunc _dtors[];
|
||||
void BoardModelPosSet(s16, f32, f32, f32);
|
||||
void BoardModelMotionStart(s16, s32, s32);
|
||||
|
||||
|
||||
f32 BoardModelMotionTimeGet(s16);
|
||||
s16 BoardModelCreate(s32, void*, s32);
|
||||
void BoardModelKill(s16);
|
||||
|
|
@ -154,7 +158,7 @@ void BoardCreate(void) {
|
|||
var_r29 = NULL;
|
||||
}
|
||||
lbl_1_bss_C[i]= BoardModelCreate(temp_r30->datanum, var_r29, 0);
|
||||
BoardModelPosSetV(lbl_1_bss_C[i], temp_r30);
|
||||
BoardModelPosSetV(lbl_1_bss_C[i], &temp_r30->unk_00);
|
||||
BoardModelRotSetV(lbl_1_bss_C[i], &temp_r30->unk_0C);
|
||||
BoardModelScaleSetV(lbl_1_bss_C[i], &temp_r30->unk_18);
|
||||
BoardModelVisibilitySet(lbl_1_bss_C[i], 1);
|
||||
|
|
@ -171,7 +175,7 @@ void BoardCreate(void) {
|
|||
fn_1_9A7C();
|
||||
BoardLightHookSet(&fn_1_884, &fn_1_8F0);
|
||||
BoardSpaceWalkEventFuncSet(&fn_1_910);
|
||||
BoardSpaceWalkMiniEventFuncSet(&fn_1_A74);
|
||||
BoardSpaceWalkMiniEventFuncSet((void*)&fn_1_A74);
|
||||
BoardSpaceLandEventFuncSet((void*)&fn_1_AF8);
|
||||
BoardStarHostSet(lbl_1_data_1E4);
|
||||
BoardBooHouseHostSet(lbl_1_data_1E6);
|
||||
|
|
@ -234,7 +238,7 @@ void BoardDestroy(void) {
|
|||
}
|
||||
|
||||
void fn_1_884(void) {
|
||||
s32 var = BoardModelIDGet(lbl_1_data_1E0);
|
||||
s16 var = BoardModelIDGet(lbl_1_data_1E0);
|
||||
Hu3DModelLightInfoSet(var, 1);
|
||||
Hu3DFogSet(5000.0f, 30000.0f, 0xE4U, 0xF0U, 0xFFU);
|
||||
}
|
||||
|
|
@ -412,7 +416,7 @@ void fn_1_10E4(omObjData* arg0) {
|
|||
|
||||
temp_r29 = (w03UnkStruct2*)&arg0->work[0];
|
||||
if (temp_r29->unk0 != 0 || (BoardIsKill() != 0)) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (i = 0; i < ARRAY_COUNT(lbl_1_data_21C); i++) {
|
||||
if (lbl_1_data_21C[i] != -1) {
|
||||
HuAudFXFadeOut(lbl_1_data_21C[i], 100);
|
||||
}
|
||||
|
|
|
|||
649
src/REL/w03Dll/statue.c
Normal file
649
src/REL/w03Dll/statue.c
Normal file
|
|
@ -0,0 +1,649 @@
|
|||
#include "dolphin.h"
|
||||
#include "REL/executor.h"
|
||||
#include "game/process.h"
|
||||
#include "game/data.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "REL/w03Dll.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/board/space.h"
|
||||
#include "game/board/player.h"
|
||||
#include "board_unsplit.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/board/main.h"
|
||||
|
||||
void fn_1_1358(void);
|
||||
void fn_1_152C(void);
|
||||
s32 fn_1_15E8(void);
|
||||
s32 fn_1_1650(s32 arg0);
|
||||
void fn_1_19DC(s32 arg0, s32 arg1);
|
||||
s32 fn_1_1D1C(void);
|
||||
void fn_1_1ED4(s32 arg0);
|
||||
void fn_1_20E0(s32 arg0);
|
||||
void fn_1_26E0(s32 arg0);
|
||||
void fn_1_2AC0(void);
|
||||
void fn_1_2818(void);
|
||||
void fn_1_2A40(void);
|
||||
void fn_1_2B44(void);
|
||||
s32 BoardVecCalcDAngleMod(f32*, f32, f32);
|
||||
s32 BoardPlayerMotBlendCheck(s32);
|
||||
void BoardPlayerMotBlendSet(s32, s32, s32);
|
||||
f32 BoardPlayerRotYGet(s32);
|
||||
void BoardConfettiCreate(Point3d*, s32, f32);
|
||||
double atan2(double y, double x);
|
||||
void omVibrate(s16, s16, s16, s16);
|
||||
f32 BoardModelMotionTimeGet(s16);
|
||||
|
||||
//DATA
|
||||
s16 lbl_1_data_280 = -1;
|
||||
s16 lbl_1_data_282 = -1;
|
||||
s16 lbl_1_data_284 = -1;
|
||||
s16 lbl_1_data_286 = -1;
|
||||
s32 lbl_1_data_288 = -1;
|
||||
|
||||
char lbl_1_data_28C[] = "%d";
|
||||
|
||||
s32 lbl_1_data_290[] = { //TODO: make sure this actually uses MAKE_DATA_NUM macro
|
||||
MAKE_DATA_NUM(0x5F, 0x62),
|
||||
MAKE_DATA_NUM(0x1A, 0x62),
|
||||
MAKE_DATA_NUM(0x6D, 0x62),
|
||||
MAKE_DATA_NUM(0x8A, 0x62),
|
||||
MAKE_DATA_NUM(0x85, 0x62),
|
||||
MAKE_DATA_NUM(0x11, 0x62),
|
||||
MAKE_DATA_NUM(0x0D, 0x62),
|
||||
MAKE_DATA_NUM(0x81, 0x62),
|
||||
};
|
||||
|
||||
s32 lbl_1_data_2B0[] = { //TODO: make sure this actually uses MAKE_DATA_NUM macro
|
||||
MAKE_DATA_NUM(0x5F, 0x33),
|
||||
MAKE_DATA_NUM(0x1A, 0x33),
|
||||
MAKE_DATA_NUM(0x6D, 0x33),
|
||||
MAKE_DATA_NUM(0x8A, 0x33),
|
||||
MAKE_DATA_NUM(0x85, 0x33),
|
||||
MAKE_DATA_NUM(0x11, 0x33),
|
||||
MAKE_DATA_NUM(0x0D, 0x33),
|
||||
MAKE_DATA_NUM(0x81, 0x33),
|
||||
};
|
||||
|
||||
s32 lbl_1_data_2D0[] = {
|
||||
0x00000125, 0x00000165, 0x000001A5,
|
||||
0x000001E5, 0x00000225, 0x00000265,
|
||||
0x000002A5, 0x000002E5
|
||||
};
|
||||
|
||||
s32 lbl_1_data_2F0[] = {
|
||||
0x0000012E, 0x0000016E, 0x000001AE,
|
||||
0x000001EE, 0x0000022E, 0x0000026E,
|
||||
0x000002AE, 0x000002EE
|
||||
};
|
||||
|
||||
//BSS Extern
|
||||
extern w03State* lbl_1_bss_0;
|
||||
extern Process *boardMainProc;
|
||||
extern s16 lbl_1_bss_C[14];
|
||||
|
||||
//BSS
|
||||
s8 lbl_1_bss_6F;
|
||||
s8 lbl_1_bss_6E;
|
||||
s16 lbl_1_bss_6C;
|
||||
s16 lbl_1_bss_6A;
|
||||
s16 lbl_1_bss_68;
|
||||
GXTexObj lbl_1_bss_48;
|
||||
char lbl_1_bss_44[4];
|
||||
char lbl_1_bss_38[12];
|
||||
void* lbl_1_bss_34;
|
||||
f32 lbl_1_bss_30;
|
||||
s8 lbl_1_bss_2C;
|
||||
Process* lbl_1_bss_28;
|
||||
|
||||
s32 fn_1_12C8(void) {
|
||||
BoardDiceDigit2DShowSet(0);
|
||||
lbl_1_bss_28 = HuPrcChildCreate(&fn_1_1358, 0x2003, 0x2000, 0, boardMainProc);
|
||||
HuPrcDestructorSet2(lbl_1_bss_28, &fn_1_152C);
|
||||
|
||||
while (lbl_1_bss_28) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
return BoardDiceDigit2DShowSet(1);
|
||||
}
|
||||
|
||||
void fn_1_1358(void) {
|
||||
s32 cur_player_index;
|
||||
s32 unkC;
|
||||
|
||||
cur_player_index = GWSystem.player_curr;
|
||||
unkC = GWPlayer[cur_player_index].space_curr;
|
||||
lbl_1_bss_2C = 0;
|
||||
if ((BoardSpaceFlagGet(0, GWPlayer[cur_player_index].space_curr) & 0x2000)) {
|
||||
lbl_1_bss_6E = 0;
|
||||
lbl_1_bss_6C = lbl_1_bss_C[3];
|
||||
} else {
|
||||
lbl_1_bss_6E = 1;
|
||||
lbl_1_bss_6C = lbl_1_bss_C[4];
|
||||
}
|
||||
if (fn_1_1650(cur_player_index) != 0) {
|
||||
if (fn_1_1D1C() != 0) {
|
||||
fn_1_1ED4(cur_player_index);
|
||||
} else {
|
||||
fn_1_20E0(cur_player_index);
|
||||
}
|
||||
if (lbl_1_bss_2C) {
|
||||
sprintf(lbl_1_bss_44, lbl_1_data_28C, lbl_1_bss_2C);
|
||||
BoardWinCreate(0, 0x160006, -1);
|
||||
BoardWinInsertMesSet((s32)lbl_1_bss_44, 0);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
lbl_1_bss_0->unk2 = 1 << cur_player_index;
|
||||
lbl_1_bss_0->unk0 = lbl_1_bss_2C;
|
||||
fn_1_CF4();
|
||||
}
|
||||
fn_1_26E0(cur_player_index);
|
||||
BoardStatusShowSetAll(1);
|
||||
}
|
||||
BoardPlayerPostTurnHookSet(cur_player_index, &fn_1_15E8);
|
||||
BoardWinKill();
|
||||
HuPrcEnd();
|
||||
}
|
||||
|
||||
void fn_1_152C(void) {
|
||||
BoardConfettiStop();
|
||||
if (lbl_1_data_282 != -1) {
|
||||
BoardPlayerMotionKill(GWSystem.player_curr, lbl_1_data_282);
|
||||
lbl_1_data_282 = -1;
|
||||
}
|
||||
if (lbl_1_data_280 != -1) {
|
||||
BoardPlayerMotionKill(GWSystem.player_curr, lbl_1_data_280);
|
||||
lbl_1_data_280 = -1;
|
||||
}
|
||||
fn_1_2AC0();
|
||||
lbl_1_bss_28 = NULL;
|
||||
}
|
||||
|
||||
s32 fn_1_15E8(void) {
|
||||
BoardModelVisibilitySet(lbl_1_bss_6C, 1);
|
||||
if (lbl_1_data_284 != -1) {
|
||||
BoardModelKill(lbl_1_data_284);
|
||||
lbl_1_data_284 = -1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
s32 fn_1_1650(s32 arg0) {
|
||||
Point3d sp38;
|
||||
Point3d sp2C;
|
||||
Point3d sp20;
|
||||
Point3d sp14;
|
||||
Point3d sp8;
|
||||
f32 temp;
|
||||
s32 temp2;
|
||||
|
||||
BoardRotateDiceNumbers(arg0);
|
||||
|
||||
if (lbl_1_bss_0->unk2) {
|
||||
BoardWinCreate(0, 0x160000, -1);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
return 0;
|
||||
}
|
||||
|
||||
temp2 = BoardSpaceLinkFlagSearch(0, GWPlayer[arg0].space_curr, 0x02000000);
|
||||
BoardSpacePosGet(0, temp2, &sp38);
|
||||
BoardPlayerPosGet(arg0, &sp2C);
|
||||
PSVECSubtract(&sp38, &sp2C, &sp20);
|
||||
temp = (atan2(-sp20.x, -sp20.z) / 3.141592653589793) * 180.0f;
|
||||
BoardPlayerRotYSet(arg0, temp);
|
||||
sp14.x = 0.0f;
|
||||
sp14.y = 100.0f;
|
||||
sp14.z = 0.0f;
|
||||
sp8.x = -20.0f;
|
||||
sp8.y = 0.0f;
|
||||
sp8.z = 0.0f;
|
||||
BoardCameraMotionStartEx(lbl_1_bss_6C, &sp8, &sp14, 1360.0f, -1.0f, 0x15);
|
||||
BoardPlayerPosLerpStart(arg0, &sp2C, &sp38, 0x28);
|
||||
|
||||
while (GWPlayer[arg0].moving) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
BoardStatusShowSetAll(0);
|
||||
BoardPlayerMotBlendSet(arg0, 0xB4, 0xF);
|
||||
|
||||
while (BoardPlayerMotBlendCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
BoardRotateDiceNumbers(arg0);
|
||||
BoardWinCreate(2, 0x160001, 2);
|
||||
BoardWinWait();
|
||||
BoardWinCreateChoice(0, 0x160002, -1, 0);
|
||||
BoardWinAttrSet(0x10);
|
||||
if (GWPlayer[arg0].com) {
|
||||
if (BoardRandMod(0x64) > 0x32U) {
|
||||
BoardComKeySetLeft();
|
||||
} else {
|
||||
BoardComKeySetRight();
|
||||
}
|
||||
}
|
||||
BoardWinWait();
|
||||
lbl_1_bss_6F = BoardWinChoiceGet();
|
||||
BoardWinKill();
|
||||
fn_1_19DC(arg0, lbl_1_bss_6F);
|
||||
BoardFilterFadeInit(0x1E, 0xA0);
|
||||
BoardMusStart(1, 0x19, 0x7F, 0);
|
||||
HuAudFXPlay(0x435);
|
||||
sp8.y = BoardModelRotYGet(lbl_1_bss_6C);
|
||||
|
||||
while (BoardVecCalcDAngleMod(&sp8.y, 180.0f, 2.0f) == 0) {
|
||||
BoardModelRotYSet(lbl_1_bss_6C, sp8.y);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
HuAudFXPlay(0x445);
|
||||
BoardModelRotYSet(lbl_1_bss_6C, 180.0f);
|
||||
|
||||
while (BoardMusStatusGet(1) != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void fn_1_19DC(s32 arg0, s32 arg1) {
|
||||
s32 temp_r30;
|
||||
s32 temp_r5;
|
||||
s32 temp_r5_2;
|
||||
s32 var_r29;
|
||||
f32 temp;
|
||||
|
||||
temp_r30 = GWPlayer[arg0].character;
|
||||
if (arg1 != 0) {
|
||||
lbl_1_data_282 = BoardPlayerMotionCreate(arg0, lbl_1_data_2B0[temp_r30]);
|
||||
lbl_1_bss_6A = 8;
|
||||
lbl_1_bss_68 = lbl_1_data_282;
|
||||
var_r29 = lbl_1_data_2F0[GWPlayer[arg0].character];
|
||||
} else {
|
||||
lbl_1_bss_6A = 7;
|
||||
lbl_1_bss_68 = 1;
|
||||
var_r29 = lbl_1_data_2D0[GWPlayer[arg0].character];
|
||||
}
|
||||
lbl_1_data_280 = BoardPlayerMotionCreate(arg0, lbl_1_data_290[temp_r30]);
|
||||
temp = (180.0f + BoardPlayerRotYGet(arg0));
|
||||
BoardPlayerMotBlendSet(arg0, temp, 0xF);
|
||||
while (BoardPlayerMotBlendCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
HuAudFXPlay(var_r29);
|
||||
BoardPlayerVoiceEnableSet(arg0, lbl_1_bss_6A, 0);
|
||||
BoardPlayerMotionShiftSet(arg0, lbl_1_bss_6A, 0.0f, 8.0f, 0);
|
||||
HuPrcSleep(9);
|
||||
|
||||
while (BoardPlayerMotionEndCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
|
||||
}
|
||||
HuPrcSleep(0x3C);
|
||||
|
||||
if (arg1 != 0) {
|
||||
BoardPlayerMotionShiftSet(arg0, lbl_1_bss_68, 0.0f, 8.0f, 0);
|
||||
HuPrcSleep(9);
|
||||
while (BoardPlayerMotionEndCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
BoardRotateDiceNumbers(arg0);
|
||||
HuPrcSleep(0x14);
|
||||
temp = (180.0f + BoardPlayerRotYGet(arg0));
|
||||
BoardPlayerMotBlendSet(arg0, temp, 0xF);
|
||||
while (BoardPlayerMotBlendCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardAudSeqPause(0, 1, 0x3E8);
|
||||
BoardPlayerMotionShiftSet(arg0, lbl_1_data_280, 0.0f, 10.0f, 0);
|
||||
HuPrcSleep(0xB);
|
||||
while (BoardPlayerMotionEndCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
s32 fn_1_1D1C(void) {
|
||||
s32 sp34;
|
||||
s32 sp30;
|
||||
s32 sp2C;
|
||||
s32 sp28;
|
||||
s32 sp24;
|
||||
s32 sp20;
|
||||
s32 modRand2;
|
||||
s32 var_r31;
|
||||
s32 temp2;
|
||||
s32 modRand;
|
||||
s32 prevTurn;
|
||||
s32 maxTurn;
|
||||
|
||||
s32 sp8[3] = { 70, 50, 45 };
|
||||
s32 sp14[3][3] = {
|
||||
{3, 5, 22},
|
||||
{5, 10, 35},
|
||||
{5, 15, 35}
|
||||
};
|
||||
|
||||
while (BoardMusStatusGet(1) != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardWinCreate(2, 0x160003, 2);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
prevTurn = GWSystem.turn - 1;
|
||||
maxTurn = GWSystem.max_turn;
|
||||
var_r31 = prevTurn / (maxTurn / 3);
|
||||
if (var_r31 >= 3) {
|
||||
var_r31 = 2;
|
||||
}
|
||||
modRand = BoardRandMod(100);
|
||||
if (modRand < sp8[var_r31] ) {
|
||||
return 1;
|
||||
}
|
||||
modRand2 = BoardRandMod(100 - sp8[var_r31]);
|
||||
if (modRand2 < sp14[var_r31][0]) {
|
||||
lbl_1_bss_2C = 3;
|
||||
} else if (modRand2 < sp14[var_r31][1]) {
|
||||
lbl_1_bss_2C = 2;
|
||||
} else {
|
||||
lbl_1_bss_2C = 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fn_1_1ED4(s32 arg0) {
|
||||
Point3d spC;
|
||||
f32 sp8;
|
||||
|
||||
lbl_1_data_284 = BoardModelCreate(0x77000C, NULL, 0);
|
||||
BoardModelVisibilitySet(lbl_1_data_284, 0);
|
||||
BoardModelVisibilitySet(lbl_1_bss_6C, 0);
|
||||
BoardModelPosGet(lbl_1_bss_6C, &spC);
|
||||
BoardModelVisibilitySet(lbl_1_data_284, 1);
|
||||
BoardModelPosSetV(lbl_1_data_284, &spC);
|
||||
BoardFilterFadeOut(0x1E);
|
||||
BoardPlayerPosGet(arg0, &spC);
|
||||
spC.y += 700.0f;
|
||||
BoardConfettiCreate(&spC, 0x64, 300.0f);
|
||||
sp8 = BoardModelRotYGet(lbl_1_bss_6C);
|
||||
|
||||
while (BoardVecCalcDAngleMod(&sp8, 0.0f, 30.0f) == 0) {
|
||||
BoardModelRotYSet(lbl_1_data_284, sp8);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
omVibrate(arg0, 0xC, 4, 2);
|
||||
BoardMusStart(1, 0x1A, 0x7F, 0);
|
||||
BoardModelRotYSet(lbl_1_data_284, 0.0f);
|
||||
BoardModelRotYSet(lbl_1_bss_6C, 0.0f);
|
||||
|
||||
while (BoardFilterFadeDoneCheck() == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardRotateDiceNumbers(arg0);
|
||||
|
||||
while (BoardMusStatusGet(1) != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardAudSeqPause(0, 0, 1000);
|
||||
BoardWinCreate(2, 0x160004, 2);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
BoardConfettiKill();
|
||||
}
|
||||
|
||||
void fn_1_20E0(s32 arg0) {
|
||||
Point3d sp24;
|
||||
Point3d sp18;
|
||||
Point3d spC;
|
||||
f32 sp8;
|
||||
f32 var_f31;
|
||||
s32 i;
|
||||
|
||||
lbl_1_data_284 = BoardModelCreate(0x77000D, NULL, 0);
|
||||
BoardModelVisibilitySet(lbl_1_data_284, 0);
|
||||
BoardModelVisibilitySet(lbl_1_bss_6C, 0);
|
||||
BoardModelPosGet(lbl_1_bss_6C, &spC);
|
||||
BoardModelVisibilitySet(lbl_1_data_284, 1);
|
||||
BoardModelPosSetV(lbl_1_data_284, &spC);
|
||||
BoardFilterFadeOut(0x1E);
|
||||
sp8 = BoardModelRotYGet(lbl_1_bss_6C);
|
||||
while (BoardVecCalcDAngleMod(&sp8, 0.0f, 30.0f) == 0) {
|
||||
BoardModelRotYSet(lbl_1_data_284, sp8);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
omVibrate(arg0, 0xC, 4, 2);
|
||||
BoardModelRotYSet(lbl_1_data_284, 0.0f);
|
||||
BoardModelRotYSet(lbl_1_bss_6C, 0.0f);
|
||||
|
||||
while (BoardFilterFadeDoneCheck() == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
BoardMusStart(1, 0x1B, 0x7F, 0);
|
||||
HuAudFXPlay(0x44A);
|
||||
fn_1_2A40();
|
||||
lbl_1_bss_30 = 0.0f;
|
||||
|
||||
while (lbl_1_bss_30 < 128.0f) {
|
||||
HuPrcVSleep();
|
||||
lbl_1_bss_30 += 12.0f;
|
||||
}
|
||||
|
||||
if (lbl_1_bss_30 > 128.0f) {
|
||||
lbl_1_bss_30 = 128.0f;
|
||||
}
|
||||
HuPrcSleep(0x28);
|
||||
lbl_1_bss_30 = 128.0f;
|
||||
|
||||
while (lbl_1_bss_30 > 0.0f) {
|
||||
HuPrcVSleep();
|
||||
lbl_1_bss_30 -= 12.0f;
|
||||
}
|
||||
if (lbl_1_bss_30 < 0.0f) {
|
||||
lbl_1_bss_30 = 0.0f;
|
||||
}
|
||||
fn_1_2AC0();
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
BoardCameraMotionStartEx(-1, NULL, 0, 680.0f, -1.0f, 0xD);
|
||||
BoardCameraMotionWait();
|
||||
BoardCameraMotionStartEx(-1, NULL, 0, 1360.0f, -1.0f, 0xD);
|
||||
BoardCameraMotionWait();
|
||||
}
|
||||
|
||||
BoardRotateDiceNumbers(arg0);
|
||||
while (BoardMusStatusGet(1) != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
BoardAudSeqPause(0, 0, 1000);
|
||||
BoardWinCreate(2, 0x160005, 2);
|
||||
BoardWinWait();
|
||||
BoardCameraQuakeSet(0x8CA0, 100.0f);
|
||||
omVibrate(arg0, 0xE10, 4, 2);
|
||||
lbl_1_data_288 = HuAudFXPlay(0x436);
|
||||
BoardCameraViewSet(1);
|
||||
HuPrcSleep(0x3C);
|
||||
BoardCameraMotionWait();
|
||||
sp24.x = 0.0f;
|
||||
sp24.y = 100.0f;
|
||||
sp24.z = 0.0f;
|
||||
sp18.x = -20.0f;
|
||||
sp18.y = 0.0f;
|
||||
sp18.z = 0.0f;
|
||||
BoardCameraMotionStartEx(lbl_1_bss_C[1], &sp18, &sp24, 3000.0f, -1.0f, 0x3C);
|
||||
BoardCameraMotionWait();
|
||||
omVibrate(arg0, 0x1E, 6, 6);
|
||||
HuPrcSleep(0x1E);
|
||||
|
||||
for (var_f31 = 100.0f; var_f31 > 0.0f; var_f31 -= 2.0f) {
|
||||
BoardCameraQuakeSet(0xA, var_f31);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
BoardCameraQuakeReset();
|
||||
if (lbl_1_data_288 != 0) {
|
||||
HuAudFXStop(lbl_1_data_288);
|
||||
lbl_1_data_288 = -1;
|
||||
}
|
||||
|
||||
fn_1_2818();
|
||||
omVibrate(arg0, 0xC, 0xC, 0);
|
||||
HuAudFXPlay(0x438);
|
||||
fn_1_B5C(1);
|
||||
HuPrcSleep(0x3C);
|
||||
sp24.x = 0.0f;
|
||||
sp24.y = 100.0f;
|
||||
sp24.z = 0.0f;
|
||||
sp18.x = -20.0f;
|
||||
sp18.y = 0.0f;
|
||||
sp18.z = 0.0f;
|
||||
BoardCameraMotionStartEx(lbl_1_bss_6C, &sp18, &sp24, 1360.0f, -1.0f, 0x3C);
|
||||
BoardCameraMotionWait();
|
||||
HuPrcSleep(0x3C);
|
||||
}
|
||||
|
||||
void fn_1_26E0(s32 arg0) {
|
||||
Point3d sp20;
|
||||
Point3d sp14;
|
||||
Point3d sp8;
|
||||
f32 temp;
|
||||
|
||||
BoardSpacePosGet(0, GWPlayer[arg0].space_curr, &sp20);
|
||||
BoardPlayerPosGet(arg0, &sp14);
|
||||
PSVECSubtract(&sp20, &sp14, &sp8);
|
||||
PSVECNormalize(&sp8, &sp8);
|
||||
temp = (180.0f * (atan2(-sp8.x, -sp8.z) / 3.141592653589793));
|
||||
BoardPlayerRotYSet(arg0, temp);
|
||||
BoardCameraViewSet(1);
|
||||
BoardCameraTargetPlayerSet(arg0);
|
||||
BoardPlayerPosLerpStart(arg0, &sp14, &sp20, 0x28);
|
||||
while (GWPlayer[arg0].moving != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardCameraMotionWait();
|
||||
BoardModelMotionStart(lbl_1_bss_C[1], 0, 0);
|
||||
BoardRotateDiceNumbers(arg0);
|
||||
}
|
||||
|
||||
void fn_1_2818(void) {
|
||||
s16 temp_r29;
|
||||
s16 temp_r30;
|
||||
s16 j;
|
||||
s16 sp8[3] = {0x0002, 0x003E, 0x007A};
|
||||
|
||||
temp_r29 = (4 - lbl_1_bss_2C) * 0x3C;
|
||||
BoardModelMotionStart(lbl_1_bss_C[1], 0, 0);
|
||||
while (1) {
|
||||
temp_r30 = BoardModelMotionTimeGet(lbl_1_bss_C[1]);
|
||||
if (temp_r29 > temp_r30) {
|
||||
for (j = 0; j < ARRAY_COUNT(sp8); j++) {
|
||||
if (temp_r30 == sp8[j]) {
|
||||
HuAudFXPlay(0x446);
|
||||
}
|
||||
}
|
||||
HuPrcVSleep();
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
BoardModelAttrSet(lbl_1_bss_C[1], 0x40000002);
|
||||
HuPrcSleep(0x3C);
|
||||
}
|
||||
|
||||
s32 fn_1_2930(s32 arg0) {
|
||||
lbl_1_bss_0->unk0--;
|
||||
if (lbl_1_bss_0->unk0 <= 0) {
|
||||
lbl_1_bss_0->unk2 = 0;
|
||||
lbl_1_bss_0->unk0 = 0;
|
||||
fn_1_B5C(0);
|
||||
BoardWinCreate(0, 0x160008, -1);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
fn_1_CF4();
|
||||
return 1;
|
||||
}
|
||||
sprintf(lbl_1_bss_38, lbl_1_data_28C, lbl_1_bss_0->unk0);
|
||||
BoardWinCreate(0, 0x160007, -1);
|
||||
BoardWinInsertMesSet((s32)lbl_1_bss_38, 1);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
fn_1_CF4();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fn_1_2A40(void) {
|
||||
lbl_1_bss_30 = 0.0f;
|
||||
lbl_1_bss_34 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x96000, 0x10000000U);
|
||||
lbl_1_data_286 = Hu3DHookFuncCreate((void*)&fn_1_2B44);
|
||||
Hu3DModelLayerSet(lbl_1_data_286, 3);
|
||||
}
|
||||
|
||||
void fn_1_2AC0(void) {
|
||||
if (lbl_1_bss_34) {
|
||||
HuMemDirectFree(lbl_1_bss_34);
|
||||
lbl_1_bss_34 = NULL;
|
||||
}
|
||||
if (lbl_1_data_286 != -1) {
|
||||
Hu3DModelKill(lbl_1_data_286);
|
||||
lbl_1_data_286 = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2B44(void) {
|
||||
Mtx44 sp50;
|
||||
Mtx sp20;
|
||||
GXColor sp14;
|
||||
GXColor sp10;
|
||||
GXColor spC;
|
||||
u8 sp8;
|
||||
GXColor sp1C = {0xFF, 0xFF, 0xFF, 0xFF};
|
||||
GXColor sp18 = {0xFF, 0xFF, 0xFF, 0xFF};
|
||||
|
||||
f32 temp_f28 = 0.0f;
|
||||
f32 temp_f30 = 640.0f;
|
||||
f32 temp_f27 = 0.0f;
|
||||
f32 temp_f29 = 480.0f;
|
||||
|
||||
sp18.a = __OSf32tou8(lbl_1_bss_30);
|
||||
GXInvalidateTexAll();
|
||||
GXLoadTexObj(&lbl_1_bss_48, GX_TEXMAP0);
|
||||
C_MTXOrtho(sp50, temp_f27, temp_f29, temp_f28, temp_f30, 0.0f, 10.0f);
|
||||
GXSetProjection(sp50, GX_ORTHOGRAPHIC);
|
||||
PSMTXIdentity(sp20);
|
||||
GXLoadPosMtxImm(sp20, 0);
|
||||
GXSetCurrentMtx(0);
|
||||
GXSetViewport(0.0f, 0.0f, temp_f30, 1.0f + temp_f29, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, temp_f30, (1.0f + temp_f29));
|
||||
GXClearVtxDesc();
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetNumChans(1);
|
||||
GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetChanCtrl(GX_COLOR0, 1, GX_SRC_REG, GX_SRC_REG, 1, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetChanCtrl(GX_ALPHA0, 0, GX_SRC_REG, GX_SRC_REG, 1, GX_DF_NONE, GX_AF_NONE);
|
||||
GXSetChanAmbColor(GX_COLOR0A0, sp18);
|
||||
GXSetChanMatColor(GX_COLOR0A0, sp18);
|
||||
GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_INVDSTCLR, GX_BL_SRCALPHA, GX_LO_NOOP);
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_S, GX_RGBX8, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetZMode(1, GX_LEQUAL, 0);
|
||||
GXSetAlphaUpdate(1);
|
||||
GXSetColorUpdate(1);
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition2u16(temp_f28, temp_f27);
|
||||
GXPosition2f32(0.0f, 0.0f);
|
||||
GXPosition2u16(temp_f30, temp_f27);
|
||||
GXPosition2f32(1.0f, 0.0f);
|
||||
GXPosition2u16(temp_f30, temp_f29);
|
||||
GXPosition2f32(1.0f, 1.0f);
|
||||
GXPosition2u16(temp_f28, temp_f29);
|
||||
GXPosition2f32(0.0f, 1.0f);
|
||||
GXSetChanMatColor(GX_COLOR0A0, sp1C);
|
||||
}
|
||||
|
|
@ -124,9 +124,9 @@ void BoardCreate(void) {
|
|||
BoardModelVisibilitySet(lbl_1_bss_10[0], 0);
|
||||
lbl_1_bss_0->unk8 = BoardModelCreate(0x7000A, NULL, 0);
|
||||
BoardModelVisibilitySet(lbl_1_bss_0->unk8, 0);
|
||||
BoardSpaceWalkEventFuncSet(&fn_1_90C);
|
||||
BoardSpaceWalkMiniEventFuncSet(&fn_1_91C);
|
||||
BoardSpaceLandEventFuncSet(&fn_1_908);
|
||||
BoardSpaceWalkEventFuncSet((void*)&fn_1_90C);
|
||||
BoardSpaceWalkMiniEventFuncSet((void*)&fn_1_91C);
|
||||
BoardSpaceLandEventFuncSet((void*)&fn_1_908);
|
||||
BoardStarHostSet(lbl_1_data_2C);
|
||||
BoardBooHouseHostSet(lbl_1_data_32);
|
||||
BoardShopHostSet(lbl_1_data_2E);
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ static CameraView camViewTbl[] = {
|
|||
|
||||
|
||||
extern void BoardModelPosGet(s16 model, Vec *pos);
|
||||
extern void BoardSpacePosGet(s32 layer, s32 space, Vec *pos);
|
||||
extern s32 BoardSpacePosGet(s32 layer, s32 space, Vec *pos);
|
||||
|
||||
extern void BoardMGSetupPlayClear(void);
|
||||
extern void fn_800A6EE4(void);
|
||||
|
|
|
|||
|
|
@ -573,8 +573,8 @@ void BoardSpaceLandExec(s32 player, s32 space)
|
|||
if(_CheckFlag(FLAG_ID_MAKE(1, 11))) {
|
||||
HuAudFXPlay(842);
|
||||
BoardCameraViewSet(2);
|
||||
BoardPlayerAnimBlendSet(player, 0, 15);
|
||||
while(!BoardPlayerAnimBlendCheck(player)) {
|
||||
BoardPlayerMotBlendSet(player, 0, 15);
|
||||
while(!BoardPlayerMotBlendCheck(player)) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardCameraMotionWait();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue