Some byte designation corrections + formatting
This commit is contained in:
@@ -74,7 +74,7 @@ DRHUD_DrawKeyCounter:
|
|||||||
LDA.w MapField : AND.l DungeonMask, X : BEQ DRHUD_Finished
|
LDA.w MapField : AND.l DungeonMask, X : BEQ DRHUD_Finished
|
||||||
TXA : LSR : TAX
|
TXA : LSR : TAX
|
||||||
LDA.l GenericKeys : AND.w #$00FF : BNE .total_only
|
LDA.l GenericKeys : AND.w #$00FF : BNE .total_only
|
||||||
LDA.l DungeonCollectedKeys, X : JSR ConvertToDisplay : STA.w HUDKeysObtained
|
LDA.w DungeonCollectedKeys, X : JSR ConvertToDisplay : STA.w HUDKeysObtained
|
||||||
LDA.w #!SlashTile : STA.w HUDKeysSlash
|
LDA.w #!SlashTile : STA.w HUDKeysSlash
|
||||||
.total_only
|
.total_only
|
||||||
LDA.l ChestKeys, x : JSR ConvertToDisplay : STA.w HUDKeysTotal
|
LDA.l ChestKeys, x : JSR ConvertToDisplay : STA.w HUDKeysTotal
|
||||||
|
|||||||
@@ -433,7 +433,7 @@ HandleSpecialDoorLanding: {
|
|||||||
HandleIncomingDoorState:
|
HandleIncomingDoorState:
|
||||||
PHA
|
PHA
|
||||||
LDA.l DRMode : BEQ .noDoor
|
LDA.l DRMode : BEQ .noDoor
|
||||||
PLA : PHA : AND.b #$FA : CMP.b #$80 : bne .noDoor
|
LDA.b 1,S : AND.b #$FA : CMP.b #$80 : bne .noDoor
|
||||||
|
|
||||||
.setDoorState
|
.setDoorState
|
||||||
LDA.w TransitionDirection : AND.b #$02 : BNE + : INC
|
LDA.w TransitionDirection : AND.b #$02 : BNE + : INC
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ InroomStairsWarp: {
|
|||||||
lda.w InroomStairsX,y : sta.b LinkPosX
|
lda.w InroomStairsX,y : sta.b LinkPosX
|
||||||
lda.w InroomStairsY,y
|
lda.w InroomStairsY,y
|
||||||
ldy.b Scrap07 : beq +
|
ldy.b Scrap07 : beq +
|
||||||
!ADD #$07
|
!ADD.b #$07
|
||||||
+
|
+
|
||||||
sta.b LinkPosY
|
sta.b LinkPosY
|
||||||
inc.b Scrap07
|
inc.b Scrap07
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
org $9DD88E
|
org $9DD88E
|
||||||
{
|
{
|
||||||
; original: GiantMoldorm_Draw+5lines (sprite_giant_moldorm.asm)
|
; original: GiantMoldorm_Draw+5lines (sprite_giant_moldorm.asm)
|
||||||
; lda.b $90 : add.w #$0008 : sta.b $90
|
; lda.b OAMPtr : add.w #$0008 : sta.b OAMPtr
|
||||||
; INC.b $92 : INC.b $92
|
; INC.b OAMPtr+2 : INC.b OAMPtr+2
|
||||||
|
|
||||||
JSL Moldorm_UpdateOamPosition
|
JSL Moldorm_UpdateOamPosition
|
||||||
NOP #08
|
NOP #08
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ Moldorm_UpdateOamPosition:
|
|||||||
|
|
||||||
LDA.l !MOLDORM_EYES_FLAG : TAX
|
LDA.l !MOLDORM_EYES_FLAG : TAX
|
||||||
.more_eyes
|
.more_eyes
|
||||||
LDA.b $90 : CLC : ADC.w #$0004 : STA.b $90
|
LDA.b OAMPtr : CLC : ADC.w #$0004 : STA.b OAMPtr
|
||||||
LDA.b $92 : CLC : ADC.w #$0001 : STA.b $92
|
LDA.b OAMPtr+2 : CLC : ADC.w #$0001 : STA.b OAMPtr+2
|
||||||
DEX : BPL .more_eyes ; X >= 0
|
DEX : BPL .more_eyes ; X >= 0
|
||||||
|
|
||||||
PLX
|
PLX
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
;================================================================================
|
;================================================================================
|
||||||
check_special_action:
|
check_special_action:
|
||||||
{
|
{
|
||||||
LDA.l BossSpecialAction : BEQ .no_special_action
|
LDA.w BossSpecialAction : BEQ .no_special_action
|
||||||
LDA.b #$05 : STA.b GameSubMode
|
LDA.b #$05 : STA.b GameSubMode
|
||||||
STZ.w BossSpecialAction
|
STZ.w BossSpecialAction
|
||||||
.no_special_action
|
.no_special_action
|
||||||
|
|||||||
@@ -353,7 +353,7 @@ IncrementBossSword:
|
|||||||
IncrementFinalSword:
|
IncrementFinalSword:
|
||||||
PHX
|
PHX
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.w RoomIndex : BNE .done
|
LDA.b RoomIndex : BNE .done
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.l SwordEquipment : CMP.b #$FF : BNE +
|
LDA.l SwordEquipment : CMP.b #$FF : BNE +
|
||||||
BRA IncrementBossSword_none
|
BRA IncrementBossSword_none
|
||||||
@@ -820,7 +820,7 @@ LDA.b #$0F : JML Ancilla_SFX3_Near ; what we wrote over
|
|||||||
|
|
||||||
; A = item id being collected
|
; A = item id being collected
|
||||||
ItemGetOverworldAlternateSFX:
|
ItemGetOverworldAlternateSFX:
|
||||||
CMP.b #$4A : BNE +
|
CPY.b #$4A : BNE +
|
||||||
JSL Sound_SetSfxPanWithPlayerCoords : ORA.b #$13 : STA.w SFX2
|
JSL Sound_SetSfxPanWithPlayerCoords : ORA.b #$13 : STA.w SFX2
|
||||||
RTL
|
RTL
|
||||||
+ ; normal itemget sfx
|
+ ; normal itemget sfx
|
||||||
|
|||||||
54
inverted.asm
54
inverted.asm
@@ -201,35 +201,37 @@ MirrorBonk:
|
|||||||
; Goal: use $20 and $22 to decide to force a bonk
|
; Goal: use $20 and $22 to decide to force a bonk
|
||||||
; if we want to bonk branch to .forceBonk
|
; if we want to bonk branch to .forceBonk
|
||||||
; otherwise fall through to .normal
|
; otherwise fall through to .normal
|
||||||
PHX : PHP
|
PHX : PHP
|
||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
LDA.b OverworldIndex : AND.b #$40 : BEQ .endLoop ;World we're in? branch if we are in LW we don't want bonks
|
LDA.b OverworldIndex : AND.b #$40 : BEQ .endLoop ;World we're in? branch if we are in LW we don't want bonks
|
||||||
REP #$30
|
REP #$30
|
||||||
LDX.w #$0000
|
LDX.w #$0000
|
||||||
.loop
|
|
||||||
LDA.l .bonkRectanglesTable, X ;Load X1
|
.loop
|
||||||
CMP.b LinkPosX : !BGE ++
|
LDA.l .bonkRectanglesTable, X ;Load X1
|
||||||
;IF X > X1
|
CMP.b LinkPosX : !BGE ++
|
||||||
LDA.l .bonkRectanglesTable+2, X ; Load X2
|
;IF X > X1
|
||||||
CMP.b LinkPosX : !BLT ++
|
LDA.l .bonkRectanglesTable+2, X ; Load X2
|
||||||
;IF X < X2
|
CMP.b LinkPosX : !BLT ++
|
||||||
LDA.l .bonkRectanglesTable+4, X ;Load Y1
|
;IF X < X2
|
||||||
CMP.b LinkPosY : !BGE ++
|
LDA.l .bonkRectanglesTable+4, X ;Load Y1
|
||||||
;IF Y > Y1
|
CMP.b LinkPosY : !BGE ++
|
||||||
LDA.l .bonkRectanglesTable+6, X ; Load Y2
|
;IF Y > Y1
|
||||||
CMP.b LinkPosY : !BLT ++
|
LDA.l .bonkRectanglesTable+6, X ; Load Y2
|
||||||
;IF Y < Y2
|
CMP.b LinkPosY : !BLT ++
|
||||||
;Bonk Here
|
;IF Y < Y2
|
||||||
PLB : PLP : PLX
|
;Bonk Here
|
||||||
BRA .forceBonk
|
PLB : PLP : PLX
|
||||||
++
|
BRA .forceBonk
|
||||||
TXA : !ADD.w #$0008 : CMP.w #.tableEnd-.bonkRectanglesTable : BEQ .endLoop
|
++
|
||||||
TAX
|
TXA : !ADD.w #$0008 : CMP.w #.tableEnd-.bonkRectanglesTable : BEQ .endLoop
|
||||||
BRA .loop
|
TAX
|
||||||
.endbonkRectanglesTable
|
BRA .loop
|
||||||
|
.endbonkRectanglesTable
|
||||||
|
|
||||||
.endLoop
|
.endLoop
|
||||||
PLB : PLP : PLX
|
PLB : PLP : PLX
|
||||||
|
|
||||||
.normal
|
.normal
|
||||||
;Not forcing a bonk, so the vanilla bonk detection run.
|
;Not forcing a bonk, so the vanilla bonk detection run.
|
||||||
LDA.b Scrap0C : ORA.b Scrap0E
|
LDA.b Scrap0C : ORA.b Scrap0E
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
; Come in with
|
; Come in with
|
||||||
; A = item receipt ID
|
; A = item receipt ID
|
||||||
; X = slot
|
; X = sprite slot
|
||||||
RequestStandingItemVRAMSlot:
|
RequestStandingItemVRAMSlot:
|
||||||
PHA
|
PHA
|
||||||
|
|
||||||
@@ -83,21 +83,21 @@ DrawPotItem:
|
|||||||
.draw
|
.draw
|
||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
|
|
||||||
STA.b $08
|
STA.b Scrap08
|
||||||
LDA.w SprItemGFX,X
|
LDA.w SprItemGFX,X
|
||||||
AND.w #$00FF
|
AND.w #$00FF
|
||||||
ASL : ASL : ASL : ASL
|
ASL : ASL : ASL : ASL
|
||||||
ADC.b $08
|
ADC.b Scrap08
|
||||||
STA.b $08
|
STA.b Scrap08
|
||||||
SEP #$20
|
SEP #$20
|
||||||
STZ.b $07
|
STZ.b Scrap07
|
||||||
|
|
||||||
LDA.b #$00 : STA.l SpriteSkipEOR
|
LDA.b #$00 : STA.l SpriteSkipEOR
|
||||||
JSL Sprite_DrawMultiple_quantity_preset
|
JSL Sprite_DrawMultiple_quantity_preset
|
||||||
|
|
||||||
LDA.b $90 : CLC : ADC.b #$08 : STA.b $90
|
LDA.b OAMPtr : CLC : ADC.b #$08 : STA.b OAMPtr
|
||||||
INC.b $92
|
INC.b OAMPtr+2
|
||||||
INC.b $92
|
INC.b OAMPtr+2
|
||||||
|
|
||||||
PLB
|
PLB
|
||||||
PLA
|
PLA
|
||||||
|
|||||||
@@ -327,8 +327,8 @@ ClearSpriteData:
|
|||||||
PHX
|
PHX
|
||||||
LDA.b #$00 : LDX.b #$00
|
LDA.b #$00 : LDX.b #$00
|
||||||
.loop
|
.loop
|
||||||
STA.l SprDropsItem, X : STA.l SprItemReceipt, X : STA.l SprItemIndex, X
|
STA.w SprDropsItem, X : STA.w SprItemReceipt, X : STA.w SprItemIndex, X
|
||||||
STA.l SprItemMWPlayer, X : STA.l SprItemFlags, X
|
STA.w SprItemMWPlayer, X : STA.w SprItemFlags, X
|
||||||
INX : CPX.b #$10 : BCC .loop
|
INX : CPX.b #$10 : BCC .loop
|
||||||
JSR SetupEnemyDropIndicator
|
JSR SetupEnemyDropIndicator
|
||||||
PLX
|
PLX
|
||||||
@@ -393,23 +393,23 @@ LoadSpriteData:
|
|||||||
DEC.b Scrap03 ; standing items shouldn't consume a sprite slot
|
DEC.b Scrap03 ; standing items shouldn't consume a sprite slot
|
||||||
LDX.b Scrap03 ; these were changed to $03, for moved sprites
|
LDX.b Scrap03 ; these were changed to $03, for moved sprites
|
||||||
CMP.b #$F9 : BNE .not_multiworld
|
CMP.b #$F9 : BNE .not_multiworld
|
||||||
DEY : LDA.b [Scrap00], Y : STA.l SprItemMWPlayer, X
|
DEY : LDA.b [Scrap00], Y : STA.w SprItemMWPlayer, X
|
||||||
LDA.b #$02 : STA.l SprDropsItem, X : BRA .common
|
LDA.b #$02 : STA.w SprDropsItem, X : BRA .common
|
||||||
.not_multiworld
|
.not_multiworld
|
||||||
LDA.b #$00 : STA.l SprItemMWPlayer, X
|
LDA.b #$00 : STA.w SprItemMWPlayer, X
|
||||||
LDA.b #$01 : STA.l SprDropsItem, X
|
LDA.b #$01 : STA.w SprDropsItem, X
|
||||||
DEY
|
DEY
|
||||||
.common
|
.common
|
||||||
DEY : LDA.b [Scrap00], Y : STA.l SprItemReceipt, X
|
DEY : LDA.b [Scrap00], Y : STA.w SprItemReceipt, X
|
||||||
STA.b Scrap0E
|
STA.b Scrap0E
|
||||||
LDA.l SprItemMWPlayer, X : BNE + ; skip if multiworld
|
LDA.w SprItemMWPlayer, X : BNE + ; skip if multiworld
|
||||||
PHX
|
PHX
|
||||||
LDX.b #$00 ; see if the item should be replaced by an absorbable
|
LDX.b #$00 ; see if the item should be replaced by an absorbable
|
||||||
- CPX.b #$1A : BCS .done
|
- CPX.b #$1A : BCS .done
|
||||||
LDA.l MinorForcedDrops, X
|
LDA.l MinorForcedDrops, X
|
||||||
CMP.b Scrap0E : BEQ ++
|
CMP.b Scrap0E : BEQ ++
|
||||||
INX #2 : BRA -
|
INX #2 : BRA -
|
||||||
++ PLX : LDA.l SprItemFlags, X : ORA.b #$80 : STA.l SprItemFlags, X : PHX
|
++ PLX : LDA.w SprItemFlags, X : ORA.b #$80 : STA.w SprItemFlags, X : PHX
|
||||||
.done PLX
|
.done PLX
|
||||||
+
|
+
|
||||||
INY : INY
|
INY : INY
|
||||||
@@ -422,23 +422,23 @@ LoadSpriteData:
|
|||||||
|
|
||||||
; Run when a sprite dies ... Sets Flag to #$02 and Index to sprite slot for
|
; Run when a sprite dies ... Sets Flag to #$02 and Index to sprite slot for
|
||||||
RevealSpriteDrop:
|
RevealSpriteDrop:
|
||||||
LDA.l SprDropsItem, X : BNE CheckIfDropValid
|
LDA.w SprDropsItem, X : BNE CheckIfDropValid
|
||||||
JMP DoNormalDrop
|
JMP DoNormalDrop
|
||||||
|
|
||||||
CheckIfDropValid:
|
CheckIfDropValid:
|
||||||
JSR CheckIfDropsInThisLocation : BCC DoNormalDrop
|
JSR CheckIfDropsInThisLocation : BCC DoNormalDrop
|
||||||
;This section sets up the drop
|
;This section sets up the drop
|
||||||
LDA.b #$02 : STA.l SpawnedItemFlag
|
LDA.b #$02 : STA.w SpawnedItemFlag
|
||||||
STX.w SpawnedItemIndex
|
STX.w SpawnedItemIndex
|
||||||
LDA.l SprItemReceipt, X : STA.l SpawnedItemID
|
LDA.w SprItemReceipt, X : STA.w SpawnedItemID
|
||||||
LDA.l SprItemMWPlayer, X : STA.l SpawnedItemMWPlayer
|
LDA.w SprItemMWPlayer, X : STA.w SpawnedItemMWPlayer
|
||||||
LDY.b #$01 ; trigger the small key routines
|
LDY.b #$01 ; trigger the small key routines
|
||||||
LDA.w SpawnedItemID : STA.b Scrap00 : CMP.b #$32 : BNE +
|
LDA.w SpawnedItemID : STA.b Scrap00 : CMP.b #$32 : BNE +
|
||||||
LDA.l StandingItemsOn : BNE +
|
LDA.l StandingItemsOn : BNE +
|
||||||
INY ; big key routine
|
INY ; big key routine
|
||||||
+
|
+
|
||||||
PHX
|
PHX
|
||||||
LDA.l SpawnedItemMWPlayer : BNE .done ; abort check for absorbables it belong to someone else
|
LDA.w SpawnedItemMWPlayer : BNE .done ; abort check for absorbables it belong to someone else
|
||||||
LDX.b #$00 ; see if the item should be replaced by an absorbable
|
LDX.b #$00 ; see if the item should be replaced by an absorbable
|
||||||
- CPX.b #$1A : BCS .done
|
- CPX.b #$1A : BCS .done
|
||||||
LDA.l MinorForcedDrops, X
|
LDA.l MinorForcedDrops, X
|
||||||
@@ -475,7 +475,7 @@ PikitOverride:
|
|||||||
CMP.b #$AA : BNE .no_pikit_drop
|
CMP.b #$AA : BNE .no_pikit_drop
|
||||||
LDY.w $0E90,X : BEQ .no_pikit_drop
|
LDY.w $0E90,X : BEQ .no_pikit_drop
|
||||||
CPY.b #$04 : BEQ .normal_pikit
|
CPY.b #$04 : BEQ .normal_pikit
|
||||||
LDA.l SprDropsItem, X : BEQ .normal_pikit
|
LDA.w SprDropsItem, X : BEQ .normal_pikit
|
||||||
JSR CheckIfDropsInThisLocation : BCC .normal_pikit
|
JSR CheckIfDropsInThisLocation : BCC .normal_pikit
|
||||||
.no_pikit_drop
|
.no_pikit_drop
|
||||||
PLA : PLA : PEA.w Sprite_DoTheDeath_NotAPikitDrop-1
|
PLA : PLA : PEA.w Sprite_DoTheDeath_NotAPikitDrop-1
|
||||||
@@ -597,7 +597,7 @@ MarkSRAMForItem:
|
|||||||
LDA.w RoomItemsTaken : ORA.w KeyRoomFlagMasks, Y : RTL
|
LDA.w RoomItemsTaken : ORA.w KeyRoomFlagMasks, Y : RTL
|
||||||
+ PHX : PHY : REP #$30
|
+ PHX : PHY : REP #$30
|
||||||
LDA.b RoomIndex : ASL : TAY
|
LDA.b RoomIndex : ASL : TAY
|
||||||
LDA.l SpawnedItemIndex : ASL
|
LDA.w SpawnedItemIndex : ASL
|
||||||
TAX : LDA.l BitFieldMasks, X : STA.b Scrap00
|
TAX : LDA.l BitFieldMasks, X : STA.b Scrap00
|
||||||
TYX
|
TYX
|
||||||
LDA.w SpawnedItemFlag : CMP.w #$0001 : BEQ +
|
LDA.w SpawnedItemFlag : CMP.w #$0001 : BEQ +
|
||||||
@@ -616,20 +616,20 @@ SpriteKeyPrep:
|
|||||||
LDA.b RoomIndex : CMP.b #$87 : BNE .continue
|
LDA.b RoomIndex : CMP.b #$87 : BNE .continue
|
||||||
CPX.b #$0A : BNE .continue ; the hera basement key is always sprite 0x0A
|
CPX.b #$0A : BNE .continue ; the hera basement key is always sprite 0x0A
|
||||||
LDA.b LinkQuadrantH : ORA.b LinkQuadrantV : AND.b #$03 : CMP.b #$02 : BNE .continue
|
LDA.b LinkQuadrantH : ORA.b LinkQuadrantV : AND.b #$03 : CMP.b #$02 : BNE .continue
|
||||||
LDA.b #$00 : STA.w SpawnedItemFlag : STA.l SprItemFlags, X
|
LDA.b #$00 : STA.w SpawnedItemFlag : STA.w SprItemFlags, X
|
||||||
LDA.b #$24 : STA.w $0E80, X
|
LDA.b #$24 : STA.w $0E80, X
|
||||||
BRA +
|
BRA +
|
||||||
.continue
|
.continue
|
||||||
LDA.w SpawnedItemIndex : STA.l SprItemIndex, X
|
LDA.w SpawnedItemIndex : STA.w SprItemIndex, X
|
||||||
LDA.w SpawnedItemMWPlayer : STA.l SprItemMWPlayer, X : STA.w !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
LDA.w SpawnedItemMWPlayer : STA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||||
LDA.w SpawnedItemFlag : STA.l SprItemFlags, X : BEQ +
|
LDA.w SpawnedItemFlag : STA.w SprItemFlags, X : BEQ +
|
||||||
LDA.l SpawnedItemID : STA.w $0E80, X
|
LDA.w SpawnedItemID : STA.w $0E80, X
|
||||||
PHA : PHY : PHX
|
PHA : PHY : PHX
|
||||||
JSL GetSpritePalette : PLX : STA.w SpriteOAMProp, X ; setup the palette
|
JSL GetSpritePalette : PLX : STA.w SpriteOAMProp, X ; setup the palette
|
||||||
PLY : PLA
|
PLY : PLA
|
||||||
CMP.b #$24 : BNE ++ ;
|
CMP.b #$24 : BNE ++ ;
|
||||||
LDA.b RoomIndex : CMP.b #$80 : BNE +
|
LDA.b RoomIndex : CMP.b #$80 : BNE +
|
||||||
LDA.l SpawnedItemFlag : BNE +
|
LDA.w SpawnedItemFlag : BNE +
|
||||||
LDA.b #$24 ; it's the big key drop?
|
LDA.b #$24 ; it's the big key drop?
|
||||||
++ JSL RequestStandingItemVRAMSlot
|
++ JSL RequestStandingItemVRAMSlot
|
||||||
+ PLA
|
+ PLA
|
||||||
@@ -638,11 +638,11 @@ SpriteKeyPrep:
|
|||||||
SpriteKeyDrawGFX:
|
SpriteKeyDrawGFX:
|
||||||
JSL Sprite_DrawRippleIfInWater
|
JSL Sprite_DrawRippleIfInWater
|
||||||
PHA
|
PHA
|
||||||
LDA.l SprItemMWPlayer, X : STA.w !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||||
LDA.w $0E80, X
|
LDA.w $0E80, X
|
||||||
CMP.b #$24 : BNE +
|
CMP.b #$24 : BNE +
|
||||||
LDA.b RoomIndex : CMP.b #$80 : BNE ++
|
LDA.b RoomIndex : CMP.b #$80 : BNE ++
|
||||||
LDA.l SpawnedItemFlag : BNE ++
|
LDA.w SpawnedItemFlag : BNE ++
|
||||||
LDA.b #$24 : BRA +
|
LDA.b #$24 : BRA +
|
||||||
++ PLA
|
++ PLA
|
||||||
PHK : PEA.w .jslrtsreturn-1
|
PHK : PEA.w .jslrtsreturn-1
|
||||||
@@ -659,38 +659,38 @@ SpriteKeyDrawGFX:
|
|||||||
KeyGet:
|
KeyGet:
|
||||||
LDA.l CurrentSmallKeys ; what we wrote over
|
LDA.l CurrentSmallKeys ; what we wrote over
|
||||||
PHA
|
PHA
|
||||||
LDA.l StandingItemsOn : BNE +
|
LDA.l StandingItemsOn : BNE +
|
||||||
PLA : RTL
|
PLA : RTL
|
||||||
+ LDY.w $0E80, X
|
+ LDY.w $0E80, X
|
||||||
LDA.l SprItemIndex, X : STA.l SpawnedItemIndex
|
LDA.w SprItemIndex, X : STA.w SpawnedItemIndex
|
||||||
LDA.l SprItemFlags, X : STA.l SpawnedItemFlag
|
LDA.w SprItemFlags, X : STA.w SpawnedItemFlag
|
||||||
LDA.b RoomIndex : CMP.b #$87 : BNE + ;check for hera cage
|
LDA.b RoomIndex : CMP.b #$87 : BNE + ;check for hera cage
|
||||||
LDA.l SpawnedItemFlag : BNE + ; if it came from a pot, it's fine
|
LDA.w SpawnedItemFlag : BNE + ; if it came from a pot, it's fine
|
||||||
JSR ShouldKeyBeCountedForDungeon : BCC ++
|
JSR ShouldKeyBeCountedForDungeon : BCC ++
|
||||||
JSL CountChestKeyLong
|
JSL CountChestKeyLong
|
||||||
++ PLA : RTL
|
++ PLA : RTL
|
||||||
+ STY.b Scrap00
|
+ STY.b Scrap00
|
||||||
LDA.l SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID : BNE .receive
|
STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID : BNE .receive
|
||||||
PHX
|
PHX
|
||||||
LDA.w DungeonID : CMP.b #$FF : BNE +
|
LDA.w DungeonID : CMP.b #$FF : BNE +
|
||||||
LDA.b Scrap00 : CMP.b #$AF : BNE .skip
|
LDA.b Scrap00 : CMP.b #$AF : BNE .skip
|
||||||
LDA.l CurrentGenericKeys : INC : STA.l CurrentGenericKeys
|
LDA.l CurrentGenericKeys : INC : STA.l CurrentGenericKeys
|
||||||
LDA.b Scrap00 : BRA .countIt
|
LDA.b Scrap00 : BRA .countIt
|
||||||
+ LSR : TAX
|
+ LSR : TAX
|
||||||
LDA.b Scrap00 : CMP.l KeyTable, X : BNE +
|
LDA.b Scrap00 : CMP.l KeyTable, X : BNE +
|
||||||
.countIt
|
.countIt
|
||||||
LDA.l StandingItemCounterMask : AND SpawnedItemFlag : BEQ ++
|
LDA.l StandingItemCounterMask : AND SpawnedItemFlag : BEQ ++
|
||||||
JSL AddInventory
|
JSL AddInventory
|
||||||
++ PLX : PLA : RTL
|
++ PLX : PLA : RTL
|
||||||
+ CMP.b #$AF : beq .countIt ; universal key
|
+ CMP.b #$AF : beq .countIt ; universal key
|
||||||
CMP.b #$24 : beq .countIt ; small key for this dungeon
|
CMP.b #$24 : beq .countIt ; small key for this dungeon
|
||||||
.skip PLX
|
.skip PLX
|
||||||
.receive
|
.receive
|
||||||
JSL Player_HaltDashAttackLong
|
JSL Player_HaltDashAttackLong
|
||||||
TYA : JSL AttemptItemSubstitution : JSL ResolveLootIDLong : TAY
|
TYA : JSL AttemptItemSubstitution : JSL ResolveLootIDLong : TAY
|
||||||
JSL Link_ReceiveItem
|
JSL Link_ReceiveItem
|
||||||
PLA : DEC : RTL
|
PLA : DEC : RTL
|
||||||
|
|
||||||
KeyTable:
|
KeyTable:
|
||||||
db $A0, $A0, $A2, $A3, $A4, $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC, $AD
|
db $A0, $A0, $A2, $A3, $A4, $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC, $AD
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
OnMenuLoad:
|
OnMenuLoad:
|
||||||
LDA.b #UploadMenuOnlyIcons>>0 : STA.l NMIAux
|
LDA.b #UploadMenuOnlyIcons>>0 : STA.w NMIAux
|
||||||
LDA.b #UploadMenuOnlyIcons>>8 : STA.l NMIAux+1
|
LDA.b #UploadMenuOnlyIcons>>8 : STA.w NMIAux+1
|
||||||
LDA.b #UploadMenuOnlyIcons>>16 : STA.l NMIAux+2
|
LDA.b #UploadMenuOnlyIcons>>16 : STA.w NMIAux+2
|
||||||
LDA.b #$0E : STA.b GameMode ; what we overwrote
|
LDA.b #$0E : STA.b GameMode ; what we overwrote
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
|
|||||||
12
msu.asm
12
msu.asm
@@ -235,7 +235,7 @@ CheckMusicLoadRequest:
|
|||||||
.dungeon
|
.dungeon
|
||||||
LDA.w DungeonID : CMP.b #$1A : BNE +
|
LDA.w DungeonID : CMP.b #$1A : BNE +
|
||||||
PHA : LDA.l DRMode : BEQ ++
|
PHA : LDA.l DRMode : BEQ ++
|
||||||
LDA.w BigKeyField : AND.b #$04 : BEQ ++
|
LDA.l BigKeyField : AND.b #$04 : BEQ ++
|
||||||
; if door rando and entering GT with BK
|
; if door rando and entering GT with BK
|
||||||
PLA : LDA.b #59 : BRA .check_fallback-3
|
PLA : LDA.b #59 : BRA .check_fallback-3
|
||||||
++ PLA
|
++ PLA
|
||||||
@@ -497,8 +497,8 @@ PHA : XBA : PHA
|
|||||||
; dont save if we already saved recently
|
; dont save if we already saved recently
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.w MSUResumeTrack : AND.w #$00FF : BEQ ++
|
LDA.w MSUResumeTrack : AND.w #$00FF : BEQ ++
|
||||||
LDA.l NMIFrames : !SUB.l MSUResumeTime : PHA
|
LDA.l NMIFrames : !SUB.w MSUResumeTime : PHA
|
||||||
LDA.l NMIFrames+2 : SBC.l MSUResumeTime+2 : BNE +++
|
LDA.l NMIFrames+2 : SBC.w MSUResumeTime+2 : BNE +++
|
||||||
PLA : CMP.l MSUResumeTimer : !BLT .too_early
|
PLA : CMP.l MSUResumeTimer : !BLT .too_early
|
||||||
BRA ++
|
BRA ++
|
||||||
+++
|
+++
|
||||||
@@ -663,8 +663,8 @@ MSUMain:
|
|||||||
PLX
|
PLX
|
||||||
TXA : CMP.w MSUResumeTrack : BNE + ; dont resume if too late
|
TXA : CMP.w MSUResumeTrack : BNE + ; dont resume if too late
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.l NMIFrames : !SUB.l MSUResumeTime : PHA
|
LDA.l NMIFrames : !SUB.w MSUResumeTime : PHA
|
||||||
LDA.l NMIFrames+2 : SBC.l MSUResumeTime+2 : BNE ++
|
LDA.l NMIFrames+2 : SBC.w MSUResumeTime+2 : BNE ++
|
||||||
PLA : CMP.l MSUResumeTimer : !BGE +++
|
PLA : CMP.l MSUResumeTimer : !BGE +++
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #!FLAG_RESUME_FADEIN : BRA .done_resume
|
LDA.b #!FLAG_RESUME_FADEIN : BRA .done_resume
|
||||||
@@ -677,7 +677,7 @@ MSUMain:
|
|||||||
STA.w MSUResumeControl
|
STA.w MSUResumeControl
|
||||||
LDA.b #$00 : STA.w MSUResumeTrack
|
LDA.b #$00 : STA.w MSUResumeTrack
|
||||||
+
|
+
|
||||||
CPX.b #07 : BNE + ; Kakariko Village
|
CPX.b #$07 : BNE + ; Kakariko Village
|
||||||
LDA.b GameMode : CMP.b #$07 : BNE +
|
LDA.b GameMode : CMP.b #$07 : BNE +
|
||||||
; we're in link's house -> ignore
|
; we're in link's house -> ignore
|
||||||
LDA.b #$00
|
LDA.b #$00
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ LDA.l RoomDataWRAM[$07].high : AND.w #$00FF : BEQ +
|
|||||||
FallingMusicFadeOut:
|
FallingMusicFadeOut:
|
||||||
CMP.w #$0017 ; what we wrote over
|
CMP.w #$0017 ; what we wrote over
|
||||||
BNE .return
|
BNE .return
|
||||||
LDA.w $0130 : AND.w #$00FF : CMP.w #$0015 ; if boss music is playing, then fade out
|
LDA.w LastAPUCommand : AND.w #$00FF : CMP.w #$0015 ; if boss music is playing, then fade out
|
||||||
.return
|
.return
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
12
newhud.asm
12
newhud.asm
@@ -103,7 +103,7 @@ NewHUD_DrawGoal:
|
|||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
NewHUD_DrawKeys:
|
NewHUD_DrawKeys:
|
||||||
LDA.l CurrentSmallKeys
|
LDA.w CurrentSmallKeys
|
||||||
CMP.b #$FF
|
CMP.b #$FF
|
||||||
BNE .in_dungeon
|
BNE .in_dungeon
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ NewHUD_DrawPrizeIcon:
|
|||||||
REP #$30
|
REP #$30
|
||||||
BEQ .prize
|
BEQ .prize
|
||||||
|
|
||||||
LDA.l MapField
|
LDA.w MapField
|
||||||
AND.l DungeonItemMasks,X
|
AND.l DungeonItemMasks,X
|
||||||
BEQ .no_prize
|
BEQ .no_prize
|
||||||
|
|
||||||
@@ -302,7 +302,7 @@ DrawCompassCounts:
|
|||||||
BIT.b #$02 : BNE .draw_compass_count
|
BIT.b #$02 : BNE .draw_compass_count
|
||||||
TYX : LDA.l ExistsTransfer, X : TAX : LDA.l CompassExists, X : BEQ .draw_compass_count
|
TYX : LDA.l ExistsTransfer, X : TAX : LDA.l CompassExists, X : BEQ .draw_compass_count
|
||||||
REP #$20
|
REP #$20
|
||||||
LDX.w DungeonID : LDA.l CompassField : AND.l DungeonItemMasks,X : BEQ .early_exit
|
LDX.w DungeonID : LDA.w CompassField : AND.l DungeonItemMasks,X : BEQ .early_exit
|
||||||
|
|
||||||
.draw_compass_count
|
.draw_compass_count
|
||||||
LDX.w DungeonID
|
LDX.w DungeonID
|
||||||
@@ -311,7 +311,7 @@ DrawCompassCounts:
|
|||||||
|
|
||||||
.not_sewers
|
.not_sewers
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.l DungeonLocationsChecked, X
|
LDA.w DungeonLocationsChecked, X
|
||||||
PHA
|
PHA
|
||||||
|
|
||||||
LDA.w #!SlashTile : STA.w HUDTileMapBuffer+$98 ; always slash
|
LDA.w #!SlashTile : STA.w HUDTileMapBuffer+$98 ; always slash
|
||||||
@@ -361,7 +361,7 @@ DrawMapCounts:
|
|||||||
; no map needed if this bit is set
|
; no map needed if this bit is set
|
||||||
BIT.b #$02 : BNE .draw_map_count
|
BIT.b #$02 : BNE .draw_map_count
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.l MapField : AND.l DungeonItemMasks,X : BEQ .done
|
LDA.w MapField : AND.l DungeonItemMasks,X : BEQ .done
|
||||||
|
|
||||||
.draw_map_count
|
.draw_map_count
|
||||||
SEP #$20
|
SEP #$20
|
||||||
@@ -369,7 +369,7 @@ DrawMapCounts:
|
|||||||
INX
|
INX
|
||||||
|
|
||||||
.not_sewers
|
.not_sewers
|
||||||
LDA.l DungeonCollectedKeys, X
|
LDA.w DungeonCollectedKeys, X
|
||||||
PHA
|
PHA
|
||||||
|
|
||||||
LDA.l MapTotalsWRAM,X
|
LDA.l MapTotalsWRAM,X
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ AddReceivedItemExpanded:
|
|||||||
STZ.w ItemReceiptID : STZ.w ItemReceiptID+1 : STZ.w ItemReceiptMethod
|
STZ.w ItemReceiptID : STZ.w ItemReceiptID+1 : STZ.w ItemReceiptMethod
|
||||||
PHY : LDY.b #$00 : JSL AddInventory : PLY
|
PHY : LDY.b #$00 : JSL AddInventory : PLY
|
||||||
PLX : PLA : RTL
|
PLX : PLA : RTL
|
||||||
+ PLX : PLA
|
+ PLX : PLA
|
||||||
JSR ResolveReceipt
|
JSR ResolveReceipt
|
||||||
PHB : PHK
|
PHB : PHK
|
||||||
JML AddReceivedItem+2
|
JML AddReceivedItem+2
|
||||||
@@ -151,7 +151,7 @@ RTL
|
|||||||
|
|
||||||
ItemBehavior:
|
ItemBehavior:
|
||||||
REP #$30
|
REP #$30
|
||||||
AND.w #$00FF : ASL : TAX
|
AND.w #$00FF : ASL : TAX
|
||||||
SEP #$20
|
SEP #$20
|
||||||
JMP (ItemReceipts_behavior,X)
|
JMP (ItemReceipts_behavior,X)
|
||||||
|
|
||||||
|
|||||||
@@ -240,8 +240,8 @@ PasswordToKey:
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
LoadPasswordStripeTemplate:
|
LoadPasswordStripeTemplate:
|
||||||
LDA.w DMAP0 : PHA : LDA.w BBAD0 : PHA : LDA.w A1T0L : PHA ; preserve DMA parameters
|
LDA.w DMAP0 : PHA : LDA.w BBAD0 : PHA : LDA.w A1T0L : PHA ; preserve DMA parameters
|
||||||
LDA.w A1T0H : PHA : LDA.w A1B0 : PHA : LDA.w DAS0L : PHA ; preserve DMA parameters
|
LDA.w A1T0H : PHA : LDA.w A1B0 : PHA : LDA.w DAS0L : PHA ; preserve DMA parameters
|
||||||
LDA.w DAS0H : PHA ; preserve DMA parameters
|
LDA.w DAS0H : PHA ; preserve DMA parameters
|
||||||
|
|
||||||
LDA.b #$00 : STA.w DMAP0 ; set DMA transfer direction A -> B, bus A auto increment, single-byte mode
|
LDA.b #$00 : STA.w DMAP0 ; set DMA transfer direction A -> B, bus A auto increment, single-byte mode
|
||||||
|
|||||||
@@ -628,6 +628,7 @@ VTIMEH = $00420A
|
|||||||
; f - DMA channel 5 (0: disabled | 1: enabled)
|
; f - DMA channel 5 (0: disabled | 1: enabled)
|
||||||
; g - DMA channel 6 (0: disabled | 1: enabled)
|
; g - DMA channel 6 (0: disabled | 1: enabled)
|
||||||
; h - DMA channel 7 (0: disabled | 1: enabled)
|
; h - DMA channel 7 (0: disabled | 1: enabled)
|
||||||
|
MDMAEN = $00420B
|
||||||
DMAENABLE = $00420B
|
DMAENABLE = $00420B
|
||||||
|
|
||||||
; H-BLANK DIRECT MEMORY ACCESS CHANNEL DESIGNATION
|
; H-BLANK DIRECT MEMORY ACCESS CHANNEL DESIGNATION
|
||||||
@@ -641,6 +642,7 @@ DMAENABLE = $00420B
|
|||||||
; f - HDMA channel 5 (0: disabled | 1: enabled)
|
; f - HDMA channel 5 (0: disabled | 1: enabled)
|
||||||
; g - HDMA channel 6 (0: disabled | 1: enabled)
|
; g - HDMA channel 6 (0: disabled | 1: enabled)
|
||||||
; h - HDMA channel 7 (0: disabled | 1: enabled)
|
; h - HDMA channel 7 (0: disabled | 1: enabled)
|
||||||
|
HDMAEN = $00420C
|
||||||
HDMAENABLE = $00420C
|
HDMAENABLE = $00420C
|
||||||
|
|
||||||
; ACCESS CYCLE DESIGNATION
|
; ACCESS CYCLE DESIGNATION
|
||||||
|
|||||||
168
shopkeeper.asm
168
shopkeeper.asm
@@ -128,11 +128,11 @@ SpritePrep_ShopKeeper:
|
|||||||
LDA.l ShopContentsTable+2, X : PHX : TYX : STA.l ShopInventory+1, X : PLX
|
LDA.l ShopContentsTable+2, X : PHX : TYX : STA.l ShopInventory+1, X : PLX
|
||||||
LDA.l ShopContentsTable+3, X : PHX : TYX : STA.l ShopInventory+2, X : PLX
|
LDA.l ShopContentsTable+3, X : PHX : TYX : STA.l ShopInventory+2, X : PLX
|
||||||
LDA.l ShopContentsTable+8, X : PHX : PHA : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
LDA.l ShopContentsTable+8, X : PHX : PHA : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||||
LDA.b #0 : XBA : TYA : LSR #2 : TAX ; This will convert the value back to the slot number (in 8-bit accumulator mode)
|
LDA.b #$00 : XBA : TYA : LSR #2 : TAX ; This will convert the value back to the slot number (in 8-bit accumulator mode)
|
||||||
PLA : STA.l ShopInventoryPlayer, X : LDA.b #00 : STA.l ShopInventoryDisguise, X : PLX
|
PLA : STA.l ShopInventoryPlayer, X : LDA.b #$00 : STA.l ShopInventoryDisguise, X : PLX
|
||||||
PHY
|
PHY
|
||||||
PHX
|
PHX
|
||||||
LDA.b #0 : XBA : TYA : LSR #2 : !ADD.l ShopSRAMIndex : TAX
|
LDA.b #$00 : XBA : TYA : LSR #2 : !ADD.l ShopSRAMIndex : TAX
|
||||||
LDA.l PurchaseCounts, X : TYX : STA.l ShopInventory+3, X : TAY
|
LDA.l PurchaseCounts, X : TYX : STA.l ShopInventory+3, X : TAY
|
||||||
PLX
|
PLX
|
||||||
|
|
||||||
@@ -143,8 +143,8 @@ SpritePrep_ShopKeeper:
|
|||||||
LDA.l ShopContentsTable+6, X : PHX : TYX : STA.l ShopInventory+1, X : PLX
|
LDA.l ShopContentsTable+6, X : PHX : TYX : STA.l ShopInventory+1, X : PLX
|
||||||
LDA.l ShopContentsTable+7, X : PHX : TYX : STA.l ShopInventory+2, X : PLX
|
LDA.l ShopContentsTable+7, X : PHX : TYX : STA.l ShopInventory+2, X : PLX
|
||||||
LDA.b #$40 : PHX : TYX : STA.l ShopInventory+3, X : PLX
|
LDA.b #$40 : PHX : TYX : STA.l ShopInventory+3, X : PLX
|
||||||
PHX : LDA.b #0 : XBA : TYA : LSR #2 : TAX ; This will convert the value back to the slot number (in 8-bit accumulator mode)
|
PHX : LDA.b #$00 : XBA : TYA : LSR #2 : TAX ; This will convert the value back to the slot number (in 8-bit accumulator mode)
|
||||||
LDA.b #0 : STA.l ShopInventoryPlayer, X : PLX
|
LDA.b #$00 : STA.l ShopInventoryPlayer, X : PLX
|
||||||
BRA +++
|
BRA +++
|
||||||
+ : PLY : LDA.b #$40 : PHX : TYX : STA.l ShopInventory+3, X : PLX : BRA +++
|
+ : PLY : LDA.b #$40 : PHX : TYX : STA.l ShopInventory+3, X : PLX : BRA +++
|
||||||
++
|
++
|
||||||
@@ -156,7 +156,7 @@ SpritePrep_ShopKeeper:
|
|||||||
JSL AttemptItemSubstitution
|
JSL AttemptItemSubstitution
|
||||||
JSL ResolveLootIDLong
|
JSL ResolveLootIDLong
|
||||||
CMP.b #$D0 : BNE +
|
CMP.b #$D0 : BNE +
|
||||||
PHX : LDA.b #0 : XBA : TYA : LSR #2 : TAX ; This will convert the value back to the slot number (in 8-bit accumulator mode)
|
PHX : LDA.b #$00 : XBA : TYA : LSR #2 : TAX ; This will convert the value back to the slot number (in 8-bit accumulator mode)
|
||||||
JSL GetRandomInt : AND.b #$3F
|
JSL GetRandomInt : AND.b #$3F
|
||||||
BNE ++ : LDA.b #$49 : ++ : CMP.b #$26 : BNE ++ : LDA.b #$6A : ++ ; if 0 (fighter's sword + shield), set to just sword, if filled container (bugged palette), switch to triforce piece
|
BNE ++ : LDA.b #$49 : ++ : CMP.b #$26 : BNE ++ : LDA.b #$6A : ++ ; if 0 (fighter's sword + shield), set to just sword, if filled container (bugged palette), switch to triforce piece
|
||||||
STA.l ShopInventoryDisguise, X : PLX
|
STA.l ShopInventoryDisguise, X : PLX
|
||||||
@@ -425,80 +425,80 @@ Shopkeeper_SetupHitboxes:
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
Shopkeeper_BuyItem:
|
Shopkeeper_BuyItem:
|
||||||
PHX : PHY
|
PHX : PHY
|
||||||
TYX
|
TYX
|
||||||
|
|
||||||
LDA.l ShopInventory, X
|
LDA.l ShopInventory, X
|
||||||
CMP.b #$0E : BEQ .refill ; Bee Refill
|
CMP.b #$0E : BEQ .refill ; Bee Refill
|
||||||
CMP.b #$2E : BEQ .refill ; Red Potion Refill
|
CMP.b #$2E : BEQ .refill ; Red Potion Refill
|
||||||
CMP.b #$2F : BEQ .refill ; Green Potion Refill
|
CMP.b #$2F : BEQ .refill ; Green Potion Refill
|
||||||
CMP.b #$30 : BEQ .refill ; Blue Potion Refill
|
CMP.b #$30 : BEQ .refill ; Blue Potion Refill
|
||||||
BRA +
|
BRA +
|
||||||
.refill
|
.refill
|
||||||
JSL Sprite_GetEmptyBottleIndex : BMI .full_bottles
|
JSL Sprite_GetEmptyBottleIndex : BMI .full_bottles
|
||||||
LDA.b #$1 : STA.l ShopkeeperRefill ; If this is on, don't toggle bit to remove from shop
|
LDA.b #$1 : STA.l ShopkeeperRefill ; If this is on, don't toggle bit to remove from shop
|
||||||
+
|
+
|
||||||
|
|
||||||
LDA.l ShopType : AND.b #$80 : BNE .buy ; don't charge if this is a take-any
|
LDA.l ShopType : AND.b #$80 : BNE .buy ; don't charge if this is a take-any
|
||||||
REP #$20 : LDA.l CurrentRupees : CMP.l ShopInventory+1, X : SEP #$20 : !BGE .buy
|
REP #$20 : LDA.l CurrentRupees : CMP.l ShopInventory+1, X : SEP #$20 : !BGE .buy
|
||||||
|
|
||||||
.cant_afford
|
.cant_afford
|
||||||
LDA.b #$7A
|
LDA.b #$7A
|
||||||
LDY.b #$01
|
LDY.b #$01
|
||||||
JSL Sprite_ShowMessageUnconditional
|
|
||||||
LDA.b #$3C : STA.w SFX2 ; error sound
|
|
||||||
JMP .done
|
|
||||||
.full_bottles
|
|
||||||
LDA.b #$6B : LDY.b #$01
|
|
||||||
JSL Sprite_ShowMessageUnconditional
|
JSL Sprite_ShowMessageUnconditional
|
||||||
LDA.b #$3C : STA.w SFX2 ; error sound
|
LDA.b #$3C : STA.w SFX2 ; error sound
|
||||||
JMP .done
|
JMP .done
|
||||||
.buy
|
.full_bottles
|
||||||
LDA.l ShopType : AND.b #$80 : BNE ++ ; don't charge if this is a take-any
|
LDA.b #$6B : LDY.b #$01
|
||||||
REP #$20 : LDA.l CurrentRupees : !SUB.l ShopInventory+1, X : STA.l CurrentRupees : SEP #$20 ; Take price away
|
JSL Sprite_ShowMessageUnconditional
|
||||||
++
|
LDA.b #$3C : STA.w SFX2 ; error sound
|
||||||
|
JMP .done
|
||||||
|
.buy
|
||||||
|
LDA.l ShopType : AND.b #$80 : BNE ++ ; don't charge if this is a take-any
|
||||||
|
REP #$20 : LDA.l CurrentRupees : !SUB.l ShopInventory+1, X : STA.l CurrentRupees : SEP #$20 ; Take price away
|
||||||
|
++
|
||||||
|
PHX
|
||||||
|
LDA.b #$00 : XBA : TXA : LSR #2 : TAX
|
||||||
|
LDA.l ShopInventoryPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
|
TXA : !ADD.l ShopSRAMIndex : TAX
|
||||||
|
LDA.l PurchaseCounts, X : BNE +++ ;Is this the first time buying this slot?
|
||||||
|
LDA.l EnableShopItemCount, X : STA.l ShopEnableCount ; If so, store the permission to count the item here.
|
||||||
|
+++
|
||||||
|
PLX
|
||||||
|
LDA.l ShopInventory, X
|
||||||
|
JSL AttemptItemSubstitution
|
||||||
|
JSL ResolveLootIDLong
|
||||||
|
TAY : JSL Link_ReceiveItem
|
||||||
|
LDA.l ShopInventory+3, X : INC : STA.l ShopInventory+3, X
|
||||||
|
LDA.b #$00 : STA.l ShopEnableCount
|
||||||
|
TXA : LSR #2 : TAX
|
||||||
|
LDA.l ShopType : BIT.b #$80 : BNE +
|
||||||
|
LDA.l ShopkeeperRefill : BNE +++
|
||||||
|
LDA.l ShopState : ORA.w Shopkeeper_ItemMasks, X : STA.l ShopState
|
||||||
|
+++ PHX
|
||||||
|
TXA : !ADD.l ShopSRAMIndex : TAX
|
||||||
|
LDA.l PurchaseCounts, X : INC : BEQ +++ : STA.l PurchaseCounts, X : +++
|
||||||
|
PLX
|
||||||
|
BRA ++
|
||||||
|
+ ; Take-any
|
||||||
|
BIT.b #$20 : BNE .takeAll
|
||||||
|
.takeAny
|
||||||
|
LDA.l ShopState : ORA.b #$07 : STA.l ShopState
|
||||||
PHX
|
PHX
|
||||||
LDA.b #0 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.l ShopSRAMIndex : TAX : LDA.b #$01 : STA.l PurchaseCounts, X
|
||||||
TXA : !ADD.l ShopSRAMIndex : TAX
|
LDA.l EnableShopItemCount, X : STA.l ShopEnableCount
|
||||||
LDA.l PurchaseCounts, X : BNE +++ ;Is this the first time buying this slot?
|
PLX
|
||||||
LDA.l EnableShopItemCount, X : STA.l ShopEnableCount ; If so, store the permission to count the item here.
|
BRA ++
|
||||||
+++
|
.takeAll
|
||||||
PLX
|
LDA.l ShopState : ORA.w Shopkeeper_ItemMasks, X : STA.l ShopState
|
||||||
LDA.l ShopInventory, X
|
PHX
|
||||||
JSL AttemptItemSubstitution
|
LDA.l ShopSRAMIndex : TAX : LDA.l ShopState : STA.l PurchaseCounts, X
|
||||||
JSL ResolveLootIDLong
|
LDA.l EnableShopItemCount, X : STA.l ShopEnableCount
|
||||||
TAY
|
PLX
|
||||||
JSL Link_ReceiveItem
|
++
|
||||||
LDA.l ShopInventory+3, X : INC : STA.l ShopInventory+3, X
|
.done
|
||||||
LDA.b #0 : STA.l ShopEnableCount
|
LDA.b #$00 : STA.l ShopkeeperRefill
|
||||||
TXA : LSR #2 : TAX
|
PLY : PLX
|
||||||
LDA.l ShopType : BIT.b #$80 : BNE +
|
|
||||||
LDA.l ShopkeeperRefill : BNE +++
|
|
||||||
LDA.l ShopState : ORA.w Shopkeeper_ItemMasks, X : STA.l ShopState
|
|
||||||
+++ PHX
|
|
||||||
TXA : !ADD.l ShopSRAMIndex : TAX
|
|
||||||
LDA.l PurchaseCounts, X : INC : BEQ +++ : STA.l PurchaseCounts, X : +++
|
|
||||||
PLX
|
|
||||||
BRA ++
|
|
||||||
+ ; Take-any
|
|
||||||
BIT.b #$20 : BNE .takeAll
|
|
||||||
.takeAny
|
|
||||||
LDA.l ShopState : ORA.b #$07 : STA.l ShopState
|
|
||||||
PHX
|
|
||||||
LDA.l ShopSRAMIndex : TAX : LDA.b #$01 : STA.l PurchaseCounts, X
|
|
||||||
LDA.l EnableShopItemCount, X : STA.l ShopEnableCount
|
|
||||||
PLX
|
|
||||||
BRA ++
|
|
||||||
.takeAll
|
|
||||||
LDA.l ShopState : ORA.w Shopkeeper_ItemMasks, X : STA.l ShopState
|
|
||||||
PHX
|
|
||||||
LDA.l ShopSRAMIndex : TAX : LDA.l ShopState : STA.l PurchaseCounts, X
|
|
||||||
LDA.l EnableShopItemCount, X : STA.l ShopEnableCount
|
|
||||||
PLX
|
|
||||||
++
|
|
||||||
.done
|
|
||||||
LDA.b #$00 : STA.l ShopkeeperRefill
|
|
||||||
PLY : PLX
|
|
||||||
RTS
|
RTS
|
||||||
Shopkeeper_ItemMasks:
|
Shopkeeper_ItemMasks:
|
||||||
db #$01, #$02, #$04, #$08
|
db #$01, #$02, #$04, #$08
|
||||||
@@ -645,7 +645,7 @@ Shopkeeper_DrawNextItem:
|
|||||||
SEP #$20 ; set 8-bit accumulator
|
SEP #$20 ; set 8-bit accumulator
|
||||||
PLY
|
PLY
|
||||||
|
|
||||||
PHX : LDA.b #0 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$0 : BNE ++
|
PHX : LDA.b #$00 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$00 : BNE ++
|
||||||
CPX.b #$0C : BCC .not_powder
|
CPX.b #$0C : BCC .not_powder
|
||||||
LDA.l PowderFlag : BRA .resolve
|
LDA.l PowderFlag : BRA .resolve
|
||||||
.not_powder LDA.l ShopInventory, X ; get item id
|
.not_powder LDA.l ShopInventory, X ; get item id
|
||||||
@@ -671,10 +671,10 @@ Shopkeeper_DrawNextItem:
|
|||||||
|
|
||||||
STA.l SpriteOAM+4
|
STA.l SpriteOAM+4
|
||||||
|
|
||||||
PHX : LDA.b #0 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$0 : BNE ++
|
PHX : LDA.b #$00 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$00 : BNE ++
|
||||||
LDA.b Scrap0D
|
LDA.b Scrap0D
|
||||||
++
|
++
|
||||||
PHX
|
PHX
|
||||||
JSL GetSpritePalette_resolved
|
JSL GetSpritePalette_resolved
|
||||||
PLX : CPX.b #$0C : BCC + ; if this is powder item
|
PLX : CPX.b #$0C : BCC + ; if this is powder item
|
||||||
ORA.b #$01
|
ORA.b #$01
|
||||||
@@ -682,20 +682,20 @@ Shopkeeper_DrawNextItem:
|
|||||||
|
|
||||||
LDA.b #$00 : STA.l SpriteOAM+6
|
LDA.b #$00 : STA.l SpriteOAM+6
|
||||||
|
|
||||||
PHX : LDA.b #0 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$0 : BNE ++
|
PHX : LDA.b #$00 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$00 : BNE ++
|
||||||
LDA.b Scrap0D
|
LDA.b Scrap0D
|
||||||
++
|
++
|
||||||
PHX
|
PHX
|
||||||
TAX
|
TAX
|
||||||
LDA.l SpriteProperties_standing_width,X : BEQ .narrow
|
LDA.l SpriteProperties_standing_width,X : BEQ .narrow
|
||||||
.full
|
.full
|
||||||
PLX
|
PLX
|
||||||
LDA.b #$02
|
LDA.b #$02
|
||||||
STA.l SpriteOAM+7
|
STA.l SpriteOAM+7
|
||||||
LDA.b #$01
|
LDA.b #$01
|
||||||
BRA ++
|
BRA ++
|
||||||
.narrow
|
.narrow
|
||||||
PLX
|
PLX
|
||||||
LDA.b #$00
|
LDA.b #$00
|
||||||
STA.l SpriteOAM+7
|
STA.l SpriteOAM+7
|
||||||
JSR PrepNarrowLower
|
JSR PrepNarrowLower
|
||||||
@@ -774,9 +774,9 @@ Shopkeeper_DrawNextPrice:
|
|||||||
PHX : PHA : LDA.l ShopScratch : TAX : PLA : JSL Sprite_DrawMultiple_quantity_preset : PLX
|
PHX : PHA : LDA.l ShopScratch : TAX : PLA : JSL Sprite_DrawMultiple_quantity_preset : PLX
|
||||||
|
|
||||||
LDA.b 1,s
|
LDA.b 1,s
|
||||||
ASL #2 : !ADD.l OAMPtr : STA.b OAMPtr ; increment oam pointer
|
ASL #2 : !ADD.b OAMPtr : STA.b OAMPtr ; increment oam pointer
|
||||||
PLA
|
PLA
|
||||||
!ADD.l OAMPtr+2 : STA.b OAMPtr+2
|
!ADD.b OAMPtr+2 : STA.b OAMPtr+2
|
||||||
.free
|
.free
|
||||||
PLP : PLY : PLX
|
PLP : PLY : PLX
|
||||||
PLB
|
PLB
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ IncrementSmallKeysNoPrimary:
|
|||||||
PHP : REP #$20 ; set 16-bit accumulator
|
PHP : REP #$20 ; set 16-bit accumulator
|
||||||
LDA.b RoomIndex : CMP.w #$0087 : BNE ++ ; hera basement
|
LDA.b RoomIndex : CMP.w #$0087 : BNE ++ ; hera basement
|
||||||
LDA.b $A8 : AND.w #$0003 : CMP.w #$0002 : BNE ++ ; must be quadrant 2
|
LDA.b $A8 : AND.w #$0003 : CMP.w #$0002 : BNE ++ ; must be quadrant 2
|
||||||
LDA.l SprDropsItem, X : AND.w #$00FF : BNE ++ ; must not be a standing item
|
LDA.w SprDropsItem, X : AND.w #$00FF : BNE ++ ; must not be a standing item
|
||||||
PLP : PHY
|
PLP : PHY
|
||||||
LDY.b #$24
|
LDY.b #$24
|
||||||
JSL AddInventory
|
JSL AddInventory
|
||||||
@@ -320,9 +320,9 @@ IndoorTileTransitionCounter:
|
|||||||
JMP StatTransitionCounter
|
JMP StatTransitionCounter
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
IndoorSubtileTransitionCounter:
|
IndoorSubtileTransitionCounter:
|
||||||
LDA.b #$01 : STA.l RedrawFlag ; set redraw flag for items
|
LDA.b #$01 : STA.l RedrawFlag ; set redraw flag for items
|
||||||
STZ.w SomariaSwitchFlag ; stuff we wrote over
|
STZ.w SomariaSwitchFlag ; stuff we wrote over
|
||||||
STZ.w SpriteRoomTag
|
STZ.w SpriteRoomTag
|
||||||
JMP StatTransitionCounter
|
JMP StatTransitionCounter
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
StatsFinalPrep:
|
StatsFinalPrep:
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ LoadModifiedArmorLevel:
|
|||||||
CMP.b #$03 : !BLT + : LDA.b #$02 : +
|
CMP.b #$03 : !BLT + : LDA.b #$02 : +
|
||||||
STA.l ScratchBufferV
|
STA.l ScratchBufferV
|
||||||
PLA
|
PLA
|
||||||
!ADD.l ScratchBufferV
|
!ADD.w ScratchBufferV
|
||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; MagicConsumption - Magic Inventory
|
; MagicConsumption - Magic Inventory
|
||||||
|
|||||||
@@ -75,7 +75,6 @@ org $B08028 ; PC 0x180028
|
|||||||
FairySword:
|
FairySword:
|
||||||
db $03 ; #$03 = Golden Sword (default)
|
db $03 ; #$03 = Golden Sword (default)
|
||||||
|
|
||||||
PedestalMusicCheck:
|
|
||||||
;org $88C435 ; <- 44435 - ancilla_receive_item.asm : 125
|
;org $88C435 ; <- 44435 - ancilla_receive_item.asm : 125
|
||||||
;db $01 ; #$01 = Master Sword (default)
|
;db $01 ; #$01 = Master Sword (default)
|
||||||
org $8589B0 ; PC 0x289B0 ; sprite_master_sword.asm : 179
|
org $8589B0 ; PC 0x289B0 ; sprite_master_sword.asm : 179
|
||||||
@@ -164,7 +163,7 @@ org $B08045 ; PC 0x180045
|
|||||||
HUDDungeonItems:
|
HUDDungeonItems:
|
||||||
db $00
|
db $00
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; 0x180046 (unused)
|
; 0x180046 - 0x180047 (unused)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $B08048 ; PC 0x180048
|
org $B08048 ; PC 0x180048
|
||||||
MenuSpeed:
|
MenuSpeed:
|
||||||
|
|||||||
44
tablets.asm
44
tablets.asm
@@ -29,24 +29,24 @@ SetTabletItemFlag:
|
|||||||
RTS
|
RTS
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
SpawnTabletItem:
|
SpawnTabletItem:
|
||||||
JSL HeartPieceGetPlayer : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
JSL HeartPieceGetPlayer : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||||
JSL LoadOutdoorValue
|
JSL LoadOutdoorValue
|
||||||
JSL AttemptItemSubstitution
|
JSL AttemptItemSubstitution
|
||||||
JSL ResolveLootIDLong
|
JSL ResolveLootIDLong
|
||||||
PHA
|
PHA
|
||||||
LDA.b #$EB : STA.l MiniGameTime
|
LDA.b #$EB : STA.l MiniGameTime
|
||||||
JSL Sprite_SpawnDynamically
|
JSL Sprite_SpawnDynamically
|
||||||
PLA
|
PLA
|
||||||
STA.w SpriteID,Y
|
STA.w SpriteID,Y
|
||||||
TYX
|
TYX
|
||||||
JSL PrepDynamicTile_loot_resolved
|
JSL PrepDynamicTile_loot_resolved
|
||||||
|
|
||||||
LDA.b LinkPosX : STA.w SpritePosXLow, Y
|
LDA.b LinkPosX : STA.w SpritePosXLow, Y
|
||||||
LDA.b LinkPosX+1 : STA.w SpritePosXHigh, Y
|
LDA.b LinkPosX+1 : STA.w SpritePosXHigh, Y
|
||||||
LDA.b LinkPosY : STA.w SpritePosYLow, Y
|
LDA.b LinkPosY : STA.w SpritePosYLow, Y
|
||||||
LDA.b LinkPosY+1 : STA.w SpritePosYHigh, Y
|
LDA.b LinkPosY+1 : STA.w SpritePosYHigh, Y
|
||||||
LDA.b #$00 : STA.w SpriteLayer, Y
|
LDA.b #$00 : STA.w SpriteLayer, Y
|
||||||
LDA.b #$7F : STA.w SpriteZCoord, Y ; spawn WAY up high
|
LDA.b #$7F : STA.w SpriteZCoord, Y ; spawn WAY up high
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
MaybeUnlockTabletAnimation:
|
MaybeUnlockTabletAnimation:
|
||||||
@@ -98,9 +98,9 @@ CheckTabletItem:
|
|||||||
; Zero flag set = Item not collected
|
; Zero flag set = Item not collected
|
||||||
; Zero flag clear = Item collected
|
; Zero flag clear = Item collected
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
JSL IsMedallion : BCS .tablet
|
JSL IsMedallion : BCS .tablet
|
||||||
LDA.l OverworldEventDataWRAM, X : AND.b #$40 ; What we wrote over
|
LDA.l OverworldEventDataWRAM, X : AND.b #$40 ; What we wrote over
|
||||||
RTL
|
RTL
|
||||||
.tablet
|
.tablet
|
||||||
TDC
|
TDC
|
||||||
RTL
|
RTL
|
||||||
|
|||||||
@@ -51,15 +51,15 @@ RTL
|
|||||||
PrepDynamicTile:
|
PrepDynamicTile:
|
||||||
PHX : PHY : PHB
|
PHX : PHY : PHB
|
||||||
LDA.l RemoteItems : BEQ .notRemote
|
LDA.l RemoteItems : BEQ .notRemote
|
||||||
LDA.l SpriteID, X : CMP.l !MULTIWORLD_SCOUTREPLY_LOCATION : BNE ++
|
LDA.w SpriteID, X : CMP.l !MULTIWORLD_SCOUTREPLY_LOCATION : BNE ++
|
||||||
LDA.l !MULTIWORLD_SCOUTREPLY_PLAYER : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
LDA.l !MULTIWORLD_SCOUTREPLY_PLAYER : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||||
LDA.l !MULTIWORLD_SCOUTREPLY_ITEM
|
LDA.l !MULTIWORLD_SCOUTREPLY_ITEM
|
||||||
STA.l SpriteID, X
|
STA.w SpriteID, X
|
||||||
BRA .notRemote
|
BRA .notRemote
|
||||||
++
|
++
|
||||||
STA.l !MULTIWORLD_SCOUT_LOCATION
|
STA.l !MULTIWORLD_SCOUT_LOCATION
|
||||||
LDA.b #$00 : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
LDA.b #$00 : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||||
LDA.b #$6B : STA.l SpriteID, X ; make it a power star, I guess
|
LDA.b #$6B : STA.w SpriteID, X ; make it a power star, I guess
|
||||||
.notRemote
|
.notRemote
|
||||||
JSR ResolveLootID
|
JSR ResolveLootID
|
||||||
-
|
-
|
||||||
@@ -219,7 +219,7 @@ PrepDrawRemoteItemSprite:
|
|||||||
CMP.l !MULTIWORLD_SCOUTREPLY_LOCATION : BNE ++
|
CMP.l !MULTIWORLD_SCOUTREPLY_LOCATION : BNE ++
|
||||||
LDA.l !MULTIWORLD_SCOUT_LOCATION : BEQ +++
|
LDA.l !MULTIWORLD_SCOUT_LOCATION : BEQ +++
|
||||||
LDA.l !MULTIWORLD_SCOUTREPLY_LOCATION
|
LDA.l !MULTIWORLD_SCOUTREPLY_LOCATION
|
||||||
STA.l SpriteID, X
|
STA.w SpriteID, X
|
||||||
JSL PrepDynamicTile
|
JSL PrepDynamicTile
|
||||||
LDA.b #$00
|
LDA.b #$00
|
||||||
BRA ++
|
BRA ++
|
||||||
@@ -229,7 +229,7 @@ PrepDrawRemoteItemSprite:
|
|||||||
RTS
|
RTS
|
||||||
++
|
++
|
||||||
STA.l !MULTIWORLD_SCOUT_LOCATION
|
STA.l !MULTIWORLD_SCOUT_LOCATION
|
||||||
LDA.b #$00 : STA.b !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
LDA.b #$00 : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||||
LDA.b #$6B
|
LDA.b #$6B
|
||||||
RTS
|
RTS
|
||||||
+
|
+
|
||||||
@@ -502,8 +502,8 @@ AuxPaletteCheck:
|
|||||||
PHX
|
PHX
|
||||||
SEP #$30
|
SEP #$30
|
||||||
LDA.w ItemReceiptMethod : BNE .main_buffer ; Never use aux if we're actually receiving an item
|
LDA.w ItemReceiptMethod : BNE .main_buffer ; Never use aux if we're actually receiving an item
|
||||||
LDA.w RoomIndex : CMP.b #$8C : BEQ .aux_buffer ; GT torch/Hope room
|
LDA.b RoomIndex : CMP.b #$8C : BEQ .aux_buffer ; GT torch/Hope room
|
||||||
LDA.w RoomIndex : CMP.b #$87 : BEQ .aux_buffer ; Hera cage/basement
|
CMP.b #$87 : BEQ .aux_buffer ; Hera cage/basement
|
||||||
.main_buffer
|
.main_buffer
|
||||||
REP #$31
|
REP #$31
|
||||||
PLX
|
PLX
|
||||||
|
|||||||
@@ -190,6 +190,7 @@ MagicShopAssistant_SpawnPowder = $85F539
|
|||||||
MagicShopAssistant_SpawnObject = $85F61D
|
MagicShopAssistant_SpawnObject = $85F61D
|
||||||
Sprite_BagOfPowder = $85F644
|
Sprite_BagOfPowder = $85F644
|
||||||
MagicShopAssistant_Main = $85F893
|
MagicShopAssistant_Main = $85F893
|
||||||
|
Sprite_SpawnSecret_SetCoords = $8682A5
|
||||||
Chicken_SpawnAvengerChicken = $86A7DB
|
Chicken_SpawnAvengerChicken = $86A7DB
|
||||||
Link_PerformRead = $87B4DB
|
Link_PerformRead = $87B4DB
|
||||||
Link_PerformOpenChest_no_replacement = $87B59F
|
Link_PerformOpenChest_no_replacement = $87B59F
|
||||||
|
|||||||
Reference in New Issue
Block a user