Skip to content

Commit 2008033

Browse files
authored
Merge branch 'develop' into revert-4934-revert-4933-myk_keys
2 parents e042c02 + 8354cee commit 2008033

32 files changed

Lines changed: 427 additions & 291 deletions

CMakeLists.txt

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ cmake_policy(SET CMP0074 NEW)
77
project(dfhack)
88

99
# set up versioning.
10-
set(DF_VERSION "50.13")
11-
set(DFHACK_RELEASE "r5rc1")
12-
set(DFHACK_PRERELEASE TRUE)
10+
set(DF_VERSION "50.14")
11+
set(DFHACK_RELEASE "r1.1")
12+
set(DFHACK_PRERELEASE FALSE)
1313

1414
set(DFHACK_VERSION "${DF_VERSION}-${DFHACK_RELEASE}")
1515
set(DFHACK_ABI_VERSION 2)
@@ -88,11 +88,27 @@ if(MSVC)
8888
# see https://msdn.microsoft.com/en-us/library/074af4b6.aspx
8989
add_compile_options("/wd4503")
9090

91-
# suppress C4267 - VC++ complains whenever we implicitly convert an integer to
92-
# a smaller type, and most of the time this is just conversion from 64 to 32 bits
93-
# for things like vector sizes, which are never that big anyway.
91+
# suppress C4267 - VC++ considers a narrowing conversion from size_t to a smaller
92+
# integer type a warning. this is technically correct but there are so many instances
93+
# of this that we don't want to fix, so....
9494
add_compile_options("/wd4267")
9595

96+
# suppress C4251 - VC++ will warn when exporting an entire class which contains members
97+
# referencing unexported compound types as this is potentially unsafe. because we don't
98+
# guarantee a stable ABI for exports, we don't really care about this, and so we choose to
99+
# be lazy and continue to export entire classes instead of exporting on a method-by-method basis
100+
add_compile_options("/wd4251")
101+
102+
# suppress C4068 - VC++ will warn for unknown pragmas by default. this is equivalent to gcc
103+
# -Wno-unknown-pragmas (which is enabled for gcc below).
104+
# we could work around this with sufficiently complex macros
105+
add_compile_options("/wd4068")
106+
107+
# suppress C4244 - VC++ warns by default (with /W3) about narrowing conversions that may lose data
108+
# (such as double -> int or int32_t -> int16_t). dfhack has many of these, mostly related to Lua
109+
# this is equivalent to gcc -Wno_conversions which is the default as gcc -Wall doesn't enable -Wconversions
110+
add_compile_options("/wd4244")
111+
96112
# MSVC panics if an object file contains more than 65,279 sections. this
97113
# happens quite frequently with code that uses templates, such as vectors.
98114
add_compile_options("/bigobj")
@@ -224,7 +240,7 @@ if(UNIX)
224240
# default to hidden symbols
225241
# ensure compatibility with older CPUs
226242
add_definitions(-DLINUX_BUILD)
227-
set(GCC_COMMON_FLAGS "-fvisibility=hidden -mtune=generic -Wall -Werror -Wl,--disable-new-dtags")
243+
set(GCC_COMMON_FLAGS "-fvisibility=hidden -mtune=generic -Wall -Werror -Wl,--disable-new-dtags -Wno-unknown-pragmas")
228244
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COMMON_FLAGS}")
229245
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GCC_COMMON_FLAGS}")
230246
if(DFHACK_BUILD_64)

data/blueprints/dreamfort.csv

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2132,11 +2132,11 @@ build3/services_build3
21322132

