Merge branch 'OWMain' into GKNew

This commit is contained in:
2025-07-01 14:08:48 -05:00
9 changed files with 51 additions and 13 deletions

View File

@@ -2,7 +2,6 @@
; Dark World Spawn Location Fix & Master Sword Grove Fix
;--------------------------------------------------------------------------------
DarkWorldSaveFix:
LDA.b #$70 : PHA : PLB ; thing we wrote over - data bank change
JSL MasterSwordFollowerClear
JML StatSaveCounter
;--------------------------------------------------------------------------------

View File

@@ -288,3 +288,16 @@ new_trinexx_code:
RTL
;--------------------------------------------------------------------------------
;================================================================================
; Check if water tile in Swamp boss room, skip interaction
;--------------------------------------------------------------------------------
swamp_boss_tile_interaction:
LDA.l Sprite_ReducedTileInteractionTable, X : BEQ .return
CPX.b #$09 : BNE .return ; return if non-water tile
LDX.b IndoorsFlag : BEQ .return ; return if overworld
LDX.b RoomIndex : CPX.b #$06 : BNE .return ; return if not swamp boss room
LDA.b #$00
.return
RTL
;--------------------------------------------------------------------------------

View File

@@ -39,3 +39,10 @@ JSL new_kholdstare_code ; Write new gfx in the vram
org $1DAD67 ; sprite_trinexx.asm (62) : LDA.b #$03 : STA $0DC0, X
JSL new_trinexx_code : NOP
;--------------------------------------------------------------------------------
;================================================================================
; Swamp Boss Room Water Fix
;--------------------------------------------------------------------------------
org $06E81A
JSL swamp_boss_tile_interaction
;--------------------------------------------------------------------------------

View File

@@ -61,13 +61,22 @@ OnDungeonExit:
PLP : PLA
RTL
;--------------------------------------------------------------------------------
OnSave:
LDA.b #$70 : PHA : PLB ; thing we wrote over - data bank change
JSL DarkWorldSaveFix
JML MSUResumeReset
;--------------------------------------------------------------------------------
OnQuit:
JSL SQEGFix
JSL MSUResumeReset
LDA.b #$00 : STA.l AltTextFlag ; bandaid patch bug with mirroring away from text
LDA.b #$10 : STA.b MAINDESQ ; thing we wrote over
RTL
;--------------------------------------------------------------------------------
OnDeathNoSave:
JSL MSUResumeReset
LDA.b #$05 : STA.b $10 ; what we wrote over
RTL
;--------------------------------------------------------------------------------
OnUncleItemGet:
PHA

View File

