aboutsummaryrefslogtreecommitdiff
path: root/insane.cpp
diff options
context:
space:
mode:
authorJames Brown2002-04-29 08:28:27 +0000
committerJames Brown2002-04-29 08:28:27 +0000
commit5f9bd8343c6362f844bcdb5b207bafde5db75bf3 (patch)
tree986723d40aa03ad5452b7c6308c904bde3492b9f /insane.cpp
parentc134803976bcaccd9fe76da14b81962ebc531e81 (diff)
downloadscummvm-rg350-5f9bd8343c6362f844bcdb5b207bafde5db75bf3.tar.gz
scummvm-rg350-5f9bd8343c6362f844bcdb5b207bafde5db75bf3.tar.bz2
scummvm-rg350-5f9bd8343c6362f844bcdb5b207bafde5db75bf3.zip
Small inSANE patch for the dig, and start of Dig Audio support.
It seems to crash using AUTOFREE for some reason. Can someone Valgrind/Purify this for me? svn-id: r4129
Diffstat (limited to 'insane.cpp')
-rw-r--r--insane.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/insane.cpp b/insane.cpp
index eeb9d54ced..b258fbca35 100644
--- a/insane.cpp
+++ b/insane.cpp
@@ -234,7 +234,13 @@ void codec37_proc5(byte *dst, byte *src, int next_offs, int bw, int bh,
i = bw;
do {
code = *src++;
- if (code == 0xFF) {
+ if (code == 0xFD) {
+ // FIXME: Not implemented yet
+ } else if (code == 0xFE) {
+ // FIXME: Not implemented yet
+ src += 4;
+ dst += 4;
+ } else if (code == 0xFF) {
*(uint32 *)(dst + 0) = ((uint32 *)src)[0];
*(uint32 *)(dst + 320) = ((uint32 *)src)[1];
*(uint32 *)(dst + 320 * 2) = ((uint32 *)src)[2];
@@ -592,19 +598,33 @@ void SmushPlayer::setPalette()
{
int i;
+
+
byte palette_colors[1024];
+
byte *p = palette_colors;
+
+
byte *data = _fluPalette;
+
+
for (i = 0; i != 256; i++, data += 3, p+=4) {
+
p[0] = data[0];
+
p[1] = data[1];
+
p[2] = data[2];
+
p[3] = 0;
+
}
+
sm->_system->set_palette(palette_colors, 0, 256);
+
}
void SmushPlayer::startVideo(short int arg, byte *videoFile)