From 71fb3290a0ed3aeeac7cf4c2ec5e4a22bd3b970c Mon Sep 17 00:00:00 2001 From: Qais Patankar Date: Fri, 4 Dec 2015 18:42:17 +0000 Subject: [PATCH] Improve error messages for setCameraFieldOfView --- .../lua/CLuaFunctionDefs.Camera.cpp | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/MTA10/mods/shared_logic/lua/CLuaFunctionDefs.Camera.cpp b/MTA10/mods/shared_logic/lua/CLuaFunctionDefs.Camera.cpp index 1b7cfd8a48..d3971de66e 100644 --- a/MTA10/mods/shared_logic/lua/CLuaFunctionDefs.Camera.cpp +++ b/MTA10/mods/shared_logic/lua/CLuaFunctionDefs.Camera.cpp @@ -172,30 +172,33 @@ int CLuaFunctionDefs::SetCameraFieldOfView ( lua_State* luaVM ) argStream.ReadEnumString ( eMode ); argStream.ReadNumber ( fFOV ); - - if ( fFOV < 0 || fFOV > 179 ) - argStream.SetCustomError ( "Outside 0-179 boundaries" ); - + if ( !argStream.HasErrors () ) { - if (eMode == FOV_MODE_PLAYER) - g_pGame->GetSettings ()->SetFieldOfViewPlayer ( fFOV ); - else if ( eMode == FOV_MODE_VEHICLE ) - g_pGame->GetSettings ()->SetFieldOfViewVehicle ( fFOV ); - else if ( eMode == FOV_MODE_VEHICLE_MAX ) - g_pGame->GetSettings ()->SetFieldOfViewVehicleMax ( fFOV ); - else { - argStream.m_iIndex = 1; - m_pScriptDebugging->LogCustom ( luaVM, SString("Enum not yet implemented: " + EnumToString ( eMode )) ); - lua_pushboolean ( luaVM, false ); + while (true) { + if ( fFOV < 0 || fFOV > 179 ) { + argStream.SetCustomError ( "FOV is outside the 0-179 boundary" ); + break; + } + + if (eMode == FOV_MODE_PLAYER) + g_pGame->GetSettings ()->SetFieldOfViewPlayer ( fFOV ); + else if ( eMode == FOV_MODE_VEHICLE ) + g_pGame->GetSettings ()->SetFieldOfViewVehicle ( fFOV ); + else if ( eMode == FOV_MODE_VEHICLE_MAX ) + g_pGame->GetSettings ()->SetFieldOfViewVehicleMax ( fFOV ); + else { + argStream.m_iIndex = 1; + argStream.SetCustomError( SString( "Enum not yet implemented: " + EnumToString ( eMode ) ) ); + break; + } + + lua_pushboolean ( luaVM, true ); return 1; - } - lua_pushboolean ( luaVM, true ); - return 1; + } } - else - m_pScriptDebugging->LogCustom ( luaVM, argStream.GetFullErrorMessage () ); + m_pScriptDebugging->LogCustom ( luaVM, argStream.GetFullErrorMessage () ); lua_pushboolean ( luaVM, false ); return 1; }