Clean up board rels

This commit is contained in:
gamemasterplc 2024-03-14 09:57:45 -05:00
parent b664e01d0b
commit 0e92b2ba09
15 changed files with 267 additions and 338 deletions

View file

@ -22,10 +22,10 @@ REL/w10Dll/host.c:
.data start:0x00000078 end:0x00000098
REL/w10Dll/scene.c:
.text start:0x00000D2C end:0x0000176C
.text start:0x00000D2C end:0x00001984
.rodata start:0x00000048 end:0x00000058
REL/w10Dll/tutorial.c:
.text start:0x0000176C end:0x0000206C
.text start:0x00001984 end:0x0000206C
.rodata start:0x00000058 end:0x00000070
.data start:0x00000098 end:0x000002D4

View file

@ -15,7 +15,7 @@ fn_1_AEC = .text:0x00000AEC; // type:function size:0xB4
fn_1_BA0 = .text:0x00000BA0; // type:function size:0x70
fn_1_C10 = .text:0x00000C10; // type:function size:0x10
fn_1_C20 = .text:0x00000C20; // type:function size:0x10C
fn_1_D2C = .text:0x00000D2C; // type:function size:0x28 scope:local
fn_1_D2C = .text:0x00000D2C; // type:function size:0x28
fn_1_D54 = .text:0x00000D54; // type:function size:0x28
fn_1_D7C = .text:0x00000D7C; // type:function size:0x28
fn_1_DA4 = .text:0x00000DA4; // type:function size:0x28

View file

@ -30,12 +30,6 @@ typedef struct w10DllUnk01 {
f32 unk10;
} w10DllUnk01; //sizeof ?
typedef struct w10DllUnk03 {
s16 unk0;
s16 unk2;
s16 unk4;
} w10DllUnk03;
typedef struct w10DllUnk04 {
s16 unk0;
s16 unk2;
@ -106,7 +100,6 @@ void fn_1_1354(void);
void fn_1_137C(void);
extern w10DllUnk04 lbl_1_data_108[42];
extern w10DllUnk03 lbl_1_data_C6[];
extern Vec lbl_1_data_80[];
extern Process* lbl_1_bss_18;
extern s16 lbl_1_bss_1C;

View file

@ -53,16 +53,6 @@ typedef struct board_camera_data {
BoardFocusData focus;
} BoardCameraData;
static inline s32 BoardCurrGet()
{
return GWSystem.board;
}
static inline s32 BoardPartyFlagGet()
{
return GWSystem.party;
}
extern BoardCameraData boardCamera;
extern Process *boardObjMan;
extern Process *boardMainProc;

View file

@ -18,7 +18,6 @@
#include "board_unsplit.h"
#include "game/hsfman.h"
void fn_8005B150(void*, void*);
void fn_1_740(void);
void fn_1_E0(void);
s32 fn_1_2930(s32 arg0);
@ -443,6 +442,4 @@ void fn_1_10E4(omObjData* arg0) {
lbl_1_bss_8 = 0;
}
HuAudFXListnerUpdate(&sp14, &sp8);
}
f32 const padMain = 0.0f;
}

View file

