mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-01 11:33:48 +00:00
Merge branch 'PreviewAssets_UseAsset' into SoundAsset_Refactor
This commit is contained in:
commit
c6ec2fd6a1
24 changed files with 391 additions and 125 deletions
|
|
@ -42,6 +42,21 @@ function Prototyping::initClient(%this)
|
|||
//This is called when a client connects to a server
|
||||
function Prototyping::onCreateClientConnection(%this)
|
||||
{
|
||||
if (!isObject(screen_Canvas))
|
||||
{
|
||||
new GuiOffscreenCanvas(screen_Canvas) {
|
||||
targetName = "screen_Canvas";
|
||||
targetSize = "1280 720";
|
||||
dynamicTarget = false;
|
||||
canInteract = true;
|
||||
maxInteractDistance = "3";
|
||||
};
|
||||
}
|
||||
|
||||
if(isObject(OptionsMenu))
|
||||
{
|
||||
screen_Canvas.setContent(OptionsMenu);
|
||||
}
|
||||
}
|
||||
|
||||
//This is called when a client disconnects from a server
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
<ImageAsset
|
||||
AssetName="ScreenTarget"
|
||||
imageFile="@assetFile=#screen_Canvas"
|
||||
VersionId="1">
|
||||
<ImageAsset.ImageMetadata>
|
||||
<ImageInfo
|
||||
ImageWidth="-1"
|
||||
ImageHeight="-1"
|
||||
ImageDepth="-1"/>
|
||||
</ImageAsset.ImageMetadata>
|
||||
</ImageAsset>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<MaterialAsset
|
||||
AssetName="monitor_base_mat"
|
||||
materialDefinitionName="monitor_base_mat">
|
||||
<Material
|
||||
Name="monitor_base_mat"
|
||||
mapTo="monitor_base_mat"
|
||||
doubleSided="true"
|
||||
originalAssetName="monitor_base_mat">
|
||||
<Material.Stages>
|
||||
<Stages_beginarray
|
||||
DiffuseColor="0 0 0 1"/>
|
||||
</Material.Stages>
|
||||
</Material>
|
||||
</MaterialAsset>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<MaterialAsset
|
||||
AssetName="monitor_screen_mat"
|
||||
materialDefinitionName="monitor_screen_mat">
|
||||
<Material
|
||||
Name="monitor_screen_mat"
|
||||
mapTo="monitor_screen_mat"
|
||||
originalAssetName="monitor_base_mat">
|
||||
<Material.Stages>
|
||||
<Stages_beginarray
|
||||
DiffuseMapAsset="@asset=Prototyping:ScreenTarget"
|
||||
IgnoreLighting="true"/>
|
||||
<Stages_beginarray
|
||||
DiffuseColor="White"/>
|
||||
</Material.Stages>
|
||||
</Material>
|
||||
</MaterialAsset>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<ShapeAsset
|
||||
AssetName="monitor_shape"
|
||||
fileName="@assetFile=monitor_shape.fbx"
|
||||
constuctorFileName="@assetFile=monitor_shape.tscript"
|
||||
materialSlot0="@asset=Prototyping:monitor_base_mat"
|
||||
materialSlot1="@asset=Prototyping:monitor_screen_mat"/>
|
||||
Binary file not shown.
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
singleton TSShapeConstructor(monitor_shapefbx)
|
||||
{
|
||||
baseShapeAsset = "Prototyping:monitor_shape";
|
||||
singleDetailSize = "0";
|
||||
neverImportMat = "DefaultMaterial ColorEffect*";
|
||||
flipUVCoords = "0";
|
||||
joinIdenticalVerts = "0";
|
||||
reverseWindingOrder = "0";
|
||||
removeRedundantMats = "0";
|
||||
animFPS = "2";
|
||||
};
|
||||
|
||||
function monitor_shapefbx::onLoad(%this)
|
||||
{
|
||||
%this.addNode("Col-1", "", "0 0 0 0 0 1 0", "0", "");
|
||||
%this.addNode("ColBox-1", "Col-1", "0 0 0 1 0 0 0", "0", "Bounds");
|
||||
%this.addCollisionDetail("-1", "Box", "Bounds", "4", "10", "30", "32", "30", "30", "30", "Flood fill");
|
||||
%this.setBounds("-0.8 -0.244957 -0.0409516 0.8 0.244957 1.10231");
|
||||
}
|
||||
|
|
@ -26,7 +26,7 @@ if($platform $= "macos")
|
|||
{
|
||||
hotSpot = "4 4";
|
||||
renderOffset = "0 0";
|
||||
bitmapName = "data/ui/images/macCursor";
|
||||
bitmapAsset = "UI:macCursor_image";
|
||||
};
|
||||
}
|
||||
else
|
||||
|
|
@ -35,6 +35,6 @@ else
|
|||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0 0";
|
||||
bitmapName = "data/ui/images/defaultCursor";
|
||||
bitmapAsset = "UI:defaultCursor_image";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@ function AssetBrowser::initialize(%this)
|
|||
|
||||
if(!isObject(%this.dirHandler))
|
||||
{
|
||||
%this.dirHandler = makedirectoryHandler(%this-->filterTree, "cache,shaderCache", "");
|
||||
%this.dirHandler = makedirectoryHandler(%this-->filterTree, "cache,shaderCache,previewCache", "");
|
||||
%this.dirHandler.currentAddress = "data/";
|
||||
}
|
||||
|
||||
|
|
@ -1633,7 +1633,7 @@ function AssetBrowser::doRebuildAssetArray(%this)
|
|||
else
|
||||
{
|
||||
//got it.
|
||||
if(%folderName $= "shaderCache" || %folderName $= "cache" || %folderName $= ".git")
|
||||
if(%folderName $= "shaderCache" || %folderName $= "cache" || %folderName $= ".git" || %folderName $= "previewCache")
|
||||
continue;
|
||||
|
||||
if(!%this.coreModulesFilter && %folderName $= "core" && %breadcrumbPath $= "")
|
||||
|
|
|
|||
|
|
@ -42,29 +42,53 @@ function ImageAsset::generatePreviewImage(%this, %previewButton, %forceRegenerat
|
|||
if(%forceRegenerate $= "")
|
||||
%forceRegenerate = false;
|
||||
|
||||
%previewPath = "tools/resources/previewCache/" @ %previewButton.moduleName @ "/";
|
||||
%previewPath = "tools/resources/previewCache/" @ %previewButton.moduleName @ "/";
|
||||
|
||||
if(!IsDirectory(%previewPath))
|
||||
{
|
||||
$CurrentAssetBrowser.dirHandler.createFolder(%previewPath);
|
||||
}
|
||||
|
||||
%previewFilePath = %previewPath @ %this.assetName @ ".png";
|
||||
%previewFilePath = %previewPath @ %this.assetName @ "_Preview.png";
|
||||
|
||||
if(!isFile(%previewFilePath) || (compareFileTimes(%this.getImagePath(), %previewFilePath) == 1))
|
||||
{
|
||||
%generatePreview = true;
|
||||
}
|
||||
|
||||
%previewAssetName = "ToolsModule:" @ %this.assetName @ "_Preview";
|
||||
|
||||
if(%generatePreview || %forceRegenerate)
|
||||
{
|
||||
%success = saveScaledImage(%this.getImagePath(), %previewFilePath, EditorSettings.value("Assets/Browser/PreviewImageSize"));
|
||||
|
||||
if(%success)
|
||||
%previewButton.setBitmap(%previewFilePath);
|
||||
|
||||
{
|
||||
|
||||
if(!AssetDatabase.isDeclaredAsset(%previewAssetName))
|
||||
{
|
||||
%preview_Asset = new ImageAsset()
|
||||
{
|
||||
assetName = %this.assetName @ "_Preview";
|
||||
versionId = 1;
|
||||
imageFile = "@" @ %this.assetName @ "_Preview.png";
|
||||
};
|
||||
|
||||
TamlWrite(%preview_Asset, expandPath("^ToolsModule/resources/previewCache/" @ %previewButton.moduleName @ "/" @ %preview_Asset.AssetName @ ".asset.taml"));
|
||||
%toolsModuleDef = ModuleDatabase.findModule("ToolsModule",1);
|
||||
AssetDatabase.addDeclaredAsset(%toolsModuleDef, expandPath("^ToolsModule/resources/previewCache/" @ %previewButton.moduleName @ "/" @ %preview_Asset.AssetName @ ".asset.taml"));
|
||||
}
|
||||
|
||||
%previewButton.bitmapAsset = %previewAssetName;
|
||||
}
|
||||
|
||||
return %success;
|
||||
}
|
||||
else
|
||||
{
|
||||
%previewButton.bitmapAsset = %previewAssetName;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,8 +101,7 @@ function MaterialAsset::generatePreviewImage(%this, %previewButton, %forceRegene
|
|||
if(%forceRegenerate $= "")
|
||||
%forceRegenerate = false;
|
||||
|
||||
%module = $CurrentAssetBrowser.dirHandler.getModuleFromAddress(makeRelativePath(filePath(AssetDatabase.getAssetFilePath(%this.getAssetId()))));
|
||||
%previewPath = "tools/resources/previewCache/" @ %module.moduleId @ "/";
|
||||
%previewPath = "tools/resources/previewCache/" @ %previewButton.moduleName @ "/";
|
||||
|
||||
if(!IsDirectory(%previewPath))
|
||||
{
|
||||
|
|
@ -111,7 +110,8 @@ function MaterialAsset::generatePreviewImage(%this, %previewButton, %forceRegene
|
|||
|
||||
%generatePreview = false;
|
||||
|
||||
%previewFilePath = %previewPath @ %this.assetName @ ".png";
|
||||
%previewFilePath = %previewPath @ %this.assetName @ "_Preview.png";
|
||||
|
||||
if(!isFile(%previewFilePath))
|
||||
{
|
||||
%generatePreview = true;
|
||||
|
|
@ -126,6 +126,8 @@ function MaterialAsset::generatePreviewImage(%this, %previewButton, %forceRegene
|
|||
}
|
||||
}
|
||||
|
||||
%previewAssetName = "ToolsModule:" @ %this.assetName @ "_Preview";
|
||||
|
||||
if(%generatePreview || %forceRegenerate)
|
||||
{
|
||||
if(isObject(%this.materialDefinitionName))
|
||||
|
|
@ -137,22 +139,41 @@ function MaterialAsset::generatePreviewImage(%this, %previewButton, %forceRegene
|
|||
%diffuseMapAsset = AssetDatabase.acquireAsset(%diffuseMapAssetId);
|
||||
AssetDatabase.releaseAsset(%diffuseMapAssetId);
|
||||
}
|
||||
|
||||
%previewShapeDef = AssetDatabase.acquireAsset("ToolsModule:previewSphereShape");
|
||||
%generatedFilePath = %previewShapeDef.generateCachedPreviewImage(256, %this.materialDefinitionName);
|
||||
|
||||
pathCopy(%generatedFilePath, %previewFilePath, false);
|
||||
fileDelete(%generatedFilePath);
|
||||
|
||||
if(isFile(%previewFilePath))
|
||||
if(!AssetDatabase.isDeclaredAsset(%previewAssetName))
|
||||
{
|
||||
%previewButton.setBitmap(%previewFilePath);
|
||||
return true;
|
||||
%preview_Asset = new ImageAsset()
|
||||
{
|
||||
assetName = %this.assetName @ "_Preview";
|
||||
versionId = 1;
|
||||
imageFile = "@" @ %this.assetName @ "_Preview.png";
|
||||
};
|
||||
|
||||
TamlWrite(%preview_Asset, expandPath("^ToolsModule/resources/previewCache/" @ %previewButton.moduleName @ "/" @ %preview_Asset.AssetName @ ".asset.taml"));
|
||||
%toolsModuleDef = ModuleDatabase.findModule("ToolsModule",1);
|
||||
AssetDatabase.addDeclaredAsset(%toolsModuleDef, expandPath("^ToolsModule/resources/previewCache/" @ %previewButton.moduleName @ "/" @ %preview_Asset.AssetName @ ".asset.taml"));
|
||||
}
|
||||
|
||||
%previewButton.bitmapAsset = %previewAssetName;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
%previewButton.bitmapAsset = %previewAssetName;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -111,23 +111,21 @@ function ShapeAsset::generatePreviewImage(%this, %previewButton, %forceRegenerat
|
|||
if(%forceRegenerate $= "")
|
||||
%forceRegenerate = false;
|
||||
|
||||
%assetId = %this.getAssetId();
|
||||
|
||||
%module = %previewButton.assetBrowser.dirHandler.getModuleFromAddress(makeRelativePath(filePath(%this.getShapePath())));
|
||||
%previewPath = "tools/resources/previewCache/" @ %module.moduleId @ "/";
|
||||
%previewPath = "tools/resources/previewCache/" @ %previewButton.moduleName @ "/";
|
||||
|
||||
if(!IsDirectory(%previewPath))
|
||||
{
|
||||
%previewButton.assetBrowser.dirHandler.createFolder(%previewPath);
|
||||
$CurrentAssetBrowser.dirHandler.createFolder(%previewPath);
|
||||
}
|
||||
|
||||
%generatePreview = false;
|
||||
%previewFilePath = %previewPath @ %this.assetName @ "_Preview.png";
|
||||
|
||||
%previewFilePath = %previewPath @ %this.assetName @ ".png";
|
||||
if(!isFile(%previewFilePath) || (compareFileTimes(%this.getShapePath(), %previewFilePath) == 1))
|
||||
{
|
||||
%generatePreview = true;
|
||||
}
|
||||
|
||||
%previewAssetName = "ToolsModule:" @ %this.assetName @ "_Preview";
|
||||
|
||||
if(%generatePreview || %forceRegenerate)
|
||||
{
|
||||
|
|
@ -146,14 +144,28 @@ function ShapeAsset::generatePreviewImage(%this, %previewButton, %forceRegenerat
|
|||
|
||||
pathCopy(%filePath, %previewFilePath, false);
|
||||
fileDelete(%filePath); //cleanup
|
||||
|
||||
if(isFile(%previewFilePath))
|
||||
|
||||
if(!AssetDatabase.isDeclaredAsset(%previewAssetName))
|
||||
{
|
||||
%previewButton.setBitmap(%previewFilePath);
|
||||
return true;
|
||||
%preview_Asset = new ImageAsset()
|
||||
{
|
||||
assetName = %this.assetName @ "_Preview";
|
||||
versionId = 1;
|
||||
imageFile = "@" @ %this.assetName @ "_Preview.png";
|
||||
};
|
||||
|
||||
TamlWrite(%preview_Asset, expandPath("^ToolsModule/resources/previewCache/" @ %previewButton.moduleName @ "/" @ %preview_Asset.AssetName @ ".asset.taml"));
|
||||
%toolsModuleDef = ModuleDatabase.findModule("ToolsModule",1);
|
||||
AssetDatabase.addDeclaredAsset(%toolsModuleDef, expandPath("^ToolsModule/resources/previewCache/" @ %previewButton.moduleName @ "/" @ %preview_Asset.AssetName @ ".asset.taml"));
|
||||
}
|
||||
|
||||
return false;
|
||||
%previewButton.bitmapAsset = %previewAssetName;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
%previewButton.bitmapAsset = %previewAssetName;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -24,40 +24,40 @@ new GuiCursor(LeftRightCursor)
|
|||
{
|
||||
hotSpot = "0.5 0";
|
||||
renderOffset = "0.5 0";
|
||||
bitmapName = "./Images/leftRight";
|
||||
bitmapAsset = "ToolsModule:leftRight_image";
|
||||
};
|
||||
|
||||
new GuiCursor(UpDownCursor)
|
||||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0 1";
|
||||
bitmapName = "./Images/upDown";
|
||||
bitmapAsset = "ToolsModule:upDown_image";
|
||||
};
|
||||
|
||||
new GuiCursor(NWSECursor)
|
||||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0.5 0.5";
|
||||
bitmapName = "./Images/NWSE";
|
||||
bitmapAsset = "ToolsModule:NWSE_image";
|
||||
};
|
||||
|
||||
new GuiCursor(NESWCursor)
|
||||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0.5 0.5";
|
||||
bitmapName = "./Images/NESW";
|
||||
bitmapAsset = "ToolsModule:NESW_image";
|
||||
};
|
||||
|
||||
new GuiCursor(MoveCursor)
|
||||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0.5 0.5";
|
||||
bitmapName = "./Images/move";
|
||||
bitmapAsset = "ToolsModule:move_image";
|
||||
};
|
||||
|
||||
new GuiCursor(TextEditCursor)
|
||||
{
|
||||
hotSpot = "1 1";
|
||||
renderOffset = "0.5 0.5";
|
||||
bitmapName = "./Images/textEdit";
|
||||
bitmapAsset = "ToolsModule:textEdit_image";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -27,48 +27,48 @@
|
|||
new GuiCursor(EditorHandCursor)
|
||||
{
|
||||
hotSpot = "7 0";
|
||||
bitmapName = "~/worldEditor/images/CUR_hand.png";
|
||||
bitmapAsset = "ToolsModule:CUR_hand_image";
|
||||
};
|
||||
|
||||
new GuiCursor(EditorRotateCursor)
|
||||
{
|
||||
hotSpot = "11 18";
|
||||
bitmapName = "~/worldEditor/images/CUR_rotate.png";
|
||||
bitmapAsset = "ToolsModule:CUR_rotate_image";
|
||||
};
|
||||
|
||||
new GuiCursor(EditorMoveCursor)
|
||||
{
|
||||
hotSpot = "9 13";
|
||||
bitmapName = "~/worldEditor/images/CUR_grab.png";
|
||||
bitmapAsset = "ToolsModule:CUR_grab_image";
|
||||
};
|
||||
|
||||
new GuiCursor(EditorArrowCursor)
|
||||
{
|
||||
hotSpot = "0 0";
|
||||
bitmapName = "~/worldEditor/images/CUR_3darrow.png";
|
||||
bitmapAsset = "ToolsModule:CUR_3darrow_image";
|
||||
};
|
||||
|
||||
new GuiCursor(EditorUpDownCursor)
|
||||
{
|
||||
hotSpot = "5 10";
|
||||
bitmapName = "~/worldEditor/images/CUR_3dupdown";
|
||||
bitmapAsset = "ToolsModule:CUR_3dupdown_image";
|
||||
};
|
||||
new GuiCursor(EditorLeftRightCursor)
|
||||
{
|
||||
hotSpot = "9 5";
|
||||
bitmapName = "~/worldEditor/images/CUR_3dleftright";
|
||||
bitmapAsset = "ToolsModule:CUR_3dleftright_image";
|
||||
};
|
||||
|
||||
new GuiCursor(EditorDiagRightCursor)
|
||||
{
|
||||
hotSpot = "8 8";
|
||||
bitmapName = "~/worldEditor/images/CUR_3ddiagright";
|
||||
bitmapAsset = "ToolsModule:CUR_3ddiagright_image";
|
||||
};
|
||||
|
||||
new GuiCursor(EditorDiagLeftCursor)
|
||||
{
|
||||
hotSpot = "8 8";
|
||||
bitmapName = "~/worldEditor/images/CUR_3ddiagleft";
|
||||
bitmapAsset = "ToolsModule:CUR_3ddiagleft_image";
|
||||
};
|
||||
|
||||
new GuiControl(EmptyControl)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue