mirror of
https://github.com/electronicarts/CnC_Generals_Zero_Hour.git
synced 2025-12-16 23:51:41 -05:00
Initial commit of Command & Conquer Generals and Command & Conquer Generals Zero Hour source code.
This commit is contained in:
107
Generals/Code/GameEngine/Include/GameLogic/ObjectStatusBits.h
Normal file
107
Generals/Code/GameEngine/Include/GameLogic/ObjectStatusBits.h
Normal file
@@ -0,0 +1,107 @@
|
||||
/*
|
||||
** Command & Conquer Generals(tm)
|
||||
** Copyright 2025 Electronic Arts Inc.
|
||||
**
|
||||
** This program is free software: you can redistribute it and/or modify
|
||||
** it under the terms of the GNU General Public License as published by
|
||||
** the Free Software Foundation, either version 3 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// (c) 2001-2003 Electronic Arts Inc. //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ObjectStatusBits.h /////////////////////////////////////////////////////////////////////////////
|
||||
// Part of header detangling
|
||||
// JKMCD Aug 2002
|
||||
|
||||
#pragma once
|
||||
#ifndef __OBJECTSTATUSBITS_H__
|
||||
#define __OBJECTSTATUSBITS_H__
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
/** Object status bits */
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
enum ObjectStatusBits
|
||||
{
|
||||
OBJECT_STATUS_NONE = 0, ///< no status bit
|
||||
OBJECT_STATUS_DESTROYED = (1 << 0), ///< has been destroyed, pending delete
|
||||
OBJECT_STATUS_CAN_ATTACK = (1 << 1), ///< used by garrissoned buildings, is OR'ed with KINDOF_CAN_ATTACK in isAbleToAttack()
|
||||
OBJECT_STATUS_UNDER_CONSTRUCTION = (1 << 2), ///< object is being constructed and is not yet complete
|
||||
OBJECT_STATUS_UNSELECTABLE = (1 << 3), ///< This is a negative condition since these statuses are overrides. ie their presence forces the condition, but their absence means nothing
|
||||
OBJECT_STATUS_NO_COLLISIONS = (1 << 4), ///< object should be ignored for object-object collisions (but not object-ground); used for thing like collapsing parachutes that are intangible
|
||||
OBJECT_STATUS_NO_ATTACK = (1 << 5), ///< Absolute override to being able to attack
|
||||
OBJECT_STATUS_AIRBORNE_TARGET = (1 << 6), ///< InTheAir as far as AntiAir weapons are concerned only.
|
||||
OBJECT_STATUS_PARACHUTING = (1 << 7), ///< object is on a parachute
|
||||
OBJECT_STATUS_REPULSOR = (1 << 8), ///< object repulses "KINDOF_CAN_BE_REPULSED" objects.
|
||||
OBJECT_STATUS_HIJACKED = (1 << 9), ///< unit is in the possesion of an enemy criminal, call the authorities
|
||||
OBJECT_STATUS_AFLAME = (1 << 10), ///< This object is on fire.
|
||||
OBJECT_STATUS_BURNED = (1 << 11), ///< This object has already burned as much as it can.
|
||||
OBJECT_STATUS_WET = (1 << 12), ///< object has been soaked with water
|
||||
OBJECT_STATUS_IS_FIRING_WEAPON = (1 << 13), ///< Object is firing a weapon, now. Not true for special attacks. --Lorenzen
|
||||
OBJECT_STATUS_BRAKING = (1 << 14), ///< Object is braking, and subverts the physics.
|
||||
OBJECT_STATUS_STEALTHED = (1 << 15), ///< Object is currently "stealthed"
|
||||
OBJECT_STATUS_DETECTED = (1 << 16), ///< Object is in range of a stealth-detector unit (meaningless if STEALTHED not set)
|
||||
OBJECT_STATUS_CAN_STEALTH = (1 << 17), ///< Object has ability to stealth allowing the stealth update module to run.
|
||||
OBJECT_STATUS_SOLD = (1 << 18), ///< Object is being sold
|
||||
OBJECT_STATUS_UNDERGOING_REPAIR = (1 << 19), ///< Object is awaiting/undergoing a repair order that has been issued
|
||||
OBJECT_STATUS_RECONSTRUCTING = (1 << 20), ///< Reconstructing
|
||||
OBJECT_STATUS_MASKED = (1 << 21), ///< Masked objects are not selectable and targetable by players or AI
|
||||
OBJECT_STATUS_IS_ATTACKING = (1 << 22), ///< Object is in the general Attack state (incl. aim, approach, etc.). Note that IS_FIRING_WEAPON and IS_AIMING_WEAPON is a subset of this!
|
||||
OBJECT_STATUS_IS_USING_ABILITY = (1 << 23), ///< Object is in the process of preparing or firing a special ability.
|
||||
OBJECT_STATUS_IS_AIMING_WEAPON = (1 << 24), ///< Object is aiming a weapon, now. Not true for special attacks.
|
||||
OBJECT_STATUS_NO_ATTACK_FROM_AI = (1 << 25), ///< attacking this object may not be done from commandSource == CMD_FROM_AI
|
||||
OBJECT_STATUS_IGNORING_STEALTH = (1 << 26), ///< temporarily ignoring all stealth bits. (used only for some special-case mine clearing stuff.)
|
||||
OBJECT_STATUS_IS_CARBOMB = (1 << 27), ///< Object is now a carbomb.
|
||||
|
||||
// add more status bits here ... don't forget to add to the string table below!!!
|
||||
|
||||
};
|
||||
#ifdef DEFINE_OBJECT_STATUS_NAMES
|
||||
static const char *TheObjectStatusBitNames[] =
|
||||
{
|
||||
"DESTROYED",
|
||||
"CAN_ATTACK",
|
||||
"UNDER_CONSTRUCTION",
|
||||
"UNSELECTABLE",
|
||||
"NO_COLLISIONS",
|
||||
"NO_ATTACK",
|
||||
"AIRBORNE_TARGET",
|
||||
"PARACHUTING",
|
||||
"REPULSOR",
|
||||
"HIJACKED",
|
||||
"AFLAME",
|
||||
"BURNED",
|
||||
"WET",
|
||||
"IS_FIRING_WEAPON",
|
||||
"IS_BRAKING",
|
||||
"STEALTHED",
|
||||
"DETECTED",
|
||||
"CAN_STEALTH",
|
||||
"SOLD",
|
||||
"UNDERGOING_REPAIR",
|
||||
"RECONSTRUCTING",
|
||||
"MASKED",
|
||||
"IS_ATTACKING",
|
||||
"USING_ABILITY",
|
||||
"IS_AIMING_WEAPON",
|
||||
"NO_ATTACK_FROM_AI",
|
||||
"IGNORING_STEALTH",
|
||||
"IS_CARBOMB",
|
||||
|
||||
NULL ///< leave this last please
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* __OBJECTSTATUSBITS_H__ */
|
||||
Reference in New Issue
Block a user