Merge branch 'OWmain' into GKNew
This commit is contained in:
@@ -169,23 +169,26 @@ DrHudDungeonItemsAdditions:
|
|||||||
+ inx #2 : cpx.w #$001b : bcs ++ : JMP -
|
+ inx #2 : cpx.w #$001b : bcs ++ : JMP -
|
||||||
++
|
++
|
||||||
lda.l HudFlag : and.w #$0020 : bne + : JMP ++ : +
|
lda.l HudFlag : and.w #$0020 : bne + : JMP ++ : +
|
||||||
; map symbols (do I want these) ; note compass symbol is 2c20
|
; map symbols
|
||||||
lda.w #$2821 : sta.w $1606 : sta.w $1610 : sta.w $161a : sta.w $1624
|
lda.w #$2821 : sta.w $1606 : sta.w $1610 : sta.w $161a
|
||||||
|
; compass symbols
|
||||||
|
lda.w #$2c20 : sta.w $160a : sta.w $1614 : sta.w $161e : sta.w $16e4
|
||||||
; blank out a couple thing from old hud
|
; blank out a couple thing from old hud
|
||||||
lda.w #$24f5 : sta.w $16e4 : sta.w $1724
|
lda.w #$24f5 : sta.w $1624 : sta.w $1724
|
||||||
sta.w $160a : sta.w $1614 : sta.w $161e ; blank out sm key indicators
|
|
||||||
ldx.w #$0002
|
ldx.w #$0002
|
||||||
- lda.w #$0000 ; start of hud area
|
- lda.w #$0000 ; start of hud area
|
||||||
!ADD.l RowOffsets, x : !ADD.l ColumnOffsets, x : tay
|
!ADD.l RowOffsets, x : !ADD.l ColumnOffsets, x : tay
|
||||||
lda.l DungeonReminderTable, x : sta.w $1644, y
|
lda.l DungeonReminderTable, x : sta.w $1644, y
|
||||||
iny #2
|
iny #2
|
||||||
lda.w #$24f5 : sta.w $1644, y ; blank out map spot
|
lda.w #$24f5 : sta.w $1644, y ; blank out map spot
|
||||||
lda.l MapField : and.l DungeonMask, x : beq + ; must have map
|
lda.l MapField : ora.l MapCountDisplay : ora.l MapOverlay
|
||||||
|
and.l DungeonMask, x : beq + ; must have map
|
||||||
JSR MapIndicatorShort : STA.w $1644, Y
|
JSR MapIndicatorShort : STA.w $1644, Y
|
||||||
+ iny #2
|
+ iny #2
|
||||||
cpx.w #$001a : bne +
|
cpx.w #$001a : bne +
|
||||||
tya : !ADD.w #$003c : tay
|
tya : !ADD.w #$003c : tay
|
||||||
+ lda.l CompassField : and.l DungeonMask, x : beq + ; must have compass
|
+ lda.l CompassField : ora.l CompassCountDisplay
|
||||||
|
and.l DungeonMask, x : beq + ; must have compass
|
||||||
phx ; total chest counts
|
phx ; total chest counts
|
||||||
LDA.l CompassTotalsWRAM, x : !SUB.l DungeonLocationsChecked, x
|
LDA.l CompassTotalsWRAM, x : !SUB.l DungeonLocationsChecked, x
|
||||||
SEP #$30 : JSR HudHexToDec2DigitCopy : REP #$30
|
SEP #$30 : JSR HudHexToDec2DigitCopy : REP #$30
|
||||||
|
|||||||
@@ -2,8 +2,7 @@ pushpc
|
|||||||
|
|
||||||
org $9EC147
|
org $9EC147
|
||||||
JSL NewKodongoCollision
|
JSL NewKodongoCollision
|
||||||
JMP .continue : NOP #2
|
BRA + : NOP #3 : +
|
||||||
.continue
|
|
||||||
|
|
||||||
org $9EC152
|
org $9EC152
|
||||||
Kodongo_SetDirection:
|
Kodongo_SetDirection:
|
||||||
@@ -12,8 +11,18 @@ pullpc
|
|||||||
|
|
||||||
NewKodongoCollision:
|
NewKodongoCollision:
|
||||||
LDA.w SpriteMoveDirection, X : INC A : AND.b #$03 : STA.w SpriteMoveDirection, X
|
LDA.w SpriteMoveDirection, X : INC A : AND.b #$03 : STA.w SpriteMoveDirection, X
|
||||||
|
JSL Kodongo_InVanillaRoom : BEQ .continue
|
||||||
;If they collide more than 4 times just set direction
|
;If they collide more than 4 times just set direction
|
||||||
LDA.w SpriteAuxTable, X : INC A : STA.w SpriteAuxTable, X : CMP.b #$04 : BCC .continue
|
LDA.w SpriteAuxTable, X : INC A : STA.w SpriteAuxTable, X : CMP.b #$04 : BCC .continue
|
||||||
PLA : PLA : PEA.w Kodongo_SetDirection-1
|
PLA : PLA : PEA.w Kodongo_SetDirection-1
|
||||||
.continue
|
.continue
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
|
Kodongo_InVanillaRoom:
|
||||||
|
LDA.b RoomIndex+1 : BNE .return
|
||||||
|
LDA.b RoomIndex : CMP.b #$19 : BEQ .return
|
||||||
|
CMP.b #$27 : BEQ .return
|
||||||
|
CMP.b #$77 : BEQ .return
|
||||||
|
.return
|
||||||
|
RTL
|
||||||
|
nop #10
|
||||||
10
follower.asm
10
follower.asm
@@ -4,6 +4,8 @@ org $81EBB6
|
|||||||
JSL MaybeSetZeldaCheckpoint
|
JSL MaybeSetZeldaCheckpoint
|
||||||
org $899FA1
|
org $899FA1
|
||||||
db $FF, $FF, $FF ; disable timed follower messages
|
db $FF, $FF, $FF ; disable timed follower messages
|
||||||
|
org $89A647
|
||||||
|
JSL MaybeSkipFollowerTrigger : NOP
|
||||||
org $89F544
|
org $89F544
|
||||||
JSL MaybeDeleteFollowersOnDeath
|
JSL MaybeDeleteFollowersOnDeath
|
||||||
|
|
||||||
@@ -95,6 +97,14 @@ org $86BDB4
|
|||||||
JSL SpriteDraw_LocksmithFollower
|
JSL SpriteDraw_LocksmithFollower
|
||||||
pullpc
|
pullpc
|
||||||
|
|
||||||
|
MaybeSkipFollowerTrigger:
|
||||||
|
LDA.b GameMode : AND.w #$00FF : CMP.w #$0010 : BNE .normal
|
||||||
|
.no_trigger
|
||||||
|
INC : RTL
|
||||||
|
.normal
|
||||||
|
LDA.w $02F2 : AND.b Scrap06 ; what we wrote over
|
||||||
|
RTL
|
||||||
|
|
||||||
MaybeDeleteFollowersOnDeath:
|
MaybeDeleteFollowersOnDeath:
|
||||||
LDA.l FollowerTravelAllowed : CMP.b #$02 : BNE .vanilla
|
LDA.l FollowerTravelAllowed : CMP.b #$02 : BNE .vanilla
|
||||||
; s+q = favor keeping current follower
|
; s+q = favor keeping current follower
|
||||||
|
|||||||
@@ -1210,7 +1210,7 @@ MaybeFlagDungeonTotalsEntrance:
|
|||||||
LDA.l CompassMode : AND.w #$000F : BEQ .maps ; Skip if we're not showing compass counts
|
LDA.l CompassMode : AND.w #$000F : BEQ .maps ; Skip if we're not showing compass counts
|
||||||
JSR FlagCompassCount
|
JSR FlagCompassCount
|
||||||
.maps
|
.maps
|
||||||
; LDA.l MapHUDMode : AND.w #$000F : BEQ .done
|
LDA.l MapHUDMode : AND.w #$000F
|
||||||
LDX.w DungeonID
|
LDX.w DungeonID
|
||||||
JSR FlagMapCount
|
JSR FlagMapCount
|
||||||
.done
|
.done
|
||||||
@@ -1225,7 +1225,7 @@ FlagCompassCount:
|
|||||||
RTS
|
RTS
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
FlagMapCount:
|
FlagMapCount:
|
||||||
; CMP.w #$0002 : BEQ .mapShown
|
CMP.w #$0002 : BEQ .mapShown
|
||||||
LDA.l MapMode : AND.w #$00FF : BEQ .mapShown
|
LDA.l MapMode : AND.w #$00FF : BEQ .mapShown
|
||||||
LDA.l MapField : AND.l DungeonItemMasks, X : BEQ .done ; skip if we don't have map
|
LDA.l MapField : AND.l DungeonItemMasks, X : BEQ .done ; skip if we don't have map
|
||||||
.mapShown
|
.mapShown
|
||||||
|
|||||||
Reference in New Issue
Block a user