- Timestamp:
- Sep 28, 2006, 10:17:56 AM (18 years ago)
- Location:
- branches/new_class_id/src
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/new_class_id/src/lib/graphics/importer/md2/resource_md2.cc
r9847 r9854 6 6 7 7 8 ResourceMD2::ResourceMD2(const std::string& modelName, const std::string& skinName, float scale )8 ResourceMD2::ResourceMD2(const std::string& modelName, const std::string& skinName, float scale, const Resources::KeepLevel& keepLevel) 9 9 : Resource(&ResourceMD2::type) 10 10 { … … 22 22 //std::string skinFileName = this->Resource::locateFile(skinName); 23 23 this->MD2Model::load(modelFileName, skinName, scale); 24 this->Resource::addResource(new ResourceMD2::MD2ResourcePointer(loadString(modelName, skinName, scale), Resources::KeepLevel(0), this->MD2Model::dataPointer()));24 this->Resource::addResource(new ResourceMD2::MD2ResourcePointer(loadString(modelName, skinName, scale), keepLevel, this->MD2Model::dataPointer())); 25 25 } 26 26 27 27 } 28 28 29 ResourceMD2 ResourceMD2::createFromString(const std::string& loadString )29 ResourceMD2 ResourceMD2::createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel) 30 30 { 31 31 SubString loadValues(loadString, ','); … … 40 40 scale = MultiType(loadValues[2]).getFloat(); 41 41 42 return ResourceMD2(modelName, skinName, scale );42 return ResourceMD2(modelName, skinName, scale, keepLevel); 43 43 } 44 44 -
branches/new_class_id/src/lib/graphics/importer/md2/resource_md2.h
r9847 r9854 15 15 { 16 16 public: 17 ResourceMD2(const std::string& modelName, const std::string& skinName = "", float scale = 1.0f); 18 static ResourceMD2 createFromString(const std::string& loadString); 17 ResourceMD2(const std::string& modelName, 18 const std::string& skinName = "", 19 float scale = 1.0f, 20 const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 21 static ResourceMD2 createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 19 22 static std::string loadString(const std::string& modelName, const std::string& skinName = "", float scale = 1.0f); 20 23 -
branches/new_class_id/src/lib/graphics/importer/resource_obj.cc
r9847 r9854 6 6 7 7 8 ResourceOBJ::ResourceOBJ(const std::string& imageName, float scaling )8 ResourceOBJ::ResourceOBJ(const std::string& imageName, float scaling, const Resources::KeepLevel& keepLevel) 9 9 : Resource(&ResourceOBJ::type) 10 10 { … … 21 21 std::string fileName = this->Resource::locateFile(imageName); 22 22 this->acquireData(OBJModel(fileName, scaling).dataPointer()); 23 this->Resource::addResource(new ResourceOBJ::OBJResourcePointer(imageName + ',' + MultiType(scaling).getString(), Resources::KeepLevel(0), this->StaticModel::dataPointer()));23 this->Resource::addResource(new ResourceOBJ::OBJResourcePointer(imageName + ',' + MultiType(scaling).getString(), keepLevel, this->StaticModel::dataPointer())); 24 24 } 25 25 } 26 26 27 ResourceOBJ ResourceOBJ::createFromString(const std::string& loadString )27 ResourceOBJ ResourceOBJ::createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel) 28 28 { 29 29 SubString loadValues(loadString, ','); … … 35 35 scaling = (GLenum)MultiType(loadValues[2]).getFloat(); 36 36 37 return ResourceOBJ(imageName, scaling );37 return ResourceOBJ(imageName, scaling, keepLevel); 38 38 } 39 39 -
branches/new_class_id/src/lib/graphics/importer/resource_obj.h
r9847 r9854 14 14 { 15 15 public: 16 ResourceOBJ(const std::string& imageName, float scaling = 1.0f); 17 static ResourceOBJ createFromString(const std::string& loadString); 16 ResourceOBJ(const std::string& imageName, 17 float scaling = 1.0f, 18 const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 19 static ResourceOBJ createFromString(const std::string& loadString, 20 const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 18 21 19 22 private: -
branches/new_class_id/src/lib/graphics/importer/resource_texture.cc
r9847 r9854 6 6 7 7 8 ResourceTexture::ResourceTexture(const std::string& imageName, GLenum target )8 ResourceTexture::ResourceTexture(const std::string& imageName, GLenum target, const Resources::KeepLevel& keepLevel) 9 9 : Resource(&ResourceTexture::type) 10 10 { … … 21 21 std::string fileName = this->Resource::locateFile(imageName); 22 22 this->Texture::loadImage(fileName, target); 23 this->Resource::addResource(new ResourceTexture::TextureResourcePointer(imageName + ',' + MultiType((int)target).getString(), Resources::KeepLevel(0), this->Texture::dataPointer()));23 this->Resource::addResource(new ResourceTexture::TextureResourcePointer(imageName + ',' + MultiType((int)target).getString(), keepLevel, this->Texture::dataPointer())); 24 24 } 25 25 } 26 26 27 ResourceTexture ResourceTexture::createFromString(const std::string& loadString )27 ResourceTexture ResourceTexture::createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel) 28 28 { 29 29 SubString loadValues(loadString, ','); … … 35 35 target = (GLenum)MultiType(loadValues[2]).getInt(); 36 36 37 return ResourceTexture(imageName, target );37 return ResourceTexture(imageName, target, keepLevel); 38 38 } 39 39 -
branches/new_class_id/src/lib/graphics/importer/resource_texture.h
r9847 r9854 15 15 { 16 16 public: 17 ResourceTexture(const std::string& imageName, GLenum target = GL_TEXTURE_2D); 18 static ResourceTexture createFromString(const std::string& loadString); 17 ResourceTexture(const std::string& imageName, 18 GLenum target = GL_TEXTURE_2D, 19 const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 20 static ResourceTexture createFromString(const std::string& loadString, 21 const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 19 22 20 23 private: -
branches/new_class_id/src/lib/graphics/resource_shader.cc
r9847 r9854 4 4 #include "substring.h" 5 5 6 ResourceShader::ResourceShader(const std::string& vertexShaderName, const std::string& fragmentShaderName )6 ResourceShader::ResourceShader(const std::string& vertexShaderName, const std::string& fragmentShaderName, const Resources::KeepLevel& keepLevel) 7 7 : Resource(&ResourceShader::type) 8 8 { … … 23 23 24 24 this->Shader::load(vertexFileName, fragmentFileName); 25 this->Resource::addResource(new ResourceShader::ShaderResourcePointer(vertexShaderName+','+fragmentShaderName, Resources::KeepLevel(0), this->Shader::dataPointer()));25 this->Resource::addResource(new ResourceShader::ShaderResourcePointer(vertexShaderName+','+fragmentShaderName, keepLevel, this->Shader::dataPointer())); 26 26 } 27 27 } 28 28 29 ResourceShader ResourceShader::createFromString(const std::string& loadString )29 ResourceShader ResourceShader::createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel) 30 30 { 31 31 std::string vertexShaderName; … … 38 38 fragmentShaderName = shaderNames[1]; 39 39 40 return ResourceShader(vertexShaderName, fragmentShaderName );40 return ResourceShader(vertexShaderName, fragmentShaderName, keepLevel); 41 41 } 42 42 -
branches/new_class_id/src/lib/graphics/resource_shader.h
r9847 r9854 15 15 { 16 16 public: 17 ResourceShader(const std::string& vertexShaderName, const std::string& fragmentShaderName); 18 static ResourceShader createFromString(const std::string& loadString); 17 ResourceShader(const std::string& vertexShaderName, 18 const std::string& fragmentShaderName, 19 const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 20 static ResourceShader createFromString(const std::string& loadString, 21 const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 19 22 20 23 private: -
branches/new_class_id/src/lib/graphics/text_engine/resource_font.cc
r9847 r9854 6 6 7 7 8 ResourceFont::ResourceFont(const std::string& fontName, unsigned int renderSize )8 ResourceFont::ResourceFont(const std::string& fontName, unsigned int renderSize, const Resources::KeepLevel& keepLevel) 9 9 : Font(), Resource(&ResourceFont::type) 10 10 { … … 25 25 26 26 this->Font::loadFontFromTTF(fileName, renderSize); 27 this->Resource::addResource(new ResourceFont::FontResourcePointer(fontName + ',' + MultiType((int)renderSize).getString(), Resources::KeepLevel(0), this->Font::dataPointer()));27 this->Resource::addResource(new ResourceFont::FontResourcePointer(fontName + ',' + MultiType((int)renderSize).getString(), keepLevel, this->Font::dataPointer())); 28 28 } 29 29 } 30 30 31 ResourceFont ResourceFont::createFromString(const std::string& loadString )31 ResourceFont ResourceFont::createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel) 32 32 { 33 33 SubString loadValues(loadString, ','); … … 39 39 renderSize = (unsigned int)MultiType(loadValues[2]).getInt(); 40 40 41 return ResourceFont(fontName, renderSize );41 return ResourceFont(fontName, renderSize, keepLevel); 42 42 } 43 43 -
branches/new_class_id/src/lib/graphics/text_engine/resource_font.h
r9847 r9854 15 15 { 16 16 public: 17 ResourceFont(const std::string& fontName, unsigned int renderSize );18 static ResourceFont createFromString(const std::string& loadString );17 ResourceFont(const std::string& fontName, unsigned int renderSize, const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 18 static ResourceFont createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 19 19 20 20 private: -
branches/new_class_id/src/lib/shell/some_shell_commands.cc
r9851 r9854 55 55 namespace Resources { 56 56 SHELL_COMMAND(debug, ResourceManager, debug); 57 SHELL_COMMAND(load, ResourceManager, loadFromLoadString );57 SHELL_COMMAND(load, ResourceManager, loadFromLoadStringHACK); 58 58 SHELL_COMMAND(unload, ResourceManager, unloadAllBelowKeepLevelINT); 59 59 } -
branches/new_class_id/src/lib/sound/resource_sound_buffer.cc
r9847 r9854 8 8 ObjectListDefinition(ResourceSoundBuffer); 9 9 10 ResourceSoundBuffer::ResourceSoundBuffer(const std::string& soundName )10 ResourceSoundBuffer::ResourceSoundBuffer(const std::string& soundName, const Resources::KeepLevel& keepLevel) 11 11 : SoundBuffer(), Resource(&ResourceSoundBuffer::type) 12 12 { … … 25 25 std::string fileName = this->Resource::locateFile(soundName); 26 26 this->SoundBuffer::load(fileName); 27 this->Resource::addResource(new ResourceSoundBuffer::SoundBufferResourcePointer(soundName, Resources::KeepLevel(0), this->SoundBuffer::dataPointer()));27 this->Resource::addResource(new ResourceSoundBuffer::SoundBufferResourcePointer(soundName, keepLevel, this->SoundBuffer::dataPointer())); 28 28 } 29 29 } -
branches/new_class_id/src/lib/sound/resource_sound_buffer.h
r9847 r9854 17 17 ObjectListDeclaration(ResourceSoundBuffer); 18 18 public: 19 ResourceSoundBuffer(const std::string& soundName); 20 static ResourceSoundBuffer createFromString(const std::string& loadString) { return ResourceSoundBuffer(loadString); }; 19 ResourceSoundBuffer(const std::string& soundName, 20 const Resources::KeepLevel& keepLevel = Resources::KeepLevel()); 21 static ResourceSoundBuffer createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel = Resources::KeepLevel()) 22 { return ResourceSoundBuffer(loadString, keepLevel); }; 21 23 22 24 private: -
branches/new_class_id/src/lib/util/loading/resource.cc
r9851 r9854 134 134 //// KEEPLEVEL //// 135 135 /////////////////// 136 137 //! Constructs a default KeepLevel as Set in the ResourceManager via setDefaultKeepLevel. 138 KeepLevel::KeepLevel() 139 { 140 this->_keepLevel = ResourceManager::getInstance()->defaultKeepLevel().keepLevel(); 141 } 142 /** 143 * @param keepLevel the level to set. 144 */ 145 KeepLevel::KeepLevel(unsigned int keepLevel) 146 { 147 _keepLevel = keepLevel; 148 } 149 136 150 /** 137 151 * @brief constructor of a KeepLevel. -
branches/new_class_id/src/lib/util/loading/resource.h
r9852 r9854 26 26 { 27 27 public: 28 /** @param keepLevel the level to set. */29 inline KeepLevel(unsigned int keepLevel) { _keepLevel = keepLevel; };28 KeepLevel(); 29 KeepLevel(unsigned int keepLevel); 30 30 KeepLevel(const std::string& keepLevelName); 31 31 … … 93 93 bool operator==(const std::string& typeName) const { return this->_typeName == typeName; }; 94 94 95 //////////////////// 96 //// EXTENSIONS //// 95 97 void addExtension(const std::string& extension); 96 98 99 /////////////// 100 //// PATHS //// 97 101 bool addResourcePath(const std::string& path); 98 102 bool addResourceSubPath(const std::string& subPath); … … 109 113 const std::vector<Resources::StorePointer*>& storedResources() const { return _storedResources; }; 110 114 111 virtual void createFromString(const std::string& loadString) = 0; 112 115 /////////////////////////////// 116 //// LOADING AND UNLOADING //// 117 virtual void createFromString(const std::string& loadString, const KeepLevel& keepLevel = KeepLevel()) = 0; 113 118 void unloadAllBelowKeepLevel(const Resources::KeepLevel& keepLevel); 114 119 120 /////////////////// 121 //// INTERNALS //// 115 122 void addResource(Resources::StorePointer* resource); 116 123 124 /////////////// 125 //// DEBUG //// 117 126 void debug() const; 118 127 … … 144 153 tType(const std::string& typeName) : Type(typeName) {}; 145 154 /** @param loadString the String to load a Resource with @brief tries to create a Resource of Type T with a loadString */ 146 virtual void createFromString(const std::string& loadString ) { T::createFromString(loadString); }155 virtual void createFromString(const std::string& loadString, const KeepLevel& keepLevel = KeepLevel()) { T::createFromString(loadString, keepLevel); } 147 156 }; 148 157 -
branches/new_class_id/src/lib/util/loading/resource_manager.cc
r9853 r9854 35 35 */ 36 36 ResourceManager::ResourceManager () 37 : _defaultKeepLevel(0) 37 38 { 38 39 this->registerObject(this, ResourceManager::_objectList); … … 47 48 ResourceManager::~ResourceManager () 48 49 { 49 // deleting the Resources-List50 //this->unloadAllByPriority(RP_GAME);51 52 // if (!this->resourceList.empty())53 // PRINTF(1)("Not removed all Resources, since there are still %d resources registered\n", this->resourceList.size());54 55 50 ResourceManager::_singletonRef = NULL; 56 51 } … … 195 190 * @param loadString the loadString to load in the Type. 196 191 */ 197 void ResourceManager::loadFromLoadString(const std::string& resourceTypeName, const std::string& loadString )192 void ResourceManager::loadFromLoadString(const std::string& resourceTypeName, const std::string& loadString, const KeepLevel& keepLevel) 198 193 { 199 194 std::vector<Resources::Type*>::const_iterator it; … … 202 197 if (*(*it) == resourceTypeName) 203 198 { 204 (*it)->createFromString(loadString );199 (*it)->createFromString(loadString, keepLevel); 205 200 /// TODO check if the resource was allocated!! 206 201 return ; -
branches/new_class_id/src/lib/util/loading/resource_manager.h
r9851 r9854 17 17 ObjectListDeclaration(ResourceManager); 18 18 public: 19 /////////////////////// 20 //// INSTANZIATION //// 19 21 /** @returns a Pointer to the only object of this Class */ 20 22 inline static ResourceManager* getInstance() { if (!_singletonRef) _singletonRef = new ResourceManager(); return _singletonRef; }; … … 22 24 inline static void deleteInstance() { if (_singletonRef) delete _singletonRef; }; 23 25 24 26 //////////////////////// 27 //// RESOURCE PATHS //// 25 28 void setMainGlobalPath(const Directory& directory); 26 29 void addGlobalPath(const Directory& directory); … … 31 34 void unregisterType(Resources::Type* type); 32 35 33 unsigned int addKeepLevelName(const std::string& keepLevelName);34 unsigned int getKeepLevelID(const std::string& keepLevelName) const;35 const std::string& getKeepLevelName(unsigned int keepLevelID) const;36 37 /** @returns the Types of Resources */38 const std::vector<Resources::Type*> resourceTypes() const { return _resourceTypes; };39 36 /** @returns the main global search Path */ 40 37 const Directory& mainGlobalPath() const { return _mainGlobalPath; }; … … 42 39 const std::vector<Directory>& globalPaths() const { return _globalPaths; }; 43 40 41 //////////////////// 42 //// KEEPLEVELS //// 43 unsigned int addKeepLevelName(const std::string& keepLevelName); 44 unsigned int getKeepLevelID(const std::string& keepLevelName) const; 45 const std::string& getKeepLevelName(unsigned int keepLevelID) const; 46 void setDefaultKeepLevel(const KeepLevel& keepLevel) { this->_defaultKeepLevel = keepLevel; }; 47 const KeepLevel& defaultKeepLevel() const { return this->_defaultKeepLevel; }; 48 49 ////////////////////////// 50 //// GENERAL QUERIES //// 51 /** @returns the Types of Resources */ 52 const std::vector<Resources::Type*> resourceTypes() const { return _resourceTypes; }; 44 53 45 54 bool checkFileInMainPath(const File& fileInside); 46 55 std::string prependAbsoluteMainPath(const std::string& fileName); 47 56 57 //////////////////////////////////////// 58 //// RESOURCE LOADING AND UNLOADING //// 59 void loadFromLoadString(const std::string& resourceTypeName, const std::string& loadString, const KeepLevel& keepLevel = KeepLevel()); 60 void loadFromLoadStringHACK(const std::string& resourceTypeName, const std::string& loadString) { this->loadFromLoadString(resourceTypeName, loadString); }; 61 48 62 void unloadAllBelowKeepLevel(const Resources::KeepLevel& keepLevel); 49 63 void unloadAllBelowKeepLevelINT(unsigned int level) { unloadAllBelowKeepLevel(level); }; 50 void loadFromLoadString(const std::string& resourceTypeName, const std::string& loadString);51 64 65 /////////////// 66 //// DEBUG //// 52 67 void debug() const; 53 68 54 // utility functions for handling files in and around the data-directory55 static std::string getFullName(const std::string& fileName);56 static bool isInDataDir(const std::string& fileName);57 69 private: 58 70 ResourceManager(); … … 66 78 67 79 std::vector<Resources::Type*> _resourceTypes; //!< A Vector of all the stored ResourceTypes @see Resources::Type 80 68 81 std::vector<std::string> _keepLevelNames; //!< Names of KeepLevels @see Resources::KeepLevel 82 KeepLevel _defaultKeepLevel; //!< The default KeepLevel. 69 83 }; 70 84 -
branches/new_class_id/src/orxonox.cc
r9845 r9854 377 377 Resources::ResourceManager::getInstance()->addKeepLevelName("CampaignEnd"); 378 378 Resources::ResourceManager::getInstance()->addKeepLevelName("GameEnd"); 379 380 // DynamicLoader::loadDyLib("libtest.so"); 379 Resources::ResourceManager::getInstance()->setDefaultKeepLevel(std::string("GameEnd")); 380 381 381 return 0; 382 382 }
Note: See TracChangeset
for help on using the changeset viewer.