summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlunarsoap5 <40438826+lunarsoap5@users.noreply.github.com>2020-07-20 00:53:59 -0500
committerGitHub <noreply@github.com>2020-07-20 00:53:59 -0500
commita113a04d9487affd508efbfca976caf59d99648f (patch)
tree6505cee9ddf621fd4f625e84209b35aa879ff705
parent43bd106d3e63fbc60fd93a31586dab52f023f0ac (diff)
Patched Early ToT issue with Snowpeak
-rw-r--r--source/game_patches.cpp13
-rw-r--r--source/mod.cpp12
2 files changed, 14 insertions, 11 deletions
diff --git a/source/game_patches.cpp b/source/game_patches.cpp
index 1c7272d..25d8632 100644
--- a/source/game_patches.cpp
+++ b/source/game_patches.cpp
@@ -251,7 +251,7 @@ namespace mod::game_patch
void fixSPRState()
{
- if (Singleton::getInstance()->hasSPRBeenBeaten == 1 || Singleton::getInstance()->isEarlyToTEnabled == 1)
+ if (Singleton::getInstance()->hasSPRBeenBeaten == 1)
{
gameInfo.scratchPad.allAreaNodes.Snowpeak_Ruins.dungeon.bossBeaten = 0b0; //unset boss flag
gameInfo.scratchPad.eventBits[0x20] &= ~0x8; //unset story flag
@@ -393,10 +393,6 @@ namespace mod::game_patch
gameInfo.scratchPad.allAreaNodes.Snowpeak_Ruins.dungeon.bossBeaten = 0b1; //set boss flag
gameInfo.scratchPad.eventBits[0x20] |= 0x8; //set story flag
}
- else if (Singleton::getInstance()->isEarlyToTEnabled == 1)
- {
- gameInfo.scratchPad.eventBits[0x20] |= 0x8; //set story flag
- }
}
void setSPRBossFlag()
@@ -418,6 +414,11 @@ namespace mod::game_patch
gameInfo.scratchPad.allAreaNodes.Temple_of_Time.dungeon.bossBeaten = 0b1; //set boss flag
gameInfo.scratchPad.eventBits[0x20] |= 0x4; //set story flag
}
+
+ if (Singleton::getInstance()->isEarlyToTEnabled == 1)
+ {
+ gameInfo.nextStageVars.nextState = 0x2;
+ }
}
void setToTBossFlag()
@@ -928,7 +929,7 @@ namespace mod::game_patch
if (Singleton::getInstance()->isEarlyToTEnabled == 1)
{
gameInfo.scratchPad.allAreaNodes.Sacred_Grove.unk_0[0x17] |= 0x10; //SG Portal
- gameInfo.scratchPad.allAreaNodes.Sacred_Grove.unk_0[0x9] |= 0x40; //ToT Stairs
+ gameInfo.scratchPad.allAreaNodes.Sacred_Grove.unk_0[0x9] |= 0x70; //ToT Stairs
gameInfo.scratchPad.allAreaNodes.Sacred_Grove.unk_0[0xB] |= 0x10; //Pushed block as human
}
diff --git a/source/mod.cpp b/source/mod.cpp
index 2814579..4cd972c 100644
--- a/source/mod.cpp
+++ b/source/mod.cpp
@@ -893,12 +893,8 @@ namespace mod
{
if (canQuickTransform())
{
- if (gameInfo.linkMapPtr->equippedItem != items::Ball_and_Chain)
- {
- // Transform
+ // Transform
tp::d_a_alink::procCoMetamorphoseInit(gameInfo.linkMapPtr);
- }
-
}
}
@@ -2048,6 +2044,12 @@ namespace mod
strcpy(sysConsolePtr->consoleLine[20].line, "-> on spinner");
return false;
}
+
+ if (gameInfo.linkMapPtr->equippedItem == items::Ball_and_Chain)
+ {
+ return false;
+ }
+
strcpy(sysConsolePtr->consoleLine[20].line, "-> Can Transform");
return true;
}