Advertisement
ScriptzMoDz

BF4 initfs_ps3.toc

Oct 6th, 2014
1,415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 231.12 KB | None | 0 0
  1. ÑÎ xa37dd45ffe100bfffcc9753aabac325f07cb3fa231144fe2e33ae4783feead2b8a73ff021fac326df0ef9753ab9cdf6573ddff0312fab0b0ff39779eaff312a4f5de65892ffee33a44569bebf21f66d22e54a22347efd375981188743afd99baacc342d88a99321235798725fedcbf43252669dade32415fee89da543bf23d4ex Œ»ÐØ#n'ÆÀ}t†pyöÖéÒhžFÆÓvŽR¶1°rXB_b„/k'½PŒ^éÞ6‚Rˆ©áº‰œÑ®e<v3`ÿšrÀhÑVcµºj§^ZÑÈ@WÓØi:dŠYëYr¸«/_‹¦®/¶O"¶¶6$2 RçGH
  2. üá×ÃS¸kÅ»þè*„òìpz²ç>u[iEc¿¼'ºb“iÐAšYOJ1ò¯/{,wà#ÎÚŽÔè‹»Ê í¹Õ2Q'">4D‚` »p°[À®é3Nµätºs”vö–4¢#jP¥Ç֐þ —£
  3. ଙ×C1j « ƒ°‚x$file ofs initfs_Ps3 name default_settings.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  4. ‚Š$file €fs initfs_Ps3 name &Levels/SP/SP_Prologue/SP_Prologue.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  5. ‚Š$file €fs initfs_Ps3 name &Levels/SP/SP_Shanghai/SP_Shanghai.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  6. ‚ƒ$file zfs initfs_Ps3 name Levels/SP/SP_Naval/SP_Naval.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  7. ‚Š$file €fs initfs_Ps3 name &Levels/SP/SP_Airfield/SP_Airfield.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  8. ‚…$file |fs initfs_Ps3 name "Levels/SP/SP_Prison/SP_Prison.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  9. ‚$file vfs initfs_Ps3 name Levels/SP/SP_Dam/SP_Dam.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  10. ‚$file xfs initfs_Ps3 name Levels/SP/SP_Suez/SP_Suez.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  11. ‚…$file |fs initfs_Ps3 name "Levels/MP/MP_Damage/MP_Damage.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  12. ‚…$file |fs initfs_Ps3 name "Levels/MP/MP_Resort/MP_Resort.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  13. ‚Œ$file ‚fs initfs_Ps3 name (Levels/MP/MP_Abandoned/MP_Abandoned.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  14. ‚‡$file ~fs initfs_Ps3 name $Levels/MP/MP_Flooded/MP_Flooded.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  15. ‚‡$file ~fs initfs_Ps3 name $Levels/MP/MP_Tremors/MP_Tremors.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  16. ‚ƒ$file zfs initfs_Ps3 name Levels/MP/MP_Siege/MP_Siege.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  17. ‚‡$file ~fs initfs_Ps3 name $Levels/MP/MP_Journey/MP_Journey.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  18. ‚…$file |fs initfs_Ps3 name "Levels/MP/MP_Prison/MP_Prison.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  19. ‚ƒ$file zfs initfs_Ps3 name Levels/MP/MP_Naval/MP_Naval.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  20. ‚‡$file ~fs initfs_Ps3 name $Levels/MP/MP_TheDish/MP_TheDish.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  21. ‚Ž$file „fs initfs_Ps3 name *Levels/MP/MP_Playground/MP_Playground.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  22. ‚€$file wfs initfs_Ps3 name Levels/FrontEnd/FrontEnd.cfg payload 8Core.GameConfigurationName gameconfigurations/warsaw
  23. ‚ã$file Ùname database.dbmanifest payload ²<?xml version="1.0" encoding="UTF-8"?>
  24. <Database id="Warsaw" family="Venice" displayName="WarsawDev Database" pipelineTag="Venice" licensee="BF">
  25. <Settings>
  26. <Setting name='UseSparseSerialization' value='false'/>
  27. </Settings>
  28.  
  29. <EditorSettings>
  30. <EditorSetting Name="AudioSystemAsset">Sound/AudioSystem</EditorSetting>
  31. <EditorSetting Name="SoundStatesAsset">Sound/SoundStates</EditorSetting>
  32. <EditorSetting Name="VoiceOverSystemAsset">Sound/VO/VO_System</EditorSetting>
  33. <EditorSetting Name="AdditionalGameViewConfigAsset">EditorData/GameViewConfigAsset</EditorSetting>
  34. <EditorSetting Name="TagDatabaseHost">DICE-SQL2008</EditorSetting>
  35. <EditorSetting Name="TagDatabaseName">warsaw_tags</EditorSetting>
  36. <EditorSetting Name="TagDatabaseUser">FrostEd</EditorSetting>
  37. <EditorSetting Name="TagDatabasePwd">CCei2E2hwTXZ</EditorSetting>
  38. </EditorSettings>
  39.  
  40. <!-- Domain configuration
  41. -->
  42.  
  43. <Domain name="Source" root="Source" isReadOnly="true">
  44. <EmergencyBindings>
  45. <Type name="TextureBaseAsset" target="Textures/white"/>
  46. <Type name="ShaderGraph" target="Shaders/debug/black"/>
  47. </EmergencyBindings>
  48. <WellKnownNamedAssets>
  49. <Type name="EntityPipeline.EditorMaterialGridData" target="Materials/MaterialGrid"/>
  50. <Type name="Entity.EffectParameterList" target="FX/GlobalEffectParameterList"/>
  51. </WellKnownNamedAssets>
  52. </Domain>
  53. <Domain name="Temp" root="db/Temp" isEphemeral='true'>
  54. <Import domain="Source" readOnly='true'/>
  55. </Domain>
  56. <Domain name="Win32" root="Output/Win32" isEphemeral='true' isTargetDomain='true'/>
  57. <Domain name="Xenon" root="Output/Xenon" isEphemeral='true' isTargetDomain='true'/>
  58. <Domain name="Ps3" root="Output/Ps3" isEphemeral='true' isTargetDomain='true'/>
  59. <Domain name="DedicatedServer" root="Output/Server" isEphemeral='true' isTargetDomain='true'/>
  60. <Domain name="DedicatedServerGen3" root="Output/ServerGen3" isEphemeral='true' isTargetDomain='true'/>
  61. <Domain name="Gen4a" root="Output/Gen4a" isEphemeral='true' isTargetDomain='true'/>
  62. <Domain name="Gen4b" root="Output/Gen4b" isEphemeral='true' isTargetDomain='true'/>
  63. <Domain name="Editor" root="Output/Editor" isEphemeral='true'/>
  64. </Database>
  65. ‚±$file §name Scripts/Game/BugCommands.lua payload ÷Commands =
  66. {
  67. -- Bug needed for when using Trigger bug in B4Bug, info is used for all bugs
  68. StandardB4BugBug =
  69. {
  70. Name = "Standard B4Bug bug",
  71. Title = "Venice",
  72. Menu = "Bugs",
  73. AutoB4Bug = true,
  74. IsStandardBug = true,
  75.  
  76. Information =
  77. {
  78. "Field" , "Issue Type" , "Bug",
  79. "Field" , "Priority" , "Minor (C, V3, L3)",
  80. "Field" , "Assignee" , "Automatic",
  81. "Field" , "Report Method" , "B4Bug",
  82. "Field" , "Milestone Hindering" , "None",
  83. "Field" , "Language" , "English",
  84. "Field" , "User Path" , "Probable",
  85. "RPCGet", "Game Level" , "LocalPlayer.getClientLevelName",
  86.  
  87. "Field" , "Description" , "\nSessionOId: ",
  88. "RPCGet", "Description" , "BugManager.getSessionOId",
  89. "Field" , "Description" , "\nFrostbite Release: ",
  90. "RPCGet", "Description" , "BugManager.getFrostbiteRelease",
  91. "Field" , "Description" , "\nSoldier position: ",
  92. "RPCGet", "Description" , "LocalPlayer.getPlayerPosition",
  93. "Field" , "Description" , "\nCurrent camera position: ",
  94. "RPCGet", "Description" , "DebugCam.getCurrentCameraPosition",
  95.  
  96. "Field" , "Environment" , "\nOS Version: ",
  97. "RPCGet", "Environment" , "BugManager.getOSInfo",
  98. "Field" , "Environment" , "\nGPU description: ",
  99. "RPCGet", "Environment" , "DxRenderer.AdapterDescription",
  100. "Field" , "Environment" , "\nGPU driver version: ",
  101. "RPCGet", "Environment" , "DxRenderer.AdapterDriverVersion",
  102.  
  103. "RPCGet", "Platform" , "BugManager.getPlatform",
  104. "RPCGet", "Reported By (Game Team)" , "BugManager.getReportedBy",
  105. "RPCGet", "Found in Change List (Game)" , "BugManager.getChangelist",
  106. "RPCGet", "Found in Change List (Frostbite)" , "BugManager.getFrostbiteChangelist",
  107. "RPCGet" , "Juice Session ID" , "BugManager.getjuiceSessionId",
  108. },
  109.  
  110. RPCs =
  111. {
  112. "BugManager.forwardTrace",
  113. },
  114. },
  115.  
  116. TestBug1 =
  117. {
  118. Name = "Testbug",
  119. Title = "Venice",
  120. Menu = "Bugs",
  121. AutoB4Bug = true,
  122.  
  123. Information =
  124. {
  125. },
  126.  
  127. RPCs =
  128. {
  129. },
  130. },
  131.  
  132. TestBug2 =
  133. {
  134. Name = "Biometricsbug",
  135. Title = "Warsaw",
  136. Menu = "Bugs",
  137. AutoB4Bug = false,
  138.  
  139. Information =
  140. {
  141. },
  142.  
  143. RPCs =
  144. {
  145. "BugManager.RPCHandler"
  146. },
  147. },
  148.  
  149. TestCommand1 =
  150. {
  151. Name = "Testcommand 1",
  152. Title = "Venice",
  153. Menu = "QA Commands",
  154. AutoB4Bug = false,
  155.  
  156. RPCs =
  157. {
  158. "DebugRender.DrawStatsEnable 1",
  159. "UI.DrawEnable 0",
  160. },
  161.  
  162. ReverseRPCs =
  163. {
  164. "DebugRender.DrawStatsEnable 0",
  165. "UI.DrawEnable 1",
  166. },
  167. },
  168.  
  169. TestCommand2 =
  170. {
  171. Name = "Testcommand 2",
  172. Title = "Venice",
  173. Menu = "QA Commands",
  174. AutoB4Bug = false,
  175.  
  176. RPCs =
  177. {
  178. "Debug.DrawScreenCenterHelper 1",
  179. "Render.ForceFov 100",
  180. },
  181.  
  182. ReverseRPCs =
  183. {
  184. "Debug.DrawScreenCenterHelper 0",
  185. "Render.ForceFov 65",
  186. },
  187. },
  188.  
  189. AnimationCommand1 =
  190. {
  191. Name = "Animation Test",
  192. Title = "Venice",
  193. Menu = "Animation",
  194. AutoB4Bug = false,
  195.  
  196. RPCs =
  197. {
  198. "AntDebug.DrawDebugInfo 1",
  199. "AntDebug.DrawSignals 1",
  200. "UI.DrawEnable 0",
  201. },
  202.  
  203. ReverseRPCs =
  204. {
  205. "AntDebug.DrawDebugInfo 0",
  206. "AntDebug.DrawSignals 0",
  207. "UI.DrawEnable 1",
  208. },
  209. },
  210.  
  211. WeaponCommand1 =
  212. {
  213. Name = "Show weapon info",
  214. Title = "Venice",
  215. Menu = "Weapons",
  216. AutoB4Bug = false,
  217.  
  218. RPCs =
  219. {
  220. "AntDebug.DrawDebugInfo 1",
  221. "Debug.DrawScreenCenterHelper 1",
  222. "clientsoldier.debug.firingstats 1",
  223. },
  224.  
  225. ReverseRPCs =
  226. {
  227. "AntDebug.DrawDebugInfo 0",
  228. "Debug.DrawScreenCenterHelper 0",
  229. "clientsoldier.debug.firingStats 0",
  230. },
  231. },
  232.  
  233. WeaponCommand2 =
  234. {
  235. Name = "Set next weapon",
  236. Title = "Venice",
  237. Menu = "Weapons",
  238. AutoB4Bug = false,
  239.  
  240. RPCs =
  241. {
  242. "LocalPlayer.setNextAvailableWeaponFromSet",
  243. },
  244.  
  245. ReverseRPCs =
  246. {
  247. },
  248. },
  249. }
  250. ‚ž#$file ”#name Scripts/Game/Configure.lua payload æ"--
  251. -- Game configuration script
  252. --
  253.  
  254. -- Local helper functions
  255. function commandLine:lookup(name, default)
  256. local value = self[string.lower(name)]
  257.  
  258. return value or default
  259. end
  260.  
  261. local function cmdLineSwitch(switchName, fieldName, inTable)
  262. local table = inTable or Game
  263.  
  264. if (commandLine:lookup(switchName)) then
  265. table[fieldName] = true
  266. end
  267. end
  268.  
  269. function cmdLineOption(optionName, default)
  270. return commandLine:lookup(optionName, default)
  271. end
  272.  
  273. local function readCfg(name)
  274. log:debug("reading cfg: " .. name)
  275. core.readKeyValueCfg(name, _G)
  276. end
  277.  
  278. local function applySettings(settings)
  279. core.parseKeyValueCfgString(settings, _G)
  280. end
  281.  
  282. -- Basic settings
  283.  
  284. core.import("Scripts/Game/Settings.lua")
  285.  
  286. -- Import old-school cfg files for backwards compatibility
  287. local defaultConfigFile = commandLine:lookup("defaultConfig")
  288. if defaultConfigFile then
  289. readCfg(defaultConfigFile)
  290. else
  291. readCfg("Scripts/Game.cfg")
  292. end
  293.  
  294. --------------------------------------------------------------------------
  295. -- Handle any Drone override options
  296. --
  297.  
  298. for i,v in ipairs(commandLine) do
  299. if string.lower(v) == "-customconfig" then
  300. if commandLine[i+1]:find("/") then
  301. readCfg(commandLine[i+1])
  302. else
  303. readCfg("Scripts/" .. commandLine[i+1])
  304. end
  305. end
  306. end
  307.  
  308. local editorActive = false
  309. local liveEditingEnable = commandLine:lookup("core.liveeditingenable")
  310. if liveEditingEnable then
  311. if liveEditingEnable == "1" or liveEditingEnable == "true" then
  312. editorActive = true
  313. end
  314. end
  315.  
  316. --------------------------------------------------------------------------
  317. -- Handle local overrides
  318. --
  319. -- This needs to run before we load the level cfg as we can specify the fast startup level name here!
  320.  
  321. if not commandLine:lookup('noLocalCfg', false) then
  322. -- Read common local cfg file
  323. readCfg("/local/local.cfg", _G)
  324.  
  325. if editorActive == true then
  326. -- Read local cfg with editor specific settings
  327. readCfg("/local/localeditor.cfg", _G)
  328. else
  329. -- Read local cfg with standalone specific settings
  330. readCfg("/local/localgame.cfg", _G)
  331. end
  332. end
  333.  
  334. --------------------------------------------------------------------------
  335. -- Handle level specific configuration
  336. --
  337.  
  338. local levelName = commandLine:lookup("level")
  339. if not levelName then
  340. local gameTable = _G["Game"]
  341. if gameTable then
  342. levelName = gameTable["Level"]
  343. end
  344. end
  345.  
  346. -- Level names without slashes are assumed to be shorthand for
  347. -- Levels/[(SP|MP)/]name/name to go with Warsaw's epic level naming convention
  348. if levelName and not string.find(levelName, "/") then
  349. if string.len(levelName) > 2 and (string.upper(string.sub(levelName, 1, 2)) == "SP" or string.upper(string.sub(levelName, 1, 2)) == "MP") then
  350. levelName = "Levels/" .. string.sub(levelName, 1, 2) .. "/" .. levelName .. "/" .. levelName
  351. else
  352. levelName = "Levels/" .. levelName .. "/" .. levelName
  353. end
  354. _G["Game"]["Level"] = levelName
  355. end
  356.  
  357. if levelName then
  358. readCfg(levelName .. ".cfg")
  359. end
  360.  
  361. --------------------------------------------------------------------------
  362. -- Handle commandline options
  363. --
  364. -- Commandline options effectively override any settings specified
  365. -- elsewhere.
  366. --
  367.  
  368. if not Game then Game = {} end
  369.  
  370. cmdLineSwitch("verbose", "Verbose")
  371.  
  372. if Game.Verbose then
  373. print "------------Commandline parameters:"
  374. for k,v in pairs(commandLine) do print (k,v) end
  375. end
  376.  
  377. -- Handle <Table>.<Member> settings
  378.  
  379. if allowCommandlineSettings then
  380. for _,option in ipairs(commandLine) do
  381. local table,member = string.match(option, "^%-(%w+)%.(%w+)")
  382.  
  383. if table and member then
  384. local value = commandLine[_ + 1]
  385. if not _G[table] then _G[table] = {} end
  386. _G[table][member] = value
  387. else
  388. local varName = string.match(option, "^%-([%w-]+)")
  389. if varName then
  390. local value = commandLine[_ + 1]
  391. if value then
  392. _G[varName] = value
  393. end
  394. end
  395. end
  396.  
  397. end
  398. end
  399.  
  400. --------------------------------------------------------------------------
  401. -- Force specific settings when running through FrostEd
  402. --
  403.  
  404. if editorActive then
  405. Online.Backend = "Backend_Lan"
  406. Online.UseFallback = true
  407. Online.ClientIsPresenceEnabled = false
  408. Online.ServerIsPresenceEnabled = false
  409.  
  410. applySettings([=[
  411. Server.forceStartMapOnLoad true
  412. Network.GhostCountWarning true
  413. Network.GhostCountWarningInfo true
  414. Game.DisablePreRound true
  415. ]=])
  416. end
  417.  
  418. --
  419.  
  420. core.import("Scripts/Game/DebugSettings.lua")
  421. ‚‡$file ýname Scripts/Game/DebugSettings.lua payload Ë
  422. core = require "Frost.Core"
  423. logging = require "Frost.Logging"
  424.  
  425. local function applySettings(settings)
  426. core.parseKeyValueCfgString(settings, _G) end
  427.  
  428. -- helpers
  429.  
  430. local function getSetting(key)
  431. container, field = string.match(key, "(%w+)%.(%w+)");
  432. if container and field then
  433. if not _G[container] then
  434. _G[container] = {}
  435. end
  436. return _G[container][field]
  437. else
  438. return _G[key]
  439. end
  440. end
  441.  
  442. local function setSetting(key, value)
  443. container, field = string.match(key, "(%w+)%.(%w+)");
  444. if container and field then
  445. if not _G[container] then
  446. _G[container] = {}
  447. end
  448. _G[container][field] = value
  449. else
  450. _G[key] = value
  451. end
  452. end
  453.  
  454. -- thin-client settings: 0=Off 1=Console
  455.  
  456. setSetting("thin-client", cmdLineOption("thinClient", getSetting("thin-client")))
  457.  
  458. if getSetting("thin-client") == "1" then
  459. applySettings([=[
  460. RenderDevice.NullDriverEnable true
  461. RenderDevice.CreateMinimalWindow true
  462. Core.HardwareProfile Hardware_Low
  463. Core.HardwareGpuBias -1
  464. DebrisSystem.Enable false
  465. Client.WorldRenderEnabled false
  466. Client.EmittersEnabled false
  467. Client.TerrainEnabled false
  468. Client.MeshMergingEnabled false
  469. Client.OvergrowthEnabled false
  470. Client.OccludersEnabled true
  471. Decal.SystemEnable false
  472. Render.DebugRendererEnable false
  473. UI.HudEnable false
  474. UI.System UISystem_None
  475. EmitterSystem.Enable false
  476. Window.Fullscreen false
  477. Render.Enable false
  478. Render.NullRendererEnable true
  479. disable-input true
  480. scripted-input true
  481. use-script-input true
  482. disable-client-correction true
  483. disable-client-animations true
  484. Sound.Enable false
  485. disable-entities true
  486. disable-camera true
  487. Texture.LoadingEnabled false
  488. Texture.RenderTexturesEnabled false
  489. Mesh.LoadingEnabled false
  490. ShaderSystem.DatabaseLoadingEnable false
  491. disable-audio-loading true
  492. GameTime.ForceUseSleepTimer true
  493. ShaderSystem.DxFrameVertexBufferPoolSize 16
  494. ShaderSystem.FrameMemoryBufferSize 16
  495. PerformanceTracker.Enabled false
  496. ]=])
  497. end
  498.  
  499. -- testingEnabled 0=Off, 1=On
  500.  
  501. setSetting("testing-enabled", cmdLineOption("testingEnabled", getSetting("testing-enabled")))
  502.  
  503. if getSetting("testing-enabled") == "1" then
  504. applySettings([=[
  505. Server.EnableMonkeyTestLayers true
  506. add-debug-entity true
  507. scripted-input true
  508. use-script-input true
  509. Juice.logClientTestingEvents true
  510. ]=])
  511. end
  512.  
  513. ‚§$file name Scripts/Game/Settings.lua payload ð--
  514. -- Define basic settings tables
  515. --
  516.  
  517. Game = {
  518. LogFileEnable = true,
  519. }
  520.  
  521. Client = {
  522. }
  523.  
  524. Server = {
  525. }
  526.  
  527. ShaderSystem = {
  528. DebugNonFiniteColor = { x=0, y=0, z=0 },
  529. }
  530.  
  531. NetworkSettings = {
  532. Version = "V0.0",
  533. ProtocolVersion = 0,
  534. TitleId = 4,
  535. ClientPort = 1001,
  536. ServerPort = 1003,
  537. MaxGhostCount = 1024,
  538. MaxClientCount = 64,
  539. }
  540.  
  541. Core = {
  542. }
  543. ‚á$file ×name Scripts/Game/Startup.lua payload «--
  544. -- Game startup script
  545. --
  546.  
  547. require "vfs"
  548. core = require "Frost.Core"
  549. logging = require "Frost.Logging"
  550.  
  551. -- The global platform variable can be used to detect which platform
  552. -- we are currently executing on
  553.  
  554. platform = dice.getCurrentPlatformName()
  555.  
  556. -- Set up a logger which logs to the console (not stdout)
  557. -- By default, we only show warnings or worse. For more verbose
  558. -- diagnostics, you may set the level to INFO or DEBUG.
  559.  
  560. log = logging.ingameConsole()
  561. log:setLevel(logging.DEBUG)
  562.  
  563. core.import("Scripts/Game/Configure.lua")
  564.  
  565. ‚¾!$file ´!name Scripts/GlobalSettings.lua payload †!--
  566. -- Global Settings
  567. --
  568. -- These are front-end settings exposed to the end-user. The idea is that
  569. -- settings that are interesting to the majority of end-users should be
  570. -- defined here to enable tools to query for exposed options.
  571. --
  572. -- This file is imported by Pipeline, Game, etc
  573. --
  574. -- *********************************************************
  575. -- NOTE: This is largely deprecated and will be phased out!
  576. -- *********************************************************
  577.  
  578. GlobalSettings = {}
  579. GlobalSettings.Meta = {}
  580.  
  581. local function ValidateSetting(name, value)
  582. assert(name and value)
  583.  
  584. local meta = GlobalSettings.Meta[name]
  585. local lowerValue = string.lower(value)
  586.  
  587. if meta then
  588. for _,v in ipairs(meta.validValues) do
  589. if string.lower(v[1]) == lowerValue then
  590. return v[1]
  591. end
  592. end
  593.  
  594. -- We intentionally don't build this string in the loop above
  595. -- in an attempt to generate less ephemeral garbage
  596.  
  597. local choices = nil
  598.  
  599. for _,v in ipairs(meta.validValues) do
  600. if choices then
  601. choices = choices .. ", " .. v[1]
  602. else
  603. choices = v[1]
  604. end
  605. end
  606.  
  607. error("Setting '" .. name .. "' cannot be set to specified value: " .. value .. ", valid values are " .. choices)
  608. else
  609. error("Undefined setting - '" .. name .. "'")
  610. end
  611. end
  612.  
  613. local function DefineSetting(descriptionTable)
  614. assert(descriptionTable[1] and descriptionTable[2], "Settings must have name and default values!")
  615.  
  616. local name = descriptionTable[1];
  617. local defaultValue = descriptionTable[2];
  618.  
  619. GlobalSettings[name] = defaultValue
  620. GlobalSettings.Meta[name] = {}
  621.  
  622. GlobalSettings.Meta[name].default = defaultValue
  623.  
  624. if descriptionTable.description then
  625. GlobalSettings.Meta[name].description = descriptionTable.description
  626. end
  627.  
  628. if descriptionTable.validValues then
  629. GlobalSettings.Meta[name].validValues = descriptionTable.validValues
  630. end
  631.  
  632. if descriptionTable.commandLine then
  633. GlobalSettings.Meta[name].commandLine = descriptionTable.commandLine
  634. end
  635.  
  636. if descriptionTable.envVar then
  637. GlobalSettings.Meta[name].envVar = descriptionTable.envVar
  638. end
  639.  
  640. -- Validate default vs validValues
  641. ValidateSetting(name, defaultValue)
  642. end
  643.  
  644. function ApplyCommandLineSettings(commandLine)
  645. for setting,meta in pairs(GlobalSettings.Meta) do
  646. if meta.commandLine then
  647. local options = meta.commandLine
  648.  
  649. for _,entry in ipairs(options) do
  650. local k = entry[1]
  651. local v = entry[2]
  652.  
  653. local value = commandLine[string.lower(k)]
  654.  
  655. if value then
  656. if not v then
  657. SetSetting(setting, value, string.format(" (due to -%s %s)", k, value))
  658. else
  659. SetSetting(setting, v, string.format(" (due to -%s)", k))
  660. end
  661. end
  662. end
  663. end
  664. end
  665. end
  666.  
  667. function ApplyEnvironmentVariableSettings()
  668. for setting,meta in pairs(GlobalSettings.Meta) do
  669. if meta.envVar then
  670. local envVarValue = os.getenv(meta.envVar)
  671.  
  672. if envVarValue then
  673. SetSetting(setting, envVarValue)
  674. end
  675. end
  676. end
  677. end
  678.  
  679.  
  680. function SetSetting(settingName, value, source)
  681. if not GlobalSettings[settingName] then
  682. error("Attempted set of unknown setting '" .. settingName .. "'")
  683. else
  684. GlobalSettings[settingName] = ValidateSetting(settingName, value)
  685.  
  686. if log then
  687. log:debug("Set setting " .. settingName .. " to value: " .. value .. (source or ""))
  688. end
  689. end
  690. end
  691.  
  692. function GetGlobalSetting(settingName)
  693. if not GlobalSettings[settingName] then
  694. error("Attempted get of unknown setting '" .. settingName .. "'")
  695. else
  696. return GlobalSettings[settingName]
  697. end
  698. end
  699.  
  700. --------------------------------------------------------------------------
  701. -- Setting definitions
  702. --
  703.  
  704. DefineSetting {
  705. "Cache", "Enabled",
  706.  
  707. validValues = {
  708. { "Enabled", "Normal cache mode" },
  709. { "Disabled", "No caching" },
  710. { "ReadOnly", "Only read from caches (never upload)" },
  711. { "WriteOnly", "Only write to caches (useful for fixing problems)" }
  712. },
  713. description = "Cache Control",
  714. commandLine = {
  715. { "cacheMode" },
  716. { "nocache", "Disabled" },
  717. { "readonlyCache", "ReadOnly" },
  718. { "writeOnlyCache", "WriteOnly" },
  719. { "cache", "Enabled" }
  720. },
  721. envVar = "PIPELINE_CACHE_MODE"
  722. }
  723. ‚Ô$file Êname Scripts/MayaExport/Startup.lua payload ˜--
  724. -- MayaExport startup script
  725. --
  726.  
  727. MayaExport = {
  728. -- When Verbose is set to true, the program will emit messages to stdout,
  729. -- indicating what commands and responses are sent between the pipeline
  730. -- and the exporter process
  731.  
  732. Verbose = false,
  733. IdleTimeout = 120,
  734. MaxConcurrentSessionCount = 2,
  735. SafeMode = true,
  736.  
  737. contexts = {
  738. -- Default context
  739. {
  740. name='default',
  741. recycleMode='always',
  742. enableButtonBasher=true
  743. },
  744. -- Granny Context
  745. {
  746. name='granny',
  747. recycleMode='always',
  748. enableButtonBasher=true
  749. },
  750. -- Import Context
  751. {
  752. name='import',
  753. recycleMode='keepfileopened',
  754. enableButtonBasher=true
  755. },
  756. -- Havok context
  757. {
  758. name='havok',
  759. recycleMode='always',
  760. enableButtonBasher=true
  761. }
  762. }
  763. }
  764. ‚„$file úname Scripts/Packages/Frost/Core.lua payload Ç--
  765. -- Various bits of Lua scaffolding
  766. --
  767.  
  768. require "os"
  769. require "vfs"
  770.  
  771. module("Frost.Core", package.seeall);
  772.  
  773. -- Execute a script
  774. --
  775. -- If flags contains a "silent=true" flag, then no message
  776. -- will be emitted if the script can't be found
  777. --
  778.  
  779. -- Execute a script, optionally returning an error message if it fails
  780.  
  781. function import(script, friendlyName, flags)
  782. local name = friendlyName or script
  783.  
  784. local success, err = pcall(dofile,script)
  785.  
  786. if not success and not (flags and flags.silent) then
  787. error("Could not import script: " .. name .. " error: " .. err)
  788. end
  789. end
  790.  
  791. -- Execute a new-style config file
  792.  
  793. local function executeCfg(file)
  794. if log then
  795. log:debug(" Executing new style (lua) config file")
  796. end
  797.  
  798. local script = file:read("*all")
  799.  
  800. local func, err = loadstring(script)
  801.  
  802. if func then
  803. func()
  804. else
  805. error(err)
  806. end
  807. end
  808.  
  809. -- Parse a single line containing a key-value pair (and possibly some comments)
  810.  
  811. function parseKeyValueCfgLine(line, targetTable)
  812. -- Remove comments
  813.  
  814. line = string.gsub(line, "#.*", "")
  815. line = string.gsub(line, "//.*", "")
  816.  
  817. -- Split into key, value pairs
  818. local key, value = string.match(line, "(%S+)%s+(.+)%s*")
  819.  
  820. if key and value then
  821. -- Handle dotted key names
  822.  
  823. local currentTable = targetTable
  824. local first, second
  825. second = key
  826. repeat
  827. first, second = string.match(second, "([^%.]+)%.?(.*)")
  828.  
  829. if first and second then
  830. if second:len() == 0 then
  831. currentTable[first] = value
  832. if log then
  833. log:debug(string.format("set %s = %s (from key-value cfg line)", key ,value))
  834. end
  835. else
  836. if not currentTable[first] then
  837. currentTable[first] = {}
  838. end
  839. currentTable = currentTable[first]
  840. end
  841. end
  842.  
  843. until not second or second:len() == 0
  844. end
  845. end
  846.  
  847. -- Parse a string of key-value config entries
  848.  
  849. function parseKeyValueCfgString(str, targetTable)
  850. for line in string.gmatch(str, "[^\n]*") do
  851. parseKeyValueCfgLine(line, targetTable)
  852. end
  853. end
  854.  
  855. -- Parse an old-style key-value CFG file
  856.  
  857. function readKeyValueCfg(file, targetTable)
  858. if log then
  859. log:debug("Reading cfg '" .. file .. "'")
  860. end
  861.  
  862. local f = vfs.open(file, "r")
  863.  
  864. if not f then
  865. -- File not found
  866. if log then
  867. log:debug("Failed to find file '" .. file .. "'")
  868. end
  869.  
  870. return
  871. end
  872.  
  873. local firstLine = true
  874.  
  875. while true do
  876. local line = f:read("*line")
  877.  
  878. if not line then
  879. break
  880. end
  881.  
  882. if firstLine and line == "#!/bin/lua" then
  883. executeCfg(f)
  884. end
  885.  
  886. parseKeyValueCfgLine(line, targetTable)
  887. end
  888.  
  889. f:close();
  890. end
  891. ‚Ç!$file ½!name #Scripts/Packages/Frost/Logging.lua payload ‡!-- Logging package
  892.  
  893. local type, table, string, assert, _tostring = type, table, string, assert, tostring
  894.  
  895. require "vfs"
  896.  
  897. module("Frost.Logging", package.seeall)
  898.  
  899. -- The DEBUG Level designates fine-grained informational events that are most
  900. -- useful to debug an application
  901. DEBUG = "DEBUG"
  902.  
  903. -- The INFO level designates informational messages that highlight the
  904. -- progress of the application at coarse-grained level
  905. INFO = "INFO"
  906.  
  907. -- The WARN level designates potentially harmful situations
  908. WARN = "WARN"
  909.  
  910. -- The ERROR level designates error events that might still allow the
  911. -- application to continue running
  912. ERROR = "ERROR"
  913.  
  914. -- The FATAL level designates very severe error events that will presumably
  915. -- lead the application to abort
  916. FATAL = "FATAL"
  917.  
  918. local LEVEL = {
  919. [DEBUG] = 1,
  920. [INFO] = 2,
  921. [WARN] = 3,
  922. [ERROR] = 4,
  923. [FATAL] = 5,
  924. }
  925.  
  926.  
  927. -------------------------------------------------------------------------------
  928. -- Creates a new logger object
  929. -------------------------------------------------------------------------------
  930. function new(append)
  931.  
  932. if type(append) ~= "function" then
  933. return nil, "Appender must be a function."
  934. end
  935.  
  936. local logger = {}
  937. logger.level = DEBUG
  938. logger.append = append
  939.  
  940. logger.setLevel = function (self, level)
  941. assert(LEVEL[level], string.format("undefined level `%s'", tostring(level)))
  942. self.level = level
  943. end
  944.  
  945. logger.log = function (self, level, message)
  946. assert(LEVEL[level], string.format("undefined level `%s'", tostring(level)))
  947. if LEVEL[level] < LEVEL[self.level] then
  948. return
  949. end
  950. if type(message) ~= "string" then
  951. message = tostring(message)
  952. end
  953. return logger:append(level, message)
  954. end
  955.  
  956. logger.debug = function (logger, message) return logger:log(DEBUG, message) end
  957. logger.info = function (logger, message) return logger:log(INFO, message) end
  958. logger.warn = function (logger, message) return logger:log(WARN, message) end
  959. logger.error = function (logger, message) return logger:log(ERROR, message) end
  960. logger.fatal = function (logger, message) return logger:log(FATAL, message) end
  961. return logger
  962. end
  963.  
  964.  
  965. -------------------------------------------------------------------------------
  966. -- Prepares the log message
  967. -------------------------------------------------------------------------------
  968. function prepareLogMsg(pattern, dt, level, message)
  969.  
  970. local logMsg = pattern or "%date %level %message\n"
  971. message = string.gsub(message, "%%", "%%%%")
  972. logMsg = string.gsub(logMsg, "%%date", dt)
  973. logMsg = string.gsub(logMsg, "%%level", level)
  974. logMsg = string.gsub(logMsg, "%%message", message)
  975. return logMsg
  976. end
  977.  
  978.  
  979. -------------------------------------------------------------------------------
  980. -- Converts a Lua value to a string
  981. --
  982. -- Converts Table fields in alphabetical order
  983. -------------------------------------------------------------------------------
  984. function tostring(value)
  985. local str = ''
  986.  
  987. if (type(value) ~= 'table') then
  988. if (type(value) == 'string') then
  989. str = string.format("%q", value)
  990. else
  991. str = _tostring(value)
  992. end
  993. else
  994. local auxTable = {}
  995. table.foreach(value, function(i, v)
  996. if (tonumber(i) ~= i) then
  997. table.insert(auxTable, i)
  998. else
  999. table.insert(auxTable, tostring(i))
  1000. end
  1001. end)
  1002. table.sort(auxTable)
  1003.  
  1004. str = str..'{'
  1005. local separator = ""
  1006. local entry = ""
  1007. table.foreachi (auxTable, function (i, fieldName)
  1008. if ((tonumber(fieldName)) and (tonumber(fieldName) > 0)) then
  1009. entry = tostring(value[tonumber(fieldName)])
  1010. else
  1011. entry = fieldName.." = "..tostring(value[fieldName])
  1012. end
  1013. str = str..separator..entry
  1014. separator = ", "
  1015. end)
  1016. str = str..'}'
  1017. end
  1018. return str
  1019. end
  1020.  
  1021. --
  1022. -- Print appender
  1023. --
  1024.  
  1025. function console(logPattern)
  1026.  
  1027. return new( function(self, level, message)
  1028. print(prepareLogMsg(logPattern, os.date(), level, message))
  1029. return true
  1030. end
  1031. )
  1032. end
  1033.  
  1034. function ingameConsole()
  1035.  
  1036. return new( function(self, level, message)
  1037. ingamePrint(level, message)
  1038. return true
  1039. end
  1040. )
  1041. end
  1042. ‚‘$file ‡name #Scripts/Pipeline/Configuration.lua payload Ñ--
  1043. -- Pipeline Configuration
  1044. --
  1045. -- This is an internal script used for configuring the pipeline. Normal
  1046. -- users should typically not edit this file, as most end-user settings
  1047. -- are exposed through the GlobalSettings.lua file
  1048. --
  1049.  
  1050. --
  1051. -- Import common settings
  1052. --
  1053.  
  1054. core.import(allScriptsRoot .. "GlobalSettings.lua", "global settings");
  1055.  
  1056. -- Import session startup script, if specified on commandLine
  1057. --
  1058. -- This is used by Drone to change settings
  1059.  
  1060. if commandLine.startupscript then
  1061. core.import("/data/" .. commandLine.startupScript, _G)
  1062. end
  1063.  
  1064. core.import(scriptsRoot .. "Settings.lua")
  1065.  
  1066. -- -config commandLine switch is used by Drone to configure custom settings
  1067. if commandLine.config then
  1068. core.readKeyValueCfg("/data/Scripts/" .. commandLine.config, _G)
  1069. end
  1070.  
  1071. --------------------------------------------------------------------------
  1072. -- Handle commandline options
  1073. --
  1074. -- Commandline options effectively override any settings specified
  1075. -- elsewhere.
  1076. --
  1077.  
  1078. local function cmdLineSwitch(switchName, fieldName)
  1079. if (commandLine[string.lower(switchName)]) then
  1080. Pipeline[fieldName] = true
  1081. end
  1082. end
  1083.  
  1084. local function cmdLineArg(switchName, fieldName)
  1085. local entry = commandLine[string.lower(switchName)]
  1086.  
  1087. if (entry) then
  1088. Pipeline[fieldName] = entry
  1089. --print("Set " .. fieldName .. " to " .. entry)
  1090. end
  1091. end
  1092.  
  1093. cmdLineSwitch("debug", "DebugMode");
  1094. cmdLineSwitch("validateData", "ValidateData");
  1095. cmdLineSwitch("addToPerforce", "AddToPerforce");
  1096. cmdLineSwitch("noconsole", "NoConsole");
  1097. cmdLineSwitch("verbose", "Verbose");
  1098. cmdLineSwitch("trace", "EnableTracing");
  1099. cmdLineSwitch("nohal", "DisableHalDevice");
  1100. cmdLineSwitch("trim", "TrimLayout");
  1101. cmdLineSwitch("updateIndex", "UpdateIndexOnly");
  1102.  
  1103. cmdLineArg("opfilter", "OpFilter")
  1104.  
  1105. --
  1106. -- Parse commandline options that may occur multiple times ("list" options)
  1107. --
  1108.  
  1109. ----------------------------------------------------------------------------------------
  1110. --
  1111. -- Diagnostics dump
  1112. --
  1113.  
  1114. if Pipeline.Verbose then
  1115. print ""
  1116. print "Pipeline settings summary:"
  1117. print "------------------------------------------------------"
  1118.  
  1119. for k,v in pairs(Pipeline) do
  1120. print(k, v)
  1121. end
  1122.  
  1123. print ""
  1124.  
  1125. print "Command line:"
  1126. print "------------------------------------------------------"
  1127.  
  1128. for _,v in pairs(commandLine) do
  1129. print(_,v)
  1130. end
  1131.  
  1132. print ""
  1133. end
  1134. ‚Ï7$file Å7name Scripts/Pipeline/Settings.lua payload ”7--
  1135. -- Internal Pipeline settings
  1136. --
  1137. -- This is not really the best place to change settings locally,
  1138. -- please see GlobalSettings.lua instead and use it if at all
  1139. -- possible
  1140. --
  1141.  
  1142. local Dx10PathEnable = false
  1143. local Dx10PlusPathEnable = true
  1144. local Dx10Dot1PathEnable = false
  1145. local Dx11PathEnable = true
  1146. local AutoPathEnable = false
  1147. local SkipAllPaths = false
  1148.  
  1149. Pipeline =
  1150. {
  1151. Verbose = false,
  1152. ShowReason = true,
  1153. AddToPerforce = false,
  1154.  
  1155. -- Debugging/profiling options
  1156. DebugMode = false,
  1157. EmitPlaintextDbx = false,
  1158. EnableTimingLog = false,
  1159. BundleDebugging = false,
  1160. ResourceDebugging = false,
  1161.  
  1162. AsyncOpWrite = true,
  1163. DumpOplogStats = false,
  1164.  
  1165. --ServiceMode = true,
  1166. }
  1167.  
  1168. --------------------------------------------------------------
  1169.  
  1170. Core =
  1171. {
  1172. LogLevel = "Info",
  1173. StudioBus = "[email protected]" -- dice-bm150
  1174. }
  1175.  
  1176. Ant =
  1177. {
  1178. -- Setting this to true sometimes breaks reimport
  1179. ShowSyncDialogOnReimport = false,
  1180. -- Display a warning if 'allow' is true or an error if 'allow' false if an animset is built that requires the traditional runtime. Only relevant when FB_ANT_ROOTCONTROLLER_ENABLE is set to true in diceconfig.
  1181. AllowTraditionalAssetsWithRootcontrollerEnabled = false,
  1182. }
  1183.  
  1184. Havok =
  1185. {
  1186. WriteShapeLog = false,
  1187. WriteMemoryLog = false,
  1188. WriteMaterialsLog = false,
  1189. ErrorOnStaticValidationError = true,
  1190. DetailExport = true,
  1191. LogTriangleDensity = true,
  1192. HavokImportVersion = 1,
  1193. }
  1194.  
  1195. HavokGroupPhysicsEntity =
  1196. {
  1197. WriteShapeLog = false,
  1198. WriteMemoryLog = false,
  1199. WriteMaterialsLog = false,
  1200. WriteGroupGeneralLog = false,
  1201. WritePartInfoLog = false,
  1202. ErrorOnStaticValidationError = true,
  1203. DetailExport = true,
  1204. LogTriangleDensity = true,
  1205. HavokImportVersion = 1,
  1206.  
  1207. AllowDefaultCollisionShape = true
  1208. }
  1209.  
  1210. Texture =
  1211. {
  1212. SkipMipmapsPs3Enable = true,
  1213. CudaEnable = true,
  1214. WaitOnCudaEnable = false,
  1215. MultithreadedCompressionEnable = true,
  1216. DefaultTextureGroup = "TextureGroups/Default";
  1217. }
  1218.  
  1219. ObjectBlueprint =
  1220. {
  1221. AllowDefaultPartMaterial = true,
  1222. AllowDefaultEntityMaterial = true,
  1223. }
  1224.  
  1225. BlueprintImport =
  1226. {
  1227. UseDefaultRaycastRoot = false,
  1228. OptimizeGeometries = true,
  1229. ErrorOnSceneMismatch = true,
  1230. }
  1231.  
  1232. Mesh =
  1233. {
  1234. Verbose = false,
  1235. ZOnlyMeshEnable = true,
  1236. Ps3EdgeEnable = true,
  1237. Ps3EdgeCompressPositionsEnable = true,
  1238. Ps3EdgeCompressIndicesEnable = true,
  1239. Ps3EdgeMinSubsetTriangleCount = 0,
  1240.  
  1241. MinStreamingLodSize = 0,
  1242.  
  1243. Ps3EdgeKeepIndexBufferEnable = false,
  1244.  
  1245. SootSkipShaderNames =
  1246. {
  1247. "Template",
  1248. "Tmpl",
  1249. "NoSoot"
  1250. },
  1251. WarningsAsErrorsEnable = false,
  1252.  
  1253. -- EnlightenSaveInputMeshEnable = true,
  1254. -- RadiosityPixelSize_Lower = 16.0,
  1255. -- RadiosityPixelSize_Lowest = 8.0,
  1256. -- RadiosityPixelSize_Low = 4.0,
  1257. -- RadiosityPixelSize_Medium = 2.0,
  1258. -- RadiosityPixelSize_High = 1.0,
  1259. -- RadiosityPixelSize_Higher = 0.5,
  1260. -- RadiosityPixelSize_Max = 0.25,
  1261.  
  1262. -- LightmapDxtBlockSizeEnable = true,
  1263. }
  1264.  
  1265. Enlighten =
  1266. {
  1267. -- Set this to false to prevent any dynamic enlighten data from beeing built and loaded into the game.
  1268. -- This is useful for retail builds if only static enlighten data is allowed.
  1269. DynamicEnable = true,
  1270. }
  1271.  
  1272. Level =
  1273. {
  1274. VoAnimTreesEnable = false,
  1275.  
  1276. SpatialSubdivision = true,
  1277. EnableGroupLogs = false,
  1278. GroupStaticModelEntities = true,
  1279. GroupTreeModelEntities = true,
  1280. GroupMiddlegrowthModelEntities = true,
  1281.  
  1282. LogDetailedInstanceCounts = false
  1283. }
  1284.  
  1285. SubLevel =
  1286. {
  1287. SpatialSubdivision = true,
  1288. EnableGroupLogs = false,
  1289. OptimizeMaterialGrid = true,
  1290. GroupStaticModelEntities = true,
  1291. }
  1292.  
  1293. BlueprintBundleCollection =
  1294. {
  1295. InclusionWildcards =
  1296. {
  1297. -- { Collection="MyBundleCollection1", Wildcard="MyWildcard1" },
  1298. -- { Collection="MyBundleCollection1", Wildcard="MyWildcard2" },
  1299. -- { Collection="MyBundleCollection2", Wildcard="MyWildcard3" }
  1300. }
  1301. }
  1302.  
  1303. ShaderState =
  1304. {
  1305. TerrainDebugColorEnable = false,
  1306. TerrainOverdrawModeEnable = false,
  1307. DynamicEnvmapModeEnable = true,
  1308. DynamicEnvmapModeModernOnly = true,
  1309.  
  1310. StripUnusedTextures = true,
  1311.  
  1312. VanillaShadowmapsEnable = false,
  1313.  
  1314. Win32QualityLevel = -1,
  1315. XenonQualityLevel = 0,
  1316. Ps3QualityLevel = 0,
  1317. Gen4aQualityLevel = 2,
  1318. Gen4bQualityLevel = 2
  1319.  
  1320. -- CascadedBox3ShadowmapsEnable = true,
  1321. -- CascadedBox4ShadowmapsEnable = true,
  1322. }
  1323.  
  1324. ShaderProgramDatabase =
  1325. {
  1326. ShaderDebugInfoEnable = true,
  1327. DxShaderDebugInfoEnable = false,
  1328.  
  1329. Dx10PathEnable = Dx10PathEnable,
  1330. Dx10PlusPathEnable = Dx10PlusPathEnable,
  1331. Dx10Dot1PathEnable = Dx10Dot1PathEnable,
  1332. Dx11PathEnable = Dx11PathEnable,
  1333. AutoPathEnable = AutoPathEnable,
  1334. SkipAllPaths = SkipAllPaths,
  1335.  
  1336. CacheEnable = true,
  1337.  
  1338. Ps3OptimizationLevel = 3,
  1339.  
  1340. DynamicEnvmapModeEnable = true,
  1341. DynamicEnvmapModeModernOnly = true,
  1342.  
  1343. Ps3BuildRandomizedShaders = false
  1344. }
  1345.  
  1346. ShaderDatabase =
  1347. {
  1348. ShaderDebugInfoEnable = false,
  1349. DxShaderDebugInfoEnable = false,
  1350.  
  1351. Dx10PathEnable = Dx10PathEnable,
  1352. Dx10PlusPathEnable = Dx10PlusPathEnable,
  1353. Dx10Dot1PathEnable = Dx10Dot1PathEnable,
  1354. Dx11PathEnable = Dx11PathEnable,
  1355. AutoPathEnable = AutoPathEnable,
  1356. SkipAllPaths = SkipAllPaths,
  1357.  
  1358. Ps3OptimizationLevel = 3,
  1359.  
  1360. -- enabled by default in Warsaw when shipping, disable this locally if you want faster PS3 build times when changing shaders
  1361. Ps3BuildRandomizedShaders = true,
  1362.  
  1363. Ps3PackVertexElementsEnable = true,
  1364. Ps3ForceHalfPrecisionEnable = false,
  1365. Ps3ForceVertexDynamicBranchesEnable = false,
  1366. Ps3ForcePixelDynamicBranchesEnable = false,
  1367.  
  1368. ForceCompileInConstantsEnable = true,
  1369. NonFiniteColoringEnable = false,
  1370. ManualSourceChangeEnable = false,
  1371. StateMetricsEnable = true,
  1372. StateSolutionCacheEnable = false,
  1373. SeparateWorldTransformEnable = false
  1374. }
  1375.  
  1376. Terrain =
  1377. {
  1378. SplineDecalsSubdivisionCount = 1,
  1379. MaskFunctionsEnable = false,
  1380. }
  1381.  
  1382. TerrainStreamingTree =
  1383. {
  1384. OptimizeUsingProceduralMask = true
  1385. }
  1386.  
  1387. Award =
  1388. {
  1389. OutputAwardXml = true,
  1390. OutputRankXml = true,
  1391. InvalidAwardCodeCharacters = "-. ",
  1392. AllowEmptyAwardCodes = false,
  1393. CheckStatCategories = true,
  1394. SetSpecificDataToChildAwards = true,
  1395. }
  1396.  
  1397. Persistence =
  1398. {
  1399. OutputXml = true,
  1400. OutputBlazeProperties = true,
  1401. DeltaGameReports = true,
  1402. }
  1403.  
  1404. Unlock =
  1405. {
  1406. ExportUnlocks = true
  1407. }
  1408.  
  1409. AtlasTexture =
  1410. {
  1411. SkipMipmaps = 0,
  1412. SkipMipmapsPs3 = 0,
  1413. SkipMipmapsXenon = 0,
  1414. SkipMipmapsGen4a = 0,
  1415. SkipMipmapsGen4b = 0,
  1416.  
  1417. MinMipmapCount = 6,
  1418. MinMipmapCountPs3 = 4,
  1419. MinMipmapCountXenon = 4,
  1420. MinMipmapCountGen4a = 6,
  1421. MinMipmapCountGen4b = 6,
  1422.  
  1423. MinNormalMipmapCount = 4,
  1424. MinNormalMipmapCountPs3 = 1,
  1425. MinNormalMipmapCountXenon = 1,
  1426. MinNormalMipmapCountGen4a = 3,
  1427. MinNormalMipmapCountGen4b = 3,
  1428. }
  1429.  
  1430. Audio =
  1431. {
  1432. EnableDevelopmentFeatures = false,
  1433. EnableLocalizedSandboxes = false,
  1434. }
  1435.  
  1436. UIActionscriptInjection =
  1437. {
  1438. RemoveTraces = true,
  1439. DefinesToKeep =
  1440. {
  1441. --"LOG",
  1442. --"DEBUG",
  1443. }
  1444. }
  1445.  
  1446. UI =
  1447. {
  1448. TextureGroupPath = "TextureGroups/UI",
  1449. }
  1450.  
  1451. VeniceLevel =
  1452. {
  1453. GenerateCombatAreaTextures = false,
  1454. }
  1455.  
  1456. GameConfig =
  1457. {
  1458. AnimationProjectPath = "Animations/AntAnimations",
  1459. }
  1460.  
  1461. SoldierWeaponBlueprint =
  1462. {
  1463. DisableOnDemandLoading = false,
  1464. }
  1465.  
  1466. ‚Ö$file Ìname Scripts/Pipeline/Startup.lua payload œ-- Pipeline startup script
  1467. --
  1468. -- This is executed very early, and can really only be used to
  1469. -- configure settings.
  1470. --
  1471. -- The settings specified here will override any settings in the
  1472. -- legacy settings file pipeline.config
  1473. --
  1474.  
  1475. core = require "Frost.Core"
  1476.  
  1477. require "os"
  1478. require "vfs"
  1479.  
  1480. Environment = {}
  1481.  
  1482. local userName = os.getenv("USERNAME")
  1483.  
  1484. if userName then Environment.UserName = userName end
  1485.  
  1486. branchName = os.getenv("BRANCH_NAME")
  1487.  
  1488. if not branchName then
  1489. error("Configuration error: BRANCH_NAME environment variable not set -- fix the .diceconfig file for this branch!")
  1490. end
  1491.  
  1492. -- Execute configuration and setup scripts
  1493.  
  1494. allScriptsRoot = "/Data/Scripts/"
  1495. scriptsRoot = allScriptsRoot .. "Pipeline/"
  1496.  
  1497. core.import(scriptsRoot .. "Configuration.lua")
  1498.  
  1499. ‚¼$file ²name Scripts/Server/Master.lua payload …print("Loading scripts...")
  1500.  
  1501. serverSaveFilePath = "serverAdminSave.lua"
  1502.  
  1503. dofile("Scripts/Server/Startup.lua")
  1504. dofile("Scripts/Server/Shutdown.lua")
  1505. dofile("Scripts/Server/Server.lua")
  1506. dofile("Scripts/Server/Session.lua")
  1507.  
  1508. print("Done loading scripts.") ‚ü$file òname Scripts/Server/Server.lua payload Årequire "vfs"
  1509. require "os"
  1510.  
  1511. banList = {}
  1512. levelList = {}
  1513. currentLevelIndex = 0
  1514. maxLevelIndex = 0
  1515.  
  1516. function Server_LoadLevel()
  1517.  
  1518. -- print("Server_LoadLevel called")
  1519.  
  1520. end
  1521.  
  1522. function Server_UnloadLevel()
  1523.  
  1524. -- print("Server_UnloadLevel called")
  1525.  
  1526. end
  1527.  
  1528.  
  1529. function Server_LevelLoaded()
  1530.  
  1531. -- print("Server_LevelLoaded called")
  1532.  
  1533. end
  1534.  
  1535. function Server_LevelUnloaded()
  1536.  
  1537. -- print("Server_LevelUnloaded called")
  1538.  
  1539. end
  1540.  
  1541.  
  1542. ticks = 0
  1543.  
  1544. function Server_ScriptTick()
  1545.  
  1546. -- print("Server_ScriptTick called; ticks = " .. ticks)
  1547.  
  1548. ticks = ticks + 1
  1549.  
  1550. end
  1551.  
  1552. function Server_PlayerBanned(onlineId, name)
  1553.  
  1554. print("Server_PlayerBanned called: Player " .. onlineId .. " banned")
  1555.  
  1556. banList[onlineId] = { ["time"]=os.time(), ["name"]=name }
  1557.  
  1558. writeServerData()
  1559.  
  1560. end
  1561.  
  1562. function Server_UnbanPlayer(id)
  1563.  
  1564. if (banList[id] ~= nil) then
  1565. print("Player " .. id .. " unbanned")
  1566. banList[id] = nil
  1567.  
  1568. if (banList[id] ~= nil) then
  1569. print("Player was not removed for some reason")
  1570. end
  1571.  
  1572. writeServerData()
  1573. else
  1574. print("No player with id " .. id .. " is banned")
  1575. end
  1576.  
  1577. end
  1578.  
  1579. function Server_ListBans()
  1580.  
  1581. --Server_PlayerBanned(174636, "gunnar")
  1582. --Server_PlayerBanned(345636, "olle")
  1583.  
  1584. for k,v in pairs(banList) do
  1585. currentTime = os.date("%c", v.time)
  1586. print("[" .. k .. "]: " .. v.name .. "," .. currentTime)
  1587. end
  1588.  
  1589. end
  1590.  
  1591. function Server_LoadNextLevel()
  1592.  
  1593. if (levelList[currentLevelIndex] ~= nil) then
  1594. print("Loading level: " .. levelList[currentLevelIndex])
  1595. loadNextLevel(levelList[currentLevelIndex])
  1596. if (currentLevelIndex < maxLevelIndex) then
  1597. currentLevelIndex = currentLevelIndex + 1
  1598. else
  1599. currentLevelIndex = 1
  1600. end
  1601. else
  1602. print("Levelindex " .. currentLevelIndex .. " do not exist")
  1603. end
  1604.  
  1605. end
  1606.  
  1607. function Server_AddLevel(levelName)
  1608.  
  1609. maxLevelIndex = maxLevelIndex + 1
  1610. levelList[maxLevelIndex] = levelName
  1611. print("Added level '" .. levelName .. "' to level list")
  1612. writeServerData()
  1613. if (currentLevelIndex == 0) then
  1614. currentLevelIndex = 1
  1615. end
  1616.  
  1617. end
  1618.  
  1619. function Server_RemoveLevel(levelIndex)
  1620.  
  1621. if (levelList[levelIndex] ~= nil) then
  1622. print("Removing level '" .. levelList[levelIndex] .. "' at index: " .. levelIndex)
  1623. --table.remove(levelList, levelIndex)
  1624. for i=levelIndex,(maxLevelIndex-1),1 do
  1625. levelList[i] = levelList[i+1]
  1626. end
  1627. table.remove(levelList, maxLevelIndex)
  1628. maxLevelIndex = maxLevelIndex - 1
  1629.  
  1630. writeServerData()
  1631. if (currentLevelIndex > maxLevelIndex) then
  1632. currentLevelIndex = maxLevelIndex
  1633. end
  1634. else
  1635. print("No level at index: " .. levelIndex)
  1636. end
  1637.  
  1638. end
  1639.  
  1640. function Server_ListLevels()
  1641.  
  1642. for k,v in pairs(levelList) do
  1643. if (k == currentLevelIndex) then
  1644. print("[" .. k .. "]: " .. v .. " <<")
  1645. else
  1646. print("[" .. k .. "]: " .. v)
  1647. end
  1648. end
  1649.  
  1650. end
  1651.  
  1652. function writeServerData()
  1653.  
  1654. local currentPlatform = string.lower(dice.getCurrentPlatformName())
  1655. if (currentPlatform == "xenon" or currentPlatform == "ps3") then
  1656. return
  1657. end
  1658.  
  1659. local f = vfs.open(serverSaveFilePath, "w")
  1660.  
  1661. if not f then
  1662. -- File not found
  1663. return
  1664. end
  1665.  
  1666. serializedTable = tableToString(banList)
  1667.  
  1668. f:write("banList = " .. serializedTable .. "\n")
  1669.  
  1670. --print("Wrote to file: banList = " .. serializedTable)
  1671.  
  1672. serializedTable = tableToString(levelList)
  1673.  
  1674. f:write("levelList = " .. serializedTable .. "\n")
  1675.  
  1676. --print("Wrote to file: levelList = " .. serializedTable)
  1677.  
  1678. f:close()
  1679.  
  1680. end ‚¡$file —name Scripts/Server/Session.lua payload érequire "vfs"
  1681. require "os"
  1682.  
  1683. function Session_PlayerJoined(id)
  1684.  
  1685. print("Session_PlayerJoined called: Player " .. id .. " joined")
  1686.  
  1687. end
  1688.  
  1689. function Session_PlayerLeft(id)
  1690.  
  1691. print("Session_PlayerLeft called: Player " .. id .. " left")
  1692.  
  1693. end
  1694.  
  1695. function Session_PlayerAuthenticated(id)
  1696.  
  1697. print("Session_PlayerJoined called: Player " .. id .. " joined")
  1698.  
  1699. if (banList[id] ~= nil) then
  1700. print("Player " .. banList[id].name .. " is banned")
  1701. kickPlayer(id)
  1702. end
  1703.  
  1704. end ‚q$file hname Scripts/Server/Shutdown.lua payload :function Shutdown()
  1705.  
  1706. print("Shutdown called")
  1707.  
  1708. end
  1709. ‚Ý$file Óname Scripts/Server/Startup.lua payload ¥function Startup()
  1710.  
  1711. print("Startup called")
  1712.  
  1713. local currentPlatform = string.lower(dice.getCurrentPlatformName())
  1714. if (currentPlatform == "xenon" or currentPlatform == "ps3") then
  1715. return
  1716. end
  1717.  
  1718. Frost.Core.import(serverSaveFilePath, "Server Admin file", {silent=true})
  1719. print("Loaded banList")
  1720. for k,v in pairs(banList) do
  1721. currentTime = os.date("%c", v.time)
  1722. print("[" .. k .. "]: " .. v.name .. "," .. currentTime)
  1723. end
  1724.  
  1725. print("Loaded levelList")
  1726. for k,v in pairs(levelList) do
  1727. maxLevelIndex = maxLevelIndex + 1
  1728. print("[" .. k .. "]: " .. v)
  1729. end
  1730.  
  1731. if (maxLevelIndex > 0) then
  1732. currentLevelIndex = 1
  1733. end
  1734.  
  1735. end
  1736. ‚³=$file ©=name &Scripts/UserOptions/DefaultValues.lua payload ð<core = require "Frost.Core"
  1737. logging = require "Frost.Logging"
  1738.  
  1739. function makeConstant(t)
  1740. return setmetatable({},
  1741. {
  1742. __index = function (_, n)
  1743. if t[n] == nil then
  1744. log:error("Invalid constant member '" .. tostring(n) .. "'")
  1745. end
  1746. return t[n]
  1747. end,
  1748.  
  1749. __newindex = function (t, n, v)
  1750. log:error("Attempting to change constant " .. tostring(n) .. " to " .. tostring(v))
  1751. end
  1752. })
  1753. end
  1754.  
  1755. local constants = {
  1756. Quality = makeConstant({
  1757. Autodetect = -1,
  1758. Low = 0,
  1759. Medium = 1,
  1760. High = 2,
  1761. Ultra = 3,
  1762. Custom = 4,
  1763.  
  1764. On = 1,
  1765. Off = 0,
  1766. }),
  1767.  
  1768. AnisotropicFilter = makeConstant({
  1769. X1 = 0,
  1770. X2 = 1,
  1771. X4 = 2,
  1772. X8 = 3,
  1773. X16 = 4,
  1774. }),
  1775.  
  1776. AntiAliasingDeferred = makeConstant({
  1777. Off = 0,
  1778. MSAA2X = 1,
  1779. MSAA4X = 2,
  1780. }),
  1781.  
  1782. AntiAliasingPost = makeConstant({
  1783. Off = 0,
  1784. Low = 1,
  1785. Medium = 2,
  1786. High = 3,
  1787. }),
  1788.  
  1789. AmbientOcclusion = makeConstant({
  1790. Off = 0,
  1791. SSAO = 1,
  1792. HBAO = 2,
  1793. HBAOFull = 3,
  1794. }),
  1795.  
  1796. MotionBlur = makeConstant({
  1797. Off = 0,
  1798. On = 1,
  1799. }),
  1800. }
  1801.  
  1802. for k, v in pairs(constants) do
  1803. _G[k] = v
  1804. end
  1805.  
  1806. dofile("Scripts/UserOptions/HardwareProfiles.lua")
  1807. specs = hardwareSpecs[hardwareProfile]
  1808. log:info("hardwareProfile : " .. hardwareProfile)
  1809. cpuCount = specs['cpuCount']
  1810. cpuQuality = specs['cpuQuality'] + hardwareCpuBias
  1811. availableMemory = specs['availableMemory']
  1812. adapterName = specs['adapterName']
  1813. gpuQuality = specs['adapterQuality'] + hardwareGpuBias
  1814. gpuCount = specs['gpuCount']
  1815. availableGpuMemory = specs['availableGpuMemory'] + hardwareGpuBias*256*1024*1024
  1816. deviceSettings = specs['deviceSettings']
  1817.  
  1818. log:info("cpus : " .. cpuCount)
  1819. log:info("memory : " .. availableMemory)
  1820. log:info("adapter : " .. adapterName)
  1821. log:info("gpu quality : " .. gpuQuality)
  1822. log:info("gpuCount : " .. gpuCount)
  1823. log:info("gpuMemory : " .. availableGpuMemory)
  1824.  
  1825.  
  1826.  
  1827. settings = {}
  1828.  
  1829. local function applySettings(settings)
  1830. core.parseKeyValueCfgString(settings, _G) end
  1831.  
  1832. defaultSettings = {
  1833. Render = {
  1834. [Quality.Autodetect] = { -- Auto detect, we fill this in when we're done autodetecting
  1835. },
  1836.  
  1837. [Quality.Low] = {
  1838. TextureQuality = Quality.Low,
  1839. ShadowQuality = Quality.Low,
  1840. EffectsQuality = Quality.Low,
  1841. MeshQuality = Quality.Low,
  1842. TerrainQuality = Quality.Low,
  1843. UndergrowthQuality = Quality.Low,
  1844.  
  1845. AntiAliasingDeferred = AntiAliasingDeferred.Off,
  1846. AntiAliasingPost = AntiAliasingPost.Off,
  1847. AnisotropicFilter = AnisotropicFilter.X2,
  1848. AmbientOcclusion = AmbientOcclusion.Off,
  1849.  
  1850. MotionBlurEnabled = MotionBlur.Off,
  1851. },
  1852.  
  1853. [Quality.Medium] = {
  1854. TextureQuality = Quality.Medium,
  1855. ShadowQuality = Quality.Medium,
  1856. EffectsQuality = Quality.Medium,
  1857. MeshQuality = Quality.Medium,
  1858. TerrainQuality = Quality.Medium,
  1859. UndergrowthQuality = Quality.Medium,
  1860.  
  1861. AntiAliasingDeferred = AntiAliasingDeferred.Off,
  1862. AntiAliasingPost = AntiAliasingPost.Medium,
  1863. AnisotropicFilter = AnisotropicFilter.X4,
  1864. AmbientOcclusion = AmbientOcclusion.SSAO,
  1865.  
  1866. MotionBlurEnabled = MotionBlur.Off,
  1867. },
  1868.  
  1869. [Quality.High] = {
  1870. TextureQuality = Quality.High,
  1871. ShadowQuality = Quality.High,
  1872. EffectsQuality = Quality.High,
  1873. MeshQuality = Quality.High,
  1874. TerrainQuality = Quality.High,
  1875. UndergrowthQuality = Quality.High,
  1876.  
  1877. AntiAliasingDeferred = AntiAliasingDeferred.Off,
  1878. AntiAliasingPost = AntiAliasingPost.High,
  1879. AnisotropicFilter = AnisotropicFilter.X16,
  1880. AmbientOcclusion = AmbientOcclusion.HBAO,
  1881.  
  1882. MotionBlurEnabled = MotionBlur.On,
  1883. },
  1884.  
  1885. [Quality.Ultra] = {
  1886. TextureQuality = Quality.Ultra,
  1887. ShadowQuality = Quality.Ultra,
  1888. EffectsQuality = Quality.Ultra,
  1889. MeshQuality = Quality.Ultra,
  1890. TerrainQuality = Quality.Ultra,
  1891. UndergrowthQuality = Quality.Ultra,
  1892.  
  1893. AntiAliasingDeferred = AntiAliasingDeferred.MSAA4X,
  1894. AntiAliasingPost = AntiAliasingPost.High,
  1895. AnisotropicFilter = AnisotropicFilter.X16,
  1896. AmbientOcclusion = AmbientOcclusion.HBAO,
  1897.  
  1898. MotionBlurEnabled = MotionBlur.On,
  1899. },
  1900.  
  1901. [Quality.Custom] = {
  1902. -- There is a bug in LuaOptionSetManager where it can not handle empty tables, so we add this dummy option here for now (no time to fix the parser atm)
  1903. OverallGraphicsQuality = Quality.Custom + 1
  1904. }
  1905. }
  1906. }
  1907.  
  1908. settings["OverallGraphicsQuality"] = 0 -- Show as autodetect in UI
  1909. for setting, value in pairs(defaultSettings.Render[deviceSettings.baseQualityLevel]) do
  1910. settings[setting] = value
  1911. end
  1912. for setting, value in pairs(deviceSettings.defaultSettings or {}) do
  1913. settings[setting] = value
  1914. end
  1915.  
  1916. -- audio thread
  1917. if cpuCount < 4 then
  1918. applySettings("Audio.AudioCoreThread 0")
  1919. else
  1920. if (cpuCount < 6) then
  1921. applySettings("Audio.AudioCoreThread 2")
  1922. else
  1923. applySettings("Audio.AudioCoreThread "..(cpuCount-1))
  1924. end
  1925. end
  1926.  
  1927. -- audio
  1928. if cpuQuality < 4 then
  1929. settings['AudioQuality'] = 0.0
  1930. else
  1931. settings['AudioQuality'] = 1.0
  1932. end
  1933.  
  1934.  
  1935. -- physics
  1936. if cpuQuality < 4 then
  1937. settings['PhysicsQuality'] = 0.0
  1938. else
  1939. settings['PhysicsQuality'] = 1.0
  1940. end
  1941.  
  1942. -- animations
  1943. if cpuQuality < 4 then
  1944. settings['AnimationQuality'] = 0.0
  1945. else
  1946. settings['AnimationQuality'] = 1.0
  1947. end
  1948.  
  1949. -- textures
  1950. if adapterName == "Xenon" or adapterName == "PS3" then
  1951. settings['TextureQuality'] = Quality.Medium
  1952. elseif availableGpuMemory <= 512*1024*1024 then
  1953. settings['TextureQuality'] = Quality.Low
  1954. elseif availableGpuMemory <= 768*1024*1024 then
  1955. settings['TextureQuality'] = Quality.Medium
  1956. elseif availableGpuMemory <= 1024*1024*1024 then
  1957. settings['TextureQuality'] = Quality.High
  1958. else
  1959. settings['TextureQuality'] = Quality.Ultra
  1960. end
  1961.  
  1962.  
  1963. -- resolution
  1964. settings['ResolutionWidth'] = defaultFullscreenWidth or 0
  1965. settings['ResolutionHeight'] = defaultFullscreenHeight or 0
  1966. settings['FullscreenRefreshRate'] = defaultFullscreenRefreshRate or 0.0
  1967. settings['FullscreenScreen'] = 0
  1968. settings['FullscreenEnabled'] = defaultFullscreenEnabled or 0
  1969. settings['VSyncEnabled'] = defaultVSyncEnabled or 0
  1970.  
  1971. -- Test to override auto detected values (using lua to allow use of constants)
  1972. --core.readKeyValueCfg("/user/profile/settings/overrideAutodetect.cfg", settings) --will override autodetected values
  1973. function vfs_loadfile(filename)
  1974. local f = vfs.open(filename, "r")
  1975.  
  1976. if f == nil then
  1977. return false, "File not found!"
  1978. end
  1979.  
  1980. function getNextChunk()
  1981. return f:read(128)
  1982. end
  1983.  
  1984. return load(getNextChunk, filename)
  1985. end
  1986.  
  1987. local overrideFilename = "/user/profile/settings/overrideAutodetect.lua"
  1988. local executeAutoDetectOverride, e = vfs_loadfile(overrideFilename)
  1989.  
  1990. function bind(f, param)
  1991. return function(...)
  1992. f(param, ...)
  1993. end
  1994. end
  1995.  
  1996. if executeAutoDetectOverride then
  1997. overrideSettings = setmetatable({},
  1998. {
  1999. __index = constants,
  2000. __newindex = bind(function(s, t, n, v)
  2001. if s[n] == nil then
  2002. log:error("Trying to set unknown setting " .. n .. " to " .. tostring(n))
  2003. elseif v == nil then
  2004. log:error("Trying to set setting " .. n .. " to nil")
  2005. else
  2006. log:info("Overriding " .. n .. ": " .. tostring(v))
  2007. s[n] = v
  2008. end
  2009. end, settings)
  2010. })
  2011.  
  2012. setfenv(executeAutoDetectOverride, overrideSettings)
  2013. local success, e = pcall(executeAutoDetectOverride);
  2014. if not success then
  2015. log:info("Failed to parse '" .. overrideFilename .. "' " .. e)
  2016. end
  2017. else
  2018. log:info("Override file error '" .. overrideFilename .. "': " .. e)
  2019. end
  2020.  
  2021. -- Last thing we do is to save the values we want for the autodetect setting
  2022. -- (use the same keys as used for the low settings)
  2023. for key, _ in pairs(defaultSettings.Render[Quality.Low]) do
  2024. defaultSettings.Render[Quality.Autodetect][key] = settings[key]
  2025. if settings[key] == nil then
  2026. log:error("Setting " .. key .. " does not have an auto detected default value")
  2027. end
  2028. end
  2029. ‚þ$file ôname )Scripts/UserOptions/HardwareProfiles.lua payload ¸function getGpuQuality(gpuName, gpuCount)
  2030. if string.find(gpuName, "GeForce 8") or
  2031. string.find(gpuName, "GeForce 9") then
  2032. return 1
  2033. elseif string.find(gpuName, "GeForce GTX 26") then
  2034. return 2
  2035. elseif string.find(gpuName, "GeForce GTX 2") or
  2036. string.find(gpuName, "ATI Radeon HD 4870 X2") or
  2037. string.find(gpuName, "ATI Radeon HD 5800 Series") or
  2038. string.find(gpuName, "ATI Radeon HD 5900 Series") or
  2039. string.find(gpuName, "AMD Radeon HD 68") or
  2040. string.find(gpuName, "AMD Radeon HD 69") or
  2041. string.find(gpuName, "GeForce GTX 4") or
  2042. string.find(gpuName, "GeForce GTX 5") then
  2043. if gpuCount > 1 then
  2044. return 4
  2045. else
  2046. return 3
  2047. end
  2048. else
  2049. return 1
  2050. end
  2051. end
  2052.  
  2053. function getCpuQuality(cpuCount, cpuSpeed)
  2054. return (cpuSpeed-1.2)*(cpuCount-1)
  2055. end
  2056.  
  2057. -- 2 cores, 3.0 gHz : 1.8
  2058. -- 2 cores, 3.6 gHz : 2.4
  2059. -- 4 cores, 2.0 gHz : 2.4
  2060. -- 4 cores, 3.2 gHz : 6
  2061. -- 8 cores, 1.8 gHz : 4.2
  2062. -- 8 cores, 3.2 gHz : 14!! awesome
  2063.  
  2064. vendorDB = {
  2065. [0x1002] = dofile("Scripts/UserOptions/HardwareProfiles/ATI.lua"),
  2066. [0x10DE] = dofile("Scripts/UserOptions/HardwareProfiles/nVidia.lua"),
  2067. [0x8086] = dofile("Scripts/UserOptions/HardwareProfiles/Intel.lua")
  2068. }
  2069.  
  2070. -- Autodetect settings based on graphics card device id
  2071. function getDeviceSettings(vendorId, deviceId, adapterName)
  2072. if adapterName == "Xenon" then
  2073. return { baseQualityLevel = Quality.Medium, defaultSettings = {}, consoleOverrides = "" }
  2074. elseif adapterName == "PS3" then
  2075. return { baseQualityLevel = Quality.High, defaultSettings = {}, consoleOverrides = "" }
  2076. else
  2077. return (vendorDB[vendorId] and vendorDB[vendorId][deviceId]) or { baseQualityLevel = Quality.Medium, defaultSettings = {}, consoleOverrides = "" }
  2078. end
  2079. end
  2080.  
  2081. hardwareSpecs = {
  2082. [0] = {
  2083. cpuCount = detectedCpuCount,
  2084. cpuQuality = getCpuQuality(detectedCpuCount, detectedCpuFreq),
  2085. availableMemory = detectedAvailableMemory,
  2086. adapterName = detectedAdapterName,
  2087. gpuCount = detectedGpuCount,
  2088. adapterQuality = getGpuQuality(detectedAdapterName, detectedGpuCount),
  2089. availableGpuMemory = detectedAvailableGpuMemory,
  2090. deviceSettings = getDeviceSettings(detectedVendorId, detectedDeviceId, detectedAdapterName)
  2091. },
  2092.  
  2093. [1] = {
  2094. cpuCount = detectedCpuCount,
  2095. cpuQuality = getCpuQuality(2, 2.3),
  2096. availableMemory = 512*1024*1024,
  2097. adapterName = "Faked Low",
  2098. gpuCount = 1,
  2099. adapterQuality = 0,
  2100. availableGpuMemory = 512*1024*1024,
  2101. deviceSettings = { baseQualityLevel = Quality.Low, defaultSettings = {}, consoleOverrides = "" }
  2102. },
  2103.  
  2104. [2] = {
  2105. cpuCount = detectedCpuCount,
  2106. cpuQuality = getCpuQuality(2, 3),
  2107. availableMemory = 1*1024*1024*1024,
  2108. adapterName = "Faked Medium",
  2109. gpuCount = 1,
  2110. adapterQuality = 1,
  2111. availableGpuMemory = 768*1024*1024,
  2112. deviceSettings = { baseQualityLevel = Quality.Medium, defaultSettings = {}, consoleOverrides = "" }
  2113. },
  2114.  
  2115. [3] = {
  2116. cpuCount = detectedCpuCount,
  2117. cpuQuality = getCpuQuality(4, 3),
  2118. availableMemory = 1.5*1024*1024*1024,
  2119. adapterName = "Faked High",
  2120. gpuCount = 1,
  2121. adapterQuality = 3,
  2122. availableGpuMemory = 1*1024*1024*1024,
  2123. deviceSettings = { baseQualityLevel = Quality.High, defaultSettings = {}, consoleOverrides = "" }
  2124. },
  2125.  
  2126. [4] = {
  2127. cpuCount = detectedCpuCount,
  2128. cpuQuality = getCpuQuality(8, 3),
  2129. availableMemory = 2*1024*1024*1024,
  2130. adapterName = "Faked Ultra",
  2131. gpuCount = 2,
  2132. adapterQuality = 4,
  2133. availableGpuMemory = 2*1024*1024*1024,
  2134. deviceSettings = { baseQualityLevel = Quality.Ultra, defaultSettings = {}, consoleOverrides = "" }
  2135. },
  2136. }
  2137.  
  2138. vendorDB = nil
  2139. ‚¡Ì$file –Ìname -Scripts/UserOptions/HardwareProfiles/ATI.lua payload ÕË-- Settings database for ATI devices
  2140. return {
  2141. -- [0xHHHH] = { -- Example card
  2142. -- baseQualityLevel = Quality.Low,
  2143. -- defaultSettings = {
  2144. -- TextureQuality = Quality.Low,
  2145. -- ShadowQuality = Quality.Low,
  2146. -- EffectsQuality = Quality.Low,
  2147. -- },
  2148. -- consoleOverrides = [=[
  2149. -- WorldRender.MotionBlurEnable 0
  2150. -- ]=]
  2151. -- }
  2152. [0x6718] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 6900 Series" Northern Islands
  2153. [0x6719] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 6900 Series" Northern Islands
  2154. [0x671C] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 6900 Series" Northern Islands
  2155. [0x671D] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 6900 Series" Northern Islands
  2156. [0x671F] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 6900 Series" Northern Islands
  2157. [0x67B0] = { baseQualityLevel = Quality.High }, -- Hawaii Sea Islands
  2158. [0x67B1] = { baseQualityLevel = Quality.High }, -- Hawaii Sea Islands
  2159. [0x67B9] = { baseQualityLevel = Quality.High }, -- Hawaii Sea Islands
  2160. [0x6798] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 7900 Series" Southern Islands
  2161. [0x6799] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 7900 Series" Southern Islands
  2162. [0x679A] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 7900 Series" Southern Islands
  2163. [0x679B] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 7900 Series" Southern Islands
  2164. [0x679B] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 7900 Series" Southern Islands
  2165. [0x679E] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 7800 Series" Southern Islands
  2166. [0x6810] = { baseQualityLevel = Quality.High }, -- "AMD Radeon(TM) HD 8800 Series" Southern Islands
  2167. [0x6811] = { baseQualityLevel = Quality.High }, -- "AMD Radeon(TM) HD 8800 Series" Southern Islands
  2168. [0x6818] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 7800 Series" Southern Islands
  2169. [0x6819] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 7800 Series" Southern Islands
  2170. [0x6837] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD7700 Series" Southern Islands
  2171. [0x683D] = { baseQualityLevel = Quality.High }, -- "AMD Radeon HD 7700 Series" Southern Islands
  2172. [0x689B] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 6800 Series" Evergreen
  2173. [0x6738] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 6800 Series" Northern Islands
  2174. [0x6739] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 6800 Series" Northern Islands
  2175. [0x665C] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 7700 Series" Sea Islands
  2176. [0x683F] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 7700 Series" Southern Islands
  2177. [0x6720] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 6900M Series" Northern Islands
  2178. [0x673E] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 6700 Series" Northern Islands
  2179. [0x6742] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Northern Islands
  2180. [0x6742] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Northern Islands
  2181. [0x6742] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Northern Islands
  2182. [0x6742] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Northern Islands
  2183. [0x6742] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Northern Islands
  2184. [0x6742] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Northern Islands
  2185. [0x6758] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 6670" Northern Islands
  2186. [0x675B] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Northern Islands
  2187. [0x675D] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Northern Islands
  2188. [0x6610] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Sea Islands
  2189. [0x6611] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Sea Islands
  2190. [0x6613] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8500/8600 Series" Sea Islands
  2191. [0x6649] = { baseQualityLevel = Quality.Medium }, -- "BONAIRE (6649)" Sea Islands
  2192. [0x6650] = { baseQualityLevel = Quality.Medium }, -- "BONAIRE (6650)" Sea Islands
  2193. [0x6651] = { baseQualityLevel = Quality.Medium }, -- "BONAIRE (6651)" Sea Islands
  2194. [0x6800] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 7970M" Southern Islands
  2195. [0x6800] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 7970M" Southern Islands
  2196. [0x6800] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 7970M" Southern Islands
  2197. [0x6800] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 7970M" Southern Islands
  2198. [0x6801] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon(TM) HD8970M" Southern Islands
  2199. [0x6801] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon(TM) HD8970M" Southern Islands
  2200. [0x6801] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon(TM) HD8970M" Southern Islands
  2201. [0x6801] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon(TM) HD8970M" Southern Islands
  2202. [0x6820] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2203. [0x6820] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2204. [0x6820] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2205. [0x6820] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2206. [0x6820] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2207. [0x6820] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2208. [0x6821] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2209. [0x6821] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2210. [0x6821] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2211. [0x6821] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2212. [0x6821] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2213. [0x6821] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2214. [0x6821] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2215. [0x6823] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2216. [0x6823] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2217. [0x6823] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2218. [0x6823] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2219. [0x6823] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2220. [0x6823] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2221. [0x6823] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2222. [0x682B] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2223. [0x682B] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2224. [0x682B] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2225. [0x682B] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2226. [0x682B] = { baseQualityLevel = Quality.Medium }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2227. [0x6898] = { baseQualityLevel = Quality.Medium }, -- "ATI Radeon HD 5800 Series" Evergreen
  2228. [0x6899] = { baseQualityLevel = Quality.Medium }, -- "ATI Radeon HD 5800 Series" Evergreen
  2229. [0x689C] = { baseQualityLevel = Quality.Medium }, -- "ATI Radeon HD 5900 Series" Evergreen
  2230. [0x689D] = { baseQualityLevel = Quality.Medium }, -- "ATI Radeon HD 5900 Series" Evergreen
  2231. [0x689E] = { baseQualityLevel = Quality.Medium }, -- "ATI Radeon HD 5800 Series" Evergreen
  2232. [0x6880] = { baseQualityLevel = Quality.Low }, -- "EG LEXINGTON" Evergreen
  2233. [0x6880] = { baseQualityLevel = Quality.Low }, -- "EG LEXINGTON" Evergreen
  2234. [0x6880] = { baseQualityLevel = Quality.Low }, -- "EG LEXINGTON" Evergreen
  2235. [0x6880] = { baseQualityLevel = Quality.Low }, -- "EG LEXINGTON" Evergreen
  2236. [0x6888] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V8800 (FireGL) Graphics Adapter" Evergreen
  2237. [0x6889] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V7800 (FireGL) Graphics Adapter" Evergreen
  2238. [0x688A] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V9800 (FireGL) Graphics Adapter" Evergreen
  2239. [0x688C] = { baseQualityLevel = Quality.Low }, -- "AMD FireStream 9370" Evergreen
  2240. [0x688D] = { baseQualityLevel = Quality.Low }, -- "AMD FireStream 9350" Evergreen
  2241. [0x68A0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2242. [0x68A0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2243. [0x68A0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2244. [0x68A0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2245. [0x68A0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2246. [0x68A1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2247. [0x68A1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2248. [0x68A1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2249. [0x68A1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2250. [0x68A1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2251. [0x68A8] = { baseQualityLevel = Quality.Low }, -- "Radeon (TM) HD 6850M" Evergreen
  2252. [0x68A8] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6800M Series" Evergreen
  2253. [0x68A9] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V5800 (FireGL) Graphics Adapter" Evergreen
  2254. [0x68B0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2255. [0x68B0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2256. [0x68B0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2257. [0x68B0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2258. [0x68B0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5800 Series" Evergreen
  2259. [0x68B8] = { baseQualityLevel = Quality.Low }, -- "ATI Radeon HD 5700 Series" Evergreen
  2260. [0x68B9] = { baseQualityLevel = Quality.Low }, -- "ATI Radeon HD 5600/5700" Evergreen
  2261. [0x68BA] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6700 Series" Evergreen
  2262. [0x68BE] = { baseQualityLevel = Quality.Low }, -- "ATI Radeon HD 5700 Series" Evergreen
  2263. [0x68BF] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6700 Series" Evergreen
  2264. [0x68C0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2265. [0x68C0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2266. [0x68C0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6570" Evergreen
  2267. [0x68C0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6570" Evergreen
  2268. [0x68C0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6570" Evergreen
  2269. [0x68C0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000" Evergreen
  2270. [0x68C0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000" Evergreen
  2271. [0x68C0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2272. [0x68C0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000" Evergreen
  2273. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2274. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2275. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2276. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5650" Evergreen
  2277. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5650" Evergreen
  2278. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6550" Evergreen
  2279. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5650" Evergreen
  2280. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2281. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2282. [0x68C1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2283. [0x68C7] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5570" Evergreen
  2284. [0x68C7] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5570" Evergreen
  2285. [0x68C7] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5570" Evergreen
  2286. [0x68C8] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V4800 (FireGL) Graphics Adapter" Evergreen
  2287. [0x68C9] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro 3800 (FireGL) Graphics Adapter" Evergreen
  2288. [0x68D8] = { baseQualityLevel = Quality.Low }, -- "ATI Radeon HD 5670" Evergreen
  2289. [0x68D9] = { baseQualityLevel = Quality.Low }, -- "ATI Radeon HD 5570" Evergreen
  2290. [0x68DA] = { baseQualityLevel = Quality.Low }, -- "ATI Radeon HD 5500 Series" Evergreen
  2291. [0x68DE] = { baseQualityLevel = Quality.Low }, -- "EG REDWOOD" Evergreen
  2292. [0x68E0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2293. [0x68E0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2294. [0x68E0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5470" Evergreen
  2295. [0x68E0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2296. [0x68E0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5450" Evergreen
  2297. [0x68E0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5470" Evergreen
  2298. [0x68E0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2299. [0x68E0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2300. [0x68E0] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2301. [0x68E1] = { baseQualityLevel = Quality.Low }, -- "EG PARK" Evergreen
  2302. [0x68E1] = { baseQualityLevel = Quality.Low }, -- "EG PARK" Evergreen
  2303. [0x68E1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2304. [0x68E1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2305. [0x68E1] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 5000 Series" Evergreen
  2306. [0x68E4] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon Graphics" Evergreen
  2307. [0x68E4] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6370" Evergreen
  2308. [0x68E4] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6370" Evergreen
  2309. [0x68E4] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6370" Evergreen
  2310. [0x68E4] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6300M Series" Evergreen
  2311. [0x68E4] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon Graphics" Evergreen
  2312. [0x68E4] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon Graphics" Evergreen
  2313. [0x68E4] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6300M Series" Evergreen
  2314. [0x68E5] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon Graphics" Evergreen
  2315. [0x68E5] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6300M Series" Evergreen
  2316. [0x68E5] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon Graphics" Evergreen
  2317. [0x68E5] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon Graphics" Evergreen
  2318. [0x68E5] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6300M Series" Evergreen
  2319. [0x68E8] = { baseQualityLevel = Quality.Low }, -- "EG CEDAR" Evergreen
  2320. [0x68E9] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro (FireGL) Graphics Adapter" Evergreen
  2321. [0x68F1] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro (FireGL) Graphics Adapter" Evergreen
  2322. [0x68F2] = { baseQualityLevel = Quality.Low }, -- "AMD FirePro 2270 (ATI FireGL)" Evergreen
  2323. [0x68F8] = { baseQualityLevel = Quality.Low }, -- "EG CEDAR" Evergreen
  2324. [0x68F9] = { baseQualityLevel = Quality.Low }, -- "ATI Radeon HD 5450" Evergreen
  2325. [0x68FA] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7300 Series" Evergreen
  2326. [0x68FE] = { baseQualityLevel = Quality.Low }, -- "EG CEDAR" Evergreen
  2327. [0x9830] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8400" Kabini APU
  2328. [0x9831] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8400E" Kabini APU
  2329. [0x9832] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8330" Kabini APU
  2330. [0x9833] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8330E" Kabini APU
  2331. [0x9834] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8210" Kabini APU
  2332. [0x9835] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8210E" Kabini APU
  2333. [0x9836] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8280" Kabini APU
  2334. [0x9837] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8280E" Kabini APU
  2335. [0x9838] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8240" Kabini APU
  2336. [0x9839] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8180" Kabini APU
  2337. [0x983A] = { baseQualityLevel = Quality.Low }, -- "TM EMB 2C (983A)" Kabini APU
  2338. [0x983B] = { baseQualityLevel = Quality.Low }, -- "TM 4C (983B)" Kabini APU
  2339. [0x983C] = { baseQualityLevel = Quality.Low }, -- "TM EMB 4C (983C)" Kabini APU
  2340. [0x983D] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8250" Kabini APU
  2341. [0x983E] = { baseQualityLevel = Quality.Low }, -- "KB DT 4C (N-1) (983E)" Kabini APU
  2342. [0x983F] = { baseQualityLevel = Quality.Low }, -- "KB DT 2C (983F)" Kabini APU
  2343. [0x1304] = { baseQualityLevel = Quality.Low }, -- "KV SPECTRE MOBILE 35W (1304)" Kaveri APU
  2344. [0x1305] = { baseQualityLevel = Quality.Low }, -- "KV SPECTRE DESKTOP 100W (1305)" Kaveri APU
  2345. [0x1306] = { baseQualityLevel = Quality.Low }, -- "KV SPECTRE SL MOBILE 35W (1306)" Kaveri APU
  2346. [0x1307] = { baseQualityLevel = Quality.Low }, -- "KV SPECTRE SL DESKTOP 100W (1307)" Kaveri APU
  2347. [0x9640] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6550D" Llano APU
  2348. [0x9641] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 6620G" Llano APU
  2349. [0x9641] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6620G" Llano APU
  2350. [0x9642] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6370D" Llano APU
  2351. [0x9643] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 6380G" Llano APU
  2352. [0x9643] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6380G" Llano APU
  2353. [0x9644] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6410D" Llano APU
  2354. [0x9645] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6410D" Llano APU
  2355. [0x9647] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 6520G" Llano APU
  2356. [0x9647] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6520G" Llano APU
  2357. [0x9648] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 6480G" Llano APU
  2358. [0x9648] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6480G" Llano APU
  2359. [0x9649] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 6480G" Llano APU
  2360. [0x9649] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 6480G" Llano APU
  2361. [0x964A] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6530D" Llano APU
  2362. [0x964E] = { baseQualityLevel = Quality.Low }, -- "SUMO 964E" Llano APU
  2363. [0x964F] = { baseQualityLevel = Quality.Low }, -- "SUMO 964F" Llano APU
  2364. [0x6700] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2365. [0x6701] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2366. [0x6702] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2367. [0x6703] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2368. [0x6704] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2369. [0x6705] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2370. [0x6706] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2371. [0x6707] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2372. [0x6708] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2373. [0x6709] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2374. [0x6721] = { baseQualityLevel = Quality.Low }, -- "Mobility Radeon HD 6000 series" Northern Islands
  2375. [0x6724] = { baseQualityLevel = Quality.Low }, -- "Mobility Radeon HD 6000 series" Northern Islands
  2376. [0x6725] = { baseQualityLevel = Quality.Low }, -- "Mobility Radeon HD 6000 series" Northern Islands
  2377. [0x6728] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2378. [0x6729] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2379. [0x6740] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6000 series" Northern Islands
  2380. [0x6740] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6700M Series" Northern Islands
  2381. [0x6740] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6000 series" Northern Islands
  2382. [0x6740] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6700M Series" Northern Islands
  2383. [0x6740] = { baseQualityLevel = Quality.Low }, -- "Radeon (TM) HD 6770M" Northern Islands
  2384. [0x6740] = { baseQualityLevel = Quality.Low }, -- "Radeon (TM) HD 6770M" Northern Islands
  2385. [0x6740] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 6650M" Northern Islands
  2386. [0x6740] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 6650M" Northern Islands
  2387. [0x6740] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 7670M" Northern Islands
  2388. [0x6740] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6700M Series" Northern Islands
  2389. [0x6741] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6600M Series" Northern Islands
  2390. [0x6741] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6000 series" Northern Islands
  2391. [0x6741] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon 6600M and 6700M Series" Northern Islands
  2392. [0x6741] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6000 series" Northern Islands
  2393. [0x6741] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6650M" Northern Islands
  2394. [0x6741] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6650M" Northern Islands
  2395. [0x6741] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7650M" Northern Islands
  2396. [0x6741] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon 6600M and 6700M Series" Northern Islands
  2397. [0x6741] = { baseQualityLevel = Quality.Low }, -- "Radeon (TM) HD 6750M" Northern Islands
  2398. [0x6741] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD 6630M" Northern Islands
  2399. [0x6741] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon 6600M and 6700M Series" Northern Islands
  2400. [0x6742] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6625M Graphics" Northern Islands
  2401. [0x6743] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon E6760" Northern Islands
  2402. [0x6743] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon E6760" Northern Islands
  2403. [0x6743] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon E6760" Northern Islands
  2404. [0x6744] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6000 series" Northern Islands
  2405. [0x6744] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6000 series" Northern Islands
  2406. [0x6749] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2407. [0x674A] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2408. [0x6750] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6500 series" Northern Islands
  2409. [0x6750] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6500 series" Northern Islands
  2410. [0x6750] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6600A Series" Northern Islands
  2411. [0x6751] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600A Series" Northern Islands
  2412. [0x6759] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6570" Northern Islands
  2413. [0x675F] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 5500 Series" Northern Islands
  2414. [0x6760] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400M Series" Northern Islands
  2415. [0x6760] = { baseQualityLevel = Quality.Low }, -- "Mobility Radeon HD 6000 series" Northern Islands
  2416. [0x6760] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7450M" Northern Islands
  2417. [0x6760] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7470M" Northern Islands
  2418. [0x6760] = { baseQualityLevel = Quality.Low }, -- "Radeon (TM) HD 6470M" Northern Islands
  2419. [0x6760] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6400M Series" Northern Islands
  2420. [0x6760] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400M Series" Northern Islands
  2421. [0x6760] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400M Series" Northern Islands
  2422. [0x6761] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6430M" Northern Islands
  2423. [0x6761] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6430M" Northern Islands
  2424. [0x6763] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon E6460" Northern Islands
  2425. [0x6764] = { baseQualityLevel = Quality.Low }, -- "Mobility Radeon HD 6000 series" Northern Islands
  2426. [0x6765] = { baseQualityLevel = Quality.Low }, -- "Mobility Radeon HD 6000 series" Northern Islands
  2427. [0x6768] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Northern Islands
  2428. [0x6770] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6400 Series" Northern Islands
  2429. [0x6770] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6400 Series" Northern Islands
  2430. [0x6770] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6400 Series" Northern Islands
  2431. [0x6771] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon(TM) HD8490" Northern Islands
  2432. [0x6772] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400A Series" Northern Islands
  2433. [0x6778] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7000 series" Northern Islands
  2434. [0x6779] = { baseQualityLevel = Quality.Low }, -- "AMD RADEON HD 6450" Northern Islands
  2435. [0x6779] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6450" Northern Islands
  2436. [0x677B] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400 Series" Northern Islands
  2437. [0x9802] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6310 Graphics" Ontario APU
  2438. [0x9802] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6310 Graphics" Ontario APU
  2439. [0x9803] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6310 Graphics" Ontario APU
  2440. [0x9803] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6310 Graphics" Ontario APU
  2441. [0x9804] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6250 Graphics" Ontario APU
  2442. [0x9804] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6250 Graphics" Ontario APU
  2443. [0x9805] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6250 Graphics" Ontario APU
  2444. [0x9805] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6250 Graphics" Ontario APU
  2445. [0x9806] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6320 Graphics" Ontario APU
  2446. [0x9806] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6320 Graphics" Ontario APU
  2447. [0x9807] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 6290 Graphics" Ontario APU
  2448. [0x9808] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7340 Graphics" Ontario APU
  2449. [0x9808] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7340 Graphics" Ontario APU
  2450. [0x9809] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7310 Graphics" Ontario APU
  2451. [0x9809] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7310 Graphics" Ontario APU
  2452. [0x980A] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7290 Graphics" Ontario APU
  2453. [0x990B] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8650G" Richland APU
  2454. [0x990C] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8670D" Richland APU
  2455. [0x990D] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8550G" Richland APU
  2456. [0x990E] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8570D" Richland APU
  2457. [0x990F] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8610G" Richland APU
  2458. [0x9990] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7520G" Richland APU
  2459. [0x9990] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7520G" Richland APU
  2460. [0x9990] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7520G" Richland APU
  2461. [0x9991] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7540D" Richland APU
  2462. [0x9992] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7420G" Richland APU
  2463. [0x9992] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7420G" Richland APU
  2464. [0x9993] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7480D" Richland APU
  2465. [0x9994] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400G" Richland APU
  2466. [0x9995] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8450G" Richland APU
  2467. [0x9996] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8470D" Richland APU
  2468. [0x9997] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8350G" Richland APU
  2469. [0x9998] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8370D" Richland APU
  2470. [0x9999] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8510G" Richland APU
  2471. [0x999A] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8410G" Richland APU
  2472. [0x999B] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8310G" Richland APU
  2473. [0x99A0] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7520G" Richland APU
  2474. [0x99A2] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7420G" Richland APU
  2475. [0x99A4] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400G" Richland APU
  2476. [0x6600] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8600/8700M" Sea Islands
  2477. [0x6601] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon (TM) HD 8500M/8700M" Sea Islands
  2478. [0x6602] = { baseQualityLevel = Quality.Low }, -- "MARS (6602)" Sea Islands
  2479. [0x6603] = { baseQualityLevel = Quality.Low }, -- "MARS (6603)" Sea Islands
  2480. [0x6606] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8790M" Sea Islands
  2481. [0x6607] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon (TM) HD8530M" Sea Islands
  2482. [0x6620] = { baseQualityLevel = Quality.Low }, -- "MARS (6620)" Sea Islands
  2483. [0x6621] = { baseQualityLevel = Quality.Low }, -- "MARS (6621)" Sea Islands
  2484. [0x6623] = { baseQualityLevel = Quality.Low }, -- "MARS (6623)" Sea Islands
  2485. [0x6631] = { baseQualityLevel = Quality.Low }, -- "OLAND (6631)" Sea Islands
  2486. [0x6640] = { baseQualityLevel = Quality.Low }, -- "SATURN (6640)" Sea Islands
  2487. [0x6641] = { baseQualityLevel = Quality.Low }, -- "SATURN (6641)" Sea Islands
  2488. [0x6660] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8600M Series" Sea Islands
  2489. [0x6663] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8500M Series" Sea Islands
  2490. [0x6667] = { baseQualityLevel = Quality.Low }, -- "SUN (6667)" Sea Islands
  2491. [0x666F] = { baseQualityLevel = Quality.Low }, -- "SUN (666F)" Sea Islands
  2492. [0x6780] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Southern Islands
  2493. [0x6784] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Southern Islands
  2494. [0x6788] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Southern Islands
  2495. [0x678A] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V (FireGL V) Graphics Adapter" Southern Islands
  2496. [0x6806] = { baseQualityLevel = Quality.Low }, -- "NEPTUNE (6806)" Southern Islands
  2497. [0x6808] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V(FireGL V) Graphics Adapter" Southern Islands
  2498. [0x6809] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V(FireGL V) Graphics Adapter" Southern Islands
  2499. [0x6820] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 8800M Series" Southern Islands
  2500. [0x6820] = { baseQualityLevel = Quality.Low }, -- "Radeon (TM) HD 7750M" Southern Islands
  2501. [0x6825] = { baseQualityLevel = Quality.Low }, -- "HEATHROW XT" Southern Islands
  2502. [0x6825] = { baseQualityLevel = Quality.Low }, -- "CHELSEA PRO" Southern Islands
  2503. [0x6825] = { baseQualityLevel = Quality.Low }, -- "HEATHROW XT" Southern Islands
  2504. [0x6825] = { baseQualityLevel = Quality.Low }, -- "HEATHROW XT" Southern Islands
  2505. [0x6825] = { baseQualityLevel = Quality.Low }, -- "HEATHROW XT" Southern Islands
  2506. [0x6825] = { baseQualityLevel = Quality.Low }, -- "HEATHROW XT" Southern Islands
  2507. [0x6825] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7800M Series" Southern Islands
  2508. [0x6826] = { baseQualityLevel = Quality.Low }, -- "CHELSEA LP" Southern Islands
  2509. [0x6826] = { baseQualityLevel = Quality.Low }, -- "CHELSEA LP" Southern Islands
  2510. [0x6826] = { baseQualityLevel = Quality.Low }, -- "CHELSEA LP" Southern Islands
  2511. [0x6826] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2512. [0x6827] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7800M Series" Southern Islands
  2513. [0x6827] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7800M Series" Southern Islands
  2514. [0x6827] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7800M Series" Southern Islands
  2515. [0x6827] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7800M Series" Southern Islands
  2516. [0x6827] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7800M Series" Southern Islands
  2517. [0x6827] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7800M Series" Southern Islands
  2518. [0x6827] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7800M Series" Southern Islands
  2519. [0x6828] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V(FireGL V) Graphics Adapter" Southern Islands
  2520. [0x682D] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2521. [0x682D] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2522. [0x682D] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2523. [0x682D] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2524. [0x682D] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2525. [0x682D] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2526. [0x682D] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2527. [0x682F] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2528. [0x682F] = { baseQualityLevel = Quality.Low }, -- "Radeon (TM) HD 7750M" Southern Islands
  2529. [0x682F] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2530. [0x682F] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2531. [0x682F] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2532. [0x682F] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2533. [0x682F] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2534. [0x682F] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2535. [0x6830] = { baseQualityLevel = Quality.Low }, -- "GREAT WALL" Southern Islands
  2536. [0x6830] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7800M Series" Southern Islands
  2537. [0x6831] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7700M Series" Southern Islands
  2538. [0x6840] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600M Series" Southern Islands
  2539. [0x6840] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600M Series" Southern Islands
  2540. [0x6840] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600M Series" Southern Islands
  2541. [0x6840] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600M Series" Southern Islands
  2542. [0x6840] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600M Series" Southern Islands
  2543. [0x6840] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600M Series" Southern Islands
  2544. [0x6840] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600M Series" Southern Islands
  2545. [0x6840] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600M Series" Southern Islands
  2546. [0x6840] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600M Series" Southern Islands
  2547. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500M/7600M Series" Southern Islands
  2548. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500M/7600M Series" Southern Islands
  2549. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500M/7600M Series" Southern Islands
  2550. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500M/7600M Series" Southern Islands
  2551. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500M/7600M Series" Southern Islands
  2552. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500M/7600M Series" Southern Islands
  2553. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7570M" Southern Islands
  2554. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7650M" Southern Islands
  2555. [0x6841] = { baseQualityLevel = Quality.Low }, -- "Radeon (TM) HD 7570M" Southern Islands
  2556. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500M/7600M Series" Southern Islands
  2557. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500M/7600M Series" Southern Islands
  2558. [0x6841] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500M/7600M Series" Southern Islands
  2559. [0x6842] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7000M Series" Southern Islands
  2560. [0x6842] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7000M Series" Southern Islands
  2561. [0x6842] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7000M Series" Southern Islands
  2562. [0x6842] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7000M Series" Southern Islands
  2563. [0x6842] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7000M Series" Southern Islands
  2564. [0x6842] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7000M Series" Southern Islands
  2565. [0x6842] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7000M Series" Southern Islands
  2566. [0x6842] = { baseQualityLevel = Quality.Low }, -- "ATI Mobility Radeon HD 6000 series" Southern Islands
  2567. [0x6842] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7000M Series" Southern Islands
  2568. [0x6843] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7670M" Southern Islands
  2569. [0x6849] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400 Series" Southern Islands
  2570. [0x684C] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro V(FireGL V) Graphics Adapter" Southern Islands
  2571. [0x6850] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400 Series" Southern Islands
  2572. [0x6858] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400 Series" Southern Islands
  2573. [0x6859] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7400 Series" Southern Islands
  2574. [0x9900] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7660G" Trinity APU
  2575. [0x9900] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7660G" Trinity APU
  2576. [0x9900] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7660G" Trinity APU
  2577. [0x9901] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7660D" Trinity APU
  2578. [0x9903] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7640G" Trinity APU
  2579. [0x9903] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7640G" Trinity APU
  2580. [0x9903] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7640G" Trinity APU
  2581. [0x9904] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7560D" Trinity APU
  2582. [0x9905] = { baseQualityLevel = Quality.Low }, -- "ATI FirePro A300 Series(FireGL V) Graphics Adapter" Trinity APU
  2583. [0x9906] = { baseQualityLevel = Quality.Low }, -- "AMD FirePro A300 Series (FireGL V) Graphics Adapter" Trinity APU
  2584. [0x9907] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7620G" Trinity APU
  2585. [0x9908] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600G" Trinity APU
  2586. [0x9909] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500G" Trinity APU
  2587. [0x990A] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500G" Trinity APU
  2588. [0x9910] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7660G" Trinity APU
  2589. [0x9913] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7640G" Trinity APU
  2590. [0x9917] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7620G" Trinity APU
  2591. [0x9918] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7600G" Trinity APU
  2592. [0x9919] = { baseQualityLevel = Quality.Low }, -- "AMD Radeon HD 7500G" Trinity APU
  2593. }
  2594. ‚Ú4$file Ð4name /Scripts/UserOptions/HardwareProfiles/Intel.lua payload Ž4-- Settings database for Intel devices
  2595. return {
  2596. -- [0xHHHH] = { -- Example card
  2597. -- baseQualityLevel = Quality.High,
  2598. -- defaultSettings = {
  2599. -- TextureQuality = Quality.Low,
  2600. -- ShadowQuality = Quality.Medium,
  2601. -- EffectsQuality = Quality.High,
  2602. -- },
  2603. -- consoleOverrides = [=[
  2604. -- WorldRender.MotionBlurEnable 0
  2605. -- ]=]
  2606. -- }
  2607.  
  2608. [0x2982] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) G35 Express Chipset Family
  2609. [0x2983] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) G35 Express Chipset Family
  2610. [0x2A02] = { baseQualityLevel = Quality.Low }, -- SM4 ; Mobile Intel(R) 965 Express Chipset Family
  2611. [0x2A03] = { baseQualityLevel = Quality.Low }, -- SM4 ; Mobile Intel(R) 965 Express Chipset Family
  2612. [0x2A12] = { baseQualityLevel = Quality.Low }, -- SM4 ; Mobile Intel(R) 965 Express Chipset Family
  2613. [0x2A13] = { baseQualityLevel = Quality.Low }, -- SM4 ; Mobile Intel(R) 965 Express Chipset Family
  2614. [0x2A42] = { baseQualityLevel = Quality.Low }, -- SM4 ; Mobile Intel(R) 4 Series Express Chipset Family
  2615. [0x2A43] = { baseQualityLevel = Quality.Low }, -- SM4 ; Mobile Intel(R) 4 Series Express Chipset Family
  2616. [0x2E02] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) 4 Series Express Chipset
  2617. [0x2E03] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) 4 Series Express Chipset
  2618. [0x2E22] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) G45/G43 Express Chipset
  2619. [0x2E23] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) G45/G43 Express Chipset
  2620. [0x2E12] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) Q45/Q43 Express Chipset
  2621. [0x2E13] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) Q45/Q43 Express Chipset
  2622. [0x2E32] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) G41 Express Chipset
  2623. [0x2E33] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) G41 Express Chipset
  2624. [0x2E42] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) B43 Express Chipset
  2625. [0x2E43] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) B43 Express Chipset
  2626. [0x2E92] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) B43 Express Chipset
  2627. [0x2E93] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) B43 Express Chipset
  2628. [0x0046] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) HD Graphics - Core i3/i5/i7 Mobile Processors
  2629. [0x0042] = { baseQualityLevel = Quality.Low }, -- SM4 ; Intel(R) HD Graphics - Core i3/i5 + Pentium G9650 Processors
  2630. [0x0106] = { baseQualityLevel = Quality.Low }, -- SM4.1 ; Intel(R) HD Graphics 2000 - Mobile SandyBridge GT1
  2631. [0x0102] = { baseQualityLevel = Quality.Low }, -- SM4.1 ; Intel(R) HD Graphics 2000 - Desktop SandyBridge GT1
  2632. [0x010A] = { baseQualityLevel = Quality.Low }, -- SM4.1 ; Intel(R) HD Graphics 3000 - Server SandyBridge
  2633. [0x0152] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; Intel(R) HD Graphics 2500 - Desktop IvyBridge GT1
  2634. [0x0156] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; Intel(R) HD Graphics 2500 - Mobile IvyBridge GT1
  2635. [0x015A] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; Intel(R) HD Graphics 2500 - Server IvyBridge GT1
  2636. [0x015E] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; Intel(R) HD Graphics 2500 - Reserved - IvyBridge GT1
  2637. [0x0A06] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics - Mobile Haswell - ULT GT1
  2638. [0x0A0E] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics - Reserved Haswell - ULT GT1
  2639. [0x0402] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics - Desktop Haswell GT1
  2640. [0x0406] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics - Mobile Haswell GT1
  2641. [0x040A] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics - Server Haswell GT1
  2642. [0x0112] = { baseQualityLevel = Quality.Low }, -- SM4.1 ; Intel(R) HD Graphics 3000 - Desktop SandyBridge GT2
  2643. [0x0122] = { baseQualityLevel = Quality.Low }, -- SM4.1 ; Intel(R) HD Graphics 3000 - Desktop SandyBridge GT2+
  2644. [0x0116] = { baseQualityLevel = Quality.Low }, -- SM4.1 ; Intel(R) HD Graphics 3000 - Mobile SandyBridge GT2
  2645. [0x0126] = { baseQualityLevel = Quality.Low }, -- SM4.1 ; Intel(R) HD Graphics 3000 - Mobile SandyBrdige GT2+
  2646. [0x0162] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; Intel(R) HD Graphics 4000 - Desktop IvyBridge GT2
  2647. [0x0166] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; Intel(R) HD Graphics 4000 - Mobile IvyBridge GT2
  2648. [0x016A] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; Intel(R) HD Graphics 4000 - Server IvyBrdige GT2
  2649. [0x0D12] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics - Mobile Haswell - ULT GT2
  2650. [0x0D16] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics HD 4600 - Mobile Haswell - ULT GT2
  2651. [0x0416] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics - Mobile Haswell GT2
  2652. [0x041B] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics - Workstation Haswell GT2
  2653. [0x041A] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics - Server Haswell GT2
  2654. [0x0A1E] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics HD 4200 - Mobile Haswell - ULT GT2
  2655. [0x0A16] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics HD 4400 - Mobile Haswell - ULT GT2
  2656. [0x041E] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics HD 4400 - Reserved Haswell
  2657. [0x0412] = { baseQualityLevel = Quality.Low }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics HD 4600 - Desktop Haswell GT2
  2658. [0x0A26] = { baseQualityLevel = Quality.Medium }, -- SM5.0 ; 4th Gen Intel(r) Core processor graphics HD 5000 - Mobile Haswell - ULT GT3
  2659. [0x0A2E] = { baseQualityLevel = Quality.Medium }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics HD 5100 Iris - Mobile Haswell - ULT GT3
  2660. [0x0D26] = { baseQualityLevel = Quality.Medium }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics HD 5200 Iris Pro - Mobile GT3
  2661. [0x0D22] = { baseQualityLevel = Quality.Medium }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics HD 5200 Iris Pro - Desktop GT3
  2662. [0x0D2A] = { baseQualityLevel = Quality.Medium }, -- SM5.0 ; 4th Gen Intel(R) Core processor graphics Iris Pro - Server GT3
  2663. }
  2664. ‚Ûð$file Ððname 0Scripts/UserOptions/HardwareProfiles/nVidia.lua payload Œð-- Settings database for nVidia devices
  2665. return {
  2666. -- [0xHHHH] = { -- Example card
  2667. -- baseQualityLevel = Quality.Medium,
  2668. -- defaultSettings = {
  2669. -- TextureQuality = Quality.Low,
  2670. -- ShadowQuality = Quality.Medium,
  2671. -- EffectsQuality = Quality.Medium,
  2672. -- },
  2673. -- consoleOverrides = [=[
  2674. -- WorldRender.MotionBlurEnable 0
  2675. -- ]=]
  2676. -- }
  2677. [0x0191] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8800 GTX
  2678. [0x0193] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8800 GTS
  2679. [0x0194] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8800 Ultra
  2680. [0x019D] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 5600
  2681. [0x019E] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 4600
  2682. [0x0400] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8600 GTS
  2683. [0x0401] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8600 GT
  2684. [0x0402] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8600 GT
  2685. [0x0403] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8600 GS
  2686. [0x0404] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400 GS
  2687. [0x0405] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9500M GS
  2688. [0x0406] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8300 GS
  2689. [0x0407] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8600M GT
  2690. [0x0408] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9650M GS
  2691. [0x0409] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8700M GT
  2692. [0x040A] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 370
  2693. [0x040B] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 320M
  2694. [0x040C] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 570M
  2695. [0x040D] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 1600M
  2696. [0x040E] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 570
  2697. [0x040F] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 1700
  2698. [0x0410] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 330
  2699. [0x0420] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400 SE
  2700. [0x0421] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8500 GT
  2701. [0x0422] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400 GS
  2702. [0x0423] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8300 GS
  2703. [0x0424] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400 GS
  2704. [0x0425] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8600M GS
  2705. [0x0426] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400M GT
  2706. [0x0427] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400M GS
  2707. [0x0428] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400M G
  2708. [0x0429] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 140M
  2709. [0x042A] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 130M
  2710. [0x042B] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 135M
  2711. [0x042C] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400 GT
  2712. [0x042D] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 360M
  2713. [0x042E] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9300M G
  2714. [0x042F] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 290
  2715. [0x05E0] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 295
  2716. [0x05E1] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTX 280
  2717. [0x05E2] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTX 260
  2718. [0x05E3] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTX 285
  2719. [0x05E6] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTX 275
  2720. [0x05EA] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTX 260
  2721. [0x05EB] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 295
  2722. [0x05F9] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro CX
  2723. [0x05FD] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro FX 5800
  2724. [0x05FE] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro FX 4800
  2725. [0x05FF] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro FX 3800
  2726. [0x0600] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8800 GTS 512
  2727. [0x0601] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800 GT
  2728. [0x0602] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8800 GT
  2729. [0x0603] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 230
  2730. [0x0604] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800 GX2
  2731. [0x0605] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800 GT
  2732. [0x0606] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8800 GS
  2733. [0x0607] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GTS 240
  2734. [0x0608] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800M GTX
  2735. [0x0609] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8800M GTS
  2736. [0x060A] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GTX 280M
  2737. [0x060B] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800M GT
  2738. [0x060C] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8800M GTX
  2739. [0x060F] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GTX 285M
  2740. [0x0610] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600 GSO
  2741. [0x0611] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8800 GT
  2742. [0x0612] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800 GTX/9800 GTX+
  2743. [0x0613] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800 GTX+
  2744. [0x0614] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800 GT
  2745. [0x0615] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTS 250
  2746. [0x0617] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800M GTX
  2747. [0x0618] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GTX 260M
  2748. [0x0619] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 4700 X2
  2749. [0x061A] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 3700
  2750. [0x061B] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro VX 200
  2751. [0x061C] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 3600M
  2752. [0x061D] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 2800M
  2753. [0x061E] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 3700M
  2754. [0x061F] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 3800M
  2755. [0x0621] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 230
  2756. [0x0622] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600 GT
  2757. [0x0623] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600 GS
  2758. [0x0625] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600 GSO 512
  2759. [0x0626] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 130
  2760. [0x0627] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 140
  2761. [0x0628] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800M GTS
  2762. [0x062A] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9700M GTS
  2763. [0x062B] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800M GS
  2764. [0x062C] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9800M GTS
  2765. [0x062D] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600 GT
  2766. [0x062E] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600 GT
  2767. [0x0631] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GTS 160M
  2768. [0x0635] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600 GSO
  2769. [0x0637] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600 GT
  2770. [0x0638] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 1800
  2771. [0x063A] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 2700M
  2772. [0x0640] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9500 GT
  2773. [0x0641] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400 GT
  2774. [0x0643] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9500 GT
  2775. [0x0644] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9500 GS
  2776. [0x0645] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9500 GS
  2777. [0x0646] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 120
  2778. [0x0647] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600M GT
  2779. [0x0648] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600M GS
  2780. [0x0649] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9600M GT
  2781. [0x064A] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9700M GT
  2782. [0x064B] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9500M G
  2783. [0x064C] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9650M GT
  2784. [0x0651] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G 110M
  2785. [0x0652] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 130M
  2786. [0x0653] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 120M
  2787. [0x0654] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 320M
  2788. [0x0655] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 120
  2789. [0x0656] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 120
  2790. [0x0658] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 380
  2791. [0x0659] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 580
  2792. [0x065A] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 1700M
  2793. [0x065B] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400 GT
  2794. [0x065C] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 770M
  2795. [0x065F] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G210
  2796. [0x06C0] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 480
  2797. [0x06C4] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 465
  2798. [0x06CA] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 480M
  2799. [0x06CD] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 470
  2800. [0x06D8] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 6000
  2801. [0x06D9] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 5000
  2802. [0x06DA] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 5000M
  2803. [0x06DC] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 6000
  2804. [0x06DD] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 4000
  2805. [0x06E0] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9300 GE
  2806. [0x06E1] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9300 GS
  2807. [0x06E2] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400
  2808. [0x06E3] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400 SE
  2809. [0x06E4] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8400 GS
  2810. [0x06E6] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G100
  2811. [0x06E7] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9300 SE
  2812. [0x06E8] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9200M GS
  2813. [0x06E9] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9300M GS
  2814. [0x06EA] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 150M
  2815. [0x06EB] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 160M
  2816. [0x06EC] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G 105M
  2817. [0x06EF] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G 103M
  2818. [0x06F1] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G105M
  2819. [0x06F8] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 420
  2820. [0x06F9] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 370 LP
  2821. [0x06FA] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 450
  2822. [0x06FB] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 370M
  2823. [0x06FD] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro NVS 295
  2824. [0x06FF] = { baseQualityLevel = Quality.Low }, -- NVIDIA HICx16 + Graphics
  2825. [0x0840] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8200M
  2826. [0x0844] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9100M G
  2827. [0x0845] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8200M G
  2828. [0x0846] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9200
  2829. [0x0847] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9100
  2830. [0x0848] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8300
  2831. [0x0849] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8200
  2832. [0x084A] = { baseQualityLevel = Quality.Low }, -- NVIDIA nForce 730a
  2833. [0x084B] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9200
  2834. [0x084C] = { baseQualityLevel = Quality.Low }, -- NVIDIA nForce 980a/780a SLI
  2835. [0x084D] = { baseQualityLevel = Quality.Low }, -- NVIDIA nForce 750a SLI
  2836. [0x084F] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8100 / nForce 720a
  2837. [0x0860] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400
  2838. [0x0861] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400
  2839. [0x0862] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400M G
  2840. [0x0863] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400M
  2841. [0x0864] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9300
  2842. [0x0865] = { baseQualityLevel = Quality.Low }, -- NVIDIA ION
  2843. [0x0866] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400M G
  2844. [0x0867] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400
  2845. [0x0868] = { baseQualityLevel = Quality.Low }, -- NVIDIA nForce 760i SLI
  2846. [0x0869] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400
  2847. [0x086A] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400
  2848. [0x086C] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9300 / nForce 730i
  2849. [0x086D] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9200
  2850. [0x086E] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9100M G
  2851. [0x086F] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 8200M G
  2852. [0x0870] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400M
  2853. [0x0871] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9200
  2854. [0x0872] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G102M
  2855. [0x0873] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G102M
  2856. [0x0874] = { baseQualityLevel = Quality.Low }, -- NVIDIA ION
  2857. [0x0876] = { baseQualityLevel = Quality.Low }, -- NVIDIA ION
  2858. [0x087A] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 9400
  2859. [0x087D] = { baseQualityLevel = Quality.Low }, -- NVIDIA ION
  2860. [0x087E] = { baseQualityLevel = Quality.Low }, -- NVIDIA ION LE
  2861. [0x087F] = { baseQualityLevel = Quality.Low }, -- NVIDIA ION LE
  2862. [0x08A0] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 320M
  2863. [0x08A2] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 320M
  2864. [0x08A3] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 320M
  2865. [0x08A4] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 320M
  2866. [0x0A20] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 220
  2867. [0x0A22] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 315
  2868. [0x0A23] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 210
  2869. [0x0A26] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 405
  2870. [0x0A27] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 405
  2871. [0x0A28] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 230M
  2872. [0x0A29] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 330M
  2873. [0x0A2A] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 230M
  2874. [0x0A2B] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 330M
  2875. [0x0A2C] = { baseQualityLevel = Quality.Low }, -- NVIDIA NVS 5100M
  2876. [0x0A2D] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 320M
  2877. [0x0A32] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 415
  2878. [0x0A34] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 240M
  2879. [0x0A35] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 325M
  2880. [0x0A38] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro 400
  2881. [0x0A3C] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 880M
  2882. [0x0A60] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G210
  2883. [0x0A62] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 205
  2884. [0x0A63] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 310
  2885. [0x0A64] = { baseQualityLevel = Quality.Low }, -- NVIDIA ION
  2886. [0x0A65] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 210
  2887. [0x0A66] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 310
  2888. [0x0A67] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 315
  2889. [0x0A68] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G105M
  2890. [0x0A69] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G105M
  2891. [0x0A6A] = { baseQualityLevel = Quality.Low }, -- NVIDIA NVS 2100M
  2892. [0x0A6C] = { baseQualityLevel = Quality.Low }, -- NVIDIA NVS 3100M
  2893. [0x0A6E] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 305M
  2894. [0x0A6F] = { baseQualityLevel = Quality.Low }, -- NVIDIA ION
  2895. [0x0A70] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 310M
  2896. [0x0A71] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 305M
  2897. [0x0A72] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 310M
  2898. [0x0A73] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 305M
  2899. [0x0A74] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce G210M
  2900. [0x0A75] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 310M
  2901. [0x0A76] = { baseQualityLevel = Quality.Low }, -- NVIDIA ION
  2902. [0x0A78] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 380 LP
  2903. [0x0A7A] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce 405
  2904. [0x0A7C] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 380M
  2905. [0x0CA0] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 330
  2906. [0x0CA2] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 320
  2907. [0x0CA3] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 240
  2908. [0x0CA4] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 340
  2909. [0x0CA5] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 220
  2910. [0x0CA7] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 330
  2911. [0x0CA9] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GTS 250M
  2912. [0x0CAC] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 220
  2913. [0x0CAF] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GT 335M
  2914. [0x0CB0] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GTS 350M
  2915. [0x0CB1] = { baseQualityLevel = Quality.Low }, -- NVIDIA GeForce GTS 360M
  2916. [0x0CBC] = { baseQualityLevel = Quality.Low }, -- NVIDIA Quadro FX 1800M
  2917. [0x0DC0] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 440
  2918. [0x0DC4] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTS 450
  2919. [0x0DC5] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTS 450
  2920. [0x0DC6] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTS 450
  2921. [0x0DCD] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 555M
  2922. [0x0DCE] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 555M
  2923. [0x0DD1] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTX 460M
  2924. [0x0DD2] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 445M
  2925. [0x0DD3] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 435M
  2926. [0x0DD6] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 550M
  2927. [0x0DD8] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 2000
  2928. [0x0DDA] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 2000M
  2929. [0x0DE0] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 440
  2930. [0x0DE1] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 430
  2931. [0x0DE2] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 420
  2932. [0x0DE3] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 635M
  2933. [0x0DE4] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 520
  2934. [0x0DE5] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 530
  2935. [0x0DE8] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 620M
  2936. [0x0DE9] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 630M
  2937. [0x0DEA] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 610M
  2938. [0x105B] = { baseQualityLevel = Quality.Medium }, -- GeForce 705M
  2939. [0x1295] = { baseQualityLevel = Quality.Medium }, -- GeForce 710M
  2940. [0x1298] = { baseQualityLevel = Quality.Medium }, -- GeForce GT 720M
  2941. [0x0DEB] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 555M
  2942. [0x0DEC] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 525M
  2943. [0x0DED] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 520M
  2944. [0x0DEE] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 415M
  2945. [0x0DEF] = { baseQualityLevel = Quality.Medium }, -- NVIDIA NVS 5400M
  2946. [0x0DF0] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 425M
  2947. [0x0DF1] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 420M
  2948. [0x0DF2] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 435M
  2949. [0x0DF3] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 420M
  2950. [0x0DF4] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 540M
  2951. [0x0DF5] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 525M
  2952. [0x0DF6] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 550M
  2953. [0x0DF7] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 520M
  2954. [0x0DF8] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 600
  2955. [0x0DF9] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 500M
  2956. [0x0DFA] = { baseQualityLevel = Quality.Medium }, -- NVIDIA Quadro 1000M
  2957. [0x0DFC] = { baseQualityLevel = Quality.Medium }, -- NVIDIA NVS 5200M
  2958. [0x1290] = { baseQualityLevel = Quality.Medium }, -- GeForce GT 730M (GDDR5)
  2959. [0x0FE1] = { baseQualityLevel = Quality.Medium }, -- GeForce GT 730M (DDR3)
  2960. [0x1291] = { baseQualityLevel = Quality.Medium }, -- GeForce GT 735M
  2961. [0x0E22] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 460
  2962. [0x0E23] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 460 SE
  2963. [0x0E24] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 460
  2964. [0x0E30] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 470M
  2965. [0x0E31] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 485M
  2966. [0x0E3A] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro 3000M
  2967. [0x0E3B] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro 4000M
  2968. [0x0F00] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 630
  2969. [0x0F01] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 620
  2970. [0x0FC0] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 640
  2971. [0x0FC1] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 640
  2972. [0x0FC2] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 630
  2973. [0x0FC6] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 650
  2974. [0x0FD1] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 650M
  2975. [0x0FD2] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 640M
  2976. [0x0FD3] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 640M LE
  2977. [0x0FD4] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 660M
  2978. [0x0FD5] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 650M
  2979. [0x0FD8] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 640M
  2980. [0x0FD9] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 645M
  2981. [0x0FE0] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 660M
  2982. [0x0FDF] = { baseQualityLevel = Quality.High }, -- GeForce GT 740M (DDR3)
  2983. [0x1292] = { baseQualityLevel = Quality.High }, -- GeForce GT 740M
  2984. [0x1293] = { baseQualityLevel = Quality.High }, -- GeForce GT 740M
  2985. [0x1294] = { baseQualityLevel = Quality.High }, -- GeForce GT 740M (GDDR5)
  2986. [0x0FF9] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K2000D
  2987. [0x0FFA] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K600
  2988. [0x0FFB] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K2000M
  2989. [0x0FFC] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K1000M
  2990. [0x0FFD] = { baseQualityLevel = Quality.Medium }, -- NVIDIA NVS 510
  2991. [0x0FFE] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K2000
  2992. [0x0FFF] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro 410
  2993. [0x1040] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 520
  2994. [0x1042] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 510
  2995. [0x1048] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 605
  2996. [0x1049] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 620
  2997. [0x104A] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 610
  2998. [0x1050] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 520M
  2999. [0x1051] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 520MX
  3000. [0x1052] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 520M
  3001. [0x1054] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 410M
  3002. [0x1055] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 410M
  3003. [0x1056] = { baseQualityLevel = Quality.Medium }, -- NVIDIA NVS 4200M
  3004. [0x1057] = { baseQualityLevel = Quality.Medium }, -- NVIDIA NVS 4200M
  3005. [0x1058] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 610M
  3006. [0x1059] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 610M
  3007. [0x105A] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 610M
  3008. [0x107D] = { baseQualityLevel = Quality.Medium }, -- NVIDIA NVS 310
  3009. [0x1080] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 580
  3010. [0x1081] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 570
  3011. [0x1082] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 560 Ti
  3012. [0x1084] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 560
  3013. [0x1086] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 570
  3014. [0x1087] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 560 Ti
  3015. [0x1088] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 590
  3016. [0x1089] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 580
  3017. [0x108B] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 580
  3018. [0x109A] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro 5010M
  3019. [0x109B] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro 7000
  3020. [0x10C0] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 9300 GS
  3021. [0x10C3] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 8400GS
  3022. [0x10C5] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce 405
  3023. [0x10D8] = { baseQualityLevel = Quality.Medium }, -- NVIDIA NVS 300
  3024. [0x1140] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GT 620M
  3025. [0x1180] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 680
  3026. [0x1183] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 660 Ti
  3027. [0x1185] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 660
  3028. [0x1188] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 690
  3029. [0x1189] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 670
  3030. [0x11A0] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 680M
  3031. [0x11A1] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 670MX
  3032. [0x11A2] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 675MX
  3033. [0x11A3] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 680MX
  3034. [0x11A7] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 675MX
  3035. [0x11BA] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K5000
  3036. [0x11BC] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K5000M
  3037. [0x11BD] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K4000M
  3038. [0x11BE] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K3000M
  3039. [0x11BF] = { baseQualityLevel = Quality.High }, -- NVIDIA GRID K2
  3040. [0x11C0] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 660
  3041. [0x11C6] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 650 Ti
  3042. [0x11FA] = { baseQualityLevel = Quality.High }, -- NVIDIA Quadro K4000
  3043. [0x1200] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 560 Ti
  3044. [0x1201] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 560
  3045. [0x1205] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 460 v2
  3046. [0x1206] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 555
  3047. [0x1207] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 645
  3048. [0x1208] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 560 SE
  3049. [0x1210] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 570M
  3050. [0x1211] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 580M
  3051. [0x1212] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 675M
  3052. [0x1213] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 670M
  3053. [0x1241] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 545
  3054. [0x1243] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 545
  3055. [0x1244] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 550 Ti
  3056. [0x1245] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTS 450
  3057. [0x1246] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 550M
  3058. [0x1247] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 635M
  3059. [0x1248] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 555M
  3060. [0x1249] = { baseQualityLevel = Quality.Medium }, -- NVIDIA GeForce GTS 450
  3061. [0x124B] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 640
  3062. [0x124D] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GT 555M
  3063. [0x1251] = { baseQualityLevel = Quality.High }, -- NVIDIA GeForce GTX 560M
  3064. [0x0FE2] = { baseQualityLevel = Quality.High }, -- GeForce GT 745M (DDR3)
  3065. [0x0FE3] = { baseQualityLevel = Quality.High }, -- GeForce GT 745M (GDDR5)
  3066. [0x0FE9] = { baseQualityLevel = Quality.High }, -- GeForce GT 750M (DDR3)
  3067. [0x0FE4] = { baseQualityLevel = Quality.High }, -- GeForce GT 750M (GDDR5)
  3068. [0x0FEA] = { baseQualityLevel = Quality.High }, -- GeForce GT 755M
  3069. [0x0FCD] = { baseQualityLevel = Quality.High }, -- GeForce GT 755M
  3070. [0x11E3] = { baseQualityLevel = Quality.High }, -- GeForce GTX 760M
  3071. [0x11E1] = { baseQualityLevel = Quality.High }, -- GeForce GTX 765M
  3072. [0x11E2] = { baseQualityLevel = Quality.High }, -- GeForce GTX 765M
  3073. [0x11E0] = { baseQualityLevel = Quality.High }, -- GeForce GTX 770M
  3074. [0x119E] = { baseQualityLevel = Quality.High }, -- GeForce GTX 780M
  3075. [0x119F] = { baseQualityLevel = Quality.High }, -- GeForce GTX 780M
  3076. [0x1187] = { baseQualityLevel = Quality.High }, -- GeForce GTX 760
  3077. [0x119F] = { baseQualityLevel = Quality.High }, -- GeForce GTX 780M
  3078. [0x1184] = { baseQualityLevel = Quality.High }, -- GeForce GTX 770
  3079. [0x1004] = { baseQualityLevel = Quality.High }, -- GeForce GTX 780
  3080. [0x1005] = { baseQualityLevel = Quality.Ultra }, -- GeForce GTX TITAN
  3081. }
  3082. ‚¨$file žname Scripts/UserOptions/Options.lua payload ëcore = require "Frost.Core"
  3083. logging = require "Frost.Logging"
  3084.  
  3085. levelName = currentGameLevel or cmdLineOption('level') or Game.Level
  3086. if levelName then
  3087. -- Level names without slashes are assumed to be shorthand for
  3088. -- Levels/name/name to go with Venice's epic level naming convention
  3089. if not string.find(levelName, "/") then
  3090. levelName = "Levels/" .. levelName .. "/" .. levelName
  3091. end
  3092.  
  3093. Game.FastStartupEnable = true
  3094. if not Game.Level then
  3095. Game.Level = levelName
  3096. end
  3097. end
  3098.  
  3099.  
  3100. function applySettings(settings)
  3101. core.parseKeyValueCfgString(settings, _G)
  3102. end
  3103.  
  3104. function applyQualitySettings(name, qualityMap)
  3105. local quality = settings[name]
  3106. if quality == nil then
  3107. log:error("Invalid setting '" .. name .. "'")
  3108. return
  3109. end
  3110.  
  3111. local consoleCommands = qualityMap[quality]
  3112. if consoleCommands == nil then
  3113. log:error("Could not find console settings for '" .. name .. "' with quality " .. quality)
  3114. else
  3115. log:info("setting '" .. name .. "': " .. quality)
  3116. applySettings(consoleCommands)
  3117. end
  3118. end
  3119.  
  3120. dofile("Scripts/UserOptions/Options/Graphics.lua")
  3121. dofile("Scripts/UserOptions/Options/Physics.lua")
  3122. dofile("Scripts/UserOptions/Options/Sound.lua")
  3123. dofile("Scripts/UserOptions/Options/Animations.lua")
  3124.  
  3125. applySettings(deviceSettings.consoleOverrides or "")
  3126.  
  3127. if not cmdLineOption('noLocalCfg', false) then
  3128. core.readKeyValueCfg("/local/local.cfg", _G)
  3129. end
  3130.  
  3131. if allowCommandlineSettings then
  3132. for index,option in ipairs(commandLine) do
  3133. local table,member = string.match(option, "^%-(%w+)%.(%w+)")
  3134.  
  3135. if table and member then
  3136. local value = commandLine[index+1]
  3137. if not _G[table] then _G[table] = {} end
  3138. _G[table][member] = value
  3139. else
  3140. local varName = string.match(option, "^%-([%w-]+)")
  3141. if varName then
  3142. local value = commandLine[index+1]
  3143. if value then
  3144. _G[varName] = value
  3145. end
  3146. end
  3147. end
  3148. end
  3149. end
  3150.  
  3151. ‚ç
  3152. $file Ý
  3153. name +Scripts/UserOptions/Options/Animations.lua payload Ÿ
  3154. local quality = settings['AnimationQuality']
  3155. log:info("setting animation quality : "..quality)
  3156.  
  3157. -- IMPORTANT:
  3158. -- GameAnimation.TemporalLoddingFirstDistance *must* be slighly larger than the
  3159. -- distance where IK is disabled in the animation project (EnableFootplanting_ESIG)
  3160. -- for all quality levels.
  3161.  
  3162. if(quality > 0.8) then
  3163. applySettings([=[
  3164.  
  3165. GameAnimation.TemporalLoddingFirstDistance 10000.0
  3166. GameAnimation.TemporalLoddingSecondDistance 10000.0
  3167. GameAnimation.TemporalLoddingThirdDistance 10000.0
  3168. GameAnimation.TemporalLoddingFourthDistance 10000.0
  3169. GameAnimation.TemporalLoddingFifthDistance 10000.0
  3170. GameAnimation.TemporalLoddingSixthDistance 10000.0
  3171.  
  3172. GameAnimation.TemporalLoddingFirstDeltaTime = 0.02
  3173. GameAnimation.TemporalLoddingSecondDeltaTime = 0.04
  3174. GameAnimation.TemporalLoddingThirdDeltaTime = 0.06
  3175. GameAnimation.TemporalLoddingFourthDeltaTime = 0.08
  3176. GameAnimation.TemporalLoddingFifthDeltaTime = 0.10
  3177. GameAnimation.TemporalLoddingSixthDeltaTime = 0.12
  3178.  
  3179. ]=])
  3180. else
  3181. applySettings([=[
  3182.  
  3183. GameAnimation.TemporalLoddingFirstDistance 10000.0
  3184. GameAnimation.TemporalLoddingSecondDistance 10000.0
  3185. GameAnimation.TemporalLoddingThirdDistance 10000.0
  3186. GameAnimation.TemporalLoddingFourthDistance 10000.0
  3187. GameAnimation.TemporalLoddingFifthDistance 10000.0
  3188. GameAnimation.TemporalLoddingSixthDistance 10000.0
  3189.  
  3190. GameAnimation.TemporalLoddingFirstDeltaTime = 0.02
  3191. GameAnimation.TemporalLoddingSecondDeltaTime = 0.04
  3192. GameAnimation.TemporalLoddingThirdDeltaTime = 0.06
  3193. GameAnimation.TemporalLoddingFourthDeltaTime = 0.08
  3194. GameAnimation.TemporalLoddingFifthDeltaTime = 0.10
  3195. GameAnimation.TemporalLoddingSixthDeltaTime = 0.12
  3196.  
  3197. ]=])
  3198. end
  3199. ‚†~$file ü}name )Scripts/UserOptions/Options/Graphics.lua payload À}------ Common settings for all quality levels
  3200. applySettings([=[
  3201. ]=])
  3202.  
  3203.  
  3204. ------ Texture Quality
  3205. applyQualitySettings('TextureQuality', {
  3206. -- up to 512 mb
  3207. [Quality.Low]=[=[
  3208. Texture.SkipMipmapCount 2
  3209. TextureStreaming.PoolSize 200000
  3210. TerrainStreaming.HeightfieldAtlasSampleCountXFactor 1
  3211. TerrainStreaming.HeightfieldAtlasSampleCountYFactor 1
  3212. TerrainStreaming.MaskAtlasSampleCountXFactor 1
  3213. TerrainStreaming.MaskAtlasSampleCountYFactor 1
  3214. TerrainStreaming.ColorAtlasSampleCountXFactor 1
  3215. TerrainStreaming.ColorAtlasSampleCountYFactor 1
  3216. VisualTerrain.TextureAtlasSampleCountXFactor 1
  3217. VisualTerrain.TextureAtlasSampleCountYFactor 1
  3218. VisualTerrain.TextureRenderJobCount 1
  3219. VisualTerrain.TextureRenderJobsLaunchedPerFrameCountMax 1
  3220. VisualTerrain.Decal3dFarDrawDistanceScaleFactor 1.0
  3221.  
  3222. WorldRender.SkyEnvmapResolution 128
  3223. WorldRender.DynamicEnvmapResolution 128
  3224.  
  3225. -- This should likely be its own user setting
  3226. ShaderSystem.ShaderQualityLevel QualityLevel_Low
  3227. ]=],
  3228.  
  3229. -- up to 768 mb
  3230. [Quality.Medium]=[=[
  3231. Texture.SkipMipmapCount 1
  3232. TextureStreaming.PoolSize 275000
  3233. TerrainStreaming.HeightfieldAtlasSampleCountXFactor 1
  3234. TerrainStreaming.HeightfieldAtlasSampleCountYFactor 2
  3235. TerrainStreaming.MaskAtlasSampleCountXFactor 1
  3236. TerrainStreaming.MaskAtlasSampleCountYFactor 2
  3237. TerrainStreaming.ColorAtlasSampleCountXFactor 1
  3238. TerrainStreaming.ColorAtlasSampleCountYFactor 2
  3239. VisualTerrain.TextureAtlasSampleCountXFactor 1
  3240. VisualTerrain.TextureAtlasSampleCountYFactor 2
  3241. VisualTerrain.TextureRenderJobCount 2
  3242. VisualTerrain.TextureRenderJobsLaunchedPerFrameCountMax 2
  3243. VisualTerrain.Decal3dFarDrawDistanceScaleFactor 1.2
  3244.  
  3245. WorldRender.SkyEnvmapResolution 256
  3246. WorldRender.DynamicEnvmapResolution 256
  3247.  
  3248. -- This should likely be its own user setting
  3249. ShaderSystem.ShaderQualityLevel QualityLevel_Medium
  3250. ]=],
  3251.  
  3252. -- up to 1G
  3253. [Quality.High]=[=[
  3254. Texture.SkipMipmapCount 0
  3255. TextureStreaming.PoolSize 400000
  3256. TerrainStreaming.HeightfieldAtlasSampleCountXFactor 1
  3257. TerrainStreaming.HeightfieldAtlasSampleCountYFactor 2
  3258. TerrainStreaming.MaskAtlasSampleCountXFactor 1
  3259. TerrainStreaming.MaskAtlasSampleCountYFactor 2
  3260. TerrainStreaming.ColorAtlasSampleCountXFactor 1
  3261. TerrainStreaming.ColorAtlasSampleCountYFactor 2
  3262. VisualTerrain.TextureAtlasSampleCountXFactor 1
  3263. VisualTerrain.TextureAtlasSampleCountYFactor 2
  3264. VisualTerrain.TextureRenderJobCount 4
  3265. VisualTerrain.TextureRenderJobsLaunchedPerFrameCountMax 4
  3266. VisualTerrain.Decal3dFarDrawDistanceScaleFactor 1.7
  3267.  
  3268. WorldRender.SkyEnvmapResolution 512
  3269. WorldRender.DynamicEnvmapResolution 512
  3270.  
  3271. -- This should likely be its own user setting
  3272. ShaderSystem.ShaderQualityLevel QualityLevel_High
  3273. ]=],
  3274.  
  3275. -- 1 Gb or more
  3276. [Quality.Ultra]=[=[
  3277. Texture.SkipMipmapCount 0
  3278. TextureStreaming.PoolSize 750000
  3279. TerrainStreaming.HeightfieldAtlasSampleCountXFactor 2
  3280. TerrainStreaming.HeightfieldAtlasSampleCountYFactor 2
  3281. TerrainStreaming.MaskAtlasSampleCountXFactor 2
  3282. TerrainStreaming.MaskAtlasSampleCountYFactor 2
  3283. TerrainStreaming.ColorAtlasSampleCountXFactor 2
  3284. TerrainStreaming.ColorAtlasSampleCountYFactor 2
  3285. VisualTerrain.TextureAtlasSampleCountXFactor 2
  3286. VisualTerrain.TextureAtlasSampleCountYFactor 2
  3287. VisualTerrain.TextureRenderJobCount 4
  3288. VisualTerrain.TextureRenderJobsLaunchedPerFrameCountMax 4
  3289. VisualTerrain.Decal3dFarDrawDistanceScaleFactor 2
  3290.  
  3291. WorldRender.SkyEnvmapResolution 512
  3292. WorldRender.DynamicEnvmapResolution 512
  3293.  
  3294. -- This should likely be its own user setting
  3295. ShaderSystem.ShaderQualityLevel QualityLevel_Ultra
  3296. ]=],
  3297. })
  3298.  
  3299. ------ Mesh Quality
  3300. applyQualitySettings('MeshQuality', {
  3301. [Quality.Low]=[=[
  3302. WorldRender.CullScreenAreaScale 1
  3303. Mesh.GlobalLodScale 1
  3304. Mesh.ShadowDistanceScale 1
  3305. Mesh.TessellationEnable 0
  3306. Mesh.CastSunShadowQualityLevel Low
  3307. Mesh.CastDynamicEnvmapQualityLevel Low
  3308. Mesh.CastPlanarReflectionQualityLevel Low
  3309. MeshStreaming.PoolSize 150000
  3310.  
  3311. VegetationSystem.UseShadowLodOffset 1
  3312. VegetationSystem.MaxActiveDistance 100
  3313. VegetationSystem.MaxPreSimsPerJob 2
  3314. VegetationSystem.SimulationMemKbClient 2048
  3315.  
  3316. Render.EdgeModelViewDistance 50
  3317. ]=],
  3318. [Quality.Medium]=[=[
  3319. WorldRender.CullScreenAreaScale 1.25
  3320. Mesh.GlobalLodScale 1.25
  3321. Mesh.ShadowDistanceScale 1.25
  3322. Mesh.TessellationEnable 0
  3323. Mesh.CastSunShadowQualityLevel Medium
  3324. Mesh.CastDynamicEnvmapQualityLevel Medium
  3325. Mesh.CastPlanarReflectionQualityLevel Medium
  3326. MeshStreaming.PoolSize 175000
  3327.  
  3328. VegetationSystem.UseShadowLodOffset 0
  3329. VegetationSystem.MaxActiveDistance 200
  3330. VegetationSystem.MaxPreSimsPerJob 3
  3331. VegetationSystem.SimulationMemKbClient 2048
  3332.  
  3333. Render.EdgeModelViewDistance 70
  3334. Tessellation.Enable 0
  3335. ]=],
  3336. [Quality.High]=[=[
  3337. WorldRender.CullScreenAreaScale 1.5
  3338. Mesh.GlobalLodScale 1.5
  3339. Mesh.ShadowDistanceScale 1.5
  3340. Mesh.TessellationEnable 1
  3341. Mesh.TessellationMaxFactor 7
  3342. Mesh.CastSunShadowQualityLevel High
  3343. Mesh.CastDynamicEnvmapQualityLevel High
  3344. Mesh.CastPlanarReflectionQualityLevel High
  3345. MeshStreaming.PoolSize 200000
  3346.  
  3347. VegetationSystem.UseShadowLodOffset 0
  3348. VegetationSystem.MaxActiveDistance 300
  3349. VegetationSystem.MaxPreSimsPerJob 4
  3350. VegetationSystem.SimulationMemKbClient 4096
  3351.  
  3352. Render.EdgeModelViewDistance 100
  3353. ]=],
  3354. [Quality.Ultra]=[=[
  3355. WorldRender.CullScreenAreaScale 1.75
  3356. Mesh.GlobalLodScale 1.5
  3357. Mesh.ShadowDistanceScale 1.75
  3358. Mesh.TessellationEnable 1
  3359. Mesh.TessellationMaxFactor 15
  3360. Mesh.CastSunShadowQualityLevel Ultra
  3361. Mesh.CastDynamicEnvmapQualityLevel Ultra
  3362. Mesh.CastPlanarReflectionQualityLevel Ultra
  3363. MeshStreaming.PoolSize 250000
  3364.  
  3365. VegetationSystem.UseShadowLodOffset 0
  3366. VegetationSystem.MaxActiveDistance 350
  3367. VegetationSystem.MaxPreSimsPerJob 8
  3368. VegetationSystem.SimulationMemKbClient 4096
  3369.  
  3370. Render.EdgeModelViewDistance 150
  3371. ]=],
  3372. })
  3373.  
  3374.  
  3375. ------ Effects Quality
  3376. applyQualitySettings('EffectsQuality', {
  3377. [Quality.Low]=[=[
  3378. DynamicTextureAtlas.EmitterBaseWidth 4096
  3379. DynamicTextureAtlas.EmitterBaseHeight 4096
  3380. DynamicTextureAtlas.EmitterBaseMipmapCount 5
  3381. DynamicTextureAtlas.EmitterBaseSkipmipsCount 1
  3382. DynamicTextureAtlas.EmitterNormalWidth 1024
  3383. DynamicTextureAtlas.EmitterNormalHeight 1024
  3384. DynamicTextureAtlas.EmitterNormalMipmapCount 3
  3385. DynamicTextureAtlas.EmitterNormalSkipmipsCount 1
  3386. EmitterSystem.QuadHalfResEnable 1
  3387. EmitterSystem.QuadMaxCount 6000
  3388. EmitterSystem.MeshMaxCount 2000
  3389. EmitterSystem.CollisionRayCastMaxCount 50
  3390. EmitterSystem.EmitterQualityLevel Low
  3391. EffectSystem.EffectQualityLevel Low
  3392.  
  3393. PostProcess.SpriteDofEnable 0
  3394. PostProcess.IronsightsDofEnable 0
  3395. PostProcess.DofMethod DofMethod_Gaussian
  3396. PostProcess.BlurMethod BlurMethod_Gaussian
  3397.  
  3398. WorldRender.SubSurfaceScatteringEnable 0
  3399.  
  3400. ]=],
  3401. [Quality.Medium]=[=[
  3402. DynamicTextureAtlas.EmitterBaseWidth 4096
  3403. DynamicTextureAtlas.EmitterBaseHeight 4096
  3404. DynamicTextureAtlas.EmitterBaseMipmapCount 5
  3405. DynamicTextureAtlas.EmitterBaseSkipmipsCount 1
  3406. DynamicTextureAtlas.EmitterNormalWidth 1024
  3407. DynamicTextureAtlas.EmitterNormalHeight 1024
  3408. DynamicTextureAtlas.EmitterNormalMipmapCount 3
  3409. DynamicTextureAtlas.EmitterNormalSkipmipsCount 1
  3410. EmitterSystem.QuadHalfResEnable 1
  3411. EmitterSystem.QuadMaxCount 8000
  3412. EmitterSystem.MeshMaxCount 3000
  3413. EmitterSystem.CollisionRayCastMaxCount 100
  3414. EmitterSystem.EmitterQualityLevel Medium
  3415. EffectSystem.EffectQualityLevel Medium
  3416.  
  3417. PostProcess.SpriteDofEnable 0
  3418. PostProcess.IronsightsDofEnable 1
  3419. PostProcess.DofMethod DofMethod_Gaussian
  3420. PostProcess.BlurMethod BlurMethod_Gaussian
  3421.  
  3422. WorldRender.SubSurfaceScatteringEnable 0
  3423. ]=],
  3424. [Quality.High]=[=[
  3425. DynamicTextureAtlas.EmitterBaseWidth 8192
  3426. DynamicTextureAtlas.EmitterBaseHeight 8192
  3427. DynamicTextureAtlas.EmitterBaseMipmapCount 6
  3428. DynamicTextureAtlas.EmitterBaseSkipmipsCount 0
  3429. DynamicTextureAtlas.EmitterNormalWidth 2048
  3430. DynamicTextureAtlas.EmitterNormalHeight 2048
  3431. DynamicTextureAtlas.EmitterNormalMipmapCount 4
  3432. DynamicTextureAtlas.EmitterNormalSkipmipsCount 0
  3433. EmitterSystem.QuadHalfResEnable 1
  3434. EmitterSystem.QuadMaxCount 12000
  3435. EmitterSystem.MeshMaxCount 4000
  3436. EmitterSystem.CollisionRayCastMaxCount 150
  3437. EmitterSystem.EmitterQualityLevel High
  3438. EffectSystem.EffectQualityLevel High
  3439.  
  3440. PostProcess.SpriteDofEnable 1
  3441. PostProcess.IronsightsDofEnable 1
  3442. PostProcess.DofMethod DofMethod_Sprite
  3443. PostProcess.BlurMethod BlurMethod_Sprite
  3444.  
  3445. WorldRender.SubSurfaceScatteringEnable 1
  3446. ]=],
  3447. [Quality.Ultra]=[=[
  3448. DynamicTextureAtlas.EmitterBaseWidth 8192
  3449. DynamicTextureAtlas.EmitterBaseHeight 8192
  3450. DynamicTextureAtlas.EmitterBaseMipmapCount 6
  3451. DynamicTextureAtlas.EmitterBaseSkipmipsCount 0
  3452. DynamicTextureAtlas.EmitterNormalWidth 2048
  3453. DynamicTextureAtlas.EmitterNormalHeight 2048
  3454. DynamicTextureAtlas.EmitterNormalMipmapCount 4
  3455. DynamicTextureAtlas.EmitterNormalSkipmipsCount 0
  3456. EmitterSystem.QuadHalfResEnable 0
  3457. EmitterSystem.QuadMaxCount 16000
  3458. EmitterSystem.MeshMaxCount 8000
  3459. EmitterSystem.CollisionRayCastMaxCount 250
  3460. EmitterSystem.EmitterQualityLevel Ultra
  3461. EffectSystem.EffectQualityLevel Ultra
  3462.  
  3463. PostProcess.SpriteDofEnable 1
  3464. PostProcess.IronsightsDofEnable 1
  3465. PostProcess.DofMethod DofMethod_Sprite
  3466. PostProcess.BlurMethod BlurMethod_Sprite
  3467.  
  3468. WorldRender.SubSurfaceScatteringEnable 1
  3469.  
  3470. -- Force transparent surfaces to be rendered at full
  3471. -- res. in order to conserve transparent sorting with
  3472. -- full res. particles
  3473. WorldRender.ForceFullResEnable 1
  3474. ]=],
  3475. })
  3476.  
  3477.  
  3478.  
  3479. ------ Terrain Quality
  3480. applyQualitySettings('TerrainQuality', {
  3481. [Quality.Low]=[=[
  3482. VisualTerrain.DxDisplacementMappingEnable 0
  3483. VisualTerrain.DxTessellatedTriWidth 12
  3484. VisualTerrain.LodScale 1.0
  3485. ]=],
  3486. [Quality.Medium]=[=[
  3487. VisualTerrain.DxDisplacementMappingEnable 0
  3488. VisualTerrain.DxTessellatedTriWidth 12
  3489. VisualTerrain.LodScale 1.1
  3490. ]=],
  3491. -- Only on DX11 cards
  3492. [Quality.High]=[=[
  3493. VisualTerrain.DxDisplacementMappingEnable 1
  3494. VisualTerrain.DxTessellatedTriWidth 12
  3495. VisualTerrain.LodScale 1.1
  3496. ]=],
  3497. [Quality.Ultra]=[=[
  3498. VisualTerrain.DxDisplacementMappingEnable 1
  3499. VisualTerrain.DxTessellatedTriWidth 9
  3500. VisualTerrain.LodScale 1.1
  3501. ]=],
  3502. })
  3503.  
  3504.  
  3505. ------ Terrain Decoration Quality
  3506. applyQualitySettings('UndergrowthQuality', {
  3507. [Quality.Low]=[=[
  3508. VisualTerrain.MeshScatteringBuildChannelCount 2
  3509. VisualTerrain.MeshScatteringBuildChannelsLaunchedPerFrameCountMax 1
  3510. VisualTerrain.MeshScatteringDensityScaleFactor 1
  3511. VisualTerrain.MeshScatteringDistanceScaleFactor 1
  3512. VisualTerrain.MeshScatteringInstancesPerCellMax 2048
  3513. VisualTerrain.MeshScatteringQualityLevel Low
  3514. ]=],
  3515. [Quality.Medium]=[=[
  3516. VisualTerrain.MeshScatteringBuildChannelCount 4
  3517. VisualTerrain.MeshScatteringBuildChannelsLaunchedPerFrameCountMax 2
  3518. VisualTerrain.MeshScatteringDistanceScaleFactor 1.25
  3519. VisualTerrain.MeshScatteringDensityScaleFactor 1
  3520. VisualTerrain.MeshScatteringInstancesPerCellMax 3072
  3521. VisualTerrain.MeshScatteringQualityLevel Medium
  3522. ]=],
  3523. [Quality.High]=[=[
  3524. VisualTerrain.MeshScatteringBuildChannelCount 6
  3525. VisualTerrain.MeshScatteringBuildChannelsLaunchedPerFrameCountMax 4
  3526. VisualTerrain.MeshScatteringDistanceScaleFactor 1.5
  3527. VisualTerrain.MeshScatteringDensityScaleFactor 1
  3528. VisualTerrain.MeshScatteringInstancesPerCellMax 4096
  3529. VisualTerrain.MeshScatteringQualityLevel High
  3530. ]=],
  3531. [Quality.Ultra]=[=[
  3532. VisualTerrain.MeshScatteringBuildChannelCount 8
  3533. VisualTerrain.MeshScatteringBuildChannelsLaunchedPerFrameCountMax 4
  3534. VisualTerrain.MeshScatteringDistanceScaleFactor 2
  3535. VisualTerrain.MeshScatteringDensityScaleFactor 1
  3536. VisualTerrain.MeshScatteringInstancesPerCellMax 4096
  3537. VisualTerrain.MeshScatteringQualityLevel Ultra
  3538. ]=],
  3539. })
  3540.  
  3541.  
  3542. ------ Shadow Quality
  3543. applyQualitySettings('ShadowQuality', {
  3544. [Quality.Low]=[=[
  3545. WorldRender.ShadowmapsEnable true
  3546. WorldRender.ShadowmapViewDistance 100
  3547. WorldRender.ShadowmapResolution 608
  3548. WorldRender.ShadowmapSliceCount 4
  3549. WorldRender.ShadowmapQuality QualityLevel_Low
  3550. WorldRender.TransparencyShadowmapsEnable 0
  3551. WorldRender.SpotLightShadowmapLevel QualityLevel_Low
  3552. WorldRender.SpotLightsAsConeLightsLevel QualityLevel_Low
  3553. ]=],
  3554. [Quality.Medium]=[=[
  3555. WorldRender.ShadowmapsEnable true
  3556. WorldRender.ShadowmapViewDistance 140
  3557. WorldRender.ShadowmapResolution 896
  3558. WorldRender.ShadowmapSliceCount 4
  3559. WorldRender.ShadowmapQuality QualityLevel_Medium
  3560. WorldRender.TransparencyShadowmapsEnable 1
  3561. WorldRender.SpotLightShadowmapLevel QualityLevel_Medium
  3562. WorldRender.SpotLightsAsConeLightsLevel QualityLevel_Medium
  3563. ]=],
  3564. [Quality.High]=[=[
  3565. WorldRender.ShadowmapsEnable true
  3566. WorldRender.ShadowmapViewDistance 200
  3567. WorldRender.ShadowmapResolution 1408
  3568. WorldRender.ShadowmapSliceCount 4
  3569. WorldRender.ShadowmapQuality QualityLevel_High
  3570. WorldRender.TransparencyShadowmapsEnable 1
  3571. WorldRender.SpotLightShadowmapLevel QualityLevel_High
  3572. WorldRender.SpotLightsAsConeLightsLevel QualityLevel_High
  3573. ]=],
  3574. [Quality.Ultra]=[=[
  3575. WorldRender.ShadowmapsEnable true
  3576. WorldRender.ShadowmapViewDistance 250
  3577. WorldRender.ShadowmapResolution 2048
  3578. WorldRender.ShadowmapSliceCount 4
  3579. WorldRender.ShadowmapQuality QualityLevel_Ultra
  3580. WorldRender.TransparencyShadowmapsEnable 1
  3581. WorldRender.SpotLightShadowmapLevel QualityLevel_Ultra
  3582. WorldRender.SpotLightsAsConeLightsLevel QualityLevel_Ultra
  3583. ]=],
  3584. })
  3585.  
  3586.  
  3587. ------ Antialiasing Deferred
  3588. applyQualitySettings('AntiAliasingDeferred', {
  3589. [AntiAliasingDeferred.Off]=[=[
  3590. WorldRender.MultisampleCount 1
  3591. ]=],
  3592. [AntiAliasingDeferred.MSAA2X]=[=[
  3593. WorldRender.MultisampleCount 2
  3594. ]=],
  3595. [AntiAliasingDeferred.MSAA4X]=[=[
  3596. WorldRender.MultisampleCount 4
  3597. ]=],
  3598. })
  3599.  
  3600.  
  3601. ------ Antialiasing Post
  3602. applyQualitySettings('AntiAliasingPost', {
  3603. [AntiAliasingPost.Off]=[=[
  3604. WorldRender.PostProcessAntialiasingMode PostProcessAAMode_None
  3605. ]=],
  3606. [AntiAliasingPost.Low]=[=[
  3607. WorldRender.PostProcessAntialiasingMode PostProcessAAMode_FxaaLow
  3608. ]=],
  3609. [AntiAliasingPost.Medium]=[=[
  3610. WorldRender.PostProcessAntialiasingMode PostProcessAAMode_FxaaMedium
  3611. ]=],
  3612. [AntiAliasingPost.High]=[=[
  3613. WorldRender.PostProcessAntialiasingMode PostProcessAAMode_FxaaHigh
  3614. ]=],
  3615. })
  3616.  
  3617.  
  3618. ------ Ambient Occlusion
  3619. applyQualitySettings('AmbientOcclusion', {
  3620. [AmbientOcclusion.Off]=[=[
  3621. PostProcess.DynamicAOEnable 0
  3622. PostProcess.HbaoHalfResEnable 1
  3623. ]=],
  3624. [AmbientOcclusion.SSAO]=[=[
  3625. PostProcess.DynamicAOEnable 1
  3626. PostProcess.DynamicAOMethod DynamicAOMethod_SSAO
  3627. PostProcess.HbaoHalfResEnable 1
  3628. ]=],
  3629. [AmbientOcclusion.HBAO]=[=[
  3630. PostProcess.DynamicAOEnable 1
  3631. PostProcess.DynamicAOMethod DynamicAOMethod_HBAO
  3632. PostProcess.HbaoHalfResEnable 1
  3633. ]=],
  3634. [AmbientOcclusion.HBAOFull]=[=[
  3635. PostProcess.DynamicAOEnable 1
  3636. PostProcess.DynamicAOMethod DynamicAOMethod_HBAO
  3637. PostProcess.HbaoHalfResEnable 0
  3638. ]=],
  3639. })
  3640.  
  3641. ------- todo Use AnisotropicFilter setting!
  3642.  
  3643.  
  3644. ------- Motion Blur
  3645. WorldRender = WorldRender or {}
  3646. WorldRender.MotionBlurEnable = settings['MotionBlurEnabled']
  3647. -- WorldRender.MotionBlurScale = settings['MotionBlur'] / 5
  3648. -- for some reason motion we get "attempt to perform arithmetic on field 'MotionBlur' (a nil value)" when starting up so workaround by having a script default value to handle that case --johan
  3649. WorldRender.MotionBlurScale = (settings['MotionBlur'] or 0.5) / 5
  3650.  
  3651.  
  3652. ------- Screen resolution
  3653. RenderDevice = RenderDevice or {}
  3654. RenderDevice.FullscreenWidth = settings['ResolutionWidth']
  3655. RenderDevice.FullscreenHeight = settings['ResolutionHeight']
  3656. RenderDevice.FullscreenRefreshRate = settings['FullscreenRefreshRate']
  3657. RenderDevice.Fullscreen = settings['FullscreenEnabled']
  3658. RenderDevice.FullscreenOutputIndex = settings['FullscreenScreen']
  3659. RenderDevice.VSyncEnable = settings['VSyncEnabled']
  3660. RenderDevice.StereoEnable = settings['Stereoscopy']
  3661. RenderDevice.StereoDepth = settings['StereoConvergence']
  3662.  
  3663. PostProcess.UIBrightnessNorm = settings['Brightness']
  3664. ‚¨$file žname (Scripts/UserOptions/Options/Physics.lua payload ãlocal quality = settings['PhysicsQuality']
  3665. log:info("setting physics quality : "..quality)
  3666. if(quality > 0.8) then
  3667. applySettings([=[
  3668. Physics.EnableFollowWheelRaycasts true
  3669. Physics.EnableASyncWheelRaycasts true
  3670. ]=])
  3671. else
  3672. applySettings([=[
  3673. Physics.EnableFollowWheelRaycasts false
  3674. Physics.EnableASyncWheelRaycasts true
  3675. ]=])
  3676. end
  3677. ‚€$file öname &Scripts/UserOptions/Options/Sound.lua payload ½local quality = settings['AudioQuality']
  3678. log:info("setting sound quality : "..quality)
  3679. if(quality > 0.8) then
  3680. applySettings([=[
  3681. Audio.MaxAudibleSoundCount 15
  3682. Audio.AudioCoreCpuLoadLimit 50
  3683. ]=])
  3684. else
  3685. applySettings([=[
  3686. Audio.MaxAudibleSoundCount 8
  3687. Audio.AudioCoreCpuLoadLimit 30
  3688. ]=])
  3689. end
  3690. ‚’$file ˆname !Scripts/BuildMonkeyAutosmoke.cfg payload Ô#!/bin/lua
  3691.  
  3692. core = require "Frost.Core"
  3693.  
  3694. log:debug("Parsing 'BuildMonkeyAutosmoke.cfg' settings")
  3695.  
  3696. local function applySettings(settings)
  3697. core.parseKeyValueCfgString(settings, _G)
  3698. end
  3699.  
  3700. applySettings [=[
  3701.  
  3702. Core.IgnoreAlways true
  3703.  
  3704. Core.Heartbeat true
  3705. Core.HeartbeatInterval 20
  3706. Client.UseMouseAndKeyboardSystem false
  3707.  
  3708. RenderDevice.NvidiaMinDriverVersion 18585
  3709.  
  3710. Online.ClientIsPresenceEnabled false
  3711. Online.ServerIsPresenceEnabled false
  3712.  
  3713. ]=]
  3714. ‚Ì$file Âname Scripts/BuildMonkeyXenon.cfg payload ’#!/bin/lua
  3715.  
  3716. core = require "Frost.Core"
  3717.  
  3718. log:debug("Parsing 'BuildMonkeyXenon.cfg' settings")
  3719.  
  3720. local function applySettings(settings)
  3721. core.parseKeyValueCfgString(settings, _G)
  3722. end
  3723.  
  3724. applySettings [=[
  3725.  
  3726. Core.IgnoreAlways true
  3727. Client.UseMouseAndKeyboardSystem false
  3728.  
  3729. SoldierTest.maxCountTestSoldier 23
  3730.  
  3731. Online.ClientIsPresenceEnabled false
  3732. Online.ServerIsPresenceEnabled false
  3733.  
  3734. ]=]
  3735. ‚í
  3736. $file ã
  3737. name Scripts/Checkins.cfg payload »
  3738. Code Win32;//Frostbite/Sandboxes/Venice/TnT/Code/;\\dice-monkeyfarm\Logs\Venice.Code.Win32\Logs
  3739. Code Win64;//Frostbite/Sandboxes/Venice/TnT/Code/;\\dice-monkeyfarm\Logs\Venice.Code.Win64\Logs
  3740. Code Xenon;//Frostbite/Sandboxes/Venice/TnT/Code/;\\dice-monkeyfarm\Logs\Venice.Code.Xenon\Logs
  3741. Code PS3;//Frostbite/Sandboxes/Venice/TnT/Code/;\\dice-monkeyfarm\Logs\Venice.Code.PS3\Logs
  3742. No Master Win32;//Frostbite/Sandboxes/Venice/TnT/Code/;\\dice-monkeyfarm\Logs\Venice.NoMaster.Win32\Logs
  3743. # Removed these, since they don't trigger on checkins:
  3744. #No Master Xenon;//Frostbite/Sandboxes/Venice/TnT/Code/;\\dice-monkeyfarm\Logs\Venice.NoMaster.Xenon\Logs
  3745. #No Master PS3;//Frostbite/Sandboxes/Venice/TnT/Code/;\\dice-monkeyfarm\Logs\Venice.NoMaster.PS3\Logs
  3746. #No Master PS3 (GCC);//Frostbite/Sandboxes/Venice/TnT/Code/;\\dice-monkeyfarm\Logs\Venice.NoMaster.PS3GCC\Logs
  3747. #Editor;//Frostbite/Sandboxes/Venice/TnT/Code/;\\dice-monkeyfarm\Logs\Venice.EditorSmoke\Logs
  3748. Data Win32;//Venice/Sandboxes/Venice/Data/;\\dice-monkeyfarm\Logs\Venice.DataSmoke.Win32\Logs
  3749. Data Win64;//Venice/Sandboxes/Venice/Data/;\\dice-monkeyfarm\Logs\Venice.DataSmoke.Win64\Logs
  3750. Data Xenon;//Venice/Sandboxes/Venice/Data/;\\dice-monkeyfarm\Logs\Venice.DataSmoke.Xenon\Logs
  3751. Data PS3;//Venice/Sandboxes/Venice/Data/;\\dice-monkeyfarm\Logs\Venice.DataSmoke.PS3\Logs
  3752. ‚w$file nname Scripts/DisablePresence.cfg payload @Client.IsPresenceEnabled false
  3753. Server.IsPresenceEnabled false
  3754. ‚à $file Ö name Scripts/FrostTest.cfg payload ­ #!/bin/lua
  3755.  
  3756. core = require "Frost.Core"
  3757.  
  3758. log:debug("Parsing 'FrostTest.cfg' settings")
  3759.  
  3760. local function applySettings(settings)
  3761. core.parseKeyValueCfgString(settings, _G)
  3762. end
  3763.  
  3764. applySettings [=[
  3765.  
  3766. Game.LogFileEnable true
  3767. Online.ClientIsPresenceEnabled false
  3768. Online.ServerIsPresenceEnabled false
  3769.  
  3770. Client.IsInternetSimulationEnabled false
  3771. Server.IsInternetSimulationEnabled false
  3772.  
  3773. Server.PacketDrops 0
  3774. Server.DropSpikeChance 0
  3775. Server.DuplicationChance 0
  3776. Server.CorruptionChance 0
  3777. Client.PacketDrops 0
  3778. Client.DropSpikeChance 0
  3779. Client.DuplicationChance 0
  3780. Client.CorruptionChance 0
  3781.  
  3782. PerformanceTracker.JuiceLogPerformance false
  3783. Core.DisplayAsserts false
  3784. Core.EnableJuiceTelemetry true
  3785. Core.EnableJuice true
  3786. CrashDump.WarnBeforeDoingMemoryDump false
  3787. Core.JuiceValidateAsAssert false
  3788. Core.ValidateAsWarning true
  3789.  
  3790. #Core.JuiceServerIP 10.20.96.118
  3791.  
  3792. Juice.AlternativeNamingScheme true
  3793.  
  3794. Core.HardwareProfile Hardware_Low
  3795. Render.SkipMipmapCount 4
  3796.  
  3797. #temporary disabled as we currently get an assert spam
  3798. #Demo.RecordDemoFileName /temp/demo/BuildMonkeySession
  3799.  
  3800. #UdpSocket.ReusePort true
  3801. #Network.IncrementServerPortOnFail false
  3802.  
  3803. UI.SpawnOnPressEnter true
  3804.  
  3805. Inventory.postSpawnEquipping true
  3806.  
  3807. Game.DisablePreRound true
  3808. Player.ignoreLevelWarmUpTimers true
  3809. Player.allowDefaultSpawnPointSelection true
  3810.  
  3811. Window.Width 800
  3812. Window.Height 600
  3813. Window.Fullscreen false
  3814.  
  3815. Player.allowRandomSpawnPointSelection true
  3816.  
  3817. UI.SkipIntroVideoSequence true
  3818.  
  3819. ]=]
  3820.  
  3821. ‚¢$file ˜name !Scripts/FrostTestPerformance.cfg payload ä
  3822. #!/bin/lua
  3823.  
  3824. core = require "Frost.Core"
  3825.  
  3826. log:debug("Parsing 'FrostTestPerformance.cfg' settings")
  3827.  
  3828. local function applySettings(settings)
  3829. core.parseKeyValueCfgString(settings, _G)
  3830. end
  3831.  
  3832. applySettings [=[
  3833.  
  3834. Game.LogFileEnable true
  3835. Client.IsInternetSimulationEnabled false
  3836. Server.IsInternetSimulationEnabled false
  3837.  
  3838. Server.PacketDrops 0
  3839. Server.DropSpikeChance 0
  3840. Server.DuplicationChance 0
  3841. Server.CorruptionChance 0
  3842. Client.PacketDrops 0
  3843. Client.DropSpikeChance 0
  3844. Client.DuplicationChance 0
  3845. Client.CorruptionChance 0
  3846.  
  3847. ShaderSystem.DrawStats true
  3848. PerformanceTracker.Interval 99999
  3849. Render.PerfOverlayVisible true
  3850.  
  3851. PerformanceTracker.JuiceLogPerformance true
  3852. Core.DisplayAsserts false
  3853. Core.EnableJuiceTelemetry true
  3854. Core.EnableJuice true
  3855. CrashDump.WarnBeforeDoingMemoryDump false
  3856. Core.JuiceValidateAsAssert false
  3857. Core.ValidateAsWarning true
  3858.  
  3859. Juice.AlternativeNamingScheme true
  3860. UdpSocket.ReusePort true
  3861. Network.IncrementServerPortOnFail false
  3862.  
  3863. UI.SpawnOnPressEnter true
  3864.  
  3865. Inventory.postSpawnEquipping true
  3866.  
  3867. Game.DisablePreRound true
  3868. Tickets.DisableTicketBleed true
  3869.  
  3870. ServerMetrics.TickTelemetryEnabled false
  3871. ServerMetrics.PerformanceTelemetryEnabled true
  3872. ServerMetrics.PerformanceProfileStateEnabled true
  3873. ServerMetrics.JuiceTelemetryEnabled true
  3874. ServerMetrics.DbxReportEnabled true
  3875.  
  3876. Player.allowRandomSpawnPointSelection true
  3877.  
  3878. Client.LoadingTimeOut 99999
  3879. Client.LoadedTimeOut 99999
  3880. Client.IngameTimeOut 99999
  3881. Server.IngameTimeOut 99999
  3882. Server.LoadingTimeOut 99999
  3883. BFServer.NoInteractivityTimeoutTime 999999
  3884.  
  3885. Online.Environment Development
  3886. Online.ClientIsPresenceEnabled false
  3887. Online.ServerIsPresenceEnabled false
  3888.  
  3889. ]=]
  3890. ‚¢$file ˜name !Scripts/FrostTestPlaythrough.cfg payload ä
  3891. #!/bin/lua
  3892.  
  3893. core = require "Frost.Core"
  3894.  
  3895. log:debug("Parsing 'FrostTestPlaythrough.cfg' settings")
  3896.  
  3897. local function applySettings(settings)
  3898. core.parseKeyValueCfgString(settings, _G)
  3899. end
  3900.  
  3901. applySettings [=[
  3902.  
  3903. Game.LogFileEnable true
  3904. Client.IsInternetSimulationEnabled false
  3905. Server.IsInternetSimulationEnabled false
  3906.  
  3907. Server.PacketDrops 0
  3908. Server.DropSpikeChance 0
  3909. Server.DuplicationChance 0
  3910. Server.CorruptionChance 0
  3911. Client.PacketDrops 0
  3912. Client.DropSpikeChance 0
  3913. Client.DuplicationChance 0
  3914. Client.CorruptionChance 0
  3915.  
  3916. ShaderSystem.DrawStats true
  3917. PerformanceTracker.Interval 99999
  3918. Render.PerfOverlayVisible true
  3919.  
  3920. PerformanceTracker.JuiceLogPerformance true
  3921. Core.DisplayAsserts false
  3922. Core.EnableJuiceTelemetry true
  3923. Core.EnableJuice true
  3924. CrashDump.WarnBeforeDoingMemoryDump false
  3925. Core.JuiceValidateAsAssert false
  3926. Core.ValidateAsWarning true
  3927.  
  3928. Juice.AlternativeNamingScheme true
  3929. UdpSocket.ReusePort true
  3930. Network.IncrementServerPortOnFail false
  3931.  
  3932. UI.SpawnOnPressEnter true
  3933.  
  3934. Inventory.postSpawnEquipping true
  3935.  
  3936. Game.DisablePreRound true
  3937. Tickets.DisableTicketBleed true
  3938.  
  3939. ServerMetrics.TickTelemetryEnabled false
  3940. ServerMetrics.PerformanceTelemetryEnabled true
  3941. ServerMetrics.PerformanceProfileStateEnabled true
  3942. ServerMetrics.JuiceTelemetryEnabled true
  3943. ServerMetrics.DbxReportEnabled true
  3944.  
  3945. Player.allowRandomSpawnPointSelection true
  3946.  
  3947. Client.LoadingTimeOut 99999
  3948. Client.LoadedTimeOut 99999
  3949. Client.IngameTimeOut 99999
  3950. Server.IngameTimeOut 99999
  3951. Server.LoadingTimeOut 99999
  3952. BFServer.NoInteractivityTimeoutTime 999999
  3953.  
  3954. Online.Environment Development
  3955. Online.ClientIsPresenceEnabled false
  3956. Online.ServerIsPresenceEnabled false
  3957.  
  3958. ]=]
  3959. ‚öù$file ëùname Scripts/Game.cfg payload Æù#!/bin/lua
  3960.  
  3961. core = require "Frost.Core"
  3962.  
  3963. log:debug("Parsing 'Game.cfg' settings")
  3964.  
  3965. local function applySettings(settings)
  3966. core.parseKeyValueCfgString(settings, _G)
  3967. end
  3968.  
  3969. local function append(table, value)
  3970. table[#table+1] = value
  3971. end
  3972.  
  3973. --
  3974. -- Note that this is now actually a Lua script (signified by the first line
  3975. -- of this file), to allow conditionals and more advanced settings processing
  3976. --
  3977. -- There are two ways to set settings. One is by editing the key-value string
  3978. -- block below, the other is to actually use Lua code to set settings.
  3979. --
  3980.  
  3981.  
  3982. applySettings [=[
  3983.  
  3984. Game.Level Levels/Frontend/Frontend
  3985. #Game.DefaultLayerInclusion GameMode=ConquestLarge
  3986. #Game.StartPoint E3_Demo
  3987.  
  3988. Server.DebrisClusterEnabled true
  3989. Server.WaterPhysicsEnabled true
  3990. Server.IsDesertingAllowed false
  3991. Server.IsRenderDamageEvents false
  3992. Server.IsStatsEnabled false
  3993. Server.IsNetworkStatsEnabled false
  3994. Server.IsAiEnabled true
  3995. Server.AILooksIntoCamera false
  3996. Server.IsDestructionEnabled true
  3997. Server.IsTreeDestructionEnabled true
  3998. Server.IsSoldierAnimationEnabled true
  3999. Server.IsSoldierDetailedCollisionEnabled true
  4000. Server.DisableCutscenes false
  4001. Server.HavokVisualDebugger false
  4002. Server.ShowTriggerDebugText false
  4003. Server.TimeoutGame false
  4004. Server.TimeoutTime 9999.0 // 5.0
  4005.  
  4006. Server.JobEnable true
  4007.  
  4008. Server.ThreadedLoadingEnable true
  4009.  
  4010. enable-category-lookup-error-trigger false
  4011. Server.FallBackToSquadSpawn false
  4012.  
  4013. Server.Playlist DefaultPlayList
  4014. Server.forceCurrentMapOnLoad true
  4015. Server.forceStartMapOnLoad false
  4016. BFServer.ServerType OFFICIAL
  4017. ServerMapSequencer.DebugOutput true
  4018.  
  4019. Player.ignoreLevelWarmUpTimers true
  4020.  
  4021. Client.IsSpectator false
  4022. #Client.ScreenshotToFile true
  4023. Client.OccludersEnabled true
  4024. Client.DebrisClusterEnabled true
  4025. Client.TerrainEnabled true
  4026. Client.WaterPhysicsEnabled true
  4027. Client.PauseGameOnStartUp false
  4028. Client.RenderTags false
  4029. Client.EffectsEnabled true
  4030. Client.EmittersEnabled true
  4031. Client.OnDamageSpottingEnabled false
  4032.  
  4033. #Client.ServerIp 10.20.102.99
  4034. #Client.SecondaryServerIp 10.20.102.63
  4035.  
  4036. Client.DrawStats false
  4037. Client.DrawFpsStats true
  4038. Client.DrawObjectLimits true
  4039. Client.DrawNetworkStats false
  4040.  
  4041. Client.Team 0
  4042. Client.Kit 0
  4043.  
  4044. Persistence.AllUnlocksAlwaysUnlocked false
  4045.  
  4046. #Client.SpawnPoint
  4047. Client.InvertPitch false
  4048. Client.InvertPadPcRightStick false
  4049. //Flip Y-axis for non-pilots (Infantry and Land Vehicles)
  4050. Client.Scheme0FlipY false
  4051. //Flip Y-axis for pilots (Air Vehicles)
  4052. Client.Scheme1FlipY false
  4053. Client.AimScale 1.0
  4054. Client.HavokVisualDebugger false
  4055. Client.HavokVDBShowsEffectsWorld false
  4056.  
  4057. Client.IncomingFrequency 15.0
  4058. Client.IncomingRate 128000
  4059. Client.OutgoingRate 64000
  4060.  
  4061. Server.OutgoingFrequency 10.0
  4062. Server.OutgoingRate 128000
  4063. Server.IncomingRate 64000
  4064.  
  4065. // Internet simulation start (only active in multiplayer)
  4066. Server.UseDebugSocket false
  4067. Server.OverrideRemoteInternetSimulation false
  4068. Server.AllowOverrideInternetSimulation false
  4069.  
  4070. Server.IncomingInternetSimulation.Enable true
  4071. Server.IncomingInternetSimulation.ReorderRatioMin 0.0
  4072. Server.IncomingInternetSimulation.ReorderRatioMax 0.0
  4073. Server.IncomingInternetSimulation.LatencyMin 0.020
  4074. Server.IncomingInternetSimulation.LatencyMax 0.100
  4075. Server.IncomingInternetSimulation.LatencyVariance 0.25
  4076. Server.IncomingInternetSimulation.DuplicateRatioMin 0.0
  4077. Server.IncomingInternetSimulation.DuplicateRatioMax 0.0
  4078. Server.IncomingInternetSimulation.DropRatioMin 0.002
  4079. Server.IncomingInternetSimulation.DropRatioMax 0.010
  4080. Server.IncomingInternetSimulation.CorruptRatioMin 0.0
  4081. Server.IncomingInternetSimulation.CorruptRatioMax 0.0
  4082. Server.IncomingInternetSimulation.SizeRatioMin 0.0
  4083. Server.IncomingInternetSimulation.SizeRatioMax 0.0
  4084. Server.IncomingInternetSimulation.SpikeDurationMin 0.0
  4085. Server.IncomingInternetSimulation.SpikeDurationMax 0.0
  4086. Server.IncomingInternetSimulation.SpikeDurationVariance 0.0
  4087. Server.IncomingInternetSimulation.SpikeCooldownMin 0.0
  4088. Server.IncomingInternetSimulation.SpikeCooldownMax 0.0
  4089. Server.IncomingInternetSimulation.SpikeCooldownVariance 0.0
  4090.  
  4091. Server.OutgoingInternetSimulation.Enable true
  4092. Server.OutgoingInternetSimulation.ReorderRatioMin 0.0
  4093. Server.OutgoingInternetSimulation.ReorderRatioMax 0.0
  4094. Server.OutgoingInternetSimulation.LatencyMin 0.020
  4095. Server.OutgoingInternetSimulation.LatencyMax 0.100
  4096. Server.OutgoingInternetSimulation.LatencyVariance 0.25
  4097. Server.OutgoingInternetSimulation.DuplicateRatioMin 0.0
  4098. Server.OutgoingInternetSimulation.DuplicateRatioMax 0.0
  4099. Server.OutgoingInternetSimulation.DropRatioMin 0.002
  4100. Server.OutgoingInternetSimulation.DropRatioMax 0.010
  4101. Server.OutgoingInternetSimulation.CorruptRatioMin 0.0
  4102. Server.OutgoingInternetSimulation.CorruptRatioMax 0.0
  4103. Server.OutgoingInternetSimulation.SizeRatioMin 0.0
  4104. Server.OutgoingInternetSimulation.SizeRatioMax 0.0
  4105. Server.OutgoingInternetSimulation.SpikeDurationMin 0.0
  4106. Server.OutgoingInternetSimulation.SpikeDurationMax 0.0
  4107. Server.OutgoingInternetSimulation.SpikeDurationVariance 0.0
  4108. Server.OutgoingInternetSimulation.SpikeCooldownMin 0.0
  4109. Server.OutgoingInternetSimulation.SpikeCooldownMax 0.0
  4110. Server.OutgoingInternetSimulation.SpikeCooldownVariance 0.0
  4111.  
  4112. Client.UseDebugSocket false
  4113. Client.OverrideRemoteInternetSimulation false
  4114. Client.AllowOverrideInternetSimulation true
  4115.  
  4116. Client.IncomingInternetSimulation.Enable false
  4117. Client.IncomingInternetSimulation.ReorderRatioMin 0.0
  4118. Client.IncomingInternetSimulation.ReorderRatioMax 0.0
  4119. Client.IncomingInternetSimulation.LatencyMin 0.020
  4120. Client.IncomingInternetSimulation.LatencyMax 0.100
  4121. Client.IncomingInternetSimulation.LatencyVariance 0.25
  4122. Client.IncomingInternetSimulation.DuplicateRatioMin 0.0
  4123. Client.IncomingInternetSimulation.DuplicateRatioMax 0.0
  4124. Client.IncomingInternetSimulation.DropRatioMin 0.002
  4125. Client.IncomingInternetSimulation.DropRatioMax 0.010
  4126. Client.IncomingInternetSimulation.CorruptRatioMin 0.0
  4127. Client.IncomingInternetSimulation.CorruptRatioMax 0.0
  4128. Client.IncomingInternetSimulation.SizeRatioMin 0.0
  4129. Client.IncomingInternetSimulation.SizeRatioMax 0.0
  4130. Client.IncomingInternetSimulation.SpikeDurationMin 0.0
  4131. Client.IncomingInternetSimulation.SpikeDurationMax 0.0
  4132. Client.IncomingInternetSimulation.SpikeDurationVariance 0.0
  4133. Client.IncomingInternetSimulation.SpikeCooldownMin 0.0
  4134. Client.IncomingInternetSimulation.SpikeCooldownMax 0.0
  4135. Client.IncomingInternetSimulation.SpikeCooldownVariance 0.0
  4136.  
  4137. Client.OutgoingInternetSimulation.Enable false
  4138. Client.OutgoingInternetSimulation.ReorderRatioMin 0.0
  4139. Client.OutgoingInternetSimulation.ReorderRatioMax 0.0
  4140. Client.OutgoingInternetSimulation.LatencyMin 0.020
  4141. Client.OutgoingInternetSimulation.LatencyMax 0.100
  4142. Client.OutgoingInternetSimulation.LatencyVariance 0.25
  4143. Client.OutgoingInternetSimulation.DuplicateRatioMin 0.0
  4144. Client.OutgoingInternetSimulation.DuplicateRatioMax 0.0
  4145. Client.OutgoingInternetSimulation.DropRatioMin 0.002
  4146. Client.OutgoingInternetSimulation.DropRatioMax 0.010
  4147. Client.OutgoingInternetSimulation.CorruptRatioMin 0.0
  4148. Client.OutgoingInternetSimulation.CorruptRatioMax 0.0
  4149. Client.OutgoingInternetSimulation.SizeRatioMin 0.0
  4150. Client.OutgoingInternetSimulation.SizeRatioMax 0.0
  4151. Client.OutgoingInternetSimulation.SpikeDurationMin 0.0
  4152. Client.OutgoingInternetSimulation.SpikeDurationMax 0.0
  4153. Client.OutgoingInternetSimulation.SpikeDurationVariance 0.0
  4154. Client.OutgoingInternetSimulation.SpikeCooldownMin 0.0
  4155. Client.OutgoingInternetSimulation.SpikeCooldownMax 0.0
  4156. Client.OutgoingInternetSimulation.SpikeCooldownVariance 0.0
  4157. // Internet simulation end
  4158.  
  4159.  
  4160. Client.ThreadedLoadingEnable true
  4161. Client.VisualFrameInterpolation true
  4162.  
  4163. Client.AsyncClientBulletEntity true
  4164.  
  4165. UI.AmpServerEnabled false
  4166. UI.AmpWaitForServerConnection false
  4167. UI.AmpPort 7534
  4168. UI.OnScreenTraces false
  4169. UI.ShowDebugStringTag false
  4170. UI.OutputEnabled false
  4171. UI.VerboseOutputEnabled false
  4172. // Language can be set to override the language that is getting sent from the web
  4173. UI.Language LanguageFormat_Undefined
  4174. UI.FontCacheTextureWidth 1024
  4175. UI.FontCacheTextureHeight 1024
  4176. UI.RenderCommandBufferSize 327680
  4177. UI.RenderVertexBufferSize 360448
  4178. UI.RenderIndexBufferSize 98304
  4179. UI.RenderPcBufferScale 4
  4180. UI.DisableMoviesOnConsoles true
  4181. UI.MaxMinimapIconsPc 256
  4182. UI.MaxMinimapIconsConsole 64
  4183.  
  4184. Minimap.TileFadeInSpeed 8
  4185. Minimap.TileFadeOutSpeed 16
  4186.  
  4187. Core.LogLevel Info
  4188. Core.EnableMemoryDump false
  4189. Core.CrashOnFatalErrors true
  4190. Core.ProfileDirectoryName Battlefield 4
  4191. Core.BugSubmitTool BST_B4Bug
  4192. Core.InitSeed xa37dd45ffe100bfffcc9753aabac325f07cb3fa231144fe2e33ae4783feead2b8a73ff021fac326df0ef9753ab9cdf6573ddff0312fab0b0ff39779eaff312a4f5de65892ffee33a44569bebf21f66d22e54a22347efd375981188743afd99baacc342d88a99321235798725fedcbf43252669dade32415fee89da543bf23d4ex
  4193.  
  4194. Game.LogFileEnable true
  4195. Game.LogFileCollisionMode LFCM_Rotate
  4196.  
  4197. WaterInteract.GridCount 16
  4198.  
  4199. Decal.RingBufferMaxVertexCount 15000
  4200. Decal.StaticBufferMaxVertexCount 1000000
  4201. Decal.DebugWarningsEnable false
  4202.  
  4203. Render.DrawFpsMethod 1
  4204.  
  4205. DebugRender.DxMaxVertexCount 262144
  4206.  
  4207. //Set the Near Plane to 0.06 to help fix the most major clipping issues on weapon animations. -akertz
  4208. Render.NearPlane 0.06
  4209.  
  4210. Render.XenonBufferTwoFramesEnable 1
  4211.  
  4212. Occlusion.NormalViewDistance 400
  4213. Occlusion.TerrainViewDistance 2000
  4214. VisualTerrain.OccludedMinDistance 128
  4215.  
  4216. Enlighten.SpotLightShadowsEnable false
  4217.  
  4218. TextureStreaming.Enable 1
  4219. TextureStreaming.PoolSize 200000
  4220. TextureStreaming.OnDemandPoolSize 16000
  4221. TextureStreaming.MinTextureSize 50000
  4222.  
  4223. # Should really be the new default value
  4224. VisualTerrain.DecalOffsetY 0.04
  4225.  
  4226. //terrain crater test, DepthFactor should be 1 by default though. -mnellfors
  4227. Terrain.ModifierDepthFactor 1
  4228. Terrain.ModifierSlopeMax 0.7
  4229.  
  4230. TerrainStreaming.DataLoadJobCount 192
  4231.  
  4232. Physics.RemoveRagdollWhenWoken false
  4233. Physics.RemoveFromWorldOnCollisionOverflow false
  4234. Physics.SingleStepCharacter true
  4235. Physics.HeightfieldRSXStreaming true
  4236. #Physics.EnableClientWheelRaycasts true2
  4237.  
  4238. ragdoll-settle-angularvelocity 0.05
  4239. ragdoll-settle-linearvelocity 0.05
  4240. ragdoll-settle-minactivetime 5
  4241.  
  4242. GameAnimation.RespawnOnResourceReload false
  4243. GameAnimation.UseAnimationDrivenCharacter true
  4244. GameAnimation.TemporalLoddingFirstDistance 10000
  4245. GameAnimation.TemporalLoddingSecondDistance 10000
  4246. GameAnimation.TemporalLoddingThirdDistance 10000
  4247. GameAnimation.TemporalLoddingFourthDistance 10000
  4248. GameAnimation.TemporalLoddingFifthDistance 10000
  4249. GameAnimation.TemporalLoddingSixthDistance 10000
  4250.  
  4251. EmitterSystem.QuadGroupsJoinNiceAndSimple true
  4252.  
  4253. # Damage blood decals, conditions: !occluded, alive, !immortal, bullet dmg, dmg > 0
  4254. SoldierDecalComponent.SpawnSplashOnDamageEnabled true
  4255. SoldierDecalComponent.SpawnSplashOnDamageCooldown 3.0
  4256.  
  4257. # Raycasts (two atm) detecting entities around explosion (clientside only)
  4258. Explosion.SecondaryMaterialImpactRaycastsEnabled true
  4259.  
  4260. Audio.ReverbAllocSize 983040
  4261.  
  4262. BFServer.NoInteractivityTimeoutTime 300
  4263. BFServer.NoInteractivityThresholdLimit 0.1
  4264. BFServer.DefaultVoiceChannel Squad
  4265. BFServer.AlwaysAllowedToSpectate true
  4266.  
  4267. Game.IsGodMode false
  4268. Game.IsJesusMode false
  4269. Game.useSingleWeaponSelector true
  4270. Game.UseSpeedBasedDetailedCollision true
  4271. Game.AwardsTracking true
  4272. Game.HasUnlimitedAmmo false
  4273. Game.HasUnlimitedMags false
  4274. Game.AutoAimEnabled false
  4275. Game.DifficultyIndex -1 // Debug difficulty index to data GameConfigurations/Game_Difficulty_Settings.dbx
  4276. //Game.DisablePreRound true
  4277.  
  4278. #Don't turn this on, use the weapon data to control the FOV instead.
  4279. #SoldierRender.WeaponFovEnable false
  4280.  
  4281. UI.ConstructibleList Objects/Constructibles/Constructibles
  4282. UI.BatchingEnable true
  4283. UI.MaxVertexCount 32768
  4284. UI.RenderTargetMipmapGenEnable true
  4285. UI.PostProcessSystemEnable true
  4286. UI.PostProcessEnable true
  4287. UI.PostProcessMipmapgenEnable false
  4288.  
  4289. UIMessageComp.debugRendering false
  4290.  
  4291. UICoopComp.UnlockAllLevels false
  4292. UILevelComp.UnlockAllSpLevels false
  4293.  
  4294. Client.UseMouseAndKeyboardSystem true
  4295. Core.EnableDbErrorPolicy true
  4296.  
  4297. Core.EnableJuice false
  4298. Core.JuiceServerIP 10.20.96.118
  4299. Core.JuiceLogLevel Info
  4300. Juice.AlternativeNamingScheme true
  4301.  
  4302. Core.MemoryStatsEnabled true
  4303. Memory.DrawStats true
  4304.  
  4305. DebugRender.TextQueueMaxLineCount 10
  4306. DebugRender.TextQueueTimeVisible 10.0
  4307. proximity-interact-distance 4.0
  4308.  
  4309. Occlusion.MaxTriangleCount 30000
  4310.  
  4311. Core.DisplayAsserts true
  4312.  
  4313. uiqueue-delay 10
  4314. kill-message-delay 0
  4315.  
  4316. Blaze.ServerAutoAccountCreation true
  4317.  
  4318.  
  4319. SoldierTest.spawnEnabled false
  4320. SoldierTest.scriptsEnabled false
  4321. controllableEntityJobsEnabled true
  4322.  
  4323. DisplayObjective false;
  4324. DisplayMapMarkers false;
  4325.  
  4326. #
  4327. # ANT settings
  4328. #
  4329.  
  4330. Ant.EnableJobs true
  4331.  
  4332. # Memory Budget Size is a pure cosmetical vars to help content creators manage the memory
  4333. antDebug.MemoryBudgetSize 20
  4334.  
  4335. # Vars
  4336. Ant.MaxInterpolationSlots 100
  4337. Soldier.cameraLagEffect 0
  4338. Ant.BlockOnJobs true
  4339. Ant.ClientEmulatesServer false
  4340. Ant.UseCameraFov false
  4341. Ant.UseWeaponFov false
  4342. Soldier.animate3pWhenIn1p true
  4343. Ant.InterpolatePoses true
  4344.  
  4345. // Allow variable length ticks to be used for console MP
  4346. Ant.AllowVariableTickLength true
  4347.  
  4348. Ant.ReducedInterpolationDistance 10.0
  4349. Ant.TrajectoryOnlyInterpolationDistance 100.0
  4350. Ant.CheckGiantSoldiers 0.0
  4351.  
  4352. Ant.LeanSignalClamp 2
  4353. Ant.LeanSignalScale 1.2
  4354.  
  4355.  
  4356. Customization.dropGearVelocityScale 0.7
  4357.  
  4358. Core.Heartbeat false
  4359. Core.HeartbeatInterval 2
  4360.  
  4361. Core.HardwareProfile Hardware_AutoDetect
  4362.  
  4363. Network.TitleId 5
  4364. Network.ClientPort 25100
  4365. Network.ServerPort 25200
  4366. Network.MaxGhostCount 8192
  4367. Network.MaxClientCount 70
  4368. Network.UseFrameManager true
  4369. Network.MaxServerFrameSize 4096
  4370. //Network.MaxClientFrameSize 2048
  4371.  
  4372. //Network.ClientConnectionDebugFilePrefix client
  4373. //Network.ServerConnectionDebugFilePrefix server
  4374.  
  4375. //Demo.TimeDemo demos/perf/demo0
  4376. //Demo.PauseOnStartup true
  4377. //Demo.StartProfilingOnFrame 400
  4378. //Demo.StopProfilingOnFrame 600
  4379. //Demo.LockToPlayerName JLORD1
  4380. //Demo.ForcedDeltaTickCount 0
  4381. //Demo.RecordDemoFileName demos/perf/demo0
  4382. //Demo.PlaybackDemoFileName demos/perf/demo0
  4383.  
  4384. // These are still here since bumping SettingsBuilder after changing the default values didn't work.
  4385. // 70 = 64 max regular players (soldiers) + 2 commanders + 4 max spectator players
  4386. // Note that MaxPlayerCount also affects AI players in single player.
  4387. Game.MaxPlayerCount 70
  4388. Game.MaxSpectatorCount 4
  4389.  
  4390. Game.CurrentSKU US
  4391. Core.AvailableLanguages en;fr;es;br
  4392.  
  4393. Online.PunkBusterActivateServer true
  4394. Online.PunkBusterActivateClient true
  4395. Online.FairFightEnabled true
  4396.  
  4397. VeniceOnline.ServiceNameOverride null
  4398. VeniceOnline.ClientGameConfigurationOverride null
  4399.  
  4400. Online.ClientIsPresenceEnabled true
  4401. Online.ServerIsPresenceEnabled true
  4402. Online.Environment OnlineEnvironment_Production
  4403.  
  4404. Online.PingSite ams
  4405. Online.BlazeLogLevel 1
  4406. blaze-connecting-messages true
  4407.  
  4408. // TEMPORARY SETTINGS. NOT FOR RETAIL (but Warsaw Core X)
  4409. UIMessageComp.DisplayUnlocalizedSubtitles 1
  4410.  
  4411. WorldRender.ShadowmapAccumEnable 1
  4412. WorldRender.ShadowmapResolution 608
  4413. WorldRender.ShadowmapSliceCount 4
  4414. WorldRender.ShadowmapQuality 1
  4415.  
  4416. # Smoothness for AlphaTestSimple (mostly vegetation)
  4417. WorldRender.GBufferAlphaTestSimpleSmoothness 0.3
  4418.  
  4419.  
  4420. Enlighten.JobCount 1
  4421.  
  4422.  
  4423. DebugMenu.ToggleFreeFlying true
  4424.  
  4425.  
  4426. ]=]
  4427.  
  4428. local platformCmd = cmdLineOption('platform')
  4429. local gamePlatform = 'win32'
  4430.  
  4431. if platformCmd then
  4432. gamePlatform = platformCmd:lower()
  4433. else
  4434. gamePlatform = platform:lower()
  4435. end
  4436.  
  4437. -- Protocol version configuration
  4438. if gamePlatform:lower() == 'ps3' then
  4439. Network.ProtocolVersion = '5000'
  4440. elseif gamePlatform == 'xenon' then
  4441. Network.ProtocolVersion = '6000'
  4442. elseif gamePlatform == 'gen4a' then
  4443. Network.ProtocolVersion = '7000'
  4444. elseif gamePlatform == 'gen4b' then
  4445. Network.ProtocolVersion = '8000'
  4446. else
  4447. Network.ProtocolVersion = '4000'
  4448. end
  4449.  
  4450. -- Network timeout values
  4451. if config:lower() == 'debug' or config:lower() == 'release' then
  4452. Network.ConnectTimeout = 99999
  4453. Client.LoadingTimeOut = 99999
  4454. Client.LoadedTimeOut = 99999
  4455. Client.IngameTimeOut = 99999
  4456. Server.IngameTimeOut = 99999
  4457. Server.LoadingTimeOut = 99999
  4458. else
  4459. Network.ConnectTimeout = 15
  4460. Client.LoadingTimeOut = 15
  4461. Client.LoadedTimeOut = 15
  4462. Client.IngameTimeOut = 15
  4463. Server.IngameTimeOut = 15
  4464. Server.LoadingTimeOut = 15
  4465. end
  4466.  
  4467. if platform == 'Win32' then
  4468. applySettings [=[
  4469.  
  4470.  
  4471. # enable this again once AMD 13.9 drivers are available for 3xxx and 4xxx cards
  4472. RenderDevice.MinDriverRequired 0
  4473.  
  4474. ShaderSystem.FrameMemoryBufferSize 33554432
  4475.  
  4476. Client.LoadMenu 0
  4477. Client.IgnoreClientFireRateMultiplier true
  4478. Client.SampleInputEveryVisualFrame true
  4479.  
  4480. Blaze.ClientAutoAccountCreation true
  4481.  
  4482. Origin.ForceLogin true
  4483. Origin.AutoLogin true
  4484.  
  4485. VisualTerrain.VertexBufferHeightsEnable 0
  4486. VisualTerrain.MeshScatteringInvisibleCellFovFactor 1
  4487. VisualTerrain.PatchSlotCount 736
  4488. VisualTerrain.MeshScatteringInstancesPerCellMax 4096
  4489.  
  4490. WorldRender.DynamicEnvmapEnable 1
  4491. WorldRender.DynamicEnvmapResolution 512
  4492.  
  4493. EmitterSystem.UpdateJobEnable false
  4494.  
  4495. # Due to differences in codecs and data sizes on Win32 compared to console this needs to be quite big
  4496. Audio.DataManagerCacheSize 104857600
  4497. Audio.DelayLineAllocSize 5242880
  4498.  
  4499. PostProcess.SpriteDofEnable true
  4500.  
  4501. WorldRender.SpotLightShadowmapEnable 1
  4502. WorldRender.SpotLightShadowmapResolution 1024
  4503.  
  4504. # we need to use fullres lensflares on PCs to make sure lensflares are rendered _after_ transparent foreground surfaces
  4505. # related to http://frostbite.ea.com:8080/browse/BFIII-14492
  4506. WorldRender.HalfResLensFlaresEnable 0
  4507.  
  4508. # average method instead of minimum
  4509. Render.DrawFpsMethod 1
  4510.  
  4511. DebrisSystem.DebrisPoolSize 4096
  4512.  
  4513. Deploy.PCNavigationEnabled true
  4514.  
  4515. GameTime.EnableSinglePlayerFixedTick 0
  4516. BFServer.MaxNumSoldierCorpses 10
  4517. ]=]
  4518.  
  4519. local onlineEnvironment = cmdLineOption('onlineEnvironment')
  4520. if onlineEnvironment then
  4521. onlineEnvironment = string.lower(onlineEnvironment)
  4522. if onlineEnvironment == "dev" then
  4523. applySettings [=[
  4524. Online.Environment OnlineEnvironment_Development
  4525. ]=]
  4526. elseif onlineEnvironment == "test" then
  4527. applySettings [=[
  4528. Online.Environment OnlineEnvironment_Test
  4529. ]=]
  4530. elseif onlineEnvironment == "cert" then
  4531. applySettings [=[
  4532. Online.Environment OnlineEnvironment_Certification
  4533. ]=]
  4534. end
  4535. end
  4536.  
  4537. local onlineService = cmdLineOption('onlineService')
  4538. if onlineService then
  4539. onlineService = string.lower(onlineService)
  4540. if onlineService ~= "default" then
  4541. local blazeServiceName = "battlefield-4-pc-" .. onlineService
  4542.  
  4543. Online.ServiceNameOverride = blazeServiceName
  4544. VeniceOnline.ServiceNameOverride = blazeServiceName
  4545. end
  4546. end
  4547.  
  4548. local webEndpoint = cmdLineOption('webEndpoint')
  4549. if webEndpoint then
  4550. webEndpoint = string.lower(webEndpoint)
  4551. local webEndpointDomain = "https://" .. webEndpoint .. ".battlelog.com"
  4552. if string.find(webEndpoint, ".battlelog") then
  4553. webEndpointDomain = "https://" .. webEndpoint .. ".battlefield.com"
  4554. end
  4555.  
  4556. Online.BattlelogApiUrl = webEndpointDomain
  4557. VeniceOnline.BattlelogApiUrl = webEndpointDomain
  4558. end
  4559.  
  4560. local webMode = commandLine:lookup("webmode")
  4561. if webMode then
  4562. webMode = string.lower(webMode)
  4563. end
  4564.  
  4565. if webMode == "sp" then
  4566. applySettings [=[
  4567. Client.SkipFastLevelLoad 1
  4568. # HACK: Workaround until VeniceOnline settings are put in the proper DDF settings namespace
  4569. Online.EnableSnowroller 1
  4570. VeniceOnline.EnableSnowroller 1
  4571. Window.Minimized 1
  4572. ]=]
  4573.  
  4574. elseif webMode == "spoffline" then
  4575. applySettings [=[
  4576. Game.Level Levels/FrontEnd/FrontEnd
  4577. ]=]
  4578.  
  4579. elseif webMode == "mp" then
  4580. applySettings [=[
  4581. Client.SkipFastLevelLoad 1
  4582. # HACK: Workaround until VeniceOnline settings are put in the proper DDF settings namespace
  4583. Online.EnableSnowroller 1
  4584. VeniceOnline.EnableSnowroller 1
  4585. Window.Minimized 1
  4586. ]=]
  4587.  
  4588. else
  4589. webMode = nil
  4590.  
  4591. applySettings [=[
  4592. Online.ForceOnline false
  4593. Blaze.ForceDirectLogin false
  4594. # Blaze.ClientAutoAccountCreation should already be set to true
  4595. ]=]
  4596. end
  4597.  
  4598. -- Common webMode options.
  4599. if webMode then
  4600. applySettings [=[
  4601. Core.DisplayAsserts 0
  4602. VeniceOnline.EnableQoS false
  4603. Origin.Enabled true
  4604. Origin.AutoLogin false
  4605. ]=]
  4606. end
  4607. end
  4608.  
  4609. if platform == 'Gen4a' or platform == 'Gen4b' then
  4610. applySettings [=[
  4611.  
  4612. # Settings copied from UserOptions, ideally should just run the UserOptions instead
  4613.  
  4614. Texture.SkipMipmapCount 0
  4615. TextureStreaming.PoolSize 800000
  4616. TextureStreaming.OnDemandPoolSize 16000
  4617.  
  4618. TerrainStreaming.HeightfieldAtlasSampleCountXFactor 1
  4619. TerrainStreaming.HeightfieldAtlasSampleCountYFactor 2
  4620. TerrainStreaming.MaskAtlasSampleCountXFactor 1
  4621. TerrainStreaming.MaskAtlasSampleCountYFactor 2
  4622. TerrainStreaming.ColorAtlasSampleCountXFactor 1
  4623. TerrainStreaming.ColorAtlasSampleCountYFactor 2
  4624. VisualTerrain.TextureAtlasSampleCountXFactor 1
  4625. VisualTerrain.TextureAtlasSampleCountYFactor 2
  4626. VisualTerrain.TextureRenderJobCount 4
  4627. VisualTerrain.TextureRenderJobsLaunchedPerFrameCountMax 4
  4628. #VisualTerrain.Decal3dFarDrawDistanceScaleFactor 1.7
  4629. VisualTerrain.TextureDirtyNodeCapacity 256
  4630.  
  4631. VisualTerrain.VertexBufferHeightsEnable 0
  4632. VisualTerrain.DxDisplacementMappingEnable 0
  4633. VisualTerrain.DxTessellatedTriWidth 12
  4634. VisualTerrain.MeshScatteringBuildChannelCount 4
  4635. VisualTerrain.MeshScatteringBuildChannelsLaunchedPerFrameCountMax 4
  4636. #VisualTerrain.MeshScatteringDistanceScaleFactor 1.7
  4637. #VisualTerrain.MeshScatteringInstancesPerCellMax 4096
  4638. VisualTerrain.MeshScatteringQualityLevel QualityLevel_High
  4639.  
  4640. VisualTerrain.TextureRenderJobCount 2
  4641. VisualTerrain.TextureRenderJobsLaunchedPerFrameCountMax 2
  4642.  
  4643.  
  4644. # disable by defualt due to the fixed cost, enable when it cna skip tiles
  4645. WorldRender.LightTileCsPathEnable 0
  4646.  
  4647. WorldRender.CullScreenAreaScale 1.75
  4648. Mesh.GlobalLodScale 1.5
  4649. Mesh.ShadowDistanceScale 1.5
  4650.  
  4651. MeshStreaming.PoolSize 250000
  4652. Mesh.CastSunShadowQualityLevel High
  4653. Mesh.CastDynamicEnvmapQualityLevel High
  4654. Mesh.CastPlanarReflectionQualityLevel High
  4655. #VegetationSystem.UseShadowLodOffset 0
  4656. #VegetationSystem.MaxActiveDistance 300
  4657. #VegetationSystem.MaxPreSimsPerJob 4
  4658. VegetationSystem.SimulationMemKbClient 4096
  4659. #Render.EdgeModelViewDistance 100
  4660.  
  4661. WorldRender.SpotLightsAsConeLightsLevel QualityLevel_Medium
  4662. WorldRender.SpotLightShadomapLevel QualityLevel_High
  4663. EffectSystem.EffectQualityLevel QualityLevel_High
  4664. EmitterSystem.EmitterQualityLevel QualityLevel_High
  4665. EmitterSystem.QuadHalfResEnable 1
  4666. EmitterSystem.QuadMaxCount 16000
  4667. EmitterSystem.MeshMaxCount 8000
  4668. EmitterSystem.CollisionRayCastMaxCount 50
  4669. EmitterSystem.ProximityPhysicsEntitiesMaxCount 20
  4670.  
  4671.  
  4672. DynamicTextureAtlas.EmitterBaseWidth 8192
  4673. DynamicTextureAtlas.EmitterBaseHeight 8192
  4674. DynamicTextureAtlas.EmitterBaseMipmapCount 6
  4675. DynamicTextureAtlas.EmitterBaseSkipmipsCount 0
  4676. DynamicTextureAtlas.EmitterNormalWidth 2048
  4677. DynamicTextureAtlas.EmitterNormalHeight 2048
  4678. DynamicTextureAtlas.EmitterNormalMipmapCount 4
  4679. DynamicTextureAtlas.EmitterNormalSkipmipsCount 0
  4680.  
  4681. # Shadow
  4682. WorldRender.ShadowmapViewDistance 140
  4683. WorldRender.ShadowmapResolution 896
  4684. WorldRender.ShadowmapSliceCount 4
  4685. WorldRender.ShadowmapQuality QualityLevel_Medium
  4686. WorldRender.TransparencyShadowmapsEnable 1
  4687. WorldRender.SpotLightShadowmapLevel QualityLevel_Medium
  4688.  
  4689. WorldRender.PostProcessAntialiasingMode PostProcessAAMode_FxaaHigh
  4690. WorldRender.MotionBlurEnable 1
  4691. WorldRender.PlanarReflectionEnable 1
  4692. WorldRender.DistortionEnable 1
  4693. WorldRender.DynamicEnvmapEnable 0
  4694. WorldRender.SkyEnvmapResolution 256
  4695. WorldRender.DynamicEnvmapResolution 256
  4696.  
  4697. PostProcess.DynamicAOEnable 1
  4698. #PostProcess.DynamicAOMethod DynamicAOMethod_HBAO
  4699. PostProcess.DynamicAOMethod DynamicAOMethod_SSAO
  4700.  
  4701. # should test with SSSSS enabled! http://dice-jira.dice.ad.ea.com:8080/browse/FB-20859
  4702. WorldRender.SubSurfaceScatteringEnable 0
  4703.  
  4704.  
  4705. # Due to differences in codecs and data sizes on Gen4 compared to Gen3 this needs to be quite big
  4706. Audio.DataManagerCacheSize 104857600
  4707. Audio.DelayLineAllocSize 5242880
  4708.  
  4709. Audio.AudioCoreSystemJobsEnabled 1
  4710. Audio.AudioCoreWatchDogThreadEnabled 1
  4711. Audio.AudioCoreMiniumMixAhead 0.016
  4712. Audio.AudioCoreTargetMixAhead 0.073
  4713.  
  4714. Client.SampleInputEveryVisualFrame true
  4715.  
  4716. # Allow fixing of singleplayer framerate only < 30 fps
  4717. GameTime.EnableSinglePlayerFixedTick 1
  4718.  
  4719. # Disable animation if smaller than this many pixels
  4720. Ant.AutoCullPixelSize 10
  4721.  
  4722. BFServer.MaxNumSoldierCorpses 10
  4723. GameTime.DoubleNoTickWait 0
  4724.  
  4725. // TEMPORARY CHANGE FOR GEN4 PRE-CERT. NOT FOR THE FINAL BUILDS
  4726. Online.Environment OnlineEnvironment_Test
  4727. ]=]
  4728. end
  4729.  
  4730. if platform == 'Gen4a' then
  4731. applySettings [=[
  4732.  
  4733. # run at 720p
  4734. Render.ResolutionScale 0.6667
  4735.  
  4736. # GEN4_TODO temporarily disabled VSync
  4737. # Client.VSyncEnable 1
  4738.  
  4739. ]=]
  4740. end
  4741.  
  4742. if platform == 'Gen4b' then
  4743. applySettings [=[
  4744.  
  4745. # run at 1600x900p
  4746. Render.ResolutionScale 0.83333333
  4747.  
  4748. #Client.VSyncEnable 1
  4749.  
  4750. ]=]
  4751. end
  4752.  
  4753.  
  4754. if platform == 'Ps3' or platform == 'Xenon' then
  4755. applySettings [=[
  4756.  
  4757. Client.VSyncEnable 1
  4758.  
  4759. Ant.MaxInterpolationSlots 32
  4760.  
  4761. Audio.AudioCoreSystemJobsEnabled 1
  4762. Audio.AudioCoreWatchDogThreadEnabled 1
  4763. Audio.AudioCoreMiniumMixAhead 0.016
  4764. Audio.AudioCoreTargetMixAhead 0.073
  4765.  
  4766. Audio.DelayLineAllocSize 1179648
  4767.  
  4768. # saves 10 mb of memory on xenon
  4769. UI.ScreenshotEnable 0
  4770.  
  4771. Decal.RingBufferMaxVertexCount 8192
  4772. Decal.StaticBufferMaxVertexCount 16384
  4773.  
  4774. MeshStreaming.MaxPendingLoadCount 2
  4775. TextureStreaming.MaxPendingLoadCount 4
  4776. TextureStreaming.MaxMipmapCount 13
  4777. TextureStreaming.DefragFrameTransferLimit 1500
  4778.  
  4779. TerrainStreaming.ActiveFreeStreamingDataLoadJobCount 1
  4780.  
  4781. Network.MaxClientCount 26
  4782. Game.MaxSpectatorCount 0
  4783.  
  4784.  
  4785. WorldRender.SpotLightShadowmapEnable 1
  4786. WorldRender.SpotLightShadowmapResolution 512
  4787. WorldRender.SpotLightShadowmapLevel QualityLevel_Low
  4788.  
  4789. WorldRender.PlanarReflectionEnable 0
  4790. WorldRender.DynamicEnvmapEnable 0
  4791. Enlighten.CubeMapsEnable 0
  4792.  
  4793. DynamicTextureAtlas.EmitterBaseWidth 2048
  4794. DynamicTextureAtlas.EmitterBaseHeight 2048
  4795. DynamicTextureAtlas.EmitterBaseMipmapCount 4
  4796. DynamicTextureAtlas.EmitterNormalWidth 128
  4797. DynamicTextureAtlas.EmitterNormalHeight 128
  4798. DynamicTextureAtlas.EmitterNormalMipmapCount 1
  4799.  
  4800. VisualTerrain.LodScale 0.5
  4801. VisualTerrain.TextureLevelOffset 2
  4802. VisualTerrain.TextureSamplesPerMeterMax 16
  4803.  
  4804. DebrisSystem.DebrisPoolSize 512
  4805.  
  4806. WaterInteract.WaterQualityLevel QualityLevel_Low
  4807.  
  4808. Minimap.MipBias 1.0
  4809.  
  4810. GameTime.EnableSinglePlayerFixedTick 1
  4811.  
  4812. # Disable animation if smaller than this many pixels
  4813. Ant.AutoCullPixelSize 30
  4814.  
  4815. PostProcess.IronsightsDofEnable 0
  4816.  
  4817. BFServer.MaxNumSoldierCorpses 5
  4818. ]=]
  4819. end
  4820.  
  4821. if platform == 'Ps3' then
  4822. applySettings [=[
  4823.  
  4824. TextureStreaming.PoolSize 40000
  4825. TextureStreaming.OnDemandPoolSize 2000
  4826. MeshStreaming.PoolSize 50000
  4827. MeshStreaming.Ps3CellPoolSize 18000
  4828.  
  4829. VegetationSystem.MaxActiveDistance 100
  4830.  
  4831. Occlusion.MaxTriangleCount 5000
  4832.  
  4833. Audio.DataManagerCacheSize 8925184
  4834. Audio.DataManagerCacheRsxSize 20971520
  4835.  
  4836. # ShaderSystem.FrameMemoryBufferSize 3670016
  4837. ShaderSystem.FrameMemoryBufferSize 5000000
  4838.  
  4839. Render.Ps3FrameLocalBufferSize 5242880
  4840. Render.Ps3FrameMainBufferSize 5242880
  4841. PostProcess.Ps3EdgeMlaaEnable 1
  4842.  
  4843. Render.Ps3Res1280x704Enable 1
  4844.  
  4845. VisualTerrain.MeshScatteringInstanceOcclusionCullEnable 1
  4846.  
  4847. EmitterSystem.UpdateJobEnable false
  4848. EmitterSystem.ScreenAreaCullingStart 0.2
  4849. EmitterSystem.ScreenAreaCullingEnd 1.2
  4850. ]=]
  4851.  
  4852. local superbundles = cmdLineOption('super')
  4853. if not superbundles then
  4854. applySettings [=[
  4855. # Enable DVD emulation when running from Avalanche.
  4856. Core.HttpDvdSimulation 1
  4857. Core.HttpDvdSeekPenalty 120
  4858. # Assume texture/mesh chunks are located on HDD. This disables DVD simulation seek penalties for them.
  4859. TurboLoader.EmulateChunksOnHdd 2
  4860. ]=]
  4861. end
  4862. end
  4863.  
  4864. if platform == 'Xenon' then
  4865. applySettings [=[
  4866.  
  4867. # use larger pool on Xenon due to more padding in textures caused by tile restrictions
  4868. DestructionVolume.TexturePoolSize 524416
  4869. DestructionVolume.TexturePoolHeadroomSize 32768
  4870.  
  4871. Render.XenonRingBufferSize 2621440
  4872.  
  4873. VegetationSystem.MaxActiveDistance 100
  4874.  
  4875. TextureStreaming.PoolSize 65000
  4876. TextureStreaming.OnDemandPoolSize 2000
  4877. MeshStreaming.PoolSize 40000
  4878.  
  4879. MeshStreaming.XenonFinalPoolSizeAdjustment 0
  4880. MeshStreaming.XenonRetailPoolSizeAdjustment 0
  4881. TextureStreaming.XenonFinalPoolSizeAdjustment 0
  4882. TextureStreaming.XenonRetailPoolSizeAdjustment 5000
  4883.  
  4884. Occlusion.MaxTriangleCount 5000
  4885.  
  4886. Audio.DataManagerCacheSize 26214400
  4887.  
  4888. ShaderSystem.FrameMemoryBufferSize 6000000
  4889. ShaderSystem.XenonDispatchCmdBufferSize 1048576
  4890.  
  4891. WorldRender.FastHdrEnable true
  4892.  
  4893. VisualTerrain.VertexBufferHeightsEnable 0
  4894.  
  4895. PostProcess.LUTGammaR 1.3
  4896. PostProcess.LUTGammaG 1.3
  4897. PostProcess.LUTGammaB 1.3
  4898. PostProcess.LUTGammaCurbOffset 0.1
  4899.  
  4900. ]=]
  4901.  
  4902. local superbundles = cmdLineOption('super')
  4903. if superbundles then
  4904. applySettings [=[
  4905. #temporary disable all free streaming on xbox until the hd install flow is finished, that way we can still create the hd superbundle and thus make sure to fit on disc
  4906. #Game.ForceDisableFreeStreaming true
  4907. ]=]
  4908. else
  4909. applySettings [=[
  4910. # Enable DVD emulation when running from Avalanche.
  4911. Core.HttpDvdSimulation 1
  4912. Core.HttpDvdSeekPenalty 120
  4913. # Assume texture/mesh chunks are located on HDD. This disables DVD simulation seek penalties for them.
  4914. TurboLoader.EmulateChunksOnHdd 2
  4915. ]=]
  4916. end
  4917. end
  4918.  
  4919.  
  4920. local level = cmdLineOption('level')
  4921. if level then
  4922. log:debug("Level specified on commandline, enabling fast startup")
  4923.  
  4924. -- Level names without slashes are assumed to be shorthand for
  4925. -- Levels/name/name to go with Venice's epic level naming convention
  4926. if not string.find(level, "/") then
  4927. level = "Levels/" .. level .. "/" .. level
  4928. end
  4929.  
  4930. Game.Level = level
  4931. end
  4932.  
  4933. local dedicatedServer = cmdLineOption('dedicated')
  4934. if dedicatedServer then
  4935. if gamePlatform == 'win32' then
  4936. applySettings [=[
  4937. Server.QueryProviderEnabled true
  4938. ]=]
  4939. end
  4940. if gamePlatform == 'ps3' or gamePlatform == 'xenon' then
  4941. applySettings [=[
  4942. Network.MaxClientCount 26
  4943. Game.MaxSpectatorCount 0
  4944. ]=]
  4945. end
  4946. applySettings [=[
  4947. Server.ThreadingEnable false
  4948. Ant.EnableJobs false
  4949. GameAnimation.ServerEnable false
  4950.  
  4951. ServerMetrics.Enabled false
  4952. ServerMetrics.TransactionTelemetryEnabled true
  4953.  
  4954. ServerMetrics.PerformanceTelemetryEnabled true
  4955. ServerMetrics.PerformanceProfileStateEnabled true
  4956. ]=]
  4957.  
  4958. local level = cmdLineOption('level')
  4959. if not level then
  4960. applySettings [=[
  4961. #HACK: We need to set a level that always exists on the server, unfortunatley there is no such level so we just pick MP_Siege...z
  4962. Game.Level Levels/MP/MP_Siege/MP_Siege
  4963. Game.DefaultLayerInclusion GameMode=ConquestSmall0
  4964. ]=]
  4965. end
  4966.  
  4967. local protocolVersionCmd = cmdLineOption('protocolVersion')
  4968. if protocolVersionCmd then
  4969. Network.ProtocolVersion = protocolVersionCmd
  4970. end
  4971. end
  4972.  
  4973. local battlelog = cmdLineOption('battlelogURL')
  4974. if battlelog then
  4975. Online.BattlelogReportURL = battlelog
  4976. VeniceOnline.BattlelogReportURL = battlelog
  4977. end
  4978.  
  4979. local startPoint = cmdLineOption('startpoint')
  4980. if startPoint then
  4981. Game.StartPoint = startPoint
  4982. end
  4983.  
  4984. if Game.StartPoint and (string.find(Game.StartPoint, "E3_") or string.find(Game.StartPoint, "E3 ")) then
  4985. applySettings [=[
  4986. VeniceUI.PlatformOverride xenon
  4987. Vehicle.UpsideDownDamage false
  4988. ]=]
  4989. end
  4990. ‚$file †name Scripts/Gen4aGame.cfg payload ^-url http://10.20.104.225:1338 -host 10.20.104.225 -hostUser dicemonkey -hostUserDomain DICE
  4991. ‚$file †name Scripts/Gen4bGame.cfg payload ^-url http://10.20.104.225:1338 -host 10.20.104.225 -hostUser dicemonkey -hostUserDomain DICE
  4992. ‚¸$file ®name Scripts/Local.cfg payload ‰// Try and not add things to game.cfg if it's not meant to be checked in!
  4993. // Add here settings that you would like to override
  4994.  
  4995.  
  4996. //
  4997. ‚ý$file óname Scripts/LocalE3Win32.cfg payload ÇClient.DrawFps 0
  4998. ShaderSystem.DrawStats 0
  4999. Client.DrawObjectLimits 0
  5000. Core.DisplayAsserts 0
  5001. Window.Fullscreen 1
  5002. Core.MemoryStatsEnabled 0
  5003.  
  5004. -- Should be on for SP Levels
  5005. -- GameTime.ForceDeltaTickCount 1
  5006.  
  5007. -- Uncomment line below to remove all logging and prevent harmful log spam during MP test
  5008. -- Core.LogLevel CllFatalAssert
  5009.  
  5010.  
  5011.  
  5012. -- In case of emergency
  5013.  
  5014. -- WorldRender.TransparencyShadowmapsEnable 1
  5015. -- WorldRender.ShadowmapViewDistance 200
  5016. -- WorldRender.ShadowmapResolution 2048
  5017. -- WorldRender.ShadowmapQuality 1
  5018. -- WorldRender.ShadowmapViewDistance 100
  5019. -- WorldRender.FxaaEnable 1
  5020. -- WorldRender.MotionBlurEnable 1
  5021. -- PostProcess.DynamicAOEnable 1
  5022.  
  5023. -- WorldRender.MultisampleCount 4
  5024. ‚ø$file îname Scripts/LocalEditor.cfg payload Ã// Try and not add things to game.cfg if it's not meant to be checked in!
  5025. // Add here settings that you would like to override
  5026. // This file is executed when Frostbite is launched from FrostEd
  5027. ‚‹$file name Scripts/LocalGame.cfg payload Ø// Try and not add things to game.cfg if it's not meant to be checked in!
  5028. // Add here settings that you would like to override
  5029. // This file is executed when Frostbite is executed separately (i.e not from FrostEd)
  5030. ‚°$file ¦name Scripts/PlaytestCommon.cfg payload øclient-matchmaking-map0 paris_line2
  5031. client-matchmaking-map1 mp_berlin
  5032. blaze-server-state-change-logging true
  5033.  
  5034. ShaderSystem.Dx10DelayedShaderLoadingEnable false
  5035.  
  5036. Game.Level Levels/GarrisonTest/GarrisonTest
  5037.  
  5038. Game.HasUnlimitedMags false
  5039.  
  5040. Core.EnableJuice true
  5041. Core.EnableBitstreamTypeVerification false
  5042. Core.JuiceUserType jutDev
  5043. Core.AssertLimit 5
  5044.  
  5045. Client.IsPresenceEnabled true
  5046. Client.SecondaryServerIp 10.20.102.69
  5047. Client.MemoryStatsEnabled false
  5048. Server.IsPresenceEnabled false
  5049.  
  5050. //Client.LoadingTimeout 240
  5051. //Client.LoadedTimeout 60
  5052. //Client.IngameTimeout 15
  5053. //Server.IngameTimeout 30
  5054. //Server.LoadingTimeout 60
  5055.  
  5056. // Internet simulation (only active in multiplayer)
  5057. Client.MinLatency 0.1
  5058. Client.MaxLatency 0.1
  5059.  
  5060. RenderDevice.NvidiaMinDriverRequired false
  5061.  
  5062. // Online.MatchmakeImmediately true
  5063. // Online.MatchmakingToken fooo
  5064. Online.BlazeWalUrl 10.20.102.120:1246
  5065. Online.EnableSnowroller true
  5066. Online.SnowrollerOrphanTimeout 10
  5067.  
  5068. LanServerBackend.fakeStatsDownload true
  5069. blaze-offline-notification true
  5070.  
  5071. // Game.EnableSurveys true
  5072.  
  5073. // Client.IncomingRate 512000
  5074. // Server.OutgoingRate 512000
  5075.  
  5076. Client.IncomingRate 150000
  5077. Server.OutgoingRate 150000
  5078. Network.TimeNudgeGhostFrequencyFactor 0
  5079.  
  5080. Network.UseFrameManager true
  5081. // Network.MaxServerFrameSize 4096
  5082. Network.MaxServerFrameSize 2048
  5083. // Physics.SingleStepCharacter false
  5084.  
  5085. // Window.Fullscreen true
  5086. Window.FullscreenAutosize true
  5087.  
  5088. UIScreenshotComp.SceenshotInfos bighead,558,11,743,195,40,40;smallhead,558,11,743,195,18,18;smallupper,430,0,894,464,122,106;home_my_soldier,141,14,396,236,210,187;bigupper,430,0,894,464,290,252;full,362,0,902,800,250,371;
  5089.  
  5090.  
  5091. // Player.zeroRespawnTimeOnSuicide true
  5092.  
  5093. FragalyzerRecorder.StartAutoTrackOnSquadCreate true
  5094.  
  5095. DebugRender.TextQueueMaxLineCount 3
  5096.  
  5097. Player.ignoreLevelWarmUpTimers true
  5098.  
  5099. Core.HardwareCpuBias -1
  5100. Core.HardwareGpuBias -0.5
  5101.  
  5102. Network.TimeNudgeBias 0.05
  5103.  
  5104. Core.DialogLevel 9
  5105.  
  5106. UIScreenshotComp.ScreenshotInfos bighead,558,11,743,195,40,40;smallhead,558,11,743,195,18,18;smallupper,430,0,894,464,122,106;home_my_soldier,141,14,396,236,210,187;bigupper,430,0,894,464,290,252;full,362,0,902,800,250,371;
  5107.  
  5108. Core.Heartbeat true
  5109. Core.HeartbeatInterval 30
  5110.  
  5111. // for when using the beta.venice.dice.se site
  5112. // Server.BlazeServiceName bf3-beta-2009-pc
  5113.  
  5114. // newline
  5115. ‚Ì$file Âname Scripts/PlaytestLocal.cfg payload •Game.HasUnlimitedMags true
  5116. Explosion.TriggerMaskVolumes true
  5117. Ant.ForceLodDistance 0
  5118. SoldierTest.spawnEnabled true
  5119. SoldierTest.scriptsEnabled true ‚õ $file ë name Scripts/PlaytestServer.cfg payload ½ //Server Level
  5120. #Game.Level Levels/Level_01/Level_01
  5121. Game.Level Levels/Level_02/Level_02
  5122. #Game.Level Levels/Level_03/Level_03
  5123. #Game.Level Levels/Level_04/Level_04
  5124. #Game.Level Levels/Level_05/Level_05
  5125. #Game.Level Levels/Level_06/Level_06
  5126. Game.Level Levels/Testrange_Rome_MP05/Testrange_Rome_MP05
  5127.  
  5128. //Game mode (16/64 player)
  5129. #Game.DefaultLayerInclusion StartupMode=Game;GameMode=ConquestSmall
  5130. Game.DefaultLayerInclusion StartupMode=Game;GameMode=KingOfTheHill
  5131. #Game.DefaultLayerInclusion StartupMode=Game;GameMode=ConquestLarge
  5132.  
  5133. Network.MaxClientCount 24
  5134. GameSettings.MaxPlayerCount 24
  5135.  
  5136. Server.IsPresenceEnabled true
  5137. Server.QueryPortOffset 100
  5138. Core.DisplayAsserts false
  5139. CrashDump.WarnBeforeDoingMemoryDump false
  5140.  
  5141. // Allow players to spawn even if server blaze connection is down
  5142. Server.statisticsFallback true
  5143.  
  5144. ServerMetrics.Enabled true
  5145. ServerMetrics.PerformanceProfileStateEnabled true
  5146. ServerMetrics.PerformanceTelemetryEnabled true
  5147.  
  5148. // Internet simulation (only active in multiplayer)
  5149. Server.MinLatency 0.1
  5150. Server.MaxLatency 0.1
  5151.  
  5152. Demo.RecordDemoFilename demo/PlaytestRecording0
  5153. Demo.AllowOverwrite false
  5154.  
  5155. GameReport.DebugOutput true
  5156.  
  5157. # Server.Playlist Level_01_only
  5158. Server.forcePlaylist false
  5159. Server.forceStartMapOnLoad false
  5160. Game.DisablePreRound false
  5161.  
  5162. # SoldierTest.spawnEnabled true
  5163. # SoldierTest.scriptsEnabled true
  5164.  
  5165. // Just to remember the newline ‚$file …name Scripts/ProtocolVersion.cfg payload WNetwork.Version "V0.74"
  5166. Network.ProtocolVersion 74
  5167. ‚Ž$file „name Scripts/PS3Game.cfg payload ^-url http://10.20.104.225:1338 -host 10.20.104.225 -hostUser dicemonkey -hostUserDomain DICE
  5168. ‚Î$file Äname Scripts/Server.Gen4a.cfg payload ˜-super layout.toc
  5169. -server
  5170. -dedicated
  5171.  
  5172. -platform gen4a
  5173.  
  5174. -Core.DisplayAsserts false
  5175. -Core.IgnoreAlways true
  5176.  
  5177. -Core.EnableJuice false
  5178.  
  5179. -CrashDump.WarnBeforeDoingMemoryDump false
  5180.  
  5181. -Game.CloseDuplicateApps 0
  5182.  
  5183. -ServerMetrics.Enabled 0
  5184. -ServerMetrics.TransactionTelemetryEnabled 1
  5185. -ServerMetrics.PerformanceTelemetryEnabled 1
  5186. -ServerMetrics.PerformanceProfileStateEnabled 1
  5187.  
  5188. -TransactionLog.OutputLevel 1
  5189.  
  5190. -ServerMetrics.DbxReportEnabled 0
  5191.  
  5192. -VeniceOnline.QueueCapacityOverride 0
  5193.  
  5194. -Client.LoadingTimeOut 10
  5195. -Client.LoadedTimeOut 10
  5196. -Client.IngameTimeOut 10
  5197. -Server.IngameTimeOut 10
  5198. -Server.LoadingTimeOut 10
  5199.  
  5200. -Server.IsReconfigurable true
  5201. ‚Î$file Äname Scripts/Server.Gen4b.cfg payload ˜-super layout.toc
  5202. -server
  5203. -dedicated
  5204.  
  5205. -platform gen4b
  5206.  
  5207. -Core.DisplayAsserts false
  5208. -Core.IgnoreAlways true
  5209.  
  5210. -Core.EnableJuice false
  5211.  
  5212. -CrashDump.WarnBeforeDoingMemoryDump false
  5213.  
  5214. -Game.CloseDuplicateApps 0
  5215.  
  5216. -ServerMetrics.Enabled 0
  5217. -ServerMetrics.TransactionTelemetryEnabled 1
  5218. -ServerMetrics.PerformanceTelemetryEnabled 1
  5219. -ServerMetrics.PerformanceProfileStateEnabled 1
  5220.  
  5221. -TransactionLog.OutputLevel 1
  5222.  
  5223. -ServerMetrics.DbxReportEnabled 0
  5224.  
  5225. -VeniceOnline.QueueCapacityOverride 0
  5226.  
  5227. -Client.LoadingTimeOut 10
  5228. -Client.LoadedTimeOut 10
  5229. -Client.IngameTimeOut 10
  5230. -Server.IngameTimeOut 10
  5231. -Server.LoadingTimeOut 10
  5232.  
  5233. -Server.IsReconfigurable true
  5234. ‚Ê$file Àname Scripts/Server.PS3.cfg payload –-super layout.toc
  5235. -server
  5236. -dedicated
  5237.  
  5238. -platform ps3
  5239.  
  5240. -Core.DisplayAsserts false
  5241. -Core.IgnoreAlways true
  5242.  
  5243. -Core.EnableJuice false
  5244.  
  5245. -CrashDump.WarnBeforeDoingMemoryDump false
  5246.  
  5247. -Game.CloseDuplicateApps 0
  5248.  
  5249. -ServerMetrics.Enabled 0
  5250. -ServerMetrics.TransactionTelemetryEnabled 1
  5251. -ServerMetrics.PerformanceTelemetryEnabled 1
  5252. -ServerMetrics.PerformanceProfileStateEnabled 1
  5253.  
  5254. -TransactionLog.OutputLevel 1
  5255.  
  5256. -ServerMetrics.DbxReportEnabled 0
  5257.  
  5258. -VeniceOnline.QueueCapacityOverride 0
  5259.  
  5260. -Client.LoadingTimeOut 10
  5261. -Client.LoadedTimeOut 10
  5262. -Client.IngameTimeOut 10
  5263. -Server.IngameTimeOut 10
  5264. -Server.LoadingTimeOut 10
  5265.  
  5266. -Server.IsReconfigurable true
  5267. ‚“$file ‰name Scripts/Server.Win32.cfg payload Ý-super layout.toc
  5268. -server
  5269. -dedicated
  5270.  
  5271. -Core.DisplayAsserts false
  5272. -Core.IgnoreAlways true
  5273.  
  5274. -Core.EnableJuice false
  5275.  
  5276. -CrashDump.WarnBeforeDoingMemoryDump false
  5277.  
  5278. -Game.CloseDuplicateApps 0
  5279.  
  5280. -ServerMetrics.Enabled 0
  5281. -ServerMetrics.TransactionTelemetryEnabled 1
  5282. -ServerMetrics.PerformanceTelemetryEnabled 1
  5283. -ServerMetrics.PerformanceProfileStateEnabled 1
  5284.  
  5285. -TransactionLog.OutputLevel 1
  5286.  
  5287. -ServerMetrics.DbxReportEnabled 0
  5288.  
  5289. -VeniceOnline.QueueCapacityOverride 0
  5290.  
  5291. -Client.LoadingTimeOut 10
  5292. -Client.LoadedTimeOut 10
  5293. -Client.IngameTimeOut 10
  5294. -Server.IngameTimeOut 10
  5295. -Server.LoadingTimeOut 10
  5296.  
  5297. -Server.IsReconfigurable false
  5298.  
  5299. -VeniceOnline.PunkBusterActivateServer true
  5300.  
  5301. -BFServer.TeamSwitchImbalanceLimit 4
  5302. ‚Î$file Äname Scripts/Server.Xenon.cfg payload ˜-super layout.toc
  5303. -server
  5304. -dedicated
  5305.  
  5306. -platform xenon
  5307.  
  5308. -Core.DisplayAsserts false
  5309. -Core.IgnoreAlways true
  5310.  
  5311. -Core.EnableJuice false
  5312.  
  5313. -CrashDump.WarnBeforeDoingMemoryDump false
  5314.  
  5315. -Game.CloseDuplicateApps 0
  5316.  
  5317. -ServerMetrics.Enabled 0
  5318. -ServerMetrics.TransactionTelemetryEnabled 1
  5319. -ServerMetrics.PerformanceTelemetryEnabled 1
  5320. -ServerMetrics.PerformanceProfileStateEnabled 1
  5321.  
  5322. -TransactionLog.OutputLevel 1
  5323.  
  5324. -ServerMetrics.DbxReportEnabled 0
  5325.  
  5326. -VeniceOnline.QueueCapacityOverride 0
  5327.  
  5328. -Client.LoadingTimeOut 10
  5329. -Client.LoadedTimeOut 10
  5330. -Client.IngameTimeOut 10
  5331. -Server.IngameTimeOut 10
  5332. -Server.LoadingTimeOut 10
  5333.  
  5334. -Server.IsReconfigurable true
  5335. ‚’$file ˆname Scripts/TestLevel.cfg payload ßGame.FastStartupEnable true
  5336. Game.Level ../EditorLevels/TestLevel
  5337. Server.IsAiEnabled false
  5338. Server.IsGodMode true
  5339. UI.HudEnable false
  5340. ‚ö=$file ì=name Scripts/WarsawAILocalGame.cfg payload »=--
  5341. -- Helper config file which could be useful generally, but is right now targeted at Warsaw AI developers.
  5342. -- Example localgame.cfg
  5343. --
  5344. -----------------------------------------------
  5345. --#!/bin/lua
  5346. --
  5347. --cfg = {
  5348. -- level = 'airf,beach', -- format <level-substring>[,<startpoint-substring>]
  5349. --
  5350. -- remoteDesktop = 0,
  5351. -- aiDev = 1,
  5352. -- onlineDevelopment = 1,
  5353. -- scriptedPlaythrough = 0,
  5354. -- cheatAllUnlocks = 1,
  5355. --
  5356. -- extra = [=[
  5357. -- Game.IsGodMode 1
  5358. -- ]=]
  5359. --}
  5360. --
  5361. --cfgPs3 = {
  5362. -- noLogging = 1,
  5363. --
  5364. -- extra = [=[
  5365. -- ]=]
  5366. --}
  5367. --
  5368. --dofile("Scripts/WarsawAILocalGame.cfg")
  5369. -----------------------------------------------
  5370.  
  5371. -----------------------------------------------------------------
  5372.  
  5373. -- List of common levels and start points here. cfg.level will search throught
  5374. local levels = {
  5375. { 'Levels/SP/SP_Airfield/SP_Airfield', { 'Ocean', 'Beach_Landing', 'Park_Area', 'UnderWater_Scene', 'Office_Complex_flankers', 'Traffic_Bridge'} },
  5376. { 'Levels/SP/SP_Dam/SP_Dam', { "Level_Start","DamA_CityEntryEncounter","DamA_OuterCityReachEncounter","DamA_InnerCityReachEncounter","DamA_BridgeVistaScene","DamA_BridgeBattleEncounter","DamA_GetToEncampmentScene","DamB_MotorbikeRide","DamB_InfiltrateDam","DamB_InsideDam","DamB_DamBombPlacement","DamB_DamEscape","DamB_MudSlide","DamC_WashedUpEncounter","DamC_SquadRegroupScene","DamC_FloodedCityEncounter","DamC_RetakingTeAirfieldEncounter","DamC_LeavingTheCity"} },
  5377. { 'Levels/SP/SP_Shanghai/SP_Shanghai', { } },
  5378. { 'Levels/SP/SP_Prison/SP_Prison', {"A:_Torture_Scene","A:_Prison_Introduction","A:_Knife_Fight_Scene","A:_Dima_Walkthrough","A:_Gear_Up_Encounter","A:_Maintenance_Area_Encounter","A:_Cut_the_Power_Event","A:_Manual_Lock_Encounter","A:_Molotov_Encounter","B:_Prisoner_processing_room","A:_Return_to_Cellblock","B:_monitor_room","A:_Bohai_Assault","B:_torture_hallway","B:_empty_torture_hallway","B:_reception_tear_gas","B:_kitchen_explosion","B:_hanna_&_irish_torture_hall","B:_ventilation_exit","C:_Kitchen_Exit","C:_rappel_scene","C:_the_slide","C:_Helipad_reach","C:_tram_attack","C:_tram_defend","C:_Tram_Descent","C:_Tram_Crash"} },
  5379. { 'Levels/SP/SP_Naval/SP_Naval', {"Level_Start","NavalA_MedBay","NavalA_IrishMeeting","NavalA_GarrisonBriefing","NavalA_RHIB_Entry","NavalB_TitanEntryPoint","NavalB_SwimmingTutorial","NavalB_SurvivorsScene","NavalB_FloodedCorridor","NavalB_PRE_TiltedHangar","NavalB_POST_TiltedHangar","NavalB_HullScene","NavalB_IntelRoomScene","NavalB_IntelEncounter","NavalB_HullBreachEncounter","NavalC_Battle_TitanFlightDeckEncounterOne","NavalC_Battle_SeaBattle","NavalC_WellDeckEncounter","NavalC_MidDeckEncounter","NavalC_FlightDeckEncounterOne","NavalC_BridgeScene"} },
  5380. { 'Levels/SP/SP_Prologue/SP_Prologue', {"Construction_Site_Encounter", "Safe_House_scene"}},
  5381. { 'Levels/SP/SP_Journey/SP_Journey', {}},
  5382. { 'Levels/Test/Sp_Core_Design_Enemy_Archetypes/Sp_Core_Design_Enemy_Archetypes', { } },
  5383. { 'Levels/Test/Sp_Core_Design_Squad/Sp_Core_Design_Squad', { } },
  5384. { 'Levels/Test/Testrange_AI2/Testrange_AI2', { } },
  5385. { 'Levels/Test/Testrange_CannedAnimations/Testrange_CannedAnimations', { } },
  5386. { 'Levels/Test/Testrange_BugRepro/Testrange_BugRepro', {'WAR-3868' } },
  5387. { 'Levels/Test/AutoSmoke_AI/AutoSmoke_AI', { } },
  5388. { 'Levels/MP/MP_Siege/MP_Siege', { } },
  5389. { 'Levels/Test/Multiplayer_Reference/Multiplayer_Reference', { } },
  5390. { 'Levels/Test/SP_Core_Design_Scripting/SP_Core_Design_Scripting', {"Core_CoverSelection", "Core_SquadMovement"}},
  5391. { 'Levels/Test/Testrange_Cover/Testrange_Cover', { } },
  5392. { 'Levels/Test/Testrange_MPAnimation/Testrange_MPAnimation', { } },
  5393. }
  5394.  
  5395. -----------------------------------------------------------------
  5396.  
  5397. core = require "Frost.Core"
  5398.  
  5399. function applySettings(settings)
  5400. core.parseKeyValueCfgString(settings, _G)
  5401. end
  5402.  
  5403. local editorActive = false
  5404. local liveEditingEnable = commandLine:lookup("core.liveeditingenable")
  5405. if liveEditingEnable then
  5406. if liveEditingEnable == "1" or liveEditingEnable == "true" then
  5407. editorActive = true
  5408. end
  5409. end
  5410.  
  5411. local function nocaseRegex(s)
  5412. s = string.gsub(s, "%a", function (c)
  5413. return string.format("[%s%s]", string.lower(c),
  5414. string.upper(c))
  5415. end)
  5416. return s
  5417. end
  5418.  
  5419. -- Determine if a config value is true
  5420. local function cfgTrue(value)
  5421.  
  5422. if type(value) == type(true) then
  5423. return value
  5424. end
  5425.  
  5426. if value == nil then
  5427. return false
  5428. end
  5429. return (value ~= 0)
  5430. end
  5431.  
  5432.  
  5433. local function parseLevelAndStart(las)
  5434. local query = { '@', '@' }
  5435. local levelAndStart = { nil, nil }
  5436.  
  5437. if las == nil then
  5438. return levelAndStart
  5439. end
  5440.  
  5441. local i = 1
  5442.  
  5443. for token in las:gmatch("[^%s,]+") do
  5444. query[i] = nocaseRegex(token)
  5445. i = i + 1
  5446. end
  5447.  
  5448. for _, v in ipairs(levels) do
  5449. if nil ~= v[1]:match(query[1]) then
  5450. levelAndStart[1] = v[1]
  5451. for _, sv in ipairs(v[2]) do
  5452.  
  5453. if nil ~= sv:match(query[2]) then
  5454. levelAndStart[2] = sv
  5455. end
  5456. end
  5457. break
  5458. end
  5459. end
  5460. return levelAndStart
  5461.  
  5462. end
  5463.  
  5464. local function mergeTable(dst_table, src_table)
  5465. if src_table ~= nil then
  5466. extra = dst_table.extra
  5467. for k,v in pairs(src_table) do dst_table[k] = v end
  5468. dst_table.extra = extra .. src_table.extra
  5469. end
  5470. end
  5471.  
  5472.  
  5473. if platform == 'Ps3' then
  5474. mergeTable(cfg, cfgPs3)
  5475. end
  5476.  
  5477. if platform == 'Xenon' then
  5478. mergeTable(cfg, cfgXenon)
  5479. end
  5480.  
  5481. if platform == 'Win32' then
  5482. mergeTable(cfg, cfgWin32)
  5483. end
  5484.  
  5485. -------------------------------------------------------------------
  5486. -- cfg can be used below
  5487. -------------------------------------------------------------------
  5488.  
  5489. -- Don't set the level when starting from the editor
  5490. if editorActive == false then
  5491. local levelStartInfo = parseLevelAndStart(cfg.level)
  5492. if (levelStartInfo[1] ~= nil) then
  5493. applySettings(string.format("Game.Level %s", levelStartInfo[1]))
  5494. end
  5495. if (levelStartInfo[2] ~= nil) then
  5496. applySettings(string.format("Game.StartPoint %s", levelStartInfo[2]))
  5497. end
  5498. end
  5499.  
  5500. if cfgTrue(cfg.remoteDesktop) then
  5501. applySettings [=[
  5502. Window.Fullscreen 0
  5503. Window.Width 380
  5504. Window.Height 200
  5505. ]=]
  5506. end
  5507.  
  5508. if cfgTrue(cfg.aiDev) then
  5509. applySettings [=[
  5510. Client.PadRumbleEnabled 0
  5511.  
  5512. DebugMenu.AlwaysAllowModeToggle 1
  5513. Debug.TickGameByPressingT 1
  5514. DebugMenu.ToggleFreeFlying 1
  5515.  
  5516. Ai2.detailedTraceEnabled 1
  5517. Ai2.traceBufferSizePerFrameKb 60
  5518. Ai2.traceLengthSeconds 60
  5519. ant.RecordReplay 1
  5520. Ai2.drawSuppressionInfo 1
  5521. Ai2.drawPlayerDamage 1
  5522.  
  5523. #Min shelfade cl: 907708
  5524. #Sikta med i, k, l, j pa tangentbordet.
  5525. #Skjut med n, zooma med m.
  5526. ]=]
  5527. if cfgTrue(cfg.hugeTrace) then
  5528. applySettings [=[
  5529. Ai2.traceBufferSizePerFrameKb 100
  5530. Ai2.traceLengthSeconds 300
  5531. ant.ReplayBufferSizeClient 500000000
  5532. ]=]
  5533. end
  5534. end
  5535.  
  5536.  
  5537. if cfgTrue(cfg.onlineDevelopment) then
  5538. applySettings [=[
  5539. Server.IsPresenceEnabled false
  5540. Client.IsPresenceEnabled false
  5541. Online.Environment OnlineEnvironment_Development
  5542. Client.LoadingTimeOut 99999
  5543. Client.LoadedTimeOut 99999
  5544. Client.IngameTimeOut 99999
  5545. Server.IngameTimeOut 99999
  5546. Server.LoadingTimeOut 99999
  5547. Online.ClientIsPresenceEnabled false
  5548. Origin.Enabled false
  5549. BFServer.NoInteractivityTimeoutTime 99999
  5550. BFServer.NoInteractivityThresholdLimit 0.0
  5551. ]=]
  5552. end
  5553.  
  5554. if cfgTrue(cfg.scriptedPlaythrough) then
  5555. applySettings [=[
  5556. Game.ScriptedPlaythrough 1
  5557. ]=]
  5558. end
  5559.  
  5560. if cfgTrue(cfg.cheatAllUnlocks) then
  5561. applySettings [=[
  5562. SyncedBFSettings.AllUnlocksUnlocked true
  5563. ]=]
  5564. end
  5565.  
  5566. if cfgTrue(cfg.noLogging) then
  5567. applySettings [=[
  5568. Core.LogLevel CllNone
  5569. ]=]
  5570. end
  5571.  
  5572. if cfgTrue(cfg.dvdEmulation) then
  5573. applySettings [=[
  5574. Core.HttpDvdSimulation 1
  5575. Core.HttpDvdSeekPenalty 200
  5576. MeshStreaming.DynamicLoadingEnable 0
  5577. TextureStreaming.DynamicLoadingEnable 0
  5578. ]=]
  5579. end
  5580.  
  5581. if cfgTrue(cfg.fastRendering) then
  5582. applySettings [=[
  5583. Core.HardwareProfile Hardware_LowEnd
  5584. WorldRender.ViewMode Diffuse
  5585. ]=]
  5586. end
  5587.  
  5588. applySettings(cfg.extra)
  5589. ‚‹$file name Scripts/Win32Microscope.cfg payload Ò+Microscope.TraceFile D:\Temp\Microscope\1011240-PC-2\Data\trace-full.fbj
  5590. +Microscope.DataDir D:\Temp\Microscope\1011240-PC-2\Data
  5591. +Microscope.SymPath %TNT_ROOT%\Local\bin
  5592. +Microscope.SymConf %TNT_ROOT%\bin\TraceAnalyzer\LeakAnalyze.yaml
  5593. +Microscope.MemoryCategorisationFile %GAME_DATA_DIR%\Scripts\MicroscopeMemoryCategories.yaml
  5594.  
  5595. ‚‰$file ÿname Scripts/Win32MicroscopeCli.cfg payload Í+Microscope.SymPath %TNT_ROOT%\Local\bin
  5596. +Microscope.SymConf %TNT_ROOT%\bin\TraceAnalyzer\LeakAnalyze.yaml
  5597. +Microscope.MemoryCategorisationFile %GAME_DATA_DIR%\Scripts\MicroscopeMemoryCategories.yaml
  5598.  
  5599. ‚$file †name Scripts/XenonGame.cfg payload ^-url http://10.20.104.225:1338 -host 10.20.104.225 -hostUser dicemonkey -hostUserDomain DICE
  5600. ‚á $file × name Scripts/Debug/cycleMpLevels payload ¨ Core.LogLevel FatalAssert
  5601.  
  5602. server.loadLevel Levels/MP/MP_Abandoned/MP_Abandoned
  5603. sleep 60
  5604. server.restartLevel
  5605. sleep 60
  5606. server.endRound 0
  5607. sleep 60
  5608. server.endRound 1
  5609. sleep 60
  5610.  
  5611. server.loadLevel Levels/MP/MP_Damage/MP_Damage
  5612. sleep 60
  5613. server.restartLevel
  5614. sleep 60
  5615. server.endRound 0
  5616. sleep 60
  5617. server.endRound 1
  5618. sleep 60
  5619.  
  5620. server.loadLevel Levels/MP/MP_Flooded/MP_Flooded
  5621. sleep 60
  5622. server.restartLevel
  5623. sleep 60
  5624. server.endRound 0
  5625. sleep 60
  5626. server.endRound 1
  5627. sleep 60
  5628.  
  5629. server.loadLevel Levels/MP/MP_Journey/MP_Journey
  5630. sleep 60
  5631. server.restartLevel
  5632. sleep 60
  5633. server.endRound 0
  5634. sleep 60
  5635. server.endRound 1
  5636. sleep 60
  5637.  
  5638. server.loadLevel Levels/MP/MP_Naval/MP_Naval
  5639. sleep 60
  5640. server.restartLevel
  5641. sleep 60
  5642. server.endRound 0
  5643. sleep 60
  5644. server.endRound 1
  5645. sleep 60
  5646.  
  5647. server.loadLevel Levels/MP/MP_Prison/MP_Prison
  5648. sleep 60
  5649. server.restartLevel
  5650. sleep 60
  5651. server.endRound 0
  5652. sleep 60
  5653. server.endRound 1
  5654. sleep 60
  5655.  
  5656. server.loadLevel Levels/MP/MP_Resort/MP_Resort
  5657. sleep 60
  5658. server.restartLevel
  5659. sleep 60
  5660. server.endRound 0
  5661. sleep 60
  5662. server.endRound 1
  5663. sleep 60
  5664.  
  5665. server.loadLevel Levels/MP/MP_Siege/MP_Siege
  5666. sleep 60
  5667. server.restartLevel
  5668. sleep 60
  5669. server.endRound 0
  5670. sleep 60
  5671. server.endRound 1
  5672. sleep 60
  5673.  
  5674. server.loadLevel Levels/MP/MP_TheDish/MP_TheDish
  5675. sleep 60
  5676. server.restartLevel
  5677. sleep 60
  5678. server.endRound 0
  5679. sleep 60
  5680. server.endRound 1
  5681. sleep 60
  5682.  
  5683. server.loadLevel Levels/MP/MP_Tremors/MP_Tremors
  5684. sleep 60
  5685. server.restartLevel
  5686. sleep 60
  5687. server.endRound 0
  5688. sleep 60
  5689. server.endRound 1
  5690. sleep 60
  5691.  
  5692. main.playCommands Scripts/Debug/cycleMpLevels
  5693. ‚­ $file £ name Scripts/Debug/cycleSpLevels payload ôCore.LogLevel FatalAssert
  5694.  
  5695. server.loadLevel Levels/SP_Prologue/SP_Prologue
  5696. sleep 60
  5697. server.restartLevel
  5698. sleep 240
  5699. client.restartFromLastCheckpoint
  5700. sleep 60
  5701.  
  5702. server.loadLevel Levels/SP_Shanghai/SP_Shanghai
  5703. sleep 60
  5704. server.restartLevel
  5705. sleep 180
  5706. client.restartFromLastCheckpoint
  5707. sleep 60
  5708.  
  5709. server.loadLevel Levels/SP_Naval/SP_Naval
  5710. sleep 60
  5711. server.restartLevel
  5712. sleep 180
  5713. client.restartFromLastCheckpoint
  5714. sleep 60
  5715.  
  5716. server.loadLevel Levels/SP_Airfield/SP_Airfield
  5717. sleep 60
  5718. server.restartLevel
  5719. sleep 180
  5720. client.restartFromLastCheckpoint
  5721. sleep 60
  5722.  
  5723. server.loadLevel Levels/SP_Prison/SP_Prison
  5724. sleep 60
  5725. server.restartLevel
  5726. sleep 180
  5727. client.restartFromLastCheckpoint
  5728. sleep 60
  5729.  
  5730. server.loadLevel Levels/SP_Journey/SP_Journey
  5731. sleep 60
  5732. server.restartLevel
  5733. sleep 180
  5734. client.restartFromLastCheckpoint
  5735. sleep 60
  5736.  
  5737. server.loadLevel Levels/SP_Dam/SP_Dam
  5738. sleep 60
  5739. server.restartLevel
  5740. sleep 180
  5741. client.restartFromLastCheckpoint
  5742. sleep 60
  5743.  
  5744. server.loadLevel Levels/SP_Suez/SP_Suez
  5745. sleep 60
  5746. server.restartLevel
  5747. sleep 180
  5748. client.restartFromLastCheckpoint
  5749. sleep 60
  5750.  
  5751. main.playCommands Scripts/Debug/cycleSpLevels ‚ë $file á name 'Scripts/Debug/cycleSpLevelsViaMainMenu payload § Core.LogLevel FatalAssert
  5752.  
  5753. server.loadLevel Levels/SP_Prologue/SP_Prologue
  5754. sleep 60
  5755. server.restartLevel
  5756. sleep 240
  5757. client.restartFromLastCheckpoint
  5758. sleep 60
  5759. server.loadLevel Levels/FrontEnd/FrontEnd
  5760. sleep 30
  5761.  
  5762. server.loadLevel Levels/SP_Shanghai/SP_Shanghai
  5763. sleep 60
  5764. server.restartLevel
  5765. sleep 180
  5766. client.restartFromLastCheckpoint
  5767. sleep 60
  5768. server.loadLevel Levels/FrontEnd/FrontEnd
  5769. sleep 30
  5770.  
  5771. server.loadLevel Levels/SP_Naval/SP_Naval
  5772. sleep 60
  5773. server.restartLevel
  5774. sleep 180
  5775. client.restartFromLastCheckpoint
  5776. sleep 60
  5777. server.loadLevel Levels/FrontEnd/FrontEnd
  5778. sleep 30
  5779.  
  5780. server.loadLevel Levels/SP_Airfield/SP_Airfield
  5781. sleep 60
  5782. server.restartLevel
  5783. sleep 180
  5784. client.restartFromLastCheckpoint
  5785. sleep 60
  5786. server.loadLevel Levels/FrontEnd/FrontEnd
  5787. sleep 30
  5788.  
  5789. server.loadLevel Levels/SP_Prison/SP_Prison
  5790. sleep 60
  5791. server.restartLevel
  5792. sleep 180
  5793. client.restartFromLastCheckpoint
  5794. sleep 60
  5795. server.loadLevel Levels/FrontEnd/FrontEnd
  5796. sleep 30
  5797.  
  5798. server.loadLevel Levels/SP_Journey/SP_Journey
  5799. sleep 60
  5800. server.restartLevel
  5801. sleep 180
  5802. client.restartFromLastCheckpoint
  5803. sleep 60
  5804. server.loadLevel Levels/FrontEnd/FrontEnd
  5805. sleep 30
  5806.  
  5807. server.loadLevel Levels/SP_Dam/SP_Dam
  5808. sleep 60
  5809. server.restartLevel
  5810. sleep 180
  5811. client.restartFromLastCheckpoint
  5812. sleep 60
  5813. server.loadLevel Levels/FrontEnd/FrontEnd
  5814. sleep 30
  5815.  
  5816. server.loadLevel Levels/SP_Suez/SP_Suez
  5817. sleep 60
  5818. server.restartLevel
  5819. sleep 180
  5820. client.restartFromLastCheckpoint
  5821. sleep 60
  5822. server.loadLevel Levels/FrontEnd/FrontEnd
  5823. sleep 30
  5824.  
  5825. main.playCommands Scripts/Debug/cycleSpLevelsViaMainMenu ‚—$file name Scripts/Debug/eorLevel payload dCore.LogLevel FatalAssert
  5826.  
  5827. server.endRound 1
  5828. sleep 90
  5829.  
  5830. main.playCommands Scripts/Debug/eorLevel ‚¶$file ¬name Scripts/Debug/joinMultiplayer payload |client.joinMultiplayer 10.20.104.109
  5831. sleep 60
  5832. client.exitGame
  5833. sleep 30
  5834.  
  5835. main.playCommands Scripts/Debug/joinMultiplayer ‚¸$file ®name Scripts/Debug/restartCheckpoint payload |Core.LogLevel FatalAssert
  5836.  
  5837. client.restartFromLastCheckpoint
  5838. sleep 30
  5839.  
  5840. main.playCommands Scripts/Debug/restartCheckpoint ‚¡$file —name Scripts/Debug/restartLevel payload jCore.LogLevel FatalAssert
  5841.  
  5842. server.restartLevel
  5843. sleep 60
  5844.  
  5845. main.playCommands Scripts/Debug/restartLevel ‚À$file ¶name ,Scripts/Debug/stressEnterAndDestroyVehicles payload ÷Core.LogLevel FatalAssert
  5846.  
  5847. server.spawnsoldier 0 1 0
  5848. server.spawnsoldier 0 1 0
  5849. server.spawnsoldier 0 2 0
  5850. server.spawnsoldier 0 2 0
  5851. server.spawnsoldier 0 2 0
  5852. sleep 1
  5853.  
  5854. server.playerEnterClosestVehicle 1 true
  5855. server.playerEnterClosestVehicle 2 true
  5856. server.playerEnterClosestVehicle 3 true
  5857. server.playerEnterClosestVehicle 4 true
  5858. server.playerEnterClosestVehicle 5 true
  5859. sleep 1
  5860.  
  5861. server.damageSoldier 1 2000 true
  5862. server.damageSoldier 2 2000 true
  5863. server.damageSoldier 3 2000 true
  5864. server.damageSoldier 4 2000 true
  5865. server.damageSoldier 5 2000 true
  5866. sleep 3
  5867.  
  5868. server.deletePlayer 1
  5869. server.deletePlayer 2
  5870. server.deletePlayer 3
  5871. server.deletePlayer 4
  5872. server.deletePlayer 5
  5873. sleep 2
  5874.  
  5875. main.playCommands Scripts/Debug/stressEnterAndDestroyVehicles ‚ž3$file ”3name (Scripts/MicroscopeMemoryCategories.yaml payload Ù2%TAG ! tag:frostbite.net:
  5876. ---
  5877. 'Categorisations':
  5878. - name: AllocsByAssetType
  5879. rules:
  5880. - category: AI
  5881. matches:
  5882. - assetType: AIEntryData
  5883. - assetType: AIVehicleTypes
  5884. - assetType: AIWeaponData
  5885. - assetType: BFAIWeaponData
  5886. - category: Ant
  5887. matches:
  5888. - assetType: AntAnimationSetAsset
  5889. - assetType: AntPackageAsset
  5890. - assetType: AntProjectAsset
  5891. - assetType: MasterSkeletonAsset
  5892. - assetType: SkeletonAsset
  5893. - assetType: RagdollAsset
  5894. - category: Audio
  5895. matches:
  5896. - assetType: AudioSystemAsset
  5897. - assetType: ImpulseResponseAsset
  5898. - assetType: MixerAsset
  5899. - assetType: MixerSystemAsset
  5900. - assetType: SoundPatchAsset
  5901. - assetType: SoundPatchConfigurationAsset
  5902. - assetType: SoundWaveAsset
  5903. - assetType: VoiceOverLogicAsset
  5904. - assetType: VoiceOverSystemAsset
  5905. - assetType: SoundMasterPatchAsset
  5906. - category: Decals
  5907. matches:
  5908. - assetType: DecalTemplateData
  5909. - category: Effects
  5910. matches:
  5911. - assetType: EffectBlueprint
  5912. - assetType: EmitterDocument
  5913. - category: Enlighten
  5914. matches:
  5915. - assetType: EnlightenDataAsset
  5916. - assetType: EnlightenShaderDatabaseAsset
  5917. - assetType: StaticEnlightenData
  5918. - category: GameplayData
  5919. matches:
  5920. - assetType: DataContainerAsset
  5921. - assetType: GameDataContainerAsset
  5922. - assetType: GunSwayModifierData
  5923. - assetType: EntryInputActionMapsData
  5924. - assetType: ProjectileBlueprint
  5925. - assetType: ProfileOptionBool
  5926. - assetType: ProfileOptionEnum
  5927. - assetType: ProfileOptionFloat
  5928. - assetType: ProfileOptionDataInt
  5929. - assetType: ProfileOptionDataString
  5930. - assetType: ProfileOptionAsset
  5931. - assetType: ProfileOptionDataBool
  5932. - assetType: ProfileOptionDataEnum
  5933. - assetType: ProfileOptionDataFloat
  5934. - category: LevelData
  5935. matches:
  5936. - assetType: SubWorldData
  5937. - assetType: LevelData
  5938. - assetType: SettingsBundleAsset
  5939. - assetType: LevelDescriptionAsset
  5940. - category: LevelLogic
  5941. matches:
  5942. - assetType: LogicPrefabBlueprint
  5943. - category: Materials
  5944. matches:
  5945. - assetType: MaterialContainerAsset
  5946. - assetType: MaterialGridData
  5947. - category: Meshes
  5948. matches:
  5949. - assetType: CompositeMeshAsset
  5950. - assetType: MeshLogGroup
  5951. - assetType: MeshVariationDatabase
  5952. - assetType: RigidMeshAsset
  5953. - assetType: SkinnedMeshAsset
  5954. - category: ObjectData
  5955. matches:
  5956. - assetType: ObjectBlueprint
  5957. - assetType: ObjectVariation
  5958. - assetType: PrefabBlueprint
  5959. - assetType: SpatialPrefabBlueprint
  5960. - assetType: MeshLodGroup
  5961. - category: Persistence
  5962. matches:
  5963. - assetType: BasicDogTagData
  5964. - assetType: PersistenceData
  5965. - assetType: AdvancedDogTagData
  5966. - assetType: AwardDataTree
  5967. - assetType: BattlepackData
  5968. - assetType: BattlepackAsset
  5969. - assetType: BlazePresenceBackdenData
  5970. - assetType: BlazeServerBackendData
  5971. - assetType: CriteriaGateList
  5972. - assetType: StatCategoriesWeaponTree
  5973. - assetType: StatCategoriesWeaponAccessoryTree
  5974. - assetType: PresenceRspServiceData
  5975. - assetType: RankParamsAsset
  5976. - assetType: PlayerTypeProfile
  5977. - assetType: ScoringData
  5978. - assetType: UnlockAsset
  5979. - assetType: StaticUnlockList
  5980. - assetType: StatCategoriesVehicleTree
  5981. - assetType: RichPrecenceData
  5982. - assetType: ValueUnlockAsset
  5983. - assetType: RichPresenceData
  5984. - assetType: EntitlementQuery
  5985. - category: Physics
  5986. matches:
  5987. - assetType: CharacterPhysicsData
  5988. - assetType: DestructionVolumeAsset
  5989. - assetType: GroupPhysicsEntityAsset
  5990. - assetType: HavokAsset
  5991. - category: Shaders
  5992. matches:
  5993. - assetType: ShaderDatabaseAsset
  5994. - assetType: ShaderGraph
  5995. - assetType: ShaderProgramDatabaseAsset
  5996. - category: SoldierData
  5997. matches:
  5998. - assetType: SoldierBlueprint
  5999. - assetType: CharacterSocketListAsset
  6000. - assetType: VeniceSoldierCustomizationAsset
  6001. - category: TerrainData
  6002. matches:
  6003. - assetType: TerrainData
  6004. - assetType: TerrainDecalsData
  6005. - assetType: TerrainStreamingTreeAsset
  6006. - assetType: WaterAsset
  6007. - category: Textures
  6008. matches:
  6009. - assetType: TextureAsset
  6010. - assetType: RenderTextureAsset
  6011. - assetType: TextureArrayAsset
  6012. - category: UI
  6013. matches:
  6014. - assetType: BFCrosshairTypeAsset
  6015. - assetType: BFLockingTypeAsset
  6016. - assetType: UIActionData
  6017. - assetType: UIActionscriptLibraryAsset
  6018. - assetType: UIAlerttagCompData
  6019. - assetType: UIAnimatedTextureAsset
  6020. - assetType: UIAsset
  6021. - assetType: UIDeployScreenData
  6022. - assetType: UIElementFillData
  6023. - assetType: UIElementFontStyle
  6024. - assetType: UIGraphAsset
  6025. - assetType: UIPostProcessComponentData
  6026. - assetType: UIPreRoundCompData
  6027. - assetType: UIRenderCompData
  6028. - assetType: UIScoreboardWidgetData
  6029. - assetType: UITextDatabase
  6030. - assetType: UIWidgetAsset
  6031. - assetType: BFUICppScreenData
  6032. - assetType: BFUIIMSettingsAsset
  6033. - assetType: BFUIWorldIconBehavior
  6034. - assetType: UICreditsAsset
  6035. - assetType: UIScreenAsset
  6036. - assetType: UIItemDescriptionAsset
  6037. - assetType: UIHudScreenData
  6038. - assetType: UIMinimapIconTextureAtlasAsset
  6039. - assetType: UISoldierStatusWidgetData
  6040. - assetType: UITeamCompData
  6041. - assetType: UIScoreboardScreenData
  6042. - assetType: UICapturepointtagCompData
  6043. - assetType: UIJavelinIndicatorWidgetData
  6044. - assetType: UICrosshairWidgetData
  6045. - assetType: UIIMWidgetData
  6046. - assetType: UITextureMappingAsset
  6047. - assetType: UIFlowCppScreenData
  6048. - assetType: UIElementGenericStyle
  6049. - category: VehicleData
  6050. matches:
  6051. - assetType: VehicleBlueprint
  6052. - assetType: VeniceVehicleCustomizationAsset
  6053. - category: VisualEnvironment
  6054. matches:
  6055. - assetType: VisualEnvironmentBlueprint
  6056. - category: WeaponData
  6057. matches:
  6058. - assetType: WeaponFiringDataAsset
  6059. - assetType: SoldierWeaponBlueprint
  6060. - assetType: SoldierWeaponUnlockAsset
  6061. - assetType: VeniceSoldierWeaponCustomizationAsset
  6062. - assetType: WeaponUnlockAsset ‚¤7$file š7name $Scripts/PerfhudTimerCategories.yaml payload ã6%TAG ! tag:frostbite.net:
  6063. ---
  6064. # we associate budgets with timers distinct from including timers in categories, since a timer may appear in multiple categories.
  6065. processorTimers:
  6066. - processor: GPU
  6067. timers: # if a timer is not listed, a timerCategory which includes it will include it on all platforms, and it will have null budget.
  6068. - accumShadow: {default: 2.0, xenon: 2.1}
  6069. - finalPost: {default: 3.0}
  6070. - fog: {default: 0.7}
  6071. - spotlightTile: {default: 9.4} # all platforms, same budget. Good for declaring the timer before you know all the different budgets.
  6072. - lightOutdoor: {win32: 4.0, xenon: 0.0, ps3: 3,5}
  6073. - lightPoint: {win32: 1.0, xenon: 1.5}
  6074. - lightCubemap: {default: 1.0}
  6075. - lightSpot: {win32: 0.7, ps3: 0.0}
  6076. - spotShadow: {default: 0.5, ps3: 0.0}
  6077. - lightTile: {win32: 7.0,xenon: 5.0, default: 4.4}
  6078. - mainGBuffer: {win32: 8.5, xenon: 8.0, ps3: 11.0}
  6079. - mainGBufferSimple: {default: 3}
  6080. - shadow: {win32: 1.8, xenon: 2.0, ps3: 2.0}
  6081. - dynamicEnvMap: {win32: 1.2, xenon: 0.0, ps3: 0.0}
  6082. - uiUpdate: {default: 0.7}
  6083. - uiPostProcess: {default: 0.5}
  6084. - ui: {default: 2.5}
  6085. - worldView: {win32: 14, xenon: 28, ps3: 28, gen4a: 14, gen4b 14}
  6086. - processor: CPU
  6087. timers:
  6088. - antAnimUpdate: {win32: 7.0, ps3: 10.0, xenon: 10.0}
  6089. - entityUpCharPost: {default: 7.0}
  6090. - aiUpdate: {default: 2.0}
  6091. - emitterBuild: {default: 2.0}
  6092. - emitterDraw: {default: 2.0}
  6093. - clientUpdateGame: {default: 10.0, xenon: 20.0, ps3: 20.0}
  6094. - processor: SPU
  6095. timers:
  6096. - lightTile: {default: 35}
  6097. timerCategories:
  6098. #GPU categories.
  6099. - name: Level
  6100. budget: {default: 13.0, xenon: 8.5, win32: 6.0}
  6101. processor: GPU
  6102. timers:
  6103. - mainGBuffer
  6104. - mainGBufferDecal
  6105. - mainGBufferSimpl
  6106. - mainOpaqueEmissive
  6107. - mainTransparent
  6108. - terrainMsTile
  6109. - terrainVtCompr
  6110. - terrainVtTile
  6111. - waterDrawUpd
  6112. - name: Lighting and VE
  6113. budget: {win32: 3, ps3: 5, xenon: 5, gen4a: 3.0, gen4b: 3.0}
  6114. processor: GPU # only GPU timers will match names in this list. The category is invalid without a processor specifier.
  6115. timers:
  6116. - fog
  6117. - lightCubemap
  6118. - lightPoint
  6119. - lightSpot
  6120. - lightTile
  6121. - lightCull
  6122. - lightOutdoor
  6123. - sky
  6124. - copyZ
  6125. - waitSpuLight
  6126. - name: Shadows
  6127. budget: {default: 3.8}
  6128. processor: GPU
  6129. timers:
  6130. - accumShadow
  6131. - shadow
  6132. - spotShadow
  6133. - name: FX GPU
  6134. budget: {win32: 3.0, ps3: 2.0, xenon: 2.0, gen4a: 1.0, gen4b: 1.0}
  6135. processor: GPU # only GPU timers will match names in this list. The category is invalid without a processor specifier.
  6136. timers:
  6137. - halfResTransp
  6138.  
  6139. - name: PostProcess
  6140. budget: {win32: 5.9, ps3: 4.1, xenon: 5.0, gen4a: 7.0, gen4b: 7.0}
  6141. processor: GPU # only GPU timers will match names in this list. The category is invalid without a processor specifier.
  6142. timers:
  6143. - ssaoBlurH
  6144. - ssaoBlurV
  6145. - ssaoCompute
  6146. - mainDistort
  6147. - motionBlurDerive
  6148. - motionBlurFilter
  6149. - finalPost
  6150. - fxaa
  6151. - name: UI
  6152. budget: {win32: 0.5, ps3: 1.0, xenon: 0.7, gen4a: 0.5, gen4b: 0.5}
  6153. processor: GPU # only GPU timers will match names in this list. The category is invalid without a processor specifier.
  6154. timers:
  6155. - ui
  6156. - uiPostProcess
  6157. - name: System Costs
  6158. budget: {win32: 4.3, ps3: 1.5, xenon: 3.7, gen4a: 6.0, gen4b: 6.0}
  6159. processor: GPU # only GPU timers will match names in this list. The category is invalid without a processor specifier.
  6160. timers:
  6161. - clear
  6162. - debug
  6163. - debugRender
  6164. - downsampleAverage
  6165. - downsampleZ
  6166. - mainGBufferFixup
  6167. - mainGBufferResol
  6168. - planarReflection
  6169. - mainZPass
  6170. - restoreZ
  6171. - worldOccQueries
  6172. - name: Total
  6173. budget: {win32: 16.0, ps3: 33.0, xenon: 33.0, gen4a: 16.0, gen4b: 16.0}
  6174. processor: GPU
  6175. timers:
  6176. - worldView
  6177.  
  6178. # CPU categories
  6179.  
  6180. - name: Gameplay
  6181. budget: {default: 6.0, xenon: 12.0, ps3: 12.0}
  6182. processor: CPU
  6183. timers:
  6184. - onlineMgrPre
  6185. - interpolationMgr
  6186. - preSimPrepareJobs
  6187. - preSimJobs
  6188. - preSimFinalizeJobs
  6189. - postSimPrepareJobs
  6190. - postSimJobs
  6191. - postSimFinalizeJobs
  6192. - clientLvlPostFrame
  6193. - onlineMgrPost
  6194. - preSimServPrepareJobs
  6195. - preSimServJobs
  6196. - preSimServFinalizeJobs
  6197. - postSimServPrepareJobs
  6198. - postSimServJobs
  6199. - postSimServFinalizeJobs
  6200.  
  6201. - name: ANT
  6202. budget: {default: 8.0, ps3: 10, xenon: 10}
  6203. processor: CPU
  6204. timers:
  6205. - antAnimUpdate
  6206.  
  6207. - name: Audio
  6208. budget: {default: 5.0}
  6209. processor: CPU
  6210. timers:
  6211. - audioUpdate
  6212.  
  6213. - name: AI
  6214. budget: {default: 2}
  6215. processor: CPU
  6216. timers:
  6217. - aiUpdate
  6218.  
  6219. - name: Physics
  6220. budget: {default: 5.0}
  6221. processor: CPU
  6222. timers:
  6223. - clientPhysUpdate
  6224. - serverPhysUpdate
  6225.  
  6226. - name: FX
  6227. budget: {default: 2.5}
  6228. processor: CPU
  6229. timers:
  6230. - emitterBuild
  6231. - emitterDraw
  6232. - emitterMeshBuil
  6233. - emitterMeshDraw
  6234. - emitterPostChil
  6235. - emitterPostPare
  6236. - emitterMgrUpd
  6237. - emitterCollisio
  6238. - effectManCmd
  6239. - effectMgrWrk
  6240. - effectGrp
  6241. - effectSync
  6242. - effectManFlush
  6243. - forceManager
  6244.  
  6245. - name: UI
  6246. budget: {win32: 3, ps3: 3, xenon: 3, gen4a: 2, gen4b: 2}
  6247. processor: CPU
  6248. timers:
  6249. - uiUpdate
  6250. - uiIconScanJob
  6251. - uiRender
  6252. - uiDispatchRenderCmds
  6253.  
  6254. # SPU categories
  6255. - name: SPU Lights
  6256. budget: {default: 0, ps3: 35}
  6257. processor: SPU
  6258. timers:
  6259. - lightTile
  6260. #define named sets of categories. The set can be enabled/disabled (displayed/hidden) via console commands.
  6261. TimerCategorySets:
  6262. - name: FX
  6263. categories:
  6264. - FX CPU
  6265. - FX GPU
  6266. - name: LevelArtist
  6267. categories:
  6268. - Level
  6269. - Lighting and VE
  6270. - SPU Lights
  6271. - Shadows
  6272. - FX GPU
  6273. - PostProcess
  6274. - Total
  6275. - name: Scripter
  6276. categories:
  6277. - ANT
  6278. - AI
  6279. - Physics
  6280. - Raycasts
  6281. - Total
  6282. - name: Destruction
  6283. categories:
  6284. - Raycast
  6285. - Physics
  6286. - Level
  6287. - FX CPU
  6288. - FX GPU
  6289. - Total
  6290. - name: LightingArtist
  6291. categories:
  6292. - Lighting and VE
  6293. - Shadows
  6294. - FX GPU
  6295. - Total
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement