[Scummvm-cvs-logs] CVS: tools descumm6.cpp,1.105,1.106
Max Horn
fingolfin at users.sourceforge.net
Tue May 20 10:30:02 CEST 2003
Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1:/tmp/cvs-serv25047
Modified Files:
descumm6.cpp
Log Message:
changed 'y' modifier to produce default output, instead of an error, if an unknown subOpcode is encountered; renamed some opcodes to match ScummVM naming; added some subopcodes for the V6/V7 kernel opcodes
Index: descumm6.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm6.cpp,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -d -r1.105 -r1.106
--- descumm6.cpp 19 May 2003 14:02:06 -0000 1.105
+++ descumm6.cpp 20 May 2003 17:29:01 -0000 1.106
@@ -1015,20 +1015,27 @@
/* extended thing */
se = args[numArgs - 1];
se->data--;
- se = se->list[se->data];
- extcmd = se->data;
+ extcmd = se->list[se->data]->data;
/* locate our extended item */
while ((cmd = *fmt++) != extcmd) {
/* scan until we find , or \0 */
while ((cmd = *fmt++) != ',') {
if (cmd == 0) {
- invalidop(extstr, extcmd);
+// invalidop(extstr, extcmd);
+// extstr = "foo";
+ goto use_default_command;
}
}
}
+
/* found a command, continue at the beginning */
continue;
+
+use_default_command:
+ se->data++;
+ fmt = extstr;
+ break;
}
if (cmd == 'm' && !prep) {
prep = fmt;
@@ -1060,8 +1067,8 @@
e = (char *)output;
if (prep)
e = strecpy(e, prep);
- while ((cmd = *fmt++) != 0 && cmd != ',')
- *e++ = cmd;
+ while (*fmt != 0 && *fmt != ',')
+ *e++ = *fmt++;
*e++ = '(';
while (--numArgs >= 0) {
e = se_astext(args[numArgs], e);
@@ -1637,7 +1644,7 @@
ext("s|startVideo");
break;
case 0xBA:
- ext("y" "kludge\0"
+ ext("y" "kernelSetFunctions\0"
"\xB|lockObject,"
"\xC|unlockObject,"
"\xD|remapCostume,"
@@ -1657,7 +1664,7 @@
"\x1E|killAllScriptsButMe,"
"\x1F|stopAllVideo,"
"\x20|writeRegistryValue,"
- "\x21|PpaletteSetIntensity,"
+ "\x21|paletteSetIntensity,"
"\x22|queryQuit,"
"\x6C|buildPaletteShadow,"
@@ -1711,7 +1718,7 @@
break;
case 0xD8:
- ext("ry" "f-kludge\0"
+ ext("ry" "kernelGetFunctions\0"
"\x73|getWalkBoxAt,"
"\x74|isPointInBox,"
@@ -2405,11 +2412,24 @@
ext("rpppp|getDistPtPt");
break;
case 0xC8:
- // TODO - make use of new 'y' ext
- ext("rl|kernelFunction");
+ // TODO - add more subopcodes
+ ext("ry" "kernelGetFunctions\0"
+ "\x73|getWalkBoxAt,"
+ "\x74|isPointInBox"
+ );
break;
case 0xC9:
- ext("l|miscOps");
+ // TODO - add more subopcodes
+ ext("y" "kernelSetFunctions\0"
+ "\x4|grabCursor,"
+ "\x5|fadeOut,"
+
+ "\x6C|buildPaletteShadow,"
+ "\x6D|setPaletteShadow,"
+
+ "\x76|blastShadowObject,"
+ "\x77|superBlastObject"
+ );
break;
case 0xCA:
ext("p|breakXTimes");
More information about the Scummvm-git-logs
mailing list