[Scummvm-cvs-logs] CVS: scummvm/saga game.cpp,1.104,1.105 interface.cpp,1.150,1.151 resnames.h,1.39,1.40 saga.h,1.130,1.131 sprite.cpp,1.69,1.70

Eugene Sandulenko sev at users.sourceforge.net
Sun Oct 9 19:03:17 CEST 2005


Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14854

Modified Files:
	game.cpp interface.cpp resnames.h saga.h sprite.cpp 
Log Message:
Draw main panel. Buttons lack backgorunds and save reminder is buggy atm.


Index: game.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/game.cpp,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -d -r1.104 -r1.105
--- game.cpp	8 Oct 2005 16:25:17 -0000	1.104
+++ game.cpp	10 Oct 2005 02:02:58 -0000	1.105
@@ -571,7 +571,7 @@
 
 	0,			// status x offset
 	304,		// status y offset
-	640,		// status width
+	616,		// status width
 	24,			// status height
 	8,			// status text y offset
 	186,		// status text color
@@ -590,7 +590,7 @@
 	-1, -1,		// inventory Up & Down button indexies
 	2, 4,		// inventory rows, columns
 
-	0, 149,		// main panel offsets
+	0, 328,		// main panel offsets
 	ARRAYSIZE(IHNM_MainPanelButtons),
 	IHNM_MainPanelButtons,
 
@@ -599,7 +599,7 @@
 	IHNM_CONVERSE_MAX_TEXT_WIDTH,
 	IHNM_CONVERSE_TEXT_HEIGHT,
 	IHNM_CONVERSE_TEXT_LINES,
-	0, 0,		// converse panel offsets
+	0, 328,		// converse panel offsets
 	ARRAYSIZE(IHNM_ConversePanelButtons),
 	IHNM_ConversePanelButtons,
 
@@ -691,7 +691,7 @@
 	{3},
 	{4},
 	{5},
-	{6},
+	{6},  // kIHNMFont8
 	{7},
 	{8}   // kIHNMMainFont
 };

