Skip to content

Commit

Permalink
HOPKINS: Basic voice playback now working
Browse files Browse the repository at this point in the history
  • Loading branch information
dreammaster committed Nov 11, 2012
1 parent 8290b04 commit ebb1b80
Show file tree
Hide file tree
Showing 5 changed files with 332 additions and 60 deletions.
26 changes: 24 additions & 2 deletions engines/hopkins/dialogs.cpp
Expand Up @@ -21,6 +21,7 @@
*/

#include "common/scummsys.h"
#include "common/config-manager.h"
#include "common/events.h"
#include "common/file.h"
#include "common/util.h"
Expand Down Expand Up @@ -77,6 +78,7 @@ void DialogsManager::showOptionsDialog() {

if (!_vm->_soundManager.MUSICOFF) {
if (mousePos.x >= _vm->_graphicsManager.ofscroll + 300 && mousePos.y > 113 && mousePos.x <= _vm->_graphicsManager.ofscroll + 327 && mousePos.y <= 138) {
// Change the music volume
++_vm->_soundManager.MUSICVOL;
_vm->_soundManager.OLD_MUSICVOL = _vm->_soundManager.MUSICVOL;

Expand All @@ -85,6 +87,8 @@ void DialogsManager::showOptionsDialog() {
else
_vm->_soundManager.MUSICVOL = 12;
_vm->_soundManager.MODSetMusicVolume(_vm->_soundManager.MUSICVOL);

_vm->_soundManager.updateScummVMSoundSettings();
}

if (!_vm->_soundManager.MUSICOFF && mousePos.x >= _vm->_graphicsManager.ofscroll + 331 && mousePos.y > 113 && mousePos.x <= _vm->_graphicsManager.ofscroll + 358 && mousePos.y <= 138) {
Expand All @@ -96,6 +100,8 @@ void DialogsManager::showOptionsDialog() {

_vm->_soundManager.OLD_MUSICVOL = _vm->_soundManager.MUSICVOL;
_vm->_soundManager.MODSetMusicVolume(_vm->_soundManager.MUSICVOL);

_vm->_soundManager.updateScummVMSoundSettings();
}
}
if (!_vm->_soundManager.SOUNDOFF) {
Expand All @@ -107,6 +113,8 @@ void DialogsManager::showOptionsDialog() {
_vm->_soundManager.SOUNDVOL = 16;
_vm->_soundManager.OLD_SOUNDVOL = _vm->_soundManager.SOUNDVOL;
_vm->_soundManager.MODSetSampleVolume();

_vm->_soundManager.updateScummVMSoundSettings();
}

if (!_vm->_soundManager.SOUNDOFF && mousePos.x >= _vm->_graphicsManager.ofscroll + 331 && mousePos.y > 140 && mousePos.x <= _vm->_graphicsManager.ofscroll + 358 && mousePos.y <= 165) {
Expand All @@ -117,6 +125,8 @@ void DialogsManager::showOptionsDialog() {
_vm->_soundManager.SOUNDVOL = 0;
_vm->_soundManager.OLD_SOUNDVOL = _vm->_soundManager.SOUNDVOL;
_vm->_soundManager.MODSetSampleVolume();

_vm->_soundManager.updateScummVMSoundSettings();
}
}

Expand All @@ -130,6 +140,8 @@ void DialogsManager::showOptionsDialog() {
_vm->_soundManager.VOICEVOL = 16;
_vm->_soundManager.OLD_VOICEVOL = _vm->_soundManager.VOICEVOL;
_vm->_soundManager.MODSetVoiceVolume();

_vm->_soundManager.updateScummVMSoundSettings();
}

if (!_vm->_soundManager.VOICEOFF && mousePos.x >= _vm->_graphicsManager.ofscroll + 331 && mousePos.y > 167 && mousePos.x <= _vm->_graphicsManager.ofscroll + 358 && mousePos.y <= 192) {
Expand All @@ -140,6 +152,8 @@ void DialogsManager::showOptionsDialog() {
_vm->_soundManager.VOICEVOL = 0;
_vm->_soundManager.OLD_VOICEVOL = _vm->_soundManager.VOICEVOL;
_vm->_soundManager.MODSetVoiceVolume();

_vm->_soundManager.updateScummVMSoundSettings();
}
}

Expand All @@ -148,8 +162,11 @@ void DialogsManager::showOptionsDialog() {
_vm->_soundManager.TEXTOFF = _vm->_soundManager.TEXTOFF != 1;

if (mousePos.x >= _vm->_graphicsManager.ofscroll + 431) {
if (mousePos.y > 167 && mousePos.x <= _vm->_graphicsManager.ofscroll + 489 && mousePos.y <= 192)
if (mousePos.y > 167 && mousePos.x <= _vm->_graphicsManager.ofscroll + 489 && mousePos.y <= 192) {
_vm->_soundManager.VOICEOFF = _vm->_soundManager.VOICEOFF != 1;

_vm->_soundManager.updateScummVMSoundSettings();
}
if (mousePos.x >= _vm->_graphicsManager.ofscroll + 431) {
if (mousePos.y > 113 && mousePos.x <= _vm->_graphicsManager.ofscroll + 489 && mousePos.y <= 138) {
if (_vm->_soundManager.MUSICOFF == 1) {
Expand All @@ -159,10 +176,15 @@ void DialogsManager::showOptionsDialog() {
_vm->_soundManager.MUSICOFF = 1;
_vm->_soundManager.MODSetMusicVolume(0);
}

_vm->_soundManager.updateScummVMSoundSettings();
}

if (mousePos.x >= _vm->_graphicsManager.ofscroll + 431 && mousePos.y > 140 && mousePos.x <= _vm->_graphicsManager.ofscroll + 489 && mousePos.y <= 165)
if (mousePos.x >= _vm->_graphicsManager.ofscroll + 431 && mousePos.y > 140 && mousePos.x <= _vm->_graphicsManager.ofscroll + 489 && mousePos.y <= 165) {
_vm->_soundManager.SOUNDOFF = _vm->_soundManager.SOUNDOFF != 1;

_vm->_soundManager.updateScummVMSoundSettings();
}
}
}
}
Expand Down
11 changes: 10 additions & 1 deletion engines/hopkins/hopkins.cpp
Expand Up @@ -959,7 +959,10 @@ void HopkinsEngine::processIniParams(Common::StringMap &iniParams) {
void HopkinsEngine::INIT_SYSTEM() {
// Set graphics mode
_graphicsManager.SET_MODE(640, 480);


// Synchronise the sound settings from ScummVM
_soundManager.syncSoundSettings();

if (getPlatform() == Common::kPlatformLinux)
_eventsManager.mouse_linux = true;
else
Expand Down Expand Up @@ -1426,4 +1429,10 @@ void HopkinsEngine::PUBQUIT() {
_graphicsManager.FADE_OUTW();
}

void HopkinsEngine::syncSoundSettings() {
Engine::syncSoundSettings();

_soundManager.syncSoundSettings();
}

} // End of namespace Hopkins
6 changes: 6 additions & 0 deletions engines/hopkins/hopkins.h
Expand Up @@ -116,6 +116,7 @@ class HopkinsEngine : public Engine {
ScriptManager _scriptManager;
SoundManager _soundManager;
TalkManager _talkManager;

public:
HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDesc);
virtual ~HopkinsEngine();
Expand All @@ -139,6 +140,11 @@ class HopkinsEngine : public Engine {
* Run the introduction sequence
*/
void INTRORUN();

/**
* Synchronises the sound settings from ScummVM into the engine
*/
virtual void syncSoundSettings();
};

// Global reference to the HopkinsEngine object
Expand Down

0 comments on commit ebb1b80

Please sign in to comment.