mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-12 07:04:36 +00:00
- Reimplements autosave logic to handle levels, subscenes and terrains in a more consistent, reliable way.
- Adds entry to RMB menu in Asset Browser to restore an asset to a backup copy taken from autosaves - Adds reparent out-of-bounds objects button to SceneGroup inspector - Adds ability to have SubScene have a different loading bounds from the actual subscene bounds, allowing load triggering to happen ahead of the bounds of the subscene itself - Fixes asset importer handling of animFPS field to be the correct type - Adds onInspect handling to GameBase allowing better handling for any game class type with editor integration - Add getAssetLooseFileCount and getAssetLooseFile to AssetManager to be able to iterate over all loose files associated to an asset - Add standard/default preload function def to forestItem - Fixes handling of text placement on GuiIconButtonCtrl when text is set to the right - Adds setGlobalCenter utility function - Adds ability to set guiInputCtrl active state - Matched util functions for tracking if left and right mouse buttons are down to EditTSCtrl alongside the existing middle mouse - Add empty element sanity check to appMesh loader - Add callback for GameBase when game is created - Add default graphics options config for steamdeck - Fix typo in assetImportConfig default - Filters SceneGroup utility buttons in inspector to only show for relevent class types
This commit is contained in:
parent
70502d1b0f
commit
bb7ee38bf4
33 changed files with 978 additions and 237 deletions
|
|
@ -156,7 +156,7 @@ function loadMissionStage3()
|
|||
function GameBase::onCreateGame(%this)
|
||||
{
|
||||
%db = %this.getDatablock();
|
||||
if (%db.isMethod("onCreateGame"))
|
||||
if (isObject(%db) && %db.isMethod("onCreateGame"))
|
||||
{
|
||||
%db.onCreateGame(%this);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1199,140 +1199,169 @@ function AutodetectGraphics()
|
|||
%intel = ( strstr( strupr( getDisplayDeviceInformation() ), "INTEL" ) != -1 ) ? true : false;
|
||||
%videoMem = GFXCardProfilerAPI::getVideoMemoryMB();
|
||||
|
||||
if ( %shaderVer < 2.0 )
|
||||
{
|
||||
echo("Your video card does not meet the minimum requirment of shader model 2.0.");
|
||||
}
|
||||
|
||||
if ( %shaderVer < 3.0 || %intel )
|
||||
//Is this a steamdeck?
|
||||
if(startsWith(getDisplayDeviceInformation(), "AMD Custom GPU 0405"))
|
||||
{
|
||||
// Allow specular and normals for 2.0a and 2.0b
|
||||
if ( %shaderVer > 2.0 )
|
||||
{
|
||||
MeshQualityGroup.applySetting("Lowest");
|
||||
TextureQualityGroup.applySetting("Lowest");
|
||||
GroundCoverDensityGroup.applySetting("Lowest");
|
||||
DecalLifetimeGroup.applySetting("None");
|
||||
TerrainQualityGroup.applySetting("Lowest");
|
||||
ShaderQualityGroup.applySetting("High");
|
||||
|
||||
ShadowQualityList.applySetting("None");
|
||||
|
||||
SoftShadowList.applySetting("Off");
|
||||
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("None");
|
||||
AntiAliasingOptionsGroup.applySetting("Off");
|
||||
ParallaxOptionsGroup.applySetting("Off");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("Off");
|
||||
PostFXSSAOOptionsGroup.applySetting("Off");
|
||||
PostFXDOFOptionsGroup.applySetting("Off");
|
||||
PostFXVignetteOptionsGroup.applySetting("Off");
|
||||
PostFXLightRayOptionsGroup.applySetting("Off");
|
||||
}
|
||||
else
|
||||
{
|
||||
MeshQualityGroup.applySetting("Lowest");
|
||||
TextureQualityGroup.applySetting("Lowest");
|
||||
GroundCoverDensityGroup.applySetting("Lowest");
|
||||
DecalLifetimeGroup.applySetting("None");
|
||||
TerrainQualityGroup.applySetting("Lowest");
|
||||
ShaderQualityGroup.applySetting("Low");
|
||||
|
||||
ShadowQualityList.applySetting("None");
|
||||
|
||||
SoftShadowList.applySetting("Off");
|
||||
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("None");
|
||||
AntiAliasingOptionsGroup.applySetting("Off");
|
||||
ParallaxOptionsGroup.applySetting("Off");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("Off");
|
||||
PostFXSSAOOptionsGroup.applySetting("Off");
|
||||
PostFXDOFOptionsGroup.applySetting("Off");
|
||||
PostFXVignetteOptionsGroup.applySetting("Off");
|
||||
PostFXLightRayOptionsGroup.applySetting("Off");
|
||||
}
|
||||
}
|
||||
//If we're on a steamdeck, we can specifically calibrate settings for the platform here
|
||||
MeshQualityGroup.applySetting("Medium");
|
||||
TextureQualityGroup.applySetting("Medium");
|
||||
GroundCoverDensityGroup.applySetting("Medium");
|
||||
DecalLifetimeGroup.applySetting("Medium");
|
||||
TerrainQualityGroup.applySetting("Medium");
|
||||
ShaderQualityGroup.applySetting("High");
|
||||
|
||||
ShadowQualityList.applySetting("None");
|
||||
|
||||
SoftShadowList.applySetting("Low");
|
||||
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("4x");
|
||||
AntiAliasingOptionsGroup.applySetting("SMAA");
|
||||
ParallaxOptionsGroup.applySetting("On");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("On");
|
||||
PostFXSSAOOptionsGroup.applySetting("Off");
|
||||
PostFXDOFOptionsGroup.applySetting("On");
|
||||
PostFXVignetteOptionsGroup.applySetting("On");
|
||||
PostFXLightRayOptionsGroup.applySetting("On");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( %videoMem > 1000 )
|
||||
{
|
||||
MeshQualityGroup.applySetting("High");
|
||||
TextureQualityGroup.applySetting("High");
|
||||
GroundCoverDensityGroup.applySetting("High");
|
||||
DecalLifetimeGroup.applySetting("High");
|
||||
TerrainQualityGroup.applySetting("High");
|
||||
ShaderQualityGroup.applySetting("High");
|
||||
|
||||
ShadowQualityList.applySetting("High");
|
||||
|
||||
SoftShadowList.applySetting("High");
|
||||
|
||||
//Should this default to on in ultra settings?
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("16x");
|
||||
AntiAliasingOptionsGroup.applySetting("SMAA High");
|
||||
ParallaxOptionsGroup.applySetting("On");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("On");
|
||||
PostFXSSAOOptionsGroup.applySetting("On");
|
||||
PostFXDOFOptionsGroup.applySetting("On");
|
||||
PostFXVignetteOptionsGroup.applySetting("On");
|
||||
PostFXLightRayOptionsGroup.applySetting("On");
|
||||
if ( %shaderVer < 2.0 )
|
||||
{
|
||||
echo("Your video card does not meet the minimum requirment of shader model 2.0.");
|
||||
}
|
||||
else if ( %videoMem > 400 || %videoMem == 0 )
|
||||
|
||||
if ( %shaderVer < 3.0 || %intel )
|
||||
{
|
||||
MeshQualityGroup.applySetting("Medium");
|
||||
TextureQualityGroup.applySetting("Medium");
|
||||
GroundCoverDensityGroup.applySetting("Medium");
|
||||
DecalLifetimeGroup.applySetting("Medium");
|
||||
TerrainQualityGroup.applySetting("Medium");
|
||||
ShaderQualityGroup.applySetting("High");
|
||||
|
||||
ShadowQualityList.applySetting("Medium");
|
||||
|
||||
SoftShadowList.applySetting("Low");
|
||||
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("4x");
|
||||
AntiAliasingOptionsGroup.applySetting("SMAA");
|
||||
ParallaxOptionsGroup.applySetting("On");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("On");
|
||||
PostFXSSAOOptionsGroup.applySetting("Off");
|
||||
PostFXDOFOptionsGroup.applySetting("On");
|
||||
PostFXVignetteOptionsGroup.applySetting("On");
|
||||
PostFXLightRayOptionsGroup.applySetting("On");
|
||||
|
||||
if ( %videoMem == 0 )
|
||||
echo("Torque was unable to detect available video memory. Applying 'Medium' quality.");
|
||||
}
|
||||
// Allow specular and normals for 2.0a and 2.0b
|
||||
if ( %shaderVer > 2.0 )
|
||||
{
|
||||
MeshQualityGroup.applySetting("Lowest");
|
||||
TextureQualityGroup.applySetting("Lowest");
|
||||
GroundCoverDensityGroup.applySetting("Lowest");
|
||||
DecalLifetimeGroup.applySetting("None");
|
||||
TerrainQualityGroup.applySetting("Lowest");
|
||||
ShaderQualityGroup.applySetting("High");
|
||||
|
||||
ShadowQualityList.applySetting("None");
|
||||
|
||||
SoftShadowList.applySetting("Off");
|
||||
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("None");
|
||||
AntiAliasingOptionsGroup.applySetting("Off");
|
||||
ParallaxOptionsGroup.applySetting("Off");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("Off");
|
||||
PostFXSSAOOptionsGroup.applySetting("Off");
|
||||
PostFXDOFOptionsGroup.applySetting("Off");
|
||||
PostFXVignetteOptionsGroup.applySetting("Off");
|
||||
PostFXLightRayOptionsGroup.applySetting("Off");
|
||||
}
|
||||
else
|
||||
{
|
||||
MeshQualityGroup.applySetting("Lowest");
|
||||
TextureQualityGroup.applySetting("Lowest");
|
||||
GroundCoverDensityGroup.applySetting("Lowest");
|
||||
DecalLifetimeGroup.applySetting("None");
|
||||
TerrainQualityGroup.applySetting("Lowest");
|
||||
ShaderQualityGroup.applySetting("Low");
|
||||
|
||||
ShadowQualityList.applySetting("None");
|
||||
|
||||
SoftShadowList.applySetting("Off");
|
||||
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("None");
|
||||
AntiAliasingOptionsGroup.applySetting("Off");
|
||||
ParallaxOptionsGroup.applySetting("Off");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("Off");
|
||||
PostFXSSAOOptionsGroup.applySetting("Off");
|
||||
PostFXDOFOptionsGroup.applySetting("Off");
|
||||
PostFXVignetteOptionsGroup.applySetting("Off");
|
||||
PostFXLightRayOptionsGroup.applySetting("Off");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MeshQualityGroup.applySetting("Low");
|
||||
TextureQualityGroup.applySetting("Low");
|
||||
GroundCoverDensityGroup.applySetting("Low");
|
||||
DecalLifetimeGroup.applySetting("Low");
|
||||
TerrainQualityGroup.applySetting("Low");
|
||||
ShaderQualityGroup.applySetting("Low");
|
||||
|
||||
ShadowQualityList.applySetting("None");
|
||||
|
||||
SoftShadowList.applySetting("Off");
|
||||
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("None");
|
||||
AntiAliasingOptionsGroup.applySetting("FXAA");
|
||||
ParallaxOptionsGroup.applySetting("On");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("On");
|
||||
PostFXSSAOOptionsGroup.applySetting("Off");
|
||||
PostFXDOFOptionsGroup.applySetting("Off");
|
||||
PostFXVignetteOptionsGroup.applySetting("Off");
|
||||
PostFXLightRayOptionsGroup.applySetting("Off");
|
||||
if ( %videoMem > 1000 )
|
||||
{
|
||||
MeshQualityGroup.applySetting("High");
|
||||
TextureQualityGroup.applySetting("High");
|
||||
GroundCoverDensityGroup.applySetting("High");
|
||||
DecalLifetimeGroup.applySetting("High");
|
||||
TerrainQualityGroup.applySetting("High");
|
||||
ShaderQualityGroup.applySetting("High");
|
||||
|
||||
ShadowQualityList.applySetting("High");
|
||||
|
||||
SoftShadowList.applySetting("High");
|
||||
|
||||
//Should this default to on in ultra settings?
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("16x");
|
||||
AntiAliasingOptionsGroup.applySetting("SMAA High");
|
||||
ParallaxOptionsGroup.applySetting("On");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("On");
|
||||
PostFXSSAOOptionsGroup.applySetting("On");
|
||||
PostFXDOFOptionsGroup.applySetting("On");
|
||||
PostFXVignetteOptionsGroup.applySetting("On");
|
||||
PostFXLightRayOptionsGroup.applySetting("On");
|
||||
}
|
||||
else if ( %videoMem > 400 || %videoMem == 0 )
|
||||
{
|
||||
MeshQualityGroup.applySetting("Medium");
|
||||
TextureQualityGroup.applySetting("Medium");
|
||||
GroundCoverDensityGroup.applySetting("Medium");
|
||||
DecalLifetimeGroup.applySetting("Medium");
|
||||
TerrainQualityGroup.applySetting("Medium");
|
||||
ShaderQualityGroup.applySetting("High");
|
||||
|
||||
ShadowQualityList.applySetting("Medium");
|
||||
|
||||
SoftShadowList.applySetting("Low");
|
||||
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("4x");
|
||||
AntiAliasingOptionsGroup.applySetting("SMAA");
|
||||
ParallaxOptionsGroup.applySetting("On");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("On");
|
||||
PostFXSSAOOptionsGroup.applySetting("Off");
|
||||
PostFXDOFOptionsGroup.applySetting("On");
|
||||
PostFXVignetteOptionsGroup.applySetting("On");
|
||||
PostFXLightRayOptionsGroup.applySetting("On");
|
||||
|
||||
if ( %videoMem == 0 )
|
||||
echo("Torque was unable to detect available video memory. Applying 'Medium' quality.");
|
||||
}
|
||||
else
|
||||
{
|
||||
MeshQualityGroup.applySetting("Low");
|
||||
TextureQualityGroup.applySetting("Low");
|
||||
GroundCoverDensityGroup.applySetting("Low");
|
||||
DecalLifetimeGroup.applySetting("Low");
|
||||
TerrainQualityGroup.applySetting("Low");
|
||||
ShaderQualityGroup.applySetting("Low");
|
||||
|
||||
ShadowQualityList.applySetting("None");
|
||||
|
||||
SoftShadowList.applySetting("Off");
|
||||
|
||||
$pref::Shadows::useShadowCaching = true;
|
||||
|
||||
AnisotropicFilterOptionsGroup.applySetting("None");
|
||||
AntiAliasingOptionsGroup.applySetting("FXAA");
|
||||
ParallaxOptionsGroup.applySetting("On");
|
||||
TrueWaterReflectionsOptionsGroup.applySetting("On");
|
||||
PostFXSSAOOptionsGroup.applySetting("Off");
|
||||
PostFXDOFOptionsGroup.applySetting("Off");
|
||||
PostFXVignetteOptionsGroup.applySetting("Off");
|
||||
PostFXLightRayOptionsGroup.applySetting("Off");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue