Skip to content

Commit 0fa3913

Browse files
committed
CLuaBlipDefs: clamp blip size between 0 and 25 for backwards compatibility
1 parent c11cdb5 commit 0fa3913

File tree

2 files changed

+23
-13
lines changed

2 files changed

+23
-13
lines changed

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

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ int CLuaBlipDefs::CreateBlip(lua_State* luaVM)
6060
{
6161
CVector vecPosition;
6262
unsigned char ucIcon = 0;
63-
unsigned char ucSize = 2;
63+
int iSize = 2;
6464
SColorRGBA color(255, 0, 0, 255);
6565
int iOrdering = 0;
6666
int iVisibleDistance = 16383;
6767
CScriptArgReader argStream(luaVM);
6868
argStream.ReadVector3D(vecPosition);
6969
argStream.ReadNumber(ucIcon, 0);
70-
argStream.ReadNumber(ucSize, 2);
70+
argStream.ReadNumber(iSize, 2);
7171
argStream.ReadNumber(color.R, 255);
7272
argStream.ReadNumber(color.G, 0);
7373
argStream.ReadNumber(color.B, 0);
@@ -88,6 +88,7 @@ int CLuaBlipDefs::CreateBlip(lua_State* luaVM)
8888
CResource* pResource = pLuaMain->GetResource();
8989
if (pResource)
9090
{
91+
unsigned char ucSize = Clamp(0, iSize, 25);
9192
short sOrdering = Clamp(-32768, iOrdering, 32767);
9293
unsigned short usVisibleDistance = Clamp(0, iVisibleDistance, 65535);
9394

@@ -120,14 +121,14 @@ int CLuaBlipDefs::CreateBlipAttachedTo(lua_State* luaVM)
120121
CClientEntity* pEntity = NULL;
121122
// Default colors and size
122123
unsigned char ucIcon = 0;
123-
unsigned char ucSize = 2;
124+
int iSize = 2;
124125
SColorRGBA color(255, 0, 0, 255);
125126
int iOrdering = 0;
126127
int iVisibleDistance = 16383;
127128
CScriptArgReader argStream(luaVM);
128129
argStream.ReadUserData(pEntity);
129130
argStream.ReadNumber(ucIcon, 0);
130-
argStream.ReadNumber(ucSize, 2);
131+
argStream.ReadNumber(iSize, 2);
131132
argStream.ReadNumber(color.R, 255);
132133
argStream.ReadNumber(color.G, 0);
133134
argStream.ReadNumber(color.B, 0);
@@ -148,6 +149,7 @@ int CLuaBlipDefs::CreateBlipAttachedTo(lua_State* luaVM)
148149
CResource* pResource = pLuaMain->GetResource();
149150
if (pResource)
150151
{
152+
unsigned char ucSize = Clamp(0, iSize, 25);
151153
short sOrdering = Clamp(-32768, iOrdering, 32767);
152154
unsigned short usVisibleDistance = Clamp(0, iVisibleDistance, 65535);
153155

@@ -303,13 +305,15 @@ int CLuaBlipDefs::SetBlipIcon(lua_State* luaVM)
303305
int CLuaBlipDefs::SetBlipSize(lua_State* luaVM)
304306
{
305307
CClientEntity* pEntity = NULL;
306-
unsigned char ucSize = 0;
308+
int iSize = 0;
307309
CScriptArgReader argStream(luaVM);
308310
argStream.ReadUserData(pEntity);
309-
argStream.ReadNumber(ucSize);
311+
argStream.ReadNumber(iSize);
310312

311313
if (!argStream.HasErrors())
312314
{
315+
unsigned char ucSize = Clamp(0, iSize, 25);
316+
313317
if (CStaticFunctionDefinitions::SetBlipSize(*pEntity, ucSize))
314318
{
315319
lua_pushboolean(luaVM, true);

Server/mods/deathmatch/logic/luadefs/CLuaBlipDefs.cpp

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ void CLuaBlipDefs::AddClass(lua_State* luaVM)
6363
int CLuaBlipDefs::CreateBlip(lua_State* luaVM)
6464
{
6565
CVector vecPosition;
66-
unsigned char ucIcon, ucSize;
66+
unsigned char ucIcon;
67+
int iSize;
6768
SColorRGBA color(255, 0, 0, 255);
6869
int iOrdering;
6970
int iVisibleDistance;
@@ -72,7 +73,7 @@ int CLuaBlipDefs::CreateBlip(lua_State* luaVM)
7273
CScriptArgReader argStream(luaVM);
7374
argStream.ReadVector3D(vecPosition);
7475
argStream.ReadNumber(ucIcon, 0);
75-
argStream.ReadNumber(ucSize, 2);
76+
argStream.ReadNumber(iSize, 2);
7677
argStream.ReadNumber(color.R, color.R);
7778
argStream.ReadNumber(color.G, color.G);
7879
argStream.ReadNumber(color.B, color.B);
@@ -97,6 +98,7 @@ int CLuaBlipDefs::CreateBlip(lua_State* luaVM)
9798
CResource* pResource = pLuaMain->GetResource();
9899
if (pResource)
99100
{
101+
unsigned char ucSize = Clamp(0, iSize, 25);
100102
short sOrdering = Clamp(-32768, iOrdering, 32767);
101103
unsigned short usVisibleDistance = Clamp(0, iVisibleDistance, 65535);
102104

@@ -125,7 +127,8 @@ int CLuaBlipDefs::CreateBlip(lua_State* luaVM)
125127
int CLuaBlipDefs::CreateBlipAttachedTo(lua_State* luaVM)
126128
{
127129
CElement* pElement;
128-
unsigned char ucIcon, ucSize;
130+
unsigned char ucIcon;
131+
int iSize;
129132
SColorRGBA color(255, 0, 0, 255);
130133
int iOrdering;
131134
int iVisibleDistance;
@@ -134,7 +137,7 @@ int CLuaBlipDefs::CreateBlipAttachedTo(lua_State* luaVM)
134137
CScriptArgReader argStream(luaVM);
135138
argStream.ReadUserData(pElement);
136139
argStream.ReadNumber(ucIcon, 0);
137-
argStream.ReadNumber(ucSize, 2);
140+
argStream.ReadNumber(iSize, 2);
138141
argStream.ReadNumber(color.R, color.R);
139142
argStream.ReadNumber(color.G, color.G);
140143
argStream.ReadNumber(color.B, color.B);
@@ -156,6 +159,7 @@ int CLuaBlipDefs::CreateBlipAttachedTo(lua_State* luaVM)
156159
CResource* resource = m_pLuaManager->GetVirtualMachineResource(luaVM);
157160
if (resource)
158161
{
162+
unsigned char ucSize = Clamp(0, iSize, 25);
159163
short sOrdering = Clamp(-32768, iOrdering, 32767);
160164
unsigned short usVisibleDistance = Clamp(0, iVisibleDistance, 65535);
161165

@@ -325,15 +329,17 @@ int CLuaBlipDefs::SetBlipIcon(lua_State* luaVM)
325329

326330
int CLuaBlipDefs::SetBlipSize(lua_State* luaVM)
327331
{
328-
CElement* pElement;
329-
unsigned char ucSize;
332+
CElement* pElement;
333+
int iSize;
330334

331335
CScriptArgReader argStream(luaVM);
332336
argStream.ReadUserData(pElement);
333-
argStream.ReadNumber(ucSize);
337+
argStream.ReadNumber(iSize);
334338

335339
if (!argStream.HasErrors())
336340
{
341+
unsigned char ucSize = Clamp(0, iSize, 25);
342+
337343
if (CStaticFunctionDefinitions::SetBlipSize(pElement, ucSize))
338344
{
339345
lua_pushboolean(luaVM, true);

0 commit comments

Comments
 (0)