Home menu background
Replace the home menu's live battle cuts with scenes of your own, played out on your maps.
A mod can replace the menu's live battle cuts with an ordered menuBackground.queue. Mix original IDs (flank, sea, winter, raid, landing, rockets, home, nuke) with your own, or list only custom cuts. Each cut lasts 13 seconds.
"menuBackground": {
"cuts": [{
"id": "my-mod-night",
"map": "maps/city.steel-tide-map",
"camera": { "tx": 24, "ty": 20, "zoom": 1.4 },
"cameraEnd": { "tx": 30, "ty": 22, "zoom": 1.8 },
"weather": "rain",
"minutes": 18,
"orders": [{ "owner": 0, "tx": 30, "ty": 20 }]
}],
"queue": ["my-mod-night", "sea"]
}
Building a scene
List the cut's map under maps as usual. Its placed units and buildings become the scene, without automatic bases or AI; each spawn is a separate side. Place generators to power them. Camera coordinates and attack-move targets are tiles inside the map. minutes holds the light at dawn (0), noon (6), dusk (12) or midnight (18). Omit cameraEnd to hold a fixed view.
Limits
Use at most 16 custom cuts, 32 queue entries, 128 × 128 tiles per map and 200 placed units/buildings. The queue starts at a random cut and repeats in order. The last enabled pack with a usable queue wins; disabling it restores the previous reel. Invalid scenes are skipped. Reduced motion keeps the still background. A background-only pack uses defs: [].
Reference
Home menu background (menuBackground)
| field | type | required | default | meaning |
|---|---|---|---|---|
| cuts | cut[] | up to 16 custom live scenes | ||
| queue | cut id[] | yes | 1–32 cut IDs in repeating order; original IDs: flank, sea, winter, raid, landing, rockets, home, nuke |
A custom cut (menuBackground.cuts[])
| field | type | required | default | meaning |
|---|---|---|---|---|
| id | id | yes | unique cut ID beginning with the mod ID and a dash | |
| map | string | yes | a path in this pack’s maps; at most 128 × 128 tiles and 200 placed units/buildings | |
| camera | { tx, ty, zoom } | yes | opening framing: { tx, ty, zoom } | |
| cameraEnd | { tx, ty, zoom } | end framing for a 13-second drift; omitted holds camera | ||
| weather | clear | rain | snow | clear | weather held throughout the cut | |
| minutes | number 0–24 | 6 | held day-cycle time: 0 dawn, 6 noon, 12 dusk, 18 midnight | |
| seed | integer 0–2147483647 | 1 | simulation seed | |
| orders | { owner, tx, ty }[] | opening attack-move targets for the map’s mobile units, by owner |
Camera framing
| field | type | required | default | meaning |
|---|---|---|---|---|
| tx | number 0–128 | yes | horizontal camera centre in tiles, inside the map | |
| ty | number 0–128 | yes | vertical camera centre in tiles, inside the map | |
| zoom | number 0.25–4 | yes | camera zoom, capped by the menu on small screens |
Opening order
| field | type | required | default | meaning |
|---|---|---|---|---|
| owner | integer 0–7 | yes | map spawn index; one opening attack-move per owner | |
| tx | number 0–128 | yes | target tile x | |
| ty | number 0–128 | yes | target tile y |
Last edited