Merge remote-tracking branch 'DFHack/develop' into remote_control

# Conflicts:
#	scripts
develop
Japa 2017-12-31 14:33:03 +05:30
commit 546841d194
8 changed files with 62 additions and 5 deletions

@ -141,7 +141,7 @@ endif()
# set up versioning. # set up versioning.
set(DF_VERSION "0.44.03") set(DF_VERSION "0.44.03")
SET(DFHACK_RELEASE "alpha1") SET(DFHACK_RELEASE "beta1")
SET(DFHACK_PRERELEASE TRUE) SET(DFHACK_PRERELEASE TRUE)
set(DFHACK_VERSION "${DF_VERSION}-${DFHACK_RELEASE}") set(DFHACK_VERSION "${DF_VERSION}-${DFHACK_RELEASE}")

@ -63,7 +63,13 @@ Misc Improvements
- `gui/gm-editor`: added enum names to enum edit dialogs - `gui/gm-editor`: added enum names to enum edit dialogs
- `gui/gm-unit`: made skill search case-insensitive - `gui/gm-unit`: made skill search case-insensitive
- `gui/pathable`: added tile types to sidebar
- `gui/rename`: added "clear" and "special characters" options - `gui/rename`: added "clear" and "special characters" options
- `modtools/skill-change`:
- now updates skill levels appropriately
- only prints output if ``-loud`` is passed
- `remotefortressreader`: includes item stack sizes and some performance improvements - `remotefortressreader`: includes item stack sizes and some performance improvements
Removed Removed

@ -37,6 +37,41 @@ Development Changelog
.. contents:: .. contents::
:depth: 2 :depth: 2
DFHack 0.44.03-beta1
====================
Fixes
-----
- `autolabor`, `autohauler`, `labormanager`: added support for "put item on
display" jobs and building/destroying display furniture
- `gui/gm-editor`: fixed an error when editing primitives in Lua tables
Structures
----------
- Added 7 new globals from DF: ``version``, ``min_load_version``,
``movie_version``, ``basic_seed``, ``title``, ``title_spaced``,
``ui_building_resize_radius``
- Added ``twbt_render_map`` code offset on x64
- Fixed an issue preventing ``enabler`` from being allocated by DFHack
- Added ``job_type.PutItemOnDisplay``
- Found ``renderer`` vtable on osx64
- ``adventure_movement_optionst``, ``adventure_movement_hold_tilest``,
``adventure_movement_climbst``: named coordinate fields
- ``mission``: added type
- ``unit``: added 3 new vmethods: ``getCreatureTile``, ``getCorpseTile``, ``getGlowTile``
- ``viewscreen_assign_display_itemst``: fixed layout on x64 and identified many fields
- ``viewscreen_reportlistst``: fixed layout, added ``mission_id`` vector
- ``world.status``: named ``missions`` vector
Other Changes
-------------
- `devel/dump-offsets`: now ignores ``index`` globals
- `gui/pathable`: added tile types to sidebar
- `modtools/skill-change`:
- now updates skill levels appropriately
- only prints output if ``-loud`` is passed
DFHack 0.44.03-alpha1 DFHack 0.44.03-alpha1
===================== =====================

@ -74,6 +74,7 @@ using namespace DFHack;
#include "df/ui_unit_view_mode.h" #include "df/ui_unit_view_mode.h"
#include "df/unit.h" #include "df/unit.h"
#include "df/unit_inventory_item.h" #include "df/unit_inventory_item.h"
#include "df/viewscreen_assign_display_itemst.h"
#include "df/viewscreen_buildinglistst.h" #include "df/viewscreen_buildinglistst.h"
#include "df/viewscreen_dungeon_monsterstatusst.h" #include "df/viewscreen_dungeon_monsterstatusst.h"
#include "df/viewscreen_dungeonmodest.h" #include "df/viewscreen_dungeonmodest.h"
@ -1042,6 +1043,15 @@ df::item *Gui::getAnyItem(df::viewscreen *top)
return NULL; return NULL;
} }
if (VIRTUAL_CAST_VAR(screen, df::viewscreen_assign_display_itemst, top))
{
if (screen->sel_column == df::viewscreen_assign_display_itemst::T_sel_column::Items)
return vector_get(screen->items[screen->item_type[screen->sel_type]],
screen->sel_item);
return NULL;
}
if (auto dfscreen = dfhack_viewscreen::try_cast(top)) if (auto dfscreen = dfhack_viewscreen::try_cast(top))
return dfscreen->getSelectedItem(); return dfscreen->getSelectedItem();

