Merge branch 'main' of https://github.com/abnormalhare/mp4-dtk
This commit is contained in:
commit
4c89172e9b
67 changed files with 3379 additions and 1398 deletions
|
|
@ -1,7 +1,7 @@
|
|||
#include "include/REL/w10Dll.h"
|
||||
#include "REL/board_executor.h"
|
||||
|
||||
void fn_1_0(void) {
|
||||
BoardInit(&fn_1_E0, &fn_1_6D8);
|
||||
static void InitBoard(void) {
|
||||
BoardCommonInit(BoardInit, BoardDestroy);
|
||||
}
|
||||
|
||||
int _prolog(void) {
|
||||
|
|
@ -10,7 +10,7 @@ int _prolog(void) {
|
|||
(**ctors)();
|
||||
ctors++;
|
||||
}
|
||||
fn_1_0();
|
||||
InitBoard();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ static void BootProc(void)
|
|||
WipeColorSet(255, 255, 255);
|
||||
if(!SystemInitF) {
|
||||
tick_prev = OSGetTick();
|
||||
fn_800498F0();
|
||||
CharManInit();
|
||||
HuWindowInit();
|
||||
MGSeqInit();
|
||||
HuWinInit(1);
|
||||
|
|
|
|||
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
static void SubchrMain(void);
|
||||
|
||||
static u8 cur_direction[4];
|
||||
static u8 dirPlayer[4];
|
||||
|
||||
static char *player_numstr[4] = {
|
||||
static char *playerNumTbl[4] = {
|
||||
"PLAYER1",
|
||||
"PLAYER2",
|
||||
"PLAYER3",
|
||||
"PLAYER4"
|
||||
};
|
||||
|
||||
static char *character_str[8] = {
|
||||
static char *charNameTbl[8] = {
|
||||
"MARIO",
|
||||
"LUIGI",
|
||||
"PEACH",
|
||||
|
|
@ -28,7 +28,7 @@ static char *character_str[8] = {
|
|||
"WALUIGI"
|
||||
};
|
||||
|
||||
static char *ext_character_str[7] = {
|
||||
static char *extCharNameTbl[7] = {
|
||||
"",
|
||||
"KOOPA",
|
||||
"KINOPIO",
|
||||
|
|
@ -51,7 +51,7 @@ static u16 GetBtns(void)
|
|||
u16 btns;
|
||||
|
||||
btns = HuPadBtnDown[0];
|
||||
if (cur_direction[0] != HuPadDStk[0]) {
|
||||
if (dirPlayer[0] != HuPadDStk[0]) {
|
||||
btns |= HuPadDStk[0];
|
||||
}
|
||||
return btns;
|
||||
|
|
@ -65,7 +65,7 @@ static void SubchrMain()
|
|||
for(i=0; i<4; i++) {
|
||||
character[i] = GWPlayerCfg[i].character;
|
||||
ext_character[i] = 0;
|
||||
cur_direction[i] = 0;
|
||||
dirPlayer[i] = 0;
|
||||
}
|
||||
cursor_pos = 0;
|
||||
while(1) {
|
||||
|
|
@ -77,16 +77,16 @@ static void SubchrMain()
|
|||
y = 120;
|
||||
for(i=0; i<4; i++, y += 16) {
|
||||
fontcolor = FONT_COLOR_GREEN;
|
||||
print8(x, y, 2.0f, player_numstr[i]);
|
||||
print8(x, y, 2.0f, playerNumTbl[i]);
|
||||
if(i == cursor_pos) {
|
||||
fontcolor = FONT_COLOR_CYAN;
|
||||
} else {
|
||||
fontcolor = FONT_COLOR_GREEN;
|
||||
}
|
||||
if(ext_character[i] != 0) {
|
||||
print8(x+200, y, 2.0f, ext_character_str[ext_character[i]]);
|
||||
print8(x+200, y, 2.0f, extCharNameTbl[ext_character[i]]);
|
||||
} else {
|
||||
print8(x+200, y, 2.0f, character_str[character[i]]);
|
||||
print8(x+200, y, 2.0f, charNameTbl[character[i]]);
|
||||
}
|
||||
}
|
||||
if(GetBtns() & PAD_BUTTON_START) {
|
||||
|
|
@ -156,8 +156,8 @@ static void SubchrMain()
|
|||
HuPrcVSleep();
|
||||
} while(1);
|
||||
} else {
|
||||
if(cur_direction[0] != HuPadDStk[0]) {
|
||||
cur_direction[0] = HuPadDStk[0];
|
||||
if(dirPlayer[0] != HuPadDStk[0]) {
|
||||
dirPlayer[0] = HuPadDStk[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
457
src/REL/w03Dll/file0.c
Normal file
457
src/REL/w03Dll/file0.c
Normal file
|
|
@ -0,0 +1,457 @@
|
|||
#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);
|
||||
}
|
||||
75
src/REL/w03Dll/file1.c
Normal file
75
src/REL/w03Dll/file1.c
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
#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
|
||||
};
|
||||
|
|
@ -15,7 +15,7 @@ void fn_1_AEC(void) {
|
|||
lbl_1_bss_1C = 0;
|
||||
lbl_1_bss_1E = BoardModelCreate(MAKE_DATA_NUM(DATADIR_W10, 15), &lbl_1_data_78, 0);
|
||||
BoardModelMotionStart(lbl_1_bss_1E, 1, 0x40000001);
|
||||
fn_800B42BC(lbl_1_bss_1E);
|
||||
BoardTutorialHostSet(lbl_1_bss_1E);
|
||||
BoardModelLayerSet(lbl_1_bss_1E, 6);
|
||||
lbl_1_bss_18 = HuPrcCreate(fn_1_C20, 0x1FFF, 0x1800, 0);
|
||||
}
|
||||
|
|
@ -48,7 +48,7 @@ void fn_1_C20(void) {
|
|||
while (1) {
|
||||
if (BoardIsKill() != 0) {
|
||||
BoardModelKill(lbl_1_bss_1E);
|
||||
fn_800B42BC(-1);
|
||||
BoardTutorialHostSet(-1);
|
||||
HuPrcEnd();
|
||||
}
|
||||
Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14);
|
||||
|
|
@ -65,7 +65,7 @@ inline s32 get_current_board(void) {
|
|||
return GWSystem.board;
|
||||
}
|
||||
|
||||
void fn_1_E0(void) {
|
||||
void BoardInit(void) {
|
||||
f32 sp10;
|
||||
f32 spC[2];
|
||||
s32 sp8;
|
||||
|
|
@ -80,13 +80,13 @@ void fn_1_E0(void) {
|
|||
lbl_1_bss_0->unk0 = 0;
|
||||
lbl_1_bss_0->unk4 = 0;
|
||||
lbl_1_bss_0->unk6 = 0;
|
||||
fn_800B3FD8(&fn_1_1AAC);
|
||||
BoardTutorialHookSet(&fn_1_1AAC);
|
||||
fn_1_AEC();
|
||||
fn_1_1D68();
|
||||
lbl_1_bss_C = 0;
|
||||
BoardSpaceInit(MAKE_DATA_NUM(DATADIR_W10, 0));
|
||||
temp = BoardSpaceFlagSearch(0, 1);
|
||||
fn_800B4274(temp, 1);
|
||||
BoardTutorialBlockSetPos(temp, 1);
|
||||
lbl_1_data_28 = BoardModelCreate(MAKE_DATA_NUM(DATADIR_W10, 1), NULL, 0);
|
||||
fn_8006DDE8(lbl_1_data_28, -1.0f);
|
||||
BoardModelPosSet(lbl_1_data_28, 0.0f, 0.0f, 0.0f);
|
||||
|
|
@ -105,7 +105,7 @@ void fn_1_E0(void) {
|
|||
BoardModelMotionStart(lbl_1_data_32, 1, 0x40000001);
|
||||
lbl_1_data_30 = BoardModelCreate(MAKE_DATA_NUM(DATADIR_BGUEST, 13), lbl_1_data_6C, 0);
|
||||
BoardModelMotionStart(lbl_1_data_30, 1, 0x40000001);
|
||||
fn_8005D10C(&fn_1_8C0, &fn_1_904);
|
||||
BoardLightHookSet(&fn_1_8C0, &fn_1_904);
|
||||
for (i = 0; i < ARRAY_COUNT(lbl_1_data_0); i++) {
|
||||
temp_r30 = &lbl_1_data_0[i];
|
||||
if (temp_r30->unk24 != -1) {
|
||||
|
|
@ -138,7 +138,7 @@ void fn_1_E0(void) {
|
|||
HuWinMesPalSet(lbl_1_bss_E, 7, 0, 0, 0);
|
||||
}
|
||||
|
||||
void fn_1_6D8(void) {
|
||||
void BoardDestroy(void) {
|
||||
s32 i;
|
||||
for (i = 0; i < 1; i++) {
|
||||
if (lbl_1_bss_10[i] != 0) {
|
||||
|
|
@ -64,7 +64,7 @@ void fn_1_F6C(void) {
|
|||
fn_1_1E3C(2, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E000F);
|
||||
fn_1_1FB0();
|
||||
fn_800B4264(0, 0x50, 1);
|
||||
BoardTutorialDirInputSet(0, 0x50, 1);
|
||||
}
|
||||
|
||||
void fn_1_FB8(void) {
|
||||
|
|
@ -72,14 +72,14 @@ void fn_1_FB8(void) {
|
|||
fn_1_BA0(0x2E0010);
|
||||
fn_1_1FB0();
|
||||
fn_1_BA0(0x2E0011);
|
||||
fn_800B4264(-0x50, 0, 1);
|
||||
BoardTutorialDirInputSet(-0x50, 0, 1);
|
||||
}
|
||||
|
||||
void fn_1_1010(void) {
|
||||
fn_1_1E3C(4, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E0012);
|
||||
fn_1_1FB0();
|
||||
fn_800B4264(0, 0x50, 1);
|
||||
BoardTutorialDirInputSet(0, 0x50, 1);
|
||||
}
|
||||
|
||||
void fn_1_105C(void) {
|
||||
|
|
@ -94,7 +94,7 @@ void fn_1_1098(void) {
|
|||
|
||||
void fn_1_10C0(void) {
|
||||
fn_1_BA0(0x2E0015);
|
||||
fn_800B4264(-0x50, 0, 1);
|
||||
BoardTutorialDirInputSet(-0x50, 0, 1);
|
||||
}
|
||||
|
||||
void fn_1_10F8(void) {
|
||||
|
|
@ -119,7 +119,7 @@ void fn_1_11A0(void) {
|
|||
|
||||
fn_1_BA0(0x2E0019);
|
||||
temp = BoardSpaceFlagSearch(0, 1);
|
||||
fn_800B4274(temp, 0);
|
||||
BoardTutorialBlockSetPos(temp, 0);
|
||||
}
|
||||
|
||||
void fn_1_11EC(void) {
|
||||
|
|
@ -127,13 +127,13 @@ void fn_1_11EC(void) {
|
|||
|
||||
fn_1_BA0(0x2E001A);
|
||||
temp = BoardSpaceFlagSearch(0, 1);
|
||||
fn_800B4274(temp, 0);
|
||||
fn_800B42B4(0);
|
||||
BoardTutorialBlockSetPos(temp, 0);
|
||||
BoardTutorialItemSet(0);
|
||||
}
|
||||
|
||||
void fn_1_1240(void) {
|
||||
fn_1_BA0(0x2E001B);
|
||||
fn_800B4264(0x50, 0, 1);
|
||||
BoardTutorialDirInputSet(0x50, 0, 1);
|
||||
}
|
||||
|
||||
void fn_1_1278(void) {
|
||||
|
|
@ -142,8 +142,8 @@ void fn_1_1278(void) {
|
|||
|
||||
void fn_1_12A0(void) {
|
||||
fn_1_BA0(0x2E001D);
|
||||
fn_80062B74(2, 1);
|
||||
fn_800B42B4(1);
|
||||
BoardPlayerItemAdd(2, 1);
|
||||
BoardTutorialItemSet(1);
|
||||
}
|
||||
|
||||
void fn_1_12DC(void) {
|
||||
|
|
@ -230,7 +230,7 @@ void fn_1_13A4(void) {
|
|||
fn_80070EE8(0, 0x1F3);
|
||||
BoardKill();
|
||||
}
|
||||
fn_800B3FD8(NULL);
|
||||
BoardTutorialHookSet(NULL);
|
||||
while (1) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
|
@ -107,7 +107,7 @@ void fn_1_1834(void) {
|
|||
void fn_1_18BC(void) {
|
||||
fn_1_BA0(0x2E0028);
|
||||
fn_1_BA0(0x2E0029);
|
||||
lbl_801A52E8 = 0;
|
||||
boardTutorialData = 0;
|
||||
fn_8008853C(0);
|
||||
}
|
||||
|
||||
|
|
@ -154,7 +154,7 @@ void fn_1_1984(void) {
|
|||
OSReport(lbl_1_data_98);
|
||||
fn_80070EE8(0, 0x1F3);
|
||||
BoardKill();
|
||||
fn_800B3FD8(NULL);
|
||||
BoardTutorialHookSet(NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -183,7 +183,7 @@ int fn_1_1AAC(s16 arg0, s32 arg1) {
|
|||
OSReport(lbl_1_data_98);
|
||||
fn_80070EE8(0, 0x1F3);
|
||||
BoardKill();
|
||||
fn_800B3FD8(NULL);
|
||||
BoardTutorialHookSet(NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -116,8 +116,7 @@ DataReadStat *HuDataDirRead(s32 data_num)
|
|||
status = HuDataReadChk(data_num);
|
||||
read_stat = &ReadDataStat[status];
|
||||
} else {
|
||||
status = HuDataReadStatusGet();
|
||||
if(status == -1) {
|
||||
if((status = HuDataReadStatusGet()) == -1) {
|
||||
OSReport("data.c: Data Work Max Error\n");
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -156,8 +155,7 @@ DataReadStat *HuDataDirReadNum(s32 data_num, s32 num)
|
|||
read_stat->num = num;
|
||||
} else {
|
||||
OSReport("data num %x\n", data_num);
|
||||
status = HuDataReadStatusGet();
|
||||
if(status == -1) {
|
||||
if((status = HuDataReadStatusGet()) == -1) {
|
||||
OSReport("data.c: Data Work Max Error\n");
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ static inline void ResetBoardSettings(void)
|
|||
|
||||
void GWInit(void)
|
||||
{
|
||||
GWResetGameStat();
|
||||
GWGameStatReset();
|
||||
_InitFlag();
|
||||
GWErase();
|
||||
InitPlayerConfig();
|
||||
|
|
@ -112,7 +112,7 @@ static inline void ResetFlag(GameStat *game_stat)
|
|||
game_stat->field10F_bit6 = game_stat->field110_bit6 = 0;
|
||||
}
|
||||
|
||||
void GWResetGameStat(void)
|
||||
void GWGameStatReset(void)
|
||||
{
|
||||
GameStat *game_stat = &GWGameStatDefault;
|
||||
memset(game_stat, 0, sizeof(GameStat));
|
||||
|
|
@ -134,7 +134,7 @@ void GWResetGameStat(void)
|
|||
ResetBoardSettings();
|
||||
}
|
||||
|
||||
s16 GWGetMessSpeed(void)
|
||||
s16 GWMessSpeedGet(void)
|
||||
{
|
||||
if(GWSystem.mess_delay > 48) {
|
||||
GWSystem.mess_speed = 1;
|
||||
|
|
@ -143,19 +143,19 @@ s16 GWGetMessSpeed(void)
|
|||
return GWSystem.mess_delay;
|
||||
}
|
||||
|
||||
void GWSetMGRecord(int index, s32 value)
|
||||
void GWMGRecordSet(int index, s32 value)
|
||||
{
|
||||
if(!_CheckFlag(FLAG_ID_MAKE(1, 12))) {
|
||||
GWGameStat.mg_record[index] = value;
|
||||
}
|
||||
}
|
||||
|
||||
s32 GWGetMGRecord(int index)
|
||||
s32 GWMGRecordGet(int index)
|
||||
{
|
||||
return GWGameStat.mg_record[index];
|
||||
}
|
||||
|
||||
void GWGetCharColor(int character, GXColor *color)
|
||||
void GWCharColorGet(int character, GXColor *color)
|
||||
{
|
||||
GXColor char_color[] = {
|
||||
{ 227, 67, 67, 255 },
|
||||
|
|
@ -170,7 +170,7 @@ void GWGetCharColor(int character, GXColor *color)
|
|||
*color = char_color[character];
|
||||
}
|
||||
|
||||
void GWSetBoardPlayCount(int board, u8 value)
|
||||
void GWBoardPlayCountSet(int board, u8 value)
|
||||
{
|
||||
if(value > 99) {
|
||||
value = 99;
|
||||
|
|
@ -178,7 +178,7 @@ void GWSetBoardPlayCount(int board, u8 value)
|
|||
GWGameStat.board_play_count[board] = value;
|
||||
}
|
||||
|
||||
void GWAddBoardPlayCount(int board, u8 value)
|
||||
void GWBoardPlayCountAdd(int board, u8 value)
|
||||
{
|
||||
value += GWGameStat.board_play_count[board];
|
||||
if(value > 99) {
|
||||
|
|
@ -188,32 +188,32 @@ void GWAddBoardPlayCount(int board, u8 value)
|
|||
}
|
||||
|
||||
|
||||
u8 GWGetBoardPlayCount(int board)
|
||||
u8 GWBoardPlayCountGet(int board)
|
||||
{
|
||||
return GWGameStat.board_play_count[board];
|
||||
}
|
||||
|
||||
void GWSetBoardMaxStars(int board, int value)
|
||||
void GWBoardMaxStarsSet(int board, int value)
|
||||
{
|
||||
GWGameStat.board_max_stars[board] = value;
|
||||
}
|
||||
|
||||
u16 GWGetBoardMaxStars(int board)
|
||||
u16 GWBoardMaxStarsGet(int board)
|
||||
{
|
||||
return GWGameStat.board_max_stars[board];
|
||||
}
|
||||
|
||||
void GWSetBoardMaxCoins(int board, int value)
|
||||
void GWBoardMaxCoinsSet(int board, int value)
|
||||
{
|
||||
GWGameStat.board_max_coins[board] = value;
|
||||
}
|
||||
|
||||
u16 GWGetBoardMaxCoins(int board)
|
||||
u16 GWBoardMaxCoinsGet(int board)
|
||||
{
|
||||
return GWGameStat.board_max_coins[board];
|
||||
}
|
||||
|
||||
int GWIncBoardWinCount(int character, int board)
|
||||
int GWBoardWinCountInc(int character, int board)
|
||||
{
|
||||
int win_count = GWGameStat.board_win_count[board][character]+1;
|
||||
if(win_count > 99) {
|
||||
|
|
@ -223,17 +223,17 @@ int GWIncBoardWinCount(int character, int board)
|
|||
return win_count;
|
||||
}
|
||||
|
||||
int GWGetBoardWinCount(int character, int board)
|
||||
int GWBoardWinCountGet(int character, int board)
|
||||
{
|
||||
return GWGameStat.board_win_count[board][character];
|
||||
}
|
||||
|
||||
void GWSetBoardWinCount(int character, int board, int value)
|
||||
void GWBoardWinCountSet(int character, int board, int value)
|
||||
{
|
||||
GWGameStat.board_win_count[board][character] = value;
|
||||
}
|
||||
|
||||
int GWGetMGAvail(int id)
|
||||
int GWMGAvailGet(int id)
|
||||
{
|
||||
int word;
|
||||
int bit;
|
||||
|
|
@ -247,7 +247,7 @@ int GWGetMGAvail(int id)
|
|||
}
|
||||
}
|
||||
|
||||
int GWSetMGAvail(int id)
|
||||
int GWMGAvailSet(int id)
|
||||
{
|
||||
int word;
|
||||
int bit;
|
||||
|
|
@ -257,7 +257,7 @@ int GWSetMGAvail(int id)
|
|||
GWGameStat.mg_avail[word] |= (1 << bit);
|
||||
}
|
||||
|
||||
int GWGetMGCustom(int id)
|
||||
int GWMGCustomGet(int id)
|
||||
{
|
||||
int word;
|
||||
int bit;
|
||||
|
|
@ -271,7 +271,7 @@ int GWGetMGCustom(int id)
|
|||
}
|
||||
}
|
||||
|
||||
int GWSetMGCustom(int id)
|
||||
int GWMGCustomSet(int id)
|
||||
{
|
||||
int word;
|
||||
int bit;
|
||||
|
|
@ -281,7 +281,7 @@ int GWSetMGCustom(int id)
|
|||
GWGameStat.mg_custom[word] |= (1 << bit);
|
||||
}
|
||||
|
||||
int GWResetMGCustom(int id)
|
||||
int GWMGCustomReset(int id)
|
||||
{
|
||||
int word;
|
||||
int bit;
|
||||
|
|
@ -291,12 +291,12 @@ int GWResetMGCustom(int id)
|
|||
GWGameStat.mg_custom[word] &= ~(1 << bit);
|
||||
}
|
||||
|
||||
s16 GWGetCoins(int player)
|
||||
s16 GWCoinsGet(int player)
|
||||
{
|
||||
return GWPlayer[player].coins;
|
||||
}
|
||||
|
||||
void GWSetCoins(int player, s16 value)
|
||||
void GWCoinsSet(int player, s16 value)
|
||||
{
|
||||
if(!_CheckFlag(FLAG_ID_MAKE(1, 12))) {
|
||||
if(value < 0) {
|
||||
|
|
@ -312,12 +312,12 @@ void GWSetCoins(int player, s16 value)
|
|||
}
|
||||
}
|
||||
|
||||
void GWAddCoins(int player, s16 amount)
|
||||
void GWCoinsAdd(int player, s16 amount)
|
||||
{
|
||||
GWSetCoins(player, GWPlayer[player].coins+amount);
|
||||
GWCoinsSet(player, GWPlayer[player].coins+amount);
|
||||
}
|
||||
|
||||
void GWSetStars(int player, s16 value)
|
||||
void GWStarsSet(int player, s16 value)
|
||||
{
|
||||
if(value < 0) {
|
||||
value = 0;
|
||||
|
|
@ -331,17 +331,17 @@ void GWSetStars(int player, s16 value)
|
|||
GWPlayer[player].stars = value;
|
||||
}
|
||||
|
||||
void GWAddStars(int player, s16 amount)
|
||||
void GWStarsAdd(int player, s16 amount)
|
||||
{
|
||||
GWSetStars(player, GWPlayer[player].stars+amount);
|
||||
GWStarsSet(player, GWPlayer[player].stars+amount);
|
||||
}
|
||||
|
||||
s16 GWGetStars(int player)
|
||||
s16 GWStarsGet(int player)
|
||||
{
|
||||
return GWPlayer[player].stars;
|
||||
}
|
||||
|
||||
void GWSetTotalStars(s16 value)
|
||||
void GWTotalStarsSet(s16 value)
|
||||
{
|
||||
if(value < 0) {
|
||||
value = 0;
|
||||
|
|
@ -352,12 +352,12 @@ void GWSetTotalStars(s16 value)
|
|||
GWGameStat.total_stars = value;
|
||||
}
|
||||
|
||||
void GWAddTotalStars(s16 amount)
|
||||
void GWTotalStarsAdd(s16 amount)
|
||||
{
|
||||
GWSetTotalStars(GWGameStat.total_stars+amount);
|
||||
GWTotalStarsSet(GWGameStat.total_stars+amount);
|
||||
}
|
||||
|
||||
u16 GWGetTotalStars(void)
|
||||
u16 GWTotalStarsGet(void)
|
||||
{
|
||||
return GWGameStat.total_stars;
|
||||
}
|
||||
|
|
@ -139,7 +139,7 @@ void omOvlReturnEx(s16 level, s16 arg2)
|
|||
|
||||
void omOvlKill(s16 arg)
|
||||
{
|
||||
fn_8004D6F4(-1);
|
||||
CharModelKillAll(-1);
|
||||
MGSeqKillAll();
|
||||
Hu3DAllKill();
|
||||
HuWinAllKill();
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include "game/memory.h"
|
||||
#include "game/flag.h"
|
||||
|
||||
extern s8 lbl_801D429C;
|
||||
extern s8 boardTutorialF;
|
||||
|
||||
s16 HuSysVWaitGet(s16 old);
|
||||
|
||||
|
|
@ -111,7 +111,7 @@ void WipeExecAlways(void)
|
|||
void WipeCreate(s16 mode, s16 type, s16 duration)
|
||||
{
|
||||
WipeState *wipe;
|
||||
if(_CheckFlag(FLAG_ID_MAKE(1, 11)) && lbl_801D429C) {
|
||||
if(_CheckFlag(FLAG_ID_MAKE(1, 11)) && boardTutorialF) {
|
||||
return;
|
||||
}
|
||||
wipe = &wipeData;
|
||||
|
|
|
|||
43
src/msm/msmfio.c
Normal file
43
src/msm/msmfio.c
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#include "dolphin.h"
|
||||
|
||||
struct msmFio {
|
||||
BOOL (*open)(s32, DVDFileInfo *);
|
||||
BOOL (*read)(DVDFileInfo *, void *, s32, s32, s32);
|
||||
BOOL (*close)(DVDFileInfo *);
|
||||
};
|
||||
|
||||
static struct msmFio fio;
|
||||
|
||||
BOOL msmFioClose(DVDFileInfo *fileInfo)
|
||||
{
|
||||
return fio.close(fileInfo);
|
||||
}
|
||||
|
||||
BOOL msmFioRead(DVDFileInfo *fileInfo, void *addr, s32 length, s32 offset)
|
||||
{
|
||||
return fio.read(fileInfo, addr, length, offset, 2);
|
||||
}
|
||||
|
||||
BOOL msmFioOpen(s32 entrynum, DVDFileInfo *fileInfo)
|
||||
{
|
||||
return fio.open(entrynum, fileInfo);
|
||||
}
|
||||
|
||||
void msmFioInit(void *open, void *read, void *close)
|
||||
{
|
||||
if(open) {
|
||||
fio.open = open;
|
||||
} else {
|
||||
fio.open = DVDFastOpen;
|
||||
}
|
||||
if(read) {
|
||||
fio.read = read;
|
||||
} else {
|
||||
fio.read = DVDReadPrio;
|
||||
}
|
||||
if(close) {
|
||||
fio.close = close;
|
||||
} else {
|
||||
fio.close = DVDClose;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue