Expand description
The gameplay resources: terrain and climate profiles, start conditions, the toolbar, entity templates and the descriptions of their components (buildings, citizens, animals, resources, fires and more).
Each resource has a struct and a reader function, for example ToolbarDescription and
toolbar_description. The source is split into topic files (world, interface, entities,
nature, particles, construction, goods, work, people and disasters), and everything is
re-exported here, so every path is banished_formats::game::NAME.
Structs§
- Animal
Description AnimalDescription(the idle time, is not stored and keeps the constructor’s 4).- Build
Description BuildDescription: what constructing a building costs.- Character
Description - A
CharacterDescription: how a walking entity moves (its speeds and turning). - Citizen
Description CitizenDescription. The class has ~60 scalar fields; they are kept keyed by their runtime offset (as the original code reads them) with named getters for the ones whose consumers are traced.- Clear
Area Description ClearAreaDescription(Template\X.rsc:cleararea).- Climate
Generator ClimateGenerator: monthly weather thresholds used by the environment loop.- Climate
Header - The first fields of a
ClimateGenerator(a climate profile of the New Game dialog): the string table, the name key and the “listed” flag. The climate values that follow are not decoded here. - Component
Description - An entity template (
ComponentDescription): the scheduling bucket and the ordered component descriptions (model,naturalresource,growth, …). - Consume
Produce Description ConsumeProduceDescription(Template\X.rsc:consumeproduce).- Create
Bridge Description CreateBridgeDescription: the bridge tool’s (BridgeTool) cell-type masks: the cells it spans (water), its banks, further cells drawn as valid, at least one spanned cell of these, the cells beside it within (its half width); the part templates (start, 1, 2, 4 and 8 cells long).- Create
Drag Description CreateDragDescription(Template\X.rsc:createdrag).- Create
Fenced Description CreateFencedDescription: the fenced tool’s (FencedTool) cell-type mask, its six part templates (shelter, end, corner, straight, long straight, gate), the largest, and smallest, size, the shelter centred on its side, and the template whose entities may stand in the way.- Create
Placed Description CreatePlacedDescription: how a building is placed; the start structures take their size from it.- Create
Removal Description CreateRemovalDescription(Template\ClearX.rsc:createremoval): what a RemovalTool drag does to each cell.- Create
Road Description CreateRoadDescription: the road kind (0 stone, 1 dirt; a lower kind replaces a higher), the raw material a cell takes (none for dirt).- Decal
Description DecalDescription: the terrain decal a DecalComponent puts over its entity’s map rectangle (Template\X.rsc:decal).- Destroy
Description DestroyDescription: the template left in the building’s place once it is torn down (the quarry’s and mine’s hole; none for most), the ModelComponent’s material set while damaged, the decal while damaged, the lowest construction mesh a collapse steps down to.- Disease
Disease(version 2,Game/Disease/Diseases.rsclists them).- Disease
Description - A
DiseaseDescription: blight on fields, orchards and pastures. Times are in months of 300 seconds. - Environment
Description EnvironmentDescription: weather and monthly lighting.- Environment
Month - One month of
EnvironmentDescriptionlighting (32 bytes at+ 0x20·month). - Fire
Description - A
FireDescription: how a fire burns, spreads and is put out. - Fishing
Description FishingDescription: the catch’s raw-material template, the cell types counted as fishing water and, from version 1, the stock-manager slot of its limit.- Floor
Description FloorDescription: the picking mesh walked on, added on activation.- Forester
Description ForesterDescription: the tree template it plants and, from version 1, the stock-manager slot of its limit (logs, 0).- Growth
Description GrowthDescription. See GAME-LOOP-STEP-11/12 and RESOURCE-SEEDING.md for the consumers.- Happiness
Description HappinessDescription.- Herbalist
Description HerbalistDescription: the natural-resource templates a gatherer or herbalist harvests (count) and the stock-manager production group its limit is checked against (5 food, 6 herbs).- Herd
Description HerdDescription.- Hunt
Description HuntDescription(versioned): the hunting time a kill needs (× 300 s of a full lodge’s work) and, from version 1, the stock slot of its limit.- Immigration
Description - An
ImmigrationDescription: when nomads come to the town. Two values are not serialised: the month in which nomads leave (7) and the margin from the map’s edge (10). - Interact
Description InteractDescription: the point list whose named points “use”, “build” and “create” become the three interaction categories.- Livestock
Description LivestockDescription(versioned): the raw material a pasture gathers from the animal (none for cattle), every × 300 s, and from version 1 the stock slot.- MapDescription
MapDescription: how an entity stamps the gameplay map.- MapGenerator
MapGenerator: a New Game starting-condition profile. Field names follow their confirmed consumers; offsets are the in-memory record’s.- Market
Description MarketDescription: vendors stop while the market is fuller thanthreshold; the categories (raw-material flags) and each one’s share of the market’s room.- Merchant
- A TradeDescription merchant (0x48 bytes): its name (string table, key), the templates it always offers (seeds, livestock), integers the game does not read, its lots before the town’s divisor, the raw-material flags it sells, and more flag masks.
- Model
Description - A
ModelDescription: the meshes and materials an entity is drawn with. - Model
Variant - One model variant: an animation set and its alternative meshes.
- Named
Point - A named point of a
Pathfinding::PointList(position in model space, yaw in degrees). - Natural
Resource Description NaturalResourceDescription. Field offsets are in the runtime object; see docs/RESOURCE-SEEDING.md and GAME-LOOP-STEP-14.md.- Particle
Description ParticleDescription: the entity’s particle systems, then one more reference.- Particle
Slot - One of a
ParticleDescription’s systems (0x28bytes). - Particle
System - A particle system: an emitter of quads that face the camera (smoke, fire, dust, snow). Times are in microseconds. See docs/PARTICLES.md.
- Placed
Structure - A building placed relative to the start point of a new town.
- Point
List Pathfinding::PointList: a mesh name, a second string, path points and named points.- Population
Description PopulationDescription: the wildlife manager’s grid and the herds it starts.- Produce
Recipe - One production recipe of a
ConsumeProduceDescription: what a workplace uses and what it makes. - Profession
Profession: a job citizens can be assigned to.- Quarry
Description QuarryDescription: the pit the quarry digs, a picking mesh in model space whose vertices set the terrain, no lower than a floor that goes fromshallow(when built) todeep(at the end of its production).- RawMaterial
Description RawMaterialDescription: a storable resource.- Residence
Description ResidenceDescription(version 2).- Spawn
Entry - One
SpawnDescriptionentry: a template spawned while the parent’s growth is in[lo, hi]. - Status
Icon Description StatusIconDescription: the icon sprite sheet, icon size and screen-constant flag. The height offset is not serialized and stays 1.0.- Storage
Description StorageDescription.- Terraform
Description TerraformDescription: a tunnel’s floor and ceiling picking meshes, each with the cell types its vertices may change.- Terrain
Generator TerrainGenerator: a New Game terrain profile.- Toolbar
Description - A template’s toolbar component (
ToolbarDescription): the icon, name and tooltip shown for build and utility entries, and its placement messages. - Toolbar
Item - One entry of the in-game toolbar: a button or a sub-menu. The game builds each level of the
toolbar from the entries whose
parentmatches, in the order oforder. - Tornado
Particle - The Tornado particle class (
Graphics::Particlesubclass): particles spiralling up a funnel. Colours are BGRA bytes, timesSystem::Timemicroseconds. See docs/PARTICLES.md. - Trade
Description - A
TradeDescription: the trading post’s boat, merchants and trade window. - Trade
Row - A TradeDescription row by population (0x14 bytes): towns below
populationpeople see a merchant every(months + RandFloatTol × range)× 300 s, and divide the merchant’s lots and each lot’s amount. - UiController
- One entry of a
UIDescriptioncontroller table. - UiDescription
UIDescription: a utility window built from a host dialog with content placed into its named slots, each with an optional controller.- Value
Description - A
ValueDescription: what one unit of a good is worth in trade, and how it is shown. - Work
Description WorkDescription(Template\X.rsc:work).- Work
Place Description WorkPlaceDescription: the profession its workers take (none for storage barns and houses) and a second reference.
Enums§
- Scalar
- A value of the citizen description: a float or an integer.
Functions§
- animal_
description - Read a
AnimalDescriptionfrom the bytes of its resource. - attendance_
description AttendanceDescription: the capacity (Chapel 200, DoctorHouse 30, SchoolHouse 20).- auto_
pickup_ description AutoPickupDescription:, whether the workplace’s workers pick up the piles they make first.- build_
description - Read a
BuildDescriptionfrom the bytes of its resource. - cemetery_
description CemeteryDescription: the tombstone template.- character_
description - Read a
CharacterDescriptionfrom the bytes of its resource. - citizen_
description - Read a
CitizenDescriptionfrom the bytes of its resource. - clear_
area_ description - Read a
ClearAreaDescriptionfrom the bytes of its resource. - climate_
generator - Read a
ClimateGeneratorfrom the bytes of its resource. - climate_
header - Read a
ClimateHeaderfrom the bytes of its resource. - component_
description - Read a
ComponentDescriptionfrom the bytes of its resource. - consume_
produce_ description - Read a
ConsumeProduceDescriptionfrom the bytes of its resource. - create_
bridge_ description - Read a
CreateBridgeDescriptionfrom the bytes of its resource. - create_
drag_ description - Read a
CreateDragDescriptionfrom the bytes of its resource. - create_
fenced_ description - Read a
CreateFencedDescriptionfrom the bytes of its resource. - create_
placed_ description - Read a
CreatePlacedDescriptionfrom the bytes of its resource. - create_
removal_ description - Read a
CreateRemovalDescriptionfrom the bytes of its resource. - create_
road_ description - Read a
CreateRoadDescriptionfrom the bytes of its resource. - crop_
field_ description CropFieldDescription(versioned): a tending visit’s growth and, from version 1, the stock slot.- decal_
description - Read a
DecalDescriptionfrom the bytes of its resource. - destroy_
description - Read a
DestroyDescriptionfrom the bytes of its resource. - disease
- Read a
Diseasefrom the bytes of its resource. - disease_
description - Read a
DiseaseDescriptionfrom the bytes of its resource. - environment_
description - Read a
EnvironmentDescriptionfrom the bytes of its resource. - external_
list - An
ExternalList: an ordered list of resource references, for exampleGame/Terrain/TerrainList.rsc, which fills the terrain selector of the New Game dialog. - fire_
description - Read a
FireDescriptionfrom the bytes of its resource. - fishing_
description - Read a
FishingDescriptionfrom the bytes of its resource. - floor_
description - Read a
FloorDescriptionfrom the bytes of its resource. - forester_
description - Read a
ForesterDescriptionfrom the bytes of its resource. - fruit_
description FruitDescription: ripening time (× 300 s), the best temperature, its range, the fruit’s raw material.- growth_
description - Read a
GrowthDescriptionfrom the bytes of its resource. - happiness_
description - Read a
HappinessDescriptionfrom the bytes of its resource. - herbalist_
description - Read a
HerbalistDescriptionfrom the bytes of its resource. - herd_
description - Read a
HerdDescriptionfrom the bytes of its resource. - hunt_
description - Read a
HuntDescriptionfrom the bytes of its resource. - immigration_
description - Read a
ImmigrationDescriptionfrom the bytes of its resource. - interact_
description - Read a
InteractDescriptionfrom the bytes of its resource. - interaction_
points - Interaction points of one category (0 use, 1 build, 2 create) in point-list order.
- livestock_
description - Read a
LivestockDescriptionfrom the bytes of its resource. - map_
description - Read a
MapDescriptionfrom the bytes of its resource. - map_
generator - Read a
MapGeneratorfrom the bytes of its resource. - market_
description - Read a
MarketDescriptionfrom the bytes of its resource. - model_
description - Read a
ModelDescriptionfrom the bytes of its resource. - natural_
resource_ description - Read a
NaturalResourceDescriptionfrom the bytes of its resource. - nomad_
description - A
NomadDescription: the citizen template nomads become, and the men’s and women’s material instance (put in their model’s material 0). - orchard_
description OrchardDescription(versioned): tree spacing, a tending visit’s ripening and, from version 1, the stock slot.- particle_
description - Read a
ParticleDescriptionfrom the bytes of its resource. - particle_
system - Read a
ParticleSystemfrom the bytes of its resource. - pasture_
description - A
PastureDescription. From version 1, it has the stock slot of the limit of its products (5 by default). - point_
list - Read a
PointListfrom the bytes of its resource. - population_
description - Read a
PopulationDescriptionfrom the bytes of its resource. - profession
- Read a
Professionfrom the bytes of its resource. - quarry_
description - Read a
QuarryDescriptionfrom the bytes of its resource. - radius_
description - RadiusDescription: radius, display reference.
- raw_
material_ description - Read a
RawMaterialDescriptionfrom the bytes of its resource. - residence_
description - Read a
ResidenceDescriptionfrom the bytes of its resource. - spawn_
description SpawnDescription.- status_
icon_ description - Read a
StatusIconDescriptionfrom the bytes of its resource. - storage_
description - Read a
StorageDescriptionfrom the bytes of its resource. - storage_
location_ description - The mask of a
StorageLocationDescription: the kinds of goods a storage place accepts. - terraform_
description - Read a
TerraformDescriptionfrom the bytes of its resource. - terrain_
generator - Read a
TerrainGeneratorfrom the bytes of its resource. - tombstone_
description TombstoneDescription: a grave lasts(+ RandFloat ×)× 300 s.- toolbar_
description - Read a
ToolbarDescriptionfrom the bytes of its resource. - toolbar_
item - Read a
ToolbarItemfrom the bytes of its resource. - tornado_
description TornadoDescription: speed, the ends’ least distance, the reach of a wrecking pass, the time between passes, how far a pass throws its point.- tornado_
particle - Read a
TornadoParticlefrom the bytes of its resource. - trade_
description - Read a
TradeDescriptionfrom the bytes of its resource. - ui_
description - Read a
UiDescriptionfrom the bytes of its resource. - value_
description - Read a
ValueDescriptionfrom the bytes of its resource. - work_
description - Read a
WorkDescriptionfrom the bytes of its resource. - workplace_
description - Read a
WorkPlaceDescriptionfrom the bytes of its resource.