summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPieter-Jan Briers <pieterjan.briers+git@gmail.com>2026-06-20 02:46:30 +0200
committerGitHub <noreply@github.com>2026-06-19 17:46:30 -0700
commit79fda477b11cc497b03195653751e5dfc81be094 (patch)
tree0b934589556b1ca55154d713ae68cce6446ec2a6
parent853a6addb4dba2cf7f5f336339e933011536c40e (diff)
Wii PAL d_s_logo improvements (#3157)
* Wii PAL d_s_logo improvements * Fix d_s_logo/d_pane_class_alpha sdata spltis * Specify some symbols to improve matches Is there a better way to do this? * More symbols * match phase_1 * Fix regressions * Fix d_s_name rodata split * Add nextPauseTimer__9dScnPly_c to symbol map
-rw-r--r--config/RZDP01/splits.txt7
-rw-r--r--config/RZDP01/symbols.txt54
-rw-r--r--include/d/d_s_logo.h2
-rw-r--r--include/m_Do/m_Do_graphic.h4
-rw-r--r--include/m_Do/m_Do_machine.h3
-rw-r--r--libs/revolution/include/revolution/sc.h1
-rw-r--r--src/d/d_s_logo.cpp120
-rw-r--r--src/m_Do/m_Do_graphic.cpp4
-rw-r--r--src/m_Do/m_Do_machine.cpp2
9 files changed, 171 insertions, 26 deletions
diff --git a/config/RZDP01/splits.txt b/config/RZDP01/splits.txt
index 91d2b2074a..b0eefce7fb 100644
--- a/config/RZDP01/splits.txt
+++ b/config/RZDP01/splits.txt
@@ -1354,7 +1354,7 @@ d/d_pane_class.cpp:
d/d_pane_class_alpha.cpp:
.text start:0x802410A0 end:0x80241CA8
.data start:0x80406F90 end:0x80406FD0
- .sdata start:0x805200E0 end:0x80520104
+ .sdata start:0x805200E0 end:0x805200E8
.sdata2 start:0x805255B0 end:0x805255D0
d/d_pane_class_ex.cpp:
@@ -1363,10 +1363,10 @@ d/d_pane_class_ex.cpp:
d/d_s_logo.cpp:
.text start:0x80241CE0 end:0x80243FE4
.ctors start:0x803B919C end:0x803B91A0
- .rodata start:0x803D9C10 end:0x803D9C80
+ .rodata start:0x803D9C10 end:0x803D9C68
.data start:0x80406FD0 end:0x80407578
.bss start:0x804A5778 end:0x804A5788
- .sdata start:0x80520104 end:0x80520110
+ .sdata start:0x805200E8 end:0x80520110
.sbss start:0x805215B0 end:0x805215B8
.sdata2 start:0x805255D0 end:0x80525600
@@ -1376,6 +1376,7 @@ d/d_s_menu.cpp:
d/d_s_name.cpp:
.text start:0x80243FE4 end:0x80244BE8
.ctors start:0x803B91A0 end:0x803B91A4
+ .rodata start:0x803D9C68 end:0x803D9C80
.data start:0x804075A0 end:0x804076B0
.bss start:0x804A5788 end:0x804A5798
.sdata start:0x80520110 end:0x80520148
diff --git a/config/RZDP01/symbols.txt b/config/RZDP01/symbols.txt
index 027738678d..866b952f37 100644
--- a/config/RZDP01/symbols.txt
+++ b/config/RZDP01/symbols.txt
@@ -20523,7 +20523,7 @@ lbl_803EA3BC = .data:0x803EA3BC; // type:object size:0x13 data:string
@111989 = .data:0x803EA3D0; // type:object size:0xC scope:local align:4
lbl_803EA3DC = .data:0x803EA3DC; // type:object size:0x13 data:string
lbl_803EA3EF = .data:0x803EA3EF; // type:object size:0x15 data:string
-lbl_803EA404 = .data:0x803EA404; // type:object size:0xD data:string
+@STRING@setObjectRes__14dRes_control_cFPCcUcP7JKRHeap = .data:0x803EA404; // type:object size:0xD data:string
ZeroQuat = .data:0x803EA418; // type:object size:0x10 scope:global align:4
__vt__10CSTControl = .data:0x803EA428; // type:object size:0x10 scope:global align:4
lbl_803EA438 = .data:0x803EA438; // type:object size:0xB data:string
@@ -22408,14 +22408,49 @@ lbl_80406FA0 = .data:0x80406FA0; // type:object size:0x12 data:string
__vt__13CPaneMgrAlpha = .data:0x80406FC0; // type:object size:0x10 scope:global align:4
...data.0 = .data:0x80406FD0; // type:label scope:local align:4
l_execFunc = .data:0x80406FD0; // type:object size:0xF0 scope:global align:4
-lbl_804070C0 = .data:0x804070C0; // type:object size:0x3C
+@s_LogoGmWii = .data:0x804070C0; // type:object size:0xA scope:local data:string
+@s_LogoFrWii = .data:0x804070CA; // type:object size:0xA scope:local data:string
+@s_LogoSpWii = .data:0x804070D4; // type:object size:0xA scope:local data:string
+@s_LogoItWii = .data:0x804070DE; // type:object size:0xA scope:local data:string
+@s_LogoDuWii = .data:0x804070E8; // type:object size:0xA scope:local data:string
+@s_LogoUkWii = .data:0x804070F2; // type:object size:0xA scope:local data:string
l_method$96196 = .data:0x804070FC; // type:object size:0xC scope:local align:4
lbl_80407108 = .data:0x80407108; // type:object size:0x1D data:string
lbl_80407125 = .data:0x80407125; // type:object size:0x1D data:string
lbl_80407142 = .data:0x80407142; // type:object size:0x1D data:string
lbl_8040715F = .data:0x8040715F; // type:object size:0x1D data:string
lbl_8040717C = .data:0x8040717C; // type:object size:0x1D data:string
-lbl_80407199 = .data:0x80407199; // type:object size:0x343
+lbl_80407199 = .data:0x80407199; // type:object size:0x1D data:string
+@s__res_FieldMap_Field0_arc = .data:0x804071B6; // type:object size:0x19 scope:local data:string
+@s__res_Object_AlAnm_arc = .data:0x804071CF; // type:object size:0x16 scope:local data:string
+@s__res_LayoutRevo_fmapresR_arc = .data:0x804071E5; // type:object size:0x1D scope:local data:string
+@s__res_LayoutRevo_dmapresR_arc = .data:0x80407202; // type:object size:0x1D scope:local data:string
+@s__res_LayoutRevo_clctresR_arc = .data:0x8040721F; // type:object size:0x1D scope:local data:string
+@s__res_Layout_itemicon_arc = .data:0x8040723C; // type:object size:0x19 scope:local data:string
+@s__res_LayoutRevo_ringresR_arc = .data:0x80407255; // type:object size:0x1D scope:local data:string
+@s__res_Layout_playerName_arc = .data:0x80407272; // type:object size:0x1B scope:local data:string
+@s__res_LayoutRevo_itmInfResR_arc = .data:0x8040728D; // type:object size:0x1F scope:local data:string
+@s__res_LayoutRevo_buttonR_arc = .data:0x804072AC; // type:object size:0x1C scope:local data:string
+@s__res_WiiBannerIcon_bannerIcon_ = .data:0x804072C8; // type:object size:0x22 scope:local data:string
+@s__res_Msgde_bmgres_arc = .data:0x804072EA; // type:object size:0x16 scope:local data:string
+@s__res_Msgfr_bmgres_arc = .data:0x80407300; // type:object size:0x16 scope:local data:string
+@s__res_Msgsp_bmgres_arc = .data:0x80407316; // type:object size:0x16 scope:local data:string
+@s__res_Msgit_bmgres_arc = .data:0x8040732C; // type:object size:0x16 scope:local data:string
+@s__res_Msguk_bmgres_arc = .data:0x80407342; // type:object size:0x16 scope:local data:string
+@s__res_LayoutRevo_msgcomR_arc = .data:0x80407358; // type:object size:0x1C scope:local data:string
+@s__res_LayoutRevo_msgres00R_arc = .data:0x80407374; // type:object size:0x1E scope:local data:string
+@s__res_LayoutRevo_msgres01R_arc = .data:0x80407392; // type:object size:0x1E scope:local data:string
+@s__res_LayoutRevo_msgres02R_arc = .data:0x804073B0; // type:object size:0x1E scope:local data:string
+@s__res_LayoutRevo_msgres03R_arc = .data:0x804073CE; // type:object size:0x1E scope:local data:string
+@s__res_Layout_msgres04F_arc = .data:0x804073EC; // type:object size:0x1A scope:local data:string
+@s__res_Layout_msgres05_arc = .data:0x80407406; // type:object size:0x19 scope:local data:string
+@s__res_Layout_msgres06_arc = .data:0x8040741F; // type:object size:0x19 scope:local data:string
+@s__res_LayoutRevo_main2DR_arc = .data:0x80407438; // type:object size:0x1C scope:local data:string
+@s__res_Fonteu_fontres_arc = .data:0x80407454; // type:object size:0x18 scope:local data:string
+@s__res_Fonteu_rubyres_arc = .data:0x8040746C; // type:object size:0x18 scope:local data:string
+@s__res_Particle_common_r_jpc = .data:0x80407484; // type:object size:0x1B scope:local data:string
+@s__res_ItemTable_item_table_bin = .data:0x8040749F; // type:object size:0x1E scope:local data:string
+@s__res_ItemTable_enemy_table_bin = .data:0x804074BD; // type:object size:0x1F scope:local data:string
l_dScnLogo_Method = .data:0x804074DC; // type:object size:0x14 scope:global align:4
g_profile_LOGO_SCENE = .data:0x804074F0; // type:object size:0x28 scope:global align:4
@99263 = .data:0x80407518; // type:object size:0x1C scope:local align:4
@@ -25757,10 +25792,7 @@ lbl_8051E433 = .sdata:0x8051E433; // type:object size:0x8 data:string
lbl_8051E43B = .sdata:0x8051E43B; // type:object size:0x7 data:string
lbl_8051E442 = .sdata:0x8051E442; // type:object size:0x5 data:string
lbl_8051E447 = .sdata:0x8051E447; // type:object size:0x8 data:string
-g_blackColor = .sdata:0x8051E44F; // type:object size:0x1 data:byte
-lbl_8051E450 = .sdata:0x8051E450; // type:object size:0x1 data:byte
-lbl_8051E451 = .sdata:0x8051E451; // type:object size:0x1 data:byte
-lbl_8051E452 = .sdata:0x8051E452; // type:object size:0x1 data:byte
+g_blackColor = .sdata:0x8051E44F; // type:object size:0x4 data:4byte
lbl_8051E453 = .sdata:0x8051E453; // type:object size:0x1 data:byte
lbl_8051E454 = .sdata:0x8051E454; // type:object size:0x1 data:byte
lbl_8051E455 = .sdata:0x8051E455; // type:object size:0x1 data:byte
@@ -27450,10 +27482,10 @@ __float_nan = .sdata:0x80520EB8; // type:object size:0x4 scope:global align:4 da
__float_huge = .sdata:0x80520EBC; // type:object size:0x4 scope:global align:4 data:float
SendCount = .sdata:0x80520EC0; // type:object size:0x1 data:byte
m_myObj__13dHomeButton_c = .sbss:0x80520EE0; // type:object size:0x4 scope:global align:4 data:4byte
-lbl_80520EE4 = .sbss:0x80520EE4; // type:object size:0x1 data:byte
-lbl_80520EE5 = .sbss:0x80520EE5; // type:object size:0x1 data:byte
+lbl_8053A724__13dHomeButton_c = .sbss:0x80520EE4; // type:object size:0x1 data:byte
+lbl_8053A725__13dHomeButton_c = .sbss:0x80520EE5; // type:object size:0x1 data:byte
m_myObj__10dCsr_mng_c = .sbss:0x80520EE8; // type:object size:0x4 scope:global align:4 data:4byte
-lbl_80520EF0 = .sbss:0x80520EF0; // type:object size:0x8 data:byte
+data_8053a730 = .sbss:0x80520EF0; // type:object size:0x1 data:byte
lbl_80520EF8 = .sbss:0x80520EF8; // type:object size:0x1 data:byte
sPowerOnTime__7mDoMain = .sbss:0x80520F00; // type:object size:0x8 scope:global align:4 data:4byte
sHungUpTime__7mDoMain = .sbss:0x80520F08; // type:object size:0x8 scope:global align:4 data:4byte
@@ -27883,7 +27915,7 @@ resPreLoadTime0 = .sbss:0x805215E0; // type:object size:0x8 scope:global align:4
resPreLoadTime1 = .sbss:0x805215E8; // type:object size:0x8 scope:global align:4 data:4byte
g_preLoadHIO = .sbss:0x805215F0; // type:object size:0x4 scope:global align:4
pauseTimer__9dScnPly_c = .sbss:0x805215F4; // type:object size:0x1 data:byte
-lbl_805215F5 = .sbss:0x805215F5; // type:object size:0x1 data:byte
+nextPauseTimer__9dScnPly_c = .sbss:0x805215F5; // type:object size:0x1 data:byte
g_regHIO = .sbss:0x805215F8; // type:object size:0x4 scope:global align:4
m_nowID__9dkWmark_c = .sbss:0x80521600; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80521604 = .sbss:0x80521604; // type:object size:0x1 data:byte
diff --git a/include/d/d_s_logo.h b/include/d/d_s_logo.h
index 56d10eef82..33501cca04 100644
--- a/include/d/d_s_logo.h
+++ b/include/d/d_s_logo.h
@@ -149,7 +149,7 @@ public:
/* 0x200 */ dDlst_2D_c* mNvLogo;
/* 0x204 */ dDlst_2D_c* mMocImg;
#endif
-#if VERSION == VERSION_GCN_PAL
+#if REGION_PAL
/* 0x1FC */ mDoDvdThd_mountArchive_c* mpPalLogoResCommand;
#endif
/* 0x1FC */ request_of_phase_process_class* m_preLoad_dylPhase;
diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h
index 123326c207..ac1931ef1b 100644
--- a/include/m_Do/m_Do_graphic.h
+++ b/include/m_Do/m_Do_graphic.h
@@ -255,7 +255,9 @@ public:
static void onWide();
static void offWide();
- static u8 isWide();
+ inline static u8 isWide() {
+ return mWide == TRUE;
+ }
static void onWideZoom();
static void offWideZoom();
diff --git a/include/m_Do/m_Do_machine.h b/include/m_Do/m_Do_machine.h
index 53c47c07a7..5eec79033b 100644
--- a/include/m_Do/m_Do_machine.h
+++ b/include/m_Do/m_Do_machine.h
@@ -17,6 +17,9 @@ void mDoMch_HeapFreeFillAll();
int mDoMch_Create();
extern GXRenderModeObj g_ntscZeldaProg;
+#if VERSION == VERSION_WII_PAL
+extern GXRenderModeObj g_palZeldaProg60;
+#endif
class mDoMch_render_c {
public:
diff --git a/libs/revolution/include/revolution/sc.h b/libs/revolution/include/revolution/sc.h
index 262b165607..4e3071c3e5 100644
--- a/libs/revolution/include/revolution/sc.h
+++ b/libs/revolution/include/revolution/sc.h
@@ -185,6 +185,7 @@ BOOL SCGetIdleMode(SCIdleModeInfo* data);
u8 SCGetLanguage(void);
u8 SCGetProgressiveMode(void);
void SCSetProgressiveMode(u8 mode);
+void SCSetEuRgb60Mode(u8 mode);
u8 SCGetScreenSaverMode(void);
u8 SCGetSoundMode(void);
u32 SCGetCounterBias(void);
diff --git a/src/d/d_s_logo.cpp b/src/d/d_s_logo.cpp
index 1b8e71d3e8..dc89b3c40f 100644
--- a/src/d/d_s_logo.cpp
+++ b/src/d/d_s_logo.cpp
@@ -381,7 +381,7 @@ void dScnLogo_c::progOutDraw() {
dComIfGd_set2DOpa(mProgressiveNo);
if (mTimer == 0) {
- #if VERSION == VERSION_GCN_PAL
+ #if REGION_PAL
if (field_0x218 == 1 && field_0x209 == 0)
#else
if (field_0x218 != 0 && field_0x209 == 0)
@@ -497,7 +497,7 @@ void dScnLogo_c::warningDispDraw() {
field_0x210--;
}
- #if PLATFORM_WII
+ #if PLATFORM_WII && VERSION != VERSION_WII_PAL
if (mTimer == 0 || cAPICPad_A_TRIGGER(PAD_1) || cAPICPad_B_TRIGGER(PAD_1) || cAPICPad_START_TRIGGER(PAD_1))
#else
if (mTimer == 0 || mDoCPd_c::getTrig(PAD_1) &
@@ -796,15 +796,32 @@ dScnLogo_c::~dScnLogo_c() {
#if PLATFORM_WII || PLATFORM_SHIELD
switch (getPalLanguage()) {
+#if REGION_PAL
+ case 1:
+ dComIfG_deleteObjectResMain("LogoGmWii");
+ break;
+#endif
case 2:
dComIfG_deleteObjectResMain("LogoFrWii");
break;
case 3:
dComIfG_deleteObjectResMain("LogoSpWii");
break;
+#if REGION_PAL
+ case 4:
+ dComIfG_deleteObjectResMain("LogoItWii");
+ break;
+ case 5:
+ dComIfG_deleteObjectResMain("LogoDuWii");
+ break;
+#endif
case 0:
default:
+#if REGION_PAL
+ dComIfG_deleteObjectResMain("LogoUkWii");
+#else
dComIfG_deleteObjectResMain("LogoUsWii");
+#endif
break;
}
#else
@@ -992,6 +1009,27 @@ static int phase_1(dScnLogo_c* i_this) {
int rt;
#if PLATFORM_WII || PLATFORM_SHIELD
switch (i_this->getPalLanguage()) {
+#if REGION_PAL
+ case 1:
+ rt = dComIfG_setObjectRes("LogoGmWii", (u8)0, i_this->mLogoHeap);
+ break;
+ case 2:
+ rt = dComIfG_setObjectRes("LogoFrWii", (u8)0, i_this->mLogoHeap);
+ break;
+ case 3:
+ rt = dComIfG_setObjectRes("LogoSpWii", (u8)0, i_this->mLogoHeap);
+ break;
+ case 4:
+ rt = dComIfG_setObjectRes("LogoItWii", (u8)0, i_this->mLogoHeap);
+ break;
+ case 5:
+ rt = dComIfG_setObjectRes("LogoDuWii", (u8)0, i_this->mLogoHeap);
+ break;
+ case 0:
+ default:
+ rt = dComIfG_setObjectRes("LogoUkWii", (u8)0, i_this->mLogoHeap);
+ break;
+#else
case 0:
default:
rt = dComIfG_setObjectRes("LogoUsWii", (u8)0, i_this->mLogoHeap);
@@ -1002,6 +1040,7 @@ static int phase_1(dScnLogo_c* i_this) {
case 3:
rt = dComIfG_setObjectRes("LogoSpWii", (u8)0, i_this->mLogoHeap);
break;
+#endif
}
#else
rt = dComIfG_setObjectRes(LOGO_ARC, (u8)0, i_this->mLogoHeap);
@@ -1111,6 +1150,12 @@ int dScnLogo_c::create() {
}
#if PLATFORM_WII || PLATFORM_SHIELD
+
+#if REGION_PAL
+static const u8 logoIndexes[6] = {4, 4, 4, 4, 4, 4};
+static const u8 widescreenLogoIndexes[6] = {3, 3, 3, 3, 3, 3};
+#endif
+
void dScnLogo_c::logoInitWii() {
u8 language = getPalLanguage();
if (language > 5) {
@@ -1120,11 +1165,48 @@ void dScnLogo_c::logoInitWii() {
ResTIMG* timg;
s16 width;
s16 height;
+#if REGION_PAL
+ int index;
+ if (mDoGph_gInf_c::isWide()) {
+ width = 832;
+ index = widescreenLogoIndexes[language];
+ height = FB_HEIGHT;
+ } else {
+ width = FB_WIDTH_BASE;
+ index = logoIndexes[language];
+ height = FB_HEIGHT;
+ }
+
+ switch (language) {
+ case 1:
+ timg = (ResTIMG*)dComIfG_getObjectRes("LogoGmWii", index);
+ break;
+ case 2:
+ timg = (ResTIMG*)dComIfG_getObjectRes("LogoFrWii", index);
+ break;
+ case 3:
+ timg = (ResTIMG*)dComIfG_getObjectRes("LogoSpWii", index);
+ break;
+ case 4:
+ timg = (ResTIMG*)dComIfG_getObjectRes("LogoItWii", index);
+ break;
+ case 0:
+ timg = (ResTIMG*)dComIfG_getObjectRes("LogoUkWii", index);
+ break;
+ case 5:
+ timg = (ResTIMG*)dComIfG_getObjectRes("LogoDuWii", index);
+ break;
+ }
+#else
if (mDoGph_gInf_c::isWide()) {
switch (language) {
case 0:
default:
+#if PLATFORM_SHIELD
+ timg = (ResTIMG*)dComIfG_getObjectRes("LogoUsWii", 3);
+#else
timg = (ResTIMG*)dComIfG_getObjectRes("LogoUsWii", dRes_ID_LOGOUSWII_BTI_STRAP_16_9_832X456_US_e);
+#endif
break;
case 2:
timg = (ResTIMG*)dComIfG_getObjectRes("LogoFrWii", 3);
@@ -1140,7 +1222,11 @@ void dScnLogo_c::logoInitWii() {
switch (language) {
case 0:
default:
+#if PLATFORM_SHIELD
+ timg = (ResTIMG*)dComIfG_getObjectRes("LogoUsWii", 4);
+#else
timg = (ResTIMG*)dComIfG_getObjectRes("LogoUsWii", dRes_ID_LOGOUSWII_BTI_STRAP_608X456_US_e);
+#endif
break;
case 2:
timg = (ResTIMG*)dComIfG_getObjectRes("LogoFrWii", 4);
@@ -1154,6 +1240,7 @@ void dScnLogo_c::logoInitWii() {
width = FB_WIDTH_BASE;
height = FB_HEIGHT;
}
+#endif
JUT_ASSERT(2309, timg != NULL);
mStrapImg = new dDlst_2D_c(timg, (FB_WIDTH_BASE / 2) - (width / 2), (FB_HEIGHT_BASE / 2) - (height / 2), width, height, 255);
@@ -1313,11 +1400,20 @@ void dScnLogo_c::dvdDataLoad() {
static const homeBtnData l_homeBtnData[] = {
{SC_LANG_ENGLISH, "/res/HomeBtn/homeBtn_ENG.arc"},
+#if REGION_PAL
+ {SC_LANG_GERMAN, "/res/HomeBtn/homeBtn_GER.arc"},
+#else
{SC_LANG_ENGLISH, "/res/HomeBtn/homeBtn_ENG.arc"},
+#endif
{SC_LANG_FRENCH, "/res/HomeBtn/homeBtn_FRA.arc"},
{SC_LANG_SPANISH, "/res/HomeBtn/homeBtn_SPA.arc"},
+#if REGION_PAL
+ {SC_LANG_ITALIAN, "/res/HomeBtn/homeBtn_ITA.arc"},
+ {SC_LANG_DUTCH, "/res/HomeBtn/homeBtn_NED.arc"},
+#else
{SC_LANG_ENGLISH, "/res/HomeBtn/homeBtn_ENG.arc"},
{SC_LANG_ENGLISH, "/res/HomeBtn/homeBtn_ENG.arc"},
+#endif
{SC_LANG_ENGLISH, "/res/HomeBtn/homeBtn_ENG.arc"},
};
@@ -1355,7 +1451,7 @@ void dScnLogo_c::dvdDataLoad() {
mpButtonCommand = aramMount(BUTTON_RES_PATH, mDoExt_getJ2dHeap());
mpCardIconCommand = aramMount(ICON_RES_PATH, mDoExt_getJ2dHeap());
- #if VERSION == VERSION_GCN_PAL
+ #if REGION_PAL
switch (getPalLanguage()) {
case 1:
mpBmgResCommand = onMemMount("/res/Msgde/bmgres.arc");
@@ -1408,7 +1504,7 @@ void dScnLogo_c::dvdDataLoad() {
#if VERSION == VERSION_GCN_JPN
mpFontResCommand = mDoDvdThd_mountXArchive_c::create("/res/Fontjp/fontres.arc", 1, JKRArchive::MOUNT_MEM, NULL);
mpRubyResCommand = onMemMount("/res/Fontjp/rubyres.arc");
-#elif VERSION == VERSION_GCN_PAL
+#elif REGION_PAL
mpFontResCommand = onMemMount("/res/Fonteu/fontres.arc");
mpRubyResCommand = onMemMount("/res/Fonteu/rubyres.arc");
#elif VERSION == VERSION_SHIELD_DEBUG
@@ -1564,7 +1660,9 @@ void dScnLogo_c::setProgressiveMode(u8 mode) {
return;
#endif
- #if PLATFORM_WII
+ #if VERSION == VERSION_WII_PAL
+ SCSetEuRgb60Mode(mode);
+ #elif PLATFORM_WII
SCSetProgressiveMode(mode);
#elif VERSION == VERSION_GCN_PAL
OSSetEuRgb60Mode(mode);
@@ -1574,7 +1672,9 @@ void dScnLogo_c::setProgressiveMode(u8 mode) {
}
u8 dScnLogo_c::getProgressiveMode() {
- #if PLATFORM_WII || PLATFORM_SHIELD
+ #if VERSION == VERSION_WII_PAL
+ return SCGetEuRgb60Mode();
+ #elif PLATFORM_WII || PLATFORM_SHIELD
return SCGetProgressiveMode();
#endif
@@ -1594,6 +1694,14 @@ bool dScnLogo_c::isProgressiveMode() {
}
void dScnLogo_c::setRenderMode() {
+#if VERSION == VERSION_WII_PAL
+ if (VIGetDTVStatus() != 0) {
+ if (SCGetProgressiveMode() == 1) {
+ mDoMch_render_c::setRenderModeObj(&g_palZeldaProg60);
+ return;
+ }
+ }
+#endif
mDoMch_render_c::setProgressiveMode();
}
diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp
index 7f624531f7..2fe48c8fd7 100644
--- a/src/m_Do/m_Do_graphic.cpp
+++ b/src/m_Do/m_Do_graphic.cpp
@@ -578,10 +578,6 @@ BOOL mDoGph_gInf_c::isWideZoom() {
return isWide() && mWideZoom;
}
-u8 mDoGph_gInf_c::isWide() {
- return mWide == TRUE;
-}
-
void mDoGph_gInf_c::setWideZoomProjection(Mtx44& m) {
if (!isWideZoom()) {
return;
diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp
index 1223da03a1..9418d36c53 100644
--- a/src/m_Do/m_Do_machine.cpp
+++ b/src/m_Do/m_Do_machine.cpp
@@ -250,7 +250,9 @@ GXRenderModeObj g_ntscZeldaProg = {
#if DEBUG
static void myGXVerifyCallback(GXWarningLevel, u32, const char*);
+#endif
+#if DEBUG || VERSION == VERSION_WII_PAL
GXRenderModeObj g_palZeldaProg60 = {
VI_TVMODE_EURGB60_PROG,
640, 456, 456, 25, 12, 670, 456,