@@ -28,7 +28,7 @@ void CLuaCameraDefs::LoadFunctions()
2828 {" getCameraTarget" , ArgumentParserWarn<false , GetCameraTarget>},
2929 {" getCameraInterior" , ArgumentParserWarn<false , GetCameraInterior>},
3030 {" getCameraGoggleEffect" , ArgumentParserWarn<false , GetCameraGoggleEffect>},
31- {" getCameraFieldOfView" , GetCameraFieldOfView},
31+ {" getCameraFieldOfView" , ArgumentParserWarn< false , GetCameraFieldOfView> },
3232 {" getCameraDrunkLevel" , ArgumentParserWarn<false , GetCameraDrunkLevel>},
3333
3434 // Cam set funcs
@@ -163,6 +163,27 @@ std::string CLuaCameraDefs::GetCameraGoggleEffect()
163163 return " normal" ;
164164}
165165
166+ std::variant<float , bool > CLuaCameraDefs::GetCameraFieldOfView (eFieldOfViewMode mode)
167+ {
168+ switch (mode)
169+ {
170+ case FOV_MODE_PLAYER:
171+ return g_pGame->GetSettings ()->GetFieldOfViewPlayer ();
172+ case FOV_MODE_VEHICLE:
173+ return g_pGame->GetSettings ()->GetFieldOfViewVehicle ();
174+ case FOV_MODE_VEHICLE_MAX:
175+ return g_pGame->GetSettings ()->GetFieldOfViewVehicleMax ();
176+ case FOV_MODE_AIMING:
177+ return g_pGame->GetSettings ()->GetFieldOfViewAiming ();
178+ case FOV_MODE_SNIPER_AIMING:
179+ return g_pGame->GetSettings ()->GetFieldOfViewSniperAiming ();
180+ case FOV_MODE_1ST_PERSON_AIMING:
181+ return g_pGame->GetSettings ()->GetFieldOfView1stPersonAiming ();
182+ default :
183+ return false ;
184+ }
185+ }
186+
166187unsigned char CLuaCameraDefs::GetCameraDrunkLevel ()
167188{
168189 return g_pGame->GetPlayerInfo ()->GetCamDrunkLevel ();
@@ -264,40 +285,6 @@ void CLuaCameraDefs::ResetCameraFieldOfView(eFieldOfViewMode mode)
264285 }
265286}
266287
267- // Only when onfoot/invehicle
268- int CLuaCameraDefs::GetCameraFieldOfView (lua_State* luaVM)
269- {
270- eFieldOfViewMode eMode;
271- CScriptArgReader argStream (luaVM);
272-
273- argStream.ReadEnumString (eMode);
274-
275- if (!argStream.HasErrors ())
276- {
277- float fFOV ;
278- if (eMode == FOV_MODE_PLAYER)
279- fFOV = g_pGame->GetSettings ()->GetFieldOfViewPlayer ();
280- else if (eMode == FOV_MODE_VEHICLE)
281- fFOV = g_pGame->GetSettings ()->GetFieldOfViewVehicle ();
282- else if (eMode == FOV_MODE_VEHICLE_MAX)
283- fFOV = g_pGame->GetSettings ()->GetFieldOfViewVehicleMax ();
284- else
285- {
286- argStream.m_iIndex = 1 ;
287- m_pScriptDebugging->LogCustom (luaVM, SString (" Enum not yet implemented: " + EnumToString (eMode)));
288- lua_pushboolean (luaVM, false );
289- return 1 ;
290- }
291-
292- lua_pushnumber (luaVM, fFOV );
293- return 1 ;
294- }
295-
296- m_pScriptDebugging->LogCustom (luaVM, argStream.GetFullErrorMessage ());
297- lua_pushboolean (luaVM, false );
298- return 1 ;
299- }
300-
301288int CLuaCameraDefs::SetCameraTarget (lua_State* luaVM)
302289{
303290 // bool setCameraTarget ( element target = nil ) or setCameraTarget ( float x, float y, float z )
0 commit comments