AGOS: cleanup
svn-id: r47451
This commit is contained in:
parent
e754d8e1d3
commit
e270da88a6
4 changed files with 13 additions and 8 deletions
|
@ -558,7 +558,7 @@ void AGOSEngine_Simon1::os1_unloadZone() {
|
|||
void AGOSEngine_Simon1::os1_loadStrings() {
|
||||
// 185: load sound files
|
||||
_soundFileId = getVarOrWord();
|
||||
if (getPlatform() == Common::kPlatformAmiga && getFeatures() & GF_TALKIE) {
|
||||
if (getPlatform() == Common::kPlatformAmiga && (getFeatures() & GF_TALKIE)) {
|
||||
char buf[10];
|
||||
sprintf(buf, "%d%s", _soundFileId, "Effects");
|
||||
_sound->readSfxFile(buf);
|
||||
|
|
|
@ -574,7 +574,8 @@ void Sound::loadSfxFile(const GameSpecificSettings *gss) {
|
|||
}
|
||||
}
|
||||
|
||||
void Sound::readSfxFile(const char *filename) {
|
||||
// This method is only used by Simon1 Amiga Talkie & Windows
|
||||
void Sound::readSfxFile(const Common::String &filename) {
|
||||
if (_hasEffectsFile)
|
||||
return;
|
||||
|
||||
|
@ -584,7 +585,7 @@ void Sound::readSfxFile(const char *filename) {
|
|||
file->open(filename);
|
||||
|
||||
if (file->isOpen() == false) {
|
||||
error("readSfxFile: Can't load sfx file %s", filename);
|
||||
error("readSfxFile: Can't load sfx file %s", filename.c_str());
|
||||
}
|
||||
|
||||
delete _effects;
|
||||
|
@ -594,6 +595,7 @@ void Sound::readSfxFile(const char *filename) {
|
|||
_effects = new WavSound(_mixer, file);
|
||||
}
|
||||
|
||||
// This method is only used by Simon2
|
||||
void Sound::loadSfxTable(File *gameFile, uint32 base) {
|
||||
stopAll();
|
||||
|
||||
|
@ -606,14 +608,15 @@ void Sound::loadSfxTable(File *gameFile, uint32 base) {
|
|||
_effects = new VocSound(_mixer, gameFile, base);
|
||||
}
|
||||
|
||||
void Sound::readVoiceFile(const char *filename) {
|
||||
// This method is only used by Simon1 Amiga Talkie
|
||||
void Sound::readVoiceFile(const Common::String &filename) {
|
||||
_mixer->stopHandle(_voiceHandle);
|
||||
|
||||
File *file = new File();
|
||||
file->open(filename);
|
||||
|
||||
if (file->isOpen() == false)
|
||||
error("readVoiceFile: Can't load voice file %s", filename);
|
||||
error("readVoiceFile: Can't load voice file %s", filename.c_str());
|
||||
|
||||
delete _voice;
|
||||
_voice = new RawSound(_mixer, file, 0, SOUND_BIG_ENDIAN);
|
||||
|
|
|
@ -78,12 +78,14 @@ public:
|
|||
TYPE_SFX5 = 1 << 2
|
||||
};
|
||||
|
||||
protected:
|
||||
void loadVoiceFile(const GameSpecificSettings *gss);
|
||||
void loadSfxFile(const GameSpecificSettings *gss);
|
||||
|
||||
void readSfxFile(const char *filename);
|
||||
public:
|
||||
void readSfxFile(const Common::String &filename);
|
||||
void loadSfxTable(Common::File *gameFile, uint32 base);
|
||||
void readVoiceFile(const char *filename);
|
||||
void readVoiceFile(const Common::String &filename);
|
||||
|
||||
void playVoice(uint sound);
|
||||
void playEffects(uint sound);
|
||||
|
|
|
@ -383,7 +383,7 @@ bool AGOSEngine_Waxworks::loadTablesIntoMem(uint16 subrId) {
|
|||
filename.setChar('X', 4);
|
||||
filename.setChar('X', 5);
|
||||
if (atoi(filename.c_str() + 6) != 1 && atoi(filename.c_str() + 6) != 30)
|
||||
_sound->readSfxFile(filename.c_str());
|
||||
_sound->readSfxFile(filename);
|
||||
}
|
||||
|
||||
alignTableMem();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue