Merge branch 'main' into overworld_kara
This commit is contained in:
@@ -55,10 +55,11 @@ db #$20, #$19, #$08, #$31 ; year/month/day
|
||||
!SRAM_SINK = "$7EF41E" ; <- change this (conflicts with Programmable item 3)
|
||||
;$7EF418 - Goal Item Counter
|
||||
;$7EF419 - Service Sequence
|
||||
;$7EF420 - $7EF46D - Stat Tracking Bank 1 (overlaps with RNG Item Flags)
|
||||
;$7EF420 - $7EF46F - Stat Tracking Bank 1 (overlaps with RNG Item Flags)
|
||||
;$7EF450 - $7EF45F - RNG Item (Single) Flags
|
||||
;$7EF4A0 - $7EF4A7 - Service Request Block
|
||||
!PROGRESSIVE_BOMBS = "$7EF4A8"
|
||||
;$7EF4AA - $7EF4AD = Stat Tracking Bank 2
|
||||
!FRESH_FILE_MARKER = "$7EF4F0" ; zero if fresh file
|
||||
;$700500 - $70050F - Extended File Name
|
||||
;$701000 - $70100F - Password (incorporate into log header)
|
||||
@@ -546,6 +547,9 @@ Sprite_ShowMessageUnconditional:
|
||||
org $05EC96
|
||||
Sprite_ZeldaLong:
|
||||
|
||||
org $0680FA
|
||||
Player_ApplyRumbleToSprites:
|
||||
|
||||
org $0683E6
|
||||
Utility_CheckIfHitBoxesOverlapLong:
|
||||
|
||||
|
||||
80
boots.asm
80
boots.asm
@@ -3,13 +3,75 @@
|
||||
;--------------------------------------------------------------------------------
|
||||
!BOOTS_MODIFIER = "$7F50CE"
|
||||
ModifyBoots:
|
||||
PHA
|
||||
LDA !BOOTS_MODIFIER : CMP.b #$01 : BNE +
|
||||
PLA : AND $7EF379 : ORA.b #$04 : RTL ; yes boots
|
||||
+ : CMP #$02 : BNE +
|
||||
PLA : AND $7EF379 : AND.b #$FB : RTL ; no boots
|
||||
+
|
||||
PLA
|
||||
AND $7EF379 ; regular boots
|
||||
PHA
|
||||
LDA !BOOTS_MODIFIER : CMP.b #$01 : BNE +
|
||||
PLA : AND $7EF379 : ORA.b #$04 : RTL ; yes boots
|
||||
+ : CMP.b #$02 : BNE +
|
||||
PLA : AND $7EF379 : AND.b #$FB : RTL ; no boots
|
||||
+ : LDA FakeBoots : CMP.b #$01 : BNE +
|
||||
LDA $5B : BEQ ++ : LDA $59 : BNE + ; hover check
|
||||
++ : PLA : AND $7EF379 : ORA.b #$04 : RTL ; yes boots, not hovering
|
||||
+
|
||||
PLA
|
||||
AND $7EF379 ; regular boots
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
AddBonkTremors:
|
||||
PHA
|
||||
LDA $46 : BNE + ; Check for incapacitated Link
|
||||
JSL.l IncrementBonkCounter
|
||||
+
|
||||
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||
LDA $7EF355 : BNE + ; Check for Boots
|
||||
PLA : RTL
|
||||
+
|
||||
PLA
|
||||
JSL.l AddDashTremor : JSL.l Player_ApplyRumbleToSprites ; things we wrote over
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
BonkBreakableWall:
|
||||
PHX : PHP
|
||||
SEP #$30 ; set 8-bit accumulator and index registers
|
||||
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||
LDA $7EF355 : BNE + ; Check for Boots
|
||||
PLP : PLX : LDA.w #$0000 : RTL
|
||||
+
|
||||
PLP : PLX
|
||||
LDA $0372 : AND.w #$00FF ; things we wrote over
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
BonkRockPile:
|
||||
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||
LDA $7EF355 : BNE + ; Check for Boots
|
||||
LDA.b #$00 : RTL
|
||||
+
|
||||
LDA $02EF : AND.b #$70 ; things we wrote over
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
GravestoneHook:
|
||||
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||
LDA $7EF355 : BEQ .done ; Check for Boots
|
||||
+
|
||||
LDA $0372 : BEQ .done ; things we wrote over
|
||||
JML.l moveGravestone
|
||||
.done
|
||||
JML.l GravestoneHook_continue
|
||||
;--------------------------------------------------------------------------------
|
||||
JumpDownLedge:
|
||||
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||
LDA $7EF355 : BNE + ; Check for Boots
|
||||
; Disarm Waterwalk
|
||||
LDA $5B : CMP.b #$01 : BNE +
|
||||
STZ $5B
|
||||
+
|
||||
LDA $1B : BNE .done : LDA.b #$02 : STA $EE ; things we wrote over
|
||||
.done
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
BonkRecoil:
|
||||
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||
LDA $7EF355 : BNE + ; Check for Boots
|
||||
LDA.b #$16 : STA $29 : RTL
|
||||
+
|
||||
LDA.b #$24 : STA $29 ; things we wrote over
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -7,7 +7,7 @@ DrawDungeonCompassCounts:
|
||||
LDX $040C : CPX.b #$FF : BEQ .done ; Skip if not in a dungeon
|
||||
|
||||
CMP.w #$0002 : BEQ ++ ; if CompassMode==2, we don't check for the compass
|
||||
LDA $7EF364 : AND.l .item_masks, X ; Load compass values to A, mask with dungeon item masks
|
||||
LDA $7EF364 : AND.l DungeonItemMasks, X ; Load compass values to A, mask with dungeon item masks
|
||||
BEQ .done ; skip if we don't have compass
|
||||
++
|
||||
|
||||
@@ -36,7 +36,7 @@ DrawDungeonCompassCounts:
|
||||
.done
|
||||
RTL
|
||||
|
||||
.item_masks ; these are dungeon correlations to $7EF364 - $7EF369 so it knows where to store compasses, etc
|
||||
DungeonItemMasks: ; these are dungeon correlations to $7EF364 - $7EF369 so it knows where to store compasses, etc
|
||||
dw $8000, $4000, $2000, $1000, $0800, $0400, $0200, $0100
|
||||
dw $0080, $0040, $0020, $0010, $0008, $0004
|
||||
|
||||
|
||||
@@ -107,15 +107,14 @@ DoDungeonMapBossIcon:
|
||||
LDX.b #$02
|
||||
STX.w $420B
|
||||
|
||||
STA.w $4315
|
||||
LDA.w #$A260>>1
|
||||
STA.w $2116
|
||||
LDA.w #$0040
|
||||
STA.w $4315
|
||||
|
||||
STX.w $420B
|
||||
|
||||
; done
|
||||
SEP #$32
|
||||
SEP #$30
|
||||
RTL
|
||||
|
||||
.boss_id
|
||||
|
||||
@@ -33,7 +33,7 @@ CalculateByrnaUsage:
|
||||
PLX
|
||||
++
|
||||
LDA $7EF36E ; thing we wrote over
|
||||
RTL
|
||||
JML IncrementMagicUseCounterByrna
|
||||
;--------------------------------------------------------------------------------
|
||||
CalculateCapeUsage:
|
||||
LDA $1B : BEQ ++
|
||||
@@ -51,8 +51,7 @@ CalculateCapeUsage:
|
||||
LDA.l HardModeExclusionCapeUsage, X : STA $4C ; set cape decrement timer
|
||||
PLX
|
||||
++
|
||||
LDA $7EF36E ; thing we wrote over
|
||||
RTL
|
||||
JML IncrementMagicUseCounterOne
|
||||
;--------------------------------------------------------------------------------
|
||||
ActivateInvulnerabilityOrDont:
|
||||
LDA $1B : BEQ .nowhere_special
|
||||
|
||||
48
hooks.asm
48
hooks.asm
@@ -69,6 +69,51 @@ org $079C22 ; <- 39222 - Bank07.asm : 4494 (AND $7EF379 : BEQ .cantDoAction)
|
||||
JSL.l ModifyBoots
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Enable/Disable Bonk Tremors
|
||||
;--------------------------------------------------------------------------------
|
||||
org $079202 ; 39202 <- Bank07.asm : 2859 (JSL AddDashTremor : JSL Player_ApplyRumbleToSprites)
|
||||
JSL.l AddBonkTremors : NOP #4
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Bonk Breakable Walls
|
||||
;--------------------------------------------------------------------------------
|
||||
org $01CF8E ; CF8E <- Bank01.asm : 11641 (LDA $0372 : AND.w #$00FF)
|
||||
JSL.l BonkBreakableWall : NOP #2
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Bonk Rock Pile
|
||||
;--------------------------------------------------------------------------------
|
||||
org $07C196 ; 3C196 <- Bank07.asm : 10310 (LDA $02EF : AND.b #$70)
|
||||
JSL.l BonkRockPile : NOP
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Move Gravestone
|
||||
;--------------------------------------------------------------------------------
|
||||
org $07C0FD ; 3C0FD <- Bank07.asm : 10197 (LDA $0372 : BNE .moveGravestone)
|
||||
JML.l GravestoneHook : NOP
|
||||
GravestoneHook_continue:
|
||||
org $07C106
|
||||
moveGravestone:
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Jump Down Ledge
|
||||
;--------------------------------------------------------------------------------
|
||||
org $078966 ; 38966 <- Bank07.asm : 1618 (LDA $1B : BNE .indoors : LDA.b #$02 : STA $EE)
|
||||
JSL.l JumpDownLedge : NOP #4
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Bonk Recoil
|
||||
;--------------------------------------------------------------------------------
|
||||
org $07922C ; 3922C <- Bank07.asm : 2869 (LDA.b #$24 : STA $29)
|
||||
JSL.l BonkRecoil
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Dungeon Exit Hook
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -493,9 +538,6 @@ JSL.l CheckGanonHammerDamage : NOP
|
||||
;================================================================================
|
||||
; Stat Hooks
|
||||
;--------------------------------------------------------------------------------
|
||||
org $079202 ; 39202 <- Bank07.asm : 2859 (JSL AddDashTremor)
|
||||
JSL.l StatBonkCounter
|
||||
;--------------------------------------------------------------------------------
|
||||
org $02B797 ; <- 13797 - Bank02.asm : 8712 (LDA.b #$19 : STA $10)
|
||||
JSL.l StatsFinalPrep
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
50
newhud.asm
50
newhud.asm
@@ -131,9 +131,51 @@ SEP #$30
|
||||
STA !KEY_ICON_ADDRESS
|
||||
|
||||
.done_keys
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;--------------------------------------------------------------------------------
|
||||
; Draw pendant/crystal icon
|
||||
;--------------------------------------------------------------------------------
|
||||
!PRIZE_ICON = $7EC742
|
||||
!P_ICON = $296C
|
||||
!C_ICON = $295F
|
||||
|
||||
SEP #$20
|
||||
LDA.b $1B : BEQ .noprize
|
||||
|
||||
|
||||
|
||||
LDX.w $040C : BMI .noprize
|
||||
|
||||
REP #$20
|
||||
|
||||
LDA.l MapMode
|
||||
BEQ .drawprize
|
||||
|
||||
LDA.l $7EF368
|
||||
AND.l DungeonItemMasks,X
|
||||
BEQ .doneprize
|
||||
|
||||
.drawprize
|
||||
LDA.l CrystalPendantFlags_2, X
|
||||
AND.w #$0040 : BNE .is_crystal
|
||||
|
||||
LDA.w #!P_ICON
|
||||
BRA .doneprize
|
||||
|
||||
.is_crystal
|
||||
LDA.w #!C_ICON
|
||||
BRA .doneprize
|
||||
|
||||
.noprize
|
||||
REP #$20
|
||||
LDA.w #$207F
|
||||
|
||||
.doneprize
|
||||
STA.l !PRIZE_ICON
|
||||
|
||||
;--------------------------------------------------------------------------------
|
||||
; Draw Magic Meter
|
||||
!INFINITE_MAGIC = "$7F50CA"
|
||||
@@ -261,4 +303,4 @@ HudHexToDec2Digit:
|
||||
DEC : BNE -
|
||||
+
|
||||
STY $07 ; Store 1s digit
|
||||
RTS
|
||||
RTS
|
||||
|
||||
@@ -74,15 +74,15 @@ macro DrawBombosPlatform(roomX, roomY, quadX, quadY)
|
||||
endMacro
|
||||
|
||||
IcePalaceBombosSE:
|
||||
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
|
||||
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
|
||||
%DrawBombosPlatform(14, 18, 1, 1)
|
||||
RTL
|
||||
IcePalaceBombosSW:
|
||||
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
|
||||
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
|
||||
%DrawBombosPlatform(14, 18, 0, 1)
|
||||
RTL
|
||||
IcePalaceBombosNE:
|
||||
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
|
||||
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
|
||||
%DrawBombosPlatform(14, 18, 1, 0)
|
||||
RTL
|
||||
|
||||
|
||||
57
stats.asm
57
stats.asm
@@ -122,7 +122,13 @@
|
||||
;--------------------------------------------------------------------------------
|
||||
; $7EF4A0 - 7EF4A7 - Service Request
|
||||
;--------------------------------------------------------------------------------
|
||||
; $7EF4A8 - 7EF4AF - Free space
|
||||
; $7EF4A8 - Progressive Bomb Level
|
||||
;--------------------------------------------------------------------------------
|
||||
; $7EF4AAw[2] - Damage Counter
|
||||
;--------------------------------------------------------------------------------
|
||||
; $7EF4ACw[2] - Magic Counter
|
||||
;--------------------------------------------------------------------------------
|
||||
; $7EF4AC - 7EF4AF - Free space
|
||||
;--------------------------------------------------------------------------------
|
||||
; $7EF4B0 - 7EF4BF - Absorbed keys, indexed by 040C >> 1
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -146,16 +152,12 @@
|
||||
!LOCK_STATS = "$7EF443"
|
||||
;--------------------------------------------------------------------------------
|
||||
!BONK_COUNTER = "$7EF420"
|
||||
StatBonkCounter:
|
||||
PHA
|
||||
JSL Ancilla_CheckIfAlreadyExistsLong : BCS +
|
||||
LDA !LOCK_STATS : BNE +
|
||||
LDA !BONK_COUNTER : INC
|
||||
CMP.b #100 : BEQ + ; decimal 100
|
||||
STA !BONK_COUNTER
|
||||
IncrementBonkCounter:
|
||||
LDA !LOCK_STATS : BNE +
|
||||
LDA !BONK_COUNTER : INC
|
||||
CMP.b #100 : BEQ + ; decimal 100
|
||||
STA !BONK_COUNTER
|
||||
+
|
||||
PLA
|
||||
JSL.l AddDashTremor ; thing we wrote over
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
!SAVE_COUNTER = "$7EF42D"
|
||||
@@ -384,8 +386,8 @@ IncrementBigChestCounter:
|
||||
PLA
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
!DAMAGE_COUNTER = "$FFFFFF"
|
||||
!MAGIC_COUNTER = "$FFFFFF"
|
||||
!DAMAGE_COUNTER = $7EF4AA
|
||||
!MAGIC_COUNTER = $7EF4AC
|
||||
IncrementDamageTakenCounter_Eight:
|
||||
STA.l $7EF36D
|
||||
PHA : PHP
|
||||
@@ -393,10 +395,12 @@ IncrementDamageTakenCounter_Eight:
|
||||
REP #$21
|
||||
LDA.l !DAMAGE_COUNTER
|
||||
ADC.w #$0008
|
||||
STA.l !DAMAGE_COUNTER
|
||||
BCC ++
|
||||
LDA.w #$FFFF
|
||||
++ STA.l !DAMAGE_COUNTER
|
||||
+ PLP
|
||||
PLA
|
||||
RTL
|
||||
RTL
|
||||
|
||||
IncrementDamageTakenCounter_Arb:
|
||||
PHP
|
||||
@@ -405,24 +409,41 @@ IncrementDamageTakenCounter_Arb:
|
||||
LDA.b $00
|
||||
AND.w #$00FF
|
||||
ADC.l !DAMAGE_COUNTER
|
||||
STA.l !DAMAGE_COUNTER
|
||||
BCC ++
|
||||
LDA.w #$FFFF
|
||||
++ STA.l !DAMAGE_COUNTER
|
||||
+ PLP
|
||||
|
||||
LDA.l $7EF36D
|
||||
RTL
|
||||
RTL
|
||||
|
||||
IncrementMagicUseCounter:
|
||||
STA.l $7EF36E
|
||||
|
||||
IncrementMagicUseCounterByrna:
|
||||
PHA : PHP
|
||||
LDA !LOCK_STATS : BNE +
|
||||
REP #$21
|
||||
LDA.b $00
|
||||
AND.w #$00FF
|
||||
ADC.l !MAGIC_COUNTER
|
||||
STA.l !MAGIC_COUNTER
|
||||
BCC ++
|
||||
LDA.w #$FFFF
|
||||
++ STA.l !MAGIC_COUNTER
|
||||
+ PLP : PLA
|
||||
|
||||
RTL
|
||||
RTL
|
||||
|
||||
IncrementMagicUseCounterOne:
|
||||
LDA !LOCK_STATS : BNE +
|
||||
REP #$20
|
||||
LDA.l !MAGIC_COUNTER
|
||||
INC
|
||||
BEQ ++
|
||||
STA.l !MAGIC_COUNTER
|
||||
++ SEP #$20
|
||||
+ LDA.l $7EF36E
|
||||
RTL
|
||||
|
||||
;--------------------------------------------------------------------------------
|
||||
!OW_MIRROR_COUNTER = "$7EF43A"
|
||||
|
||||
@@ -640,12 +640,11 @@ endif
|
||||
%blankline()
|
||||
%blankline()
|
||||
|
||||
print "GT Big Key Credit Start: ", pc
|
||||
%bigcreditsleft("GT BIG KEY /22")
|
||||
%bigcreditsleft("DAMAGE TAKEN")
|
||||
|
||||
%blankline()
|
||||
|
||||
%bigcreditsleft("CHEST TURNS")
|
||||
%bigcreditsleft("MAGIC USED")
|
||||
|
||||
%blankline()
|
||||
|
||||
@@ -726,10 +725,10 @@ print "Collection Rate Credit Start: ", pc
|
||||
!TEMPERED_SWORD_Y = 336
|
||||
!GOLD_SWORD_X = 23
|
||||
!GOLD_SWORD_Y = 339
|
||||
!GT_BIG_KEY_X = 23
|
||||
!GT_BIG_KEY_Y = 346
|
||||
!CHEST_TURNS_X = 26
|
||||
!CHEST_TURNS_Y = 349
|
||||
!DAMAGETAKEN_X = 26
|
||||
!DAMAGETAKEN_Y = 346
|
||||
!MAGICUSED_X = 26
|
||||
!MAGICUSED_Y = 349
|
||||
!BONKS_X = 26
|
||||
!BONKS_Y = 352
|
||||
!BOMBS_X = 26
|
||||
|
||||
@@ -60,6 +60,7 @@ ValueCaps:
|
||||
dw 99
|
||||
dw 999
|
||||
dw 9999
|
||||
dw 9999 ; TODO - 5 digits need to be fixed at a later date
|
||||
|
||||
BitMasks:
|
||||
dw $FFFF
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
%AddStat($7EF425, 0, 0, 04, 2, !MASTER_SWORD_X, !MASTER_SWORD_Y)
|
||||
%AddStat($7EF426, 0, 4, 04, 2, !TEMPERED_SWORD_X, !TEMPERED_SWORD_Y)
|
||||
%AddStat($7EF426, 0, 0, 04, 2, !GOLD_SWORD_X, !GOLD_SWORD_Y)
|
||||
%AddStat($7EF42A, 0, 0, 05, 2, !GT_BIG_KEY_X, !GT_BIG_KEY_Y)
|
||||
%AddStat($7EF46D, 0, 0, 08, 3, !CHEST_TURNS_X, !CHEST_TURNS_Y)
|
||||
%AddStat($7EF46A, 0, 0, 16, 5, !DAMAGETAKEN_X, !DAMAGETAKEN_Y)
|
||||
%AddStat($7EF46C, 0, 0, 16, 5, !MAGICUSED_X, !MAGICUSED_Y)
|
||||
%AddStat($7EF420, 0, 0, 08, 3, !BONKS_X, !BONKS_Y)
|
||||
%AddStat($7EF46E, 0, 0, 16, 4, !BOMBS_X, !BOMBS_Y)
|
||||
%AddStat($7EF42D, 0, 0, 08, 2, !SAVE_AND_QUITS_X, !SAVE_AND_QUITS_Y)
|
||||
|
||||
@@ -399,7 +399,11 @@ org $30808D ; PC 0x18008D
|
||||
InstantPostAgaWorldState:
|
||||
db $00 ; #$00 = Off (default) - #$01 = On
|
||||
;--------------------------------------------------------------------------------
|
||||
; 0x18008E - 0x18008F (unused)
|
||||
org $30808E ; PC 0x18008E
|
||||
FakeBoots:
|
||||
db $00 ; #$00 = Off (default) - #$01 = On
|
||||
;--------------------------------------------------------------------------------
|
||||
; 0x18008F (unused)
|
||||
;--------------------------------------------------------------------------------
|
||||
org $308090 ; PC 0x180090 - 0x180097
|
||||
ProgressiveSwordLimit:
|
||||
|
||||
Reference in New Issue
Block a user