aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/module1300.cpp
diff options
context:
space:
mode:
authorjohndoe1232011-09-20 07:48:17 +0000
committerWillem Jan Palenstijn2013-05-08 20:39:40 +0200
commit1b2d496d186c6f838526f51f7d0b3eea70a8b322 (patch)
treef662cfe080ff5fce0d08549554eb41019f78e4e7 /engines/neverhood/module1300.cpp
parent2f670690bc1febbd402a5743f400c4463af7ebc7 (diff)
downloadscummvm-rg350-1b2d496d186c6f838526f51f7d0b3eea70a8b322.tar.gz
scummvm-rg350-1b2d496d186c6f838526f51f7d0b3eea70a8b322.tar.bz2
scummvm-rg350-1b2d496d186c6f838526f51f7d0b3eea70a8b322.zip
NEVERHOOD: Try to clean up the clipRect stuff a little
Diffstat (limited to 'engines/neverhood/module1300.cpp')
-rw-r--r--engines/neverhood/module1300.cpp72
1 files changed, 18 insertions, 54 deletions
diff --git a/engines/neverhood/module1300.cpp b/engines/neverhood/module1300.cpp
index 8f3483ad20..48a8b54e66 100644
--- a/engines/neverhood/module1300.cpp
+++ b/engines/neverhood/module1300.cpp
@@ -430,18 +430,15 @@ Scene1302::Scene1302(NeverhoodEngine *vm, Module *parentModule, int which)
_sprite2->setVisible(false);
_sprite3 = insertStaticSprite(0x16E01E20, 1100);
- _asRing1 = addSprite(new AsScene1002Ring(_vm, this, false, 218, 122, _class595->getSurface()->getDrawRect().y, false));
- _asRing2 = addSprite(new AsScene1002Ring(_vm, this, true, 218 + 32, 132, _class595->getSurface()->getDrawRect().y, getGlobalVar(0x13206309)));
- _asRing3 = addSprite(new AsScene1002Ring(_vm, this, false, 218 + 32 + 32, 122, _class595->getSurface()->getDrawRect().y, false));
- _asRing4 = addSprite(new AsScene1002Ring(_vm, this, true, 218 + 32 + 32 + 32, 132, _class595->getSurface()->getDrawRect().y, getGlobalVar(0x80101B1E)));
- _asRing5 = addSprite(new AsScene1002Ring(_vm, this, false, 218 + 32 + 32 + 32 + 32, 115, _class595->getSurface()->getDrawRect().y, false));
+ _asRing1 = addSprite(new AsScene1002Ring(_vm, this, false, 218, 122, _class595->getDrawRect().y, false));
+ _asRing2 = addSprite(new AsScene1002Ring(_vm, this, true, 218 + 32, 132, _class595->getDrawRect().y, getGlobalVar(0x13206309)));
+ _asRing3 = addSprite(new AsScene1002Ring(_vm, this, false, 218 + 32 + 32, 122, _class595->getDrawRect().y, false));
+ _asRing4 = addSprite(new AsScene1002Ring(_vm, this, true, 218 + 32 + 32 + 32, 132, _class595->getDrawRect().y, getGlobalVar(0x80101B1E)));
+ _asRing5 = addSprite(new AsScene1002Ring(_vm, this, false, 218 + 32 + 32 + 32 + 32, 115, _class595->getDrawRect().y, false));
_asBridge = addSprite(new AsScene1302Bridge(_vm, this));
_ssFence = addSprite(new SsScene1302Fence(_vm));
- _ssFence->getSurface()->getClipRect().x1 = 0;
- _ssFence->getSurface()->getClipRect().y1 = 0;
- _ssFence->getSurface()->getClipRect().x2 = 640;
- _ssFence->getSurface()->getClipRect().y2 = _sprite1->getSurface()->getDrawRect().y + _sprite1->getSurface()->getDrawRect().height;
+ _ssFence->setClipRect(0, 0, 640, _sprite1->getDrawRect().y2());
if (which < 0) {
InsertKlaymanInitArgs(KmScene1002, 380, 364, (_class595, NULL));
@@ -451,10 +448,7 @@ Scene1302::Scene1302(NeverhoodEngine *vm, Module *parentModule, int which)
setMessageList(0x004B0870);
}
- _klayman->getSurface()->getClipRect().x1 = 0;
- _klayman->getSurface()->getClipRect().y1 = 0;
- _klayman->getSurface()->getClipRect().x2 = _sprite3->getSurface()->getDrawRect().x + _sprite3->getSurface()->getDrawRect().width;
- _klayman->getSurface()->getClipRect().y2 = 480;
+ _klayman->setClipRect(0, 0, _sprite3->getDrawRect().x2(), 480);
_asVenusFlyTrap = addSprite(new AsScene1002VenusFlyTrap(_vm, this, _klayman, true));
_vm->_collisionMan->addSprite(_asVenusFlyTrap);
@@ -658,10 +652,7 @@ Scene1303::Scene1303(NeverhoodEngine *vm, Module *parentModule, int which)
InsertKlayman(KmScene1303, 207, 332);
setMessageList(0x004AF9A0);
- _klayman->getSurface()->getClipRect().x1 = _sprite1->getSurface()->getDrawRect().x;
- _klayman->getSurface()->getClipRect().y1 = 0;
- _klayman->getSurface()->getClipRect().x2 = 640;
- _klayman->getSurface()->getClipRect().y2 = 480;
+ _klayman->setClipRect(_sprite1->getDrawRect().x, 0, 640, 480);
}
@@ -746,10 +737,7 @@ Scene1304::Scene1304(NeverhoodEngine *vm, Module *parentModule, int which)
setMessageList(0x004B90F0);
}
- _klayman->getSurface()->getClipRect().x1 = _sprite1->getSurface()->getDrawRect().x;
- _klayman->getSurface()->getClipRect().y1 = 0;
- _klayman->getSurface()->getClipRect().x2 = 640;
- _klayman->getSurface()->getClipRect().y2 = 480;
+ _klayman->setClipRect(_sprite1->getDrawRect().x, 0, 640, 480);
}
@@ -1236,7 +1224,7 @@ void AsScene1307Key::stRemoveKey() {
void AsScene1307Key::stInsertKey() {
_pointIndex = 0;
sendMessage(_parentScene, 0x1022, kAsScene1307KeySurfacePriorities[getSubVar(0xA010B810, _index) % 4]);
- _surface->getClipRect() = _clipRects[getSubVar(0xA010B810, _index) % 4];
+ setClipRect(_clipRects[getSubVar(0xA010B810, _index) % 4]);
SetSpriteCallback(&AsScene1307Key::suInsertKey);
_newHashListIndex = -2;
}
@@ -1246,10 +1234,7 @@ void AsScene1307Key::stMoveKey() {
int16 newX = pt.x + kAsScene1307KeyXDelta;
int16 newY = pt.y + kAsScene1307KeyYDelta;
sendMessage(_parentScene, 0x1022, 1000);
- _surface->getClipRect().x1 = 0;
- _surface->getClipRect().y1 = 0;
- _surface->getClipRect().x2 = 640;
- _surface->getClipRect().y2 = 480;
+ setClipRect(0, 0, 640, 480);
_prevX = _x;
_prevY = _y;
if (newX == _x && newY == _y) {
@@ -1311,28 +1296,16 @@ Scene1307::Scene1307(NeverhoodEngine *vm, Module *parentModule, int which)
insertMouse435(0x06204A88, 20, 620);
tempSprite = insertStaticSprite(0x00A3621C, 800);
- _clipRects[0].x1 = tempSprite->getSurface()->getDrawRect().x;
- _clipRects[0].y1 = 0;
- _clipRects[0].x2 = 640;
- _clipRects[0].y2 = 480;
+ _clipRects[0].set(tempSprite->getDrawRect().x, 0, 640, 480);
tempSprite = insertStaticSprite(0x00A3641C, 600);
- _clipRects[1].x1 = tempSprite->getSurface()->getDrawRect().x;
- _clipRects[1].y1 = 0;
- _clipRects[1].x2 = 640;
- _clipRects[1].y2 = 480;
+ _clipRects[1].set(tempSprite->getDrawRect().x, 0, 640, 480);
tempSprite = insertStaticSprite(0x00A3681C, 400);
- _clipRects[2].x1 = tempSprite->getSurface()->getDrawRect().x;
- _clipRects[2].y1 = 0;
- _clipRects[2].x2 = 640;
- _clipRects[2].y2 = 480;
+ _clipRects[2].set(tempSprite->getDrawRect().x, 0, 640, 480);
tempSprite = insertStaticSprite(0x00A3701C, 200);
- _clipRects[3].x1 = tempSprite->getSurface()->getDrawRect().x;
- _clipRects[3].y1 = 0;
- _clipRects[3].x2 = 640;
- _clipRects[3].y2 = 480;
+ _clipRects[3].set(tempSprite->getDrawRect().x, 0, 640, 480);
for (uint keyIndex = 0; keyIndex < 3; keyIndex++) {
if (getSubVar(0x08D0AB11, keyIndex)) {
@@ -1693,25 +1666,16 @@ Scene1308::Scene1308(NeverhoodEngine *vm, Module *parentModule, int which)
}
if (_sprite4) {
- _klayman->getSurface()->getClipRect().x1 = _sprite1->getSurface()->getDrawRect().x;
- _klayman->getSurface()->getClipRect().y1 = 0;
- _klayman->getSurface()->getClipRect().x2 = _sprite4->getSurface()->getDrawRect().x + _sprite4->getSurface()->getDrawRect().width;
- _klayman->getSurface()->getClipRect().y2 = 480;
+ _klayman->setClipRect(_sprite1->getDrawRect().x, 0, _sprite4->getDrawRect().x2(), 480);
} else {
- _klayman->getSurface()->getClipRect().x1 = _sprite1->getSurface()->getDrawRect().x;
- _klayman->getSurface()->getClipRect().y1 = 0;
- _klayman->getSurface()->getClipRect().x2 = 640;
- _klayman->getSurface()->getClipRect().y2 = 480;
+ _klayman->setClipRect(_sprite1->getDrawRect().x, 0, 640, 480);
}
if (getGlobalVar(0x04A105B3) == 4) {
_class489 = new Class489(_vm, this, _klayman, 0);
addSprite(_class489);
_vm->_collisionMan->addSprite(_class489);
- _class489->getSurface()->getClipRect().x1 = 0;
- _class489->getSurface()->getClipRect().y1 = 0;
- _class489->getSurface()->getClipRect().x2 = 0;
- _class489->getSurface()->getClipRect().y2 = _sprite2->getSurface()->getDrawRect().y + _sprite2->getSurface()->getDrawRect().height;
+ _class489->setClipRect(0, 0, 640, _sprite2->getDrawRect().y2());
_class489->setRepl(64, 0);
} else {
_class489 = NULL;