Fix fade during Golden Wolf transitions

This commit is contained in:
Irastris
2026-09-20 12:40:48 -04:00
parent 35cdedced6
commit 0d4e359bc1
3 changed files with 25 additions and 15 deletions
+10 -4
View File
@@ -11,6 +11,10 @@
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_graphic.h"
#if TARGET_PC
#include "m_Do/m_Do_lib.h"
#endif
void dOvlpFd2_dlst_c::draw() {
GXSetViewport(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0.0f, 1.0f);
GXSetScissor(0, 0, FB_WIDTH, FB_HEIGHT);
@@ -55,14 +59,16 @@ void dOvlpFd2_dlst_c::draw() {
#endif
GXSetProjection(m, GX_PERSPECTIVE);
#ifdef TARGET_PC
mDoGph_gInf_c::getFrameBufferTexObj()->reset();
#endif
#if TARGET_PC
mDoLib_setResTimgObj(mDoGph_gInf_c::m_fullFrameBufferTimg, &mDoGph_gInf_c::m_fullFrameBufferTexObj, 0, NULL);
#else
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), FB_WIDTH / 2,
FB_HEIGHT / 2, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f,
GX_FALSE, GX_FALSE, GX_ANISO_1);
GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP0);
#endif
GXLoadTexObj(DUSK_IF_ELSE(&mDoGph_gInf_c::m_fullFrameBufferTexObj, mDoGph_gInf_c::getFrameBufferTexObj()),
GX_TEXMAP0);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, 0, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE);
+14 -10
View File
@@ -12,14 +12,16 @@
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_graphic.h"
#if TARGET_PC
#include "m_Do/m_Do_lib.h"
#endif
void dDlst_snapShot_c::draw() {
GXSetTexCopySrc(0, 0, FB_WIDTH, FB_HEIGHT);
#if TARGET_PC
GXSetTexCopyDst(FB_WIDTH, FB_HEIGHT, GX_TF_RGBA8, GX_FALSE);
#else
GXSetTexCopyDst(FB_WIDTH / 2, FB_HEIGHT / 2, GX_TF_RGBA8, GX_TRUE);
#endif
GXCopyTex(mDoGph_gInf_c::getFrameBufferTex(), GX_FALSE);
GXSetTexCopyDst(FB_WIDTH IF_NOT_DUSK(/ 2), FB_HEIGHT IF_NOT_DUSK(/ 2),
GX_TF_RGBA8, DUSK_IF_ELSE(GX_FALSE, GX_TRUE));
GXCopyTex(DUSK_IF_ELSE(mDoGph_gInf_c::m_fullFrameBufferTex, mDoGph_gInf_c::getFrameBufferTex()),
GX_FALSE);
GXPixModeSync();
}
@@ -67,14 +69,16 @@ void dOvlpFd3_dlst_c::draw() {
#endif
GXSetProjection(m, GX_PERSPECTIVE);
#ifdef TARGET_PC
mDoGph_gInf_c::getFrameBufferTexObj()->reset();
#endif
#if TARGET_PC
mDoLib_setResTimgObj(mDoGph_gInf_c::m_fullFrameBufferTimg, &mDoGph_gInf_c::m_fullFrameBufferTexObj, 0, NULL);
#else
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), FB_WIDTH / 2,
FB_HEIGHT / 2, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f,
GX_FALSE, GX_FALSE, GX_ANISO_1);
GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP0);
#endif
GXLoadTexObj(DUSK_IF_ELSE(&mDoGph_gInf_c::m_fullFrameBufferTexObj, mDoGph_gInf_c::getFrameBufferTexObj()),
GX_TEXMAP0);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, 0, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE);
+1 -1
View File
@@ -2694,7 +2694,7 @@ int mDoGph_Painter() {
#endif
#if TARGET_PC
if (dusk::getSettings().game.enableMirrorMode)
if (dusk::getSettings().game.enableMirrorMode && dComIfGp_getWindowNum() != 0)
#elif PLATFORM_WII
if (data_8053a730)
#endif