aboutsummaryrefslogtreecommitdiff
path: root/scumm/akos.cpp
diff options
context:
space:
mode:
authorJames Brown2002-10-22 09:52:14 +0000
committerJames Brown2002-10-22 09:52:14 +0000
commit80f55f19a3a6ebe132b8f2f90c6d7e8294df06fb (patch)
tree3661816edd77af910685386db4f00b552536b6ab /scumm/akos.cpp
parent0718ff5126f1168cfdafcfdd93408eb15dbe65a6 (diff)
downloadscummvm-rg350-80f55f19a3a6ebe132b8f2f90c6d7e8294df06fb.tar.gz
scummvm-rg350-80f55f19a3a6ebe132b8f2f90c6d7e8294df06fb.tar.bz2
scummvm-rg350-80f55f19a3a6ebe132b8f2f90c6d7e8294df06fb.zip
Akos(16) fixes by Ludde - yay, it's working :)
svn-id: r5229
Diffstat (limited to 'scumm/akos.cpp')
-rw-r--r--scumm/akos.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/scumm/akos.cpp b/scumm/akos.cpp
index 771cc38f8e..a05a5873ff 100644
--- a/scumm/akos.cpp
+++ b/scumm/akos.cpp
@@ -1148,10 +1148,10 @@ void AkosRenderer::akos16SkipData(int32 numskip) {
akos16_numbits += 8;
}
bits = akos16_bits & 3;
- if (bits != 1) {
+ if (bits & 1) {
akos16_bits >>= 2;
akos16_numbits -= 2;
- if (bits != 2) {
+ if (bits & 2) {
tmp_bits = akos16_bits & 7;
akos16_numbits -= 3;
akos16_bits >>= 3;
@@ -1215,10 +1215,10 @@ void AkosRenderer::akos16DecodeLine(byte *buf, int32 numbytes, int32 dir) {
akos16_numbits += 8;
}
bits = akos16_bits & 3;
- if (bits != 1) {
+ if (bits & 1) {
akos16_bits >>= 2;
akos16_numbits -= 2;
- if (bits != 2) {
+ if (bits & 2) {
tmp_bits = akos16_bits & 7;
akos16_numbits -= 3;
akos16_bits >>= 3;
@@ -1298,7 +1298,7 @@ void AkosRenderer::akos16Decompress(byte * dest, int32 pitch, byte * src, int32
if (dir < 0) {
dest -= (t_width - 1);
- tmp_buf += (t_height - 1);
+ tmp_buf += (t_width - 1);
}
akos16SetupBitReader(src);
@@ -1375,11 +1375,7 @@ void AkosRenderer::codec16() {
int32 tmp_x, tmp_y;
tmp_x = clip_left;
- if(tmp_x < 0) {
- tmp_x = -tmp_x;
- clip_left -= tmp_x;
- skip_x = tmp_x;
- }
+ if (clip_left < 0) { skip_x = -clip_left; clip_left = 0; }
tmp_x = clip_right - maxw;
if(tmp_x > 0) {