From 03968db34452306ac0a84d27809978b28f1c7bdc Mon Sep 17 00:00:00 2001 From: lethosor Date: Fri, 1 Jun 2018 10:02:05 -0400 Subject: [PATCH] Fix GCC warnings in 'tweak kitchen-prefs-all' and dev plugins --- library/include/modules/GuiHooks.h | 2 +- plugins/devel/dumpmats.cpp | 23 +++++++------- plugins/devel/frozen.cpp | 6 ++-- plugins/devel/kittens.cpp | 38 ++++++++++-------------- plugins/devel/nestboxes.cpp | 5 ++-- plugins/devel/renderer-msg.cpp | 2 +- plugins/devel/rprobe.cpp | 7 ++--- plugins/devel/stockcheck.cpp | 8 ++--- plugins/tweak/tweaks/kitchen-prefs-all.h | 2 +- 9 files changed, 39 insertions(+), 54 deletions(-) diff --git a/library/include/modules/GuiHooks.h b/library/include/modules/GuiHooks.h index 62f412961..101c35c4e 100644 --- a/library/include/modules/GuiHooks.h +++ b/library/include/modules/GuiHooks.h @@ -42,8 +42,8 @@ namespace DFHack { } class Callback { - T_func *func; T_hook *hook; + T_func *func; bool enabled; public: Callback(T_hook *hook, T_func *func) : hook(hook), func(func) diff --git a/plugins/devel/dumpmats.cpp b/plugins/devel/dumpmats.cpp index 23c7be4e1..42c97e8e6 100644 --- a/plugins/devel/dumpmats.cpp +++ b/plugins/devel/dumpmats.cpp @@ -144,7 +144,8 @@ command_result df_dumpmats (color_ostream &out, vector ¶meters) out.print("\t[STATE_COLOR:%s:%s]\n", state_names[state], world->raws.descriptors.colors[mat->state_color[state]]->id.c_str()); if (mat->state_name[state] == mat->state_adj[state]) { - if (mat->state_name[state].size() && mat->state_name[state] != def_name[state] || mat->state_adj[state].size() && mat->state_adj[state] != def_adj[state]) + if ((mat->state_name[state].size() && mat->state_name[state] != def_name[state]) || + (mat->state_adj[state].size() && mat->state_adj[state] != def_adj[state])) out.print("\t[STATE_NAME_ADJ:%s:%s]\n", state_names[state], mat->state_name[state].c_str()); } else @@ -189,11 +190,11 @@ command_result df_dumpmats (color_ostream &out, vector ¶meters) if (mat->heat.mat_fixed_temp != 60001) out.print("\t[MAT_FIXED_TEMP:%i]\n", mat->heat.mat_fixed_temp); - if (mat->solid_density != 0xFBBC7818) + if (uint32_t(mat->solid_density) != 0xFBBC7818) out.print("\t[SOLID_DENSITY:%i]\n", mat->solid_density); - if (mat->liquid_density != 0xFBBC7818) + if (uint32_t(mat->liquid_density) != 0xFBBC7818) out.print("\t[LIQUID_DENSITY:%i]\n", mat->liquid_density); - if (mat->molar_mass != 0xFBBC7818) + if (uint32_t(mat->molar_mass) != 0xFBBC7818) out.print("\t[MOLAR_MASS:%i]\n", mat->molar_mass); FOR_ENUM_ITEMS(strain_type, strain) @@ -228,9 +229,9 @@ command_result df_dumpmats (color_ostream &out, vector ¶meters) if (mat->block_name[0].size() || mat->block_name[1].size()) out.print("\t[BLOCK_NAME:%s:%s]\n", mat->block_name[0].c_str(), mat->block_name[1].c_str()); - for (int i = 0; i < mat->reaction_class.size(); i++) - out.print("\t[REACTION_CLASS:%s]\n", mat->reaction_class[i]->c_str()); - for (int i = 0; i < mat->reaction_product.id.size(); i++) + for (std::string *s : mat->reaction_class) + out.print("\t[REACTION_CLASS:%s]\n", s->c_str()); + for (size_t i = 0; i < mat->reaction_product.id.size(); i++) { if ((*mat->reaction_product.str[0][i] == "NONE") && (*mat->reaction_product.str[1][i] == "NONE")) out.print("\t[MATERIAL_REACTION_PRODUCT:%s:%s:%s%s%s]\n", mat->reaction_product.id[i]->c_str(), mat->reaction_product.str[2][i]->c_str(), mat->reaction_product.str[3][i]->c_str(), mat->reaction_product.str[4][i]->size() ? ":" : "", mat->reaction_product.str[4][i]->c_str()); @@ -241,12 +242,12 @@ command_result df_dumpmats (color_ostream &out, vector ¶meters) if (mat->hardens_with_water.mat_type != -1) out.print("\t[HARDENS_WITH_WATER:%s:%s%s%s]\n", mat->hardens_with_water.str[0].c_str(), mat->hardens_with_water.str[1].c_str(), mat->hardens_with_water.str[2].size() ? ":" : "", mat->hardens_with_water.str[2].c_str()); if (mat->powder_dye != -1) - out.print("\t[POWDER_DYE:%s]\n", world->raws.descriptors.colors[mat->powder_dye]->id.c_str()); + out.print("\t[POWDER_DYE:%s]\n", world->raws.descriptors.colors[mat->powder_dye]->id.c_str()); if (mat->soap_level != -0) - out.print("\t[SOAP_LEVEL:%o]\n", mat->soap_level); + out.print("\t[SOAP_LEVEL:%o]\n", mat->soap_level); - for (int i = 0; i < mat->syndrome.size(); i++) - out.print("\t[SYNDROME] ...\n"); + for (size_t i = 0; i < mat->syndrome.size(); i++) + out.print("\t[SYNDROME] ...\n"); } return CR_OK; } diff --git a/plugins/devel/frozen.cpp b/plugins/devel/frozen.cpp index ed5192073..fca6559ad 100644 --- a/plugins/devel/frozen.cpp +++ b/plugins/devel/frozen.cpp @@ -20,12 +20,10 @@ using df::global::world; int changeLiquid (df::tile_liquid type) { int tiles = 0; - for (int i = 0; i < world->map.map_blocks.size(); i++) + for (df::map_block *block : world->map.map_blocks) { - df::map_block *block = world->map.map_blocks[i]; - for (size_t j = 0; j < block->block_events.size(); j++) + for (df::block_square_event *evt : block->block_events) { - df::block_square_event *evt = block->block_events[j]; if (evt->getType() != block_square_event_type::frozen_liquid) continue; df::block_square_event_frozen_liquidst *frozen = (df::block_square_event_frozen_liquidst *)evt; diff --git a/plugins/devel/kittens.cpp b/plugins/devel/kittens.cpp index 77da0851e..4ed884e27 100644 --- a/plugins/devel/kittens.cpp +++ b/plugins/devel/kittens.cpp @@ -19,7 +19,10 @@ using std::vector; using std::string; using namespace DFHack; +DFHACK_PLUGIN("kittens"); DFHACK_PLUGIN_IS_ENABLED(is_enabled); +REQUIRE_GLOBAL(ui); +REQUIRE_GLOBAL(world); //FIXME: possible race conditions with calling kittens from the IO thread and shutdown from Core. volatile bool shutdown_flag = false; @@ -30,7 +33,7 @@ bool trackpos_flg = false; bool statetrack = false; int32_t last_designation[3] = {-30000, -30000, -30000}; int32_t last_mouse[2] = {-1, -1}; -uint32_t last_menu = 0; +df::ui_sidebar_mode last_menu = df::ui_sidebar_mode::Default; uint64_t timeLast = 0; command_result kittens (color_ostream &out, vector & parameters); @@ -40,8 +43,6 @@ command_result trackpos (color_ostream &out, vector & parameters); command_result trackstate (color_ostream &out, vector & parameters); command_result colormods (color_ostream &out, vector & parameters); -DFHACK_PLUGIN("kittens"); - DFhackCExport command_result plugin_init ( color_ostream &out, std::vector &commands) { commands.push_back(PluginCommand("nyan","NYAN CAT INVASION!",kittens)); @@ -103,9 +104,9 @@ DFhackCExport command_result plugin_onupdate ( color_ostream &out ) } if(trackmenu_flg) { - if (last_menu != df::global::ui->main.mode) + if (last_menu != ui->main.mode) { - last_menu = df::global::ui->main.mode; + last_menu = ui->main.mode; out.print("Menu: %d\n",last_menu); } } @@ -141,19 +142,11 @@ command_result trackmenu (color_ostream &out, vector & parameters) } else { - if(df::global::ui) - { - trackmenu_flg = true; - is_enabled = true; - last_menu = df::global::ui->main.mode; - out.print("Menu: %d\n",last_menu); - return CR_OK; - } - else - { - out.printerr("Can't read menu state\n"); - return CR_FAILURE; - } + trackmenu_flg = true; + is_enabled = true; + last_menu = ui->main.mode; + out.print("Menu: %d\n",last_menu); + return CR_OK; } } command_result trackpos (color_ostream &out, vector & parameters) @@ -172,13 +165,12 @@ command_result trackstate ( color_ostream& out, vector< string >& parameters ) command_result colormods (color_ostream &out, vector & parameters) { CoreSuspender suspend; - auto & vec = df::global::world->raws.creatures.alphabetic; - for(int i = 0; i < vec.size();i++) + auto & vec = world->raws.creatures.alphabetic; + for(df::creature_raw* rawlion : vec) { - df::creature_raw* rawlion = vec[i]; df::caste_raw * caste = rawlion->caste[0]; out.print("%s\nCaste addr 0x%x\n",rawlion->creature_id.c_str(), &caste->color_modifiers); - for(int j = 0; j < caste->color_modifiers.size();j++) + for(size_t j = 0; j < caste->color_modifiers.size();j++) { out.print("mod %d: 0x%x\n", j, caste->color_modifiers[j]); } @@ -284,7 +276,7 @@ command_result kittens (color_ostream &out, vector & parameters) } con.flush(); con.msleep(60); - ((int&)color) ++; + color = Console::color_value(int(color) + 1); if(color > COLOR_MAX) color = COLOR_BLUE; } diff --git a/plugins/devel/nestboxes.cpp b/plugins/devel/nestboxes.cpp index d29e97558..634735f78 100644 --- a/plugins/devel/nestboxes.cpp +++ b/plugins/devel/nestboxes.cpp @@ -37,9 +37,8 @@ static void eggscan(color_ostream &out) { CoreSuspender suspend; - for (int i = 0; i < world->buildings.all.size(); ++i) + for (df::building *build : world->buildings.all) { - df::building *build = world->buildings.all[i]; auto type = build->getType(); if (df::enums::building_type::NestBox == type) { @@ -51,7 +50,7 @@ static void eggscan(color_ostream &out) if (u && u->pregnancy_timer > 0) fertile = true; } - for (int j = 1; j < nb->contained_items.size(); j++) + for (size_t j = 1; j < nb->contained_items.size(); j++) { df::item* item = nb->contained_items[j]->item; if (item->flags.bits.forbid != fertile) diff --git a/plugins/devel/renderer-msg.cpp b/plugins/devel/renderer-msg.cpp index a2143d137..e6a33114f 100644 --- a/plugins/devel/renderer-msg.cpp +++ b/plugins/devel/renderer-msg.cpp @@ -26,7 +26,7 @@ struct renderer_msg : public Renderer::renderer_wrap { virtual void update_tile (int32_t x, int32_t y) { static std::string str = std::string("DFHack: ") + plugin_name + " active"; Screen::paintString(Screen::Pen(' ', 9, 0), 0, gps->dimy - 1, str); - for (size_t i = 0; i < gps->dimx; ++i) + for (int32_t i = 0; i < gps->dimx; ++i) ((scdata*)screen)[i * gps->dimy + gps->dimy - 1].bg = 2; renderer_wrap::update_tile(x, y); }; diff --git a/plugins/devel/rprobe.cpp b/plugins/devel/rprobe.cpp index 082966f87..8017c1dbd 100644 --- a/plugins/devel/rprobe.cpp +++ b/plugins/devel/rprobe.cpp @@ -63,7 +63,7 @@ command_result rprobe (color_ostream &out, vector & parameters) CoreSuspender suspend; bool set = false; - int to_set, set_field, set_val; + int to_set = -1, set_field = -1, set_val = -1; // Embark screen active: estimate using world geology data VIRTUAL_CAST_VAR(screen, df::viewscreen_choose_start_sitest, Core::getTopViewscreen()); @@ -107,16 +107,15 @@ command_result rprobe (color_ostream &out, vector & parameters) } df::world_data *data = world->world_data; - coord2d cur_region = screen->location.region_pos; // Compute biomes - for (int i = 0; i < screen->location.biome_rgn.size(); i++) + for (size_t i = 0; i < screen->location.biome_rgn.size(); i++) { coord2d rg = screen->location.biome_rgn[i]; auto rd = &data->region_map[rg.x][rg.y]; - if (set && i == to_set) { + if (set && int(i) == to_set) { if (set_field == 0) rd->rainfall = set_val; else if (set_field == 1) diff --git a/plugins/devel/stockcheck.cpp b/plugins/devel/stockcheck.cpp index 679411b0e..bc4bea52f 100644 --- a/plugins/devel/stockcheck.cpp +++ b/plugins/devel/stockcheck.cpp @@ -29,9 +29,7 @@ using df::global::selection_rect; using df::building_stockpilest; -static command_result copystock(color_ostream &out, vector & parameters); static command_result stockcheck(color_ostream &out, vector & parameters); -static bool copystock_guard(df::viewscreen *top); DFHACK_PLUGIN("stockcheck"); @@ -122,9 +120,8 @@ static command_result stockcheck(color_ostream &out, vector & parameter std::vector stockpiles; - for (int i = 0; i < world->buildings.all.size(); ++i) + for (df::building *build : world->buildings.all) { - df::building *build = world->buildings.all[i]; auto type = build->getType(); if (df::enums::building_type::Stockpile == type) { @@ -239,9 +236,8 @@ static command_result stockcheck(color_ostream &out, vector & parameter int canHoldCount = 0; StockpileInfo *current = 0; - for (int idx = 0; idx < stockpiles.size(); idx++) + for (StockpileInfo *spi : stockpiles) { - StockpileInfo *spi = stockpiles[idx]; if (spi->canHold(item)) canHoldCount++; if (spi->inStockpile(item)) current=spi; } diff --git a/plugins/tweak/tweaks/kitchen-prefs-all.h b/plugins/tweak/tweaks/kitchen-prefs-all.h index c5fa7baa9..7649155e7 100644 --- a/plugins/tweak/tweaks/kitchen-prefs-all.h +++ b/plugins/tweak/tweaks/kitchen-prefs-all.h @@ -24,7 +24,7 @@ struct kitchen_prefs_all_hook : df::viewscreen_kitchenprefst { exc_type = df::kitchen_exc_type::Brew; } - if (flag.whole && cursor < forbidden[page].size()) + if (flag.whole && size_t(cursor) < forbidden[page].size()) { bool was_forbidden = forbidden[page][cursor].whole & flag.whole; for (size_t i = 0; i < forbidden[page].size(); i++)