Skip to content

Commit de71508

Browse files
committed
Merge branch 'develop' into testing
2 parents 70c2026 + 22ec54f commit de71508

5 files changed

Lines changed: 49 additions & 8 deletions

File tree

.github/workflows/watch-df-steam.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
if: github.repository == 'DFHack/dfhack'
1111
name: Check DF ${{ matrix.df_steam_branch }} branch
1212
runs-on: ubuntu-latest
13-
concurrency: steampoll
13+
concurrency: steampoll-${{ matrix.df_steam_branch }}
1414
strategy:
1515
fail-fast: false
1616
matrix:

data/blueprints/dreamfort.csv

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ orders import library/furnace,,,Automated production of basic furnace-related it
8989
gui/quickfort,/guildhall2_default,Yes,"Build library and non-denominational temple, and prepare space for future temples and guildhalls. Run when the guildhall level has been dug out."
9090
gui/quickfort,/services3,Yes,"Extend the dining room and hospital, and start the jail. Run when your population grows to about 20."
9191
gui/quickfort,/apartments2,Yes,Build and zone bedrooms. Run when the first apartment level has been dug out and you have outgrown your starter dormintory.
92-
gui/quickfort,/suites2,Yes,Build rooms that you can zone for your nobles. Run when the suites level has been dug out and you are approaching a population of 50.
92+
gui/quickfort,/suites2_default,Yes,Build rooms that you can zone for your nobles. Run when the suites level has been dug out and you are approaching a population of 50.
9393
gui/quickfort,/crypt2,Yes,Build a small group of tombs. Run when the crypt level has been dug out and you have outgrown your starter tomb on the farming level.
9494
gui/quickfort,/surface8,Yes,"Build extended trap corridors. If you have a strong military, you might not need this."
9595
gui/quickfort,/farming3,Yes,Add in all the doors we couldn't afford to build earlier.
@@ -2769,12 +2769,14 @@ Apartments Walkthrough:
27692769
"#meta label(suites2_default) start(central stairs) message(Remember to enqueue manager orders for this blueprint.) build furniture, set traffic patterns, create zones, and assign them to nobles and administrators"
27702770
traffic_suites/suites_traffic
27712771
build_suites/suites_build
2772+
smooth_suites/suites_smooth
27722773
zone_suites/suites_zone
27732774
""
27742775
"#meta label(suites2_no_zones) start(central stairs) message(Remember to enqueue manager orders for this blueprint.
27752776
rooms are left unzoned so you can configure them for specific nobles.) build furniture and set traffic patterns"
27762777
traffic_suites/suites_traffic
27772778
build_suites/suites_build
2779+
smooth_suites/suites_smooth
27782780
#dig label(suites_traffic) start(18; 18; central stairs) hidden() don't path through other dwarves' rooms
27792781

