Adds a new cheat that let you transform from the start of the game. (#1241)

* Adds a new cheat that let you transform from the start of the game.

* Preserves transformation when passing loadzones similar to having shadow crystal

* standards compliance

* code compliance with decomp
This commit is contained in:
Olivia!!
2026-05-28 08:25:45 +02:00
committed by GitHub
parent 477192f3c2
commit 62c19c0f64
6 changed files with 23 additions and 10 deletions
+10 -6
View File
@@ -3106,14 +3106,18 @@ void daMidna_c::setMidnaNoDrawFlg() {
BOOL daMidna_c::checkMetamorphoseEnableBase() {
BOOL tmp;
if (!daAlink_getAlinkActorClass()->checkMidnaRide() || (g_env_light.mEvilInitialized & 0x80) ||
/* dSv_event_flag_c::M_077 - Main Event - Get shadow crystal (can now transform) */
!dComIfGs_isEventBit(0xD04) ||
#if TARGET_PC
(fopAcIt_Judge((fopAcIt_JudgeFunc)daMidna_searchNpc, &tmp) &&
!dusk::getSettings().game.canTransformAnywhere)
if (((!daAlink_getAlinkActorClass()->checkMidnaRide() || (g_env_light.mEvilInitialized & 0x80) ||
/* dSv_event_flag_c::M_077 - Main Event - Get shadow crystal (can now transform) */
!dComIfGs_isEventBit(0xD04)) &&
!dusk::getSettings().game.transformWithoutShadowCrystal) ||
(fopAcIt_Judge((fopAcIt_JudgeFunc)daMidna_searchNpc, &tmp) &&
!dusk::getSettings().game.canTransformAnywhere)
#else
fopAcIt_Judge((fopAcIt_JudgeFunc)daMidna_searchNpc, &tmp)
if (!daAlink_getAlinkActorClass()->checkMidnaRide() || (g_env_light.mEvilInitialized & 0x80) ||
/* dSv_event_flag_c::M_077 - Main Event - Get shadow crystal (can now transform) */
!dComIfGs_isEventBit(0xD04) ||
fopAcIt_Judge((fopAcIt_JudgeFunc)daMidna_searchNpc, &tmp)
#endif
)
{