22 #ifndef STARK_SERVICES_ARCHIVE_LOADER_H 23 #define STARK_SERVICES_ARCHIVE_LOADER_H 25 #include "common/list.h" 26 #include "common/str.h" 27 #include "common/substream.h" 28 #include "common/util.h" 30 #include "math/quat.h" 31 #include "math/vector3d.h" 33 #include "engines/stark/formats/xarc.h" 34 #include "engines/stark/resources/object.h" 53 Math::Vector3d readVector3();
54 Math::Quaternion readQuaternion();
98 const Common::Path &getFilename()
const {
return _filename; }
102 void importResources();
104 bool isInUse()
const {
return _useCount > 0; }
105 void incUsage() { _useCount++; }
106 void decUsage() { _useCount = MAX<int>(_useCount - 1, 0); }
118 LoadedArchive *findArchive(
const Common::Path &archiveName)
const;
120 LoadedArchiveList _archives;
125 LoadedArchive *archive = findArchive(archiveName);
127 return Resources::Object::cast<T>(archive->getRoot());
132 #endif // STARK_SERVICES_ARCHIVE_LOADER_H Definition: location.h:51
T * useRoot(const Common::Path &archiveName)
Definition: archiveloader.h:124
Definition: archiveloader.h:64
Definition: substream.h:78
Definition: archiveloader.h:46