[Scummvm-cvs-logs] SF.net SVN: scummvm: [24470] scummvm/trunk/engines/agos

kirben at users.sourceforge.net kirben at users.sourceforge.net
Mon Oct 23 12:06:40 CEST 2006


Revision: 24470
          http://svn.sourceforge.net/scummvm/?rev=24470&view=rev
Author:   kirben
Date:     2006-10-23 03:06:32 -0700 (Mon, 23 Oct 2006)

Log Message:
-----------
Add printStats code for Elvira 2 and cleanup

Modified Paths:
--------------
    scummvm/trunk/engines/agos/agos.h
    scummvm/trunk/engines/agos/script_e1.cpp
    scummvm/trunk/engines/agos/script_e2.cpp
    scummvm/trunk/engines/agos/string.cpp

Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h	2006-10-23 07:07:03 UTC (rev 24469)
+++ scummvm/trunk/engines/agos/agos.h	2006-10-23 10:06:32 UTC (rev 24470)
@@ -830,11 +830,6 @@
 	uint16 getBoxSize();
 	uint16 checkFit(char *Ptr, int width, int lines);
 
-	void printMonsterDamage();
-	void printPlayerDamage();
-	void printMonsterHit();
-	void printPlayerHit();
-	void printStats();
 	void writeChar(WindowBlock *window, int x, int y, int offs, int val);
 
 	byte *allocBlock(uint32 size);
@@ -1145,7 +1140,7 @@
 	void oe2_ifDoorOpen();
 	void oe2_ifDoorClosed();
 	void oe2_ifDoorLocked();
-	void oe2_unk161();
+	void oe2_printStats();
 	void oe2_unk162();
 	void oe2_setSuperRoom();
 	void oe2_getSuperRoom();

Modified: scummvm/trunk/engines/agos/script_e1.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_e1.cpp	2006-10-23 07:07:03 UTC (rev 24469)
+++ scummvm/trunk/engines/agos/script_e1.cpp	2006-10-23 10:06:32 UTC (rev 24470)
@@ -571,27 +571,102 @@
 
 void AGOSEngine::oe1_printStats() {
 	// 270: print stats
-	printStats();
+	WindowBlock *window = _dummyWindow;
+	int val;
+
+	window->flags = 1;
+
+	mouseOff();
+
+	// Strength
+	val = _variableArray[0];
+	if (val < -99)
+		val = -99;
+	if (val > 99)
+		val = 99;	
+	writeChar(window, 5, 133, 6, val);
+
+	// Resolution
+	val = _variableArray[1];
+	if (val < -99)
+		val = -99;
+	if (val > 99)
+		val = 99;	
+	writeChar(window, 11, 133, 6, val);
+
+	// Dexterity
+	val = _variableArray[2];
+	if (val < -99)
+		val = -99;
+	if (val > 99)
+		val = 99;	
+	writeChar(window, 18, 133, 0, val);
+
+	// Skill
+	val = _variableArray[3];
+	if (val < -99)
+		val = -99;
+	if (val > 99)
+		val = 99;	
+	writeChar(window, 24, 133, 0, val);
+
+	// Life
+	val = _variableArray[5];
+	if (val < -99)
+		val = -99;
+	if (val > 99)
+		val = 99;	
+	writeChar(window, 30, 133, 2, val);
+
+	// Experience
+	val = _variableArray[6];
+	if (val < -99)
+		val = -99;
+	if (val > 99)
+		val = 99;	
+	writeChar(window, 36, 133, 4, val);
+
+	mouseOn();
 }
 
 void AGOSEngine::oe1_printPlayerDamage() {
 	// 272: print player damage
-	printStats();
+	WindowBlock *window = _dummyWindow;
+	window->flags = 1;
+
+	mouseOff();
+	writeChar(window, 36, 38, 2, _variableArray[441]);
+	mouseOn();
 }
 
 void AGOSEngine::oe1_printMonsterDamage() {
 	// 273: print monster damage
-	printStats();
+	WindowBlock *window = _dummyWindow;
+	window->flags = 1;
+
+	mouseOff();
+	writeChar(window, 36, 88, 2, _variableArray[442]);
+	mouseOn();
 }
 
 void AGOSEngine::oe1_printPlayerHit() {
 	// 277: print player hit
-	printStats();
+	WindowBlock *window = _dummyWindow;
+	window->flags = 1;
+
+	mouseOff();
+	writeChar(window, 3, 166, 0, _variableArray[414]);
+	mouseOn();
 }
 
 void AGOSEngine::oe1_printMonsterHit() {
 	// 278: print monster hit
-	printStats();
+	WindowBlock *window = _dummyWindow;
+	window->flags = 1;
+
+	mouseOff();
+	writeChar(window, 35, 166, 4, _variableArray[415]);
+	mouseOn();
 }
 
 } // End of namespace AGOS

