[Scummvm-cvs-logs] SF.net SVN: scummvm:[34206] scummvm/trunk/engines/parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Sat Aug 30 12:27:20 CEST 2008


Revision: 34206
          http://scummvm.svn.sourceforge.net/scummvm/?rev=34206&view=rev
Author:   peres001
Date:     2008-08-30 10:27:20 +0000 (Sat, 30 Aug 2008)

Log Message:
-----------
Moved mouse cursor loading/handling to Input class.

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/disk.h
    scummvm/trunk/engines/parallaction/gui_br.cpp
    scummvm/trunk/engines/parallaction/gui_ns.cpp
    scummvm/trunk/engines/parallaction/input.cpp
    scummvm/trunk/engines/parallaction/input.h
    scummvm/trunk/engines/parallaction/parallaction.cpp
    scummvm/trunk/engines/parallaction/parallaction.h
    scummvm/trunk/engines/parallaction/parallaction_br.cpp
    scummvm/trunk/engines/parallaction/parallaction_ns.cpp
    scummvm/trunk/engines/parallaction/saveload.cpp
    scummvm/trunk/engines/parallaction/staticres.cpp

Modified: scummvm/trunk/engines/parallaction/disk.h
===================================================================
--- scummvm/trunk/engines/parallaction/disk.h	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/disk.h	2008-08-30 10:27:20 UTC (rev 34206)
@@ -29,10 +29,12 @@
 #define PATH_LEN 200
 
 #include "common/fs.h"
+#include "common/file.h"
 
-#include "common/file.h"
 #include "graphics/surface.h"
 
+#include "parallaction/graphics.h"
+
 namespace Parallaction {
 
 class Table;

Modified: scummvm/trunk/engines/parallaction/gui_br.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/gui_br.cpp	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/gui_br.cpp	2008-08-30 10:27:20 UTC (rev 34206)
@@ -230,7 +230,7 @@
 			_vm->_gfx->setItemFrame(id, 0);
 		}
 		_selection = -1;
-		_vm->setArrowCursor();
+		_vm->_input->setArrowCursor();
 		_vm->_input->setMouseState(MOUSE_ENABLED_SHOW);
 	}
 

Modified: scummvm/trunk/engines/parallaction/gui_ns.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/gui_ns.cpp	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/gui_ns.cpp	2008-08-30 10:27:20 UTC (rev 34206)
@@ -178,7 +178,7 @@
 		uint id = _vm->_gfx->createLabel(_vm->_introFont, "SELECT LANGUAGE", 1);
 		_vm->_gfx->showLabel(id, 60, 30);
 
-		_vm->setArrowCursor();
+		_vm->_input->setArrowCursor();
 	}
 };
 
@@ -556,7 +556,7 @@
 
 		cleanup();
 
-		_vm->setArrowCursor();
+		_vm->_input->setArrowCursor();
 		_vm->_input->setMouseState(MOUSE_ENABLED_SHOW);
 		_state = CHOICE;
 	}

