[Scummvm-git-logs] scummvm master -> 0ecaa79f08d7cf4caed3f274a728906de5e2115a

sev- sev at scummvm.org
Sat Jan 14 13:18:22 CET 2017


This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
0b95b734b8 COMMON: Add ReadStream::readPascalString()
95d0477674 WAGE: Switch to the common readPascalString
a0907d2679 GRAPHICS: MACGUI: Added method for reading menu from resource
8690fe444e WAGE: Switch menu reading to common code
0ecaa79f08 GRAPHICS: Renamed Menu to MacMenu to avoid potential name collision


Commit: 0b95b734b85219044fe817c0609d1d23d6203700
    https://github.com/scummvm/scummvm/commit/0b95b734b85219044fe817c0609d1d23d6203700
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-14T12:45:58+01:00

Commit Message:
COMMON: Add ReadStream::readPascalString()

Changed paths:
    common/stream.cpp
    common/stream.h


diff --git a/common/stream.cpp b/common/stream.cpp
index 0877431..8d93888 100644
--- a/common/stream.cpp
+++ b/common/stream.cpp
@@ -39,6 +39,27 @@ SeekableReadStream *ReadStream::readStream(uint32 dataSize) {
 	return new MemoryReadStream((byte *)buf, dataSize, DisposeAfterUse::YES);
 }
 
+Common::String ReadStream::readPascalString(bool transformCR) {
+	Common::String s;
+	char *buf;
+	int len;
+	int i;
+
+	len = readByte();
+	buf = (char *)malloc(len + 1);
+	for (i = 0; i < len; i++) {
+		buf[i] = readByte();
+		if (transformCR && buf[i] == 0x0d)
+			buf[i] = '\n';
+	}
+
+	buf[i] = 0;
+
+	s = buf;
+	free(buf);
+
+	return s;
+}
 
 uint32 MemoryReadStream::read(void *dataPtr, uint32 dataSize) {
 	// Read at most as many bytes as are still available...
diff --git a/common/stream.h b/common/stream.h
index 3010772..0ff430f 100644
--- a/common/stream.h
+++ b/common/stream.h
@@ -427,6 +427,14 @@ public:
 	 */
 	SeekableReadStream *readStream(uint32 dataSize);
 
+	/**
+	 * Read stream in Pascal format, that is, one byte is
+	 * string length, followed by string data
+	 *
+	 * @param transformCR	if set (default), then transform \r into \n
+	 */
+	Common::String readPascalString(bool transformCR = true);
+
 };
 
 


Commit: 95d047767417504dac9ff6cbe9d86b63baea3ce8
    https://github.com/scummvm/scummvm/commit/95d047767417504dac9ff6cbe9d86b63baea3ce8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-14T12:46:27+01:00

Commit Message:
WAGE: Switch to the common readPascalString

Changed paths:
    engines/wage/entities.cpp
    engines/wage/util.cpp
    engines/wage/wage.h
    engines/wage/world.cpp


diff --git a/engines/wage/entities.cpp b/engines/wage/entities.cpp
index 90247a5..f4981a7 100644
--- a/engines/wage/entities.cpp
+++ b/engines/wage/entities.cpp
@@ -123,11 +123,11 @@ Scene::Scene(Common::String name, Common::SeekableReadStream *data) {
 	_soundFrequency = data->readSint16BE();
 	_soundType = data->readByte();
 	data->readByte(); // unknown
-	_messages[NORTH] = readPascalString(data);
-	_messages[SOUTH] = readPascalString(data);
-	_messages[EAST] = readPascalString(data);
-	_messages[WEST] = readPascalString(data);
-	_soundName = readPascalString(data);
+	_messages[NORTH] = data->readPascalString();
+	_messages[SOUTH] = data->readPascalString();
+	_messages[EAST] = data->readPascalString();
+	_messages[WEST] = data->readPascalString();
+	_soundName = data->readPascalString();
 
 	_visited = false;
 
@@ -229,12 +229,12 @@ Obj::Obj(Common::String name, Common::SeekableReadStream *data, int resourceId)
 	else
 		error("Obj <%s> had weird returnTo set", name.c_str());
 
-	_sceneOrOwner = readPascalString(data);
-	_clickMessage = readPascalString(data);
-	_operativeVerb = readPascalString(data);
-	_failureMessage = readPascalString(data);
-	_useMessage = readPascalString(data);
-	_sound = readPascalString(data);
+	_sceneOrOwner = data->readPascalString();
+	_clickMessage = data->readPascalString();
+	_operativeVerb = data->readPascalString();
+	_failureMessage = data->readPascalString();
+	_useMessage = data->readPascalString();
+	_sound = data->readPascalString();
 
 	delete data;
 }
