Update some plugins/scripts for 0.40.22

* autolabor, manipulator: Add BUILD_CONSTRUCTION and BUILD_ROAD labors
* mousequery: Support "toggle engravings" sidebar mode
* devel/export-dt-ini.lua: Add body_part_flags

Conflicts:
	plugins/mousequery.cpp
develop
lethosor 2014-12-21 16:42:12 -05:00
parent 5fc8a1f51f
commit ee958c0f8f
4 changed files with 29 additions and 15 deletions

@ -477,7 +477,9 @@ static const struct labor_default default_labor_infos[] = {
/* PULL_LEVER */ {HAULERS, false, 1, 200, 0},
/* REMOVE_CONSTRUCTION */ {HAULERS, false, 1, 200, 0},
/* HAUL_WATER */ {HAULERS, false, 1, 200, 0},
/* GELD */ {AUTOMATIC, false, 1, 200, 0}
/* GELD */ {AUTOMATIC, false, 1, 200, 0},
/* BUILD_ROAD */ {AUTOMATIC, false, 1, 200, 0},
/* BUILD_CONSTRUCTION */ {AUTOMATIC, false, 1, 200, 0}
};
static const int responsibility_penalties[] = {

@ -189,7 +189,9 @@ const SkillColumn columns[] = {
{12, 4, profession::ALCHEMIST, unit_labor::ALCHEMIST, job_skill::ALCHEMY, "Al"},
{12, 4, profession::NONE, unit_labor::CLEAN, job_skill::NONE, "Cl"},
{12, 4, profession::NONE, unit_labor::PULL_LEVER, job_skill::NONE, "Lv"},
{12, 4, profession::NONE, unit_labor::REMOVE_CONSTRUCTION, job_skill::NONE, "Co"},
{12, 4, profession::NONE, unit_labor::BUILD_ROAD, job_skill::NONE, "Ro"},
{12, 4, profession::NONE, unit_labor::BUILD_CONSTRUCTION, job_skill::NONE, "Co"},
{12, 4, profession::NONE, unit_labor::REMOVE_CONSTRUCTION, job_skill::NONE, "CR"},
// Military - Weapons
{13, 7, profession::WRESTLER, unit_labor::NONE, job_skill::WRESTLING, "Wr"},
{13, 7, profession::AXEMAN, unit_labor::NONE, job_skill::AXE, "Ax"},
@ -1219,7 +1221,7 @@ void viewscreen_unitlaborsst::render()
OutputString(10, x, y, Screen::getKeyDisplay(interface_key::OPTION20));
OutputString(15, x, y, ": Toggle View, ");
OutputString(10, x, y, Screen::getKeyDisplay(interface_key::SECONDSCROLL_DOWN));
OutputString(10, x, y, Screen::getKeyDisplay(interface_key::SECONDSCROLL_UP));
OutputString(15, x, y, ": Sort by Skill, ");

@ -99,7 +99,7 @@ static vector<df::unit *> get_units_at(const df::coord pos, bool only_one)
{
df::unit *unit = world->units.active[i];
if(unit->pos.x == pos.x && unit->pos.y == pos.y && unit->pos.z == pos.z &&
if(unit->pos.x == pos.x && unit->pos.y == pos.y && unit->pos.z == pos.z &&
!(unit->flags1.whole & bad_flags.whole) &&
unit->profession != profession::THIEF && unit->profession != profession::MASTER_THIEF)
{
@ -169,7 +169,7 @@ static df::interface_key get_default_query_mode(const df::coord pos)
{
// For containers use item view, for everything else, query view
return (type == building_type::Box || type == building_type::Cabinet ||
type == building_type::Weaponrack || type == building_type::Armorstand)
type == building_type::Weaponrack || type == building_type::Armorstand)
? df::interface_key::D_BUILDITEM : df::interface_key::D_BUILDJOB;
}
}
@ -210,13 +210,22 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest
case DesignateCarveTrack:
case DesignateEngrave:
case DesignateCarveFortification:
case DesignateItemsClaim:
case DesignateItemsForbid:
case DesignateItemsMelt:
case DesignateItemsUnmelt:
case DesignateItemsDump:
case DesignateItemsUndump:
case DesignateItemsHide:
case DesignateItemsUnhide:
case DesignateChopTrees:
case DesignateToggleEngravings:
case DesignateRemoveConstruction:
case DesignateToggleMarker:
case DesignateTrafficHigh:
case DesignateTrafficNormal:
case DesignateTrafficLow:
case DesignateTrafficRestricted:
case DesignateRemoveConstruction:
return true;
case Burrows:
@ -268,7 +277,7 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest
bool isInAreaSelectionMode()
{
bool selectableMode =
bool selectableMode =
isInDesignationMenu() ||
ui->main.mode == Stockpiles ||
ui->main.mode == Zones;
@ -357,13 +366,13 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest
enabler->mouse_lbut = 0;
// Can't check limits earlier as we must be sure we are in query or default mode
// Can't check limits earlier as we must be sure we are in query or default mode
// (so we can clear the button down flag)
int right_bound = (dims.menu_x1 > 0) ? dims.menu_x1 - 2 : gps->dimx - 2;
if (mx < 1 || mx > right_bound || my < 1 || my > gps->dimy - 2)
return false;
if (ui->main.mode == df::ui_sidebar_mode::Zones ||
if (ui->main.mode == df::ui_sidebar_mode::Zones ||
ui->main.mode == df::ui_sidebar_mode::Stockpiles)
{
int32_t x, y, z;
@ -414,7 +423,7 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest
using namespace df::enums::ui_sidebar_mode;
if ((ui->main.mode == QueryBuilding || ui->main.mode == BuildingItems ||
ui->main.mode == ViewUnits || ui->main.mode == LookAround) ||
ui->main.mode == ViewUnits || ui->main.mode == LookAround) ||
(isInTrackableMode() && tracking_enabled))
{
sendKey(df::interface_key::LEAVESCREEN);
@ -549,7 +558,7 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest
mpos_valid = false;
// Check if in lever binding mode
if (Gui::getFocusString(Core::getTopViewscreen()) ==
if (Gui::getFocusString(Core::getTopViewscreen()) ==
"dwarfmode/QueryBuilding/Some/Lever/AddJob")
{
return;
@ -651,7 +660,7 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest
if (Gui::getDesignationCoords(x, y, z))
{
color = COLOR_WHITE;
if (ui->main.mode == df::ui_sidebar_mode::Zones ||
if (ui->main.mode == df::ui_sidebar_mode::Zones ||
ui->main.mode == df::ui_sidebar_mode::Stockpiles)
{
auto dX = abs(x - mpos.x);
@ -670,8 +679,8 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest
if (shouldTrack())
{
if (delta_t <= scroll_delay && (mx < scroll_buffer ||
mx > dims.menu_x1 - scroll_buffer ||
if (delta_t <= scroll_delay && (mx < scroll_buffer ||
mx > dims.menu_x1 - scroll_buffer ||
my < scroll_buffer ||
my > gps->dimy - scroll_buffer))
{
@ -831,7 +840,7 @@ DFhackCExport command_result plugin_init ( color_ostream &out, std::vector <Plug
commands.push_back(
PluginCommand(
"mousequery", "Add mouse functionality to Dwarf Fortress",
mousequery_cmd, false,
mousequery_cmd, false,
"mousequery [plugin|rbutton|track|edge|live] [enabled|disabled]\n"
" plugin: enable/disable the entire plugin\n"
" rbutton: enable/disable right mouse button\n"

@ -269,6 +269,7 @@ address('shape_name_plural',df.descriptor_shape,'name_plural')
header('health_offsets')
address('parent_id',df.body_part_raw,'con_part_id')
address('body_part_flags',df.body_part_raw,'flags')
address('layers_vector',df.body_part_raw,'layers')
address('number',df.body_part_raw,'number')
address('names_vector',df.body_part_raw,'name_singular')