Merge pull request #240 from gamemasterplc/main
Label gamework structs more
This commit is contained in:
commit
0b6f97a621
13 changed files with 102 additions and 102 deletions
|
|
@ -111,15 +111,15 @@ fn_1_E310 = .text:0x0000E310; // type:function size:0x10C
|
|||
fn_1_E41C = .text:0x0000E41C; // type:function size:0xB8
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:float
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float
|
||||
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:0x8 scope:local data:float
|
||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float
|
||||
|
|
@ -363,7 +363,7 @@ lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float
|
|||
lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x280
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x280 scope:local
|
||||
lbl_1_data_280 = .data:0x00000280; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_282 = .data:0x00000282; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_284 = .data:0x00000284; // type:object size:0x2 data:2byte
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte
|
|||
motTbl = .bss:0x00000008; // type:object size:0x4 scope:local data:4byte
|
||||
tutorialDoneF = .bss:0x0000000C; // type:object size:0x2 data:2byte
|
||||
tutorialExitWin = .bss:0x0000000E; // type:object size:0x2 data:2byte
|
||||
lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x8 data:2byte
|
||||
boardMapObjMdl = .bss:0x00000010; // type:object size:0x2 data:2byte
|
||||
hostProc = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte
|
||||
hostPos = .bss:0x0000001C; // type:object size:0x2 scope:local data:2byte
|
||||
hostMdl = .bss:0x0000001E; // type:object size:0x2 scope:local data:2byte
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ typedef struct system_state {
|
|||
u8 bowser_loss : 4;
|
||||
u8 bowser_event : 4;
|
||||
};
|
||||
/* 0x32 */ s8 unk_32;
|
||||
/* 0x32 */ s8 lucky_value;
|
||||
/* 0x34 */ u16 mg_next;
|
||||
/* 0x36 */ s16 mg_type;
|
||||
/* 0x38 */ u16 unk_38;
|
||||
|
|
@ -57,12 +57,12 @@ typedef struct player_state {
|
|||
u16 com : 1;
|
||||
u16 character : 4;
|
||||
u16 auto_size : 2;
|
||||
u16 field00_bit9 : 1;
|
||||
u16 field00_bitA : 6;
|
||||
u16 draw_ticket : 1;
|
||||
u16 ticket_player : 6;
|
||||
};
|
||||
/* 0x02 */ struct {
|
||||
u8 team : 1;
|
||||
u8 field02_bit1 : 1;
|
||||
u8 spark : 1;
|
||||
u8 player_idx : 2;
|
||||
};
|
||||
/* 0x03 */ s8 handicap;
|
||||
|
|
@ -71,13 +71,13 @@ typedef struct player_state {
|
|||
/* 0x08 */ struct {
|
||||
u16 color : 2;
|
||||
u16 moving : 1;
|
||||
u16 field08_bit3 : 1;
|
||||
u16 jump : 1;
|
||||
u16 show_next : 1;
|
||||
u16 size : 2;
|
||||
u16 field08_bit7 : 2;
|
||||
u16 num_dice : 2;
|
||||
u16 rank : 2;
|
||||
u16 bowser_suit : 1;
|
||||
u16 field08_bit11 : 1;
|
||||
u16 team_backup : 1;
|
||||
};
|
||||
/* 0x0A */ s8 roll;
|
||||
/* 0x0C */ s16 space_curr;
|
||||
|
|
@ -104,6 +104,14 @@ typedef struct player_state {
|
|||
/* 0x2E */ char unk_2E[2];
|
||||
} PlayerState; //size of 0x30
|
||||
|
||||
typedef struct pause_backup_config {
|
||||
u8 explain_mg : 1;
|
||||
u8 show_com_mg : 1;
|
||||
u8 mg_list : 2;
|
||||
u8 mess_speed : 2;
|
||||
u8 save_mode : 2;
|
||||
} PauseBackupConfig;
|
||||
|
||||
typedef struct game_stat {
|
||||
/* 0x0 */ s16 unk_00;
|
||||
/* 0x2 */ u8 language;
|
||||
|
|
@ -127,20 +135,8 @@ typedef struct game_stat {
|
|||
u8 field10E_bit5 : 1;
|
||||
u8 field10E_bit6 : 1;
|
||||
};
|
||||
/* 0x10F */ struct {
|
||||
u8 field10F_bit0 : 1;
|
||||
u8 field10F_bit1 : 1;
|
||||
u8 field10F_bit2 : 2;
|
||||
u8 field10F_bit4 : 2;
|
||||
u8 field10F_bit6 : 2;
|
||||
};
|
||||
/* 0x110 */ struct {
|
||||
u8 field110_bit0 : 1;
|
||||
u8 field110_bit1 : 1;
|
||||
u8 field110_bit2 : 2;
|
||||
u8 field110_bit4 : 2;
|
||||
u8 field110_bit6 : 2;
|
||||
};
|
||||
/* 0x10F */ PauseBackupConfig story_pause;
|
||||
/* 0x110 */ PauseBackupConfig party_pause;
|
||||
} GameStat;
|
||||
|
||||
extern PlayerConfig GWPlayerCfg[4];
|
||||
|
|
@ -227,9 +223,14 @@ static inline s32 GWPlayerTeamGet(s32 player)
|
|||
return GWPlayer[player].team;
|
||||
}
|
||||
|
||||
static inline s32 GWPlayerSpaceCurrGet(s32 player)
|
||||
static inline s32 GWLuckyValueGet(void)
|
||||
{
|
||||
return GWPlayer[player].space_curr;
|
||||
return GWSystem.lucky_value;
|
||||
}
|
||||
|
||||
static inline void GWLuckyValueSet(s32 value)
|
||||
{
|
||||
GWSystem.lucky_value = value;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -121,10 +121,10 @@ static void FortuneMain(void)
|
|||
HuPrcVSleep();
|
||||
}
|
||||
for(i=0; i<4; i++) {
|
||||
if((int)(GWPlayer[i].team) != 0) {
|
||||
GWPlayer[i].field08_bit11 = 1;
|
||||
if(GWPlayerTeamGet(i)) {
|
||||
GWPlayer[i].team_backup = 1;
|
||||
} else {
|
||||
GWPlayer[i].field08_bit11 = 0;
|
||||
GWPlayer[i].team_backup = 0;
|
||||
}
|
||||
if(i == currPlayer) {
|
||||
GWPlayerCfg[i].group = 0;
|
||||
|
|
@ -158,7 +158,7 @@ static void FortuneMain(void)
|
|||
if((int)GWSystem.show_com_mg == 0) {
|
||||
HuPrcSleep(60);
|
||||
for(i=0; i<4; i++) {
|
||||
s32 bit11 = GWPlayer[i].field08_bit11;
|
||||
s32 bit11 = GWPlayer[i].team_backup;
|
||||
GWPlayer[i].team = bit11;
|
||||
GWPlayerCfg[i].group = bit11;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2662,7 +2662,7 @@ static void ExecItemBag(void) {
|
|||
temp_r29->user_data = (void*) sp8[var_r30];
|
||||
temp_r29 = HuPrcChildCreate(ExecItemBagShow, 0x2004, 0x1000, 0, HuPrcCurrentGet());
|
||||
temp_r29->user_data = temp_r24;
|
||||
while (GWPlayer[currItemRestore].field08_bit3) {
|
||||
while (GWPlayer[currItemRestore].jump) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
HuPrcChildWatch();
|
||||
|
|
|
|||
|
|
@ -690,7 +690,7 @@ static void Last5Main(void)
|
|||
}
|
||||
SetLotteryDrawState(1);
|
||||
SetLast5RouletteState(3);
|
||||
while(GWPlayer[temp_r30].field08_bit3) {
|
||||
while(GWPlayer[temp_r30].jump) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
while(GetLast5RouletteState() != 0) {
|
||||
|
|
@ -1062,7 +1062,7 @@ static void ExecLotteryDraw(void)
|
|||
Vec player_end;
|
||||
Vec player_start;
|
||||
|
||||
if(GWPlayer[0].field00_bit9 || GWPlayer[1].field00_bit9 || GWPlayer[2].field00_bit9 || GWPlayer[3].field00_bit9) {
|
||||
if(GWPlayer[0].draw_ticket || GWPlayer[1].draw_ticket || GWPlayer[2].draw_ticket || GWPlayer[3].draw_ticket) {
|
||||
BoardWinCreate(2, messBase+1, BoardWinPortraitGetStar());
|
||||
BoardWinWait();
|
||||
BoardModelPosGet(hostMdl, &host_end);
|
||||
|
|
@ -1257,13 +1257,13 @@ static void InitLotteryTicket(void)
|
|||
s32 character;
|
||||
s16 sprite;
|
||||
s32 member;
|
||||
u8 ticket_mask;
|
||||
u8 ticket_player;
|
||||
omObjData *object;
|
||||
TicketWork *work;
|
||||
currTicket = 0;
|
||||
lotteryTicketObj[0] = lotteryTicketObj[1] = lotteryTicketObj[2] = lotteryTicketObj[3] = NULL;
|
||||
for(numTickets=i=0; i<4; i++) {
|
||||
if(!GWPlayer[i].field00_bit9) {
|
||||
if(!GWPlayer[i].draw_ticket) {
|
||||
continue;
|
||||
}
|
||||
object = omAddObjEx(boardObjMan, 257, 0, 0, -1, UpdateLotteryTicket);
|
||||
|
|
@ -1299,20 +1299,20 @@ static void InitLotteryTicket(void)
|
|||
HuSprAttrSet(work->group, 4, HUSPR_ATTR_DISPOFF);
|
||||
HuSprAttrSet(work->group, 4, HUSPR_ATTR_ADDCOL);
|
||||
HuSprScaleSet(work->group, 4, 1.3f, 1.3f);
|
||||
ticket_mask = GWPlayer[i].field00_bitA;
|
||||
ticket_player = GWPlayer[i].ticket_player;
|
||||
j=3;
|
||||
while(j>=0) {
|
||||
s32 player_spr;
|
||||
|
||||
j--;
|
||||
work->character[j] = GWPlayer[ticket_mask & 0x3].character;
|
||||
work->character[j] = GWPlayer[ticket_player & 0x3].character;
|
||||
player_spr = playerSprTbl[work->character[j]];
|
||||
member = j+1;
|
||||
BoardSpriteCreate(player_spr, 1500, NULL, &sprite);
|
||||
HuSprGrpMemberSet(work->group, member, sprite);
|
||||
HuSprAttrSet(work->group, member, HUSPR_ATTR_LINEAR);
|
||||
HuSprPosSet(work->group, member, playerOfsTbl[j][0], playerOfsTbl[j][1]);
|
||||
ticket_mask >>= 2;
|
||||
ticket_player >>= 2;
|
||||
}
|
||||
numTickets++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -560,7 +560,7 @@ static void ExecLottery(void) {
|
|||
HuPrcVSleep();
|
||||
}
|
||||
BoardModelMotionShiftSet(BoardLotteryHostGet(), lotteryMot[0], 0.0f, 10.0f, 0x40000001);
|
||||
if (GWPlayer[temp_r31].field00_bit9 == 0 && GWSystem.max_turn - GWSystem.turn >= 5) {
|
||||
if (GWPlayer[temp_r31].draw_ticket == 0 && GWSystem.max_turn - GWSystem.turn >= 5) {
|
||||
SetupTicket(temp_r31);
|
||||
ShowTicket();
|
||||
var_r27 = 1;
|
||||
|
|
@ -737,7 +737,7 @@ static void ShowTicket(void) {
|
|||
if (GWBoardGet() == 7 || GWBoardGet() == 8) {
|
||||
return;
|
||||
}
|
||||
sp8 = GWPlayer[GWSystem.player_curr].field00_bitA;
|
||||
sp8 = GWPlayer[GWSystem.player_curr].ticket_player;
|
||||
var_r28 = (u8*) &sp8;
|
||||
temp_r31 = HuSprGrpCreate(4);
|
||||
BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BKUJIYA, 20), 30001, 0, &spA);
|
||||
|
|
@ -798,8 +798,8 @@ static void SetupTicket(s32 arg0) {
|
|||
s32 var_r31;
|
||||
|
||||
for (var_r30 = var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
if (arg0 != var_r31 && GWPlayer[var_r31].field00_bit9 != 0) {
|
||||
sp8[var_r30] = GWPlayer[var_r31].field00_bitA;
|
||||
if (arg0 != var_r31 && GWPlayer[var_r31].draw_ticket != 0) {
|
||||
sp8[var_r30] = GWPlayer[var_r31].ticket_player;
|
||||
var_r30++;
|
||||
}
|
||||
}
|
||||
|
|
@ -815,8 +815,8 @@ static void SetupTicket(s32 arg0) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
GWPlayer[arg0].field00_bitA = var_r29;
|
||||
GWPlayer[arg0].field00_bit9 = 1;
|
||||
GWPlayer[arg0].ticket_player = var_r29;
|
||||
GWPlayer[arg0].draw_ticket = 1;
|
||||
}
|
||||
|
||||
static void LotteryInlineFunc00(s32 arg0, s32 arg1) {
|
||||
|
|
|
|||
|
|
@ -289,7 +289,7 @@ void BoardSaveInit(s32 board)
|
|||
GWSystem.player_curr = -1;
|
||||
GWSystem.bowser_loss = 0;
|
||||
GWSystem.bowser_event = 0;
|
||||
GWSystem.unk_32 = 1;
|
||||
GWSystem.lucky_value = 1;
|
||||
GWSystem.mg_next = 0;
|
||||
GWMGTypeSet(0);
|
||||
GWSystem.unk_38 = 0;
|
||||
|
|
@ -298,12 +298,12 @@ void BoardSaveInit(s32 board)
|
|||
for(i=0; i<4; i++) {
|
||||
s32 party_flag;
|
||||
BoardPlayerAutoSizeSet(i, 0);
|
||||
GWPlayer[i].field00_bit9 = 0;
|
||||
GWPlayer[i].draw_ticket = 0;
|
||||
GWPlayer[i].color = 0;
|
||||
GWPlayer[i].bowser_suit = 0;
|
||||
GWPlayer[i].field08_bit3 = 0;
|
||||
GWPlayer[i].jump = 0;
|
||||
GWPlayer[i].space_shock = 0;
|
||||
GWPlayer[i].field02_bit1 = 0;
|
||||
GWPlayer[i].spark = 0;
|
||||
GWPlayer[i].show_next = 1;
|
||||
BoardPlayerCoinsSet(i, 0);
|
||||
if(_CheckFlag(FLAG_ID_MAKE(1, 11))) {
|
||||
|
|
@ -661,7 +661,7 @@ static void CreateBoard(void)
|
|||
reset_unk32 = 0;
|
||||
}
|
||||
if(!reset_unk32) {
|
||||
GWSystem.unk_32 = 1;
|
||||
GWSystem.lucky_value = 1;
|
||||
}
|
||||
guest_status = BoardDataDirReadAsync(DATADIR_BGUEST);
|
||||
if(guest_status != -1) {
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ static void ExecMGSetup(void) {
|
|||
luckyF = 0;
|
||||
mgNext = 0;
|
||||
GWSystem.player_curr = -1;
|
||||
GWSystem.unk_32 = 1;
|
||||
GWLuckyValueSet(1);
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
activeMG[var_r31].unk_00 = -1;
|
||||
activeMG[var_r31].unk_04 = 0;
|
||||
|
|
@ -219,7 +219,7 @@ static void ExecMGSetup(void) {
|
|||
while (setupObjGet() != 7) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
switch (GWSystem.unk_32) {
|
||||
switch (GWLuckyValueGet()) {
|
||||
case 1:
|
||||
var_r30 = luckyMessTbl[GWBoardGet()] + 1;
|
||||
break;
|
||||
|
|
@ -390,11 +390,11 @@ static void SetupStatusLayout(void) {
|
|||
for (var_r28 = var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
if (GWPlayer[var_r31].color == 2) {
|
||||
var_r27 = var_r31;
|
||||
GWPlayer[var_r31].field08_bit11 = GWPlayerTeamGet(var_r31);
|
||||
GWPlayer[var_r31].team_backup = GWPlayerTeamGet(var_r31);
|
||||
GWPlayerCfg[var_r31].group = 0;
|
||||
var_r28++;
|
||||
} else {
|
||||
GWPlayer[var_r31].field08_bit11 = GWPlayerTeamGet(var_r31);
|
||||
GWPlayer[var_r31].team_backup = GWPlayerTeamGet(var_r31);
|
||||
GWPlayerCfg[var_r31].group = 1;
|
||||
var_r26 = var_r31;
|
||||
}
|
||||
|
|
@ -415,11 +415,11 @@ static void SetupStatusLayout(void) {
|
|||
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
if (var_r31 == var_r26) {
|
||||
GWPlayer[var_r31].field08_bit11 = GWPlayerTeamGet(var_r31);
|
||||
GWPlayer[var_r31].team_backup = GWPlayerTeamGet(var_r31);
|
||||
GWPlayerCfg[var_r31].group = 0;
|
||||
} else {
|
||||
BoardStatusTargetPosSet(var_r31, &statusLayout1Vs3[var_r29++]);
|
||||
GWPlayer[var_r31].field08_bit11 = GWPlayerTeamGet(var_r31);
|
||||
GWPlayer[var_r31].team_backup = GWPlayerTeamGet(var_r31);
|
||||
GWPlayerCfg[var_r31].group = 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -429,11 +429,11 @@ static void SetupStatusLayout(void) {
|
|||
for (var_r29 = var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
if (GWPlayer[var_r31].color == 2) {
|
||||
BoardStatusTargetPosSet(var_r31, &statusLayout2Vs2[var_r29++]);
|
||||
GWPlayer[var_r31].field08_bit11 = GWPlayerTeamGet(var_r31);
|
||||
GWPlayer[var_r31].team_backup = GWPlayerTeamGet(var_r31);
|
||||
GWPlayerCfg[var_r31].group = 0;
|
||||
} else {
|
||||
BoardStatusTargetPosSet(var_r31, &statusLayout2Vs2[var_r30++]);
|
||||
GWPlayer[var_r31].field08_bit11 = GWPlayerTeamGet(var_r31);
|
||||
GWPlayer[var_r31].team_backup = GWPlayerTeamGet(var_r31);
|
||||
GWPlayerCfg[var_r31].group = 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -923,10 +923,6 @@ static void HideLuckyValue(void) {
|
|||
HuSprAttrSet(temp_r31->unk_00[0], 9, 4);
|
||||
}
|
||||
|
||||
static inline s32 GWMGUnk32Get(void) {
|
||||
return GWSystem.unk_32;
|
||||
}
|
||||
|
||||
static void UpdateLuckyValue(bitcopy* arg0, omObjData* arg1) {
|
||||
s32 var_r23;
|
||||
f32 temp_f29;
|
||||
|
|
@ -953,11 +949,11 @@ static void UpdateLuckyValue(bitcopy* arg0, omObjData* arg1) {
|
|||
arg0->unk_03 = 0;
|
||||
temp_r3 = BoardRandMod(0x64U);
|
||||
if (temp_r3 < 0x55) {
|
||||
GWSystem.unk_32 = 2;
|
||||
GWLuckyValueSet(2);
|
||||
return;
|
||||
}
|
||||
if (temp_r3 >= 0x5F) return;
|
||||
GWSystem.unk_32 = 3;
|
||||
GWLuckyValueSet(3);
|
||||
return;
|
||||
case 1:
|
||||
if (arg0->unk_03 < 0x5A) {
|
||||
|
|
@ -986,7 +982,7 @@ static void UpdateLuckyValue(bitcopy* arg0, omObjData* arg1) {
|
|||
}
|
||||
HuSprBankSet(temp_r27->unk_00[0], 9, luckyValue);
|
||||
if (arg0->unk_08 < 0.05f) {
|
||||
if (luckyValue != GWMGUnk32Get() - 1) {
|
||||
if (luckyValue != GWLuckyValueGet() - 1) {
|
||||
arg0->unk_08 *= 1.0309278f;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -177,17 +177,17 @@ static void PauseExit(void) {
|
|||
_ClearFlag(0xB);
|
||||
}
|
||||
if (GWPartyGet() == 0) {
|
||||
GWGameStat.field10F_bit0 = GWMGExplainGet();
|
||||
GWGameStat.field10F_bit1 = GWMGShowComGet();
|
||||
GWGameStat.field10F_bit2 = GWMGListGet();
|
||||
GWGameStat.field10F_bit4 = GWMessSpeedGet();
|
||||
GWGameStat.field10F_bit6 = GWSaveModeGet();
|
||||
GWGameStat.story_pause.explain_mg = GWMGExplainGet();
|
||||
GWGameStat.story_pause.show_com_mg = GWMGShowComGet();
|
||||
GWGameStat.story_pause.mg_list = GWMGListGet();
|
||||
GWGameStat.story_pause.mess_speed = GWMessSpeedGet();
|
||||
GWGameStat.story_pause.save_mode = GWSaveModeGet();
|
||||
} else {
|
||||
GWGameStat.field110_bit0 = GWMGExplainGet();
|
||||
GWGameStat.field110_bit1 = GWMGShowComGet();
|
||||
GWGameStat.field110_bit2 = GWMGListGet();
|
||||
GWGameStat.field110_bit4 = GWMessSpeedGet();
|
||||
GWGameStat.field110_bit6 = GWSaveModeGet();
|
||||
GWGameStat.party_pause.explain_mg = GWMGExplainGet();
|
||||
GWGameStat.party_pause.show_com_mg = GWMGShowComGet();
|
||||
GWGameStat.party_pause.mg_list = GWMGListGet();
|
||||
GWGameStat.party_pause.mess_speed = GWMessSpeedGet();
|
||||
GWGameStat.party_pause.save_mode = GWSaveModeGet();
|
||||
}
|
||||
mainProcess = NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -188,8 +188,8 @@ void BoardPlayerInit(void) {
|
|||
BoardPlayerSizeSet(var_r31, 0);
|
||||
GWPlayer[var_r31].color = 0;
|
||||
GWPlayer[var_r31].bowser_suit = 0;
|
||||
GWPlayer[var_r31].field00_bit9 = 0;
|
||||
GWPlayer[var_r31].field08_bit3 = 0;
|
||||
GWPlayer[var_r31].draw_ticket = 0;
|
||||
GWPlayer[var_r31].jump = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -212,7 +212,6 @@ void BoardPlayerModelInit(void) {
|
|||
s32 temp_r24;
|
||||
s16 temp_r3;
|
||||
s32 temp_r4;
|
||||
PlayerState* temp_r22;
|
||||
PlayerState* temp_r27;
|
||||
|
||||
s32 ro0[8] = { 0x5E0000, 0x190000, 0x6C0000, 0x890000, 0x840000, 0x100000, 0xC0000, 0x800000 };
|
||||
|
|
@ -222,9 +221,9 @@ void BoardPlayerModelInit(void) {
|
|||
memset(&boardPlayerMdl, 0, 8);
|
||||
suitMdl = -1;
|
||||
suitPlayerMdl = -1;
|
||||
if ((_CheckFlag(0x10005U) != 0) || ((_CheckFlag(0x10006U) != 0) && (temp_r4 = GWSystem.board, temp_r4 == 5))) {
|
||||
if ((_CheckFlag(0x10005U) != 0) || (_CheckFlag(0x10006U) && (GWBoardGet() == 5))) {
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
temp_r25 = GWPlayer[var_r31].field08_bit11;
|
||||
temp_r25 = GWPlayer[var_r31].team_backup;
|
||||
GWPlayer[var_r31].team = temp_r25;
|
||||
GWPlayerCfg[var_r31].group = temp_r25;
|
||||
}
|
||||
|
|
@ -234,8 +233,7 @@ void BoardPlayerModelInit(void) {
|
|||
postTurnHook[var_r31] = 0;
|
||||
motDoneF[var_r31] = 0;
|
||||
diceJumpObj[var_r31] = 0;
|
||||
temp_r22 = &GWPlayer[var_r31];
|
||||
temp_r27 = temp_r22;
|
||||
temp_r27 = BoardPlayerGet(var_r31);
|
||||
temp_r29 = GWPlayerCfg[var_r31].character;
|
||||
temp_r27->player_idx = var_r31;
|
||||
GWPlayer[var_r31].character = temp_r29;
|
||||
|
|
@ -725,7 +723,7 @@ void BoardPlayerTurnRollExec(s32 arg0) {
|
|||
s32 temp_r30;
|
||||
|
||||
GWPlayer[arg0].roll = 0;
|
||||
GWPlayer[arg0].field08_bit7 = 1;
|
||||
GWPlayer[arg0].num_dice = 1;
|
||||
BoardPauseDisableSet(0);
|
||||
do {
|
||||
temp_r30 = BoardRollExec(arg0);
|
||||
|
|
@ -1686,7 +1684,7 @@ void BoardPlayerDiceJumpStart(s32 arg0) {
|
|||
temp_r31->field00_bit3 = 0;
|
||||
temp_r31->unk_08 = 0.0f;
|
||||
temp_r31->unk_0C = sp8.y;
|
||||
GWPlayer[arg0].field08_bit3 = 1;
|
||||
GWPlayer[arg0].jump = 1;
|
||||
}
|
||||
|
||||
s32 BoardPlayerDiceJumpCheck(s32 arg0) {
|
||||
|
|
@ -1710,7 +1708,7 @@ static void DiceJumpFunc(omObjData* arg0) {
|
|||
|
||||
temp_r31 = OM_GET_WORK_PTR(arg0, bitcopy2);
|
||||
if ((temp_r31->field00_bit0 != 0) || (BoardIsKill() != 0)) {
|
||||
GWPlayer[temp_r31->field00_bit1].field08_bit3 = 0;
|
||||
GWPlayer[temp_r31->field00_bit1].jump = 0;
|
||||
BoardPlayerIdleSet(temp_r31->field00_bit1);
|
||||
diceJumpObj[temp_r31->field00_bit1] = 0;
|
||||
omDelObjEx(HuPrcCurrentGet(), arg0);
|
||||
|
|
@ -2256,7 +2254,7 @@ void UpdateBowserSuit(omObjData* arg0) {
|
|||
void BoardPlayerSparkSet(s32 arg0) {
|
||||
s16 currSpace = GWPlayer[arg0].space_curr;
|
||||
|
||||
GWPlayer[arg0].field02_bit1 = 1;
|
||||
GWPlayer[arg0].spark = 1;
|
||||
GWPlayer[arg0].space_shock = currSpace;
|
||||
}
|
||||
|
||||
|
|
@ -2423,11 +2421,11 @@ static s32 DoSparkSpace(s32 player, s32 pause_cam)
|
|||
|
||||
static void RemoveSparkSpace(s32 player)
|
||||
{
|
||||
if(GWPlayer[player].field02_bit1) {
|
||||
if(GWPlayer[player].spark) {
|
||||
BoardWinCreate(0, 0x12001C, -1);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
GWPlayer[player].field02_bit1 = 0;
|
||||
GWPlayer[player].spark = 0;
|
||||
GWPlayer[player].space_shock = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ s32 BoardRollExec(s32 arg0) {
|
|||
if (GWPlayer[rollPlayer].bowser_suit != 0) {
|
||||
diceSize = 3;
|
||||
}
|
||||
GWPlayer[arg0].field08_bit7 = numDice;
|
||||
GWPlayer[arg0].num_dice = numDice;
|
||||
rollProc = HuPrcChildCreate(RollMain, 0x2005, 0x6000, 0, boardMainProc);
|
||||
HuPrcDestructorSet2(rollProc, RollDestroy);
|
||||
while (rollProc != NULL) {
|
||||
|
|
@ -262,7 +262,7 @@ static void RollMain(void) {
|
|||
HuPrcVSleep();
|
||||
}
|
||||
DiceSetHit(i);
|
||||
while (GWPlayer[rollPlayer].field08_bit3 != 0) {
|
||||
while (GWPlayer[rollPlayer].jump != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,11 +105,15 @@ static inline void ResetFlag(GameStat *game_stat)
|
|||
game_stat->field10E_bit4 = 0;
|
||||
game_stat->field10E_bit5 = 0;
|
||||
game_stat->field10E_bit6 = 0;
|
||||
game_stat->field10F_bit0 = game_stat->field110_bit0 = 1;
|
||||
game_stat->field10F_bit1 = game_stat->field110_bit1 = 1;
|
||||
game_stat->field10F_bit2 = game_stat->field110_bit2 = 0;
|
||||
game_stat->field10F_bit4 = game_stat->field110_bit4 = 1;
|
||||
game_stat->field10F_bit6 = game_stat->field110_bit6 = 0;
|
||||
}
|
||||
|
||||
static inline void ResetPauseConfig(GameStat *game_stat)
|
||||
{
|
||||
game_stat->story_pause.explain_mg = game_stat->party_pause.explain_mg = 1;
|
||||
game_stat->story_pause.show_com_mg = game_stat->party_pause.show_com_mg = 1;
|
||||
game_stat->story_pause.mg_list = game_stat->party_pause.mg_list = 0;
|
||||
game_stat->story_pause.mess_speed = game_stat->party_pause.mess_speed = 1;
|
||||
game_stat->story_pause.save_mode = game_stat->party_pause.save_mode = 0;
|
||||
}
|
||||
|
||||
void GWGameStatReset(void)
|
||||
|
|
@ -130,6 +134,7 @@ void GWGameStatReset(void)
|
|||
ResetBoardRecord(game_stat);
|
||||
ResetPresent(game_stat);
|
||||
ResetFlag(game_stat);
|
||||
ResetPauseConfig(game_stat);
|
||||
memcpy(&GWGameStat, &GWGameStatDefault, sizeof(GameStat));
|
||||
ResetBoardSettings();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue