/** * Copyright 1998-2013 Epic Games, Inc. All Rights Reserved. */ /** * This class holds the data used in reading/writing online profile settings. * Online profile settings are stored by an external service. */ class KFProfileSettings extends OnlineProfileSettings native; `include(KFProfileSettings.uci) struct native WeaponSkinPairs { var init string ClassPath; var int SkinId; }; var transient array Characters; var transient array FavoriteWeapons; var transient array ActiveSkins; var transient bool Dirty; event FavoriteWeapon(name WeaponName) { if(FavoriteWeapons.Find(string(WeaponName)) == INDEX_NONE) { // Only add if unique FavoriteWeapons.AddItem(string(WeaponName)); Dirty = true; } } event UnFavoriteWeapon(name WeaponName) { local int Index; Index = FavoriteWeapons.Find(string(WeaponName)); if( Index != INDEX_NONE ) { FavoriteWeapons.Remove(Index, 1); Dirty = true; } } event Save( byte ControllerId ) { if(Dirty) { FlattenExtraToProfileSettings(); if( KFGameEngine(class'Engine'.static.GetEngine()).LocalLoginStatus != LS_UsingLocalProfile ) { class'GameEngine'.static.GetOnlineSubsystem().PlayerInterface.WriteProfileSettings(ControllerId, self); } Dirty = false; } } native function SaveWeaponSkin(string ClassPath, int Id); native function ClearWeaponSkin(string ClassPath); event ApplyWeaponSkin(int ItemDefinition) { local class WeaponDef; local int ItemIndex; ItemIndex = class'KFWeaponSkinList'.default.Skins.Find('Id', ItemDefinition); if(ItemIndex == INDEX_NONE) { return; } WeaponDef = class'KFWeaponSkinList'.default.Skins[ItemIndex].WeaponDef; if(WeaponDef != none) { class'KFWeaponSkinList'.Static.SaveWeaponSkin(WeaponDef, ItemDefinition); } } function bool HasSafeFrameSet() { return GetProfileFloat( KFID_SafeFrameScale ) != 0.f; } function bool SetProfileSettingValueInt(int ProfileSettingId,int Value) { if(super.SetProfileSettingValueInt(ProfileSettingId, Value)) { Dirty = true; return true; } //`QALog(`location@"Failed to set value for"@`showvar(ProfileSettingId)@"To"@`showvar(Value)); return false; } function bool SetProfileSettingValueBool(int ProfileSettingId, bool Value) { if(super.SetProfileSettingValueInt(ProfileSettingId, Value ? 1 : 0)) { Dirty = true; return true; } //`QALog(`location@"Failed to set value for"@`showvar(ProfileSettingId)@"To"@`showvar(Value)); return false; } function bool SetProfileSettingValueFloat(int ProfileSettingId,float Value) { if(super.SetProfileSettingValueFloat(ProfileSettingId, Value)) { Dirty = true; return true; } //`QALog(`location@"Failed to set value for"@`showvar(ProfileSettingId)@"To"@`showvar(Value)); return false; } event int GetProfileInt(int ProfileSettingId) { local int tempInt; GetProfileSettingValueInt(ProfileSettingId, tempInt); return tempInt; } event bool GetProfileBool(int ProfileSettingId) { local int tempInt; GetProfileSettingValueInt(ProfileSettingId, tempInt); return tempInt != 0; } event float GetProfileFloat(int ProfileSettingId) { local float tempFloat; GetProfileSettingValueFloat(ProfileSettingId, tempFloat); return tempFloat; } event string GetProfileString(int ProfileSettingId) { local string TempStr; GetProfileSettingValue(ProfileSettingId, TempStr); return TempStr; } function int GetDefaultInt(int ProfileSettingId) { local int tempInt; GetProfileSettingDefaultInt(ProfileSettingId, tempInt); return tempInt; } function bool GetDefaultBool(int ProfileSettingId) { local int tempInt; GetProfileSettingDefaultInt(ProfileSettingId, tempInt); return tempInt != 0; } function float GetDefaultFloat(int ProfileSettingId) { local float tempFloat; GetProfileSettingDefaultFloat(ProfileSettingId, tempFloat); return tempFloat; } native function bool SetCharacterGear(const out CustomizationInfo GearSet); native function PushProfileSettingsToClasses(); native event SetToDefaults(); //@HSL_MOD_BEGIN - amiller 5/11/2016 - Adding support to save extra data into profile settings native function FlattenExtraToProfileSettings(); native function ExpandExtraFromProfileSettings(); //@HSL_MOD_END cpptext { void ForceCharacterSync(); } defaultproperties { VersionNumber=6 Dirty=false // UI readable versions of the owners OwnerMappings(0)=(Id=OPPO_None) OwnerMappings(1)=(Id=OPPO_OnlineService) OwnerMappings(2)=(Id=OPPO_Game) ProfileMappings.Empty() // Meta data for displaying in the UI ProfileMappings.Add((Id=KFID_QuickWeaponSelect, Name="Quick Weapon Select", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_CurrentLayoutIndex, Name="Current Layout Index", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_ForceFeedbackEnabled, Name="Force Feedback Enabled", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedPerkIndex, Name="Saved Perk Index", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_AllowBloodSplatterDecals, Name="Allow Blood Splatter Decals", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_GoreLevel, Name="Gore Level", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_StoredCharIndex, Name="Stored Character Index", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_MasterVolumeMultiplier, Name="Master Volume Multi", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_DialogVolumeMultiplier, Name="Dialog Volume Multi", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_MusicVolumeMultiplier, Name="Music Volume Multi", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SFXVolumeMultiplier, Name="SFX Volume Multi", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_GammaMultiplier, Name="Gamma Multiplier", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_MusicVocalsEnabled, Name="Music Vocals Enabled", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_MinimalChatter, Name="Minimal Chatter", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_ShowCrossHair, Name="Show Crosshair", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_FOVOptionsPercentageValue, Name="FOV Options Percentage", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_ShowKillTicker, Name="FOV Options Percentage", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_FriendlyHudScale, Name="Friendly HUD Scale", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_FavoriteWeapons, Name="Favorite Weapons", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_GearLoadouts, Name="Gear Loadouts", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SetGamma, Name="Set Gamma", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_RequiresPushToTalk, Name="RequiresPushToTalk", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_InvertController, Name="controllerInvertedValue", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_AutoTargetEnabled, Name="AutoTarget Enabled", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_GamepadSensitivityScale, Name="GamepadSensitivityScale", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_ZoomedSensitivityScale, Name="Zoomed Sensitivity", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_GamepadZoomedSensitivityScale, Name="Gamepad Zoomed Sensitivity", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_MouseSensitivity, Name="View acceleration enabled", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_TargetAdhesionEnabled, Name="aimAssistRotationValue", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_TargetFrictionEnabled, Name="aimAssistSlowDownValue", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_InvertMouse, Name="invertedValue", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_EnableMouseSmoothing, Name="mouseSmoothingLabel", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_VOIPVolumeMultiplier, Name="VOIPVolumeMultiplier", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_VOIPMicVolumeMultiplier, Name="VOIPMicVolumeMultiplier", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedSoloModeIndex, Name="SavedSoloModeIndex", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedSoloMapString, Name="SavedSoloMapString", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedSoloDifficultyIndex, Name="SavedSoloDifficultyIndex", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedSoloLengthIndex, Name="SavedSoloLengthIndex", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedModeIndex, Name="SavedModeIndex", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedMapString, Name="SavedMapString", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedDifficultyIndex, Name="SavedDifficultyIndex", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedLengthIndex, Name="SavedLengthIndex", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedPrivacyIndex, Name="SavedPrivacyIndex", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedServerTypeIndex, Name="SavedServerTypeIndex", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedInProgressIndex, Name="SavedInProgressIndex", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_ControllerSoundEnabled, Name="Controller Sound Enabled", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_MatchmakingRegion, Name="Matchmaking Region", MappingType=PVMT_RawValue)) //Added 7/11/2016 ProfileMappings.Add((Id=KFID_UseAltAimOnDuals, Name="Use alt Dual Aim", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_HideBossHealthBar, Name="Hide Boss Health Bar", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_AntiMotionSickness, Name="Anti Motion Sickness", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_ShowWelderInInventory, Name="Show Welder in Inventory", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_AutoTurnOff, Name="Auto Turn off", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_ReduceHightPitchSounds, Name="Reduce High Pitch Sounds", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_DisableAutoUpgrade, Name="Disable Auto Upgrade", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_HideRemoteHeadshotEffects, Name="Hide Remote Player Headshot Effects", MappingType=PVMT_RawValue)) //Added 9/6/2016- Support for WeaponSkins ProfileMappings.Add((Id=KFID_WeaponSkinAssociations, Name="Weapon Skin KeyValue Pairs", MappingType=PVMT_RawValue)) //PS4 specific ProfileMappings.Add((Id=KFID_ShowConsoleCrossHair, Name="Show Console Crosshair", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedEmoteId, Name="Saved Emote ID", MappingType=PVMT_RawValue)) ProfileMappings.Add((Id=KFID_SavedHeadshotID, Name="Saved Headshot ID", MappingType=PVMT_RawValue)) //Added 2/27/2017 - Support for safe frame setting ProfileMappings.Add((Id=KFID_SafeFrameScale, Name="Safe Frame", MappingType=PVMT_RawValue)) //Added 8/21/2017 - Support for native 4k rendering on Xbox One X (Scorpio) ProfileMappings.Add((Id=KFID_Native4kResolution, Name="Native 4k Resolution", MappingType=PVMT_RawValue)) //Added 1/31/2019 - Toggle for Sprint ProfileMappings.Add((Id=KFID_ToggleToRun, Name="Toggle To Run", MappingType=PVMT_RawValue)) //Added 3/6/2019 - Classic Player Info ProfileMappings.Add((Id = KFID_ClassicPlayerInfo, Name = "Legacy Health Bars", MappingType = PVMT_RawValue)) // Hex values for SDT_Float values, I use http://www.h-schmidt.net/FloatConverter/IEEE754.html for conversion DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_QuickWeaponSelect,Data=(Type=SDT_Int32,Value1=1)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_CurrentLayoutIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_ForceFeedbackEnabled,Data=(Type=SDT_Int32,Value1=1)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedPerkIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_AllowBloodSplatterDecals,Data=(Type=SDT_Int32,Value1=1)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_GoreLevel,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_StoredCharIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_MasterVolumeMultiplier,Data=(Type=SDT_Float,Value1=0x42480000)))) //50.0f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_DialogVolumeMultiplier,Data=(Type=SDT_Float,Value1=0x42480000)))) //50.0f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_MusicVolumeMultiplier,Data=(Type=SDT_Float,Value1=0x42480000)))) //50.0f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SFXVolumeMultiplier,Data=(Type=SDT_Float,Value1=0x42480000)))) //50.0f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_GammaMultiplier,Data=(Type=SDT_Float,Value1=0x3f666666)))) // 0.9f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_MusicVocalsEnabled,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_MinimalChatter,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_ShowCrossHair,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_FOVOptionsPercentageValue,Data=(Type=SDT_Float,Value1=0x3f800000)))) // 1.0f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_ShowKillTicker,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_FriendlyHudScale,Data=(Type=SDT_Float,Value1=0x3f800000)))) // default of 1.0f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_FavoriteWeapons,Data=(Type=SDT_String,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_GearLoadouts,Data=(Type=SDT_String,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SetGamma,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_RequiresPushToTalk,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_InvertController,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_GamepadSensitivityScale,Data=(Type=SDT_Float,Value1=0x3f800000)))) // 1.0f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_ZoomedSensitivityScale,Data=(Type=SDT_Float,Value1=0x3eb33333)))) // 0.35f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_GamepadZoomedSensitivityScale,Data=(Type=SDT_Float,Value1=0x3f19999a)))) // 0.60f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_MouseSensitivity,Data=(Type=SDT_Float,Value1=0x41f00000)))) // 30.0f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_TargetAdhesionEnabled,Data=(Type=SDT_Int32,Value1=1)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_TargetFrictionEnabled,Data=(Type=SDT_Int32,Value1=1)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_AutoTargetEnabled,Data=(Type=SDT_Int32,Value1=1)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_InvertMouse,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_EnableMouseSmoothing,Data=(Type=SDT_Int32,Value1=1)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_VOIPVolumeMultiplier,Data=(Type=SDT_Float,Value1=0x3fc00000)))) // 1.50f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_VOIPMicVolumeMultiplier,Data=(Type=SDT_Float,Value1=0x42480000)))) // 50.0f DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedSoloModeIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedSoloMapString,Data=(Type=SDT_String,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedSoloDifficultyIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedSoloLengthIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedModeIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedMapString,Data=(Type=SDT_String,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedDifficultyIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedLengthIndex,Data=(Type=SDT_Int32,Value1=0)))) //default to any DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedPrivacyIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedServerTypeIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedInProgressIndex,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_ControllerSoundEnabled,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_MatchmakingRegion,Data=(Type=SDT_String,Value1=0)))) //Added 7/11/2016 DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_UseAltAimOnDuals,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_HideBossHealthBar,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_AntiMotionSickness,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_ShowWelderInInventory,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_AutoTurnOff,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_ReduceHightPitchSounds,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_DisableAutoUpgrade,Data=(Type=SDT_Int32,Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId= KFID_HideRemoteHeadshotEffects,Data=(Type=SDT_Int32,Value1=1)))) //Added 9/6/2016- Support for WeaponSkins DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_WeaponSkinAssociations,Data=(Type=SDT_String, Value1=0)))) DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_ShowConsoleCrossHair,Data=(Type=SDT_Int32,Value1=1)))) //Added 11/2/2016- Support for Emotes DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedEmoteId,Data=(Type=SDT_Int32,Value1=-1)))) //Added 6/6/2018- Support for Emotes DefaultSettings.Add((Owner=OPPO_Game,ProfileSetting=(PropertyId=KFID_SavedHeadshotID,Data=(Type=SDT_Int32,Value1=-1)))) //Added 2/27/2017 - Support for safe frame setting DefaultSettings.Add((Owner=OPPO_Game, ProfileSetting=(PropertyId=KFID_SafeFrameScale,Data=(Type=SDT_Float,Value1=0)))) //Added 8/21/2017 - Support for native 4k rendering on Xbox One X (Scorpio) DefaultSettings.Add((Owner=OPPO_Game, ProfileSetting=(PropertyId=KFID_Native4kResolution,Data=(Type=SDT_Int32,Value1=0)))) //Added 1/31/2019 - Toggle for Sprint DefaultSettings.Add((Owner=OPPO_Game, ProfileSetting=(PropertyId=KFID_ToggleToRun, Data=(Type=SDT_INT32, Value1=1)))) //Added 3/6/2019 - Classic Player Info DefaultSettings.Add((Owner=OPPO_Game, ProfileSetting=(PropertyId=KFID_ClassicPlayerInfo, Data=(Type=SDT_INT32, Value1=0)))) }