diff options
author | James Brown | 2002-04-29 08:28:27 +0000 |
---|---|---|
committer | James Brown | 2002-04-29 08:28:27 +0000 |
commit | 5f9bd8343c6362f844bcdb5b207bafde5db75bf3 (patch) | |
tree | 986723d40aa03ad5452b7c6308c904bde3492b9f /insane.cpp | |
parent | c134803976bcaccd9fe76da14b81962ebc531e81 (diff) | |
download | scummvm-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.cpp | 22 |
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) |