Merge remote-tracking branch 'codemann/OWMain' into overworld_kara

WIP, Broken, Do Not Use
This commit is contained in:
2022-09-18 17:36:49 -07:00
101 changed files with 7518 additions and 3647 deletions

View File

@@ -20,7 +20,7 @@
;JML.l Smithy_DoesntHaveSword
;================================================================================
;LoadSwordForDamage:
; LDA $7EF359 : CMP #$04 : BNE .done ; skip if not gold sword
; LDA SwordEquipment : CMP #$04 : BNE .done ; skip if not gold sword
; LDA $1B : BEQ + ; skip if outdoors
; LDA $A0 : CMP #41 : BNE + ; decimal 41 ; skip if not in the mothula room
; LDA #$03 ; pretend we're using tempered
@@ -74,20 +74,20 @@ LookupDamageLevel:
; $7F50C0 - Sword Modifier
LoadModifiedSwordLevel: ; returns short
LDA $7F50C0 : BEQ +
!ADD $7EF359 ; add normal sword value to modifier
!ADD SwordEquipment ; add normal sword value to modifier
BNE ++ : LDA.b #$01 : RTS : ++
CMP.b #$05 : !BLT ++ : LDA.b #$04 : RTS : ++
RTS
+
LDA $7EF359 ; load normal sword value
LDA SwordEquipment ; load normal sword value
RTS
;================================================================================
; $7EF35B - Armor Inventory
; ArmorEquipment - Armor Inventory
; $7F50C2 - Armor Modifier
; $7F5020 - Scratch Space (Caller Preserved)
LoadModifiedArmorLevel:
PHA
LDA $7EF35B : !ADD $7F50C2
LDA ArmorEquipment : !ADD $7F50C2
CMP.b #$FF : BNE + : LDA.b #$00 : +
CMP.b #$03 : !BLT + : LDA.b #$02 : +
STA $7F5020
@@ -95,16 +95,16 @@ LoadModifiedArmorLevel:
!ADD $7F5020
RTL
;================================================================================
; $7EF37B - Magic Inventory
; MagicConsumption - Magic Inventory
; $7F50C3 - Magic Modifier
LoadModifiedMagicLevel:
LDA $7F50C3 : BEQ +
!ADD $7EF37B ; add normal magic value to modifier
!ADD MagicConsumption ; add normal magic value to modifier
CMP.b #$FF : BNE ++ : LDA.b #$00 : RTL : ++
CMP.b #$03 : !BLT ++ : LDA.b #$02 : ++
RTL
+
LDA $7EF37B ; load normal magic value
LDA MagicConsumption ; load normal magic value
RTL
;================================================================================
; $7E0348 - Ice Value
@@ -128,7 +128,7 @@ LoadModifiedIceFloorValue_a01:
;================================================================================
CheckTabletSword:
LDA.l AllowHammerTablets : BEQ +
LDA $7EF34B : BEQ + ; check for hammer
LDA HammerEquipment : BEQ + ; check for hammer
LDA.b #$02 : RTL
+
LDA.l SpecialWeapons : CMP #$01 : BEQ .check_special
@@ -140,14 +140,14 @@ CheckTabletSword:
LDA !WEAPON_LEVEL : CMP #$02 : !BLT + ; check for master bombs
LDA.b #$02 : RTL
.normal
LDA $7EF359 ; get actual sword value
LDA SwordEquipment ; get actual sword value
RTL
;================================================================================
GetSwordLevelForEvilBarrier:
LDA.l AllowHammerEvilBarrierWithFighterSword : BEQ +
LDA #$FF : RTL
+
LDA $7EF359
LDA SwordEquipment
RTL
;================================================================================
CheckGanonHammerDamage:
@@ -174,7 +174,7 @@ GetSmithSword:
JML.l Smithy_DoesntHaveSword ; Classic Smithy
+
REP #$20 : LDA $7EF360 : CMP #$000A : SEP #$20 : !BGE .buy
REP #$20 : LDA CurrentRupees : CMP #$000A : SEP #$20 : !BGE .buy
.cant_afford
REP #$10
LDA.b #$7A
@@ -190,7 +190,7 @@ GetSmithSword:
STZ $02E9 ; Item from NPC
PHX : JSL Link_ReceiveItem : PLX
REP #$20 : LDA $7EF360 : !SUB.w #$000A : STA $7EF360 : SEP #$20 ; Take 10 rupees
REP #$20 : LDA CurrentRupees : !SUB.w #$000A : STA CurrentRupees : SEP #$20 ; Take 10 rupees
JSL ItemSet_SmithSword
.done
@@ -202,7 +202,7 @@ CheckMedallionSword:
LDA.b #$02 ; Pretend we have master sword
RTL
.check_sword
LDA $7EF359
LDA SwordEquipment
RTL
.check_pad
PHB : PHX : PHY
@@ -240,19 +240,19 @@ CheckMedallionSword:
.outdoors
LDA $8A : CMP.b #$70 : BNE +
LDA.l MireRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE .done
LDA $7EF2F0 : AND.b #$20 : BNE .done
LDA OverworldEventDataWRAM+$70 : AND.b #$20 : BNE .done
LDA.b #$08 : PHA : PLB ; set data bank to $08
LDY.b #$02 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; misery mire
BRA .done
+ : CMP.b #$47 : BNE +
LDA.l TRockRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE .done
LDA $7EF2C7 : AND.b #$20 : BNE .done
LDA OverworldEventDataWRAM+$47 : AND.b #$20 : BNE .done
LDA.b #$08 : PHA : PLB ; set data bank to $08
LDY.b #$03 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; turtle rock
+
.done
PLY : PLX : PLB
LDA $7EF359
LDA SwordEquipment
RTL
.permit
SEP #$20 ; set 8-bit accumulator