aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood
diff options
context:
space:
mode:
authorjohndoe1232012-10-22 13:00:41 +0000
committerWillem Jan Palenstijn2013-05-08 20:47:33 +0200
commitf24a6769c2bf376def72274d6ed94c786ca03766 (patch)
tree9100e2175403497e7e0f815f4fad3ef81e422d4c /engines/neverhood
parent9ba7a7f1a143e20eefdc47555840d4175103986b (diff)
downloadscummvm-rg350-f24a6769c2bf376def72274d6ed94c786ca03766.tar.gz
scummvm-rg350-f24a6769c2bf376def72274d6ed94c786ca03766.tar.bz2
scummvm-rg350-f24a6769c2bf376def72274d6ed94c786ca03766.zip
NEVERHOOD: Make use of NDrawRect::set
Diffstat (limited to 'engines/neverhood')
-rw-r--r--engines/neverhood/diskplayerscene.cpp5
-rw-r--r--engines/neverhood/menumodule.cpp5
-rw-r--r--engines/neverhood/module1000.cpp30
-rw-r--r--engines/neverhood/module1100.cpp9
-rw-r--r--engines/neverhood/module1200.cpp11
-rw-r--r--engines/neverhood/module2200.cpp34
-rw-r--r--engines/neverhood/module2500.cpp5
-rw-r--r--engines/neverhood/module2800.cpp35
-rw-r--r--engines/neverhood/module2900.cpp25
-rw-r--r--engines/neverhood/module3000.cpp45
-rw-r--r--engines/neverhood/sprite.cpp10
11 files changed, 48 insertions, 166 deletions
diff --git a/engines/neverhood/diskplayerscene.cpp b/engines/neverhood/diskplayerscene.cpp
index e9813e61a3..75755ddeee 100644
--- a/engines/neverhood/diskplayerscene.cpp
+++ b/engines/neverhood/diskplayerscene.cpp
@@ -198,10 +198,7 @@ DiskplayerPlayButton::DiskplayerPlayButton(NeverhoodEngine *vm, DiskplayerScene
_spriteResource.load2(0x24A4A664);
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_collisionBoundsOffset = _drawOffset;
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
diff --git a/engines/neverhood/menumodule.cpp b/engines/neverhood/menumodule.cpp
index e22a668912..2e7f85d98c 100644
--- a/engines/neverhood/menumodule.cpp
+++ b/engines/neverhood/menumodule.cpp
@@ -166,10 +166,7 @@ MainMenuButton::MainMenuButton(NeverhoodEngine *vm, Scene *parentScene, uint but
_spriteResource.load2(kMainMenuButtonFileHashes[_buttonIndex]);
createSurface(100, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
diff --git a/engines/neverhood/module1000.cpp b/engines/neverhood/module1000.cpp
index 72cf0ede77..ff26d17467 100644
--- a/engines/neverhood/module1000.cpp
+++ b/engines/neverhood/module1000.cpp
@@ -618,10 +618,7 @@ AsScene1002Door::AsScene1002Door(NeverhoodEngine *vm, NRect &clipRect)
_y = 239;
}
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_needRefresh = true;
@@ -771,10 +768,7 @@ SsCommonPressButton::SsCommonPressButton(NeverhoodEngine *vm, Scene *parentScene
_spriteResource.load2(fileHash1);
createSurface(surfacePriority, 40, 40);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
@@ -791,20 +785,14 @@ void SsCommonPressButton::setFileHashes(uint32 fileHash1, uint32 fileHash2) {
_fileHashes[1] = fileHash2;
if (_status == 2) {
_spriteResource.load2(fileHash2);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_needRefresh = true;
StaticSprite::update();
} else {
_spriteResource.load2(fileHash1);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_needRefresh = true;
@@ -817,10 +805,7 @@ void SsCommonPressButton::update() {
if (_status == 1) {
_status = 2;
_spriteResource.load2(_fileHashes[1]);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_needRefresh = true;
@@ -829,10 +814,7 @@ void SsCommonPressButton::update() {
} else if (_status == 2) {
_status = 3;
_spriteResource.load2(_fileHashes[0]);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_needRefresh = true;
diff --git a/engines/neverhood/module1100.cpp b/engines/neverhood/module1100.cpp
index e746be7184..d21e3af2da 100644
--- a/engines/neverhood/module1100.cpp
+++ b/engines/neverhood/module1100.cpp
@@ -306,8 +306,8 @@ SsScene1105Symbol::SsScene1105Symbol(NeverhoodEngine *vm, uint32 fileHash, int16
_x = x;
_y = y;
- _drawOffset.x = -(_spriteResource.getDimensions().width / 2);
- _drawOffset.y = -(_spriteResource.getDimensions().height / 2);
+ _drawOffset.set(-(_spriteResource.getDimensions().width / 2), -(_spriteResource.getDimensions().height / 2),
+ _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
StaticSprite::update();
}
@@ -406,10 +406,7 @@ SsScene1105OpenButton::SsScene1105OpenButton(NeverhoodEngine *vm, Scene *parentS
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_collisionBoundsOffset = _drawOffset;
_needRefresh = true;
updateBounds();
diff --git a/engines/neverhood/module1200.cpp b/engines/neverhood/module1200.cpp
index bf4f1dff41..52375881bc 100644
--- a/engines/neverhood/module1200.cpp
+++ b/engines/neverhood/module1200.cpp
@@ -172,18 +172,13 @@ SsScene1201Tnt::SsScene1201Tnt(NeverhoodEngine *vm, uint32 elemIndex, uint32 poi
_spriteResource.load2(kScene1201TntFileHashList1[elemIndex]);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
} else {
_spriteResource.load2(kScene1201TntFileHashList2[elemIndex]);
_x = x;
_y = y;
- _drawOffset.x = -(_spriteResource.getDimensions().width / 2);
- _drawOffset.y = -_spriteResource.getDimensions().height;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(-(_spriteResource.getDimensions().width / 2), -_spriteResource.getDimensions().height,
+ _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
}
createSurface(50, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
diff --git a/engines/neverhood/module2200.cpp b/engines/neverhood/module2200.cpp
index b746d51cb3..06cdc1009b 100644
--- a/engines/neverhood/module2200.cpp
+++ b/engines/neverhood/module2200.cpp
@@ -490,10 +490,8 @@ SsScene2201PuzzleCube::SsScene2201PuzzleCube(NeverhoodEngine *vm, uint32 positio
_spriteResource.load2(kSsScene2201PuzzleCubeFileHashes[cubeIndex]);
createSurface(100, 16, 16);
- _drawOffset.x = -(_spriteResource.getDimensions().width / 2);
- _drawOffset.y = -(_spriteResource.getDimensions().height / 2);
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(-(_spriteResource.getDimensions().width / 2), -(_spriteResource.getDimensions().height / 2),
+ _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = kSsScene2201PuzzleCubePoints[positionIndex].x;
_y = kSsScene2201PuzzleCubePoints[positionIndex].y;
_needRefresh = true;
@@ -683,10 +681,8 @@ SsScene2202PuzzleTile::SsScene2202PuzzleTile(NeverhoodEngine *vm, Scene *parentS
} else {
createSurface(500, 128, 128);
}
- _drawOffset.x = -(_spriteResource.getDimensions().width / 2);
- _drawOffset.y = -(_spriteResource.getDimensions().height / 2);
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(-(_spriteResource.getDimensions().width / 2), -(_spriteResource.getDimensions().height / 2),
+ _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_collisionBoundsOffset = _drawOffset;
_x = kSsScene2202PuzzleTilePoints[_tileIndex].x;
_y = kSsScene2202PuzzleTilePoints[_tileIndex].y;
@@ -792,10 +788,8 @@ void SsScene2202PuzzleTile::suMoveTileY() {
void SsScene2202PuzzleTile::moveTile(int16 newTileIndex) {
_spriteResource.load2(kSsScene2202PuzzleTileFileHashes1[_value]);
- _drawOffset.x = -(_spriteResource.getDimensions().width / 2);
- _drawOffset.y = -(_spriteResource.getDimensions().height / 2);
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(-(_spriteResource.getDimensions().width / 2), -(_spriteResource.getDimensions().height / 2),
+ _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_needRefresh = true;
setSubVar(VA_CUBE_POSITIONS, _tileIndex, (uint32)-1);
@@ -873,10 +867,8 @@ void SsScene2202PuzzleTile::moveTile(int16 newTileIndex) {
void SsScene2202PuzzleTile::stopMoving() {
_spriteResource.load2(kSsScene2202PuzzleTileFileHashes2[_value]);
- _drawOffset.x = -(_spriteResource.getDimensions().width / 2);
- _drawOffset.y = -(_spriteResource.getDimensions().height / 2);
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(-(_spriteResource.getDimensions().width / 2), -(_spriteResource.getDimensions().height / 2),
+ _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_needRefresh = true;
SetSpriteUpdate(NULL);
_isMoving = false;
@@ -1225,10 +1217,7 @@ SsScene2205DoorFrame::SsScene2205DoorFrame(NeverhoodEngine *vm)
SetMessageHandler(&SsScene2205DoorFrame::handleMessage);
_spriteResource.load2(getGlobalVar(V_LIGHTS_ON) ? 0x24306227 : 0xD90032A0);
createSurface(1100, 45, 206);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_needRefresh = true;
@@ -1240,10 +1229,7 @@ uint32 SsScene2205DoorFrame::handleMessage(int messageNum, const MessageParam &p
switch (messageNum) {
case 0x2000:
_spriteResource.load2(getGlobalVar(V_LIGHTS_ON) ? 0x24306227 : 0xD90032A0);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_needRefresh = true;
diff --git a/engines/neverhood/module2500.cpp b/engines/neverhood/module2500.cpp
index bb9e10be5f..8345a8c3a3 100644
--- a/engines/neverhood/module2500.cpp
+++ b/engines/neverhood/module2500.cpp
@@ -487,10 +487,7 @@ SsScene2504Button::SsScene2504Button(NeverhoodEngine *vm)
_spriteResource.load2(0x070220D9);
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_collisionBoundsOffset = _drawOffset;
diff --git a/engines/neverhood/module2800.cpp b/engines/neverhood/module2800.cpp
index 7c895e970b..53ae40c0ea 100644
--- a/engines/neverhood/module2800.cpp
+++ b/engines/neverhood/module2800.cpp
@@ -1373,10 +1373,7 @@ SsScene2804RedButton::SsScene2804RedButton(NeverhoodEngine *vm, Scene2804 *paren
else
_spriteResource.load2(0x11814A21);
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_collisionBoundsOffset = _drawOffset;
@@ -1416,10 +1413,7 @@ SsScene2804LightCoil::SsScene2804LightCoil(NeverhoodEngine *vm)
_spriteResource.load2(0x8889B008);
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
setVisible(false);
@@ -1450,10 +1444,7 @@ SsScene2804LightTarget::SsScene2804LightTarget(NeverhoodEngine *vm)
_spriteResource.load2(0x06092132);
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
setVisible(false);
@@ -1484,10 +1475,7 @@ SsScene2804Flash::SsScene2804Flash(NeverhoodEngine *vm)
_spriteResource.load2(0x211003A0);
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
setVisible(false);
@@ -1507,10 +1495,7 @@ SsScene2804BeamCoilBody::SsScene2804BeamCoilBody(NeverhoodEngine *vm)
_spriteResource.load2(0x9A816000);
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
setVisible(false);
@@ -1656,10 +1641,7 @@ SsScene2804CrystalButton::SsScene2804CrystalButton(NeverhoodEngine *vm, Scene280
_spriteResource.load2(kSsScene2804CrystalButtonFileHashes2[crystalIndex]);
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_collisionBoundsOffset = _drawOffset;
@@ -2262,10 +2244,7 @@ SsScene2808Dispenser::SsScene2808Dispenser(NeverhoodEngine *vm, Scene *parentSce
_spriteResource.load2(kClass428FileHashes[testTubeSetNum * 3 + testTubeIndex]);
createSurface(1500, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_collisionBoundsOffset = _drawOffset;
diff --git a/engines/neverhood/module2900.cpp b/engines/neverhood/module2900.cpp
index 7abab125d8..ae74b14814 100644
--- a/engines/neverhood/module2900.cpp
+++ b/engines/neverhood/module2900.cpp
@@ -256,10 +256,7 @@ SsScene2901LocationButton::SsScene2901LocationButton(NeverhoodEngine *vm, Scene
_spriteResource.load2(kSsScene2901LocationButtonFileHashes[which * 6 + index]);
createSurface(800, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_collisionBounds.x1 = kSsScene2901LocationButtonPoints[_index].x - 25;
@@ -301,10 +298,7 @@ SsScene2901LocationButtonLight::SsScene2901LocationButtonLight(NeverhoodEngine *
_spriteResource.load2(kSsScene2901LocationButtonLightFileHashes1[which * 6 + index]);
createSurface(900, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
setVisible(false);
@@ -328,10 +322,7 @@ SsScene2901BrokenButton::SsScene2901BrokenButton(NeverhoodEngine *vm, int which)
_spriteResource.load2(kSsScene2901BrokenButtonFileHashes[which]);
createSurface(900, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
_needRefresh = true;
@@ -343,16 +334,10 @@ SsScene2901BigButton::SsScene2901BigButton(NeverhoodEngine *vm, Scene *parentSce
_spriteResource.load2(kSsScene2901BigButtonFileHashes[which]);
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
- _collisionBounds.x1 = 62;
- _collisionBounds.y1 = 94;
- _collisionBounds.x2 = 322;
- _collisionBounds.y2 = 350;
+ _collisionBounds.set(62, 94, 322, 350);
setVisible(false);
_needRefresh = true;
loadSound(0, 0xF3D420C8);
diff --git a/engines/neverhood/module3000.cpp b/engines/neverhood/module3000.cpp
index 8005c625f0..cb4faafbed 100644
--- a/engines/neverhood/module3000.cpp
+++ b/engines/neverhood/module3000.cpp
@@ -475,14 +475,8 @@ SsScene3009FireCannonButton::SsScene3009FireCannonButton(NeverhoodEngine *vm, Sc
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
- _collisionBoundsOffset.x = 0;
- _collisionBoundsOffset.y = 0;
- _collisionBoundsOffset.width = _spriteResource.getDimensions().width;
- _collisionBoundsOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
+ _collisionBoundsOffset = _drawOffset;
setVisible(false);
updateBounds();
_needRefresh = true;
@@ -521,10 +515,7 @@ SsScene3009SymbolEdges::SsScene3009SymbolEdges(NeverhoodEngine *vm, int index)
createSurface(600, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_needRefresh = true;
if (getGlobalVar(V_ROBOT_HIT)) {
hide();
@@ -573,10 +564,7 @@ SsScene3009TargetLine::SsScene3009TargetLine(NeverhoodEngine *vm, int index)
createSurface(600, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
setVisible(false);
_needRefresh = true;
}
@@ -595,10 +583,7 @@ SsScene3009SymbolArrow::SsScene3009SymbolArrow(NeverhoodEngine *vm, Sprite *asSy
createSurface(1200, 33, 31);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = 33;
- _drawOffset.height = 31;
+ _drawOffset.set(0, 0, 33, 31);
_collisionBoundsOffset = _drawOffset;
updateBounds();
_needRefresh = true;
@@ -617,10 +602,7 @@ void SsScene3009SymbolArrow::update() {
if (_countdown != 0 && (--_countdown == 0)) {
_spriteResource.load2(kSsScene3009SymbolArrowFileHashes2[_index]);
_needRefresh = true;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
}
}
@@ -632,10 +614,7 @@ uint32 SsScene3009SymbolArrow::handleMessage(int messageNum, const MessageParam
_countdown = 2;
_spriteResource.load2(kSsScene3009SymbolArrowFileHashes1[_index]);
_needRefresh = true;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
playSound(0);
sendMessage(_asSymbol, 0x2005, _incrDecr);
}
@@ -1155,10 +1134,7 @@ void SsScene3010DeadBoltButton::setSprite(uint32 fileHash) {
_spriteResource.load(fileHash);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_collisionBoundsOffset = _drawOffset;
updateBounds();
_needRefresh = true;
@@ -1430,10 +1406,7 @@ SsScene3011Button::SsScene3011Button(NeverhoodEngine *vm, Scene *parentScene, bo
createSurface(400, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_x = _spriteResource.getPosition().x;
_y = _spriteResource.getPosition().y;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
_collisionBoundsOffset = _drawOffset;
setVisible(false);
updateBounds();
diff --git a/engines/neverhood/sprite.cpp b/engines/neverhood/sprite.cpp
index fb45b8a7be..0696aa6714 100644
--- a/engines/neverhood/sprite.cpp
+++ b/engines/neverhood/sprite.cpp
@@ -147,10 +147,7 @@ void StaticSprite::init(uint32 fileHash, int surfacePriority, int16 x, int16 y,
_x = x == kDefPosition ? _spriteResource.getPosition().x : x;
_y = y == kDefPosition ? _spriteResource.getPosition().y : y;
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = width;
- _drawOffset.height = height;
+ _drawOffset.set(0, 0, width, height);
_needRefresh = true;
@@ -187,10 +184,7 @@ void StaticSprite::load(uint32 fileHash, bool dimensions, bool position) {
_spriteResource.load2(fileHash);
if (dimensions) {
- _drawOffset.x = 0;
- _drawOffset.y = 0;
- _drawOffset.width = _spriteResource.getDimensions().width;
- _drawOffset.height = _spriteResource.getDimensions().height;
+ _drawOffset.set(0, 0, _spriteResource.getDimensions().width, _spriteResource.getDimensions().height);
}
if (position) {