commit
26b81ad97d
15 changed files with 267 additions and 338 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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[] = {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue