diff options
author | Vincent Hamm | 2002-03-06 20:32:34 +0000 |
---|---|---|
committer | Vincent Hamm | 2002-03-06 20:32:34 +0000 |
commit | b499fa2616e12799a1ea0a06dd2619da871b2628 (patch) | |
tree | f0655c65e2c62ab47cb97f0bc23d23232827ebc2 /insane.cpp | |
parent | cf868605f6f619c339660eb3380246d92bbbbe5f (diff) | |
download | scummvm-rg350-b499fa2616e12799a1ea0a06dd2619da871b2628.tar.gz scummvm-rg350-b499fa2616e12799a1ea0a06dd2619da871b2628.tar.bz2 scummvm-rg350-b499fa2616e12799a1ea0a06dd2619da871b2628.zip |
Made a few hacks in the smush player to make DIG intro play (but buggy)
svn-id: r3670
Diffstat (limited to 'insane.cpp')
-rw-r--r-- | insane.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/insane.cpp b/insane.cpp index e23b9685fe..bb4c190ecd 100644 --- a/insane.cpp +++ b/insane.cpp @@ -156,10 +156,13 @@ void codec37_proc5(byte *dst, byte *src, int next_offs, int bw, int bh, int pitc int i; if (pitch != 320) - error("invalid pitch"); + { + warning("invalid pitch"); + return; + } do { - i = bw; + i = bw; do { code = *src++; if (code==0xFF) { @@ -324,7 +327,10 @@ void codec37(CodecData *cd, PersistentCodecData37 *pcd) { case 2: { size = *(uint32*)(cd->src + 4); curbuf = pcd->deltaBufs[pcd->curtable]; - codec37_bompdepack(curbuf, cd->src+16, size); + if(size==64000) + codec37_bompdepack(curbuf, cd->src+16, size); + else + return; memset(pcd->deltaBuf, 0, curbuf - pcd->deltaBuf); memset(curbuf + size, 0, pcd->deltaBuf + pcd->deltaSize - curbuf - size); break; @@ -545,6 +551,7 @@ void SmushPlayer::startVideo(short int arg, byte* videoFile) return; parseTag(); + frameIndex++; if (_paletteChanged) { _paletteChanged = false; |