MCPcopy Create free account
hub / github.com/defold/defold / CheckRenderCamera

Function CheckRenderCamera

engine/render/src/render/render_script_camera.cpp:65–96  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63 static RenderScriptCameraModule g_RenderScriptCameraModule = { 0 };
64
65 RenderCamera* CheckRenderCamera(lua_State* L, int index, HRenderContext render_context)
66 {
67 RenderCamera* camera = 0x0;
68
69 if(lua_isnumber(L, index))
70 {
71 HRenderCamera h_camera = (HRenderCamera) lua_tonumber(L, index);
72 camera = render_context->m_RenderCameras.Get(h_camera);
73
74 if (!camera)
75 {
76 return (RenderCamera*) (uintptr_t) luaL_error(L, "Invalid handle.");
77 }
78 }
79 else
80 {
81 dmMessage::URL url;
82 if (dmScript::ResolveURL(L, index, &url, 0) != dmMessage::RESULT_OK)
83 {
84 return (RenderCamera*) (uintptr_t) luaL_error(L, "Could not resolve URL.");
85 }
86
87 camera = GetRenderCameraByUrl(g_RenderScriptCameraModule.m_RenderContext, url);
88 if (camera == 0x0)
89 {
90 char buffer[256];
91 dmScript::UrlToString(&url, buffer, sizeof(buffer));
92 return (RenderCamera*) (uintptr_t) luaL_error(L, "Camera '%s' not found.", buffer);
93 }
94 }
95 return camera;
96 }
97
98 // Resolve a camera from an optional argument. If no argument is given (or nil),
99 // prefer the last enabled camera (matching default render script behavior).

Calls 7

lua_isnumberFunction · 0.85
lua_tonumberFunction · 0.85
luaL_errorFunction · 0.85
GetRenderCameraByUrlFunction · 0.85
UrlToStringFunction · 0.85
ResolveURLFunction · 0.50
GetMethod · 0.45

Tested by

no test coverage detected