M1c: weather, snap building, shelter, beds and regrowth

- Seeded weather (clear/cloudy/rain/storm, snow and blizzards on cold days
  and above the snowline), lightning, synthesised rain/wind/thunder sound
- Rain/snow particles stopped by roofs; wet ground, settled snow and wind
  via global shader uniforms
- Snap-together wood floor, wall, door, roof and gable with structural
  support, collapse and X to dismantle
- Shelter detection: dry under a roof, warmer and Rested inside with a fire;
  rain burns an uncovered campfire faster
- Bed sets the spawn point and lets you sleep through the night
- Trees, boulders and ground pickups regrow; timers saved
- Grass cleared under floors; shorter HUD hint
- New test_weather_building suite (62 checks) and tests/run_all.sh, which
  also fails on script errors
This commit is contained in:
Paul Bailey
2026-11-04 10:16:41 +00:00
parent fc7eb3cfed
commit fed96ef118
36 changed files with 2421 additions and 58 deletions

View File

@@ -191,6 +191,81 @@
1.6
]
}
},
{
"id": "wood_floor",
"name": "Wood Floor",
"category": "building",
"stack": 20,
"description": "2 x 2 m. Snaps to other pieces. Sits level on the ground.",
"mesh": "wood_floor",
"place": {
"piece": "build",
"kind": "floor"
}
},
{
"id": "wood_wall",
"name": "Wood Wall",
"category": "building",
"stack": 20,
"description": "2 x 2 m. Snaps to floor edges, other walls and roofs.",
"mesh": "wood_wall",
"place": {
"piece": "build",
"kind": "wall"
}
},
{
"id": "wood_door",
"name": "Wood Door",
"category": "building",
"stack": 10,
"description": "A wall with a door in it. E opens and closes it.",
"mesh": "wood_door",
"place": {
"piece": "door",
"kind": "door"
}
},
{
"id": "wood_roof",
"name": "Wood Roof",
"category": "building",
"stack": 20,
"description": "Rises 1 m over 2 m. Two from opposite walls of a 4 m hut meet at the ridge.",
"mesh": "wood_roof",
"place": {
"piece": "build",
"kind": "roof"
}
},
{
"id": "wood_gable",
"name": "Wood Gable",
"category": "building",
"stack": 20,
"description": "Triangle that closes the end of a roof. R to flip it.",
"mesh": "wood_gable",
"place": {
"piece": "build",
"kind": "gable"
}
},
{
"id": "bed",
"name": "Bed",
"category": "placeable",
"stack": 1,
"description": "Sets your spawn point. Sleep through the night under a roof.",
"mesh": "bed",
"place": {
"piece": "bed",
"footprint": [
1.0,
2.1
]
}
}
]
}