[Scummvm-cvs-logs] CVS: scummvm/scumm akos.cpp,1.164,1.165 intern.h,2.230,2.231 script_v72he.cpp,2.65,2.66 script_v80he.cpp,2.9,2.10 script_v90he.cpp,2.17,2.18
Travis Howell
kirben at users.sourceforge.net
Wed Sep 8 21:08:57 CEST 2004
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20251/scumm
Modified Files:
akos.cpp intern.h script_v72he.cpp script_v80he.cpp
script_v90he.cpp
Log Message:
Add extra opcodes for freddi2
Allow akos to play any actor sound.
Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.164
retrieving revision 1.165
diff -u -d -r1.164 -r1.165
--- akos.cpp 9 Sep 2004 02:20:03 -0000 1.164
+++ akos.cpp 9 Sep 2004 04:05:30 -0000 1.165
@@ -1447,7 +1447,7 @@
tmp = GB(2);
else
tmp = GB(2) - 1;
- if ((uint) tmp < 8)
+ if ((uint) tmp < 24)
akos_queCommand(3, a, a->sound[tmp], 0);
continue;
case AKC_CmdQue3Quick:
Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.230
retrieving revision 2.231
diff -u -d -r2.230 -r2.231
--- intern.h 9 Sep 2004 01:53:23 -0000 2.230
+++ intern.h 9 Sep 2004 04:05:30 -0000 2.231
@@ -696,6 +696,7 @@
void shuffleArray(int num, int minIdx, int maxIdx);
int readFileToArray(int slot, int32 size);
void writeFileFromArray(int slot, int resID);
+ void arrrays_unk2(int dst, int src, int len2, int len);
void drawWizImage(int restype, int resnum, int state, int x1, int y1, int flags);
void flushWizBuffer();
@@ -747,12 +748,14 @@
void o72_getPixel();
void o72_pickVarRandom();
void o72_redimArray();
+ void o72_unknownEC();
void o72_unknownED();
void o72_unknownEF();
void o72_unknownF1();
void o72_checkGlobQueue();
void o72_readINI();
void o72_writeINI();
+ void o72_unknownF0();
void o72_unknownF4();
void o72_unknownF5();
void o72_unknownF6();
Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.65
retrieving revision 2.66
diff -u -d -r2.65 -r2.66
--- script_v72he.cpp 9 Sep 2004 01:53:23 -0000 2.65
+++ script_v72he.cpp 9 Sep 2004 04:05:31 -0000 2.66
@@ -340,12 +340,12 @@
OPCODE(o72_redimArray),
OPCODE(o6_readFilePos),
/* EC */
- OPCODE(o6_invalid),
+ OPCODE(o72_unknownEC),
OPCODE(o72_unknownED),
OPCODE(o7_stringLen),
OPCODE(o72_unknownEF),
/* F0 */
- OPCODE(o6_invalid),
+ OPCODE(o72_unknownF0),
OPCODE(o72_unknownF1),
OPCODE(o72_checkGlobQueue),
OPCODE(o72_readINI),
@@ -1664,6 +1664,47 @@
ah->dim2end = TO_LE_32(newDim2end);
}
+void ScummEngine_v72he::arrrays_unk2(int dst, int src, int len2, int len) {
+ int edi, value;
+ int i = 0;
+
+ if (len == -1) {
+ len = resStrLen(getStringAddress(src));
+ len2 = 0;
+ }
+
+ edi = resStrLen(getStringAddress(dst));
+
+ len -= len2;
+ len++;
+
+ while (i < len) {
+ writeVar(0, src);
+ value = readArray(0, 0, len2 + i);
+ writeVar(0, dst);
+ writeArray(0, 0, edi + i, value);
+ i++;
+ }
+
+ writeArray(0, 0, edi + i, 0);
+}
+
+void ScummEngine_v72he::o72_unknownEC() {
+ int dst, size;
+ int src = pop();
+
+ size = resStrLen(getStringAddress(src)) + 1;
+
+ writeVar(0, 0);
+ defineArray(0, kStringArray, 0, 0, 0, size);
+ writeArray(0, 0, 0, 0);
+ dst = readVar(0);
+
+ arrrays_unk2(dst, src, -1, -1);
+
+ push(dst);
+ debug(1,"stub o72_unknownEC");
+}
void ScummEngine_v72he::o72_unknownED() {
int array, pos, len;
@@ -1691,45 +1732,44 @@
}
void ScummEngine_v72he::o72_unknownEF() {
- int value;
- int array, array2, len, len2, len3, offset;
- int b, size;
- len = pop();
- b = pop();
- array2 = pop();
+ int dst, size;
+ int b = pop();
+ int a = pop();
+ int src = pop();
- size = len - b + 2;
+ size = b - a + 2;
writeVar(0, 0);
defineArray(0, kStringArray, 0, 0, 0, size);
writeArray(0, 0, 0, 0);
- array = readVar(0);
+ dst = readVar(0);
- len2 = len;
- if (len == -1) {
- len2 = resStrLen(getStringAddress(array2));
- len = 0;
- } else {
- len = b;
- }
- len3 = resStrLen(getStringAddress(array));
+ arrrays_unk2(dst, src, a, b);
- offset = 0;
- len2 -= len;
- len2++;
- while (offset < len2) {
- writeVar(0, array2);
- value = readArray(0, 0, offset + len);
- writeVar(0, array);
- writeArray(0, 0, offset + len3, value);
- offset++;
- }
+ push(dst);
+ debug(1,"stub o72_unknownEF");
+}
- writeArray(0, 0, len3 + offset, 0);
+void ScummEngine_v72he::o72_unknownF0() {
+ int dst, size;
- push(array);
- debug(1,"stub o72_unknownEF (array %d, array2 %d)", array, array2);
+ int src2 = pop();
+ int src1 = pop();
+
+ size = resStrLen(getStringAddress(src1)) * 2 + 1;
+
+ writeVar(0, 0);
+ defineArray(0, kStringArray, 0, 0, 0, size);
+ writeArray(0, 0, 0, 0);
+
+ dst = readVar(0);
+
+ arrrays_unk2(dst, src1, 0, -1);
+ arrrays_unk2(dst, src2, 0, -1);
+
+ push(dst);
+ debug(1,"stub o72_unknownF0");
}
void ScummEngine_v72he::o72_unknownF1() {
Index: script_v80he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v80he.cpp,v
retrieving revision 2.9
retrieving revision 2.10
diff -u -d -r2.9 -r2.10
--- script_v80he.cpp 9 Sep 2004 02:10:05 -0000 2.9
+++ script_v80he.cpp 9 Sep 2004 04:05:31 -0000 2.10
@@ -340,12 +340,12 @@
OPCODE(o72_redimArray),
OPCODE(o6_readFilePos),
/* EC */
- OPCODE(o6_invalid),
+ OPCODE(o72_unknownEC),
OPCODE(o72_unknownED),
OPCODE(o7_stringLen),
OPCODE(o72_unknownEF),
/* F0 */
- OPCODE(o6_invalid),
+ OPCODE(o72_unknownF0),
OPCODE(o72_unknownF1),
OPCODE(o72_checkGlobQueue),
OPCODE(o72_readINI),
Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.17
retrieving revision 2.18
diff -u -d -r2.17 -r2.18
--- script_v90he.cpp 9 Sep 2004 01:53:23 -0000 2.17
+++ script_v90he.cpp 9 Sep 2004 04:05:31 -0000 2.18
@@ -340,12 +340,12 @@
OPCODE(o72_redimArray),
OPCODE(o6_readFilePos),
/* EC */
- OPCODE(o6_invalid),
+ OPCODE(o72_unknownEC),
OPCODE(o72_unknownED),
OPCODE(o7_stringLen),
OPCODE(o72_unknownEF),
/* F0 */
- OPCODE(o6_invalid),
+ OPCODE(o72_unknownF0),
OPCODE(o72_unknownF1),
OPCODE(o72_checkGlobQueue),
OPCODE(o72_readINI),
More information about the Scummvm-git-logs
mailing list