Modified: scummvm/trunk/engines/agos/script_e2.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_e2.cpp	2006-10-23 07:07:03 UTC (rev 24469)
+++ scummvm/trunk/engines/agos/script_e2.cpp	2006-10-23 10:06:32 UTC (rev 24470)
@@ -62,7 +62,7 @@
 	op[148] = &AGOSEngine::oe2_ifDoorOpen;
 	op[149] = &AGOSEngine::oe2_ifDoorClosed;
 	op[150] = &AGOSEngine::oe2_ifDoorLocked;
-	op[161] = &AGOSEngine::oe2_unk161;
+	op[161] = &AGOSEngine::oe2_printStats;
 	op[162] = &AGOSEngine::oe2_unk162;
 	op[165] = &AGOSEngine::oe2_setSuperRoom;
 	op[166] = &AGOSEngine::oe2_getSuperRoom;
@@ -149,9 +149,49 @@
 	setScriptCondition(getDoorState(i, d) == 3);
 }
 
-void AGOSEngine::oe2_unk161() {
-	// 161:
-	debug(0, "oe2_unk161: stub");
+void AGOSEngine::oe2_printStats() {
+	// 161: print stats
+	WindowBlock *window = _dummyWindow;
+	int val;
+
+	window->flags = 1;
+
+	mouseOff();
+
+	// Level
+	val = _variableArray[20];
+	if (val < -99)
+		val = -99;
+	if (val > 99)
+		val = 99;	
+	writeChar(window, 10, 134, 0, val);
+
+	// HP
+	val = _variableArray[22];
+	if (val < -99)
+		val = -99;
+	if (val > 99)
+		val = 99;	
+	writeChar(window, 16, 134, 6, val);
+
+	// PP
+	val = _variableArray[23];
+	if (val < -99)
+		val = -99;
+	if (val > 99)
+		val = 99;	
+	writeChar(window, 23, 134, 4, val);
+
+	// Experience
+	val = _variableArray[21];
+	if (val < -99)
+		val = -99;
+	if (val > 9999)
+		val = 9999;	
+	writeChar(window, 30, 134, 6, val / 100);
+	writeChar(window, 32, 134, 2, val);
+
+	mouseOn();
 }
 
 void AGOSEngine::oe2_unk162() {

Modified: scummvm/trunk/engines/agos/string.cpp
===================================================================
--- scummvm/trunk/engines/agos/string.cpp	2006-10-23 07:07:03 UTC (rev 24469)
+++ scummvm/trunk/engines/agos/string.cpp	2006-10-23 10:06:32 UTC (rev 24470)
@@ -742,102 +742,7 @@
 	changeWindow(0);
 }
 
-// String code for statistics in Elvira 1
-void AGOSEngine::printMonsterDamage() {
-	WindowBlock *window = _dummyWindow;
-	window->flags = 1;
-
-	mouseOff();
-	writeChar(window, 36, 88, 2, _variableArray[442]);
-	mouseOn();
-}
-
-void AGOSEngine::printPlayerDamage() {
-	WindowBlock *window = _dummyWindow;
-	window->flags = 1;
-
-	mouseOff();
-	writeChar(window, 36, 38, 2, _variableArray[441]);
-	mouseOn();
-}
-
-void AGOSEngine::printMonsterHit() {
-	WindowBlock *window = _dummyWindow;
-	window->flags = 1;
-
-	mouseOff();
-	writeChar(window, 35, 166, 4, _variableArray[415]);
-	mouseOn();
-}
-
-void AGOSEngine::printPlayerHit() {
-	WindowBlock *window = _dummyWindow;
-	window->flags = 1;
-
-	mouseOff();
-	writeChar(window, 3, 166, 0, _variableArray[414]);
-	mouseOn();
-}
-
-void AGOSEngine::printStats() {
-	WindowBlock *window = _dummyWindow;
-	int val;
-
-	window->flags = 1;
-
-	mouseOff();
-
-	// Strength
-	val = _variableArray[0];
-	if (val < -99)
-		val = -99;
-	if (val > 99)
-		val = 99;	
-	writeChar(window, 5, 133, 6, val);
-
-	// Resolution
-	val = _variableArray[1];
-	if (val < -99)
-		val = -99;
-	if (val > 99)
-		val = 99;	
-	writeChar(window, 11, 133, 6, val);
-
-	// Dexterity
-	val = _variableArray[2];
-	if (val < -99)
-		val = -99;
-	if (val > 99)
-		val = 99;	
-	writeChar(window, 18, 133, 0, val);
-
-	// Skill
-	val = _variableArray[3];
-	if (val < -99)
-		val = -99;
-	if (val > 99)
-		val = 99;	
-	writeChar(window, 24, 133, 0, val);
-
-	// Life
-	val = _variableArray[5];
-	if (val < -99)
-		val = -99;
-	if (val > 99)
-		val = 99;	
-	writeChar(window, 30, 133, 2, val);
-
-	// Experience
-	val = _variableArray[6];
-	if (val < -99)
-		val = -99;
-	if (val > 99)
-		val = 99;	
-	writeChar(window, 36, 133, 4, val);
-
-	mouseOn();
-}
-
+// String code for statistics in Elvira 1/2
 void AGOSEngine::writeChar(WindowBlock *window, int x, int y, int offs, int val) {
 	int chr;
 


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