playertype.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. ** Command & Conquer Renegade(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. // Filename: playertype.h
  20. // Author: Tom Spencer-Smith
  21. // Date: Dec 1998
  22. // Description:
  23. //
  24. //-----------------------------------------------------------------------------
  25. #if defined(_MSV_VER)
  26. #pragma once
  27. #endif
  28. #ifndef PLAYERTYPE_H
  29. #define PLAYERTYPE_H
  30. // 4514: unreferenced inline function has been removed.
  31. #pragma warning(disable : 4514)
  32. //-----------------------------------------------------------------------------
  33. typedef enum {
  34. PLAYERTYPE_FIRST = -4,
  35. PLAYERTYPE_SPECTATOR = PLAYERTYPE_FIRST, // -4
  36. PLAYERTYPE_MUTANT, // -3
  37. PLAYERTYPE_NEUTRAL, // -2
  38. PLAYERTYPE_RENEGADE, // -1
  39. PLAYERTYPE_NOD, // 0
  40. PLAYERTYPE_GDI, // 1
  41. PLAYERTYPE_LAST = PLAYERTYPE_GDI,
  42. PLAYERTYPE_MUTATION_MUTATED = PLAYERTYPE_NOD,
  43. PLAYERTYPE_MUTATION_REGULAR = PLAYERTYPE_GDI,
  44. } PLAYERTYPE;
  45. //PLAYERTYPE_LAST_TEAM = PLAYERTYPE_GDI,
  46. //PLAYERTYPE_CIVILIAN = PLAYERTYPE_NEUTRAL,
  47. //PLAYERTYPE_FIRST_TEAM = PLAYERTYPE_NOD,
  48. const char * Player_Type_Name( int player_type );
  49. //-----------------------------------------------------------------------------
  50. inline bool Player_Types_Are_Enemies( int player_type_1, int player_type_2 )
  51. {
  52. // if either are a spectator or neutral, they are not enemies
  53. if (( player_type_1 == PLAYERTYPE_NEUTRAL ) ||
  54. ( player_type_2 == PLAYERTYPE_NEUTRAL ) ) {
  55. return false;
  56. }
  57. if (( player_type_1 == PLAYERTYPE_SPECTATOR ) ||
  58. ( player_type_2 == PLAYERTYPE_SPECTATOR ) ) {
  59. return false;
  60. }
  61. // if either is Renegade, they are enemies
  62. if (( player_type_1 == PLAYERTYPE_RENEGADE ) ||
  63. ( player_type_2 == PLAYERTYPE_RENEGADE ) ) {
  64. return true;
  65. }
  66. // iff they are not the same type, they are enemies
  67. return ( player_type_1 != player_type_2 );
  68. }
  69. #endif // PLAYERTYPE_H