Modified: scummvm/trunk/engines/parallaction/input.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/input.cpp	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/input.cpp	2008-08-30 10:27:20 UTC (rev 34206)
@@ -31,6 +31,58 @@
 
 namespace Parallaction {
 
+#define MOUSEARROW_WIDTH_NS		16
+#define MOUSEARROW_HEIGHT_NS		16
+
+#define MOUSECOMBO_WIDTH_NS		32	// sizes for cursor + selected inventory item
+#define MOUSECOMBO_HEIGHT_NS		32
+
+struct MouseComboProperties {
+	int	_xOffset;
+	int	_yOffset;
+	int	_width;
+	int	_height;
+};
+/*
+// TODO: improve NS's handling of normal cursor before merging cursor code.
+MouseComboProperties	_mouseComboProps_NS = {
+	7,	// combo x offset (the icon from the inventory will be rendered from here)
+	7,	// combo y offset (ditto)
+	32,	// combo (arrow + icon) width
+	32	// combo (arrow + icon) height
+};
+*/
+MouseComboProperties	_mouseComboProps_BR = {
+	8,	// combo x offset (the icon from the inventory will be rendered from here)
+	8,	// combo y offset (ditto)
+	68,	// combo (arrow + icon) width
+	68	// combo (arrow + icon) height
+};
+
+Input::Input(Parallaction *vm) : _vm(vm) {
+	_gameType = _vm->getGameType();
+	_transCurrentHoverItem = 0;
+	_hasDelayedAction = false;  // actived when the character needs to move before taking an action
+	_mouseState = MOUSE_DISABLED;
+	_activeItem._index = 0;
+	_activeItem._id = 0;
+	_mouseButtons = 0;
+	_delayedActionZone = nullZonePtr;
+
+	initCursors();
+}
+
+Input::~Input() {
+	if (_gameType == GType_Nippon) {
+		delete _mouseArrow;
+	}
+
+	delete _comboArrow;
+	delete _dinoCursor;
+	delete _dougCursor;
+	delete _donnaCursor;
+}
+
 // FIXME: the engine has 3 event loops. The following routine hosts the main one,
 // and it's called from 8 different places in the code. There exist 2 more specialised
 // loops which could possibly be merged into this one with some effort in changing
@@ -131,8 +183,6 @@
 
 	int event = kEvNone;
 
-	readInput();
-
 	if (!isMouseEnabled() ||
 		(_engineFlags & kEngineWalking) ||
 		(_engineFlags & kEngineChangeLocation)) {
@@ -162,20 +212,14 @@
 int Input::updateInput() {
 
 	int event = kEvNone;
+	readInput();
 
 	switch (_inputMode) {
-	case kInputModeComment:
-	case kInputModeDialogue:
-	case kInputModeMenu:
-		readInput();
-		break;
-
 	case kInputModeGame:
 		event = updateGameInput();
 		break;
 
 	case kInputModeInventory:
-		readInput();
 		updateInventoryInput();
 		break;
 	}
@@ -214,7 +258,7 @@
 
 void Input::walkTo(const Common::Point &dest) {
 	stopHovering();
-	_vm->setArrowCursor();
+	setArrowCursor();
 	_vm->_char.scheduleWalk(dest.x, dest.y);
 }
 
@@ -270,7 +314,7 @@
 		}
 
 		_vm->beep();
-		_vm->setArrowCursor();
+		setArrowCursor();
 		return true;
 	}
 
@@ -286,7 +330,7 @@
 			_activeItem._index = (_activeItem._id >> 16) & 0xFFFF;
 			_engineFlags |= kEngineDragging;
 		} else {
-			_vm->setArrowCursor();
+			setArrowCursor();
 		}
 	}
 
@@ -321,12 +365,12 @@
 
 	_vm->closeInventory();
 	if (pos == -1) {
-		_vm->setArrowCursor();
+		setArrowCursor();
 	} else {
 		const InventoryItem *item = _vm->getInventoryItem(pos);
 		if (item->_index != 0) {
 			_activeItem._id = item->_id;
-			_vm->setInventoryCursor(item->_index);
+			setInventoryCursor(item->_index);
 		}
 	}
 	_vm->resumeJobs();
@@ -374,4 +418,94 @@
 	return (_mouseState == MOUSE_ENABLED_SHOW) || (_mouseState == MOUSE_ENABLED_HIDE);
 }
 
