[Scummvm-cvs-logs] SF.net SVN: scummvm:[38312] scummvm/trunk/engines/sci

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sun Feb 15 23:01:10 CET 2009


Revision: 38312
          http://scummvm.svn.sourceforge.net/scummvm/?rev=38312&view=rev
Author:   fingolfin
Date:     2009-02-15 22:01:09 +0000 (Sun, 15 Feb 2009)

Log Message:
-----------
SCI: Got rid of a nasty hack where class, delete, new were re#defined because FreeSCI used these C++ keywords for variable names

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/game.cpp
    scummvm/trunk/engines/sci/engine/kernel.cpp
    scummvm/trunk/engines/sci/engine/kgraphics.cpp
    scummvm/trunk/engines/sci/engine/vm.cpp
    scummvm/trunk/engines/sci/include/kernel.h
    scummvm/trunk/engines/sci/include/old_objects.h
    scummvm/trunk/engines/sci/include/resource.h
    scummvm/trunk/engines/sci/include/vm.h
    scummvm/trunk/engines/sci/scicore/script.cpp
    scummvm/trunk/engines/sci/scicore/vocab.cpp

Modified: scummvm/trunk/engines/sci/engine/game.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/game.cpp	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/engine/game.cpp	2009-02-15 22:01:09 UTC (rev 38312)
@@ -305,13 +305,13 @@
 /* Maps a class ID to the script the corresponding class is contained in */
 /* Returns the script number suggested by vocab.996, or -1 if there's none */
 static int
-suggested_script(resource_t *res, unsigned int class)
+suggested_script(resource_t *res, unsigned int classId)
 {
 	int offset;
-	if (!res || class >= res->size >> 2)
+	if (!res || classId >= res->size >> 2)
 		return -1;
 
-	offset = 2 + (class << 2);
+	offset = 2 + (classId << 2);
 
 	return getInt16(res->data + offset);
 }

