aboutsummaryrefslogtreecommitdiff
path: root/engines/made/sound.h
diff options
context:
space:
mode:
authorBenjamin Haisch2009-01-25 01:58:16 +0000
committerBenjamin Haisch2009-01-25 01:58:16 +0000
commit6297561f7caefe5a7f5bf65ec8ca5e3eaa87f2c4 (patch)
treeb7db06751dff7c16b5dc238ca68b26dae716bf26 /engines/made/sound.h
parentb93db9f30f9dca7398f56c3be1a5f04cbdbd3e8d (diff)
downloadscummvm-rg350-6297561f7caefe5a7f5bf65ec8ca5e3eaa87f2c4.tar.gz
scummvm-rg350-6297561f7caefe5a7f5bf65ec8ca5e3eaa87f2c4.tar.bz2
scummvm-rg350-6297561f7caefe5a7f5bf65ec8ca5e3eaa87f2c4.zip
- Implemented sound decompression for Manhole EGA
svn-id: r36048
Diffstat (limited to 'engines/made/sound.h')
-rw-r--r--engines/made/sound.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/engines/made/sound.h b/engines/made/sound.h
index 02e046ed2e..eb2157bd42 100644
--- a/engines/made/sound.h
+++ b/engines/made/sound.h
@@ -33,6 +33,25 @@
namespace Made {
+class ManholeEgaSoundDecompressor {
+public:
+ void decompress(byte *source, byte *dest, uint32 size);
+protected:
+ byte *_source, *_dest;
+ uint32 _size;
+ uint16 _bitBuffer;
+ int _bitsLeft;
+ int32 _sample1, _sample2, _sample3, _sample4;
+ bool _writeFlag;
+ bool _eof;
+ int _mode;
+ int getBit();
+ void update0();
+ void update1();
+ void update2();
+ void update3();
+};
+
struct SoundEnergyItem {
uint32 position;
byte energy;