Skip to content

Commit

Permalink
Refactor wrong usage of lua_getownerresource
Browse files Browse the repository at this point in the history
  • Loading branch information
botder committed Jan 10, 2025
1 parent 6cb9d3e commit ed1301b
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 33 deletions.
20 changes: 10 additions & 10 deletions Client/mods/deathmatch/logic/luadefs/CLuaBlipDefs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ std::variant<CClientRadarMarker*, bool> CLuaBlipDefs::CreateBlip(lua_State* luaV
size = MAX_BLIP_SIZE;
}

CResource* resource = &lua_getownerresource(luaVM);
if (!resource)
return false;
CResource& resource = lua_getownerresource(luaVM);
CClientRadarMarker* radarMarker = CStaticFunctionDefinitions::CreateBlip(resource, vecPosition, icon.value_or(0), size.value_or(2),
SColorRGBA(r.value_or(255), g.value_or(0), b.value_or(0), a.value_or(255)),
ordering.value_or(0), visibleDistance.value_or(16383));

CClientRadarMarker* radarMarker = CStaticFunctionDefinitions::CreateBlip(*resource, vecPosition, icon.value_or(0), size.value_or(2), SColorRGBA(r.value_or(255), g.value_or(0), b.value_or(0), a.value_or(255)), ordering.value_or(0), visibleDistance.value_or(16383));
if (!radarMarker)
return false;

if (CElementGroup* elementGroup = resource->GetElementGroup())
if (CElementGroup* elementGroup = resource.GetElementGroup())
elementGroup->Add(radarMarker);

return radarMarker;
Expand All @@ -50,15 +50,15 @@ std::variant<CClientRadarMarker*, bool> CLuaBlipDefs::CreateBlipAttachedTo(lua_S
size = MAX_BLIP_SIZE;
}

CResource* resource = &lua_getownerresource(luaVM);
if (!resource)
return false;
CResource& resource = lua_getownerresource(luaVM);
CClientRadarMarker* radarMarker = CStaticFunctionDefinitions::CreateBlipAttachedTo(
resource, *entity, icon.value_or(0), size.value_or(2), SColorRGBA(r.value_or(255), g.value_or(0), b.value_or(0), a.value_or(255)), ordering.value_or(0),
visibleDistance.value_or(16383));

CClientRadarMarker* radarMarker = CStaticFunctionDefinitions::CreateBlipAttachedTo(*resource, *entity, icon.value_or(0), size.value_or(2), SColorRGBA(r.value_or(255), g.value_or(0), b.value_or(0), a.value_or(255)), ordering.value_or(0), visibleDistance.value_or(16383));
if (!radarMarker)
return false;

if (CElementGroup* elementGroup = resource->GetElementGroup())
if (CElementGroup* elementGroup = resource.GetElementGroup())
elementGroup->Add(radarMarker);

return radarMarker;
Expand Down
7 changes: 1 addition & 6 deletions Client/mods/deathmatch/logic/luadefs/CLuaResourceDefs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -227,12 +227,7 @@ std::string CLuaResourceDefs::GetResourceName(lua_State* luaVM, std::optional<CR
if (resourceElement.has_value())
return (*resourceElement)->GetName();

CResource* localResource = &lua_getownerresource(luaVM);

if (!localResource)
throw std::invalid_argument("Couldn't find the resource");

return localResource->GetName();
return lua_getownerresource(luaVM).GetName();
}

int CLuaResourceDefs::GetResourceFromName(lua_State* luaVM)
Expand Down
21 changes: 10 additions & 11 deletions Server/mods/deathmatch/logic/luadefs/CLuaBlipDefs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,14 @@ std::variant<CBlip*, bool> CLuaBlipDefs::CreateBlip(lua_State* luaVM, const CVec
size = MAX_BLIP_SIZE;
}

CResource* resource = &lua_getownerresource(luaVM);
if (!resource)
return false;

CBlip* radarMarker = CStaticFunctionDefinitions::CreateBlip(resource, vecPosition, icon.value_or(0), size.value_or(2), SColorRGBA(r.value_or(255), g.value_or(0), b.value_or(0), a.value_or(255)), ordering.value_or(0), visibleDistance.value_or(16383), visibleTo.value_or(nullptr));
CResource& resource = lua_getownerresource(luaVM);
CBlip* radarMarker = CStaticFunctionDefinitions::CreateBlip(&resource, vecPosition, icon.value_or(0), size.value_or(2),
SColorRGBA(r.value_or(255), g.value_or(0), b.value_or(0), a.value_or(255)),
ordering.value_or(0), visibleDistance.value_or(16383), visibleTo.value_or(nullptr));
if (!radarMarker)
return false;

if (CElementGroup* elementGroup = resource->GetElementGroup())
if (CElementGroup* elementGroup = resource.GetElementGroup())
elementGroup->Add(radarMarker);

return radarMarker;
Expand All @@ -53,15 +52,15 @@ std::variant<CBlip*, bool> CLuaBlipDefs::CreateBlipAttachedTo(lua_State* luaVM,
size = MAX_BLIP_SIZE;
}

CResource* resource = &lua_getownerresource(luaVM);
if (!resource)
return false;
CResource& resource = lua_getownerresource(luaVM);
CBlip* radarMarker = CStaticFunctionDefinitions::CreateBlipAttachedTo(&resource, entity, icon.value_or(0), size.value_or(2),
SColorRGBA(r.value_or(255), g.value_or(0), b.value_or(0), a.value_or(255)),
ordering.value_or(0), visibleDistance.value_or(16383), visibleTo.value_or(nullptr));

CBlip* radarMarker = CStaticFunctionDefinitions::CreateBlipAttachedTo(resource, entity, icon.value_or(0), size.value_or(2), SColorRGBA(r.value_or(255), g.value_or(0), b.value_or(0), a.value_or(255)), ordering.value_or(0), visibleDistance.value_or(16383), visibleTo.value_or(nullptr));
if (!radarMarker)
return false;

if (CElementGroup* elementGroup = resource->GetElementGroup())
if (CElementGroup* elementGroup = resource.GetElementGroup())
elementGroup->Add(radarMarker);

return radarMarker;
Expand Down
7 changes: 1 addition & 6 deletions Server/mods/deathmatch/logic/luadefs/CLuaResourceDefs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -903,12 +903,7 @@ std::string CLuaResourceDefs::GetResourceName(lua_State* luaVM, std::optional<CR
if (resourceElement.has_value())
return (*resourceElement)->GetName();

CResource* localResource = &lua_getownerresource(luaVM);

if (!localResource)
throw std::invalid_argument("Couldn't find the resource");

return localResource->GetName();
return lua_getownerresource(luaVM).GetName();
}

int CLuaResourceDefs::getResourceRootElement(lua_State* luaVM)
Expand Down

0 comments on commit ed1301b

Please sign in to comment.