aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorjohndoe1232012-10-08 10:58:00 +0000
committerWillem Jan Palenstijn2013-05-08 20:44:39 +0200
commit4c421a09c8f8cdc4455f3644e7ea7fbf0bbb95fc (patch)
tree09132f80665676c48d8e4d03449fe3614d8c9ccf /engines
parent483d76d635dac1ea4418a4ab6cbb639e9314a0c7 (diff)
downloadscummvm-rg350-4c421a09c8f8cdc4455f3644e7ea7fbf0bbb95fc.tar.gz
scummvm-rg350-4c421a09c8f8cdc4455f3644e7ea7fbf0bbb95fc.tar.bz2
scummvm-rg350-4c421a09c8f8cdc4455f3644e7ea7fbf0bbb95fc.zip
NEVERHOOD: Add clipRects to all Klayman subclasses
- Rename stuff in Module2400 - Move some temp sprites from class scope to local scope in the respective constructors
Diffstat (limited to 'engines')
-rw-r--r--engines/neverhood/gamemodule.cpp4
-rw-r--r--engines/neverhood/klayman.cpp13
-rw-r--r--engines/neverhood/klayman.h2
-rw-r--r--engines/neverhood/module2400.cpp72
-rw-r--r--engines/neverhood/module2400.h8
5 files changed, 52 insertions, 47 deletions
diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp
index 190934f91b..7fa6906399 100644
--- a/engines/neverhood/gamemodule.cpp
+++ b/engines/neverhood/gamemodule.cpp
@@ -309,8 +309,8 @@ void GameModule::startup() {
#if 1
- _vm->gameState().sceneNum = 1;
- createModule(2300, -1);
+ _vm->gameState().sceneNum = 2;
+ createModule(2400, -1);
#endif
#if 0
_vm->gameState().sceneNum = 0;
diff --git a/engines/neverhood/klayman.cpp b/engines/neverhood/klayman.cpp
index 82c6114d5d..90ba8aab4c 100644
--- a/engines/neverhood/klayman.cpp
+++ b/engines/neverhood/klayman.cpp
@@ -5420,7 +5420,9 @@ uint32 KmScene2403::xHandleMessage(int messageNum, const MessageParam &param) {
KmScene2406::KmScene2406(NeverhoodEngine *vm, Entity *parentScene, int16 x, int16 y, NRect *clipRects, int clipRectsCount)
: Klayman(vm, parentScene, x, y, 1000, 1000) {
- // TODO Cliprects
+
+ _surface->setClipRects(clipRects, clipRectsCount);
+
}
uint32 KmScene2406::xHandleMessage(int messageNum, const MessageParam &param) {
@@ -5635,7 +5637,8 @@ uint32 KmScene2801::xHandleMessage(int messageNum, const MessageParam &param) {
KmScene2803::KmScene2803(NeverhoodEngine *vm, Entity *parentScene, int16 x, int16 y, NRect *clipRects, int clipRectsCount)
: Klayman(vm, parentScene, x, y, 1000, 1000) {
- // TODO ClipRects stuff
+ _surface->setClipRects(clipRects, clipRectsCount);
+
_dataResource.load(0x00900849);
}
@@ -5808,6 +5811,8 @@ KmScene2806::KmScene2806(NeverhoodEngine *vm, Entity *parentScene, int16 x, int1
: Klayman(vm, parentScene, x, y, 1000, 1000) {
// Empty
+ _surface->setClipRects(clipRects, clipRectsCount);
+
if (flag) {
// TODO Maybe? Don't know. Set Klayman clip rects
loadSound(3, 0x58E0C341);
@@ -5866,6 +5871,8 @@ KmScene2809::KmScene2809(NeverhoodEngine *vm, Entity *parentScene, int16 x, int1
bool flag, NRect *clipRects, uint clipRectsCount)
: Klayman(vm, parentScene, x, y, 1000, 1000) {
+ _surface->setClipRects(clipRects, clipRectsCount);
+
if (flag) {
// TODO Maybe? Don't know. Set Klayman clip rects
loadSound(3, 0x58E0C341);
@@ -5973,7 +5980,7 @@ uint32 KmScene2810Small::xHandleMessage(int messageNum, const MessageParam &para
KmScene2810::KmScene2810(NeverhoodEngine *vm, Entity *parentScene, int16 x, int16 y, NRect *clipRects, uint clipRectsCount)
: Klayman(vm, parentScene, x, y, 1000, 1000) {
- // TODO ClipRects stuff
+ _surface->setClipRects(clipRects, clipRectsCount);
}
diff --git a/engines/neverhood/klayman.h b/engines/neverhood/klayman.h
index b83eb142f6..90e71de22d 100644
--- a/engines/neverhood/klayman.h
+++ b/engines/neverhood/klayman.h
@@ -413,7 +413,7 @@ protected:
Sprite *_otherSprite;
int _idleTableNum;
- int16 _walkResumeFrameIncr;
+ int16 _walkResumeFrameIncr;
int _moveObjectCountdown;
diff --git a/engines/neverhood/module2400.cpp b/engines/neverhood/module2400.cpp
index 5f1d5bbfbe..3b6c6bb8cf 100644
--- a/engines/neverhood/module2400.cpp
+++ b/engines/neverhood/module2400.cpp
@@ -720,7 +720,9 @@ uint32 AsScene2402TV::hmJoke(int messageNum, const MessageParam &param, Entity *
Scene2402::Scene2402(NeverhoodEngine *vm, Module *parentModule, int which)
: Scene(vm, parentModule, true), _countdown(0), _soundToggle(false) {
-
+
+ Sprite *tempSprite;
+
_surfaceFlag = true;
SetMessageHandler(&Scene2402::handleMessage);
SetUpdateHandler(&Scene2402::update);
@@ -748,9 +750,9 @@ Scene2402::Scene2402(NeverhoodEngine *vm, Module *parentModule, int which)
setMessageList(0x004AF7D0);
}
- _sprite1 = insertStaticSprite(0x081A60A8, 1100);
+ tempSprite = insertStaticSprite(0x081A60A8, 1100);
_ssDoorFrame = (StaticSprite*)insertStaticSprite(0x406C0AE0, 1100);
- _klayman->setClipRect(_ssDoorFrame->getDrawRect().x, 0, 639, _sprite1->getDrawRect().y2());
+ _klayman->setClipRect(_ssDoorFrame->getDrawRect().x, 0, 639, tempSprite->getDrawRect().y2());
_asDoor = insertSprite<AsScene2402Door>(this, which == 1/*CHECKME or != ?*/);
insertSprite<AsScene2402TV>(_klayman);
insertStaticSprite(0x3A01A020, 200);
@@ -823,7 +825,7 @@ void Scene2402::playPipeSound(uint32 fileHash) {
Scene2403::Scene2403(NeverhoodEngine *vm, Module *parentModule, int which)
: Scene(vm, parentModule, true) {
- Sprite *tempSprite;
+ Sprite *tempSprite1, *tempSprite2, *tempSprite3;
_surfaceFlag = true;
SetMessageHandler(&Scene2403::handleMessage);
@@ -837,34 +839,34 @@ Scene2403::Scene2403(NeverhoodEngine *vm, Module *parentModule, int which)
_asLightCord->setClipRect(0, 25, 640, 480);
if (which < 0) {
- _flag1 = false;
+ _isClimbingLadder = false;
insertKlayman<KmScene2403>(220, 449);
setMessageList(0x004B5C98);
setRectList(0x004B5E18);
} else if (which == 1) {
- _flag1 = false;
+ _isClimbingLadder = false;
insertKlayman<KmScene2403>(433, 449);
setMessageList(0x004B5D70);
setRectList(0x004B5E18);
} else if (which == 2) {
- _flag1 = false;
+ _isClimbingLadder = false;
insertKlayman<KmScene2403>(440, 449);
_klayman->setDoDeltaX(1);
setMessageList(0x004B5C98);
setRectList(0x004B5E18);
} else {
- _flag1 = true;
+ _isClimbingLadder = true;
insertKlayman<KmScene2403>(122, 599);
setMessageList(0x004B5CA0);
setRectList(0x004B5E28);
}
_ssButton = insertSprite<SsCommonButtonSprite>(this, 0x3130B0EB, 100, 0);
- _sprite1 = insertStaticSprite(0x20C24220, 1100);
- _sprite2 = insertStaticSprite(0x03080900, 1300);
- tempSprite = insertSprite<AsScene1002KlaymanLadderHands>(_klayman);
- tempSprite->setClipRect(_sprite1->getDrawRect().x, 0, 640, _sprite2->getDrawRect().y2());
- _klayman->setClipRect(_sprite1->getDrawRect().x, 0, 640, _sprite2->getDrawRect().y2());
+ tempSprite1 = insertStaticSprite(0x20C24220, 1100);
+ tempSprite2 = insertStaticSprite(0x03080900, 1300);
+ tempSprite3 = insertSprite<AsScene1002KlaymanLadderHands>(_klayman);
+ tempSprite3->setClipRect(tempSprite1->getDrawRect().x, 0, 640, tempSprite2->getDrawRect().y2());
+ _klayman->setClipRect(tempSprite1->getDrawRect().x, 0, 640, tempSprite2->getDrawRect().y2());
loadSound(1, calcHash("fxFogHornSoft"));
@@ -881,11 +883,11 @@ uint32 Scene2403::handleMessage(int messageNum, const MessageParam &param, Entit
}
break;
case 0x2000:
- _flag1 = true;
+ _isClimbingLadder = true;
setRectList(0x004B5E28);
break;
case 0x2001:
- _flag1 = false;
+ _isClimbingLadder = false;
setRectList(0x004B5E18);
break;
case 0x480B:
@@ -905,7 +907,7 @@ uint32 Scene2403::handleMessage(int messageNum, const MessageParam &param, Entit
}
break;
case 0x4826:
- if (sender == _asTape && !_flag1) {
+ if (sender == _asTape && !_isClimbingLadder) {
sendEntityMessage(_klayman, 0x1014, _asTape);
setMessageList(0x004B5D98);
}
@@ -917,7 +919,7 @@ uint32 Scene2403::handleMessage(int messageNum, const MessageParam &param, Entit
Scene2406::Scene2406(NeverhoodEngine *vm, Module *parentModule, int which)
: Scene(vm, parentModule, true) {
- Sprite *tempSprite;
+ Sprite *tempSprite1, *tempSprite2;
if (getGlobalVar(0xC0780812) && getGlobalVar(0x13382860) == 0) {
setGlobalVar(0x13382860, 2);
@@ -937,58 +939,58 @@ Scene2406::Scene2406(NeverhoodEngine *vm, Module *parentModule, int which)
_asTape = insertSprite<AsScene1201Tape>(this, 5, 1100, 456, 409, 0x9148A011);
_vm->_collisionMan->addSprite(_asTape);
- tempSprite = insertStaticSprite(0x19625293, 1100);
+ tempSprite2 = insertStaticSprite(0x19625293, 1100);
_clipRects[0].x1 = 0;
_clipRects[0].y1 = 0;
- _clipRects[0].x2 = tempSprite->getDrawRect().x2();
+ _clipRects[0].x2 = tempSprite2->getDrawRect().x2();
_clipRects[0].y2 = 480;
if (getGlobalVar(0x18890C91)) {
setBackground(0x1A0B0304);
setPalette(0x1A0B0304);
- _sprite1 = insertStaticSprite(0x32923922, 1100);
+ tempSprite1 = insertStaticSprite(0x32923922, 1100);
} else {
setBackground(0x0A038595);
setPalette(0x0A038595);
- _sprite1 = insertStaticSprite(0x1712112A, 1100);
+ tempSprite1 = insertStaticSprite(0x1712112A, 1100);
}
- tempSprite = insertStaticSprite(0x22300924, 1300);
+ tempSprite2 = insertStaticSprite(0x22300924, 1300);
- _clipRects[1].x1 = _sprite1->getDrawRect().x;
- _clipRects[1].y1 = tempSprite->getDrawRect().y;
+ _clipRects[1].x1 = tempSprite1->getDrawRect().x;
+ _clipRects[1].y1 = tempSprite2->getDrawRect().y;
_clipRects[1].x2 = 640;
_clipRects[1].y2 = 480;
if (which < 0) {
- _flag1 = false;
+ _isClimbingLadder = false;
insertKlayman<KmScene2406>(307, 404, _clipRects, 2);
setMessageList(0x004B76C8);
setRectList(0x004B78C8);
} else if (which == 1) {
- _flag1 = true;
+ _isClimbingLadder = true;
insertKlayman<KmScene2406>(253, -16, _clipRects, 2);
setMessageList(0x004B76D8);
setRectList(0x004B78D8);
} else if (which == 2) {
- _flag1 = false;
+ _isClimbingLadder = false;
insertKlayman<KmScene2406>(480, 404, _clipRects, 2);
setMessageList(0x004B77C0);
setRectList(0x004B78C8);
} else if (which == 3) {
- _flag1 = false;
+ _isClimbingLadder = false;
insertKlayman<KmScene2406>(387, 404, _clipRects, 2);
setMessageList(0x004B7810);
setRectList(0x004B78C8);
} else {
- _flag1 = false;
+ _isClimbingLadder = false;
insertKlayman<KmScene2406>(0, 404, _clipRects, 2);
setMessageList(0x004B76D0);
setRectList(0x004B78C8);
}
- tempSprite = insertSprite<AsScene1002KlaymanLadderHands>(_klayman);
- tempSprite->setClipRect(_clipRects[1]);
+ tempSprite2 = insertSprite<AsScene1002KlaymanLadderHands>(_klayman);
+ tempSprite2->setClipRect(_clipRects[1]);
}
@@ -1005,18 +1007,18 @@ uint32 Scene2406::handleMessage(int messageNum, const MessageParam &param, Entit
}
break;
case 0x2000:
- _flag1 = true;
+ _isClimbingLadder = true;
setRectList(0x004B78D8);
break;
case 0x2001:
- _flag1 = false;
+ _isClimbingLadder = false;
setRectList(0x004B78C8);
break;
case 0x4826:
- if (sender == _asTape && !_flag1) {
+ if (sender == _asTape && !_isClimbingLadder) {
sendEntityMessage(_klayman, 0x1014, _asTape);
setMessageList(0x004B77C8);
- } else if (sender == _asKey && !_flag1) {
+ } else if (sender == _asKey && !_isClimbingLadder) {
sendEntityMessage(_klayman, 0x1014, _asKey);
setMessageList(0x004B77D8);
}
diff --git a/engines/neverhood/module2400.h b/engines/neverhood/module2400.h
index 2fa7a9a4be..8074c58dba 100644
--- a/engines/neverhood/module2400.h
+++ b/engines/neverhood/module2400.h
@@ -141,7 +141,6 @@ public:
Scene2402(NeverhoodEngine *vm, Module *parentModule, int which);
virtual ~Scene2402();
protected:
- Sprite *_sprite1;
Sprite *_asDoor;
Sprite *_ssButton;
Sprite *_asTape;
@@ -158,13 +157,11 @@ class Scene2403 : public Scene {
public:
Scene2403(NeverhoodEngine *vm, Module *parentModule, int which);
protected:
- Sprite *_sprite1;
- Sprite *_sprite2;
Sprite *_ssButton;
Sprite *_asTape;
Sprite *_asKey;
Sprite *_asLightCord;
- bool _flag1;
+ bool _isClimbingLadder;
uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
};
@@ -172,11 +169,10 @@ class Scene2406 : public Scene {
public:
Scene2406(NeverhoodEngine *vm, Module *parentModule, int which);
protected:
- Sprite *_sprite1;
Sprite *_asTape;
Sprite *_asKey;
NRect _clipRects[2];
- bool _flag1;
+ bool _isClimbingLadder;
uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
};