@ -77,40 +77,7 @@ s16 lbl_1_data_454 = -1;
s16 lbl_1_data_456 = -1;
s16 lbl_1_data_458 = -1;
s32 lbl_1_data_45C[] = {0x00770021, 0x00770022, -1};
char phei_str[] = "phei";
s32 lbl_1_data_470[] = {
0x005F0066,
0x001A0066,
0x006D0066,
0x008A0066,
0x00850066,
0x00110066,
0x000D0066,
0x00810066
};
s32 lbl_1_data_490[] = {
0x005F0067,
0x001A0067,
0x006D0067,
0x008A0067,
0x00850067,
0x00110067,
0x000D0067,
0x00810067
};
s8 lbl_1_data_4B0 = -1;
s32 lbl_1_data_4B4[] = {
0x00000440,
0x00000441,
0x00000442,
0x00000443,
0x00000444
};
s8 lbl_1_data_4C8[] = {1, 5, 10, 15, 20, 20};
//BSS
char lbl_1_bss_150[0x30];
@ -123,7 +90,7 @@ Process* lbl_1_bss_140;
void fn_1_7ABC(void) {
lbl_1_data_456 = BoardModelCreate(0x770020, lbl_1_data_45C, 0);
BoardModelHookSet(lbl_1_bss_C[7], phei_str, lbl_1_data_456);
BoardModelHookSet(lbl_1_bss_C[7], "phei", lbl_1_data_456);
BoardModelMotionStart(lbl_1_data_456, 2, 0x40000002);
BoardModelRotYSet(lbl_1_data_456, -45.0f);
}
@ -208,7 +175,7 @@ s32 fn_1_7D18(s32 arg0) {
BoardPlayerRotYSet(arg0, 180.0 * (atan2(-sp20.x, -sp20.z) / M_PI));
HuPrcSleep(0x1E);
model = BoardModelIDGet(lbl_1_bss_C[7]);
Hu3DModelObjPosGet(model, phei_str, &sp38);
Hu3DModelObjPosGet(model, "phei", &sp38);
if (GWPlayer[arg0].character == 5) {
var_f31 = 54.000004f;
} else {
@ -250,6 +217,28 @@ void fn_1_8140(s32 arg0) {
fn_1_91B8();
}
s32 lbl_1_data_470[] = {
0x005F0066,
0x001A0066,
0x006D0066,
0x008A0066,
0x00850066,
0x00110066,
0x000D0066,
0x00810066
};
s32 lbl_1_data_490[] = {
0x005F0067,
0x001A0067,
0x006D0067,
0x008A0067,
0x00850067,
0x00110067,
0x000D0067,
0x00810067
};
void fn_1_81E0(s32 arg0) {
Point3d sp8;
omObjData* temp_r3;
@ -467,6 +456,17 @@ void fn_1_8698(omObjData* arg0, someBits3* arg1) {
BoardModelMotionSpeedSet(lbl_1_data_456, arg0->trans.x);
}
s8 lbl_1_data_4B0 = -1;
s32 lbl_1_data_4B4[] = {
0x00000440,
0x00000441,
0x00000442,
0x00000443,
0x00000444
};
void fn_1_8C08(omObjData* arg0, someBits3* arg1) {
Point3d spC;
f32 temp_f31;
@ -552,6 +552,8 @@ void fn_1_9044(omObjData* arg0, someBits3* arg1) {
BoardModelRotSetV(lbl_1_data_456, &sp8);
}
s8 lbl_1_data_4C8[] = {1, 5, 10, 15, 20, 20};
void fn_1_91B8(void) {
s8 temp_r3;

View file

@ -19,8 +19,6 @@ double sin(double x);
double cos(double x);
double atan2(double y, double x);
#define OM_GET_WORK_PTR(object, type) ((type *)(&((object)->work[0])))
typedef struct someBits {
/* 0x00 */ struct {
u8 unk00_bit0 : 1;
@ -113,12 +111,8 @@ s32 lbl_1_data_4E0 = -1;
s16 lbl_1_data_4E4 = -1;
s8 lbl_1_data_4E6[] = {1, 1, 3, 3, 2, 2, 2, 1, 2, 3, 0, 4, 5, 0};
char itemString[] = "item";
char item1String[] = "item1";
char item2String[] = "item2";
char* lbl_1_data_508[] = {
itemString, item1String, item2String
"item", "item1", "item2"
};
s32 lbl_1_data_514[] = {

View file

@ -58,25 +58,6 @@ s32 lbl_1_data_390[] = {
-1
};
char itemhook_RString[] = "itemhook_R";
char hei01String[] = "hei01";
char ikadaString[] = "ikada";
typedef struct unkPos {
s32 x;
s32 y;
s32 z;
} unkPos;
unkPos lbl_1_data_3B8[6] = {
{5, 20, 5},
{21, 35, 7},
{31, 50, 10},
{51, 80, 15},
{81, 100, 17},
{101, 999, 20},
};
void fn_1_63F4(s32 arg0) {
Vec spC;
unkWorkStruct* work = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct);
@ -100,10 +81,10 @@ void fn_1_6494(void) {
lbl_1_data_38C = BoardModelCreate(0x77000F, NULL, 0);
lbl_1_data_38A = BoardModelCreate(0x2000D, &lbl_1_data_390[0], 0);
BoardModelMotionStart(lbl_1_data_38A, 1, 0x40000001);
BoardModelHookSet(lbl_1_data_38A, itemhook_RString, lbl_1_data_38C);
BoardModelHookSet(lbl_1_data_388, hei01String, lbl_1_data_38A);
BoardModelHookSet(lbl_1_data_38A, "itemhook_R", lbl_1_data_38C);
BoardModelHookSet(lbl_1_data_388, "hei01", lbl_1_data_38A);
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[0]), ikadaString, &sp14);
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[0]), "ikada", &sp14);
BoardSpaceFlagPosGet(0, 0x200, &sp8);
sp14.x = sp8.x + (400.0 * sin(-1.5707963267948966));
sp14.z = sp8.z + (400.0 * cos(-1.5707963267948966));
@ -119,7 +100,7 @@ s32 fn_1_6698(void) {
Vec sp14;
Vec sp8;
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[0]), ikadaString, &sp14);
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[0]), "ikada", &sp14);
BoardSpaceFlagPosGet(0, 0x200, &sp8);
sp14.x = sp8.x + (400.0 * sin(-1.5707963267948966));
sp14.z = sp8.z + (400.0 * cos(-1.5707963267948966));
@ -158,6 +139,21 @@ void fn_1_6884(void) {
lbl_1_bss_120 = 0;
}
typedef struct unkPos {
s32 x;
s32 y;
s32 z;
} unkPos;
unkPos lbl_1_data_3B8[6] = {
{5, 20, 5},
{21, 35, 7},
{31, 50, 10},
{51, 80, 15},
{81, 100, 17},
{101, 999, 20},
};
s32 fn_1_6898(s32 arg0) {
Vec sp20;
Vec sp14;
@ -172,7 +168,7 @@ s32 fn_1_6898(s32 arg0) {
BoardCameraViewSet(2);
BoardCameraMotionWait();
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_388), hei01String, &sp20);
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_388), "hei01", &sp20);
BoardPlayerPosGet(arg0, &sp14);
PSVECSubtract(&sp20, &sp14, &sp8);
temp_f31 = 180.0 * (atan2(sp8.x, sp8.z) / 3.141592653589793);

