diff options
author | Filippos Karapetis | 2015-12-07 09:58:46 +0200 |
---|---|---|
committer | Willem Jan Palenstijn | 2015-12-23 21:33:53 +0100 |
commit | 87201cfed25e2b145d55c5d77fe0988d32444395 (patch) | |
tree | 0e7c60b89bd816355360ac9e89a3fecbd1c28164 /engines/lab | |
parent | f3a24ff593024e3a997ed1a9160d32a84eb42d74 (diff) | |
download | scummvm-rg350-87201cfed25e2b145d55c5d77fe0988d32444395.tar.gz scummvm-rg350-87201cfed25e2b145d55c5d77fe0988d32444395.tar.bz2 scummvm-rg350-87201cfed25e2b145d55c5d77fe0988d32444395.zip |
LAB: Rename and clean up some of the scene transition code
Diffstat (limited to 'engines/lab')
-rw-r--r-- | engines/lab/graphics.cpp | 38 | ||||
-rw-r--r-- | engines/lab/graphics.h | 13 | ||||
-rw-r--r-- | engines/lab/parsetypes.h | 4 | ||||
-rw-r--r-- | engines/lab/processroom.cpp | 4 | ||||
-rw-r--r-- | engines/lab/resource.cpp | 2 |
5 files changed, 36 insertions, 25 deletions
diff --git a/engines/lab/graphics.cpp b/engines/lab/graphics.cpp index 5147ac3654..95551040c2 100644 --- a/engines/lab/graphics.cpp +++ b/engines/lab/graphics.cpp @@ -409,18 +409,6 @@ void DisplayMan::drawMessage(const char *str) { } } -/*---------------------------------------------------------------------------*/ -/*--------------------------- All the wipe stuff. ---------------------------*/ -/*---------------------------------------------------------------------------*/ - -#define TRANSWIPE 1 -#define SCROLLWIPE 2 -#define SCROLLBLACK 3 -#define SCROLLBOUNCE 4 -#define TRANSPORTER 5 -#define READFIRSTFRAME 6 -#define READNEXTFRAME 7 - /*****************************************************************************/ /* Scrolls the display to black. */ /*****************************************************************************/ @@ -736,19 +724,31 @@ void DisplayMan::doTransWipe(CloseDataPtr *cPtr, char *filename) { /*****************************************************************************/ /* Does a certain number of pre-programmed wipes. */ /*****************************************************************************/ -void DisplayMan::doWipe(uint16 wipeType, CloseDataPtr *cPtr, char *filename) { - if ((wipeType == TRANSWIPE) || (wipeType == TRANSPORTER)) +void DisplayMan::doTransition(TransitionType transitionType, CloseDataPtr *cPtr, char *filename) { + switch (transitionType) { + case kTransitionWipe: + case kTransitionTransporter: doTransWipe(cPtr, filename); - else if (wipeType == SCROLLWIPE) + break; + case kTransitionScrollWipe: doScrollWipe(filename); - else if (wipeType == SCROLLBLACK) + break; + case kTransitionScrollBlack: doScrollBlack(); - else if (wipeType == SCROLLBOUNCE) + break; + case kTransitionScrollBounce: doScrollBounce(); - else if (wipeType == READFIRSTFRAME) + break; + case kTransitionReadFirstFrame: readPict(filename, false); - else if (wipeType == READNEXTFRAME) + break; + case kTransitionReadNextFrame: _vm->_anim->diffNextFrame(); + break; + case kTransitionNone: + default: + break; + } } /*****************************************************************************/ diff --git a/engines/lab/graphics.h b/engines/lab/graphics.h index 8e67cd2366..9011b22c83 100644 --- a/engines/lab/graphics.h +++ b/engines/lab/graphics.h @@ -46,6 +46,17 @@ struct TextFont { byte *_data; }; +enum TransitionType { + kTransitionNone, + kTransitionWipe, + kTransitionScrollWipe, + kTransitionScrollBlack, + kTransitionScrollBounce, + kTransitionTransporter, + kTransitionReadFirstFrame, + kTransitionReadNextFrame +}; + class DisplayMan { private: LabEngine *_vm; @@ -76,7 +87,7 @@ public: void doScrollWipe(char *filename); void doScrollBounce(); void doTransWipe(CloseDataPtr *cPtr, char *filename); - void doWipe(uint16 wipeType, CloseDataPtr *cPtr, char *filename); + void doTransition(TransitionType transitionType, CloseDataPtr *cPtr, char *filename); void blackScreen(); void whiteScreen(); void blackAllScreen(); diff --git a/engines/lab/parsetypes.h b/engines/lab/parsetypes.h index b345e1e056..42c7269d7c 100644 --- a/engines/lab/parsetypes.h +++ b/engines/lab/parsetypes.h @@ -45,7 +45,7 @@ namespace Lab { #define LOADDIFF 5 #define LOADBM 6 #define SHOWBM 7 -#define WIPECMD 8 +#define TRANSITION 8 #define NOUPDATE 9 #define FORCEUPDATE 10 #define SHOWCURPICT 11 @@ -139,7 +139,7 @@ struct RoomData { uint16 _southDoor; uint16 _eastDoor; uint16 _westDoor; - byte _wipeType; + byte _transitionType; ViewData *_view[4]; RuleList *_rules; char *_roomMsg; diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp index 015b854b75..d467c21cb5 100644 --- a/engines/lab/processroom.cpp +++ b/engines/lab/processroom.cpp @@ -332,8 +332,8 @@ void LabEngine::doActions(Action *aptr, CloseDataPtr *lcptr) { break; - case WIPECMD: - _graphics->doWipe(aptr->_param1, lcptr, (char *)aptr->_data); + case TRANSITION: + _graphics->doTransition((TransitionType)aptr->_param1, lcptr, (char *)aptr->_data); break; case NOUPDATE: diff --git a/engines/lab/resource.cpp b/engines/lab/resource.cpp index f76aea0087..f99ab82a53 100644 --- a/engines/lab/resource.cpp +++ b/engines/lab/resource.cpp @@ -98,7 +98,7 @@ bool Resource::readRoomData(const char *fileName) { _vm->_rooms[i]._southDoor = dataFile->readUint16LE(); _vm->_rooms[i]._eastDoor = dataFile->readUint16LE(); _vm->_rooms[i]._westDoor = dataFile->readUint16LE(); - _vm->_rooms[i]._wipeType = dataFile->readByte(); + _vm->_rooms[i]._transitionType = dataFile->readByte(); _vm->_rooms[i]._view[NORTH] = nullptr; _vm->_rooms[i]._view[SOUTH] = nullptr; |