Update boss sprites and macros

This commit is contained in:
scawful
2025-01-09 02:46:06 -05:00
parent 87685843e7
commit 740a94d3bc
4 changed files with 42 additions and 60 deletions

View File

@@ -41,34 +41,23 @@ macro Set_Sprite_Properties(SprPrep, SprMain)
} }
endmacro endmacro
macro loop(body, ...)
!x #= 0
while !x < sizeof(...)
!x #= !x+1
endwhile
endmacro
macro sta(...) macro sta(...)
%loop(STA, ...) %loop(STA, ...)
endmacro endmacro
macro sta_x(...) macro m16()
%loop(STA.w, ..., X)
endmacro
macro mode16()
REP #$30 REP #$30
endmacro endmacro
macro mode8() macro m8()
SEP #$30 SEP #$30
endmacro endmacro
macro accum16() macro a16()
REP #$20 REP #$20
endmacro endmacro
macro accum8() macro a8()
SEP #$20 SEP #$20
endmacro endmacro

View File

@@ -689,8 +689,6 @@ SpriteRanCheck = $8E
; 0x00 indicates no sprite in this slot ; 0x00 indicates no sprite in this slot
UWDEATH = $7FDF80 UWDEATH = $7FDF80
; =========================================================
RebuildHUD_long = $0DFA58 RebuildHUD_long = $0DFA58
; ========================================================= ; =========================================================

View File

@@ -247,7 +247,7 @@ Sprite_Kydreeok_Main:
SEP #$20 SEP #$20
JSR StopIfOutOfBounds JSR StopIfOutOfBounds
;if both velocities are 0 go back to the Stalk_Player_XORY to re-set the course ; if both velocities are 0 go back to the Stalk_Player_XORY to re-set the course
LDA.w SprYSpeed, X : BNE .notZero LDA.w SprYSpeed, X : BNE .notZero
LDA.w SprXSpeed, X : BNE .notZero LDA.w SprXSpeed, X : BNE .notZero
%GotoAction(3) ; Kydreeok_MoveXorY %GotoAction(3) ; Kydreeok_MoveXorY
@@ -258,7 +258,7 @@ Sprite_Kydreeok_Main:
JSL Sprite_CheckDamageFromPlayer JSL Sprite_CheckDamageFromPlayer
JSL Sprite_CheckDamageToPlayer JSL Sprite_CheckDamageToPlayer
PLX ;restores X PLX
RTS RTS
} }
@@ -564,52 +564,52 @@ StopIfOutOfBounds:
ApplyPalette: ApplyPalette:
{ {
REP #$20 ;Set A in 16bit mode REP #$20 ;Set A in 16bit mode
;note, this uses adresses like 7EC300 and not 7EC500 because the game ;note, this uses adresses like 7EC300 and not 7EC500 because the game
;will fade the colors into 7EC500 based on the colors found in 7EC300 ;will fade the colors into 7EC500 based on the colors found in 7EC300
LDA #$7FFF : STA $7EC5E2 ;BG2 LDA #$7FFF : STA $7EC5E2 ;BG2
LDA #$319B : STA $7EC5E4 LDA #$319B : STA $7EC5E4
LDA #$15B6 : STA $7EC5E6 LDA #$15B6 : STA $7EC5E6
LDA #$369E : STA $7EC5E8 LDA #$369E : STA $7EC5E8
LDA #$14A5 : STA $7EC5EA LDA #$14A5 : STA $7EC5EA
LDA #$7E56 : STA $7EC5EC LDA #$7E56 : STA $7EC5EC
LDA #$65CA : STA $7EC5EE LDA #$65CA : STA $7EC5EE
; LDA #$14A5 : STA $7EC5F0 ; LDA #$14A5 : STA $7EC5F0
; LDA #$7E56 : STA $7EC5F2 ; LDA #$7E56 : STA $7EC5F2
; LDA #$65CA : STA $7EC5F4 ; LDA #$65CA : STA $7EC5F4
INC $15 INC $15
SEP #$20 ;Set A in 8bit mode SEP #$20 ;Set A in 8bit mode
RTS RTS
} }
ApplyEndPalette: ApplyEndPalette:
{ {
REP #$20 ;Set A in 16bit mode REP #$20 ;Set A in 16bit mode
;note, this uses adresses like 7EC300 and not 7EC500 because the game ;note, this uses adresses like 7EC300 and not 7EC500 because the game
;will fade the colors into 7EC500 based on the colors found in 7EC300 ;will fade the colors into 7EC500 based on the colors found in 7EC300
LDA #$1084 : STA $7EC5E2 ;BG2 LDA #$1084 : STA $7EC5E2 ;BG2
LDA #$210D : STA $7EC5E4 LDA #$210D : STA $7EC5E4
LDA #$3191 : STA $7EC5E6 LDA #$3191 : STA $7EC5E6
LDA #$4E78 : STA $7EC5E8 LDA #$4E78 : STA $7EC5E8
LDA #$14A5 : STA $7EC5EA LDA #$14A5 : STA $7EC5EA
LDA #$7E56 : STA $7EC5EC LDA #$7E56 : STA $7EC5EC
LDA #$65CA : STA $7EC5EE LDA #$65CA : STA $7EC5EE
; LDA #$14A5 : STA $7EC5F0 ; LDA #$14A5 : STA $7EC5F0
; LDA #$7E56 : STA $7EC5F2 ; LDA #$7E56 : STA $7EC5F2
; LDA #$65CA : STA $7EC5F4 ; LDA #$65CA : STA $7EC5F4
INC $15 INC $15
SEP #$20 ;Set A in 8bit mode SEP #$20 ;Set A in 8bit mode
RTS RTS
} }
; ========================================================= ; =========================================================

