Torque2D Reference
Loading...
Searching...
No Matches
ResManager Class Reference

#include <resourceManager.h>

Public Member Functions

RESOURCE_CREATE_FN getCreateFunction (const char *name)
 ~ResManager ()
void setFileNameEcho (bool on)
 Sets whether or not to echo filenames that have been accessed by means of openStream.
void setModPaths (U32 numPaths, const char **dirs)
 Sets the path for the current game mod.
const char * getModPaths ()
 Gets the path for the current game mod.
void addPath (const char *path, bool ignoreZips=false)
 Add a path.
void removePath (const char *path)
 Remove a path. Only removes resources that are not loaded.
void setMissingFileLogging (bool log)
 Should we log missing files?
bool getMissingFileList (Vector< char * > &list)
 Gets which files are missing.
void clearMissingFileList ()
 Clears the missing file list.
void registerExtension (const char *extension, RESOURCE_CREATE_FN create_fn)
 Tells the resource manager what to do with a resource that it loads.
S32 getSize (const char *filename)
 Gets the size of the file.
const char * getFullPath (const char *filename, char *path, U32 pathLen)
 Gets the full path of the file.
const char * getModPathOf (const char *fileName)
 Gets the path of the file local to the mod.
const char * getPathOf (const char *filename)
 Gets the path of the file from the base directory.
const char * getBasePath ()
 Gets the base path.
ResourceObjectload (const char *fileName, bool computeCRC=false)
 loads an instance of an object
StreamopenStream (const char *fileName)
 Opens a stream for an object.
StreamopenStream (ResourceObject *object)
 Opens a stream for an object.
void closeStream (Stream *stream)
 Closes the stream.
void unlock (ResourceObject *)
bool add (const char *name, ResourceInstance *addInstance, bool extraLock=false)
 Add a new resource instance.
ResourceObjectfind (const char *fileName)
 Searches the hash list for the filename and returns it's object if found, otherwise NULL.
ResourceInstanceloadInstance (const char *fileName, bool computeCRC=false)
 Loads a new instance of an object by means of a filename.
ResourceInstanceloadInstance (ResourceObject *object, bool computeCRC=false)
 Loads a new instance of an object by means of a resource object.
ResourceObjectfind (const char *fileName, U32 flags)
 Searches the hash list for the filename and returns it's object if found, otherwise NULL.
ResourceObjectfindMatch (const char *expression, const char **fn, ResourceObject *start=NULL)
 Finds a resource object with given expression.
ResourceObjectfindMatchMultiExprs (const char *multiExpression, const char **fn, ResourceObject *start=NULL)
 Finds a resource object with given expressions, seperated by " ".
void purge ()
 Goes through the timeoutList and deletes it all. BURN!!!
void purge (ResourceObject *obj)
 Deletes one resource object.
void freeResource (ResourceObject *resObject)
 Frees a resource!
void serialize (VectorPtr< const char * > &filenames)
 Sorts the resource objects.
S32 findMatches (FindMatch *pFM)
 Finds multiple matches to an expression.
bool findFile (const char *name)
 Checks to see if a file exists.
bool addVFSRoot (Zip::ZipArchive *vfs)
bool isUsingVFS ()
bool getCrc (const char *fileName, U32 &crcVal, const U32 crcInitialVal=INITIAL_CRC_VALUE)
void setWriteablePath (const char *path)
 Sets the writable path for a file to the one given.
bool isValidWriteFileName (const char *fn)
 Checks to see if the given path is valid for writing.
bool openFileForWrite (FileStream &fs, const char *fileName, U32 accessMode=File::Write)
 Opens a file for writing!
void dumpResources (const bool onlyLoaded=true)
 Dumps all loaded resources to the console.

Global Control

These are called to initialize/destroy the resource manager at runtime.

static void create ()
static void destroy ()
static void initExcludedDirectories ()

Detailed Description

A virtual file system for the storage and retrieval of ResourceObjects.

Basic resource manager behavior:

  • Set the mod path.
    • ResManager scans directory tree under listed base directories
    • Any volume (.zip) file in the root directory of a mod is scanned for resources.
    • Any files currently in the resource manager become memory resources.
    • They can be "reattached" to the first file that matches the file name.

All classes which wish to be handled by the resource manager need:

  1. To be derived from ResourceInstance.
  2. To register a creation function and file extension with the manager.

Constructor & Destructor Documentation

◆ ~ResManager()

~ResManager ( )

Member Function Documentation

◆ add()

bool add ( const char * name,
ResourceInstance * addInstance,
bool extraLock = false )

Add a new resource instance.

◆ addPath()

void addPath ( const char * path,
bool ignoreZips = false )

Add a path.

◆ addVFSRoot()

bool addVFSRoot ( Zip::ZipArchive * vfs)

◆ clearMissingFileList()

