From b8eaefc21e1bcb6d7e65977b9311563125340dc7 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Thu, 22 Jul 2021 20:55:46 -0500 Subject: [PATCH] refactor new IsScriptFile method to be zip-safe --- Engine/source/T3D/assets/CubemapAsset.cpp | 4 ++-- Engine/source/T3D/assets/GUIAsset.cpp | 8 ++++---- Engine/source/T3D/assets/GameObjectAsset.cpp | 4 ++-- Engine/source/T3D/assets/MaterialAsset.cpp | 4 ++-- Engine/source/T3D/assets/PostEffectAsset.cpp | 4 ++-- Engine/source/T3D/assets/ScriptAsset.cpp | 6 +++--- Engine/source/T3D/prefab.cpp | 2 +- Engine/source/core/volume.cpp | 12 ++++++++++++ Engine/source/core/volume.h | 1 + Engine/source/platform/platform.cpp | 12 +----------- Engine/source/platform/platform.h | 1 - 11 files changed, 30 insertions(+), 28 deletions(-) diff --git a/Engine/source/T3D/assets/CubemapAsset.cpp b/Engine/source/T3D/assets/CubemapAsset.cpp index ed3c36f4f..656c3d63d 100644 --- a/Engine/source/T3D/assets/CubemapAsset.cpp +++ b/Engine/source/T3D/assets/CubemapAsset.cpp @@ -136,7 +136,7 @@ void CubemapAsset::initializeAsset() { mScriptFile = expandAssetFilePath(mScriptFile); - if(Platform::isScriptFile(mScriptFile)) + if(Torque::FS::IsScriptFile(mScriptFile)) Con::executeFile(mScriptFile, false, false); } @@ -144,7 +144,7 @@ void CubemapAsset::onAssetRefresh() { mScriptFile = expandAssetFilePath(mScriptFile); - if (Platform::isScriptFile(mScriptFile)) + if (Torque::FS::IsScriptFile(mScriptFile)) Con::executeFile(mScriptFile, false, false); } diff --git a/Engine/source/T3D/assets/GUIAsset.cpp b/Engine/source/T3D/assets/GUIAsset.cpp index 3d4d4e713..798e84b67 100644 --- a/Engine/source/T3D/assets/GUIAsset.cpp +++ b/Engine/source/T3D/assets/GUIAsset.cpp @@ -119,12 +119,12 @@ void GUIAsset::initializeAsset() { mGUIPath = expandAssetFilePath(mGUIFile); - if (Platform::isScriptFile(mGUIPath)) + if (Torque::FS::IsScriptFile(mGUIPath)) Con::executeFile(mGUIPath, false, false); mScriptPath = expandAssetFilePath(mScriptFile); - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); } @@ -132,12 +132,12 @@ void GUIAsset::onAssetRefresh() { mGUIPath = expandAssetFilePath(mGUIFile); - if (Platform::isScriptFile(mGUIPath)) + if (Torque::FS::IsScriptFile(mGUIPath)) Con::executeFile(mGUIPath, false, false); mScriptPath = expandAssetFilePath(mScriptFile); - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); } diff --git a/Engine/source/T3D/assets/GameObjectAsset.cpp b/Engine/source/T3D/assets/GameObjectAsset.cpp index 7ccc0f089..74014f254 100644 --- a/Engine/source/T3D/assets/GameObjectAsset.cpp +++ b/Engine/source/T3D/assets/GameObjectAsset.cpp @@ -133,7 +133,7 @@ void GameObjectAsset::initializeAsset() //Ensure we have an expanded filepath mScriptPath = getOwned() ? expandAssetFilePath(mScriptFile) : mScriptPath; - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); mTAMLPath = getOwned() ? expandAssetFilePath(mTAMLFile) : mTAMLPath; @@ -144,7 +144,7 @@ void GameObjectAsset::onAssetRefresh() //Ensure we have an expanded filepath mScriptPath = getOwned() ? expandAssetFilePath(mScriptFile) : mScriptPath; - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); mTAMLPath = getOwned() ? expandAssetFilePath(mTAMLFile) : mTAMLPath; diff --git a/Engine/source/T3D/assets/MaterialAsset.cpp b/Engine/source/T3D/assets/MaterialAsset.cpp index ce204115a..d7374aa6a 100644 --- a/Engine/source/T3D/assets/MaterialAsset.cpp +++ b/Engine/source/T3D/assets/MaterialAsset.cpp @@ -166,7 +166,7 @@ void MaterialAsset::initializeAsset() mScriptPath = getOwned() ? expandAssetFilePath(mScriptFile) : mScriptPath; - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); loadMaterial(); @@ -176,7 +176,7 @@ void MaterialAsset::onAssetRefresh() { mScriptPath = getOwned() ? expandAssetFilePath(mScriptFile) : mScriptPath; - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); loadMaterial(); diff --git a/Engine/source/T3D/assets/PostEffectAsset.cpp b/Engine/source/T3D/assets/PostEffectAsset.cpp index 89467fed1..e14d3ad7f 100644 --- a/Engine/source/T3D/assets/PostEffectAsset.cpp +++ b/Engine/source/T3D/assets/PostEffectAsset.cpp @@ -136,7 +136,7 @@ void PostEffectAsset::initializeAsset() mHLSLShaderPath = expandAssetFilePath(mHLSLShaderFile); mGLSLShaderPath = expandAssetFilePath(mGLSLShaderFile); - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); } @@ -146,7 +146,7 @@ void PostEffectAsset::onAssetRefresh() mHLSLShaderPath = expandAssetFilePath(mHLSLShaderFile); mGLSLShaderPath = expandAssetFilePath(mGLSLShaderFile); - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); } diff --git a/Engine/source/T3D/assets/ScriptAsset.cpp b/Engine/source/T3D/assets/ScriptAsset.cpp index b45aff185..5ff8889e2 100644 --- a/Engine/source/T3D/assets/ScriptAsset.cpp +++ b/Engine/source/T3D/assets/ScriptAsset.cpp @@ -124,7 +124,7 @@ void ScriptAsset::initializeAsset() { mScriptPath = expandAssetFilePath(mScriptFile); - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) { //We're initialized properly, so we'll go ahead and kick along any dependencies we may have as well AssetManager::typeAssetDependsOnHash::Iterator assetDependenciesItr = mpOwningAssetManager->getDependedOnAssets()->find(mpAssetDefinition->mAssetId); @@ -152,7 +152,7 @@ void ScriptAsset::onAssetRefresh() { mScriptPath = expandAssetFilePath(mScriptFile); - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) { //Refresh any dependencies we may have for (U32 i = 0; i < mScriptAssets.size(); i++) @@ -192,7 +192,7 @@ bool ScriptAsset::execScript() return false; - if (Platform::isScriptFile(mScriptPath)) + if (Torque::FS::IsScriptFile(mScriptPath)) { return Con::executeFile(mScriptPath, false, false); } diff --git a/Engine/source/T3D/prefab.cpp b/Engine/source/T3D/prefab.cpp index 9851db271..9c30963c0 100644 --- a/Engine/source/T3D/prefab.cpp +++ b/Engine/source/T3D/prefab.cpp @@ -337,7 +337,7 @@ void Prefab::_loadFile( bool addFileNotify ) if ( mFilename == StringTable->EmptyString()) return; - if ( !Platform::isScriptFile( mFilename ) ) + if ( !Torque::FS::IsScriptFile( mFilename ) ) { Con::errorf( "Prefab::_loadFile() - file %s was not found.", mFilename ); return; diff --git a/Engine/source/core/volume.cpp b/Engine/source/core/volume.cpp index aec3052db..d056ee331 100644 --- a/Engine/source/core/volume.cpp +++ b/Engine/source/core/volume.cpp @@ -1074,6 +1074,18 @@ bool IsFile(const Path &path) return sgMountSystem.isFile(path); } +bool IsScriptFile(const char* pFilePath) +{ + return (sgMountSystem.isFile(pFilePath) + || sgMountSystem.isFile(pFilePath + String(".dso")) + || sgMountSystem.isFile(pFilePath + String(".mis")) + || sgMountSystem.isFile(pFilePath + String(".mis.dso")) + || sgMountSystem.isFile(pFilePath + String(".gui")) + || sgMountSystem.isFile(pFilePath + String(".gui.dso")) + || sgMountSystem.isFile(pFilePath + String("." TORQUE_SCRIPT_EXTENSION)) + || sgMountSystem.isFile(pFilePath + String("." TORQUE_SCRIPT_EXTENSION) + String(".dso"))); +} + bool IsDirectory(const Path &path) { return sgMountSystem.isDirectory(path); diff --git a/Engine/source/core/volume.h b/Engine/source/core/volume.h index 25a2d33c4..18112322f 100644 --- a/Engine/source/core/volume.h +++ b/Engine/source/core/volume.h @@ -550,6 +550,7 @@ bool CreatePath(const Path &path); bool IsReadOnly(const Path &path); bool IsDirectory(const Path &path); bool IsFile(const Path &path); +bool IsScriptFile(const char* pFilePath); bool VerifyWriteAccess(const Path &path); /// This returns a unique file path from the components diff --git a/Engine/source/platform/platform.cpp b/Engine/source/platform/platform.cpp index b75518d1c..28174a922 100644 --- a/Engine/source/platform/platform.cpp +++ b/Engine/source/platform/platform.cpp @@ -155,14 +155,4 @@ void Platform::setWebDeployment(bool v) gWebDeployment = v; } -bool Platform::isScriptFile(const char* pFilePath) -{ - return (isFile(pFilePath) - || isFile(pFilePath + String(".dso")) - || isFile(pFilePath + String(".mis")) - || isFile(pFilePath + String(".mis.dso")) - || isFile(pFilePath + String(".gui")) - || isFile(pFilePath + String(".gui.dso")) - || isFile(pFilePath + String("." TORQUE_SCRIPT_EXTENSION)) - || isFile(pFilePath + String("." TORQUE_SCRIPT_EXTENSION) + String(".dso"))); -} + diff --git a/Engine/source/platform/platform.h b/Engine/source/platform/platform.h index cafcae760..7158c5163 100644 --- a/Engine/source/platform/platform.h +++ b/Engine/source/platform/platform.h @@ -289,7 +289,6 @@ namespace Platform bool hasSubDirectory( const char *pPath ); bool getFileTimes(const char *filePath, FileTime *createTime, FileTime *modifyTime); bool isFile(const char *pFilePath); - bool isScriptFile(const char* pFilePath); S32 getFileSize(const char *pFilePath); bool isDirectory(const char *pDirPath); bool isSubDirectory(const char *pParent, const char *pDir);