Merge branch 'development' into Atom/santorac/RemixableMaterialTypes3

There were lots of material system conflicts that had to be resolved. I expect the build is broken at this commit, and I'll fix it in followup commits.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
This commit is contained in:
santorac
2022-01-25 14:47:24 -08:00
9789 changed files with 757680 additions and 902265 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
---
name: ar_bug_report.md
name: Automated Review bug report
about: Create a bug for a an issue found in the Automated Review
title: 'AR Bug Report'
labels: 'needs-triage,kind/bug,kind/automation'
+17 -7
View File
@@ -7,20 +7,30 @@ labels: 'needs-triage,needs-sig,kind/bug'
---
**Describe the bug**
A clear and concise description of what the bug is.
A clear and concise description of what the bug is. Try to isolate the issue to help the community to reproduce it easily and increase chances for a fast fix.
**To Reproduce**
**Steps to reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
2. Click on '...'
3. Select attached asset '...'
4. Scroll down to '...'
5. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Actual behavior**
A clear and concise description of what actually happened.
**Assets required**
Provide sample assets needed to reproduce the issue.
**Screenshots/Video**
If applicable, add screenshots and/or a video to help explain your problem.
**Found in Branch**
Name of or link to the branch where the issue occurs.
**Desktop/Device (please complete the following information):**
- Device: [e.g. PC, Mac, iPhone, Samsung]
+3 -9
View File
@@ -2,17 +2,14 @@
.vs/
.vscode/
__pycache__
AssetProcessorTemp/**
[Bb]uild/**
[Bb]uild/
[Oo]ut/**
CMakeUserPresets.json
[Cc]ache/
/[Ii]nstall/
Editor/EditorEventLog.xml
Editor/EditorLayout.xml
**/*egg-info/**
**/*egg-link
UserSettings.xml
**/[Rr]estricted
[Uu]ser/
FrameCapture/**
.DS_Store
@@ -21,9 +18,6 @@ client*.cfg
server*.cfg
.mayaSwatches/
_savebackup/
#Output folder for test results when running Automated Tests
TestResults/**
*.swatches
/imgui.ini
/scripts/project_manager/logs/
/AutomatedTesting/Gem/PythonTests/scripting/TestResults
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<path d="M3.145,8.433c0-1.47,1.196-2.666,2.666-2.666h9.544c-0.158-0.819-0.88-1.443-1.744-1.443H3.487
c-0.978,0-1.778,0.8-1.778,1.778v5.356c0,0.861,0.62,1.582,1.436,1.743V8.433z" fill="#FFFFFF"/>
<g>
<path d="M6.833,11.654c0-1.47,1.196-2.666,2.666-2.666h9.069c-0.158-0.819-0.88-1.443-1.744-1.443H6.7
c-0.978,0-1.778,0.8-1.778,1.778v5.356c0,0.978,0.8,1.778,1.778,1.778h0.133V11.654z" fill="#FFFFFF"/>
</g>
<path d="M20.513,10.765H10.388c-0.978,0-1.778,0.8-1.778,1.777v5.356c0,0.978,0.8,1.778,1.778,1.778h10.125
c0.978,0,1.778-0.8,1.778-1.778v-5.356C22.29,11.565,21.49,10.765,20.513,10.765z M19.332,15.967h-7.763
c-0.264,0-0.478-0.355-0.478-0.793c0-0.438,0.214-0.793,0.478-0.793h7.763c0.264,0,0.478,0.355,0.478,0.793
C19.81,15.612,19.597,15.967,19.332,15.967z" fill="#FFFFFF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

-13
View File
@@ -1,18 +1,5 @@
<settings>
<r_PostProcessEffects value="1"/>
<r_HDREyeAdaptationSpeed value="100000000"/>
<r_MotionBlur value="0"/>
<e_ScreenShotQuality value="0"/>
<e_ViewDistRatio value="100000000"/>
<r_DisplayInfo value="0"/>
<e_StreamCgfPoolSize value="128" />
<e_ViewDistRatioVegetation value="100"/>
<e_Lods value="0"/>
<e_Vegetation value="0"/>
<e_TerrainOcclusionCulling value="0"/>
<e_OcclusionVolumes value="0"/>
<e_shadows value="0"/>
<e_portals value="3"/>
<e_fog value="0"/>
<r_hdrdebug value="0"/>
</settings>
@@ -1 +0,0 @@
/autooptimizefile=0 /preset=Diffuse_lowQ
@@ -1 +0,0 @@
/autooptimizefile=0 /mipmaps=0 /preset=AlbedoWithGenericAlpha /reduce=-1
+2 -2
View File
@@ -185,7 +185,7 @@
{
"id": {
"materialAssetId": {
"guid": "{935F694A-8639-515B-8133-81CDC7948E5B}",
"guid": "{0CD745C0-6AA8-569A-A68A-73A3270986C4}",
"subId": 803645540
}
}
@@ -197,7 +197,7 @@
"id": {
"lodIndex": 0,
"materialAssetId": {
"guid": "{935F694A-8639-515B-8133-81CDC7948E5B}",
"guid": "{0CD745C0-6AA8-569A-A68A-73A3270986C4}",
"subId": 803645540
}
}
@@ -1,78 +0,0 @@
#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
#
"""
This script loads every level in a game project and exports them. You will be prompted with the standard
Check-Out/Overwrite/Cancel dialog for each level.
This is useful when there is a version update to a file that requires re-exporting.
"""
import sys, os
import azlmbr.legacy.general as general
import azlmbr.legacy.checkout_dialog as checkout_dialog
class CheckOutDialogEnableAll:
"""
Helper class to wrap enabling the "Apply to all" checkbox in the CheckOutDialog.
Guarantees that the old setting will be restored.
To use, do:
with CheckOutDialogEnableAll():
# your code here
"""
def __init__(self):
self.old_setting = False
def __enter__(self):
self.old_setting = checkout_dialog.enable_for_all(True)
print(self.old_setting)
def __exit__(self, type, value, traceback):
checkout_dialog.enable_for_all(self.old_setting)
level_list = []
def is_in_special_folder(file_full_path):
if file_full_path.find("_savebackup") >= 0:
return True
if file_full_path.find("_autobackup") >= 0:
return True
if file_full_path.find("_hold") >= 0:
return True
if file_full_path.find("_tmpresize") >= 0:
return True
return False
game_folder = general.get_game_folder()
# Recursively search every directory in the game project for files ending with .cry and .ly
for root, dirs, files in os.walk(game_folder):
for file in files:
if file.endswith(".cry") or file.endswith(".ly"):
# The engine expects the full path of the .cry file
file_full_path = os.path.abspath(os.path.join(root, file))
# Exclude files in special directories
if not is_in_special_folder(file_full_path):
level_list.append(file_full_path)
# make the checkout dialog enable the 'Apply to all' checkbox
with CheckOutDialogEnableAll():
# For each valid .cry file found, open it in the editor and export it
for level in level_list:
if not isinstance(level, str):
# general.open_level_no_prompt expects the file path in utf8 format
level = level.encode("utf-8")
general.open_level_no_prompt(level)
general.export_to_engine()
-40
View File
@@ -1,40 +0,0 @@
#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
#
'''
Generates a 50% lod for the selected model
@argument name="Lod Percentage", type="string", default="50.0f"
'''
import sys
import time
percentage = float(sys.argv[1])
selectedcgf = lodtools.getselected()
selectedmaterial = lodtools.getselectedmaterial()
loadedmodel = lodtools.loadcgf(selectedcgf)
loadedmaterial = lodtools.loadmaterial(selectedmaterial)
if loadedmodel == True and loadedmaterial == True:
lodtools.generatelodchain()
finished = 0.0
while finished >= 0.0:
finished = lodtools.generatetick()
print 'Lod Chain Generation progress: ' + str(finished)
time.sleep(1)
if finished == 1.0:
break
lodtools.createlod(1,percentage)
lodtools.generatematerials(1,512,512)
lodtools.savetextures(1)
lodtools.savesettings()
lodtools.reloadmodel()
-14
View File
@@ -1,14 +0,0 @@
#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
#
objects = general.get_all_objects("", "") # Get the name list of all objects in the level.
# If there is any object with the geometry file of "objects\\default\\primitive_box.cgf",
# change it to "objects\\default\\primitive_cube.cgf".
for obj in objects:
geometry_file = general.get_entity_geometry_file(obj)
if geometry_file == "objects\\default\\primitive_box.cgf":
general.set_entity_geometry_file(obj, "objects\\default\\primitive_cube.cgf")
@@ -1,14 +0,0 @@
#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
#
objects = general.get_all_objects("AnimObject", "") # Get the name list of all anim objects in the level.
general.clear_selection()
# If there is any object with the geometry file whose name contains "\\story\\", select it
for obj in objects:
geometry_file = general.get_entity_geometry_file(obj)
if geometry_file.find("\\story\\") != -1:
general.select_object(obj)
@@ -1,508 +0,0 @@
#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
#
import __future__
import time, re, os, sys, itertools, ast
import azlmbr.legacy.general as general
global ctrlFile
ctrlFile = 'setState.txt'
global logfile
logfile = 'Editor.log'
global HIDDEN_MASK_PREFIX
HIDDEN_MASK_PREFIX= 'hidden_mask_for_'
global HIDDEN_MASK_PREFIX_LENGTH
HIDDEN_MASK_PREFIX_LENGTH = len(HIDDEN_MASK_PREFIX)
def getLogList(logfile):
logList = [x for x in open(logfile, 'r')]
return logList
def getCheckList(ctrlFile):
try:
with open(ctrlFile):
stateList = open(ctrlFile, 'r')
except:
open(ctrlFile, 'w').close()
stateList = open(ctrlFile, 'r')
checkList = [x for x in stateList]
return checkList
#Store/Restore CVars default values -----------------------------------------------------------------#
if 'CVARS' not in globals():
CVARS = {}
def saveDefaultValue(cVars, value):
if cVars not in CVARS:
CVARS[cVars] = value
def restoreDefaultValue(cVars):
if cVars not in CVARS:
return
defaultValue = CVARS[cVars]
del CVARS[cVars]
if cVars.startswith(HIDDEN_MASK_PREFIX):
type = cVars[HIDDEN_MASK_PREFIX_LENGTH:]
general.set_hidemask(type, defaultValue)
else:
general.set_cvar(cVars, defaultValue)
#toggle CVars--------------------------------------------------------------------#
def updateCvars(cVars, value):
saveDefaultValue(cVars, value)
general.set_cvar(cVars, value)
def toggleCvarsRestartCheck(log, state, mode, cVars, onValue, offValue, ctrlFile):
if log in state:
toggleCvarsV(mode, cVars, onValue, offValue, ctrlFile)
else:
stateList = open(ctrlFile, 'w')
stateList.write(log)
stateList = open(ctrlFile, 'r')
toggleCvarsV(mode, cVars, onValue, offValue, ctrlFile)
def toggleCvarsV(mode, cVars, onValue, offValue, ctrlFile):
stateList = open(ctrlFile, 'r')
setState = [x for x in enumerate(stateList)]
blankCheck = [x for x in setState]
getList = [x for x in stateList]
if blankCheck == []:
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str("%s,{'%s': %s}" % (mode, cVars, offValue))+'\n'))
general.set_cvar(cVars, offValue)
else:
stateList = open(ctrlFile, 'r')
checkFor = str([x for x in stateList])
if mode not in str(checkFor):
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
getList.insert(1, str("%s,{'%s': %s}\n" % (mode, cVars , offValue)))
print (str("{'%s': %s}\n" % (cVars , offValue)))
stateList = open(ctrlFile, 'w')
stateList.write(''.join(getList))
general.set_cvar(cVars, offValue)
else:
stateList = open(ctrlFile, 'r')
for d in enumerate(stateList):
values = d[1].split(',')
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
if mode in values[0]:
getDict = ast.literal_eval(values[1])
getState = getDict.get(cVars)
if getState == offValue:
getDict[cVars] = onValue
joinStr = [mode,",",str(getDict), '\n']
newLine = ''.join(joinStr)
print (getDict)
getList[d[0]] = newLine
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
general.set_cvar(cVars, onValue)
else:
getDict[cVars] = offValue
joinStr = [mode,",",str(getDict), '\n']
newLine = ''.join(joinStr)
print (getDict)
getList[d[0]] = newLine
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
general.set_cvar(cVars, offValue)
def toggleCvarsValue(mode, cVars, onValue, offValue):
currentValue = general.get_cvar(cVars)
if type(onValue) is str:
saveDefaultValue(cVars, currentValue)
elif type(onValue) is int:
saveDefaultValue(cVars, int(currentValue))
elif type(onValue) is float:
saveDefaultValue(cVars, float(currentValue))
else:
general.log('Failed to store default value for {0}'.format(cVars))
if currentValue == str(onValue):
general.set_cvar(cVars, offValue)
else:
general.set_cvar(cVars, onValue)
#toggleConsol--------------------------------------------------------------------#
def toggleConsolRestartCheck(log,state, mode, onValue, offValue, ctrlFile):
if log in state:
toggleConsolV(mode, onValue, offValue, ctrlFile)
else:
stateList = open(ctrlFile, 'w')
stateList.write(log)
stateList = open(ctrlFile, 'r')
toggleConsolV(mode, onValue, offValue, ctrlFile)
def toggleConsolV(mode, onValue, offValue):
stateList = open(ctrlFile, 'r')
setState = [x for x in enumerate(stateList)]
blankCheck = [x for x in setState]
getList = [x for x in stateList]
onOffList = [onValue, offValue]
if blankCheck == []:
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str("%s,'%s'" % (mode, offValue))+'\n'))
general.run_console(offValue)
else:
stateList = open(ctrlFile, 'r')
checkFor = str([x for x in stateList])
if mode not in str(checkFor):
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
getList.insert(1, str("%s,'%s'\n" % (mode, offValue)))
print (str("{'%s': %s}\n" % (cVars , offValue)))
stateList = open(ctrlFile, 'w')
stateList.write(''.join(getList))
general.run_console(onValue)
else:
stateList = open(ctrlFile, 'r')
for d in enumerate(stateList):
values = d[1].split(',')
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
if mode in values[0]:
getDict = values[1]
off = ["'",str(offValue),"'", '\n']
joinoff = ''.join(off)
if values[1] == joinoff:
getDict = onValue
joinStr = [mode,",","'",getDict,"'", '\n']
newLine = ''.join(joinStr)
print (getDict)
getList[d[0]] = str(newLine)
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
general.run_console(onValue)
else:
getDict = offValue
joinStr = [mode,",","'",getDict,"'", '\n']
newLine = ''.join(joinStr)
print (getDict)
getList[d[0]] = str(newLine)
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
general.run_console(offValue)
def toggleConsolValue(log, state, mode, onValue, offValue):
logList = getLogList(logfile)
checkList = getCheckList(ctrlFile)
toggleConsolRestartCheck(logList[1],checkList, mode, onValue, offValue, ctrlFile)
#cycleCvars----------------------------------------------------------------------#
def cycleCvarsRestartCheck(log, state, mode, cVars, cycleList, ctrlFile):
if log in state:
cycleCvarsV(mode, cVars, cycleList, ctrlFile)
else:
stateList = open(ctrlFile, 'w')
stateList.write(log)
stateList = open(ctrlFile, 'r')
cycleCvarsV(mode, cVars, cycleList, ctrlFile)
def cycleCvarsV(mode, cVars, cycleList, ctrlFile):
stateList = open(ctrlFile, 'r')
setState = [x for x in enumerate(stateList)]
blankCheck = [x for x in setState]
getList = [x for x in stateList]
if blankCheck == []:
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str("%s,{'%s': %s}" % (mode, cVars, cycleList[1]))+'\n'))
general.set_cvar(cVars, cycleList[1])
else:
stateList = open(ctrlFile, 'r')
checkFor = str([x for x in stateList])
if mode not in str(checkFor):
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
getList.insert(1, str("%s,{'%s': %s}\n" % (mode, cVars , cycleList[1])))
stateList = open(ctrlFile, 'w')
stateList.write(''.join(getList))
general.set_cvar(cVars, cycleList[1])
else:
stateList = open(ctrlFile, 'r')
for d in enumerate(stateList):
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
values = d[1].split(',')
if mode in values[0]:
getDict = ast.literal_eval(values[1])
getState = getDict.get(cVars)
cycleL = [x for x in enumerate(cycleList)]
for x in cycleL:
if getState == x[1]:
number = [n[1] for n in cycleL]
getMax = max(number)
nextNum = x[0]+1
if nextNum > getMax:
getDict[cVars] = cycleList[0]
joinStr = [mode,",",str(getDict), '\n']
newLine = ''.join(joinStr)
getList[d[0]] = newLine
print (getDict)
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
general.set_cvar(cVars, cycleList[0])
else:
getDict[cVars] = cycleList[x[0]+1]
joinStr = [mode,",",str(getDict), '\n']
newLine = ''.join(joinStr)
getList[d[0]] = newLine
print (getDict)
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
general.set_cvar(cVars, cycleList[x[0]+1])
def cycleCvarsValue(log, state, mode, cVars, cycleList):
logList = getLogList(logfile)
checkList = getCheckList(ctrlFile)
cycleCvarsRestartCheck(logList[1],checkList, mode, cVars, cycleList, ctrlFile)
def cycleCvarsFloatValue(cVars, cycleList):
currentValueAsString = general.get_cvar(cVars)
try:
currentValue = float(currentValueAsString)
except:
currentValue = -1.0
saveDefaultValue(cVars, currentValue)
# make sure we sort the list in ascending fashion
cycleList = sorted(cycleList)
# find out what the next closest index is
newIndex = 0
for x in cycleList:
if (currentValue < x):
break
newIndex = newIndex + 1
# loop around, if we need to
if newIndex >= len(cycleList):
newIndex = 0
general.set_cvar(cVars, cycleList[newIndex])
def cycleCvarsIntValue(cVars, cycleList):
currentValueAsString = general.get_cvar(cVars)
try:
currentValue = int(currentValueAsString)
except:
currentValue = 0
saveDefaultValue(cVars, currentValue)
# find out what index we're on already
# default to -1 so that when we increment to the next, we'll be at 0
newIndex = -1
for x in cycleList:
if (currentValue == x):
break
newIndex = newIndex + 1
# move to the next item
newIndex = newIndex + 1
# validate
if newIndex >= len(cycleList):
newIndex = 0
general.set_cvar(cVars, cycleList[newIndex])
#cycleConsol----------------------------------------------------------------------#
def cycleConsolRestartCheck(log, state, mode, cycleList, ctrlFile):
if log in state:
cycleConsolV(mode, cycleList, ctrlFile)
else:
stateList = open(ctrlFile, 'w')
stateList.write(log)
stateList = open(ctrlFile, 'r')
cycleConsolV(mode, cycleList, ctrlFile)
def cycleConsolV(mode, cycleList, ctrlFile):
stateList = open(ctrlFile, 'r')
setState = [x for x in enumerate(stateList)]
blankCheck = [x for x in setState]
getList = [x for x in stateList]
if blankCheck == []:
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str("%s,'%s'" % (mode, cycleList[0]))+'\n'))
general.run_console(cycleList[0])
else:
stateList = open(ctrlFile, 'r')
checkFor = str([x for x in stateList])
if mode not in str(checkFor):
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
getList.insert(1, str("%s,'%s'\n" % (mode, cycleList[0])))
stateList = open(ctrlFile, 'w')
stateList.write(''.join(getList))
general.run_console(cycleList[0])
else:
stateList = open(ctrlFile, 'r')
for d in enumerate(stateList):
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
values = d[1].split(',')
if mode in values[0]:
newValue = ''.join(values[1].split('\n'))
cycleL = [e for e in enumerate(cycleList)]
getDict = ''.join(values[1].split('\n'))
for x in cycleL:
if newValue in "'%s'" % x[1]:
number = [n[0] for n in cycleL]
getMax = max(number)
nextNum = x[0]+1
if nextNum > getMax:
getDict = '%s' % cycleList[0]
joinStr = [mode,",","'",getDict,"'", '\n']
newLine = ''.join(joinStr)
getList[d[0]] = newLine
print (getDict)
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
general.run_console(getDict)
else:
getDict = '%s' % cycleList[x[0]+1]
joinStr = [mode,",","'",getDict,"'", '\n']
newLine = ''.join(joinStr)
getList[d[0]] = newLine
print (getDict)
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
general.run_console(getDict)
def cycleConsolValue(mode, cycleList):
logList = getLogList(logfile)
checkList = getCheckList(ctrlFile)
cycleConsolRestartCheck(logList[1],checkList, mode, cycleList, ctrlFile)
def toggleHideMaskValues(type):
cVars = "%s%s" % (HIDDEN_MASK_PREFIX, type)
currentValue = general.get_hidemask(type)
saveDefaultValue(cVars, int(currentValue))
if (currentValue):
general.set_hidemask(type, 0)
else:
general.set_hidemask(type, 1)
#toggleHide------------------------------------------------------------------------#
def toggleHideRestartCheck(log, state, mode, type, onValue, offValue, ctrlFile):
if log in state:
toggleHideByT(mode, type, onValue, offValue, ctrlFile)
else:
stateList = open(ctrlFile, 'w')
stateList.write(log)
stateList = open(ctrlFile, 'r')
toggleHideByT(mode, type, onValue, offValue, ctrlFile)
def toggleHideByType(mode, type, onValue, offValue):
logList = getLogList(logfile)
checkList = getCheckList(ctrlFile)
toggleHideRestartCheck(logList[1],checkList, mode, type, onValue, offValue, ctrlFile)
def toggleHideByT(mode, type, onValue, offValue, ctrlFile):
stateList = open(ctrlFile, 'r')
setState = [x for x in enumerate(stateList)]
blankCheck = [x for x in setState]
getList = [x for x in stateList]
if blankCheck == []:
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str("%s,{'%s': %s}" % (mode, type, offValue))+'\n'))
hideByType(type)
else:
stateList = open(ctrlFile, 'r')
checkFor = str([x for x in stateList])
if mode not in str(checkFor):
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
getList.insert(1, str("%s,{'%s': %s}\n" % (mode, type , offValue)))
print (str("{'%s': %s}\n" % (type , offValue)))
stateList = open(ctrlFile, 'w')
stateList.write(''.join(getList))
hideByType(type)
else:
stateList = open(ctrlFile, 'r')
for d in enumerate(stateList):
values = d[1].split(',')
stateList = open(ctrlFile, 'r')
getList = [x for x in stateList]
if mode in values[0]:
getDict = ast.literal_eval(values[1])
getState = getDict.get(type)
if getState == offValue:
getDict[type] = onValue
joinStr = [mode,",",str(getDict), '\n']
newLine = ''.join(joinStr)
print (getDict)
getList[d[0]] = newLine
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
unHideByType(type)
else:
getDict[type] = offValue
joinStr = [mode,",",str(getDict), '\n']
newLine = ''.join(joinStr)
print (getDict)
getList[d[0]] = newLine
stateList = open(ctrlFile, 'w')
stateList.write(''.join(str(''.join(getList))))
hideByType(type)
def hideByType(type):
typeList = general.get_all_objects(str(type), "")
for x in typeList:
general.hide_object(x)
def unHideByType(type):
typeList = general.get_all_objects(str(type), "")
for x in typeList:
general.unhide_object(x)
@@ -62164,7 +62164,7 @@ An Entity can be selected by using the pick button, or by dragging an Entity fro
<message id="HANDLER_TAGGLOBALNOTIFICATIONBUS_ONENTITYTAGADDED_OUTPUT0_NAME">
<source>HANDLER_TAGGLOBALNOTIFICATIONBUS_ONENTITYTAGADDED_OUTPUT0_NAME</source>
<comment>Simple Type: EntityID C++ Type: const EntityId&amp;</comment>
<translation type="unfinished">Entity</translation>
<translation type="unfinished">EntityID</translation>
</message>
<message id="HANDLER_TAGGLOBALNOTIFICATIONBUS_ONENTITYTAGADDED_OUTPUT0_TOOLTIP">
<source>HANDLER_TAGGLOBALNOTIFICATIONBUS_ONENTITYTAGADDED_OUTPUT0_TOOLTIP</source>
@@ -62202,7 +62202,7 @@ An Entity can be selected by using the pick button, or by dragging an Entity fro
<message id="HANDLER_TAGGLOBALNOTIFICATIONBUS_ONENTITYTAGREMOVED_OUTPUT0_NAME">
<source>HANDLER_TAGGLOBALNOTIFICATIONBUS_ONENTITYTAGREMOVED_OUTPUT0_NAME</source>
<comment>Simple Type: EntityID C++ Type: const EntityId&amp;</comment>
<translation type="unfinished">Entity</translation>
<translation type="unfinished">EntityId</translation>
</message>
<message id="HANDLER_TAGGLOBALNOTIFICATIONBUS_ONENTITYTAGREMOVED_OUTPUT0_TOOLTIP">
<source>HANDLER_TAGGLOBALNOTIFICATIONBUS_ONENTITYTAGREMOVED_OUTPUT0_TOOLTIP</source>
@@ -81852,7 +81852,7 @@ The element is removed from its current parent and added as a child of the new p
<message id="HANDLER_SPAWNERCOMPONENTNOTIFICATIONBUS_ONENTITYSPAWNED_OUTPUT1_NAME">
<source>HANDLER_SPAWNERCOMPONENTNOTIFICATIONBUS_ONENTITYSPAWNED_OUTPUT1_NAME</source>
<comment>Simple Type: EntityID C++ Type: const EntityId&amp;</comment>
<translation type="unfinished">Entity</translation>
<translation type="unfinished">EntityID</translation>
</message>
<message id="HANDLER_SPAWNERCOMPONENTNOTIFICATIONBUS_ONENTITYSPAWNED_OUTPUT1_TOOLTIP">
<source>HANDLER_SPAWNERCOMPONENTNOTIFICATIONBUS_ONENTITYSPAWNED_OUTPUT1_TOOLTIP</source>
@@ -89198,7 +89198,7 @@ The element is removed from its current parent and added as a child of the new p
<message id="HANDLER_ENTITYBUS_ONENTITYACTIVATED_OUTPUT0_NAME">
<source>HANDLER_ENTITYBUS_ONENTITYACTIVATED_OUTPUT0_NAME</source>
<comment>Simple Type: EntityID C++ Type: const EntityId&amp;</comment>
<translation type="unfinished">Entity</translation>
<translation type="unfinished">EntityID</translation>
</message>
<message id="HANDLER_ENTITYBUS_ONENTITYACTIVATED_OUTPUT0_TOOLTIP">
<source>HANDLER_ENTITYBUS_ONENTITYACTIVATED_OUTPUT0_TOOLTIP</source>
@@ -89236,7 +89236,7 @@ The element is removed from its current parent and added as a child of the new p
<message id="HANDLER_ENTITYBUS_ONENTITYDEACTIVATED_OUTPUT0_NAME">
<source>HANDLER_ENTITYBUS_ONENTITYDEACTIVATED_OUTPUT0_NAME</source>
<comment>Simple Type: EntityID C++ Type: const EntityId&amp;</comment>
<translation type="unfinished">Entity</translation>
<translation type="unfinished">EntityID</translation>
</message>
<message id="HANDLER_ENTITYBUS_ONENTITYDEACTIVATED_OUTPUT0_TOOLTIP">
<source>HANDLER_ENTITYBUS_ONENTITYDEACTIVATED_OUTPUT0_TOOLTIP</source>
-2
View File
@@ -7,8 +7,6 @@
<Tool Title="| Draw Helpers" Command="p_draw_helpers" EditorCmd="" ToggleVar="1"/>
<Tool Title="| AI Debug Draw" Command="ai_DebugDraw" EditorCmd="" ToggleVar="1"/>
<Tool Title="| Toggle Music" Command="s_MusicEnable" EditorCmd="" ToggleVar="1"/>
<Tool Title="| Toggle Sound" Command="s_SoundEnable" EditorCmd="" ToggleVar="1"/>
<Tool Title="| Toggle ForcefeedBack" Command="i_forcefeedback" EditorCmd="" ToggleVar="1"/>
<Tool Title="| Freeze Camera " Command="e_CameraFreeze" EditorCmd="" ToggleVar="1"/>
<Tool Title="| Log Verbosity 0" Command="log_Verbosity 0" EditorCmd="" ToggleVar="0"/>
<Tool Title="| SaveLevelStats" Command="savelevelstats" EditorCmd="" ToggleVar="0"/>
-11
View File
@@ -1,16 +1,5 @@
ConsoleHide
g_godMode=1
sys_warnings=0
con_showonload=1
i_forcefeedback=0
g_infiniteammo=1
e_ObjectLayersActivation=0
e_ObjectLayersActivationPhysics=0
g_flashrenderingduringloading=0
sys_maxfps=0
r_vsync=0
p_max_substeps=1
demo_file=autotest
demo_num_runs=0
demo_quit=1
demo_ai=1
-10
View File
@@ -1,15 +1,5 @@
ConsoleHide
g_godMode=1
g_infiniteammo=1
r_displayinfo=1
s_profiling=1
sys_maxfps=0
e_ObjectLayersActivation=0
e_ObjectLayersActivationPhysics=0
demo_file=autotest
demo_num_runs=2
demo_quit=1
demo_savestats=1
demo_profile=-1
demo
+1 -8
View File
@@ -1,12 +1,5 @@
ConsoleHide
g_godMode=1
g_infiniteammo=1
r_displayinfo=1
s_profiling=1
sys_maxfps=0
demo_file=playthru
demo_num_runs=2
demo_quit=1
demo_savestats=1
demo_profile=-1
demo
demo
@@ -11,113 +11,16 @@
; default of this CVarGroup
= 7
sys_spec_ObjectDetail=7
sys_spec_Shading=7
sys_spec_VolumetricEffects=7
sys_spec_Shadows=7
sys_spec_Texture=7
sys_spec_Physics=7
sys_spec_PostProcessing=7
sys_spec_Particles=7
sys_spec_Sound=7
sys_spec_Water=7
sys_spec_GameEffects=7
sys_spec_light=7
[1]
sys_spec_ObjectDetail=1
sys_spec_Shading=1
sys_spec_VolumetricEffects=1
sys_spec_Shadows=1
sys_spec_Texture=1
sys_spec_Physics=1
sys_spec_PostProcessing=1
sys_spec_Particles=1
sys_spec_Sound=1
sys_spec_Water=1
sys_spec_GameEffects=1
sys_spec_light=1
[2]
sys_spec_ObjectDetail=2
sys_spec_Shading=2
sys_spec_VolumetricEffects=2
sys_spec_Shadows=2
sys_spec_Texture=2
sys_spec_Physics=2
sys_spec_PostProcessing=2
sys_spec_Particles=2
sys_spec_Sound=2
sys_spec_Water=2
sys_spec_GameEffects=2
sys_spec_light=2
[3]
sys_spec_ObjectDetail=3
sys_spec_Shading=3
sys_spec_VolumetricEffects=3
sys_spec_Shadows=3
sys_spec_Texture=3
sys_spec_Physics=3
sys_spec_PostProcessing=3
sys_spec_Particles=3
sys_spec_Sound=3
sys_spec_Water=3
sys_spec_GameEffects=3
sys_spec_light=3
[4]
sys_spec_ObjectDetail=4
sys_spec_Shading=4
sys_spec_VolumetricEffects=4
sys_spec_Shadows=4
sys_spec_Texture=4
sys_spec_Physics=4
sys_spec_PostProcessing=4
sys_spec_Particles=4
sys_spec_Sound=4
sys_spec_Water=4
sys_spec_GameEffects=4
sys_spec_light=4
[5]
sys_spec_ObjectDetail=5
sys_spec_Shading=5
sys_spec_VolumetricEffects=5
sys_spec_Shadows=5
sys_spec_Texture=5
sys_spec_Physics=5
sys_spec_PostProcessing=5
sys_spec_Particles=5
sys_spec_Sound=5
sys_spec_Water=5
sys_spec_GameEffects=5
sys_spec_light=5
[6]
sys_spec_ObjectDetail=6
sys_spec_Shading=6
sys_spec_VolumetricEffects=6
sys_spec_Shadows=6
sys_spec_Texture=6
sys_spec_Physics=6
sys_spec_PostProcessing=6
sys_spec_Particles=6
sys_spec_Sound=6
sys_spec_Water=6
sys_spec_GameEffects=6
sys_spec_light=6
[8]
sys_spec_ObjectDetail=8
sys_spec_Shading=8
sys_spec_VolumetricEffects=8
sys_spec_Shadows=8
sys_spec_Texture=8
sys_spec_Physics=8
sys_spec_PostProcessing=8
sys_spec_Particles=8
sys_spec_Sound=8
sys_spec_Water=8
sys_spec_GameEffects=8
sys_spec_light=8
@@ -1,8 +0,0 @@
[default]
; default of this CVarGroup
= 7
mfx_Timeout = 0.01
@@ -1,160 +0,0 @@
[default]
; default of this CVarGroup
= 7
ca_AttachmentCullingRation=360
es_DebrisLifetimeScale=1
e_CoverageBufferReproj=6
e_DecalsAllowGameDecals=1
e_DecalsLifeTimeScale=2
e_DecalsOverlapping=1
e_Dissolve=2
e_LightQuality=3
e_LodMin=0
e_LodRatio=20
e_MaxViewDistSpecLerp=1
e_MergedMeshesInstanceDist=1.0
e_MergedMeshesPool=8192
e_ObjQuality=3
e_OcclusionCullingViewDistRatio=1
e_ProcVegetation=1
e_StatObjBufferRenderTasks=1
e_StreamCgf=0
e_TerrainLodRatio=1
e_TerrainOcclusionCullingMaxDist=200
e_Tessellation=0
e_VegetationMinSize=0
e_ViewDistMin=10
e_ViewDistRatio=100
e_ViewDistRatioCustom=100
e_ViewDistRatioDetail=100
e_ViewDistRatioLights=50
e_ViewDistRatioVegetation=100
r_DrawNearZRange=0.12
r_FlaresTessellationRatio=1
r_SilhouettePOM=0
r_usezpass=2
[1]
ca_AttachmentCullingRation=145
es_DebrisLifetimeScale=0.6
e_DecalsLifeTimeScale=1
e_Dissolve=0
e_LightQuality=1
e_LodRatio=10
e_MaxViewDistSpecLerp=0.5
e_ObjQuality=1
e_TerrainOcclusionCullingMaxDist=130
e_VegetationMinSize=0.5
e_ViewDistRatioCustom=60
e_ViewDistRatioDetail=25
e_ViewDistRatioLights=25
e_ViewDistRatioVegetation=21
r_FlaresTessellationRatio=0.25
r_usezpass=1
e_ProcVegetation=0
e_ViewDistRatio=50
[2]
ca_AttachmentCullingRation=145
es_DebrisLifetimeScale=0.6
e_DecalsLifeTimeScale=1
e_Dissolve=0
e_LightQuality=2
e_LodRatio=10
e_MaxViewDistSpecLerp=0.5
e_ObjQuality=2
e_TerrainOcclusionCullingMaxDist=130
e_VegetationMinSize=0.5
e_ViewDistRatioCustom=60
e_ViewDistRatioDetail=25
e_ViewDistRatioLights=25
e_ViewDistRatioVegetation=50
r_FlaresTessellationRatio=0.25
r_usezpass=1
e_ProcVegetation=1
e_ViewDistRatio=50
[3]
ca_AttachmentCullingRation=145
es_DebrisLifetimeScale=0.6
e_DecalsLifeTimeScale=1
e_Dissolve=0
e_LightQuality=3
e_LodRatio=10
e_MaxViewDistSpecLerp=0.5
e_ObjQuality=3
e_TerrainOcclusionCullingMaxDist=130
e_VegetationMinSize=0.5
e_ViewDistRatioCustom=60
e_ViewDistRatioDetail=25
e_ViewDistRatioLights=25
e_ViewDistRatioVegetation=50
r_FlaresTessellationRatio=0.25
r_usezpass=1
e_ProcVegetation=1
e_ViewDistRatio=75
[4]
ca_AttachmentCullingRation=145
es_DebrisLifetimeScale=0.6
e_DecalsLifeTimeScale=1
e_Dissolve=0
e_LightQuality=4
e_LodRatio=10
e_MaxViewDistSpecLerp=0.5
e_ObjQuality=4
e_TerrainOcclusionCullingMaxDist=130
e_VegetationMinSize=0.5
e_ViewDistRatioCustom=60
e_ViewDistRatioDetail=25
e_ViewDistRatioLights=25
e_ViewDistRatioVegetation=50
r_FlaresTessellationRatio=0.25
r_usezpass=1
e_ProcVegetation=1
e_ViewDistRatio=75
[5]
ca_AttachmentCullingRation=145
es_DebrisLifetimeScale=0.6
e_DecalsLifeTimeScale=1
e_LightQuality=1
e_LodRatio=10
e_MaxViewDistSpecLerp=0.5
e_ObjQuality=1
e_TerrainOcclusionCullingMaxDist=130
e_VegetationMinSize=0.5
e_ViewDistRatio=50
e_ViewDistRatioCustom=60
e_ViewDistRatioDetail=25
e_ViewDistRatioLights=25
e_ViewDistRatioVegetation=50
r_FlaresTessellationRatio=0.25
[6]
ca_AttachmentCullingRation=300
es_DebrisLifetimeScale=0.8
e_LightQuality=2
e_LodRatio=15
e_ObjQuality=2
e_ViewDistRatio=75
e_ViewDistRatioDetail=35
e_ViewDistRatioVegetation=75
[8]
ca_AttachmentCullingRation=400
e_LightQuality=4
e_LodRatio=40
e_MergedMeshesInstanceDist=2.0
e_MergedMeshesPool=16384
e_ObjQuality=4
e_TerrainLodRatio=0.5
e_Tessellation=1
e_ViewDistRatio=125
e_ViewDistRatioCustom=125
e_ViewDistRatioDetail=125
e_ViewDistRatioLights=75
e_ViewDistRatioVegetation=125
r_DrawNearZRange = 0.08
r_SilhouettePOM=1
@@ -1,94 +0,0 @@
[default]
; default of this CVarGroup
= 7
e_ParticlesGI=1
e_ParticlesPreload=0
e_ParticlesMaxScreenFill=128
e_ParticlesMinDrawPixels=1
e_ParticlesMotionBlur=0
e_ParticlesObjectCollisions=2
e_ParticlesQuality=3
e_ParticlesSortQuality=0
e_ParticlesPoolSize=16384
r_ParticlesHalfRes=0
r_ParticlesTessellation=1
r_ParticlesInstanceVertices=1
r_ParticlesGpuMaxEmitCount=10000
[1]
e_ParticlesGI=0
e_ParticlesPreload=1
e_ParticlesMaxScreenFill=16
e_ParticlesMinDrawPixels=2
e_ParticlesObjectCollisions=1
e_ParticlesQuality=2
e_ParticlesPoolSize=4096
r_ParticlesHalfRes=1
r_ParticlesTessellation=0
r_ParticlesInstanceVertices=0
r_ParticlesGpuMaxEmitCount=10
[2]
e_ParticlesGI=0
e_ParticlesPreload=1
e_ParticlesMaxScreenFill=16
e_ParticlesMinDrawPixels=2
e_ParticlesObjectCollisions=1
e_ParticlesQuality=2
e_ParticlesPoolSize=4096
r_ParticlesHalfRes=1
r_ParticlesTessellation=0
r_ParticlesInstanceVertices=0
r_ParticlesGpuMaxEmitCount=100
[3]
e_ParticlesGI=0
e_ParticlesPreload=1
e_ParticlesMaxScreenFill=16
e_ParticlesMinDrawPixels=2
e_ParticlesObjectCollisions=1
e_ParticlesQuality=2
e_ParticlesPoolSize=4096
r_ParticlesHalfRes=1
r_ParticlesTessellation=0
r_ParticlesInstanceVertices=0
r_ParticlesGpuMaxEmitCount=500
[4]
e_ParticlesGI=0
e_ParticlesPreload=1
e_ParticlesMaxScreenFill=16
e_ParticlesMinDrawPixels=2
e_ParticlesObjectCollisions=1
e_ParticlesQuality=2
e_ParticlesPoolSize=4096
r_ParticlesHalfRes=1
r_ParticlesTessellation=0
r_ParticlesInstanceVertices=0
r_ParticlesGpuMaxEmitCount=1000
[5]
e_ParticlesMaxScreenFill=32
e_ParticlesMinDrawPixels=1.5
e_ParticlesObjectCollisions=1
e_ParticlesQuality=1
r_ParticlesHalfRes=1
r_ParticlesTessellation=0
r_ParticlesGpuMaxEmitCount=3000
[6]
e_ParticlesMaxScreenFill=64
e_ParticlesObjectCollisions=1
e_ParticlesQuality=2
r_ParticlesGpuMaxEmitCount=5000
[8]
e_ParticlesMaxScreenFill=160
e_ParticlesMotionBlur=1
e_ParticlesQuality=4
r_ParticlesGpuMaxEmitCount=1048576
@@ -1,100 +0,0 @@
[default]
; default of this CVarGroup
= 7
es_MaxPhysDist=100
es_MaxPhysDistInvisible=25
e_CullVegActivation=50
e_FoliageWindActivationDist=25
e_PhysMinCellSize=4
e_PhysOceanCell=0.5
e_PhysProxyTriLimit=10000
g_breakage_mem_limit=0
g_breakage_particles_limit=160
g_no_secondary_breaking=0
g_tree_cut_reuse_dist=0
p_gravity_z=-13
p_max_entity_cells=300000
p_max_MC_iters=6000
p_max_object_splashes=3
p_max_substeps=5
p_max_substeps_large_group=5
p_num_bodies_large_group=100
p_splash_dist0=7
p_splash_dist1=30
p_splash_force0=10
p_splash_force1=100
p_splash_vel0=4.5
p_splash_vel1=10
v_vehicle_quality=4
[1]
es_MaxPhysDistInvisible=15
e_CullVegActivation=30
e_FoliageWindActivationDist=10
e_PhysMinCellSize=16
e_PhysOceanCell=1
g_breakage_mem_limit=2000
g_breakage_particles_limit=40
g_no_secondary_breaking=1
g_tree_cut_reuse_dist=1
p_max_entity_cells=75000
p_max_MC_iters=2000
p_max_substeps=2
[2]
es_MaxPhysDistInvisible=15
e_CullVegActivation=30
e_FoliageWindActivationDist=10
e_PhysMinCellSize=16
e_PhysOceanCell=1
g_breakage_mem_limit=2000
g_breakage_particles_limit=40
g_no_secondary_breaking=1
g_tree_cut_reuse_dist=1
p_max_entity_cells=75000
p_max_MC_iters=2000
p_max_substeps=2
[3]
es_MaxPhysDistInvisible=15
e_CullVegActivation=30
e_FoliageWindActivationDist=10
e_PhysMinCellSize=16
e_PhysOceanCell=1
g_breakage_mem_limit=2000
g_breakage_particles_limit=40
g_no_secondary_breaking=1
g_tree_cut_reuse_dist=1
p_max_entity_cells=75000
p_max_MC_iters=2000
p_max_substeps=2
[4]
es_MaxPhysDistInvisible=15
e_CullVegActivation=30
e_FoliageWindActivationDist=10
e_PhysMinCellSize=16
e_PhysOceanCell=1
g_breakage_mem_limit=2000
g_breakage_particles_limit=40
g_no_secondary_breaking=1
g_tree_cut_reuse_dist=1
p_max_entity_cells=75000
p_max_MC_iters=2000
p_max_substeps=2
[5]
es_MaxPhysDist=50
es_MaxPhysDistInvisible=15
e_CullVegActivation=30
e_FoliageWindActivationDist=10
e_PhysOceanCell=1
g_breakage_particles_limit=80
g_tree_cut_reuse_dist=0.35
p_max_MC_iters=4000
p_max_substeps=2
[6]
[8]
@@ -1,114 +0,0 @@
[default]
; default of this CVarGroup
= 7
r_PostProcessEffects=1
q_ShaderHDR=2
q_ShaderPostProcess=2
r_ChromaticAberration=0
r_ColorGradingChartsCache=0
r_DepthOfField=2
r_Flares=1
r_HDRBloomQuality=2
r_MotionBlur=2
r_MotionBlurMaxViewDist=100000
r_MotionBlurQuality=1
r_MotionBlurShutterSpeed=125
r_Rain=2
r_RainMaxViewDist_Deferred=150
r_Sharpening=0
r_Snow=2
r_SunShafts=2
r_TranspDepthFixup=1
r_ToneMapTechnique=0
r_ToneMapExposureType=0
r_HDRBloom=1
r_ColorGrading=1
r_ColorSpace=0
[1]
q_ShaderHDR=1
q_ShaderPostProcess=1
r_ColorGrading=0
r_DepthOfField=0
r_Flares=0
r_HDRBloom=0
r_HDRBloomQuality=0
r_MotionBlur=0
r_MotionBlurMaxViewDist=16
r_MotionBlurQuality=0
r_Rain=1
r_RainMaxViewDist_Deferred=40
r_Snow=1
r_SunShafts=0
r_TranspDepthFixup=0
r_ToneMapTechnique=3
r_ToneMapExposureType=1
r_ColorSpace=2
[2]
q_ShaderHDR=1
q_ShaderPostProcess=1
r_ColorGradingChartsCache=4
r_DepthOfField=1
r_Flares=0
r_HDRBloomQuality=0
r_MotionBlur=0
r_MotionBlurMaxViewDist=16
r_MotionBlurQuality=0
r_Rain=1
r_RainMaxViewDist_Deferred=40
r_Snow=1
r_SunShafts=1
r_TranspDepthFixup=0
[3]
q_ShaderHDR=1
q_ShaderPostProcess=2
r_ColorGradingChartsCache=4
r_DepthOfField=1
r_HDRBloomQuality=1
r_MotionBlur=0
r_MotionBlurMaxViewDist=16
r_MotionBlurQuality=0
r_Rain=1
r_RainMaxViewDist_Deferred=40
r_Snow=1
r_SunShafts=1
r_TranspDepthFixup=0
[4]
q_ShaderHDR=1
q_ShaderPostProcess=2
r_ColorGradingChartsCache=4
r_DepthOfField=1
r_HDRBloomQuality=1
r_MotionBlur=0
r_MotionBlurMaxViewDist=16
r_MotionBlurQuality=0
r_Rain=1
r_RainMaxViewDist_Deferred=40
r_Snow=1
r_SunShafts=1
r_TranspDepthFixup=0
[5]
q_ShaderHDR=1
q_ShaderPostProcess=1
r_ColorGradingChartsCache=4
r_MotionBlurMaxViewDist=16
r_MotionBlurQuality=0
r_RainMaxViewDist_Deferred=40
r_TranspDepthFixup=0
[6]
q_ShaderHDR=1
q_ShaderPostProcess=1
r_RainMaxViewDist_Deferred=100
[8]
q_ShaderHDR=3
q_ShaderPostProcess=3
r_MotionBlurQuality=2
@@ -1,98 +0,0 @@
[default]
; default of this CVarGroup
= 7
q_ShaderGeneral=2
q_ShaderMetal=2
q_ShaderGlass=2
q_ShaderVegetation=2
q_ShaderIce=2
q_ShaderTerrain=2
q_ShaderShadow=2
q_ShaderFX=2
q_ShaderSky=2
q_Renderer=2
[1]
q_ShaderGeneral=1
q_ShaderMetal=1
q_ShaderGlass=1
q_ShaderVegetation=1
q_ShaderIce=1
q_ShaderTerrain=1
q_ShaderShadow=1
q_ShaderFX=1
q_ShaderSky=1
q_Renderer=1
[2]
q_ShaderGeneral=1
q_ShaderMetal=1
q_ShaderGlass=1
q_ShaderVegetation=1
q_ShaderIce=1
q_ShaderTerrain=1
q_ShaderShadow=1
q_ShaderFX=1
q_ShaderSky=1
q_Renderer=1
[3]
q_ShaderGeneral=1
q_ShaderMetal=1
q_ShaderGlass=1
q_ShaderVegetation=1
q_ShaderIce=1
q_ShaderTerrain=1
q_ShaderShadow=1
q_ShaderFX=1
q_ShaderSky=1
q_Renderer=2
[4]
q_ShaderGeneral=1
q_ShaderMetal=1
q_ShaderGlass=1
q_ShaderVegetation=1
q_ShaderIce=1
q_ShaderTerrain=1
q_ShaderShadow=1
q_ShaderFX=1
q_ShaderSky=1
q_Renderer=2
[5]
q_ShaderGeneral=1
q_ShaderMetal=1
q_ShaderGlass=1
q_ShaderVegetation=1
q_ShaderIce=1
q_ShaderTerrain=1
q_ShaderShadow=1
q_ShaderFX=1
q_ShaderSky=1
q_Renderer=1
[6]
q_ShaderGeneral=1
q_ShaderMetal=1
q_ShaderGlass=1
q_ShaderVegetation=1
q_ShaderIce=1
q_ShaderTerrain=1
q_ShaderShadow=1
q_ShaderFX=1
q_ShaderSky=1
q_Renderer=1
[8]
q_ShaderGeneral=3
q_ShaderMetal=3
q_ShaderGlass=3
q_ShaderVegetation=3
q_ShaderIce=3
q_ShaderTerrain=3
q_ShaderShadow=3
q_ShaderFX=3
q_ShaderSky=3
q_Renderer=3
@@ -1,120 +0,0 @@
[default]
; default of this CVarGroup
= 7
e_CacheNearestCubePicking=1
e_DynamicLightsMaxEntityLights=16
e_GI=1
e_LightVolumes=1
e_SkyUpdateRate=1
e_TerrainAo=0
e_VegetationUseTerrainColor=1
r_DeferredShadingDepthBoundsTest=1
r_DeferredShadingTiled=2
r_DeferredShadingTiledHairQuality=1
r_deferredShadingFilterGBuffer=0
r_DeferredShadingSSS=1
r_AntialiasingMode=3
r_DetailDistance=8
r_EnvTexUpdateInterval=0.05
r_Refraction=1
r_RefractionPartialResolves=2
r_ssdo=1
r_ssdoHalfRes=2
r_ssdoColorBleeding=1
r_SSReflections=1
r_SSReflHalfRes=1
r_VisAreaClipLightsPerPixel=1
sys_spec_Quality=7
[1]
e_DynamicLightsMaxEntityLights=2
e_GI=0
e_SkyUpdateRate=0.5
e_VegetationUseTerrainColor=0
r_DeferredShadingTiled=0
r_DeferredShadingTiledHairQuality=0
r_DeferredShadingSSS=0
r_AntialiasingMode=0
r_DetailDistance=4
r_EnvTexUpdateInterval=0.075
r_Refraction=0
r_RefractionPartialResolves=0
r_ssdo=0
r_ssdoHalfRes=1
r_ssdoColorBleeding=0
r_SSReflections=0
sys_spec_Quality=1
[2]
e_DynamicLightsMaxEntityLights=2
e_GI=0
e_SkyUpdateRate=0.5
e_VegetationUseTerrainColor=0
r_DeferredShadingTiled=0
r_DeferredShadingTiledHairQuality=0
r_DeferredShadingSSS=0
r_AntialiasingMode=0
r_DetailDistance=4
r_EnvTexUpdateInterval=0.075
r_RefractionPartialResolves=0
r_ssdo=0
r_ssdoHalfRes=1
r_ssdoColorBleeding=0
r_SSReflections=0
sys_spec_Quality=2
[3]
e_DynamicLightsMaxEntityLights=2
e_GI=0
e_SkyUpdateRate=0.5
e_VegetationUseTerrainColor=0
r_DeferredShadingTiled=0
r_DeferredShadingTiledHairQuality=0
r_DeferredShadingSSS=0
r_AntialiasingMode=0
r_DetailDistance=4
r_EnvTexUpdateInterval=0.075
r_RefractionPartialResolves=0
r_ssdo=0
r_ssdoColorBleeding=0
r_SSReflections=0
sys_spec_Quality=3
[4]
e_DynamicLightsMaxEntityLights=2
e_GI=0
e_SkyUpdateRate=0.5
e_VegetationUseTerrainColor=0
r_DeferredShadingTiled=0
r_DeferredShadingTiledHairQuality=0
r_DeferredShadingSSS=0
r_AntialiasingMode=0
r_DetailDistance=4
r_EnvTexUpdateInterval=0.075
r_RefractionPartialResolves=0
r_ssdo=1
r_ssdoHalfRes=1
r_ssdoColorBleeding=0
r_SSReflections=0
sys_spec_Quality=4
[5]
e_DynamicLightsMaxEntityLights=7
e_GI=0
e_SkyUpdateRate=0.5
r_DetailDistance=4
r_EnvTexUpdateInterval=0.075
r_SSReflections=0
r_DeferredShadingTiledHairQuality=0
r_DeferredShadingSSS=0
sys_spec_Quality=5
[6]
e_DynamicLightsMaxEntityLights=11
sys_spec_Quality=6
[8]
r_DeferredShadingTiledHairQuality=2
r_SSReflHalfRes=0
sys_spec_Quality=8
@@ -1,116 +0,0 @@
[default]
; default of this CVarGroup
= 7
e_GsmLodsNum=5
e_GsmRange=3
e_ParticlesShadows=1
e_Shadows=1
e_ShadowsBlendCascades=1
e_ShadowsClouds=1
e_ShadowsCastViewDistRatio=1
e_ShadowsLodBiasFixed=0
e_ShadowsMaxTexRes=1024
e_ShadowsOnAlphaBlend=0
e_ShadowsPoolSize=4096
e_ShadowsResScale=4
e_ShadowsTessellateCascades=1
e_ShadowsTessellateDLights=0
e_ShadowsUpdateViewDistRatio=256
r_DrawNearShadows=1
r_FogShadows=2
r_FogShadowsWater=0
r_ShadowJittering=2.5
r_ShadowPoolMaxFrames=30
r_ShadowPoolMaxTimeslicedUpdatesPerFrame=100
r_ShadowsPCFiltering=1
r_ShadowsCache=4
r_ShadowsCacheFormat=1
r_ShadowsCacheResolutions=6324,4214
r_ShadowsUseClipVolume=1
e_ObjShadowCastSpec=3
[1]
e_GsmLodsNum=3
e_ParticlesShadows=0
e_ShadowsBlendCascades=0
e_ShadowsCastViewDistRatio=0.8
e_ShadowsLodBiasFixed=1
e_ShadowsMaxTexRes=512
r_DrawNearShadows=0
r_FogShadows=0
r_ShadowJittering=0
r_ShadowsCacheFormat=0
r_ShadowsCacheResolutions=3162,2107
e_ObjShadowCastSpec=1
e_ShadowsPoolSize=1024
[2]
e_GsmLodsNum=4
e_ParticlesShadows=0
e_ShadowsBlendCascades=0
e_ShadowsCastViewDistRatio=0.8
e_ShadowsLodBiasFixed=1
e_ShadowsMaxTexRes=512
r_DrawNearShadows=0
r_FogShadows=0
r_ShadowJittering=0
r_ShadowsCacheFormat=0
r_ShadowsCacheResolutions=3162,2107
e_ObjShadowCastSpec=1
e_ShadowsPoolSize=1024
[3]
e_GsmLodsNum=4
e_ParticlesShadows=0
e_ShadowsBlendCascades=0
e_ShadowsCastViewDistRatio=0.8
e_ShadowsLodBiasFixed=1
e_ShadowsMaxTexRes=512
r_DrawNearShadows=0
r_FogShadows=0
r_ShadowJittering=0
r_ShadowsCacheFormat=0
r_ShadowsCacheResolutions=3162,2107
e_ObjShadowCastSpec=1
e_ShadowsPoolSize=1024
[4]
e_GsmLodsNum=4
e_ParticlesShadows=0
e_ShadowsBlendCascades=0
e_ShadowsCastViewDistRatio=0.8
e_ShadowsLodBiasFixed=1
e_ShadowsMaxTexRes=512
r_DrawNearShadows=0
r_FogShadows=0
r_ShadowJittering=0
r_ShadowsCacheFormat=0
r_ShadowsCacheResolutions=3162,2107
e_ObjShadowCastSpec=1
e_ShadowsPoolSize=1024
[5]
e_GsmLodsNum=4
e_ParticlesShadows=0
e_ShadowsBlendCascades=0
e_ShadowsCastViewDistRatio=0.8
e_ShadowsLodBiasFixed=1
e_ShadowsMaxTexRes=512
r_FogShadows=0
r_ShadowJittering=1
e_ObjShadowCastSpec=1
r_ShadowsCacheResolutions=3162,2107
[6]
r_ShadowJittering=1
e_ObjShadowCastSpec=2
[8]
r_FogShadows=1
r_FogShadowsWater=1
r_ShadowPoolMaxFrames=0
r_ShadowPoolMaxTimeslicedUpdatesPerFrame=100
e_ObjShadowCastSpec=4
r_ShadowsCache=5
r_ShadowsCacheResolutions=4214
@@ -1,17 +0,0 @@
[default]
; default of this CVarGroup
= 7
[1]
[2]
[3]
[4]
[5]
[6]
[8]
@@ -1,94 +0,0 @@
[default]
; default of this CVarGroup
= 7
e_TerrainTextureStreamingPoolItemsNum=64
r_DynTexAtlasCloudsMaxSize=32
r_DynTexAtlasSpritesMaxSize=32
r_DynTexMaxSize=80
r_EnvCMResolution=2
r_EnvTexResolution=3
r_ImposterRatio=1
r_TexAtlasSize=2048
r_TexMaxAnisotropy=4
r_TexMinAnisotropy=4
r_TexNoAnisoAlphaTest=0
[1]
e_TerrainTextureStreamingPoolItemsNum=16
r_DynTexAtlasCloudsMaxSize=8
r_DynTexAtlasSpritesMaxSize=8
r_DynTexMaxSize=20
r_EnvCMResolution=0
r_EnvTexResolution=1
r_ImposterRatio=2
r_TexAtlasSize=512
r_TexMaxAnisotropy=2
r_TexMinAnisotropy=2
r_TexNoAnisoAlphaTest=1
[2]
e_TerrainTextureStreamingPoolItemsNum=16
r_DynTexAtlasCloudsMaxSize=8
r_DynTexAtlasSpritesMaxSize=8
r_DynTexMaxSize=20
r_EnvCMResolution=0
r_EnvTexResolution=1
r_ImposterRatio=2
r_TexAtlasSize=512
r_TexMaxAnisotropy=2
r_TexMinAnisotropy=2
r_TexNoAnisoAlphaTest=1
[3]
e_TerrainTextureStreamingPoolItemsNum=16
r_DynTexAtlasCloudsMaxSize=8
r_DynTexAtlasSpritesMaxSize=8
r_DynTexMaxSize=20
r_EnvCMResolution=0
r_EnvTexResolution=1
r_ImposterRatio=2
r_TexAtlasSize=512
r_TexMaxAnisotropy=2
r_TexMinAnisotropy=2
r_TexNoAnisoAlphaTest=1
[4]
e_TerrainTextureStreamingPoolItemsNum=16
r_DynTexAtlasCloudsMaxSize=8
r_DynTexAtlasSpritesMaxSize=8
r_DynTexMaxSize=20
r_EnvCMResolution=0
r_EnvTexResolution=1
r_ImposterRatio=2
r_TexAtlasSize=512
r_TexMaxAnisotropy=2
r_TexMinAnisotropy=2
r_TexNoAnisoAlphaTest=1
[5]
r_DynTexAtlasCloudsMaxSize=24
r_DynTexAtlasSpritesMaxSize=16
r_DynTexMaxSize=50
r_EnvCMResolution=0
r_EnvTexResolution=1
r_ImposterRatio=2
r_TexAtlasSize=512
r_TexMaxAnisotropy=2
r_TexMinAnisotropy=2
r_TexNoAnisoAlphaTest=1
[6]
r_DynTexAtlasCloudsMaxSize=24
r_DynTexAtlasSpritesMaxSize=16
r_DynTexMaxSize=60
r_EnvCMResolution=1
r_EnvTexResolution=2
r_ImposterRatio=1.5
r_TexMaxAnisotropy=8
r_TexMinAnisotropy=8
r_TexNoAnisoAlphaTest=1
[8]
r_TexMaxAnisotropy=16
r_TexMinAnisotropy=16
@@ -1,52 +0,0 @@
[default]
; dummy default for this CVarGroup (will be auto initialized during streaming system init or overridden by user via system.cfg)
= 0
; VRAM 1.0 GB
r_TexturesStreaming=1
r_TexturesStreamingMipBias=0
r_TexturesstreamingMinUsableMips=8
r_TexturesStreamingSkipMips=2
r_TexturesStreamPoolSize=256
[1]
; VRAM 1.0 GB
r_TexturesStreaming=0
r_TexturesStreamingSkipMips=0
r_TexturesStreamPoolSize=384
[2]
; VRAM 1.0 GB
r_TexturesStreaming=0
r_TexturesStreamingSkipMips=0
r_TexturesStreamPoolSize=384
[3]
; VRAM 1.0 GB
r_TexturesStreaming=0
r_TexturesStreamingSkipMips=0
r_TexturesStreamPoolSize=384
[4]
; VRAM 1.0 GB
r_TexturesStreaming=0
r_TexturesStreamingSkipMips=0
r_TexturesStreamPoolSize=384
[5]
; VRAM 1.0 GB
[6]
; VRAM 1.5 GB
r_TexturesStreamingSkipMips=1
r_TexturesStreamPoolSize=512
[7]
; VRAM 2.0 GB
r_TexturesStreamingSkipMips=0
r_TexturesStreamPoolSize=640
[8]
; VRAM 3.0 GB
r_TexturesStreamingSkipMips=0
r_TexturesStreamPoolSize=1536
@@ -1,26 +0,0 @@
[default]
; default of this CVarGroup
= 7
e_Clouds=1
r_Beams=1
[1]
r_Beams=0
[2]
r_Beams=0
[3]
r_Beams=0
[4]
r_Beams=0
[5]
r_Beams=0
[6]
r_Beams=0
[8]
@@ -1,81 +0,0 @@
[default]
; default of this CVarGroup
= 7
e_WaterOceanFFT=1
e_WaterTessellationAmount=10
e_WaterTessellationSwathWidth=10
q_ShaderWater=2
r_WaterCaustics=1
r_WaterReflections=1
r_WaterReflectionsQuality=4
r_WaterReflectionsMinVisiblePixelsUpdate=0.05
r_WaterTessellationHW=0
r_WaterUpdateDistance=0.2
r_WaterUpdateFactor=0.0
r_WaterVolumeCaustics=0
r_WaterVolumeCausticsDensity=256
r_WaterVolumeCausticsMaxDist=35
r_WaterVolumeCausticsRes=1024
r_WaterVolumeCausticsSnapFactor=1
[1]
e_WaterTessellationAmount=20
q_ShaderWater=1
r_WaterReflectionsQuality=0
r_WaterUpdateDistance=1
r_WaterUpdateFactor=0.1
r_WaterVolumeCausticsDensity=64
r_WaterVolumeCausticsMaxDist=20
r_WaterVolumeCausticsRes=384
[2]
e_WaterTessellationAmount=20
q_ShaderWater=1
r_WaterReflectionsQuality=0
r_WaterUpdateDistance=1
r_WaterUpdateFactor=0.1
r_WaterVolumeCausticsDensity=64
r_WaterVolumeCausticsMaxDist=20
r_WaterVolumeCausticsRes=384
[3]
e_WaterTessellationAmount=20
q_ShaderWater=1
r_WaterReflectionsQuality=0
r_WaterUpdateDistance=1
r_WaterUpdateFactor=0.05
r_WaterVolumeCausticsDensity=64
r_WaterVolumeCausticsMaxDist=20
r_WaterVolumeCausticsRes=384
[4]
e_WaterTessellationAmount=20
q_ShaderWater=1
r_WaterReflectionsQuality=4
r_WaterUpdateDistance=1
r_WaterUpdateFactor=0.01
r_WaterVolumeCausticsDensity=64
r_WaterVolumeCausticsMaxDist=20
r_WaterVolumeCausticsRes=384
[5]
e_WaterTessellationAmount=20
q_ShaderWater=1
r_WaterUpdateDistance=1
r_WaterUpdateFactor=0.1
r_WaterVolumeCausticsDensity=64
r_WaterVolumeCausticsMaxDist=20
r_WaterVolumeCausticsRes=384
[6]
r_WaterUpdateDistance=1
r_WaterUpdateFactor=0.05
r_WaterVolumeCausticsDensity=128
r_WaterVolumeCausticsMaxDist=25
r_WaterVolumeCausticsRes=512
[8]
e_WaterTessellationAmount=85
r_WaterTessellationHW=1
r_WaterVolumeCaustics=1
-3
View File
@@ -1,4 +1 @@
ai_DebugDraw = 1
ai_DebugDrawNavigation = 1
ai_DrawPath all
ai_debugMNMAgentType MediumSizedCharacters
+1 -13
View File
@@ -1,7 +1,6 @@
; Setup useful cvars for artists profiling GPU cost
; Once in level (e.g. map c3mp_rooftop_gardens from the frontend/cmdline), in the console:
; exec artprof.cfg
; Be sure also to set r_shadersAsyncActivation=0 in your user.cfg (or copy artprof_user.cfg -> user.cfg)
; used to allow loading of loose shaders
sys_pakPriority=0
@@ -9,19 +8,8 @@ sys_pakPriority=0
; because it's annoying and not relevant for artists
sys_pakLogInvalidFileAccess=0
; disable fog volumes and particles as they can be misleading with r_measureOverdraw 4
e_fogVolumes=0
e_particles=0
; for convenience
g_infiniteSuitEnergy=1
g_infiniteAmmo=1
g_timelimit=0
bind o "r_measureOverdraw 0"
bind p "r_measureOverdraw 4"
bind k "r_artProfile 0"
bind l "r_artProfile 1"
; loading into an MP level with the map command stops you looking up and down unless you have a weapon
i_giveitem scar
-3
View File
@@ -1,6 +1,3 @@
; disable async shader activation as it crashes when r_shadersAllowCompilation=1
r_shadersAsyncActivation=0
; enable shader compiliation for r_measureOverdraw 4
r_shadersAllowCompilation=1
-10
View File
@@ -1,13 +1,3 @@
demo_restart_level = 2
g_godMode=1
g_infiniteammo=1
r_displayinfo=1
demo_file = autotest
demo_ai = 1
demo_num_runs = 4
demo_quit = 1
hud_startPaused=0
sys_maxfps=0
e_ObjectLayersActivation=0
sys_flash = 0
r_vsync = 0
+1 -11
View File
@@ -1,13 +1,3 @@
demo_restart_level = 1
g_godMode = 1
g_infiniteammo = 1
r_displayinfo = 2
demo_file = timedemo_short
demo_ai = 0
demo_num_runs = 2
demo_quit = 1
-- hud_startPaused = 0
sys_maxfps = -1
-- e_ObjectLayersActivation = 0
-- sys_flash = 0
r_vsync = 0
r_vsync = 0
-6
View File
@@ -1,6 +0,0 @@
r_ColorGradingChartsCache = 0
r_waterupdateFactor = 0
r_PostProcessHUD3DCache = 0
e_gsmcache = 0
r_ConditionalRendering = 0
e_gicache = 0
-77
View File
@@ -1,77 +0,0 @@
ag_turnSpeedParamScale=0.0
aim_assistFalloffDistance=200
aim_assistInputForFullFollow_Ironsight=0.20
aim_assistMaxDistance=255
aim_assistMaxDistance_ironsight=255
aim_assistMinTurnScale=0.5
aim_assistMinTurnScale_ironsight=0.5
aim_assistSlowDisableDistance=255
aim_assistSlowFalloffStartDistance=200
aim_assistSlowThresholdOuter=2.5
aim_assiststrength=0.7
aim_assiststrength_ironsight=0.75
br_breakmaxworldsize=511
cl_sensitivityControllerMP=0.6
cl_shallowWaterSpeedMulPlayer=1.0
controller_multiplier_x=3
controller_multiplier_z=4
g_actorViewDistRatio=255
-- This forces broken trees to have spherical inertia, which makes them harder to rotate around their vertical axis.
g_breakageMinAxisInertia=1.0
g_glassAutoShatterMinArea=0.5
g_distanceForceNoIk=35
g_fpDbaManagementEnable=0
g_godMode=0
g_highlightingMaxDistanceToHighlightSquared=625
g_hitDeathReactions_streaming=2
g_mp_as_DefendersMaxHealth=150
g_multiplayerDefault=1
-- Overriden in GameSDK\Difficulty\*.cfg
g_playerLowHealthThreshold=20
g_playerMidHealthThreshold=60
g_spawn_vistable_numLineTestsPerFrame=3
g_telemetryConfig="MP"
g_telemetrySampleRateBandwidth=3
g_telemetrySampleRateMemory=2
g_telemetrySampleRatePerformance=1
g_VTOLInsideBoundsScaleX=0.6
g_VTOLInsideBoundsScaleY=1
net_breakage_sync_entities=0
net_enable_tfrc=0
net_log=1
-- Make consoles match the PC gravity
p_gravity_z="-13"
-- Sanity check for physics RepositionEntity
p_max_entity_cells=10000
pl_impulseEnabled=1
pl_jump_maxTimerValue=0.0
pl_jump_quickPressThresh=0.12
pl_melee.angle_limit_from_behind=70
pl_melee.impulses_enable=1
pl_melee.melee_snap_angle_limit=45
pl_melee.melee_snap_end_position_range=1.5
pl_melee.melee_snap_move_speed_multiplier=10
pl_melee.melee_snap_target_select_range=3.5
pl_melee.mp_knockback_strength_hor=2
pl_melee.mp_melee_system=1
pl_melee.mp_victim_screenfx_blendout_duration=0.25
pl_melee.mp_victim_screenfx_duration=0.1
pl_nanovision_timetodrain=8
pl_nanovision_timetorecharge=16
pl_pickAndThrow.chargedThrowAutoAimConeSize=10
pl_pickAndThrow.complexMelee_snap_angle_limit=25
pl_sliding_control_mp.deceleration_speed=4
pl_sliding_control_mp.max_downhill_acceleration=15
pl_sliding_control_mp.min_speed=4
pl_sliding_control_mp.min_speed_threshold=5
pl_stealthKill_aimVsSpineLerp=0.65
pl_stealthKill_useExtendedRange=1
p_splash_vel0=0.5
sv_bandwidth=2147483647
@@ -1,29 +0,0 @@
e_GI=0
r_DeferredShadingIndexedAmbient=0
e_ParticlesObjectCollisions=0
g_distanceForceNoLegRaycasts=0.00001
g_telemetryDisplaySessionId=1
g_breakageNoDebrisCollisions=1
; Breakage throttling
; These are explained in ActionGame.cpp
;
g_glassAutoShatterOnExplosions=1
g_glassNoDecals=1
g_glassMaxPanesToBreakPerFrame=2
g_breakageTreeMax=100
g_breakageTreeInc=101
g_breakageTreeDec=25
g_breakageTreeIncGlass=51
sys_PakInMemoryPakSizeLimit=25
r_TexturesStreamPoolSecondarySize=35
r_MotionBlur=1
e_CoverageBufferReproj=2
osm_enabled = 1
g_waterHitOnly = 1
p_max_object_splashes=1
-60
View File
@@ -1,63 +1,3 @@
-- added this lines for proper 360 deg panorama renderings
e_ScreenShotFileFormat = jpg
demo_fixed_timestep = 60
s_SoundEnable = 0
r_DisplayInfo = 0
e_PanoramaScreenShotHeight = 720
e_PanoramaScreenShotWidth = 10053
c_shakeMult = 0
demo_ai = 1
r_MotionBlur = 0
-- enables full water reflection
-- e_DebugMask = 2 -- e_DebugMask not allowed here
-- set weapong lighting effect to 0 to prevent flickering bug because of too much dynamic lights in the scene
sys_spec = 2
r_WaterRefractions = 1
r_WaterReflections = 1
r_WaterUpdateFactor = 0.01
r_WaterReflections_ForceParticles = 0
r_EnvCMResolution = 2
r_EnvTexResolution = 3
r_EnvTexUpdateInterval = 0.05
e_Decals = 1
e_DecalsLifeTimeScale = 2
ca_EnableDecals = 1
e_LodRatio = 10
e_ViewDistRatio = 55
e_Lods = 1
e_VegetationMinSize = 0
r_CloudsUpdateAlways = 0
e_DynamicLightsMaxEntityLights = 3
r_DepthOfField = 1
--r_MotionBlur = 1
r_Flares = 1
r_checkSunVis = 1
r_Coronas = 1
r_CoronaFade = 0.1625
r_UseEdgeAA = 1
e_Clouds = 1
r_TexResolution = 0
r_TexBumpResolution = 0
r_DetailTextures = 1
r_DetailNumLayers = 1
r_DetailDistance = 8
e_ParticlesLod = 0.9
r_ShadowBlur = 3
e_ShadowsMaxTexRes = 1024
r_ShadowJittering = 1
e_Shadows = 1
e_VegetationBending = 1
ai_UpdateAllAlways = 1
r_refraction = 1
r_sunshafts = 1
r_ImposterRatio = 1
-15
View File
@@ -1,15 +0,0 @@
ai_CompatibilityMode=crysis2
ai_BurstWhileMovingDestinationRange=9999.0
g_telemetryConfig=SP
net_inactivitytimeout=3600
net_inactivitytimeoutDevmode=3600
pl_movement.nonCombat_heavy_weapon_speed_scale=1.0
-- BLM - Don't override game rules. The template project only has DummyRules.
-- Furthermore, multiplayer.cfg doesn't set sv_gamerules, so the inconsistency
-- is likely to create bugs.
--sv_gamerules=SinglePlayer
ca_StreamCHR=1
-24
View File
@@ -1,24 +0,0 @@
r_UseZPass = 1
r_GeomInstancing = 1
e_Fog = 1
e_Clouds = 1
e_Decals = 1
e_TerrainDetailMaterials = 1
e_Dissolve = 1
e_TerrainAo = 1
r_WaterReflections = 1
e_Shadows = 1
e_VegetationBending = 1
r_PostProcessEffects = 1
r_Flares = 1
r_Beams = 1
r_Glow = 1
r_DetailTextures = 1
r_refraction = 1
r_sunshafts = 1
-24
View File
@@ -1,24 +0,0 @@
r_UseZPass = 0
r_GeomInstancing = 0
e_Fog = 0
e_Clouds = 0
e_Decals = 0
e_TerrainDetailMaterials = 0
e_Dissolve = 0
e_TerrainAo = 0
r_WaterReflections = 0
e_Shadows = 0
e_VegetationBending = 0
r_PostProcessEffects = 0
r_Flares = 0
r_Beams = 0
r_Glow = 0
r_DetailTextures = 0
r_refraction = 0
r_sunshafts = 0
@@ -1,76 +1,8 @@
sys_spec_Full=2
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=0
-- Disable gmem for this device because it causes a crash
r_EnableGMEMPath=0
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
sys_job_system_max_worker=2
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
-- This allows the generation of reflections for the ocean water. Without it, the water looks really dark.
e_recursion=1
e_CheckOcclusion=1
r_Fur=0
az_Asset_EnableAsyncMeshLoading=0
------------------------
-- Misc. memory buffers
------------------------
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=1024
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=33554432
ca_StreamCHR=1
------------------------
-- sys_spec_objectdetail
------------------------
e_Dissolve=2
e_LodRatio=5
e_ViewDistRatioDetail=19
e_ViewDistRatioVegetation=21
------------------------
-- sys_spec_postprocessing
------------------------
r_HDRBloom=0
r_SunShafts=0
r_ToneMapTechnique=3
r_ToneMapExposureType=1
r_ColorSpace=2
------------------------
-- sys_spec_shading
------------------------
r_VisAreaClipLightsPerPixel=0
------------------------
-- sys_spec_textureresolution
------------------------
r_TexturesstreamingMinUsableMips=7
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
@@ -1,65 +1,7 @@
sys_spec_Full=3
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=0
-- Enable framebufferfetch(256bpp) or pls if applicable
r_EnableGMEMPath=2
-- Skip the native upscale as a second upscale already occurs
r_SkipNativeUpscale=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
sys_job_system_max_worker=2
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
e_CheckOcclusion=1
r_Fur=0
az_Asset_EnableAsyncMeshLoading=0
------------------------
-- Misc. memory buffers
------------------------
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=1024
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=33554432
ca_StreamCHR=1
------------------------
-- sys_spec_objectdetail
------------------------
e_Dissolve=2
e_LodRatio=5
e_ViewDistRatioDetail=19
------------------------
-- sys_spec_shading
------------------------
r_VisAreaClipLightsPerPixel=0
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
r_ClearGMEMGBuffer=1
-- Sort ligths since we have limited space in the shadowmap pool texture
r_DeferredShadingSortLights = 3
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
@@ -1,61 +1,8 @@
sys_spec_Full=3
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=0
-- Disabling gmem for this configuration
r_EnableGMEMPath=0
-- Skip the native upscale as a second upscale already occurs
r_SkipNativeUpscale=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
sys_job_system_max_worker=2
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
e_CheckOcclusion=1
r_Fur=0
az_Asset_EnableAsyncMeshLoading=0
------------------------
-- Misc. memory buffers
------------------------
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=1024
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=33554432
ca_StreamCHR=1
------------------------
-- sys_spec_objectdetail
------------------------
e_Dissolve=2
e_LodRatio=5
e_ViewDistRatioDetail=19
------------------------
-- sys_spec_shading
------------------------
r_VisAreaClipLightsPerPixel=0
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
-69
View File
@@ -1,76 +1,7 @@
sys_spec_Full=1
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=0
-- Enable framebufferfetch(256bpp) or pls if applicable
r_EnableGMEMPath=1
-- Skip the native upscale as a second upscale already occurs
r_SkipNativeUpscale=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
sys_job_system_max_worker=2
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
-- This allows the generation of reflections for the ocean water. Without it, the water looks really dark.
e_recursion=0
e_CheckOcclusion=1
r_Fur=0
-- Water occlusion queries crash in some OpenGL ES 3.0 devices
e_HwOcclusionCullingWater = 0
az_Asset_EnableAsyncMeshLoading=0
------------------------
-- Misc. memory buffers
------------------------
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=1024
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=33554432
ca_StreamCHR=1
------------------------
-- sys_spec_objectdetail
------------------------
e_Dissolve=2
e_LodRatio=5
e_ViewDistRatioDetail=19
------------------------
-- sys_spec_shading
------------------------
r_VisAreaClipLightsPerPixel=0
------------------------
-- sys_spec_textureresolution
------------------------
r_TexturesstreamingMinUsableMips=6
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
-- Sort ligths since we have limited space in the shadowmap pool texture
r_DeferredShadingSortLights = 3
r_ClearGMEMGBuffer=1
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
@@ -1,81 +1,7 @@
sys_spec_Full=2
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=0
-- Enable framebufferfetch(256bpp) or pls if applicable
r_EnableGMEMPath=1
-- Skip the native upscale as a second upscale already occurs
r_SkipNativeUpscale=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
sys_job_system_max_worker=2
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
-- This allows the generation of reflections for the ocean water. Without it, the water looks really dark.
e_recursion=1
e_CheckOcclusion=1
r_Fur=0
az_Asset_EnableAsyncMeshLoading=0
------------------------
-- Misc. memory buffers
------------------------
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=1024
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=33554432
ca_StreamCHR=1
------------------------
-- sys_spec_objectdetail
------------------------
e_Dissolve=2
e_LodRatio=5
e_ViewDistRatioDetail=19
e_ViewDistRatioVegetation=21
------------------------
-- sys_spec_postprocessing
------------------------
r_HDRBloom=0
r_SunShafts=0
r_ToneMapExposureType=1
r_ColorSpace=2
------------------------
-- sys_spec_shading
------------------------
r_VisAreaClipLightsPerPixel=0
------------------------
-- sys_spec_textureresolution
------------------------
r_TexturesstreamingMinUsableMips=7
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
r_ClearGMEMGBuffer=1
-- Sort ligths since we have limited space in the shadowmap pool texture
r_DeferredShadingSortLights = 3
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
@@ -1,60 +1,5 @@
sys_spec_Full=4
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=0
-- Enable framebufferfetch(256bpp) or pls if applicable
r_EnableGMEMPath=1
-- Skip the native upscale as a second upscale already occurs
r_SkipNativeUpscale=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
sys_job_system_max_worker=2
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
e_CheckOcclusion=1
r_Fur=0
az_Asset_EnableAsyncMeshLoading=0
------------------------
-- Misc. memory buffers
------------------------
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=1024
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=33554432
ca_StreamCHR=1
------------------------
-- sys_spec_objectdetail
------------------------
e_Dissolve=2
e_LodRatio=5
e_ViewDistRatioDetail=19
------------------------
-- sys_spec_shading
------------------------
r_VisAreaClipLightsPerPixel=0
r_ClearGMEMGBuffer=1
-- Sort ligths since we have limited space in the shadowmap pool texture
r_DeferredShadingSortLights = 3
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
-90
View File
@@ -1,100 +1,10 @@
sys_spec_Full=3
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=1
-- Enable framebufferfetch or pls if applicable
r_EnableGMEMPath=1
-- Skip the native upscale as a second upscale occurs on Metal Present
r_SkipNativeUpscale=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
------------------------
-- Job System
------------------------
sys_job_system_enable=0
sys_job_system_max_worker=1
------------------------
-- Streaming
------------------------
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
------------------------
-- General Rendering
------------------------
r_Flush=0
-- Enabling this will clear the GMEM buffer before the z-pass
r_ClearGMEMGBuffer=2
r_Fur=0
------------------------
-- VisArea / Portals
------------------------
e_PortalsBlend=0
r_GMEMVisAreasBlendWeight=0.5
------------------------
-- Misc. memory buffers
------------------------
e_AutoPrecacheCgf=2
e_AutoPrecacheTerrainAndProcVeget=1
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=2048
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=32
ca_StreamCHR=1
------------------------
-- sys_spec_water
------------------------
e_WaterOcean=2
e_WaterVolumes=2
e_WaterOceanBottom=0
------------------------
-- batching
------------------------
r_Batching = 1
r_BatchType = 0
------------------------
-- geom instancing
------------------------
r_GeomInstancing=1
r_GeomInstancingThreshold=5
------------------------
-- Upscaling
------------------------
--0 point, 1 bilinear, 2 bicubic, 3 lanczos
r_UpscalingQuality=1
------------------------
-- Geometry Cache
------------------------
e_GeomCaches=0
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
-- Sort ligths since we have limited space in the shadowmap pool texture
r_DeferredShadingSortLights = 3
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
-93
View File
@@ -1,103 +1,10 @@
sys_spec_Full=1
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=1
-- Enable framebufferfetch or pls if applicable
r_EnableGMEMPath=1
-- Skip the native upscale as a second upscale occurs on Metal Present
r_SkipNativeUpscale=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
------------------------
-- Job System
------------------------
sys_job_system_enable=0
sys_job_system_max_worker=1
------------------------
-- Streaming
------------------------
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
------------------------
-- General Rendering
------------------------
r_Flush=0
-- Enabling this will clear the GMEM buffer before the z-pass
r_ClearGMEMGBuffer=2
r_Fur=0
------------------------
-- VisArea / Portals
------------------------
e_PortalsBlend=0
r_GMEMVisAreasBlendWeight=0.5
------------------------
-- Misc. memory buffers
------------------------
e_AutoPrecacheCgf=2
e_AutoPrecacheTerrainAndProcVeget=1
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=1024
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=32
ca_StreamCHR=1
------------------------
-- sys_spec_water
------------------------
e_WaterOcean=2
e_WaterVolumes=2
e_WaterOceanBottom=0
------------------------
-- batching
------------------------
r_Batching = 1
r_BatchType = 0
------------------------
-- geom instancing
------------------------
r_GeomInstancing=1
r_GeomInstancingThreshold=5
------------------------
-- Upscaling
------------------------
--0 point, 1 bilinear, 2 bicubic, 3 lanczos
r_UpscalingQuality=1
------------------------
-- Geometry Cache
------------------------
e_GeomCaches=0
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
-- Sort ligths since we have limited space in the shadowmap pool texture
r_DeferredShadingSortLights = 3
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
-91
View File
@@ -1,101 +1,10 @@
sys_spec_Full=2
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=1
-- Enable framebufferfetch or pls if applicable
r_EnableGMEMPath=1
-- Skip the native upscale as a second upscale occurs on Metal Present
r_SkipNativeUpscale=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
------------------------
-- Job System
------------------------
sys_job_system_enable=0
sys_job_system_max_worker=1
------------------------
-- Streaming
------------------------
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
------------------------
-- General Rendering
------------------------
r_Flush=0
-- Enabling this will clear the GMEM buffer before the z-pass
r_ClearGMEMGBuffer=2
r_Fur=0
------------------------
-- VisArea / Portals
------------------------
e_PortalsBlend=0
r_GMEMVisAreasBlendWeight=0.5
------------------------
-- Misc. memory buffers
------------------------
e_AutoPrecacheCgf=2
e_AutoPrecacheTerrainAndProcVeget=1
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=1024
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=32
ca_StreamCHR=1
------------------------
-- sys_spec_water
------------------------
e_WaterOcean=2
e_WaterVolumes=2
e_WaterOceanBottom=0
------------------------
-- batching
------------------------
r_Batching = 1
r_BatchType = 0
------------------------
-- geom instancing
------------------------
r_GeomInstancing=1
r_GeomInstancingThreshold=5
------------------------
-- Upscaling
------------------------
--0 point, 1 bilinear, 2 bicubic, 3 lanczos
r_UpscalingQuality=1
------------------------
-- Geometry Cache
------------------------
e_GeomCaches=0
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
-- Sort ligths since we have limited space in the shadowmap pool texture
r_DeferredShadingSortLights = 3
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
@@ -1,102 +1,10 @@
sys_spec_Full=4
-- Cap frame rate at 30fps
sys_maxfps=30
r_vsync=1
-- Enable framebufferfetch or pls if applicable
r_EnableGMEMPath=1
-- Skip the native upscale as a second upscale occurs on Metal Present
r_SkipNativeUpscale=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
------------------------
-- Job System
------------------------
sys_job_system_enable=0
sys_job_system_max_worker=1
------------------------
-- Streaming
------------------------
sys_streaming_in_blocks=1
sys_streaming_memory_budget=512
------------------------
-- General Rendering
------------------------
r_Flush=0
-- Enabling this will clear the GMEM buffer before the z-pass
r_ClearGMEMGBuffer=2
r_Fur=0
------------------------
-- VisArea / Portals
------------------------
e_PortalsBlend=0
r_GMEMVisAreasBlendWeight=0.5
------------------------
-- Misc. memory buffers
------------------------
e_AutoPrecacheCgf=2
e_AutoPrecacheTerrainAndProcVeget=1
e_GeomCacheBufferSize=0
e_CheckOcclusionQueueSize=512
e_CheckOcclusionOutputQueueSize=2048
------------------------
-- Animation
------------------------
ca_MemoryDefragPoolSize=32
ca_StreamCHR=1
------------------------
-- sys_spec_water
------------------------
e_WaterOcean=2
e_WaterVolumes=2
e_WaterOceanBottom=0
------------------------
-- batching
------------------------
r_Batching = 1
r_BatchType = 0
------------------------
-- geom instancing
------------------------
r_GeomInstancing=1
r_GeomInstancingThreshold=5
------------------------
-- Upscaling
------------------------
--0 point, 1 bilinear, 2 bicubic, 3 lanczos
r_UpscalingQuality=1
------------------------
-- Geometry Cache
------------------------
e_GeomCaches=0
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
-- Sort ligths since we have limited space in the shadowmap pool texture
r_DeferredShadingSortLights = 3
--Use an optimized pixel format for the lighting rendertargets during the lighting pass.
r_DeferredShadingLBuffersFmt = 2
@@ -1,38 +0,0 @@
sys_spec_Full=7
r_ShadersMETAL=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
-- Skip the native upscale as a second upscale occurs on Metal Present
r_SkipNativeUpscale=1
------------------------
-- sys_spec_postprocessing
------------------------
r_SunShafts=1
------------------------
-- sys_spec_shading
------------------------
r_DeferredShadingTiled=0
r_RefractionPartialResolves=0
e_GI = 0
r_Fur=2
------------------------
-- Upscaling
------------------------
--0 point, 1 bilinear, 2 bicubic, 3 lanczos
r_UpscalingQuality=1
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
@@ -1,37 +0,0 @@
sys_spec_Full=5
r_ShadersMETAL=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
-- Skip the native upscale as a second upscale occurs on Metal Present
r_SkipNativeUpscale=1
------------------------
-- sys_spec_postprocessing
------------------------
r_SunShafts=1
------------------------
-- sys_spec_shading
------------------------
r_DeferredShadingTiled=0
r_RefractionPartialResolves=0
e_GI=0
r_Fur=2
------------------------
-- Upscaling
------------------------
--0 point, 1 bilinear, 2 bicubic, 3 lanczos
r_UpscalingQuality=1
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
@@ -1,37 +0,0 @@
sys_spec_Full=6
r_ShadersMETAL=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
-- Skip the native upscale as a second upscale occurs on Metal Present
r_SkipNativeUpscale=1
------------------------
-- sys_spec_postprocessing
------------------------
r_SunShafts=1
------------------------
-- sys_spec_shading
------------------------
r_DeferredShadingTiled=0
r_RefractionPartialResolves=0
e_GI = 0
r_Fur=2
------------------------
-- Upscaling
------------------------
--0 point, 1 bilinear, 2 bicubic, 3 lanczos
r_UpscalingQuality=1
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
@@ -1,37 +0,0 @@
sys_spec_Full=8
r_ShadersMETAL=1
-- Default of 3 allocates all shaders (potentially >150 MB)
-- 1 is most memory efficient but definitely causes hitches when converting HLSL
-- shaders. Recommend 1 during dev, and 3 with optimized caches for release.
r_ShadersPreactivate=1
-- Skip the native upscale as a second upscale occurs on Metal Present
r_SkipNativeUpscale=1
------------------------
-- sys_spec_postprocessing
------------------------
r_SunShafts=1
------------------------
-- sys_spec_shading
------------------------
r_DeferredShadingTiled=0
r_RefractionPartialResolves=0
e_GI = 0
r_Fur=2
------------------------
-- Upscaling
------------------------
--0 point, 1 bilinear, 2 bicubic, 3 lanczos
r_UpscalingQuality=1
-- Due to performance issues with incremental cached shadow map updates, enable this to prevent us from culling every object in the world vs each cached shadow map each frame.
-- If no objects are present in the level this will eliminate the need to clear the massive cached textures each frame.
-- Set to 2 to allow distance-based updates along with script-based updates for the cached shadow maps
e_ShadowsCacheRequireManualUpdate = 2
-1
View File
@@ -1 +0,0 @@
sys_spec_Full = 7
-1
View File
@@ -1 +0,0 @@
sys_spec_Full = 5
-1
View File
@@ -1 +0,0 @@
sys_spec_Full = 6
@@ -1 +0,0 @@
sys_spec_Full = 8
-9
View File
@@ -1,12 +1,3 @@
profile=-1
profile_allthreads=1
i_forcefeedback=0
g_godmode=1
log_verbosity=-1
sys_pakLogInvalidFileAccess=1
e_StatoscopeDataGroups=fgmrtudlipny
e_StatoscopeFilenameUseBuildInfo=0
e_StatoscopeFilenameUseMap=1
e_StatoscopeMinFuncLengthMs=0.1
e_StatoscopeMaxNumFuncsPerFrame=60
e_StatoscopeScreenshotCapturePeriod=5
-26
View File
@@ -3,39 +3,13 @@
-----------------------------------------------
r_width = 960
r_height = 1080
r_backbufferWidth = 1920
r_backbufferHeight = 1080
-------------------------------------------
-- Set the system Spec (Medium)
-------------------------------------------
sys_spec = 2
-------------------------------------------
-- HMD related
-------------------------------------------
r_overrideDXGIoutput = 0
r_stereodevice = 100
r_stereomode = 1
r_stereooutput = 7
r_minimizeLatency = 1
hmd_low_persistence = 1
r_stereoScaleCoefficient = 1
-------------------------------------------
-- Set some video optimisations
-------------------------------------------
r_vsync = 0
r_MotionBlur = 0
r_ssdoHalfRes = 3
r_Refraction = 0
r_DeferredShadingTiled = 0
r_CBufferUseNativeDepth = 0
-------------------------------------------
-- Hide the hud
-------------------------------------------
--hud_hide = 1
@@ -1 +0,0 @@
/autooptimizefile=0 /preset=Uncompressed
@@ -1 +0,0 @@
/autooptimizefile=0 /preset=Uncompressed
@@ -1 +0,0 @@
/autooptimizefile=0 /preset=Uncompressed
@@ -1 +0,0 @@
/autooptimizefile=0 /dns=1 /preset=Uncompressed
@@ -1 +0,0 @@
/autooptimizefile=0 /preset=Uncompressed
@@ -1 +0,0 @@
/autooptimizefile=0 /dns=1 /preset=Uncompressed
@@ -1 +0,0 @@
/autooptimizefile=0 /dns=1 /preset=Uncompressed
@@ -1 +0,0 @@
/autooptimizefile=0 /dns=1 /preset=Uncompressed
@@ -1 +0,0 @@
/autooptimizefile=0 /dns=1 /preset=Uncompressed
@@ -1 +0,0 @@
/autooptimizefile=0 /dns=1 /preset=Uncompressed
@@ -145,7 +145,7 @@
<Class name="float" field="ProjectorNearPlane" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}" value="0.0000000" specializationTypeId="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
<Class name="AzFramework::SimpleAssetReference&lt;LmbrCentral::TextureAsset&gt;" field="ProjectorTexture" type="{68E92460-5C0C-4031-9620-6F1A08763243}" version="1" specializationTypeId="{68E92460-5C0C-4031-9620-6F1A08763243}">
<Class name="SimpleAssetReferenceBase" field="BaseClass1" type="{E16CA6C5-5C78-4AD9-8E9B-F8C1FB4D1DB8}" version="1" specializationTypeId="{E16CA6C5-5C78-4AD9-8E9B-F8C1FB4D1DB8}">
<Class name="AZStd::string" field="AssetPath" type="{EF8FF807-DDEE-4EB0-B678-4CA3A2C490A4}" value="engineassets/textures/defaults/spot_default.dds" specializationTypeId="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="AssetPath" type="{EF8FF807-DDEE-4EB0-B678-4CA3A2C490A4}" value="" specializationTypeId="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
<Class name="AzFramework::SimpleAssetReference&lt;LmbrCentral::MaterialAsset&gt;" field="ProjectorMaterial" type="{B7B8ECC7-FF89-4A76-A50E-4C6CA2B6E6B4}" version="1" specializationTypeId="{B7B8ECC7-FF89-4A76-A50E-4C6CA2B6E6B4}">
+8 -15
View File
@@ -1,16 +1,9 @@
<EngineDependencies versionnumber="1.0.0">
<Dependency path="*.ent" optional="false" />
<Dependency path="game.cfg" optional="true" />
<Dependency path="config/singleplayer.cfg" optional="true" />
<Dependency path="singleplayer.cfg" optional="true" />
<Dependency path="autoexec.cfg" optional="true" />
<Dependency path="default-ui" optional="true" />
<Dependency path="fonts/default-ui.fontfamily" optional="true" />
<Dependency path="fonts/default-ui/default-ui.fontfamily" optional="true" />
<Dependency path="libs/smartobjects.xml" optional="true" />
<Dependency path="modes/menucommon_sp.pak" optional="true" />
<Dependency path="modes/menucommon_mp.pak" optional="true" />
<Dependency path="libs/materialeffects/surfacetypes.xml" optional="true" />
<Dependency path="libs/localization/localization.xml" optional="true" />
<Dependency path="localization/*xml" optional="true" />
</EngineDependencies>
<Dependency path="game.cfg" optional="true" />
<Dependency path="autoexec.cfg" optional="true" />
<Dependency path="default-ui" optional="true" />
<Dependency path="fonts/default-ui.fontfamily" optional="true" />
<Dependency path="fonts/default-ui/default-ui.fontfamily" optional="true" />
<Dependency path="libs/localization/localization.xml" optional="true" />
<Dependency path="localization/*xml" optional="true" />
</EngineDependencies>
-3
View File
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cf441215a769562f88aa20711aee68dadcbf02597d1e2270547055e8e6aec6a3
size 77
@@ -1,178 +0,0 @@
----------------------------------------------------------------------------------------------------
--
-- Copyright (c) Contributors to the Open 3D Engine Project.
-- For complete copyright and license terms please see the LICENSE at the root of this distribution.
--
-- SPDX-License-Identifier: Apache-2.0 OR MIT
--
--
--
----------------------------------------------------------------------------------------------------
Script.ReloadScript("scripts/Utils/EntityUtils.lua")
GeomCache =
{
Properties = {
geomcacheFile = "EngineAssets/GeomCaches/defaultGeomCache.cax",
bPlaying = 0,
fStartTime = 0,
bLooping = 0,
objectStandIn = "",
materialStandInMaterial = "",
objectFirstFrameStandIn = "",
materialFirstFrameStandInMaterial = "",
objectLastFrameStandIn = "",
materialLastFrameStandInMaterial = "",
fStandInDistance = 0,
fStreamInDistance = 0,
Physics = {
bPhysicalize = 0,
}
},
Editor={
Icon = "animobject.bmp",
IconOnTop = 1,
},
bPlaying = 0,
currentTime = 0,
precacheTime = 0,
bPrecachedOutputTriggered = false,
}
function GeomCache:OnLoad(table)
self.currentTime = table.currentTime;
end
function GeomCache:OnSave(table)
table.currentTime = self.currentTime;
end
function GeomCache:OnSpawn()
self.currentTime = self.Properties.fStartTime;
self:SetFromProperties();
end
function GeomCache:OnReset()
self.currentTime = self.Properties.fStartTime;
self.bPrecachedOutputTriggered = true;
self:SetFromProperties();
end
function GeomCache:SetFromProperties()
local Properties = self.Properties;
if (Properties.geomcacheFile == "") then
do return end;
end
self:LoadGeomCache(0, Properties.geomcacheFile);
self.bPlaying = Properties.bPlaying;
if (self.bPlaying == 0) then
self.currentTime = Properties.fStartTime;
end
self:SetGeomCachePlaybackTime(self.currentTime);
self:SetGeomCacheParams(Properties.bLooping, Properties.objectStandIn, Properties.materialStandInMaterial, Properties.objectFirstFrameStandIn,
Properties.materialFirstFrameStandInMaterial, Properties.objectLastFrameStandIn, Properties.materialLastFrameStandInMaterial,
Properties.fStandInDistance, Properties.fStreamInDistance);
self:SetGeomCacheStreaming(false, 0);
if (Properties.Physics.bPhysicalize == 1) then
local tempPhysParams = EntityCommon.TempPhysParams;
self:Physicalize(0, PE_ARTICULATED, tempPhysParams);
end
self:Activate(1);
end
function GeomCache:PhysicalizeThis()
local Physics = self.Properties.Physics;
EntityCommon.PhysicalizeRigid(self, 0, Physics, false);
end
function GeomCache:OnUpdate(dt)
if (self.bPlaying == 1) then
self:SetGeomCachePlaybackTime(self.currentTime);
end
if (self:IsGeomCacheStreaming() and not self.bPrecachedOutputTriggered) then
local precachedTime = self:GetGeomCachePrecachedTime();
if (precachedTime >= self.precacheTime) then
self:ActivateOutput("Precached", true);
self.bPrecachedOutputTriggered = true;
end
end
if (self.bPlaying == 1) then
self.currentTime = self.currentTime + dt;
end
end
function GeomCache:OnPropertyChange()
self:SetFromProperties();
end
function GeomCache:Event_Start(sender, val)
self.bPlaying = 1;
end
function GeomCache:Event_Stop(sender, value)
self.bPlaying = 0;
end
function GeomCache:Event_SetTime(sender, value)
self.currentTime = value;
end
function GeomCache:Event_StartStreaming(sender, value)
self.bPrecachedOutputTriggered = false;
self:SetGeomCacheStreaming(true, self.currentTime);
end
function GeomCache:Event_StopStreaming(sender, value)
self:SetGeomCacheStreaming(false, 0);
end
function GeomCache:Event_PrecacheTime(sender, value)
self.precacheTime = value;
end
function GeomCache:Event_Hide(sender, value)
self:Hide(1);
end
function GeomCache:Event_Unhide(sender, value)
self:Hide(0);
end
function GeomCache:Event_StopDrawing(sender, value)
self:SetGeomCacheDrawing(false);
end
function GeomCache:Event_StartDrawing(sender, value)
self:SetGeomCacheDrawing(true);
end
GeomCache.FlowEvents =
{
Inputs =
{
Start = { GeomCache.Event_Start, "any" },
Stop = { GeomCache.Event_Stop, "any" },
SetTime = { GeomCache.Event_SetTime, "float" },
StartStreaming = { GeomCache.Event_StartStreaming, "any" },
StopStreaming = { GeomCache.Event_StopStreaming, "any" },
PrecacheTime = { GeomCache.Event_PrecacheTime, "float" },
Hide = { GeomCache.Event_Hide, "any" },
Unhide = { GeomCache.Event_Unhide, "any" },
StopDrawing = { GeomCache.Event_StopDrawing, "any" },
StartDrawing = { GeomCache.Event_StartDrawing, "any" },
},
Outputs =
{
Precached = "bool",
},
}
File diff suppressed because it is too large Load Diff
-32
View File
@@ -125,17 +125,6 @@
<Class name="AZStd::string" field="Comment" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
<Class name="AZStd::pair" field="element" type="{941B5626-118F-55BC-925E-6E416A7520E4}">
<Class name="AZStd::string" field="value1" value="@devroot@/*.waf_files" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="FileTagData" field="value2" version="2" type="{5F66E43B-548B-4AA8-8CD8-F6924F6031E6}">
<Class name="unsigned char" field="FilePatternType" value="1" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
<Class name="AZStd::set" field="FileTags" type="{166F208E-DE97-53FE-B349-BDD9FE9B8693}">
<Class name="AZStd::string" field="element" value="ignore" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="element" value="productdependency" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
<Class name="AZStd::string" field="Comment" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
<Class name="AZStd::pair" field="element" type="{941B5626-118F-55BC-925E-6E416A7520E4}">
<Class name="AZStd::string" field="value1" value="*/editor/leveltemplates.xml" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="FileTagData" field="value2" version="2" type="{5F66E43B-548B-4AA8-8CD8-F6924F6031E6}">
@@ -207,27 +196,6 @@
<Class name="AZStd::string" field="Comment" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
<Class name="AZStd::pair" field="element" type="{941B5626-118F-55BC-925E-6E416A7520E4}">
<Class name="AZStd::string" field="value1" value="@devroot@/*wscript" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="FileTagData" field="value2" version="2" type="{5F66E43B-548B-4AA8-8CD8-F6924F6031E6}">
<Class name="unsigned char" field="FilePatternType" value="1" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
<Class name="AZStd::set" field="FileTags" type="{166F208E-DE97-53FE-B349-BDD9FE9B8693}">
<Class name="AZStd::string" field="element" value="ignore" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="AZStd::string" field="element" value="productdependency" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
<Class name="AZStd::string" field="Comment" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
<Class name="AZStd::pair" field="element" type="{941B5626-118F-55BC-925E-6E416A7520E4}">
<Class name="AZStd::string" field="value1" value=".*/assetprocessorplatformconfig.ini" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="FileTagData" field="value2" version="2" type="{5F66E43B-548B-4AA8-8CD8-F6924F6031E6}">
<Class name="unsigned char" field="FilePatternType" value="2" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
<Class name="AZStd::set" field="FileTags" type="{166F208E-DE97-53FE-B349-BDD9FE9B8693}">
<Class name="AZStd::string" field="element" value="editoronly" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
<Class name="AZStd::string" field="Comment" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
</Class>
</Class>
<Class name="AZStd::pair" field="element" type="{941B5626-118F-55BC-925E-6E416A7520E4}">
<Class name="AZStd::string" field="value1" value=".*/gems?/?.*/gem.json" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
<Class name="FileTagData" field="value2" version="2" type="{5F66E43B-548B-4AA8-8CD8-F6924F6031E6}">
@@ -1 +0,0 @@
/autooptimizefile=0 /mipmaps=0 /preset=Albedo /reduce=-1 /ser=1
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f94f2634eacb4d7bee20dacc45edef96e4d268f1adb7960b8aa8f3b6e2906ed
size 6867609
@@ -1 +0,0 @@
/autooptimizefile=0 /preset=AlbedoWithGenericAlpha /reduce="android:2,ios:2,mac:0,pc:0,provo:0"
@@ -1 +0,0 @@
/autooptimizefile=0 /preset=Albedo /reduce="android:3,ios:3,mac:0,pc:0,provo:0"
+129
View File
@@ -0,0 +1,129 @@
{
"ContainerEntity": {
"Id": "ContainerEntity",
"Name": "Bush",
"Components": {
"Component_[1140272189295067758]": {
"$type": "EditorInspectorComponent",
"Id": 1140272189295067758
},
"Component_[13437832196484687256]": {
"$type": "EditorOnlyEntityComponent",
"Id": 13437832196484687256
},
"Component_[1553903646452669645]": {
"$type": "EditorDisabledCompositionComponent",
"Id": 1553903646452669645
},
"Component_[15914009348632444632]": {
"$type": "EditorEntitySortComponent",
"Id": 15914009348632444632,
"Child Entity Order": [
"Entity_[7511491868318]"
]
},
"Component_[18046340308818780248]": {
"$type": "EditorPrefabComponent",
"Id": 18046340308818780248
},
"Component_[1948833233489872938]": {
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
"Id": 1948833233489872938,
"Parent Entity": ""
},
"Component_[2903632350157981339]": {
"$type": "SelectionComponent",
"Id": 2903632350157981339
},
"Component_[48827510535192710]": {
"$type": "EditorPendingCompositionComponent",
"Id": 48827510535192710
},
"Component_[5609536793322429681]": {
"$type": "EditorLockComponent",
"Id": 5609536793322429681
},
"Component_[5859168386298620990]": {
"$type": "EditorEntityIconComponent",
"Id": 5859168386298620990
},
"Component_[6604616929271524505]": {
"$type": "EditorVisibilityComponent",
"Id": 6604616929271524505
}
}
},
"Entities": {
"Entity_[7511491868318]": {
"Id": "Entity_[7511491868318]",
"Name": "Bush",
"Components": {
"Component_[10227459330338484901]": {
"$type": "EditorInspectorComponent",
"Id": 10227459330338484901,
"ComponentOrderEntryArray": [
{
"ComponentId": 4998941225335869157
},
{
"ComponentId": 9922994635792843826,
"SortIndex": 1
}
]
},
"Component_[10972351222359420947]": {
"$type": "EditorOnlyEntityComponent",
"Id": 10972351222359420947
},
"Component_[12101122374155214392]": {
"$type": "EditorPendingCompositionComponent",
"Id": 12101122374155214392
},
"Component_[1535264614652988260]": {
"$type": "SelectionComponent",
"Id": 1535264614652988260
},
"Component_[16367811417907891218]": {
"$type": "EditorVisibilityComponent",
"Id": 16367811417907891218
},
"Component_[17044216787716682880]": {
"$type": "EditorEntitySortComponent",
"Id": 17044216787716682880
},
"Component_[2129822594969629430]": {
"$type": "EditorEntityIconComponent",
"Id": 2129822594969629430
},
"Component_[2838015156782745450]": {
"$type": "EditorLockComponent",
"Id": 2838015156782745450
},
"Component_[4998941225335869157]": {
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
"Id": 4998941225335869157,
"Parent Entity": "ContainerEntity"
},
"Component_[8773358049076362578]": {
"$type": "EditorDisabledCompositionComponent",
"Id": 8773358049076362578
},
"Component_[9922994635792843826]": {
"$type": "AZ::Render::EditorMeshComponent",
"Id": 9922994635792843826,
"Controller": {
"Configuration": {
"ModelAsset": {
"assetId": {
"guid": "{1201406D-FB20-5B5F-B9B5-6A6E8DE00A14}",
"subId": 276506120
},
"assetHint": "assets/objects/foliage/bush_privet_01.azmodel"
}
}
}
}
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,131 @@
{
"ContainerEntity": {
"Id": "ContainerEntity",
"Name": "PinkFlower",
"Components": {
"Component_[10444337162843472597]": {
"$type": "EditorLockComponent",
"Id": 10444337162843472597
},
"Component_[14431042590323756177]": {
"$type": "EditorEntitySortComponent",
"Id": 14431042590323756177,
"ChildEntityOrderEntryArray": [
{
"EntityId": "Entity_[491002114939]"
}
]
},
"Component_[14577735453176806353]": {
"$type": "EditorDisabledCompositionComponent",
"Id": 14577735453176806353
},
"Component_[15674021346798629563]": {
"$type": "EditorInspectorComponent",
"Id": 15674021346798629563
},
"Component_[16784074985702513600]": {
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
"Id": 16784074985702513600,
"Parent Entity": ""
},
"Component_[3351614541100572773]": {
"$type": "EditorOnlyEntityComponent",
"Id": 3351614541100572773
},
"Component_[3600658560328167663]": {
"$type": "EditorPrefabComponent",
"Id": 3600658560328167663
},
"Component_[6155673728651558934]": {
"$type": "EditorEntityIconComponent",
"Id": 6155673728651558934
},
"Component_[8458684662170321289]": {
"$type": "EditorVisibilityComponent",
"Id": 8458684662170321289
},
"Component_[8705192117416252351]": {
"$type": "SelectionComponent",
"Id": 8705192117416252351
},
"Component_[8801280051488695852]": {
"$type": "EditorPendingCompositionComponent",
"Id": 8801280051488695852
}
}
},
"Entities": {
"Entity_[491002114939]": {
"Id": "Entity_[491002114939]",
"Name": "PinkFlower",
"Components": {
"Component_[11083205340162142682]": {
"$type": "EditorLockComponent",
"Id": 11083205340162142682
},
"Component_[11327363779873517]": {
"$type": "EditorOnlyEntityComponent",
"Id": 11327363779873517
},
"Component_[12717389211269537921]": {
"$type": "EditorEntitySortComponent",
"Id": 12717389211269537921
},
"Component_[12826285685970138542]": {
"$type": "AZ::Render::EditorMeshComponent",
"Id": 12826285685970138542,
"Controller": {
"Configuration": {
"ModelAsset": {
"assetId": {
"guid": "{549F4C4D-A7D9-5F2A-A6BD-F24C8BC43BBF}",
"subId": 280086017
},
"assetHint": "assets/objects/foliage/grass_flower_pink.azmodel"
}
}
}
},
"Component_[14101419970865342875]": {
"$type": "EditorPendingCompositionComponent",
"Id": 14101419970865342875
},
"Component_[14770464075286403207]": {
"$type": "EditorVisibilityComponent",
"Id": 14770464075286403207
},
"Component_[15205142653091190082]": {
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
"Id": 15205142653091190082,
"Parent Entity": "ContainerEntity"
},
"Component_[15510898811147803772]": {
"$type": "EditorInspectorComponent",
"Id": 15510898811147803772,
"ComponentOrderEntryArray": [
{
"ComponentId": 15205142653091190082
},
{
"ComponentId": 12826285685970138542,
"SortIndex": 1
}
]
},
"Component_[15988401742428977134]": {
"$type": "EditorDisabledCompositionComponent",
"Id": 15988401742428977134
},
"Component_[4300550837037679336]": {
"$type": "EditorEntityIconComponent",
"Id": 4300550837037679336
},
"Component_[996914988793716659]": {
"$type": "SelectionComponent",
"Id": 996914988793716659
}
}
}
}
}
@@ -0,0 +1,129 @@
{
"ContainerEntity": {
"Id": "ContainerEntity",
"Name": "PurpleFlower",
"Components": {
"Component_[10519928302743666073]": {
"$type": "EditorPrefabComponent",
"Id": 10519928302743666073
},
"Component_[13894087802180240181]": {
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
"Id": 13894087802180240181,
"Parent Entity": ""
},
"Component_[15788541052719571801]": {
"$type": "EditorEntityIconComponent",
"Id": 15788541052719571801
},
"Component_[15842981265136092481]": {
"$type": "SelectionComponent",
"Id": 15842981265136092481
},
"Component_[16360384897559021149]": {
"$type": "EditorInspectorComponent",
"Id": 16360384897559021149
},
"Component_[16713545675046303279]": {
"$type": "EditorVisibilityComponent",
"Id": 16713545675046303279
},
"Component_[1806734194268113785]": {
"$type": "EditorPendingCompositionComponent",
"Id": 1806734194268113785
},
"Component_[5392020700593853313]": {
"$type": "EditorEntitySortComponent",
"Id": 5392020700593853313,
"Child Entity Order": [
"Entity_[14335611090324]"
]
},
"Component_[5995854518752659458]": {
"$type": "EditorLockComponent",
"Id": 5995854518752659458
},
"Component_[6963022284400845376]": {
"$type": "EditorDisabledCompositionComponent",
"Id": 6963022284400845376
},
"Component_[8055275578170091546]": {
"$type": "EditorOnlyEntityComponent",
"Id": 8055275578170091546
}
}
},
"Entities": {
"Entity_[14335611090324]": {
"Id": "Entity_[14335611090324]",
"Name": "PurpleFlower",
"Components": {
"Component_[10887353073528055802]": {
"$type": "EditorPendingCompositionComponent",
"Id": 10887353073528055802
},
"Component_[12641127425852859189]": {
"$type": "AZ::Render::EditorMeshComponent",
"Id": 12641127425852859189,
"Controller": {
"Configuration": {
"ModelAsset": {
"assetId": {
"guid": "{D493A670-6D82-5AE9-A2C8-A2EB02684F71}",
"subId": 284799939
},
"assetHint": "assets/objects/foliage/grass_flower_purple.azmodel"
}
}
}
},
"Component_[14406733303466080015]": {
"$type": "EditorInspectorComponent",
"Id": 14406733303466080015,
"ComponentOrderEntryArray": [
{
"ComponentId": 9231452352781000222
},
{
"ComponentId": 12641127425852859189,
"SortIndex": 1
}
]
},
"Component_[1452384341905923012]": {
"$type": "EditorLockComponent",
"Id": 1452384341905923012
},
"Component_[2215454016415585892]": {
"$type": "EditorDisabledCompositionComponent",
"Id": 2215454016415585892
},
"Component_[4104108067383423623]": {
"$type": "EditorVisibilityComponent",
"Id": 4104108067383423623
},
"Component_[4197335450471807917]": {
"$type": "SelectionComponent",
"Id": 4197335450471807917
},
"Component_[6877680739064997650]": {
"$type": "EditorOnlyEntityComponent",
"Id": 6877680739064997650
},
"Component_[7372550507186490390]": {
"$type": "EditorEntityIconComponent",
"Id": 7372550507186490390
},
"Component_[7673532337364366244]": {
"$type": "EditorEntitySortComponent",
"Id": 7673532337364366244
},
"Component_[9231452352781000222]": {
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
"Id": 9231452352781000222,
"Parent Entity": "ContainerEntity"
}
}
}
}
}
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4c1d04d687bdce69965965c290c907b3f9a730a7ea73874b734e1c7ff41426d9
size 3832768
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3789abdf439a6d70438fd4bb1e06881ae6686a4699209c6bc371d22d161e5347
size 26476
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c987d7d79685fda83efcffb7e1afbcd356c37fc68ec5c663a89b02d4df10caea
size 46412
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:27f87510ae07771dbad3e430e31502b1d1d13dee868f143b7f1de2a7febc8eb9
size 7046400
@@ -0,0 +1,8 @@
{
"values": [
{
"$type": "ScriptProcessorRule",
"scriptFilename": "Assets/TestAnim/scene_export_actor.py"
}
]
}
@@ -0,0 +1,221 @@
#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
#
import traceback, sys, uuid, os, json
#
# Example for exporting ActorGroup scene rules
#
def log_exception_traceback():
exc_type, exc_value, exc_tb = sys.exc_info()
data = traceback.format_exception(exc_type, exc_value, exc_tb)
print(str(data))
def get_node_names(sceneGraph, nodeTypeName, testEndPoint = False, validList = None):
import azlmbr.scene.graph
import scene_api.scene_data
node = sceneGraph.get_root()
nodeList = []
children = []
paths = []
while node.IsValid():
# store children to process after siblings
if sceneGraph.has_node_child(node):
children.append(sceneGraph.get_node_child(node))
nodeName = scene_api.scene_data.SceneGraphName(sceneGraph.get_node_name(node))
paths.append(nodeName.get_path())
include = True
if (validList is not None):
include = False # if a valid list filter provided, assume to not include node name
name_parts = nodeName.get_path().split('.')
for valid in validList:
if (valid in name_parts[-1]):
include = True
break
# store any node that has provides specifc data content
nodeContent = sceneGraph.get_node_content(node)
if include and nodeContent.CastWithTypeName(nodeTypeName):
if testEndPoint is not None:
include = sceneGraph.is_node_end_point(node) is testEndPoint
if include:
if (len(nodeName.get_path())):
nodeList.append(scene_api.scene_data.SceneGraphName(sceneGraph.get_node_name(node)))
# advance to next node
if sceneGraph.has_node_sibling(node):
node = sceneGraph.get_node_sibling(node)
elif children:
node = children.pop()
else:
node = azlmbr.scene.graph.NodeIndex()
return nodeList, paths
def generate_mesh_group(scene, sceneManifest, meshDataList, paths):
# Compute the name of the scene file
clean_filename = scene.sourceFilename.replace('.', '_')
mesh_group_name = os.path.basename(clean_filename)
# make the mesh group
mesh_group = sceneManifest.add_mesh_group(mesh_group_name)
mesh_group['id'] = '{' + str(uuid.uuid5(uuid.NAMESPACE_DNS, clean_filename)) + '}'
# add all nodes to this mesh group
for activeMeshIndex in range(len(meshDataList)):
mesh_name = meshDataList[activeMeshIndex]
mesh_path = mesh_name.get_path()
sceneManifest.mesh_group_select_node(mesh_group, mesh_path)
def create_shape_configuration(nodeName):
import scene_api.physics_data
if(nodeName in ['_foot_','_wrist_']):
shapeConfiguration = scene_api.physics_data.BoxShapeConfiguration()
shapeConfiguration.scale = [1.1, 1.1, 1.1]
shapeConfiguration.dimensions = [2.1, 3.1, 4.1]
return shapeConfiguration
else:
shapeConfiguration = scene_api.physics_data.CapsuleShapeConfiguration()
shapeConfiguration.scale = [1.0, 1.0, 1.0]
shapeConfiguration.height = 1.0
shapeConfiguration.radius = 1.0
return shapeConfiguration
def create_collider_configuration(nodeName):
import scene_api.physics_data
colliderConfiguration = scene_api.physics_data.ColliderConfiguration()
colliderConfiguration.Position = [0.1, 0.1, 0.2]
colliderConfiguration.Rotation = [45.0, 35.0, 25.0]
return colliderConfiguration
def generate_physics_nodes(actorPhysicsSetupRule, nodeNameList):
import scene_api.physics_data
hitDetectionConfig = scene_api.physics_data.CharacterColliderConfiguration()
simulatedObjectColliderConfig = scene_api.physics_data.CharacterColliderConfiguration()
clothConfig = scene_api.physics_data.CharacterColliderConfiguration()
ragdollConfig = scene_api.physics_data.RagdollConfiguration()
for nodeName in nodeNameList:
shapeConfiguration = create_shape_configuration(nodeName)
colliderConfiguration = create_collider_configuration(nodeName)
hitDetectionConfig.add_character_collider_node_configuration_node(nodeName, colliderConfiguration, shapeConfiguration)
simulatedObjectColliderConfig.add_character_collider_node_configuration_node(nodeName, colliderConfiguration, shapeConfiguration)
clothConfig.add_character_collider_node_configuration_node(nodeName, colliderConfiguration, shapeConfiguration)
#
ragdollNode = scene_api.physics_data.RagdollNodeConfiguration()
ragdollNode.JointConfig.Name = nodeName
ragdollConfig.add_ragdoll_node_configuration(ragdollNode)
ragdollConfig.colliders.add_character_collider_node_configuration_node(nodeName, colliderConfiguration, shapeConfiguration)
actorPhysicsSetupRule.set_simulated_object_collider_config(simulatedObjectColliderConfig)
actorPhysicsSetupRule.set_hit_detection_config(hitDetectionConfig)
actorPhysicsSetupRule.set_cloth_config(clothConfig)
actorPhysicsSetupRule.set_ragdoll_config(ragdollConfig)
def generate_actor_group(scene, sceneManifest, meshDataList, paths):
import scene_api.scene_data
import scene_api.physics_data
import scene_api.actor_group
# fetch bone data
validNames = ['_neck_','_pelvis_','_leg_','_knee_','_spine_','_arm_','_clavicle_','_head_','_elbow_','_wrist_']
graph = scene_api.scene_data.SceneGraph(scene.graph)
nodeList, allNodePaths = get_node_names(graph, 'BoneData', validList = validNames)
nodeNameList = []
for activeMeshIndex, nodeName in enumerate(nodeList):
nodeNameList.append(nodeName.get_name())
# add comment
commentRule = scene_api.actor_group.CommentRule()
commentRule.text = str(nodeNameList)
# ActorPhysicsSetupRule
actorPhysicsSetupRule = scene_api.actor_group.ActorPhysicsSetupRule()
generate_physics_nodes(actorPhysicsSetupRule, nodeNameList)
# add scale of the Actor rule
actorScaleRule = scene_api.actor_group.ActorScaleRule()
actorScaleRule.scaleFactor = 2.0
# add coordinate system rule
coordinateSystemRule = scene_api.actor_group.CoordinateSystemRule()
coordinateSystemRule.useAdvancedData = False
# add morph target rule
morphTargetRule = scene_api.actor_group.MorphTargetRule()
morphTargetRule.targets.select_targets([nodeNameList[0]], nodeNameList)
# add skeleton optimization rule
skeletonOptimizationRule = scene_api.actor_group.SkeletonOptimizationRule()
skeletonOptimizationRule.autoSkeletonLOD = True
skeletonOptimizationRule.criticalBonesList.select_targets([nodeNameList[0:2]], nodeNameList)
# add LOD rule
lodRule = scene_api.actor_group.LodRule()
lodRule0 = lodRule.add_lod_level(0)
lodRule0.select_targets([nodeNameList[1:4]], nodeNameList)
actorGroup = scene_api.actor_group.ActorGroup()
actorGroup.name = os.path.basename(scene.sourceFilename)
actorGroup.add_rule(actorScaleRule)
actorGroup.add_rule(coordinateSystemRule)
actorGroup.add_rule(skeletonOptimizationRule)
actorGroup.add_rule(morphTargetRule)
actorGroup.add_rule(lodRule)
actorGroup.add_rule(actorPhysicsSetupRule)
actorGroup.add_rule(commentRule)
sceneManifest.manifest['values'].append(actorGroup.to_dict())
def update_manifest(scene):
import json, uuid, os
import azlmbr.scene.graph
import scene_api.scene_data
graph = scene_api.scene_data.SceneGraph(scene.graph)
mesh_name_list, all_node_paths = get_node_names(graph, 'MeshData')
scene_manifest = scene_api.scene_data.SceneManifest()
generate_actor_group(scene, scene_manifest, mesh_name_list, all_node_paths)
generate_mesh_group(scene, scene_manifest, mesh_name_list, all_node_paths)
# Convert the manifest to a JSON string and return it
return scene_manifest.export()
sceneJobHandler = None
def on_update_manifest(args):
try:
scene = args[0]
return update_manifest(scene)
except RuntimeError as err:
print (f'ERROR - {err}')
log_exception_traceback()
except:
log_exception_traceback()
global sceneJobHandler
sceneJobHandler.disconnect()
sceneJobHandler = None
# try to create SceneAPI handler for processing
try:
import azlmbr.scene
sceneJobHandler = azlmbr.scene.ScriptBuildingNotificationBusHandler()
sceneJobHandler.connect()
sceneJobHandler.add_callback('OnUpdateManifest', on_update_manifest)
except:
sceneJobHandler = None
@@ -0,0 +1,66 @@
#
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
#
import traceback, sys, uuid, os, json
import scene_export_utils
import scene_api.motion_group
#
# Example for exporting MotionGroup scene rules
#
def update_manifest(scene):
import azlmbr.scene.graph
import scene_api.scene_data
# create a SceneManifest
sceneManifest = scene_api.scene_data.SceneManifest()
# create a MotionGroup
motionGroup = scene_api.motion_group.MotionGroup()
motionGroup.name = os.path.basename(scene.sourceFilename.replace('.', '_'))
motionAdditiveRule = scene_api.motion_group.MotionAdditiveRule()
motionAdditiveRule.sampleFrame = 2
motionGroup.add_rule(motionAdditiveRule)
motionScaleRule = motionGroup.create_rule(scene_api.motion_group.MotionScaleRule())
motionScaleRule.scaleFactor = 1.1
motionGroup.add_rule(motionScaleRule)
# add motion group to scene manifest
sceneManifest.add_motion_group(motionGroup)
# Convert the manifest to a JSON string and return it
return sceneManifest.export()
sceneJobHandler = None
def on_update_manifest(args):
try:
scene = args[0]
return update_manifest(scene)
except RuntimeError as err:
print (f'ERROR - {err}')
scene_export_utils.log_exception_traceback()
except:
scene_export_utils.log_exception_traceback()
global sceneJobHandler
sceneJobHandler.disconnect()
sceneJobHandler = None
# try to create SceneAPI handler for processing
try:
import azlmbr.scene
sceneJobHandler = azlmbr.scene.ScriptBuildingNotificationBusHandler()
sceneJobHandler.connect()
sceneJobHandler.add_callback('OnUpdateManifest', on_update_manifest)
except:
sceneJobHandler = None
@@ -0,0 +1,8 @@
{
"values": [
{
"$type": "ScriptProcessorRule",
"scriptFilename": "Assets/TestAnim/scene_export_motion.py"
}
]
}
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:011454252e40c927343cce16296412f02f45d1f345c75c036651bdcca473bda5
size 2672

Some files were not shown because too many files have changed in this diff Show More