Cv4/Sprites
Contents
Sprite Assembly
The Sprite assembly contain more or less two tables. One that will point to the Frame and one that will draw the Sprite in 2x2 squares. This is the most used format in SC4. The assembly number in the event table is almost the same as the pointer. The routine does increase or decrease it a bit for some reason so they do not perfectly match and are a bit harder to find.
Format Example with Skeleton
Skelleton:
b2f1 f48a 058b bbbb cccc bbbb=Frame1 cccc=Frame2
20af4 04 fd 09 06 28 ed 09 04 28 f8 f9 02 28 f5 e9 00 28 03 f8 09 0c 28 f7 f9 0a 28 f5 e9 08 28 ss aa bb cc dd aa bb cc dd aa bb cc dd aa bb cc dd ss aa bb cc dd aa bb cc dd aa bb cc dd
ss=Size Number of 2x2 queuers to use. 00 Is not a number and will overload. A new ss means a new frame in the example above are two Frames shown
aa=Offset (01 move one pixel right 80 will wrap) bb=Offset (01 move one pixel down 80 will wrap) cc=Tile Pick Tile Square 2x2 .. dd=Orientation and Palettes
First byte: 2=Normal 6-7=Mirror A-B=Flip E-F=MirrorFlip BadNumbers=0 1 3 4 8 c d
Second byte 0=Pal 0 2=Pal 1 4=Pal 2 6=Pal 3 8=Pal 4 a=Pal 5 c=Pal 6 e=Pal 7
Enemys
MudMan: 20d89 Assembly
218d2 HitAssembly 218f8 SmallCrumbles
BOSS:
Rowdin 22e6b DownStabJump
22e80 Landing
22e8a Spear
22dc3 Walking
22ea1 HurtFrame1
22eca HurtFrame2
Candle:
a654 d280 d780 Frame 1 and 2
Simons SpriteAssembly
20246 Idle Frame
20256 Frame one Walking
20266 Second Frame Walking
204c6 Idle Frame Stairs Up
HitBox
In most cases the hitbox is writen (STA) as the event get loaded. So it is easy to find with a breakpoints.
RAM Event 40 byte
48-49 HitBox X 4a-4b HitBox Y