class ScriptConsoleCameraDOFPreset { string Name = "New Preset"; float FocusDistance = 1.0; float FocusLength = 0.0; float FocusLengthNear = -1.0; float Blur = 0.0; float FocusDepthOffset = 1.0; void ScriptConsoleCameraDOFPreset(string name, float focusDistance, float focusLength, float focusLengthNear, float blur, float focusDepthOffset) { Name = name; FocusDistance = focusDistance; FocusLength = focusLength; FocusLengthNear = focusLengthNear; Blur = blur; FocusDepthOffset = focusDepthOffset; } } class ScriptConsoleWeatherPreset { string Name = "New Preset"; float WOvercast = overcast; float WRain; float WSnow; float WFog; float WWindMagnitude; float WWindDir; float WVolFogDD; float WVolFogHD; float WVolFogHB; void ScriptConsoleWeatherPreset(string name, float overcast, float rain, float snow, float fog, float windMagnitude, float windDir, float volFogDD, float volFogHD, float volFogHB) { Name = name; WOvercast = overcast; WRain = rain; WSnow = snow; WFog = fog; WWindMagnitude = windMagnitude; WWindDir = windDir; WVolFogDD = volFogDD; WVolFogHD = volFogHD; WVolFogHB = volFogHB; } } typedef Param3 LocationParams;// param1 - name, param2 - isCustom?, param3 - position class PluginConfigDebugProfile extends PluginConfigHandler { protected const string SCENE_DRAW_SELECTION = "scene_editor_draw_selection"; protected const string SCENE_LOAD_PLAYER_POS = "scene_editor_load_player_pos"; protected const string SCENE_ROTATION_ANGLE = "scene_editor_rotation_angle"; protected const string ITEM_TAB_SELECTED = "console_TabSelected"; protected const string PRESET_LIST = "console_presets"; protected const string PRESET_DEFAULT = "console_preset_default"; protected const string ITEM_SEARCH = "console_ItemSearch"; protected const string SPAWN_DISTANCE = "console_SpawnDistance"; protected const string CHAR_STATS_VIS = "console_character_stats_visible"; protected const string CHAR_LEVELS_VIS = "console_character_levels_visible"; protected const string CHAR_MODIFIERS_VIS = "console_character_modifiers_visible"; protected const string CHAR_AGENTS_VIS = "console_character_agents_visible"; protected const string CHAR_DEBUG_VIS = "console_character_debug_visible"; protected const string CHAR_STOMACH_VIS = "console_character_stomach_visible"; protected const string FREE_CAMERA_CROSSHAIR = "console_free_camera_crosshair_visible"; protected const string VERSION_VIS = "console_version_visible"; protected const string MERGE_TYPE = "category_merge_type"; protected const string TEMP_VIS = "console_temperature_visible"; protected const string HEALTH_VIS = "console_health_visible"; protected const string HORTICULTURE_VIS = "console_horticulture_visible"; protected const string SUB_PARAM_ITEM = "item"; protected const string SUB_PARAM_ITEM_NAME = "name"; protected const string SUB_PARAM_ITEM_HEALTH = "health"; protected const string SUB_PARAM_ITEM_QUANTITY = "quantity"; protected const string SUB_PARAM_ITEM_WITH_PHYSICS = "with_physics"; protected const string LOGS_ENABLED = "logs_enabled"; protected const string CONFIG_CLASSES_FLAG = "toggled_config_classes_flag"; protected const string ITEM_CATEGORY_FLAG = "toggled_item_categories_flag"; protected const string ITEM_PREVIEW = "show_item_preview"; protected const string BATCH_RECT = "batch_spawn_rect"; protected const string BATCH_QUANT = "batch_spawn_quantity"; protected const string SOUNDFILTER = "soundset_editbox"; protected const string ITEMDEBUG = "item_debug"; protected const string SPAWN_LOC_INDEX = "spawn_loc_index"; protected const string FILTER_REVERSED = "filter_order_reversed"; protected const string CAMERA_PRESETS_LIST = "camera_presets"; protected const string WEATHER_PRESETS_LIST = "weather_presets"; protected ref map m_DefaultValues; protected ref TStringArray m_PresetList; protected const string POSITION_NAME_ROOT = "console_positions_"; protected ref array m_CameraPresets; protected ref array m_WeatherPresets; //======================================== // GetInstance //======================================== static PluginConfigDebugProfile GetInstance() { return PluginConfigDebugProfile.Cast( GetPlugin(PluginConfigDebugProfile) ); } //======================================== // GetCfgParamArray //======================================== protected CfgParamArray GetNewCfgParamArray( array params ) { CfgParamArray param = new CfgParamArray( "" ); param.SetParams( params ); return param; } //======================================== // GetCfgParamBool //======================================== protected CfgParamBool GetNewCfgParamBool( bool value ) { CfgParamBool param = new CfgParamBool( "" ); param.SetValue( value ); return param; } //======================================== // GetCfgParamFloat //======================================== protected CfgParamFloat GetNewCfgParamFloat( float value ) { CfgParamFloat param = new CfgParamFloat( "" ); param.SetValue( value ); return param; } //======================================== // GetCfgParamInt //======================================== protected CfgParamInt GetNewCfgParamInt( int value ) { CfgParamInt param = new CfgParamInt( "" ); param.SetValue( value ); return param; } //======================================== // GetCfgParamString //======================================== protected CfgParamString GetNewCfgParamString( string value ) { CfgParamString param = new CfgParamString( "" ); param.SetValue( value ); return param; } //======================================== // Array //======================================== protected CfgParamArray SetArray( string key, array params ) { CfgParamArray param = CfgParamArray.Cast( GetParamByName( key, CFG_TYPE_ARRAY ) ); param.SetParams( params ); SaveConfigToFile(); return param; } protected array GetArray( string key ) { if ( ParamExist(key) ) { CfgParamArray param = CfgParamArray.Cast( GetParamByName( key, CFG_TYPE_ARRAY ) ); return param.GetValues(); } else { if ( m_DefaultValues.Contains(key) ) { CfgParamArray default_param = CfgParamArray.Cast( m_DefaultValues.Get( key ) ); return SetArray( key, default_param.GetValues() ).GetValues(); } else { return SetArray( key, new array ).GetValues(); } } } //======================================== // Bool //======================================== protected CfgParamBool SetBool( string key, bool value ) { CfgParamBool param = CfgParamBool.Cast( GetParamByName( key, CFG_TYPE_BOOL ) ); param.SetValue( value ); SaveConfigToFile(); return param; } protected bool GetBool( string key ) { if ( ParamExist(key) ) { CfgParamBool param = CfgParamBool.Cast( GetParamByName( key, CFG_TYPE_BOOL ) ); return param.GetValue(); } else { if ( m_DefaultValues.Contains(key) ) { CfgParamBool default_param = CfgParamBool.Cast( m_DefaultValues.Get( key ) ); return SetBool( key, default_param.GetValue() ).GetValue(); } else { return SetBool( key, false ).GetValue(); } } } //======================================== // Float //======================================== protected CfgParamFloat SetFloat( string key, float value ) { CfgParamFloat param = CfgParamFloat.Cast( GetParamByName( key, CFG_TYPE_FLOAT ) ); param.SetValue( value ); SaveConfigToFile(); return param; } protected float GetFloat( string key ) { if ( ParamExist(key) ) { CfgParamFloat param = CfgParamFloat.Cast( GetParamByName( key, CFG_TYPE_FLOAT ) ); return param.GetValue(); } else { if ( m_DefaultValues.Contains(key) ) { CfgParamFloat default_param = CfgParamFloat.Cast( m_DefaultValues.Get( key ) ); return SetFloat( key, default_param.GetValue() ).GetValue(); } else { return SetFloat( key, 0.0 ).GetValue(); } } } //======================================== // Int //======================================== protected CfgParamInt SetInt( string key, int value ) { CfgParamInt param = CfgParamInt.Cast( GetParamByName( key, CFG_TYPE_INT ) ); param.SetValue( value ); SaveConfigToFile(); return param; } protected int GetInt( string key ) { if ( ParamExist(key) ) { CfgParamInt param = CfgParamInt.Cast( GetParamByName( key, CFG_TYPE_INT ) ); return param.GetValue(); } else { if ( m_DefaultValues.Contains(key) ) { CfgParamInt default_param = CfgParamInt.Cast( m_DefaultValues.Get( key ) ); return SetInt( key, default_param.GetValue() ).GetValue(); } else { return SetInt( key, 0 ).GetValue(); } } } //======================================== // String //======================================== protected CfgParamString SetString( string key, string value ) { CfgParamString param = CfgParamString.Cast( GetParamByName( key, CFG_TYPE_STRING ) ); if(param) { param.SetValue( value ); SaveConfigToFile(); } return param; } protected string GetString( string key ) { CfgParamString param = CfgParamString.Cast( GetParamByName( key, CFG_TYPE_STRING ) ); if ( param && param.GetValue() != STRING_EMPTY ) { return param.GetValue(); } else { if ( m_DefaultValues.Contains(key) ) { CfgParamString default_param = CfgParamString.Cast( m_DefaultValues.Get( key ) ); CfgParamString param_string = SetString( key, default_param.GetValue() ); if(param_string) return param_string.GetValue(); } else { return SetString( key, "" ).GetValue(); } } return ""; } protected void GetSubParametersInStringArray( string setting_name, string sub_param_name, out TStringArray arr ) { array items = GetArray( setting_name ); for ( int i = 0; i < items.Count(); i++ ) { CfgParamArray items_array = CfgParamArray.Cast( items.Get(i) ); array item_params = items_array.GetValues(); for ( int j = 0; j < item_params.Count(); j++ ) { if ( item_params.Get(j).GetName() == sub_param_name ) { CfgParamString param_string = CfgParamString.Cast( item_params.Get( j ) ); arr.Insert( param_string.GetValue() ); } } } } //======================================== // PluginConfigDebugProfile //======================================== void PluginConfigDebugProfile() { m_DefaultValues = new map; m_DefaultValues.Insert(SCENE_DRAW_SELECTION, GetNewCfgParamBool(true) ); m_DefaultValues.Insert(SCENE_LOAD_PLAYER_POS, GetNewCfgParamBool(true) ); m_DefaultValues.Insert(SCENE_ROTATION_ANGLE, GetNewCfgParamInt(15) ); m_DefaultValues.Insert(ITEM_TAB_SELECTED, GetNewCfgParamInt(0) ); m_DefaultValues.Insert(PRESET_DEFAULT, GetNewCfgParamString("") ); m_DefaultValues.Insert(ITEM_SEARCH, GetNewCfgParamString("") ); m_DefaultValues.Insert(SPAWN_DISTANCE, GetNewCfgParamFloat(0.0) ); m_DefaultValues.Insert(LOGS_ENABLED, GetNewCfgParamBool(true) ); m_DefaultValues.Insert(CHAR_STATS_VIS, GetNewCfgParamBool(false) ); m_DefaultValues.Insert(CHAR_LEVELS_VIS, GetNewCfgParamBool(false) ); m_DefaultValues.Insert(CHAR_MODIFIERS_VIS, GetNewCfgParamBool(false) ); m_DefaultValues.Insert(CHAR_AGENTS_VIS, GetNewCfgParamBool(false) ); m_DefaultValues.Insert(CHAR_DEBUG_VIS, GetNewCfgParamBool(false) ); m_DefaultValues.Insert(FREE_CAMERA_CROSSHAIR, GetNewCfgParamBool(true) ); m_DefaultValues.Insert(VERSION_VIS, GetNewCfgParamBool(true) ); m_DefaultValues.Insert(CONFIG_CLASSES_FLAG, GetNewCfgParamInt(15) ); m_DefaultValues.Insert(TEMP_VIS, GetNewCfgParamBool(false) ); m_DefaultValues.Insert(HEALTH_VIS, GetNewCfgParamBool(false) ); m_DefaultValues.Insert(HORTICULTURE_VIS, GetNewCfgParamBool(false) ); m_DefaultValues.Insert(MERGE_TYPE, GetNewCfgParamBool(false) ); m_DefaultValues.Insert(ITEM_PREVIEW, GetNewCfgParamBool(true) ); m_DefaultValues.Insert(BATCH_RECT, GetNewCfgParamArray(GetDefaultBatchRectParams()) ); m_DefaultValues.Insert(BATCH_QUANT, GetNewCfgParamInt(10) ); m_DefaultValues.Insert(SOUNDFILTER, GetNewCfgParamString("") ); m_DefaultValues.Insert(ITEMDEBUG, GetNewCfgParamString("0 0 0") ); m_DefaultValues.Insert(SPAWN_LOC_INDEX, GetNewCfgParamInt(0)); m_DefaultValues.Insert(FILTER_REVERSED, GetNewCfgParamBool(false)); m_DefaultValues.Insert(CAMERA_PRESETS_LIST, GetNewCfgParamArray(GetDefaultCameraPresetsParams())); m_DefaultValues.Insert(WEATHER_PRESETS_LIST, GetNewCfgParamArray(GetDefaultWeatherPresetsParams())); } array GetDefaultBatchRectParams() { array params = new array; CfgParamInt param1 = new CfgParamInt(""); param1.SetValue(5); CfgParamInt param2 = new CfgParamInt(""); param2.SetValue(5); CfgParamFloat param3 = new CfgParamFloat(""); param3.SetValue(1.0); CfgParamFloat param4 = new CfgParamFloat(""); param4.SetValue(1.0); params.Insert(param1); params.Insert(param2); params.Insert(param3); params.Insert(param4); return params; } array GetDefaultCameraPresetsParams() { array params = new array; CfgParamArray presetParam; CfgParamString paramName; CfgParamFloat paramFocusDistance, paramFocusLength, paramFocusLengthNear, paramBlur, paramFocusDepthOffset; // 50m distance DOF (Buildings / action) presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("50m distance DOF (Buildings / action)"); paramFocusDistance = new CfgParamFloat("FocusDistance"); paramFocusDistance.SetValue(50.0); paramFocusLength = new CfgParamFloat("FocusLength"); paramFocusLength.SetValue(2450.0); paramFocusLengthNear = new CfgParamFloat("FocusLengthNear"); paramFocusLengthNear.SetValue(750.0); paramBlur = new CfgParamFloat("Blur"); paramBlur.SetValue(4.0); paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset"); paramFocusDepthOffset.SetValue(8.0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramFocusDistance); presetParam.InsertValue(paramFocusLength); presetParam.InsertValue(paramFocusLengthNear); presetParam.InsertValue(paramBlur); presetParam.InsertValue(paramFocusDepthOffset); params.Insert(presetParam); // 15m distance soft blur (close objects are blurred) presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("15m distance soft blur (close objects are blurred)"); paramFocusDistance = new CfgParamFloat("FocusDistance"); paramFocusDistance.SetValue(15.0); paramFocusLength = new CfgParamFloat("FocusLength"); paramFocusLength.SetValue(1050.0); paramFocusLengthNear = new CfgParamFloat("FocusLengthNear"); paramFocusLengthNear.SetValue(500.0); paramBlur = new CfgParamFloat("Blur"); paramBlur.SetValue(4.0); paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset"); paramFocusDepthOffset.SetValue(10.0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramFocusDistance); presetParam.InsertValue(paramFocusLength); presetParam.InsertValue(paramFocusLengthNear); presetParam.InsertValue(paramBlur); presetParam.InsertValue(paramFocusDepthOffset); params.Insert(presetParam); // Full Body Character presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Full Body Character"); paramFocusDistance = new CfgParamFloat("FocusDistance"); paramFocusDistance.SetValue(5.0); paramFocusLength = new CfgParamFloat("FocusLength"); paramFocusLength.SetValue(1050.0); paramFocusLengthNear = new CfgParamFloat("FocusLengthNear"); paramFocusLengthNear.SetValue(100.0); paramBlur = new CfgParamFloat("Blur"); paramBlur.SetValue(4.0); paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset"); paramFocusDepthOffset.SetValue(10.0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramFocusDistance); presetParam.InsertValue(paramFocusLength); presetParam.InsertValue(paramFocusLengthNear); presetParam.InsertValue(paramBlur); presetParam.InsertValue(paramFocusDepthOffset); params.Insert(presetParam); // Close up presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Close up"); paramFocusDistance = new CfgParamFloat("FocusDistance"); paramFocusDistance.SetValue(1.0); paramFocusLength = new CfgParamFloat("FocusLength"); paramFocusLength.SetValue(450.0); paramFocusLengthNear = new CfgParamFloat("FocusLengthNear"); paramFocusLengthNear.SetValue(100.0); paramBlur = new CfgParamFloat("Blur"); paramBlur.SetValue(4.0); paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset"); paramFocusDepthOffset.SetValue(10.0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramFocusDistance); presetParam.InsertValue(paramFocusLength); presetParam.InsertValue(paramFocusLengthNear); presetParam.InsertValue(paramBlur); presetParam.InsertValue(paramFocusDepthOffset); params.Insert(presetParam); // NEW Close up presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("NEW Close up"); paramFocusDistance = new CfgParamFloat("FocusDistance"); paramFocusDistance.SetValue(2.0); paramFocusLength = new CfgParamFloat("FocusLength"); paramFocusLength.SetValue(750.0); paramFocusLengthNear = new CfgParamFloat("FocusLengthNear"); paramFocusLengthNear.SetValue(500.0); paramBlur = new CfgParamFloat("Blur"); paramBlur.SetValue(4.0); paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset"); paramFocusDepthOffset.SetValue(10.0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramFocusDistance); presetParam.InsertValue(paramFocusLength); presetParam.InsertValue(paramFocusLengthNear); presetParam.InsertValue(paramBlur); presetParam.InsertValue(paramFocusDepthOffset); params.Insert(presetParam); return params; } array GetDefaultWeatherPresetsParams() { array params = new array; CfgParamArray presetParam; CfgParamString paramName; CfgParamFloat paramOvercast, paramRain, paramSnow, paramFog, paramWindMagnitude, paramWindDirection, paramVolFogDD, paramVolFogHD, paramVolFogHB; // Chernarus - Clear presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Chernarus - Clear"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.04); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(10); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(-1); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.005); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(0.9); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(50); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Chernarus - Cloudy presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Chernarus - Cloudy"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.4); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.04); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(10); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(-2.2); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.013); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(0.94); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(50); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Chernarus - Bad presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Chernarus - Bad"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.7); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0.3); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.04); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(12); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(1.5); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.015); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(0.97); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(50); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Chernarus - Storm presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Chernarus - Storm"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.9); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0.55); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.04); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(15); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(1.2); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.011); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(0.99); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(50); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Chernarus - Heavy Storm presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Chernarus - Heavy Storm"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(1); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0.9); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.04); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(17); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(1.2); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.007); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(1); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(50); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); //------------------------------------------------------------------------ // Livonia - Clear presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Livonia - Clear"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.1); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(3); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(-2); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.012); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(0.91); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(170); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Livonia - Cloudy presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Livonia - Cloudy"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.4); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.1); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(9); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(-1.2); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.14); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(0.94); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(170); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Livonia - Bad presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Livonia - Bad"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.7); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0.3); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.1); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(10); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(-0.3); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.019); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(0.97); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(170); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Livonia - Storm presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Livonia - Storm"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.85); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0.55); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.1); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(12); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(0); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.018); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(0.985); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(170); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Livonia - Heavy Storm presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Livonia - Heavy Storm"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(1); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0.9); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0.1); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(18); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(0.6); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.005); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(1); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(170); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); //------------------------------------------------------------------------ // Sakhal - Clear presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Sakhal - Clear"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.07); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(2); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(0); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.002); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(1); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Sakhal - Cloudy presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Sakhal - Cloudy"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.4); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0.35); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(9); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(1.1); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.058); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(1); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Sakhal - Bad presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Sakhal - Bad"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.7); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0.65); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(12); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(-1.6); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.139); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(1); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Sakhal - Storm presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Sakhal - Storm"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(0.9); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(0.85); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(19); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(2.5); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.283); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(1); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); // Sakhal - Heavy Storm presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue("Sakhal - Heavy Storm"); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(1); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(0); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(1); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(0); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(20); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(3); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(0.35); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(1); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(0); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); params.Insert(presetParam); return params; } //======================================== // OnInit //======================================== override void OnInit() { super.OnInit(); int i; array params = GetArray( PRESET_LIST ); m_PresetList = new TStringArray; for (i = 0; i < params.Count(); i++) { CfgParamString param = CfgParamString.Cast(params.Get(i)); m_PresetList.Insert(param.GetValue()); } LoadCameraPresets(); LoadWeatherPresets(); } protected void LoadCameraPresets() { if (m_CameraPresets) { m_CameraPresets.Clear(); } else { m_CameraPresets = new array; } CfgParamArray presetParam; array camera_params = GetArray(CAMERA_PRESETS_LIST); for (int i = 0; i < camera_params.Count(); i++) { presetParam = CfgParamArray.Cast(camera_params.Get(i)); if (!presetParam) continue; CfgParamString paramCName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING)); CfgParamFloat paramFocusDistance = CfgParamFloat.Cast(presetParam.GetValueByName("FocusDistance", CFG_TYPE_FLOAT)); CfgParamFloat paramFocusLength = CfgParamFloat.Cast(presetParam.GetValueByName("FocusLength", CFG_TYPE_FLOAT)); CfgParamFloat paramFocusLengthNear = CfgParamFloat.Cast(presetParam.GetValueByName("FocusLengthNear", CFG_TYPE_FLOAT)); CfgParamFloat paramBlur = CfgParamFloat.Cast(presetParam.GetValueByName("Blur", CFG_TYPE_FLOAT)); CfgParamFloat paramFocusDepthOffset = CfgParamFloat.Cast(presetParam.GetValueByName("FocusDepthOffset", CFG_TYPE_FLOAT)); m_CameraPresets.Insert(new ScriptConsoleCameraDOFPreset(paramCName.GetValue(), paramFocusDistance.GetValue(), paramFocusLength.GetValue(), paramFocusLengthNear.GetValue(), paramBlur.GetValue(), paramFocusDepthOffset.GetValue())); } } protected void LoadWeatherPresets() { if (m_WeatherPresets) { m_WeatherPresets.Clear(); } else { m_WeatherPresets = new array; } CfgParamArray presetParam; array weather_params = GetArray(WEATHER_PRESETS_LIST); for (int i = 0; i < weather_params.Count(); i++) { presetParam = CfgParamArray.Cast(weather_params.Get(i)); if (!presetParam) continue; CfgParamString paramWName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING)); CfgParamFloat paramOvercast = CfgParamFloat.Cast(presetParam.GetValueByName("Overcast", CFG_TYPE_FLOAT)); CfgParamFloat paramRain = CfgParamFloat.Cast(presetParam.GetValueByName("Rain", CFG_TYPE_FLOAT)); CfgParamFloat paramSnow = CfgParamFloat.Cast(presetParam.GetValueByName("Snow", CFG_TYPE_FLOAT)); CfgParamFloat paramFog = CfgParamFloat.Cast(presetParam.GetValueByName("Fog", CFG_TYPE_FLOAT)); CfgParamFloat paramWindMagnitude = CfgParamFloat.Cast(presetParam.GetValueByName("WindMagnitude", CFG_TYPE_FLOAT)); CfgParamFloat paramWindDirection = CfgParamFloat.Cast(presetParam.GetValueByName("WindDirection", CFG_TYPE_FLOAT)); CfgParamFloat paramVolFogDD = CfgParamFloat.Cast(presetParam.GetValueByName("VolFogDD", CFG_TYPE_FLOAT)); CfgParamFloat paramVolFogHD = CfgParamFloat.Cast(presetParam.GetValueByName("VolFogHD", CFG_TYPE_FLOAT)); CfgParamFloat paramVolFogHB = CfgParamFloat.Cast(presetParam.GetValueByName("VolFogHB", CFG_TYPE_FLOAT)); 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())); } } void AddCameraPreset(string name, float focusDistance, float focusLength, float focusLengthNear, float blur, float focusDepthOffset) { CfgParamArray presetParam; CfgParamString paramName; array camera_params = GetArray(CAMERA_PRESETS_LIST); for (int i = 0; i < camera_params.Count(); i++) { presetParam = CfgParamArray.Cast(camera_params.Get(i)); if (!presetParam) return; paramName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING)); if (paramName.GetName() == name) { return; } } presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue(name); CfgParamFloat paramFocusDistance = new CfgParamFloat("FocusDistance"); paramFocusDistance.SetValue(focusDistance); CfgParamFloat paramFocusLength = new CfgParamFloat("FocusLength"); paramFocusLength.SetValue(focusLength); CfgParamFloat paramFocusLengthNear = new CfgParamFloat("FocusLengthNear"); paramFocusLengthNear.SetValue(focusLengthNear); CfgParamFloat paramBlur = new CfgParamFloat("Blur"); paramBlur.SetValue(blur); CfgParamFloat paramFocusDepthOffset = new CfgParamFloat("FocusDepthOffset"); paramFocusDepthOffset.SetValue(focusDepthOffset); presetParam.InsertValue(paramName); presetParam.InsertValue(paramFocusDistance); presetParam.InsertValue(paramFocusLength); presetParam.InsertValue(paramFocusLengthNear); presetParam.InsertValue(paramBlur); presetParam.InsertValue(paramFocusDepthOffset); camera_params.Insert(presetParam); SaveConfigToFile(); m_CameraPresets.Insert(new ScriptConsoleCameraDOFPreset(name, focusDistance, focusLength, focusLengthNear, blur, focusDepthOffset)); } void RemoveCameraPreset(string name) { int i; array camera_params = GetArray(CAMERA_PRESETS_LIST); for (i = 0; i < camera_params.Count(); i++) { CfgParamArray presetParam = CfgParamArray.Cast(camera_params.Get(i)); if (!presetParam) continue; CfgParamString paramName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING)); if (paramName.GetValue() == name) { camera_params.Remove(i); break; } } SaveConfigToFile(); for (i = 0; i < m_CameraPresets.Count(); i++) { ScriptConsoleCameraDOFPreset cameraPreset = m_CameraPresets.Get(i); if (cameraPreset.Name == name) { m_CameraPresets.Remove(i); break; } } } void AddWeatherPreset(string name, float overcast, float rain, float snow, float fog, float windM, float windD, float volFogDD, float volFogHD, float volFogHB) { CfgParamArray presetParam; CfgParamString paramName; CfgParamFloat paramOvercast, paramRain, paramSnow, paramFog, paramWindMagnitude, paramWindDirection, paramVolFogDD, paramVolFogHD, paramVolFogHB; array weather_params = GetArray(WEATHER_PRESETS_LIST); int weatherPresetIndex = -1; for (int i = 0; i < weather_params.Count(); i++) { presetParam = CfgParamArray.Cast(weather_params.Get(i)); if (!presetParam) return; paramName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING)); if (paramName.GetValue() == name) { weatherPresetIndex = i; break; } } if (weatherPresetIndex > -1) { weather_params.Remove(weatherPresetIndex); } presetParam = new CfgParamArray(""); paramName = new CfgParamString("Name"); paramName.SetValue(name); paramOvercast = new CfgParamFloat("Overcast"); paramOvercast.SetValue(overcast); paramRain = new CfgParamFloat("Rain"); paramRain.SetValue(rain); paramSnow = new CfgParamFloat("Snow"); paramSnow.SetValue(snow); paramFog = new CfgParamFloat("Fog"); paramFog.SetValue(fog); paramWindMagnitude = new CfgParamFloat("WindMagnitude"); paramWindMagnitude.SetValue(windM); paramWindDirection = new CfgParamFloat("WindDirection"); paramWindDirection.SetValue(windD); paramVolFogDD = new CfgParamFloat("VolFogDD"); paramVolFogDD.SetValue(volFogDD); paramVolFogHD = new CfgParamFloat("VolFogHD"); paramVolFogHD.SetValue(volFogHD); paramVolFogHB = new CfgParamFloat("VolFogHB"); paramVolFogHB.SetValue(volFogHB); presetParam.InsertValue(paramName); presetParam.InsertValue(paramOvercast); presetParam.InsertValue(paramRain); presetParam.InsertValue(paramSnow); presetParam.InsertValue(paramFog); presetParam.InsertValue(paramWindMagnitude); presetParam.InsertValue(paramWindDirection); presetParam.InsertValue(paramVolFogDD); presetParam.InsertValue(paramVolFogHD); presetParam.InsertValue(paramVolFogHB); if (weatherPresetIndex == -1) { weather_params.Insert(presetParam); m_WeatherPresets.Insert(new ScriptConsoleWeatherPreset(name, overcast, rain, snow, fog, windM, windD, volFogDD, volFogHD, volFogHB)); } else { weather_params.InsertAt(presetParam, weatherPresetIndex); LoadWeatherPresets(); } SaveConfigToFile(); } void RemoveWeatherPreset(string name) { int i; array weather_params = GetArray(WEATHER_PRESETS_LIST); for (i = 0; i < weather_params.Count(); i++) { CfgParamArray presetParam = CfgParamArray.Cast(weather_params.Get(i)); if (!presetParam) continue; CfgParamString paramName = CfgParamString.Cast(presetParam.GetValueByName("Name", CFG_TYPE_STRING)); if (paramName.GetValue() == name) { weather_params.Remove(i); break; } } SaveConfigToFile(); for (i = 0; i < m_WeatherPresets.Count(); i++) { ScriptConsoleWeatherPreset weatherPreset = m_WeatherPresets.Get(i); if (weatherPreset.Name == name) { m_WeatherPresets.Remove(i); break; } } } //======================================== // GetFileName //======================================== override string GetFileName() { if (!FileExist(GetSubFolderName()))//---ALL LINES CONTAINING THIS COMMENT CAN BE REMOVED IN 1.23 return "$profile:debugProfile.cfg";//---ALL LINES CONTAINING THIS COMMENT CAN BE REMOVED IN 1.23 return GetSubFolderName() + CFG_FILE_DEBUG_PROFILE; } override string GetSubFolderName() { return CFG_FILE_DEBUG_DIR; } //======================================== // SceneEditorDrawSelection //======================================== bool GetSceneEditorDrawSelection() { return GetBool( SCENE_DRAW_SELECTION ); } void SetSceneEditorDrawSelection( bool value ) { SetBool( SCENE_DRAW_SELECTION, value ); } //======================================== // SceneEditorSavePlayerPos //======================================== bool GetSceneEditorLoadPlayerPos() { return GetBool( SCENE_LOAD_PLAYER_POS ); } void SetSceneEditorLoadPlayerPos( bool value ) { SetBool( SCENE_LOAD_PLAYER_POS, value ); } //======================================== // SceneEditorRotationAngle //======================================== int GetSceneEditorRotationAngle() { return GetInt( SCENE_ROTATION_ANGLE ); } void SetSceneEditorRotationAngle( int value ) { SetInt( SCENE_ROTATION_ANGLE, value ); } //======================================== // TabSelected //======================================== int GetTabSelected() { return GetInt( ITEM_TAB_SELECTED ); } void SetTabSelected( int value ) { SetInt( ITEM_TAB_SELECTED, value ); } //======================================== // SpawnLocIndex //======================================== int GetSpawnLocIndex() { return GetInt( SPAWN_LOC_INDEX ); } void SetSpawnLocIndex( int value ) { SetInt( SPAWN_LOC_INDEX, value ); } //======================================== // FilterOrder //======================================== int GetFilterOrderReversed() { return GetBool( FILTER_REVERSED ); } void SetFilterOrderReversed( bool reversed ) { SetBool( FILTER_REVERSED, reversed ); } //======================================== // DefaultPreset //======================================== string GetDefaultPreset() { return GetString( PRESET_DEFAULT ); } void SetDefaultPreset( string value ) { SetString( PRESET_DEFAULT, value ); } //======================================== // Batch Spawn Params //======================================== array GetBatchSpawnRectangle() { return GetArray( BATCH_RECT ); } void SetBatchSpawnRectangle( int row, int column, float rowStep, float columnStep) { array params = GetArray( BATCH_RECT ); params.Clear(); CfgParamString param; CfgParamInt param1 = new CfgParamInt(""); param1.SetValue(row); CfgParamInt param2 = new CfgParamInt(""); param2.SetValue(column); CfgParamFloat param3 = new CfgParamFloat(""); param3.SetValue(rowStep); CfgParamFloat param4 = new CfgParamFloat(""); param4.SetValue(columnStep); params.Insert(param1); params.Insert(param2); params.Insert(param3); params.Insert(param4); SaveConfigToFile(); } //======================================== // Batch Spawn Quantity //======================================== int GetBatchSpawnQuantity() { return GetInt( BATCH_QUANT ); } void SetBatchSpawnQuantity(int value) { SetInt( BATCH_QUANT, value ); } //======================================== // ItemSearch //======================================== string GetItemSearch() { return GetString( ITEM_SEARCH ); } void SetItemSearch( string value ) { SetString( ITEM_SEARCH, value ); } //======================================== // SpawnDistance //======================================== float GetSpawnDistance() { return GetFloat( SPAWN_DISTANCE ); } void SetSpawnDistance( float value ) { SetFloat( SPAWN_DISTANCE, value ); } //======================================== // LogsEnabled //======================================== bool GetLogsEnabled() { return GetBool( LOGS_ENABLED ); } void SetLogsEnabled( bool value ) { SetBool( LOGS_ENABLED, value ); } //======================================== // CharacterLevelsVisible //======================================== bool GetCharacterLevelsVisible() { return GetBool( CHAR_LEVELS_VIS ); } void SetCharacterLevelsVisible( bool is_visible ) { SetBool( CHAR_LEVELS_VIS, is_visible ); } //======================================== // ItemDebugPos //======================================== void SetItemDebugPos(vector pos) { SetString( ITEMDEBUG ,pos.ToString(false)); } vector GetItemDebugPos() { return GetString( ITEMDEBUG ).ToVector(); } //======================================== // CharacterStatsVisible //======================================== bool GetCharacterStatsVisible() { return GetBool( CHAR_STATS_VIS ); } void SetCharacterStatsVisible( bool is_visible ) { SetBool( CHAR_STATS_VIS, is_visible ); } //======================================== // CharacterModifiersVisible //======================================== bool GetCharacterModifiersVisible() { return GetBool( CHAR_MODIFIERS_VIS ); } void SetCharacterModifiersVisible( bool is_visible ) { SetBool( CHAR_MODIFIERS_VIS, is_visible ); } //======================================== // CharacterAgentsVisible //======================================== bool GetCharacterAgentsVisible() { return GetBool( CHAR_AGENTS_VIS ); } void SetCharacterAgentsVisible( bool is_visible ) { SetBool( CHAR_AGENTS_VIS, is_visible ); } //======================================== // CharacterDebugVisible //======================================== bool GetCharacterDebugVisible() { return GetBool( CHAR_DEBUG_VIS ); } void SetCharacterDebugVisible( bool is_visible ) { SetBool( CHAR_DEBUG_VIS, is_visible ); } //======================================== // CharacterStomachVisible //======================================== bool GetCharacterStomachVisible() { return GetBool( CHAR_STOMACH_VIS ); } void SetCharacterStomachVisible( bool is_visible ) { SetBool( CHAR_STOMACH_VIS, is_visible ); } //======================================== // FreeCameraCrosshairVisible //======================================== bool GetFreeCameraCrosshairVisible() { return GetBool( FREE_CAMERA_CROSSHAIR ); } void SetFreeCameraCrosshairVisible( bool is_visible ) { SetBool( FREE_CAMERA_CROSSHAIR, is_visible ); } //======================================== // VersionVisible //======================================== bool GetVersionVisible() { return GetBool( VERSION_VIS ); } void SetVersionVisible( bool is_visible ) { SetBool( VERSION_VIS, is_visible ); } //======================================== // Merge Type //======================================== bool GetMergeType() { return GetBool( MERGE_TYPE ); } void SetMergeType( bool is_visible ) { SetBool( MERGE_TYPE, is_visible ); } //======================================== // Soundset Filter //======================================== string GetSoundsetFilter() { return GetString( SOUNDFILTER ); } void SetSoundsetFilter( string content ) { SetString( SOUNDFILTER, content ); } //======================================== // TemperatureVisible //======================================== bool GetTempVisible() { return GetBool( TEMP_VIS ); } void SetTempVisible( bool is_visible ) { SetBool( TEMP_VIS, is_visible ); } //======================================== // HealthVisible //======================================== bool GetHealthVisible() { return GetBool( HEALTH_VIS ); } void SetHealthVisible( bool is_visible ) { SetBool( HEALTH_VIS, is_visible ); } //======================================== // HorticultureVisible //======================================== bool GetHorticultureVisible() { return GetBool( HORTICULTURE_VIS ); } void SetHorticultureVisible( bool is_visible ) { SetBool( HORTICULTURE_VIS, is_visible ); } //======================================== // Show Item Preview //======================================== bool GetShowItemPreview() { return GetBool( ITEM_PREVIEW ); } void SetShowItemPreview( bool show ) { SetBool( ITEM_PREVIEW, show ); } //======================================== // ConfigClassesFlag //======================================== int GetConfigClassesFlag() { return GetInt( CONFIG_CLASSES_FLAG ); } void SetConfigClassesFlag( int flag ) { SetInt( CONFIG_CLASSES_FLAG, flag ); } //======================================== // Item Category Flag //======================================== int GetItemCategoryFlag() { return GetInt( ITEM_CATEGORY_FLAG ); } void SetItemCategoryFlag( int flag ) { SetInt( ITEM_CATEGORY_FLAG, flag ); } //======================================== // User Location //======================================== bool CustomLocationsAdd( string name, vector position ) { string world = g_Game.GetWorldName(); world.ToLower(); CfgParamString locationName = new CfgParamString(PluginConfigDebugProfileFixed.SUB_PARAM_POS_NAME); locationName.SetValue(name); CfgParamString locationPos = new CfgParamString(PluginConfigDebugProfileFixed.SUB_PARAM_POS_VEC); locationPos.SetValue(position.ToString(false)); CfgParamArray locationEntry = new CfgParamArray( locationName.GetValue() ); locationEntry.InsertValue( locationName ); locationEntry.InsertValue( locationPos ); string paramName = POSITION_NAME_ROOT + world; array params = GetArray(paramName); params.Insert(locationEntry); SetArray(paramName, params); SaveConfigToFile(); return true; } void CustomLocationsRemove( string name ) { if (!name) return; string world = g_Game.GetWorldName(); world.ToLower(); string paramName = POSITION_NAME_ROOT + world; array params = GetArray(paramName); for (int i = 0; i < params.Count(); i++) { CfgParamArray param = CfgParamArray.Cast(params.Get(i)); array prms = param.GetValues(); CfgParamString par = CfgParamString.Cast(prms.Get(0)); if (par.GetValue() == name) { params.RemoveOrdered(i); break; } } //SetArray(paramName, params); SaveConfigToFile(); } //======================================== // Camera Presets //======================================== array GetCameraPresets() { return m_CameraPresets; } //======================================== // Weather Presets //======================================== array GetWeatherPresets() { return m_WeatherPresets; } //======================================== // Presets //======================================== TStringArray GetPresets() { return m_PresetList; } protected void SetPreset( string preset_name, int index = -1 ) { array params = GetArray( PRESET_LIST ); CfgParamString param; if ( index == -1 ) { param = new CfgParamString( "" ); param.SetValue( preset_name ); params.Insert( param ); m_PresetList.Insert( preset_name ); } else { param = CfgParamString.Cast( params.Get( index ) ); param.SetValue( preset_name ); params.Set( index, param ); m_PresetList.Set( index, preset_name ); } SaveConfigToFile(); } protected void RemovePreset( string preset_name ) { array params = GetArray( PRESET_LIST ); for ( int i = 0; i < params.Count(); i++ ) { CfgParamString param = CfgParamString.Cast( params.Get(i) ); if ( param.GetValue() == preset_name ) { params.RemoveItem( param ); m_PresetList.RemoveItem( preset_name ); } } } bool GetPresetItems( string preset_name, out TStringArray arr, string param_name = "" ) { if ( m_PresetList.Find(preset_name) == -1 ) { return false; } if(param_name == "") param_name = SUB_PARAM_ITEM_NAME; GetSubParametersInStringArray( preset_name, param_name, arr ); return true; } bool PresetAdd( string preset_name ) { if ( m_PresetList.Find(preset_name) > -1 ) { return false; } SetPreset( preset_name ); SetArray( preset_name, new array ); SaveConfigToFile(); return true; } bool PresetRemove( string preset_name ) { if ( m_PresetList.Find(preset_name) == -1 ) { return false; } RemovePreset( preset_name ); RemoveParamByName( preset_name ); SaveConfigToFile(); return true; } bool PresetRename( string old_preset_name, string new_preset_name ) { int index = m_PresetList.Find( old_preset_name ); if ( index == -1 ) { return false; } SetPreset( new_preset_name, index ); RenameParam( old_preset_name, new_preset_name ); SaveConfigToFile(); return true; } bool ItemAddToPreset( string preset_name, string item_name ) { if ( m_PresetList.Find( preset_name ) == -1 ) { return false; } CfgParamString param = new CfgParamString( SUB_PARAM_ITEM_NAME ); param.SetValue( item_name ); CfgParamArray item_params = new CfgParamArray( SUB_PARAM_ITEM ); item_params.InsertValue( param ); array params = GetArray( preset_name ); params.Insert( item_params ); SaveConfigToFile(); return true; } bool ItemRemoveFromPreset( string preset_name, int item_index ) { if ( m_PresetList.Find( preset_name ) == -1 ) { return false; } array params = GetArray( preset_name ); if ( item_index >= params.Count() ) { return false; } params.Remove( item_index ); SaveConfigToFile(); return true; } bool SwapItem( string preset_name, int item1_index, int item2_index ) { array params = GetArray( preset_name ); if ( item1_index >= params.Count() || item2_index >= params.Count() ) { return false; } params.SwapItems( item1_index, item2_index ); SaveConfigToFile(); return true; } protected array GetItemParams( string preset_name, int item_index ) { if ( m_PresetList.Find( preset_name ) == -1 ) { return NULL; } array params = GetArray( preset_name ); if ( !params || item_index >= params.Count() ) { return NULL; } if (params.IsValidIndex(item_index)) CfgParamArray params_array = CfgParamArray.Cast( params.Get( item_index ) ); if (params_array) return params_array.GetValues(); return null; } protected CfgParam GetItemParam( string preset_name, int item_index, string param_name ) { array item_params = GetItemParams( preset_name, item_index ); if ( item_params == NULL ) { return NULL; } CfgParam param = NULL; for ( int i = 0; i < item_params.Count(); i++ ) { if ( item_params.Get(i).GetName() == param_name ) { param = item_params.Get(i); } } return param; } float GetItemHealth( string preset_name, int item_index ) { CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_HEALTH ); if ( param == NULL ) { return -1; } else { CfgParamFloat param_float = CfgParamFloat.Cast( param ); return param_float.GetValue(); } } bool SetItemHealth( string preset_name, int item_index, float health ) { CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_HEALTH ); if ( param != NULL ) { CfgParamFloat param_float = CfgParamFloat.Cast( param ); param_float.SetValue( health ); } else { array item_params = GetItemParams( preset_name, item_index ); if ( item_params != NULL ) { CfgParamFloat new_param = new CfgParamFloat( SUB_PARAM_ITEM_HEALTH ); new_param.SetValue( health ); item_params.Insert( new_param ); } } SaveConfigToFile(); return true; } int GetItemQuantity( string preset_name, int item_index ) { CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_QUANTITY ); if ( param == NULL ) { return 1; } else { CfgParamInt param_int = CfgParamInt.Cast( param ); return param_int.GetValue(); } } bool SetItemQuantity( string preset_name, int item_index, int quantity ) { CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_QUANTITY ); if ( param != NULL ) { CfgParamInt param_int = CfgParamInt.Cast( param ); param_int.SetValue( quantity ); } else { array item_params = GetItemParams( preset_name, item_index ); if ( item_params != NULL ) { CfgParamInt new_param = new CfgParamInt( SUB_PARAM_ITEM_QUANTITY ); new_param.SetValue( quantity ); item_params.Insert( new_param ); } } SaveConfigToFile(); return true; } bool GetItemWithPhysics( string preset_name, int item_index ) { CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_WITH_PHYSICS ); if ( param == NULL ) { return false; } else { CfgParamBool param_bool = CfgParamBool.Cast( param ); return param_bool.GetValue(); } } bool SetItemWithPhysics( string preset_name, int item_index, bool with_physics ) { CfgParam param = GetItemParam( preset_name, item_index, SUB_PARAM_ITEM_WITH_PHYSICS ); if ( param != NULL ) { CfgParamBool param_bool = CfgParamBool.Cast( param ); param_bool.SetValue( with_physics ); } else { array item_params = GetItemParams( preset_name, item_index ); if ( item_params != NULL ) { CfgParamBool new_param = new CfgParamBool( SUB_PARAM_ITEM_WITH_PHYSICS ); new_param.SetValue( with_physics ); item_params.Insert( new_param ); } } SaveConfigToFile(); return true; } //======================================== // Locations //======================================== void GetLocationsData( out array arr , bool isCustom) { string world = g_Game.GetWorldName(); world.ToLower(); string paramName = POSITION_NAME_ROOT + world; TStringArray names = new TStringArray(); GetSubParametersInStringArray( paramName, PluginConfigDebugProfileFixed.SUB_PARAM_POS_NAME, names ); TStringArray positions = new TStringArray(); GetSubParametersInStringArray( paramName, PluginConfigDebugProfileFixed.SUB_PARAM_POS_VEC, positions ); int i; if (isCustom) { for ( i = names.Count() - 1; i >= 0 ; i--) { arr.Insert(new LocationParams(names.Get(i), isCustom, positions.Get(i).ToVector())); } } else { for (i = 0; i < names.Count(); i++) { arr.Insert(new LocationParams(names.Get(i), isCustom, positions.Get(i).ToVector())); } } } }