27802782
,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
@@ -2847,6 +2849,42 @@ build_suites/suites_build
28472849
,`,,,,d,,,,,,,d,,,,`,`,`,,,,d,,,,,,,d,,,,`
28482850
,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
28492851

2852+
#dig label(suites_smooth) start(18; 18; central stairs) hidden() smooth statue tiles
2853+
2854+
,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
2855+
,`,,,,`,,,,,,,`,,,,`,`,`,,,,`,,,,,,,`,,,,`
2856+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2857+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2858+
,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`
2859+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2860+
,`,,`,`,s,`,`,,,`,`,s,`,`,,`,s,`,,`,`,s,`,`,,,`,`,s,`,`,,`
2861+
,`,,,,,,,,,,,,,,,`,`,`,,,,,,,,,,,,,,,`
2862+
,`,,,,,,,,,,,,,,,`,`,`,,,,,,,,,,,,,,,`
2863+
,`,,`,`,s,`,`,,,`,`,s,`,`,,`,s,`,,`,`,s,`,`,,,`,`,s,`,`,,`
2864+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2865+
,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`
2866+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2867+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2868+
,`,,,,`,,,,,,,`,,,,`,`,`,,,,`,,,,,,,`,,,,`
2869+
,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
2870+
,`,`,,`,`,`,s,`,`,s,`,`,`,,`,`,~,`,`,,`,`,`,s,`,`,s,`,`,`,,`,`
2871+
,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
2872+
,`,,,,`,,,,,,,`,,,,`,`,`,,,,`,,,,,,,`,,,,`
2873+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2874+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2875+
,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`
2876+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2877+
,`,,`,`,s,`,`,,,`,`,s,`,`,,`,s,`,,`,`,s,`,`,,,`,`,s,`,`,,`
2878+
,`,,,,,,,,,,,,,,,`,`,`,,,,,,,,,,,,,,,`
2879+
,`,,,,,,,,,,,,,,,`,`,`,,,,,,,,,,,,,,,`
2880+
,`,,`,`,s,`,`,,,`,`,s,`,`,,`,s,`,,`,`,s,`,`,,,`,`,s,`,`,,`
2881+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2882+
,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`
2883+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2884+
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,,`,,`,`,`,`,`,,,`,`,`,`,`,,`
2885+
,`,,,,`,,,,,,,`,,,,`,`,`,,,,`,,,,,,,`,,,,`
2886+
,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
2887+
28502888
#zone label(suites_zone) start(18; 18; central stairs) hidden()
28512889

28522890
,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
@@ -2874,7 +2912,7 @@ build_suites/suites_build
28742912
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
28752913
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
28762914
,`,,,,,,,,,,,,,,,`,`,`,,,,,,,,,,,,,,,`
2877-
,`,T{assigned_unit=outpost_liaison}(7x7),,,,,,,o{assigned_unit=outpost_liaison}(7x7),,,,,,,`,`,`,o{assigned_unit=monarch}(7x7),,,,,,,T{assigned_unit=monarch}(7x7),,,,,,,`
2915+
,`,T{assigned_unit=monarch}(7x7),,,,,,,o{assigned_unit=outpost_liaison}(7x7),,,,,,,`,`,`,o{assigned_unit=monarch}(14x7),,,,,,,,,,,,,,`
28782916
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
28792917
,`,,`,`,`,`,`,,,`,`,`,`,`,,`,`,`,,`,`,`,`,`,,,`,`,`,`,`,,`
28802918
,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,,,`,`,`,`,`,`,`

docs/changelog.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ Template for new versions:
6969
- `regrass`: ``--mud`` now converts muddy slade to grass, consistent with normal DF behavior
7070
- `gui/pathable`: fix hang when showing trade depot wagon access and a trade depot is submerged under water
7171
- `gui/pathable`: fix incorrect calculation of wagon paths over stairs and through doors
72+
- Ensure DFHack state for the site is properly saved when retiring a fort
7273

7374
## Misc Improvements
7475
- `sort`: can now search for stockpiles on the Places>Stockpile tab by name, number, or enabled item categories

library/Core.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ distribution.
5757
#include "df/interfacest.h"
5858
#include "df/plotinfost.h"
5959
#include "df/viewscreen_dwarfmodest.h"
60+
#include "df/viewscreen_export_regionst.h"
6061
#include "df/viewscreen_game_cleanerst.h"
6162
#include "df/viewscreen_loadgamest.h"
6263
#include "df/viewscreen_new_regionst.h"
@@ -1948,15 +1949,16 @@ void Core::doUpdate(color_ostream &out)
19481949
vs_changed = true;
19491950
}
19501951

1951-
bool is_load_save =
1952+
bool is_save = strict_virtual_cast<df::viewscreen_savegamest>(screen) ||
1953+
strict_virtual_cast<df::viewscreen_export_regionst>(screen);
1954+
bool is_load_save = is_save ||
19521955
strict_virtual_cast<df::viewscreen_game_cleanerst>(screen) ||
1953-
strict_virtual_cast<df::viewscreen_loadgamest>(screen) ||
1954-
strict_virtual_cast<df::viewscreen_savegamest>(screen);
1956+
strict_virtual_cast<df::viewscreen_loadgamest>(screen);
19551957

19561958
// save data (do this before updating last_world_data_ptr and triggering unload events)
19571959
if ((df::global::game && df::global::game->main_interface.options.do_manual_save && !d->last_manual_save_request) ||
19581960
(df::global::plotinfo && df::global::plotinfo->main.autosave_request && !d->last_autosave_request) ||
1959-
(is_load_save && !d->was_load_save && strict_virtual_cast<df::viewscreen_savegamest>(screen)))
1961+
(is_load_save && !d->was_load_save && is_save))
19601962
{
19611963
plug_mgr->doSaveData(out);
19621964
Persistence::Internal::save(out);

0 commit comments

Comments
 (0)