Skip to content

Commit c11cdb5

Browse files
committed
CStaticFuncDefs: make client blip size code consistent with server
1 parent 0cffa92 commit c11cdb5

File tree

1 file changed

+47
-28
lines changed

1 file changed

+47
-28
lines changed

Client/mods/deathmatch/logic/CStaticFunctionDefinitions.cpp

Lines changed: 47 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4224,58 +4224,77 @@ bool CStaticFunctionDefinitions::GetSFXStatus(eAudioLookupIndex containerIndex,
42244224
CClientRadarMarker* CStaticFunctionDefinitions::CreateBlip(CResource& Resource, const CVector& vecPosition, unsigned char ucIcon, unsigned char ucSize,
42254225
const SColor color, short sOrdering, unsigned short usVisibleDistance)
42264226
{
4227-
CClientRadarMarker* pBlip = new CClientRadarMarker(m_pManager, INVALID_ELEMENT_ID, sOrdering, usVisibleDistance);
4228-
if (pBlip)
4227+
// Valid icon and size?
4228+
if (CClientRadarMarkerManager::IsValidIcon(ucIcon) && ucSize <= 25)
42294229
{
4230-
pBlip->SetParent(Resource.GetResourceDynamicEntity());
4231-
pBlip->SetPosition(vecPosition);
4232-
pBlip->SetSprite(ucIcon);
4233-
pBlip->SetScale(ucSize);
4234-
pBlip->SetColor(color);
4230+
CClientRadarMarker* pBlip = new CClientRadarMarker(m_pManager, INVALID_ELEMENT_ID, sOrdering, usVisibleDistance);
4231+
if (pBlip)
4232+
{
4233+
pBlip->SetParent(Resource.GetResourceDynamicEntity());
4234+
pBlip->SetPosition(vecPosition);
4235+
pBlip->SetSprite(ucIcon);
4236+
pBlip->SetScale(ucSize);
4237+
pBlip->SetColor(color);
4238+
}
4239+
return pBlip;
42354240
}
4236-
return pBlip;
4241+
4242+
return nullptr;
42374243
}
42384244

42394245
CClientRadarMarker* CStaticFunctionDefinitions::CreateBlipAttachedTo(CResource& Resource, CClientEntity& Entity, unsigned char ucIcon, unsigned char ucSize,
42404246
const SColor color, short sOrdering, unsigned short usVisibleDistance)
42414247
{
4242-
CClientRadarMarker* pBlip = new CClientRadarMarker(m_pManager, INVALID_ELEMENT_ID, sOrdering, usVisibleDistance);
4243-
if (pBlip)
4248+
assert(&Entity);
4249+
// Valid icon and size?
4250+
if (CClientRadarMarkerManager::IsValidIcon(ucIcon) && ucSize <= 25)
42444251
{
4245-
pBlip->SetParent(Resource.GetResourceDynamicEntity());
4246-
pBlip->AttachTo(&Entity);
4247-
pBlip->SetSprite(ucIcon);
4248-
pBlip->SetScale(ucSize);
4249-
pBlip->SetColor(color);
4252+
CClientRadarMarker* pBlip = new CClientRadarMarker(m_pManager, INVALID_ELEMENT_ID, sOrdering, usVisibleDistance);
4253+
if (pBlip)
4254+
{
4255+
pBlip->SetParent(Resource.GetResourceDynamicEntity());
4256+
pBlip->AttachTo(&Entity);
4257+
pBlip->SetSprite(ucIcon);
4258+
pBlip->SetScale(ucSize);
4259+
pBlip->SetColor(color);
4260+
}
4261+
return pBlip;
42504262
}
4251-
return pBlip;
4263+
4264+
return nullptr;
42524265
}
42534266

42544267
bool CStaticFunctionDefinitions::SetBlipIcon(CClientEntity& Entity, unsigned char ucIcon)
42554268
{
4256-
RUN_CHILDREN(SetBlipIcon(**iter, ucIcon))
4257-
4258-
if (IS_RADARMARKER(&Entity))
4269+
if (CClientRadarMarkerManager::IsValidIcon(ucIcon))
42594270
{
4260-
CClientRadarMarker& Marker = static_cast<CClientRadarMarker&>(Entity);
4271+
RUN_CHILDREN(SetBlipIcon(**iter, ucIcon))
42614272

4262-
Marker.SetSprite(ucIcon);
4263-
return true;
4273+
if (IS_RADARMARKER(&Entity))
4274+
{
4275+
CClientRadarMarker& Marker = static_cast<CClientRadarMarker&>(Entity);
4276+
4277+
Marker.SetSprite(ucIcon);
4278+
return true;
4279+
}
42644280
}
42654281

42664282
return false;
42674283
}
42684284

42694285
bool CStaticFunctionDefinitions::SetBlipSize(CClientEntity& Entity, unsigned char ucSize)
42704286
{
4271-
RUN_CHILDREN(SetBlipSize(**iter, ucSize))
4272-
4273-
if (IS_RADARMARKER(&Entity))
4287+
if (ucSize <= 25)
42744288
{
4275-
CClientRadarMarker& Marker = static_cast<CClientRadarMarker&>(Entity);
4289+
RUN_CHILDREN(SetBlipSize(**iter, ucSize))
42764290

4277-
Marker.SetScale(ucSize);
4278-
return true;
4291+
if (IS_RADARMARKER(&Entity))
4292+
{
4293+
CClientRadarMarker& Marker = static_cast<CClientRadarMarker&>(Entity);
4294+
4295+
Marker.SetScale(ucSize);
4296+
return true;
4297+
}
42794298
}
42804299

42814300
return false;

0 commit comments

Comments
 (0)