aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse.h
diff options
context:
space:
mode:
authorPaweł Kołodziejski2002-10-01 17:20:05 +0000
committerPaweł Kołodziejski2002-10-01 17:20:05 +0000
commite3cd40f700dce76229b7748cd1f3243528cc50e0 (patch)
tree0bd0773e83c718146d5faff242260bc76f076e05 /scumm/imuse.h
parent969a74720c33df8f4ba1717d07bff74187b25c0d (diff)
downloadscummvm-rg350-e3cd40f700dce76229b7748cd1f3243528cc50e0.tar.gz
scummvm-rg350-e3cd40f700dce76229b7748cd1f3243528cc50e0.tar.bz2
scummvm-rg350-e3cd40f700dce76229b7748cd1f3243528cc50e0.zip
synced with local sources - imuse
svn-id: r5060
Diffstat (limited to 'scumm/imuse.h')
-rw-r--r--scumm/imuse.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/scumm/imuse.h b/scumm/imuse.h
index a2a9e59a6c..1723d8e570 100644
--- a/scumm/imuse.h
+++ b/scumm/imuse.h
@@ -61,17 +61,33 @@ private:
};
#define MAX_DIGITAL_CHANNELS 10
+#define MAX_IMUSE_JUMPS 1
+#define MAX_IMUSE_REGIONS 3
class IMuseDigital {
private:
+ struct region {
+ uint32 _offset; // begin of region
+ uint32 _length; // lenght of region
+ };
+
+ struct jump {
+ uint32 _offset; // jump position
+ uint32 _dest; // jump to
+ uint32 _id; // id of jump
+ uint32 _unk; // allmost 500 except one value: 2
+ };
+
struct channel {
int8 _volumeLeft;
int8 _volumeRight;
bool _isLoop;
uint32 _offsetStop;
- uint32 _offsetJump;
- uint32 _offsetRegion;
+ jump _jump[MAX_IMUSE_JUMPS];
+ uint32 _numJumps;
+ region _region[MAX_IMUSE_REGIONS];
+ uint32 _numRegions;
uint32 _offset;
byte *_data;
uint32 _freq;