[Scummvm-git-logs] scummvm master -> bc039f6b10dc8203f007c943815473d20b5c672b
dreammaster
dreammaster at scummvm.org
Sun Jan 1 08:36:12 CET 2017
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
bc039f6b10 IMAGE: Properly load bottom origin RLE encoded TGA images
Commit: bc039f6b10dc8203f007c943815473d20b5c672b
https://github.com/scummvm/scummvm/commit/bc039f6b10dc8203f007c943815473d20b5c672b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-01-01T02:36:01-05:00
Commit Message:
IMAGE: Properly load bottom origin RLE encoded TGA images
Changed paths:
image/tga.cpp
diff --git a/image/tga.cpp b/image/tga.cpp
index adfe7ee..b23c597 100644
--- a/image/tga.cpp
+++ b/image/tga.cpp
@@ -27,6 +27,7 @@
#include "image/tga.h"
#include "common/util.h"
+#include "common/algorithm.h"
#include "common/stream.h"
#include "common/textconsole.h"
#include "common/error.h"
@@ -437,6 +438,22 @@ bool TGADecoder::readDataRLE(Common::SeekableReadStream &tga, byte imageType, by
} else {
return false;
}
+
+ // If it's a bottom origin image, we need to vertically flip the image
+ if (!_originTop) {
+ byte *tempLine = new byte[_surface.pitch];
+ byte *line1 = (byte *)_surface.getBasePtr(0, 0);
+ byte *line2 = (byte *)_surface.getBasePtr(0, _surface.h - 1);
+
+ for (int y = 0; y < (_surface.h / 2); ++y, line1 += _surface.pitch, line2 -= _surface.pitch) {
+ Common::copy(line1, line1 + _surface.pitch, tempLine);
+ Common::copy(line2, line2 + _surface.pitch, line1);
+ Common::copy(tempLine, tempLine + _surface.pitch, line2);
+ }
+
+ delete[] tempLine;
+ }
+
return true;
}
More information about the Scummvm-git-logs
mailing list