made jokers dynamic and changed memcpy to us 32

This commit is contained in:
cellos51
2025-07-23 17:00:18 -04:00
parent d122fde361
commit 300e725dfe
3 changed files with 9 additions and 5 deletions
+6 -2
View File
@@ -36,7 +36,7 @@ static bool used_layers[MAX_JOKER_OBJECTS] = {false}; // Track used layers for j
void joker_init()
{
GRIT_CPY(&tile_mem[4][JOKER_TID], joker_gfxTiles);
//GRIT_CPY(&tile_mem[4][JOKER_TID], joker_gfxTiles);
memcpy16(&pal_obj_mem[PAL_ROW_LEN * JOKER_PB], joker_gfxPal, sizeof(joker_gfxPal) / 2);
}
@@ -100,14 +100,18 @@ JokerObject *joker_object_new(Joker *joker)
}
joker_object->joker = joker;
int tile_index = JOKER_TID + (layer * JOKER_SPRITE_OFFSET);
memcpy32(&tile_mem[4][tile_index], &joker_gfxTiles[joker->id * TILE_SIZE * JOKER_SPRITE_OFFSET], TILE_SIZE * JOKER_SPRITE_OFFSET);
joker_object->sprite = sprite_new
(
ATTR0_SQUARE | ATTR0_4BPP | ATTR0_AFF,
ATTR1_SIZE_32,
JOKER_TID + (JOKER_SPRITE_OFFSET * joker->id),
tile_index,
JOKER_PB,
JOKER_STARTING_LAYER + layer
);
joker_object->tx = 0; // Target position
joker_object->ty = 0;
joker_object->x = 0;