diff options
author | Johannes Schickel | 2007-04-15 16:41:20 +0000 |
---|---|---|
committer | Johannes Schickel | 2007-04-15 16:41:20 +0000 |
commit | 21b2c7bceb5947e1eaa79890fe24f59def54aef9 (patch) | |
tree | d13d67e0c2c2db33651a51eb24679bac867a09d8 /engines/kyra/animator.cpp | |
parent | e962db5b6d6856a31e52f7e3c4038a0f8f47e25d (diff) | |
download | scummvm-rg350-21b2c7bceb5947e1eaa79890fe24f59def54aef9.tar.gz scummvm-rg350-21b2c7bceb5947e1eaa79890fe24f59def54aef9.tar.bz2 scummvm-rg350-21b2c7bceb5947e1eaa79890fe24f59def54aef9.zip |
Formatting/Cleanup.
svn-id: r26511
Diffstat (limited to 'engines/kyra/animator.cpp')
-rw-r--r-- | engines/kyra/animator.cpp | 119 |
1 files changed, 49 insertions, 70 deletions
diff --git a/engines/kyra/animator.cpp b/engines/kyra/animator.cpp index 322009bc8c..443287438d 100644 --- a/engines/kyra/animator.cpp +++ b/engines/kyra/animator.cpp @@ -196,19 +196,16 @@ void ScreenAnimator::preserveOrRestoreBackground(AnimObject *obj, bool restore) int temp; temp = x + width; - if (temp >= 39) { + if (temp >= 39) x = 39 - width; - } temp = y + height; - if (temp >= 136) { + if (temp >= 136) y = 136 - height; - } - if (restore) { + if (restore) _screen->copyBlockToPage(_screen->_curPage, x << 3, y, width << 3, height, obj->background); - } else { + else _screen->copyRegionToBuffer(_screen->_curPage, x << 3, y, width << 3, height, obj->background); - } } void ScreenAnimator::prepDrawAllObjects() { @@ -229,13 +226,12 @@ void ScreenAnimator::prepDrawAllObjects() { int ypos = curObject->y1; int drawLayer = 0; - if (!(curObject->flags & 0x800)) { + if (!(curObject->flags & 0x800)) drawLayer = 7; - } else if (curObject->disable) { + else if (curObject->disable) drawLayer = 0; - } else { + else drawLayer = _vm->_sprites->getDrawLayer(curObject->drawY); - } // talking head functionallity if (_vm->_talkingCharNum != -1 && (_vm->_currentCharacter->currentAnimFrame != 88 || curObject->index != 0)) { @@ -253,18 +249,16 @@ void ScreenAnimator::prepDrawAllObjects() { shapesIndex = baseAnimFrameTable2[curObject->index]; int temp2 = 0; if (curObject->index == 2) { - if (_vm->_characterList[2].sceneId == 77 || _vm->_characterList[2].sceneId == 86) { + if (_vm->_characterList[2].sceneId == 77 || _vm->_characterList[2].sceneId == 86) temp2 = 1; - } else { + else temp2 = 0; - } } else { temp2 = 1; } - if (!temp2) { + if (!temp2) shapesIndex = -1; - } } xpos = curObject->x1; @@ -282,16 +276,14 @@ void ScreenAnimator::prepDrawAllObjects() { xpos += tempX; ypos += tempY; - if (_vm->_scaleMode && _brandonScaleX != 256) { + if (_vm->_scaleMode && _brandonScaleX != 256) ++xpos; - } if (curObject->index == 0 && shapesIndex != -1) { if (!(_vm->_brandonStatusBit & 2)) { flagUnk3 = 0x100; - if ((flagUnk1 & 0x200) || (flagUnk2 & 0x4000)) { + if ((flagUnk1 & 0x200) || (flagUnk2 & 0x4000)) flagUnk3 = 0; - } int tempFlags = 0; if (flagUnk3 & 0x100) { @@ -315,9 +307,8 @@ void ScreenAnimator::prepDrawAllObjects() { } else { if (shapesIndex != -1) { int tempFlags = 0; - if (curObject->flags & 1) { + if (curObject->flags & 1) tempFlags = 1; - } _screen->drawShape(drawPage, _vm->_shapes[4+shapesIndex], xpos, ypos, 2, tempFlags | 0x800, drawLayer); } } @@ -331,37 +322,32 @@ void ScreenAnimator::prepDrawAllObjects() { if (curObject->index == 0) { flagUnk3 = 0x100; - if (flagUnk1 & 0x200 || flagUnk2 & 0x4000) { + if (flagUnk1 & 0x200 || flagUnk2 & 0x4000) flagUnk3 = 0; - } - if (_vm->_brandonStatusBit & 2) { + if (_vm->_brandonStatusBit & 2) curObject->flags &= 0xFFFFFFFE; - } if (!_vm->_scaleMode) { - if (flagUnk3 & 0x100) { + if (flagUnk3 & 0x100) _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x100, (uint8*)_vm->_brandonPoisonFlagsGFX, int(1), drawLayer); - } else if (flagUnk2 & 0x4000) { + else if (flagUnk2 & 0x4000) _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x4000, int(_vm->_brandonInvFlag), drawLayer); - } else { + else _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1, drawLayer); - } } else { - if (flagUnk3 & 0x100) { + if (flagUnk3 & 0x100) _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x104, (uint8*)_vm->_brandonPoisonFlagsGFX, int(1), drawLayer, _brandonScaleX, _brandonScaleY); - } else if (flagUnk2 & 0x4000) { + else if (flagUnk2 & 0x4000) _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x4004, int(_vm->_brandonInvFlag), drawLayer, _brandonScaleX, _brandonScaleY); - } else { + else _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x4, drawLayer, _brandonScaleX, _brandonScaleY); - } } } else { - if (curObject->index >= 16 && curObject->index <= 27) { + if (curObject->index >= 16 && curObject->index <= 27) _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | 4, drawLayer, (int)_vm->_scaleTable[curObject->drawY], (int)_vm->_scaleTable[curObject->drawY]); - } else { + else _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags, drawLayer); - } } } curObject = curObject->nextAnimObject; @@ -380,25 +366,21 @@ void ScreenAnimator::copyChangedObjectsForward(int refreshFlag) { width = curObject->width + (curObject->width2>>3) + 2; height = curObject->height + curObject->height2*2; - if (xpos < 1) { + if (xpos < 1) xpos = 1; - } else if (xpos > 39) { + else if (xpos > 39) continue; - } - if (xpos + width > 39) { + if (xpos + width > 39) width = 39 - xpos; - } - if (ypos < 8) { + if (ypos < 8) ypos = 8; - } else if (ypos > 136) { + else if (ypos > 136) continue; - } - if (ypos + height > 136) { + if (ypos + height > 136) height = 136 - ypos; - } _screen->copyRegion(xpos << 3, ypos, xpos << 3, ypos, width << 3, height, 2, 0, Screen::CR_CLIPPED); curObject->refreshFlag = 0; @@ -475,11 +457,12 @@ void ScreenAnimator::animAddNPC(int character) { animObj->sceneAnimPtr = _vm->_shapes[4+ch->currentAnimFrame]; animObj->x1 = animObj->x2 = ch->x1 + _vm->_defaultShapeTable[ch->currentAnimFrame-7].xOffset; animObj->y1 = animObj->y2 = ch->y1 + _vm->_defaultShapeTable[ch->currentAnimFrame-7].yOffset; - if (ch->facing >= 1 && ch->facing <= 3) { + + if (ch->facing >= 1 && ch->facing <= 3) animObj->flags |= 1; - } else if (ch->facing >= 5 && ch->facing <= 7) { + else if (ch->facing >= 5 && ch->facing <= 7) animObj->flags &= 0xFFFFFFFE; - } + _objectQueue = objectQueue(_objectQueue, animObj); preserveAnyChangedBackgrounds(); animObj->refreshFlag = 1; @@ -507,16 +490,14 @@ AnimObject *ScreenAnimator::objectRemoveQueue(AnimObject *queue, AnimObject *rem if (!cur->nextAnimObject) { if (cur == rem) { - if (!prev) { + if (!prev) return 0; - } else { + else prev->nextAnimObject = 0; - } } } else { - if (cur == rem) { + if (cur == rem) prev->nextAnimObject = rem->nextAnimObject; - } } return queue; @@ -556,31 +537,28 @@ AnimObject *ScreenAnimator::objectQueue(AnimObject *queue, AnimObject *add) { void ScreenAnimator::addObjectToQueue(AnimObject *object) { debugC(9, kDebugLevelAnimator, "ScreenAnimator::addObjectToQueue(%p)", (const void *)object); - if (!_objectQueue) { + if (!_objectQueue) _objectQueue = objectAddHead(0, object); - } else { + else _objectQueue = objectQueue(_objectQueue, object); - } } void ScreenAnimator::refreshObject(AnimObject *object) { debugC(9, kDebugLevelAnimator, "ScreenAnimator::refreshObject(%p)", (const void *)object); _objectQueue = objectRemoveQueue(_objectQueue, object); - if (_objectQueue) { + if (_objectQueue) _objectQueue = objectQueue(_objectQueue, object); - } else { + else _objectQueue = objectAddHead(0, object); - } } void ScreenAnimator::makeBrandonFaceMouse() { debugC(9, kDebugLevelAnimator, "ScreenAnimator::makeBrandonFaceMouse()"); Common::Point mouse = _vm->getMousePos(); - if (mouse.x >= _vm->_currentCharacter->x1) { + if (mouse.x >= _vm->_currentCharacter->x1) _vm->_currentCharacter->facing = 3; - } else { + else _vm->_currentCharacter->facing = 5; - } animRefreshNPC(0); updateAllObjectShapes(); } @@ -625,11 +603,10 @@ void ScreenAnimator::animRefreshNPC(int character) { animObj->refreshFlag = 1; animObj->bkgdChangeFlag = 1; int facing = ch->facing; - if (facing >= 1 && facing <= 3) { + if (facing >= 1 && facing <= 3) animObj->flags |= 1; - } else if (facing >= 5 && facing <= 7) { + else if (facing >= 5 && facing <= 7) animObj->flags &= 0xFFFFFFFE; - } animObj->drawY = ch->y1; animObj->sceneAnimPtr = _vm->shapes()[4+ch->currentAnimFrame]; @@ -645,9 +622,11 @@ void ScreenAnimator::animRefreshNPC(int character) { animObj->sceneAnimPtr = _vm->shapes()[4+_brandonDrawFrame]; if (_vm->_brandonStatusBit0x02Flag) { ++_brandonDrawFrame; - if (_brandonDrawFrame >= 122) + // TODO: check this + if (_brandonDrawFrame >= 122) { _brandonDrawFrame = 113; _vm->_brandonStatusBit0x02Flag = 0; + } } } } @@ -695,9 +674,9 @@ void ScreenAnimator::setCharactersHeight() { 44, 42, 47, 38, 35, 40 }; - for (int i = 0; i < 11; ++i) { + for (int i = 0; i < 11; ++i) _vm->characterList()[i].height = initHeightTable[i]; - } } } // end of namespace Kyra + |