summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/viewgeom.cc
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-11-13 12:34:32 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-13 13:06:24 +0100
commit5a674a9c4d6cbd66d9ab700b11c3d7f8082dd84a (patch)
tree96d0b4cac279cc92f7c9ccda34f923e0c7fc6d79 /crawl-ref/source/viewgeom.cc
parentaffe43ff3d51dfd9ae8c87021ace90e7964d74cf (diff)
downloadcrawl-ref-5a674a9c4d6cbd66d9ab700b11c3d7f8082dd84a.tar.gz
crawl-ref-5a674a9c4d6cbd66d9ab700b11c3d7f8082dd84a.zip
Make tiles and non-tiles use the "same" screen_buffer_t buffy.
This change also gets rid of the ugly intermediate macroing.
Diffstat (limited to 'crawl-ref/source/viewgeom.cc')
-rw-r--r--crawl-ref/source/viewgeom.cc28
1 files changed, 20 insertions, 8 deletions
diff --git a/crawl-ref/source/viewgeom.cc b/crawl-ref/source/viewgeom.cc
index 56542cd849..0ee155b3cc 100644
--- a/crawl-ref/source/viewgeom.cc
+++ b/crawl-ref/source/viewgeom.cc
@@ -220,6 +220,25 @@ class _mlist_col_layout : public _layout
}
};
+//////////////////////////////////////////////////////////////////////////////
+// crawl_view_buffer
+
+crawl_view_buffer::crawl_view_buffer()
+ : buffer(NULL)
+{
+}
+
+crawl_view_buffer::~crawl_view_buffer()
+{
+ delete [] buffer;
+}
+
+void crawl_view_buffer::size(const coord_def &sz)
+{
+ delete [] buffer;
+ buffer = new screen_buffer_t [ sz.x * sz.y * 2 ];
+}
+
// ----------------------------------------------------------------------
// crawl_view_geometry
// ----------------------------------------------------------------------
@@ -231,11 +250,7 @@ crawl_view_geometry::crawl_view_geometry()
msgp(1, viewp.y + viewsz.y), msgsz(80, 7),
mlistp(hudp.x, hudp.y + hudsz.y),
mlistsz(hudsz.x, msgp.y - mlistp.y),
- vbuf(),
-#ifdef USE_TILE
- tbuf(),
-#endif
- vgrdc(), viewhalfsz(), glos1(), glos2(),
+ vbuf(), vgrdc(), viewhalfsz(), glos1(), glos2(),
vlos1(), vlos2(), mousep(), last_player_pos()
{
}
@@ -244,9 +259,6 @@ void crawl_view_geometry::init_view()
{
viewhalfsz = viewsz / 2;
vbuf.size(viewsz);
-#ifdef USE_TILE
- tbuf.size(viewsz);
-#endif
set_player_at(you.pos(), true);
}