aboutsummaryrefslogtreecommitdiff
path: root/insane.cpp
diff options
context:
space:
mode:
authorVincent Hamm2002-03-06 20:32:34 +0000
committerVincent Hamm2002-03-06 20:32:34 +0000
commitb499fa2616e12799a1ea0a06dd2619da871b2628 (patch)
treef0655c65e2c62ab47cb97f0bc23d23232827ebc2 /insane.cpp
parentcf868605f6f619c339660eb3380246d92bbbbe5f (diff)
downloadscummvm-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.cpp13
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;