diff options
Diffstat (limited to 'engines')
| -rw-r--r-- | engines/neverhood/gamemodule.cpp | 2 | ||||
| -rw-r--r-- | engines/neverhood/module.cpp | 5 | ||||
| -rw-r--r-- | engines/neverhood/module.h | 1 | ||||
| -rw-r--r-- | engines/neverhood/module1000.cpp | 2 | ||||
| -rw-r--r-- | engines/neverhood/module1300.cpp | 20 | ||||
| -rw-r--r-- | engines/neverhood/module1300.h | 4 | ||||
| -rw-r--r-- | engines/neverhood/module1400.cpp | 10 | ||||
| -rw-r--r-- | engines/neverhood/module1400.h | 2 | ||||
| -rw-r--r-- | engines/neverhood/module1600.cpp | 10 | ||||
| -rw-r--r-- | engines/neverhood/module1600.h | 2 | ||||
| -rw-r--r-- | engines/neverhood/module2200.cpp | 386 | ||||
| -rw-r--r-- | engines/neverhood/module2200.h | 87 | ||||
| -rw-r--r-- | engines/neverhood/module2400.cpp | 14 | ||||
| -rw-r--r-- | engines/neverhood/module2400.h | 4 | ||||
| -rw-r--r-- | engines/neverhood/module2500.cpp | 4 | ||||
| -rw-r--r-- | engines/neverhood/module2700.cpp | 2 | ||||
| -rw-r--r-- | engines/neverhood/module2800.cpp | 38 | ||||
| -rw-r--r-- | engines/neverhood/module2800.h | 2 | 
18 files changed, 282 insertions, 313 deletions
diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp index 174edd305d..ef1b09320a 100644 --- a/engines/neverhood/gamemodule.cpp +++ b/engines/neverhood/gamemodule.cpp @@ -309,7 +309,7 @@ void GameModule::startup() {  #if 1 -	_vm->gameState().sceneNum = 0; +	_vm->gameState().sceneNum = 5;  	createModule(2200, -1);  #endif  #if 0 diff --git a/engines/neverhood/module.cpp b/engines/neverhood/module.cpp index 5be9a6321f..1cd6c0d0b1 100644 --- a/engines/neverhood/module.cpp +++ b/engines/neverhood/module.cpp @@ -23,6 +23,7 @@  #include "neverhood/module.h"  #include "neverhood/navigationscene.h"  #include "neverhood/smackerscene.h" +#include "neverhood/module1000.h"  namespace Neverhood { @@ -93,6 +94,10 @@ void Module::createSmackerScene(const uint32 *fileHashList, bool doubleSurface,  	_childObject = smackerScene;  } +void Module::createStaticScene(uint32 backgroundFileHash, uint32 cursorFileHash) { +	_childObject = new StaticScene(_vm, this, backgroundFileHash, cursorFileHash); +} +  bool Module::updateChild() {  	if (_childObject) {  		_childObject->handleUpdate(); diff --git a/engines/neverhood/module.h b/engines/neverhood/module.h index 57a42c623b..bb01218364 100644 --- a/engines/neverhood/module.h +++ b/engines/neverhood/module.h @@ -61,6 +61,7 @@ protected:  	void createNavigationScene(uint32 navigationListId, int navigationIndex, const byte *itemsTypes = NULL);  	void createSmackerScene(uint32 fileHash, bool doubleSurface, bool flag1, bool canAbort);  	void createSmackerScene(const uint32 *fileHashList, bool doubleSurface, bool flag1, bool canAbort); +	void createStaticScene(uint32 backgroundFileHash, uint32 cursorFileHash);  	bool updateChild();  	void leaveModule(uint32 result);  }; diff --git a/engines/neverhood/module1000.cpp b/engines/neverhood/module1000.cpp index dce4b8cfac..878a0e7ef7 100644 --- a/engines/neverhood/module1000.cpp +++ b/engines/neverhood/module1000.cpp @@ -62,7 +62,7 @@ void Module1000::createScene(int sceneNum, int which) {  		break;  	case 2:  		_vm->_soundMan->startMusic(0x061880C6, 0, 0); -		_childObject = new StaticScene(_vm, this, 0xC084110C, 0x41108C00); +		createStaticScene(0xC084110C, 0x41108C00);  		break;  	case 3:  		_vm->_soundMan->stopMusic(0x061880C6, 0, 2); diff --git a/engines/neverhood/module1300.cpp b/engines/neverhood/module1300.cpp index 35132b6dca..80a210bc3a 100644 --- a/engines/neverhood/module1300.cpp +++ b/engines/neverhood/module1300.cpp @@ -704,11 +704,11 @@ Scene1304::Scene1304(NeverhoodEngine *vm, Module *parentModule, int which)  	insertMouse433(0xC021006A);  	if (getGlobalVar(0xAC00C0D0)) { -		_class545 = insertSprite<Class545>(this, 0, 1100, 278, 347); -		_vm->_collisionMan->addSprite(_class545); +		_asKey = insertSprite<AsCommonKey>(this, 0, 1100, 278, 347); +		_vm->_collisionMan->addSprite(_asKey);  	} else { -		_class545 = insertSprite<AnimatedSprite>(0x80106018, 100, 279, 48); -		// TODO _class545->setUpdateDeltaXY(); +		_asKey = insertSprite<AnimatedSprite>(0x80106018, 100, 279, 48); +		// TODO _asKey->setUpdateDeltaXY();  	}  	if (!getGlobalVar(0x31C63C51)) { @@ -750,8 +750,8 @@ uint32 Scene1304::handleMessage(int messageNum, const MessageParam ¶m, Entit  		if (sender == _asNeedle) {  			sendEntityMessage(_klayman, 0x1014, _asNeedle);  			setMessageList(0x004B9130); -		} else if (sender == _class545) { -			sendEntityMessage(_klayman, 0x1014, _class545); +		} else if (sender == _asKey) { +			sendEntityMessage(_klayman, 0x1014, _asKey);  			setMessageList(0x004B9140);  		}  		break; @@ -885,8 +885,8 @@ Scene1306::Scene1306(NeverhoodEngine *vm, Module *parentModule, int which)  	insertMouse433(0x0311005B);  	if (!getGlobalVar(0x13382860)) { -		_class545 = insertSprite<Class545>(this, 2, 1100, 435, 445); -		_vm->_collisionMan->addSprite(_class545); +		_asKey = insertSprite<AsCommonKey>(this, 2, 1100, 435, 445); +		_vm->_collisionMan->addSprite(_asKey);  	}  	_ssButton = insertSprite<SsCommonButtonSprite>(this, 0x404A36A0, 100, 0x440C1000); @@ -991,9 +991,9 @@ uint32 Scene1306::handleMessage(int messageNum, const MessageParam ¶m, Entit  		}  		break;  	case 0x4826: -		if (sender == _class545) { +		if (sender == _asKey) {  			if (_klayman->getX() >= 249) { -				sendEntityMessage(_klayman, 0x1014, _class545); +				sendEntityMessage(_klayman, 0x1014, _asKey);  				setMessageList(0x004AFC58);  			}  		} else if (sender == _asTape) { diff --git a/engines/neverhood/module1300.h b/engines/neverhood/module1300.h index b458602901..e01daf1f15 100644 --- a/engines/neverhood/module1300.h +++ b/engines/neverhood/module1300.h @@ -115,7 +115,7 @@ public:  	Scene1304(NeverhoodEngine *vm, Module *parentModule, int which);  protected:  	Sprite *_sprite1; -	Sprite *_class545; +	Sprite *_asKey;  	Sprite *_asNeedle;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender);  }; @@ -155,7 +155,7 @@ protected:  	AnimatedSprite *_asElevatorDoor;  	Sprite *_asElevator;  	Sprite *_sprite1; -	Sprite *_class545; +	Sprite *_asKey;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender);  	uint32 handleMessage416EB0(int messageNum, const MessageParam ¶m, Entity *sender);  }; diff --git a/engines/neverhood/module1400.cpp b/engines/neverhood/module1400.cpp index e5c25ca5ec..d31f3decad 100644 --- a/engines/neverhood/module1400.cpp +++ b/engines/neverhood/module1400.cpp @@ -1423,7 +1423,7 @@ uint32 Scene1403::handleMessage(int messageNum, const MessageParam ¶m, Entit  // Scene1404  Scene1404::Scene1404(NeverhoodEngine *vm, Module *parentModule, int which) -	: Scene(vm, parentModule, true), _asProjector(NULL), _class545(NULL) { +	: Scene(vm, parentModule, true), _asProjector(NULL), _asKey(NULL) {  	if (getGlobalVar(0xC0780812) && !getGlobalVar(0x13382860)) {  		setGlobalVar(0x13382860, 5); @@ -1440,8 +1440,8 @@ Scene1404::Scene1404(NeverhoodEngine *vm, Module *parentModule, int which)  	insertMouse433(0xB006BAC8);  	if (getGlobalVar(0x13382860) == 5) { -		_class545 = insertSprite<Class545>(this, 2, 1100, 267, 411); -		_vm->_collisionMan->addSprite(_class545); +		_asKey = insertSprite<AsCommonKey>(this, 2, 1100, 267, 411); +		_vm->_collisionMan->addSprite(_asKey);  	}  	_sprite1 = insertStaticSprite(0x1900A1F8, 1100); @@ -1514,8 +1514,8 @@ uint32 Scene1404::handleMessage(int messageNum, const MessageParam ¶m, Entit  		} else if (sender == _asTape && _messageListStatus != 2) {  			sendEntityMessage(_klayman, 0x1014, _asTape);  			setMessageList(0x004B8CD0); -		} else if (sender == _class545 && _messageListStatus != 2) { -			sendEntityMessage(_klayman, 0x1014, _class545); +		} else if (sender == _asKey && _messageListStatus != 2) { +			sendEntityMessage(_klayman, 0x1014, _asKey);  			setMessageList(0x004B8D18);  		}  		break; diff --git a/engines/neverhood/module1400.h b/engines/neverhood/module1400.h index 437632dd8f..8f5a4c9a63 100644 --- a/engines/neverhood/module1400.h +++ b/engines/neverhood/module1400.h @@ -238,7 +238,7 @@ protected:  	Sprite *_sprite1;  	Sprite *_asTape;  	AsCommonProjector *_asProjector; -	Sprite *_class545; +	Sprite *_asKey;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender);  }; diff --git a/engines/neverhood/module1600.cpp b/engines/neverhood/module1600.cpp index 92c566e485..d324130a53 100644 --- a/engines/neverhood/module1600.cpp +++ b/engines/neverhood/module1600.cpp @@ -1073,8 +1073,8 @@ Scene1608::Scene1608(NeverhoodEngine *vm, Module *parentModule, int which)  	_surfaceFlag = true;  	SetMessageHandler(&Scene1608::hmLowerFloor); -	_class545 = insertSprite<Class545>(this, 1, 1100, 198, 220); -	_vm->_collisionMan->addSprite(_class545); +	_asKey = insertSprite<AsCommonKey>(this, 1, 1100, 198, 220); +	_vm->_collisionMan->addSprite(_asKey);  	if (which < 0) {  		if (_vm->gameState().which == 1) @@ -1317,7 +1317,7 @@ uint32 Scene1608::hmLowerFloor(int messageNum, const MessageParam ¶m, Entity  		if (sender == _asTape) {  			sendEntityMessage(_kmScene1608, 0x1014, _asTape);  			setMessageList(0x004B4770); -		} else if (sender == _class545) { +		} else if (sender == _asKey) {  			setMessageList(0x004B46C8);  		}  		break; @@ -1337,8 +1337,8 @@ uint32 Scene1608::hmUpperFloor(int messageNum, const MessageParam ¶m, Entity  		sendMessage(_parentModule, 0x200D, 0);  		break;  	case 0x4826: -		if (sender == _class545) { -			sendEntityMessage(_kmScene1608, 0x1014, _class545); +		if (sender == _asKey) { +			sendEntityMessage(_kmScene1608, 0x1014, _asKey);  			setMessageList(0x004B4760);  		}  		break; diff --git a/engines/neverhood/module1600.h b/engines/neverhood/module1600.h index ec31b68a0f..3d6e831562 100644 --- a/engines/neverhood/module1600.h +++ b/engines/neverhood/module1600.h @@ -141,7 +141,7 @@ public:  	~Scene1608();  protected:  	AsCommonCar *_asCar; -	Sprite *_class545; +	Sprite *_asKey;  	Sprite *_asDoor;  	Sprite *_asIdleCarLower;  	Sprite *_asIdleCarFull; diff --git a/engines/neverhood/module2200.cpp b/engines/neverhood/module2200.cpp index d7991c2bd7..2220fb7729 100644 --- a/engines/neverhood/module2200.cpp +++ b/engines/neverhood/module2200.cpp @@ -86,115 +86,115 @@ void Module2200::createScene(int sceneNum, int which) {  		_childObject = new Scene2208(_vm, this, which);  		break;  	case 9: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7180); +		createHallOfRecordsScene(which, 0x004B7180);  		break;  	case 10: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7198); +		createHallOfRecordsScene(which, 0x004B7198);  		break;  	case 11: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B71B0); +		createHallOfRecordsScene(which, 0x004B71B0);  		break;  	case 12: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B71C8); +		createHallOfRecordsScene(which, 0x004B71C8);  		break;  	case 13: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B71E0); +		createHallOfRecordsScene(which, 0x004B71E0);  		break;  	case 14: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B71F8); +		createHallOfRecordsScene(which, 0x004B71F8);  		break;  	case 15: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7210); +		createHallOfRecordsScene(which, 0x004B7210);  		break;  	case 16: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7228); +		createHallOfRecordsScene(which, 0x004B7228);  		break;  	case 17: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7240); +		createHallOfRecordsScene(which, 0x004B7240);  		break;  	case 18: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7258); +		createHallOfRecordsScene(which, 0x004B7258);  		break;  	case 19: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7270); +		createHallOfRecordsScene(which, 0x004B7270);  		break;  	case 20: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7288); +		createHallOfRecordsScene(which, 0x004B7288);  		break;  	case 21: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B72A0); +		createHallOfRecordsScene(which, 0x004B72A0);  		break;  	case 22: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B72B8); +		createHallOfRecordsScene(which, 0x004B72B8);  		break;  	case 23: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B72D0); +		createHallOfRecordsScene(which, 0x004B72D0);  		break;  	case 24: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B72E8); +		createHallOfRecordsScene(which, 0x004B72E8);  		break;  	case 25: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7300); +		createHallOfRecordsScene(which, 0x004B7300);  		break;  	case 26: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7318); +		createHallOfRecordsScene(which, 0x004B7318);  		break;  	case 27: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7330); +		createHallOfRecordsScene(which, 0x004B7330);  		break;  	case 28: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7348); +		createHallOfRecordsScene(which, 0x004B7348);  		break;  	case 29: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7360); +		createHallOfRecordsScene(which, 0x004B7360);  		break;  	case 30: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7378); +		createHallOfRecordsScene(which, 0x004B7378);  		break;  	case 31: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7390); +		createHallOfRecordsScene(which, 0x004B7390);  		break;  	case 32: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B73A8); +		createHallOfRecordsScene(which, 0x004B73A8);  		break;  	case 33: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B73C0); +		createHallOfRecordsScene(which, 0x004B73C0);  		break;  	case 34: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B73D8); +		createHallOfRecordsScene(which, 0x004B73D8);  		break;  	case 35: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B73F0); +		createHallOfRecordsScene(which, 0x004B73F0);  		break;  	case 36: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7408); +		createHallOfRecordsScene(which, 0x004B7408);  		break;  	case 37: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7420); +		createHallOfRecordsScene(which, 0x004B7420);  		break;  	case 38: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7438); +		createHallOfRecordsScene(which, 0x004B7438);  		break;  	case 39: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7450); +		createHallOfRecordsScene(which, 0x004B7450);  		break;  	case 40: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7468); +		createHallOfRecordsScene(which, 0x004B7468);  		break;  	case 41:  		_childObject = new Scene2242(_vm, this, which);  		break;  	case 42: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7480); +		createHallOfRecordsScene(which, 0x004B7480);  		break;  	case 43: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B7498); +		createHallOfRecordsScene(which, 0x004B7498);  		break;  	case 44: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B74B0); +		createHallOfRecordsScene(which, 0x004B74B0);  		break;  	case 45: -		_childObject = new HallOfRecordsScene(_vm, this, which, 0x004B74C8); +		createHallOfRecordsScene(which, 0x004B74C8);  		break;  	case 46:  		_childObject = new Scene2247(_vm, this, which); @@ -202,14 +202,14 @@ void Module2200::createScene(int sceneNum, int which) {  	case 47:  		if (!getGlobalVar(0x98109F12)) {  			if (getGlobalVar(0x4D080E54)) -				_childObject = new StaticScene(_vm, this, 0x83110287, 0x10283839); +				createStaticScene(0x83110287, 0x10283839);  			else -				_childObject = new StaticScene(_vm, this, 0x83412B9D, 0x12B9983C); +				createStaticScene(0x83412B9D, 0x12B9983C);  		} else {  			if (getGlobalVar(0x4D080E54)) -				_childObject = new StaticScene(_vm, this, 0x48632087, 0x3208348E); +				createStaticScene(0x48632087, 0x3208348E);  			else -				_childObject = new StaticScene(_vm, this, 0x08C74886, 0x74882084); +				createStaticScene(0x08C74886, 0x74882084);  		}  		break;  	} @@ -399,6 +399,10 @@ void Module2200::updateScene() {  #undef HallOfRecordsSceneLink +void Module2200::createHallOfRecordsScene(int which, uint32 sceneInfo140Id) { +	_childObject = new HallOfRecordsScene(_vm, this, which, sceneInfo140Id); +} +  // Scene2201  AsScene2201CeilingFan::AsScene2201CeilingFan(NeverhoodEngine *vm) @@ -411,8 +415,8 @@ AsScene2201CeilingFan::AsScene2201CeilingFan(NeverhoodEngine *vm)  	SetUpdateHandler(&AnimatedSprite::update);  } -AsScene2201Door::AsScene2201Door(NeverhoodEngine *vm, Klayman *klayman, Sprite *doorLightSprite, bool flag1) -	: AnimatedSprite(vm, 1100), _klayman(klayman), _doorLightSprite(doorLightSprite), _countdown(0), _doorOpen(flag1) { +AsScene2201Door::AsScene2201Door(NeverhoodEngine *vm, Klayman *klayman, Sprite *ssDoorLight, bool flag1) +	: AnimatedSprite(vm, 1100), _klayman(klayman), _ssDoorLight(ssDoorLight), _countdown(0), _doorOpen(flag1) {  	_x = 408;  	_y = 290;	 @@ -426,7 +430,7 @@ AsScene2201Door::AsScene2201Door(NeverhoodEngine *vm, Klayman *klayman, Sprite *  	} else {  		startAnimation(0xE2CB0412, 0, -1);  		_newStickFrameIndex = 0; -		_doorLightSprite->setVisible(false); +		_ssDoorLight->setVisible(false);  	}  } @@ -443,10 +447,10 @@ uint32 AsScene2201Door::handleMessage(int messageNum, const MessageParam ¶m,  	case 0x100D:  		if (param.asInteger() == 0x11001090) {  			if (_doorOpen) -				_doorLightSprite->setVisible(true); +				_ssDoorLight->setVisible(true);  		} else if (param.asInteger() == 0x11283090) {  			if (!_doorOpen) -				_doorLightSprite->setVisible(false); +				_ssDoorLight->setVisible(false);  		}  		break;  	case 0x2000: @@ -481,22 +485,22 @@ void AsScene2201Door::stCloseDoor() {  	playSound(0, calcHash("fxDoorClose33"));  } -Class444::Class444(NeverhoodEngine *vm, int pointIndex, int spriteIndex) +SsScene2201PuzzleCube::SsScene2201PuzzleCube(NeverhoodEngine *vm, uint32 positionIndex, uint32 cubeIndex)  	: StaticSprite(vm, 900) { -	_spriteResource.load2(kClass444FileHashes[spriteIndex]); +	_spriteResource.load2(kSsScene2201PuzzleCubeFileHashes[cubeIndex]);  	createSurface(100, 16, 16);  	_drawRect.x = -(_spriteResource.getDimensions().width / 2);  	_drawRect.y = -(_spriteResource.getDimensions().height / 2);  	_drawRect.width = _spriteResource.getDimensions().width;  	_drawRect.height = _spriteResource.getDimensions().height; -	_x = kClass444Points[pointIndex].x; -	_y = kClass444Points[pointIndex].y; +	_x = kSsScene2201PuzzleCubePoints[positionIndex].x; +	_y = kSsScene2201PuzzleCubePoints[positionIndex].y;  	_needRefresh = true;  }  Scene2201::Scene2201(NeverhoodEngine *vm, Module *parentModule, int which) -	: Scene(vm, parentModule, true), _soundFlag(false) { +	: Scene(vm, parentModule, true), _isSoundPlaying(false) {  	Sprite *tempSprite; @@ -520,11 +524,9 @@ Scene2201::Scene2201(NeverhoodEngine *vm, Module *parentModule, int which)  	_ssDoorButton = insertSprite<SsCommonPressButton>(this, 0xE4A43E29, 0xE4A43E29, 100, 0); -	for (uint32 i = 0; i < 9; i++) { -		if ((int16)getSubVar(0x484498D0, i) >= 0) { -			insertSprite<Class444>(i, (int16)getSubVar(0x484498D0, i)); -		} -	} +	for (uint32 cubeIndex = 0; cubeIndex < 9; cubeIndex++) +		if ((int16)getSubVar(0x484498D0, cubeIndex) >= 0) +			insertSprite<SsScene2201PuzzleCube>(cubeIndex, (int16)getSubVar(0x484498D0, cubeIndex));  	_clipRects[0].y1 = 0;  	_clipRects[0].x2 = 640; @@ -547,16 +549,16 @@ Scene2201::Scene2201(NeverhoodEngine *vm, Module *parentModule, int which)  	_clipRects[0].y2 = tempSprite->getDrawRect().y2();  	_clipRects[1].y1 = tempSprite->getDrawRect().y2(); -	_doorLightSprite = insertStaticSprite(0xA4062212, 900); +	_ssDoorLight = insertStaticSprite(0xA4062212, 900);  	if (which < 0) {  		insertKlayman<KmScene2201>(300, 427, _clipRects, 2);  		setMessageList(0x004B8118); -		_asDoor = insertSprite<AsScene2201Door>(_klayman, _doorLightSprite, false); +		_asDoor = insertSprite<AsScene2201Door>(_klayman, _ssDoorLight, false);  	} else if (which == 1) {  		insertKlayman<KmScene2201>(412, 393, _clipRects, 2);  		setMessageList(0x004B8130); -		_asDoor = insertSprite<AsScene2201Door>(_klayman, _doorLightSprite, false); +		_asDoor = insertSprite<AsScene2201Door>(_klayman, _ssDoorLight, false);  	} else if (which == 2) {  		if (getGlobalVar(0xC0418A02)) {  			insertKlayman<KmScene2201>(379, 427, _clipRects, 2); @@ -565,12 +567,12 @@ Scene2201::Scene2201(NeverhoodEngine *vm, Module *parentModule, int which)  			insertKlayman<KmScene2201>(261, 427, _clipRects, 2);  		}  		setMessageList(0x004B8178); -		_asDoor = insertSprite<AsScene2201Door>(_klayman, _doorLightSprite, false); +		_asDoor = insertSprite<AsScene2201Door>(_klayman, _ssDoorLight, false);  	} else {  		NPoint pt = _dataResource.getPoint(0x0304D8DC);  		insertKlayman<KmScene2201>(pt.x, pt.y, _clipRects, 2);  		setMessageList(0x004B8120); -		_asDoor = insertSprite<AsScene2201Door>(_klayman, _doorLightSprite, true); +		_asDoor = insertSprite<AsScene2201Door>(_klayman, _ssDoorLight, true);  	}  	insertSprite<AsScene2201CeilingFan>(); @@ -586,9 +588,9 @@ Scene2201::~Scene2201() {  void Scene2201::update() {  	Scene::update(); -	if (!_soundFlag) { +	if (!_isSoundPlaying) {  		_vm->_soundMan->playSoundLooping(0x81212040); -		_soundFlag = true; +		_isSoundPlaying = true;  	}  } @@ -884,7 +886,7 @@ void SsScene2202PuzzleTile::stopMoving() {  Scene2202::Scene2202(NeverhoodEngine *vm, Module *parentModule, int which)  	: Scene(vm, parentModule, true), _isSolved(false), _leaveScene(false), _isTileMoving(false), -	_movingTileSprite(NULL), _doneMovingTileSprite(NULL) { +	_ssMovingTile(NULL), _ssDoneMovingTile(NULL) {  	// TODO initScene2201Vars();  	SetMessageHandler(&Scene2202::handleMessage); @@ -897,9 +899,10 @@ Scene2202::Scene2202(NeverhoodEngine *vm, Module *parentModule, int which)  	addEntity(_palette);  	insertMouse435(0x00A08089, 20, 620); -	//DEBUG! +	//DEBUG>>>  	for (uint32 index = 0; index < 9; index++)  		setSubVar(0x484498D0, index, 7 - index); +	//DEBUG<<<  	for (uint32 index = 0; index < 9; index++) {  		int16 value = (int16)getSubVar(0x484498D0, index); @@ -938,19 +941,19 @@ void Scene2202::update() {  		_leaveScene = true;  	} -	if (_movingTileSprite && !_isTileMoving) { -		int16 value = getFreeTileIndex(_movingTileIndex); -		if (value != -1) { -			setSurfacePriority(_movingTileSprite->getSurface(), 700); -			sendMessage(_movingTileSprite, 0x2001, value); -			_movingTileSprite = NULL; +	if (_ssMovingTile && !_isTileMoving) { +		int16 freeTileIndex = getFreeTileIndex(_movingTileIndex); +		if (freeTileIndex != -1) { +			setSurfacePriority(_ssMovingTile->getSurface(), 700); +			sendMessage(_ssMovingTile, 0x2001, freeTileIndex); +			_ssMovingTile = NULL;  			_isTileMoving = true;  		}  	} -	if (_doneMovingTileSprite) { -		setSurfacePriority(_doneMovingTileSprite->getSurface(), _surfacePriority); -		_doneMovingTileSprite = NULL; +	if (_ssDoneMovingTile) { +		setSurfacePriority(_ssDoneMovingTile->getSurface(), _surfacePriority); +		_ssDoneMovingTile = NULL;  		if (testIsSolved()) {  			playSound(0);  			setGlobalVar(0x404290D5, 1); @@ -974,11 +977,11 @@ uint32 Scene2202::handleMessage(int messageNum, const MessageParam ¶m, Entit  		break;  	case 0x2000:  		_movingTileIndex = (int16)param.asInteger(); -		_movingTileSprite = (Sprite*)sender; +		_ssMovingTile = (Sprite*)sender;  		break;  	case 0x2002:  		_isTileMoving = false; -		_doneMovingTileSprite = (Sprite*)sender; +		_ssDoneMovingTile = (Sprite*)sender;  		if (param.asInteger() <= 2) {  			_surfacePriority = 100;  		} else if (param.asInteger() >= 3 && param.asInteger() <= 5) { @@ -1015,24 +1018,22 @@ bool Scene2202::testIsSolved() {  		getSubVar(0x484498D0, 8) == 7;  } -static const uint32 kClass545FileHashes[] = { -	0x2450D850, -	0x0C9CE8D0, -	0x2C58A152 +static const uint32 kAsCommonKeyFileHashes[] = { +	0x2450D850,	0x0C9CE8D0,	0x2C58A152  }; -Class545::Class545(NeverhoodEngine *vm, Scene *parentScene, int index, int surfacePriority, int16 x, int16 y) -	: AnimatedSprite(vm, kClass545FileHashes[index], surfacePriority, x, y), _parentScene(parentScene), _index(index) { +AsCommonKey::AsCommonKey(NeverhoodEngine *vm, Scene *parentScene, int keyIndex, int surfacePriority, int16 x, int16 y) +	: AnimatedSprite(vm, kAsCommonKeyFileHashes[keyIndex], surfacePriority, x, y), _parentScene(parentScene), _keyIndex(keyIndex) { -	if (!getSubVar(0x0090EA95, _index) && !getSubVar(0x08D0AB11, _index)) { -		SetMessageHandler(&Class545::handleMessage); +	if (!getSubVar(0x0090EA95, _keyIndex) && !getSubVar(0x08D0AB11, _keyIndex)) { +		SetMessageHandler(&AsCommonKey::handleMessage);  	} else {  		setVisible(false);  		SetMessageHandler(NULL);  	}  } -uint32 Class545::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { +uint32 AsCommonKey::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) {  	uint32 messageResult = Sprite::handleMessage(messageNum, param, sender);  	switch (messageNum) {  	case 0x1011: @@ -1040,7 +1041,7 @@ uint32 Class545::handleMessage(int messageNum, const MessageParam ¶m, Entity  		messageResult = 1;  		break;  	case 0x4806: -		setSubVar(0x0090EA95, _index, 1); +		setSubVar(0x0090EA95, _keyIndex, 1);  		setVisible(false);  		SetMessageHandler(NULL);  	} @@ -1048,23 +1049,22 @@ uint32 Class545::handleMessage(int messageNum, const MessageParam ¶m, Entity  }  static const uint32 kAsScene2203DoorFileHashes[] = { -	0x7868AE10, -	0x1A488110 +	0x7868AE10,	0x1A488110  }; -AsScene2203Door::AsScene2203Door(NeverhoodEngine *vm, Scene *parentScene, uint index) -	: AnimatedSprite(vm, 1100), _parentScene(parentScene), _index(index) { +AsScene2203Door::AsScene2203Door(NeverhoodEngine *vm, Scene *parentScene, uint doorIndex) +	: AnimatedSprite(vm, 1100), _parentScene(parentScene), _doorIndex(doorIndex) {  	SetUpdateHandler(&AnimatedSprite::update);  	SetMessageHandler(&AsScene2203Door::handleMessage);  	_x = 320;  	_y = 240; -	createSurface1(kAsScene2203DoorFileHashes[_index], 900); -	if (getGlobalVar(0x9A500914) == _index) { -		startAnimation(kAsScene2203DoorFileHashes[_index], -1, -1); +	createSurface1(kAsScene2203DoorFileHashes[_doorIndex], 900); +	if (getGlobalVar(0x9A500914) == _doorIndex) { +		startAnimation(kAsScene2203DoorFileHashes[_doorIndex], -1, -1);  		_newStickFrameIndex = -2;  	} else { -		startAnimation(kAsScene2203DoorFileHashes[_index], 0, -1); +		startAnimation(kAsScene2203DoorFileHashes[_doorIndex], 0, -1);  		_newStickFrameIndex = 0;  	}  } @@ -1073,7 +1073,7 @@ uint32 AsScene2203Door::handleMessage(int messageNum, const MessageParam ¶m,  	uint32 messageResult = Sprite::handleMessage(messageNum, param, sender);  	switch (messageNum) {  	case 0x1011: -		if (_index == getGlobalVar(0x9A500914)) +		if (_doorIndex == getGlobalVar(0x9A500914))  			sendMessage(_parentScene, 0x2002, 0);  		else  			sendMessage(_parentScene, 0x2001, 0); @@ -1083,12 +1083,12 @@ uint32 AsScene2203Door::handleMessage(int messageNum, const MessageParam ¶m,  		_otherDoor = (Sprite*)param.asEntity();  		break;  	case 0x3002: -		if (_index == getGlobalVar(0x9A500914)) +		if (_doorIndex == getGlobalVar(0x9A500914))  			sendMessage(_parentScene, 0x4808, 0);  		stopAnimation();  		break;  	case 0x4808: -		setGlobalVar(0x9A500914, _index); +		setGlobalVar(0x9A500914, _doorIndex);  		sendMessage(_otherDoor, 0x4809, 0);  		openDoor();  		break; @@ -1102,11 +1102,11 @@ uint32 AsScene2203Door::handleMessage(int messageNum, const MessageParam ¶m,  void AsScene2203Door::openDoor() {  	playSound(0, 0x341014C4); -	startAnimation(kAsScene2203DoorFileHashes[_index], 1, -1); +	startAnimation(kAsScene2203DoorFileHashes[_doorIndex], 1, -1);  }  void AsScene2203Door::closeDoor() { -	startAnimation(kAsScene2203DoorFileHashes[_index], -1, -1); +	startAnimation(kAsScene2203DoorFileHashes[_doorIndex], -1, -1);  	_playBackwards = true;  	_newStickFrameIndex = 0;  } @@ -1126,9 +1126,11 @@ Scene2203::Scene2203(NeverhoodEngine *vm, Module *parentModule, int which)  	setHitRects(0x004B8320); +	//DEBUG setGlobalVar(0x13382860, 1);//###//TODO CHECK IF Below... +  	if (getGlobalVar(0x13382860) == 1) { -		_class545 = insertSprite<Class545>(this, 2, 1100, 282, 432); -		_vm->_collisionMan->addSprite(_class545); +		_asKey = insertSprite<AsCommonKey>(this, 2, 1100, 282, 432); +		_vm->_collisionMan->addSprite(_asKey);  	}  	_asTape = insertSprite<AsScene1201Tape>(this, 1, 1100, 435, 432, 0x9148A011); @@ -1222,8 +1224,8 @@ uint32 Scene2203::handleMessage(int messageNum, const MessageParam ¶m, Entit  		if (sender == _asTape) {  			sendEntityMessage(_klayman, 0x1014, _asTape);  			setMessageList(0x004B83E0); -		} else if (sender == _class545) { -			sendEntityMessage(_klayman, 0x1014, _class545); +		} else if (sender == _asKey) { +			sendEntityMessage(_klayman, 0x1014, _asKey);  			setMessageList(0x004B83F0);  		}  		break; @@ -1395,112 +1397,112 @@ static const uint32 kScene2206MessageIds2[] = {  	0x004B8A48  }; -static const int16 kClass603XDeltas1[] = { +static const int16 kAsScene2206DoorSpikesXDeltasOpen[] = {  	-24, -28, -18, 6, 9, -8  }; -static const int16 kClass603XDeltas2[] = { +static const int16 kAsScene2206DoorSpikesXDeltasClose[] = {  	-8, 7, 11, 26, 13, 14  }; -Class603::Class603(NeverhoodEngine *vm, uint32 fileHash) +AsScene2206DoorSpikes::AsScene2206DoorSpikes(NeverhoodEngine *vm, uint32 fileHash)  	: StaticSprite(vm, fileHash, 200) {  	if (getGlobalVar(0x18890C91))  		_x -= 63; -	SetUpdateHandler(&Class603::update); -	SetMessageHandler(&Class603::handleMessage); +	SetUpdateHandler(&AsScene2206DoorSpikes::update); +	SetMessageHandler(&AsScene2206DoorSpikes::handleMessage);  	SetSpriteUpdate(NULL);  } -void Class603::update() { +void AsScene2206DoorSpikes::update() {  	handleSpriteUpdate();  	StaticSprite::update();  } -uint32 Class603::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { +uint32 AsScene2206DoorSpikes::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) {  	uint32 messageResult = Sprite::handleMessage(messageNum, param, sender);  	switch (messageNum) {  	case 0x4808: -		_index = 0; +		_deltaIndex = 0;  		SetMessageHandler(NULL); -		SetSpriteUpdate(&Class603::spriteUpdate481E60); +		SetSpriteUpdate(&AsScene2206DoorSpikes::suOpen);  		playSound(0, 0x032746E0);  		break;  	case 0x4809: -		_index = 0; +		_deltaIndex = 0;  		SetMessageHandler(NULL); -		SetSpriteUpdate(&Class603::spriteUpdate481E90); +		SetSpriteUpdate(&AsScene2206DoorSpikes::suClose);  		playSound(0, 0x002642C0);  		break;  	}  	return messageResult;  } -void Class603::spriteUpdate481E60() { -	if (_index < 6) { -		_x += kClass603XDeltas1[_index]; -		_index++; +void AsScene2206DoorSpikes::suOpen() { +	if (_deltaIndex < 6) { +		_x += kAsScene2206DoorSpikesXDeltasOpen[_deltaIndex]; +		_deltaIndex++;  	} else { -		SetMessageHandler(&Class603::handleMessage); +		SetMessageHandler(&AsScene2206DoorSpikes::handleMessage);  		SetSpriteUpdate(NULL);  	}  } -void Class603::spriteUpdate481E90() { -	if (_index < 6) { -		_x += kClass603XDeltas2[_index]; -		_index++; +void AsScene2206DoorSpikes::suClose() { +	if (_deltaIndex < 6) { +		_x += kAsScene2206DoorSpikesXDeltasClose[_deltaIndex]; +		_deltaIndex++;  	} else { -		SetMessageHandler(&Class603::handleMessage); +		SetMessageHandler(&AsScene2206DoorSpikes::handleMessage);  		SetSpriteUpdate(NULL);  	}  } -Class604::Class604(NeverhoodEngine *vm, uint32 fileHash) +AsScene2206Platform::AsScene2206Platform(NeverhoodEngine *vm, uint32 fileHash)  	: StaticSprite(vm, fileHash, 50) { -	SetUpdateHandler(&Class604::update); -	SetMessageHandler(&Class604::handleMessage); +	SetUpdateHandler(&AsScene2206Platform::update); +	SetMessageHandler(&AsScene2206Platform::handleMessage);  	SetSpriteUpdate(NULL);  } -void Class604::update() { +void AsScene2206Platform::update() {  	handleSpriteUpdate();  	StaticSprite::update();  } -uint32 Class604::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { +uint32 AsScene2206Platform::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) {  	uint32 messageResult = Sprite::handleMessage(messageNum, param, sender);  	switch (messageNum) {  	case 0x4803:  		SetMessageHandler(NULL); -		SetSpriteUpdate(&Class604::spriteUpdate482020); +		SetSpriteUpdate(&AsScene2206Platform::suMoveDown);  		_yDelta = 0;  		break;  	}  	return messageResult;  } -void Class604::spriteUpdate482020() { +void AsScene2206Platform::suMoveDown() {  	_yDelta++;  	_y += _yDelta;  } -Class607::Class607(NeverhoodEngine *vm, Scene *parentScene, int surfacePriority, uint32 fileHash) +SsScene2206TestTube::SsScene2206TestTube(NeverhoodEngine *vm, Scene *parentScene, int surfacePriority, uint32 fileHash)  	: StaticSprite(vm, fileHash, surfacePriority), _parentScene(parentScene) {  	if (getGlobalVar(0x45080C38)) {  		setVisible(false);  		SetMessageHandler(NULL);  	} else { -		SetMessageHandler(&Class607::handleMessage); +		SetMessageHandler(&SsScene2206TestTube::handleMessage);  	}  	_deltaRect = _drawRect;  	processDelta();  } -uint32 Class607::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { +uint32 SsScene2206TestTube::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) {  	uint32 messageResult = Sprite::handleMessage(messageNum, param, sender);  	switch (messageNum) {  	case 0x1011: @@ -1530,28 +1532,28 @@ Scene2206::Scene2206(NeverhoodEngine *vm, Module *parentModule, int which)  		_sprite1 = insertStaticSprite(0x2201266A, 100);  		_sprite2 = insertStaticSprite(0x3406A333, 300);  		_sprite3 = insertStaticSprite(0x24A223A2, 100); -		_sprite4 = insertSprite<Class603>(0x26133023); -		_sprite4->setClipRect(_sprite2->getDrawRect().x, 0, 640, 480); +		_asDoorSpikes = insertSprite<AsScene2206DoorSpikes>(0x26133023); +		_asDoorSpikes->setClipRect(_sprite2->getDrawRect().x, 0, 640, 480);  		setRectList(0x004B8AF8); -		_sprite5 = insertSprite<SsCommonButtonSprite>(this, 0x0E038022, 100, 0); +		_ssButton = insertSprite<SsCommonButtonSprite>(this, 0x0E038022, 100, 0);  		insertMouse433(0x83212411); -		_class607 = insertSprite<Class607>(this, 1100, /*464, 433, */0x5E00E262); -		_class604 = insertSprite<Class604>(0x085E25E0); +		_ssTestTube = insertSprite<SsScene2206TestTube>(this, 1100, /*464, 433, */0x5E00E262); +		_asPlatform = insertSprite<AsScene2206Platform>(0x085E25E0);  	} else {  		fileHash = 0xE0102A45;  		_sprite1 = insertStaticSprite(0x1C1106B8, 100);  		_sprite2 = insertStaticSprite(0x020462E0, 300);  		_sprite3 = insertStaticSprite(0x900626A2, 100); -		_sprite4 = insertSprite<Class603>(0x544822A8); -		_sprite4->setClipRect(_sprite2->getDrawRect().x, 0, 640, 480); +		_asDoorSpikes = insertSprite<AsScene2206DoorSpikes>(0x544822A8); +		_asDoorSpikes->setClipRect(_sprite2->getDrawRect().x, 0, 640, 480);  		setRectList(0x004B8B58); -		_sprite5 = insertSprite<SsCommonButtonSprite>(this, 0x16882608, 100, 0); +		_ssButton = insertSprite<SsCommonButtonSprite>(this, 0x16882608, 100, 0);  		insertMouse433(0x02A41E09); -		_class607 = insertSprite<Class607>(this, 1100, /*464, 433, */0x52032563); -		_class604 = insertSprite<Class604>(0x317831A0); +		_ssTestTube = insertSprite<SsScene2206TestTube>(this, 1100, /*464, 433, */0x52032563); +		_asPlatform = insertSprite<AsScene2206Platform>(0x317831A0);  	} -	_class604->setClipRect(_sprite2->getDrawRect().x, 0, _sprite3->getDrawRect().x2(), _sprite1->getDrawRect().y2()); +	_asPlatform->setClipRect(_sprite2->getDrawRect().x, 0, _sprite3->getDrawRect().x2(), _sprite1->getDrawRect().y2());  	setBackground(fileHash); @@ -1564,7 +1566,7 @@ Scene2206::Scene2206(NeverhoodEngine *vm, Module *parentModule, int which)  		_palette->addPalette(0x0263D144, 0, 65, 0);  	} -	_vm->_collisionMan->addSprite(_class607); +	_vm->_collisionMan->addSprite(_ssTestTube);  	if (which < 0) {  		insertKlayman<KmScene2206>(200, 430); @@ -1576,7 +1578,7 @@ Scene2206::Scene2206(NeverhoodEngine *vm, Module *parentModule, int which)  		insertKlayman<KmScene2206>(205, 396);  		setMessageList(0x004B88C8);  		_palette->addPalette(getGlobalVar(0x4D080E54) ? 0xB103B604 : 0x0263D144, 0, 65, 0); -		sub4819D0(); +		klaymanBehindSpikes();  		playSound(0, 0x53B8284A);  	} else if (which == 3) {  		insertKlayman<KmScene2206>(kScene2206XPositions[getGlobalVar(0x48A68852)], 430); @@ -1602,9 +1604,9 @@ uint32 Scene2206::handleMessage(int messageNum, const MessageParam ¶m, Entit  	switch (messageNum) {  	case 0x100D:  		if (param.asInteger() == 0x800C6694) { -			sub481B00(); +			readClickedColumn();  		} else if (param.asInteger() == 0x402064D8) { -			sendEntityMessage(_klayman, 0x1014, _sprite5); +			sendEntityMessage(_klayman, 0x1014, _ssButton);  		} else if (param.asInteger() == 0x11C40840) {  			if (getGlobalVar(0x18890C91))  				setMessageList(0x004B8948); @@ -1613,32 +1615,32 @@ uint32 Scene2206::handleMessage(int messageNum, const MessageParam ¶m, Entit  		}  		break;  	case 0x4803: -		sendMessage(_class604, 0x4803, 0); +		sendMessage(_asPlatform, 0x4803, 0);  		break;  	case 0x480B: -		if (sender == _sprite5) { +		if (sender == _ssButton) {  			setGlobalVar(0x18890C91, getGlobalVar(0x18890C91) ? 0 : 1);  			if (getGlobalVar(0x18890C91)) -				sendMessage(_sprite4, 0x4808, 0); +				sendMessage(_asDoorSpikes, 0x4808, 0);  			else -				sendMessage(_sprite4, 0x4809, 0); +				sendMessage(_asDoorSpikes, 0x4809, 0);  		}  		break;  	case 0x4826: -		sendEntityMessage(_klayman, 0x1014, _class607); +		sendEntityMessage(_klayman, 0x1014, _ssTestTube);  		setMessageList(0x004B8988);  		break;  	case 0x482A: -		sub4819D0(); +		klaymanBehindSpikes();  		break;  	case 0x482B: -		sub481950(); +		klaymanInFrontSpikes();  		break;  	}  	return messageResult;  } -void Scene2206::sub481950() { +void Scene2206::klaymanInFrontSpikes() {  	if (getGlobalVar(0x4D080E54)) {  		_palette->addBasePalette(0x41983216, 0, 65, 0);  		_palette->startFadeToPalette(12); @@ -1646,11 +1648,11 @@ void Scene2206::sub481950() {  	setSurfacePriority(_sprite1->getSurface(), 100);  	setSurfacePriority(_sprite2->getSurface(), 300);  	setSurfacePriority(_sprite3->getSurface(), 100); -	setSurfacePriority(_sprite4->getSurface(), 200); +	setSurfacePriority(_asDoorSpikes->getSurface(), 200);  	_klayman->setClipRect(0, 0, 640, 480);  } -void Scene2206::sub4819D0() { +void Scene2206::klaymanBehindSpikes() {  	if (!getGlobalVar(0x4D080E54)) {  		_palette->addBasePalette(0xB103B604, 0, 65, 0);  		_palette->startFadeToPalette(12); @@ -1658,11 +1660,11 @@ void Scene2206::sub4819D0() {  	setSurfacePriority(_sprite1->getSurface(), 1100);  	setSurfacePriority(_sprite2->getSurface(), 1300);  	setSurfacePriority(_sprite3->getSurface(), 1100); -	setSurfacePriority(_sprite4->getSurface(), 1200); +	setSurfacePriority(_asDoorSpikes->getSurface(), 1200);  	_klayman->setClipRect(_sprite2->getDrawRect().x, 0, _sprite3->getDrawRect().x2(), _sprite1->getDrawRect().y2());  } -void Scene2206::sub481B00() { +void Scene2206::readClickedColumn() {  	setGlobalVar(0x48A68852, (_mouseClickPos.x - 354) / 96);  	if (getGlobalVar(0x48A68852) > 2)  		setGlobalVar(0x48A68852, 2); @@ -2008,8 +2010,9 @@ SsScene2207Symbol::SsScene2207Symbol(NeverhoodEngine *vm, uint32 fileHash, int i  Scene2207::Scene2207(NeverhoodEngine *vm, Module *parentModule, int which)  	: Scene(vm, parentModule, true), _klaymanAtElevator(true), _elevatorSurfacePriority(0) { -	//DEBUG +	//DEBUG>>>  	setGlobalVar(0x4D080E54, 1); +	//DEBUG<<<  	_vm->gameModule()->initScene3009Vars(); @@ -2208,21 +2211,13 @@ uint32 Scene2207::handleMessage2(int messageNum, const MessageParam ¶m, Enti  }  static const uint32 kScene2208FileHashes1[] = { -	0x041023CB, -	0x041020CB, -	0x041026CB, -	0x04102ACB, -	0x041032CB, -	0x041002CB +	0x041023CB, 0x041020CB, 0x041026CB, 0x04102ACB, +	0x041032CB, 0x041002CB  };  static const uint32 kScene2208FileHashes2[] = { -	0x091206C9, -	0x091406C9, -	0x091806C9, -	0x090006C9, -	0x093006C9, -	0x095006C9 +	0x091206C9, 0x091406C9, 0x091806C9, 0x090006C9, +	0x093006C9, 0x095006C9  };  Scene2208::Scene2208(NeverhoodEngine *vm, Module *parentModule, int which) @@ -2402,18 +2397,15 @@ void Scene2208::drawRow(int16 rowIndex) {  }  static const int16 kScene2242XPositions[] = { -	68,  -	158 +	68, 158  };  static const uint32 kScene2242MessageListIds2[] = { -	0x004B3CB8, -	0x004B3CD8 +	0x004B3CB8, 0x004B3CD8  };  static const uint32 kScene2242MessageListIds1[] = { -	0x004B3CF8, -	0x004B3D20 +	0x004B3CF8, 0x004B3D20  };  Scene2242::Scene2242(NeverhoodEngine *vm, Module *parentModule, int which) @@ -2520,33 +2512,18 @@ void Scene2242::readClickedColumn() {  }  static const int16 kHallOfRecordsKlaymanXPos[] = { -	68,  -	157,  -	246,  -	335,  -	424,  -	513,  -	602 +	 68, 157, 246, 335,  +	424, 513, 602  };  static const uint32 kHallOfRecordsSceneMessageListIds2[] = { -	0x004B2978, -	0x004B2998, -	0x004B29B8, -	0x004B29D8, -	0x004B29F8, -	0x004B2A18, -	0x004B2A38 +	0x004B2978,	0x004B2998,	0x004B29B8,	0x004B29D8, +	0x004B29F8,	0x004B2A18,	0x004B2A38  };  static const uint32 kHallOfRecordsSceneMessageListIds1[] = { -	0x004B2A58, -	0x004B2A80, -	0x004B2AA8, -	0x004B2AD0, -	0x004B2AF8, -	0x004B2B20, -	0x004B2B48 +	0x004B2A58,	0x004B2A80,	0x004B2AA8,	0x004B2AD0, +	0x004B2AF8,	0x004B2B20,	0x004B2B48  };  HallOfRecordsScene::HallOfRecordsScene(NeverhoodEngine *vm, Module *parentModule, int which, uint32 sceneInfo140Id) @@ -2629,18 +2606,15 @@ void HallOfRecordsScene::readClickedColumn() {  }  static const int16 kScene2247XPositions[] = { -	513, -	602 +	513, 602  };  static const uint32 kScene2247MessageListIds2[] = { -	0x004B54A0, -	0x004B54C0 +	0x004B54A0,	0x004B54C0  };  static const uint32 kScene2247MessageListIds1[] = { -	0x004B54E0, -	0x004B5508 +	0x004B54E0,	0x004B5508  };  Scene2247::Scene2247(NeverhoodEngine *vm, Module *parentModule, int which) diff --git a/engines/neverhood/module2200.h b/engines/neverhood/module2200.h index e869e4c89c..625990bfca 100644 --- a/engines/neverhood/module2200.h +++ b/engines/neverhood/module2200.h @@ -40,31 +40,20 @@ public:  protected:  	void createScene(int sceneNum, int which);  	void updateScene(); +	void createHallOfRecordsScene(int which, uint32 sceneInfo140Id);  };  // Scene2201 -static const NPoint kClass444Points[] = { -	{305, 305}, -	{321, 305}, -	{336, 305}, -	{305, 319}, -	{321, 319}, -	{336, 319}, -	{305, 332}, -	{321, 332}, +static const NPoint kSsScene2201PuzzleCubePoints[] = { +	{305, 305},	{321, 305},	{336, 305},	{305, 319}, +	{321, 319},	{336, 319},	{305, 332},	{321, 332},  	{336, 333}  }; -static const uint32 kClass444FileHashes[] = { -	0x88134A44, -	0xAA124340, -	0xB8124602, -	0xA902464C, -	0x890A4244, -	0xA8124642, -	0xB812C204, -	0x381A4A4C +static const uint32 kSsScene2201PuzzleCubeFileHashes[] = { +	0x88134A44,	0xAA124340,	0xB8124602,	0xA902464C, +	0x890A4244,	0xA8124642,	0xB812C204,	0x381A4A4C  };  class AsScene2201CeilingFan : public AnimatedSprite { @@ -74,10 +63,10 @@ public:  class AsScene2201Door : public AnimatedSprite {  public: -	AsScene2201Door(NeverhoodEngine *vm, Klayman *klayman, Sprite *doorLightSprite, bool flag1); +	AsScene2201Door(NeverhoodEngine *vm, Klayman *klayman, Sprite *ssDoorLight, bool flag1);  protected:  	Klayman *_klayman; -	Sprite *_doorLightSprite; +	Sprite *_ssDoorLight;  	bool _doorOpen;  	int _countdown;  	void update(); @@ -86,9 +75,9 @@ protected:  	void stCloseDoor();  }; -class Class444 : public StaticSprite { +class SsScene2201PuzzleCube : public StaticSprite {  public: -	Class444(NeverhoodEngine *vm, int pointIndex, int spriteIndex); +	SsScene2201PuzzleCube(NeverhoodEngine *vm, uint32 positionIndex, uint32 cubeIndex);  };  class Scene2201 : public Scene { @@ -97,11 +86,11 @@ public:  	~Scene2201();  protected:  	NRect _clipRects[2]; -	Sprite *_doorLightSprite; +	Sprite *_ssDoorLight;  	Sprite *_asDoor;  	Sprite *_ssDoorButton;  	Sprite *_asTape; -	bool _soundFlag; +	bool _isSoundPlaying;  	void update();  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender);  }; @@ -135,8 +124,8 @@ public:  	Scene2202(NeverhoodEngine *vm, Module *parentModule, int which);  	~Scene2202();  protected: -	Sprite *_movingTileSprite; -	Sprite *_doneMovingTileSprite; +	Sprite *_ssMovingTile; +	Sprite *_ssDoneMovingTile;  	bool _isTileMoving;  	int16 _movingTileIndex;  	int _surfacePriority; @@ -148,22 +137,22 @@ protected:  	bool testIsSolved();	  }; -class Class545 : public AnimatedSprite { +class AsCommonKey : public AnimatedSprite {  public: -	Class545(NeverhoodEngine *vm, Scene *parentScene, int index, int surfacePriority, int16 x, int16 y); +	AsCommonKey(NeverhoodEngine *vm, Scene *parentScene, int keyIndex, int surfacePriority, int16 x, int16 y);  protected:  	Scene *_parentScene; -	int _index; +	int _keyIndex;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender);  };  class AsScene2203Door : public AnimatedSprite {  public: -	AsScene2203Door(NeverhoodEngine *vm, Scene *parentScene, uint index); +	AsScene2203Door(NeverhoodEngine *vm, Scene *parentScene, uint doorIndex);  protected:  	Scene *_parentScene;  	Sprite *_otherDoor; -	uint _index; +	uint _doorIndex;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender);  	void openDoor();  	void closeDoor(); @@ -179,7 +168,7 @@ protected:  	Sprite *_ssSmallLeftDoor;  	Sprite *_ssSmallRightDoor;  	Sprite *_asTape; -	Sprite *_class545; +	Sprite *_asKey;  	NRect _leftDoorClipRect;  	NRect _rightDoorClipRect;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); @@ -204,30 +193,30 @@ protected:  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender);  }; -class Class603 : public StaticSprite { +class AsScene2206DoorSpikes : public StaticSprite {  public: -	Class603(NeverhoodEngine *vm, uint32 fileHash); +	AsScene2206DoorSpikes(NeverhoodEngine *vm, uint32 fileHash);  protected: -	int _index; +	int _deltaIndex;  	void update();  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); -	void spriteUpdate481E60(); -	void spriteUpdate481E90(); +	void suOpen(); +	void suClose();  }; -class Class604 : public StaticSprite { +class AsScene2206Platform : public StaticSprite {  public: -	Class604(NeverhoodEngine *vm, uint32 fileHash); +	AsScene2206Platform(NeverhoodEngine *vm, uint32 fileHash);  protected:  	int16 _yDelta;  	void update();  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); -	void spriteUpdate482020(); +	void suMoveDown();  }; -class Class607 : public StaticSprite { +class SsScene2206TestTube : public StaticSprite {  public: -	Class607(NeverhoodEngine *vm, Scene *parentScene, int surfacePriority, uint32 fileHash); +	SsScene2206TestTube(NeverhoodEngine *vm, Scene *parentScene, int surfacePriority, uint32 fileHash);  protected:  	Scene *_parentScene;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); @@ -241,14 +230,14 @@ protected:  	Sprite *_sprite1;  	Sprite *_sprite2;  	Sprite *_sprite3; -	Sprite *_sprite4; -	Sprite *_sprite5; -	Sprite *_class604; -	Sprite *_class607; +	Sprite *_asDoorSpikes; +	Sprite *_ssButton; +	Sprite *_asPlatform; +	Sprite *_ssTestTube;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); -	void sub481950(); -	void sub4819D0(); -	void sub481B00(); +	void klaymanInFrontSpikes(); +	void klaymanBehindSpikes(); +	void readClickedColumn();  };  class AsScene2207Elevator : public AnimatedSprite { diff --git a/engines/neverhood/module2400.cpp b/engines/neverhood/module2400.cpp index e2973ecc8a..5f1d5bbfbe 100644 --- a/engines/neverhood/module2400.cpp +++ b/engines/neverhood/module2400.cpp @@ -70,13 +70,13 @@ void Module2400::createScene(int sceneNum, int which) {  		createSmackerScene(0x20D80001, true, true, false);  		break;  	case 7: -		_childObject = new StaticScene(_vm, this, 0x81523218, 0x2321C81D); +		createStaticScene(0x81523218, 0x2321C81D);  		break;  	case 8: -		_childObject = new StaticScene(_vm, this, 0x08100210, 0x00214089); +		createStaticScene(0x08100210, 0x00214089);  		break;  	case 9: -		_childObject = new StaticScene(_vm, this, 0x8C020505, 0x205018C8); +		createStaticScene(0x8C020505, 0x205018C8);  		break;  	}  	SetUpdateHandler(&Module2400::updateScene); @@ -930,8 +930,8 @@ Scene2406::Scene2406(NeverhoodEngine *vm, Module *parentModule, int which)  	insertMouse433(0xB03001A8);  	if (getGlobalVar(0x13382860) == 2) { -		_class545 = insertSprite<Class545>(this, 2, 1100, 560, 409); -		_vm->_collisionMan->addSprite(_class545); +		_asKey = insertSprite<AsCommonKey>(this, 2, 1100, 560, 409); +		_vm->_collisionMan->addSprite(_asKey);  	}  	_asTape = insertSprite<AsScene1201Tape>(this, 5, 1100, 456, 409, 0x9148A011); @@ -1016,8 +1016,8 @@ uint32 Scene2406::handleMessage(int messageNum, const MessageParam ¶m, Entit  		if (sender == _asTape && !_flag1) {  			sendEntityMessage(_klayman, 0x1014, _asTape);  			setMessageList(0x004B77C8); -		} else if (sender == _class545 && !_flag1) { -			sendEntityMessage(_klayman, 0x1014, _class545); +		} else if (sender == _asKey && !_flag1) { +			sendEntityMessage(_klayman, 0x1014, _asKey);  			setMessageList(0x004B77D8);  		}  		break; diff --git a/engines/neverhood/module2400.h b/engines/neverhood/module2400.h index bbfa47d07a..2fa7a9a4be 100644 --- a/engines/neverhood/module2400.h +++ b/engines/neverhood/module2400.h @@ -162,7 +162,7 @@ protected:  	Sprite *_sprite2;  	Sprite *_ssButton;  	Sprite *_asTape; -	Sprite *_class545; +	Sprite *_asKey;  	Sprite *_asLightCord;  	bool _flag1;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); @@ -174,7 +174,7 @@ public:  protected:  	Sprite *_sprite1;  	Sprite *_asTape; -	Sprite *_class545; +	Sprite *_asKey;  	NRect _clipRects[2];  	bool _flag1;  	uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); diff --git a/engines/neverhood/module2500.cpp b/engines/neverhood/module2500.cpp index 26d0d88de1..978695d26c 100644 --- a/engines/neverhood/module2500.cpp +++ b/engines/neverhood/module2500.cpp @@ -126,9 +126,9 @@ void Module2500::createScene(int sceneNum, int which) {  		break;  	case 9:  		if (getGlobalVar(0xD0A14D10)) -			_childObject = new StaticScene(_vm, this, 0xC62A0645, 0xA0641C6A); +			createStaticScene(0xC62A0645, 0xA0641C6A);  		else -			_childObject = new StaticScene(_vm, this, 0x7A343546, 0x435427AB); +			createStaticScene(0x7A343546, 0x435427AB);  		break;  	}  	SetUpdateHandler(&Module2500::updateScene); diff --git a/engines/neverhood/module2700.cpp b/engines/neverhood/module2700.cpp index 7c93aa7c9a..ec0ddf00b3 100644 --- a/engines/neverhood/module2700.cpp +++ b/engines/neverhood/module2700.cpp @@ -267,7 +267,7 @@ void Module2700::createScene(int sceneNum, int which) {  		createScene2704(which, 0x004B1E60, 150);  		break;  	case 30: -		_childObject = new StaticScene(_vm, this, 0x09507248, 0x0724C09D); +		createStaticScene(0x09507248, 0x0724C09D);  		break;  	case 31:  //TODO		_childObject = new Scene2732(_vm, this, which); diff --git a/engines/neverhood/module2800.cpp b/engines/neverhood/module2800.cpp index 203854878a..95e2c3e1b6 100644 --- a/engines/neverhood/module2800.cpp +++ b/engines/neverhood/module2800.cpp @@ -70,7 +70,7 @@ void Module2800::createScene(int sceneNum, int which) {  		if (_flag) {  			_childObject = new Scene2802(_vm, this, which);  		} else { -			_childObject = new StaticScene(_vm, this, 0x000C6444, 0xC6440008); +			createStaticScene(0x000C6444, 0xC6440008);  		}  #endif		  		break; @@ -119,39 +119,39 @@ void Module2800::createScene(int sceneNum, int which) {  		break;  	case 12:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x0000A245, 0x0A241008); +		createStaticScene(0x0000A245, 0x0A241008);  		break;  	case 13:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x81C60635, 0x60631814); +		createStaticScene(0x81C60635, 0x60631814);  		break;  	case 14:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0xCA811204, 0x11200CA0); +		createStaticScene(0xCA811204, 0x11200CA0);  		break;  	case 15:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x2D438A00, 0x38A042DC); +		createStaticScene(0x2D438A00, 0x38A042DC);  		break;  	case 16:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x0A806204, 0x062000A0); +		createStaticScene(0x0A806204, 0x062000A0);  		break;  	case 17:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x010F9284, 0xF9280018); +		createStaticScene(0x010F9284, 0xF9280018);  		break;  	case 18:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x0100022B, 0x0022F018); +		createStaticScene(0x0100022B, 0x0022F018);  		break;  	case 19:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x10866205, 0x66201100); +		createStaticScene(0x10866205, 0x66201100);  		break;  	case 20:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x01C58000, 0x58004014); +		createStaticScene(0x01C58000, 0x58004014);  		break;  	case 21:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); @@ -159,22 +159,22 @@ void Module2800::createScene(int sceneNum, int which) {  		break;  	case 22:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x9408121E, 0x8121A948); +		createStaticScene(0x9408121E, 0x8121A948);  		break;  	case 23:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x048C0600, 0xC0604040); +		createStaticScene(0x048C0600, 0xC0604040);  		break;  	case 24:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); -		_childObject = new StaticScene(_vm, this, 0x04270A94, 0x70A9004A); +		createStaticScene(0x04270A94, 0x70A9004A);  		break;  	case 25:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2);  		if (getGlobalVar(0x190A1D18)) -			_childObject = new StaticScene(_vm, this, 0x01600204, 0x0020001E); +			createStaticScene(0x01600204, 0x0020001E);  		else -			_childObject = new StaticScene(_vm, this, 0x08611204, 0x1120008E); +			createStaticScene(0x08611204, 0x1120008E);  		break;  	case 26:  		_vm->_soundMan->startMusic(0xD2FA4D14, 0, 2); @@ -2987,8 +2987,8 @@ Scene2812::Scene2812(NeverhoodEngine *vm, Module *parentModule, int which)  	insertMouse433(0x0060203E);  	if (getGlobalVar(0x13382860) == 3) { -		_class545 = insertSprite<Class545>(this, 2, 1100, 474, 437); -		_vm->_collisionMan->addSprite(_class545); +		_asKey = insertSprite<AsCommonKey>(this, 2, 1100, 474, 437); +		_vm->_collisionMan->addSprite(_asKey);  	}  	_ssTape = insertSprite<SsScene1705Tape>(this, 6, 1100, 513, 437, 0xA1361863); @@ -3071,8 +3071,8 @@ uint32 Scene2812::handleMessage(int messageNum, const MessageParam ¶m, Entit  		if (sender == _ssTape && !_flag1) {  			sendEntityMessage(_klayman, 0x1014, _ssTape);  			setMessageList(0x004AF658); -		} else if (sender == _class545 && !_flag1) { -			sendEntityMessage(_klayman, 0x1014, _class545); +		} else if (sender == _asKey && !_flag1) { +			sendEntityMessage(_klayman, 0x1014, _asKey);  			setMessageList(0x004AF668);  		}  		break; diff --git a/engines/neverhood/module2800.h b/engines/neverhood/module2800.h index 1027a6fa6b..63177832ab 100644 --- a/engines/neverhood/module2800.h +++ b/engines/neverhood/module2800.h @@ -462,7 +462,7 @@ protected:  	Sprite *_sprite2;  	Sprite *_sprite4;  	Sprite *_ssTape; -	Sprite *_class545; +	Sprite *_asKey;  	Sprite *_sprite1;  	bool _flag1;  	int _palStatus;  | 
