Skip to content

Commit

Permalink
fixing crash when graphics is disabled, and text and map tilesets are…
Browse files Browse the repository at this point in the history
… the same
  • Loading branch information
pronvit committed Jul 24, 2018
1 parent 6168d1f commit 4ebdd67
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 9 deletions.
17 changes: 13 additions & 4 deletions config.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,16 +140,25 @@ static bool load_map_font()

long dx, dy;
load_tileset(gsmall_font_path, (long*)ts.small_texpos, 16, 16, &dx, &dy);
load_tileset_layers(ts, gsmall_font_path);
small_map_dispx = dx, small_map_dispy = dy;

small_map_dispx = dx;
small_map_dispy = dy;
load_tileset_layers(ts, gsmall_font_path);

tilesets.push_back(ts);
return true;
}
else
{
struct tileset ts;

return false;
memcpy(ts.small_texpos, init->font.small_font_texpos, sizeof(ts.small_texpos));
small_map_dispx = init->font.small_font_dispx, small_map_dispy = init->font.small_font_dispy;

load_tileset_layers(ts, gsmall_font_path);

tilesets.push_back(ts);
return false;
}
}

static bool load_text_font()
Expand Down
15 changes: 10 additions & 5 deletions plugin.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ DFhackCExport command_result plugin_init ( color_ostream &out, vector <PluginCom
small_map_dispx = init->font.small_font_dispx, small_map_dispy = init->font.small_font_dispy;

has_textfont = load_text_font();
if (!has_textfont)
tilesets.push_back(tilesets[0]);
}
else
{
Expand All @@ -107,15 +109,18 @@ DFhackCExport command_result plugin_init ( color_ostream &out, vector <PluginCom
has_textfont = load_map_font();

// Existing text tileset - accessible at index 1
struct tileset ts;
memcpy(ts.small_texpos, init->font.small_font_texpos, sizeof(ts.small_texpos));
tilesets.push_back(ts);
if (has_textfont)
{
struct tileset ts;
memcpy(ts.small_texpos, init->font.small_font_texpos, sizeof(ts.small_texpos));
tilesets.push_back(ts);
}
else
tilesets.push_back(tilesets[0]);
}

if (!has_textfont)
{
tilesets.push_back(tilesets[0]);

*out2 << COLOR_YELLOW << "TWBT: FONT and GRAPHICS_FONT are the same" << std::endl;
*out2 << COLOR_RESET;
}
Expand Down

0 comments on commit 4ebdd67

Please sign in to comment.