Moved spiral warp point during dark transition (fixed $53 logic)

More spiral layers fixed by adding a 'from layer' bit.
Several edge cases addressed (a couple stairs crossed quadrant boundaries during transition)
This commit is contained in:
randall.rupper
2019-09-06 14:21:19 -06:00
parent 02b3ca5d52
commit 1ec963f162
6 changed files with 54 additions and 35 deletions

View File

@@ -860,7 +860,7 @@ class Door(object):
layer = 4 * (self.layer ^ 1 if toggle else self.layer)
return [self.roomIndex, layer + self.doorIndex]
if self.type == DoorType.SpiralStairs:
bitmask = 0x04 * int(self.layer)
bitmask = int(self.layer) << 2
bitmask += 0x10 * int(self.zeroHzCam)
bitmask += 0x20 * int(self.zeroVtCam)
return [self.roomIndex, bitmask + self.quadrant, self.shiftX, self.shiftY]