MCPcopy Create free account
hub / github.com/ddnet/ddnet / ExtractProjectileInfo

Function ExtractProjectileInfo

src/game/client/projectile_data.cpp:18–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16}
17
18CProjectileData ExtractProjectileInfo(int NetObjType, const void *pData, CGameWorld *pGameWorld, const CNetObj_EntityEx *pEntEx)
19{
20 CNetObj_Projectile *pProj = (CNetObj_Projectile *)pData;
21
22 if(NetObjType == NETOBJTYPE_DDNETPROJECTILE)
23 {
24 return ExtractProjectileInfoDDNet((CNetObj_DDNetProjectile *)pData);
25 }
26 else if(NetObjType == NETOBJTYPE_DDRACEPROJECTILE || (NetObjType == NETOBJTYPE_PROJECTILE && UseProjectileExtraInfo(pProj)))
27 {
28 return ExtractProjectileInfoDDRace((CNetObj_DDRaceProjectile *)pData, pGameWorld, pEntEx);
29 }
30
31 CProjectileData Result = {vec2(0, 0)};
32 Result.m_StartPos.x = pProj->m_X;
33 Result.m_StartPos.y = pProj->m_Y;
34 Result.m_StartVel.x = pProj->m_VelX / 100.0f;
35 Result.m_StartVel.y = pProj->m_VelY / 100.0f;
36 Result.m_Type = pProj->m_Type;
37 Result.m_StartTick = pProj->m_StartTick;
38 Result.m_ExtraInfo = false;
39 Result.m_Owner = -1;
40 Result.m_TuneZone = pGameWorld && pGameWorld->m_WorldConfig.m_UseTuneZones ? pGameWorld->Collision()->IsTune(pGameWorld->Collision()->GetMapIndex(Result.m_StartPos)) : 0;
41 Result.m_SwitchNumber = pEntEx ? pEntEx->m_SwitchNumber : 0;
42 return Result;
43}
44
45CProjectileData ExtractProjectileInfoDDRace(const CNetObj_DDRaceProjectile *pProj, CGameWorld *pGameWorld, const CNetObj_EntityEx *pEntEx)
46{

Callers 4

NetObjAddMethod · 0.85
FindMatchMethod · 0.85
OnRenderMethod · 0.85

Calls 6

UseProjectileExtraInfoFunction · 0.85
IsTuneMethod · 0.80
GetMapIndexMethod · 0.80
CollisionMethod · 0.45

Tested by

no test coverage detected