View File

@@ -211,7 +211,7 @@ Sprite_Octoboss_Secondary:
; and use the macro GetTilePos($x,$y) ; and use the macro GetTilePos($x,$y)
PHX PHX
%mode16() %m16()
%GetTilePos($0F, $07) %GetTilePos($0F, $07)
LDA.w #$068F : JSL Overworld_DrawMap16_Persist LDA.w #$068F : JSL Overworld_DrawMap16_Persist
@@ -231,7 +231,7 @@ Sprite_Octoboss_Secondary:
%GetTilePos($11, $08) %GetTilePos($11, $08)
LDA.w #$06A4 : JSL Overworld_DrawMap16_Persist LDA.w #$06A4 : JSL Overworld_DrawMap16_Persist
%mode8() %m8()
PLX PLX
LDA.b #$01 : STA.b $14 LDA.b #$01 : STA.b $14
+ +
@@ -432,27 +432,22 @@ Sprite_Octoboss_Secondary:
LDA.w SprTimerC, X : CMP.b #$40 : BNE + LDA.w SprTimerC, X : CMP.b #$40 : BNE +
PHX PHX
%mode16() %m16()
%GetTilePos($0F, $07) %GetTilePos($0F, $07)
LDA.w #$0034 : JSL Overworld_DrawMap16_Persist LDA.w #$0034 : JSL Overworld_DrawMap16_Persist
%GetTilePos($10, $07) %GetTilePos($10, $07)
LDA.w #$0034 : JSL Overworld_DrawMap16_Persist LDA.w #$0034 : JSL Overworld_DrawMap16_Persist
%GetTilePos($11, $07) %GetTilePos($11, $07)
LDA.w #$0034 : JSL Overworld_DrawMap16_Persist LDA.w #$0034 : JSL Overworld_DrawMap16_Persist
%GetTilePos($0F, $08) %GetTilePos($0F, $08)
LDA.w #$0034 : JSL Overworld_DrawMap16_Persist LDA.w #$0034 : JSL Overworld_DrawMap16_Persist
%GetTilePos($10, $08) %GetTilePos($10, $08)
LDA.w #$0034 : JSL Overworld_DrawMap16_Persist LDA.w #$0034 : JSL Overworld_DrawMap16_Persist
%GetTilePos($11, $08) %GetTilePos($11, $08)
LDA.w #$0034 : JSL Overworld_DrawMap16_Persist LDA.w #$0034 : JSL Overworld_DrawMap16_Persist
%mode8() %m8()
PLX PLX
LDA.b #$01 : STA.b $14 LDA.b #$01 : STA.b $14
+ +