Fixing up the hud to indicate Pendant/Crystal etc
This commit is contained in:
@@ -242,6 +242,7 @@ warnpc $A58000
|
|||||||
;org $228000 ; contrib area
|
;org $228000 ; contrib area
|
||||||
org $A28000 ; contrib area
|
org $A28000 ; contrib area
|
||||||
incsrc contrib.asm
|
incsrc contrib.asm
|
||||||
|
warnpc $A38000
|
||||||
|
|
||||||
org $A38000
|
org $A38000
|
||||||
incsrc stats/main.asm
|
incsrc stats/main.asm
|
||||||
|
|||||||
@@ -181,3 +181,5 @@ Sprite_ShowSolicitedMessageIfPlayerFacing_PreserveMessage:
|
|||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
;================================================================
|
;================================================================
|
||||||
|
|
||||||
|
incsrc menu/hudalpha.asm
|
||||||
|
|||||||
@@ -44,28 +44,23 @@ FrameHookAction:
|
|||||||
++
|
++
|
||||||
REP #$30 : PLA : PLP
|
REP #$30 : PLA : PLP
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
|
!NMI_MW = "$7F5047"
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
NMIHookAction:
|
NMIHookAction:
|
||||||
PHA : PHX : PHY : PHD ; thing we wrote over, push stuff
|
PHA : PHX : PHY : PHD ; thing we wrote over, push stuff
|
||||||
|
|
||||||
LDA !NMI_AUX : BEQ ++
|
LDA !NMI_MW : BEQ ++
|
||||||
PHP
|
PHP
|
||||||
SEP #$30
|
SEP #$30
|
||||||
|
|
||||||
LDA #$00 : STA !NMI_AUX
|
LDA #$00 : STA !NMI_MW
|
||||||
|
|
||||||
; Multiworld text
|
; Multiworld text
|
||||||
LDA !NMI_AUX+1 : BEQ +
|
LDA !NMI_MW+1 : BEQ +
|
||||||
LDA #$00 : STA !NMI_AUX+1
|
LDA #$00 : STA !NMI_MW+1
|
||||||
JSL.l WriteText
|
JSL.l WriteText
|
||||||
+
|
+
|
||||||
|
|
||||||
; Shops
|
|
||||||
LDA !NMI_AUX+2 : BEQ +
|
|
||||||
LDA #$00 : STA !NMI_AUX+2
|
|
||||||
JSL.l Shopkeeper_UploadVRAMTilesLong
|
|
||||||
+
|
|
||||||
|
|
||||||
PLP
|
PLP
|
||||||
++
|
++
|
||||||
|
|
||||||
@@ -78,27 +73,27 @@ NMIHookAction:
|
|||||||
JML.l NMIHookReturn
|
JML.l NMIHookReturn
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
!NMI_AUX = "$7F5044"
|
!NMI_AUX = "$7F5044"
|
||||||
|
|
||||||
PostNMIHookAction:
|
PostNMIHookAction:
|
||||||
LDA !NMI_AUX : BEQ +
|
LDA.l !NMI_AUX+2 : BEQ .return
|
||||||
LDA $00 : PHA ; preserve DP ram
|
|
||||||
LDA $01 : PHA
|
PHK
|
||||||
LDA $02 : PHA
|
PEA .return-1
|
||||||
|
|
||||||
LDA !NMI_AUX+2 : STA $02 ; set up jump pointer
|
PHA
|
||||||
LDA !NMI_AUX+1 : STA $01
|
|
||||||
LDA !NMI_AUX+0 : STA $00
|
LDA.b #$00 : STA.l !NMI_AUX+2
|
||||||
|
|
||||||
PHK : PER .return-1 ; push stack for RTL return
|
REP #$20
|
||||||
JMP [$0000]
|
LDA.l !NMI_AUX+0 : DEC : PHA
|
||||||
|
SEP #$20
|
||||||
.return
|
|
||||||
LDA.b #$00 : STA !NMI_AUX ; zero bank byte of NMI hook pointer
|
RTL
|
||||||
|
|
||||||
PLA : STA $02
|
.return
|
||||||
PLA : STA $01
|
LDA.b $13 : STA.w $2100
|
||||||
PLA : STA $00
|
|
||||||
+
|
JML.l PostNMIHookReturn
|
||||||
|
|
||||||
LDA $13 : STA $2100 ; thing we wrote over, turn screen back on
|
|
||||||
JML.l PostNMIHookReturn
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -2808,6 +2808,14 @@ org $01C536 : JSL FixJingleGlitch
|
|||||||
org $01C592 : JSL FixJingleGlitch
|
org $01C592 : JSL FixJingleGlitch
|
||||||
org $01C65F : JSL FixJingleGlitch
|
org $01C65F : JSL FixJingleGlitch
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Hooks for when submenu opens
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $028818
|
||||||
|
JSL OnMenuLoad
|
||||||
|
org $02A463
|
||||||
|
JSL OnMenuLoad
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Terrorpin AI fix
|
; Terrorpin AI fix
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ DrHudDungeonItemsAdditions:
|
|||||||
iny #2
|
iny #2
|
||||||
lda.w #$24f5 : sta $1644, y ; blank out map spot
|
lda.w #$24f5 : sta $1644, y ; blank out map spot
|
||||||
lda $7ef368 : and.l $0098c0, x : beq + ; must have map
|
lda $7ef368 : and.l $0098c0, x : beq + ; must have map
|
||||||
lda #$2826 : sta $1644, y ; check mark
|
JSR MapIndicatorShort : STA $1644, Y
|
||||||
+ iny #2
|
+ iny #2
|
||||||
cpx #$001a : bne +
|
cpx #$001a : bne +
|
||||||
tya : !add #$003c : tay
|
tya : !add #$003c : tay
|
||||||
@@ -164,6 +164,34 @@ DrHudDungeonItemsAdditions:
|
|||||||
plp : ply : plx : rtl
|
plp : ply : plx : rtl
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MapIndicatorLong:
|
||||||
|
PHX
|
||||||
|
LDA.l OldHudToNewHudTable, X : TAX
|
||||||
|
JSR MapIndicator
|
||||||
|
PLX
|
||||||
|
RTL
|
||||||
|
|
||||||
|
MapIndicatorShort:
|
||||||
|
PHX
|
||||||
|
TXA : LSR : TAX
|
||||||
|
JSR MapIndicator
|
||||||
|
PLX
|
||||||
|
RTS
|
||||||
|
|
||||||
|
OldHudToNewHudTable:
|
||||||
|
dw 1, 2, 3, 10, 4, 6, 5, 8, 11, 9, 7, 12, 13
|
||||||
|
|
||||||
|
IndicatorCharacters:
|
||||||
|
; check G P R C
|
||||||
|
dw $2426, $2590, $2599, $259B, $258C
|
||||||
|
|
||||||
|
MapIndicator:
|
||||||
|
LDA.l CrystalPendantFlags_3, X : AND #$00FF
|
||||||
|
PHX
|
||||||
|
ASL : TAX : LDA.l IndicatorCharacters, X
|
||||||
|
PLX
|
||||||
|
RTS
|
||||||
|
|
||||||
BkStatus:
|
BkStatus:
|
||||||
lda $7ef366 : and.l $0098c0, x : bne +++ ; has the bk already
|
lda $7ef366 : and.l $0098c0, x : bne +++ ; has the bk already
|
||||||
lda.l BigKeyStatus, x : bne ++
|
lda.l BigKeyStatus, x : bne ++
|
||||||
|
|||||||
23
menu/hudalpha.asm
Normal file
23
menu/hudalpha.asm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
OnMenuLoad:
|
||||||
|
LDA.b #UploadMenuOnlyIcons>>0 : STA !NMI_AUX
|
||||||
|
LDA.b #UploadMenuOnlyIcons>>8 : STA !NMI_AUX+1
|
||||||
|
LDA.b #UploadMenuOnlyIcons>>16 : STA !NMI_AUX+2
|
||||||
|
LDA.b #$0E : STA.b $10 ; what we overwrote
|
||||||
|
RTL
|
||||||
|
|
||||||
|
UploadMenuOnlyIcons:
|
||||||
|
REP #$20
|
||||||
|
LDA.w #MenuOnlyIcons : STA.w $4342
|
||||||
|
LDA.w #$1801 : STA.w $4340
|
||||||
|
LDA.w #$0240 : STA.w $4345
|
||||||
|
LDA.w #$0F800>>1 : STA.w $2116
|
||||||
|
|
||||||
|
SEP #$20
|
||||||
|
LDA.b #MenuOnlyIcons>>16 : STA.w $4344
|
||||||
|
LDA.b #$80 : STA.w $2118
|
||||||
|
LDA.b #$10 : STA.w $420B
|
||||||
|
|
||||||
|
RTL
|
||||||
|
|
||||||
|
MenuOnlyIcons:
|
||||||
|
incbin "menuonly.2bpp"
|
||||||
BIN
menu/menuonly.2bpp
Normal file
BIN
menu/menuonly.2bpp
Normal file
Binary file not shown.
@@ -37,7 +37,7 @@ PHX : PHY : PHP
|
|||||||
++
|
++
|
||||||
|
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA #$01 : STA !NMI_AUX+1 : STA !NMI_AUX
|
LDA #$01 : STA !NMI_MW+1 : STA !NMI_MW
|
||||||
LDA !MULTIWORLD_HUD_DELAY
|
LDA !MULTIWORLD_HUD_DELAY
|
||||||
STA !MULTIWORLD_HUD_TIMER
|
STA !MULTIWORLD_HUD_TIMER
|
||||||
.textdone
|
.textdone
|
||||||
@@ -113,7 +113,7 @@ GetMultiworldItem:
|
|||||||
BRA -
|
BRA -
|
||||||
++
|
++
|
||||||
PLP
|
PLP
|
||||||
LDA #$01 : STA !NMI_AUX+1 : STA !NMI_AUX
|
LDA #$01 : STA !NMI_MW+1 : STA !NMI_MW
|
||||||
.textend
|
.textend
|
||||||
|
|
||||||
LDA $5D
|
LDA $5D
|
||||||
|
|||||||
@@ -397,10 +397,13 @@ DrawHUDDungeonItems:
|
|||||||
|
|
||||||
.next_map
|
.next_map
|
||||||
BIT.w .dungeon_bitmasks,X
|
BIT.w .dungeon_bitmasks,X
|
||||||
BEQ ..skip_map
|
BNE ..draw_map
|
||||||
|
; MapMode indicates if maps are needed for the info
|
||||||
|
LDA.l MapMode : AND #$00FF : BNE ..skip_map
|
||||||
|
|
||||||
|
..draw_map
|
||||||
LDY.w .dungeon_positions,X
|
LDY.w .dungeon_positions,X
|
||||||
LDA.w #$2826
|
JSL MapIndicatorLong
|
||||||
STA.w $1686,Y
|
STA.w $1686,Y
|
||||||
|
|
||||||
; reload
|
; reload
|
||||||
|
|||||||
22
tables.asm
22
tables.asm
@@ -1511,7 +1511,8 @@ dw #9999 ; Rupee Limit
|
|||||||
; $7F5042 - Tile Upload Offset Override (Low)
|
; $7F5042 - Tile Upload Offset Override (Low)
|
||||||
; $7F5043 - Tile Upload Offset Override (High)
|
; $7F5043 - Tile Upload Offset Override (High)
|
||||||
; $7F5044 - $7F5046 - NMI Auxiliary Function
|
; $7F5044 - $7F5046 - NMI Auxiliary Function
|
||||||
; $7F5047 - $7F504E - Unused
|
; $7F5047 - $7F5048 - Multiworld NMI Flags
|
||||||
|
; $7F5049 - $7F504E - Unused
|
||||||
; $7F504F - $7F506F - Shop Block
|
; $7F504F - $7F506F - Shop Block
|
||||||
; $7F5070 - Reserved for OneMind
|
; $7F5070 - Reserved for OneMind
|
||||||
; $7F5071 - Reserved for OneMind
|
; $7F5071 - Reserved for OneMind
|
||||||
@@ -1893,6 +1894,25 @@ db #$00, #$00, #$00, #$00, #$00, #$00, #$00, #$00, #$00, #$00, #$00, #$00, #$00,
|
|||||||
; 0x186380 - 187FFF (unused)
|
; 0x186380 - 187FFF (unused)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
org $30EFE0 ; PC 0x186FE0-0x186FEF
|
||||||
|
CrystalPendantFlags_3:
|
||||||
|
db $00 ; Sewers
|
||||||
|
db $00 ; Hyrule Castle
|
||||||
|
db $01 ; Eastern Palace
|
||||||
|
db $02 ; Desert Palace
|
||||||
|
db $00 ; Agahnim's Tower
|
||||||
|
db $04 ; Swamp Palace
|
||||||
|
db $04 ; Palace of Darkness
|
||||||
|
db $03 ; Misery Mire
|
||||||
|
db $04 ; Skull Woods
|
||||||
|
db $03 ; Ice Palace
|
||||||
|
db $02 ; Tower of Hera
|
||||||
|
db $04 ; Thieves' Town
|
||||||
|
db $04 ; Turtle Rock
|
||||||
|
db $00 ; Ganons Tower
|
||||||
|
; 00 - No Prize. 01 - Green Pendant. 02 - Other Pendant, 03 - Special Crystal, 04 - Other Crystal
|
||||||
|
|
||||||
|
|
||||||
org $30EFFF ; PC 0x186FFF
|
org $30EFFF ; PC 0x186FFF
|
||||||
BallNChainDungeon:
|
BallNChainDungeon:
|
||||||
db #$02
|
db #$02
|
||||||
|
|||||||
Reference in New Issue
Block a user