globalsettings.cpp 63 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224
  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. *** Confidential - Westwood Studios ***
  20. ***********************************************************************************************
  21. * *
  22. * Project Name : Commando *
  23. * *
  24. * $Archive:: /Commando/Code/Combat/globalsettings.cpp $*
  25. * *
  26. * $Author:: Jani_p $*
  27. * *
  28. * $Modtime:: 1/16/02 5:22p $*
  29. * *
  30. * $Revision:: 40 $*
  31. * *
  32. *---------------------------------------------------------------------------------------------*
  33. * Functions: *
  34. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  35. #include "globalsettings.h"
  36. #include "wwhack.h"
  37. #include "persistfactory.h"
  38. #include "combatchunkid.h"
  39. #include "simpledefinitionfactory.h"
  40. #include "debug.h"
  41. #include "definitionmgr.h"
  42. #include "crandom.h"
  43. #include "damage.h"
  44. DECLARE_FORCE_LINK( GlobalSettings )
  45. /*
  46. ** GlobalSettingsDef
  47. */
  48. SimplePersistFactoryClass<GlobalSettingsDef, CHUNKID_GLOBAL_SETTINGS_DEF_GENERAL> _GlobalSettingsDefPersistFactory;
  49. DECLARE_DEFINITION_FACTORY(GlobalSettingsDef, CLASSID_GLOBAL_SETTINGS_DEF_GENERAL, "General") _GlobalSettingsDefDefFactory;
  50. /*
  51. ** Static member initialization
  52. */
  53. GlobalSettingsDef *GlobalSettingsDef::GlobalSettings = NULL;
  54. GlobalSettingsDef::GlobalSettingsDef( void ) :
  55. DeathSoundID( 0 ),
  56. EVAObjectivesSoundID( 0 ),
  57. HUDHelpTextSoundID( 0 ),
  58. MaxConversationDist( 10.0F ),
  59. MaxCombatConversationDist( 10.0F ),
  60. SoldierWalkSpeed( 0.25 ),
  61. SoldierCrouchSpeed( 0.25 ),
  62. EncyclopediaEventStringID( 0 ),
  63. FallingDamageMinDistance( 5 ),
  64. FallingDamageMaxDistance( 20 ),
  65. FallingDamageWarhead( 15 ), // Default to Earth
  66. StealthDistanceHuman( 15.0f ),
  67. StealthDistanceVehicle( 25.0f ),
  68. MPStealthDistanceHuman( 15.0f ),
  69. MPStealthDistanceVehicle( 25.0f )
  70. {
  71. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_SOUNDDEFINITIONID, DeathSoundID);
  72. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_SOUNDDEFINITIONID, EVAObjectivesSoundID);
  73. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_SOUNDDEFINITIONID, HUDHelpTextSoundID);
  74. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, MaxConversationDist);
  75. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, MaxCombatConversationDist);
  76. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, SoldierWalkSpeed );
  77. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, SoldierCrouchSpeed );
  78. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, FallingDamageMinDistance );
  79. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, FallingDamageMaxDistance );
  80. // EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_INT, FallingDamageWarhead );
  81. #ifdef PARAM_EDITING_ON
  82. int i;
  83. EnumParameterClass *param;
  84. param = new EnumParameterClass( &FallingDamageWarhead );
  85. param->Set_Name ( "Falling Damage Warhead" );
  86. for ( i = 0; i < ArmorWarheadManager::Get_Num_Warhead_Types(); i++ ) {
  87. param->Add_Value ( ArmorWarheadManager::Get_Warhead_Name( i ), i );
  88. }
  89. GENERIC_EDITABLE_PARAM(GlobalSettingsDef,param)
  90. #endif //PARAM_EDITING_ON
  91. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseGDICharactersTexture );
  92. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseGDIVehiclesTexture );
  93. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseGDIEquipmentTexture );
  94. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseNODCharactersTexture );
  95. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseNODVehiclesTexture );
  96. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseNODEquipmentTexture );
  97. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseGDIMUTCharactersTexture );
  98. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseGDIMUTVehiclesTexture );
  99. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseGDIMUTEquipmentTexture );
  100. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseNODMUTCharactersTexture );
  101. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseNODMUTVehiclesTexture );
  102. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FILENAME, PurchaseNODMUTEquipmentTexture );
  103. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_STRINGSDB_ID, EncyclopediaEventStringID );
  104. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, StealthDistanceHuman );
  105. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, StealthDistanceVehicle );
  106. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, MPStealthDistanceHuman );
  107. EDITABLE_PARAM(GlobalSettingsDef, ParameterClass::TYPE_FLOAT, MPStealthDistanceVehicle );
  108. GlobalSettings = this;
  109. }
  110. GlobalSettingsDef::~GlobalSettingsDef( void )
  111. {
  112. GlobalSettings = NULL;
  113. return ;
  114. }
  115. uint32 GlobalSettingsDef::Get_Class_ID (void) const
  116. {
  117. return CLASSID_GLOBAL_SETTINGS_DEF_GENERAL;
  118. }
  119. const PersistFactoryClass & GlobalSettingsDef::Get_Factory (void) const
  120. {
  121. return _GlobalSettingsDefPersistFactory;
  122. }
  123. PersistClass * GlobalSettingsDef::Create( void ) const
  124. {
  125. WWASSERT( 0 );
  126. return NULL;
  127. }
  128. enum {
  129. CHUNKID_DEF_PARENT = 803001812,
  130. CHUNKID_DEF_VARIABLES,
  131. MICROCHUNKID_DEF_XXX = 1,
  132. MICROCHUNKID_DEF_DEATH_SOUND,
  133. MICROCHUNKID_DEF_EVA_MO_SOUND,
  134. MICROCHUNKID_DEF_MAX_CONV_DIST,
  135. MICROCHUNKID_DEF_MAX_COMBAT_CONV_DIST,
  136. MICROCHUNKID_DEF_SOLDIER_WALK_SPEED,
  137. MICROCHUNKID_DEF_SOLDIER_CROUCH_SPEED,
  138. MICROCHUNKID_DEF_FALLING_DAMAGE_MIN_DISTANCE,
  139. MICROCHUNKID_DEF_FALLING_DAMAGE_MAX_DISTANCE,
  140. MICROCHUNKID_DEF_FALLING_DAMAGE_WARHEAD,
  141. MICROCHUNKID_DEF_PURCHASE_GDI_CHARS_TEXTURE,
  142. MICROCHUNKID_DEF_PURCHASE_GDI_VEHICLES_TEXTURE,
  143. MICROCHUNKID_DEF_PURCHASE_GDI_EQUIP_TEXTURE,
  144. XXXMICROCHUNKID_DEF_PURCHASE_ADV_EQUIP_TEXTURE,
  145. MICROCHUNKID_DEF_PURCHASE_NOD_CHARS_TEXTURE,
  146. MICROCHUNKID_DEF_PURCHASE_NOD_VEHICLES_TEXTURE,
  147. MICROCHUNKID_DEF_PURCHASE_NOD_EQUIP_TEXTURE,
  148. MICROCHUNKID_DEF_PURCHASE_GDI_MUT_CHARS_TEXTURE,
  149. MICROCHUNKID_DEF_PURCHASE_GDI_MUT_VEHICLES_TEXTURE,
  150. MICROCHUNKID_DEF_PURCHASE_GDI_MUT_EQUIP_TEXTURE,
  151. MICROCHUNKID_DEF_PURCHASE_NOD_MUT_CHARS_TEXTURE,
  152. MICROCHUNKID_DEF_PURCHASE_NOD_MUT_VEHICLES_TEXTURE,
  153. MICROCHUNKID_DEF_PURCHASE_NOD_MUT_EQUIP_TEXTURE,
  154. MICROCHUNKID_DEF_ENCY_EVENT_STRING_ID,
  155. MICROCHUNKID_DEF_HELP_TXT_SOUND,
  156. MICROCHUNKID_DEF_STEALTH_DISTANCE_HUMAN,
  157. MICROCHUNKID_DEF_STEALTH_DISTANCE_VEHICLE,
  158. MICROCHUNKID_DEF_MP_STEALTH_DISTANCE_HUMAN,
  159. MICROCHUNKID_DEF_MP_STEALTH_DISTANCE_VEHICLE,
  160. };
  161. bool GlobalSettingsDef::Save( ChunkSaveClass & csave )
  162. {
  163. csave.Begin_Chunk( CHUNKID_DEF_PARENT );
  164. DefinitionClass::Save( csave );
  165. csave.End_Chunk();
  166. csave.Begin_Chunk( CHUNKID_DEF_VARIABLES );
  167. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_DEATH_SOUND, DeathSoundID );
  168. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_EVA_MO_SOUND, EVAObjectivesSoundID );
  169. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_HELP_TXT_SOUND, HUDHelpTextSoundID );
  170. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_MAX_CONV_DIST, MaxConversationDist );
  171. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_MAX_COMBAT_CONV_DIST, MaxCombatConversationDist );
  172. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_SOLDIER_WALK_SPEED, SoldierWalkSpeed );
  173. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_SOLDIER_CROUCH_SPEED, SoldierCrouchSpeed );
  174. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_FALLING_DAMAGE_MIN_DISTANCE, FallingDamageMinDistance );
  175. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_FALLING_DAMAGE_MAX_DISTANCE, FallingDamageMaxDistance );
  176. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_FALLING_DAMAGE_WARHEAD, FallingDamageWarhead );
  177. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_ENCY_EVENT_STRING_ID, EncyclopediaEventStringID );
  178. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_GDI_CHARS_TEXTURE, PurchaseGDICharactersTexture );
  179. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_GDI_VEHICLES_TEXTURE, PurchaseGDIVehiclesTexture );
  180. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_GDI_EQUIP_TEXTURE, PurchaseGDIEquipmentTexture );
  181. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_NOD_CHARS_TEXTURE, PurchaseNODCharactersTexture );
  182. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_NOD_VEHICLES_TEXTURE, PurchaseNODVehiclesTexture );
  183. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_NOD_EQUIP_TEXTURE, PurchaseNODEquipmentTexture );
  184. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_GDI_MUT_CHARS_TEXTURE, PurchaseGDIMUTCharactersTexture );
  185. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_GDI_MUT_VEHICLES_TEXTURE, PurchaseGDIMUTVehiclesTexture );
  186. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_GDI_MUT_EQUIP_TEXTURE, PurchaseGDIMUTEquipmentTexture );
  187. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_NOD_MUT_CHARS_TEXTURE, PurchaseNODMUTCharactersTexture );
  188. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_NOD_MUT_VEHICLES_TEXTURE, PurchaseNODMUTVehiclesTexture );
  189. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_DEF_PURCHASE_NOD_MUT_EQUIP_TEXTURE, PurchaseNODMUTEquipmentTexture );
  190. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_STEALTH_DISTANCE_HUMAN, StealthDistanceHuman );
  191. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_STEALTH_DISTANCE_VEHICLE, StealthDistanceVehicle );
  192. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_MP_STEALTH_DISTANCE_HUMAN, MPStealthDistanceHuman );
  193. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_DEF_MP_STEALTH_DISTANCE_VEHICLE, MPStealthDistanceVehicle );
  194. csave.End_Chunk();
  195. return true;
  196. }
  197. bool GlobalSettingsDef::Load( ChunkLoadClass &cload )
  198. {
  199. while (cload.Open_Chunk()) {
  200. switch(cload.Cur_Chunk_ID()) {
  201. case CHUNKID_DEF_PARENT:
  202. DefinitionClass::Load( cload );
  203. break;
  204. case CHUNKID_DEF_VARIABLES:
  205. while (cload.Open_Micro_Chunk()) {
  206. switch(cload.Cur_Micro_Chunk_ID()) {
  207. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_DEATH_SOUND, DeathSoundID );
  208. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_EVA_MO_SOUND, EVAObjectivesSoundID );
  209. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_HELP_TXT_SOUND, HUDHelpTextSoundID );
  210. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_MAX_CONV_DIST, MaxConversationDist );
  211. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_MAX_COMBAT_CONV_DIST, MaxCombatConversationDist );
  212. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_SOLDIER_WALK_SPEED, SoldierWalkSpeed );
  213. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_SOLDIER_CROUCH_SPEED, SoldierCrouchSpeed );
  214. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_FALLING_DAMAGE_MIN_DISTANCE, FallingDamageMinDistance );
  215. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_FALLING_DAMAGE_MAX_DISTANCE, FallingDamageMaxDistance );
  216. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_FALLING_DAMAGE_WARHEAD, FallingDamageWarhead );
  217. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_ENCY_EVENT_STRING_ID, EncyclopediaEventStringID );
  218. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_GDI_CHARS_TEXTURE, PurchaseGDICharactersTexture );
  219. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_GDI_VEHICLES_TEXTURE, PurchaseGDIVehiclesTexture );
  220. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_GDI_EQUIP_TEXTURE, PurchaseGDIEquipmentTexture );
  221. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_NOD_CHARS_TEXTURE, PurchaseNODCharactersTexture );
  222. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_NOD_VEHICLES_TEXTURE, PurchaseNODVehiclesTexture );
  223. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_NOD_EQUIP_TEXTURE, PurchaseNODEquipmentTexture );
  224. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_GDI_MUT_CHARS_TEXTURE, PurchaseGDIMUTCharactersTexture );
  225. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_GDI_MUT_VEHICLES_TEXTURE, PurchaseGDIMUTVehiclesTexture );
  226. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_GDI_MUT_EQUIP_TEXTURE, PurchaseGDIMUTEquipmentTexture );
  227. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_NOD_MUT_CHARS_TEXTURE, PurchaseNODMUTCharactersTexture );
  228. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_NOD_MUT_VEHICLES_TEXTURE, PurchaseNODMUTVehiclesTexture );
  229. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_DEF_PURCHASE_NOD_MUT_EQUIP_TEXTURE, PurchaseNODMUTEquipmentTexture );
  230. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_STEALTH_DISTANCE_HUMAN, StealthDistanceHuman );
  231. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_STEALTH_DISTANCE_VEHICLE, StealthDistanceVehicle );
  232. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_MP_STEALTH_DISTANCE_HUMAN, MPStealthDistanceHuman );
  233. READ_MICRO_CHUNK( cload, MICROCHUNKID_DEF_MP_STEALTH_DISTANCE_VEHICLE, MPStealthDistanceVehicle );
  234. default:
  235. Debug_Say(("Unhandled Micro Chunk:%d File:%s Line:%d\r\n",cload.Cur_Micro_Chunk_ID(),__FILE__,__LINE__));
  236. break;
  237. }
  238. cload.Close_Micro_Chunk();
  239. }
  240. break;
  241. default:
  242. Debug_Say(("Unhandled Chunk:%d File:%s Line:%d\r\n",cload.Cur_Chunk_ID(),__FILE__,__LINE__));
  243. break;
  244. }
  245. cload.Close_Chunk();
  246. }
  247. return true;
  248. }
  249. /*
  250. ** HumanLoiterGlobalSettingsDef
  251. */
  252. SimplePersistFactoryClass<HumanLoiterGlobalSettingsDef, CHUNKID_GLOBAL_SETTINGS_DEF_HUMAN_LOITER> _HumanLoiterGlobalSettingsDefPersistFactory;
  253. DECLARE_DEFINITION_FACTORY(HumanLoiterGlobalSettingsDef, CLASSID_GLOBAL_SETTINGS_DEF_HUMAN_LOITER, "HumanLoiter") _HumanLoiterGlobalSettingsDefDefFactory;
  254. HumanLoiterGlobalSettingsDef * HumanLoiterGlobalSettingsDef::DefaultLoiters = NULL;
  255. HumanLoiterGlobalSettingsDef * HumanLoiterGlobalSettingsDef::WeaponLoiters = NULL;
  256. HumanLoiterGlobalSettingsDef * HumanLoiterGlobalSettingsDef::WeaponlessLoiters = NULL;
  257. HumanLoiterGlobalSettingsDef::HumanLoiterGlobalSettingsDef( void ) :
  258. ActivationDelay( 20 ),
  259. LoiterFrequency( 10 )
  260. {
  261. EDITABLE_PARAM( HumanLoiterGlobalSettingsDef, ParameterClass::TYPE_FLOAT, ActivationDelay );
  262. EDITABLE_PARAM( HumanLoiterGlobalSettingsDef, ParameterClass::TYPE_FLOAT, LoiterFrequency );
  263. EDITABLE_PARAM( HumanLoiterGlobalSettingsDef, ParameterClass::TYPE_FILENAMELIST, LoiterAnimList);
  264. }
  265. HumanLoiterGlobalSettingsDef::~HumanLoiterGlobalSettingsDef( void )
  266. {
  267. if ( this == DefaultLoiters ) {
  268. DefaultLoiters = NULL;
  269. }
  270. if ( this == WeaponLoiters ) {
  271. WeaponLoiters = NULL;
  272. }
  273. if ( this == WeaponlessLoiters ) {
  274. WeaponlessLoiters = NULL;
  275. }
  276. }
  277. uint32 HumanLoiterGlobalSettingsDef::Get_Class_ID (void) const
  278. {
  279. return CLASSID_GLOBAL_SETTINGS_DEF_HUMAN_LOITER;
  280. }
  281. const PersistFactoryClass & HumanLoiterGlobalSettingsDef::Get_Factory (void) const
  282. {
  283. return _HumanLoiterGlobalSettingsDefPersistFactory;
  284. }
  285. PersistClass * HumanLoiterGlobalSettingsDef::Create( void ) const
  286. {
  287. WWASSERT( 0 );
  288. return NULL;
  289. }
  290. enum {
  291. CHUNKID_HL_DEF_PARENT = 803001812,
  292. CHUNKID_HL_DEF_VARIABLES,
  293. MICROCHUNKID_HL_DEF_ACTIVATION_DELAY = 1,
  294. MICROCHUNKID_HL_DEF_LOITER_FREQUENCY,
  295. MICROCHUNKID_HL_DEF_LOITER_ANIM_LIST_ENTRY,
  296. };
  297. bool HumanLoiterGlobalSettingsDef::Save( ChunkSaveClass & csave )
  298. {
  299. csave.Begin_Chunk( CHUNKID_HL_DEF_PARENT );
  300. DefinitionClass::Save( csave );
  301. csave.End_Chunk();
  302. csave.Begin_Chunk( CHUNKID_HL_DEF_VARIABLES );
  303. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HL_DEF_ACTIVATION_DELAY, ActivationDelay );
  304. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HL_DEF_LOITER_FREQUENCY, LoiterFrequency );
  305. for ( int i = 0; i < LoiterAnimList.Count(); i++ ) {
  306. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_HL_DEF_LOITER_ANIM_LIST_ENTRY, LoiterAnimList[i] );
  307. }
  308. csave.End_Chunk();
  309. return true;
  310. }
  311. bool HumanLoiterGlobalSettingsDef::Load( ChunkLoadClass &cload )
  312. {
  313. while (cload.Open_Chunk()) {
  314. switch(cload.Cur_Chunk_ID()) {
  315. case CHUNKID_HL_DEF_PARENT:
  316. DefinitionClass::Load( cload );
  317. break;
  318. case CHUNKID_HL_DEF_VARIABLES:
  319. while (cload.Open_Micro_Chunk()) {
  320. switch(cload.Cur_Micro_Chunk_ID()) {
  321. READ_MICRO_CHUNK( cload, MICROCHUNKID_HL_DEF_ACTIVATION_DELAY, ActivationDelay );
  322. READ_MICRO_CHUNK( cload, MICROCHUNKID_HL_DEF_LOITER_FREQUENCY, LoiterFrequency );
  323. case MICROCHUNKID_HL_DEF_LOITER_ANIM_LIST_ENTRY:
  324. {
  325. StringClass str;
  326. LOAD_MICRO_CHUNK_WWSTRING(cload,str);
  327. LoiterAnimList.Add( str );
  328. break;
  329. }
  330. default:
  331. Debug_Say(("Unhandled Micro Chunk:%d File:%s Line:%d\r\n",cload.Cur_Micro_Chunk_ID(),__FILE__,__LINE__));
  332. break;
  333. }
  334. cload.Close_Micro_Chunk();
  335. }
  336. break;
  337. default:
  338. Debug_Say(("Unhandled Chunk:%d File:%s Line:%d\r\n",cload.Cur_Chunk_ID(),__FILE__,__LINE__));
  339. break;
  340. }
  341. cload.Close_Chunk();
  342. }
  343. return true;
  344. }
  345. HumanLoiterGlobalSettingsDef * HumanLoiterGlobalSettingsDef::Get_Default_Loiters( void )
  346. {
  347. if ( DefaultLoiters == NULL ) {
  348. DefaultLoiters = (HumanLoiterGlobalSettingsDef *)DefinitionMgrClass::Find_Typed_Definition( "Loiter", CLASSID_GLOBAL_SETTINGS_DEF_HUMAN_LOITER );
  349. }
  350. if ( DefaultLoiters == NULL ) {
  351. Debug_Say(( "Failed to load Default Loiter\n" ));
  352. }
  353. return DefaultLoiters;
  354. }
  355. HumanLoiterGlobalSettingsDef * HumanLoiterGlobalSettingsDef::Get_Weapon_Loiters( void )
  356. {
  357. if ( WeaponLoiters == NULL ) {
  358. WeaponLoiters = (HumanLoiterGlobalSettingsDef *)DefinitionMgrClass::Find_Typed_Definition( "Weapon Loiters", CLASSID_GLOBAL_SETTINGS_DEF_HUMAN_LOITER );
  359. }
  360. if ( WeaponLoiters == NULL ) {
  361. Debug_Say(( "Failed to Weapons Loiter\n" ));
  362. }
  363. return WeaponLoiters;
  364. }
  365. HumanLoiterGlobalSettingsDef * HumanLoiterGlobalSettingsDef::Get_Weaponless_Loiters( void )
  366. {
  367. if ( WeaponlessLoiters == NULL ) {
  368. WeaponlessLoiters = (HumanLoiterGlobalSettingsDef *)DefinitionMgrClass::Find_Typed_Definition( "Weaponless Loiters", CLASSID_GLOBAL_SETTINGS_DEF_HUMAN_LOITER );
  369. }
  370. if ( WeaponlessLoiters == NULL ) {
  371. Debug_Say(( "Failed to load weaponless Loiter\n" ));
  372. }
  373. return WeaponlessLoiters;
  374. }
  375. const char * HumanLoiterGlobalSettingsDef::Pick_Animation( void )
  376. {
  377. if ( LoiterAnimList.Count() == 0 ) {
  378. return "";
  379. }
  380. return LoiterAnimList[ FreeRandom.Get_Int( LoiterAnimList.Count() ) ];
  381. }
  382. /*
  383. ** HUDGlobalSettingsDef
  384. */
  385. HUDGlobalSettingsDef * HUDGlobalSettingsDef::Instance = NULL;
  386. SimplePersistFactoryClass<HUDGlobalSettingsDef, CHUNKID_GLOBAL_SETTINGS_DEF_HUD> _HUDGlobalSettingsDefPersistFactory;
  387. DECLARE_DEFINITION_FACTORY(HUDGlobalSettingsDef, CLASSID_GLOBAL_SETTINGS_DEF_HUD, "HUD") _HUDGlobalSettingsDefDefFactory;
  388. // The old define settings are now the defaults for the global setting
  389. #define INFO_TEXTURE_SIZE 128
  390. #define STAR_BRACKET_SIZE Vector2( 72, 56 )
  391. #define STAR_BRACKET_OFFSET Vector2( -70, -58 )
  392. #define STAR_BRACKET_UV RectClass( 55.0f, 1.0f, 127.0f, 57.0f )
  393. #define STAR_BRACKET_TOP_SIZE Vector2( 38, 16 )
  394. #define STAR_BRACKET_TOP_OFFSET ((STAR_BRACKET_OFFSET) + Vector2( 25, -16 ))
  395. #define STAR_BRACKET_TOP_UV RectClass( 2.0f, 81.0f, 40.0f, 97.0f )
  396. #define STAR_BRACKET_TOP_ARMED_SIZE Vector2( 38, 16 )
  397. #define STAR_BRACKET_TOP_ARMED_OFFSET ((STAR_BRACKET_OFFSET) + Vector2( 25, -16 ))
  398. #define STAR_BRACKET_TOP_ARMED_UV RectClass( 40.0f, 81.0f, 2.0f, 97.0f )
  399. #define STAR_BAR_LENGTH 130
  400. #define STAR_BAR_SIZE Vector2( STAR_BAR_LENGTH, 18 )
  401. #define STAR_BAR_OFFSET ((STAR_BRACKET_OFFSET) + Vector2( -STAR_BAR_LENGTH + 2, 31 ))
  402. #define STAR_BAR_UV RectClass( 55.0f, 60.0f, 79.0f, 78.0f )
  403. #define STAR_BAR_END_SIZE Vector2( 32, 24 )
  404. #define STAR_BAR_END_OFFSET ((STAR_BAR_OFFSET) + Vector2( -26, -2 ))
  405. #define STAR_BAR_END_UV RectClass( 79.0f, 57.0f, 111.0f, 81.0f )
  406. #define STAR_HEALTH_SIZE Vector2( STAR_BAR_LENGTH, 6 )
  407. #define STAR_HEALTH_OFFSET (STAR_BAR_OFFSET + Vector2( 0, 3 ))
  408. #define STAR_HEALTH_UV RectClass( 112.0f, 66.0f, 126.0f, 72.0f )
  409. #define STAR_SHIELD_SIZE Vector2( STAR_BAR_LENGTH + 4, 6 )
  410. #define STAR_SHIELD_OFFSET (STAR_BAR_OFFSET + Vector2( -4, 10 ))
  411. #define STAR_SHIELD_UV RectClass( 112.0f, 66.0f, 126.0f, 72.0f )
  412. #define STAR_WEAPON_ICON_SIZE Vector2( 64, 64 )
  413. #define STAR_WEAPON_ICON_OFFSET ((STAR_BRACKET_OFFSET) + Vector2( 0, -70 ))
  414. #define TARGET_BRACKET_SIZE Vector2( 21, 52 )
  415. #define TARGET_BRACKET_OFFSET Vector2( 68, -60 )
  416. #define TARGET_BRACKET_UV RectClass( 2.0f, 1.0f, 23.0f, 53.0f )
  417. #define TARGET_ICON_SIZE Vector2( 64, 64 )
  418. #define TARGET_ICON_OFFSET Vector2( 2, -68 )
  419. #define TARGET_NAME_BAR_SIZE Vector2( 120, 20 )
  420. #define TARGET_NAME_BAR_OFFSET (TARGET_BRACKET_OFFSET + Vector2( 19, 2 ))
  421. #define TARGET_NAME_BAR_UV RectClass( 1.0f, 59.0f, 31.0f, 79.0f )
  422. #define TARGET_NAME_OFFSET (TARGET_BRACKET_OFFSET + Vector2( 24, 8 ))
  423. #define TARGET_BAR_LENGTH 130
  424. #define TARGET_BAR_SIZE Vector2( TARGET_BAR_LENGTH, 18 )
  425. #define TARGET_BAR_OFFSET (TARGET_BRACKET_OFFSET + Vector2( 19 , 33 ))
  426. #define TARGET_BAR_UV RectClass( 55.0f, 60.0f, 79.0f, 78.0f )
  427. #define TARGET_BAR_END_SIZE Vector2( 32, 24 )
  428. #define TARGET_BAR_END_OFFSET (TARGET_BAR_OFFSET + Vector2( TARGET_BAR_LENGTH - 6, -2 ))
  429. #define TARGET_BAR_END_UV RectClass( 111.0f, 57.0f, 79.0f, 81.0f )
  430. #define TARGET_HEALTH_SIZE Vector2( TARGET_BAR_LENGTH, 6 )
  431. #define TARGET_HEALTH_OFFSET (TARGET_BAR_OFFSET + Vector2( 0, 3 ))
  432. #define TARGET_HEALTH_UV RectClass( 126.0f, 66.0f, 112.0f, 72.0f )
  433. #define TARGET_SHIELD_SIZE Vector2( TARGET_BAR_LENGTH + 4, 6 )
  434. #define TARGET_SHIELD_OFFSET (TARGET_BAR_OFFSET + Vector2( 0, 10 ))
  435. #define TARGET_SHIELD_UV RectClass( 126.0f, 66.0f, 112.0f, 72.0f )
  436. #define RADAR_TEXTURE_SIZE 128
  437. #define RADAR_OFFSET Vector2( 82, -124 )
  438. #define RADAR_RADIUS 64
  439. #define RADAR_FRAME_SIZE Vector2( 112, 128 )
  440. #define RADAR_FRAME_UV RectClass( 0, 0, 112.0f, 128.0f )
  441. #define RADAR_COMPASS_OFFSET Vector2( -7, 54 )
  442. #define RADAR_COMPASS_SIZE Vector2( 16, 8 )
  443. #define RADAR_COMPASS_BASE_UV RectClass( 112.0f, 64.0f, 128.0f, 72.0f )
  444. #define RADAR_COMPASS_UV_OFFSET Vector2( 0, 8 )
  445. #define RADAR_HUMAN_BLIP_UV RectClass( 112.0f, 0.0f, 120.0f, 8.0f )
  446. #define RADAR_VEHICLE_BLIP_UV RectClass( 120.0f, 0.0f, 128.0f, 8.0f )
  447. #define RADAR_STATIONARY_BLIP_UV RectClass( 112.0f, 8.0f, 120.0f, 16.0f )
  448. #define RADAR_OBJECTIVE_BLIP_UV RectClass( 120.0f, 8.0f, 128.0f, 16.0f )
  449. #define RADAR_BLIP_BRACKET_UV RectClass( 112.0f,16.0f, 120.0f, 24.0f )
  450. #define RADAR_SWEEP_UV RectClass( 121.0f,24.0f, 127.0f, 32.0f )
  451. #define SNIPER_TEXTURE_SIZE 256
  452. #define SNIPER_VIEW RectClass( 0.2f, 0.12f, 0.8f, 0.88f )
  453. #define SNIPER_VIEW_UV RectClass( 0.0f, 0.0f, 240.0f, 227.0f )
  454. #define SNIPER_SCAN_LINE_UV RectClass( 0.01f, 0.01f, 0.05f, 0.05f )
  455. #define SNIPER_BLACK_COVER_UV RectClass( 0.01f, 0.01f, 0.05f, 0.05f )
  456. #define SNIPER_TILT_BAR RectClass( 0.20f, 0.25f, 0.225f, 0.75f )
  457. #define SNIPER_TILT_BAR_RATE 1
  458. #define SNIPER_TILT_BAR_UV RectClass( 245.0f, 3.0f, 250.0f, 208.0f )
  459. #define SNIPER_TURN_BAR RectClass( 0.35f, 0.25f, 0.65f, 0.275f )
  460. #define SNIPER_TURN_BAR_RATE 1
  461. #define SNIPER_TURN_BAR_UV RectClass( 1.0f, 244.0f, 109.0f, 253.0f )
  462. #define SNIPER_DISTANCE_GRAPH RectClass( 0.175f, 0.3f, 0.2f, 0.65f )
  463. #define SNIPER_DISTANCE_GRAPH_UV RectClass( 1.0f, 231.0f, 87.0f, 239.0f )
  464. #define SNIPER_DISTANCE_GRAPH_MAX 200
  465. #define SNIPER_ZOOM_GRAPH RectClass( 0.72f, 0.18f, 0.8f, 0.22f )
  466. #define SNIPER_ZOOM_GRAPH_UV RectClass( 218.0f, 247.0f, 254.0f, 254.0f )
  467. #define DAMAGE_INDICATOR_UV RectClass( 31.0f, 1.0f, 51.0f, 59.0f )
  468. #define DAMAGE_DIAG_INDICATOR_UV RectClass( 1.0f, 60.0f, 47.0f, 106.0f )
  469. HUDGlobalSettingsDef::HUDGlobalSettingsDef( void ) :
  470. NodColor( 1,0,0 ),
  471. GDIColor( 1,1,0 ),
  472. NeutralColor( 1,1,1 ),
  473. MutantColor( 0,1,0 ),
  474. RenegadeColor( 0,0,1 ),
  475. PrimaryObjectiveColor( 0,1,0 ),
  476. SecondaryObjectiveColor( 0,0,1 ),
  477. TertiaryObjectiveColor( 1,0,1 ),
  478. HealthHighColor( 0,1,0 ),
  479. HealthMedColor( 1,1,0 ),
  480. HealthLowColor( 1,0,0 ),
  481. EnemyColor( 1,0,0 ),
  482. FriendlyColor( 0,1,0 ),
  483. NoRelationColor( 1,1,1 ),
  484. InfoTextureSize(INFO_TEXTURE_SIZE),
  485. StarBracketSize(STAR_BRACKET_SIZE),
  486. StarBracketOffset(STAR_BRACKET_OFFSET),
  487. StarBracketUV(STAR_BRACKET_UV),
  488. StarBracketTopSize(STAR_BRACKET_TOP_SIZE),
  489. StarBracketTopOffset(STAR_BRACKET_TOP_OFFSET),
  490. StarBracketTopUV(STAR_BRACKET_TOP_UV),
  491. StarBracketTopArmedSize(STAR_BRACKET_TOP_ARMED_SIZE),
  492. StarBracketTopArmedOffset(STAR_BRACKET_TOP_ARMED_OFFSET),
  493. StarBracketTopArmedUV(STAR_BRACKET_TOP_ARMED_UV),
  494. StarBarSize(STAR_BAR_SIZE),
  495. StarBarOffset(STAR_BAR_OFFSET),
  496. StarBarUV(STAR_BAR_UV),
  497. StarBarEndSize(STAR_BAR_END_SIZE),
  498. StarBarEndOffset(STAR_BAR_END_OFFSET),
  499. StarBarEndUV(STAR_BAR_END_UV),
  500. StarHealthSize(STAR_HEALTH_SIZE),
  501. StarHealthOffset(STAR_HEALTH_OFFSET),
  502. StarHealthUV(STAR_HEALTH_UV),
  503. StarShieldSize(STAR_SHIELD_SIZE),
  504. StarShieldOffset(STAR_SHIELD_OFFSET),
  505. StarShieldUV(STAR_SHIELD_UV),
  506. StarWeaponIconSize(STAR_WEAPON_ICON_SIZE),
  507. StarWeaponIconOffset(STAR_WEAPON_ICON_OFFSET),
  508. TargetBracketSize(TARGET_BRACKET_SIZE),
  509. TargetBracketOffset(TARGET_BRACKET_OFFSET),
  510. TargetBracketUV(TARGET_BRACKET_UV),
  511. TargetIconSize(TARGET_ICON_SIZE),
  512. TargetIconOffset(TARGET_ICON_OFFSET),
  513. TargetNameBarSize(TARGET_NAME_BAR_SIZE),
  514. TargetNameBarOffset(TARGET_NAME_BAR_OFFSET),
  515. TargetNameBarUV(TARGET_NAME_BAR_UV),
  516. TargetNameOffset(TARGET_NAME_OFFSET),
  517. TargetBarSize(TARGET_BAR_SIZE),
  518. TargetBarOffset(TARGET_BAR_OFFSET),
  519. TargetBarUV(TARGET_BAR_UV),
  520. TargetBarEndSize(TARGET_BAR_END_SIZE),
  521. TargetBarEndOffset(TARGET_BAR_END_OFFSET),
  522. TargetBarEndUV(TARGET_BAR_END_UV),
  523. TargetHealthSize(TARGET_HEALTH_SIZE),
  524. TargetHealthOffset(TARGET_HEALTH_OFFSET),
  525. TargetHealthUV(TARGET_HEALTH_UV),
  526. TargetShieldSize(TARGET_SHIELD_SIZE),
  527. TargetShieldOffset(TARGET_SHIELD_OFFSET),
  528. TargetShieldUV(TARGET_SHIELD_UV),
  529. RadarTextureSize(RADAR_TEXTURE_SIZE),
  530. RadarOffset(RADAR_OFFSET),
  531. RadarRadius(RADAR_RADIUS),
  532. RadarFrameSize(RADAR_FRAME_SIZE),
  533. RadarFrameUV(RADAR_FRAME_UV),
  534. RadarCompassOffset(RADAR_COMPASS_OFFSET),
  535. RadarCompassSize(RADAR_COMPASS_SIZE),
  536. RadarCompassBaseUV(RADAR_COMPASS_BASE_UV),
  537. RadarCompassUVOffset(RADAR_COMPASS_UV_OFFSET),
  538. RadarHumanBlipUV(RADAR_HUMAN_BLIP_UV),
  539. RadarVehicleBlipUV(RADAR_VEHICLE_BLIP_UV),
  540. RadarStationaryBlipUV(RADAR_STATIONARY_BLIP_UV),
  541. RadarObjectiveBlipUV(RADAR_OBJECTIVE_BLIP_UV),
  542. RadarBlipBracketUV(RADAR_BLIP_BRACKET_UV),
  543. RadarSweepUV(RADAR_SWEEP_UV),
  544. RadarOnSoundID(0),
  545. RadarOffSoundID(0),
  546. SniperTextureSize(SNIPER_TEXTURE_SIZE),
  547. SniperView(SNIPER_VIEW),
  548. SniperViewUV(SNIPER_VIEW_UV),
  549. SniperScanLineUV(SNIPER_SCAN_LINE_UV),
  550. SniperBlackCoverUV(SNIPER_BLACK_COVER_UV),
  551. SniperTiltBar(SNIPER_TILT_BAR),
  552. SniperTiltBarRate(SNIPER_TILT_BAR_RATE),
  553. SniperTiltBarUV(SNIPER_TILT_BAR_UV),
  554. SniperTurnBar(SNIPER_TURN_BAR),
  555. SniperTurnBarRate(SNIPER_TURN_BAR_RATE),
  556. SniperTurnBarUV(SNIPER_TURN_BAR_UV),
  557. SniperDistanceGraph(SNIPER_DISTANCE_GRAPH),
  558. SniperDistanceGraphUV(SNIPER_DISTANCE_GRAPH_UV),
  559. SniperDistanceGraphMax(SNIPER_DISTANCE_GRAPH_MAX),
  560. SniperZoomGraph(SNIPER_ZOOM_GRAPH),
  561. SniperZoomGraphUV(SNIPER_ZOOM_GRAPH_UV),
  562. DamageIndicatorUV(DAMAGE_INDICATOR_UV),
  563. DamageDiagIndicatorUV(DAMAGE_DIAG_INDICATOR_UV)
  564. {
  565. WWASSERT( Instance == NULL ); // Pat, you can remove this if needed
  566. Instance = this;
  567. PARAM_SEPARATOR( HUDGlobalSettingsDef, "Colors" );
  568. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, NodColor );
  569. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, GDIColor );
  570. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, NeutralColor );
  571. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, MutantColor );
  572. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, RenegadeColor );
  573. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, PrimaryObjectiveColor );
  574. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, SecondaryObjectiveColor );
  575. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, TertiaryObjectiveColor );
  576. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, HealthHighColor );
  577. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, HealthMedColor );
  578. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, HealthLowColor );
  579. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, EnemyColor );
  580. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, FriendlyColor );
  581. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_COLOR, NoRelationColor );
  582. PARAM_SEPARATOR( HUDGlobalSettingsDef, "Star Info" );
  583. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_FLOAT, InfoTextureSize );
  584. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBracketSize );
  585. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBracketOffset );
  586. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, StarBracketUV );
  587. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBracketTopSize );
  588. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBracketTopOffset );
  589. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, StarBracketTopUV );
  590. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBracketTopArmedSize );
  591. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBracketTopArmedOffset );
  592. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, StarBracketTopArmedUV );
  593. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBarSize );
  594. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBarOffset );
  595. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, StarBarUV );
  596. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBarEndSize );
  597. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarBarEndOffset );
  598. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, StarBarEndUV );
  599. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarHealthSize );
  600. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarHealthOffset );
  601. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, StarHealthUV );
  602. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarShieldSize );
  603. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarShieldOffset );
  604. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, StarShieldUV );
  605. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarWeaponIconSize );
  606. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, StarWeaponIconOffset );
  607. PARAM_SEPARATOR( HUDGlobalSettingsDef, "Target Info" );
  608. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetBracketSize );
  609. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetBracketOffset );
  610. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, TargetBracketUV );
  611. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetIconSize );
  612. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetIconOffset );
  613. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetNameBarSize );
  614. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetNameBarOffset );
  615. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, TargetNameBarUV );
  616. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetNameOffset );
  617. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetBarSize );
  618. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetBarOffset );
  619. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, TargetBarUV );
  620. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetBarEndSize );
  621. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetBarEndOffset );
  622. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, TargetBarEndUV );
  623. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetHealthSize );
  624. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetHealthOffset );
  625. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, TargetHealthUV );
  626. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetShieldSize );
  627. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, TargetShieldOffset );
  628. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, TargetShieldUV );
  629. PARAM_SEPARATOR( HUDGlobalSettingsDef, "Damage Indicators" );
  630. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, DamageIndicatorUV );
  631. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, DamageDiagIndicatorUV );
  632. PARAM_SEPARATOR( HUDGlobalSettingsDef, "Radar" );
  633. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_FLOAT, RadarTextureSize );
  634. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, RadarOffset );
  635. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_FLOAT, RadarRadius );
  636. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, RadarFrameSize );
  637. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, RadarFrameUV );
  638. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, RadarCompassOffset );
  639. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, RadarCompassSize );
  640. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, RadarCompassBaseUV );
  641. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_VECTOR2, RadarCompassUVOffset );
  642. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, RadarHumanBlipUV );
  643. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, RadarVehicleBlipUV );
  644. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, RadarStationaryBlipUV );
  645. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, RadarObjectiveBlipUV );
  646. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, RadarBlipBracketUV );
  647. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, RadarSweepUV );
  648. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_SOUNDDEFINITIONID, RadarOnSoundID );
  649. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_SOUNDDEFINITIONID, RadarOffSoundID );
  650. PARAM_SEPARATOR( HUDGlobalSettingsDef, "Sniper" );
  651. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_FLOAT, SniperTextureSize );
  652. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperView );
  653. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperViewUV );
  654. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperScanLineUV );
  655. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperBlackCoverUV );
  656. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperTiltBar );
  657. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_FLOAT, SniperTiltBarRate );
  658. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperTiltBarUV );
  659. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperTurnBar );
  660. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_FLOAT, SniperTurnBarRate );
  661. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperTurnBarUV );
  662. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperDistanceGraph );
  663. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperDistanceGraphUV );
  664. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_FLOAT, SniperDistanceGraphMax );
  665. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperZoomGraph );
  666. EDITABLE_PARAM( HUDGlobalSettingsDef, ParameterClass::TYPE_RECT, SniperZoomGraphUV );
  667. }
  668. HUDGlobalSettingsDef::~HUDGlobalSettingsDef( void )
  669. {
  670. WWASSERT( Instance == this );
  671. Instance = NULL;
  672. }
  673. uint32 HUDGlobalSettingsDef::Get_Class_ID (void) const
  674. {
  675. return CLASSID_GLOBAL_SETTINGS_DEF_HUD;
  676. }
  677. const PersistFactoryClass & HUDGlobalSettingsDef::Get_Factory (void) const
  678. {
  679. return _HUDGlobalSettingsDefPersistFactory;
  680. }
  681. PersistClass * HUDGlobalSettingsDef::Create( void ) const
  682. {
  683. WWASSERT( 0 );
  684. return NULL;
  685. }
  686. enum {
  687. CHUNKID_HUD_DEF_PARENT = 803001812,
  688. CHUNKID_HUD_DEF_VARIABLES,
  689. MICROCHUNKID_HUD_DEF_NOD_COLOR = 1,
  690. MICROCHUNKID_HUD_DEF_GDI_COLOR,
  691. MICROCHUNKID_HUD_DEF_NEUTRAL_COLOR,
  692. MICROCHUNKID_HUD_DEF_PRIMARY_OBJECTIVE_COLOR,
  693. MICROCHUNKID_HUD_DEF_SECONDARY_OBJECTIVE_COLOR,
  694. MICROCHUNKID_HUD_DEF_TERTIARY_OBJECTIVE_COLOR,
  695. MICROCHUNKID_HUD_DEF_STAR_BRACKET_SIZE,
  696. MICROCHUNKID_HUD_DEF_STAR_BRACKET_OFFSET,
  697. MICROCHUNKID_HUD_DEF_STAR_BRACKET_UV,
  698. MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_SIZE,
  699. MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_OFFSET,
  700. MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_UV,
  701. MICROCHUNKID_HUD_DEF_STAR_BAR_SIZE,
  702. MICROCHUNKID_HUD_DEF_STAR_BAR_OFFSET,
  703. MICROCHUNKID_HUD_DEF_STAR_BAR_UV,
  704. MICROCHUNKID_HUD_DEF_STAR_BAR_END_SIZE,
  705. MICROCHUNKID_HUD_DEF_STAR_BAR_END_OFFSET,
  706. MICROCHUNKID_HUD_DEF_STAR_BAR_END_UV,
  707. MICROCHUNKID_HUD_DEF_STAR_HEALTH_SIZE,
  708. MICROCHUNKID_HUD_DEF_STAR_HEALTH_OFFSET,
  709. MICROCHUNKID_HUD_DEF_STAR_HEALTH_UV,
  710. MICROCHUNKID_HUD_DEF_STAR_SHIELD_SIZE,
  711. MICROCHUNKID_HUD_DEF_STAR_SHIELD_OFFSET,
  712. MICROCHUNKID_HUD_DEF_STAR_SHIELD_UV,
  713. MICROCHUNKID_HUD_DEF_TARGET_BRACKET_SIZE,
  714. MICROCHUNKID_HUD_DEF_TARGET_BRACKET_OFFSET,
  715. MICROCHUNKID_HUD_DEF_TARGET_BRACKET_UV,
  716. MICROCHUNKID_HUD_DEF_TARGET_ICON_SIZE,
  717. MICROCHUNKID_HUD_DEF_TARGET_ICON_OFFSET,
  718. MICROCHUNKID_HUD_DEF_TARGET_NAME_BAR_SIZE,
  719. MICROCHUNKID_HUD_DEF_TARGET_NAME_BAR_OFFSET,
  720. MICROCHUNKID_HUD_DEF_TARGET_NAME_BAR_UV,
  721. MICROCHUNKID_HUD_DEF_TARGET_NAME_OFFSET,
  722. MICROCHUNKID_HUD_DEF_TARGET_BAR_SIZE,
  723. MICROCHUNKID_HUD_DEF_TARGET_BAR_OFFSET,
  724. MICROCHUNKID_HUD_DEF_TARGET_BAR_UV,
  725. MICROCHUNKID_HUD_DEF_TARGET_BAR_END_SIZE,
  726. MICROCHUNKID_HUD_DEF_TARGET_BAR_END_OFFSET,
  727. MICROCHUNKID_HUD_DEF_TARGET_BAR_END_UV,
  728. MICROCHUNKID_HUD_DEF_TARGET_HEALTH_SIZE,
  729. MICROCHUNKID_HUD_DEF_TARGET_HEALTH_OFFSET,
  730. MICROCHUNKID_HUD_DEF_TARGET_HEALTH_UV,
  731. MICROCHUNKID_HUD_DEF_TARGET_SHIELD_SIZE,
  732. MICROCHUNKID_HUD_DEF_TARGET_SHIELD_OFFSET,
  733. MICROCHUNKID_HUD_DEF_TARGET_SHIELD_UV,
  734. MICROCHUNKID_HUD_DEF_RADAR_OFFSET,
  735. MICROCHUNKID_HUD_DEF_RADAR_RADIUS,
  736. MICROCHUNKID_HUD_DEF_RADAR_FRAME_SIZE,
  737. MICROCHUNKID_HUD_DEF_RADAR_FRAME_UV,
  738. MICROCHUNKID_HUD_DEF_RADAR_COMPASS_OFFSET,
  739. MICROCHUNKID_HUD_DEF_RADAR_COMPASS_SIZE,
  740. MICROCHUNKID_HUD_DEF_RADAR_COMPASS_BASE_UV,
  741. MICROCHUNKID_HUD_DEF_RADAR_COMPASS_UV_OFFSET,
  742. MICROCHUNKID_HUD_DEF_RADAR_HUMAN_BLIP_UV,
  743. MICROCHUNKID_HUD_DEF_RADAR_VEHICLE_BLIP_UV,
  744. MICROCHUNKID_HUD_DEF_RADAR_STATIONARY_BLIP_UV,
  745. MICROCHUNKID_HUD_DEF_RADAR_OBJECTIVE_BLIP_UV,
  746. MICROCHUNKID_HUD_DEF_RADAR_BLIP_BRACKET_UV,
  747. MICROCHUNKID_HUD_DEF_RADAR_SWEEP_UV,
  748. MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_ARMED_SIZE,
  749. MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_ARMED_OFFSET,
  750. MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_ARMED_UV,
  751. MICROCHUNKID_HUD_DEF_STAR_WEAPON_ICON_SIZE,
  752. MICROCHUNKID_HUD_DEF_STAR_WEAPON_ICON_OFFSET,
  753. MICROCHUNKID_HUD_DEF_SNIPER_VIEW,
  754. MICROCHUNKID_HUD_DEF_SNIPER_VIEW_UV,
  755. MICROCHUNKID_HUD_DEF_SNIPER_BLACK_COVER_UV,
  756. MICROCHUNKID_HUD_DEF_SNIPER_TILT_BAR,
  757. MICROCHUNKID_HUD_DEF_SNIPER_TILT_BAR_RATE,
  758. MICROCHUNKID_HUD_DEF_SNIPER_TILT_BAR_UV,
  759. MICROCHUNKID_HUD_DEF_SNIPER_TURN_BAR,
  760. MICROCHUNKID_HUD_DEF_SNIPER_TURN_BAR_RATE,
  761. MICROCHUNKID_HUD_DEF_SNIPER_TURN_BAR_UV,
  762. MICROCHUNKID_HUD_DEF_SNIPER_DISTANCE_GRAPH,
  763. MICROCHUNKID_HUD_DEF_SNIPER_DISTANCE_GRAPH_UV,
  764. MICROCHUNKID_HUD_DEF_SNIPER_DISTANCE_GRAPH_MAX,
  765. MICROCHUNKID_HUD_DEF_SNIPER_SCAN_LINE_UV,
  766. MICROCHUNKID_HUD_DEF_INFO_TEXTURE_SIZE,
  767. MICROCHUNKID_HUD_DEF_RADAR_TEXTURE_SIZE,
  768. MICROCHUNKID_HUD_DEF_SNIPER_TEXTURE_SIZE,
  769. MICROCHUNKID_HUD_DEF_DAMAGE_INDICATOR_UV,
  770. MICROCHUNKID_HUD_DEF_DAMAGE_DIAG_INDICATOR_UV,
  771. MICROCHUNKID_HUD_DEF_SNIPER_ZOOM_GRAPH,
  772. MICROCHUNKID_HUD_DEF_SNIPER_ZOOM_GRAPH_UV,
  773. MICROCHUNKID_HUD_DEF_RADAR_ON_SOUND_ID,
  774. MICROCHUNKID_HUD_DEF_RADAR_OFF_SOUND_ID,
  775. MICROCHUNKID_HUD_DEF_MUTANT_COLOR,
  776. MICROCHUNKID_HUD_DEF_RENEGADE_COLOR,
  777. MICROCHUNKID_HUD_DEF_HEALTH_HIGH_COLOR,
  778. MICROCHUNKID_HUD_DEF_HEALTH_MED_COLOR,
  779. MICROCHUNKID_HUD_DEF_HEALTH_LOW_COLOR,
  780. MICROCHUNKID_HUD_DEF_ENEMY_COLOR,
  781. MICROCHUNKID_HUD_DEF_FRIENDLY_COLOR,
  782. MICROCHUNKID_HUD_DEF_NO_RELATION_COLOR,
  783. };
  784. bool HUDGlobalSettingsDef::Save( ChunkSaveClass & csave )
  785. {
  786. csave.Begin_Chunk( CHUNKID_HL_DEF_PARENT );
  787. DefinitionClass::Save( csave );
  788. csave.End_Chunk();
  789. csave.Begin_Chunk( CHUNKID_HL_DEF_VARIABLES );
  790. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_NOD_COLOR, NodColor );
  791. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_GDI_COLOR, GDIColor );
  792. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_NEUTRAL_COLOR, NeutralColor );
  793. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_MUTANT_COLOR, MutantColor );
  794. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RENEGADE_COLOR, RenegadeColor );
  795. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_PRIMARY_OBJECTIVE_COLOR, PrimaryObjectiveColor );
  796. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SECONDARY_OBJECTIVE_COLOR, SecondaryObjectiveColor );
  797. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TERTIARY_OBJECTIVE_COLOR, TertiaryObjectiveColor );
  798. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_HEALTH_HIGH_COLOR, HealthHighColor );
  799. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_HEALTH_MED_COLOR, HealthMedColor );
  800. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_HEALTH_LOW_COLOR, HealthLowColor );
  801. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_ENEMY_COLOR, EnemyColor );
  802. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_FRIENDLY_COLOR, FriendlyColor );
  803. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_NO_RELATION_COLOR, NoRelationColor );
  804. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_INFO_TEXTURE_SIZE, InfoTextureSize );
  805. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BRACKET_SIZE, StarBracketSize );
  806. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BRACKET_OFFSET, StarBracketOffset );
  807. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BRACKET_UV, StarBracketUV );
  808. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_SIZE, StarBracketTopSize );
  809. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_OFFSET, StarBracketTopOffset );
  810. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_UV, StarBracketTopUV );
  811. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_ARMED_SIZE, StarBracketTopArmedSize );
  812. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_ARMED_OFFSET,StarBracketTopArmedOffset );
  813. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_ARMED_UV, StarBracketTopArmedUV );
  814. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BAR_SIZE, StarBarSize );
  815. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BAR_OFFSET, StarBarOffset );
  816. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BAR_UV, StarBarUV );
  817. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BAR_END_SIZE, StarBarEndSize );
  818. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BAR_END_OFFSET, StarBarEndOffset );
  819. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_BAR_END_UV, StarBarEndUV );
  820. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_HEALTH_SIZE, StarHealthSize );
  821. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_HEALTH_OFFSET, StarHealthOffset );
  822. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_HEALTH_UV, StarHealthUV );
  823. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_SHIELD_SIZE, StarShieldSize );
  824. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_SHIELD_OFFSET, StarShieldOffset );
  825. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_SHIELD_UV, StarShieldUV );
  826. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_WEAPON_ICON_SIZE, StarWeaponIconSize );
  827. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_STAR_WEAPON_ICON_OFFSET, StarWeaponIconOffset );
  828. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_BRACKET_SIZE, TargetBracketSize );
  829. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_BRACKET_OFFSET, TargetBracketOffset );
  830. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_BRACKET_UV, TargetBracketUV );
  831. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_ICON_SIZE, TargetIconSize );
  832. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_ICON_OFFSET, TargetIconOffset );
  833. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_NAME_BAR_SIZE, TargetNameBarSize );
  834. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_NAME_BAR_OFFSET, TargetNameBarOffset );
  835. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_NAME_BAR_UV, TargetNameBarUV );
  836. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_NAME_OFFSET, TargetNameOffset );
  837. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_BAR_SIZE, TargetBarSize );
  838. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_BAR_OFFSET, TargetBarOffset );
  839. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_BAR_UV, TargetBarUV );
  840. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_BAR_END_SIZE, TargetBarEndSize );
  841. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_BAR_END_OFFSET, TargetBarEndOffset );
  842. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_BAR_END_UV, TargetBarEndUV );
  843. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_HEALTH_SIZE, TargetHealthSize );
  844. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_HEALTH_OFFSET, TargetHealthOffset );
  845. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_HEALTH_UV, TargetHealthUV );
  846. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_SHIELD_SIZE, TargetShieldSize );
  847. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_SHIELD_OFFSET, TargetShieldOffset );
  848. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_TARGET_SHIELD_UV, TargetShieldUV );
  849. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_TEXTURE_SIZE, RadarTextureSize );
  850. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_OFFSET, RadarOffset );
  851. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_RADIUS, RadarRadius );
  852. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_FRAME_SIZE, RadarFrameSize );
  853. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_FRAME_UV, RadarFrameUV );
  854. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_COMPASS_OFFSET, RadarCompassOffset );
  855. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_COMPASS_SIZE, RadarCompassSize );
  856. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_COMPASS_BASE_UV, RadarCompassBaseUV );
  857. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_COMPASS_UV_OFFSET, RadarCompassUVOffset );
  858. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_HUMAN_BLIP_UV, RadarHumanBlipUV );
  859. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_VEHICLE_BLIP_UV, RadarVehicleBlipUV );
  860. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_STATIONARY_BLIP_UV, RadarStationaryBlipUV );
  861. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_OBJECTIVE_BLIP_UV, RadarObjectiveBlipUV );
  862. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_BLIP_BRACKET_UV, RadarBlipBracketUV );
  863. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_SWEEP_UV, RadarSweepUV );
  864. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_ON_SOUND_ID, RadarOnSoundID );
  865. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_RADAR_OFF_SOUND_ID, RadarOffSoundID );
  866. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_TEXTURE_SIZE, SniperTextureSize );
  867. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_VIEW, SniperView );
  868. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_VIEW_UV, SniperViewUV );
  869. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_SCAN_LINE_UV, SniperScanLineUV );
  870. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_BLACK_COVER_UV, SniperBlackCoverUV );
  871. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_TILT_BAR, SniperTiltBar );
  872. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_TILT_BAR_RATE, SniperTiltBarRate );
  873. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_TILT_BAR_UV, SniperTiltBarUV );
  874. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_TURN_BAR, SniperTurnBar );
  875. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_TURN_BAR_RATE, SniperTurnBarRate );
  876. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_TURN_BAR_UV, SniperTurnBarUV );
  877. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_DISTANCE_GRAPH, SniperDistanceGraph );
  878. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_DISTANCE_GRAPH_UV, SniperDistanceGraphUV );
  879. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_DISTANCE_GRAPH_MAX, SniperDistanceGraphMax );
  880. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_ZOOM_GRAPH, SniperZoomGraph );
  881. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_SNIPER_ZOOM_GRAPH_UV, SniperZoomGraphUV );
  882. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_DAMAGE_INDICATOR_UV, DamageIndicatorUV );
  883. WRITE_MICRO_CHUNK( csave, MICROCHUNKID_HUD_DEF_DAMAGE_DIAG_INDICATOR_UV, DamageDiagIndicatorUV );
  884. csave.End_Chunk();
  885. return true;
  886. }
  887. bool HUDGlobalSettingsDef::Load( ChunkLoadClass &cload )
  888. {
  889. while (cload.Open_Chunk()) {
  890. switch(cload.Cur_Chunk_ID()) {
  891. case CHUNKID_HL_DEF_PARENT:
  892. DefinitionClass::Load( cload );
  893. break;
  894. case CHUNKID_HL_DEF_VARIABLES:
  895. while (cload.Open_Micro_Chunk()) {
  896. switch(cload.Cur_Micro_Chunk_ID()) {
  897. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_NOD_COLOR, NodColor );
  898. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_GDI_COLOR, GDIColor );
  899. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_NEUTRAL_COLOR, NeutralColor );
  900. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_MUTANT_COLOR, MutantColor );
  901. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RENEGADE_COLOR, RenegadeColor );
  902. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_PRIMARY_OBJECTIVE_COLOR, PrimaryObjectiveColor );
  903. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SECONDARY_OBJECTIVE_COLOR, SecondaryObjectiveColor );
  904. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TERTIARY_OBJECTIVE_COLOR, TertiaryObjectiveColor );
  905. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_HEALTH_HIGH_COLOR, HealthHighColor );
  906. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_HEALTH_MED_COLOR, HealthMedColor );
  907. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_HEALTH_LOW_COLOR, HealthLowColor );
  908. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_ENEMY_COLOR, EnemyColor );
  909. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_FRIENDLY_COLOR, FriendlyColor );
  910. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_NO_RELATION_COLOR, NoRelationColor );
  911. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_INFO_TEXTURE_SIZE, InfoTextureSize );
  912. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BRACKET_SIZE, StarBracketSize );
  913. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BRACKET_OFFSET, StarBracketOffset );
  914. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BRACKET_UV, StarBracketUV );
  915. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_SIZE, StarBracketTopSize );
  916. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_OFFSET, StarBracketTopOffset );
  917. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_UV, StarBracketTopUV );
  918. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_ARMED_SIZE, StarBracketTopArmedSize );
  919. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_ARMED_OFFSET,StarBracketTopArmedOffset );
  920. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BRACKET_TOP_ARMED_UV, StarBracketTopArmedUV );
  921. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BAR_SIZE, StarBarSize );
  922. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BAR_OFFSET, StarBarOffset );
  923. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BAR_UV, StarBarUV );
  924. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BAR_END_SIZE, StarBarEndSize );
  925. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BAR_END_OFFSET, StarBarEndOffset );
  926. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_BAR_END_UV, StarBarEndUV );
  927. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_HEALTH_SIZE, StarHealthSize );
  928. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_HEALTH_OFFSET, StarHealthOffset );
  929. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_HEALTH_UV, StarHealthUV );
  930. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_SHIELD_SIZE, StarShieldSize );
  931. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_SHIELD_OFFSET, StarShieldOffset );
  932. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_SHIELD_UV, StarShieldUV );
  933. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_WEAPON_ICON_SIZE, StarWeaponIconSize );
  934. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_STAR_WEAPON_ICON_OFFSET, StarWeaponIconOffset );
  935. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_BRACKET_SIZE, TargetBracketSize );
  936. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_BRACKET_OFFSET, TargetBracketOffset );
  937. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_BRACKET_UV, TargetBracketUV );
  938. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_ICON_SIZE, TargetIconSize );
  939. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_ICON_OFFSET, TargetIconOffset );
  940. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_NAME_BAR_SIZE, TargetNameBarSize );
  941. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_NAME_BAR_OFFSET, TargetNameBarOffset );
  942. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_NAME_BAR_UV, TargetNameBarUV );
  943. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_NAME_OFFSET, TargetNameOffset );
  944. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_BAR_SIZE, TargetBarSize );
  945. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_BAR_OFFSET, TargetBarOffset );
  946. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_BAR_UV, TargetBarUV );
  947. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_BAR_END_SIZE, TargetBarEndSize );
  948. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_BAR_END_OFFSET, TargetBarEndOffset );
  949. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_BAR_END_UV, TargetBarEndUV );
  950. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_HEALTH_SIZE, TargetHealthSize );
  951. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_HEALTH_OFFSET, TargetHealthOffset );
  952. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_HEALTH_UV, TargetHealthUV );
  953. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_SHIELD_SIZE, TargetShieldSize );
  954. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_SHIELD_OFFSET, TargetShieldOffset );
  955. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_TARGET_SHIELD_UV, TargetShieldUV );
  956. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_TEXTURE_SIZE, RadarTextureSize );
  957. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_OFFSET, RadarOffset );
  958. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_RADIUS, RadarRadius );
  959. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_FRAME_SIZE, RadarFrameSize );
  960. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_FRAME_UV, RadarFrameUV );
  961. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_COMPASS_OFFSET, RadarCompassOffset );
  962. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_COMPASS_SIZE, RadarCompassSize );
  963. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_COMPASS_BASE_UV, RadarCompassBaseUV );
  964. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_COMPASS_UV_OFFSET, RadarCompassUVOffset );
  965. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_HUMAN_BLIP_UV, RadarHumanBlipUV );
  966. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_VEHICLE_BLIP_UV, RadarVehicleBlipUV );
  967. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_STATIONARY_BLIP_UV, RadarStationaryBlipUV );
  968. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_OBJECTIVE_BLIP_UV, RadarObjectiveBlipUV );
  969. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_BLIP_BRACKET_UV, RadarBlipBracketUV );
  970. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_SWEEP_UV, RadarSweepUV );
  971. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_ON_SOUND_ID, RadarOnSoundID );
  972. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_RADAR_OFF_SOUND_ID, RadarOffSoundID );
  973. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_TEXTURE_SIZE, SniperTextureSize );
  974. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_VIEW, SniperView );
  975. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_VIEW_UV, SniperViewUV );
  976. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_SCAN_LINE_UV, SniperScanLineUV );
  977. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_BLACK_COVER_UV, SniperBlackCoverUV );
  978. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_TILT_BAR, SniperTiltBar );
  979. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_TILT_BAR_RATE, SniperTiltBarRate );
  980. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_TILT_BAR_UV, SniperTiltBarUV );
  981. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_TURN_BAR, SniperTurnBar );
  982. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_TURN_BAR_RATE, SniperTurnBarRate );
  983. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_TURN_BAR_UV, SniperTurnBarUV );
  984. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_DISTANCE_GRAPH, SniperDistanceGraph );
  985. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_DISTANCE_GRAPH_UV, SniperDistanceGraphUV );
  986. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_DISTANCE_GRAPH_MAX, SniperDistanceGraphMax );
  987. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_ZOOM_GRAPH, SniperZoomGraph );
  988. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_SNIPER_ZOOM_GRAPH_UV, SniperZoomGraphUV );
  989. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_DAMAGE_INDICATOR_UV, DamageIndicatorUV );
  990. READ_MICRO_CHUNK( cload, MICROCHUNKID_HUD_DEF_DAMAGE_DIAG_INDICATOR_UV, DamageDiagIndicatorUV );
  991. default:
  992. Debug_Say(("Unhandled Micro Chunk:%d File:%s Line:%d\r\n",cload.Cur_Micro_Chunk_ID(),__FILE__,__LINE__));
  993. break;
  994. }
  995. cload.Close_Micro_Chunk();
  996. }
  997. break;
  998. default:
  999. Debug_Say(("Unhandled Chunk:%d File:%s Line:%d\r\n",cload.Cur_Chunk_ID(),__FILE__,__LINE__));
  1000. break;
  1001. }
  1002. cload.Close_Chunk();
  1003. }
  1004. return true;
  1005. }
  1006. /*
  1007. ** HumanAnimOverrides
  1008. */
  1009. SimplePersistFactoryClass<HumanAnimOverrideDef, CHUNKID_GLOBAL_SETTINGS_DEF_HUMAN_ANIM_OVERRIDE> _HumanAnimOverrideDefPersistFactory;
  1010. DECLARE_DEFINITION_FACTORY(HumanAnimOverrideDef, CLASSID_GLOBAL_SETTINGS_DEF_HUMAN_ANIM_OVERRIDE, "HUMAN_ANIM_OVERRIDE") _HumanAnimOverrideDefDefFactory;
  1011. HumanAnimOverrideDef::HumanAnimOverrideDef( void )
  1012. {
  1013. EDITABLE_PARAM( HumanAnimOverrideDef, ParameterClass::TYPE_STRING, RunEmptyHands );
  1014. EDITABLE_PARAM( HumanAnimOverrideDef, ParameterClass::TYPE_STRING, WalkEmptyHands );
  1015. EDITABLE_PARAM( HumanAnimOverrideDef, ParameterClass::TYPE_STRING, RunAtChest );
  1016. EDITABLE_PARAM( HumanAnimOverrideDef, ParameterClass::TYPE_STRING, WalkAtChest );
  1017. EDITABLE_PARAM( HumanAnimOverrideDef, ParameterClass::TYPE_STRING, RunAtHip );
  1018. EDITABLE_PARAM( HumanAnimOverrideDef, ParameterClass::TYPE_STRING, WalkAtHip );
  1019. }
  1020. uint32 HumanAnimOverrideDef::Get_Class_ID (void) const
  1021. {
  1022. return CLASSID_GLOBAL_SETTINGS_DEF_HUMAN_ANIM_OVERRIDE;
  1023. }
  1024. const PersistFactoryClass & HumanAnimOverrideDef::Get_Factory (void) const
  1025. {
  1026. return _HumanAnimOverrideDefPersistFactory;
  1027. }
  1028. PersistClass * HumanAnimOverrideDef::Create( void ) const
  1029. {
  1030. WWASSERT( 0 );
  1031. return NULL;
  1032. }
  1033. enum {
  1034. CHUNKID_HAO_DEF_PARENT = 726011912,
  1035. CHUNKID_HAO_DEF_VARIABLES,
  1036. MICROCHUNKID_HAO_DEF_RUN_EMPTY_HANDS = 1,
  1037. MICROCHUNKID_HAO_DEF_WALK_EMPTY_HANDS,
  1038. MICROCHUNKID_HAO_DEF_RUN_AT_CHEST,
  1039. MICROCHUNKID_HAO_DEF_WALK_AT_CHEST,
  1040. MICROCHUNKID_HAO_DEF_RUN_AT_HIP,
  1041. MICROCHUNKID_HAO_DEF_WALK_AT_HIP,
  1042. };
  1043. bool HumanAnimOverrideDef::Save( ChunkSaveClass & csave )
  1044. {
  1045. csave.Begin_Chunk( CHUNKID_HAO_DEF_PARENT );
  1046. DefinitionClass::Save( csave );
  1047. csave.End_Chunk();
  1048. csave.Begin_Chunk( CHUNKID_HAO_DEF_VARIABLES );
  1049. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_HAO_DEF_RUN_EMPTY_HANDS, RunEmptyHands );
  1050. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_HAO_DEF_WALK_EMPTY_HANDS, WalkEmptyHands );
  1051. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_HAO_DEF_RUN_AT_CHEST, RunAtChest );
  1052. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_HAO_DEF_WALK_AT_CHEST, WalkAtChest );
  1053. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_HAO_DEF_RUN_AT_HIP, RunAtHip );
  1054. WRITE_MICRO_CHUNK_WWSTRING( csave, MICROCHUNKID_HAO_DEF_WALK_AT_HIP, WalkAtHip );
  1055. csave.End_Chunk();
  1056. return true;
  1057. }
  1058. bool HumanAnimOverrideDef::Load( ChunkLoadClass &cload )
  1059. {
  1060. while (cload.Open_Chunk()) {
  1061. switch(cload.Cur_Chunk_ID()) {
  1062. case CHUNKID_HAO_DEF_PARENT:
  1063. DefinitionClass::Load( cload );
  1064. break;
  1065. case CHUNKID_HAO_DEF_VARIABLES:
  1066. while (cload.Open_Micro_Chunk()) {
  1067. switch(cload.Cur_Micro_Chunk_ID()) {
  1068. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_HAO_DEF_RUN_EMPTY_HANDS, RunEmptyHands );
  1069. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_HAO_DEF_WALK_EMPTY_HANDS, WalkEmptyHands );
  1070. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_HAO_DEF_RUN_AT_CHEST, RunAtChest );
  1071. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_HAO_DEF_WALK_AT_CHEST, WalkAtChest );
  1072. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_HAO_DEF_RUN_AT_HIP, RunAtHip );
  1073. READ_MICRO_CHUNK_WWSTRING( cload, MICROCHUNKID_HAO_DEF_WALK_AT_HIP, WalkAtHip );
  1074. default:
  1075. Debug_Say(("Unhandled Micro Chunk:%d File:%s Line:%d\r\n",cload.Cur_Micro_Chunk_ID(),__FILE__,__LINE__));
  1076. break;
  1077. }
  1078. cload.Close_Micro_Chunk();
  1079. }
  1080. break;
  1081. default:
  1082. Debug_Say(("Unhandled Chunk:%d File:%s Line:%d\r\n",cload.Cur_Chunk_ID(),__FILE__,__LINE__));
  1083. break;
  1084. }
  1085. cload.Close_Chunk();
  1086. }
  1087. return true;
  1088. }