KindOf.cpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /*
  2. ** Command & Conquer Generals(tm)
  3. ** Copyright 2025 Electronic Arts Inc.
  4. **
  5. ** This program is free software: you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation, either version 3 of the License, or
  8. ** (at your option) any later version.
  9. **
  10. ** This program is distributed in the hope that it will be useful,
  11. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ** GNU General Public License for more details.
  14. **
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. ////////////////////////////////////////////////////////////////////////////////
  19. // //
  20. // (c) 2001-2003 Electronic Arts Inc. //
  21. // //
  22. ////////////////////////////////////////////////////////////////////////////////
  23. // Kindof.cpp /////////////////////////////////////////////////////////////////////////////////////
  24. // Part of header detangling
  25. // John McDonald, Aug 2002
  26. #include "PreRTS.h"
  27. #include "Common/KindOf.h"
  28. #include "Common/BitFlagsIO.h"
  29. const char* KindOfMaskType::s_bitNameList[] =
  30. {
  31. "OBSTACLE",
  32. "SELECTABLE",
  33. "IMMOBILE",
  34. "CAN_ATTACK",
  35. "STICK_TO_TERRAIN_SLOPE",
  36. "CAN_CAST_REFLECTIONS",
  37. "SHRUBBERY",
  38. "STRUCTURE",
  39. "INFANTRY",
  40. "VEHICLE",
  41. "AIRCRAFT",
  42. "HUGE_VEHICLE",
  43. "DOZER",
  44. "HARVESTER",
  45. "COMMANDCENTER",
  46. #ifdef ALLOW_SURRENDER
  47. "PRISON",
  48. "COLLECTS_PRISON_BOUNTY",
  49. "POW_TRUCK",
  50. #endif
  51. "LINEBUILD",
  52. "SALVAGER",
  53. "WEAPON_SALVAGER",
  54. "TRANSPORT",
  55. "BRIDGE",
  56. "LANDMARK_BRIDGE",
  57. "BRIDGE_TOWER",
  58. "PROJECTILE",
  59. "PRELOAD",
  60. "NO_GARRISON",
  61. "WAVEGUIDE",
  62. "WAVE_EFFECT",
  63. "NO_COLLIDE",
  64. "REPAIR_PAD",
  65. "HEAL_PAD",
  66. "STEALTH_GARRISON",
  67. "CASH_GENERATOR",
  68. "AIRFIELD",
  69. "DRAWABLE_ONLY",
  70. "MP_COUNT_FOR_VICTORY",
  71. "REBUILD_HOLE",
  72. "SCORE",
  73. "SCORE_CREATE",
  74. "SCORE_DESTROY",
  75. "NO_HEAL_ICON",
  76. "CAN_RAPPEL",
  77. "PARACHUTABLE",
  78. #ifdef ALLOW_SURRENDER
  79. "CAN_SURRENDER",
  80. #endif
  81. "CAN_BE_REPULSED",
  82. "MOB_NEXUS",
  83. "IGNORED_IN_GUI",
  84. "CRATE",
  85. "CAPTURABLE",
  86. "CLEARED_BY_BUILD",
  87. "SMALL_MISSILE",
  88. "ALWAYS_VISIBLE",
  89. "UNATTACKABLE",
  90. "MINE",
  91. "CLEANUP_HAZARD",
  92. "PORTABLE_STRUCTURE",
  93. "ALWAYS_SELECTABLE",
  94. "ATTACK_NEEDS_LINE_OF_SIGHT",
  95. "WALK_ON_TOP_OF_WALL",
  96. "DEFENSIVE_WALL",
  97. "FS_POWER",
  98. "FS_FACTORY",
  99. "FS_BASE_DEFENSE",
  100. "FS_TECHNOLOGY",
  101. "AIRCRAFT_PATH_AROUND",
  102. "LOW_OVERLAPPABLE",
  103. "FORCEATTACKABLE",
  104. "AUTO_RALLYPOINT",
  105. "TECH_BUILDING",
  106. "POWERED",
  107. "PRODUCED_AT_HELIPAD",
  108. "DRONE",
  109. "CAN_SEE_THROUGH_STRUCTURE",
  110. "BALLISTIC_MISSILE",
  111. "CLICK_THROUGH",
  112. "SUPPLY_SOURCE_ON_PREVIEW",
  113. "PARACHUTE",
  114. "GARRISONABLE_UNTIL_DESTROYED",
  115. "BOAT",
  116. "IMMUNE_TO_CAPTURE",
  117. "HULK",
  118. "SHOW_PORTRAIT_WHEN_CONTROLLED",
  119. "SPAWNS_ARE_THE_WEAPONS",
  120. "CANNOT_BUILD_NEAR_SUPPLIES",
  121. "SUPPLY_SOURCE",
  122. "REVEAL_TO_ALL",
  123. "DISGUISER",
  124. "INERT",
  125. "HERO",
  126. "IGNORES_SELECT_ALL",
  127. "DONT_AUTO_CRUSH_INFANTRY",
  128. NULL
  129. };
  130. KindOfMaskType KINDOFMASK_NONE; // inits to all zeroes