Silencer animation location


#1

Does anyone know where the silencer animation is located inside the ROM?


#2

I examined it properly.
but, I just did not understand the palette.

FE8J
func:08070390
frame: E4842 (maybe) ???
img: 75B570 (lz77)
tsa: 77ACB4 (lz77)
or 75C65C or 75CA90 ??
pal: 77AC14 (?)

FE8U
func:0806E078
frame: DF546 (maybe)???
img: 72E998 (lz77)
tsa: 7457A8 (lz77)
or 72FA84 or 72FEB8 ??
pal: 745708 (?)

Although there are multiple TSAs, it is not an array.
I found a palette, but I do not know how this palette is set.
I identified the pallet number used by no$gba, searched with binary data, and found a place.

I think that a special program is created because there are routines that set the palette to zero for all the screens.


#3

I did some digging of my own with the info you provided, I got the info for FE7:

FE7U
Palette 2B3D9C
Image Number 424
Graphics 296F50
TSA 1 2B3E3C 2 29803C 3 298470

Couldn’t find the function or the frame data, however from what I can tell, the animation uses the same image three times each with a different TSA


#4

FE7U
Func:08063A2C
frame:1E973A
img: 296F50
tsa: 2B3E3C
or 29803C or 298470
pal: 2B3D9C

FE7J
Func:08064214
frame:1EF3AE
img: 29CBC4
tsa: 2B9AB0
or 29DCB0 or 29E0E4
pal: 2B9A10

When searching for different versions, I think that you can easily search by using “tool” -> “pointer calculation tool” of FEBuilderGBA.
(Of course, it is not perfect, so it may be incorrect.)

It searches where the data in the current version is in other versions.
As a feature, since the pointer part is searched with a wildcard, even if the compiler generates different codes, it can be tracked.

For example, in FE8U the palette is 0x745708.
From this value, you can find the value of FE7U automatically by pressing a button.
the automatically detected value is 0x082B3D9C (2B3D9C).