From f24a6769c2bf376def72274d6ed94c786ca03766 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Mon, 22 Oct 2012 13:00:41 +0000 Subject: NEVERHOOD: Make use of NDrawRect::set --- engines/neverhood/diskplayerscene.cpp | 5 +--- engines/neverhood/menumodule.cpp | 5 +--- engines/neverhood/module1000.cpp | 30 +++++------------------ engines/neverhood/module1100.cpp | 9 +++---- engines/neverhood/module1200.cpp | 11 +++------ engines/neverhood/module2200.cpp | 34 ++++++++------------------ engines/neverhood/module2500.cpp | 5 +--- engines/neverhood/module2800.cpp | 35 ++++++--------------------- engines/neverhood/module2900.cpp | 25 ++++--------------- engines/neverhood/module3000.cpp | 45 +++++++---------------------------- engines/neverhood/sprite.cpp | 10 ++------ 11 files changed, 48 insertions(+), 166 deletions(-) (limited to 'engines/neverhood') 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) { -- cgit v1.2.3