From d77765d5bafd94aae230c71b47243d67aa816bd1 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sun, 8 Jan 2012 01:17:21 -0600 Subject: [PATCH] add optional ScreenMessage parameter to SCREENMAN:AddScreenToTop( screen, (ScreenMessage) ) --- src/ScreenManager.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ScreenManager.cpp b/src/ScreenManager.cpp index 0285dcb9ee..2d63d33367 100644 --- a/src/ScreenManager.cpp +++ b/src/ScreenManager.cpp @@ -874,7 +874,18 @@ public: static int SystemMessage( T* p, lua_State *L ) { p->SystemMessage( SArg(1) ); return 0; } static int ScreenIsPrepped( T* p, lua_State *L ) { lua_pushboolean( L, ScreenManagerUtil::ScreenIsPrepped( SArg(1) ) ); return 1; } static int ScreenClassExists( T* p, lua_State *L ) { lua_pushboolean( L, g_pmapRegistrees->find( SArg(1) ) != g_pmapRegistrees->end() ); return 1; } - static int AddNewScreenToTop( T* p, lua_State *L ) { p->AddNewScreenToTop( SArg(1) ); return 0; } + static int AddNewScreenToTop( T* p, lua_State *L ) + { + ScreenMessage SM = SM_None; + if( lua_gettop(L) >= 2 && !lua_isnil(L,2) ) + { + RString sMessage = SArg(2); + SM = ScreenMessageHelpers::ToScreenMessage( sMessage ); + } + + p->AddNewScreenToTop( SArg(1), SM ); + return 0; + } //static int GetScreenStackSize( T* p, lua_State *L ) { lua_pushnumber( L, ScreenManagerUtil::g_ScreenStack.size() ); return 1; } static int ReloadOverlayScreens( T* p, lua_State *L ) { p->ReloadOverlayScreens(); return 0; }