tge/engine/game/objectTypes.h
2025-02-17 23:17:30 -06:00

77 lines
2.4 KiB
C
Executable File

//-----------------------------------------------------------------------------
// Torque Game Engine
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------
#ifndef _OBJECTTYPES_H_
#define _OBJECTTYPES_H_
#include "platform/types.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
{
/// @name Types used by the SceneObject class
/// @{
DefaultObjectType = 0,
StaticObjectType = BIT(0),
/// @}
/// @name Basic Engine Types
/// @{
///
EnvironmentObjectType = BIT(1),
TerrainObjectType = BIT(2),
InteriorObjectType = BIT(3),
WaterObjectType = BIT(4),
TriggerObjectType = BIT(5),
MarkerObjectType = BIT(6),
AtlasObjectType = BIT(7), // Buy TSE.
InteriorMapObjectType = BIT(8),
DecalManagerObjectType = BIT(9),
/// @}
/// @name 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),
DebrisObjectType = BIT(22),
PhysicalZoneObjectType = BIT(23),
StaticTSObjectType = BIT(24),
AIObjectType = BIT(25),
StaticRenderedObjectType = BIT(26),
/// @}
/// @name Other
/// The following are allowed types that can be set on datablocks for static shapes
/// @{
DamagableItemObjectType = BIT(27),
/// @}
};
#define STATIC_COLLISION_MASK ( TerrainObjectType | \
InteriorObjectType | \
StaticObjectType ) \
#define DAMAGEABLE_MASK ( PlayerObjectType | \
VehicleObjectType | \
DamagableItemObjectType ) \
#endif