21332133
"#zone label(services_zones) start(18; 18) hidden() message(Don't forget to assign a doctor to the hospital!
21342134
If you'd like to fill your wells via bucket brigade instead of routing water (e.g. with the aquifer_tap library blueprint), activate the inactive pond zones one level down from where the wells will be built.) garbage dump, hospital, taverrn, barracks, archery range, and pond zones"
2135-
,,,,,,,,,,,,,"j{name=""Jail 1""}(4x5)",,,,"j{name=""Jail 2""}(4x5)",,,,"j{name=""Jail 3""}(4x5)",,,,"j{name=""Jail 4""}(4x5)",,,,"j{name=""Jail 5""}(4x5)"
2136-
,"b{location=tavern/bigpub name=""Rented room 1""}(1x3)","b{location=tavern/bigpub name=""Rented room 2""}(1x3)","b{location=tavern/bigpub name=""Rented room 3""}(1x3)",,"b{location=tavern/bigpub name=""Rented room 4""}(1x3)","b{location=tavern/bigpub name=""Rented room 5""}(1x3)","b{location=tavern/bigpub name=""Rented room 6""}(1x3)",,"b{location=tavern/bigpub name=""Rented room 7""}(1x3)","b{location=tavern/bigpub name=""Rented room 8""}(1x3)","b{location=tavern/bigpub name=""Rented room 9""}(1x3)",,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`
2137-
,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`
2138-
,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`
2139-
"h{location=tavern/bigpub allow=residents name=""Grand hall tavern""}(13x31)",,`,,,,`,,,,`,,,,`,,,,`,,,,`,,,,`,,,,`
2135+
,,,,,,,,,,,,j/jail1,"j/jail1{name=""Jail 1""}(4x5)",j/jail1,j/jail1,j/jail1,"j{name=""Jail 2""}(4x5)",,,,"j{name=""Jail 3""}(4x5)",,,,"j{name=""Jail 4""}(4x5)",,,,"j{name=""Jail 5""}(4x5)"
2136+
,"b{location=tavern/bigpub name=""Rented room 1""}(1x3)","b{location=tavern/bigpub name=""Rented room 2""}(1x3)","b{location=tavern/bigpub name=""Rented room 3""}(1x3)",,"b{location=tavern/bigpub name=""Rented room 4""}(1x3)","b{location=tavern/bigpub name=""Rented room 5""}(1x3)","b{location=tavern/bigpub name=""Rented room 6""}(1x3)",,"b{location=tavern/bigpub name=""Rented room 7""}(1x3)","b{location=tavern/bigpub name=""Rented room 8""}(1x3)","b{location=tavern/bigpub name=""Rented room 9""}(1x3)",j/jail1,j/jail1,j/jail1,j/jail1,j/jail1,`,`,`,,`,`,`,,`,`,`,,`,`,`
2137+
,`,`,`,,`,`,`,,`,`,`,j/jail1,j/jail1,j/jail1,j/jail1,j/jail1,`,`,`,,`,`,`,,`,`,`,,`,`,`
2138+
,`,`,`,,`,`,`,,`,`,`,j/jail1,j/jail1,j/jail1,j/jail1,j/jail1,`,`,`,,`,`,`,,`,`,`,,`,`,`
2139+
"h{location=tavern/bigpub allow=residents name=""Grand hall tavern""}(13x31)",,`,,,,`,,,,`,,,j/jail1,j/jail1,j/jail1,j/jail1,,`,,,,`,,,,`,,,,`
21402140
,`,`,`,`,`,`,`,`,`,`,`,,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
21412141
,`,`,`,`,`,`,`,`,`,`,`,,,,,,,,,,,,,,`,o/interrogation,o/interrogation,o/interrogation,o/interrogation,o/interrogation,o/interrogation,o/interrogation
21422142
,`,`,`,`,`,`,`,`,`,`,`,,"B{name=""Marksdwarf barracks""}a{name=""Shooting gallery"" shoot_from=""south""}",Ba,Ba,Ba,Ba,Ba,Ba,Ba,Ba,Ba,Ba,,`,o/interrogation,"j{name=""Drunk tank""}",j,j,j,j,o/interrogation
@@ -2360,7 +2360,7 @@ Assign a minecart to the training ammo quantum dump with ""assign-minecarts all"
23602360

23612361
,`,b,`,,`,b,`,,`,b,`,,`,`,`,,`,`,`,,t,l,b,,`,`,`,,`,`,`
23622362
,`,h,`,,`,h,`,,`,h,`,,`,`,`,,`,`,`,,c,v,`,,`,`,`,,`,`,`
2363-
,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`
2363+
,`,f,`,,`,f,`,,`,f,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`
23642364
,,`,,,,`,,,,`,,,,`,,,,`,,,,d,,,,`,,,,`
23652365
,`,`,`,`,`,`,`,`,`,`,`,,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
23662366
,`,`,`,`,`,`,`,`,`,`,`,,,,,,,,,,,,,,`
@@ -2468,7 +2468,7 @@ Assign a minecart to the training ammo quantum dump with ""assign-minecarts all"
24682468

24692469
,b,~,b,,b,~,b,,b,~,b,,t,l,b,,t,l,b,,~,~,~,,t,l,b,,t,l,b
24702470
,h,~,h,,h,~,h,,h,~,h,,c,v,`,,c,v,`,,~,~,`,,c,v,`,,c,v,`
2471-
,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`
2471+
,f,~,f,,f,~,f,,f,~,f,,`,`,`,,`,`,`,,`,`,`,,`,`,`,,`,`,`
24722472
,,d,,,,d,,,,d,,,,d,,,,d,,,,~,,,,d,,,,d
24732473
,`,`,`,s,`,`,`,s,`,`,`,,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`
24742474
,`,`,`,`,`,`,`,`,`,`,`,,,,,,,,,,,,,,`

