165 lines
7.8 KiB
C
165 lines
7.8 KiB
C
/**
|
|
* Copyright (c) 2022 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#pragma once
|
|
#include "../../libs.h"
|
|
#include "CARDS_TILES.h"
|
|
#include "../../poker/card.h"
|
|
#include "../spritetileset.h"
|
|
#include "../sprites.h"
|
|
|
|
#define SPRITE_CARD_VRAM_START SPRITE_TILESET_VRAM_END_LOW
|
|
#define SPRITE_CARD_VRAM_END SPRITE_CARD_VRAM_START + CARDS_TILES_IMAGE_TILES
|
|
#define SPRITE_CARD_BLANK SPRITE_TILESET_WHITE_LOW
|
|
|
|
// Information about the card as a tilemap
|
|
#define SPRITE_CARD_WIDTH 4
|
|
#define SPRITE_CARD_HEIGHT 6
|
|
#define SPRITE_CARD_TILE_COUNT (SPRITE_CARD_WIDTH * SPRITE_CARD_HEIGHT)
|
|
|
|
// Edges
|
|
#define SPRITE_CARD_TOP SPRITE_CARD_VRAM_START + 10
|
|
#define SPRITE_CARD_BOTTOM SPRITE_CARD_TOP + 1
|
|
#define SPRITE_CARD_RIGHT SPRITE_CARD_BOTTOM + 1
|
|
#define SPRITE_CARD_LEFT SPRITE_CARD_RIGHT + 1
|
|
|
|
// Corners (no numbers)
|
|
#define SPRITE_CARD_TOP_RIGHT SPRITE_CARD_VRAM_START + 14
|
|
#define SPRITE_CARD_BOTTOM_LEFT SPRITE_CARD_TOP_RIGHT + 1
|
|
#define SPRITE_CARD_PICTURE_TOP_RIGHT SPRITE_CARD_VRAM_START + 115
|
|
#define SPRITE_CARD_PICTURE_BOTTOM_LEFT SPRITE_CARD_VRAM_START + 152
|
|
|
|
// Numbers (normal)
|
|
#define SPRITE_CARD_ACE_TOP SPRITE_CARD_VRAM_START + 0
|
|
#define SPRITE_CARD_TWO_TOP SPRITE_CARD_ACE_TOP + 1
|
|
#define SPRITE_CARD_THREE_TOP SPRITE_CARD_ACE_TOP + 2
|
|
#define SPRITE_CARD_FOUR_TOP SPRITE_CARD_ACE_TOP + 3
|
|
#define SPRITE_CARD_FIVE_TOP SPRITE_CARD_ACE_TOP + 4
|
|
#define SPRITE_CARD_SIX_TOP SPRITE_CARD_ACE_TOP + 5
|
|
#define SPRITE_CARD_SEVEN_TOP SPRITE_CARD_ACE_TOP + 6
|
|
#define SPRITE_CARD_EIGHT_TOP SPRITE_CARD_ACE_TOP + 7
|
|
#define SPRITE_CARD_NINE_TOP SPRITE_CARD_ACE_TOP + 8
|
|
#define SPRITE_CARD_TEN_TOP SPRITE_CARD_ACE_TOP + 9
|
|
|
|
// Numbers (flipped)
|
|
#define SPRITE_CARD_ACE_BOTTOM SPRITE_CARD_VRAM_START + 16
|
|
#define SPRITE_CARD_TWO_BOTTOM SPRITE_CARD_ACE_BOTTOM + 1
|
|
#define SPRITE_CARD_THREE_BOTTOM SPRITE_CARD_ACE_BOTTOM + 2
|
|
#define SPRITE_CARD_FOUR_BOTTOM SPRITE_CARD_ACE_BOTTOM + 3
|
|
#define SPRITE_CARD_FIVE_BOTTOM SPRITE_CARD_ACE_BOTTOM + 4
|
|
#define SPRITE_CARD_SIX_BOTTOM SPRITE_CARD_ACE_BOTTOM + 5
|
|
#define SPRITE_CARD_SEVEN_BOTTOM SPRITE_CARD_ACE_BOTTOM + 6
|
|
#define SPRITE_CARD_EIGHT_BOTTOM SPRITE_CARD_ACE_BOTTOM + 7
|
|
#define SPRITE_CARD_NINE_BOTTOM SPRITE_CARD_ACE_BOTTOM + 8
|
|
#define SPRITE_CARD_TEN_BOTTOM SPRITE_CARD_ACE_BOTTOM + 9
|
|
|
|
// Jack
|
|
#define SPRITE_CARD_JACK_0 SPRITE_CARD_VRAM_START + 112
|
|
#define SPRITE_CARD_JACK_1 SPRITE_CARD_JACK_0 + 1
|
|
#define SPRITE_CARD_JACK_2 SPRITE_CARD_JACK_1 + 1
|
|
//#define SPRITE_CARD_JACK_3 NULL
|
|
#define SPRITE_CARD_JACK_4 SPRITE_CARD_JACK_0 + CARDS_TILES_IMAGE_COLUMNS
|
|
//#define SPRITE_CARD_JACK_5 NULL
|
|
#define SPRITE_CARD_JACK_6 SPRITE_CARD_JACK_4 + 2
|
|
#define SPRITE_CARD_JACK_7 SPRITE_CARD_JACK_6 + 1
|
|
#define SPRITE_CARD_JACK_8 SPRITE_CARD_JACK_4 + CARDS_TILES_IMAGE_COLUMNS
|
|
#define SPRITE_CARD_JACK_9 SPRITE_CARD_JACK_8 + 1
|
|
#define SPRITE_CARD_JACK_10 SPRITE_CARD_JACK_9 + 1
|
|
#define SPRITE_CARD_JACK_11 SPRITE_CARD_JACK_10 + 1
|
|
#define SPRITE_CARD_JACK_12 SPRITE_CARD_JACK_8 + CARDS_TILES_IMAGE_COLUMNS
|
|
#define SPRITE_CARD_JACK_13 SPRITE_CARD_JACK_12 + 1
|
|
#define SPRITE_CARD_JACK_14 SPRITE_CARD_JACK_13 + 1
|
|
#define SPRITE_CARD_JACK_15 SPRITE_CARD_JACK_14 + 1
|
|
#define SPRITE_CARD_JACK_16 SPRITE_CARD_JACK_12 + CARDS_TILES_IMAGE_COLUMNS
|
|
#define SPRITE_CARD_JACK_17 SPRITE_CARD_JACK_16 + 1
|
|
//#define SPRITE_CARD_JACK_18 NULL
|
|
#define SPRITE_CARD_JACK_19 SPRITE_CARD_JACK_17 + 2
|
|
//#define SPRITE_CARD_JACK_20 NULL
|
|
#define SPRITE_CARD_JACK_21 SPRITE_CARD_JACK_16 + CARDS_TILES_IMAGE_COLUMNS + 1
|
|
#define SPRITE_CARD_JACK_22 SPRITE_CARD_JACK_21 + 1
|
|
#define SPRITE_CARD_JACK_23 SPRITE_CARD_JACK_22 + 1
|
|
|
|
#define SPRITE_CARD_JACK_DIAMONDS_TOP SPRITE_CARD_VRAM_START + 88
|
|
#define SPRITE_CARD_JACK_DIAMONDS_BOTTOM SPRITE_CARD_JACK_DIAMONDS_TOP + 1
|
|
#define SPRITE_CARD_JACK_HEARTS_TOP SPRITE_CARD_JACK_DIAMONDS_BOTTOM + 1
|
|
#define SPRITE_CARD_JACK_HEARTS_BOTTOM SPRITE_CARD_JACK_HEARTS_TOP + 1
|
|
#define SPRITE_CARD_JACK_SPADES_TOP SPRITE_CARD_JACK_HEARTS_BOTTOM + 1
|
|
#define SPRITE_CARD_JACK_SPADES_BOTTOM SPRITE_CARD_JACK_SPADES_TOP + 1
|
|
#define SPRITE_CARD_JACK_CLUBS_TOP SPRITE_CARD_JACK_SPADES_BOTTOM + 1
|
|
#define SPRITE_CARD_JACK_CLUBS_BOTTOM SPRITE_CARD_JACK_CLUBS_TOP + 1
|
|
|
|
|
|
// Queen
|
|
#define SPRITE_CARD_QUEEN_0 SPRITE_CARD_VRAM_START + 116
|
|
#define SPRITE_CARD_QUEEN_1 SPRITE_CARD_QUEEN_0 + 1
|
|
#define SPRITE_CARD_QUEEN_2 SPRITE_CARD_QUEEN_1 + 1
|
|
//#define SPRITE_CARD_QUEEN_3 NULL
|
|
#define SPRITE_CARD_QUEEN_4 SPRITE_CARD_QUEEN_0 + CARDS_TILES_IMAGE_COLUMNS
|
|
//#define SPRITE_CARD_QUEEN_5 NULL
|
|
#define SPRITE_CARD_QUEEN_6 SPRITE_CARD_QUEEN_4 + 2
|
|
#define SPRITE_CARD_QUEEN_7 SPRITE_CARD_QUEEN_6 + 1
|
|
#define SPRITE_CARD_QUEEN_8 SPRITE_CARD_QUEEN_4 + CARDS_TILES_IMAGE_COLUMNS
|
|
#define SPRITE_CARD_QUEEN_9 SPRITE_CARD_QUEEN_8 + 1
|
|
#define SPRITE_CARD_QUEEN_10 SPRITE_CARD_QUEEN_9 + 1
|
|
#define SPRITE_CARD_QUEEN_11 SPRITE_CARD_QUEEN_10 + 1
|
|
#define SPRITE_CARD_QUEEN_12 SPRITE_CARD_QUEEN_8 + CARDS_TILES_IMAGE_COLUMNS
|
|
#define SPRITE_CARD_QUEEN_13 SPRITE_CARD_QUEEN_12 + 1
|
|
#define SPRITE_CARD_QUEEN_14 SPRITE_CARD_QUEEN_13 + 1
|
|
#define SPRITE_CARD_QUEEN_15 SPRITE_CARD_QUEEN_14 + 1
|
|
#define SPRITE_CARD_QUEEN_16 SPRITE_CARD_QUEEN_12 + CARDS_TILES_IMAGE_COLUMNS
|
|
#define SPRITE_CARD_QUEEN_17 SPRITE_CARD_QUEEN_16 + 1
|
|
//#define SPRITE_CARD_QUEEN_18 NULL
|
|
#define SPRITE_CARD_QUEEN_19 SPRITE_CARD_QUEEN_17 + 2
|
|
//#define SPRITE_CARD_QUEEN_20 NULL
|
|
#define SPRITE_CARD_QUEEN_21 SPRITE_CARD_QUEEN_16 + CARDS_TILES_IMAGE_COLUMNS + 1
|
|
#define SPRITE_CARD_QUEEN_22 SPRITE_CARD_QUEEN_21 + 1
|
|
#define SPRITE_CARD_QUEEN_23 SPRITE_CARD_QUEEN_22 + 1
|
|
|
|
#define SPRITE_CARD_QUEEN_DIAMONDS_TOP SPRITE_CARD_VRAM_START + 96
|
|
#define SPRITE_CARD_QUEEN_DIAMONDS_BOTTOM SPRITE_CARD_QUEEN_DIAMONDS_TOP + 1
|
|
#define SPRITE_CARD_QUEEN_HEARTS_TOP SPRITE_CARD_QUEEN_DIAMONDS_BOTTOM + 1
|
|
#define SPRITE_CARD_QUEEN_HEARTS_BOTTOM SPRITE_CARD_QUEEN_HEARTS_TOP + 1
|
|
#define SPRITE_CARD_QUEEN_SPADES_TOP SPRITE_CARD_QUEEN_HEARTS_BOTTOM + 1
|
|
#define SPRITE_CARD_QUEEN_SPADES_BOTTOM SPRITE_CARD_QUEEN_SPADES_TOP + 1
|
|
#define SPRITE_CARD_QUEEN_CLUBS_TOP SPRITE_CARD_QUEEN_SPADES_BOTTOM + 1
|
|
#define SPRITE_CARD_QUEEN_CLUBS_BOTTOM SPRITE_CARD_QUEEN_CLUBS_TOP + 1
|
|
|
|
|
|
// King
|
|
#define SPRITE_CARD_KING_0 SPRITE_CARD_VRAM_START + 160
|
|
#define SPRITE_CARD_KING_1 SPRITE_CARD_KING_0 + 1
|
|
#define SPRITE_CARD_KING_2 SPRITE_CARD_KING_1 + 1
|
|
//#define SPRITE_CARD_KING_3 NULL
|
|
#define SPRITE_CARD_KING_4 SPRITE_CARD_KING_0 + CARDS_TILES_IMAGE_COLUMNS
|
|
//#define SPRITE_CARD_KING_5 NULL
|
|
#define SPRITE_CARD_KING_6 SPRITE_CARD_KING_4 + 2
|
|
#define SPRITE_CARD_KING_7 SPRITE_CARD_KING_6 + 1
|
|
#define SPRITE_CARD_KING_8 SPRITE_CARD_KING_4 + CARDS_TILES_IMAGE_COLUMNS
|
|
#define SPRITE_CARD_KING_9 SPRITE_CARD_KING_8 + 1
|
|
#define SPRITE_CARD_KING_10 SPRITE_CARD_KING_9 + 1
|
|
#define SPRITE_CARD_KING_11 SPRITE_CARD_KING_10 + 1
|
|
#define SPRITE_CARD_KING_12 SPRITE_CARD_KING_8 + CARDS_TILES_IMAGE_COLUMNS
|
|
#define SPRITE_CARD_KING_13 SPRITE_CARD_KING_12 + 1
|
|
#define SPRITE_CARD_KING_14 SPRITE_CARD_KING_13 + 1
|
|
#define SPRITE_CARD_KING_15 SPRITE_CARD_KING_14 + 1
|
|
#define SPRITE_CARD_KING_16 SPRITE_CARD_KING_12 + CARDS_TILES_IMAGE_COLUMNS
|
|
#define SPRITE_CARD_KING_17 SPRITE_CARD_KING_16 + 1
|
|
//#define SPRITE_CARD_KING_18 NULL
|
|
#define SPRITE_CARD_KING_19 SPRITE_CARD_KING_17 + 2
|
|
//#define SPRITE_CARD_KING_20 NULL
|
|
#define SPRITE_CARD_KING_21 SPRITE_CARD_KING_16 + CARDS_TILES_IMAGE_COLUMNS + 1
|
|
#define SPRITE_CARD_KING_22 SPRITE_CARD_KING_21 + 1
|
|
#define SPRITE_CARD_KING_23 SPRITE_CARD_KING_22 + 1
|
|
|
|
#define SPRITE_CARD_KING_DIAMONDS_TOP SPRITE_CARD_VRAM_START + 104
|
|
#define SPRITE_CARD_KING_DIAMONDS_BOTTOM SPRITE_CARD_KING_DIAMONDS_TOP + 1
|
|
#define SPRITE_CARD_KING_HEARTS_TOP SPRITE_CARD_KING_DIAMONDS_BOTTOM + 1
|
|
#define SPRITE_CARD_KING_HEARTS_BOTTOM SPRITE_CARD_KING_HEARTS_TOP + 1
|
|
#define SPRITE_CARD_KING_SPADES_TOP SPRITE_CARD_KING_HEARTS_BOTTOM + 1
|
|
#define SPRITE_CARD_KING_SPADES_BOTTOM SPRITE_CARD_KING_SPADES_TOP + 1
|
|
#define SPRITE_CARD_KING_CLUBS_TOP SPRITE_CARD_KING_SPADES_BOTTOM + 1
|
|
#define SPRITE_CARD_KING_CLUBS_BOTTOM SPRITE_CARD_KING_CLUBS_TOP + 1 |