Factored out some magic numbers

This commit is contained in:
jeffman 2017-04-16 19:25:11 -04:00
parent a633b9d643
commit 1d3ef8de13
2 changed files with 27 additions and 14 deletions

View File

@ -3,8 +3,8 @@
byte decode_character(byte chr) byte decode_character(byte chr)
{ {
int c = chr - 0x50; int c = chr - CHAR_OFFSET;
if ((c < 0) || ((c >= 0x60) && (c < 0x64)) || (c >= 0x6E)) if ((c < 0) || ((c >= CHAR_END) && (c < YOUWON_START)) || (c > ARROW))
c = QUESTION_MARK; c = QUESTION_MARK;
return c; return c;
@ -47,16 +47,16 @@ byte reduce_bit_depth(int row, int foreground)
byte print_character(byte chr, int x, int y, int font, int foreground) byte print_character(byte chr, int x, int y, int font, int foreground)
{ {
// 0x64 to 0x6C (inclusive) is YOU WON // 0x64 to 0x6C (inclusive) is YOU WON
if ((chr >= 0x64) && (chr <= 0x6C)) if ((chr >= YOUWON_START) && (chr <= YOUWON_END))
{ {
print_special_character(chr + 0xF0, x, y); print_special_character(chr + 0xF0, x, y);
return 8; return 8;
} }
// 0x6D is an arrow -> // 0x6D is an arrow ->
else if (chr == 0x6D) else if (chr == ARROW)
{ {
print_special_character(0x9D, x, y); print_special_character(ARROW + 0x30, x, y);
return 8; return 8;
} }
@ -182,8 +182,8 @@ int print_window_header_string(int *dest, byte *str, int x, int y)
void clear_window_header(int *dest) void clear_window_header(int *dest)
{ {
dest += (0x10 + (0x11 * 32)) * 8; dest += (WINDOW_HEADER_X + (WINDOW_HEADER_Y * 32)) * 8;
clear_rect_ram(dest, 16, 0x33333333); clear_rect_ram(dest, 16, WINDOW_HEADER_BG);
} }
unsigned short* print_equip_header(int type, unsigned short *tilemap, unsigned int *dest, WINDOW *window) unsigned short* print_equip_header(int type, unsigned short *tilemap, unsigned int *dest, WINDOW *window)
@ -208,8 +208,8 @@ unsigned short* print_equip_header(int type, unsigned short *tilemap, unsigned i
if (str != 0) if (str != 0)
{ {
int startX = 0x10 * 8; int startX = WINDOW_HEADER_X * 8;
int startY = 0x11 * 8; int startY = WINDOW_HEADER_Y * 8;
int width = 0; int width = 0;
width += print_window_header_string(dest, str, startX + width, startY); width += print_window_header_string(dest, str, startX + width, startY);
@ -222,9 +222,9 @@ unsigned short* print_equip_header(int type, unsigned short *tilemap, unsigned i
width += print_window_header_string(dest, str, startX + width, startY); width += print_window_header_string(dest, str, startX + width, startY);
} }
// Do tilemap // Update tilemap
int tiles = (width + 7) >> 3; int tiles = (width + 7) >> 3;
int tileIndex = 0x230 + *tile_offset; int tileIndex = WINDOW_HEADER_TILE + *tile_offset;
for (int i = 0; i < tiles; i++) for (int i = 0; i < tiles; i++)
{ {
@ -298,12 +298,12 @@ void clear_window(WINDOW *window)
{ {
clear_rect(window->window_x, window->window_y, clear_rect(window->window_x, window->window_y,
window->window_width, window->window_height, window->window_width, window->window_height,
0x44444444); WINDOW_AREA_BG);
} }
void print_blankstr(int x, int y, int width) void print_blankstr(int x, int y, int width)
{ {
clear_rect(x, y, width, 2, 0x44444444); clear_rect(x, y, width, 2, WINDOW_AREA_BG);
} }
void copy_tile(int xSource, int ySource, int xDest, int yDest) void copy_tile(int xSource, int ySource, int xDest, int yDest)
@ -320,6 +320,6 @@ void copy_tile_up(int x, int y)
void print_space(WINDOW *window) void print_space(WINDOW *window)
{ {
byte space = 0x50; byte space = SPACE;
weld_entry(window, &space); weld_entry(window, &space);
} }

View File

@ -4,6 +4,19 @@ typedef unsigned char byte;
#define TRUE 1 #define TRUE 1
#define FALSE 0 #define FALSE 0
#define CHAR_OFFSET 0x50
#define CHAR_END 0x60
#define YOUWON_START 0x64
#define YOUWON_END 0x6C
#define ARROW 0x6D
#define SPACE 0x50
#define WINDOW_AREA_BG 0x44444444
#define WINDOW_HEADER_BG 0x33333333
#define WINDOW_HEADER_X 0x10
#define WINDOW_HEADER_Y 0x11
#define WINDOW_HEADER_TILE (WINDOW_HEADER_X + (WINDOW_HEADER_Y * 32))
unsigned short *tile_offset = (unsigned short*)0x30051EC; unsigned short *tile_offset = (unsigned short*)0x30051EC;
unsigned short *palette_mask = (unsigned short*)0x3005228; unsigned short *palette_mask = (unsigned short*)0x3005228;
unsigned short **tilemap_pointer = (unsigned short**)0x3005270; unsigned short **tilemap_pointer = (unsigned short**)0x3005270;