Index: interface.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/interface.cpp,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -d -r1.150 -r1.151
--- interface.cpp	9 Oct 2005 03:45:16 -0000	1.150
+++ interface.cpp	10 Oct 2005 02:02:58 -0000	1.151
@@ -50,8 +50,8 @@
 
 namespace Saga {
 
-static int verbTypeToTextStringsIdLUT[kVerbTypesMax] = {
-	-1,
+static int verbTypeToTextStringsIdLUT[2][kVerbTypesMax] = {
+	{-1,
 	kTextPickUp,
 	kTextLookAt,
 	kTextWalkTo,
@@ -68,7 +68,8 @@
 	-1,
 	-1,
 	-1,
-	-1
+	 -1},
+	{-1, -1, 2, 1, 5, -1, -1, 7, 4, -1, -1, -1, -1, -1, -1, 3, 6, 8}
 };
 
 Interface::Interface(SagaEngine *vm) : _vm(vm) {
@@ -595,13 +596,6 @@
 	if (_vm->_scene->isInIntro() || _fadeMode == kFadeOut)
 		return;
 
-	// Disable this for IHNM for now, since that game uses the full screen
-	// in some cases.
-
-	if (_vm->getGameType() == GType_IHNM) {
-		return;
-	}
-
 	drawStatusBar();
 
 	if (_panelMode == kPanelMain || _panelMode == kPanelMap) {
@@ -1486,10 +1480,6 @@
 	// Disable this for IHNM for now, since that game uses the full screen
 	// in some cases.
 
-	if (_vm->getGameType() == GType_IHNM) {
-		return;
-	}
-
 	// Erase background of status bar
 	rect.left = _vm->getDisplayInfo().statusXOffset;
 	rect.top = _vm->getDisplayInfo().statusYOffset;
@@ -1917,20 +1907,25 @@
 	int textWidth;
 	Point point;
 	int textId;
+	FontId font;
 
-	textId = verbTypeToTextStringsIdLUT[panelButton->id];
-
-	if (textId == -1)
-		error("textId == -1");
+	if (_vm->getGameType() == GType_ITE) {
+		textId = verbTypeToTextStringsIdLUT[0][panelButton->id];
+		text = _vm->getTextString(textId);
+		font = kSmallFont;
+	} else {
+		textId = verbTypeToTextStringsIdLUT[1][panelButton->id];
+		text = _vm->_script->_mainStrings.getString(textId + 1);
+		font = kIHNMFont8;
+	}
 
-	text = _vm->getTextString(textId);
 
-	textWidth = _vm->_font->getStringWidth(kSmallFont, text, 0, kFontNormal);
+	textWidth = _vm->_font->getStringWidth(font, text, 0, kFontNormal);
 
 	point.x = _mainPanel.x + panelButton->xOffset + 1 + (panelButton->width - 1 - textWidth) / 2;
 	point.y = _mainPanel.y + panelButton->yOffset + 1;
 
-	_vm->_font->textDraw(kSmallFont, ds, text, point, textColor, textShadowColor, (textShadowColor != 0) ? kFontShadow : kFontNormal);
+	_vm->_font->textDraw(font, ds, text, point, textColor, textShadowColor, (textShadowColor != 0) ? kFontShadow : kFontNormal);
 }
 
 
@@ -2331,7 +2326,7 @@
 
 	backBuffer = _vm->_gfx->getBackBuffer();
 
-	rect.left = rect.top = 0;
+	rect.left = rect.top = 20;
 
 	_vm->_resource->loadResource(_interfaceContext, RID_IHNM_BOSS_SCREEN, resource, resourceLength);
 	if (resourceLength == 0) {

Index: resnames.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/resnames.h,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- resnames.h	9 Oct 2005 19:00:14 -0000	1.39
+++ resnames.h	10 Oct 2005 02:02:58 -0000	1.40
@@ -88,6 +88,7 @@
 #define RID_IHNM_MAIN_SPRITES 12       // TODO: verify this
 #define RID_IHNM_MAIN_PANEL_SPRITES 13 // TODO: verify this
 #define RID_IHNM_MAIN_STRINGS 21
+#define RID_IHNM_PROFILE_BG 20
 
 #define RID_IHNM_BOSS_SCREEN 19
 

Index: saga.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.h,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -d -r1.130 -r1.131
--- saga.h	9 Oct 2005 01:18:26 -0000	1.130
+++ saga.h	10 Oct 2005 02:02:58 -0000	1.131
@@ -322,6 +322,7 @@
 	kMediumFont,
 	kBigFont,
 
+	kIHNMFont8 = 4,
 	kIHNMMainFont = 6
 };
 

Index: sprite.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sprite.cpp,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -d -r1.69 -r1.70
--- sprite.cpp	8 Oct 2005 20:09:00 -0000	1.69
+++ sprite.cpp	10 Oct 2005 02:02:58 -0000	1.70
@@ -198,6 +198,14 @@
 		bufRowPointer += ds->pitch * io;
 		srcRowPointer += width * io;
 	}
+
+	int traverseSign = 1;
+
+	if (_vm->getGameType() == GType_IHNM) {
+		traverseSign = -1;
+		bufRowPointer += clipHeight * ds->pitch;
+	}
+
 	for (i = io; i < clipHeight; i++) {
 		for (j = jo; j < clipWidth; j++) {
 			assert((byte *)ds->pixels <= (byte *)(bufRowPointer + j + spritePointer.x));
@@ -210,7 +218,7 @@
 				*(bufRowPointer + j + spritePointer.x) = *(srcRowPointer + j);
 			}
 		}
-		bufRowPointer += ds->pitch;
+		bufRowPointer += ds->pitch * traverseSign;
 		srcRowPointer += width;
 	}
 }





More information about the Scummvm-git-logs mailing list