summaryrefslogtreecommitdiff
path: root/src/resources/resourcemanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources/resourcemanager.cpp')
-rw-r--r--src/resources/resourcemanager.cpp74
1 files changed, 18 insertions, 56 deletions
diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp
index a884f63e..50d0f4b8 100644
--- a/src/resources/resourcemanager.cpp
+++ b/src/resources/resourcemanager.cpp
@@ -84,82 +84,44 @@ ResourceManager::get(const E_RESOURCE_TYPE &type, const std::string &idPath)
logger->log("ResourceManager::get(%s)", idPath.c_str());
+ int fileSize;
+ void *buffer = loadFile(idPath, fileSize);
+
+ if (!buffer) {
+ logger->log("Warning: resource doesn't exist!");
+ return NULL;
+ }
+
Resource *resource = NULL;
// Create an object of the specified type.
switch (type)
{
- case MAP:
- logger->log("Warning: Map resource not supported.");
- break;
case MUSIC:
{
- // Load the music resource file
- int fileSize;
- void *buffer = loadFile(idPath, fileSize);
-
- if (buffer != NULL)
- {
- // Let the music class load it
- resource = Music::load(buffer, fileSize);
-
- // Cleanup
- free(buffer);
- }
- else {
- logger->log("Warning: resource doesn't exist!");
- }
+ // Let the music class load it
+ resource = Music::load(buffer, fileSize);
}
break;
case IMAGE:
{
- // Load the image resource file
- int fileSize;
- void *buffer = loadFile(idPath, fileSize);
-
- if (buffer != NULL)
- {
- // Let the image class load it
- resource = Image::load(buffer, fileSize);
-
- // Cleanup
- free(buffer);
- }
- else {
- logger->log("Warning: resource doesn't exist!");
- }
+ // Let the image class load it
+ resource = Image::load(buffer, fileSize);
}
break;
- case SCRIPT:
- logger->log("Warning: Script resource not supported.");
- break;
- case TILESET:
- logger->log("Warning: Tileset resource not supported.");
- break;
case SOUND_EFFECT:
{
- // Load the sample resource file
- int fileSize;
- void *buffer = loadFile(idPath, fileSize);
-
- if (buffer != NULL)
- {
- // Let the sound effect class load it
- resource = SoundEffect::load(buffer, fileSize);
-
- // Cleanup
- free(buffer);
- }
- else {
- logger->log("Warning: resource doesn't exist!");
- }
+ // Let the sound effect class load it
+ resource = SoundEffect::load(buffer, fileSize);
}
break;
- default:
- logger->log("Warning: Unknown resource type");
+ default:
+ /* Nothing to do here, just avoid compiler warnings... */
break;
}
+ free(buffer);
+
if (resource) {
resource->incRef();
resource->setIdPath(idPath);