Revert opcode EF merge, HE72 uses different array structure.

svn-id: r15905
This commit is contained in:
Travis Howell 2004-11-27 02:47:46 +00:00
parent d172111444
commit 6cd046a906
5 changed files with 26 additions and 4 deletions

View file

@ -774,6 +774,7 @@ protected:
void o72_pickVarRandom();
void o72_redimArray();
void o72_copyString();
void o72_appendString();
void o72_concatString();
void o72_checkGlobQueue();
void o72_readINI();

View file

@ -326,7 +326,7 @@ void ScummEngine_v100he::setupOpcodes() {
/* E0 */
OPCODE(o70_compareString),
OPCODE(o72_copyString),
OPCODE(o70_appendString),
OPCODE(o72_appendString),
OPCODE(o72_concatString),
/* E4 */
OPCODE(o70_getStringLen),

View file

@ -343,7 +343,7 @@ void ScummEngine_v72he::setupOpcodes() {
OPCODE(o72_copyString),
OPCODE(o70_getStringWidth),
OPCODE(o70_getStringLen),
OPCODE(o70_appendString),
OPCODE(o72_appendString),
/* F0 */
OPCODE(o72_concatString),
OPCODE(o70_compareString),
@ -2384,6 +2384,27 @@ void ScummEngine_v72he::o72_copyString() {
debug(1,"stub o72_copyString");
}
void ScummEngine_v72he::o72_appendString() {
int dst, size;
int len = pop();
int srcOffs = pop();
int src = pop();
size = len - srcOffs + 2;
writeVar(0, 0);
defineArray(0, kStringArray, 0, 0, 0, size);
writeArray(0, 0, 0, 0);
dst = readVar(0);
appendSubstring(dst, src, srcOffs, len);
push(dst);
debug(1,"stub o72_appendString");
}
void ScummEngine_v72he::o72_concatString() {
int dst, size;

View file

@ -342,7 +342,7 @@ void ScummEngine_v80he::setupOpcodes() {
OPCODE(o72_copyString),
OPCODE(o70_getStringWidth),
OPCODE(o70_getStringLen),
OPCODE(o70_appendString),
OPCODE(o72_appendString),
/* F0 */
OPCODE(o72_concatString),
OPCODE(o70_compareString),

View file

@ -342,7 +342,7 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o72_copyString),
OPCODE(o70_getStringWidth),
OPCODE(o70_getStringLen),
OPCODE(o70_appendString),
OPCODE(o72_appendString),
/* F0 */
OPCODE(o72_concatString),
OPCODE(o70_compareString),