[Scummvm-cvs-logs] SF.net SVN: scummvm:[44620] scummvm/trunk/engines/sci/gui

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Sun Oct 4 18:39:47 CEST 2009


Revision: 44620
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44620&view=rev
Author:   m_kiewitz
Date:     2009-10-04 16:39:46 +0000 (Sun, 04 Oct 2009)

Log Message:
-----------
SCI/gui: more renaming...

Modified Paths:
--------------
    scummvm/trunk/engines/sci/gui/gui.cpp
    scummvm/trunk/engines/sci/gui/gui.h
    scummvm/trunk/engines/sci/gui/gui_dbllist.cpp
    scummvm/trunk/engines/sci/gui/gui_font.cpp
    scummvm/trunk/engines/sci/gui/gui_font.h
    scummvm/trunk/engines/sci/gui/gui_gfx.cpp
    scummvm/trunk/engines/sci/gui/gui_gfx.h
    scummvm/trunk/engines/sci/gui/gui_helpers.h

Modified: scummvm/trunk/engines/sci/gui/gui.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui.cpp	2009-10-04 16:37:02 UTC (rev 44619)
+++ scummvm/trunk/engines/sci/gui/gui.cpp	2009-10-04 16:39:46 UTC (rev 44620)
@@ -74,7 +74,7 @@
 		case 0: _gfx->SetPort(_windowMgr->_wmgrPort); break;
 		case 0xFFFF: _gfx->SetPort(_gfx->_menuPort); break;
 		default:
-			_gfx->SetPort((sciPort *)heap2Ptr(portPtr));
+			_gfx->SetPort((GUIPort *)heap2Ptr(portPtr));
 	};
 }
 
@@ -91,19 +91,19 @@
 }
 
 void SciGUI::globalToLocal(int16 *x, int16 *y) {
-	sciPort *curPort = _gfx->GetPort();
+	GUIPort *curPort = _gfx->GetPort();
 	*x = *x - curPort->left;
 	*y = *y - curPort->top;
 }
 
 void SciGUI::localToGlobal(int16 *x, int16 *y) {
-	sciPort *curPort = _gfx->GetPort();
+	GUIPort *curPort = _gfx->GetPort();
 	*x = *x + curPort->left;
 	*y = *y + curPort->top;
 }
 
 reg_t SciGUI::newWindow(Common::Rect dims, Common::Rect restoreRect, uint16 style, int16 priority, int16 colorPen, int16 colorBack, const char *title) {
-	sciWnd *wnd = NULL;
+	GUIWindow *wnd = NULL;
 
 	if (restoreRect.top != 0 && restoreRect.left != 0 && restoreRect.height() != 0 && restoreRect.width() != 0)
 		wnd = _windowMgr->NewWindow(dims, &restoreRect, title, style, priority, 0);
@@ -116,19 +116,19 @@
 }
 
 void SciGUI::disposeWindow(uint16 windowPtr, int16 arg2) {
-	sciWnd *wnd = (sciWnd *)heap2Ptr(windowPtr);
+	GUIWindow *wnd = (GUIWindow *)heap2Ptr(windowPtr);
 	_windowMgr->DisposeWindow(wnd, arg2);
 }
 
 void SciGUI::display(const char *text, int argc, reg_t *argv) {
 	int displayArg;
-	sciPort oldPort;
+	GUIPort oldPort;
 	int16 align = 0;
 	int16 bgcolor = -1, width = -1, bRedraw = 1;
 	byte bSaveUnder = false;
-	Common::Rect rect, *orect = &((sciWnd *)_gfx->GetPort())->dims;
+	Common::Rect rect, *orect = &((GUIWindow *)_gfx->GetPort())->dims;
 
-	memcpy(&oldPort, _gfx->GetPort(), sizeof(sciPort));
+	memcpy(&oldPort, _gfx->GetPort(), sizeof(GUIPort));
 	// setting defaults
 	_gfx->PenMode(0);
 	_gfx->PenColor(0);
@@ -200,10 +200,10 @@
 //	if (_picNotValid == 0 && bRedraw)
 //		_gfx->ShowBits(rect, 1);
 	// restoring port and cursor pos
-	sciPort *currport = _gfx->GetPort();
+	GUIPort *currport = _gfx->GetPort();
 	uint16 tTop = currport->curTop;
 	uint16 tLeft = currport->curLeft;
-	memcpy(currport, &oldPort, sizeof(sciPort));
+	memcpy(currport, &oldPort, sizeof(GUIPort));
 	currport->curTop = tTop;
 	currport->curLeft = tLeft;
 
@@ -226,9 +226,9 @@
 	_gfx->SetTextColors(argc, argv);
 }
 
