@@ -164,6 +164,73 @@ int CLuaFunctionDefs::SetCameraMatrix ( lua_State* luaVM )
164164 return 1 ;
165165}
166166
167+ // Only when onfoot/invehicle
168+ int CLuaFunctionDefs::SetCameraFieldOfView ( lua_State* luaVM )
169+ {
170+ float fFOV ; eFieldOfViewMode eMode;
171+ CScriptArgReader argStream ( luaVM );
172+
173+ argStream.ReadEnumString ( eMode );
174+ argStream.ReadNumber ( fFOV );
175+
176+ if ( fFOV < 0 || fFOV > 179 )
177+ argStream.SetCustomError ( " Outside 0-179 boundaries" );
178+
179+ if ( !argStream.HasErrors () )
180+ {
181+ if (eMode == FOV_MODE_PLAYER)
182+ g_pGame->GetSettings ()->SetFieldOfViewPlayer ( fFOV );
183+ else if ( eMode == FOV_MODE_VEHICLE )
184+ g_pGame->GetSettings ()->SetFieldOfViewVehicle ( fFOV );
185+ else if ( eMode == FOV_MODE_VEHICLE_MAX )
186+ g_pGame->GetSettings ()->SetFieldOfViewVehicleMax ( fFOV );
187+ else {
188+ argStream.m_iIndex = 1 ;
189+ m_pScriptDebugging->LogCustom ( luaVM, SString (" Enum not yet implemented: " + EnumToString ( eMode )) );
190+ lua_pushboolean ( luaVM, false );
191+ return 1 ;
192+ }
193+ lua_pushboolean ( luaVM, true );
194+ return 1 ;
195+ }
196+ else
197+ m_pScriptDebugging->LogCustom ( luaVM, argStream.GetFullErrorMessage () );
198+
199+ lua_pushboolean ( luaVM, false );
200+ return 1 ;
201+ }
202+
203+ // Only when onfoot/invehicle
204+ int CLuaFunctionDefs::GetCameraFieldOfView ( lua_State* luaVM )
205+ {
206+ eFieldOfViewMode eMode;
207+ CScriptArgReader argStream ( luaVM );
208+
209+ argStream.ReadEnumString ( eMode );
210+
211+ if ( !argStream.HasErrors () )
212+ {
213+ float fFOV ;
214+ if ( eMode == FOV_MODE_PLAYER )
215+ fFOV = g_pGame->GetSettings ()->GetFieldOfViewPlayer ();
216+ else if ( eMode == FOV_MODE_VEHICLE )
217+ fFOV = g_pGame->GetSettings ()->GetFieldOfViewVehicle ();
218+ else if ( eMode == FOV_MODE_VEHICLE_MAX )
219+ fFOV = g_pGame->GetSettings ()->GetFieldOfViewVehicleMax ();
220+ else {
221+ argStream.m_iIndex = 1 ;
222+ m_pScriptDebugging->LogCustom ( luaVM, SString ( " Enum not yet implemented: " + EnumToString ( eMode ) ) );
223+ lua_pushboolean ( luaVM, false );
224+ return 1 ;
225+ }
226+
227+ lua_pushnumber ( luaVM, fFOV );
228+ return 1 ;
229+ }
230+
231+ lua_pushboolean ( luaVM, false );
232+ return 1 ;
233+ }
167234
168235int CLuaFunctionDefs::SetCameraTarget ( lua_State* luaVM )
169236{
0 commit comments