Game picker and save browser: menu window shell, background warm-up
The main menu warms every ready game's mods up into the assembly cache in the background (last played first), so picking a game only loads cached assemblies. Game picker and save browser are scenes on the shared MenuWindowShell (also used by the settings): caps title, close on the right, footer hint; the picker footer shows the warm-up state, cards get framed covers with a letter placeholder and Continue as the main action; the save browser shows 3x2 large cards with the game selector in the header. new_game waits for the warm-up; menu_flow takes --shots.
This commit is contained in:
1 parent
9bd0483af9
commit
f04a2a3661
13 files changed
+500
-210
No files matched your search
@@ -17,7 +17,8 @@ namespace Mods.NewGameTest
|
||||
/// Plays the games the way a player does, in ONE process: no restart
|
||||
/// happens anywhere, every game switch replaces the mod set in place.
|
||||
/// <list type="number">
|
||||
/// <item>Front-end menu → Play → the <c>cthangover</c> card → New game: the
|
||||
/// <item>The front-end menu warms every game's mods up in the background;
|
||||
/// once done, Play → the <c>cthangover</c> card → New game: the
|
||||
/// process switches to the game, enters <c>prolog_alley</c> and the opening
|
||||
/// dialog about the hungover Marao is clicked through.</item>
|
||||
/// <item>Hot reload inside the game (forced reload of <c>cthangover_party</c>):
|
||||
@@ -105,8 +106,13 @@ namespace Mods.NewGameTest
|
||||
switch (step)
|
||||
{
|
||||
case 0:
|
||||
if (!Boot.IsReady || !PressMenuPlay())
|
||||
// The menu compiles the games' mods in the background; the switch
|
||||
// below must then only load them from the cache (see the log).
|
||||
if (!Boot.IsReady || GetTree().CurrentScene is not Cthangover.BaseMenu.MainMenu || GameSession.IsWarmingUp)
|
||||
return;
|
||||
if (!PressMenuPlay())
|
||||
return;
|
||||
Check("the menu warmed the games up in the background", true);
|
||||
Check("front-end menu offers Play", ActiveGame.IsFrontendOnly);
|
||||
break;
|
||||
|
||||
|
||||
Reference in new issue
Block a user