Finished adding palette memory indexs to an enum
This commit is contained in:
+32
-23
@@ -5,6 +5,7 @@
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "tonc_memmap.h"
|
||||
#include "util.h"
|
||||
#include "sprite.h"
|
||||
#include "card.h"
|
||||
@@ -38,15 +39,22 @@ typedef enum
|
||||
BOSS_BLIND_PRIMARY = 1,
|
||||
BLIND_BG_SHADOW = 2,
|
||||
MAIN_MENU_PLAY_BUTTON_OUTLINE = 2,
|
||||
REROLL_BTN = 3,
|
||||
BLIND_BG_SECONDARY = 5,
|
||||
// SKIP_BTN_UNSELECTED_BORDER = 5,
|
||||
BLIND_SKIP_BTN = 5, // 5, in the blind select, is the score multiplier and deck PID index also. In shop it's the next round selected border.
|
||||
MAIN_MENU_PLAY_BUTTON_MAIN_COLOR = 5,
|
||||
NEXT_ROUND_BTN_SELECTED_BORDER = 5,
|
||||
SHOP_PANEL_SHADOW = 6,
|
||||
BOSS_BLIND_SHADOW = 7,
|
||||
PLAY_HAND_BTN = 7,
|
||||
REROLL_BTN_SELECTED_BORDER = 7,
|
||||
SHOP_LIGHTS_1 = 8,
|
||||
DISCARD_BTN_SELECTED_BORDER = 9,
|
||||
BLIND_SKIP_BTN_SELECTED_BORDER = 10,
|
||||
DISCARD_BTN = 12, // 12 appears to also be the score multiplier, discard button, and deck PID index
|
||||
SHOP_LIGHTS_2 = 14,
|
||||
BLIND_SELECT_BTN = 15,
|
||||
NEXT_ROUND_BTN = 16, // 16, in shop, is the next round button, multiplier, and deck PID.
|
||||
SHOP_LIGHTS_3 = 17,
|
||||
BLIND_SELECT_BTN_SELECTED_BORDER = 18,
|
||||
BLIND_BG_PRIMARY = 19,
|
||||
@@ -500,8 +508,8 @@ void change_background(int id)
|
||||
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[PLAY_HAND_BTN_SELECTED_BORDER], &pal_bg_mem[7], 1);
|
||||
memcpy16(&pal_bg_mem[DISCARD_BTN_SELECTED_BORDER], &pal_bg_mem[12], 1);
|
||||
memcpy16(&pal_bg_mem[PLAY_HAND_BTN_SELECTED_BORDER], &pal_bg_mem[PLAY_HAND_BTN], 1);
|
||||
memcpy16(&pal_bg_mem[DISCARD_BTN_SELECTED_BORDER], &pal_bg_mem[DISCARD_BTN], 1);
|
||||
}
|
||||
}
|
||||
else if (id == BG_ID_CARD_PLAYING)
|
||||
@@ -552,9 +560,8 @@ void change_background(int id)
|
||||
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[REROLL_BTN_SELECTED_BORDER], &pal_bg_mem[REROLL_BTN], 1); // Disable the button highlight colors
|
||||
memcpy16(&pal_bg_mem[NEXT_ROUND_BTN_SELECTED_BORDER], &pal_bg_mem[NEXT_ROUND_BTN], 1);
|
||||
}
|
||||
else if (id == BG_ID_BLIND_SELECT)
|
||||
{
|
||||
@@ -579,9 +586,12 @@ void change_background(int id)
|
||||
|
||||
// Disable the button highlight colors
|
||||
// Select button PID is 15 and the outline is 18
|
||||
memcpy16(&pal_bg_mem[18], &pal_bg_mem[15], 1);
|
||||
// Skip button PID is 10 and the outline is 5
|
||||
memcpy16(&pal_bg_mem[10], &pal_bg_mem[5], 1);
|
||||
memcpy16(&pal_bg_mem[BLIND_SELECT_BTN_SELECTED_BORDER], &pal_bg_mem[BLIND_SELECT_BTN], 1);
|
||||
// It seems the skip button (and score multiplier and deck) PB idx is
|
||||
// actually 5, not 10. 10 is the selected border color
|
||||
// Setting this palette value though doesn't seem to have an
|
||||
// effect.
|
||||
memcpy16(&pal_bg_mem[BLIND_SKIP_BTN_SELECTED_BORDER], &pal_bg_mem[BLIND_SKIP_BTN], 1);
|
||||
|
||||
for (int i = 0; i < MAX_BLINDS; i++)
|
||||
{
|
||||
@@ -1232,7 +1242,7 @@ static void game_playing_process_hand_select_input()
|
||||
if (discard_button_highlighted == false) // Play button logic
|
||||
{
|
||||
memset16(&pal_bg_mem[PLAY_HAND_BTN_SELECTED_BORDER], 0xFFFF, 1);
|
||||
memcpy16(&pal_bg_mem[DISCARD_BTN_SELECTED_BORDER], &pal_bg_mem[12], 1);
|
||||
memcpy16(&pal_bg_mem[DISCARD_BTN_SELECTED_BORDER], &pal_bg_mem[DISCARD_BTN], 1);
|
||||
|
||||
if (key_hit(SELECT_CARD) && hands > 0 && hand_play())
|
||||
{
|
||||
@@ -1244,8 +1254,9 @@ static void game_playing_process_hand_select_input()
|
||||
}
|
||||
else // Discard button logic
|
||||
{
|
||||
memcpy16(&pal_bg_mem[1], &pal_bg_mem[7], 1);
|
||||
memset16(&pal_bg_mem[9], 0xFFFF, 1);
|
||||
// 7 is score and play hand button color
|
||||
memcpy16(&pal_bg_mem[PLAY_HAND_BTN_SELECTED_BORDER], &pal_bg_mem[PLAY_HAND_BTN], 1);
|
||||
memset16(&pal_bg_mem[DISCARD_BTN_SELECTED_BORDER], 0xFFFF, 1);
|
||||
|
||||
if (key_hit(SELECT_CARD) && discards > 0 && hand_discard())
|
||||
{
|
||||
@@ -1261,8 +1272,8 @@ static void game_playing_process_hand_select_input()
|
||||
|
||||
if (selection_y == 0) // On row of cards
|
||||
{
|
||||
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
|
||||
memcpy16(&pal_bg_mem[PLAY_HAND_BTN_SELECTED_BORDER], &pal_bg_mem[PLAY_HAND_BTN], 1); // Play button highlight color
|
||||
memcpy16(&pal_bg_mem[DISCARD_BTN_SELECTED_BORDER], &pal_bg_mem[DISCARD_BTN], 1); // Discard button highlight color
|
||||
|
||||
if (key_hit(SELECT_CARD))
|
||||
{
|
||||
@@ -2282,8 +2293,6 @@ static int reroll_cost = REROLL_BASE_COST;
|
||||
|
||||
#define NEXT_ROUND_BTN_SEL_X 0
|
||||
|
||||
#define NEXT_ROUND_BTN_FRAME_PAL_IDX 5
|
||||
#define NEXT_ROUND_BTN_PAL_IDX 16
|
||||
#define REROLL_BTN_FRAME_PAL_IDX 7
|
||||
#define REROLL_BTN_PAL_IDX 3
|
||||
|
||||
@@ -2498,7 +2507,7 @@ static void shop_top_row_on_key_hit(SelectionGrid* selection_grid, Selection* se
|
||||
timer = 0; // Reset the timer
|
||||
reroll_cost = REROLL_BASE_COST;
|
||||
|
||||
memcpy16(&pal_bg_mem[NEXT_ROUND_BTN_FRAME_PAL_IDX], &pal_bg_mem[6], 1);
|
||||
memcpy16(&pal_bg_mem[NEXT_ROUND_BTN_SELECTED_BORDER], &pal_bg_mem[SHOP_PANEL_SHADOW], 1);
|
||||
|
||||
// memcpy16(&pal_bg_mem[16], &pal_bg_mem[6], 1);
|
||||
// This changes the color of the button to a dark red.
|
||||
@@ -2533,7 +2542,7 @@ static void shop_top_row_on_selection_changed(SelectionGrid* selection_grid, int
|
||||
if (prev_selection->x == NEXT_ROUND_BTN_SEL_X)
|
||||
{
|
||||
// Remove next round button highlight
|
||||
memcpy16(&pal_bg_mem[NEXT_ROUND_BTN_FRAME_PAL_IDX], &pal_bg_mem[NEXT_ROUND_BTN_PAL_IDX], 1);
|
||||
memcpy16(&pal_bg_mem[NEXT_ROUND_BTN_SELECTED_BORDER], &pal_bg_mem[NEXT_ROUND_BTN], 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2548,7 +2557,7 @@ static void shop_top_row_on_selection_changed(SelectionGrid* selection_grid, int
|
||||
if (new_selection->x == NEXT_ROUND_BTN_SEL_X)
|
||||
{
|
||||
// Highlight next round button
|
||||
memset16(&pal_bg_mem[NEXT_ROUND_BTN_FRAME_PAL_IDX], HIGHLIGHT_COLOR, 1);
|
||||
memset16(&pal_bg_mem[NEXT_ROUND_BTN_SELECTED_BORDER], HIGHLIGHT_COLOR, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2569,11 +2578,11 @@ static void shop_reroll_row_on_selection_changed(SelectionGrid* selection_grid,
|
||||
if (row_idx == prev_selection->y)
|
||||
{
|
||||
// Remove highlight
|
||||
memcpy16(&pal_bg_mem[REROLL_BTN_FRAME_PAL_IDX], &pal_bg_mem[REROLL_BTN_PAL_IDX], 1);
|
||||
memcpy16(&pal_bg_mem[REROLL_BTN_SELECTED_BORDER], &pal_bg_mem[REROLL_BTN], 1);
|
||||
}
|
||||
else if (row_idx == new_selection->y)
|
||||
{
|
||||
memset16(&pal_bg_mem[REROLL_BTN_FRAME_PAL_IDX], HIGHLIGHT_COLOR, 1);
|
||||
memset16(&pal_bg_mem[REROLL_BTN_SELECTED_BORDER], HIGHLIGHT_COLOR, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2814,12 +2823,12 @@ void game_blind_select()
|
||||
{
|
||||
// 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);
|
||||
memcpy16(&pal_bg_mem[BLIND_SKIP_BTN_SELECTED_BORDER], &pal_bg_mem[BLIND_SKIP_BTN], 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 15 is the select button color
|
||||
memcpy16(&pal_bg_mem[BLIND_SELECT_BTN_SELECTED_BORDER], &pal_bg_mem[15], 1);
|
||||
memcpy16(&pal_bg_mem[BLIND_SELECT_BTN_SELECTED_BORDER], &pal_bg_mem[BLIND_SELECT_BTN], 1);
|
||||
memset16(&pal_bg_mem[BLIND_SKIP_BTN_SELECTED_BORDER], 0xFFFF, 1);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user