mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-09-19 20:16:10 +08:00
Update RnQueryObjectFlags (#315)
This commit is contained in:
@ -41,13 +41,45 @@ enum CollisionFunctionMask_t
|
||||
|
||||
enum RnQueryObjectSet
|
||||
{
|
||||
RNQUERY_OBJECTS_STATIC = (1<<0),
|
||||
RNQUERY_OBJECTS_DYNAMIC = (1<<1),
|
||||
RNQUERY_OBJECTS_NON_COLLIDEABLE = (1<<2),
|
||||
RNQUERY_OBJECTS_KEYFRAMED_ONLY = (1<<3) | (1<<8),
|
||||
RNQUERY_OBJECTS_DYNAMIC_ONLY = (1<<4) | (1<<8),
|
||||
// AMNOTE:
|
||||
// RNQUERY_OBJECTS_STATIC (0x1) is used in
|
||||
// CLightQueryGameSystem::OnPostSimulate
|
||||
// ray test by loading rays.bin
|
||||
// CBaePlayerPawn::IsPlayerAimingAtTarget
|
||||
// CBaseRagdoll related
|
||||
// CSoundOpvarSetAutoRoomEntity::Spawn
|
||||
// CNavSpaceBuildTreeJob
|
||||
|
||||
RNQUERY_OBJECTS_ALL_GAME_ENTITIES = RNQUERY_OBJECTS_DYNAMIC | RNQUERY_OBJECTS_NON_COLLIDEABLE,
|
||||
// RNQUERY_OBJECTS_STATIC | RNQUERY_OBJECTS_KEYFRAMED (0x3) is used in
|
||||
// when decoy hit entity isn't player pawn
|
||||
|
||||
// RNQUERY_OBJECTS_KEYFRAMED | RNQUERY_OBJECTS_DYNAMIC (0x6) is used in
|
||||
// checking if a grenade projectile has hit any player
|
||||
// filtering bullet trace result
|
||||
// checking if hit entity is a *_door_rotating
|
||||
// checking if player is aiming at a CPointCommentaryNode
|
||||
|
||||
// RNQUERY_OBJECTS_LOCATABLE (0x8) is used in
|
||||
// checking if a CSmokeGrenadeProjectile is exploded from inferno
|
||||
// CGamePhysicsQueryInterface::EntitiesAlong* to add g_LocatableEntities to results
|
||||
|
||||
// RNQUERY_OBJECTS_KEYFRAMED | RNQUERY_OBJECTS_DYNAMIC | RNQUERY_OBJECTS_LOCATABLE (0xE) is used in
|
||||
// CBotBreakableEnumerator
|
||||
// CInferno::Think damage
|
||||
// CBombTarget
|
||||
// UTIL_EntitiesAlongRay
|
||||
// CEnvShake::ApplyShake with type rumble
|
||||
// CBaseFilter Think
|
||||
|
||||
// RNQUERY_OBJECTS_STATIC | RNQUERY_OBJECTS_KEYFRAMED | RNQUERY_OBJECTS_DYNAMIC | RNQUERY_OBJECTS_LOCATABLE (0xF) is used in pretty much every trace filter
|
||||
|
||||
RNQUERY_OBJECTS_STATIC = (1 << 0), // static body
|
||||
RNQUERY_OBJECTS_KEYFRAMED = (1 << 1), // keyframed body
|
||||
RNQUERY_OBJECTS_DYNAMIC = (1 << 2), // dynamic body
|
||||
RNQUERY_OBJECTS_LOCATABLE = (1 << 3),
|
||||
|
||||
|
||||
RNQUERY_OBJECTS_ALL_GAME_ENTITIES = RNQUERY_OBJECTS_KEYFRAMED | RNQUERY_OBJECTS_DYNAMIC | RNQUERY_OBJECTS_LOCATABLE,
|
||||
RNQUERY_OBJECTS_ALL = RNQUERY_OBJECTS_STATIC | RNQUERY_OBJECTS_ALL_GAME_ENTITIES,
|
||||
};
|
||||
|
||||
@ -299,7 +331,7 @@ public:
|
||||
uint32 m_nEntityIdsToIgnore[2]; // this is the ID of the game entity which should be ignored
|
||||
uint32 m_nOwnerIdsToIgnore[2]; // this is the ID of the owner of the game entity which should be ignored
|
||||
uint16 m_nHierarchyIds[2]; // this is an ID for the hierarchy of game entities (used to disable collision among objects in a hierarchy)
|
||||
uint16 m_nObjectSetMask; // set of RnQueryObjectSet bits
|
||||
uint8 m_nObjectSetMask; // set of RnQueryObjectSet bits
|
||||
uint8 m_nCollisionGroup; // one of the registered collision groups
|
||||
|
||||
bool m_bHitSolid : 1; // if true, then query will hit solid
|
||||
|
Reference in New Issue
Block a user