//----------------------------------------------------------------------------- // Copyright (c) 2013 GarageGames, LLC // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to // deal in the Software without restriction, including without limitation the // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or // sell copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS // IN THE SOFTWARE. //----------------------------------------------------------------------------- /*! @defgroup ResourceManagerFunctions Resource Manager @ingroup TorqueScriptFunctions @{ */ #ifdef TORQUE_DEBUG /*! Use the dumpLoadedResources function to dump a listing of the currently in-use resources to the console. This will include such things as sound files, font files, etc. For this to work, the engine must have been compiled with TORQUE_DEBUG defined. @return No return value. @sa purgeResources */ ConsoleFunctionWithDocs(dumpResources, ConsoleVoid, 2, 2, (onlyLoaded?)) { const bool onlyLoaded = argc == 2 ? dAtob(argv[1]) : true; ResourceManager->dumpResources(onlyLoaded); } #endif /*! Add a path to the resource manager */ ConsoleFunctionWithDocs(addResPath, ConsoleVoid, 2, 3, (path, [ignoreZips=false]?)) { if( argc > 2 ) ResourceManager->addPath(argv[1], dAtob(argv[2])); else ResourceManager->addPath(argv[1]); } /*! Remove a path from the resource manager. Path is an expression as in findFirstFile() */ ConsoleFunctionWithDocs(removeResPath, ConsoleVoid, 2, 2, (pathExpression)) { ResourceManager->removePath(argv[1]); } // Mod paths aren't used in tools applications. // See : addResPath/removeResPath console functions /*! Use the setModPaths function to set the current mod path to the value specified in path. @param path A string containing a semi-colon (;) separated list of game and mod paths. @return No return value. @sa getModPaths */ ConsoleFunctionWithDocs( setModPaths, ConsoleVoid, 2, 2, ( path )) { char buf[512]; dStrncpy(buf, argv[1], sizeof(buf) - 1); buf[511] = '\0'; Vector paths; char* temp = dStrtok( buf, ";" ); while ( temp ) { if ( temp[0] ) paths.push_back(temp); temp = dStrtok( NULL, ";" ); } ResourceManager->setModPaths( paths.size(), (const char**) paths.address() ); } /*! Use the getModPaths function to get the current mod path information. @return Returns a string equivalent to the complete current mod path, that is all pads that are visible to the file manager. @sa setModPaths */ ConsoleFunctionWithDocs( getModPaths, ConsoleString, 1, 1, ()) { return( ResourceManager->getModPaths() ); } /*! Use the purgeResources function to purge all game resources. @return No return value. @sa clearTextureHolds, dumpResourceStats, dumpTextureStats, flushTextureCache */ ConsoleFunctionWithDocs( purgeResources, ConsoleVoid, 1, 1, ()) { ResourceManager->purge(); } /*! @return Returns true if using Virtual File System */ ConsoleFunctionWithDocs(isUsingVFS, ConsoleBool, 1, 1, ()) { return ResourceManager->isUsingVFS(); } /*! @} */ // group ResourceManagerFunctions