ValveSoftware / source-sdk-2013

The 2013 edition of the Source SDK
https://developer.valvesoftware.com/wiki/SDK2013_GettingStarted
Other
3.7k stars 1.99k forks source link

DispatchEffect not working in mp due to m_vecOrigin not being assigned. #465

Open ZehMatt opened 5 years ago

ZehMatt commented 5 years ago

DispatchEffect uses a PAS filter using data.m_vecOrigin when being called however there are some functions in the SDK which miss to assign this and causes the effect to be only transmitted if the players are nearby Vector(0,0,0), this is also only an issue when maxplayers is above 1 otherwise the filter is ignored.

I've gathered a list of functions that are missing the assignment of m_vecOrigin on data.

void CWeaponCrossbow::DoLoadEffect( void ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/shared/hl2mp/weapon_crossbow.cpp#L800-L809

void CFuncTank::DoMuzzleFlash( void ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/func_tank.cpp#L2157-L2175

void CFuncTankAirboatGun::DoMuzzleFlash( void ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/func_tank.cpp#L2962-L2966

void CNPC_Antlion::ZapThink( void ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/npc_antlion.cpp#L2249-L2254

void CNPC_AttackHelicopter::DoMuzzleFlash( void ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/npc_attackchopper.cpp#L2030-L2034

void CNPC_AttackHelicopter::CreateEntityZapEffect( CBaseEntity *pEnt ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/npc_attackchopper.cpp#L2538-L2542

void CNPC_CombineGunship::DoMuzzleFlash( void ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/npc_combinegunship.cpp#L1756-L1760

void CNPC_Hunter::TeslaThink() https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/episodic/npc_hunter.cpp#L5429-L5433

void CNPC_Hunter::DoMuzzleFlash( int nAttachment ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/episodic/npc_hunter.cpp#L5962-L5965

void CNPC_Strider::DoMuzzleFlash( void ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/npc_strider.cpp#L3792-L3796

void CNPC_GroundTurret::Shoot() https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/npc_turret_ground.cpp#L549-L554

void CPropAirboat::DoMuzzleFlash( void ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/vehicle_airboat.cpp#L1552-L1556

void CPropAPC::DoMuzzleFlash( void ) https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/hl2/vehicle_apc.cpp#L809-L813

void CRagdollBoogie::ZapThink() https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/RagdollBoogie.cpp#L113-L119