engine/game/objectTypes.h

79 lines
2.7 KiB
C
Raw Permalink Normal View History

2024-01-07 04:36:33 +00:00
//-----------------------------------------------------------------------------
// V12 Engine
//
// Copyright (c) 2001 GarageGames.Com
// Portions Copyright (c) 2001 by Sierra Online, Inc.
//-----------------------------------------------------------------------------
#ifndef _OBJECTTYPES_H_
#define _OBJECTTYPES_H_
// Types used for SimObject type masks (SimObject::mTypeMask)
//
/* NB! If a new object type is added, don't forget to add it to the
* consoleInit function in simBase.cc
*/
enum SimObjectTypes
{
#define bit(x) (1 << (x))
// Types used by the SceneObject class
DefaultObjectType = 0,
StaticObjectType = bit(0),
// Basic Engine Types
EnvironmentObjectType = bit(1),
TerrainObjectType = bit(2),
InteriorObjectType = bit(3),
WaterObjectType = bit(4),
TriggerObjectType = bit(5),
MarkerObjectType = bit(6),
UNUSED_AVAILABLE = bit(7),
ForceFieldObjectType = bit(8),
DecalManagerObjectType = bit(9),
// Game Types
GameBaseObjectType = bit(10),
ShapeBaseObjectType = bit(11),
CameraObjectType = bit(12),
StaticShapeObjectType = bit(13),
PlayerObjectType = bit(14),
ItemObjectType = bit(15),
VehicleObjectType = bit(16),
VehicleBlockerObjectType = bit(17),
ProjectileObjectType = bit(18),
ExplosionObjectType = bit(19),
CorpseObjectType = bit(20),
TurretObjectType = bit(21),
DebrisObjectType = bit(22),
PhysicalZoneObjectType = bit(23),
StaticTSObjectType = bit(24),
GuiControlObjectType = bit(25),
StaticRenderedObjectType = bit(26),
// The following are allowed types that can be set on datablocks for static shapes
//
DamagableItemObjectType = bit(27),
SensorObjectType = bit(28),
StationObjectType = bit(29),
GeneratorObjectType = bit(30)
};
#define STATIC_COLLISION_MASK ( TerrainObjectType | \
InteriorObjectType | \
ForceFieldObjectType | \
StaticObjectType ) \
#define DAMAGEABLE_MASK ( PlayerObjectType | \
VehicleObjectType | \
StationObjectType | \
GeneratorObjectType | \
SensorObjectType | \
DamagableItemObjectType | \
TurretObjectType ) \
#endif