summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/libgui.cc
diff options
context:
space:
mode:
authorennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-19 15:07:24 +0000
committerennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-19 15:07:24 +0000
commit367b5d24ecaee850b6c76ee589d00a54208ffa92 (patch)
tree5c96db59e63668303b128c2142fc61a28b10bb28 /crawl-ref/source/libgui.cc
parent93b6d8b612bcf990e89d8c1065ab98b2eee0498f (diff)
downloadcrawl-ref-367b5d24ecaee850b6c76ee589d00a54208ffa92.tar.gz
crawl-ref-367b5d24ecaee850b6c76ee589d00a54208ffa92.zip
Fixing tile issues with region placement. Now regions will be resized appropriately, based on crawl_view_geometry.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4372 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/libgui.cc')
-rw-r--r--crawl-ref/source/libgui.cc29
1 files changed, 17 insertions, 12 deletions
diff --git a/crawl-ref/source/libgui.cc b/crawl-ref/source/libgui.cc
index a7a4734963..eef00e35f5 100644
--- a/crawl-ref/source/libgui.cc
+++ b/crawl-ref/source/libgui.cc
@@ -662,18 +662,6 @@ void libgui_init()
if (region_dngn)
region_dngn->init_font(font_name);
#endif
-
- _do_layout();
-
- win_main->create((char*)(CRAWL " " VERSION));
-
- region_map->init_backbuf();
-
- region_tile -> init_backbuf();
- region_item2->init_backbuf();
-
- if (region_item)
- region_item->init_backbuf();
}
void libgui_shutdown()
@@ -2013,6 +2001,16 @@ int mouse_get_mode()
return mouse_mode;
}
+static void _init_regions()
+{
+ win_main->create((char*)(CRAWL " " VERSION));
+
+ region_map->init_backbuf();
+ region_tile->init_backbuf();
+ region_item2->init_backbuf();
+ region_item->init_backbuf();
+}
+
void gui_init_view_params(crawl_view_geometry &geom)
{
// The tile version handles its own layout on a pixel-by-pixel basis.
@@ -2038,6 +2036,13 @@ void gui_init_view_params(crawl_view_geometry &geom)
geom.mlistp.y = 1;
geom.mlistsz.x = 0;
geom.mlistsz.y = 0;
+
+ region_tip->resize(geom.hudsz.x, 3);
+ region_msg->resize(geom.msgsz.x, geom.msgsz.y);
+ region_stat->resize(geom.hudsz.x, geom.hudsz.y);
+
+ _do_layout();
+ _init_regions();
}
void lock_region(int r)