aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/sound/adlib.h
diff options
context:
space:
mode:
authorArnaud Boutonné2009-06-13 22:14:58 +0000
committerArnaud Boutonné2009-06-13 22:14:58 +0000
commit7eaf013bbfe0bbf07e14aa6f5f7c25a75f1f621e (patch)
treebebe7bcd749fd2d5e6c98d4ec08742065c0edb87 /engines/gob/sound/adlib.h
parentccb92ebfee9829ff85deeacbe4f8c01e476fd2e8 (diff)
downloadscummvm-rg350-7eaf013bbfe0bbf07e14aa6f5f7c25a75f1f621e.tar.gz
scummvm-rg350-7eaf013bbfe0bbf07e14aa6f5f7c25a75f1f621e.tar.bz2
scummvm-rg350-7eaf013bbfe0bbf07e14aa6f5f7c25a75f1f621e.zip
Gob - *WIP* incomplete implementation of MDY/TBR
svn-id: r41498
Diffstat (limited to 'engines/gob/sound/adlib.h')
-rw-r--r--engines/gob/sound/adlib.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/engines/gob/sound/adlib.h b/engines/gob/sound/adlib.h
index 4cd83d5883..0a7663bc09 100644
--- a/engines/gob/sound/adlib.h
+++ b/engines/gob/sound/adlib.h
@@ -51,6 +51,8 @@ public:
bool load(const char *fileName);
bool load(byte *data, uint32 size, int index = -1);
+ bool loadMdy(const char *fileName);
+ bool loadTbr(const char *fileName);
void unload();
// AudioStream API
@@ -73,8 +75,10 @@ protected:
uint32 _rate;
byte *_data;
+ byte *_timbres;
byte *_playPos;
uint32 _dataSize;
+ uint32 _timbresSize;
short _freqs[25][12];
byte _notes[11];
@@ -90,14 +94,28 @@ protected:
bool _first;
bool _ended;
bool _needFree;
+ bool _mdySong;
int _index;
+ uint16 _tbrCount;
+ uint16 _tbrStart;
+
+ unsigned char _wait;
+ uint8 _tickBeat;
+ uint8 _beatMeasure;
+ uint32 _totalTick;
+ uint32 _nrCommand;
+ byte _soundMode;
+ uint16 _pitchBendRangeStep;
+ uint16 _basicTempo, _tempo;
void writeOPL(byte reg, byte val);
void setFreqs();
void reset();
void setVoices();
void setVoice(byte voice, byte instr, bool set);
+ void setVoicesTbr();
+ void setVoiceTbr(byte voice, byte instr, bool set);
void setKey(byte voice, byte note, bool on, bool spec);
void setVolume(byte voice, byte volume);
void pollMusic();