Modified: scummvm/trunk/engines/sci/engine/kernel.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.cpp	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/engine/kernel.cpp	2009-02-15 22:01:09 UTC (rev 38312)
@@ -499,7 +499,7 @@
 	} else switch(kfunct_mappers[funct_nr].type) {
 
 	case KF_NEW:
-		return kfunct_mappers[funct_nr].new.fun(s, funct_nr, argc, argv);
+		return kfunct_mappers[funct_nr].sig_pair.fun(s, funct_nr, argc, argv);
 
 	case KF_NONE:
 	default:
@@ -907,7 +907,7 @@
 			break;
 
 		case KF_NEW:
-			s->kfunct_table[functnr] = kfunct_mappers[found].new;
+			s->kfunct_table[functnr] = kfunct_mappers[found].sig_pair;
 			kernel_compile_signature(&(s->kfunct_table[functnr].signature));
 			++mapped;
 			break;

Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp	2009-02-15 22:01:09 UTC (rev 38312)
@@ -1997,7 +1997,7 @@
 				}
 
 				if (is_object(s, obj)) {
-					if (invoke_selector(INV_SEL(obj, delete, 1), 0))
+					if (invoke_selector(INV_SEL(obj, delete_, 1), 0))
 						SCIkwarn(SCIkWARNING, "Object at "PREG" requested deletion, but does not have"
 							 " a delete funcselector\n", PRINT_REG(obj));
 					if (_k_animate_ran) {

Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/engine/vm.cpp	2009-02-15 22:01:09 UTC (rev 38312)
@@ -230,7 +230,7 @@
 reg_t
 get_class_address(state_t *s, int classnr, int lock, reg_t caller)
 {
-	class_t *class = s->classtable + classnr;
+	class_t *the_class = s->classtable + classnr;
 
 	if (NULL == s) {
 		sciprintf("vm.c: get_class_address(): NULL passed for \"s\"\n");
@@ -239,26 +239,26 @@
 
 	if (classnr < 0
 	    || s->classtable_size <= classnr
-	    || class->script < 0) {
+	    || the_class->script < 0) {
 		sciprintf("[VM] Attempt to dereference class %x, which doesn't exist (max %x)\n",
 			  classnr, s->classtable_size);
 		script_error_flag = script_debug_flag = 1;
 		return NULL_REG;
 	} else {
-		if (!class->reg.segment) {
-			script_get_segment(s, class->script, lock);
+		if (!the_class->reg.segment) {
+			script_get_segment(s, the_class->script, lock);
 
-			if (!class->reg.segment) {
+			if (!the_class->reg.segment) {
 				sciprintf("[VM] Trying to instantiate class %x by instantiating script 0x%x (%03d) failed;"
-					  " Entering debugger.\n", classnr, class->script);
+					  " Entering debugger.\n", classnr, the_class->script);
 				script_error_flag = script_debug_flag = 1;
 				return NULL_REG;
 			}
 		} else
-			if (caller.segment != class->reg.segment)
-				sm_increment_lockers(&s->seg_manager, class->reg.segment, SEG_ID);
+			if (caller.segment != the_class->reg.segment)
+				sm_increment_lockers(&s->seg_manager, the_class->reg.segment, SEG_ID);
 
-		return class->reg;
+		return the_class->reg;
 	}
 }
 
@@ -458,11 +458,11 @@
 				{ /* Argument is supplied -> Selector should be set */
 
 				if (print_send_action) {
-					reg_t val = *varp;
-					reg_t new = argp[1];
+					reg_t oldReg = *varp;
+					reg_t newReg = argp[1];
 
 					sciprintf("[write to selector: change "PREG" to "PREG"]\n",
-						  PRINT_REG(val), PRINT_REG(new));
+						  PRINT_REG(oldReg), PRINT_REG(newReg));
 					print_send_action = 0;
 				}
 				send_calls[send_calls_nr].address.var = varp; /* register the call */

Modified: scummvm/trunk/engines/sci/include/kernel.h
===================================================================
--- scummvm/trunk/engines/sci/include/kernel.h	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/include/kernel.h	2009-02-15 22:01:09 UTC (rev 38312)
@@ -392,7 +392,7 @@
 typedef struct {
 	int type; /* KF_* */
 	const char *name;
-	kfunct_sig_pair_t new;
+	kfunct_sig_pair_t sig_pair;
 } sci_kernel_function_t;
 
 extern sci_kernel_function_t kfunct_mappers[];

Modified: scummvm/trunk/engines/sci/include/old_objects.h
===================================================================
--- scummvm/trunk/engines/sci/include/old_objects.h	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/include/old_objects.h	2009-02-15 22:01:09 UTC (rev 38312)
@@ -4,12 +4,6 @@
 #include <sciresource.h>
 #include <util.h>
 
-#ifdef __cplusplus
-#  define new new_
-#  define delete delete_
-#  define class class_
-#endif /* __cplusplus */
-
 typedef FLEXARRAY(script_opcode,int number;) script_method;
 
 typedef struct object_
@@ -33,7 +27,7 @@
 typedef struct
 {
   int id;
-  object* class;
+  object* classID;
   byte* heap;
   int offset;
 } instance;

Modified: scummvm/trunk/engines/sci/include/resource.h
===================================================================
--- scummvm/trunk/engines/sci/include/resource.h	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/include/resource.h	2009-02-15 22:01:09 UTC (rev 38312)
@@ -212,11 +212,6 @@
 **             (int) src: value to write
 */
 
-#ifdef _cplusplus
-#  define delete _freesci_cplusplus_workaround_delete
-#  define new _freesci_cplusplus_workaround_new
-#endif
-
 #define SCI_MEMTEST memtest(__FILE__, __LINE__)
 
 /*-- queues --*/

Modified: scummvm/trunk/engines/sci/include/vm.h
===================================================================
--- scummvm/trunk/engines/sci/include/vm.h	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/include/vm.h	2009-02-15 22:01:09 UTC (rev 38312)
@@ -39,12 +39,6 @@
 #ifndef _SCI_VM_H
 #define _SCI_VM_H
 
-#ifdef __cplusplus
-#  define new new_
-#  define delete delete_
-#  define class class_
-#endif /* __cplusplus */
-
 #define VM_STACK_SIZE 0x1000
 /* Number of bytes to be allocated for the stack */
 
@@ -338,7 +332,7 @@
 
 	selector_t caller, moveDone, moveSpeed; /* Used for DoBresen */
 
-	selector_t delete; /* Called by Animate() to dispose a view object */
+	selector_t delete_; /* Called by Animate() to dispose a view object */
 
 	selector_t vol;
 	selector_t pri;

Modified: scummvm/trunk/engines/sci/scicore/script.cpp
===================================================================
--- scummvm/trunk/engines/sci/scicore/script.cpp	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/scicore/script.cpp	2009-02-15 22:01:09 UTC (rev 38312)
@@ -151,7 +151,7 @@
   FIND_SELECTOR(type, "type");
   FIND_SELECTOR(state, "state");
   FIND_SELECTOR(doit, "doit");
-  FIND_SELECTOR(delete, "delete");
+  FIND_SELECTOR(delete_, "delete");
   FIND_SELECTOR(signal, "signal");
   FIND_SELECTOR(underBits, "underBits");
   FIND_SELECTOR(canBeHere, "canBeHere");

Modified: scummvm/trunk/engines/sci/scicore/vocab.cpp
===================================================================
--- scummvm/trunk/engines/sci/scicore/vocab.cpp	2009-02-15 22:01:07 UTC (rev 38311)
+++ scummvm/trunk/engines/sci/scicore/vocab.cpp	2009-02-15 22:01:09 UTC (rev 38312)
@@ -471,8 +471,8 @@
   int i, length, pos = 0;
 
   for (i = 0; i < words_nr; ++i) {
-    if (words[i].class != VOCAB_CLASS_ANYWORD) {
-      nodes[pos].type = words[i].class;
+    if (words[i].classID != VOCAB_CLASS_ANYWORD) {
+      nodes[pos].type = words[i].classID;
       nodes[pos].content.value = words[i].group;
       pos += 2; /* Link information is filled in below */
     }


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