From d075baa5d18d12ff99bbd2e7545222acb9030403 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Mon, 16 Feb 2004 04:31:18 +0000 Subject: [PATCH] ScreenBranch: use ModeChoice --- stepmania/Themes/default/metrics.ini | 4 ++-- stepmania/src/ScreenBranch.cpp | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index bcc0c7a360..795e95804e 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -3664,8 +3664,8 @@ Class=ScreenBranch Choices=Credits,MusicScroll ConditionCredits=GetBestFinalGrade() <= Grade("AA") ConditionMusicScroll=true -NextScreenCredits=ScreenCredits -NextScreenMusicScroll=ScreenMusicScroll +NextScreenCredits=screen,ScreenCredits +NextScreenMusicScroll=screen,ScreenMusicScroll [EditMenu] Arrows1X=190 diff --git a/stepmania/src/ScreenBranch.cpp b/stepmania/src/ScreenBranch.cpp index 6afbca2425..b3bbfdde8d 100644 --- a/stepmania/src/ScreenBranch.cpp +++ b/stepmania/src/ScreenBranch.cpp @@ -15,6 +15,7 @@ #include "ScreenManager.h" #include "ThemeManager.h" #include "LuaHelpers.h" +#include "ModeChoice.h" #define CHOICES THEME->GetMetric (m_sName,"Choices") #define CONDITION(choice) THEME->GetMetric (m_sName,"Condition"+choice) @@ -50,7 +51,13 @@ void ScreenBranch::HandleScreenMessage( const ScreenMessage SM ) { CString sNextScreen = NEXT_SCREEN(m_sChoice); LOG->Trace( "Branching to '%s'", sNextScreen.c_str() ); - SCREENMAN->SetNewScreen( sNextScreen ); + + ModeChoice mc; + mc.Load( 0, sNextScreen ); + if( mc.m_sScreen == "" ) + RageException::Throw("Metric %s::%s must set \"screen\"", + m_sName, ("NextScreen"+m_sChoice).c_str() ); + mc.ApplyToAllPlayers(); } break; }