| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- /*
- ** Command & Conquer Generals Zero Hour(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. //
- // //
- ////////////////////////////////////////////////////////////////////////////////
- // Kindof.cpp /////////////////////////////////////////////////////////////////////////////////////
- // Part of header detangling
- // John McDonald, Aug 2002
- #include "PreRTS.h"
- #include "Common/KindOf.h"
- #include "Common/BitFlagsIO.h"
- const char* KindOfMaskType::s_bitNameList[] =
- {
- "OBSTACLE",
- "SELECTABLE",
- "IMMOBILE",
- "CAN_ATTACK",
- "STICK_TO_TERRAIN_SLOPE",
- "CAN_CAST_REFLECTIONS",
- "SHRUBBERY",
- "STRUCTURE",
- "INFANTRY",
- "VEHICLE",
- "AIRCRAFT",
- "HUGE_VEHICLE",
- "DOZER",
- "HARVESTER",
- "COMMANDCENTER",
- #ifdef ALLOW_SURRENDER
- "PRISON",
- "COLLECTS_PRISON_BOUNTY",
- "POW_TRUCK",
- #endif
- "LINEBUILD",
- "SALVAGER",
- "WEAPON_SALVAGER",
- "TRANSPORT",
- "BRIDGE",
- "LANDMARK_BRIDGE",
- "BRIDGE_TOWER",
- "PROJECTILE",
- "PRELOAD",
- "NO_GARRISON",
- "WAVEGUIDE",
- "WAVE_EFFECT",
- "NO_COLLIDE",
- "REPAIR_PAD",
- "HEAL_PAD",
- "STEALTH_GARRISON",
- "CASH_GENERATOR",
- "DRAWABLE_ONLY",
- "MP_COUNT_FOR_VICTORY",
- "REBUILD_HOLE",
- "SCORE",
- "SCORE_CREATE",
- "SCORE_DESTROY",
- "NO_HEAL_ICON",
- "CAN_RAPPEL",
- "PARACHUTABLE",
- #ifdef ALLOW_SURRENDER
- "CAN_SURRENDER",
- #endif
- "CAN_BE_REPULSED",
- "MOB_NEXUS",
- "IGNORED_IN_GUI",
- "CRATE",
- "CAPTURABLE",
- "CLEARED_BY_BUILD",
- "SMALL_MISSILE",
- "ALWAYS_VISIBLE",
- "UNATTACKABLE",
- "MINE",
- "CLEANUP_HAZARD",
- "PORTABLE_STRUCTURE",
- "ALWAYS_SELECTABLE",
- "ATTACK_NEEDS_LINE_OF_SIGHT",
- "WALK_ON_TOP_OF_WALL",
- "DEFENSIVE_WALL",
- "FS_POWER",
- "FS_FACTORY",
- "FS_BASE_DEFENSE",
- "FS_TECHNOLOGY",
- "AIRCRAFT_PATH_AROUND",
- "LOW_OVERLAPPABLE",
- "FORCEATTACKABLE",
- "AUTO_RALLYPOINT",
- "TECH_BUILDING",
- "POWERED",
- "PRODUCED_AT_HELIPAD",
- "DRONE",
- "CAN_SEE_THROUGH_STRUCTURE",
- "BALLISTIC_MISSILE",
- "CLICK_THROUGH",
- "SUPPLY_SOURCE_ON_PREVIEW",
- "PARACHUTE",
- "GARRISONABLE_UNTIL_DESTROYED",
- "BOAT",
- "IMMUNE_TO_CAPTURE",
- "HULK",
- "SHOW_PORTRAIT_WHEN_CONTROLLED",
- "SPAWNS_ARE_THE_WEAPONS",
- "CANNOT_BUILD_NEAR_SUPPLIES",
- "SUPPLY_SOURCE",
- "REVEAL_TO_ALL",
- "DISGUISER",
- "INERT",
- "HERO",
- "IGNORES_SELECT_ALL",
- "DONT_AUTO_CRUSH_INFANTRY",
- "CLIFF_JUMPER",
- "FS_SUPPLY_DROPZONE",
- "FS_SUPERWEAPON",
- "FS_BLACK_MARKET",
- "FS_SUPPLY_CENTER",
- "FS_STRATEGY_CENTER",
- "MONEY_HACKER",
- "ARMOR_SALVAGER",
- "REVEALS_ENEMY_PATHS",
- "BOOBY_TRAP",
- "FS_FAKE",
- "FS_INTERNET_CENTER",
- "BLAST_CRATER",
- "PROP",
- "OPTIMIZED_TREE",
- "FS_ADVANCED_TECH",
- "FS_BARRACKS",
- "FS_WARFACTORY",
- "FS_AIRFIELD",
- "AIRCRAFT_CARRIER",
- "NO_SELECT",
- "REJECT_UNMANNED",
- "CANNOT_RETALIATE",
- "TECH_BASE_DEFENSE",
- "EMP_HARDENED",
- "DEMOTRAP",
- "CONSERVATIVE_BUILDING",
- "IGNORE_DOCKING_BONES",
- NULL
- };
- KindOfMaskType KINDOFMASK_NONE; // inits to all zeroes
- KindOfMaskType KINDOFMASK_FS; // inits to all zeroes
- void initKindOfMasks()
- {
- KINDOFMASK_FS.set( KINDOF_FS_FACTORY );
- KINDOFMASK_FS.set( KINDOF_FS_BASE_DEFENSE );
- KINDOFMASK_FS.set( KINDOF_FS_TECHNOLOGY );
- KINDOFMASK_FS.set( KINDOF_FS_SUPPLY_DROPZONE );
- KINDOFMASK_FS.set( KINDOF_FS_SUPERWEAPON );
- KINDOFMASK_FS.set( KINDOF_FS_BLACK_MARKET );
- KINDOFMASK_FS.set( KINDOF_FS_SUPPLY_CENTER );
- KINDOFMASK_FS.set( KINDOF_FS_STRATEGY_CENTER );
- KINDOFMASK_FS.set( KINDOF_FS_FAKE );
- KINDOFMASK_FS.set( KINDOF_FS_INTERNET_CENTER );
- KINDOFMASK_FS.set( KINDOF_FS_ADVANCED_TECH );
- KINDOFMASK_FS.set( KINDOF_FS_BARRACKS );
- KINDOFMASK_FS.set( KINDOF_FS_WARFACTORY );
- KINDOFMASK_FS.set( KINDOF_FS_AIRFIELD );
- }
|