+
+void Input::initCursors() {
+
+	switch (_gameType) {
+	case GType_Nippon:
+		_comboArrow = _vm->_disk->loadPointer("pointer");
+		_mouseArrow = new Cnv(1, MOUSEARROW_WIDTH_NS, MOUSEARROW_HEIGHT_NS, _resMouseArrow_NS);
+		break;
+
+	case GType_BRA:
+		if (_vm->getPlatform() == Common::kPlatformPC) {
+			_dinoCursor = _vm->_disk->loadPointer("pointer1");
+			_dougCursor = _vm->_disk->loadPointer("pointer2");
+			_donnaCursor = _vm->_disk->loadPointer("pointer3");
+
+			Graphics::Surface *surf = new Graphics::Surface;
+			surf->create(_mouseComboProps_BR._width, _mouseComboProps_BR._height, 1);
+			_comboArrow = new SurfaceToFrames(surf);
+
+			// TODO: choose the pointer depending on the active character
+			// For now, we pick Donna's
+			_mouseArrow = _donnaCursor;
+		} else {
+			// TODO: Where are the Amiga cursors?
+			_mouseArrow = 0;
+		}
+		break;
+
+	default:
+		warning("Input::initCursors: unknown gametype");
+	}
+
+}
+
+void Input::setArrowCursor() {
+
+	switch (_gameType) {
+	case GType_Nippon:
+		debugC(1, kDebugInput, "setting mouse cursor to arrow");
+		// this stuff is needed to avoid artifacts with labels and selected items when switching cursors
+		stopHovering();
+		_activeItem._id = 0;
+		_vm->_system->setMouseCursor(_mouseArrow->getData(0), MOUSEARROW_WIDTH_NS, MOUSEARROW_HEIGHT_NS, 0, 0, 0);
+		break;
+
+	case GType_BRA: {
+		if (_vm->getPlatform() == Common::kPlatformAmiga)
+			return;
+
+		Common::Rect r;
+		_mouseArrow->getRect(0, r);
+		_vm->_system->setMouseCursor(_mouseArrow->getData(0), r.width(), r.height(), 0, 0, 0);
+		_vm->_system->showMouse(true);
+		_activeItem._id = 0;
+		break;
+	}
+
+	default:
+		warning("Input::setArrowCursor: unknown gametype");
+	}
+
+}
+
+void Input::setInventoryCursor(ItemName name) {
+	assert(name > 0);
+
+	switch (_gameType) {
+	case GType_Nippon: {
+		byte *v8 = _comboArrow->getData(0);
+		// FIXME: destination offseting is not clear
+		_vm->_inventoryRenderer->drawItem(name, v8 + 7 * MOUSECOMBO_WIDTH_NS + 7, MOUSECOMBO_WIDTH_NS);
+		_vm->_system->setMouseCursor(v8, MOUSECOMBO_WIDTH_NS, MOUSECOMBO_HEIGHT_NS, 0, 0, 0);
+		break;
+	}
+
+	case GType_BRA: {
+		byte *src = _mouseArrow->getData(0);
+		byte *dst = _comboArrow->getData(0);
+		memcpy(dst, src, _comboArrow->getSize(0));
+		// FIXME: destination offseting is not clear
+		_vm->_inventoryRenderer->drawItem(name, dst + _mouseComboProps_BR._yOffset * _mouseComboProps_BR._width + _mouseComboProps_BR._xOffset, _mouseComboProps_BR._width);
+		_vm->_system->setMouseCursor(dst, _mouseComboProps_BR._width, _mouseComboProps_BR._height, 0, 0, 0);
+	}
+
+	default:
+		warning("Input::setInventoryCursor: unknown gametype");
+	}
+
+}
+
 } // namespace Parallaction

Modified: scummvm/trunk/engines/parallaction/input.h
===================================================================
--- scummvm/trunk/engines/parallaction/input.h	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/input.h	2008-08-30 10:27:20 UTC (rev 34206)
@@ -74,6 +74,17 @@
 	void	enterInventoryMode();
 	void 	exitInventoryMode();
 
+	int		_gameType;
+
+	static byte _resMouseArrow_NS[256];
+	Frames	*_mouseArrow;
+	Frames	*_comboArrow;
+	Frames	*_dinoCursor;
+	Frames	*_dougCursor;
+	Frames	*_donnaCursor;
+
+	void initCursors();
+
 public:
 	enum {
 		kInputModeGame = 0,
@@ -84,19 +95,9 @@
 	};
 
 