-void SciGUI::drawPicture(sciResourceId pictureId, uint16 style, uint16 flags, int16 EGApaletteNo) {
+void SciGUI::drawPicture(GUIResourceId pictureId, uint16 style, uint16 flags, int16 EGApaletteNo) {
 	bool addToFlag = flags ? true : false;
-	sciPort *oldPort = _gfx->SetPort((sciPort *)_windowMgr->_picWind);
+	GUIPort *oldPort = _gfx->SetPort((GUIPort *)_windowMgr->_picWind);
 
 	if (_windowMgr->isFrontWindow(_windowMgr->_picWind)) {
 		_gfx->drawPicture(pictureId, style, addToFlag, EGApaletteNo);
@@ -243,7 +243,7 @@
 	_s->pic_not_valid = 1;
 }
 
-void SciGUI::drawCell(sciResourceId viewId, uint16 loopNo, uint16 cellNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo) {
+void SciGUI::drawCell(GUIResourceId viewId, GUIViewLoopNo loopNo, GUIViewCellNo cellNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo) {
 	_gfx->drawCell(viewId, loopNo, cellNo, leftPos, topPos, priority, paletteNo);
 	_gfx->SetCLUT(&_gfx->_sysPalette);
 	_screen->UpdateWhole();
@@ -317,7 +317,7 @@
 }
 
 int16 SciGUI::onControl(byte screenMask, Common::Rect rect) {
-	sciPort *oldPort = _gfx->SetPort((sciPort *)_windowMgr->_picWind);
+	GUIPort *oldPort = _gfx->SetPort((GUIPort *)_windowMgr->_picWind);
 	int16 result;
 
 	result = _gfx->onControl(screenMask, rect);
@@ -333,12 +333,12 @@
 	// FIXME: port over from gregs engine
 }
 
-void SciGUI::addToPicView(sciResourceId viewId, uint16 loopNo, uint16 cellNo, int16 leftPos, int16 topPos, int16 priority, int16 control) {
+void SciGUI::addToPicView(GUIResourceId viewId, GUIViewLoopNo loopNo, GUIViewCellNo cellNo, int16 leftPos, int16 topPos, int16 priority, int16 control) {
 	// FIXME: port over from gregs engine
 }
 
 void SciGUI::setNowSeen(reg_t objectReference) {
-	// FIXME: port over from gregs engine
+	_gfx->SetNowSeen(objectReference);
 }
 
 void SciGUI::moveCursor(int16 x, int16 y) {

Modified: scummvm/trunk/engines/sci/gui/gui.h
===================================================================
--- scummvm/trunk/engines/sci/gui/gui.h	2009-10-04 16:37:02 UTC (rev 44619)
+++ scummvm/trunk/engines/sci/gui/gui.h	2009-10-04 16:39:46 UTC (rev 44620)
@@ -58,8 +58,8 @@
 	virtual void textFonts(int argc, reg_t *argv);
 	virtual void textColors(int argc, reg_t *argv);
 
-	virtual void drawPicture(sciResourceId pictureId, uint16 showStyle, uint16 flags, int16 EGApaletteNo);
-	virtual void drawCell(sciResourceId viewId, uint16 loopNo, uint16 cellNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo);
+	virtual void drawPicture(GUIResourceId pictureId, uint16 showStyle, uint16 flags, int16 EGApaletteNo);
+	virtual void drawCell(GUIResourceId viewId, GUIViewLoopNo loopNo, GUIViewCellNo cellNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo);
 	virtual void drawControlButton(Common::Rect rect, reg_t obj, const char *text, int16 fontId, int16 style, bool inverse);
 	virtual void drawControlText(Common::Rect rect, reg_t obj, const char *text, int16 fontId, int16 mode, int16 style, bool inverse);
 
@@ -78,7 +78,7 @@
 	// FIXME: argc/argv because of gui32.cpp, should get removed sometime
 	virtual void animate(reg_t listReference, bool cycle, int argc, reg_t *argv);
 	virtual void addToPicList(reg_t listReference, int argc, reg_t *argv);
-	virtual void addToPicView(sciResourceId viewId, uint16 loopNo, uint16 cellNo, int16 leftPos, int16 topPos, int16 priority, int16 control);
+	virtual void addToPicView(GUIResourceId viewId, GUIViewLoopNo loopNo, GUIViewCellNo cellNo, int16 leftPos, int16 topPos, int16 priority, int16 control);
 	virtual void setNowSeen(reg_t objectReference);
 
 	virtual void moveCursor(int16 x, int16 y);

Modified: scummvm/trunk/engines/sci/gui/gui_dbllist.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_dbllist.cpp	2009-10-04 16:37:02 UTC (rev 44619)
+++ scummvm/trunk/engines/sci/gui/gui_dbllist.cpp	2009-10-04 16:39:46 UTC (rev 44620)
@@ -52,7 +52,7 @@
 	debug("  First: %04X Last: %04X", _hFirst, _hLast);
 	HEAPHANDLE node = _hFirst;
 	while (node) {
-		sciNode *pNode = (sciNode *)heap2Ptr(node);
+		GUINode *pNode = (GUINode *)heap2Ptr(node);
 		debug("  %04X key=%04X prev=%04X next=%04X add.data=%db", node,
 				pNode->key, pNode->prev, pNode->next, heapGetDataSize(node) - 6);
 		node = pNode->next;
@@ -67,10 +67,10 @@
 				node);
 		return node;
 	}
-	sciNode *pNode = (sciNode *)heap2Ptr(node);
+	GUINode *pNode = (GUINode *)heap2Ptr(node);
 	pNode->key = key;
 	if (_hFirst) { // we already have  a 1st node
-		sciNode *pnext = (sciNode *)heap2Ptr(_hFirst);
+		GUINode *pnext = (GUINode *)heap2Ptr(_hFirst);
 		pnext->prev = node;
 		pNode->next = _hFirst;
 	} else { // list is empty, to passed node becames 1st one
@@ -89,9 +89,9 @@
 		warning("Bad node handler (%04X) passed to DblList::AddToEnd !", node);
 		return node;
 	}
-	sciNode *pNode = (sciNode *)heap2Ptr(node);
+	GUINode *pNode = (GUINode *)heap2Ptr(node);
 	if (_hFirst) { // list is not empty
-		sciNode *plast = (sciNode *)heap2Ptr(_hLast);
+		GUINode *plast = (GUINode *)heap2Ptr(_hLast);
 		plast->next = node;
 		pNode->prev = _hLast;
 	} else { // list is empty, so the node becames 1st one
@@ -110,7 +110,7 @@
 HEAPHANDLE DblList::FindKey(uint16 key) {
 	HEAPHANDLE node = _hFirst;
 	while (node) {
-		sciNode *pNode = (sciNode *)heap2Ptr(node);
+		GUINode *pNode = (GUINode *)heap2Ptr(node);
 		if (pNode->key == key)
 			break;
 		node = pNode->next;
@@ -133,13 +133,13 @@
 		return node;
 	}
 	// updating the links
-	sciNode *pNode = (sciNode *)heap2Ptr(node);
+	GUINode *pNode = (GUINode *)heap2Ptr(node);
 	if (pNode->prev) {
-		sciNode *pprev = (sciNode *)heap2Ptr(pNode->prev);
+		GUINode *pprev = (GUINode *)heap2Ptr(pNode->prev);
 		pprev->next = pNode->next;
 	}
 	if (pNode->next) {
-		sciNode *pnext = (sciNode *)heap2Ptr(pNode->next);
+		GUINode *pnext = (GUINode *)heap2Ptr(pNode->next);
 		pnext->prev = pNode->prev;
 	}
 	// updating list head if needed
@@ -158,7 +158,7 @@
 		warning("Bad node handler (%04X) passed to DblList::MoveToEnd !", node);
 		return node;
 	}
-	sciNode *pNode = (sciNode *)heap2Ptr(node);
+	GUINode *pNode = (GUINode *)heap2Ptr(node);
 	if (pNode->next) { // node is not the last one in list
 		DeleteNode(node);
 		AddToEnd(node, pNode->key);
@@ -173,7 +173,7 @@
 				node);
 		return node;
 	}
-	sciNode *pNode = (sciNode *)heap2Ptr(node);
+	GUINode *pNode = (GUINode *)heap2Ptr(node);
 	if (pNode->prev) { // node is not 1st one in list
 		DeleteNode(node);
 		AddToFront(node, pNode->key);
@@ -186,14 +186,14 @@
 		warning("Bad node handler (%04X) passed to DblList::AddAfter !", node);
 		return node;
 	}
-	sciNode *pNode = (sciNode *)heap2Ptr(node);
-	sciNode *pref = (sciNode *)heap2Ptr(ref);
+	GUINode *pNode = (GUINode *)heap2Ptr(node);
+	GUINode *pref = (GUINode *)heap2Ptr(ref);
 	pNode->key = key;
 	if (pref->next == 0) { // ref node is the last one
 		pNode->next = 0;
 		_hLast = node;
 	} else {
-		sciNode *pnext = (sciNode *)heap2Ptr(pref->next);
+		GUINode *pnext = (GUINode *)heap2Ptr(pref->next);
 		pNode->next = pref->next;
 		pnext->prev = node;
 	}
@@ -208,14 +208,14 @@
 		warning("Bad node handler (%04X) passed to DblList::AddBefore !", node);
 		return node;
 	}
-	sciNode *pNode = (sciNode *)heap2Ptr(node);
-	sciNode *pref = (sciNode *)heap2Ptr(ref);
+	GUINode *pNode = (GUINode *)heap2Ptr(node);
+	GUINode *pref = (GUINode *)heap2Ptr(ref);
 	pNode->key = key;
 	if (pref->prev == 0) { // ref node is the 1st one
 		pNode->prev = 0;
 		_hFirst = node;
 	} else {
-		sciNode*pprev = (sciNode *)heap2Ptr(pref->prev);
+		GUINode*pprev = (GUINode *)heap2Ptr(pref->prev);
 		pNode->prev = pref->prev;
 		pprev->next = node;
 	}
@@ -232,9 +232,9 @@
 //------------------------------------------------
 void DblList::DeleteList() {
 	HEAPHANDLE node = getFirst(), next;
-	sciNode *pNode;
+	GUINode *pNode;
 	while (node) {
-		pNode = (sciNode *)heap2Ptr(node);
+		pNode = (GUINode *)heap2Ptr(node);
 		next = pNode->next;
 		heapDisposePtr(node);
 		node = next;
@@ -245,9 +245,9 @@
 uint16 DblList::getSize() {
 	uint16 cnt = 0;
 	HEAPHANDLE node = getFirst();
-	sciNode *pNode;
+	GUINode *pNode;
 	while (node) {
-		pNode = (sciNode *)heap2Ptr(node);
+		pNode = (GUINode *)heap2Ptr(node);
 		node = pNode->next;
 		cnt++;
 	}

Modified: scummvm/trunk/engines/sci/gui/gui_font.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_font.cpp	2009-10-04 16:37:02 UTC (rev 44619)
+++ scummvm/trunk/engines/sci/gui/gui_font.cpp	2009-10-04 16:39:46 UTC (rev 44620)
@@ -31,7 +31,7 @@
 
 namespace Sci {
 
-SciGUIfont::SciGUIfont(EngineState *state, SciGUIscreen *screen, sciResourceId resourceId)
+SciGUIfont::SciGUIfont(EngineState *state, SciGUIscreen *screen, GUIResourceId resourceId)
 	: _s(state), _screen(screen), _resourceId(resourceId) {
 	assert(resourceId != -1);
 	if (_s->_gameName == "lsl1sci") {
@@ -44,7 +44,7 @@
 SciGUIfont::~SciGUIfont() {
 }
 
-void SciGUIfont::initData(sciResourceId resourceId) {
+void SciGUIfont::initData(GUIResourceId resourceId) {
 	Resource *fontResource = _s->resMan->findResource(ResourceId(kResourceTypeFont, resourceId), false);
 	if (!fontResource) {
 		error("font resource %d not found", resourceId);
@@ -62,7 +62,7 @@
 	}
 }
 
-sciResourceId SciGUIfont::getResourceId() {
+GUIResourceId SciGUIfont::getResourceId() {
 	return _resourceId;
 }
 

Modified: scummvm/trunk/engines/sci/gui/gui_font.h
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_font.h	2009-10-04 16:37:02 UTC (rev 44619)
+++ scummvm/trunk/engines/sci/gui/gui_font.h	2009-10-04 16:39:46 UTC (rev 44620)
@@ -27,10 +27,10 @@
 
 class SciGUIfont {
 public:
-	SciGUIfont(EngineState *state, SciGUIscreen *screen, sciResourceId resourceId);
+	SciGUIfont(EngineState *state, SciGUIscreen *screen, GUIResourceId resourceId);
 	~SciGUIfont();
 
-	sciResourceId getResourceId();
+	GUIResourceId getResourceId();
 	byte getHeight();
 	byte getCharWidth(byte chr);
 	byte getCharHeight(byte chr);
@@ -38,12 +38,12 @@
 	void draw(int16 chr, int16 top, int16 left, byte color, byte textface);
 
 private:
-	void initData(sciResourceId resourceId);
+	void initData(GUIResourceId resourceId);
 
 	EngineState *_s;
 	SciGUIscreen *_screen;
 
-	sciResourceId _resourceId;
+	GUIResourceId _resourceId;
 	byte *_resourceData;
 
 	struct charinfo {

Modified: scummvm/trunk/engines/sci/gui/gui_gfx.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_gfx.cpp	2009-10-04 16:37:02 UTC (rev 44619)
+++ scummvm/trunk/engines/sci/gui/gui_gfx.cpp	2009-10-04 16:39:46 UTC (rev 44620)
@@ -111,10 +111,10 @@
 	((SciGUIgfx *)ref)->_sysTicks++;
 }
 
-sciPort *SciGUIgfx::mallocPort() {
-	sciPort *newPort = (sciPort *)malloc(sizeof(sciPort));
+GUIPort *SciGUIgfx::mallocPort() {
+	GUIPort *newPort = (GUIPort *)malloc(sizeof(GUIPort));
 	assert(newPort);
-	memset(newPort, 0, sizeof(sciPort));
+	memset(newPort, 0, sizeof(GUIPort));
 	return newPort;
 }
 
@@ -148,14 +148,14 @@
 	SetCLUT(&_sysPalette);
 }
 
-void SciGUIgfx::CreatePaletteFromData(byte *data, sciPalette *paletteOut) {
+void SciGUIgfx::CreatePaletteFromData(byte *data, GUIPalette *paletteOut) {
 	int palFormat = 0;
 	int palOffset = 0;
 	int palColorStart = 0;
 	int palColorCount = 0;
 	int colorNo = 0;
 
-	memset(paletteOut, 0, sizeof(sciPalette));
+	memset(paletteOut, 0, sizeof(GUIPalette));
 	// Setup default mapping
 	for (colorNo = 0; colorNo < 256; colorNo++) {
 		paletteOut->mapping[colorNo] = colorNo;
@@ -194,7 +194,7 @@
 
 bool SciGUIgfx::SetResPalette(int16 resourceNo, int16 flag) {
 	Resource *palResource = _s->resMan->findResource(ResourceId(kResourceTypePalette, resourceNo), 0);
-	sciPalette palette;
+	GUIPalette palette;
 
 	if (palResource) {
 		CreatePaletteFromData(palResource->data, &palette);
@@ -204,7 +204,7 @@
 	return false;
 }
 
-void SciGUIgfx::SetPalette(sciPalette *sciPal, int16 flag) {
+void SciGUIgfx::SetPalette(GUIPalette *sciPal, int16 flag) {
 	uint32 systime = _sysPalette.timestamp;
 	if (flag == 2 || sciPal->timestamp != systime) {
 		MergePalettes(sciPal, &_sysPalette, flag);
@@ -214,7 +214,7 @@
 	}
 }
 
-void SciGUIgfx::MergePalettes(sciPalette *pFrom, sciPalette *pTo, uint16 flag) {
+void SciGUIgfx::MergePalettes(GUIPalette *pFrom, GUIPalette *pTo, uint16 flag) {
 	uint16 res;
 	int i,j;
 	// colors 0 (black) and 255 (white) are not affected by merging
@@ -255,7 +255,7 @@
 	pTo->timestamp = _sysTicks;
 }
 
-uint16 SciGUIgfx::MatchColor(sciPalette*pPal, byte r, byte g, byte b) {
+uint16 SciGUIgfx::MatchColor(GUIPalette*pPal, byte r, byte g, byte b) {
 	byte found = 0xFF;
 	int diff = 0x2FFFF, cdiff;
 	int16 dr,dg,db;
@@ -280,9 +280,9 @@
 	return found;
 }
 
-void SciGUIgfx::SetCLUT(sciPalette*pal) {
+void SciGUIgfx::SetCLUT(GUIPalette*pal) {
 	if (pal != &_sysPalette)
-		memcpy(&_sysPalette,pal,sizeof(sciPalette));
+		memcpy(&_sysPalette,pal,sizeof(GUIPalette));
 	// just copy palette to system
 	byte bpal[4 * 256];
 	// Get current palette, update it and put back
@@ -299,18 +299,18 @@
 	_system->updateScreen();
 }
 
-void SciGUIgfx::GetCLUT(sciPalette*pal) {
+void SciGUIgfx::GetCLUT(GUIPalette*pal) {
 	if (pal != &_sysPalette)
-		memcpy(pal,&_sysPalette,sizeof(sciPalette));
+		memcpy(pal,&_sysPalette,sizeof(GUIPalette));
 }
 
-sciPort *SciGUIgfx::SetPort(sciPort *newPort) {
-	sciPort *oldPort = _curPort;
+GUIPort *SciGUIgfx::SetPort(GUIPort *newPort) {
+	GUIPort *oldPort = _curPort;
 	_curPort = newPort;
 	return oldPort;
 }
 
-sciPort *SciGUIgfx::GetPort(void) {
+GUIPort *SciGUIgfx::GetPort(void) {
 	return _curPort;
 }
 
@@ -329,7 +329,7 @@
 	_curPort->curLeft += left;
 }
 
-sciResourceId SciGUIgfx::GetFontId() {
+GUIResourceId SciGUIgfx::GetFontId() {
 	return _curPort->fontId;
 }
 
@@ -340,7 +340,7 @@
 	return _font;
 }
 
-void SciGUIgfx::SetFont(sciResourceId fontId) {
+void SciGUIgfx::SetFont(GUIResourceId fontId) {
 	if ((_font == NULL) || (_font->getResourceId() != fontId)) {
 		_font = new SciGUIfont(_s, _screen, fontId);
 	}
@@ -348,11 +348,11 @@
 	_curPort->fontHeight = _font->getHeight();
 }
 
-void SciGUIgfx::OpenPort(sciPort *port) {
+void SciGUIgfx::OpenPort(GUIPort *port) {
 	port->fontId = 0;
 	port->fontHeight = 8;
 
-	sciPort *tmp = _curPort;
+	GUIPort *tmp = _curPort;
 	_curPort = port;
 	SetFont(port->fontId);
 	_curPort = tmp;
@@ -528,9 +528,9 @@
 		delete _textFonts;
 	}
 	_textFontsCount = argc;
-	_textFonts = new sciResourceId[argc];
+	_textFonts = new GUIResourceId[argc];
 	for (i = 0; i < argc; i++) {
-		_textFonts[i] = (sciResourceId)argv[i].toUint16();
+		_textFonts[i] = (GUIResourceId)argv[i].toUint16();
 	}
 }
 
@@ -551,7 +551,7 @@
 //  It will process the encountered code and set new font/set color
 //  We only support one-digit codes currently, don't know if multi-digit codes are possible
 //  Returns textcode character count
-int16 SciGUIgfx::TextCodeProcessing(const char *&text, sciResourceId orgFontId, int16 orgPenColor) {
+int16 SciGUIgfx::TextCodeProcessing(const char *&text, GUIResourceId orgFontId, int16 orgPenColor) {
 	const char *textCode = text;
 	int16 textCodeSize = 0;
 	char curCode;
@@ -594,11 +594,11 @@
 }
 
 // return max # of chars to fit maxwidth with full words
-int16 SciGUIgfx::GetLongest(const char *text, int16 maxWidth, sciResourceId orgFontId) {
+int16 SciGUIgfx::GetLongest(const char *text, int16 maxWidth, GUIResourceId orgFontId) {
 	char curChar;
 	int16 maxChars = 0, curCharCount = 0;
 	uint16 width = 0;
-	sciResourceId oldFontId = GetFontId();
+	GUIResourceId oldFontId = GetFontId();
 	int16 oldPenColor = _curPort->penClr;
 
 	GetFont();
@@ -636,9 +636,9 @@
 	return maxChars;
 }
 
-void SciGUIgfx::TextWidth(const char *text, int16 from, int16 len, sciResourceId orgFontId, int16 &textWidth, int16 &textHeight) {
+void SciGUIgfx::TextWidth(const char *text, int16 from, int16 len, GUIResourceId orgFontId, int16 &textWidth, int16 &textHeight) {
 	unsigned char curChar;
-	sciResourceId oldFontId = GetFontId();
+	GUIResourceId oldFontId = GetFontId();
 	int16 oldPenColor = _curPort->penClr;
 
 	textWidth = 0; textHeight = 0;
@@ -667,12 +667,12 @@
 	return;
 }
 
-void SciGUIgfx::StringWidth(const char *str, sciResourceId orgFontId, int16 &textWidth, int16 &textHeight) {
+void SciGUIgfx::StringWidth(const char *str, GUIResourceId orgFontId, int16 &textWidth, int16 &textHeight) {
 	TextWidth(str, 0, (int16)strlen(str), orgFontId, textWidth, textHeight);
 }
 
-int16 SciGUIgfx::TextSize(Common::Rect &rect, const char *str, sciResourceId fontId, int16 maxWidth) {
-	sciResourceId oldFontId = GetFontId();
+int16 SciGUIgfx::TextSize(Common::Rect &rect, const char *str, GUIResourceId fontId, int16 maxWidth) {
+	GUIResourceId oldFontId = GetFontId();
 	int16 oldPenColor = _curPort->penClr;
 	int16 charCount;
 	int16 maxTextWidth = 0, textWidth;
@@ -713,7 +713,7 @@
 }
 
 // returns maximum font height used
-void SciGUIgfx::DrawText(const char *text, int16 from, int16 len, sciResourceId orgFontId, int16 orgPenColor) {
+void SciGUIgfx::DrawText(const char *text, int16 from, int16 len, GUIResourceId orgFontId, int16 orgPenColor) {
 	int16 curChar, charWidth;
 	Common::Rect rect;
 
@@ -752,7 +752,7 @@
 }
 
 // returns maximum font height used
-void SciGUIgfx::ShowText(const char *text, int16 from, int16 len, sciResourceId orgFontId, int16 orgPenColor) {
+void SciGUIgfx::ShowText(const char *text, int16 from, int16 len, GUIResourceId orgFontId, int16 orgPenColor) {
 	Common::Rect rect;
 
 	rect.top = _curPort->curTop;
@@ -764,10 +764,10 @@
 }
 
 // Draws a text in rect.
-void SciGUIgfx::TextBox(const char *text, int16 bshow, const Common::Rect &rect, int16 align, sciResourceId fontId) {
+void SciGUIgfx::TextBox(const char *text, int16 bshow, const Common::Rect &rect, int16 align, GUIResourceId fontId) {
 	int16 textWidth, textHeight, charCount, offset;
 	int16 hline = 0;
-	sciResourceId orgFontId = GetFontId();
+	GUIResourceId orgFontId = GetFontId();
 	int16 orgPenColor = _curPort->penClr;
 
 	if (fontId != -1)
@@ -821,8 +821,8 @@
 //	_system->updateScreen();
 }
 
-sciMemoryHandle SciGUIgfx::SaveBits(const Common::Rect &rect, byte screenMask) {
-	sciMemoryHandle memoryId;
+GUIMemoryHandle SciGUIgfx::SaveBits(const Common::Rect &rect, byte screenMask) {
+	GUIMemoryHandle memoryId;
 	byte *memoryPtr;
 	int size;
 	
@@ -842,7 +842,7 @@
 	return memoryId;
 }
 
-void SciGUIgfx::RestoreBits(sciMemoryHandle memoryHandle) {
+void SciGUIgfx::RestoreBits(GUIMemoryHandle memoryHandle) {
 	byte *memoryPtr = kmem(_s->segMan, memoryHandle);;
 
 	if (memoryPtr) {
@@ -1192,7 +1192,7 @@
 	}
 }
 
-void SciGUIgfx::drawPicture(sciResourceId pictureId, uint16 style, bool addToFlag, sciResourceId paletteId) {
+void SciGUIgfx::drawPicture(GUIResourceId pictureId, uint16 style, bool addToFlag, GUIResourceId paletteId) {
 	SciGUIpicture *picture;
 
 	picture = new SciGUIpicture(_s, this, _screen, pictureId);
@@ -1203,7 +1203,7 @@
 	picture->draw(style, addToFlag, paletteId);
 }
 
-void SciGUIgfx::drawCell(sciResourceId viewId, uint16 loopNo, uint16 cellNo, uint16 leftPos, uint16 topPos, byte priority, uint16 paletteNo) {
+void SciGUIgfx::drawCell(GUIResourceId viewId, GUIViewLoopNo loopNo, GUIViewCellNo cellNo, uint16 leftPos, uint16 topPos, byte priority, uint16 paletteNo) {
 	SciGUIview *view = new SciGUIview(_system, _s, this, _screen, viewId);
 	Common::Rect rect(0, 0);
 	Common::Rect clipRect(0, 0);
@@ -1223,7 +1223,7 @@
 }
 
 void SciGUIgfx::animatePalette(byte fromColor, byte toColor, int speed) {
-	sciColor col;
+	GUIColor col;
 	int len = toColor - fromColor - 1;
 	uint32 now = _sysTicks;
 	// search for sheduled animations with the same 'from' value
@@ -1233,11 +1233,11 @@
 			if (_palSchedules[i].schedule < now) {
 				if (speed > 0) {
 					col = _sysPalette.colors[fromColor];
-					memmove(&_sysPalette.colors[fromColor], &_sysPalette.colors[fromColor + 1], len * sizeof(sciColor));
+					memmove(&_sysPalette.colors[fromColor], &_sysPalette.colors[fromColor + 1], len * sizeof(GUIColor));
 					_sysPalette.colors[toColor - 1] = col;
 				} else {
 					col = _sysPalette.colors[toColor - 1];
-					memmove(&_sysPalette.colors[fromColor+1], &_sysPalette.colors[fromColor], len * sizeof(sciColor));
+					memmove(&_sysPalette.colors[fromColor+1], &_sysPalette.colors[fromColor], len * sizeof(GUIColor));
 					_sysPalette.colors[fromColor] = col;
 				}
 				// removing schedule
@@ -1248,7 +1248,7 @@
 		}
 	}
 	// adding a new schedule
-	sciPalSched sched;
+	GUIPalSchedule sched;
 	sched.from = fromColor;
 	sched.schedule = now + ABS(speed);
 	_palSchedules.push_back(sched);
@@ -1280,4 +1280,38 @@
 	return result;
 }
 
+static inline int sign_extend_byte(int value) {
+	if (value & 0x80)
+		return value - 256;
+	else
+		return value;
+}
+
+void SciGUIgfx::SetNowSeen(reg_t objectReference) {
+	SegManager *segMan = _s->segMan;
+	SciGUIview *view = NULL;
+	Common::Rect cellRect(0, 0);
+	GUIResourceId viewId = (GUIResourceId)GET_SEL32V(objectReference, view);
+	GUIViewLoopNo loopNo = sign_extend_byte((GUIViewLoopNo)GET_SEL32V(objectReference, loop));
+	GUIViewCellNo cellNo = sign_extend_byte((GUIViewCellNo)GET_SEL32V(objectReference, cel));
+	int16 x = (int16)GET_SEL32V(objectReference, x);
+	int16 y = (int16)GET_SEL32V(objectReference, y);
+	int16 z = 0;
+	if (_s->_kernel->_selectorCache.z > -1) {
+		z = (int16)GET_SEL32V(objectReference, z);
+	}
+
+	// now get cell rectangle
+	view = new SciGUIview(_system, _s, this, _screen, viewId);
+	view->getCellRect(loopNo, cellNo, x, y, z, &cellRect);
+
+	// TODO: sometimes loop is negative. Check what it means
+	if (lookup_selector(_s->segMan, objectReference, _s->_kernel->_selectorCache.nsTop, NULL, NULL) == kSelectorVariable) {
+		PUT_SEL32V(objectReference, nsLeft, cellRect.left);
+		PUT_SEL32V(objectReference, nsRight, cellRect.right);
+		PUT_SEL32V(objectReference, nsTop, cellRect.top);
+		PUT_SEL32V(objectReference, nsBottom, cellRect.bottom);
+	}
+}
+
 } // end of namespace Sci

Modified: scummvm/trunk/engines/sci/gui/gui_gfx.h
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_gfx.h	2009-10-04 16:37:02 UTC (rev 44619)
+++ scummvm/trunk/engines/sci/gui/gui_gfx.h	2009-10-04 16:39:46 UTC (rev 44620)
@@ -43,31 +43,31 @@
 	void initTimer();
 	static void timerHandler(void*ref);
 
-	sciPort *mallocPort ();
+	GUIPort *mallocPort ();
 	byte *GetSegment(byte seg);
 	void ResetScreen();
 	void SetEGApalette();
-	void CreatePaletteFromData(byte *paletteData, sciPalette *paletteOut);
+	void CreatePaletteFromData(byte *paletteData, GUIPalette *paletteOut);
 	bool SetResPalette(int16 resourceNo, int16 flag);
-	void SetPalette(sciPalette *sciPal, int16 flag);
-	void MergePalettes(sciPalette*pFrom, sciPalette*pTo, uint16 flag);
-	uint16 MatchColor(sciPalette*pPal, byte r, byte g, byte b);
-	void SetCLUT(sciPalette*pal);
-	void GetCLUT(sciPalette*pal);
+	void SetPalette(GUIPalette *sciPal, int16 flag);
+	void MergePalettes(GUIPalette* pFrom, GUIPalette* pTo, uint16 flag);
+	uint16 MatchColor(GUIPalette* pPal, byte r, byte g, byte b);
+	void SetCLUT(GUIPalette*pal);
+	void GetCLUT(GUIPalette*pal);
 
-	sciPort *SetPort(sciPort *port);
-	sciPort *GetPort();
+	GUIPort *SetPort(GUIPort *port);
+	GUIPort *GetPort();
 	void SetOrigin(int16 left, int16 top);
 	void MoveTo(int16 left, int16 top);
 	void Move(int16 left, int16 top);
-	void OpenPort(sciPort *port);
+	void OpenPort(GUIPort *port);
 	void PenColor(int16 color);
 	void PenMode(int16 mode);
 	void TextFace(int16 textFace);
 	int16 GetPointSize(void);
-	sciResourceId GetFontId();
+	GUIResourceId GetFontId();
 	SciGUIfont *GetFont();
-	void SetFont(sciResourceId fontId);
+	void SetFont(GUIResourceId fontId);
 
 	void ClearScreen(byte color = 255);
 	void InvertRect(const Common::Rect &rect);
@@ -85,17 +85,17 @@
 
 	void SetTextFonts(int argc, reg_t *argv);
 	void SetTextColors(int argc, reg_t *argv);
-	int16 TextSize(Common::Rect &rect, const char *str, sciResourceId fontId, int16 maxwidth);
-	void ShowString(const char *str, sciResourceId orgFontId, int16 orgPenColor) {
+	int16 TextSize(Common::Rect &rect, const char *str, GUIResourceId fontId, int16 maxwidth);
+	void ShowString(const char *str, GUIResourceId orgFontId, int16 orgPenColor) {
 		ShowText(str, 0, (int16)strlen(str), orgFontId, orgPenColor);
 	}
-	void DrawString(const char *str, sciResourceId orgFontId, int16 orgPenColor) {
+	void DrawString(const char *str, GUIResourceId orgFontId, int16 orgPenColor) {
 		DrawText(str, 0, (int16)strlen(str), orgFontId, orgPenColor);
 	}
-	void TextBox(const char *str, int16 bshow, const Common::Rect &rect, int16 align, sciResourceId fontId);
+	void TextBox(const char *str, int16 bshow, const Common::Rect &rect, int16 align, GUIResourceId fontId);
 	void ShowBits(const Common::Rect &r, uint16 flags);
-	sciMemoryHandle SaveBits(const Common::Rect &rect, byte screenFlags);
-	void RestoreBits(sciMemoryHandle memoryHandle);
+	GUIMemoryHandle SaveBits(const Common::Rect &rect, byte screenFlags);
+	void RestoreBits(GUIMemoryHandle memoryHandle);
 
 	void Draw_Line(int16 left, int16 top, int16 right, int16 bottom, byte color, byte prio, byte control);
 	void Draw_Horiz(int16 left, int16 right, int16 top, byte flag, byte color, byte prio, byte control);
@@ -107,45 +107,46 @@
 	void Draw_Pattern(int16 x, int16 y, byte pic_color, byte pic_priority, byte pic_control, byte code, byte texture);
 	void Pic_Fill(int16 x, int16 y, byte color, byte prio, byte control);
 	
-	void drawPicture(sciResourceId pictureId, uint16 style, bool addToFlag, sciResourceId paletteId);
-	void drawCell(sciResourceId viewId, uint16 loopNo, uint16 cellNo, uint16 leftPos, uint16 topPos, byte priority, uint16 paletteNo);
+	void drawPicture(GUIResourceId pictureId, uint16 style, bool addToFlag, GUIResourceId paletteId);
+	void drawCell(GUIResourceId viewId, GUIViewLoopNo loopNo, GUIViewCellNo cellNo, uint16 leftPos, uint16 topPos, byte priority, uint16 paletteNo);
 
 	void animatePalette(byte fromColor, byte toColor, int speed);
 
 	int16 onControl(uint16 screenMask, Common::Rect rect);
+	void SetNowSeen(reg_t objectReference);
 
-	sciPort *_menuPort;
+	GUIPort *_menuPort;
 	uint32 _sysTicks;
 	int32 _sysSpeed; // ticker timer in ms 
-	sciPalette _sysPalette;
+	GUIPalette _sysPalette;
 
 	uint16 _resolutionWidth;
 	uint16 _resolutionHeight;
 	uint _resolutionPixels;
 
 private:
-	int16 TextCodeProcessing(const char *&text, sciResourceId orgFontId, int16 orgPenColor);
-	void TextWidth(const char*text, int16 from, int16 len, sciResourceId orgFontId, int16 &textWidth, int16 &textHeight);
-	void StringWidth(const char*str, sciResourceId orgFontId, int16 &textWidth, int16 &textHeight);
-	int16 GetLongest(const char *str, int16 maxwidth, sciResourceId orgFontId);
-	void DrawText(const char *str, int16 from, int16 len, sciResourceId orgFontId, int16 orgPenColor);
-	void ShowText(const char *str, int16 from, int16 len, sciResourceId orgFontId, int16 orgPenColor);
+	int16 TextCodeProcessing(const char *&text, GUIResourceId orgFontId, int16 orgPenColor);
+	void TextWidth(const char*text, int16 from, int16 len, GUIResourceId orgFontId, int16 &textWidth, int16 &textHeight);
+	void StringWidth(const char*str, GUIResourceId orgFontId, int16 &textWidth, int16 &textHeight);
+	int16 GetLongest(const char *str, int16 maxwidth, GUIResourceId orgFontId);
+	void DrawText(const char *str, int16 from, int16 len, GUIResourceId orgFontId, int16 orgPenColor);
+	void ShowText(const char *str, int16 from, int16 len, GUIResourceId orgFontId, int16 orgPenColor);
 
 	OSystem *_system;
 	EngineState *_s;
 	SciGUIscreen *_screen;
 
 	Common::Rect _bounds;
-	sciPort *_mainPort;
-	sciPort *_curPort;
+	GUIPort *_mainPort;
+	GUIPort *_curPort;
 	uint16 _clrPowers[256];
 
 	byte bMapColors;
-	sciPalette *pPicPal;
-	Common::Array<sciPalSched> _palSchedules;
+	GUIPalette *pPicPal;
+	Common::Array<GUIPalSchedule> _palSchedules;
 
 	int _textFontsCount;
-	sciResourceId *_textFonts;
+	GUIResourceId *_textFonts;
 	int _textColorsCount;
 	uint16 *_textColors;
 

Modified: scummvm/trunk/engines/sci/gui/gui_helpers.h
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_helpers.h	2009-10-04 16:37:02 UTC (rev 44619)
+++ scummvm/trunk/engines/sci/gui/gui_helpers.h	2009-10-04 16:39:46 UTC (rev 44620)
@@ -28,67 +28,70 @@
 
 namespace Sci {
 
-typedef int sciResourceId; // is a resource-number and -1 means no parameter given
-typedef reg_t sciMemoryHandle;
-typedef uint16 SCIHANDLE;
+typedef int GUIResourceId; // is a resource-number and -1 means no parameter given
+typedef reg_t GUIMemoryHandle;
+typedef int16 GUIViewLoopNo;
+typedef int16 GUIViewCellNo;
 
-struct sciNode {
-	SCIHANDLE next; // heap handle to next node
-	SCIHANDLE prev; // heap handle to data
+typedef uint16 GUIHandle;
+
+struct GUINode {
+	GUIHandle next; // heap handle to next node
+	GUIHandle prev; // heap handle to data
 	uint16 key; // maybe also a heap handle
 };
-struct sciNode1 : sciNode {
+struct GUINode1 : GUINode {
 	uint16 value;
 };
 
-// sciPort and sciWnd need to be binary identical, so if you change anything in one, you have to change it in the other one
+// GUIPort and GUIWindow need to be binary identical, so if you change anything in one, you have to change it in the other one
 //  as well!
-struct sciPort {
-	sciNode node; // node struct for list operations
+struct GUIPort {
+	GUINode node; // node struct for list operations
 	int16 top, left;
 	Common::Rect rect;
 	int16 curTop, curLeft;
 	int16 fontHeight;
-	sciResourceId fontId;
+	GUIResourceId fontId;
 	int16 textFace, penClr, backClr;
 	int16 penMode;
 };
 
-struct sciWnd : public sciPort {
+struct GUIWindow : public GUIPort {
 	Common::Rect dims; // client area of window
 	Common::Rect restoreRect; // total area of window including borders
 	uint16 wndStyle;
 	uint16 uSaveFlag;
 	reg_t hSaved1;
 	reg_t hSaved2;
-	SCIHANDLE hTitle;
-	bool bDrawed;
+	GUIHandle hTitle;
+	bool bDrawn;
 };
 
-struct sciCast {
-	sciNode node;
+struct GUICast {
+	GUINode node;
 	uint16 view;
 	uint16 loop;
 	uint16 cel;
 	uint16 z;
 	uint16 pal;
-	SCIHANDLE hSaved;
+	GUIHandle hSaved;
 	Common::Rect rect;
 };
 
-struct sciColor {
+struct GUIColor {
 	byte used;
 	byte r, g, b;
 };
 
-struct sciPalette {
+struct GUIPalette {
 	byte mapping[256];
 	uint32 timestamp;
-	sciColor colors[256];
+	GUIColor colors[256];
 	byte intensity[256];
 };
 
-struct sciPalSched {
+struct GUIPalSchedule {
 	byte from;
 	uint32 schedule;
 };
@@ -112,13 +115,4 @@
 	GFX_REMOVEVIEW = 0x80
 };
 
-enum SCILanguage{
-	kLangNone = 0,
-	kLangEnglish = 1,
-	kLangFrench = 33,
-	kLangSpanish = 34,
-	kLangItalian = 39,
-	kLangGerman = 49
-};
-
 }


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