Merge branch 'main' into kara

This commit is contained in:
2023-03-13 21:33:27 -05:00
157 changed files with 9576 additions and 9736 deletions

View File

@@ -1,5 +1,5 @@
org $008A01 ; 0xA01 - Bank00.asm (LDA.b #$10 : STA $4304 : STA $4314 : STA $4324)
LDA $BC
LDA.b PlayerSpriteBank
org $1BEDF9
JSL SpriteSwap_Palette_ArmorAndGloves ;4bytes
@@ -10,16 +10,15 @@ org $1BEE1B
JSL SpriteSwap_Palette_ArmorAndGloves_part_two
RTL
;!STABLE_SCRATCH = "$7EC178"
!BANK_BASE = "#$29"
!BANK_BASE = $29
org $BF8000
SwapSpriteIfNecessary:
PHP
SEP #$20 ; set 8-bit accumulator
LDA SpriteSwapper : BEQ + : !ADD !BANK_BASE : CMP $BC : BEQ +
STA $BC
STZ $0710 ; Set Normal Sprite NMI
LDA.l SpriteSwapper : BEQ + : !ADD #!BANK_BASE : CMP.b PlayerSpriteBank : BEQ +
STA.b PlayerSpriteBank
STZ.w SkipOAM ; Set Normal Sprite NMI
JSL.l SpriteSwap_Palette_ArmorAndGloves_part_two
+
PLP
@@ -28,17 +27,17 @@ RTL
SpriteSwap_Palette_ArmorAndGloves:
{
;DEDF9
LDA SpriteSwapper : BNE .continue
LDA.b #$10 : STA $BC ; Load Original Sprite Location
LDA.l SpriteSwapper : BNE .continue
LDA.b #$10 : STA.b PlayerSpriteBank ; Load Original Sprite Location
REP #$21
LDA ArmorEquipment
LDA.l ArmorEquipment
JSL $1BEDFF ; Read Original Palette Code
RTL
.part_two
SEP #$30
LDA SpriteSwapper : BNE .continue
LDA.l SpriteSwapper : BNE .continue
REP #$30
LDA GloveEquipment
LDA.l GloveEquipment
JSL $1BEE21 ; Read Original Palette Code
RTL
@@ -46,40 +45,38 @@ SpriteSwap_Palette_ArmorAndGloves:
PHX : PHY : PHA
; Load armor palette
PHB : PHK : PLB
PHB : PHK : PLB
REP #$20 ; set 16-bit accumulator
; Check what Link's armor value is.
LDA ArmorEquipment : AND.w #$00FF : TAX
; (DEC06, X)
LDA $1BEC06, X : AND.w #$00FF : ASL A : ADC.w #$F000 : STA $00
LDA.l ArmorEquipment : AND.w #$00FF : TAX
LDA.l $1BEC06, X : AND.w #$00FF : ASL A : ADC.w #$F000 : STA.b Scrap00
;replace D308 by 7000 and search
REP #$10 ; set 16-bit index registers
LDA.w #$01E2 ; Target SP-7 (sprite palette 6)
LDX.w #$000E ; Palette has 15 colors
TXY : TAX
LDA.b $BC : AND #$00FF : STA $02
LDA.b PlayerSpriteBank : AND.w #$00FF : STA.b Scrap02
.loop
LDA [$00] : STA $7EC300, X : STA $7EC500, X
INC $00 : INC $00
LDA.b [Scrap00] : STA.l PaletteBufferAux, X : STA.l PaletteBuffer, X
INC.b Scrap00 : INC.b Scrap00
INX #2
DEY : BPL .loop
SEP #$30
PLB
INC $15
INC.b NMICGRAM
PLA : PLY : PLX
RTL
}