-	Input(Parallaction *vm) : _vm(vm) {
-		_transCurrentHoverItem = 0;
-		_hasDelayedAction = false;  // actived when the character needs to move before taking an action
-		_mouseState = MOUSE_DISABLED;
-		_activeItem._index = 0;
-		_activeItem._id = 0;
-		_mouseButtons = 0;
-		_delayedActionZone = nullZonePtr;
-	}
+	Input(Parallaction *vm);
+	virtual ~Input();
 
-	virtual ~Input() { }
-
-
 	void			getCursorPos(Common::Point& p) {
 		p = _mousePos;
 	}
@@ -118,6 +119,9 @@
 	void setMouseState(MouseTriState state);
 	MouseTriState getMouseState();
 	bool isMouseEnabled();
+
+	void setArrowCursor();
+	void setInventoryCursor(ItemName name);
 };
 
 } // namespace Parallaction

Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp	2008-08-30 10:27:20 UTC (rev 34206)
@@ -100,8 +100,6 @@
 
 	cleanupGui();
 
-	delete _comboArrow;
-
 	delete _localFlagNames;
 	delete _gfx;
 	delete _soundMan;
@@ -134,6 +132,7 @@
 
 	initInventory();	// needs to be pushed into subclass
 
+	// this needs _disk to be already setup
 	_input = new Input(this);
 
 	_gfx = new Gfx(this);
@@ -301,13 +300,13 @@
 	case kEvSaveGame:
 		_input->stopHovering();
 		saveGame();
-		setArrowCursor();
+		_input->setArrowCursor();
 		break;
 
 	case kEvLoadGame:
 		_input->stopHovering();
 		loadGame();
-		setArrowCursor();
+		_input->setArrowCursor();
 		break;
 
 	}

Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/parallaction.h	2008-08-30 10:27:20 UTC (rev 34206)
@@ -90,10 +90,6 @@
 	kEvLoadGame		= 4000
 };
 
