Merge branch 'main' into kara
This commit is contained in:
@@ -445,6 +445,8 @@ org $00891D
|
||||
org $00893D
|
||||
EnableForceBlank:
|
||||
|
||||
DungeonMask = $0098C0
|
||||
|
||||
org $00D308
|
||||
DecompSwordGfx:
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ DrawDungeonCompassCounts:
|
||||
|
||||
CPX.b #$1B : BCS .done ; Skip if not in a valid dungeon ID
|
||||
|
||||
CMP.w #$0002 : BEQ ++ ; if CompassMode==2, we don't check for the compass
|
||||
BIT.w #$0002 : BNE ++ ; if CompassMode==2, we don't check for the compass
|
||||
LDA CompassField : AND.l DungeonItemMasks, X ; Load compass values to A, mask with dungeon item masks
|
||||
BEQ .done ; skip if we don't have compass
|
||||
++
|
||||
|
||||
@@ -50,6 +50,8 @@ RTL
|
||||
RTS
|
||||
+
|
||||
SEP #$20
|
||||
LDA.b $11
|
||||
BNE .done
|
||||
LDA.b #$96
|
||||
LDY.b #$01
|
||||
|
||||
|
||||
@@ -703,31 +703,13 @@ RTL
|
||||
RTS
|
||||
|
||||
.setDungeonCompletion
|
||||
LDA $040C
|
||||
CMP #$FF : BEQ +
|
||||
LSR : AND #$0F : CMP #$08 : !BGE ++
|
||||
JSR .valueShift
|
||||
ORA DungeonsCompleted : STA DungeonsCompleted
|
||||
BRA +
|
||||
++
|
||||
!SUB #$08
|
||||
JSR .valueShift
|
||||
BIT.b #$C0 : BEQ +++ : LDA.b #$C0 : +++ ; Make Hyrule Castle / Sewers Count for Both
|
||||
ORA DungeonsCompleted+1 : STA DungeonsCompleted+1
|
||||
LDX $040C : BMI +
|
||||
REP #$20 ; 16 bit
|
||||
LDA.l DungeonMask, X
|
||||
ORA DungeonsCompleted : STA DungeonsCompleted
|
||||
SEP #$20 ; 8 bit
|
||||
+
|
||||
RTS
|
||||
|
||||
.valueShift
|
||||
PHX
|
||||
TAX : LDA.b #$01
|
||||
-
|
||||
CPX #$00 : BEQ +
|
||||
ASL
|
||||
DEX
|
||||
BRA -
|
||||
+
|
||||
PLX
|
||||
RTS
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
43
newitems.asm
43
newitems.asm
@@ -891,27 +891,26 @@ AddReceivedItemExpanded:
|
||||
;0x1A - Ganon's Tower
|
||||
|
||||
.item_masks ; these are dungeon correlations to $7EF364 - $7EF369 so it knows where to store compasses, etc
|
||||
; sewers and castle get 2 bits active so that they can share their items elegantly
|
||||
dw $C000, $C000, $2000, $1000, $0800, $0400, $0200, $0100
|
||||
dw $0080, $0040, $0020, $0010, $0008, $0004, $0000, $0000
|
||||
; sewers and castle get 2 bits active so that they can share their items elegantly
|
||||
dw $C000, $C000, $2000, $1000, $0800, $0400, $0200, $0100
|
||||
dw $0080, $0040, $0020, $0010, $0008, $0004, $4B8B, $20AB ; last two can be re-used
|
||||
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
dw $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
||||
db $00
|
||||
dw $0000 ; Caves
|
||||
; caves
|
||||
dw $9CCE, $0390, $2F82, $AD03, $02E9, $01C9, $06D0, $72A5
|
||||
dw $A548, $4873, $01A0, $D8AD, $C902, $D020, $A002, $9802
|
||||
dw $E48D, $DA02, $D8AC, $D002, $A215, $BD08, $84E2, $0085
|
||||
dw $E3BD, $8584, $A901, $857E, $B902, $857A, $0087, $0A98
|
||||
dw $BDAA, $84E2, $0085, $E3BD, $8584, $A901, $857E, $B902
|
||||
dw $857A, $0230, $0087, $1FC0, $02D0, $5664, $04A9, $4BC0
|
||||
dw $06F0, $1EC0, $0AD0, $02A9, $790F, $7EF3, $798F, $7EF3
|
||||
dw $1BC0, $04F0, $1CC0, $07D0, $1B22, $1BEE, $0182, $A201
|
||||
dw $C004, $F037, $A20C, $C001, $F038, $A206, $C002, $D039
|
||||
dw $8A14, $0007, $0087, $00EE, $2902, $C907, $D007, $A906
|
||||
dw $8F04, $F3C7, $C07E, $D022, $A70A, $D000, $A904, $8701
|
||||
dw $8000, $C0C9, $F025, $C008, $F032, $C004, $D033, $AE11
|
||||
dw $040C, $20C2, $C6BD, $0785, $8700, $E200, $8220, $00B0
|
||||
dw $3EC0, $0AD0, $082C, $1003, $A905, $8D02, $0309, $20C0
|
||||
dw $44D0
|
||||
}
|
||||
;--------------------------------------------------------------------------------
|
||||
BottleListExpanded:
|
||||
@@ -1207,7 +1206,7 @@ UpdateInventoryLocationExpanded:
|
||||
; Set a flag in SRAM if we pick up a compass in its own dungeon with HUD compass
|
||||
; counts on
|
||||
MaybeFlagCompassTotalPickup:
|
||||
LDA CompassMode : BEQ .done
|
||||
LDA.l CompassMode : AND.b #$0F : BEQ .done
|
||||
LDA $040C : CMP #$FF : BEQ .done
|
||||
LSR : STA $04 : LDA #$0F : !SUB $04 ; Compute flag "index"
|
||||
CPY #$25 : BEQ .setFlag ; Set flag if it's a compass for this dungeon
|
||||
@@ -1230,7 +1229,7 @@ RTL
|
||||
; that compass
|
||||
MaybeFlagCompassTotalEntrance:
|
||||
LDX $040C : CPX #$FF : BEQ .done ; Skip if we're not entering dungeon
|
||||
LDA CompassMode : BEQ .done ; Skip if we're not showing compass counts
|
||||
LDA.l CompassMode : AND.w #$000F : BEQ .done ; Skip if we're not showing compass counts
|
||||
CMP.w #$0002 : BEQ .countShown
|
||||
LDA CompassField : AND.l DungeonItemMasks, X : BEQ .done ; skip if we don't have compass
|
||||
.countShown
|
||||
|
||||
4
sram.asm
4
sram.asm
@@ -24,8 +24,8 @@ org 0 ; This module writes no bytes. Asar gives bank cross errors without this.
|
||||
; Example: We can use RoomDataWRAM[$37].high to read or write the pot key in the first
|
||||
; floodable room in Swamp Palace ($04)
|
||||
;--------------------------------------------------------------------------------
|
||||
; .high Byte: d d d d b k u r
|
||||
; .low Byte: c c c c q q q q
|
||||
; .high Byte: d d d d b k u t
|
||||
; .low Byte: s e h c q q q q
|
||||
;
|
||||
; d = Door opened (key, bomb wall, etc)
|
||||
; b = Boss kill / Heart Container
|
||||
|
||||
BIN
stats/font.2bpp
Normal file
BIN
stats/font.2bpp
Normal file
Binary file not shown.
BIN
stats/font.gb
BIN
stats/font.gb
Binary file not shown.
1336
stats/main.asm
1336
stats/main.asm
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user