huge memory save
This commit is contained in:
@@ -6,6 +6,11 @@
|
|||||||
|
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
|
||||||
|
#define CARD_TID 0
|
||||||
|
#define CARD_SPRITE_OFFSET 16
|
||||||
|
#define CARD_PB 0
|
||||||
|
#define CARD_STARTING_LAYER 0
|
||||||
|
|
||||||
// Card suits
|
// Card suits
|
||||||
#define HEARTS 0
|
#define HEARTS 0
|
||||||
#define CLUBS 1
|
#define CLUBS 1
|
||||||
|
|||||||
+5
-2
@@ -4,6 +4,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "deck_gfx.h"
|
#include "deck_gfx.h"
|
||||||
|
#include "graphic_utils.h"
|
||||||
|
|
||||||
// Audio
|
// Audio
|
||||||
#include "soundbank.h"
|
#include "soundbank.h"
|
||||||
@@ -18,7 +19,7 @@ const static u16 card_sprite_lut[NUM_SUITS][NUM_RANKS] = {
|
|||||||
|
|
||||||
void card_init()
|
void card_init()
|
||||||
{
|
{
|
||||||
GRIT_CPY(&tile_mem[4], deck_gfxTiles);
|
//GRIT_CPY(&tile_mem[4], deck_gfxTiles);
|
||||||
GRIT_CPY(pal_obj_mem, deck_gfxPal);
|
GRIT_CPY(pal_obj_mem, deck_gfxPal);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,8 +150,10 @@ void card_object_update(CardObject *card_object)
|
|||||||
|
|
||||||
void card_object_set_sprite(CardObject *card_object, int layer)
|
void card_object_set_sprite(CardObject *card_object, int layer)
|
||||||
{
|
{
|
||||||
|
int tile_index = CARD_TID + (layer * CARD_SPRITE_OFFSET);
|
||||||
|
memcpy16(&tile_mem[4][tile_index], &deck_gfxTiles[card_sprite_lut[card_object->card->suit][card_object->card->rank] * TILE_SIZE], TILE_SIZE * CARD_SPRITE_OFFSET * 2);
|
||||||
sprite_destroy(&card_object->sprite); // Destroy the old sprite if it exists
|
sprite_destroy(&card_object->sprite); // Destroy the old sprite if it exists
|
||||||
card_object->sprite = sprite_new(ATTR0_SQUARE | ATTR0_4BPP | ATTR0_AFF, ATTR1_SIZE_32, card_sprite_lut[card_object->card->suit][card_object->card->rank], 0, layer);
|
card_object->sprite = sprite_new(ATTR0_SQUARE | ATTR0_4BPP | ATTR0_AFF, ATTR1_SIZE_32, tile_index, 0, layer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void card_object_shake(CardObject *card_object, mm_word sound_id)
|
void card_object_shake(CardObject *card_object, mm_word sound_id)
|
||||||
|
|||||||
Reference in New Issue
Block a user