Port early board TUs to PAL

This commit is contained in:
gamemasterplc 2024-11-15 22:36:13 -06:00
parent 539079e05c
commit 4ee28d83a1
7 changed files with 774 additions and 646 deletions

View file

@ -315,3 +315,64 @@ game/sreset.c:
.bss start:0x801B97E0 end:0x801BAB80 .bss start:0x801B97E0 end:0x801BAB80
.sdata start:0x801F0A00 end:0x801F0A18 .sdata start:0x801F0A00 end:0x801F0A18
.sbss start:0x801F1270 end:0x801F1288 .sbss start:0x801F1270 end:0x801F1288
game/board/main.c:
.text start:0x8005AEF0 end:0x80061D78
.rodata start:0x8011DB80 end:0x8011DBB0
.data start:0x80156B20 end:0x80156C20
.bss start:0x801BAB80 end:0x801BAD08
.sdata start:0x801F0A18 end:0x801F0A28
.sbss start:0x801F1288 end:0x801F12D8
.sdata2 start:0x801F2508 end:0x801F25B8
game/board/player.c:
.text start:0x80061D78 end:0x8006D0BC
.rodata start:0x8011DBB0 end:0x8011DC80
.data start:0x80156C20 end:0x80156E28
.bss start:0x801BAD08 end:0x801BAD38
.sdata start:0x801F0A28 end:0x801F0A88
.sbss start:0x801F12D8 end:0x801F1310
.sdata2 start:0x801F25B8 end:0x801F26C0
game/board/model.c:
.text start:0x8006D0BC end:0x8006FB30
.sbss start:0x801F1310 end:0x801F1320
.sdata2 start:0x801F26C0 end:0x801F26D8
game/board/window.c:
.text start:0x8006FB30 end:0x80070B30
.rodata start:0x8011DC80 end:0x8011DCF0
.data start:0x80156E28 end:0x80156E70
.bss start:0x801BAD38 end:0x801BAD98
.sdata start:0x801F0A88 end:0x801F0A90
.sbss start:0x801F1320 end:0x801F1348
.sdata2 start:0x801F26D8 end:0x801F26E8
game/board/audio.c:
.text start:0x80070B30 end:0x8007103C
.data start:0x80156E70 end:0x80156E88
.sdata start:0x801F0A90 end:0x801F0A98
.sbss start:0x801F1348 end:0x801F1350
game/board/com.c:
.text start:0x8007103C end:0x80072750
.data start:0x80156E88 end:0x80156F50
.sdata start:0x801F0A98 end:0x801F0AA0
.sdata2 start:0x801F26E8 end:0x801F2710
game/board/view.c:
.text start:0x80072750 end:0x80073DD0
.rodata start:0x8011DCF0 end:0x8011DD10
.data start:0x80156F50 end:0x80157050
.bss start:0x801BAD98 end:0x801BADB0
.sdata start:0x801F0AA0 end:0x801F0AA8
.sbss start:0x801F1350 end:0x801F1368
.sdata2 start:0x801F2710 end:0x801F2780
game/board/space.c:
.text start:0x80073DD0 end:0x80077888
.data start:0x80157050 end:0x80157090
.bss start:0x801BADB0 end:0x801C1E00
.sdata start:0x801F0AA8 end:0x801F0AB0
.sbss start:0x801F1368 end:0x801F13A0
.sdata2 start:0x801F2780 end:0x801F2800

File diff suppressed because it is too large Load diff

View file

