From b11673e9b043a9b7b4edfc37ea1c0b02d3d182b5 Mon Sep 17 00:00:00 2001 From: lethosor Date: Tue, 10 Jun 2014 12:38:40 -0400 Subject: [PATCH] Use this instead of getCurViewscreen --- plugins/embark-tools.cpp | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/plugins/embark-tools.cpp b/plugins/embark-tools.cpp index c9bbdf27e..d4334fde5 100644 --- a/plugins/embark-tools.cpp +++ b/plugins/embark-tools.cpp @@ -160,11 +160,9 @@ void resize_embark (df::viewscreen_choose_start_sitest * screen, int dx, int dy) std::string sand_indicator = ""; bool sand_dirty = true; // Flag set when update is needed -void sand_update () +void sand_update (df::viewscreen_choose_start_sitest * screen) { CoreSuspendClaimer suspend; - df::viewscreen * top = Gui::getCurViewscreen(); - VIRTUAL_CAST_VAR(screen, df::viewscreen_choose_start_sitest, top); buffered_color_ostream out; Core::getInstance().runCommand(out, "prospect"); auto fragments = out.fragments(); @@ -219,8 +217,6 @@ struct choose_start_site_hook : df::viewscreen_choose_start_sitest DEFINE_VMETHOD_INTERPOSE(void, feed, (std::set *input)) { bool prevent_default = false; - df::viewscreen * top = Gui::getCurViewscreen(); - VIRTUAL_CAST_VAR(screen, df::viewscreen_choose_start_sitest, top); if (tool_enabled("anywhere")) { for (auto iter = input->begin(); iter != input->end(); iter++) @@ -229,7 +225,7 @@ struct choose_start_site_hook : df::viewscreen_choose_start_sitest if (key == df::interface_key::SETUP_EMBARK) { prevent_default = true; - screen->in_embark_normal = 1; + this->in_embark_normal = 1; } } } @@ -267,7 +263,7 @@ struct choose_start_site_hook : df::viewscreen_choose_start_sitest if (is_resize) { prevent_default = true; - resize_embark(screen, dx, dy); + resize_embark(this, dx, dy); } } } @@ -304,7 +300,7 @@ struct choose_start_site_hook : df::viewscreen_choose_start_sitest } if (is_motion && !sticky_moved) { - sticky_save(screen); + sticky_save(this); sticky_moved = true; } } @@ -320,14 +316,9 @@ struct choose_start_site_hook : df::viewscreen_choose_start_sitest DEFINE_VMETHOD_INTERPOSE(void, render, ()) { - df::viewscreen * top = Gui::getCurViewscreen(); - VIRTUAL_CAST_VAR(screen, df::viewscreen_choose_start_sitest, top); - if (!screen) - return; - if (tool_enabled("sticky") && sticky_moved) { - sticky_apply(screen); + sticky_apply(this); sticky_moved = false; } @@ -363,7 +354,7 @@ struct choose_start_site_hook : df::viewscreen_choose_start_sitest if (tool_enabled("anywhere")) { x = 20; y = dim.y - 2; - if (screen->page >= 0 && screen->page <= 4) + if (this->page >= 0 && this->page <= 4) { // Only display on five map pages, not on site finder or notes OutputString(COLOR_WHITE, x, y, ": Embark!"); @@ -373,10 +364,10 @@ struct choose_start_site_hook : df::viewscreen_choose_start_sitest { if (sand_dirty) { - sand_update(); + sand_update(this); } x = dim.x - 28; y = 13; - if (screen->page == 0) + if (this->page == 0) { OutputString(COLOR_YELLOW, x, y, sand_indicator); }