pluginconfigdebugprofile.c 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196
  1. class ScriptConsoleCameraDOFPreset
  2. {
  3. string Name = "New Preset";
  4. float FocusDistance = 1.0;
  5. float FocusLength = 0.0;
  6. float FocusLengthNear = -1.0;
  7. float Blur = 0.0;
  8. float FocusDepthOffset = 1.0;
  9. void ScriptConsoleCameraDOFPreset(string name, float focusDistance, float focusLength, float focusLengthNear, float blur, float focusDepthOffset)
  10. {
  11. Name = name;
  12. FocusDistance = focusDistance;
  13. FocusLength = focusLength;
  14. FocusLengthNear = focusLengthNear;
  15. Blur = blur;
  16. FocusDepthOffset = focusDepthOffset;
  17. }
  18. }
  19. class ScriptConsoleWeatherPreset
  20. {
  21. string Name = "New Preset";
  22. float WOvercast = overcast;
  23. float WRain;
  24. float WSnow;
  25. float WFog;
  26. float WWindMagnitude;
  27. float WWindDir;
  28. float WVolFogDD;
  29. float WVolFogHD;
  30. float WVolFogHB;
  31. void ScriptConsoleWeatherPreset(string name, float overcast, float rain, float snow, float fog, float windMagnitude, float windDir, float volFogDD, float volFogHD, float volFogHB)
  32. {
  33. Name = name;
  34. WOvercast = overcast;
  35. WRain = rain;
  36. WSnow = snow;
  37. WFog = fog;
  38. WWindMagnitude = windMagnitude;
  39. WWindDir = windDir;
  40. WVolFogDD = volFogDD;
  41. WVolFogHD = volFogHD;
  42. WVolFogHB = volFogHB;
  43. }
  44. }
  45. typedef Param3<string, bool, vector> LocationParams;// param1 - name, param2 - isCustom?, param3 - position
  46. class PluginConfigDebugProfile extends PluginConfigHandler
  47. {
  48. protected const string SCENE_DRAW_SELECTION = "scene_editor_draw_selection";
  49. protected const string SCENE_LOAD_PLAYER_POS = "scene_editor_load_player_pos";
  50. protected const string SCENE_ROTATION_ANGLE = "scene_editor_rotation_angle";
  51. protected const string ITEM_TAB_SELECTED = "console_TabSelected";
  52. protected const string PRESET_LIST = "console_presets";
  53. protected const string PRESET_DEFAULT = "console_preset_default";
  54. protected const string ITEM_SEARCH = "console_ItemSearch";
  55. protected const string SPAWN_DISTANCE = "console_SpawnDistance";
  56. protected const string CHAR_STATS_VIS = "console_character_stats_visible";
  57. protected const string CHAR_LEVELS_VIS = "console_character_levels_visible";
  58. protected const string CHAR_MODIFIERS_VIS = "console_character_modifiers_visible";
  59. protected const string CHAR_AGENTS_VIS = "console_character_agents_visible";
  60. protected const string CHAR_DEBUG_VIS = "console_character_debug_visible";
  61. protected const string CHAR_STOMACH_VIS = "console_character_stomach_visible";
  62. protected const string FREE_CAMERA_CROSSHAIR = "console_free_camera_crosshair_visible";
  63. protected const string VERSION_VIS = "console_version_visible";
  64. protected const string MERGE_TYPE = "category_merge_type";
  65. protected const string TEMP_VIS = "console_temperature_visible";
  66. protected const string HEALTH_VIS = "console_health_visible";
  67. protected const string HORTICULTURE_VIS = "console_horticulture_visible";
  68. protected const string SUB_PARAM_ITEM = "item";
  69. protected const string SUB_PARAM_ITEM_NAME = "name";
  70. protected const string SUB_PARAM_ITEM_HEALTH = "health";
  71. protected const string SUB_PARAM_ITEM_QUANTITY = "quantity";
  72. protected const string SUB_PARAM_ITEM_WITH_PHYSICS = "with_physics";
  73. protected const string LOGS_ENABLED = "logs_enabled";
  74. protected const string CONFIG_CLASSES_FLAG = "toggled_config_classes_flag";
  75. protected const string ITEM_CATEGORY_FLAG = "toggled_item_categories_flag";
  76. protected const string ITEM_PREVIEW = "show_item_preview";
  77. protected const string BATCH_RECT = "batch_spawn_rect";
  78. protected const string BATCH_QUANT = "batch_spawn_quantity";
  79. protected const string SOUNDFILTER = "soundset_editbox";
  80. protected const string ITEMDEBUG = "item_debug";
  81. protected const string SPAWN_LOC_INDEX = "spawn_loc_index";
  82. protected const string FILTER_REVERSED = "filter_order_reversed";
  83. protected const string CAMERA_PRESETS_LIST = "camera_presets";
  84. protected const string WEATHER_PRESETS_LIST = "weather_presets";
  85. protected ref map<string, ref CfgParam> m_DefaultValues;
  86. protected ref TStringArray m_PresetList;
  87. protected const string POSITION_NAME_ROOT = "console_positions_";
  88. protected ref array<ref ScriptConsoleCameraDOFPreset> m_CameraPresets;
  89. protected ref array<ref ScriptConsoleWeatherPreset> m_WeatherPresets;
  90. //========================================
  91. // GetInstance
  92. //========================================
  93. static PluginConfigDebugProfile GetInstance()
  94. {
  95. return PluginConfigDebugProfile.Cast( GetPlugin(PluginConfigDebugProfile) );
  96. }
  97. //========================================
  98. // GetCfgParamArray
  99. //========================================
  100. protected CfgParamArray GetNewCfgParamArray( array<ref CfgParam> params )
  101. {
  102. CfgParamArray param = new CfgParamArray( "" );
  103. param.SetParams( params );
  104. return param;
  105. }
  106. //========================================
  107. // GetCfgParamBool
  108. //========================================
  109. protected CfgParamBool GetNewCfgParamBool( bool value )
  110. {
  111. CfgParamBool param = new CfgParamBool( "" );
  112. param.SetValue( value );
  113. return param;
  114. }
  115. //========================================
  116. // GetCfgParamFloat
  117. //========================================
  118. protected CfgParamFloat GetNewCfgParamFloat( float value )
  119. {
  120. CfgParamFloat param = new CfgParamFloat( "" );
  121. param.SetValue( value );
  122. return param;
  123. }
  124. //========================================
  125. // GetCfgParamInt
  126. //========================================
  127. protected CfgParamInt GetNewCfgParamInt( int value )
  128. {
  129. CfgParamInt param = new CfgParamInt( "" );
  130. param.SetValue( value );
  131. return param;
  132. }
  133. //========================================
  134. // GetCfgParamString
  135. //========================================
  136. protected CfgParamString GetNewCfgParamString( string value )
  137. {
  138. CfgParamString param = new CfgParamString( "" );
  139. param.SetValue( value );
  140. return param;
  141. }
  142. //========================================
  143. // Array
  144. //========================================
  145. protected CfgParamArray SetArray( string key, array<ref CfgParam> params )
  146. {
  147. CfgParamArray param = CfgParamArray.Cast( GetParamByName( key, CFG_TYPE_ARRAY ) );
  148. param.SetParams( params );
  149. SaveConfigToFile();
  150. return param;
  151. }
  152. protected array<ref CfgParam> GetArray( string key )
  153. {
  154. if ( ParamExist(key) )
  155. {
  156. CfgParamArray param = CfgParamArray.Cast( GetParamByName( key, CFG_TYPE_ARRAY ) );
  157. return param.GetValues();
  158. }
  159. else
  160. {
  161. if ( m_DefaultValues.Contains(key) )
  162. {
  163. CfgParamArray default_param = CfgParamArray.Cast( m_DefaultValues.Get( key ) );
  164. return SetArray( key, default_param.GetValues() ).GetValues();
  165. }
  166. else
  167. {
  168. return SetArray( key, new array<ref CfgParam> ).GetValues();
  169. }
  170. }
  171. }
  172. //========================================
  173. // Bool
  174. //========================================
  175. protected CfgParamBool SetBool( string key, bool value )
  176. {
  177. CfgParamBool param = CfgParamBool.Cast( GetParamByName( key, CFG_TYPE_BOOL ) );
  178. param.SetValue( value );
  179. SaveConfigToFile();
  180. return param;
  181. }
  182. protected bool GetBool( string key )
  183. {
  184. if ( ParamExist(key) )
  185. {
  186. CfgParamBool param = CfgParamBool.Cast( GetParamByName( key, CFG_TYPE_BOOL ) );
  187. return param.GetValue();
  188. }
  189. else
  190. {
  191. if ( m_DefaultValues.Contains(key) )
  192. {
  193. CfgParamBool default_param = CfgParamBool.Cast( m_DefaultValues.Get( key ) );
  194. return SetBool( key, default_param.GetValue() ).GetValue();
  195. }
  196. else
  197. {
  198. return SetBool( key, false ).GetValue();
  199. }
  200. }
  201. }
  202. //========================================
  203. // Float
  204. //========================================
  205. protected CfgParamFloat SetFloat( string key, float value )
  206. {
  207. CfgParamFloat param = CfgParamFloat.Cast( GetParamByName( key, CFG_TYPE_FLOAT ) );
  208. param.SetValue( value );
  209. SaveConfigToFile();
  210. return param;
  211. }
  212. protected float GetFloat( string key )
  213. {
  214. if ( ParamExist(key) )
  215. {
  216. CfgParamFloat param = CfgParamFloat.Cast( GetParamByName( key, CFG_TYPE_FLOAT ) );
  217. return param.GetValue();
  218. }
  219. else
  220. {
  221. if ( m_DefaultValues.Contains(key) )
  222. {
  223. CfgParamFloat default_param = CfgParamFloat.Cast( m_DefaultValues.Get( key ) );
  224. return SetFloat( key, default_param.GetValue() ).GetValue();
  225. }
  226. else
  227. {
  228. return SetFloat( key, 0.0 ).GetValue();
  229. }
  230. }
  231. }
  232. //========================================
  233. // Int
  234. //========================================
  235. protected CfgParamInt SetInt( string key, int value )
  236. {
  237. CfgParamInt param = CfgParamInt.Cast( GetParamByName( key, CFG_TYPE_INT ) );
  238. param.SetValue( value );
  239. SaveConfigToFile();
  240. return param;
  241. }
  242. protected int GetInt( string key )
  243. {
  244. if ( ParamExist(key) )
  245. {
  246. CfgParamInt param = CfgParamInt.Cast( GetParamByName( key, CFG_TYPE_INT ) );
  247. return param.GetValue();
  248. }
  249. else
  250. {
  251. if ( m_DefaultValues.Contains(key) )
  252. {
  253. CfgParamInt default_param = CfgParamInt.Cast( m_DefaultValues.Get( key ) );
  254. return SetInt( key, default_param.GetValue() ).GetValue();
  255. }
  256. else
  257. {
  258. return SetInt( key, 0 ).GetValue();
  259. }
  260. }
  261. }
  262. //========================================
  263. // String
  264. //========================================
  265. protected CfgParamString SetString( string key, string value )
  266. {
  267. CfgParamString param = CfgParamString.Cast( GetParamByName( key, CFG_TYPE_STRING ) );
  268. if(param)
  269. {
  270. param.SetValue( value );
  271. SaveConfigToFile();
  272. }
  273. return param;
  274. }
  275. protected string GetString( string key )
  276. {
  277. CfgParamString param = CfgParamString.Cast( GetParamByName( key, CFG_TYPE_STRING ) );
  278. if ( param && param.GetValue() != STRING_EMPTY )
  279. {
  280. return param.GetValue();
  281. }
  282. else
  283. {
  284. if ( m_DefaultValues.Contains(key) )
  285. {
  286. CfgParamString default_param = CfgParamString.Cast( m_DefaultValues.Get( key ) );
  287. CfgParamString param_string = SetString( key, default_param.GetValue() );
  288. if(param_string)
  289. return param_string.GetValue();
  290. }
  291. else
  292. {
  293. return SetString( key, "" ).GetValue();
  294. }
  295. }
  296. return "";
  297. }
  298. protected void GetSubParametersInStringArray( string setting_name, string sub_param_name, out TStringArray arr )
  299. {
  300. array<ref CfgParam> items = GetArray( setting_name );
  301. for ( int i = 0; i < items.Count(); i++ )
  302. {
  303. CfgParamArray items_array = CfgParamArray.Cast( items.Get(i) );
  304. array<ref CfgParam> item_params = items_array.GetValues();
  305. for ( int j = 0; j < item_params.Count(); j++ )
  306. {
  307. if ( item_params.Get(j).GetName() == sub_param_name )
  308. {
  309. CfgParamString param_string = CfgParamString.Cast( item_params.Get( j ) );
  310. arr.Insert( param_string.GetValue() );
  311. }
  312. }
  313. }
  314. }
  315. //========================================
  316. // PluginConfigDebugProfile
  317. //========================================
  318. void PluginConfigDebugProfile()
  319. {
  320. m_DefaultValues = new map<string, ref CfgParam>;
  321. m_DefaultValues.Insert(SCENE_DRAW_SELECTION, GetNewCfgParamBool(true) );
  322. m_DefaultValues.Insert(SCENE_LOAD_PLAYER_POS, GetNewCfgParamBool(true) );
  323. m_DefaultValues.Insert(SCENE_ROTATION_ANGLE, GetNewCfgParamInt(15) );
  324. m_DefaultValues.Insert(ITEM_TAB_SELECTED, GetNewCfgParamInt(0) );
  325. m_DefaultValues.Insert(PRESET_DEFAULT, GetNewCfgParamString("") );
  326. m_DefaultValues.Insert(ITEM_SEARCH, GetNewCfgParamString("") );
  327. m_DefaultValues.Insert(SPAWN_DISTANCE, GetNewCfgParamFloat(0.0) );
  328. m_DefaultValues.Insert(LOGS_ENABLED, GetNewCfgParamBool(true) );
  329. m_DefaultValues.Insert(CHAR_STATS_VIS, GetNewCfgParamBool(false) );
  330. m_DefaultValues.Insert(CHAR_LEVELS_VIS, GetNewCfgParamBool(false) );
  331. m_DefaultValues.Insert(CHAR_MODIFIERS_VIS, GetNewCfgParamBool(false) );
  332. m_DefaultValues.Insert(CHAR_AGENTS_VIS, GetNewCfgParamBool(false) );
  333. m_DefaultValues.Insert(CHAR_DEBUG_VIS, GetNewCfgParamBool(false) );
  334. m_DefaultValues.Insert(FREE_CAMERA_CROSSHAIR, GetNewCfgParamBool(true) );
  335. m_DefaultValues.Insert(VERSION_VIS, GetNewCfgParamBool(true) );
  336. m_DefaultValues.Insert(CONFIG_CLASSES_FLAG, GetNewCfgParamInt(15) );
  337. m_DefaultValues.Insert(TEMP_VIS, GetNewCfgParamBool(false) );
  338. m_DefaultValues.Insert(HEALTH_VIS, GetNewCfgParamBool(false) );
  339. m_DefaultValues.Insert(HORTICULTURE_VIS, GetNewCfgParamBool(false) );
  340. m_DefaultValues.Insert(MERGE_TYPE, GetNewCfgParamBool(false) );
  341. m_DefaultValues.Insert(ITEM_PREVIEW, GetNewCfgParamBool(true) );
  342. m_DefaultValues.Insert(BATCH_RECT, GetNewCfgParamArray(GetDefaultBatchRectParams()) );
  343. m_DefaultValues.Insert(BATCH_QUANT, GetNewCfgParamInt(10) );
  344. m_DefaultValues.Insert(SOUNDFILTER, GetNewCfgParamString("") );
  345. m_DefaultValues.Insert(ITEMDEBUG, GetNewCfgParamString("0 0 0") );
  346. m_DefaultValues.Insert(SPAWN_LOC_INDEX, GetNewCfgParamInt(0));
  347. m_DefaultValues.Insert(FILTER_REVERSED, GetNewCfgParamBool(false));
  348. m_DefaultValues.Insert(CAMERA_PRESETS_LIST, GetNewCfgParamArray(GetDefaultCameraPresetsParams()));
  349. m_DefaultValues.Insert(WEATHER_PRESETS_LIST, GetNewCfgParamArray(GetDefaultWeatherPresetsParams()));
  350. }
  351. array<ref CfgParam> GetDefaultBatchRectParams()
  352. {
  353. array<ref CfgParam> params = new array<ref CfgParam>;
  354. CfgParamInt param1 = new CfgParamInt("");
  355. param1.SetValue(5);
  356. CfgParamInt param2 = new CfgParamInt("");
  357. param2.SetValue(5);
  358. CfgParamFloat param3 = new CfgParamFloat("");
  359. param3.SetValue(1.0);
  360. CfgParamFloat param4 = new CfgParamFloat("");
  361. param4.SetValue(1.0);
  362. params.Insert(param1);
  363. params.Insert(param2);
  364. params.Insert(param3);
  365. params.Insert(param4);
  366. return params;
  367. }
  368. array<ref CfgParam> GetDefaultCameraPresetsParams()
  369. {
  370. array<ref CfgParam> params = new array<ref CfgParam>;
  371. CfgParamArray presetParam;
  372. CfgParamString paramName;
  373. CfgParamFloat paramFocusDistance, paramFocusLength, paramFocusLengthNear, paramBlur, paramFocusDepthOffset;
  374. // 50m distance DOF (Buildings / action)
  375. presetParam = new CfgParamArray("");
  376. paramName = new CfgParamString("Name");
  377. paramName.SetValue("50m distance DOF (Buildings / action)");
  378. paramFocusDistance = new CfgParamFloat("FocusDistance");
  379. paramFocusDistance.SetValue(50.0);
  380. paramFocusLength = new CfgParamFloat("FocusLength");
  381. paramFocusLength.SetValue(2450.0);
  382. paramFocusLengthNear = new CfgParamFloat("FocusLengthNear");
  383. paramFocusLengthNear.SetValue(750.0);
  384. paramBlur = new CfgParamFloat("Blur");
  385. paramBlur.SetValue(4.0);
  386. paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset");
  387. paramFocusDepthOffset.SetValue(8.0);
  388. presetParam.InsertValue(paramName);
  389. presetParam.InsertValue(paramFocusDistance);
  390. presetParam.InsertValue(paramFocusLength);
  391. presetParam.InsertValue(paramFocusLengthNear);
  392. presetParam.InsertValue(paramBlur);
  393. presetParam.InsertValue(paramFocusDepthOffset);
  394. params.Insert(presetParam);
  395. // 15m distance soft blur (close objects are blurred)
  396. presetParam = new CfgParamArray("");
  397. paramName = new CfgParamString("Name");
  398. paramName.SetValue("15m distance soft blur (close objects are blurred)");
  399. paramFocusDistance = new CfgParamFloat("FocusDistance");
  400. paramFocusDistance.SetValue(15.0);
  401. paramFocusLength = new CfgParamFloat("FocusLength");
  402. paramFocusLength.SetValue(1050.0);
  403. paramFocusLengthNear = new CfgParamFloat("FocusLengthNear");
  404. paramFocusLengthNear.SetValue(500.0);
  405. paramBlur = new CfgParamFloat("Blur");
  406. paramBlur.SetValue(4.0);
  407. paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset");
  408. paramFocusDepthOffset.SetValue(10.0);
  409. presetParam.InsertValue(paramName);
  410. presetParam.InsertValue(paramFocusDistance);
  411. presetParam.InsertValue(paramFocusLength);
  412. presetParam.InsertValue(paramFocusLengthNear);
  413. presetParam.InsertValue(paramBlur);
  414. presetParam.InsertValue(paramFocusDepthOffset);
  415. params.Insert(presetParam);
  416. // Full Body Character
  417. presetParam = new CfgParamArray("");
  418. paramName = new CfgParamString("Name");
  419. paramName.SetValue("Full Body Character");
  420. paramFocusDistance = new CfgParamFloat("FocusDistance");
  421. paramFocusDistance.SetValue(5.0);
  422. paramFocusLength = new CfgParamFloat("FocusLength");
  423. paramFocusLength.SetValue(1050.0);
  424. paramFocusLengthNear = new CfgParamFloat("FocusLengthNear");
  425. paramFocusLengthNear.SetValue(100.0);
  426. paramBlur = new CfgParamFloat("Blur");
  427. paramBlur.SetValue(4.0);
  428. paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset");
  429. paramFocusDepthOffset.SetValue(10.0);
  430. presetParam.InsertValue(paramName);
  431. presetParam.InsertValue(paramFocusDistance);
  432. presetParam.InsertValue(paramFocusLength);
  433. presetParam.InsertValue(paramFocusLengthNear);
  434. presetParam.InsertValue(paramBlur);
  435. presetParam.InsertValue(paramFocusDepthOffset);
  436. params.Insert(presetParam);
  437. // Close up
  438. presetParam = new CfgParamArray("");
  439. paramName = new CfgParamString("Name");
  440. paramName.SetValue("Close up");
  441. paramFocusDistance = new CfgParamFloat("FocusDistance");
  442. paramFocusDistance.SetValue(1.0);
  443. paramFocusLength = new CfgParamFloat("FocusLength");
  444. paramFocusLength.SetValue(450.0);
  445. paramFocusLengthNear = new CfgParamFloat("FocusLengthNear");
  446. paramFocusLengthNear.SetValue(100.0);
  447. paramBlur = new CfgParamFloat("Blur");
  448. paramBlur.SetValue(4.0);
  449. paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset");
  450. paramFocusDepthOffset.SetValue(10.0);
  451. presetParam.InsertValue(paramName);
  452. presetParam.InsertValue(paramFocusDistance);
  453. presetParam.InsertValue(paramFocusLength);
  454. presetParam.InsertValue(paramFocusLengthNear);
  455. presetParam.InsertValue(paramBlur);
  456. presetParam.InsertValue(paramFocusDepthOffset);
  457. params.Insert(presetParam);
  458. // NEW Close up
  459. presetParam = new CfgParamArray("");
  460. paramName = new CfgParamString("Name");
  461. paramName.SetValue("NEW Close up");
  462. paramFocusDistance = new CfgParamFloat("FocusDistance");
  463. paramFocusDistance.SetValue(2.0);
  464. paramFocusLength = new CfgParamFloat("FocusLength");
  465. paramFocusLength.SetValue(750.0);
  466. paramFocusLengthNear = new CfgParamFloat("FocusLengthNear");
  467. paramFocusLengthNear.SetValue(500.0);
  468. paramBlur = new CfgParamFloat("Blur");
  469. paramBlur.SetValue(4.0);
  470. paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset");
  471. paramFocusDepthOffset.SetValue(10.0);
  472. presetParam.InsertValue(paramName);
  473. presetParam.InsertValue(paramFocusDistance);
  474. presetParam.InsertValue(paramFocusLength);
  475. presetParam.InsertValue(paramFocusLengthNear);
  476. presetParam.InsertValue(paramBlur);
  477. presetParam.InsertValue(paramFocusDepthOffset);
  478. params.Insert(presetParam);
  479. return params;
  480. }
  481. array<ref CfgParam> GetDefaultWeatherPresetsParams()
  482. {
  483. array<ref CfgParam> params = new array<ref CfgParam>;
  484. CfgParamArray presetParam;
  485. CfgParamString paramName;
  486. CfgParamFloat paramOvercast, paramRain, paramSnow, paramFog, paramWindMagnitude, paramWindDirection, paramVolFogDD, paramVolFogHD, paramVolFogHB;
  487. // Chernarus - Clear
  488. presetParam = new CfgParamArray("");
  489. paramName = new CfgParamString("Name");
  490. paramName.SetValue("Chernarus - Clear");
  491. paramOvercast = new CfgParamFloat("Overcast");
  492. paramOvercast.SetValue(0);
  493. paramRain = new CfgParamFloat("Rain");
  494. paramRain.SetValue(0);
  495. paramSnow = new CfgParamFloat("Snow");
  496. paramSnow.SetValue(0);
  497. paramFog = new CfgParamFloat("Fog");
  498. paramFog.SetValue(0.04);
  499. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  500. paramWindMagnitude.SetValue(10);
  501. paramWindDirection = new CfgParamFloat("WindDirection");
  502. paramWindDirection.SetValue(-1);
  503. paramVolFogDD = new CfgParamFloat("VolFogDD");
  504. paramVolFogDD.SetValue(0.005);
  505. paramVolFogHD = new CfgParamFloat("VolFogHD");
  506. paramVolFogHD.SetValue(0.9);
  507. paramVolFogHB = new CfgParamFloat("VolFogHB");
  508. paramVolFogHB.SetValue(50);
  509. presetParam.InsertValue(paramName);
  510. presetParam.InsertValue(paramOvercast);
  511. presetParam.InsertValue(paramRain);
  512. presetParam.InsertValue(paramSnow);
  513. presetParam.InsertValue(paramFog);
  514. presetParam.InsertValue(paramWindMagnitude);
  515. presetParam.InsertValue(paramWindDirection);
  516. presetParam.InsertValue(paramVolFogDD);
  517. presetParam.InsertValue(paramVolFogHD);
  518. presetParam.InsertValue(paramVolFogHB);
  519. params.Insert(presetParam);
  520. // Chernarus - Cloudy
  521. presetParam = new CfgParamArray("");
  522. paramName = new CfgParamString("Name");
  523. paramName.SetValue("Chernarus - Cloudy");
  524. paramOvercast = new CfgParamFloat("Overcast");
  525. paramOvercast.SetValue(0.4);
  526. paramRain = new CfgParamFloat("Rain");
  527. paramRain.SetValue(0);
  528. paramSnow = new CfgParamFloat("Snow");
  529. paramSnow.SetValue(0);
  530. paramFog = new CfgParamFloat("Fog");
  531. paramFog.SetValue(0.04);
  532. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  533. paramWindMagnitude.SetValue(10);
  534. paramWindDirection = new CfgParamFloat("WindDirection");
  535. paramWindDirection.SetValue(-2.2);
  536. paramVolFogDD = new CfgParamFloat("VolFogDD");
  537. paramVolFogDD.SetValue(0.013);
  538. paramVolFogHD = new CfgParamFloat("VolFogHD");
  539. paramVolFogHD.SetValue(0.94);
  540. paramVolFogHB = new CfgParamFloat("VolFogHB");
  541. paramVolFogHB.SetValue(50);
  542. presetParam.InsertValue(paramName);
  543. presetParam.InsertValue(paramOvercast);
  544. presetParam.InsertValue(paramRain);
  545. presetParam.InsertValue(paramSnow);
  546. presetParam.InsertValue(paramFog);
  547. presetParam.InsertValue(paramWindMagnitude);
  548. presetParam.InsertValue(paramWindDirection);
  549. presetParam.InsertValue(paramVolFogDD);
  550. presetParam.InsertValue(paramVolFogHD);
  551. presetParam.InsertValue(paramVolFogHB);
  552. params.Insert(presetParam);
  553. // Chernarus - Bad
  554. presetParam = new CfgParamArray("");
  555. paramName = new CfgParamString("Name");
  556. paramName.SetValue("Chernarus - Bad");
  557. paramOvercast = new CfgParamFloat("Overcast");
  558. paramOvercast.SetValue(0.7);
  559. paramRain = new CfgParamFloat("Rain");
  560. paramRain.SetValue(0.3);
  561. paramSnow = new CfgParamFloat("Snow");
  562. paramSnow.SetValue(0);
  563. paramFog = new CfgParamFloat("Fog");
  564. paramFog.SetValue(0.04);
  565. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  566. paramWindMagnitude.SetValue(12);
  567. paramWindDirection = new CfgParamFloat("WindDirection");
  568. paramWindDirection.SetValue(1.5);
  569. paramVolFogDD = new CfgParamFloat("VolFogDD");
  570. paramVolFogDD.SetValue(0.015);
  571. paramVolFogHD = new CfgParamFloat("VolFogHD");
  572. paramVolFogHD.SetValue(0.97);
  573. paramVolFogHB = new CfgParamFloat("VolFogHB");
  574. paramVolFogHB.SetValue(50);
  575. presetParam.InsertValue(paramName);
  576. presetParam.InsertValue(paramOvercast);
  577. presetParam.InsertValue(paramRain);
  578. presetParam.InsertValue(paramSnow);
  579. presetParam.InsertValue(paramFog);
  580. presetParam.InsertValue(paramWindMagnitude);
  581. presetParam.InsertValue(paramWindDirection);
  582. presetParam.InsertValue(paramVolFogDD);
  583. presetParam.InsertValue(paramVolFogHD);
  584. presetParam.InsertValue(paramVolFogHB);
  585. params.Insert(presetParam);
  586. // Chernarus - Storm
  587. presetParam = new CfgParamArray("");
  588. paramName = new CfgParamString("Name");
  589. paramName.SetValue("Chernarus - Storm");
  590. paramOvercast = new CfgParamFloat("Overcast");
  591. paramOvercast.SetValue(0.9);
  592. paramRain = new CfgParamFloat("Rain");
  593. paramRain.SetValue(0.55);
  594. paramSnow = new CfgParamFloat("Snow");
  595. paramSnow.SetValue(0);
  596. paramFog = new CfgParamFloat("Fog");
  597. paramFog.SetValue(0.04);
  598. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  599. paramWindMagnitude.SetValue(15);
  600. paramWindDirection = new CfgParamFloat("WindDirection");
  601. paramWindDirection.SetValue(1.2);
  602. paramVolFogDD = new CfgParamFloat("VolFogDD");
  603. paramVolFogDD.SetValue(0.011);
  604. paramVolFogHD = new CfgParamFloat("VolFogHD");
  605. paramVolFogHD.SetValue(0.99);
  606. paramVolFogHB = new CfgParamFloat("VolFogHB");
  607. paramVolFogHB.SetValue(50);
  608. presetParam.InsertValue(paramName);
  609. presetParam.InsertValue(paramOvercast);
  610. presetParam.InsertValue(paramRain);
  611. presetParam.InsertValue(paramSnow);
  612. presetParam.InsertValue(paramFog);
  613. presetParam.InsertValue(paramWindMagnitude);
  614. presetParam.InsertValue(paramWindDirection);
  615. presetParam.InsertValue(paramVolFogDD);
  616. presetParam.InsertValue(paramVolFogHD);
  617. presetParam.InsertValue(paramVolFogHB);
  618. params.Insert(presetParam);
  619. // Chernarus - Heavy Storm
  620. presetParam = new CfgParamArray("");
  621. paramName = new CfgParamString("Name");
  622. paramName.SetValue("Chernarus - Heavy Storm");
  623. paramOvercast = new CfgParamFloat("Overcast");
  624. paramOvercast.SetValue(1);
  625. paramRain = new CfgParamFloat("Rain");
  626. paramRain.SetValue(0.9);
  627. paramSnow = new CfgParamFloat("Snow");
  628. paramSnow.SetValue(0);
  629. paramFog = new CfgParamFloat("Fog");
  630. paramFog.SetValue(0.04);
  631. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  632. paramWindMagnitude.SetValue(17);
  633. paramWindDirection = new CfgParamFloat("WindDirection");
  634. paramWindDirection.SetValue(1.2);
  635. paramVolFogDD = new CfgParamFloat("VolFogDD");
  636. paramVolFogDD.SetValue(0.007);
  637. paramVolFogHD = new CfgParamFloat("VolFogHD");
  638. paramVolFogHD.SetValue(1);
  639. paramVolFogHB = new CfgParamFloat("VolFogHB");
  640. paramVolFogHB.SetValue(50);
  641. presetParam.InsertValue(paramName);
  642. presetParam.InsertValue(paramOvercast);
  643. presetParam.InsertValue(paramRain);
  644. presetParam.InsertValue(paramSnow);
  645. presetParam.InsertValue(paramFog);
  646. presetParam.InsertValue(paramWindMagnitude);
  647. presetParam.InsertValue(paramWindDirection);
  648. presetParam.InsertValue(paramVolFogDD);
  649. presetParam.InsertValue(paramVolFogHD);
  650. presetParam.InsertValue(paramVolFogHB);
  651. params.Insert(presetParam);
  652. //------------------------------------------------------------------------
  653. // Livonia - Clear
  654. presetParam = new CfgParamArray("");
  655. paramName = new CfgParamString("Name");
  656. paramName.SetValue("Livonia - Clear");
  657. paramOvercast = new CfgParamFloat("Overcast");
  658. paramOvercast.SetValue(0);
  659. paramRain = new CfgParamFloat("Rain");
  660. paramRain.SetValue(0);
  661. paramSnow = new CfgParamFloat("Snow");
  662. paramSnow.SetValue(0);
  663. paramFog = new CfgParamFloat("Fog");
  664. paramFog.SetValue(0.1);
  665. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  666. paramWindMagnitude.SetValue(3);
  667. paramWindDirection = new CfgParamFloat("WindDirection");
  668. paramWindDirection.SetValue(-2);
  669. paramVolFogDD = new CfgParamFloat("VolFogDD");
  670. paramVolFogDD.SetValue(0.012);
  671. paramVolFogHD = new CfgParamFloat("VolFogHD");
  672. paramVolFogHD.SetValue(0.91);
  673. paramVolFogHB = new CfgParamFloat("VolFogHB");
  674. paramVolFogHB.SetValue(170);
  675. presetParam.InsertValue(paramName);
  676. presetParam.InsertValue(paramOvercast);
  677. presetParam.InsertValue(paramRain);
  678. presetParam.InsertValue(paramSnow);
  679. presetParam.InsertValue(paramFog);
  680. presetParam.InsertValue(paramWindMagnitude);
  681. presetParam.InsertValue(paramWindDirection);
  682. presetParam.InsertValue(paramVolFogDD);
  683. presetParam.InsertValue(paramVolFogHD);
  684. presetParam.InsertValue(paramVolFogHB);
  685. params.Insert(presetParam);
  686. // Livonia - Cloudy
  687. presetParam = new CfgParamArray("");
  688. paramName = new CfgParamString("Name");
  689. paramName.SetValue("Livonia - Cloudy");
  690. paramOvercast = new CfgParamFloat("Overcast");
  691. paramOvercast.SetValue(0.4);
  692. paramRain = new CfgParamFloat("Rain");
  693. paramRain.SetValue(0);
  694. paramSnow = new CfgParamFloat("Snow");
  695. paramSnow.SetValue(0);
  696. paramFog = new CfgParamFloat("Fog");
  697. paramFog.SetValue(0.1);
  698. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  699. paramWindMagnitude.SetValue(9);
  700. paramWindDirection = new CfgParamFloat("WindDirection");
  701. paramWindDirection.SetValue(-1.2);
  702. paramVolFogDD = new CfgParamFloat("VolFogDD");
  703. paramVolFogDD.SetValue(0.14);
  704. paramVolFogHD = new CfgParamFloat("VolFogHD");
  705. paramVolFogHD.SetValue(0.94);
  706. paramVolFogHB = new CfgParamFloat("VolFogHB");
  707. paramVolFogHB.SetValue(170);
  708. presetParam.InsertValue(paramName);
  709. presetParam.InsertValue(paramOvercast);
  710. presetParam.InsertValue(paramRain);
  711. presetParam.InsertValue(paramSnow);
  712. presetParam.InsertValue(paramFog);
  713. presetParam.InsertValue(paramWindMagnitude);
  714. presetParam.InsertValue(paramWindDirection);
  715. presetParam.InsertValue(paramVolFogDD);
  716. presetParam.InsertValue(paramVolFogHD);
  717. presetParam.InsertValue(paramVolFogHB);
  718. params.Insert(presetParam);
  719. // Livonia - Bad
  720. presetParam = new CfgParamArray("");
  721. paramName = new CfgParamString("Name");
  722. paramName.SetValue("Livonia - Bad");
  723. paramOvercast = new CfgParamFloat("Overcast");
  724. paramOvercast.SetValue(0.7);
  725. paramRain = new CfgParamFloat("Rain");
  726. paramRain.SetValue(0.3);
  727. paramSnow = new CfgParamFloat("Snow");
  728. paramSnow.SetValue(0);
  729. paramFog = new CfgParamFloat("Fog");
  730. paramFog.SetValue(0.1);
  731. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  732. paramWindMagnitude.SetValue(10);
  733. paramWindDirection = new CfgParamFloat("WindDirection");
  734. paramWindDirection.SetValue(-0.3);
  735. paramVolFogDD = new CfgParamFloat("VolFogDD");
  736. paramVolFogDD.SetValue(0.019);
  737. paramVolFogHD = new CfgParamFloat("VolFogHD");
  738. paramVolFogHD.SetValue(0.97);
  739. paramVolFogHB = new CfgParamFloat("VolFogHB");
  740. paramVolFogHB.SetValue(170);
  741. presetParam.InsertValue(paramName);
  742. presetParam.InsertValue(paramOvercast);
  743. presetParam.InsertValue(paramRain);
  744. presetParam.InsertValue(paramSnow);
  745. presetParam.InsertValue(paramFog);
  746. presetParam.InsertValue(paramWindMagnitude);
  747. presetParam.InsertValue(paramWindDirection);
  748. presetParam.InsertValue(paramVolFogDD);
  749. presetParam.InsertValue(paramVolFogHD);
  750. presetParam.InsertValue(paramVolFogHB);
  751. params.Insert(presetParam);
  752. // Livonia - Storm
  753. presetParam = new CfgParamArray("");
  754. paramName = new CfgParamString("Name");
  755. paramName.SetValue("Livonia - Storm");
  756. paramOvercast = new CfgParamFloat("Overcast");
  757. paramOvercast.SetValue(0.85);
  758. paramRain = new CfgParamFloat("Rain");
  759. paramRain.SetValue(0.55);
  760. paramSnow = new CfgParamFloat("Snow");
  761. paramSnow.SetValue(0);
  762. paramFog = new CfgParamFloat("Fog");
  763. paramFog.SetValue(0.1);
  764. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  765. paramWindMagnitude.SetValue(12);
  766. paramWindDirection = new CfgParamFloat("WindDirection");
  767. paramWindDirection.SetValue(0);
  768. paramVolFogDD = new CfgParamFloat("VolFogDD");
  769. paramVolFogDD.SetValue(0.018);
  770. paramVolFogHD = new CfgParamFloat("VolFogHD");
  771. paramVolFogHD.SetValue(0.985);
  772. paramVolFogHB = new CfgParamFloat("VolFogHB");
  773. paramVolFogHB.SetValue(170);
  774. presetParam.InsertValue(paramName);
  775. presetParam.InsertValue(paramOvercast);
  776. presetParam.InsertValue(paramRain);
  777. presetParam.InsertValue(paramSnow);
  778. presetParam.InsertValue(paramFog);
  779. presetParam.InsertValue(paramWindMagnitude);
  780. presetParam.InsertValue(paramWindDirection);
  781. presetParam.InsertValue(paramVolFogDD);
  782. presetParam.InsertValue(paramVolFogHD);
  783. presetParam.InsertValue(paramVolFogHB);
  784. params.Insert(presetParam);
  785. // Livonia - Heavy Storm
  786. presetParam = new CfgParamArray("");
  787. paramName = new CfgParamString("Name");
  788. paramName.SetValue("Livonia - Heavy Storm");
  789. paramOvercast = new CfgParamFloat("Overcast");
  790. paramOvercast.SetValue(1);
  791. paramRain = new CfgParamFloat("Rain");
  792. paramRain.SetValue(0.9);
  793. paramSnow = new CfgParamFloat("Snow");
  794. paramSnow.SetValue(0);
  795. paramFog = new CfgParamFloat("Fog");
  796. paramFog.SetValue(0.1);
  797. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  798. paramWindMagnitude.SetValue(18);
  799. paramWindDirection = new CfgParamFloat("WindDirection");
  800. paramWindDirection.SetValue(0.6);
  801. paramVolFogDD = new CfgParamFloat("VolFogDD");
  802. paramVolFogDD.SetValue(0.005);
  803. paramVolFogHD = new CfgParamFloat("VolFogHD");
  804. paramVolFogHD.SetValue(1);
  805. paramVolFogHB = new CfgParamFloat("VolFogHB");
  806. paramVolFogHB.SetValue(170);
  807. presetParam.InsertValue(paramName);
  808. presetParam.InsertValue(paramOvercast);
  809. presetParam.InsertValue(paramRain);
  810. presetParam.InsertValue(paramSnow);
  811. presetParam.InsertValue(paramFog);
  812. presetParam.InsertValue(paramWindMagnitude);
  813. presetParam.InsertValue(paramWindDirection);
  814. presetParam.InsertValue(paramVolFogDD);
  815. presetParam.InsertValue(paramVolFogHD);
  816. presetParam.InsertValue(paramVolFogHB);
  817. params.Insert(presetParam);
  818. //------------------------------------------------------------------------
  819. // Sakhal - Clear
  820. presetParam = new CfgParamArray("");
  821. paramName = new CfgParamString("Name");
  822. paramName.SetValue("Sakhal - Clear");
  823. paramOvercast = new CfgParamFloat("Overcast");
  824. paramOvercast.SetValue(0.07);
  825. paramRain = new CfgParamFloat("Rain");
  826. paramRain.SetValue(0);
  827. paramSnow = new CfgParamFloat("Snow");
  828. paramSnow.SetValue(0);
  829. paramFog = new CfgParamFloat("Fog");
  830. paramFog.SetValue(0);
  831. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  832. paramWindMagnitude.SetValue(2);
  833. paramWindDirection = new CfgParamFloat("WindDirection");
  834. paramWindDirection.SetValue(0);
  835. paramVolFogDD = new CfgParamFloat("VolFogDD");
  836. paramVolFogDD.SetValue(0.002);
  837. paramVolFogHD = new CfgParamFloat("VolFogHD");
  838. paramVolFogHD.SetValue(1);
  839. paramVolFogHB = new CfgParamFloat("VolFogHB");
  840. paramVolFogHB.SetValue(0);
  841. presetParam.InsertValue(paramName);
  842. presetParam.InsertValue(paramOvercast);
  843. presetParam.InsertValue(paramRain);
  844. presetParam.InsertValue(paramSnow);
  845. presetParam.InsertValue(paramFog);
  846. presetParam.InsertValue(paramWindMagnitude);
  847. presetParam.InsertValue(paramWindDirection);
  848. presetParam.InsertValue(paramVolFogDD);
  849. presetParam.InsertValue(paramVolFogHD);
  850. presetParam.InsertValue(paramVolFogHB);
  851. params.Insert(presetParam);
  852. // Sakhal - Cloudy
  853. presetParam = new CfgParamArray("");
  854. paramName = new CfgParamString("Name");
  855. paramName.SetValue("Sakhal - Cloudy");
  856. paramOvercast = new CfgParamFloat("Overcast");
  857. paramOvercast.SetValue(0.4);
  858. paramRain = new CfgParamFloat("Rain");
  859. paramRain.SetValue(0);
  860. paramSnow = new CfgParamFloat("Snow");
  861. paramSnow.SetValue(0.35);
  862. paramFog = new CfgParamFloat("Fog");
  863. paramFog.SetValue(0);
  864. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  865. paramWindMagnitude.SetValue(9);
  866. paramWindDirection = new CfgParamFloat("WindDirection");
  867. paramWindDirection.SetValue(1.1);
  868. paramVolFogDD = new CfgParamFloat("VolFogDD");
  869. paramVolFogDD.SetValue(0.058);
  870. paramVolFogHD = new CfgParamFloat("VolFogHD");
  871. paramVolFogHD.SetValue(1);
  872. paramVolFogHB = new CfgParamFloat("VolFogHB");
  873. paramVolFogHB.SetValue(0);
  874. presetParam.InsertValue(paramName);
  875. presetParam.InsertValue(paramOvercast);
  876. presetParam.InsertValue(paramRain);
  877. presetParam.InsertValue(paramSnow);
  878. presetParam.InsertValue(paramFog);
  879. presetParam.InsertValue(paramWindMagnitude);
  880. presetParam.InsertValue(paramWindDirection);
  881. presetParam.InsertValue(paramVolFogDD);
  882. presetParam.InsertValue(paramVolFogHD);
  883. presetParam.InsertValue(paramVolFogHB);
  884. params.Insert(presetParam);
  885. // Sakhal - Bad
  886. presetParam = new CfgParamArray("");
  887. paramName = new CfgParamString("Name");
  888. paramName.SetValue("Sakhal - Bad");
  889. paramOvercast = new CfgParamFloat("Overcast");
  890. paramOvercast.SetValue(0.7);
  891. paramRain = new CfgParamFloat("Rain");
  892. paramRain.SetValue(0);
  893. paramSnow = new CfgParamFloat("Snow");
  894. paramSnow.SetValue(0.65);
  895. paramFog = new CfgParamFloat("Fog");
  896. paramFog.SetValue(0);
  897. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  898. paramWindMagnitude.SetValue(12);
  899. paramWindDirection = new CfgParamFloat("WindDirection");
  900. paramWindDirection.SetValue(-1.6);
  901. paramVolFogDD = new CfgParamFloat("VolFogDD");
  902. paramVolFogDD.SetValue(0.139);
  903. paramVolFogHD = new CfgParamFloat("VolFogHD");
  904. paramVolFogHD.SetValue(1);
  905. paramVolFogHB = new CfgParamFloat("VolFogHB");
  906. paramVolFogHB.SetValue(0);
  907. presetParam.InsertValue(paramName);
  908. presetParam.InsertValue(paramOvercast);
  909. presetParam.InsertValue(paramRain);
  910. presetParam.InsertValue(paramSnow);
  911. presetParam.InsertValue(paramFog);
  912. presetParam.InsertValue(paramWindMagnitude);
  913. presetParam.InsertValue(paramWindDirection);
  914. presetParam.InsertValue(paramVolFogDD);
  915. presetParam.InsertValue(paramVolFogHD);
  916. presetParam.InsertValue(paramVolFogHB);
  917. params.Insert(presetParam);
  918. // Sakhal - Storm
  919. presetParam = new CfgParamArray("");
  920. paramName = new CfgParamString("Name");
  921. paramName.SetValue("Sakhal - Storm");
  922. paramOvercast = new CfgParamFloat("Overcast");
  923. paramOvercast.SetValue(0.9);
  924. paramRain = new CfgParamFloat("Rain");
  925. paramRain.SetValue(0);
  926. paramSnow = new CfgParamFloat("Snow");
  927. paramSnow.SetValue(0.85);
  928. paramFog = new CfgParamFloat("Fog");
  929. paramFog.SetValue(0);
  930. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  931. paramWindMagnitude.SetValue(19);
  932. paramWindDirection = new CfgParamFloat("WindDirection");
  933. paramWindDirection.SetValue(2.5);
  934. paramVolFogDD = new CfgParamFloat("VolFogDD");
  935. paramVolFogDD.SetValue(0.283);
  936. paramVolFogHD = new CfgParamFloat("VolFogHD");
  937. paramVolFogHD.SetValue(1);
  938. paramVolFogHB = new CfgParamFloat("VolFogHB");
  939. paramVolFogHB.SetValue(0);
  940. presetParam.InsertValue(paramName);
  941. presetParam.InsertValue(paramOvercast);
  942. presetParam.InsertValue(paramRain);
  943. presetParam.InsertValue(paramSnow);
  944. presetParam.InsertValue(paramFog);
  945. presetParam.InsertValue(paramWindMagnitude);
  946. presetParam.InsertValue(paramWindDirection);
  947. presetParam.InsertValue(paramVolFogDD);
  948. presetParam.InsertValue(paramVolFogHD);
  949. presetParam.InsertValue(paramVolFogHB);
  950. params.Insert(presetParam);
  951. // Sakhal - Heavy Storm
  952. presetParam = new CfgParamArray("");
  953. paramName = new CfgParamString("Name");
  954. paramName.SetValue("Sakhal - Heavy Storm");
  955. paramOvercast = new CfgParamFloat("Overcast");
  956. paramOvercast.SetValue(1);
  957. paramRain = new CfgParamFloat("Rain");
  958. paramRain.SetValue(0);
  959. paramSnow = new CfgParamFloat("Snow");
  960. paramSnow.SetValue(1);
  961. paramFog = new CfgParamFloat("Fog");
  962. paramFog.SetValue(0);
  963. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  964. paramWindMagnitude.SetValue(20);
  965. paramWindDirection = new CfgParamFloat("WindDirection");
  966. paramWindDirection.SetValue(3);
  967. paramVolFogDD = new CfgParamFloat("VolFogDD");
  968. paramVolFogDD.SetValue(0.35);
  969. paramVolFogHD = new CfgParamFloat("VolFogHD");
  970. paramVolFogHD.SetValue(1);
  971. paramVolFogHB = new CfgParamFloat("VolFogHB");
  972. paramVolFogHB.SetValue(0);
  973. presetParam.InsertValue(paramName);
  974. presetParam.InsertValue(paramOvercast);
  975. presetParam.InsertValue(paramRain);
  976. presetParam.InsertValue(paramSnow);
  977. presetParam.InsertValue(paramFog);
  978. presetParam.InsertValue(paramWindMagnitude);
  979. presetParam.InsertValue(paramWindDirection);
  980. presetParam.InsertValue(paramVolFogDD);
  981. presetParam.InsertValue(paramVolFogHD);
  982. presetParam.InsertValue(paramVolFogHB);
  983. params.Insert(presetParam);
  984. return params;
  985. }
  986. //========================================
  987. // OnInit
  988. //========================================
  989. override void OnInit()
  990. {
  991. super.OnInit();
  992. int i;
  993. array<ref CfgParam> params = GetArray( PRESET_LIST );
  994. m_PresetList = new TStringArray;
  995. for (i = 0; i < params.Count(); i++)
  996. {
  997. CfgParamString param = CfgParamString.Cast(params.Get(i));
  998. m_PresetList.Insert(param.GetValue());
  999. }
  1000. LoadCameraPresets();
  1001. LoadWeatherPresets();
  1002. }
  1003. protected void LoadCameraPresets()
  1004. {
  1005. if (m_CameraPresets)
  1006. {
  1007. m_CameraPresets.Clear();
  1008. }
  1009. else
  1010. {
  1011. m_CameraPresets = new array<ref ScriptConsoleCameraDOFPreset>;
  1012. }
  1013. CfgParamArray presetParam;
  1014. array<ref CfgParam> camera_params = GetArray(CAMERA_PRESETS_LIST);
  1015. for (int i = 0; i < camera_params.Count(); i++)
  1016. {
  1017. presetParam = CfgParamArray.Cast(camera_params.Get(i));
  1018. if (!presetParam)
  1019. continue;
  1020. CfgParamString paramCName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING));
  1021. CfgParamFloat paramFocusDistance = CfgParamFloat.Cast(presetParam.GetValueByName("FocusDistance", CFG_TYPE_FLOAT));
  1022. CfgParamFloat paramFocusLength = CfgParamFloat.Cast(presetParam.GetValueByName("FocusLength", CFG_TYPE_FLOAT));
  1023. CfgParamFloat paramFocusLengthNear = CfgParamFloat.Cast(presetParam.GetValueByName("FocusLengthNear", CFG_TYPE_FLOAT));
  1024. CfgParamFloat paramBlur = CfgParamFloat.Cast(presetParam.GetValueByName("Blur", CFG_TYPE_FLOAT));
  1025. CfgParamFloat paramFocusDepthOffset = CfgParamFloat.Cast(presetParam.GetValueByName("FocusDepthOffset", CFG_TYPE_FLOAT));
  1026. m_CameraPresets.Insert(new ScriptConsoleCameraDOFPreset(paramCName.GetValue(), paramFocusDistance.GetValue(), paramFocusLength.GetValue(), paramFocusLengthNear.GetValue(), paramBlur.GetValue(), paramFocusDepthOffset.GetValue()));
  1027. }
  1028. }
  1029. protected void LoadWeatherPresets()
  1030. {
  1031. if (m_WeatherPresets)
  1032. {
  1033. m_WeatherPresets.Clear();
  1034. }
  1035. else
  1036. {
  1037. m_WeatherPresets = new array<ref ScriptConsoleWeatherPreset>;
  1038. }
  1039. CfgParamArray presetParam;
  1040. array<ref CfgParam> weather_params = GetArray(WEATHER_PRESETS_LIST);
  1041. for (int i = 0; i < weather_params.Count(); i++)
  1042. {
  1043. presetParam = CfgParamArray.Cast(weather_params.Get(i));
  1044. if (!presetParam)
  1045. continue;
  1046. CfgParamString paramWName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING));
  1047. CfgParamFloat paramOvercast = CfgParamFloat.Cast(presetParam.GetValueByName("Overcast", CFG_TYPE_FLOAT));
  1048. CfgParamFloat paramRain = CfgParamFloat.Cast(presetParam.GetValueByName("Rain", CFG_TYPE_FLOAT));
  1049. CfgParamFloat paramSnow = CfgParamFloat.Cast(presetParam.GetValueByName("Snow", CFG_TYPE_FLOAT));
  1050. CfgParamFloat paramFog = CfgParamFloat.Cast(presetParam.GetValueByName("Fog", CFG_TYPE_FLOAT));
  1051. CfgParamFloat paramWindMagnitude = CfgParamFloat.Cast(presetParam.GetValueByName("WindMagnitude", CFG_TYPE_FLOAT));
  1052. CfgParamFloat paramWindDirection = CfgParamFloat.Cast(presetParam.GetValueByName("WindDirection", CFG_TYPE_FLOAT));
  1053. CfgParamFloat paramVolFogDD = CfgParamFloat.Cast(presetParam.GetValueByName("VolFogDD", CFG_TYPE_FLOAT));
  1054. CfgParamFloat paramVolFogHD = CfgParamFloat.Cast(presetParam.GetValueByName("VolFogHD", CFG_TYPE_FLOAT));
  1055. CfgParamFloat paramVolFogHB = CfgParamFloat.Cast(presetParam.GetValueByName("VolFogHB", CFG_TYPE_FLOAT));
  1056. m_WeatherPresets.Insert(new ScriptConsoleWeatherPreset(paramWName.GetValue(), paramOvercast.GetValue(), paramRain.GetValue(), paramSnow.GetValue(), paramFog.GetValue(), paramWindMagnitude.GetValue(), paramWindDirection.GetValue(), paramVolFogDD.GetValue(), paramVolFogHD.GetValue(), paramVolFogHB.GetValue()));
  1057. }
  1058. }
  1059. void AddCameraPreset(string name, float focusDistance, float focusLength, float focusLengthNear, float blur, float focusDepthOffset)
  1060. {
  1061. CfgParamArray presetParam;
  1062. CfgParamString paramName;
  1063. array<ref CfgParam> camera_params = GetArray(CAMERA_PRESETS_LIST);
  1064. for (int i = 0; i < camera_params.Count(); i++)
  1065. {
  1066. presetParam = CfgParamArray.Cast(camera_params.Get(i));
  1067. if (!presetParam)
  1068. return;
  1069. paramName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING));
  1070. if (paramName.GetName() == name)
  1071. {
  1072. return;
  1073. }
  1074. }
  1075. presetParam = new CfgParamArray("");
  1076. paramName = new CfgParamString("Name");
  1077. paramName.SetValue(name);
  1078. CfgParamFloat paramFocusDistance = new CfgParamFloat("FocusDistance");
  1079. paramFocusDistance.SetValue(focusDistance);
  1080. CfgParamFloat paramFocusLength = new CfgParamFloat("FocusLength");
  1081. paramFocusLength.SetValue(focusLength);
  1082. CfgParamFloat paramFocusLengthNear = new CfgParamFloat("FocusLengthNear");
  1083. paramFocusLengthNear.SetValue(focusLengthNear);
  1084. CfgParamFloat paramBlur = new CfgParamFloat("Blur");
  1085. paramBlur.SetValue(blur);
  1086. CfgParamFloat paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset");
  1087. paramFocusDepthOffset.SetValue(focusDepthOffset);
  1088. presetParam.InsertValue(paramName);
  1089. presetParam.InsertValue(paramFocusDistance);
  1090. presetParam.InsertValue(paramFocusLength);
  1091. presetParam.InsertValue(paramFocusLengthNear);
  1092. presetParam.InsertValue(paramBlur);
  1093. presetParam.InsertValue(paramFocusDepthOffset);
  1094. camera_params.Insert(presetParam);
  1095. SaveConfigToFile();
  1096. m_CameraPresets.Insert(new ScriptConsoleCameraDOFPreset(name, focusDistance, focusLength, focusLengthNear, blur, focusDepthOffset));
  1097. }
  1098. void RemoveCameraPreset(string name)
  1099. {
  1100. int i;
  1101. array<ref CfgParam> camera_params = GetArray(CAMERA_PRESETS_LIST);
  1102. for (i = 0; i < camera_params.Count(); i++)
  1103. {
  1104. CfgParamArray presetParam = CfgParamArray.Cast(camera_params.Get(i));
  1105. if (!presetParam)
  1106. continue;
  1107. CfgParamString paramName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING));
  1108. if (paramName.GetValue() == name)
  1109. {
  1110. camera_params.Remove(i);
  1111. break;
  1112. }
  1113. }
  1114. SaveConfigToFile();
  1115. for (i = 0; i < m_CameraPresets.Count(); i++)
  1116. {
  1117. ScriptConsoleCameraDOFPreset cameraPreset = m_CameraPresets.Get(i);
  1118. if (cameraPreset.Name == name)
  1119. {
  1120. m_CameraPresets.Remove(i);
  1121. break;
  1122. }
  1123. }
  1124. }
  1125. void AddWeatherPreset(string name, float overcast, float rain, float snow, float fog, float windM, float windD, float volFogDD, float volFogHD, float volFogHB)
  1126. {
  1127. CfgParamArray presetParam;
  1128. CfgParamString paramName;
  1129. CfgParamFloat paramOvercast, paramRain, paramSnow, paramFog, paramWindMagnitude, paramWindDirection, paramVolFogDD, paramVolFogHD, paramVolFogHB;
  1130. array<ref CfgParam> weather_params = GetArray(WEATHER_PRESETS_LIST);
  1131. int weatherPresetIndex = -1;
  1132. for (int i = 0; i < weather_params.Count(); i++)
  1133. {
  1134. presetParam = CfgParamArray.Cast(weather_params.Get(i));
  1135. if (!presetParam)
  1136. return;
  1137. paramName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING));
  1138. if (paramName.GetValue() == name)
  1139. {
  1140. weatherPresetIndex = i;
  1141. break;
  1142. }
  1143. }
  1144. if (weatherPresetIndex > -1)
  1145. {
  1146. weather_params.Remove(weatherPresetIndex);
  1147. }
  1148. presetParam = new CfgParamArray("");
  1149. paramName = new CfgParamString("Name");
  1150. paramName.SetValue(name);
  1151. paramOvercast = new CfgParamFloat("Overcast");
  1152. paramOvercast.SetValue(overcast);
  1153. paramRain = new CfgParamFloat("Rain");
  1154. paramRain.SetValue(rain);
  1155. paramSnow = new CfgParamFloat("Snow");
  1156. paramSnow.SetValue(snow);
  1157. paramFog = new CfgParamFloat("Fog");
  1158. paramFog.SetValue(fog);
  1159. paramWindMagnitude = new CfgParamFloat("WindMagnitude");
  1160. paramWindMagnitude.SetValue(windM);
  1161. paramWindDirection = new CfgParamFloat("WindDirection");
  1162. paramWindDirection.SetValue(windD);
  1163. paramVolFogDD = new CfgParamFloat("VolFogDD");
  1164. paramVolFogDD.SetValue(volFogDD);
  1165. paramVolFogHD = new CfgParamFloat("VolFogHD");
  1166. paramVolFogHD.SetValue(volFogHD);
  1167. paramVolFogHB = new CfgParamFloat("VolFogHB");
  1168. paramVolFogHB.SetValue(volFogHB);
  1169. presetParam.InsertValue(paramName);
  1170. presetParam.InsertValue(paramOvercast);
  1171. presetParam.InsertValue(paramRain);
  1172. presetParam.InsertValue(paramSnow);
  1173. presetParam.InsertValue(paramFog);
  1174. presetParam.InsertValue(paramWindMagnitude);
  1175. presetParam.InsertValue(paramWindDirection);
  1176. presetParam.InsertValue(paramVolFogDD);
  1177. presetParam.InsertValue(paramVolFogHD);
  1178. presetParam.InsertValue(paramVolFogHB);
  1179. if (weatherPresetIndex == -1)
  1180. {
  1181. weather_params.Insert(presetParam);
  1182. m_WeatherPresets.Insert(new ScriptConsoleWeatherPreset(name, overcast, rain, snow, fog, windM, windD, volFogDD, volFogHD, volFogHB));
  1183. }
  1184. else
  1185. {
  1186. weather_params.InsertAt(presetParam, weatherPresetIndex);
  1187. LoadWeatherPresets();
  1188. }
  1189. SaveConfigToFile();
  1190. }
  1191. void RemoveWeatherPreset(string name)
  1192. {
  1193. int i;
  1194. array<ref CfgParam> weather_params = GetArray(WEATHER_PRESETS_LIST);
  1195. for (i = 0; i < weather_params.Count(); i++)
  1196. {
  1197. CfgParamArray presetParam = CfgParamArray.Cast(weather_params.Get(i));
  1198. if (!presetParam)
  1199. continue;
  1200. CfgParamString paramName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING));
  1201. if (paramName.GetValue() == name)
  1202. {
  1203. weather_params.Remove(i);
  1204. break;
  1205. }
  1206. }
  1207. SaveConfigToFile();
  1208. for (i = 0; i < m_WeatherPresets.Count(); i++)
  1209. {
  1210. ScriptConsoleWeatherPreset weatherPreset = m_WeatherPresets.Get(i);
  1211. if (weatherPreset.Name == name)
  1212. {
  1213. m_WeatherPresets.Remove(i);
  1214. break;
  1215. }
  1216. }
  1217. }
  1218. //========================================
  1219. // GetFileName
  1220. //========================================
  1221. override string GetFileName()
  1222. {
  1223. if (!FileExist(GetSubFolderName()))//---ALL LINES CONTAINING THIS COMMENT CAN BE REMOVED IN 1.23
  1224. return "$profile:debugProfile.cfg";//---ALL LINES CONTAINING THIS COMMENT CAN BE REMOVED IN 1.23
  1225. return GetSubFolderName() + CFG_FILE_DEBUG_PROFILE;
  1226. }
  1227. override string GetSubFolderName()
  1228. {
  1229. return CFG_FILE_DEBUG_DIR;
  1230. }
  1231. //========================================
  1232. // SceneEditorDrawSelection
  1233. //========================================
  1234. bool GetSceneEditorDrawSelection()
  1235. {
  1236. return GetBool( SCENE_DRAW_SELECTION );
  1237. }
  1238. void SetSceneEditorDrawSelection( bool value )
  1239. {
  1240. SetBool( SCENE_DRAW_SELECTION, value );
  1241. }
  1242. //========================================
  1243. // SceneEditorSavePlayerPos
  1244. //========================================
  1245. bool GetSceneEditorLoadPlayerPos()
  1246. {
  1247. return GetBool( SCENE_LOAD_PLAYER_POS );
  1248. }
  1249. void SetSceneEditorLoadPlayerPos( bool value )
  1250. {
  1251. SetBool( SCENE_LOAD_PLAYER_POS, value );
  1252. }
  1253. //========================================
  1254. // SceneEditorRotationAngle
  1255. //========================================
  1256. int GetSceneEditorRotationAngle()
  1257. {
  1258. return GetInt( SCENE_ROTATION_ANGLE );
  1259. }
  1260. void SetSceneEditorRotationAngle( int value )
  1261. {
  1262. SetInt( SCENE_ROTATION_ANGLE, value );
  1263. }
  1264. //========================================
  1265. // TabSelected
  1266. //========================================
  1267. int GetTabSelected()
  1268. {
  1269. return GetInt( ITEM_TAB_SELECTED );
  1270. }
  1271. void SetTabSelected( int value )
  1272. {
  1273. SetInt( ITEM_TAB_SELECTED, value );
  1274. }
  1275. //========================================
  1276. // SpawnLocIndex
  1277. //========================================
  1278. int GetSpawnLocIndex()
  1279. {
  1280. return GetInt( SPAWN_LOC_INDEX );
  1281. }
  1282. void SetSpawnLocIndex( int value )
  1283. {
  1284. SetInt( SPAWN_LOC_INDEX, value );
  1285. }
  1286. //========================================
  1287. // FilterOrder
  1288. //========================================
  1289. int GetFilterOrderReversed()
  1290. {
  1291. return GetBool( FILTER_REVERSED );
  1292. }
  1293. void SetFilterOrderReversed( bool reversed )
  1294. {
  1295. SetBool( FILTER_REVERSED, reversed );
  1296. }
  1297. //========================================
  1298. // DefaultPreset
  1299. //========================================
  1300. string GetDefaultPreset()
  1301. {
  1302. return GetString( PRESET_DEFAULT );
  1303. }
  1304. void SetDefaultPreset( string value )
  1305. {
  1306. SetString( PRESET_DEFAULT, value );
  1307. }
  1308. //========================================
  1309. // Batch Spawn Params
  1310. //========================================
  1311. array<ref CfgParam> GetBatchSpawnRectangle()
  1312. {
  1313. return GetArray( BATCH_RECT );
  1314. }
  1315. void SetBatchSpawnRectangle( int row, int column, float rowStep, float columnStep)
  1316. {
  1317. array<ref CfgParam> params = GetArray( BATCH_RECT );
  1318. params.Clear();
  1319. CfgParamString param;
  1320. CfgParamInt param1 = new CfgParamInt("");
  1321. param1.SetValue(row);
  1322. CfgParamInt param2 = new CfgParamInt("");
  1323. param2.SetValue(column);
  1324. CfgParamFloat param3 = new CfgParamFloat("");
  1325. param3.SetValue(rowStep);
  1326. CfgParamFloat param4 = new CfgParamFloat("");
  1327. param4.SetValue(columnStep);
  1328. params.Insert(param1);
  1329. params.Insert(param2);
  1330. params.Insert(param3);
  1331. params.Insert(param4);
  1332. SaveConfigToFile();
  1333. }
  1334. //========================================
  1335. // Batch Spawn Quantity
  1336. //========================================
  1337. int GetBatchSpawnQuantity()
  1338. {
  1339. return GetInt( BATCH_QUANT );
  1340. }
  1341. void SetBatchSpawnQuantity(int value)
  1342. {
  1343. SetInt( BATCH_QUANT, value );
  1344. }
  1345. //========================================
  1346. // ItemSearch
  1347. //========================================
  1348. string GetItemSearch()
  1349. {
  1350. return GetString( ITEM_SEARCH );
  1351. }
  1352. void SetItemSearch( string value )
  1353. {
  1354. SetString( ITEM_SEARCH, value );
  1355. }
  1356. //========================================
  1357. // SpawnDistance
  1358. //========================================
  1359. float GetSpawnDistance()
  1360. {
  1361. return GetFloat( SPAWN_DISTANCE );
  1362. }
  1363. void SetSpawnDistance( float value )
  1364. {
  1365. SetFloat( SPAWN_DISTANCE, value );
  1366. }
  1367. //========================================
  1368. // LogsEnabled
  1369. //========================================
  1370. bool GetLogsEnabled()
  1371. {
  1372. return GetBool( LOGS_ENABLED );
  1373. }
  1374. void SetLogsEnabled( bool value )
  1375. {
  1376. SetBool( LOGS_ENABLED, value );
  1377. }
  1378. //========================================
  1379. // CharacterLevelsVisible
  1380. //========================================
  1381. bool GetCharacterLevelsVisible()
  1382. {
  1383. return GetBool( CHAR_LEVELS_VIS );
  1384. }
  1385. void SetCharacterLevelsVisible( bool is_visible )
  1386. {
  1387. SetBool( CHAR_LEVELS_VIS, is_visible );
  1388. }
  1389. //========================================
  1390. // ItemDebugPos
  1391. //========================================
  1392. void SetItemDebugPos(vector pos)
  1393. {
  1394. SetString( ITEMDEBUG ,pos.ToString(false));
  1395. }
  1396. vector GetItemDebugPos()
  1397. {
  1398. return GetString( ITEMDEBUG ).ToVector();
  1399. }
  1400. //========================================
  1401. // CharacterStatsVisible
  1402. //========================================
  1403. bool GetCharacterStatsVisible()
  1404. {
  1405. return GetBool( CHAR_STATS_VIS );
  1406. }
  1407. void SetCharacterStatsVisible( bool is_visible )
  1408. {
  1409. SetBool( CHAR_STATS_VIS, is_visible );
  1410. }
  1411. //========================================
  1412. // CharacterModifiersVisible
  1413. //========================================
  1414. bool GetCharacterModifiersVisible()
  1415. {
  1416. return GetBool( CHAR_MODIFIERS_VIS );
  1417. }
  1418. void SetCharacterModifiersVisible( bool is_visible )
  1419. {
  1420. SetBool( CHAR_MODIFIERS_VIS, is_visible );
  1421. }
  1422. //========================================
  1423. // CharacterAgentsVisible
  1424. //========================================
  1425. bool GetCharacterAgentsVisible()
  1426. {
  1427. return GetBool( CHAR_AGENTS_VIS );
  1428. }
  1429. void SetCharacterAgentsVisible( bool is_visible )
  1430. {
  1431. SetBool( CHAR_AGENTS_VIS, is_visible );
  1432. }
  1433. //========================================
  1434. // CharacterDebugVisible
  1435. //========================================
  1436. bool GetCharacterDebugVisible()
  1437. {
  1438. return GetBool( CHAR_DEBUG_VIS );
  1439. }
  1440. void SetCharacterDebugVisible( bool is_visible )
  1441. {
  1442. SetBool( CHAR_DEBUG_VIS, is_visible );
  1443. }
  1444. //========================================
  1445. // CharacterStomachVisible
  1446. //========================================
  1447. bool GetCharacterStomachVisible()
  1448. {
  1449. return GetBool( CHAR_STOMACH_VIS );
  1450. }
  1451. void SetCharacterStomachVisible( bool is_visible )
  1452. {
  1453. SetBool( CHAR_STOMACH_VIS, is_visible );
  1454. }
  1455. //========================================
  1456. // FreeCameraCrosshairVisible
  1457. //========================================
  1458. bool GetFreeCameraCrosshairVisible()
  1459. {
  1460. return GetBool( FREE_CAMERA_CROSSHAIR );
  1461. }
  1462. void SetFreeCameraCrosshairVisible( bool is_visible )
  1463. {
  1464. SetBool( FREE_CAMERA_CROSSHAIR, is_visible );
  1465. }
  1466. //========================================
  1467. // VersionVisible
  1468. //========================================
  1469. bool GetVersionVisible()
  1470. {
  1471. return GetBool( VERSION_VIS );
  1472. }
  1473. void SetVersionVisible( bool is_visible )
  1474. {
  1475. SetBool( VERSION_VIS, is_visible );
  1476. }
  1477. //========================================
  1478. // Merge Type
  1479. //========================================
  1480. bool GetMergeType()
  1481. {
  1482. return GetBool( MERGE_TYPE );
  1483. }
  1484. void SetMergeType( bool is_visible )
  1485. {
  1486. SetBool( MERGE_TYPE, is_visible );
  1487. }
  1488. //========================================
  1489. // Soundset Filter
  1490. //========================================
  1491. string GetSoundsetFilter()
  1492. {
  1493. return GetString( SOUNDFILTER );
  1494. }
  1495. void SetSoundsetFilter( string content )
  1496. {
  1497. SetString( SOUNDFILTER, content );
  1498. }
  1499. //========================================
  1500. // TemperatureVisible
  1501. //========================================
  1502. bool GetTempVisible()
  1503. {
  1504. return GetBool( TEMP_VIS );
  1505. }
  1506. void SetTempVisible( bool is_visible )
  1507. {
  1508. SetBool( TEMP_VIS, is_visible );
  1509. }
  1510. //========================================
  1511. // HealthVisible
  1512. //========================================
  1513. bool GetHealthVisible()
  1514. {
  1515. return GetBool( HEALTH_VIS );
  1516. }
  1517. void SetHealthVisible( bool is_visible )
  1518. {
  1519. SetBool( HEALTH_VIS, is_visible );
  1520. }
  1521. //========================================
  1522. // HorticultureVisible
  1523. //========================================
  1524. bool GetHorticultureVisible()
  1525. {
  1526. return GetBool( HORTICULTURE_VIS );
  1527. }
  1528. void SetHorticultureVisible( bool is_visible )
  1529. {
  1530. SetBool( HORTICULTURE_VIS, is_visible );
  1531. }
  1532. //========================================
  1533. // Show Item Preview
  1534. //========================================
  1535. bool GetShowItemPreview()
  1536. {
  1537. return GetBool( ITEM_PREVIEW );
  1538. }
  1539. void SetShowItemPreview( bool show )
  1540. {
  1541. SetBool( ITEM_PREVIEW, show );
  1542. }
  1543. //========================================
  1544. // ConfigClassesFlag
  1545. //========================================
  1546. int GetConfigClassesFlag()
  1547. {
  1548. return GetInt( CONFIG_CLASSES_FLAG );
  1549. }
  1550. void SetConfigClassesFlag( int flag )
  1551. {
  1552. SetInt( CONFIG_CLASSES_FLAG, flag );
  1553. }
  1554. //========================================
  1555. // Item Category Flag
  1556. //========================================
  1557. int GetItemCategoryFlag()
  1558. {
  1559. return GetInt( ITEM_CATEGORY_FLAG );
  1560. }
  1561. void SetItemCategoryFlag( int flag )
  1562. {
  1563. SetInt( ITEM_CATEGORY_FLAG, flag );
  1564. }
  1565. //========================================
  1566. // User Location
  1567. //========================================
  1568. bool CustomLocationsAdd( string name, vector position )
  1569. {
  1570. string world = g_Game.GetWorldName();
  1571. world.ToLower();
  1572. CfgParamString locationName = new CfgParamString(PluginConfigDebugProfileFixed.SUB_PARAM_POS_NAME);
  1573. locationName.SetValue(name);
  1574. CfgParamString locationPos = new CfgParamString(PluginConfigDebugProfileFixed.SUB_PARAM_POS_VEC);
  1575. locationPos.SetValue(position.ToString(false));
  1576. CfgParamArray locationEntry = new CfgParamArray( locationName.GetValue() );
  1577. locationEntry.InsertValue( locationName );
  1578. locationEntry.InsertValue( locationPos );
  1579. string paramName = POSITION_NAME_ROOT + world;
  1580. array<ref CfgParam> params = GetArray(paramName);
  1581. params.Insert(locationEntry);
  1582. SetArray(paramName, params);
  1583. SaveConfigToFile();
  1584. return true;
  1585. }
  1586. void CustomLocationsRemove( string name )
  1587. {
  1588. if (!name)
  1589. return;
  1590. string world = g_Game.GetWorldName();
  1591. world.ToLower();
  1592. string paramName = POSITION_NAME_ROOT + world;
  1593. array<ref CfgParam> params = GetArray(paramName);
  1594. for (int i = 0; i < params.Count(); i++)
  1595. {
  1596. CfgParamArray param = CfgParamArray.Cast(params.Get(i));
  1597. array<ref CfgParam> prms = param.GetValues();
  1598. CfgParamString par = CfgParamString.Cast(prms.Get(0));
  1599. if (par.GetValue() == name)
  1600. {
  1601. params.RemoveOrdered(i);
  1602. break;
  1603. }
  1604. }
  1605. //SetArray(paramName, params);
  1606. SaveConfigToFile();
  1607. }
  1608. //========================================
  1609. // Camera Presets
  1610. //========================================
  1611. array<ref ScriptConsoleCameraDOFPreset> GetCameraPresets()
  1612. {
  1613. return m_CameraPresets;
  1614. }
  1615. //========================================
  1616. // Weather Presets
  1617. //========================================
  1618. array<ref ScriptConsoleWeatherPreset> GetWeatherPresets()
  1619. {
  1620. return m_WeatherPresets;
  1621. }
  1622. //========================================
  1623. // Presets
  1624. //========================================
  1625. TStringArray GetPresets()
  1626. {
  1627. return m_PresetList;
  1628. }
  1629. protected void SetPreset( string preset_name, int index = -1 )
  1630. {
  1631. array<ref CfgParam> params = GetArray( PRESET_LIST );
  1632. CfgParamString param;
  1633. if ( index == -1 )
  1634. {
  1635. param = new CfgParamString( "" );
  1636. param.SetValue( preset_name );
  1637. params.Insert( param );
  1638. m_PresetList.Insert( preset_name );
  1639. }
  1640. else
  1641. {
  1642. param = CfgParamString.Cast( params.Get( index ) );
  1643. param.SetValue( preset_name );
  1644. params.Set( index, param );
  1645. m_PresetList.Set( index, preset_name );
  1646. }
  1647. SaveConfigToFile();
  1648. }
  1649. protected void RemovePreset( string preset_name )
  1650. {
  1651. array<ref CfgParam> params = GetArray( PRESET_LIST );
  1652. for ( int i = 0; i < params.Count(); i++ )
  1653. {
  1654. CfgParamString param = CfgParamString.Cast( params.Get(i) );
  1655. if ( param.GetValue() == preset_name )
  1656. {
  1657. params.RemoveItem( param );
  1658. m_PresetList.RemoveItem( preset_name );
  1659. }
  1660. }
  1661. }
  1662. bool GetPresetItems( string preset_name, out TStringArray arr, string param_name = "" )
  1663. {
  1664. if ( m_PresetList.Find(preset_name) == -1 )
  1665. {
  1666. return false;
  1667. }
  1668. if(param_name == "")
  1669. param_name = SUB_PARAM_ITEM_NAME;
  1670. GetSubParametersInStringArray( preset_name, param_name, arr );
  1671. return true;
  1672. }
  1673. bool PresetAdd( string preset_name )
  1674. {
  1675. if ( m_PresetList.Find(preset_name) > -1 )
  1676. {
  1677. return false;
  1678. }
  1679. SetPreset( preset_name );
  1680. SetArray( preset_name, new array<ref CfgParam> );
  1681. SaveConfigToFile();
  1682. return true;
  1683. }
  1684. bool PresetRemove( string preset_name )
  1685. {
  1686. if ( m_PresetList.Find(preset_name) == -1 )
  1687. {
  1688. return false;
  1689. }
  1690. RemovePreset( preset_name );
  1691. RemoveParamByName( preset_name );
  1692. SaveConfigToFile();
  1693. return true;
  1694. }
  1695. bool PresetRename( string old_preset_name, string new_preset_name )
  1696. {
  1697. int index = m_PresetList.Find( old_preset_name );
  1698. if ( index == -1 )
  1699. {
  1700. return false;
  1701. }
  1702. SetPreset( new_preset_name, index );
  1703. RenameParam( old_preset_name, new_preset_name );
  1704. SaveConfigToFile();
  1705. return true;
  1706. }
  1707. bool ItemAddToPreset( string preset_name, string item_name )
  1708. {
  1709. if ( m_PresetList.Find( preset_name ) == -1 )
  1710. {
  1711. return false;
  1712. }
  1713. CfgParamString param = new CfgParamString( SUB_PARAM_ITEM_NAME );
  1714. param.SetValue( item_name );
  1715. CfgParamArray item_params = new CfgParamArray( SUB_PARAM_ITEM );
  1716. item_params.InsertValue( param );
  1717. array<ref CfgParam> params = GetArray( preset_name );
  1718. params.Insert( item_params );
  1719. SaveConfigToFile();
  1720. return true;
  1721. }
  1722. bool ItemRemoveFromPreset( string preset_name, int item_index )
  1723. {
  1724. if ( m_PresetList.Find( preset_name ) == -1 )
  1725. {
  1726. return false;
  1727. }
  1728. array<ref CfgParam> params = GetArray( preset_name );
  1729. if ( item_index >= params.Count() )
  1730. {
  1731. return false;
  1732. }
  1733. params.Remove( item_index );
  1734. SaveConfigToFile();
  1735. return true;
  1736. }
  1737. bool SwapItem( string preset_name, int item1_index, int item2_index )
  1738. {
  1739. array<ref CfgParam> params = GetArray( preset_name );
  1740. if ( item1_index >= params.Count() || item2_index >= params.Count() )
  1741. {
  1742. return false;
  1743. }
  1744. params.SwapItems( item1_index, item2_index );
  1745. SaveConfigToFile();
  1746. return true;
  1747. }
  1748. protected array<ref CfgParam> GetItemParams( string preset_name, int item_index )
  1749. {
  1750. if ( m_PresetList.Find( preset_name ) == -1 )
  1751. {
  1752. return NULL;
  1753. }
  1754. array<ref CfgParam> params = GetArray( preset_name );
  1755. if ( !params || item_index >= params.Count() )
  1756. {
  1757. return NULL;
  1758. }
  1759. if (params.IsValidIndex(item_index))
  1760. CfgParamArray params_array = CfgParamArray.Cast( params.Get( item_index ) );
  1761. if (params_array)
  1762. return params_array.GetValues();
  1763. return null;
  1764. }
  1765. protected CfgParam GetItemParam( string preset_name, int item_index, string param_name )
  1766. {
  1767. array<ref CfgParam> item_params = GetItemParams( preset_name, item_index );
  1768. if ( item_params == NULL )
  1769. {
  1770. return NULL;
  1771. }
  1772. CfgParam param = NULL;
  1773. for ( int i = 0; i < item_params.Count(); i++ )
  1774. {
  1775. if ( item_params.Get(i).GetName() == param_name )
  1776. {
  1777. param = item_params.Get(i);
  1778. }
  1779. }
  1780. return param;
  1781. }
  1782. float GetItemHealth( string preset_name, int item_index )
  1783. {
  1784. CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_HEALTH );
  1785. if ( param == NULL )
  1786. {
  1787. return -1;
  1788. }
  1789. else
  1790. {
  1791. CfgParamFloat param_float = CfgParamFloat.Cast( param );
  1792. return param_float.GetValue();
  1793. }
  1794. }
  1795. bool SetItemHealth( string preset_name, int item_index, float health )
  1796. {
  1797. CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_HEALTH );
  1798. if ( param != NULL )
  1799. {
  1800. CfgParamFloat param_float = CfgParamFloat.Cast( param );
  1801. param_float.SetValue( health );
  1802. }
  1803. else
  1804. {
  1805. array<ref CfgParam> item_params = GetItemParams( preset_name, item_index );
  1806. if ( item_params != NULL )
  1807. {
  1808. CfgParamFloat new_param = new CfgParamFloat( SUB_PARAM_ITEM_HEALTH );
  1809. new_param.SetValue( health );
  1810. item_params.Insert( new_param );
  1811. }
  1812. }
  1813. SaveConfigToFile();
  1814. return true;
  1815. }
  1816. int GetItemQuantity( string preset_name, int item_index )
  1817. {
  1818. CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_QUANTITY );
  1819. if ( param == NULL )
  1820. {
  1821. return 1;
  1822. }
  1823. else
  1824. {
  1825. CfgParamInt param_int = CfgParamInt.Cast( param );
  1826. return param_int.GetValue();
  1827. }
  1828. }
  1829. bool SetItemQuantity( string preset_name, int item_index, int quantity )
  1830. {
  1831. CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_QUANTITY );
  1832. if ( param != NULL )
  1833. {
  1834. CfgParamInt param_int = CfgParamInt.Cast( param );
  1835. param_int.SetValue( quantity );
  1836. }
  1837. else
  1838. {
  1839. array<ref CfgParam> item_params = GetItemParams( preset_name, item_index );
  1840. if ( item_params != NULL )
  1841. {
  1842. CfgParamInt new_param = new CfgParamInt( SUB_PARAM_ITEM_QUANTITY );
  1843. new_param.SetValue( quantity );
  1844. item_params.Insert( new_param );
  1845. }
  1846. }
  1847. SaveConfigToFile();
  1848. return true;
  1849. }
  1850. bool GetItemWithPhysics( string preset_name, int item_index )
  1851. {
  1852. CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_WITH_PHYSICS );
  1853. if ( param == NULL )
  1854. {
  1855. return false;
  1856. }
  1857. else
  1858. {
  1859. CfgParamBool param_bool = CfgParamBool.Cast( param );
  1860. return param_bool.GetValue();
  1861. }
  1862. }
  1863. bool SetItemWithPhysics( string preset_name, int item_index, bool with_physics )
  1864. {
  1865. CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_WITH_PHYSICS );
  1866. if ( param != NULL )
  1867. {
  1868. CfgParamBool param_bool = CfgParamBool.Cast( param );
  1869. param_bool.SetValue( with_physics );
  1870. }
  1871. else
  1872. {
  1873. array<ref CfgParam> item_params = GetItemParams( preset_name, item_index );
  1874. if ( item_params != NULL )
  1875. {
  1876. CfgParamBool new_param = new CfgParamBool( SUB_PARAM_ITEM_WITH_PHYSICS );
  1877. new_param.SetValue( with_physics );
  1878. item_params.Insert( new_param );
  1879. }
  1880. }
  1881. SaveConfigToFile();
  1882. return true;
  1883. }
  1884. //========================================
  1885. // Locations
  1886. //========================================
  1887. void GetLocationsData( out array<ref LocationParams> arr , bool isCustom)
  1888. {
  1889. string world = g_Game.GetWorldName();
  1890. world.ToLower();
  1891. string paramName = POSITION_NAME_ROOT + world;
  1892. TStringArray names = new TStringArray();
  1893. GetSubParametersInStringArray( paramName, PluginConfigDebugProfileFixed.SUB_PARAM_POS_NAME, names );
  1894. TStringArray positions = new TStringArray();
  1895. GetSubParametersInStringArray( paramName, PluginConfigDebugProfileFixed.SUB_PARAM_POS_VEC, positions );
  1896. int i;
  1897. if (isCustom)
  1898. {
  1899. for ( i = names.Count() - 1; i >= 0 ; i--)
  1900. {
  1901. arr.Insert(new LocationParams(names.Get(i), isCustom, positions.Get(i).ToVector()));
  1902. }
  1903. }
  1904. else
  1905. {
  1906. for (i = 0; i < names.Count(); i++)
  1907. {
  1908. arr.Insert(new LocationParams(names.Get(i), isCustom, positions.Get(i).ToVector()));
  1909. }
  1910. }
  1911. }
  1912. }