depends/clsocket

docs/changelog.txt

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,46 @@ Template for new versions:
5252
# Future
5353

5454
## New Tools
55-
- `preserve-rooms`: manage room assignments for off-map units and noble roles. reserves rooms owned by traveling units and reinstates their ownership when they return to the site. also allows you to assign rooms to noble/administrator roles, and the rooms will be automatically assigned whenever the holder of the role changes
5655

5756
## New Features
5857

58+
## Fixes
59+
60+
## Misc Improvements
61+
62+
## Documentation
63+
64+
## API
65+
66+
## Lua
67+
68+
## Removed
69+
70+
# 50.14-r1
71+
72+
## New Tools
73+
74+
## New Features
75+
76+
## Fixes
77+
- `preserve-rooms`: don't reserve a room for citizens that you expel from the fort
78+
- `autobutcher`: fix regression in ordering of butcherable animals
79+
80+
## Misc Improvements
81+
82+
## Documentation
83+
84+
## API
85+
86+
## Lua
87+
88+
## Removed
89+
90+
# 50.13-r5
91+
92+
## New Tools
93+
- `preserve-rooms`: manage room assignments for off-map units and noble roles. reserves rooms owned by traveling units and reinstates their ownership when they return to the site. also allows you to assign rooms to noble/administrator roles, and the rooms will be automatically assigned whenever the holder of the role changes
94+
5995
## Fixes
6096
- prevent hang when buildings in zones are destroyed in the case where the buildings were not added to the zone in the same order that they were created (uncommon)
6197
- `buildingplan`: improved performance in forts with large numbers of items
@@ -67,7 +103,7 @@ Template for new versions:
67103
- `strangemood`: manually-triggered Macabre moods will now correctly request up to 3 bones/remains for the primary component instead of only 1
68104
- `regrass`: no longer add all compatible grass types when using ``--force`` without ``--new``
69105
- `regrass`: ``--mud`` now converts muddy slade to grass, consistent with normal DF behavior
70-
- `gui/pathable`: fix hang when showing trade depot wagon access and a trade depot is submerged under water
106+
- `gui/pathable`: fix hang when showing trade depot wagon access and a trade depot is submerged under water or magma
71107
- `gui/pathable`: fix representation of wagon paths over stairs and through doors
72108
- DFHack state for a site is now properly saved when retiring a fort
73109
- `gui/teleport`: fix issue when teleporting units that are not prone, resulting in later issues with phantom "cannot build here: unit blocking tile" messages
@@ -84,6 +120,8 @@ Template for new versions:
84120

85121
## Documentation
86122
- add documentation for ``dfhack.items.findType(string)`` and ``dfhack.items.findSubtype(string)``
123+
- `modding-guide`: added examples for reading and writing various types of persistent storage
124+
- `modding-guide`: updated all code snippets for greater clarity
87125

88126
## API
89127
- ``Units``: new ``isWildlife`` and ``isAgitated`` property checks

docs/dev/Lua API.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2100,9 +2100,10 @@ Items module
21002100
``df.global.game.main_interface.trade.mer``), then the value is modified by civ
21012101
properties and any trade agreements that might be in effect.
21022102

2103-
* ``dfhack.items.createItem(unit, item_type, item_subtype, mat_type, mat_index, growth_print, no_floor)``
2103+
* ``dfhack.items.createItem(unit, item_type, item_subtype, mat_type, mat_index, no_floor)``
21042104

2105-
Creates an item, similar to the `createitem` plugin.
2105+
Creates an item, similar to the `createitem` plugin. Returns a list of created
2106+
``df.item`` objects.
21062107

21072108
* ``dfhack.items.checkMandates(item)``
21082109

0 commit comments

Comments
 (0)