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