aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_digi/dimuse.h
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/imuse_digi/dimuse.h')
-rw-r--r--scumm/imuse_digi/dimuse.h51
1 files changed, 38 insertions, 13 deletions
diff --git a/scumm/imuse_digi/dimuse.h b/scumm/imuse_digi/dimuse.h
index f1223bed7a..fb896e0429 100644
--- a/scumm/imuse_digi/dimuse.h
+++ b/scumm/imuse_digi/dimuse.h
@@ -46,7 +46,7 @@ private:
int32 volFadeDelay; //
bool volFadeUsed; //
- int idSound;
+ int soundId;
bool used;
bool toBeRemoved;
bool started;
@@ -72,13 +72,29 @@ private:
ScummEngine *_vm;
ImuseDigiSndMgr *_sound;
bool _pause;
- int _curMusicId;
+ int _curMusicState;
+ int _curMusicSeq;
+ int _curMusicCue;
+
+ int _curMusicSoundId;
static void timer_handler(void *refConf);
void callback();
void switchToNextRegion(int track);
void startSound(int soundId, const char *soundName, int soundType, int soundGroup, AudioStream *input);
+ int32 getPosInMs(int soundId);
+ void getLipSync(int soundId, int syncId, int32 msPos, int32 &width, int32 &height);
+
+ void stopMusic();
+
+ int getSoundIdByName(const char *soundName);
+ void fadeOutMusic();
+ void setFtMusicState(int stateId);
+ void setFtMusicSequence(int seqId);
+ void setFtMusicCuePoint(int cueId);
+ void playFtMusic(const char *songName, int opcode, int volume);
+
public:
IMuseDigital(ScummEngine *scumm);
~IMuseDigital();
@@ -99,15 +115,12 @@ public:
{ error("MusicEngine::startSound() Should be never called"); }
void setMasterVolume(int vol) {}
- void stopMusic();
void stopSound(int soundId);
- void stopAllSounds(bool waitForStop);
void stopAllSounds() { stopAllSounds(false); }
+ void stopAllSounds(bool waitForStop);
void pause(bool pause);
void parseScriptCmds(int a, int b, int c, int d, int e, int f, int g, int h);
int getSoundStatus(int sound) const;
- int32 getPosInMs(int soundId);
- void getLipSync(int soundId, int syncId, int32 msPos, int32 &width, int32 &height);
int32 getCurMusicPosInMs();
int32 getCurVoiceLipSyncWidth();
int32 getCurVoiceLipSyncHeight();
@@ -136,11 +149,21 @@ struct imuse_music_map {
int unk4;
};
-struct imuse_ft_music_table {
- char audioname[15];
+struct imuseFtNames {
+ char name[20];
+};
+
+struct imuseFtStateTable {
+ char audioName[9];
+ int8 opcode;
+ int8 volume;
+ char name[21];
+};
+
+struct imuseFtSeqTable {
+ char audioName[9];
int8 opcode;
int8 volume;
- char name[30];
};
#ifdef __PALM_OS__
@@ -149,16 +172,18 @@ extern const imuse_music_table *_digStateMusicTable;
extern const imuse_music_table *_comiStateMusicTable;
extern const imuse_music_table *_comiSeqMusicTable;
extern const imuse_music_table *_digSeqMusicTable;
-extern const imuse_ft_music_table *_ftStateMusicTable;
-extern const imuse_ft_music_table *_ftSeqMusicTable;
+extern const imuseFtStateTable *_ftStateMusicTable;
+extern const imuseFtSeqTable *_ftSeqMusicTable;
+extern const imuseFtNames *_ftSeqNames;
#else
extern imuse_music_map _digStateMusicMap[];
extern const imuse_music_table _digStateMusicTable[];
extern const imuse_music_table _digSeqMusicTable[];
extern const imuse_music_table _comiStateMusicTable[];
extern const imuse_music_table _comiSeqMusicTable[];
-extern const imuse_ft_music_table _ftStateMusicTable[];
-extern const imuse_ft_music_table _ftSeqMusicTable[];
+extern const imuseFtStateTable _ftStateMusicTable[];
+extern const imuseFtSeqTable _ftSeqMusicTable[];
+extern const imuseFtNames _ftSeqNames[];
#endif
} // End of namespace Scumm