From 8ac1ea1ca51ffc843db5147397ab1fa2d80df9bb Mon Sep 17 00:00:00 2001 From: vallode <18506096+vallode@users.noreply.github.com> Date: Fri, 27 Jan 2023 19:03:36 +0100 Subject: [PATCH 01/12] Add show-unit-syndromes to removed scripts --- docs/about/Removed.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/about/Removed.rst b/docs/about/Removed.rst index ad36ed8a8..174bd1185 100644 --- a/docs/about/Removed.rst +++ b/docs/about/Removed.rst @@ -151,6 +151,12 @@ ruby Support for the Ruby language in DFHack scripts was removed due to the issues the Ruby library causes when used as an embedded language. +.. _show_unit_syndromes: + +show_unit_syndromes +==== +Replaced with a GUI version: `gui/unit-syndromes`. + .. _warn-stuck-trees: warn-stuck-trees From c6f4a7ee4257c1d9e6a0a1cb3efb3f4f2981a75b Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Fri, 27 Jan 2023 13:36:01 -0800 Subject: [PATCH 02/12] inhibit _MOUSE_L globally once _MOUSE_L_DOWN is handled so the _MOUSE_L doesn't bleed through to the underlying viewscreen --- library/lua/gui.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/library/lua/gui.lua b/library/lua/gui.lua index dc08506d7..d870399a3 100644 --- a/library/lua/gui.lua +++ b/library/lua/gui.lua @@ -693,6 +693,8 @@ end -- Z-order swapping screen -- ----------------------------- +local zscreen_inhibit_mouse_l = false + ZScreen = defclass(ZScreen, Screen) ZScreen.ATTRS{ initial_pause=true, @@ -754,7 +756,7 @@ function ZScreen:onInput(keys) if keys._MOUSE_L_DOWN then -- note we can't clear mouse_lbut here. otherwise we break dragging, df.global.enabler.mouse_lbut_down = 0 - self.inhibit_mouse_l = true + zscreen_inhibit_mouse_l = true end if keys._MOUSE_R_DOWN then df.global.enabler.mouse_rbut_down = 0 @@ -773,11 +775,11 @@ function ZScreen:onInput(keys) df.global.enabler.mouse_rbut = 0 return else - if self.inhibit_mouse_l then + if zscreen_inhibit_mouse_l then if keys._MOUSE_L then return else - self.inhibit_mouse_l = nil + zscreen_inhibit_mouse_l = false end end local passit = self.pass_pause and keys.D_PAUSE From 22dd49ce38b2afb4eb6395e78e04ed7b37414c1c Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Fri, 27 Jan 2023 13:38:21 -0800 Subject: [PATCH 03/12] remove "room" checking for buildings -- there is no room --- library/LuaApi.cpp | 4 +-- library/include/modules/Buildings.h | 6 ++-- library/modules/Buildings.cpp | 44 ++++++++--------------------- 3 files changed, 18 insertions(+), 36 deletions(-) diff --git a/library/LuaApi.cpp b/library/LuaApi.cpp index 439ed5d15..421821c05 100644 --- a/library/LuaApi.cpp +++ b/library/LuaApi.cpp @@ -2234,8 +2234,8 @@ static const luaL_Reg dfhack_burrows_funcs[] = { /***** Buildings module *****/ -static bool buildings_containsTile(df::building *bld, int x, int y, bool room) { - return Buildings::containsTile(bld, df::coord2d(x,y), room); +static bool buildings_containsTile(df::building *bld, int x, int y) { + return Buildings::containsTile(bld, df::coord2d(x,y)); } static const LuaWrapper::FunctionReg dfhack_buildings_module[] = { diff --git a/library/include/modules/Buildings.h b/library/include/modules/Buildings.h index f4e8f37be..cb9091861 100644 --- a/library/include/modules/Buildings.h +++ b/library/include/modules/Buildings.h @@ -151,9 +151,11 @@ DFHACK_EXPORT bool checkFreeTiles(df::coord pos, df::coord2d size, DFHACK_EXPORT int countExtentTiles(df::building_extents *ext, int defval = -1); /** - * Checks if the building contains the specified tile. + * Checks if the building contains the specified tile. If the building has + * extents, returns whether tile is included within the extents. The x and y in + * tile are the map coordinates without the z component. */ -DFHACK_EXPORT bool containsTile(df::building *bld, df::coord2d tile, bool room = false); +DFHACK_EXPORT bool containsTile(df::building *bld, df::coord2d tile); /** * Checks if the area has support from the terrain. diff --git a/library/modules/Buildings.cpp b/library/modules/Buildings.cpp index 5077b5b52..828768a54 100644 --- a/library/modules/Buildings.cpp +++ b/library/modules/Buildings.cpp @@ -407,7 +407,7 @@ df::building *Buildings::findAtTile(df::coord pos) if (building && building->z == pos.z && building->isSettingOccupancy() && - containsTile(building, pos, false)) + containsTile(building, pos)) { return building; } @@ -442,24 +442,19 @@ df::building *Buildings::findAtTile(df::coord pos) static unordered_map corner1; static unordered_map corner2; -static void cacheBuilding(df::building *building, bool is_civzone) { +static void cacheBuilding(df::building *building) { int32_t id = building->id; df::coord p1(min(building->x1, building->x2), min(building->y1,building->y2), building->z); df::coord p2(max(building->x1, building->x2), max(building->y1,building->y2), building->z); - if (!is_civzone) { - // civzones can be dynamically shrunk so we don't bother to cache - // their boundaries. findCivzonesAt() will trim the cache as needed. - corner1[id] = p1; - corner2[id] = p2; - } + corner1[id] = p1; + corner2[id] = p2; for (int32_t x = p1.x; x <= p2.x; x++) { for (int32_t y = p1.y; y <= p2.y; y++) { df::coord pt(x, y, building->z); - if (Buildings::containsTile(building, pt, is_civzone)) { - if (!is_civzone) - locationToBuilding[pt] = id; + if (Buildings::containsTile(building, pt)) { + locationToBuilding[pt] = id; } } } @@ -868,31 +863,16 @@ int Buildings::countExtentTiles(df::building_extents *ext, int defval) return cnt; } -bool Buildings::containsTile(df::building *bld, df::coord2d tile, bool room) -{ +bool Buildings::containsTile(df::building *bld, df::coord2d tile) { CHECK_NULL_POINTER(bld); - if (room) - { -/* TODO: understand how this changes for v50 - if (!bld->is_room || !bld->room.extents) - return false; -*/ - } - else - { + if (!bld->isExtentShaped() || !bld->room.extents) { if (tile.x < bld->x1 || tile.x > bld->x2 || tile.y < bld->y1 || tile.y > bld->y2) return false; } - if (bld->room.extents && (room || bld->isExtentShaped())) - { - df::building_extents_type *etile = getExtentTile(bld->room, tile); - if (!etile || !*etile) - return false; - } - - return true; + df::building_extents_type *etile = getExtentTile(bld->room, tile); + return etile && *etile; } bool Buildings::hasSupport(df::coord pos, df::coord2d size) @@ -1491,7 +1471,7 @@ void Buildings::updateBuildings(color_ostream&, void* ptr) { bool is_civzone = !building->isSettingOccupancy(); if (!corner1.count(id) && !is_civzone) - cacheBuilding(building, false); + cacheBuilding(building); } else if (corner1.count(id)) { @@ -1697,7 +1677,7 @@ StockpileIterator& StockpileIterator::operator++() { continue; } - if (!Buildings::containsTile(stockpile, item->pos, false)) { + if (!Buildings::containsTile(stockpile, item->pos)) { continue; } From f700ef90b8df6dd7605a7cac51cccfa1ff4b368f Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Fri, 27 Jan 2023 13:38:49 -0800 Subject: [PATCH 04/12] expose tiletype setting to Lua --- plugins/tiletypes.cpp | 287 ++++++++++++++++++++++++------------------ 1 file changed, 164 insertions(+), 123 deletions(-) diff --git a/plugins/tiletypes.cpp b/plugins/tiletypes.cpp index f3773b0fe..e0738e7fa 100644 --- a/plugins/tiletypes.cpp +++ b/plugins/tiletypes.cpp @@ -259,7 +259,7 @@ struct TileType inline bool matches(const df::tiletype source, const df::tile_designation des, - const t_matpair mat) + const t_matpair mat) const { bool rv = true; rv &= (shape == -1 || shape == tileShape(source)); @@ -735,6 +735,111 @@ bool processTileType(color_ostream & out, TileType &paint, std::vector= 0) + source = blk->baseTiletypeAt(pos); + + t_matpair basemat = blk->baseMaterialAt(pos); + + if (!match.matches(source, des, basemat)) + return true; + + df::tiletype_shape shape = target.shape; + if (shape == tiletype_shape::NONE) + shape = tileShape(source); + + df::tiletype_material material = target.material; + if (material == tiletype_material::NONE) + material = tileMaterial(source); + + df::tiletype_special special = target.special; + if (special == tiletype_special::NONE) + special = tileSpecial(source); + + df::tiletype_variant variant = target.variant; + /* + * FIXME: variant should be: + * 1. If user variant: + * 2. If user variant \belongs target variants + * 3. use user variant + * 4. Else + * 5. use variant 0 + * 6. If the source variant \belongs target variants + * 7 use source variant + * 8 ElseIf num target shape/material variants > 1 + * 9. pick one randomly + * 10.Else + * 11. use variant 0 + * + * The following variant check has been disabled because it's severely limiting + * the usefullness of the tool. + */ + /* + if (variant == tiletype_variant::NONE) + { + variant = tileVariant(source); + } + */ + // Remove direction from directionless tiles + DFHack::TileDirection direction = tileDirection(source); + if (!(material == tiletype_material::RIVER || shape == tiletype_shape::BROOK_BED || special == tiletype_special::TRACK || (shape == tiletype_shape::WALL && (material == tiletype_material::CONSTRUCTION || special == tiletype_special::SMOOTH)))) + direction.whole = 0; + + df::tiletype type = DFHack::findTileType(shape, material, variant, special, direction); + // hack for empty space + if (shape == tiletype_shape::EMPTY && material == tiletype_material::AIR && variant == tiletype_variant::VAR_1 && special == tiletype_special::NORMAL && direction.whole == 0) + type = tiletype::OpenSpace; + + // make sure it's not invalid + if (type != tiletype::Void) { + if (target.stone_material >= 0) { + if (!blk->setStoneAt(pos, type, target.stone_material, target.vein_type, true, true)) + return false; + } + else + map.setTiletypeAt(pos, type); + } + + if (target.hidden > -1) + des.bits.hidden = target.hidden; + + if (target.light > -1) + des.bits.light = target.light; + + if (target.subterranean > -1) + des.bits.subterranean = target.subterranean; + + if (target.skyview > -1) + des.bits.outside = target.skyview; + + if (target.aquifer > -1) + des.bits.water_table = target.aquifer; + + // Remove liquid from walls, etc + if (type != (df::tiletype)-1 && !DFHack::FlowPassable(type)) + { + des.bits.flow_size = 0; + //des.bits.liquid_type = DFHack::liquid_water; + //des.bits.water_table = 0; + des.bits.flow_forbid = 0; + //des.bits.liquid_static = 0; + //des.bits.water_stagnant = 0; + //des.bits.water_salt = 0; + } + + map.setDesignationAt(pos, des); + return true; +} + command_result executePaintJob(color_ostream &out, const tiletypes_options &opts) { @@ -786,128 +891,8 @@ command_result executePaintJob(color_ostream &out, for (coord_vec::iterator iter = all_tiles.begin(); iter != all_tiles.end(); ++iter) { - MapExtras::Block *blk = map.BlockAtTile(*iter); - if (!blk) - continue; - - df::tiletype source = map.tiletypeAt(*iter); - df::tile_designation des = map.designationAt(*iter); - - // Stone painting operates on the base layer - if (paint.stone_material >= 0) - source = blk->baseTiletypeAt(*iter); - - t_matpair basemat = blk->baseMaterialAt(*iter); - - if (!filter.matches(source, des, basemat)) - { - continue; - } - - df::tiletype_shape shape = paint.shape; - if (shape == tiletype_shape::NONE) - { - shape = tileShape(source); - } - - df::tiletype_material material = paint.material; - if (material == tiletype_material::NONE) - { - material = tileMaterial(source); - } - - df::tiletype_special special = paint.special; - if (special == tiletype_special::NONE) - { - special = tileSpecial(source); - } - df::tiletype_variant variant = paint.variant; - /* - * FIXME: variant should be: - * 1. If user variant: - * 2. If user variant \belongs target variants - * 3. use user variant - * 4. Else - * 5. use variant 0 - * 6. If the source variant \belongs target variants - * 7 use source variant - * 8 ElseIf num target shape/material variants > 1 - * 9. pick one randomly - * 10.Else - * 11. use variant 0 - * - * The following variant check has been disabled because it's severely limiting - * the usefullness of the tool. - */ - /* - if (variant == tiletype_variant::NONE) - { - variant = tileVariant(source); - } - */ - // Remove direction from directionless tiles - DFHack::TileDirection direction = tileDirection(source); - if (!(material == tiletype_material::RIVER || shape == tiletype_shape::BROOK_BED || special == tiletype_special::TRACK || (shape == tiletype_shape::WALL && (material == tiletype_material::CONSTRUCTION || special == tiletype_special::SMOOTH)))) - { - direction.whole = 0; - } - - df::tiletype type = DFHack::findTileType(shape, material, variant, special, direction); - // hack for empty space - if (shape == tiletype_shape::EMPTY && material == tiletype_material::AIR && variant == tiletype_variant::VAR_1 && special == tiletype_special::NORMAL && direction.whole == 0) - { - type = tiletype::OpenSpace; - } - // make sure it's not invalid - if(type != tiletype::Void) - { - if (paint.stone_material >= 0) - { - if (!blk->setStoneAt(*iter, type, paint.stone_material, paint.vein_type, true, true)) - failures++; - } - else - map.setTiletypeAt(*iter, type); - } - - if (paint.hidden > -1) - { - des.bits.hidden = paint.hidden; - } - - if (paint.light > -1) - { - des.bits.light = paint.light; - } - - if (paint.subterranean > -1) - { - des.bits.subterranean = paint.subterranean; - } - - if (paint.skyview > -1) - { - des.bits.outside = paint.skyview; - } - - if (paint.aquifer > -1) - { - des.bits.water_table = paint.aquifer; - } - - // Remove liquid from walls, etc - if (type != (df::tiletype)-1 && !DFHack::FlowPassable(type)) - { - des.bits.flow_size = 0; - //des.bits.liquid_type = DFHack::liquid_water; - //des.bits.water_table = 0; - des.bits.flow_forbid = 0; - //des.bits.liquid_static = 0; - //des.bits.water_stagnant = 0; - //des.bits.water_salt = 0; - } - - map.setDesignationAt(*iter, des); + if (!paintTile(map, *iter, paint, filter)) + ++failures; } if (failures > 0) @@ -1135,3 +1120,59 @@ command_result df_tiletypes_here_point (color_ostream &out, vector & pa brush = old; return rv; } + +static bool setTile(color_ostream &out, df::coord pos, df::tiletype_shape shape, + df::tiletype_material material, df::tiletype_special special, + df::tiletype_variant variant) { + if (!Maps::isValidTilePos(pos)) { + out.printerr("Invalid map position: %d, %d, %d\n", pos.x, pos.y, pos.z); + return false; + } + + if (!is_valid_enum_item(shape)) { + out.printerr("Invalid shape type: %d\n", shape); + return false; + } + if (!is_valid_enum_item(material)) { + out.printerr("Invalid material type: %d\n", material); + return false; + } + if (!is_valid_enum_item(special)) { + out.printerr("Invalid special type: %d\n", special); + return false; + } + if (!is_valid_enum_item(variant)) { + out.printerr("Invalid variant type: %d\n", variant); + return false; + } + + TileType target; + target.shape = shape; + target.material = material; + target.special = special; + target.variant = variant; + + MapExtras::MapCache map; + return paintTile(map, pos, target) && map.WriteAll(); +} + +static int tiletypes_setTile(lua_State *L) { + color_ostream *out = Lua::GetOutput(L); + if (!out) + out = &Core::getInstance().getConsole(); + + df::coord pos; + Lua::CheckDFAssign(L, &pos, 1); + df::tiletype_shape shape = (df::tiletype_shape)lua_tointeger(L, 2); + df::tiletype_material material = (df::tiletype_material)lua_tointeger(L, 3); + df::tiletype_special special = (df::tiletype_special)lua_tointeger(L, 4); + df::tiletype_variant variant = (df::tiletype_variant)lua_tointeger(L, 5); + + Lua::Push(L, setTile(*out, pos, shape, material, special, variant)); + return 1; +} + +DFHACK_PLUGIN_LUA_COMMANDS { + DFHACK_LUA_COMMAND(tiletypes_setTile), + DFHACK_LUA_END +}; From b492d92748706ef0a47f6af91ddf5c9efe668986 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Fri, 27 Jan 2023 13:39:03 -0800 Subject: [PATCH 05/12] update docs --- docs/changelog.txt | 3 ++- docs/dev/Lua API.rst | 13 +++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 8d84e3cff..871526c85 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -36,7 +36,7 @@ changelog.txt uses a syntax similar to RST, with a few special sequences: ## New Plugins ## Fixes -- Fix issues with clicks "passing through" some DFHack window elements, like scrollbars +-@ Fix issues with clicks "passing through" some DFHack window elements, like scrollbars ## Misc Improvements - A new cross-compile build script was added for building the Windows files from a Linux Docker builder (see the Compile instructions in the docs) @@ -50,6 +50,7 @@ changelog.txt uses a syntax similar to RST, with a few special sequences: ## Documentation ## API +- ``Buildings::containsTile()``: no longer takes a ``room`` parameter since that's not how rooms work anymore. If the building has extents, the extents will be checked. otherwise, the result just depends on whether the tile is within the building's bounding box. ## Lua - `helpdb`: new function: ``helpdb.refresh()`` to force a refresh of the database. Call if you are a developer adding new scripts, loading new plugins, or changing help text during play diff --git a/docs/dev/Lua API.rst b/docs/dev/Lua API.rst index eb05db0a1..a21ed0aba 100644 --- a/docs/dev/Lua API.rst +++ b/docs/dev/Lua API.rst @@ -1933,9 +1933,11 @@ General Returns the number of tiles included by extents, or defval. -* ``dfhack.buildings.containsTile(building, x, y[, room])`` +* ``dfhack.buildings.containsTile(building, x, y)`` - Checks if the building contains the specified tile, either directly, or as room. + Checks if the building contains the specified tile. If the building contains extents, + then the extents are checked. Otherwise, returns whether the x and y map coordinates + are within the building's bounding box. * ``dfhack.buildings.hasSupport(pos,size)`` @@ -5603,6 +5605,13 @@ sort The `sort ` plugin does not export any native functions as of now. Instead, it calls Lua code to perform the actual ordering of list items. +tiletypes +========= + +* ``bool tiletypes_setTile(pos, shape, material, special, variant)`` where + the parameters are enum values from ``df.tiletype_shape``, + ``df.tiletype_material``, etc. Returns whether the conversion succeeded. + .. _xlsxreader-api: xlsxreader From 6408fdf28d1efaefdc2a267afa40c33efb0e8406 Mon Sep 17 00:00:00 2001 From: Myk Date: Fri, 27 Jan 2023 13:58:56 -0800 Subject: [PATCH 06/12] Update docs/about/Removed.rst --- docs/about/Removed.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/about/Removed.rst b/docs/about/Removed.rst index 174bd1185..efac2f29c 100644 --- a/docs/about/Removed.rst +++ b/docs/about/Removed.rst @@ -154,7 +154,7 @@ the Ruby library causes when used as an embedded language. .. _show_unit_syndromes: show_unit_syndromes -==== +=================== Replaced with a GUI version: `gui/unit-syndromes`. .. _warn-stuck-trees: From 18a2827385802887a429f1e267fe571ae512d80e Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Fri, 27 Jan 2023 14:20:21 -0800 Subject: [PATCH 07/12] only mark the border corner as resizable if the window is resizable --- docs/changelog.txt | 1 + library/lua/gui.lua | 8 ++++++-- library/lua/gui/widgets.lua | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 8d84e3cff..5d1508819 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -46,6 +46,7 @@ changelog.txt uses a syntax similar to RST, with a few special sequences: - `gui/quickcmd`: now has it's own global keybinding for your convenience: Ctrl-Shift-A - Many DFHack windows can now be unfocused by clicking somewhere not over the tool window. This has the same effect as pinning previously did, but without the extra clicking. - `overlay`: overlay widgets can now specify a default enabled state if they are not already set in the player's overlay config file +-@ New borders for DFHack tool windows -- tell us what you think! ## Documentation diff --git a/library/lua/gui.lua b/library/lua/gui.lua index d870399a3..2cb84d682 100644 --- a/library/lua/gui.lua +++ b/library/lua/gui.lua @@ -888,13 +888,17 @@ THIN_FRAME = make_frame('Thin', false) -- for compatibility with pre-steam code GREY_LINE_FRAME = WINDOW_FRAME -function paint_frame(dc,rect,style,title,inactive, pause_forced) +function paint_frame(dc,rect,style,title,inactive,pause_forced,resizable) local pen = style.frame_pen local x1,y1,x2,y2 = dc.x1+rect.x1, dc.y1+rect.y1, dc.x1+rect.x2, dc.y1+rect.y2 dscreen.paintTile(style.lt_frame_pen or pen, x1, y1) dscreen.paintTile(style.rt_frame_pen or pen, x2, y1) dscreen.paintTile(style.lb_frame_pen or pen, x1, y2) - dscreen.paintTile(style.rb_frame_pen or pen, x2, y2) + local rb_frame_pen = style.rb_frame_pen + if rb_frame_pen == WINDOW_FRAME.rb_frame_pen and not resizable then + rb_frame_pen = PANEL_FRAME.rb_frame_pen + end + dscreen.paintTile(rb_frame_pen or pen, x2, y2) dscreen.fillRect(style.t_frame_pen or style.h_frame_pen or pen,x1+1,y1,x2-1,y1) dscreen.fillRect(style.b_frame_pen or style.h_frame_pen or pen,x1+1,y2,x2-1,y2) dscreen.fillRect(style.l_frame_pen or style.v_frame_pen or pen,x1,y1+1,x1,y2-1) diff --git a/library/lua/gui/widgets.lua b/library/lua/gui/widgets.lua index 473f09db9..653107179 100644 --- a/library/lua/gui/widgets.lua +++ b/library/lua/gui/widgets.lua @@ -502,7 +502,7 @@ function Panel:onRenderFrame(dc, rect) and not self.parent_view:hasFocus() local pause_forced = self.parent_view and self.parent_view.force_pause gui.paint_frame(dc, rect, self.frame_style, self.frame_title, inactive, - pause_forced) + pause_forced, self.resizable) if self.kbd_get_pos then local pos = self.kbd_get_pos() local pen = to_pen{fg=COLOR_GREEN, bg=COLOR_BLACK} From 9080af6948fdc30ca2616219bb90bf903e28b2dd Mon Sep 17 00:00:00 2001 From: DFHack-Urist via GitHub Actions <63161697+DFHack-Urist@users.noreply.github.com> Date: Fri, 27 Jan 2023 22:27:41 +0000 Subject: [PATCH 08/12] Auto-update submodules library/xml: master scripts: master --- library/xml | 2 +- scripts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library/xml b/library/xml index 7050d2338..cf659eb0a 160000 --- a/library/xml +++ b/library/xml @@ -1 +1 @@ -Subproject commit 7050d23387310660488b42483e6f03ba17ba6711 +Subproject commit cf659eb0a0bc064208fcfeb4695ecee22e253d9f diff --git a/scripts b/scripts index f4058184a..edd19a446 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit f4058184a6716ef921e6019d1386354f59fdb0a8 +Subproject commit edd19a446fb1c38fb77a2fe1bac27ef3318e9823 From f47adba3d12ecd5d9011eda7265edf6b0bb3a231 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Fri, 27 Jan 2023 14:45:56 -0800 Subject: [PATCH 09/12] fix underscores-to-dashes --- docs/about/Removed.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/about/Removed.rst b/docs/about/Removed.rst index efac2f29c..d30a00f00 100644 --- a/docs/about/Removed.rst +++ b/docs/about/Removed.rst @@ -151,9 +151,9 @@ ruby Support for the Ruby language in DFHack scripts was removed due to the issues the Ruby library causes when used as an embedded language. -.. _show_unit_syndromes: +.. _show-unit-syndromes: -show_unit_syndromes +show-unit-syndromes =================== Replaced with a GUI version: `gui/unit-syndromes`. From fb129c1a16ed5feff38d84d0f1db5c55ce661867 Mon Sep 17 00:00:00 2001 From: Kelvie Wong Date: Fri, 27 Jan 2023 15:12:02 -0800 Subject: [PATCH 10/12] Fix permissions in ccache dir I think this affects basically nobody but me since everyone else seems to run docker rootless. --- build/build-win64-from-linux.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/build-win64-from-linux.sh b/build/build-win64-from-linux.sh index eb366e83e..2ba053434 100755 --- a/build/build-win64-from-linux.sh +++ b/build/build-win64-from-linux.sh @@ -29,7 +29,7 @@ if [[ $(id -u) -eq 0 ]]; then # If this was run using sudo, let's make sure the directories are owned by the # real user (and set the BUILDER_UID to it) builder_uid=$SUDO_UID - chown $builder_uid win64-cross win64-cross/output + chown -R $builder_uid win64-cross fi # Assumes you built a container image called dfhack-build-msvc from From 277a37a12f8426d7e7044fee1768b4a79eb35c26 Mon Sep 17 00:00:00 2001 From: DFHack-Urist via GitHub Actions <63161697+DFHack-Urist@users.noreply.github.com> Date: Sat, 28 Jan 2023 07:13:34 +0000 Subject: [PATCH 11/12] Auto-update submodules scripts: master --- scripts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts b/scripts index edd19a446..3193ad5c3 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit edd19a446fb1c38fb77a2fe1bac27ef3318e9823 +Subproject commit 3193ad5c354a18cb55d41792379894b7b054c7bc From 09c71bceebb6ea9ae698f068a7d39eeadb03b879 Mon Sep 17 00:00:00 2001 From: John Cosker Date: Sat, 28 Jan 2023 10:06:48 -0500 Subject: [PATCH 12/12] Fix dig plugin and enable building it --- plugins/dig.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/dig.cpp b/plugins/dig.cpp index 371dd588f..879d0dd52 100644 --- a/plugins/dig.cpp +++ b/plugins/dig.cpp @@ -9,7 +9,6 @@ #include "Console.h" #include "Export.h" #include "PluginManager.h" -#include "uicommon.h" #include "modules/Gui.h" #include "modules/MapCache.h" @@ -213,7 +212,7 @@ bool lineY (MapExtras::MapCache & MCache, int32_t parse_priority(color_ostream &out, vector ¶meters) { - int32_t default_priority = game->designation.priority; + int32_t default_priority = game->main_interface.designation.priority; for (auto it = parameters.begin(); it != parameters.end(); ++it) {