[Scummvm-cvs-logs] CVS: tools descumm6.cpp,1.48,1.49
Max Horn
fingolfin at users.sourceforge.net
Mon Dec 23 07:44:09 CET 2002
- Previous message: [Scummvm-cvs-logs] CVS: tools descumm6.cpp,1.47,1.48
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.38,1.39 intern.h,2.7,2.8 script_v6.cpp,1.14,1.15 script_v8.cpp,2.8,2.9 vars.cpp,1.7,1.8
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1:/tmp/cvs-serv4263
Modified Files:
descumm6.cpp
Log Message:
more function invocation order fixes
Index: descumm6.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm6.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- descumm6.cpp 23 Dec 2002 15:33:17 -0000 1.48
+++ descumm6.cpp 23 Dec 2002 15:43:51 -0000 1.49
@@ -1367,14 +1367,19 @@
case 0x14:{
int array = get_word();
writeArray(array, NULL, pop(), se_get_string());
- }break;
- case 0x15:
- writeArray(get_word(), NULL, pop(), se_get_list());
+ }
break;
- case 0x16:
+ case 0x15:{
+ int array = get_word();
+ writeArray(array, NULL, pop(), se_get_list());
+ }
+ break;
+ case 0x16:{
+ int array = get_word();
se_a = pop();
se_b = se_get_list();
- writeArray(get_word(), pop(), se_a, se_b);
+ writeArray(array, pop(), se_a, se_b);
+ }
break;
}
break;
@@ -1626,7 +1631,7 @@
void next_line()
{
byte code = get_byte();
- StackEnt *se_a;
+ StackEnt *se_a, *se_b;
switch (code) {
case 0x0:
@@ -1662,40 +1667,20 @@
push(se_oper(pop(), isZero));
break;
case 0xE:
- push(se_oper(pop(), isEqual, pop()));
- break;
case 0xF:
- push(se_oper(pop(), isNotEqual, pop()));
- break;
case 0x10:
- push(se_oper(pop(), isGreater, pop()));
- break;
case 0x11:
- push(se_oper(pop(), isLess, pop()));
- break;
case 0x12:
- push(se_oper(pop(), isLessEqual, pop()));
- break;
case 0x13:
- push(se_oper(pop(), isGreaterEqual, pop()));
- break;
case 0x14:
- push(se_oper(pop(), operAdd, pop()));
- break;
case 0x15:
- push(se_oper(pop(), operSub, pop()));
- break;
case 0x16:
- push(se_oper(pop(), operMul, pop()));
- break;
case 0x17:
- push(se_oper(pop(), operDiv, pop()));
- break;
case 0x18:
- push(se_oper(pop(), operLand, pop()));
- break;
case 0x19:
- push(se_oper(pop(), operLor, pop()));
+ se_a = pop();
+ se_b = pop();
+ push(se_oper(se_b, (code - 0xE) + isEqual, se_a));
break;
case 0x1A:
kill(pop());
@@ -2227,10 +2212,14 @@
ext("lpp|jumpToScript");
break;
case 0xD6:
- push(se_oper(pop(), operBand, pop()));
+ se_a = pop();
+ se_b = pop();
+ push(se_oper(se_b, operBand, se_a));
break;
case 0xD7:
- push(se_oper(pop(), operBor, pop()));
+ se_a = pop();
+ se_b = pop();
+ push(se_oper(se_b, operBor, se_a));
break;
case 0xD8:
ext("rp|isRoomScriptRunning");
- Previous message: [Scummvm-cvs-logs] CVS: tools descumm6.cpp,1.47,1.48
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.38,1.39 intern.h,2.7,2.8 script_v6.cpp,1.14,1.15 script_v8.cpp,2.8,2.9 vars.cpp,1.7,1.8
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list