feat(editor): in-editor "Random Populate" menu mirrors CLI

Adds EditorApp::randomPopulateZone(creatureCount, objectCount, seed)
and a Generate-menu submenu with sliders for both counts plus a
seed input. Same logic and bestiary as the --random-populate-zone
CLI: 12 creature templates with level jitter, 5 placeholder WMO
prop types with randomized rotation/scale.

Spawns are placed within the loaded tile's world bbox, marked
dirty + auto-save pending so the populated content persists across
restarts.

The CLI command remains for CI / scripting / batch workflows; the
menu serves designers who want to populate from the GUI without
context-switching to a terminal.

Same-seed reproducibility: a hover hint reminds the user that the
seed determines the output deterministically.
This commit is contained in:
Kelsi 2026-05-07 12:14:13 -07:00
parent bdf2497f46
commit 89dacba666
3 changed files with 98 additions and 0 deletions

View file

@ -98,6 +98,10 @@ public:
int batchConvertAssets(const std::string& dataDir);
void clearAllObjects();
void generateCompleteZone();
// Drop N random creatures + M random objects within the loaded
// tile's world bbox. Mirrors the --random-populate-zone CLI
// command so users can do bulk population from inside the editor.
void randomPopulateZone(int creatureCount, int objectCount, uint32_t seed);
void centerOnTerrain();
// Multi-tile support