diff options
author | ennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-01-05 20:15:34 +0000 |
---|---|---|
committer | ennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-01-05 20:15:34 +0000 |
commit | 98222630689e0dc298ec7b42a50f788edab7b9c6 (patch) | |
tree | 62c7bef9d9a43aee81f808dadb969a0a20f63dce /crawl-ref/source/tile2.cc | |
parent | d3a0d2d064372264abf84befe6bdfe3e16382346 (diff) | |
download | crawl-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.cc | 29 |
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) |