Inverted mountain cave starts on overworld

This commit is contained in:
Kevin Cathcart
2018-09-20 00:20:02 -04:00
parent 78b05e1d46
commit 891bb49ce2
4 changed files with 41 additions and 1 deletions

View File

@@ -112,6 +112,32 @@ AllowStartFromSingleEntranceCave:
.done
PLA
RTL
;--------------------------------------------------------------------------------
AllowStartFromExit:
LDX $1CE8
LDA.l ShouldStartatExit, X : BNE .doStart
LDA.l $7EF3C8 ; what we wrote over
JML.l AllowStartFromExitReturn
.doStart
LDA.l $028481, X ;Module_LocationMenu_starting_points
ASL : TAX
LDA.l $02D8D2, X : STA $A0
LDA.l $02D8D3, X : STA $A1
; Go to pre-overworld mode
LDA.b #$08 : STA $10
STZ $11
STZ $B0
STZ $04AA
RTL
;--------------------------------------------------------------------------------
CheckHole:
LDX.w #$0024

View File

@@ -240,6 +240,10 @@ JSL.l DecideIfBunnyByScreenIndex : db #$D0 ; BNE
org $02D9B9 ; <- 159B9 - Bank02.asm : 11089 (LDA $7EF3C8)
JSL AllowStartFromSingleEntranceCave
;--------------------------------------------------------------------------------
org $028496 ; <- 15496 - Bank02.asm : 959 (LDA $7EF3C8 : PHA)
JML.l AllowStartFromExit
AllowStartFromExitReturn:
;--------------------------------------------------------------------------------
org $1bc2a7 ; <- DC2A7 - Bank1B.asm : 1143 (Overworld_CreatePyramidHole:)
JSL.l Overworld_CreatePyramidHoleModified
RTL

View File

@@ -236,6 +236,9 @@ org $02E07C+$06 : db $f2
org $02E0CB+$06+$06 : dw $0000
org $02E169+$06+$06 : dw $0000
org $308350 : db $00, $00, $01 ; Death mountain cave should start on overworld
;(0x????,0x1B,0x0130,0x060a,0x0716,0x0672,0x07f8,0x0681,0x0803,0x0c,0x02,xx,xx)
; Exit table cryptic documentation:
;??|$15D8A-$15E27 - (0x4F entries, 2 bytes each) - Rooms that exit to overworld Areas ("Room" in HM)

View File

@@ -948,7 +948,7 @@ dw $0000 : db $00 : dw $0000, $0000, $0000, $0000, $0000, $0000, $0000 : db $00,
; 0x1802A0 - 0x1802FF (unused)
;--------------------------------------------------------------------------------
; $308300 (0x180300) - $30834F (0x18034F)
org $308300 ; PC 0x180250
org $308300 ; PC 0x180300
ExtraHole_Map16:
dw $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF
dw $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF
@@ -958,6 +958,13 @@ dw $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF
ExtraHole_Entrance:
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
;--------------------------------------------------------------------------------
; $308350 (0x180350) - $30834F (0x18034F)
; Correspond to the three start options
; do not set for a starting location that is using a single entrance cave
org $308350 ; PC 0x180350
ShouldStartatExit:
db $00, $00, $00
;================================================================================
; 0x180350 - 0x1814FF (unused)
;================================================================================