diff options
Diffstat (limited to 'engines/neverhood/modules/module2600.cpp')
| -rw-r--r-- | engines/neverhood/modules/module2600.cpp | 95 | 
1 files changed, 4 insertions, 91 deletions
diff --git a/engines/neverhood/modules/module2600.cpp b/engines/neverhood/modules/module2600.cpp index b8dbf7bff1..a6484a4926 100644 --- a/engines/neverhood/modules/module2600.cpp +++ b/engines/neverhood/modules/module2600.cpp @@ -21,6 +21,7 @@   */  #include "neverhood/modules/module2600.h" +#include "neverhood/modules/module2600_sprites.h"  namespace Neverhood { @@ -35,7 +36,7 @@ static const uint32 kModule2600SoundList[] = {  Module2600::Module2600(NeverhoodEngine *vm, Module *parentModule, int which)  	: Module(vm, parentModule) { -	 +  	if (which < 0)  		createScene(_vm->gameState().sceneNum, -1);  	else if (which == 1) @@ -54,7 +55,7 @@ Module2600::~Module2600() {  }  void Module2600::createScene(int sceneNum, int which) { -	debug("Module2600::createScene(%d, %d)", sceneNum, which); +	debug(1, "Module2600::createScene(%d, %d)", sceneNum, which);  	_sceneNum = sceneNum;  	switch (_sceneNum) {  	case 0: @@ -218,98 +219,10 @@ void Module2600::updateScene() {  		}  	}  } -			 -SsScene2609Button::SsScene2609Button(NeverhoodEngine *vm, Scene *parentScene) -	: StaticSprite(vm, 1400), _parentScene(parentScene), _countdown(0) { -	 -	SetUpdateHandler(&SsScene2609Button::update); -	SetMessageHandler(&SsScene2609Button::handleMessage); - -	loadSprite(0x825A6923, kSLFDefDrawOffset | kSLFDefPosition | kSLFDefCollisionBoundsOffset, 400); -	if (!getGlobalVar(V_WATER_RUNNING)) -		setVisible(false); -	loadSound(0, 0x10267160); -	loadSound(1, 0x7027FD64); -	loadSound(2, 0x44043000); -	loadSound(3, 0x44045000); -} - -void SsScene2609Button::update() { -	updatePosition(); -	if (_countdown != 0 && (--_countdown == 0)) { -		if (getGlobalVar(V_WATER_RUNNING)) { -			setGlobalVar(V_WATER_RUNNING, 0); -			sendMessage(_parentScene, 0x2001, 0); -		} else { -			setGlobalVar(V_WATER_RUNNING, 1); -			sendMessage(_parentScene, 0x2002, 0); -		} -	} -} - -uint32 SsScene2609Button::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { -	uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); -	switch (messageNum) { -	case 0x1011: -		if (_countdown == 0) { -			sendMessage(_parentScene, 0x2000, 0); -			if (getGlobalVar(V_WATER_RUNNING)) { -				setVisible(false); -				playSound(3); -				playSound(1); -				_countdown = 12; -			} else { -				setVisible(true); -				playSound(2); -				playSound(0); -				_countdown = 96; -			} -		} -		messageResult = 1; -		break; -	} -	return messageResult; -} - -AsScene2609Water::AsScene2609Water(NeverhoodEngine *vm) -	: AnimatedSprite(vm, 1000) { -	 -	_x = 240; -	_y = 420; -	setDoDeltaX(1); -	createSurface1(0x9C210C90, 1200); -	setClipRect(260, 260, 400, 368); -	_vm->_soundMan->addSound(0x08526C36, 0xDC2769B0); -	SetUpdateHandler(&AnimatedSprite::update); -	SetMessageHandler(&AsScene2609Water::handleMessage); -	if (getGlobalVar(V_WATER_RUNNING)) -		sendMessage(this, 0x2002, 0); -} - -AsScene2609Water::~AsScene2609Water() { -	_vm->_soundMan->deleteSoundGroup(0x08526C36); -} - -uint32 AsScene2609Water::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { -	uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); -	switch (messageNum) { -	case 0x2001: -		stopAnimation(); -		setVisible(false); -		_vm->_soundMan->stopSound(0xDC2769B0); -		break; -	case 0x2002: -		startAnimation(0x9C210C90, 0, -1); -		setVisible(true); -		_vm->_soundMan->playSoundLooping(0xDC2769B0); -		break; -	} -	return messageResult; -}  Scene2609::Scene2609(NeverhoodEngine *vm, Module *parentModule, int which)  	: Scene(vm, parentModule), _isBusy(false) { -	 +  	SetUpdateHandler(&Scene::update);  	SetMessageHandler(&Scene2609::handleMessage);  | 
