Defines.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. /*
  2. FinalSun/FinalAlert 2 Mission Editor
  3. Copyright (C) 1999-2024 Electronic Arts, Inc.
  4. Authored by Matthias Wagner
  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. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with this program. If not, see <https://www.gnu.org/licenses/>.
  15. */
  16. /**************************
  17. Defines.h
  18. Place any definitions here
  19. **************************/
  20. // set NOSURFACES to use palettized tile drawing - probably slower, but using less memory
  21. #define NOSURFACES
  22. #define NOSURFACES_EXTRACT // this will cause tiles to be extracted
  23. // #undef NOSURFACES // enable this if display is too slow
  24. // set NOSURFACES_OBJECTS to use palettized object & overlay drawing - slower, but better display
  25. #define NOSURFACES_OBJECTS
  26. // #undef NOSURFACES_OBJECTS
  27. // MW 08/07/01: define SMUDGE_SUPP if you want to support smudges
  28. // added this as switch because if there are problems with this new feature we can just disable it
  29. #define SMUDGE_SUPP
  30. // tiberium / ore
  31. #ifdef RA2_MODE
  32. #define RIPARIUS_BEGIN 102
  33. #define RIPARIUS_END 121
  34. #define CRUENTUS_BEGIN 27
  35. #define CRUENTUS_END 38
  36. #define VINIFERA_BEGIN 127
  37. #define VINIFERA_END 146
  38. #define ABOREUS_BEGIN 147
  39. #define ABOREUS_END 166
  40. #else
  41. #define RIPARIUS_BEGIN 102
  42. #define RIPARIUS_END 121
  43. #define CRUENTUS_BEGIN 27
  44. #define CRUENTUS_END 38
  45. #define VINIFERA_BEGIN 127
  46. #define VINIFERA_END 146
  47. #define ABOREUS_BEGIN 147
  48. #define ABOREUS_END 166
  49. #endif
  50. // picdata type
  51. #define PICDATA_TYPE_BMP 0
  52. #define PICDATA_TYPE_SHP 1
  53. #define PICDATA_TYPE_VXL 2
  54. #define SUBPOS_COUNT 3
  55. #define REAL_SUBPOS_COUNT 3
  56. #define SOUND_NONE 0
  57. #define SOUND_POSITIVE 1
  58. #define SOUND_NEGATIVE 2
  59. #define SOUND_LAYDOWNTILE 3
  60. #define SOUND_DELETETILE 4
  61. // actiondata modes (isoview user interface)
  62. #define ACTIONMODE_PLACE 1 // place any unit, building, tree or overlay
  63. #define ACTIONMODE_ERASEFIELD 2 // delete any unit, building, or tree
  64. #define ACTIONMODE_WAYPOINT 3 // any waypoint editing
  65. #define ACTIONMODE_CELLTAG 4 // any celltag editing
  66. #define ACTIONMODE_NODE 5 // any node editing
  67. #define ACTIONMODE_MAPTOOL 6
  68. #define ACTIONMODE_SETTILE 10 // setting ground tiles
  69. #define ACTIONMODE_HEIGHTEN 11 // heighten ground
  70. #define ACTIONMODE_LOWER 12 // lower ground
  71. #define ACTIONMODE_LOWERTILE 13
  72. #define ACTIONMODE_HEIGHTENTILE 14
  73. #define ACTIONMODE_FLATTENGROUND 15
  74. #define ACTIONMODE_HIDETILESET 16 // make specific tileset invisible
  75. #define ACTIONMODE_HIDEFIELD 17 // make specific field invisible
  76. #define ACTIONMODE_CLIFFFRONT 18 // add front cliff
  77. #define ACTIONMODE_CLIFFBACK 19 // add back cliff
  78. #define ACTIONMODE_COPY 20
  79. #define ACTIONMODE_PASTE 21
  80. #define ACTIONMODE_RANDOMTERRAIN 22
  81. #define ACTIONMODE_SMUDGE 23
  82. // paramtype list types
  83. #define PARAMTYPE_NOTHING 0
  84. #define PARAMTYPE_HOUSES 1
  85. #define PARAMTYPE_TEAMTYPES 2
  86. #define PARAMTYPE_UNITTYPES 3
  87. #define PARAMTYPE_INFANTRYTYPES 4
  88. #define PARAMTYPE_AIRCRAFTTYPES 5
  89. #define PARAMTYPE_BUILDINGTYPES 6
  90. #define PARAMTYPE_VIDEOS 7
  91. #define PARAMTYPE_TUTORIALTEXTS 8
  92. #define PARAMTYPE_TRIGGERS 9
  93. #define PARAMTYPE_YESNO 10
  94. #define PARAMTYPE_SOUNDS 11
  95. #define PARAMTYPE_THEMES 12
  96. #define PARAMTYPE_SPEECHES 13
  97. #define PARAMTYPE_SPECIALWEAPONS 14
  98. #define PARAMTYPE_ANIMATIONS 15
  99. #define PARAMTYPE_PARTICLES 16
  100. #define PARAMTYPE_WAYPOINTS 17
  101. #define PARAMTYPE_CRATETYPES 18
  102. #define PARAMTYPE_SPEECHBUBBLETYPES 19
  103. #define PARAMTYPE_GLOBALS 20
  104. #define PARAMTYPE_RULESGLOBALS 27
  105. #define PARAMTYPE_BUILDINGTYPESINI 28
  106. #define PARAMTYPE_TECHTYPES 29
  107. #define THEATER0 "TEMPERATE"
  108. #define THEATER1 "SNOW"
  109. #define THEATER2 "URBAN"
  110. #define THEATER3 "NEWURBAN"
  111. #define THEATER4 "LUNAR"
  112. #define THEATER5 "DESERT"
  113. #define ra2_mode 1
  114. #define ts_mode 0
  115. #ifndef RA2_MODE
  116. #define NO_URBAN
  117. #define MAXHEIGHT 14
  118. #define f_y 24
  119. #define f_x 48
  120. #define TERRAINTYPE_GROUND 0x0d
  121. #define TERRAINTYPE_WATER 0x09
  122. #define TERRAINTYPE_IMPASSABLE 0x0f
  123. #define TERRAINTYPE_ROUGH 0x0e
  124. #define TERRAINTYPE_PAVED 0x0b
  125. #define TERRAINTYPE_BUILDING 0x07
  126. #define TERRAINTYPE_DIRT_ROAD 0x0c
  127. #define TERRAINTYPE_ICE 0x01
  128. #define MAINMIX "TIBSUN.MIX"
  129. #define HOUSES "Houses"
  130. #define MAPHOUSES "Houses"
  131. #endif
  132. #ifdef RA2_MODE
  133. #define MAINMIX "RA2.MIX"
  134. #define HOUSES "Countries"
  135. #define MAPHOUSES "Houses"
  136. #define MAXHEIGHT 14
  137. #define f_y 30
  138. #define f_x 60
  139. #define TERRAINTYPE_GROUND 0x0d
  140. #define TERRAINTYPE_WATER 0x09
  141. #define TERRAINTYPE_IMPASSABLE 0x0f
  142. #define TERRAINTYPE_ROUGH 0x0e
  143. #define TERRAINTYPE_PAVED 0x0b
  144. #define TERRAINTYPE_BUILDING 0x07
  145. #define TERRAINTYPE_DIRT_ROAD 0x0c
  146. #define TERRAINTYPE_ICE 0x01
  147. #endif
  148. #define SLOPE_UP_RIGHT 1
  149. #define SLOPE_UP_BOTTOM 2
  150. #define SLOPE_UP_LEFT 3
  151. #define SLOPE_UP_TOP 4
  152. #define SLOPE_UP_RIGHTBOTTOM 5
  153. #define SLOPE_UP_LEFTBOTTOM 6
  154. #define SLOPE_UP_LEFTTOP 7
  155. #define SLOPE_UP_RIGHTTOP 8
  156. #define SLOPE_DOWN_LEFTTOP 9
  157. #define SLOPE_DOWN_RIGHTTOP 10
  158. #define SLOPE_DOWN_RIGHTBOTTOM 11
  159. #define SLOPE_DOWN_LEFTBOTTOM 12
  160. #define SLOPE_DOWN_TOP 13 // z difference of x-1/y-1 to x+1/y+1 is -2, to x+1/y 1, to x/y+1 1
  161. #define SLOPE_DOWN_RIGHT 14
  162. #define SLOPE_DOWN_BOTTOM 15
  163. #define SLOPE_DOWN_LEFT 16
  164. #define SLOPE_UP_LEFTBOTTOM_AND_RIGHTTOP 17
  165. #define SLOPE_UP_LEFTTOP_AND_RIGHTBOTTOM 18
  166. #define SLOPE_UP_LEFTBOTTOM_AND_RIGHTTOP2 19
  167. #define SLOPE_UP_LEFTTOP_AND_RIGHTBOTTOM2 20
  168. // max images loaded from one overlay graphic file (SHP)
  169. #define max_ovrl_img 60