fix file select fade not rendering with frame interpolation

This commit is contained in:
Pheenoh
2026-04-18 16:53:48 -06:00
parent 09e3e17aa6
commit 5bcc969778
2 changed files with 30 additions and 0 deletions
+16
View File
@@ -10,6 +10,7 @@
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
class dFile_info_c;
class J2DPicture;
class dDlst_FileSel_c : public dDlst_base_c {
public:
@@ -113,6 +114,14 @@ public:
/* 0x04 */ J2DScreen* Scr3m;
};
class dDlst_FileSelFade_c : public dDlst_base_c {
public:
void draw();
virtual ~dDlst_FileSelFade_c() {}
/* 0x04 */ J2DPicture* mpPict;
};
class dFs_HIO_c : public JORReflexible {
public:
dFs_HIO_c();
@@ -676,6 +685,9 @@ public:
#if PLATFORM_GCN
/* 0x2378 */ J2DPicture* mpFadePict;
#endif
#ifdef TARGET_PC
dDlst_FileSelFade_c mFadeDlst;
#endif
#if PLATFORM_WII || PLATFORM_SHIELD
/* 0x2376 */ u8 field_0x2376[SAVEFILE_SIZE];
@@ -684,6 +696,10 @@ public:
#endif
};
#ifdef TARGET_PC
STATIC_ASSERT(sizeof(dFile_select_c) == 0x237C + sizeof(dDlst_FileSelFade_c));
#else
STATIC_ASSERT(sizeof(dFile_select_c) == 0x237C);
#endif
#endif /* D_FILE_D_FILE_SELECT_H */
+14
View File
@@ -3204,6 +3204,9 @@ void dFile_select_c::screenSet() {
timg, NULL);
mpFadePict->setBlackWhite(black, white);
mpFadePict->setAlpha(0);
#ifdef TARGET_PC
mFadeDlst.mpPict = mpFadePict;
#endif
#endif
}
@@ -3870,10 +3873,14 @@ void dFile_select_c::_draw() {
dComIfGd_set2DOpa(mSelIcon2);
#if PLATFORM_GCN
#if TARGET_PC
dComIfGd_set2DOpaTop(&mFadeDlst);
#else
mpFadePict->draw(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(),
mDoGph_gInf_c::getWidthF(), mDoGph_gInf_c::getHeightF(), false, false,
false);
#endif
#endif
}
}
@@ -3917,6 +3924,13 @@ void dDlst_FileSel3m_c::draw() {
Scr3m->draw(0.0f, 0.0f, graf);
}
#ifdef TARGET_PC
void dDlst_FileSelFade_c::draw() {
mpPict->draw(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(),
mDoGph_gInf_c::getWidthF(), mDoGph_gInf_c::getHeightF(), false, false, false);
}
#endif
void dFile_select_c::errorMoveAnmInitSet(int param_1, int param_2) {
mErrorMsgPane->setAnimation(field_0x0090);
field_0x0130 = param_1;