[Scummvm-cvs-logs] SF.net SVN: scummvm: [24613] tools/trunk/descumm.cpp

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sun Nov 5 00:22:53 CET 2006


Revision: 24613
          http://svn.sourceforge.net/scummvm/?rev=24613&view=rev
Author:   fingolfin
Date:     2006-11-04 15:22:49 -0800 (Sat, 04 Nov 2006)

Log Message:
-----------
DESCUMM: Fixed V1-V4 room intensity opcode; clarified the SaveRestoreVerbs subop naming

Modified Paths:
--------------
    tools/trunk/descumm.cpp

Modified: tools/trunk/descumm.cpp
===================================================================
--- tools/trunk/descumm.cpp	2006-11-04 22:59:56 UTC (rev 24612)
+++ tools/trunk/descumm.cpp	2006-11-04 23:22:49 UTC (rev 24613)
@@ -1202,7 +1202,7 @@
 		break;
 	case 0x08:
 		buf =
-			do_tok(buf, "setRoomIntensity",
+			do_tok(buf, "RoomIntensity",
 						 ((opcode & 0x80) ? A1V : A1B) | ((opcode & 0x40) ? A2V : A2B) |
 						 ((opcode & 0x20) ? A3V : A3B));
 		break;
@@ -1333,8 +1333,18 @@
 	case 0x06:
 		do_tok(buf, "ShakeOff", 0);
 		break;
-	case 0x07:
-		do_tok(buf, "Unused", 0);
+	case 0x08:
+		if (scriptVersion > 3) {
+			get_var_or_word(a, (opcode & 0x80));
+			get_var_or_word(b, (opcode & 0x40));
+		}
+		buf = strecpy(buf, "RoomIntensity(");
+		buf = strecpy(buf, a);
+		buf = strecpy(buf, ",");
+		buf = strecpy(buf, b);
+		buf = strecpy(buf, ",");
+		buf = get_var_or_word(buf, (opcode & 0x20));
+		buf = strecpy(buf, ")");
 		break;
 	default:
 		error("do_room_ops_old: unknown subop %d", opcode & 0x1F);
@@ -3670,16 +3680,16 @@
 				((opcode & 0x20) ? A3V : A3B);
 			switch (opcode & 0x1F) {
 			case 0x01:
-				do_tok(buf, "SaveRestoreVerbsA", code);
+				do_tok(buf, "SaveVerbs", code);
 				break;
 			case 0x02:
-				do_tok(buf, "SaveRestoreVerbsB", code);
+				do_tok(buf, "RestoreVerbs", code);
 				break;
 			case 0x03:
-				do_tok(buf, "SaveRestoreVerbsC", code);
+				do_tok(buf, "DeleteVerbs", code);
 				break;
 			default:
-				do_tok(buf, "SaveRestoreVerbsUnknown", 0);
+				error("opcode 0xAB: Unhandled subop %d", opcode & 0x1F);
 			}
 		}
 		break;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list