[Scummvm-cvs-logs] CVS: scummvm/scumm script_v7he.cpp,2.113,2.114
Travis Howell
kirben at users.sourceforge.net
Sun Oct 17 22:05:04 CEST 2004
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31101/scumm
Modified Files:
script_v7he.cpp
Log Message:
Correction/cleanup.
Index: script_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v7he.cpp,v
retrieving revision 2.113
retrieving revision 2.114
diff -u -d -r2.113 -r2.114
--- script_v7he.cpp 17 Oct 2004 11:47:12 -0000 2.113
+++ script_v7he.cpp 18 Oct 2004 05:03:58 -0000 2.114
@@ -379,29 +379,29 @@
return _opcodesv70he[i].desc;
}
-void ScummEngine_v70he::arrrays_unk2(int dst, int src, int len2, int len) {
- int edi, value;
+void ScummEngine_v70he::arrrays_unk2(int dst, int src, int srcOffs, int len) {
+ int dstOffs, value;
int i = 0;
if (len == -1) {
len = resStrLen(getStringAddress(src));
- len2 = 0;
+ srcOffs = 0;
}
- edi = resStrLen(getStringAddress(dst));
+ dstOffs = resStrLen(getStringAddress(dst));
- len -= len2;
+ len -= srcOffs;
len++;
while (i < len) {
writeVar(0, src);
- value = readArray(0, 0, len2 + i);
+ value = readArray(0, 0, srcOffs + i);
writeVar(0, dst);
- writeArray(0, 0, edi + i, value);
+ writeArray(0, 0, dstOffs + i, value);
i++;
}
- writeArray(0, 0, edi + i, 0);
+ writeArray(0, 0, dstOffs + i, 0);
}
int ScummEngine_v70he::findObject(int x, int y, int num, int *args) {
@@ -720,7 +720,7 @@
void ScummEngine_v70he::o70_unknownED() {
int array, pos, len;
- int chr, result = 0;
+ int chr, width = 0;
len = pop();
pos = pop();
@@ -734,12 +734,14 @@
writeVar(0, array);
while (pos <= len) {
chr = readArray(0, 0, pos);
- result += _charset->getCharWidth(chr);
+ if (chr == 0)
+ break;
+ width += _charset->getCharWidth(chr);
pos++;
}
- push(result);
- debug(1,"stub o70_unknownED");
+ push(width);
+ debug(1,"stub o70_unknownED (%d)", width);
}
void ScummEngine_v70he::o70_kernelSetFunctions() {
@@ -935,7 +937,8 @@
void ScummEngine_v70he::o70_unknownF5() {
int chr, max;
- int array, len, pos, result = 0;
+ int array, len, pos, width = 0;
+
max = pop();
pos = pop();
array = pop();
@@ -945,8 +948,8 @@
writeVar(0, array);
while (pos <= len) {
chr = readArray(0, 0, pos);
- result += _charset->getCharWidth(chr);
- if (result >= max) {
+ width += _charset->getCharWidth(chr);
+ if (width >= max) {
push(pos);
return;
}
@@ -954,30 +957,31 @@
}
push(len);
- debug(1,"stub o70_unknownF5 (%d)", result);
+ debug(1,"stub o70_unknownF5 (%d)", len);
}
void ScummEngine_v70he::o70_unknownF6() {
- int len, edi, pos, value, id;
+ int array, end, len, pos, value;
+
value = pop();
- edi = pop();
+ end = pop();
pos = pop();
- id = pop();
+ array = pop();
- if (edi >= 0) {
- len = resStrLen(getStringAddress(id));
- if (len < edi)
- edi = len;
+ if (end >= 0) {
+ len = resStrLen(getStringAddress(array));
+ if (len < end)
+ end = len;
} else {
- edi = 0;
+ end = 0;
}
if (pos < 0)
pos = 0;
- writeVar(0, id);
- if (edi > pos) {
- while (edi >= pos) {
+ writeVar(0, array);
+ if (end > pos) {
+ while (end >= pos) {
if (readArray(0, 0, pos) == value) {
push(pos);
return;
@@ -985,7 +989,7 @@
pos++;
}
} else {
- while (edi <= pos) {
+ while (end <= pos) {
if (readArray(0, 0, pos) == value) {
push(pos);
return;
More information about the Scummvm-git-logs
mailing list