@@ -329,27 +329,27 @@ Chr::Chr(Common::String name, Common::SeekableReadStream *data) {
 	else
 		_nameProperNoun = false;
 
-	_initialScene = readPascalString(data);
-	_nativeWeapon1 = readPascalString(data);
-	_operativeVerb1 = readPascalString(data);
-	_nativeWeapon2 = readPascalString(data);
-	_operativeVerb2 = readPascalString(data);
-
-	_initialComment = readPascalString(data);
-	_scoresHitComment = readPascalString(data);
-	_receivesHitComment = readPascalString(data);
-	_makesOfferComment = readPascalString(data);
-	_rejectsOfferComment = readPascalString(data);
-	_acceptsOfferComment = readPascalString(data);
-	_dyingWords = readPascalString(data);
-
-	_initialSound = readPascalString(data);
-	_scoresHitSound = readPascalString(data);
-	_receivesHitSound = readPascalString(data);
-	_dyingSound = readPascalString(data);
-
-	_weaponSound1 = readPascalString(data);
-	_weaponSound2 = readPascalString(data);
+	_initialScene = data->readPascalString();
+	_nativeWeapon1 = data->readPascalString();
+	_operativeVerb1 = data->readPascalString();
+	_nativeWeapon2 = data->readPascalString();
+	_operativeVerb2 = data->readPascalString();
+
+	_initialComment = data->readPascalString();
+	_scoresHitComment = data->readPascalString();
+	_receivesHitComment = data->readPascalString();
+	_makesOfferComment = data->readPascalString();
+	_rejectsOfferComment = data->readPascalString();
+	_acceptsOfferComment = data->readPascalString();
+	_dyingWords = data->readPascalString();
+
+	_initialSound = data->readPascalString();
+	_scoresHitSound = data->readPascalString();
+	_receivesHitSound = data->readPascalString();
+	_dyingSound = data->readPascalString();
+
+	_weaponSound1 = data->readPascalString();
+	_weaponSound2 = data->readPascalString();
 
 	for (int i = 0; i < NUMBER_OF_ARMOR_TYPES; i++)
 		_armor[i] = NULL;
diff --git a/engines/wage/util.cpp b/engines/wage/util.cpp
index 6cab7f8..f2073ac 100644
--- a/engines/wage/util.cpp
+++ b/engines/wage/util.cpp
@@ -51,28 +51,6 @@
 
 namespace Wage {
 
-Common::String readPascalString(Common::SeekableReadStream *in) {
-	Common::String s;
-	char *buf;
-	int len;
-	int i;
-
-	len = in->readByte();
-	buf = (char *)malloc(len + 1);
-	for (i = 0; i < len; i++) {
-		buf[i] = in->readByte();
-		if (buf[i] == 0x0d)
-			buf[i] = '\n';
-	}
-
-	buf[i] = 0;
-
-	s = buf;
-	free(buf);
-
-	return s;
-}
-
 Common::Rect *readRect(Common::SeekableReadStream *in) {
 	int x1, y1, x2, y2;
 
diff --git a/engines/wage/wage.h b/engines/wage/wage.h
index 38c5294..4c93399 100644
--- a/engines/wage/wage.h
+++ b/engines/wage/wage.h
@@ -103,7 +103,6 @@ enum {
 	// the current limitation is 32 debug levels (1 << 31 is the last one)
 };
 
-Common::String readPascalString(Common::SeekableReadStream *in);
 Common::Rect *readRect(Common::SeekableReadStream *in);
 const char *getIndefiniteArticle(const Common::String &word);
 const char *prependGenderSpecificPronoun(int gender);
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 90d6897..2e99af9 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -156,13 +156,13 @@ bool World::loadWorld(Common::MacResManager *resMan) {
 			error("Unexpected value for weapons menu");
 
 		res->skip(3);
-		_aboutMessage = readPascalString(res);
+		_aboutMessage = res->readPascalString();
 
 		if (!scumm_stricmp(resMan->getBaseFileName().c_str(), "Scepters"))
 			res->skip(1); // ????
 
-		_soundLibrary1 = readPascalString(res);
-		_soundLibrary2 = readPascalString(res);
+		_soundLibrary1 = res->readPascalString();
+		_soundLibrary2 = res->readPascalString();
 
 		delete res;
 	}
@@ -337,8 +337,8 @@ void World::addSound(Sound *sound) {
 Common::StringArray *World::readMenu(Common::SeekableReadStream *res) {
 	res->skip(10);
 	int enableFlags = res->readUint32BE();
-	Common::String menuName = readPascalString(res);
-	Common::String menuItem = readPascalString(res);
+	Common::String menuName = res->readPascalString();
+	Common::String menuItem = res->readPascalString();
 	int menuItemNumber = 1;
 	Common::String menu;
 	byte itemData[4];
@@ -363,7 +363,7 @@ Common::StringArray *World::readMenu(Common::SeekableReadStream *res) {
 			menu += '/';
 			menu += (char)itemData[1];
 		}
-		menuItem = readPascalString(res);
+		menuItem = res->readPascalString();
 		menuItemNumber++;
 	}
 
@@ -408,7 +408,7 @@ Common::String *World::loadStringFromDITL(Common::MacResManager *resMan, int res
 		for (int i = 0; i <= itemCount; i++) {
 			// int placeholder; short rect[4]; byte flags; pstring str;
 			res->skip(13);
-			Common::String message = readPascalString(res);
+			Common::String message = res->readPascalString();
 			if (i == itemIndex) {
 				Common::String *msg = new Common::String(message);
 				delete res;


Commit: a0907d26792dcd8301d24c821e3375c41c41b04a
    https://github.com/scummvm/scummvm/commit/a0907d26792dcd8301d24c821e3375c41c41b04a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-14T13:04:21+01:00

Commit Message:
GRAPHICS: MACGUI: Added method for reading menu from resource

Changed paths:
    graphics/macgui/macmenu.cpp
    graphics/macgui/macmenu.h


diff --git a/graphics/macgui/macmenu.cpp b/graphics/macgui/macmenu.cpp
index 449cf58..4017dde 100644
--- a/graphics/macgui/macmenu.cpp
+++ b/graphics/macgui/macmenu.cpp
@@ -112,6 +112,49 @@ Menu::~Menu() {
 	}
 }
 
+Common::StringArray *Menu::readMenuFromResource(Common::SeekableReadStream *res) {
+	res->skip(10);
+	int enableFlags = res->readUint32BE();
+	Common::String menuName = res->readPascalString();
+	Common::String menuItem = res->readPascalString();
+	int menuItemNumber = 1;
+	Common::String menu;
+	byte itemData[4];
+
+	while (!menuItem.empty()) {
+		if (!menu.empty()) {
+			menu += ';';
+		}
+		if ((enableFlags & (1 << menuItemNumber)) == 0) {
+			menu += '(';
+		}
+		menu += menuItem;
+		res->read(itemData, 4);
+		static const char styles[] = {'B', 'I', 'U', 'O', 'S', 'C', 'E', 0};
+		for (int i = 0; styles[i] != 0; i++) {
+			if ((itemData[3] & (1 << i)) != 0) {
+				menu += '<';
+				menu += styles[i];
+			}
+		}
+		if (itemData[1] != 0) {
+			menu += '/';
+			menu += (char)itemData[1];
+		}
+		menuItem = res->readPascalString();
+		menuItemNumber++;
+	}
+
+	Common::StringArray *result = new Common::StringArray;
+	result->push_back(menuName);
+	result->push_back(menu);
+
+	debug(4, "menuName: %s", menuName.c_str());
+	debug(4, "menu: %s", menu.c_str());
+
+	return result;
+}
+
 void Menu::addStaticMenus(const MenuData *data) {
 	MenuItem *about = new MenuItem(_wm->_fontMan->hasBuiltInFonts() ? "\xa9" : "\xf0"); // (c) Symbol as the most resembling apple
 	_items.push_back(about);
diff --git a/graphics/macgui/macmenu.h b/graphics/macgui/macmenu.h
index 8e02ee1..39fc575 100644
--- a/graphics/macgui/macmenu.h
+++ b/graphics/macgui/macmenu.h
@@ -23,6 +23,8 @@
 #ifndef GRAPHICS_MACGUI_MACMENU_H
 #define GRAPHICS_MACGUI_MACMENU_H
 
+#include "common/str-array.h"
+
 namespace Graphics {
 
 struct MenuItem;
@@ -41,6 +43,8 @@ public:
 	Menu(int id, const Common::Rect &bounds, MacWindowManager *wm);
 	~Menu();
 
+	static Common::StringArray *readMenuFromResource(Common::SeekableReadStream *res);
+
 	void setCommandsCallback(void (*callback)(int, Common::String &, void *), void *data) { _ccallback = callback; _cdata = data; }
 
 	void addStaticMenus(const MenuData *data);


Commit: 8690fe444e6959bc2aa17ba7517303dbceda86c8
    https://github.com/scummvm/scummvm/commit/8690fe444e6959bc2aa17ba7517303dbceda86c8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-14T13:04:40+01:00

Commit Message:
WAGE: Switch menu reading to common code

Changed paths:
    engines/wage/world.cpp
    engines/wage/world.h


diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 2e99af9..9118c8b 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -46,7 +46,9 @@
  */
 
 #include "common/file.h"
+#include "graphics/macgui/macwindowmanager.h"
 #include "graphics/macgui/macfontmanager.h"
+#include "graphics/macgui/macmenu.h"
 
 #include "wage/wage.h"
 #include "wage/entities.h"
@@ -294,7 +296,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
 
 	res = resMan->getResource(MKTAG('M','E','N','U'), 2001);
 	if (res != NULL) {
-		Common::StringArray *menu = readMenu(res);
+		Common::StringArray *menu = Graphics::Menu::readMenuFromResource(res);
 		_aboutMenuItemName.clear();
 		Common::String string = menu->operator[](1);
 
@@ -306,7 +308,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
 	}
 	res = resMan->getResource(MKTAG('M','E','N','U'), 2004);
 	if (res != NULL) {
-		Common::StringArray *menu = readMenu(res);
+		Common::StringArray *menu = Graphics::Menu::readMenuFromResource(res);
 		_commandsMenuName = menu->operator[](0);
 		_commandsMenu = menu->operator[](1);
 		delete menu;
@@ -314,7 +316,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
 	}
 	res = resMan->getResource(MKTAG('M','E','N','U'), 2005);
 	if (res != NULL) {
-		Common::StringArray *menu = readMenu(res);
+		Common::StringArray *menu = Graphics::Menu::readMenuFromResource(res);
 		_weaponsMenuName = menu->operator[](0);
 		delete menu;
 		delete res;
@@ -334,49 +336,6 @@ void World::addSound(Sound *sound) {
 	_orderedSounds.push_back(sound);
 }
 
-Common::StringArray *World::readMenu(Common::SeekableReadStream *res) {
-	res->skip(10);
-	int enableFlags = res->readUint32BE();
-	Common::String menuName = res->readPascalString();
-	Common::String menuItem = res->readPascalString();
-	int menuItemNumber = 1;
-	Common::String menu;
-	byte itemData[4];
-
-	while (!menuItem.empty()) {
-		if (!menu.empty()) {
-			menu += ';';
-		}
-		if ((enableFlags & (1 << menuItemNumber)) == 0) {
-			menu += '(';
-		}
-		menu += menuItem;
-		res->read(itemData, 4);
-		static const char styles[] = {'B', 'I', 'U', 'O', 'S', 'C', 'E', 0};
-		for (int i = 0; styles[i] != 0; i++) {
-			if ((itemData[3] & (1 << i)) != 0) {
-				menu += '<';
-				menu += styles[i];
-			}
-		}
-		if (itemData[1] != 0) {
-			menu += '/';
-			menu += (char)itemData[1];
-		}
-		menuItem = res->readPascalString();
-		menuItemNumber++;
-	}
-
-	Common::StringArray *result = new Common::StringArray;
-	result->push_back(menuName);
-	result->push_back(menu);
-
-	debug(4, "menuName: %s", menuName.c_str());
-	debug(4, "menu: %s", menu.c_str());
-
-	return result;
-}
-
 void World::loadExternalSounds(Common::String fname) {
 	Common::File in;
 
diff --git a/engines/wage/world.h b/engines/wage/world.h
index b5ad33a..dbcf710 100644
--- a/engines/wage/world.h
+++ b/engines/wage/world.h
@@ -134,9 +134,6 @@ public:
 	}
 
 	void addSound(Sound *sound);
-
-private:
-	Common::StringArray *readMenu(Common::SeekableReadStream *res);
 };
 
 } // End of namespace Wage


Commit: 0ecaa79f08d7cf4caed3f274a728906de5e2115a
    https://github.com/scummvm/scummvm/commit/0ecaa79f08d7cf4caed3f274a728906de5e2115a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-14T13:17:38+01:00

Commit Message:
GRAPHICS: Renamed Menu to MacMenu to avoid potential name collision

Changed paths:
    engines/macventure/gui.cpp
    engines/macventure/gui.h
    engines/wage/gui.cpp
    engines/wage/gui.h
    engines/wage/world.cpp
    graphics/macgui/macmenu.cpp
    graphics/macgui/macmenu.h
    graphics/macgui/macwindowmanager.cpp
    graphics/macgui/macwindowmanager.h


diff --git a/engines/macventure/gui.cpp b/engines/macventure/gui.cpp
index 87d5161..0008e34 100644
--- a/engines/macventure/gui.cpp
+++ b/engines/macventure/gui.cpp
@@ -68,7 +68,7 @@ enum {
 
 const bool kLoadStaticMenus = true;
 
-static const Graphics::MenuData menuSubItems[] = {
+static const Graphics::MacMenuData menuSubItems[] = {
 	{ kMenuHighLevel,	"File",				0, 0, false },
 	{ kMenuHighLevel,	"Edit",				0, 0, false },
 	{ kMenuHighLevel,	"Special",			0, 0, false },
diff --git a/engines/macventure/gui.h b/engines/macventure/gui.h
index b57e00f..fa27e16 100644
--- a/engines/macventure/gui.h
+++ b/engines/macventure/gui.h
@@ -183,7 +183,7 @@ private: // Attributes
 	Graphics::MacWindow *_exitsWindow;
 	Graphics::MacWindow *_diplomaWindow;
 	Common::Array<Graphics::MacWindow*> _inventoryWindows;
-	Graphics::Menu *_menu;
+	Graphics::MacMenu *_menu;
 	Dialog *_dialog;
 
 	Container *_graphics;
diff --git a/engines/wage/gui.cpp b/engines/wage/gui.cpp
index e434060..130747c 100644
--- a/engines/wage/gui.cpp
+++ b/engines/wage/gui.cpp
@@ -61,7 +61,7 @@
 
 namespace Wage {
 
-static const Graphics::MenuData menuSubItems[] = {
+static const Graphics::MacMenuData menuSubItems[] = {
 	{ kMenuHighLevel, "File",	0, 0, false },
 	{ kMenuHighLevel, "Edit",	0, 0, false },
 	{ kMenuFile, "New",			kMenuActionNew, 0, false },
diff --git a/engines/wage/gui.h b/engines/wage/gui.h
index cf76c64..10eb782 100644
--- a/engines/wage/gui.h
+++ b/engines/wage/gui.h
@@ -179,7 +179,7 @@ public:
 private:
 
 	Graphics::ManagedSurface _console;
-	Graphics::Menu *_menu;
+	Graphics::MacMenu *_menu;
 	bool _sceneDirty;
 	bool _consoleDirty;
 
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 9118c8b..465240a 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -296,7 +296,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
 
 	res = resMan->getResource(MKTAG('M','E','N','U'), 2001);
 	if (res != NULL) {
-		Common::StringArray *menu = Graphics::Menu::readMenuFromResource(res);
+		Common::StringArray *menu = Graphics::MacMenu::readMenuFromResource(res);
 		_aboutMenuItemName.clear();
 		Common::String string = menu->operator[](1);
 
@@ -308,7 +308,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
 	}
 	res = resMan->getResource(MKTAG('M','E','N','U'), 2004);
 	if (res != NULL) {
-		Common::StringArray *menu = Graphics::Menu::readMenuFromResource(res);
+		Common::StringArray *menu = Graphics::MacMenu::readMenuFromResource(res);
 		_commandsMenuName = menu->operator[](0);
 		_commandsMenu = menu->operator[](1);
 		delete menu;
@@ -316,7 +316,7 @@ bool World::loadWorld(Common::MacResManager *resMan) {
 	}
 	res = resMan->getResource(MKTAG('M','E','N','U'), 2005);
 	if (res != NULL) {
-		Common::StringArray *menu = Graphics::Menu::readMenuFromResource(res);
+		Common::StringArray *menu = Graphics::MacMenu::readMenuFromResource(res);
 		_weaponsMenuName = menu->operator[](0);
 		delete menu;
 		delete res;
diff --git a/graphics/macgui/macmenu.cpp b/graphics/macgui/macmenu.cpp
index 4017dde..6cb14f9 100644
--- a/graphics/macgui/macmenu.cpp
+++ b/graphics/macgui/macmenu.cpp
@@ -61,7 +61,7 @@ enum {
 };
 
 
-struct MenuSubItem {
+struct MacMenuSubItem {
 	Common::String text;
 	int action;
 	int style;
@@ -69,21 +69,21 @@ struct MenuSubItem {
 	bool enabled;
 	Common::Rect bbox;
 
-	MenuSubItem(const char *t, int a, int s = 0, char sh = 0, bool e = true) : text(t), action(a), style(s), shortcut(sh), enabled(e) {}
+	MacMenuSubItem(const char *t, int a, int s = 0, char sh = 0, bool e = true) : text(t), action(a), style(s), shortcut(sh), enabled(e) {}
 };
 
-typedef Common::Array<MenuSubItem *> SubItemArray;
+typedef Common::Array<MacMenuSubItem *> SubItemArray;
 
-struct MenuItem {
+struct MacMenuItem {
 	Common::String name;
 	SubItemArray subitems;
 	Common::Rect bbox;
 	Common::Rect subbbox;
 
-	MenuItem(const char *n) : name(n) {}
+	MacMenuItem(const char *n) : name(n) {}
 };
 
-Menu::Menu(int id, const Common::Rect &bounds, MacWindowManager *wm)
+MacMenu::MacMenu(int id, const Common::Rect &bounds, MacWindowManager *wm)
 		: BaseMacWindow(id, false, wm) {
 	_font = getMenuFont();
 
@@ -104,7 +104,7 @@ Menu::Menu(int id, const Common::Rect &bounds, MacWindowManager *wm)
 	_tempSurface.create(_screen.w, _font->getFontHeight(), PixelFormat::createFormatCLUT8());
 }
 
-Menu::~Menu() {
+MacMenu::~MacMenu() {
 	for (uint i = 0; i < _items.size(); i++) {
 		for (uint j = 0; j < _items[i]->subitems.size(); j++)
 			delete _items[i]->subitems[j];
@@ -112,7 +112,7 @@ Menu::~Menu() {
 	}
 }
 
-Common::StringArray *Menu::readMenuFromResource(Common::SeekableReadStream *res) {
+Common::StringArray *MacMenu::readMenuFromResource(Common::SeekableReadStream *res) {
 	res->skip(10);
 	int enableFlags = res->readUint32BE();
 	Common::String menuName = res->readPascalString();
@@ -155,38 +155,38 @@ Common::StringArray *Menu::readMenuFromResource(Common::SeekableReadStream *res)
 	return result;
 }
 
-void Menu::addStaticMenus(const MenuData *data) {
-	MenuItem *about = new MenuItem(_wm->_fontMan->hasBuiltInFonts() ? "\xa9" : "\xf0"); // (c) Symbol as the most resembling apple
+void MacMenu::addStaticMenus(const MacMenuData *data) {
+	MacMenuItem *about = new MacMenuItem(_wm->_fontMan->hasBuiltInFonts() ? "\xa9" : "\xf0"); // (c) Symbol as the most resembling apple
 	_items.push_back(about);
 
 	for (int i = 0; data[i].menunum; i++) {
-		const MenuData *m = &data[i];
+		const MacMenuData *m = &data[i];
 
 		if (m->menunum == kMenuHighLevel) {
-			MenuItem *item = new MenuItem(m->title);
+			MacMenuItem *item = new MacMenuItem(m->title);
 			_items.push_back(item);
 
 			continue;
 		}
 
-		_items[m->menunum]->subitems.push_back(new MenuSubItem(m->title, m->action, 0, m->shortcut, m->enabled));
+		_items[m->menunum]->subitems.push_back(new MacMenuSubItem(m->title, m->action, 0, m->shortcut, m->enabled));
 	}
 }
 
-int Menu::addMenuItem(const char *name) {
-	MenuItem *i = new MenuItem(name);
+int MacMenu::addMenuItem(const char *name) {
+	MacMenuItem *i = new MacMenuItem(name);
 	_items.push_back(i);
 
 	return _items.size() - 1;
 }
 
-void Menu::addMenuSubItem(int id, const char *text, int action, int style, char shortcut, bool enabled) {
-	_items[id]->subitems.push_back(new MenuSubItem(text, action, style, shortcut, enabled));
+void MacMenu::addMenuSubItem(int id, const char *text, int action, int style, char shortcut, bool enabled) {
+	_items[id]->subitems.push_back(new MacMenuSubItem(text, action, style, shortcut, enabled));
 
 	calcMenuBounds(_items[id]);
 }
 
-void Menu::calcDimensions() {
+void MacMenu::calcDimensions() {
 	// Calculate menu dimensions
 	int y = 1;
 	int x = 18;
@@ -207,8 +207,8 @@ void Menu::calcDimensions() {
 	}
 }
 
-void Menu::clearSubMenu(int id) {
-	MenuItem *menu = _items[id];
+void MacMenu::clearSubMenu(int id) {
+	MacMenuItem *menu = _items[id];
 
 	for (uint j = 0; j < menu->subitems.size(); j++)
 		delete menu->subitems[j];
@@ -216,10 +216,10 @@ void Menu::clearSubMenu(int id) {
 	menu->subitems.clear();
 }
 
-void Menu::createSubMenuFromString(int id, const char *str) {
+void MacMenu::createSubMenuFromString(int id, const char *str) {
 	clearSubMenu(id);
 
-	MenuItem *menu = _items[id];
+	MacMenuItem *menu = _items[id];
 	Common::String string(str);
 
 	Common::String item;
@@ -229,7 +229,7 @@ void Menu::createSubMenuFromString(int id, const char *str) {
 			item += string[i++];
 
 		if (item == "(-") {
-			menu->subitems.push_back(new MenuSubItem(NULL, 0));
+			menu->subitems.push_back(new MacMenuSubItem(NULL, 0));
 		} else {
 			bool enabled = true;
 			int style = 0;
@@ -278,7 +278,7 @@ void Menu::createSubMenuFromString(int id, const char *str) {
 					}
 			}
 
-			menu->subitems.push_back(new MenuSubItem(item.c_str(), kMenuActionCommand, style, shortcut, enabled));
+			menu->subitems.push_back(new MacMenuSubItem(item.c_str(), kMenuActionCommand, style, shortcut, enabled));
 		}
 
 		item.clear();
@@ -287,11 +287,11 @@ void Menu::createSubMenuFromString(int id, const char *str) {
 	calcMenuBounds(menu);
 }
 
-const Font *Menu::getMenuFont() {
+const Font *MacMenu::getMenuFont() {
 	return _wm->_fontMan->getFont(Graphics::MacFont(kMacFontChicago, 12));
 }
 
-const char *Menu::getAcceleratorString(MenuSubItem *item, const char *prefix) {
+const char *MacMenu::getAcceleratorString(MacMenuSubItem *item, const char *prefix) {
 	static char res[20];
 	*res = 0;
 
@@ -301,10 +301,10 @@ const char *Menu::getAcceleratorString(MenuSubItem *item, const char *prefix) {
 	return res;
 }
 
-int Menu::calculateMenuWidth(MenuItem *menu) {
+int MacMenu::calculateMenuWidth(MacMenuItem *menu) {
 	int maxWidth = 0;
 	for (uint i = 0; i < menu->subitems.size(); i++) {
-		MenuSubItem *item = menu->subitems[i];
+		MacMenuSubItem *item = menu->subitems[i];
 		if (!item->text.empty()) {
 			Common::String text(item->text);
 			Common::String acceleratorText(getAcceleratorString(item, "  "));
@@ -321,7 +321,7 @@ int Menu::calculateMenuWidth(MenuItem *menu) {
 	return maxWidth;
 }
 
-void Menu::calcMenuBounds(MenuItem *menu) {
+void MacMenu::calcMenuBounds(MacMenuItem *menu) {
 	// TODO: cache maxWidth
 	int maxWidth = calculateMenuWidth(menu);
 	int x1 = menu->bbox.left - 1;
@@ -346,7 +346,7 @@ static void drawFilledRoundRect(ManagedSurface *surface, Common::Rect &rect, int
 	drawRoundRect(rect, arc, color, true, drawPixelPlain, surface);
 }
 
-bool Menu::draw(ManagedSurface *g, bool forceRedraw) {
+bool MacMenu::draw(ManagedSurface *g, bool forceRedraw) {
 	Common::Rect r(_bbox);
 
 	if (!_contentIsDirty && !forceRedraw)
@@ -367,7 +367,7 @@ bool Menu::draw(ManagedSurface *g, bool forceRedraw) {
 
 	for (uint i = 0; i < _items.size(); i++) {
 		int color = kColorBlack;
-		MenuItem *it = _items[i];
+		MacMenuItem *it = _items[i];
 
 		if ((uint)_activeItem == i) {
 			Common::Rect hbox = it->bbox;
@@ -393,7 +393,7 @@ bool Menu::draw(ManagedSurface *g, bool forceRedraw) {
 	return true;
 }
 
-void Menu::renderSubmenu(MenuItem *menu) {
+void MacMenu::renderSubmenu(MacMenuItem *menu) {
 	Common::Rect *r = &menu->subbbox;
 
 	if (r->width() == 0 || r->height() == 0)
@@ -470,7 +470,7 @@ void Menu::renderSubmenu(MenuItem *menu) {
 	//g_system->copyRectToScreen(_screen.getBasePtr(r->left, r->top), _screen.pitch, r->left, r->top, r->width() + 2, r->height() + 2);
 }
 
-bool Menu::processEvent(Common::Event &event) {
+bool MacMenu::processEvent(Common::Event &event) {
 	switch (event.type) {
 	case Common::EVENT_KEYDOWN:
 		return keyEvent(event);
@@ -485,7 +485,7 @@ bool Menu::processEvent(Common::Event &event) {
 	}
 }
 
-bool Menu::keyEvent(Common::Event &event) {
+bool MacMenu::keyEvent(Common::Event &event) {
 	if (event.type != Common::EVENT_KEYDOWN)
 		return false;
 
@@ -498,7 +498,7 @@ bool Menu::keyEvent(Common::Event &event) {
 	return false;
 }
 
-bool Menu::mouseClick(int x, int y) {
+bool MacMenu::mouseClick(int x, int y) {
 	if (_bbox.contains(x, y)) {
 		for (uint i = 0; i < _items.size(); i++)
 			if (_items[i]->bbox.contains(x, y)) {
@@ -522,7 +522,7 @@ bool Menu::mouseClick(int x, int y) {
 				return true;
 			}
 	} else if (_menuActivated && _items[_activeItem]->subbbox.contains(x, y)) {
-		MenuItem *it = _items[_activeItem];
+		MacMenuItem *it = _items[_activeItem];
 		int numSubItem = (y - it->subbbox.top) / kMenuDropdownItemHeight;
 
 		if (numSubItem != _activeSubItem) {
@@ -541,7 +541,7 @@ bool Menu::mouseClick(int x, int y) {
 	return false;
 }
 
-bool Menu::mouseMove(int x, int y) {
+bool MacMenu::mouseMove(int x, int y) {
 	if (_menuActivated)
 		if (mouseClick(x, y))
 			return true;
@@ -549,7 +549,7 @@ bool Menu::mouseMove(int x, int y) {
 	return false;
 }
 
-bool Menu::mouseRelease(int x, int y) {
+bool MacMenu::mouseRelease(int x, int y) {
 	if (_menuActivated) {
 		_menuActivated = false;
 
@@ -568,7 +568,7 @@ bool Menu::mouseRelease(int x, int y) {
 	return false;
 }
 
-bool Menu::processMenuShortCut(byte flags, uint16 ascii) {
+bool MacMenu::processMenuShortCut(byte flags, uint16 ascii) {
 	ascii = tolower(ascii);
 
 	if (flags & (Common::KBD_CTRL | Common::KBD_META)) {
@@ -583,7 +583,7 @@ bool Menu::processMenuShortCut(byte flags, uint16 ascii) {
 	return false;
 }
 
-void Menu::enableCommand(int menunum, int action, bool state) {
+void MacMenu::enableCommand(int menunum, int action, bool state) {
 	for (uint i = 0; i < _items[menunum]->subitems.size(); i++)
 		if (_items[menunum]->subitems[i]->action == action)
 			_items[menunum]->subitems[i]->enabled = state;
@@ -591,7 +591,7 @@ void Menu::enableCommand(int menunum, int action, bool state) {
 	_contentIsDirty = true;
 }
 
-void Menu::disableAllMenus() {
+void MacMenu::disableAllMenus() {
 	for (uint i = 1; i < _items.size(); i++) // Leave About menu on
 		for (uint j = 0; j < _items[i]->subitems.size(); j++)
 			_items[i]->subitems[j]->enabled = false;
diff --git a/graphics/macgui/macmenu.h b/graphics/macgui/macmenu.h
index 39fc575..e7dde9a 100644
--- a/graphics/macgui/macmenu.h
+++ b/graphics/macgui/macmenu.h
@@ -27,10 +27,10 @@
 
 namespace Graphics {
 
-struct MenuItem;
-struct MenuSubItem;
+struct MacMenuItem;
+struct MacMenuSubItem;
 
-struct MenuData {
+struct MacMenuData {
 	int menunum;
 	const char *title;
 	int action;
@@ -38,16 +38,16 @@ struct MenuData {
 	bool enabled;
 };
 
-class Menu : public BaseMacWindow {
+class MacMenu : public BaseMacWindow {
 public:
-	Menu(int id, const Common::Rect &bounds, MacWindowManager *wm);
-	~Menu();
+	MacMenu(int id, const Common::Rect &bounds, MacWindowManager *wm);
+	~MacMenu();
 
 	static Common::StringArray *readMenuFromResource(Common::SeekableReadStream *res);
 
 	void setCommandsCallback(void (*callback)(int, Common::String &, void *), void *data) { _ccallback = callback; _cdata = data; }
 
-	void addStaticMenus(const MenuData *data);
+	void addStaticMenus(const MacMenuData *data);
 	void calcDimensions();
 
 	int addMenuItem(const char *name);
@@ -72,10 +72,10 @@ private:
 
 private:
 	const Font *getMenuFont();
-	const char *getAcceleratorString(MenuSubItem *item, const char *prefix);
-	int calculateMenuWidth(MenuItem *menu);
-	void calcMenuBounds(MenuItem *menu);
-	void renderSubmenu(MenuItem *menu);
+	const char *getAcceleratorString(MacMenuSubItem *item, const char *prefix);
+	int calculateMenuWidth(MacMenuItem *menu);
+	void calcMenuBounds(MacMenuItem *menu);
+	void renderSubmenu(MacMenuItem *menu);
 
 	bool keyEvent(Common::Event &event);
 	bool mouseClick(int x, int y);
@@ -84,7 +84,7 @@ private:
 
 	bool processMenuShortCut(byte flags, uint16 ascii);
 
-	Common::Array<MenuItem *> _items;
+	Common::Array<MacMenuItem *> _items;
 
 	const Font *_font;
 
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 77f22a1..5329959 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -89,40 +89,40 @@ static const byte macCursorBeam[] = {
 	0, 0, 3, 3, 3, 0, 0, 3, 3, 3, 3,
 };
 static const byte macCursorCrossHair[] = {
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 };
 static const byte macCursorWatch[] = {
-	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
-	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
-	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
-	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
-	0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
-	1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 
-	1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 
-	1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 
-	1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 
-	1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 
-	1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 
-	0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
-	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
-	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
-	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
-	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
+	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+	0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+	1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1,
+	1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+	1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+	0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+	0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
 };
 static const byte macCursorCrossBar[] = {
 	0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
@@ -185,8 +185,8 @@ MacWindow *MacWindowManager::addWindow(bool scrollable, bool resizable, bool edi
 	return w;
 }
 
-Menu *MacWindowManager::addMenu() {
-	_menu = new Menu(_lastId, _screen->getBounds(), this);
+MacMenu *MacWindowManager::addMenu() {
+	_menu = new MacMenu(_lastId, _screen->getBounds(), this);
 
 	_windows.push_back(_menu);
 
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index 8f04861..bd597f6 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -59,7 +59,7 @@ using namespace MacGUIConstants;
 
 class ManagedSurface;
 
-class Menu;
+class MacMenu;
 
 class MacFontManager;
 
@@ -109,7 +109,7 @@ public:
 	 * afterwards.
 	 * @return Pointer to a new empty menu.
 	 */
-	Menu *addMenu();
+	MacMenu *addMenu();
 	/**
 	 * Set the desired window state to active.
 	 * @param id ID of the window that has to be set to active.
@@ -191,7 +191,7 @@ private:
 
 	MacPatterns _patterns;
 
-	Menu *_menu;
+	MacMenu *_menu;
 
 	bool _cursorIsArrow;
 };





More information about the Scummvm-git-logs mailing list