I finished 48x48 Dynamic Sprite Support, my next step i work on 16x16 and 16x32 Dynamic Sprite support, my goal is the following Dynamic Sprite sizes:
Max Space Used on Vram: 16x16
Slots Used: 1
Max Space Used on Vram: 32x16
Slots Used: 2
Max Space Used on Vram: 64x16
Slots Used: 4
Max Space Used on Vram: 128x16
Slots Used: 8
Max Space Used on Vram: 128x32
Slots Used: 16
Max Space Used on Vram: 128x48
Slots Used: 24
(Require 50% more mode or SA-1 widescreen trick)
Max Space Used on Vram: 128x128 (SP3 and SP4)
Slots Used: All Slots
(Only 30FPS animation)
Max Space Used on Vram: 128x192 (SP2, SP3 and SP4)
Slots Used: All Slots
(Only 30FPS animation and require 50% more mode or SA-1 widescreen trick).
You can use 16 slots per frame (with 50% more mode or SA-1 widescreen trick, 24 slots), you can use any combination of 16 (or 24) slots, for example 2 Dynamic sprites of 48x48.
There are 2 kinds of animation frame rate, 60 fps (can update Dynamic graphic each frame) or 30 fps (can update Dynamic graphics every 2 frames). 30FPS Dynamic Sprites have slower frame rate but you can put the double of sprites, because they sincronize Dynamic routine between odd frames and even frame. For example if you use 60FPS Dynamic sprites you can have only 2 Dynamic sprites of 48x48 at the same time, but if they are 30 FPS you can use 4.
For now i finished 32x32 and 48x48 Dynamic Sprite support.
(Excuse me for the slowdown, have 6 sprites of 32x32 and 1 of 48x48 on the screen uses a lot of cycles, for that i recommend to use SA-1 or use less number of sprites, this is only a demonstration).
With the new Dynamic Sprite Support, the Dynamic Sprite load their graphics only when it is necessary, also they only send the necessary data to VRAM saving a lot of cycles on the NMI.
Also with the new Dynamic Sprite Support, Dyzen Tool can recieve a Sprite Sheet and make all frames of the Dynamic Sprite, then you only need to do animations and interaction.
Some extra features of the new Dynamic Sprite Support are:
-Now you can select how much space you want to use on the VRAM, the mínimum space is a half SP, if you allows more space on the vram you can have more Dynamic sprites on the screen, Max Space is 3 SP for normal Dynamic sprites. (this doesn't apply for 96x96 or 112x112 Dynamic sprites, Dynamic sprites of 80x80 requires a complete SP or more).
-Now you can select where the patch start to load the graphics, you can select between second half of SP3 or second half of SP4.
-If you use SA-1 you don't need 50% more mode to use 50% more Dynamic sprites, you only need the widescreen trick. Still 50% more mode i available if you dont want to use widescreen trick.
-Dynamic sprites now can be clusters, extended or overworld Sprite too, for overworld Sprite, Max Size is 64x64.
I am making a lot of Dynamic sprites for the next C3, some of them are from DKC, but also the bosses requested on the last C3.
-Klaptrap from DKC (includes cyan and purple versión, also allows hp)
-Zingers from DKC (includes normal and red versión, also allows hp, only can be killed with throwable items like shells, red versión only with bob omb)
-Sagat from Street Fighter (Boss).
-Magus from Chrono Trigger (Boss).
-Baby Bowser from YI (Boss, only first phase).
-And a more.
My Discord Server