aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/mortevielle/actions.cpp6
-rw-r--r--engines/mortevielle/dialogs.cpp4
-rw-r--r--engines/mortevielle/menu.cpp6
-rw-r--r--engines/mortevielle/mor.cpp12
-rw-r--r--engines/mortevielle/mor2.cpp6
-rw-r--r--engines/mortevielle/mortevielle.cpp8
-rw-r--r--engines/mortevielle/outtext.cpp73
-rw-r--r--engines/mortevielle/outtext.h5
8 files changed, 43 insertions, 77 deletions
diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp
index 80aba8df0d..d9a1022548 100644
--- a/engines/mortevielle/actions.cpp
+++ b/engines/mortevielle/actions.cpp
@@ -668,7 +668,7 @@ void fctPlace() {
// Do you want to enter the hidden passage?
int answer = Alert::show(g_vm->getEngineString(S_YES_NO), 1);
if (answer== 1) {
- Common::String alertTxt = delin2(582);
+ Common::String alertTxt = deline(582);
i = Alert::show(alertTxt, 1);
tesok = false;
@@ -696,7 +696,7 @@ void fctPlace() {
dessin(0);
aniof(1, 2);
aniof(1, 1);
- alertTxt = delin2(577);
+ alertTxt = deline(577);
i = Alert::show(alertTxt, 1);
aniof(2, 1);
crep = 166;
@@ -1313,7 +1313,7 @@ void fctDiscuss() {
for (int ix = 1; ix <= 46; ++ix)
te[ix] = false;
for (int ix = 1; ix <= 45; ++ix) {
- lib[ix] = delin2(ix + c_tparler);
+ lib[ix] = deline(ix + c_tparler);
for (i = lib[ix].size(); i <= 40; ++i)
lib[ix] = lib[ix] + ' ';
}
diff --git a/engines/mortevielle/dialogs.cpp b/engines/mortevielle/dialogs.cpp
index f8c5ceb3f6..9d7ea2fa4c 100644
--- a/engines/mortevielle/dialogs.cpp
+++ b/engines/mortevielle/dialogs.cpp
@@ -313,7 +313,7 @@ bool Ques::show() {
else
dialogHeight = 23;
g_vm->_screenSurface.fillRect(15, Common::Rect(0, 14, 630, dialogHeight));
- Common::String tmpStr = delin2(textIndexArr[indx]);
+ Common::String tmpStr = deline(textIndexArr[indx]);
afftex(tmpStr, 20, 15, 100, 2, 0);
if (indx != 10) {
@@ -327,7 +327,7 @@ bool Ques::show() {
maxLength = 0;
for (int j = firstOption, prevChoice = 1; j <= lastOption; ++j, ++prevChoice) {
- tmpStr = delin2(j);
+ tmpStr = deline(j);
if ((int) tmpStr.size() > maxLength)
maxLength = tmpStr.size();
afftex(tmpStr, 100, optionPosY, 100, 1, 0);
diff --git a/engines/mortevielle/menu.cpp b/engines/mortevielle/menu.cpp
index 250fd12d6e..fe5581dc48 100644
--- a/engines/mortevielle/menu.cpp
+++ b/engines/mortevielle/menu.cpp
@@ -487,18 +487,18 @@ void Menu::initMenu() {
_moveStringArray[i] = "* ";
i = 1;
do {
- _actionStringArray[i] = delin2(i + c_action);
+ _actionStringArray[i] = deline(i + c_action);
while (_actionStringArray[i].size() < 10)
_actionStringArray[i] += ' ';
if (i < 9) {
if (i < 6) {
- _selfStringArray[i] = delin2(i + c_saction);
+ _selfStringArray[i] = deline(i + c_saction);
while (_selfStringArray[i].size() < 10)
_selfStringArray[i] += ' ';
}
- _discussStringArray[i] = delin2(i + c_dis) + ' ';
+ _discussStringArray[i] = deline(i + c_dis) + ' ';
}
++i;
} while (i != 22);
diff --git a/engines/mortevielle/mor.cpp b/engines/mortevielle/mor.cpp
index 25a0cf7b1c..9c57ed5b8c 100644
--- a/engines/mortevielle/mor.cpp
+++ b/engines/mortevielle/mor.cpp
@@ -136,7 +136,7 @@ void text1(int x, int y, int nb, int m) {
co = 10;
else
co = 6;
- Common::String tmpStr = delin2(m);
+ Common::String tmpStr = deline(m);
if ((y == 182) && ((int) tmpStr.size() * co > nb * 6))
y = 176;
afftex(tmpStr, x, y, nb, 20, color_txt);
@@ -312,7 +312,7 @@ void modobj(int m) {
Common::String strp = Common::String(' ');
if (m != 500)
- strp = delin2(m - 501 + c_st41);
+ strp = deline(m - 501 + c_st41);
g_vm->_menu.menut(g_vm->_menu._inventoryMenu[8], strp);
g_vm->_menu.disableMenuItem(g_vm->_menu._inventoryMenu[8]);
@@ -327,7 +327,7 @@ void modobj2(int m, bool t1, bool t2) {
tesok = false;;
if (m != 500)
- strp = delin2(m - 501 + c_st41);
+ strp = deline(m - 501 + c_st41);
g_vm->_menu.menut(g_vm->_menu._inventoryMenu[8], strp);
g_vm->_menu.disableMenuItem(g_vm->_menu._inventoryMenu[8]);
@@ -341,7 +341,7 @@ void repon(int f, int m) {
int i, xco, dx, caspe;
if ((m > 499) && (m < 563)) {
- tmpStr = delin2(m - 501 + c_st41);
+ tmpStr = deline(m - 501 + c_st41);
if ((int) tmpStr.size() > ((58 + (res - 1) * 37) << 1))
f2_all = true;
@@ -376,7 +376,7 @@ void repon(int f, int m) {
else
i = 5;
- tmpStr = delin2(m);
+ tmpStr = deline(m);
afftex(tmpStr, 80, 40, 60, 25, i);
if (m == 180)
@@ -387,7 +387,7 @@ void repon(int f, int m) {
}
if (f == 7) { /* messint */
ecrf7();
- tmpStr = delin2(m);
+ tmpStr = deline(m);
if (res == 1) {
xco = 252 - tmpStr.size() * 5;
caspe = 100;
diff --git a/engines/mortevielle/mor2.cpp b/engines/mortevielle/mor2.cpp
index 5495854c32..01e913d51a 100644
--- a/engines/mortevielle/mor2.cpp
+++ b/engines/mortevielle/mor2.cpp
@@ -245,7 +245,7 @@ void tmlieu(int mli) {
int i = 1;
while ((i < 8) && (v_lieu[i][mli] != 0)) {
- nomp = delin2(v_lieu[i][mli] + c_tmlieu);
+ nomp = deline(v_lieu[i][mli] + c_tmlieu);
while (nomp.size() < 20)
nomp += ' ';
g_vm->_menu.menut(g_vm->_menu._moveMenu[i], nomp);
@@ -380,7 +380,7 @@ void modinv() {
if (s.sjer[cx] != chr(0)) {
++cy;
r = (ord(s.sjer[cx]) + 400);
- nomp = delin2(r - 501 + c_st41);
+ nomp = deline(r - 501 + c_st41);
g_vm->_menu.menut(g_vm->_menu._inventoryMenu[cy], nomp);
g_vm->_menu.enableMenuItem(g_vm->_menu._inventoryMenu[cx]);
}
@@ -397,7 +397,7 @@ void sparl(float adr, float rep) {
repint = abs((int)rep);
hideMouse();
- Common::String tmpStr = delin2(repint + c_paroles);
+ Common::String tmpStr = deline(repint + c_paroles);
afftex(tmpStr, 230, 4, 65, 24, 5);
f3f8::draw();
diff --git a/engines/mortevielle/mortevielle.cpp b/engines/mortevielle/mortevielle.cpp
index 262cc3446e..f2bb1ef46c 100644
--- a/engines/mortevielle/mortevielle.cpp
+++ b/engines/mortevielle/mortevielle.cpp
@@ -134,10 +134,10 @@ Common::ErrorCode MortevielleEngine::initialise() {
return result;
// Load some error messages (was previously in chartex())
- al_mess = delin2(578); // Insert floppy #1
- err_mess = delin2(579); // Floppy error
- ind_mess = delin2(580); // You should have noticed %d hints
- al_mess2 = delin2(581); // Insert floppy #2
+ al_mess = deline(578); // Insert floppy #1
+ err_mess = deline(579); // Floppy error
+ ind_mess = deline(580); // You should have noticed %d hints
+ al_mess2 = deline(581); // Insert floppy #2
// Set default EGA palette
_paletteManager.setDefaultPalette();
diff --git a/engines/mortevielle/outtext.cpp b/engines/mortevielle/outtext.cpp
index c2da1166b5..2cdfbe4188 100644
--- a/engines/mortevielle/outtext.cpp
+++ b/engines/mortevielle/outtext.cpp
@@ -60,7 +60,7 @@ const byte tab31[32]= {
119, 0, 0, 0, 0, 0, 0, 0
};
-void deline(int num , char *l , int &tl);
+Common::String deline(int num);
typedef unsigned char uchar;
static void cinq_huit(char &c, int &idx, byte &pt, bool &the_end) {
@@ -126,63 +126,32 @@ static void cinq_huit(char &c, int &idx, byte &pt, bool &the_end) {
/**
* Decode and extract the line with the given Id
*/
-void deline(int num, char *line , int &length) {
+Common::String deline(int num) {
+ Common::String wrkStr = "";
+
if (num < 0) {
warning("deline: num < 0! Skipping");
- return;
- }
-
- if (!g_vm->_txxFileFl) {
- delig = g_vm->getGameString(num);
-/* if (delig.size() < 255)
- // Remove trailing '$'
- delig.deleteLastChar();
-*/
- if (line) {
- line[0] = ' ';
- strcpy(line + 1, delig.c_str());
- length = delig.size();
- }
-
- return;
+ } else if (!g_vm->_txxFileFl) {
+ wrkStr = g_vm->getGameString(num);
+ } else {
+ int i = t_rec[num].indis;
+ byte k = t_rec[num].point;
+ int length = 0;
+ bool endFl = false;
+ char let;
+ do {
+ cinq_huit(let, i, k, endFl);
+ if (length < 254)
+ wrkStr += let;
+ ++length;
+ } while (!endFl);
}
- // DETEX
- delig = "";
- int ts = t_rec[num].indis;
- byte ps = t_rec[num].point;
- int i = ts;
- length = 1;
- int j = 1;
- // Initialize properly first string character
- line[0] = ' ';
- byte k = ps;
- bool endFl = false;
- char let;
- do {
- cinq_huit(let, i, k, endFl);
- line[j] = let;
- if (j < 254)
- delig += let;
- ++j;
- } while (!endFl);
- length = j - 1;
- if (length < 255)
+ if (wrkStr.lastChar() == '$')
// Remove trailing '$'
- delig.deleteLastChar();
-
- warning("deline: delig %s - line %s", delig.c_str(), line);
-}
-
-Common::String delin2(int num) {
- char tmpStr[1410];
- int length;
+ wrkStr.deleteLastChar();
- deline(num, tmpStr, length);
-
- Common::String resStr = delig;
- delig = "";
- return resStr;
+ return wrkStr;
}
void afftex(const char *ch, int x, int y, int dx, int dy, int typ);
diff --git a/engines/mortevielle/outtext.h b/engines/mortevielle/outtext.h
index 742b832612..d2e5f6bd3b 100644
--- a/engines/mortevielle/outtext.h
+++ b/engines/mortevielle/outtext.h
@@ -32,10 +32,7 @@
namespace Mortevielle {
-extern Common::String delig;
-
-extern void deline(int num , char *line , int &length);
-extern Common::String delin2(int num);
+extern Common::String deline(int num);
extern void afftex(Common::String ch, int x, int y, int dx, int dy, int typ);
} // End of namespace Mortevielle