Continuing tile code cleanup.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3257 c06c8d41-db1a-0410-9941-cceddc491573
MZLB3Q7G4EC2BR3OFMG55WPHXPFJGQSLWAIHHFJEAEATPUTYR7EAC
region_tile->resize(winx, winy, 1, 1);
region_tile->resize_backbuf();
img_type pBuf = region_tile->backbuf;
TileRegionClass title(winx, winy, 1, 1);
title.win = win_main;
title.sx = 0;
title.sy = 0;
title.ex = winx;
title.ey = winy;
title.wx = winx;
title.wy = winy;
title.init_backbuf();
title.flag = true;
img_type pBuf = title.backbuf;
struct prefs *p = &pref_data[i];
int idx = p->dummy_idx;
if (p->type == 'I')
dummy_int[pref_mode][idx] = *(int *)p->ptr;
else if (p->type == 'S')
strncpy(dummy_str[pref_mode][idx], (char *)p->ptr, MAX_PREF_CHAR);
struct prefs *p = &pref_data[i];
int idx = p->dummy_idx;
if (p->type == 'I')
dummy_int[pref_mode][idx] = *(int *)p->ptr;
else if (p->type == 'S')
strncpy(dummy_str[pref_mode][idx], (char *)p->ptr, MAX_PREF_CHAR);
for (mode = 0; mode < PREF_MODE_NUM; mode++)
{
for(i=0;i<MAX_PREFS;i++)
{
struct prefs *p = &pref_data[i];
int idx = p->dummy_idx;
if (p->type == 'I')
fprintf(fp, "%s:%s=%d\n", pref_mode_name[mode],
p->tagname, dummy_int[mode][idx]);
if (p->type == 'S')
fprintf(fp, "%s:%s=%s\n", pref_mode_name[mode],
p->tagname, dummy_str[mode][idx]);
}
fprintf(fp, "\n");
}
fclose(fp);
for (mode = 0; mode < PREF_MODE_NUM; mode++)
{
for(i=0;i<MAX_PREFS;i++)
{
struct prefs *p = &pref_data[i];
int idx = p->dummy_idx;
if (p->type == 'I')
fprintf(fp, "%s:%s=%d\n", pref_mode_name[mode],
p->tagname, dummy_int[mode][idx]);
if (p->type == 'S')
fprintf(fp, "%s:%s=%s\n", pref_mode_name[mode],
p->tagname, dummy_str[mode][idx]);
}
fprintf(fp, "\n");
}
fclose(fp);
switch((i+ ofs) % 10)
{
case 0: cprintf("%c",'+');break;
case 4: cprintf("%c",'0' + (1+(i+ofs)/10)%10);break;
case 5: cprintf("%c",'0');break;
default: cprintf("%c",'-');
}
switch((i+ ofs) % 10)
{
case 0: cprintf("%c",'+');break;
case 4: cprintf("%c",'0' + (1+(i+ofs)/10)%10);break;
case 5: cprintf("%c",'0');break;
default: cprintf("%c",'-');
}
bool upd_msg = false;
bool upd_dngn = false;
bool upd_crt = false;
bool upd_map = false;
bool need_resize = false;
int inc = 0;
bool upd_msg = false;
bool upd_dngn = false;
bool upd_crt = false;
bool upd_map = false;
bool need_resize = false;
int inc = 0;
textcolor(WHITE);
gotoxy (4, 4, GOTO_MSG);
cprintf("j, k, up, down : Select pref");
gotoxy (4, 5, GOTO_MSG);
cprintf("h, l, left, right : Decrease/Increase");
gotoxy (4, 6, GOTO_MSG);
cprintf("H, L : Dec/Inc by 10");
need_draw_msg = false;
}
if (need_draw_stat)
{
textcolor(WHITE);
gotoxy (4, 4, GOTO_MSG);
cprintf("j, k, up, down : Select pref");
gotoxy (4, 5, GOTO_MSG);
cprintf("h, l, left, right : Decrease/Increase");
gotoxy (4, 6, GOTO_MSG);
cprintf("H, L : Dec/Inc by 10");
need_draw_msg = false;
}
if (need_draw_stat)
{
struct prefs *p = &pref_data[i];
gotoxy(2, i+2, GOTO_STAT);
if (i == cur_pos)
{
textcolor(0xf0);
cprintf(">");
}
else
{
textcolor(LIGHTGREY);
cprintf(" ");
}
if (pref_data[i].type == 'I')
struct prefs *p = &pref_data[i];
gotoxy(2, i+2, GOTO_STAT);
if (i == cur_pos)
{
textcolor(0xf0);
cprintf(">");
}
else
{
textcolor(LIGHTGREY);
cprintf(" ");
}
if (pref_data[i].type == 'I')
gotoxy(4, MAX_EDIT_PREFS+3, GOTO_STAT);
cprintf("FONT: %s %d",font_name, font_size);
if (UseDosChar)
{
gotoxy(4, MAX_EDIT_PREFS+4, GOTO_STAT);
cprintf("DOSFONT: %s %d", dos_font_name, dos_font_size);
}
gotoxy(4, MAX_EDIT_PREFS+3, GOTO_STAT);
cprintf("FONT: %s %d",font_name, font_size);
if (UseDosChar)
{
gotoxy(4, MAX_EDIT_PREFS+4, GOTO_STAT);
cprintf("DOSFONT: %s %d", dos_font_name, dos_font_size);
}
if (key == 0x1b || key == '\r') break;
if (key == 'j' || key == CK_DOWN)
{
cur_pos++;
need_draw_stat = true;
}
if (key == 'k' || key == CK_UP)
{
cur_pos--;
need_draw_stat = true;
}
if (key == CK_LEFT) key = 'h';
if (key == CK_RIGHT) key = 'l';
if (key == 0x1b || key == '\r') break;
if (key == 'j' || key == CK_DOWN)
{
cur_pos++;
need_draw_stat = true;
}
if (key == 'k' || key == CK_UP)
{
cur_pos--;
need_draw_stat = true;
}
if (key == CK_LEFT) key = 'h';
if (key == CK_RIGHT) key = 'l';
int crt_x_old = crt_x;
int crt_y_old = crt_y;
int map_px_old = map_px;
int msg_x_old = msg_x;
int msg_y_old = msg_y;
int dngn_x_old = dngn_x;
int dngn_y_old = dngn_y;
if ( (p->type == 'I') && inc != 0)
{
if (dat == &dngn_x || dat == &dngn_y )
{
if (inc==1) inc=2;
if (inc==-1) inc=-2;
}
int olddat = *dat;
(*dat)+= inc;
int crt_x_old = crt_x;
int crt_y_old = crt_y;
int map_px_old = map_px;
int msg_x_old = msg_x;
int msg_y_old = msg_y;
int dngn_x_old = dngn_x;
int dngn_y_old = dngn_y;
if ( (p->type == 'I') && inc != 0)
{
if (dat == &dngn_x || dat == &dngn_y )
{
if (inc==1) inc=2;
if (inc==-1) inc=-2;
}
int olddat = *dat;
(*dat)+= inc;
// resize msg?
if (msg_x != msg_x_old || msg_y != msg_y_old)
{
upd_msg = true;
region_msg->resize(msg_x, msg_y);
}
// resize crt?
if (crt_x != crt_x_old || crt_y != crt_y_old)
{
upd_crt = true;
region_crt->resize(crt_x, crt_y);
}
// resize map?
if (map_px != map_px_old)
{
upd_map = true;
region_map->resize( 0, 0, map_px, map_px);
}
// resize msg?
if (msg_x != msg_x_old || msg_y != msg_y_old)
{
upd_msg = true;
region_msg->resize(msg_x, msg_y);
}
// resize crt?
if (crt_x != crt_x_old || crt_y != crt_y_old)
{
upd_crt = true;
region_crt->resize(crt_x, crt_y);
}
// resize map?
if (map_px != map_px_old)
{
upd_map = true;
region_map->resize( 0, 0, map_px, map_px);
}
// resize dngn tile screen?
if (dngn_x != dngn_x_old || dngn_y != dngn_y_old)
{
clrscr();
upd_dngn = true;
tile_dngn_x = dngn_x;
tile_dngn_y = dngn_y;
region_tile->resize(dngn_x, dngn_y, 0, 0);
}
// resize dngn tile screen?
if (dngn_x != dngn_x_old || dngn_y != dngn_y_old)
{
clrscr();
upd_dngn = true;
tile_dngn_x = dngn_x;
tile_dngn_y = dngn_y;
region_tile->resize(dngn_x, dngn_y, 0, 0);
}
if (upd_map)
region_map->resize_backbuf();
if (upd_dngn)
{
region_tile -> resize_backbuf();
force_redraw_tile = true;
TileResizeScreen(dngn_x, dngn_y);
}
if (region_item)
region_item->resize_backbuf();
if (region_item2)
region_item2->resize_backbuf();
force_redraw_inv = true;
tile_draw_inv(-1, REGION_INV1);
if (upd_map)
region_map->resize_backbuf();
if (upd_dngn)
{
region_tile -> resize_backbuf();
force_redraw_tile = true;
TileResizeScreen(dngn_x, dngn_y);
}
if (region_item)
region_item->resize_backbuf();
if (region_item2)
region_item2->resize_backbuf();
force_redraw_inv = true;
tile_draw_inv(-1, REGION_INV1);
int i = 0;
while( Tips[i].tiptext != NULL)
{
if (cx >= Tips[i].sx && cx <= Tips[i].ex &&
cy >= Tips[i].sy && cy <= Tips[i].ey)
break;
i++;
}
if (Tips[i].tiptext == NULL) i = -1;
if (i == old_tip_idx) return 0;
if (old_tip_idx != -1)
hilite_tip_text(old_tip_idx, false);
old_tip_idx = i;
if (i != -1)
{
hilite_tip_text(i, true);
update_tip_text((char *)Tips[i].tiptext);
}
else
update_tip_text("");
return 0;
}
#endif
}
#if 0
if (mode == REGION_STAT && mouse_mode == MOUSE_MODE_COMMAND)
{
int i = 0;
while( Tips[i].tiptext != NULL)
{
if (cx >= Tips[i].sx && cx <= Tips[i].ex &&
cy >= Tips[i].sy && cy <= Tips[i].ey)
break;
i++;
}
if (Tips[i].tipfilename)
{
char fname[256];
snprintf(fname, 250, "tips_e/%s.txt", Tips[i].tipfilename);
ViewTextFile(fname);
redraw_screen();
return CK_MOUSE_DONE;
}
return 0;
std_palette[i].rgbRed = pPal[i].rgbRed ;
std_palette[i].rgbGreen = pPal[i].rgbGreen;
std_palette[i].rgbBlue = pPal[i].rgbBlue ;
std_palette[i].rgbRed = pPal[i].rgbRed ;
std_palette[i].rgbGreen = pPal[i].rgbGreen;
std_palette[i].rgbBlue = pPal[i].rgbBlue ;
scol[i].rgbBlue = map_colors[i][2];
scol[i].rgbGreen = map_colors[i][1];
scol[i].rgbRed = map_colors[i][0];
scol[i].rgbReserved = 0;
scol[i].rgbBlue = map_colors[i][2];
scol[i].rgbGreen = map_colors[i][1];
scol[i].rgbRed = map_colors[i][0];
scol[i].rgbReserved = 0;