Skip to content

Commit 5af3b59

Browse files
committed
Update GetCameraFieldOfView
1 parent d528a63 commit 5af3b59

File tree

2 files changed

+23
-36
lines changed

2 files changed

+23
-36
lines changed

Client/mods/deathmatch/logic/luadefs/CLuaCameraDefs.cpp

Lines changed: 22 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
166187
unsigned 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-
301288
int CLuaCameraDefs::SetCameraTarget(lua_State* luaVM)
302289
{
303290
// bool setCameraTarget ( element target = nil ) or setCameraTarget ( float x, float y, float z )

Client/mods/deathmatch/logic/luadefs/CLuaCameraDefs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class CLuaCameraDefs : public CLuaDefs
2929
static std::variant<CClientEntity*, bool> GetCameraTarget();
3030
static unsigned char GetCameraInterior();
3131
static std::string GetCameraGoggleEffect();
32-
LUA_DECLARE(GetCameraFieldOfView);
32+
static std::variant<float, bool> GetCameraFieldOfView(eFieldOfViewMode mode);
3333
static unsigned char GetCameraDrunkLevel();
3434

3535
// Cam set funcs

0 commit comments

Comments
 (0)