summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/creditsMgr.S4
-rw-r--r--src/creditsMgr.cpp3
-rw-r--r--src/levelspecial.cpp2
3 files changed, 7 insertions, 2 deletions
diff --git a/src/creditsMgr.S b/src/creditsMgr.S
index fc675cb..03e61de 100644
--- a/src/creditsMgr.S
+++ b/src/creditsMgr.S
@@ -88,9 +88,9 @@ PlayerRotInjector3:
bne dontOverridePlayerRot3
lis r9, lockedPlayerRotation@h
ori r9, r9, lockedPlayerRotation@l
- lha r0, 0(r9)
+ lha r7, 0(r9)
dontOverridePlayerRot3:
- sth r0, 0x12(r1)
+ sth r7, 0x12(r1)
blr
# FOR SOME FUN
diff --git a/src/creditsMgr.cpp b/src/creditsMgr.cpp
index 0d7b5e7..bcd48f8 100644
--- a/src/creditsMgr.cpp
+++ b/src/creditsMgr.cpp
@@ -228,6 +228,9 @@ int dCreditsMgr_c::onExecute() {
if (countdown > 0) {
countdown--;
} else if (!renderer.isEnabled) {
+ if (!endingMode)
+ isLockPlayerRotation = false;
+
// Execute commands if we can
bool exitInterpreter = false;
while (scriptPos && !exitInterpreter) {
diff --git a/src/levelspecial.cpp b/src/levelspecial.cpp
index 002a6a1..ba8539c 100644
--- a/src/levelspecial.cpp
+++ b/src/levelspecial.cpp
@@ -47,6 +47,7 @@ extern u32 GameTimer;
extern char CameraLockEnabled;
extern VEC2 CameraLockPosition;
+extern char isLockPlayerRotation;
#define time *(u32*)((GameTimer) + 0x4)
@@ -95,6 +96,7 @@ bool ResetAfterLevel(bool didItWork) {
Player_Flags[i] &= ~4;
BGScaleEnabled = 0;
CameraLockEnabled = 0;
+ isLockPlayerRotation = false;
return didItWork;
}