Add Mars Base generator, mars03 boss arena, and Mars campaign polish

Dedicated Mars Base generator with 6 segment types (entry, shaft, corridor,
turret hall, hive, arena), depth-scaled difficulty, and exit to boss arena
after 2 generated levels. Mars themes integrated into all 7 generic segment
generators. Full level chain: moon03 → mars01 → mars02 → mars_base (×2) →
mars03 → station.

Also: jetpack fuel pickup preserves recharge progress, depth counters reset
on game loop, NULL checks on entity spawns, charger charge timeout, bg
decoration in Mars Base generator.
This commit is contained in:
Thomas
2026-03-02 20:27:29 +00:00
parent 74cd70738d
commit 1ef84cd3b4
9 changed files with 906 additions and 30 deletions

View File

@@ -70,6 +70,17 @@ bool levelgen_generate(Tilemap *map, const LevelGenConfig *config);
* Returns true on success. */
bool levelgen_generate_station(Tilemap *map, const LevelGenConfig *config);
/* Config preset for a Mars Base level:
* tall (46 tiles), vertical, claustrophobic.
* Heavy laser turret/spawner/charger presence.
* depth (0-based) escalates difficulty and length. */
LevelGenConfig levelgen_mars_base_config(uint32_t seed, int depth);
/* Generate a Mars Base level: tall multi-level underground
* facility with shafts, turret halls, spawner hives.
* Returns true on success. */
bool levelgen_generate_mars_base(Tilemap *map, const LevelGenConfig *config);
/* Dump a generated (or any) Tilemap to a .lvl file.
* Useful for inspecting/editing procedural output.
* Returns true on success. */