Merge remote-tracking branch 'origin/main' into 26-04-04-config

This commit is contained in:
PJB3005
2026-04-05 00:12:17 +02:00
50 changed files with 1094 additions and 364 deletions
+60 -24
View File
@@ -17,6 +17,13 @@
#include "m_Do/m_Do_main.h"
#include "f_op/f_op_overlap_mng.h"
#include "dusk/memory.h"
#include "dusk/settings.h"
#if TARGET_PC
#define SHOW_TV_SETTINGS_SCREEN (this->mShowTvSettingsScreen)
#else
#define SHOW_TV_SETTINGS_SCREEN (1)
#endif
static dSn_HIO_c g_snHIO;
@@ -293,13 +300,27 @@ void dScnName_c::FileSelectMain() {
}
void dScnName_c::FileSelectMainNormal() {
#if TARGET_PC
mShowTvSettingsScreen = !dusk::settings::game::hideTvSettingsScreen;
#endif
switch(dFs_c->isSelectEnd()) {
case 1:
mWaitTimer = 15;
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
mDoGph_gInf_c::startFadeOut(15);
if (SHOW_TV_SETTINGS_SCREEN) {
mWaitTimer = 15;
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
mDoGph_gInf_c::startFadeOut(15);
} else {
mWaitTimer = 1;
}
mProc = dScnName_PROC_FileSelectClose;
field_0x420 = 1;
if (!SHOW_TV_SETTINGS_SCREEN) {
mDoAud_seStart(Z2SE_ENTER_GAME, NULL, 0, 0);
}
break;
}
}
@@ -308,12 +329,17 @@ void dScnName_c::FileSelectClose() {
mWaitTimer--;
if (mWaitTimer == 0) {
mProc = dScnName_PROC_BrightCheckOpen;
mWaitTimer = 15;
mDrawProc = 1;
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
mDoGph_gInf_c::startFadeIn(15);
field_0x420 = 0;
if (SHOW_TV_SETTINGS_SCREEN) {
mProc = dScnName_PROC_BrightCheckOpen;
mWaitTimer = 15;
mDrawProc = 1;
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
mDoGph_gInf_c::startFadeIn(15);
field_0x420 = 0;
} else {
doPreLoadSetup();
field_0x420 = 0;
}
}
}
@@ -330,24 +356,34 @@ void dScnName_c::brightCheck() {
mBrightCheck->_move();
if (mBrightCheck->isEnd()) {
dComIfGs_setSaveTotalTime(dComIfGs_getTotalTime());
dComIfGs_setSaveStartTime(OSGetTime());
mDoAud_bgmStop(45);
field_0x41f = 0;
mProc = dScnName_PROC_ChangeGameScene;
// Reset rupee "first-time collection" flags so the collection cutscene will play again
dComIfGs_offItemFirstBit(dItemNo_GREEN_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_BLUE_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_YELLOW_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_RED_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_PURPLE_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_ORANGE_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_SILVER_RUPEE_e);
doPreLoadSetup();
}
}
void dScnName_c::doPreLoadSetup() {
dComIfGs_setSaveTotalTime(dComIfGs_getTotalTime());
dComIfGs_setSaveStartTime(OSGetTime());
mDoAud_bgmStop(45);
field_0x41f = 0;
mProc = dScnName_PROC_ChangeGameScene;
#if TARGET_PC
if (dusk::settings::game::disableRupeeCutscenes) {
return;
}
#endif
// Reset rupee "first-time collection" flags so the collection cutscene will play again
dComIfGs_offItemFirstBit(dItemNo_GREEN_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_BLUE_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_YELLOW_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_RED_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_PURPLE_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_ORANGE_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_SILVER_RUPEE_e);
}
void dScnName_c::changeGameScene() {
if (!mDoRst::isReset() && !fopOvlpM_IsPeek()) {
dComIfGs_gameStart();