Cleanup dungeon tags, prepare for CustomTag system
This commit is contained in:
@@ -14,19 +14,17 @@ org $028BE7
|
|||||||
; Module06_UnderworldLoad
|
; Module06_UnderworldLoad
|
||||||
org $028364
|
org $028364
|
||||||
{
|
{
|
||||||
#_028364: LDA.b #$00 ; Fixed color RGB: #808000
|
LDA.b #$00 ; Fixed color RGB: #808000
|
||||||
#_028366: STA.b $9C
|
STA.b $9C
|
||||||
|
|
||||||
#_028368: LDA.b #$00
|
LDA.b #$00 : STA.b $9D
|
||||||
#_02836A: STA.b $9D
|
|
||||||
|
|
||||||
#_02836C: LDA.b #$00
|
LDA.b #$00 : STA.b $9E
|
||||||
#_02836E: STA.b $9E
|
LDA.b #$00
|
||||||
#_028370: LDA.b #$00
|
STA.l $7EC005
|
||||||
#_028372: STA.l $7EC005
|
STA.l $7EC006
|
||||||
#_028376: STA.l $7EC006
|
|
||||||
|
|
||||||
#_02837A: JSL $079A2C ; Link_TuckIntoBed
|
JSL $079A2C ; Link_TuckIntoBed
|
||||||
}
|
}
|
||||||
|
|
||||||
incsrc "Dungeons/enemy_damage.asm"
|
incsrc "Dungeons/enemy_damage.asm"
|
||||||
@@ -40,7 +38,6 @@ print "End of object_handler.asm ", pc
|
|||||||
|
|
||||||
; Tag: Holes8
|
; Tag: Holes8
|
||||||
incsrc "Dungeons/together_warp_tag.asm"
|
incsrc "Dungeons/together_warp_tag.asm"
|
||||||
incsrc "Dungeons/spike_subtype.asm"
|
|
||||||
|
|
||||||
; Tag: Holes7
|
; Tag: Holes7
|
||||||
incsrc "Dungeons/house_tag.asm"
|
incsrc "Dungeons/house_tag.asm"
|
||||||
@@ -49,6 +46,8 @@ incsrc "Dungeons/house_tag.asm"
|
|||||||
incsrc "Dungeons/floor_puzzle.asm"
|
incsrc "Dungeons/floor_puzzle.asm"
|
||||||
print "End of floor_puzzle.asm ", pc
|
print "End of floor_puzzle.asm ", pc
|
||||||
|
|
||||||
|
incsrc "Dungeons/spike_subtype.asm"
|
||||||
|
|
||||||
incsrc "Dungeons/attract_scenes.asm"
|
incsrc "Dungeons/attract_scenes.asm"
|
||||||
print "End of attract_scenes.asm ", pc
|
print "End of attract_scenes.asm ", pc
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
; =============================================================================
|
; ==========================================================
|
||||||
; Key Block Object like Link's Awakening
|
; Key Block Object like Link's Awakening
|
||||||
; Overwrites the Prison Door
|
; Overwrites the Prison Door
|
||||||
;
|
;
|
||||||
; Author: XaserLE
|
; Author: XaserLE
|
||||||
; Thanks: - PuzzleDude for finding a drawing bug and get rid of it
|
; Thanks: - PuzzleDude for finding a drawing bug and get rid of it
|
||||||
; - MathOnNapkins' Zelda Doc's
|
; - MathOnNapkins' Zelda Doc's
|
||||||
; - wiiqwertyuiop for his Zelda Disassembly
|
; - wiiqwertyuiop for his Zelda Disassembly
|
||||||
@@ -11,50 +11,48 @@
|
|||||||
; left and right will not work (will try to fix this in the future).
|
; left and right will not work (will try to fix this in the future).
|
||||||
;
|
;
|
||||||
; The key block must always be placed on EVEN x and y.
|
; The key block must always be placed on EVEN x and y.
|
||||||
; 00, 02, 04, 06, 08, 0A, 0C, 0E
|
; 00, 02, 04, 06, 08, 0A, 0C, 0E
|
||||||
; =============================================================================
|
; ==========================================================
|
||||||
|
|
||||||
; Big chest key for compass
|
; Big chest key for compass
|
||||||
org $01EC1A
|
org $01EC1A
|
||||||
db $64
|
db $64
|
||||||
|
|
||||||
org $01EB8C
|
org $01EB8C
|
||||||
Object_KeyBlock:
|
Object_KeyBlock:
|
||||||
{
|
{
|
||||||
LDA $7EF36F ; load the small key counter
|
LDA $7EF36F ; load the small key counter
|
||||||
AND #$00FF ; check if we have at least one small key (AND will not be zero)
|
AND #$00FF ; check if we have at least one small key (AND will not be zero)
|
||||||
BEQ $4C ; if not (AND is zero), do nothing
|
BEQ $4C ; if not (AND is zero), do nothing
|
||||||
|
|
||||||
; otherwise we will decrement the small key counter
|
; otherwise we will decrement the small key counter
|
||||||
; and branch to the code that opens the prison door
|
; and branch to the code that opens the prison door
|
||||||
|
|
||||||
LDA $7EF36F ; reload small key counter
|
LDA $7EF36F ; reload small key counter
|
||||||
DEC A ; remove one key
|
DEC A ; remove one key
|
||||||
STA $7EF36F ; save the new value at small key counter position
|
STA $7EF36F ; save the new value at small key counter position
|
||||||
BRA $05 ; branch to the code that opens the prison door
|
BRA $05 ; branch to the code that opens the prison door
|
||||||
|
|
||||||
; Fix draw bug from floor tile left by block after unlock.
|
|
||||||
org $01EBC8
|
|
||||||
LDA.w $9B5A,y
|
|
||||||
|
|
||||||
org $01EBD1
|
|
||||||
LDA.w $9B54,y
|
|
||||||
|
|
||||||
org $01EBDA
|
|
||||||
LDA.w $9B5C,y
|
|
||||||
|
|
||||||
; Draw Values
|
|
||||||
; 50 - /
|
|
||||||
; 52 - normal
|
|
||||||
; 54 - x mirror
|
|
||||||
; 56 - normal
|
|
||||||
; 58 - x mirror
|
|
||||||
; 5A - y mirror
|
|
||||||
; 5C - xy mirror
|
|
||||||
; 5E - y mirror
|
|
||||||
}
|
}
|
||||||
|
|
||||||
; =============================================================================
|
; Fix draw bug from floor tile left by block after unlock.
|
||||||
|
org $01EBC8
|
||||||
|
LDA.w $9B5A, Y
|
||||||
|
|
||||||
|
org $01EBD1
|
||||||
|
LDA.w $9B54, Y
|
||||||
|
|
||||||
|
org $01EBDA
|
||||||
|
LDA.w $9B5C, Y
|
||||||
|
|
||||||
|
; Draw Values
|
||||||
|
; 50 - /
|
||||||
|
; 52 - normal
|
||||||
|
; 54 - x mirror
|
||||||
|
; 56 - normal
|
||||||
|
; 58 - x mirror
|
||||||
|
; 5A - y mirror
|
||||||
|
; 5C - xy mirror
|
||||||
|
; 5E - y mirror
|
||||||
|
|
||||||
|
|
||||||
org $00AFE6
|
org $00AFE6
|
||||||
|
|||||||
@@ -28,23 +28,25 @@ db $00, $00, $00, $00, $00, $00, $00, $FF
|
|||||||
db $20, $18, $20, $28, $30, $38, $40, $FF
|
db $20, $18, $20, $28, $30, $38, $40, $FF
|
||||||
|
|
||||||
NewSpikePrep:
|
NewSpikePrep:
|
||||||
PHB : PHK : PLB
|
{
|
||||||
LDA $0E30, X : TAY
|
PHB : PHK : PLB
|
||||||
LDA.w speedValuesH, Y : STA $0D50, X
|
LDA $0E30, X : TAY
|
||||||
LDA.w speedValuesV, Y : STA $0D40, X
|
LDA.w speedValuesH, Y : STA $0D50, X
|
||||||
PLB
|
LDA.w speedValuesV, Y : STA $0D40, X
|
||||||
RTL
|
PLB
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
NewSpikeCollision:
|
NewSpikeCollision:
|
||||||
LDA.b #$04 : STA $0DF0, X
|
{
|
||||||
|
LDA.b #$04 : STA $0DF0, X
|
||||||
|
|
||||||
LDA $0D50, X : EOR.b #$FF : INC A : STA $0D50, X
|
LDA $0D50, X : EOR.b #$FF : INC A : STA $0D50, X
|
||||||
LDA $0D40, X : EOR.b #$FF : INC A : STA $0D40, X
|
LDA $0D40, X : EOR.b #$FF : INC A : STA $0D40, X
|
||||||
|
|
||||||
LDA.b #$05 : JSL $0DBB7C ; Sound_SetSfx2PanLong
|
LDA.b #$05 : JSL $0DBB7C ; Sound_SetSfx2PanLong
|
||||||
|
RTL
|
||||||
RTL
|
}
|
||||||
|
|
||||||
print "End of spike_subtype.asm ", pc
|
print "End of spike_subtype.asm ", pc
|
||||||
pushpc
|
pushpc
|
||||||
|
|||||||
@@ -1,49 +1,38 @@
|
|||||||
; ==============================================================================
|
; ==========================================================
|
||||||
; Special Warp room tag
|
; Special Warp room tag
|
||||||
; Written by Jared_Brian_
|
; Written by Jared_Brian_
|
||||||
; 11-19-2022
|
; 11-19-2022
|
||||||
;
|
;
|
||||||
; Edit by scawful since I'm already using Holes(7)
|
; Makes it so that what room the player will warp to when
|
||||||
; ==============================================================================
|
; falling in a hole or using a warp pad will change
|
||||||
; Replaces the "Holes(8)" tag in HM or ZS. Makes it so that what room the player
|
; depending on the player's position in the room. This uses
|
||||||
; will warp to when falling in a hole or using a warp pad will change depending
|
; the 4 "stairs" properties in the room header.
|
||||||
; on the player's position in the room. This uses the 4 "stairs" properties in
|
|
||||||
; the room header.
|
|
||||||
|
|
||||||
; ==============================================================================
|
|
||||||
|
|
||||||
;relpaces the original tag.
|
|
||||||
|
|
||||||
; dw $CC1C ; = $CC1C* ; routine 0x3A "Holes(8)"
|
|
||||||
|
|
||||||
org $01CC1C
|
org $01CC1C
|
||||||
JML WarpTag
|
JML WarpTag
|
||||||
|
|
||||||
org $01CC5A
|
org $01CC5A
|
||||||
WarpTag_Return:
|
WarpTag_Return:
|
||||||
|
|
||||||
; ==============================================================================
|
|
||||||
|
|
||||||
pullpc ; Bank 0x2C
|
pullpc ; Bank 0x2C
|
||||||
WarpTag:
|
WarpTag:
|
||||||
{
|
{
|
||||||
PHX
|
PHX
|
||||||
|
|
||||||
; Get a value 0-3 that represents where we are in the room
|
; Get a value 0-3 that represents where we are in the room
|
||||||
; -----------
|
; -----------
|
||||||
; | 0 | 1 |
|
; | 0 | 1 |
|
||||||
; | | |
|
; | | |
|
||||||
; -----------
|
; -----------
|
||||||
; | 2 | 3 |
|
; | 2 | 3 |
|
||||||
; | | |
|
; | | |
|
||||||
; -----------
|
; -----------
|
||||||
LDA $A9 : CLC : ADC $AA : TAX
|
LDA $A9 : CLC : ADC $AA : TAX
|
||||||
LDA $7EC001, X : STA $7EC000
|
LDA $7EC001, X : STA $7EC000
|
||||||
|
|
||||||
PLX
|
PLX
|
||||||
JML WarpTag_Return
|
JML WarpTag_Return
|
||||||
}
|
}
|
||||||
print "End of together_warp_tag.asm ", pc
|
print "End of together_warp_tag.asm ", pc
|
||||||
pushpc
|
pushpc
|
||||||
|
|
||||||
; ==============================================================================
|
|
||||||
Reference in New Issue
Block a user