-enum {
-	kCursorArrow = -1
-};
-
 enum ParallactionGameType {
 	GType_Nippon = 1,
 	GType_BRA
@@ -104,7 +100,6 @@
 
 
 
-extern uint16		_mouseButtons;
 extern char			_password[8];
 extern uint16		_score;
 extern uint16		_language;
@@ -302,7 +297,6 @@
 	Common::RandomSource _rnd;
 
 	Debugger	*_debugger;
-	Frames	*_comboArrow;
 
 
 protected:		// data
@@ -337,9 +331,6 @@
 
 	virtual	void callFunction(uint index, void* parm) { }
 
-	virtual void setArrowCursor() = 0;
-	virtual void setInventoryCursor(ItemName name) = 0;
-
 	virtual void parseLocation(const char* name) = 0;
 
 	void updateDoor(ZonePtr z, bool close);
@@ -455,7 +446,6 @@
 
 	void		switchBackground(const char* background, const char* mask);
 	void		showSlide(const char *name, int x = 0, int y = 0);
-	void 		setArrowCursor();
 
 	// TODO: this should be private!!!!!!!
 	bool	_inTestResult;
@@ -479,20 +469,13 @@
 	void changeCharacter(const char *name);
 	void runPendingZones();
 
-	void setInventoryCursor(ItemName name);
-
-
 	void doLoadGame(uint16 slot);
 	void doSaveGame(uint16 slot, const char* name);
 	int  buildSaveFileList(Common::StringList& l);
 	int  selectSaveFile(uint16 arg_0, const char* caption, const char* button);
 
 	void initResources();
-	void initCursors();
 
-	static byte _resMouseArrow[256];
-	byte	*_mouseArrow;
-
 	static const Callable _dosCallables[25];
 	static const Callable _amigaCallables[25];
 
@@ -599,7 +582,6 @@
 
 	uint32		_zoneFlags[NUM_LOCATIONS][NUM_ZONES];
 	void		startPart(uint part);
-	void 		setArrowCursor();
 private:
 	LocationParser_br		*_locationParser;
 	ProgramParser_br		*_programParser;
@@ -607,9 +589,6 @@
 	void		initResources();
 	void		initFonts();
 	void		freeFonts();
-
-	void setInventoryCursor(ItemName name);
-
 	void		changeLocation(char *location);
 	void 		runPendingZones();
 
@@ -617,14 +596,7 @@
 	void		freePart();
 	void		freeLocation();
 
-	void initCursors();
 
-	Frames	*_dinoCursor;
-	Frames	*_dougCursor;
-	Frames	*_donnaCursor;
-	Frames	*_mouseArrow;
-
-
 	static const char *_partNames[];
 
 	void startGui(bool showSplash);

Modified: scummvm/trunk/engines/parallaction/parallaction_br.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction_br.cpp	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/parallaction_br.cpp	2008-08-30 10:27:20 UTC (rev 34206)
@@ -32,27 +32,6 @@
 
 namespace Parallaction {
 
-struct MouseComboProperties {
-	int	_xOffset;
-	int	_yOffset;
-	int	_width;
-	int	_height;
-};
-/*
-// TODO: improve NS's handling of normal cursor before merging cursor code.
-MouseComboProperties	_mouseComboProps_NS = {
-	7,	// combo x offset (the icon from the inventory will be rendered from here)
-	7,	// combo y offset (ditto)
-	32,	// combo (arrow + icon) width
-	32	// combo (arrow + icon) height
-};
-*/
-MouseComboProperties	_mouseComboProps_BR = {
-	8,	// combo x offset (the icon from the inventory will be rendered from here)
-	8,	// combo y offset (ditto)
-	68,	// combo (arrow + icon) width
-	68	// combo (arrow + icon) height
-};
 
 const char *Parallaction_br::_partNames[] = {
 	"PART0",
@@ -96,7 +75,6 @@
 
 	initResources();
 	initFonts();
-	initCursors();
 	_locationParser = new LocationParser_br(this);
 	_locationParser->init();
 	_programParser = new ProgramParser_br(this);
@@ -119,10 +97,6 @@
 
 Parallaction_br::~Parallaction_br() {
 	freeFonts();
-
-	delete _dinoCursor;
-	delete _dougCursor;
-	delete _donnaCursor;
 }
 
 void Parallaction_br::callFunction(uint index, void* parm) {
@@ -170,27 +144,7 @@
 	return;
 }
 
-void Parallaction_br::initCursors() {
 
-	if (getPlatform() == Common::kPlatformPC) {
-		_dinoCursor = _disk->loadPointer("pointer1");
-		_dougCursor = _disk->loadPointer("pointer2");
-		_donnaCursor = _disk->loadPointer("pointer3");
-
-		Graphics::Surface *surf = new Graphics::Surface;
-		surf->create(_mouseComboProps_BR._width, _mouseComboProps_BR._height, 1);
-		_comboArrow = new SurfaceToFrames(surf);
-
-		// TODO: choose the pointer depending on the active character
-		// For now, we pick Donna's
-		_mouseArrow = _donnaCursor;
-	} else {
-		// TODO: Where are the Amiga cursors?
-		_mouseArrow = 0;
-	}
-
-}
-
 void Parallaction_br::initPart() {
 
 	memset(_counters, 0, ARRAYSIZE(_counters));
@@ -365,30 +319,5 @@
 }
 
 
-void Parallaction_br::setArrowCursor() {
-	// FIXME: Where are the Amiga cursors?
-	if (getPlatform() == Common::kPlatformAmiga)
-		return;
 
-	Common::Rect r;
-	_mouseArrow->getRect(0, r);
-
-	_system->setMouseCursor(_mouseArrow->getData(0), r.width(), r.height(), 0, 0, 0);
-	_system->showMouse(true);
-
-	_input->_activeItem._id = 0;
-}
-
-void Parallaction_br::setInventoryCursor(ItemName name) {
-	assert(name > 0);
-
-	byte *src = _mouseArrow->getData(0);
-	byte *dst = _comboArrow->getData(0);
-	memcpy(dst, src, _comboArrow->getSize(0));
-
-	// FIXME: destination offseting is not clear
-	_inventoryRenderer->drawItem(name, dst + _mouseComboProps_BR._yOffset * _mouseComboProps_BR._width + _mouseComboProps_BR._xOffset, _mouseComboProps_BR._width);
-	_system->setMouseCursor(dst, _mouseComboProps_BR._width, _mouseComboProps_BR._height, 0, 0, 0);
-}
-
 } // namespace Parallaction

Modified: scummvm/trunk/engines/parallaction/parallaction_ns.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction_ns.cpp	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/parallaction_ns.cpp	2008-08-30 10:27:20 UTC (rev 34206)
@@ -35,12 +35,6 @@
 namespace Parallaction {
 
 
-#define MOUSEARROW_WIDTH		16
-#define MOUSEARROW_HEIGHT		16
-
-#define MOUSECOMBO_WIDTH		32	// sizes for cursor + selected inventory item
-#define MOUSECOMBO_HEIGHT		32
-
 LocationName::LocationName() {
 	_buf = 0;
 	_hasSlide = false;
@@ -135,7 +129,6 @@
 
 	initResources();
 	initFonts();
-	initCursors();
 	_locationParser = new LocationParser_ns(this);
 	_locationParser->init();
 	_programParser = new ProgramParser_ns(this);
@@ -181,33 +174,7 @@
 
 }
 
-void Parallaction_ns::initCursors() {
-	_comboArrow = _disk->loadPointer("pointer");
-	_mouseArrow = _resMouseArrow;
-}
 
-void Parallaction_ns::setArrowCursor() {
-
-	debugC(1, kDebugInput, "setting mouse cursor to arrow");
-
-	// this stuff is needed to avoid artifacts with labels and selected items when switching cursors
-	_input->stopHovering();
-	_input->_activeItem._id = 0;
-
-	_system->setMouseCursor(_mouseArrow, MOUSEARROW_WIDTH, MOUSEARROW_HEIGHT, 0, 0, 0);
-}
-
-void Parallaction_ns::setInventoryCursor(ItemName name) {
-	assert(name > 0);
-
-	byte *v8 = _comboArrow->getData(0);
-
-	// FIXME: destination offseting is not clear
-	_inventoryRenderer->drawItem(name, v8 + 7 * MOUSECOMBO_WIDTH + 7, MOUSECOMBO_WIDTH);
-	_system->setMouseCursor(v8, MOUSECOMBO_WIDTH, MOUSECOMBO_HEIGHT, 0, 0, 0);
-}
-
-
 void Parallaction_ns::callFunction(uint index, void* parm) {
 	assert(index < 25);	// magic value 25 is maximum # of callables for Nippon Safes
 
@@ -287,7 +254,7 @@
 
 	_zoneTrap = nullZonePtr;
 
-	setArrowCursor();
+	_input->setArrowCursor();
 
 	_gfx->showGfxObj(_char._ani->gfxobj, false);
 	_location._animations.remove(_char._ani);

Modified: scummvm/trunk/engines/parallaction/saveload.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/saveload.cpp	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/saveload.cpp	2008-08-30 10:27:20 UTC (rev 34206)
@@ -392,7 +392,7 @@
 	GUI::TimedMessageDialog dialog("Loading game...", 1500);
 	dialog.runModal();
 
-	setArrowCursor();
+	_input->setArrowCursor();
 
 	return true;
 }

Modified: scummvm/trunk/engines/parallaction/staticres.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/staticres.cpp	2008-08-29 22:04:15 UTC (rev 34205)
+++ scummvm/trunk/engines/parallaction/staticres.cpp	2008-08-30 10:27:20 UTC (rev 34206)
@@ -29,7 +29,7 @@
 
 namespace Parallaction {
 
-byte Parallaction_ns::_resMouseArrow[256] = {
+byte Input::_resMouseArrow_NS[256] = {
 	0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00,
 	0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x00, 0x00, 0x00,
 	0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x00, 0x00, 0x00, 0x00,


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list