aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjörn Andersson2006-04-19 11:05:47 +0000
committerTorbjörn Andersson2006-04-19 11:05:47 +0000
commite97476621d6ed49edd11cca6150c034ee81ae8fe (patch)
tree443f833356bf516d22b147d15ef3474e8a0fbf51
parent75542e0f9595d4ad1da109e6cd262e728c379293 (diff)
downloadscummvm-rg350-e97476621d6ed49edd11cca6150c034ee81ae8fe.tar.gz
scummvm-rg350-e97476621d6ed49edd11cca6150c034ee81ae8fe.tar.bz2
scummvm-rg350-e97476621d6ed49edd11cca6150c034ee81ae8fe.zip
Number the FF conversation options.
svn-id: r22034
-rw-r--r--engines/simon/items.cpp2
-rw-r--r--engines/simon/simon.h1
-rw-r--r--engines/simon/string.cpp13
3 files changed, 14 insertions, 2 deletions
diff --git a/engines/simon/items.cpp b/engines/simon/items.cpp
index 16306857e2..7955a6b679 100644
--- a/engines/simon/items.cpp
+++ b/engines/simon/items.cpp
@@ -1818,7 +1818,7 @@ void SimonEngine::o3_printLongText() {
// 70: show string from array
int num = getVarOrByte();
const char *str = (const char *)getStringPtrByID(_stringIdArray3[num]);
- printInteractText(num, str);
+ sendInteractText(num, "%d. %s\n", num, str);
}
void SimonEngine::o3_addBox() {
diff --git a/engines/simon/simon.h b/engines/simon/simon.h
index 8251d1f2dd..9139f53afc 100644
--- a/engines/simon/simon.h
+++ b/engines/simon/simon.h
@@ -695,6 +695,7 @@ protected:
bool printTextOf(uint a, uint x, uint y);
bool printNameOf(Item *item, uint x, uint y);
void printInteractText(uint16 num, const char *string);
+ void sendInteractText(uint16 num, const char *fmt, ...);
void printScreenText(uint vga_sprite_id, uint color, const char *string_ptr, int16 x, int16 y, int16 width);
void renderStringAmiga(uint vga_sprite_id, uint color, uint width, uint height, const char *txt);
diff --git a/engines/simon/string.cpp b/engines/simon/string.cpp
index f8c98a6539..7c962637d5 100644
--- a/engines/simon/string.cpp
+++ b/engines/simon/string.cpp
@@ -59,7 +59,7 @@ const char *getPixelLength(const char *string, uint16 maxWidth, uint16 &pixels)
while (*string != 0) {
byte chr = *string;
if ((pixels + charWidth[chr]) > maxWidth)
- break;
+ break;
pixels += charWidth[chr];
string++;
}
@@ -175,6 +175,17 @@ void SimonEngine::printInteractText(uint16 num, const char *string) {
_interactY += height;
}
+void SimonEngine::sendInteractText(uint16 num, const char *fmt, ...) {
+ va_list arglist;
+ char string[256];
+
+ va_start(arglist, fmt);
+ vsprintf(string, fmt, arglist);
+ va_end(arglist);
+
+ printInteractText(num, string);
+}
+
void SimonEngine::printScreenText(uint vgaSpriteId, uint color, const char *string, int16 x, int16 y, int16 width) {
char convertedString[320];
char *convertedString2 = convertedString;