diff options
author | Andrei Prykhodko | 2018-06-29 17:03:35 +0300 |
---|---|---|
committer | Andrei Prykhodko | 2018-06-29 17:46:55 +0300 |
commit | 5378db3dc0caa00a965e0bd456622f604ed37128 (patch) | |
tree | afcaa1f9eab74d421b1bdffa63b3dd92fa125ce6 /engines/pink/objects | |
parent | 012eedd4c7cab43b6678abdfe7fde9ffa9e01fb1 (diff) | |
download | scummvm-rg350-5378db3dc0caa00a965e0bd456622f604ed37128.tar.gz scummvm-rg350-5378db3dc0caa00a965e0bd456622f604ed37128.tar.bz2 scummvm-rg350-5378db3dc0caa00a965e0bd456622f604ed37128.zip |
PINK: added deserialization of Peril PDA Commands
Diffstat (limited to 'engines/pink/objects')
-rw-r--r-- | engines/pink/objects/actors/pda_button_actor.cpp | 20 | ||||
-rw-r--r-- | engines/pink/objects/actors/pda_button_actor.h | 20 |
2 files changed, 32 insertions, 8 deletions
diff --git a/engines/pink/objects/actors/pda_button_actor.cpp b/engines/pink/objects/actors/pda_button_actor.cpp index 972dc28afe..a3c6eea29c 100644 --- a/engines/pink/objects/actors/pda_button_actor.cpp +++ b/engines/pink/objects/actors/pda_button_actor.cpp @@ -36,8 +36,22 @@ void PDAButtonActor::deserialize(Archive &archive) { _opaque = (bool)archive.readDWORD(); int type = archive.readDWORD(); - assert(type != 0); - _command.type = (Command::CommandType) type; + assert(type != 0 && type != Command::kIncrementFrame && type != Command::kDecrementFrame); + if (_page->getGame()->isPeril()) { + _command.type = (Command::CommandType) type; + } else { + switch (type) { + case 1: + _command.type = Command::kGoToPage; + break; + case 2: + _command.type = Command::kClose; + break; + default: + _command.type = Command::kNull; + break; + } + } _command.arg = archive.readString(); } @@ -53,7 +67,7 @@ void PDAButtonActor::onLeftClickMessage() { } void PDAButtonActor::onMouseOver(const Common::Point point, CursorMgr *mgr) { - if (_command.type == Command::Unk || !isActive()) + if (_command.type == Command::kNull || !isActive()) mgr->setCursor(kPDADefaultCursor, point, Common::String()); else mgr->setCursor(kPDAClickableFirstFrameCursor, point, Common::String()); diff --git a/engines/pink/objects/actors/pda_button_actor.h b/engines/pink/objects/actors/pda_button_actor.h index c10f2ef5ab..d2c8b24d81 100644 --- a/engines/pink/objects/actors/pda_button_actor.h +++ b/engines/pink/objects/actors/pda_button_actor.h @@ -28,11 +28,21 @@ namespace Pink { struct Command { - // commands in peril are different - /*enum PerilCommandType {Null, GoToPage, GoToPreviousPage, GoToDomain, GoToHelp, - NavigateToDomain, IncrementCountry, DecrementCountry, IncrementDomain, - DecrementDomain, Close, IncrementFrame, DecrementFrame};*/ - enum CommandType {Null = 0, GoToPage = 1, Close = 2, Unk = 3}; + enum CommandType { + kGoToPage = 1, + kGoToPreviousPage, + kGoToDomain, + kGoToHelp, // won't be supported + kNavigateToDomain, + kIncrementCountry, + kDecrementCountry, + kIncrementDomain, + kDecrementDomain, + kClose, + kIncrementFrame, // not used + kDecrementFrame, // not used + kNull + }; CommandType type; Common::String arg; |