diff options
author | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2012-01-22 18:31:25 +0100 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-01-24 21:46:13 +0300 |
commit | b4e47fb41a19ca09c02bcd009b28cb7c3caa2256 (patch) | |
tree | eada17175623f6281a83aced143bb0940758a547 /src/resources/image.cpp | |
parent | 80f61e80228aa0fa617961a4ec30d954fcb15eba (diff) | |
download | manaplus-b4e47fb41a19ca09c02bcd009b28cb7c3caa2256.tar.gz manaplus-b4e47fb41a19ca09c02bcd009b28cb7c3caa2256.tar.bz2 manaplus-b4e47fb41a19ca09c02bcd009b28cb7c3caa2256.tar.xz manaplus-b4e47fb41a19ca09c02bcd009b28cb7c3caa2256.zip |
Use SDL_RWops directly on top of PhysFS
This avoids the creation of a temporary buffer containing a complete
file for the sole purpose of wrapping it up in an SDL_RWops.
The necessary wrapper is by Ryan C. Gordon and is included in the
PhysFS repository under 'extras'.
Reviewed-by: Yohann Ferreira
Conflicts:
mana.files
src/CMakeLists.txt
src/resources/resourcemanager.cpp
src/resources/soundeffect.cpp
Diffstat (limited to 'src/resources/image.cpp')
-rw-r--r-- | src/resources/image.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/resources/image.cpp b/src/resources/image.cpp index d94967631..9e9124ab6 100644 --- a/src/resources/image.cpp +++ b/src/resources/image.cpp @@ -119,10 +119,8 @@ Image::~Image() unload(); } -Resource *Image::load(void *buffer, unsigned bufferSize) +Resource *Image::load(SDL_RWops *rw) { - // Load the raw file data from the buffer in an RWops structure - SDL_RWops *rw = SDL_RWFromMem(buffer, bufferSize); SDL_Surface *tmpImage = IMG_Load_RW(rw, 1); if (!tmpImage) @@ -137,9 +135,8 @@ Resource *Image::load(void *buffer, unsigned bufferSize) return image; } -Resource *Image::load(void *buffer, unsigned bufferSize, Dye const &dye) +Resource *Image::load(SDL_RWops *rw, Dye const &dye) { - SDL_RWops *rw = SDL_RWFromMem(buffer, bufferSize); SDL_Surface *tmpImage = IMG_Load_RW(rw, 1); if (!tmpImage) |