Continue labeling and documentation in ram.asm, main rando block
Deleted several unused modules and some commented code Reorganized some routines to clean up modules Moved some memory into mirrored WRAM Refactored NMI hook aux routine Removed old fake flipper fix
This commit is contained in:
83
npcitems.asm
83
npcitems.asm
@@ -23,148 +23,127 @@
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
ItemCheck_FairySword:
|
||||
LDA NpcFlags+1 : AND.b #$08
|
||||
LDA.l NpcFlags+1 : AND.b #$08
|
||||
RTL
|
||||
|
||||
ItemCheck_SmithSword:
|
||||
LDA NpcFlags+1 : AND.b #$04
|
||||
LDA.l NpcFlags+1 : AND.b #$04
|
||||
RTL
|
||||
|
||||
ItemCheck_MagicBat:
|
||||
LDA NpcFlags+1 : AND.b #$80
|
||||
LDA.l NpcFlags+1 : AND.b #$80
|
||||
RTL
|
||||
|
||||
ItemCheck_OldMan:
|
||||
LDA NpcFlags : AND.b #$01 : CMP #$01
|
||||
LDA.l NpcFlags : AND.b #$01 : CMP #$01
|
||||
RTL
|
||||
|
||||
ItemCheck_ZoraKing:
|
||||
LDA NpcFlags : AND.b #$02
|
||||
LDA.l NpcFlags : AND.b #$02
|
||||
RTL
|
||||
|
||||
ItemCheck_SickKid:
|
||||
LDA NpcFlags : AND.b #$04
|
||||
LDA.l NpcFlags : AND.b #$04
|
||||
RTL
|
||||
|
||||
ItemCheck_TreeKid:
|
||||
LDA NpcFlags : AND.b #$08 ; FluteBoy_Chillin - 73: LDA FluteEquipment
|
||||
LDA.l NpcFlags : AND.b #$08 ; FluteBoy_Chillin - 73: LDA FluteEquipment
|
||||
RTL
|
||||
|
||||
ItemCheck_TreeKid2:
|
||||
LDA NpcFlags : AND.b #$08 : LSR #$02 ; FluteAardvark_InitialStateFromFluteState - 225: LDA FluteEquipment : AND.b #$03
|
||||
LDA.l NpcFlags : AND.b #$08 : LSR #$02 ; FluteAardvark_InitialStateFromFluteState - 225: LDA FluteEquipment : AND.b #$03
|
||||
RTL
|
||||
|
||||
ItemCheck_TreeKid3:
|
||||
JSL $0DD030 ; FluteAardvark_Draw - thing we wrote over
|
||||
LDA NpcFlags : AND.b #$08
|
||||
LDA.l NpcFlags : AND.b #$08
|
||||
BEQ .normal
|
||||
BRA .done
|
||||
LDA.b #$05
|
||||
.normal
|
||||
LDA $0D80, X
|
||||
LDA.w $0D80, X
|
||||
.done
|
||||
RTL
|
||||
|
||||
ItemCheck_Sahasrala:
|
||||
LDA NpcFlags : AND.b #$10
|
||||
LDA.l NpcFlags : AND.b #$10
|
||||
RTL
|
||||
|
||||
ItemCheck_Library:
|
||||
LDA NpcFlags : AND.b #$80
|
||||
LDA.l NpcFlags : AND.b #$80
|
||||
RTL
|
||||
|
||||
ItemCheck_Mushroom:
|
||||
LDA NpcFlags+1 : ROL #4 ; does the same thing as below
|
||||
; LDA NpcFlags+1 : AND.b #$10 : BEQ .clear
|
||||
; SEC
|
||||
;RTL
|
||||
; .clear
|
||||
; CLC
|
||||
LDA.l NpcFlags+1 : ROL #4 ; does the same thing as below
|
||||
RTL
|
||||
|
||||
ItemCheck_Powder:
|
||||
LDA NpcFlags+1 : AND.b #$20
|
||||
LDA.l NpcFlags+1 : AND.b #$20
|
||||
RTL
|
||||
|
||||
ItemCheck_Catfish:
|
||||
;LDA CatfishGoodItem : BEQ .junk
|
||||
;PHX
|
||||
; LDA CatfishGoodItem+1 : TAX
|
||||
; LDA BowEquipment-1, X
|
||||
;PLX
|
||||
;--
|
||||
;CMP CatfishGoodItem : !BLT .oursNewer
|
||||
;.theirsNewer
|
||||
;LDA #$20 : RTL ; don't give item
|
||||
;.oursNewers
|
||||
;LDA #$00 : RTL ; give item
|
||||
;.junk
|
||||
LDA NpcFlags : AND.b #$20
|
||||
LDA.l NpcFlags : AND.b #$20
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
ItemSet_FairySword:
|
||||
PHA : LDA NpcFlags+1 : ORA.b #$08 : STA NpcFlags+1 : PLA
|
||||
PHA : LDA.l NpcFlags+1 : ORA.b #$08 : STA.l NpcFlags+1 : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_SmithSword:
|
||||
PHA : LDA NpcFlags+1 : ORA.b #$04 : STA NpcFlags+1 : PLA
|
||||
PHA : LDA.l NpcFlags+1 : ORA.b #$04 : STA.l NpcFlags+1 : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_MagicBat:
|
||||
PHA : LDA NpcFlags+1 : ORA.b #$80 : STA NpcFlags+1 : PLA
|
||||
PHA : LDA.l NpcFlags+1 : ORA.b #$80 : STA.l NpcFlags+1 : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_OldMan:
|
||||
JSL.l Link_ReceiveItem ; thing we wrote over
|
||||
PHA : LDA NpcFlags : ORA.b #$01 : STA NpcFlags : PLA
|
||||
PHA : LDA.l NpcFlags : ORA.b #$01 : STA.l NpcFlags : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_ZoraKing:
|
||||
;JSL $1DE1AA ; Sprite_SpawnFlippersItem ; thing we wrote over
|
||||
PHA : LDA NpcFlags : ORA.b #$02 : STA NpcFlags : PLA
|
||||
PHA : LDA.l NpcFlags : ORA.b #$02 : STA.l NpcFlags : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_SickKid:
|
||||
JSL.l Link_ReceiveItem ; thing we wrote over
|
||||
PHA : LDA NpcFlags : ORA.b #$04 : STA NpcFlags : PLA
|
||||
PHA : LDA.l NpcFlags : ORA.b #$04 : STA.l NpcFlags : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_TreeKid:
|
||||
JSL.l Link_ReceiveItem ; thing we wrote over
|
||||
PHA : LDA NpcFlags : ORA.b #$08 : STA NpcFlags : PLA
|
||||
PHA : LDA.l NpcFlags : ORA.b #$08 : STA.l NpcFlags : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_Sahasrala:
|
||||
JSL.l Link_ReceiveItem ; thing we wrote over
|
||||
PHA : LDA NpcFlags : ORA.b #$10 : STA NpcFlags : PLA
|
||||
PHA : LDA.l NpcFlags : ORA.b #$10 : STA.l NpcFlags : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_Catfish:
|
||||
;JSL $00D52D ; GetAnimatedSpriteTile.variable ; thing we wrote over
|
||||
;JSL.l LoadCatfishItemGFX
|
||||
PHA : LDA NpcFlags : ORA.b #$20 : STA NpcFlags : PLA
|
||||
PHA : LDA.l NpcFlags : ORA.b #$20 : STA.l NpcFlags : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_Library:
|
||||
JSL.l Link_ReceiveItem ; thing we wrote over
|
||||
PHA : LDA NpcFlags : ORA.b #$80 : STA NpcFlags : PLA
|
||||
PHA : LDA.l NpcFlags : ORA.b #$80 : STA.l NpcFlags : PLA
|
||||
RTL
|
||||
|
||||
ItemSet_Mushroom:
|
||||
PHA
|
||||
LDA NpcFlags+1 : ORA.b #$10 : STA NpcFlags+1
|
||||
LDY $0E80, X ; Retrieve stored item type
|
||||
LDA.l NpcFlags+1 : ORA.b #$10 : STA.l NpcFlags+1
|
||||
LDY.w $0E80, X ; Retrieve stored item type
|
||||
BNE +
|
||||
; if for any reason the item value is 0 reload it, just in case
|
||||
%GetPossiblyEncryptedItem(MushroomItem, SpriteItemValues) : TAY
|
||||
+
|
||||
PLA
|
||||
;LDY.b #$29
|
||||
STZ $02E9 ; thing we wrote over - the mushroom is an npc for item purposes apparently
|
||||
STZ.w $02E9 ; thing we wrote over - the mushroom is an npc for item purposes apparently
|
||||
RTL
|
||||
|
||||
ItemSet_Powder:
|
||||
PHA : LDA NpcFlags+1 : ORA.b #$20 : STA NpcFlags+1 : PLA
|
||||
PHA : LDA.l NpcFlags+1 : ORA.b #$20 : STA.l NpcFlags+1 : PLA
|
||||
RTL
|
||||
;================================================================================
|
||||
|
||||
@@ -172,11 +151,11 @@ RTL
|
||||
; Randomize 300 Rupee NPC
|
||||
;--------------------------------------------------------------------------------
|
||||
Set300RupeeNPCItem:
|
||||
INC $0D80, X ; thing we wrote over
|
||||
INC.w $0D80, X ; thing we wrote over
|
||||
|
||||
PHA : PHP
|
||||
REP #$20 ; set 16-bit accumulator
|
||||
LDA $A0 ; these are all decimal because i got them that way
|
||||
LDA.b RoomIndex ; these are all decimal because i got them that way
|
||||
CMP.w #291 : BNE +
|
||||
%GetPossiblyEncryptedItem(RupeeNPC_MoldormCave, SpriteItemValues)
|
||||
TAY ; load moldorm cave value into Y
|
||||
|
||||
Reference in New Issue
Block a user