@@ -4224,58 +4224,77 @@ bool CStaticFunctionDefinitions::GetSFXStatus(eAudioLookupIndex containerIndex,
4224
4224
CClientRadarMarker* CStaticFunctionDefinitions::CreateBlip (CResource& Resource, const CVector& vecPosition, unsigned char ucIcon, unsigned char ucSize,
4225
4225
const SColor color, short sOrdering , unsigned short usVisibleDistance)
4226
4226
{
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 )
4229
4229
{
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;
4235
4240
}
4236
- return pBlip;
4241
+
4242
+ return nullptr ;
4237
4243
}
4238
4244
4239
4245
CClientRadarMarker* CStaticFunctionDefinitions::CreateBlipAttachedTo (CResource& Resource, CClientEntity& Entity, unsigned char ucIcon, unsigned char ucSize,
4240
4246
const SColor color, short sOrdering , unsigned short usVisibleDistance)
4241
4247
{
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 )
4244
4251
{
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;
4250
4262
}
4251
- return pBlip;
4263
+
4264
+ return nullptr ;
4252
4265
}
4253
4266
4254
4267
bool CStaticFunctionDefinitions::SetBlipIcon (CClientEntity& Entity, unsigned char ucIcon)
4255
4268
{
4256
- RUN_CHILDREN (SetBlipIcon (**iter, ucIcon))
4257
-
4258
- if (IS_RADARMARKER (&Entity))
4269
+ if (CClientRadarMarkerManager::IsValidIcon (ucIcon))
4259
4270
{
4260
- CClientRadarMarker& Marker = static_cast <CClientRadarMarker&>(Entity);
4271
+ RUN_CHILDREN ( SetBlipIcon (**iter, ucIcon))
4261
4272
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
+ }
4264
4280
}
4265
4281
4266
4282
return false ;
4267
4283
}
4268
4284
4269
4285
bool CStaticFunctionDefinitions::SetBlipSize (CClientEntity& Entity, unsigned char ucSize)
4270
4286
{
4271
- RUN_CHILDREN (SetBlipSize (**iter, ucSize))
4272
-
4273
- if (IS_RADARMARKER (&Entity))
4287
+ if (ucSize <= 25 )
4274
4288
{
4275
- CClientRadarMarker& Marker = static_cast <CClientRadarMarker&>(Entity);
4289
+ RUN_CHILDREN ( SetBlipSize (**iter, ucSize))
4276
4290
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
+ }
4279
4298
}
4280
4299
4281
4300
return false ;
0 commit comments