X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2FABM2.git;a=blobdiff_plain;f=ABM2%2FEngine%2FSpriteManager.cpp;fp=ABM2%2FEngine%2FSpriteManager.cpp;h=9a6fc242f5b0b10c7b9118f3f1bb24c59aa3b23f;hp=0000000000000000000000000000000000000000;hb=c873a192c271934bf6202ff40278b9c9429e8c22;hpb=887e744e425c6c25fcfdbad863d3c9287ad91d93 diff --git a/ABM2/Engine/SpriteManager.cpp b/ABM2/Engine/SpriteManager.cpp new file mode 100644 index 0000000..9a6fc24 --- /dev/null +++ b/ABM2/Engine/SpriteManager.cpp @@ -0,0 +1,26 @@ +#include "SpriteManager.h" + + + +CSpriteManager::CSpriteManager(Graphics *g, SpriteData *sd) +{ + /* Load all sprites */ + while (sd->id != 0) + { + /* Colour given is for transparency, Sprite has no constructor + * without a key colour... */ + Sprite* s = new Sprite(sd->filename, COLOUR_RGBA(248, 0, 248, 255), sd->width, sd->height, g); + if (s) { + /* Ensure the needed spot is present */ + while (this->loadedSprites.size() <= sd->id) + this->loadedSprites.push_back(NULL); + this->loadedSprites[sd->id] = CMMPointer(s); + } + sd++; + } +} + +CMMPointer CSpriteManager::getSprite(unsigned int id) +{ + return this->loadedSprites[id]; +}