@@ -793,7 +793,7 @@ Kiki_OfferToFollow:
PHA
LDA.w SpriteTimerE, X : BNE .skip_collision_check
PLA
JML Sprite_ShowMessageFromPlayerContact ; what we wrote over
JML Sprite_ShowMessageUnconditional ; what we wrote over
.skip_collision_check
PLA
CLC : RTL
@@ -819,6 +819,7 @@ RTL
; on return it checks BEQ and if non-zero, kiki get spook
Kiki_DontScareTheMonke:
LDA.b LinkJumping : BEQ .return
CMP.b #$02 : BEQ .no_spook ; needed for quake usage
LDA.w NoDamage : BNE .no_spook
LDA.w LinkThud : BNE .no_spook
.spook
@@ -862,11 +863,18 @@ dw 0, 0 : db $EC, $00, $00, $02
db $00, $00, $00, $0E, $00, $00, $0E, $0E, $00, $0E, $00, $0E, $0E
Locksmith_Chillin_PostMessage:
LDA.w SpriteAux, X : BEQ +
; when a follower is stored, merely walk near them
LDA.w SpritePosXLow, X : PHA
JSL Follower_CheckCollision : BCC .return
BRA .continue
+
LDA.w SpritePosXLow, X : PHA
SEC : SBC.b #$0A : STA.w SpritePosXLow, X
LDA.w SpritePosYLow, X : PHA
SEC : SBC.b #$0A : STA.w SpritePosYLow, X
JSL Follower_CheckCollision : BCC .return
SEC : SBC.b #$10 : STA.w SpritePosXLow, X
LDA.b #$01 : STA.w SpriteVelocityX, X
JSL Sprite_Get16BitCoords_long
JSL Follower_CheckTileCollision : BNE .return
.continue
INC.w SpriteActivity, X ; award follower
LDA.l FollowerIndicator : CMP.b #$0C : BEQ .purple_chest_prize
LDA.l FollowerTravelAllowed : CMP.b #$02 : BEQ .return
@@ -876,7 +884,6 @@ Locksmith_Chillin_PostMessage:
.purple_chest_prize
INC.w SpriteActivity, X ; prep for purple chest prize
.return
PLA : STA.w SpritePosYLow, X
PLA : STA.w SpritePosXLow, X
JML $86BD08 ; jump back to immediately RTS
@@ -899,7 +906,7 @@ Locksmith_RespondToAnswer_PostItem:
LDA.l FollowerTravelAllowed : CMP.b #$02 : BNE .no_despawn
LDA.l Follower_Locksmith : CMP.b #$0C : BEQ .despawn
LDA.w SpriteAux, X : BNE .no_despawn
LDA.l Follower_Locksmith : CMP.b #$0C : BNE .no_despawn
JSL DetermineFollowerSpawn_include_stored : BCC .no_despawn
.despawn
STZ.w SpriteAITable, X
.no_despawn

View File

@@ -1874,11 +1874,14 @@ JSL CalculateSignIndex
; Dark World Spawn Location Fix & Follower Fixes
;--------------------------------------------------------------------------------
org $80894A ; <- 94A
PHB : JSL DarkWorldSaveFix
PHB : JSL OnSave
;--------------------------------------------------------------------------------
org $828046 ; <- 10046 - Bank02.asm : 217 (JSL EnableForceBlank) (Start of Module_LoadFile)
JSL OnFileLoad
;--------------------------------------------------------------------------------
org $89F5DF
JSL OnDeathNoSave
;--------------------------------------------------------------------------------
org $8280A2
JSL GetCurrentWorldForLoad
;--------------------------------------------------------------------------------

View File

@@ -427,8 +427,6 @@ StoreMusicOnDeath:
MSUInit:
PHP
LDA.b #$00
STA.l MSULoadedTrack
JSL MSUResumeReset
LDA.l NoBGM : BNE .done
@@ -499,6 +497,7 @@ MSUInit:
;--------------------------------------------------------------------------------
MSUResumeReset:
LDA.b #$00
STA.l MSULoadedTrack
STA.l MSUResumeTrack
STA.l MSUResumeTime : STA.l MSUResumeTime+1 : STA.l MSUResumeTime+2 : STA.l MSUResumeTime+3
STA.l MSUResumeControl

View File

@@ -168,7 +168,7 @@ RTL
;--------------------------------------------------------------------------------
ChangeBootsColorForFakeBoots:
LDA.l FakeBoots : AND.w #$00FF : BEQ +
LDA.l EquipmentSRAM+$15 : AND.w #$00FF : BNE +
LDA.l BootsEquipment : AND.w #$00FF : BNE +
LDA.w #$F851 ; address of ItemMenu_ItemIcons_usused_nothing, which has the fake boots now
BRA ++
+ LDA.w #$F821 ; address of ItemMenu_ItemIcons_boots

View File

@@ -286,4 +286,5 @@ Overworld_Entrance_ID = $9BBB73
SwordPaletteOffsets = $9BEBB4
ShieldPaletteOffsets = $9BEBC1
LinkMailPalettesOffsets = $9BEC06
Sprite_ReducedTileInteractionTable = $9DF6CF
RoomData_ObjectDataPointers = $9F8000