summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tile2.cc
diff options
context:
space:
mode:
authorennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-01-05 20:15:34 +0000
committerennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-01-05 20:15:34 +0000
commit98222630689e0dc298ec7b42a50f788edab7b9c6 (patch)
tree62c7bef9d9a43aee81f808dadb969a0a20f63dce /crawl-ref/source/tile2.cc
parentd3a0d2d064372264abf84befe6bdfe3e16382346 (diff)
downloadcrawl-ref-98222630689e0dc298ec7b42a50f788edab7b9c6.tar.gz
crawl-ref-98222630689e0dc298ec7b42a50f788edab7b9c6.zip
Adding title screen for tiles (and title_screen option.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3206 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/tile2.cc')
-rw-r--r--crawl-ref/source/tile2.cc29
1 files changed, 23 insertions, 6 deletions
diff --git a/crawl-ref/source/tile2.cc b/crawl-ref/source/tile2.cc
index ada84c255a..aa8b34a242 100644
--- a/crawl-ref/source/tile2.cc
+++ b/crawl-ref/source/tile2.cc
@@ -2692,15 +2692,26 @@ int TileMcacheFind(int mon_tile, int equ_tile, int draco)
void TileDrawTitle()
{
- int winx, winy, tx, ty, x, y;
img_type TitleImg = ImgLoadFileSimple("title");
+ if (!TitleImg)
+ return;
+
+ // We don't need an entirely separate region for the title, so
+ // just resize the tile region to fit the screen temporarily.
+ int old_mx = region_tile->mx;
+ int old_my = region_tile->my;
+ int old_dx = region_tile->dx;
+ int old_dy = region_tile->dy;
+ int winx = win_main->wx;
+ int winy = win_main->wy;
+ region_tile->resize(winx, winy, 1, 1);
+ region_tile->resize_backbuf();
img_type pBuf = region_tile->backbuf;
- if (!TitleImg || !pBuf) return;
- tx = ImgWidth(TitleImg);
- ty = ImgHeight(TitleImg);
- winx = ImgWidth(pBuf);
- winy = ImgHeight(pBuf);
+ int tx = ImgWidth(TitleImg);
+ int ty = ImgHeight(TitleImg);
+
+ int x, y;
if (tx > winx)
{
@@ -2726,6 +2737,12 @@ void TileDrawTitle()
region_tile->make_active();
region_tile->redraw();
ImgDestroy(TitleImg);
+
+ getch();
+ clrscr();
+
+ region_tile->resize(old_mx, old_my, old_dx, old_dy);
+ region_tile->resize_backbuf();
}
static void TilePutch(int c, img_type Dest, int dx, int dy)