@ -405,7 +405,8 @@ static const dwarf_state dwarf_states[] = {
BUSY /* MakeRing */, BUSY /* MakeRing */,
BUSY /* MakeEarring */, BUSY /* MakeEarring */,
BUSY /* MakeBracelet */, BUSY /* MakeBracelet */,
BUSY /* MakeGem */ BUSY /* MakeGem */,
BUSY /* PutItemOnDisplay */,
}; };
// Mode assigned to labors. Either it's a hauling job, or it's not. // Mode assigned to labors. Either it's a hauling job, or it's not.

@ -373,7 +373,8 @@ static const dwarf_state dwarf_states[] = {
BUSY /* MakeRing */, BUSY /* MakeRing */,
BUSY /* MakeEarring */, BUSY /* MakeEarring */,
BUSY /* MakeBracelet */, BUSY /* MakeBracelet */,
BUSY /* MakeGem */ BUSY /* MakeGem */,
BUSY /* PutItemOnDisplay */,
}; };
struct labor_info struct labor_info

@ -358,6 +358,7 @@ public:
case df::building_type::GrateWall: case df::building_type::GrateWall:
case df::building_type::Bookcase: case df::building_type::Bookcase:
case df::building_type::Instrument: case df::building_type::Instrument:
case df::building_type::DisplayFurniture:
return df::unit_labor::HAUL_FURNITURE; return df::unit_labor::HAUL_FURNITURE;
case df::building_type::Trap: case df::building_type::Trap:
case df::building_type::GearAssembly: case df::building_type::GearAssembly:
@ -463,6 +464,7 @@ public:
case df::building_type::GrateWall: case df::building_type::GrateWall:
case df::building_type::Bookcase: case df::building_type::Bookcase:
case df::building_type::Instrument: case df::building_type::Instrument:
case df::building_type::DisplayFurniture:
return df::unit_labor::HAUL_FURNITURE; return df::unit_labor::HAUL_FURNITURE;
case df::building_type::AnimalTrap: case df::building_type::AnimalTrap:
return df::unit_labor::TRAPPER; return df::unit_labor::TRAPPER;
@ -882,6 +884,7 @@ JobLaborMapper::JobLaborMapper()
job_to_labor_table[df::job_type::MakeEarring] = jlf_make_object; job_to_labor_table[df::job_type::MakeEarring] = jlf_make_object;
job_to_labor_table[df::job_type::MakeBracelet] = jlf_make_object; job_to_labor_table[df::job_type::MakeBracelet] = jlf_make_object;
job_to_labor_table[df::job_type::MakeGem] = jlf_make_object; job_to_labor_table[df::job_type::MakeGem] = jlf_make_object;
job_to_labor_table[df::job_type::PutItemOnDisplay] = jlf_const(df::unit_labor::HAUL_ITEM);
job_to_labor_table[df::job_type::StoreItemInLocation] = jlf_no_labor; // StoreItemInLocation job_to_labor_table[df::job_type::StoreItemInLocation] = jlf_no_labor; // StoreItemInLocation
}; };

@ -377,7 +377,8 @@ static const dwarf_state dwarf_states[] = {
BUSY /* MakeRing */, BUSY /* MakeRing */,
BUSY /* MakeEarring */, BUSY /* MakeEarring */,
BUSY /* MakeBracelet */, BUSY /* MakeBracelet */,
BUSY /* MakeGem */ BUSY /* MakeGem */,
BUSY /* PutItemOnDisplay */,
}; };
struct labor_info struct labor_info