@ -422,14 +422,14 @@ config.libs = [
Object(Matching, "game/flag.c"), Object(Matching, "game/flag.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/saveload.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/saveload.c"),
Object(Matching, "game/sreset.c"), Object(Matching, "game/sreset.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/main.c"), Object(Matching, "game/board/main.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/player.c"), Object(Matching, "game/board/player.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/model.c"), Object(Matching, "game/board/model.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/window.c"), Object(Matching, "game/board/window.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/audio.c"), Object(Matching, "game/board/audio.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/com.c"), Object(Matching, "game/board/com.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/view.c"), Object(Matching, "game/board/view.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/space.c"), Object(Matching, "game/board/space.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/shop.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/shop.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/lottery.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/lottery.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/basic_space.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/basic_space.c"),

View file

@ -3,6 +3,7 @@
#include "dolphin.h" #include "dolphin.h"
#include "game/flag.h" #include "game/flag.h"
#include "version.h"
//HACK: to prevent prototype errors //HACK: to prevent prototype errors
extern void HuPadRumbleAllStop(void); extern void HuPadRumbleAllStop(void);
@ -235,6 +236,7 @@ static inline s32 GWMessSpeedGet(void)
static inline void GWMessSpeedSet(s32 value) static inline void GWMessSpeedSet(s32 value)
{ {
#if VERSION_NTSC
GWSystem.mess_speed = value; GWSystem.mess_speed = value;
switch(value) { switch(value) {
case 0: case 0:
@ -249,6 +251,26 @@ static inline void GWMessSpeedSet(s32 value)
GWSystem.mess_delay = 32; GWSystem.mess_delay = 32;
break; break;
} }
#else
GWSystem.mess_speed = value;
switch(value) {
case 0:
GWSystem.mess_delay = 32;
break;
case 2:
GWSystem.mess_delay = 64;
break;
case 1:
GWSystem.mess_delay = 48;
break;
default:
GWSystem.mess_delay = 120;
break;
}
#endif
} }
static inline void GWSaveModeSet(s32 value) static inline void GWSaveModeSet(s32 value)

View file

@ -403,8 +403,11 @@ static void MainFunc(void)
if(_CheckFlag(FLAG_ID_MAKE(1, 11))) { if(_CheckFlag(FLAG_ID_MAKE(1, 11))) {
BoardTutorialWorkSave(); BoardTutorialWorkSave();
BoardTutorialPlayerInit(); BoardTutorialPlayerInit();
GWSystem.mess_speed = 1; #if VERSION_PAL
GWSystem.mess_delay = 32; GWMessSpeedSet(3);
#else
GWMessSpeedSet(1);
#endif
} }
CreateBoard(); CreateBoard();
if(!_CheckFlag(FLAG_ID_MAKE(1, 1))) { if(!_CheckFlag(FLAG_ID_MAKE(1, 1))) {

View file

@ -396,20 +396,32 @@ static void DestroyFocus(void) {
static void CreateButtonWin(void) { static void CreateButtonWin(void) {
float sp8[2]; float sp8[2];
float var_f31; float posX;
float var_f30; float posY;
s32 var_r31; s32 var_r31;
if (viewControls != 2) { if (viewControls != 2) {
var_r31 = MAKE_MESSID(0x09, 0x05); var_r31 = MAKE_MESSID(0x09, 0x05);
var_f31 = 286.0f; #if VERSION_PAL
HuWinMesMaxSizeGet(1, sp8, var_r31);
posX = 288-((sp8[0]/2)-32);
#endif
posY = 286.0f;
} else { } else {
var_r31 = MAKE_MESSID(0x10, 0x4D); var_r31 = MAKE_MESSID(0x10, 0x4D);
var_f31 = 328.0f; #if VERSION_PAL
posX = -10000.0f;
posY = 324.0f;
#else
posY = 328.0f;
#endif
} }
HuWinMesMaxSizeGet(1, sp8, var_r31); HuWinMesMaxSizeGet(1, sp8, var_r31);
var_f30 = -10000.0f; #if VERSION_NTSC
buttonWin = HuWinCreate(var_f30, var_f31, sp8[0], sp8[1], 0); posX = -10000.0f;
#endif
buttonWin = HuWinCreate(posX, posY, sp8[0], sp8[1], 0);
HuWinBGTPLvlSet(buttonWin, 0.0f); HuWinBGTPLvlSet(buttonWin, 0.0f);
HuWinMesSpeedSet(buttonWin, 0); HuWinMesSpeedSet(buttonWin, 0);
HuWinMesSet(buttonWin, var_r31); HuWinMesSet(buttonWin, var_r31);

View file

@ -97,6 +97,11 @@ static void ExecBoardWindow(void) {
if (size[0] <= size_win[0]) { if (size[0] <= size_win[0]) {
size[0] = size_win[0]; size[0] = size_win[0];
pos[0] = pos_win[0]; pos[0] = pos_win[0];
#if VERSION_PAL
if(winPosIdx == 1) {
size[0] += 4;
}
#endif
} else { } else {
pos[0] = -10000.0f; pos[0] = -10000.0f;
} }
@ -338,7 +343,7 @@ s32 BoardWinPortraitGetStar(void) {
void BoardWinPlayerSet(s32 player) { void BoardWinPlayerSet(s32 player) {
s32 i; s32 i;
#if VERSION_NTSC
if (player == -1) { if (player == -1) {
if (GWPartyGet() != 1) { if (GWPartyGet() != 1) {
for (i = 0, disablePlayer = i; i < 4; i++) { for (i = 0, disablePlayer = i; i < 4; i++) {
@ -354,6 +359,21 @@ void BoardWinPlayerSet(s32 player) {
} else { } else {
disablePlayer = ~(1 << GWPlayer[player].port); disablePlayer = ~(1 << GWPlayer[player].port);
} }
#else
if (player == -1) {
if (GWPartyGet() != 1) {
for (i = 0, disablePlayer = i; i < 4; i++) {
if (GWPlayer[i].com != 0) {
disablePlayer |= 1 << GWPlayer[i].port;
}
}
} else {
disablePlayer = 0;
}
} else {
disablePlayer = ~(1 << GWPlayer[player].port);
}
#endif
if (_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) { if (_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) {
disablePlayer = 0; disablePlayer = 0;
} }
@ -405,4 +425,9 @@ void BoardWinStartComKeySet(void) {
void BoardWinComKeyFuncSet(BoardWinComKeyFunc func) { void BoardWinComKeyFuncSet(BoardWinComKeyFunc func) {
comKeyFunc = func; comKeyFunc = func;
}
s16 BoardWinIDGet(void)
{
return windowID;
} }