[Scummvm-cvs-logs] CVS: scummvm/saga sthread.cpp,1.23,1.24

Jonathan Gray khalek at users.sourceforge.net
Thu Aug 26 16:31:46 CEST 2004


Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24443

Modified Files:
	sthread.cpp 
Log Message:
add some comments about unimplemented opcodes

Index: sthread.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sthread.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- sthread.cpp	22 Aug 2004 18:28:42 -0000	1.23
+++ sthread.cpp	26 Aug 2004 23:28:10 -0000	1.24
@@ -222,8 +222,8 @@
 		debug(0, "Executing thread offset: %lu (%x)", thread->i_offset, in_char);
 
 		switch (in_char) {
-		case 0x01: // Align (ALGN)
-			debug(0, "Stub: ALGN");
+		case 0x01: // nextblock
+			debug(0, "Stub: opcode 0x01(nextblock)");
 			break;
 
 // STACK INSTRUCTIONS
@@ -350,12 +350,10 @@
 			
 			param1 = scriptS.readUint16LE();
 			break;
-			// (?) Unknown
-		case 0x1B:
+		case 0x1B: // Return with value
 			unhandled = 1;
 			break;
-			// (EXIT) End subscript
-		case 0x1C:
+		case 0x1C: // Return with void
 			if (thread->stack->size() == 0) {
 				_vm->_console->print("Script execution complete.");
 				thread->executing = 0;
@@ -404,14 +402,6 @@
 				thread->i_offset = (unsigned long)param1;
 			}
 			break;
-			// (JMPR): Relative jump
-		case 0x57:
-			// ignored?
-			scriptS.readUint16LE();
-			scriptS.readUint16LE();
-			iparam1 = (long)scriptS.readByte();
-			thread->i_offset += iparam1;
-			break;
 			// (SWCH): Switch
 		case 0x22:
 			{
@@ -468,7 +458,7 @@
 			}
 			break;
 
-// MISC. INSTRUCTIONS
+// UNARY INSTRUCTIONS
 
 			// (NEG) Negate stack by 2's complement
 		case 0x25:
@@ -489,29 +479,25 @@
 			data = ~data;
 			thread->stack->push(data);
 			break;
-			// (?)
-		case 0x28:
+		case 0x28: // inc_v increment, don't push
 			unhandled = 1;
 			printf("??? ");
 			scriptS.readByte();
 			scriptS.readUint16LE();
 			break;
-			// (?)
-		case 0x29:
+		case 0x29: // dec_v decrement, don't push
 			unhandled = 1;
 			printf("??? ");
 			scriptS.readByte();
 			scriptS.readUint16LE();
 			break;
-			// (?)
-		case 0x2A:
+		case 0x2A: // postinc
 			unhandled = 1;
 			printf("??? ");
 			scriptS.readByte();
 			scriptS.readUint16LE();
 			break;
-			// (?)
-		case 0x2B:
+		case 0x2B: // postdec
 			unhandled = 1;
 			printf("??? ");
 			scriptS.readByte();
@@ -723,9 +709,11 @@
 			break;
 			// (DLGS): Initialize dialogue interface
 		case 0x54:
+			warning("dialog_begin opcode: stub");
 			break;
 			// (DLGX): Run dialogue interface
 		case 0x55:
+			warning("dialog_end opcode: stub");
 			break;
 			// (DLGO): Add a dialogue option to interface
 		case 0x56:
@@ -745,6 +733,12 @@
 				}
 			}
 			break;
+		case 0x57: // animate
+			scriptS.readUint16LE();
+			scriptS.readUint16LE();
+			iparam1 = (long)scriptS.readByte();
+			thread->i_offset += iparam1;
+			break;
 
 // End instruction list
 





More information about the Scummvm-git-logs mailing list