[Scummvm-git-logs] scummvm master -> 7cc0e833f27a3a3555e3a2bf0e711c50fae2d77e
whiterandrek
whiterandrek at gmail.com
Sat Jul 21 14:12:41 CEST 2018
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
7cc0e833f2 PINK: implemented creating menu from executable
Commit: 7cc0e833f27a3a3555e3a2bf0e711c50fae2d77e
https://github.com/scummvm/scummvm/commit/7cc0e833f27a3a3555e3a2bf0e711c50fae2d77e
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2018-07-21T15:12:23+03:00
Commit Message:
PINK: implemented creating menu from executable
Changed paths:
engines/pink/director.cpp
engines/pink/director.h
engines/pink/pink.cpp
engines/pink/pink.h
diff --git a/engines/pink/director.cpp b/engines/pink/director.cpp
index 97df174..4d16709 100644
--- a/engines/pink/director.cpp
+++ b/engines/pink/director.cpp
@@ -76,15 +76,15 @@ static const Graphics::MacMenuData menuSubItems[] = {
};
-Director::Director()
+Director::Director(Common::PEResources &exe)
: _surface(640, 480) {
_wm.setScreen(&_surface);
_wm.setMode(Graphics::kWMModeNoDesktop | Graphics::kWMModeAutohideMenu | Graphics::kWMModalMenuMode);
_wm.setMenuHotzone(Common::Rect(0, 0, 640, 23));
_wm.setMenuDelay(250000);
- _menu = _wm.addMenu();
- _menu->addStaticMenus(menuSubItems);
+ _menu = Graphics::MacMenu::createMenuFromPEexe(exe, &_wm);
+ _menu->calcDimensions();
}
void Director::update() {
diff --git a/engines/pink/director.h b/engines/pink/director.h
index 842330c..e2526ad 100644
--- a/engines/pink/director.h
+++ b/engines/pink/director.h
@@ -30,6 +30,10 @@
#include "graphics/macgui/macwindowmanager.h"
#include "graphics/screen.h"
+namespace Common {
+ class PEResources;
+}
+
namespace Graphics {
class MacMenu;
}
@@ -42,7 +46,7 @@ class ActionSound;
class Director {
public:
- Director();
+ Director(Common::PEResources &exe);
void update();
bool processEvent(Common::Event &event);
diff --git a/engines/pink/pink.cpp b/engines/pink/pink.cpp
index 73c6f5e..4f7e84f 100644
--- a/engines/pink/pink.cpp
+++ b/engines/pink/pink.cpp
@@ -72,8 +72,13 @@ Common::Error PinkEngine::init() {
initGraphics(640, 480);
+ Common::PEResources exeResources;
+ Common::String fileName = isPeril() ? "pptp.exe" : "hpp.exe";
+ exeResources.loadFromEXE(fileName);
+
+
_console = new Console(this);
- _director = new Director();
+ _director = new Director(exeResources);
_director->getWndManager().setEnginePauseCallback(this, &pauseEngine);
@@ -90,7 +95,7 @@ Common::Error PinkEngine::init() {
if (!_orb.open(orbName) || (_bro && !_bro->open(broName) && _orb.getTimestamp() == _bro->getTimestamp()))
return Common::kNoGameDataFoundError;
- if (!loadCursors())
+ if (!loadCursors(exeResources))
return Common::kNoGameDataFoundError;
setCursor(kLoadingCursor);
@@ -229,12 +234,8 @@ bool PinkEngine::checkValueOfVariable(Common::String &variable, Common::String &
return _variables[variable] == value;
}
-bool PinkEngine::loadCursors() {
- Common::PEResources exeResources;
+bool PinkEngine::loadCursors(Common::PEResources &exeResources) {
bool isPokus = !isPeril();
- Common::String fileName = isPokus ? "hpp.exe" : "pptp.exe";
- if (!exeResources.loadFromEXE(fileName))
- return false;
_cursors.reserve(kCursorsCount);
diff --git a/engines/pink/pink.h b/engines/pink/pink.h
index faed498..ac70e1b 100644
--- a/engines/pink/pink.h
+++ b/engines/pink/pink.h
@@ -122,7 +122,7 @@ public:
private:
Common::Error init();
- bool loadCursors();
+ bool loadCursors(Common::PEResources &exeResources);
void initModule(const Common::String &moduleName, const Common::String &pageName, Archive *saveFile);
void addModule(const Common::String &moduleName);
More information about the Scummvm-git-logs
mailing list