60260540cd
make deconstruction its own system
2026-08-05 07:10:46 +02:00
1f4503176b
make construction its own system (extracted from BuildingSystem)
2026-08-05 06:57:12 +02:00
fd85e8e10a
free the buffer setup and belt registration from BuildingSystem
2026-08-05 06:55:13 +02:00
114a43b205
make BuildingSystem stateless: FactoryState becomes a parameter
2026-08-05 06:50:11 +02:00
d87d063b10
move the placement rules and the config-dependent queries off BuildingSystem
2026-08-05 06:49:49 +02:00
537597c854
delete the unused getAllBeltTiles and BeltTileInfo
2026-08-05 06:49:28 +02:00
9c3be0fbd0
extract the production rules as free functions over config and building
2026-08-05 06:49:15 +02:00
58b94223f7
migrate every factory query off BuildingSystem onto the free functions
2026-08-05 06:46:13 +02:00
1fb63cce4e
move the asteroid width bound into FactoryState
2026-08-05 06:45:33 +02:00
0408336cf9
depend on factory data instead of BuildingSystem in the AI path
2026-08-05 06:44:49 +02:00
46932e4abf
move FactoryState ownership out of BuildingSystem to Simulation
2026-08-05 06:43:52 +02:00
0edea5d961
gather the factory's world data into FactoryState
2026-08-05 06:43:30 +02:00
60cc187d92
add BuildingGrid to manage tile occupancy
2026-08-04 18:26:01 +02:00
3990351a16
share BuildingSystem's free functions instead of copying them
2026-08-04 18:24:38 +02:00
785ce3ebfe
remove duplicate findBuildingDef from BuildingSystem
2026-08-03 21:14:13 +02:00
553a7e0701
add findShipDef/findModuleDef/findRecipeDef to config structs and re-use them in the rest of the code base
2026-08-03 20:57:31 +02:00
3671e1d7e6
fix splitter filters being lost when rotating in place and add test
2026-08-03 20:49:10 +02:00
e20a0bba67
Rename Demolish to Deconstruct
2026-07-22 21:40:42 +02:00
b2ce20e6ad
Add deconstruction queue
2026-07-22 21:37:56 +02:00
a75222f111
Never rotate tunnels in place
2026-07-21 21:14:27 +02:00
4ca5b332cd
Snap belt-drag end tile to a building's input edge
2026-07-21 21:09:07 +02:00
1cbc695bc5
Add building status light
2026-07-20 22:19:58 +02:00
9622fa4345
Use std::optional instead of sentinel values for absent data
2026-07-20 20:27:20 +02:00
d412c69f82
Prefix all getters with "get"
2026-07-19 21:17:38 +02:00
486296feee
Allow direct output-to-input port coupling between adjacent buildings
2026-07-14 20:23:24 +02:00
c9f14970a1
Animate items entering building input ports
2026-07-14 20:21:25 +02:00
6a8c456aa1
Animate items emerging from building output ports
2026-07-14 20:18:47 +02:00
dd7c997816
Auto-process smelter and reprocessing plant (no recipe selection)
2026-07-12 21:35:23 +02:00
cd966daba9
fix issue where shipyard produces ships with modules without requiring items for the modules if the ship's layout was never changed
2026-07-09 21:29:04 +02:00
88bc4f2170
fix bug where selecting the same ship again in a shipyard clears the layout and resets the progress
2026-07-09 21:05:01 +02:00
2ddf13238c
Fix Salvage Bay drop-off not working by adding config-driven buffer capacity
2026-07-09 20:11:12 +02:00
e8786c3922
implement cost formula for asteroid expansion
2026-07-08 20:33:19 +02:00
d74ba5bfad
Replay: deterministic record & playback ( #4 )
...
Add deterministic record/playback for a run.
Recording captures `(seed, config hash, ordered tick-tagged commands)` and re-simulates on playback — no state snapshots. `DotaFactory.exe --replay <file>` re-plays a recorded run view-only with manual speed/pause.
Reviewed-on: #4
Co-authored-by: Malte Langkabel <malte.langkabel@gmail.com >
Co-committed-by: Malte Langkabel <malte.langkabel@gmail.com >
2026-07-01 19:20:08 +00:00
d271d65678
allow to set the recipe already for construction sites
2026-06-22 22:15:56 +02:00
e5017ab3c5
fix issue where construction sites could be placed outside of game world and add tests
2026-06-22 21:13:01 +02:00
1ea1cc59fb
show threat rate in debug output
2026-06-14 13:39:10 +02:00
54a6056b77
implicit item locking
2026-06-12 16:14:21 +02:00
6b95619806
add units in config files
2026-06-06 20:46:36 +02:00
abc261c03a
add tracing for performance profiling
2026-06-05 16:38:36 +02:00
b57299fd2a
rename EntityId to BuildingId
2026-05-23 07:53:56 +02:00
bd488db8ef
remove unused building HP
2026-05-22 21:34:21 +02:00
4e3dc51981
fix stations were not drawn
2026-05-22 21:15:26 +02:00
9d20048705
cleanup
2026-05-22 20:45:10 +02:00
ca07cbaf0e
switch to ECS architecture
2026-05-22 20:31:39 +02:00
d08bf5d37b
implement ship modules
2026-05-18 08:54:26 +02:00
2770bf96be
allow to rotate buildings in place
2026-04-29 21:51:04 +02:00
559dde96cf
fix bug where buildings could not output directly on splitters
2026-04-27 21:38:11 +02:00
fb83db98ab
rename blueprint to schematic
2026-04-26 21:00:55 +02:00
774f5dee28
read tunnel length from different config and fix tests
2026-04-26 20:41:40 +02:00
89005d6bb7
implement tunnels
2026-04-26 17:15:50 +02:00