void clearMissingFileList ( )

Clears the missing file list.

◆ closeStream()

void closeStream ( Stream * stream)

Closes the stream.

◆ create()

void create ( )
static

◆ destroy()

void destroy ( )
static

◆ dumpResources()

void dumpResources ( const bool onlyLoaded = true)

Dumps all loaded resources to the console.

◆ find() [1/2]

ResourceObject * find ( const char * fileName)

Searches the hash list for the filename and returns it's object if found, otherwise NULL.

◆ find() [2/2]

ResourceObject * find ( const char * fileName,
U32 flags )

Searches the hash list for the filename and returns it's object if found, otherwise NULL.

◆ findFile()

bool findFile ( const char * name)

Checks to see if a file exists.

◆ findMatch()

ResourceObject * findMatch ( const char * expression,
const char ** fn,
ResourceObject * start = NULL )

Finds a resource object with given expression.

◆ findMatches()

S32 findMatches ( FindMatch * pFM)

Finds multiple matches to an expression.

◆ findMatchMultiExprs()

ResourceObject * findMatchMultiExprs ( const char * multiExpression,
const char ** fn,
ResourceObject * start = NULL )

Finds a resource object with given expressions, seperated by " ".

◆ freeResource()

void freeResource ( ResourceObject * resObject)

Frees a resource!

◆ getBasePath()

const char * getBasePath ( )

Gets the base path.

◆ getCrc()

bool getCrc ( const char * fileName,
U32 & crcVal,
const U32 crcInitialVal = INITIAL_CRC_VALUE )

Computes the CRC of a file.

By passing a different crcInitialVal, you can take the CRC of multiple files.

◆ getCreateFunction()

RESOURCE_CREATE_FN getCreateFunction ( const char * name)

◆ getFullPath()

const char * getFullPath ( const char * filename,
char * path,
U32 pathLen )

Gets the full path of the file.

◆ getMissingFileList()

bool getMissingFileList ( Vector< char * > & list)

Gets which files are missing.

◆ getModPathOf()

const char * getModPathOf ( const char * fileName)

Gets the path of the file local to the mod.

◆ getModPaths()

const char * getModPaths ( )

Gets the path for the current game mod.

◆ getPathOf()

const char * getPathOf ( const char * filename)

Gets the path of the file from the base directory.

◆ getSize()

S32 getSize ( const char * filename)

Gets the size of the file.

◆ initExcludedDirectories()

void initExcludedDirectories ( )
static

Load the excluded directories from the resource manager pref and stuff it into the platform layer.

◆ isUsingVFS()

bool isUsingVFS ( )
inline

◆ isValidWriteFileName()

bool isValidWriteFileName ( const char * fn)

Checks to see if the given path is valid for writing.

◆ load()

ResourceObject * load ( const char * fileName,
bool computeCRC = false )

loads an instance of an object

◆ loadInstance() [1/2]

ResourceInstance * loadInstance ( const char * fileName,
bool computeCRC = false )

Loads a new instance of an object by means of a filename.

◆ loadInstance() [2/2]

ResourceInstance * loadInstance ( ResourceObject * object,
bool computeCRC = false )

Loads a new instance of an object by means of a resource object.

◆ openFileForWrite()

bool openFileForWrite ( FileStream & fs,
const char * fileName,
U32 accessMode = File::Write )

Opens a file for writing!

◆ openStream() [1/2]

Stream * openStream ( const char * fileName)

Opens a stream for an object.

◆ openStream() [2/2]

Stream * openStream ( ResourceObject * object)

Opens a stream for an object.

◆ purge() [1/2]

void purge ( )

Goes through the timeoutList and deletes it all. BURN!!!

◆ purge() [2/2]

void purge ( ResourceObject * obj)

Deletes one resource object.

◆ registerExtension()

void registerExtension ( const char * extension,
RESOURCE_CREATE_FN create_fn )

Tells the resource manager what to do with a resource that it loads.

◆ removePath()

void removePath ( const char * path)

Remove a path. Only removes resources that are not loaded.

◆ serialize()

void serialize ( VectorPtr< const char * > & filenames)

Sorts the resource objects.

◆ setFileNameEcho()

void setFileNameEcho ( bool on)

Sets whether or not to echo filenames that have been accessed by means of openStream.

◆ setMissingFileLogging()

void setMissingFileLogging ( bool log)

Should we log missing files?

◆ setModPaths()

void setModPaths ( U32 numPaths,
const char ** dirs )

Sets the path for the current game mod.

◆ setWriteablePath()

void setWriteablePath ( const char * path)

Sets the writable path for a file to the one given.

◆ unlock()

void unlock ( ResourceObject * obj)

Decrements the lock count of an object. If the lock count is zero post-decrement, the object is added to the timeoutList for deletion upon call of flush.


The documentation for this class was generated from the following files: