Commit Graph

117 Commits (ad6932f5af705c76535c8ef2d2aba055f5d9d393)

Author SHA1 Message Date
Kelly Kinkade ea6903862b change `unitst::owned_buildings` to `vector<building_civzonest*>`
actually simplifies things lol
2023-11-27 20:38:35 -06:00
Myk Taylor 648476e34d
document native completeBuild function
and remove unneeded params
2023-11-15 16:26:29 -08:00
Kelly Kinkade c9996d6e45 stylistic change
recommended to me by a colleague
2023-11-06 22:28:22 -06:00
Kelly Kinkade f1ed469ca3 implement `Buildings::completebuild` function export from DF
to be used by `build-now`
2023-11-06 22:28:21 -06:00
Myk Taylor 5c914280c3
change dynamic_cast -> virtual_cast 2023-06-01 10:53:08 -07:00
Myk Taylor 974a6155c0
reinstated Buildings.setOwner 2023-05-31 18:48:08 -07:00
Myk Taylor 8b3eef699f
adjust findCivzonesAt to v50 semantics 2023-05-27 05:37:31 -07:00
Myk Taylor 73b5e37f67
simplify loops with foreach syntax 2023-04-24 14:28:47 -07:00
silverflyone 2bd24efa4b Merge branch 'develop' of https://github.com/silverflyone/dfhack into develop 2023-04-05 11:49:30 +10:00
silverflyone 0cebad1078 Update Buildings.cpp
Removed extra min/max checks.
2023-04-05 11:49:14 +10:00
silverflyone c6fc55f98f
Merge branch 'DFHack:develop' into develop 2023-04-04 03:45:23 +10:00
silverflyone 181f0bdf72 Update Buildings.cpp
Boundary checks added.
2023-04-04 03:27:32 +10:00
silverflyone f8de51aba3 Update Buildings.cpp
Fixes #3159.
Valid map coordinates from (0, 0, 0) to (world->map.x_count - 1, world->map.y_count - 1, world->map.z_count - 1).
Stockpile coords (x1, y1, z) to (x2, y2, z) may lie outside of this region.
Use min of (0, 0) and max of (world->map.x_count - 1, world->map.y_count - 1) when iterating the block.
2023-04-04 03:08:43 +10:00
Myk Taylor fe0590503f
mark tiles with magma or deep water as "not free" 2023-03-24 15:05:17 -07:00
Myk Taylor 03e44f1e7f
fix initial extended/retracted position for upright spike traps 2023-03-23 00:25:29 -07:00
silverflyone d8afb6c682 Update Buildings.cpp
Changed the StockpileIterator::operator++ to checks block based on <= 16 rather than <16. Previously it was not returning items at stockpile tiles at the block boundary. Identified as part of combine.lua changes.
2023-02-15 15:31:50 +11:00
Roxy 826f918954 remove isHospital as hospitals are no longer civzones 2023-02-06 19:11:00 -05:00
Roxy ca5a17a799 explanatory comment for magic number 2023-02-06 19:09:47 -05:00
Roxy a38246aaa4 Update logic for zone type checks 2023-02-06 16:47:50 -05:00
Myk Taylor 22dd49ce38
remove "room" checking for buildings -- there is no room 2023-01-27 13:38:21 -08:00
20k 4559168005 update for multiple ownership 2023-01-22 22:59:25 +00:00
20k b15fcc93d2 remove assignments on zone destroy 2023-01-22 15:26:55 +00:00
20k c7ca9d0d7b reverse squad iteration delete 2023-01-22 15:25:16 +00:00
20k 9054efd7c8 Update miscutils to support member pointer to a variable defined in the base when passing in a derived type 2023-01-21 19:15:28 +00:00
20k 3024c4a0df update to remove ambiguity after structures change 2023-01-21 18:45:36 +00:00
20k 1dbf01e5d1 Civzone interop style changes 2023-01-21 18:45:36 +00:00
20k 8c68f54f50 update with squad removal support 2023-01-21 18:45:36 +00:00
20k 4d9c411358 fix flag 2023-01-19 23:33:03 +00:00
20k 8b7c8d83b5 remove save fixup
Add notifyCivzoneModified
2023-01-19 21:55:20 +00:00
20k d5610ab859 zone <-> building interop 2023-01-19 16:39:41 +00:00
Myk Taylor 92489ef27d
get things to compile with the recent structure updates 2023-01-08 11:33:14 -08:00
Myk Taylor 845391f4e6
fix overzealous "ui" -> "plotinfo" replacement
some comments were just talking about the UI..
2023-01-05 17:46:30 -08:00
Myk Taylor 5e5775f5e3
rename globals according to structures update 2023-01-05 17:11:01 -08:00
Myk Taylor 93b8479e94 comment out problematic code in Buildings.cpp 2022-12-16 14:47:43 -06:00
myk002 cb80f7dd75
don't cache dup civzones when scanning buildings 2022-09-25 16:04:36 -07:00
myk002 31397af99b cache civzones so lookup is O(1) instead of O(N) 2022-02-26 15:32:25 -08:00
lethosor e7754ea890
Enable -Wunused-variable and fix most errors 2021-09-07 01:16:21 -04:00
myk002 1a016a0ff3
force creation of extents for abstract buildings 2021-06-07 07:02:46 -07:00
myk002 32a0363f31
move identity check up a bit to avoid useless work 2021-01-24 08:57:56 -08:00
myk002 03719f58df
avoid infinite parentage when linking rooms 2021-01-24 08:52:34 -08:00
myk002 3ba984c22c
only reset extents if they are unusable
this allows callers of Buildings::setSize() to "pre-initialize" the
extents to declare non-rectangular structures. this allows quickfort to
create non-rectangular stockpiles, farm plots, zones, etc. the extents
are still reset as before if the size of the building doesn't match the
caller's expectations.

this commit also fixes a memory leak when setSize() allocates memory for
extents, but the memory is not deallocated if the building is ultimately
invalid for some reason.
2020-12-16 11:10:47 -08:00
lethosor 1d0e2dc6bc
Update extents handling to use building_extents_type 2020-11-03 14:56:16 -05:00
Myk Taylor 09fbaba726 buildingplan: support all building types
Allow buildingplan to handle all building types, update the docs, and add in little extra fixes to ensure all the new types work correctly.
2020-10-16 14:23:35 -07:00
Myk Taylor e546d3eec3 rename is_civzone to the more general allow_wall 2020-08-15 20:13:48 -07:00
Myk Taylor ae872e812f properly detect valid tiles for civzones 2020-08-15 17:24:12 -07:00
Ben Lubar 635e709d95
name ui_look_list union
update scripts and structures
2020-03-06 16:06:27 -06:00
lethosor 08aeb6faeb Fix EventManager building ID type
The pointer to the building ID was sometimes not dereferenced properly.
Addressed by switching to an ID cast to a pointer type for consistency with
other types of events.

Fixes #1434
Ref #1003 (19695b4ee7)
Broken in #1253 (a7dfacd1c5)
2019-10-05 20:26:31 -04:00
lethosor e9ec08f419 Add Buildings::getRoomDescription(), moved from search plugin, +cleanup 2018-05-12 17:00:21 -04:00
lethosor 2c95ac411e Update xml and all uses of job_handler 2017-11-25 00:59:59 -05:00
lethosor 10e13c532a Add "tweak cage-butcher" and some extra Building module functions
* Buildings::markedForRemoval()
* Buildings::getCageOccupants()

Closes #906
2017-06-25 15:27:21 -04:00