Add world scenario validation coverage

This commit is contained in:
server
2026-04-14 17:57:22 +02:00
parent 9669a670f7
commit aacc0651b0
3 changed files with 225 additions and 5 deletions

View File

@@ -109,6 +109,17 @@ Confirmed `.m2p` smoke tests:
- `sound_m.m2p`
- `sound2.m2p`
with all thirty-six matching legacy `.pck` files removed
- the same thirty-six-pack set plus:
- `monster.m2p`
- `npc2.m2p`
- `textureset.m2p`
- `outdoora3.m2p`
- `outdoorb3.m2p`
- `outdoorc3.m2p`
- `outdoordesert1.m2p`
- `outdoorflame1.m2p`
- `outdoorfielddungeon1.m2p`
with all forty-five matching legacy `.pck` files removed
In every confirmed case the client reached the login bootstrap path under Wine
and completed:
@@ -128,7 +139,7 @@ additional packs such as world, NPC, monster, and late-load gameplay content.
Those should be validated with map loads or in-game scenario coverage rather
than startup-only checks.
The world, audio, and gameplay-adjacent packs listed above are therefore
The world, audio, actor, and gameplay-adjacent packs listed above are therefore
validated only as
startup-time regression smoke coverage. They do prove that the additional
`.m2p` archives do not break bootstrap or early asset resolution, but they do
@@ -170,3 +181,18 @@ python3 scripts/runtime_smoke_wine.py \
--pack ETC \
--json
```
World/map scenario validator:
```bash
python3 scripts/validate_runtime_scenarios.py \
--runtime-root /tmp/m2dev-client-runtime-http \
--json
```
This validator checks real cross-pack world references:
- each selected `Outdoor*` map pack contains `setting.txt`
- each selected `Outdoor*` map pack contains `mapproperty.txt`
- `TextureSet` targets from `setting.txt` exist in `textureset`
- `Environment` targets from `setting.txt` exist in `ETC/ymir work/environment`