[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