Merge pull request #132 from gamemasterplc/main
Finish BoardLast5GfxInit
This commit is contained in:
commit
cf62f8879e
6 changed files with 26 additions and 33 deletions
|
|
@ -545,7 +545,7 @@ XFB_putcProgressive = .text:0x80030514; // type:function size:0x1F0
|
|||
XFB_putcInterlace = .text:0x80030704; // type:function size:0x1B4
|
||||
GWInit = .text:0x800308B8; // type:function size:0x14C
|
||||
GWGameStatReset = .text:0x80030A04; // type:function size:0x318
|
||||
GWMessSpeedGet = .text:0x80030D1C; // type:function size:0x4C
|
||||
GWMessDelayGet = .text:0x80030D1C; // type:function size:0x4C
|
||||
GWMGRecordSet = .text:0x80030D68; // type:function size:0x54
|
||||
GWMGRecordGet = .text:0x80030DBC; // type:function size:0x18
|
||||
GWCharColorGet = .text:0x80030DD4; // type:function size:0x140
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ typedef struct player_state {
|
|||
|
||||
typedef struct game_stat {
|
||||
/* 0x0 */ s16 unk_00;
|
||||
/* 0x2 */ s8 language;
|
||||
/* 0x2 */ u8 language;
|
||||
/* 0x3 */ u8 sound_mode;
|
||||
/* 0x4 */ s8 rumble;
|
||||
/* 0x6 */ u16 total_stars;
|
||||
|
|
@ -147,4 +147,19 @@ extern PlayerState GWPlayer[4];
|
|||
extern SystemState GWSystem;
|
||||
extern GameStat GWGameStat;
|
||||
|
||||
static inline s32 GWLanguageGet(void)
|
||||
{
|
||||
return GWGameStat.language;
|
||||
}
|
||||
|
||||
static inline s32 GWMGTypeGet()
|
||||
{
|
||||
return GWSystem.mg_type;
|
||||
}
|
||||
|
||||
static inline s32 GWMessSpeedGet()
|
||||
{
|
||||
return GWSystem.mess_speed;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -93,17 +93,6 @@ static s32 ExecTurnStart(void);
|
|||
static void CreateBoard(void);
|
||||
static void DestroyBoard(void);
|
||||
|
||||
|
||||
static inline int GWMGTypeGet()
|
||||
{
|
||||
return GWSystem.mg_type;
|
||||
}
|
||||
|
||||
static inline int GWMessSpeedGet()
|
||||
{
|
||||
return GWSystem.mess_speed;
|
||||
}
|
||||
|
||||
#define BOARD_FABS(value) ((value < 0) ? -(value) : (value))
|
||||
|
||||
void BoardCommonInit(BoardFunc create, BoardFunc destroy)
|
||||
|
|
@ -2042,13 +2031,8 @@ void BoardLast5GfxInit(void)
|
|||
prio = 1400;
|
||||
}
|
||||
spr_file = last5GfxSprTbl[i];
|
||||
if(i == 2 && work->is_last) {
|
||||
//FIXME: unnecessary extsb during comparison
|
||||
s8 language = GWGameStat.language;
|
||||
if(language != 0) {
|
||||
spr_file = MAKE_DATA_NUM(DATADIR_BOARD, 98);
|
||||
}
|
||||
|
||||
if(i == 2 && work->is_last && GWLanguageGet() != 0) {
|
||||
spr_file = MAKE_DATA_NUM(DATADIR_BOARD, 98);
|
||||
}
|
||||
BoardSpriteCreate(spr_file, prio, NULL, &work->sprites[i]);
|
||||
HuSprGrpMemberSet(work->group, i, work->sprites[i]);
|
||||
|
|
|
|||
|
|
@ -182,7 +182,6 @@ void BoardWinPause(void) {
|
|||
|
||||
void BoardWinCreateChoice(s32 pos, u32 mess, s32 portrait, s32 choice) {
|
||||
s32 i;
|
||||
s32 speed;
|
||||
|
||||
|
||||
winPosIdx = pos;
|
||||
|
|
@ -213,13 +212,11 @@ void BoardWinCreateChoice(s32 pos, u32 mess, s32 portrait, s32 choice) {
|
|||
if (GWSystem.mess_speed == 3) {
|
||||
GWSystem.mess_speed = 1;
|
||||
}
|
||||
speed = GWSystem.mess_speed;
|
||||
BoardWinSpeedSet(speed);
|
||||
BoardWinSpeedSet(GWMessSpeedGet());
|
||||
BoardWinPlayerSet(GWSystem.player_curr);
|
||||
}
|
||||
|
||||
void BoardWinCreate(s32 pos, u32 mess, s32 portrait) {
|
||||
s32 speed;
|
||||
s32 i;
|
||||
|
||||
winPosIdx = pos;
|
||||
|
|
@ -250,8 +247,7 @@ void BoardWinCreate(s32 pos, u32 mess, s32 portrait) {
|
|||
if (GWSystem.mess_speed == 3) {
|
||||
GWSystem.mess_speed = 1;
|
||||
}
|
||||
speed = GWSystem.mess_speed;
|
||||
BoardWinSpeedSet(speed);
|
||||
BoardWinSpeedSet(GWMessSpeedGet());
|
||||
BoardWinPlayerSet(GWSystem.player_curr);
|
||||
autoPickF = 0;
|
||||
}
|
||||
|
|
@ -381,7 +377,7 @@ void BoardWinPlayerSet(s32 player) {
|
|||
|
||||
void BoardWinStartComKeySet(void) {
|
||||
s32 comkey[4];
|
||||
s32 speed;
|
||||
s32 delay;
|
||||
s32 waitnum;
|
||||
s32 i;
|
||||
|
||||
|
|
@ -410,12 +406,12 @@ void BoardWinStartComKeySet(void) {
|
|||
}
|
||||
}
|
||||
}
|
||||
speed = GWMessSpeedGet();
|
||||
delay = GWMessDelayGet();
|
||||
waitnum = HuWinKeyWaitNumGet(winMess);
|
||||
if (waitnum != 0) {
|
||||
HuWinComKeyReset();
|
||||
for (i = 0; i < waitnum; i++) {
|
||||
HuWinComKeyWait(comkey[0], comkey[1], comkey[2], comkey[3], speed);
|
||||
HuWinComKeyWait(comkey[0], comkey[1], comkey[2], comkey[3], delay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ void GWGameStatReset(void)
|
|||
ResetBoardSettings();
|
||||
}
|
||||
|
||||
s32 GWMessSpeedGet(void)
|
||||
s32 GWMessDelayGet(void)
|
||||
{
|
||||
if(GWSystem.mess_delay > 48) {
|
||||
GWSystem.mess_speed = 1;
|
||||
|
|
|
|||
|
|
@ -201,14 +201,12 @@ void HuWindowInit(void) {
|
|||
void HuWinInit(s32 mess_data_no) {
|
||||
s16 i;
|
||||
void *anim_data;
|
||||
s8 language;
|
||||
|
||||
if (!winProc) {
|
||||
HuAR_ARAMtoMRAM(winAMemP);
|
||||
winProc = HuPrcCreate(HuWinProc, 0x64, 0x1000, 0);
|
||||
HuPrcSetStat(winProc, 0xC);
|
||||
language = GWGameStat.language;
|
||||
LanguageNo = language;
|
||||
LanguageNo = GWLanguageGet();
|
||||
messDataNo = mess_data_no;
|
||||
fontWidthP = (LanguageNo == 0) ? charWJTbl : charWETbl;
|
||||
HuWinMesRead(mess_data_no);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue