From 6f088cb976a3efd272ed1d6b6f7f36096c0908b4 Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 14 Sep 2025 12:13:27 -0400 Subject: [PATCH] Add SetImpervious macro and update symbols for camera cache and sprite properties --- Core/sprite_macros.asm | 6 ++++++ Core/symbols.asm | 13 +++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Core/sprite_macros.asm b/Core/sprite_macros.asm index 1e7aa48..8e42029 100644 --- a/Core/sprite_macros.asm +++ b/Core/sprite_macros.asm @@ -205,6 +205,12 @@ macro SetHarmless(value) STA.w SprNbrOAM, X endmacro +macro SetImpervious(value) + LDA.w SprDefl, X + EOR.b #()<<2 + STA.w SprDefl, X +endmacro + ; Set Room Flag (Chest 6) ; Do not use if you have more than 5 chests or a small key under a pot ; in that room unless you want it to be already opened/taken diff --git a/Core/symbols.asm b/Core/symbols.asm index b620583..38b8b65 100644 --- a/Core/symbols.asm +++ b/Core/symbols.asm @@ -9,8 +9,6 @@ MenuScrollHDirection: skip 2 MenuItemValueSpoof: skip 2 ShortSpoof: skip 1 MusicNoteValue: skip 2 -OverworldLocationPointer: skip 2 -HasGoldstar: skip 1 GoldstarOrHookshot: skip 1 Neck_Index: skip 1 Neck1_OffsetX: skip 1 @@ -43,6 +41,9 @@ CurrentSong = $030F ; 03 - Song of Storms SongFlag = $FE +; Overlay camera cache variable +CameraCache = $0632 + ; ========================================================= ; The record format for the low table is 4 bytes: ; byte OBJ*4+0: xxxxxxxx @@ -89,12 +90,12 @@ SprFrame = $0D90 ; Indexes the SprGfx for drawing SprGfx = $0DC0 ; Determine the GFX used for the sprite SprMiscA = $0DA0 ; Direction, position, or other misc usage -SprMiscB = $0DB0 ; Various usages, truly auxiliary +SprMiscB = $0DB0 ; Prober parent sprite ID, misc SprMiscC = $0DE0 ; Cardinal direction the sprite is facing SprMiscD = $0E90 ; Pikit stolen item, misc usage SprMiscE = $0EB0 ; Head direction 0123 -> udlr -SprMiscF = $0EC0 ; -SprMiscG = $0ED0 ; +SprMiscF = $0EC0 ; Clones +SprMiscG = $0ED0 ; Probe whistle sfx SprCustom = $1CC0 ; @@ -144,7 +145,7 @@ SprState = $0DD0 ; nios pppt ; n - if set, don't draw extra death anim -; i - impervious to attacks and collision? TODO +; i - impervious to attacks and collision (0: normal | 1: clink) ; o - shadow size (0: normal | 1: small) ; s - shadow (0: no shadow | 1: shadow) ; p - palette used for OAM props