[Scummvm-git-logs] scummvm master -> 821f0c60f80c15415ce4649e61875a0913fd5cf5
whiterandrek
whiterandrek at gmail.com
Fri Jun 29 16:49:36 CEST 2018
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
012eedd4c7 PINK: added screen cleaning when entering/exiting to/from PDA
5378db3dc0 PINK: added deserialization of Peril PDA Commands
8af0e2c7cc PINK: fixed PDAButtonActor::isActive method
247ba1f587 PINK: fixed mem leak
91d40fdd69 PINK: implemented GoToPreviousPage command
821f0c60f8 PINK: fixed showing old screen content with new palette
Commit: 012eedd4c7cab43b6678abdfe7fde9ffa9e01fb1
https://github.com/scummvm/scummvm/commit/012eedd4c7cab43b6678abdfe7fde9ffa9e01fb1
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2018-06-29T17:46:55+03:00
Commit Message:
PINK: added screen cleaning when entering/exiting to/from PDA
Changed paths:
engines/pink/director.cpp
diff --git a/engines/pink/director.cpp b/engines/pink/director.cpp
index b8c9a1b..0af7912 100644
--- a/engines/pink/director.cpp
+++ b/engines/pink/director.cpp
@@ -90,11 +90,12 @@ void Director::pause(bool pause_) {
void Director::saveStage() {
_savedSprites = _sprites;
- _sprites.clear();
+ clear();
}
void Director::loadStage() {
assert(_sprites.empty());
+ _dirtyRects.push_back(Common::Rect(0, 0, 640, 480));
_sprites = _savedSprites;
_savedSprites.clear();
}
Commit: 5378db3dc0caa00a965e0bd456622f604ed37128
https://github.com/scummvm/scummvm/commit/5378db3dc0caa00a965e0bd456622f604ed37128
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2018-06-29T17:46:55+03:00
Commit Message:
PINK: added deserialization of Peril PDA Commands
Changed paths:
engines/pink/objects/actors/pda_button_actor.cpp
engines/pink/objects/actors/pda_button_actor.h
engines/pink/pda_mgr.cpp
engines/pink/pink.h
diff --git a/engines/pink/objects/actors/pda_button_actor.cpp b/engines/pink/objects/actors/pda_button_actor.cpp
index 972dc28..a3c6eea 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 c10f2ef..d2c8b24 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;
diff --git a/engines/pink/pda_mgr.cpp b/engines/pink/pda_mgr.cpp
index 1623b55..01ca5a2 100644
--- a/engines/pink/pda_mgr.cpp
+++ b/engines/pink/pda_mgr.cpp
@@ -40,10 +40,10 @@ void PDAMgr::saveState(Archive &archive) {
void PDAMgr::execute(const Command &command) {
switch (command.type) {
- case Command::GoToPage:
+ case Command::kGoToPage:
goToPage(command.arg);
break;
- case Command::Close:
+ case Command::kClose:
close();
break;
default:
diff --git a/engines/pink/pink.h b/engines/pink/pink.h
index e5dc407..11d9bcb 100644
--- a/engines/pink/pink.h
+++ b/engines/pink/pink.h
@@ -102,6 +102,8 @@ public:
void changeScene();
+ bool isPeril();
+
void setVariable(Common::String &variable, Common::String &value);
bool checkValueOfVariable(Common::String &variable, Common::String &value);
@@ -124,8 +126,6 @@ private:
void addModule(const Common::String &moduleName);
void removeModule();
- bool isPeril();
-
private:
Console *_console;
Common::RandomSource _rnd;
Commit: 8af0e2c7cc15c23269c73902c88343b0b49ce512
https://github.com/scummvm/scummvm/commit/8af0e2c7cc15c23269c73902c88343b0b49ce512
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2018-06-29T17:46:55+03:00
Commit Message:
PINK: fixed PDAButtonActor::isActive method
Changed paths:
engines/pink/objects/actors/pda_button_actor.cpp
diff --git a/engines/pink/objects/actors/pda_button_actor.cpp b/engines/pink/objects/actors/pda_button_actor.cpp
index a3c6eea..10dd563 100644
--- a/engines/pink/objects/actors/pda_button_actor.cpp
+++ b/engines/pink/objects/actors/pda_button_actor.cpp
@@ -25,6 +25,7 @@
#include "pink/pink.h"
#include "pink/objects/pages/page.h"
#include "pink/objects/actors/pda_button_actor.h"
+#include "pink/objects/actions/action.h"
namespace Pink {
@@ -74,7 +75,7 @@ void PDAButtonActor::onMouseOver(const Common::Point point, CursorMgr *mgr) {
}
bool PDAButtonActor::isActive() {
- return _name != "Inactive";
+ return _action && _action->getName() != "Inactive";
}
} // End of namespace Pink
Commit: 247ba1f587929da7040e4d278d51c31a3a4d18ba
https://github.com/scummvm/scummvm/commit/247ba1f587929da7040e4d278d51c31a3a4d18ba
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2018-06-29T17:46:55+03:00
Commit Message:
PINK: fixed mem leak
Changed paths:
engines/pink/pda_mgr.cpp
engines/pink/pda_mgr.h
diff --git a/engines/pink/pda_mgr.cpp b/engines/pink/pda_mgr.cpp
index 01ca5a2..8e8b6ec 100644
--- a/engines/pink/pda_mgr.cpp
+++ b/engines/pink/pda_mgr.cpp
@@ -31,6 +31,13 @@ namespace Pink {
PDAMgr::PDAMgr(Pink::PinkEngine *game)
: _game(game), _page(nullptr), _cursorMgr(game, nullptr) {}
+PDAMgr::~PDAMgr() {
+ for (uint i = 0; i < _globalActors.size(); ++i) {
+ delete _globalActors[i];
+ }
+ delete _page;
+}
+
void PDAMgr::saveState(Archive &archive) {
if (_page)
archive.writeString(_page->getName());
@@ -57,8 +64,9 @@ void PDAMgr::goToPage(const Common::String &pageName) {
loadGlobal();
+ PDAPage *newPage = new PDAPage(PDAPage::create(pageName, *this));
delete _page;
- _page = new PDAPage(PDAPage::create(pageName, *this));
+ _page = newPage;
_page->init();
diff --git a/engines/pink/pda_mgr.h b/engines/pink/pda_mgr.h
index 6521539..08c3d96 100644
--- a/engines/pink/pda_mgr.h
+++ b/engines/pink/pda_mgr.h
@@ -23,6 +23,8 @@
#ifndef PINK_PDA_MGR_H
#define PINK_PDA_MGR_H
+#include "common/stack.h"
+
#include "pink/cursor_mgr.h"
#include "pink/utils.h"
@@ -38,6 +40,7 @@ struct Command;
class PDAMgr {
public:
PDAMgr(PinkEngine *game);
+ ~PDAMgr();
void loadState(Archive &archive) { _savedPage = archive.readString(); }
void saveState(Archive &archive);
Commit: 91d40fdd69da3b4c0ecc7107c0e5488443ad376f
https://github.com/scummvm/scummvm/commit/91d40fdd69da3b4c0ecc7107c0e5488443ad376f
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2018-06-29T17:46:55+03:00
Commit Message:
PINK: implemented GoToPreviousPage command
Changed paths:
engines/pink/pda_mgr.cpp
engines/pink/pda_mgr.h
diff --git a/engines/pink/pda_mgr.cpp b/engines/pink/pda_mgr.cpp
index 8e8b6ec..60b51a4 100644
--- a/engines/pink/pda_mgr.cpp
+++ b/engines/pink/pda_mgr.cpp
@@ -50,6 +50,12 @@ void PDAMgr::execute(const Command &command) {
case Command::kGoToPage:
goToPage(command.arg);
break;
+ case Command::kGoToPreviousPage: {
+ assert(_previousPages.size() >= 2);
+ _previousPages.pop();
+ goToPage(_previousPages.pop());
+ break;
+ }
case Command::kClose:
close();
break;
@@ -75,6 +81,8 @@ void PDAMgr::goToPage(const Common::String &pageName) {
}
_cursorMgr.setPage(_page);
+
+ _previousPages.push(_page->getName());
}
void PDAMgr::onLeftButtonClick(Common::Point point) {
diff --git a/engines/pink/pda_mgr.h b/engines/pink/pda_mgr.h
index 08c3d96..246679d 100644
--- a/engines/pink/pda_mgr.h
+++ b/engines/pink/pda_mgr.h
@@ -68,6 +68,7 @@ private:
CursorMgr _cursorMgr;
Array<Actor *> _globalActors;
Common::String _savedPage;
+ Common::Stack<Common::String> _previousPages;
};
} // End of namespace Pink
Commit: 821f0c60f80c15415ce4649e61875a0913fd5cf5
https://github.com/scummvm/scummvm/commit/821f0c60f80c15415ce4649e61875a0913fd5cf5
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2018-06-29T17:49:21+03:00
Commit Message:
PINK: fixed showing old screen content with new palette
Changed paths:
engines/pink/director.cpp
diff --git a/engines/pink/director.cpp b/engines/pink/director.cpp
index 0af7912..966e1ca 100644
--- a/engines/pink/director.cpp
+++ b/engines/pink/director.cpp
@@ -80,6 +80,7 @@ void Director::removeSound(ActionSound *sound) {
void Director::clear() {
_dirtyRects.push_back(Common::Rect(0, 0, 640, 480));
_sprites.resize(0);
+ draw();
}
void Director::pause(bool pause_) {
More information about the Scummvm-git-logs
mailing list