Added enum values for some of the palette bank indexes

This commit is contained in:
Drew
2025-09-28 16:03:04 -05:00
parent f579c13ceb
commit 99ecd424f4
+64 -37
View File
@@ -29,6 +29,32 @@
#include "list.h"
// This could go in game.h or some other header somewhere
// but it's essentially private to this file, so might as well
// leave it.
typedef enum
{
PLAY_HAND_BTN_SELECTED_BORDER = 1,
BOSS_BLIND_PRIMARY = 1,
BLIND_BG_SHADOW = 2,
MAIN_MENU_PLAY_BUTTON_OUTLINE = 2,
BLIND_BG_SECONDARY = 5,
// SKIP_BTN_UNSELECTED_BORDER = 5,
MAIN_MENU_PLAY_BUTTON_MAIN_COLOR = 5,
SHOP_PANEL_SHADOW = 6,
BOSS_BLIND_SHADOW = 7,
SHOP_LIGHTS_1 = 8,
DISCARD_BTN_SELECTED_BORDER = 9,
BLIND_SKIP_BTN_SELECTED_BORDER = 10,
SHOP_LIGHTS_2 = 14,
SHOP_LIGHTS_3 = 17,
BLIND_SELECT_BTN_SELECTED_BORDER = 18,
BLIND_BG_PRIMARY = 19,
REWARD_PANEL_BORDER = 19,
SHOP_LIGHTS_4 = 22,
SHOP_BOTTOM_PANEL_BORDER = 26
} _UIElementPID;
static uint rng_seed = 0;
static uint timer = 0; // This might already exist in libtonc but idk so i'm just making my own
@@ -262,8 +288,6 @@ static const BG_POINT JOKER_DISCARD_TARGET = {240, 30};
#define MAIN_MENU_BUTTONS 2
#define MAIN_MENU_IMPLEMENTED_BUTTONS 1 // Remove this once all buttons are implemented
#define MAIN_MENU_PLAY_BUTTON_MAIN_COLOR_PID 5
#define MAIN_MENU_PLAY_BUTTON_OUTLINE_COLOR_PID 2
//TODO: Properly define and use
#define MENU_POP_OUT_ANIM_FRAMES 20
@@ -471,13 +495,13 @@ void change_background(int id)
bg_copy_current_item_to_top_left_panel();
// This would change the palette of the background to match the blind, but the backgroun doesn't use the blind token's exact colors so a different approach is required
memset16(&pal_bg_mem[19], blind_get_color(current_blind, BLIND_BACKGROUND_MAIN_COLOR_INDEX), 1);
memset16(&pal_bg_mem[5], blind_get_color(current_blind, BLIND_BACKGROUND_SECONDARY_COLOR_INDEX), 1);
memset16(&pal_bg_mem[2], blind_get_color(current_blind, BLIND_BACKGROUND_SHADOW_COLOR_INDEX), 1);
memset16(&pal_bg_mem[BLIND_BG_PRIMARY], blind_get_color(current_blind, BLIND_BACKGROUND_MAIN_COLOR_INDEX), 1);
memset16(&pal_bg_mem[BLIND_BG_SECONDARY], blind_get_color(current_blind, BLIND_BACKGROUND_SECONDARY_COLOR_INDEX), 1);
memset16(&pal_bg_mem[BLIND_BG_SHADOW], blind_get_color(current_blind, BLIND_BACKGROUND_SHADOW_COLOR_INDEX), 1);
// Copy the Play Hand and Discard button colors to their selection highlights
memcpy16(&pal_bg_mem[1], &pal_bg_mem[7], 1);
memcpy16(&pal_bg_mem[9], &pal_bg_mem[12], 1);
memcpy16(&pal_bg_mem[PLAY_HAND_BTN_SELECTED_BORDER], &pal_bg_mem[7], 1);
memcpy16(&pal_bg_mem[DISCARD_BTN_SELECTED_BORDER], &pal_bg_mem[12], 1);
}
}
else if (id == BG_ID_CARD_PLAYING)
@@ -520,16 +544,17 @@ void change_background(int id)
GRIT_CPY(&se_mem[MAIN_BG_SBB], background_shop_gfxMap);
// Set the outline colors for the shop background. This is used for the alternate shop palettes when opening packs
memset16(&pal_bg_mem[26], 0x213D, 1);
memset16(&pal_bg_mem[6], 0x10B4, 1);
memset16(&pal_bg_mem[SHOP_BOTTOM_PANEL_BORDER], 0x213D, 1);
memset16(&pal_bg_mem[SHOP_PANEL_SHADOW], 0x10B4, 1);
memset16(&pal_bg_mem[14], 0x32BE, 1); // Reset the shop lights to correct colors
memset16(&pal_bg_mem[17], 0x4B5F, 1);
memset16(&pal_bg_mem[22], 0x5F9F, 1);
memset16(&pal_bg_mem[8], 0xFFFF, 1);
memset16(&pal_bg_mem[SHOP_LIGHTS_2], 0x32BE, 1); // Reset the shop lights to correct colors
memset16(&pal_bg_mem[SHOP_LIGHTS_3], 0x4B5F, 1);
memset16(&pal_bg_mem[SHOP_LIGHTS_4], 0x5F9F, 1);
memset16(&pal_bg_mem[SHOP_LIGHTS_1], 0xFFFF, 1);
// I don't see any visual change from these copy. Remove?
memcpy16(&pal_bg_mem[7], &pal_bg_mem[3], 1); // Disable the button highlight colors
memcpy16(&pal_bg_mem[5], &pal_bg_mem[16], 1);
memcpy16(&pal_bg_mem[5], &pal_bg_mem[16], 1);
}
else if (id == BG_ID_BLIND_SELECT)
{
@@ -549,8 +574,8 @@ void change_background(int id)
GRIT_CPY(&se_mem[MAIN_BG_SBB], background_blind_select_gfxMap);
// Copy boss blind colors to blind select palette
memset16(&pal_bg_mem[1], blind_get_color(BOSS_BLIND, BLIND_BACKGROUND_MAIN_COLOR_INDEX), 1);
memset16(&pal_bg_mem[7], blind_get_color(BOSS_BLIND, BLIND_BACKGROUND_SHADOW_COLOR_INDEX), 1);
memset16(&pal_bg_mem[BOSS_BLIND_PRIMARY], blind_get_color(BOSS_BLIND, BLIND_BACKGROUND_MAIN_COLOR_INDEX), 1);
memset16(&pal_bg_mem[BOSS_BLIND_SHADOW], blind_get_color(BOSS_BLIND, BLIND_BACKGROUND_SHADOW_COLOR_INDEX), 1);
// Disable the button highlight colors
// Select button PID is 15 and the outline is 18
@@ -651,7 +676,7 @@ void change_background(int id)
GRIT_CPY(&se_mem[MAIN_BG_SBB], background_main_menu_gfxMap);
// Disable the button highlight colors
memcpy16(&pal_bg_mem[MAIN_MENU_PLAY_BUTTON_OUTLINE_COLOR_PID], &pal_bg_mem[MAIN_MENU_PLAY_BUTTON_MAIN_COLOR_PID], 1);
memcpy16(&pal_bg_mem[MAIN_MENU_PLAY_BUTTON_OUTLINE], &pal_bg_mem[MAIN_MENU_PLAY_BUTTON_MAIN_COLOR], 1);
}
else
{
@@ -1206,8 +1231,8 @@ static void game_playing_process_hand_select_input()
{
if (discard_button_highlighted == false) // Play button logic
{
memset16(&pal_bg_mem[1], 0xFFFF, 1);
memcpy16(&pal_bg_mem[9], &pal_bg_mem[12], 1);
memset16(&pal_bg_mem[PLAY_HAND_BTN_SELECTED_BORDER], 0xFFFF, 1);
memcpy16(&pal_bg_mem[DISCARD_BTN_SELECTED_BORDER], &pal_bg_mem[12], 1);
if (key_hit(SELECT_CARD) && hands > 0 && hand_play())
{
@@ -1236,8 +1261,8 @@ static void game_playing_process_hand_select_input()
if (selection_y == 0) // On row of cards
{
memcpy16(&pal_bg_mem[1], &pal_bg_mem[7], 1); // Play button highlight color
memcpy16(&pal_bg_mem[9], &pal_bg_mem[12], 1); // Discard button highlight color
memcpy16(&pal_bg_mem[PLAY_HAND_BTN_SELECTED_BORDER], &pal_bg_mem[7], 1); // Play button highlight color
memcpy16(&pal_bg_mem[DISCARD_BTN_SELECTED_BORDER], &pal_bg_mem[12], 1); // Discard button highlight color
if (key_hit(SELECT_CARD))
{
@@ -2121,7 +2146,7 @@ void game_round_end()
}
else if (timer > FRAMES(20))
{
memset16(&pal_bg_mem[19], 0x1483, 1);
memset16(&pal_bg_mem[REWARD_PANEL_BORDER], 0x1483, 1);
state = 6;
timer = 0;
}
@@ -2591,10 +2616,10 @@ static void game_shop_lights_anim_frame()
{
// Shift palette around the border of the shop icon
COLOR shifted_palette[4];
memcpy16(&shifted_palette[0], &pal_bg_mem[14], 1);
memcpy16(&shifted_palette[1], &pal_bg_mem[17], 1);
memcpy16(&shifted_palette[2], &pal_bg_mem[22], 1);
memcpy16(&shifted_palette[3], &pal_bg_mem[8], 1);
memcpy16(&shifted_palette[0], &pal_bg_mem[SHOP_LIGHTS_2], 1);
memcpy16(&shifted_palette[1], &pal_bg_mem[SHOP_LIGHTS_3], 1);
memcpy16(&shifted_palette[2], &pal_bg_mem[SHOP_LIGHTS_4], 1);
memcpy16(&shifted_palette[3], &pal_bg_mem[SHOP_LIGHTS_1], 1);
// Circularly shift the palette
int last = shifted_palette[3];
@@ -2606,10 +2631,10 @@ static void game_shop_lights_anim_frame()
shifted_palette[0] = last;
memcpy16(&pal_bg_mem[14], &shifted_palette[0], 1); // Copy the shifted palette to the next 4 slots
memcpy16(&pal_bg_mem[17], &shifted_palette[1], 1);
memcpy16(&pal_bg_mem[22], &shifted_palette[2], 1);
memcpy16(&pal_bg_mem[8], &shifted_palette[3], 1);
memcpy16(&pal_bg_mem[SHOP_LIGHTS_2], &shifted_palette[0], 1); // Copy the shifted palette to the next 4 slots
memcpy16(&pal_bg_mem[SHOP_LIGHTS_3], &shifted_palette[1], 1);
memcpy16(&pal_bg_mem[SHOP_LIGHTS_4], &shifted_palette[2], 1);
memcpy16(&pal_bg_mem[SHOP_LIGHTS_1], &shifted_palette[3], 1);
}
// Outro sequence (menu and shop icon going out of frame)
@@ -2787,13 +2812,15 @@ void game_blind_select()
if (selection_y == 0)
{
memset16(&pal_bg_mem[18], 0xFFFF, 1);
memcpy16(&pal_bg_mem[10], &pal_bg_mem[5], 1);
// 5 is the multiplier palette color and the skip button color
memset16(&pal_bg_mem[BLIND_SELECT_BTN_SELECTED_BORDER], 0xFFFF, 1);
memcpy16(&pal_bg_mem[BLIND_SKIP_BTN_SELECTED_BORDER], &pal_bg_mem[5], 1);
}
else
{
memcpy16(&pal_bg_mem[18], &pal_bg_mem[15], 1);
memset16(&pal_bg_mem[10], 0xFFFF, 1);
// 15 is the select button color
memcpy16(&pal_bg_mem[BLIND_SELECT_BTN_SELECTED_BORDER], &pal_bg_mem[15], 1);
memset16(&pal_bg_mem[BLIND_SKIP_BTN_SELECTED_BORDER], 0xFFFF, 1);
}
break;
@@ -2914,7 +2941,7 @@ void game_main_menu()
if (selection_x == 0) // Play button
{
// Select button PID is 5 and the outline is 3
memset16(&pal_bg_mem[MAIN_MENU_PLAY_BUTTON_OUTLINE_COLOR_PID], HIGHLIGHT_COLOR, 1);
memset16(&pal_bg_mem[MAIN_MENU_PLAY_BUTTON_OUTLINE], HIGHLIGHT_COLOR, 1);
if (key_hit(KEY_A))
{
@@ -2925,7 +2952,7 @@ void game_main_menu()
else
{
// Select button PID is 5 and the outline is 3
memcpy16(&pal_bg_mem[MAIN_MENU_PLAY_BUTTON_OUTLINE_COLOR_PID], &pal_bg_mem[MAIN_MENU_PLAY_BUTTON_MAIN_COLOR_PID], 1);
memcpy16(&pal_bg_mem[MAIN_MENU_PLAY_BUTTON_OUTLINE], &pal_bg_mem[MAIN_MENU_PLAY_BUTTON_MAIN_COLOR], 1);
}
}
@@ -3039,4 +3066,4 @@ void game_update()
game_win();
break;
}
}
}