diff --git a/test_suites/edit/manifest.json b/test_suites/edit/manifest.json index 57b56cf..1ffc5b1 100644 --- a/test_suites/edit/manifest.json +++ b/test_suites/edit/manifest.json @@ -1,6 +1,6 @@ { "name": "RPG Map Editor Test", - "description": "GUI test of the RPG map editor on the rpg_demo maps: opens the window, picks a tile in the palette, paints it on the main layer with the mouse, undoes with Ctrl+Z, adds an event by double-clicking on the events layer, and closes without saving (the mod's files stay untouched). Activated by --itest=rpg_editor_edit with --game=rpg_demo --new; --shots= saves screenshots (windowed runs only).", + "description": "GUI test of the RPG map editor on the rpg_demo_game maps of rpg_plus: opens the window, picks a tile in the palette, paints it on the main layer with the mouse, undoes with Ctrl+Z, adds an event by double-clicking on the events layer, and closes without saving (the mod's files stay untouched). Activated by --itest=rpg_editor_edit with --game=rpg_plus --new (the prologue is clicked through first); --shots= saves screenshots (windowed runs only).", "sources": [ "src/*.cs" ], diff --git a/test_suites/edit/src/RpgEditorTestDriver.cs b/test_suites/edit/src/RpgEditorTestDriver.cs index 61e7ab6..0b1167e 100644 --- a/test_suites/edit/src/RpgEditorTestDriver.cs +++ b/test_suites/edit/src/RpgEditorTestDriver.cs @@ -84,14 +84,20 @@ namespace Cthangover.Tools.RpgEditor.Tests switch (step) { case 0: - if (!Boot.IsReady || RpgWorldHost.Current?.View == null) + if (!Boot.IsReady || string.IsNullOrEmpty(GetTree().Root.GetNodeOrNull("SceneManager")?.CurrentSceneName)) return; + // Dialogs first: the rpg_plus prologue runs before any map is shown. var box = RpgInput.FindDialogBox(); if (box != null && box.IsRunning) { - box.NextAction(); + if (box.IsWaitingAnswer) + box.TrySelectVariant(0); + else + box.NextAction(); return; } + if (RpgWorldHost.Current?.View == null) + return; window = ToolWindow.Open(); step++; return;