View file

@ -18,15 +18,9 @@ extern s16 lbl_1_data_1E0;
void fn_1_79E0(omObjData* arg0);
char kemuri1[] = "kemuri1";
char kemuri2[] = "kemuri2";
char kemuri3[] = "kemuri3";
char kemuri4[] = "kemuri4";
char kemuri5[] = "kemuri5";
char* kemuri_strings[] = {
kemuri1, kemuri2, kemuri3,
kemuri4, kemuri5
"kemuri1", "kemuri2", "kemuri3",
"kemuri4", "kemuri5"
};
void fn_1_785C(void) {

View file

@ -36,42 +36,6 @@ 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 DATA_MAKE_NUM macro
DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x62),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x62),
DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x62),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x62),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x62),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x62),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x62),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x62),
};
s32 lbl_1_data_2B0[] = { //TODO: make sure this actually uses DATA_MAKE_NUM macro
DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x33),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x33),
DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x33),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x33),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x33),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x33),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x33),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 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;
@ -123,7 +87,7 @@ void fn_1_1358(void) {
fn_1_20E0(cur_player_index);
}
if (lbl_1_bss_2C) {
sprintf(lbl_1_bss_44, lbl_1_data_28C, lbl_1_bss_2C);
sprintf(lbl_1_bss_44, "%d", lbl_1_bss_2C);
BoardWinCreate(0, 0x160006, -1);
BoardWinInsertMesSet((s32)lbl_1_bss_44, 0);
BoardWinWait();
@ -242,6 +206,40 @@ s32 fn_1_1650(s32 arg0) {
return 1;
}
s32 lbl_1_data_290[] = { //TODO: make sure this actually uses DATA_MAKE_NUM macro
DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x62),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x62),
DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x62),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x62),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x62),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x62),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x62),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x62),
};
s32 lbl_1_data_2B0[] = { //TODO: make sure this actually uses DATA_MAKE_NUM macro
DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x33),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x33),
DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x33),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x33),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x33),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x33),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x33),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 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
};
void fn_1_19DC(s32 arg0, s32 arg1) {
s32 temp_r30;
s32 temp_r5;
@ -561,7 +559,7 @@ s32 fn_1_2930(s32 arg0) {
fn_1_CF4();
return 1;
}
sprintf(lbl_1_bss_38, lbl_1_data_28C, lbl_1_bss_0->unk0);
sprintf(lbl_1_bss_38, "%d", lbl_1_bss_0->unk0);
BoardWinCreate(0, 0x160007, -1);
BoardWinInsertMesSet((s32)lbl_1_bss_38, 1);
BoardWinWait();

View file

@ -68,11 +68,6 @@ s32 lbl_1_data_6C[2] = {
DATA_NUM_LISTEND
};
// function is probably global. only inlined in rels?
inline s32 get_current_board(void) {
return GWSystem.board;
}
void BoardCreate(void) {
f32 sp10;
f32 spC[2];
@ -83,7 +78,7 @@ void BoardCreate(void) {
s32 temp;
s32 board;
board = BoardCurrGet();
board = GWBoardGet();
lbl_1_bss_0 = (W10State *)&GWSystem.board_data;
lbl_1_bss_0->unk0 = 0;
lbl_1_bss_0->unk4 = 0;

View file

@ -244,3 +244,50 @@ void fn_1_13A4(void) {
HuPrcVSleep();
}
}
void fn_1_176C(void) {
fn_1_C10(1);
fn_1_BA0(0x2E0024);
}
void fn_1_179C(void) {
fn_1_BA0(0x2E0025);
GWPlayer[1].color = 2;
GWPlayer[3].color = 2;
}
void fn_1_17F4(void) {
fn_1_BA0(0x2E0026);
GWPlayer[0].color = 2;
}
void fn_1_1834(void) {
fn_1_BA0(0x2E0027);
GWPlayer[0].color = 1;
GWPlayer[1].color = 1;
GWPlayer[2].color = 1;
GWPlayer[3].color = 2;
}
void fn_1_18BC(void) {
fn_1_BA0(0x2E0028);
fn_1_BA0(0x2E0029);
boardTutorialData[0] = 0;
BoardStatusItemSet(0);
}
void fn_1_1908(void) {
fn_1_BA0(0x2E002D);
}
void fn_1_1930(void) {
fn_1_BA0(0x2E002F);
}
void fn_1_1958(void) {
fn_1_BA0(0x2E0031);
}
void fn_1_1980(void) {
}

View file

@ -5,68 +5,118 @@
#include "game/wipe.h"
#include "game/board/ui.h"
char lbl_1_data_98[] = "@@@@@@@@@@@@@@ Tutorial Exit @@@@@@@@@@@@@@\n\000";
void fn_1_1984(void) {
s32 port;
s32 i;
w10DllUnk03 lbl_1_data_C6[11] = {
1, -1, -1,
2, -1, -1,
4, -1, -1,
5, -1, -1,
5, -1, -1,
4, -1, -1,
1, -1, -1,
3, -1, -1,
2, -1, -1,
4, -1, -1,
5, 6, -1,
if (lbl_1_bss_C == 0) {
if (WipeStatGet() != 0) {
HuWinDispOff(lbl_1_bss_E);
return;
}
HuWinDispOn(lbl_1_bss_E);
if (BoardIsKill() != 0) {
return;
}
for (i = 0; i < ARRAY_COUNT(GWPlayer); i++) {
port = GWPlayer[i].port;
if (port == -1) {
continue;
}
if (HuPadStatGet(port) == 0 && HuPadBtnDown[port] & PAD_BUTTON_START) {
break;
}
}
if (i != 4) {
lbl_1_bss_C = 1;
OSReport("@@@@@@@@@@@@@@ Tutorial Exit @@@@@@@@@@@@@@\n");
BoardAudSeqFadeOut(0, 0x1F3);
BoardKill();
BoardTutorialHookSet(NULL);
}
}
}
s16 lbl_1_data_C6[11][3] = {
1, -1, -1,
2, -1, -1,
4, -1, -1,
5, -1, -1,
5, -1, -1,
4, -1, -1,
1, -1, -1,
3, -1, -1,
2, -1, -1,
4, -1, -1,
5, 6, -1,
};
w10DllUnk04 lbl_1_data_108[42] = {
{0x0000, 0000, fn_1_D2C},
{0x0001, 0000, fn_1_D54},
{0x0002, 0000, fn_1_D7C},
{0x0003, 0000, fn_1_DA4},
{0x0003, 0000, fn_1_DCC},
{0x0003, 0000, fn_1_DF4},
{0x0003, 0000, fn_1_E1C},
{0x0004, 0000, fn_1_E44},
{0x0005, 0000, fn_1_E94},
{0x0006, 0000, fn_1_EBC},
{0x0007, 0000, fn_1_EE4},
{0x000A, 0000, fn_1_EE8},
{0x000B, 0000, fn_1_F30},
{0x0010, 0000, fn_1_F6C},
{0x0011, 0000, fn_1_FB8},
{0x000C, 0000, fn_1_1010},
{0x000D, 0000, fn_1_105C},
{0x000E, 0000, fn_1_1098},
{0x000E, 0000, fn_1_10C0},
{0x000F, 0000, fn_1_10F8},
{0x0012, 0000, fn_1_1134},
{0x0014, 0000, fn_1_1178},
{0x0015, 0000, fn_1_11A0},
{0x0016, 0000, fn_1_11EC},
{0x0005, 0000, fn_1_1240},
{0x0017, 0000, fn_1_1278},
{0x0007, 0000, fn_1_12A0},
{0x0005, 0000, fn_1_12DC},
{0x0017, 0000, fn_1_1304},
{0x0018, 0000, fn_1_132C},
{0x0019, 0000, fn_1_1354},
{0x0008, 0000, fn_1_137C},
{0x0009, 0000, fn_1_13A4},
{0x001A, 0000, fn_1_176C},
{0x001B, 0000, fn_1_179C},
{0x001B, 0000, fn_1_17F4},
{0x001B, 0000, fn_1_1834},
{0x001B, 0000, fn_1_18BC},
{0x001C, 0000, fn_1_1908},
{0x001C, 0000, fn_1_1930},
{0x001C, 0000, fn_1_1958},
{-1, 0, 0},
{0x0000, 0000, fn_1_D2C},
{0x0001, 0000, fn_1_D54},
{0x0002, 0000, fn_1_D7C},
{0x0003, 0000, fn_1_DA4},
{0x0003, 0000, fn_1_DCC},
{0x0003, 0000, fn_1_DF4},
{0x0003, 0000, fn_1_E1C},
{0x0004, 0000, fn_1_E44},
{0x0005, 0000, fn_1_E94},
{0x0006, 0000, fn_1_EBC},
{0x0007, 0000, fn_1_EE4},
{0x000A, 0000, fn_1_EE8},
{0x000B, 0000, fn_1_F30},
{0x0010, 0000, fn_1_F6C},
{0x0011, 0000, fn_1_FB8},
{0x000C, 0000, fn_1_1010},
{0x000D, 0000, fn_1_105C},
{0x000E, 0000, fn_1_1098},
{0x000E, 0000, fn_1_10C0},
{0x000F, 0000, fn_1_10F8},
{0x0012, 0000, fn_1_1134},
{0x0014, 0000, fn_1_1178},
{0x0015, 0000, fn_1_11A0},
{0x0016, 0000, fn_1_11EC},
{0x0005, 0000, fn_1_1240},
{0x0017, 0000, fn_1_1278},
{0x0007, 0000, fn_1_12A0},
{0x0005, 0000, fn_1_12DC},
{0x0017, 0000, fn_1_1304},
{0x0018, 0000, fn_1_132C},
{0x0019, 0000, fn_1_1354},
{0x0008, 0000, fn_1_137C},
{0x0009, 0000, fn_1_13A4},
{0x001A, 0000, fn_1_176C},
{0x001B, 0000, fn_1_179C},
{0x001B, 0000, fn_1_17F4},
{0x001B, 0000, fn_1_1834},
{0x001B, 0000, fn_1_18BC},
{0x001C, 0000, fn_1_1908},
{0x001C, 0000, fn_1_1930},
{0x001C, 0000, fn_1_1958},
{-1, 0, 0},
};
char lbl_1_data_258[] = "Tutorial Hook P0:%d P1:%d P2:%d P3:%d SCEN:%d CUE:%d PRM:%d DICE:%d MSG:%d\n";
int fn_1_1AAC(s16 arg0, s32 arg1) {
if (arg0 == 0x1E) {
fn_1_1984();
return;
}
if (arg0 != 0x1D) {
OSReport("Tutorial Hook P0:%d P1:%d P2:%d P3:%d SCEN:%d CUE:%d PRM:%d DICE:%d MSG:%d\n",
GWPlayer[0].com, GWPlayer[1].com,
GWPlayer[2].com, GWPlayer[3].com,
lbl_1_bss_0->unk0, arg0, arg1, lbl_1_bss_0->unk4, lbl_1_bss_0->unk6);
if (lbl_1_data_108[lbl_1_bss_0->unk0].unk0 != -1) {
if (arg0 == 5) {
BoardRollTutorialSet(&lbl_1_data_C6[lbl_1_bss_0->unk4++][0]);
}
if (arg0 == lbl_1_data_108[lbl_1_bss_0->unk0].unk0) {
void (*temp_r3_3)() = lbl_1_data_108[lbl_1_bss_0->unk0++].unk4;
temp_r3_3();
}
}
}
}
s32 lbl_1_data_2A8[11] = {
DATA_MAKE_NUM(DATADIR_W10, 4),
@ -82,133 +132,6 @@ s32 lbl_1_data_2A8[11] = {
DATA_MAKE_NUM(DATADIR_W10, 14)
};
void fn_1_176C(void) {
fn_1_C10(1);
fn_1_BA0(0x2E0024);
}
void fn_1_179C(void) {
fn_1_BA0(0x2E0025);
GWPlayer[1].color = 2;
GWPlayer[3].color = 2;
}
void fn_1_17F4(void) {
fn_1_BA0(0x2E0026);
GWPlayer[0].color = 2;
}
void fn_1_1834(void) {
fn_1_BA0(0x2E0027);
GWPlayer[0].color = 1;
GWPlayer[1].color = 1;
GWPlayer[2].color = 1;
GWPlayer[3].color = 2;
}
void fn_1_18BC(void) {
fn_1_BA0(0x2E0028);
fn_1_BA0(0x2E0029);
boardTutorialData[0] = 0;
BoardStatusItemSet(0);
}
void fn_1_1908(void) {
fn_1_BA0(0x2E002D);
}
void fn_1_1930(void) {
fn_1_BA0(0x2E002F);
}
void fn_1_1958(void) {
fn_1_BA0(0x2E0031);
}
void fn_1_1980(void) {
}
void fn_1_1984(void) {
s32 contPortIndex;
s32 i;
if (lbl_1_bss_C == 0) {
if (WipeStatGet() != 0) {
HuWinDispOff(lbl_1_bss_E);
return;
}
HuWinDispOn(lbl_1_bss_E);
if (BoardIsKill() != 0) {
return;
}
for (i = 0; i < ARRAY_COUNT(GWPlayer); i++) {
contPortIndex = GWPlayer[i].port;
if (contPortIndex == -1) {
continue;
}
if (HuPadStatGet(contPortIndex) == 0 && HuPadBtnDown[contPortIndex] & PAD_BUTTON_START) {
break;
}
}
if (i != 4) {
lbl_1_bss_C = 1;
OSReport(lbl_1_data_98);
BoardAudSeqFadeOut(0, 0x1F3);
BoardKill();
BoardTutorialHookSet(NULL);
}
}
}
int fn_1_1AAC(s16 arg0, s32 arg1) {
s32 i;
if (arg0 == 0x1E) {
if (lbl_1_bss_C == 0) {
if (WipeStatGet() != 0) {
HuWinDispOff(lbl_1_bss_E);
} else {
HuWinDispOn(lbl_1_bss_E);
if (BoardIsKill() == 0) {
s32 contPortIndex;
for (i = 0; i < ARRAY_COUNT(GWPlayer); i++) {
contPortIndex = GWPlayer[i].port;
if (contPortIndex == -1) {
continue;
}
if (HuPadStatGet(contPortIndex) == 0 && HuPadBtnDown[contPortIndex] & 0x1000) {
break;
}
}
if (i != 4) {
lbl_1_bss_C = 1;
OSReport(lbl_1_data_98);
BoardAudSeqFadeOut(0, 0x1F3);
BoardKill();
BoardTutorialHookSet(NULL);
}
}
}
}
return;
}
if (arg0 != 0x1D) {
OSReport(lbl_1_data_258,
GWPlayer[0].com, GWPlayer[1].com,
GWPlayer[2].com, GWPlayer[3].com,
lbl_1_bss_0->unk0, arg0, arg1, lbl_1_bss_0->unk4, lbl_1_bss_0->unk6);
if (lbl_1_data_108[lbl_1_bss_0->unk0].unk0 != -1) {
if (arg0 == 5) {
BoardRollTutorialSet(&lbl_1_data_C6[lbl_1_bss_0->unk4++]);
}
if (arg0 == lbl_1_data_108[lbl_1_bss_0->unk0].unk0) {
void (*temp_r3_3)() = lbl_1_data_108[lbl_1_bss_0->unk0++].unk4;
temp_r3_3();
}
}
}
}
void fn_1_1D68(void) {
s32 temp_r4;
s32 temp_r5;

View file

@ -328,7 +328,7 @@ void BoardSaveInit(s32 board)
GWPlayer[i].items[0] = -1;
GWPlayer[i].items[1] = -1;
GWPlayer[i].items[2] = -1;
if(BoardPartyFlagGet() == 0 || _CheckFlag(FLAG_ID_MAKE(1, 11))) {
if(GWPartyGet() == 0 || _CheckFlag(FLAG_ID_MAKE(1, 11))) {
GWStarsSet(i, 0);
} else {
GWStarsSet(i, BoardPlayerHandicapGet(i));
@ -433,14 +433,14 @@ static void MainFunc(void)
_ClearFlag(FLAG_ID_MAKE(1, 28));
do {
BoardStatusShowSetAll(1);
if(BoardCurrGet() == 5 && GWSystem.player_curr == 0 && !turn_cont && boardTurnFunc) {
if(GWBoardGet() == 5 && GWSystem.player_curr == 0 && !turn_cont && boardTurnFunc) {
GWSystem.player_curr = -1;
boardTurnFunc();
GWSystem.player_curr = 0;
}
BoardMusStartBoard();
for(i=GWSystem.player_curr; i<4; i++) {
if(BoardCurrGet() == 7 || BoardCurrGet() == 8) {
if(GWBoardGet() == 7 || GWBoardGet() == 8) {
if((int)(GWSystem.max_turn-GWSystem.turn) < 5 && i == 0 && !turn_cont) {
BoardLast5GfxInit();
_SetFlag(FLAG_ID_MAKE(0, 8));
@ -494,7 +494,7 @@ static void MainFunc(void)
BoardPlayerMoveAwayStartCurr(GWPlayer[i].space_curr, 1);
fade_type = 0;
} else {
if(BoardCurrGet() == 7 || BoardCurrGet() == 8) {
if(GWBoardGet() == 7 || GWBoardGet() == 8) {
if(GWSystem.turn != GWSystem.max_turn) {
WipeColorSet(255, 255, 255);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_CROSS, 1);
@ -514,7 +514,7 @@ static void MainFunc(void)
}
BoardPlayerPostTurnHookExec(i);
}
if(BoardCurrGet() == 7 || BoardCurrGet() == 8) {
if(GWBoardGet() == 7 || GWBoardGet() == 8) {
GWSystem.player_curr = 0;
if(BoardTurnNext()) {
BoardAudSeqFadeOut(0, 500);
@ -733,7 +733,7 @@ static void DestroyBoard(void)
}
BoardModelKillAll();
BoardWinKillAll();
HuDataDirClose(dir_table[BoardCurrGet()]);
HuDataDirClose(dir_table[GWBoardGet()]);
HuDataDirClose(DATADIR_EFFECT);
HuDataDirClose(DATADIR_BGUEST);
HuDataDirClose(DATADIR_BKOOPASUIT);

View file

@ -347,7 +347,7 @@ s32 BoardSpaceStarGetNext(void)
s16 star_pos;
star_total = GWSystem.star_total;
star_pos = GWSystem.star_pos;
if(BoardCurrGet() == 5) {
if(GWBoardGet() == 5) {
s16 i;
s32 count;
s32 last_free;
@ -504,7 +504,7 @@ s32 BoardSpaceStarCheck(s32 index)
s32 ret;
BoardSpace *space = BoardSpaceGet(0, index);
BoardSpace *star_space;
if(BoardCurrGet() == 7 || BoardCurrGet() == 8) {
if(GWBoardGet() == 7 || GWBoardGet() == 8) {
ret = 0;
goto end;
}
@ -623,7 +623,7 @@ s32 BoardSpaceWalkExec(s32 player, s32 space)
return 0;
}
space_ptr = BoardSpaceGet(0, space);
if(BoardCurrGet() == 7 || BoardCurrGet() == 8) {
if(GWBoardGet() == 7 || GWBoardGet() == 8) {
is_star = 0;
} else {
star_space = BoardSpaceGet(0, boardSpaceStarTbl[GWSystem.star_pos]);
@ -677,10 +677,10 @@ s32 BoardSpaceBlockExec(s32 player, s32 space)
if(space == GWSystem.block_pos) {
event_exec = 1;
}
if((int)GWSystem.bonus_star == 0 && BoardPartyFlagGet() == 1 && !_CheckFlag(FLAG_ID_MAKE(1, 11))) {
if((int)GWSystem.bonus_star == 0 && GWPartyGet() == 1 && !_CheckFlag(FLAG_ID_MAKE(1, 11))) {
event_exec = 0;
}
if(BoardCurrGet() == 7 || BoardCurrGet() == 8) {
if(GWBoardGet() == 7 || GWBoardGet() == 8) {
event_exec = 0;
}
if(event_exec) {
@ -987,7 +987,7 @@ void BoardSpaceInit(s32 data_num)
memset(spaceAttr, 0, sizeof(spaceAttr));
lbl_801D3FC4[0] = lbl_801D3FC4[1] = lbl_801D3FC4[2] = lbl_801D3FC4[3] = -1;
spaceDrawF = 0;
board = BoardCurrGet();
board = GWBoardGet();
{
AnimBmpData *bmp;
AnimData *data;
@ -1059,7 +1059,7 @@ void BoardSpaceInit(s32 data_num)
GWSystem.star_total = 0;
GWSystem.star_flag = 0;
}
if(BoardCurrGet() != 7 && BoardCurrGet() != 8) {
if(GWBoardGet() != 7 && GWBoardGet() != 8) {
starPlatMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 6), NULL, 0);
BoardModelMotionStart(starPlatMdl, 0, 0x40000001);
BoardModelVisibilitySet(starPlatMdl, 0);