summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tilereg.cc
diff options
context:
space:
mode:
authorEnne Walker <ennewalker@users.sourceforge.net>2010-04-14 13:42:23 -0400
committerEnne Walker <ennewalker@users.sourceforge.net>2010-04-25 19:15:11 -0400
commit255e8100b2ff33fcb7eb3560168e8243ed193ef8 (patch)
treee952d26fee1515c8efd9aa9ef234fead4d8a249f /crawl-ref/source/tilereg.cc
parenta8c0ff94c36d46b80a8598b194430e3009bdd0f2 (diff)
downloadcrawl-ref-255e8100b2ff33fcb7eb3560168e8243ed193ef8.tar.gz
crawl-ref-255e8100b2ff33fcb7eb3560168e8243ed193ef8.zip
Simplify TileRegion constructors.
Since all the derived classes need the same set of parameters to pass down to the base class, then just wrap it in a struct.
Diffstat (limited to 'crawl-ref/source/tilereg.cc')
-rw-r--r--crawl-ref/source/tilereg.cc59
1 files changed, 25 insertions, 34 deletions
diff --git a/crawl-ref/source/tilereg.cc b/crawl-ref/source/tilereg.cc
index 7423042cc0..d4419de7b3 100644
--- a/crawl-ref/source/tilereg.cc
+++ b/crawl-ref/source/tilereg.cc
@@ -227,17 +227,17 @@ void Region::set_transform()
glmanager->set_transform(&trans, &scale);
}
-TileRegion::TileRegion(ImageManager* im, FontWrapper *tag_font, int tile_x, int tile_y)
+TileRegion::TileRegion(const TileRegionInit &init)
{
- ASSERT(im);
- ASSERT(tag_font);
+ ASSERT(init.im);
+ ASSERT(init.tag_font);
- m_image = im;
- dx = tile_x;
- dy = tile_y;
- m_tag_font = tag_font;
+ m_image = init.im;
+ dx = init.tile_x;
+ dy = init.tile_y;
+ m_tag_font = init.tag_font;
- // To quite Valgrind
+ // To quiet Valgrind.
m_dirty = true;
}
@@ -245,17 +245,16 @@ TileRegion::~TileRegion()
{
}
-DungeonRegion::DungeonRegion(ImageManager* im, FontWrapper *tag_font,
- int tile_x, int tile_y) :
- TileRegion(im, tag_font, tile_x, tile_y),
+DungeonRegion::DungeonRegion(const TileRegionInit &init) :
+ TileRegion(init),
m_cx_to_gx(0),
m_cy_to_gy(0),
- m_buf_dngn(&im->m_textures[TEX_DUNGEON]),
- m_buf_doll(&im->m_textures[TEX_PLAYER], TILEP_MASK_SUBMERGED, 18, 16,
+ m_buf_dngn(&init.im->m_textures[TEX_DUNGEON]),
+ m_buf_doll(&init.im->m_textures[TEX_PLAYER], TILEP_MASK_SUBMERGED, 18, 16,
Options.tile_better_transparency),
- m_buf_main_trans(&im->m_textures[TEX_DEFAULT], TILE_MASK_SUBMERGED, 18, 16,
+ m_buf_main_trans(&init.im->m_textures[TEX_DEFAULT], TILE_MASK_SUBMERGED, 18, 16,
Options.tile_better_transparency),
- m_buf_main(&im->m_textures[TEX_DEFAULT])
+ m_buf_main(&init.im->m_textures[TEX_DEFAULT])
{
for (int i = 0; i < CURSOR_MAX; i++)
m_cursor[i] = NO_CURSOR;
@@ -2407,14 +2406,13 @@ bool InventoryTile::empty() const
return (idx == -1);
}
-GridRegion::GridRegion(ImageManager *im, FontWrapper *tag_font,
- int tile_x, int tile_y) :
- TileRegion(im, tag_font, tile_x, tile_y),
+GridRegion::GridRegion(const TileRegionInit &init) :
+ TileRegion(init),
m_flavour(NULL),
m_cursor(NO_CURSOR),
- m_buf_dngn(&im->m_textures[TEX_DUNGEON]),
- m_buf_spells(&im->m_textures[TEX_GUI]),
- m_buf_main(&im->m_textures[TEX_DEFAULT])
+ m_buf_dngn(&init.im->m_textures[TEX_DUNGEON]),
+ m_buf_spells(&init.im->m_textures[TEX_GUI]),
+ m_buf_main(&init.im->m_textures[TEX_DEFAULT])
{
}
@@ -2577,9 +2575,7 @@ void GridRegion::draw_number(int x, int y, int num)
add_quad_char('0' + c1, x, y, offset_x, offset_y);
}
-SpellRegion::SpellRegion(ImageManager* im, FontWrapper *tag_font,
- int tile_x, int tile_y) :
- GridRegion(im, tag_font, tile_x, tile_y)
+SpellRegion::SpellRegion(const TileRegionInit &init) : GridRegion(init)
{
memorise = false;
}
@@ -2804,9 +2800,7 @@ void SpellRegion::update()
}
}
-MemoriseRegion::MemoriseRegion(ImageManager* im, FontWrapper *tag_font,
- int tile_x, int tile_y) :
- SpellRegion(im, tag_font, tile_x, tile_y)
+MemoriseRegion::MemoriseRegion(const TileRegionInit &init) : SpellRegion(init)
{
memorise = true;
}
@@ -2937,9 +2931,7 @@ void MemoriseRegion::update()
}
}
-InventoryRegion::InventoryRegion(ImageManager* im, FontWrapper *tag_font,
- int tile_x, int tile_y) :
- GridRegion(im, tag_font, tile_x, tile_y)
+InventoryRegion::InventoryRegion(const TileRegionInit &init) : GridRegion(init)
{
}
@@ -3707,12 +3699,11 @@ void InventoryRegion::update()
}
}
-TabbedRegion::TabbedRegion(ImageManager *im, FontWrapper *tag_font,
- int tile_x, int tile_y) :
- GridRegion(im, tag_font, tile_x, tile_y),
+TabbedRegion::TabbedRegion(const TileRegionInit &init) :
+ GridRegion(init),
m_active(0),
m_mouse_tab(-1),
- m_buf_gui(&im->m_textures[TEX_GUI])
+ m_buf_gui(&init.im->m_textures[TEX_GUI])
{
}