[Scummvm-cvs-logs] SF.net SVN: scummvm: [32986] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Thu Jul 10 13:25:43 CEST 2008


Revision: 32986
          http://scummvm.svn.sourceforge.net/scummvm/?rev=32986&view=rev
Author:   lordhoto
Date:     2008-07-10 04:25:43 -0700 (Thu, 10 Jul 2008)

Log Message:
-----------
Workaround for gcc 2.95 compiler bug.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/script_tim.cpp
    scummvm/trunk/engines/kyra/script_tim.h

Modified: scummvm/trunk/engines/kyra/script_tim.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_tim.cpp	2008-07-10 05:25:52 UTC (rev 32985)
+++ scummvm/trunk/engines/kyra/script_tim.cpp	2008-07-10 11:25:43 UTC (rev 32986)
@@ -34,6 +34,7 @@
 TIMInterpreter::TIMInterpreter(KyraEngine_v1 *vm, OSystem *system) : _vm(vm), _system(system), _currentTim(0) {
 #define COMMAND(x) { &TIMInterpreter::x, #x }
 #define COMMAND_UNIMPL() { 0, 0 }
+#define cmd_return(n) cmd_return_##n
 	static const CommandEntry commandProcs[] = {
 		// 0x00
 		COMMAND(cmd_initFunc0),
@@ -66,15 +67,16 @@
 		COMMAND_UNIMPL(),
 		COMMAND(cmd_resetAllRuntimes),
 		// 0x18
-		COMMAND(cmd_return<1>),
+		COMMAND(cmd_return(1)),
 		COMMAND(cmd_execOpcode),
 		COMMAND(cmd_initFuncNow),
 		COMMAND(cmd_stopFuncNow),
 		// 0x1C
-		COMMAND(cmd_return<1>),
-		COMMAND(cmd_return<1>),
-		COMMAND(cmd_return<-1>)
+		COMMAND(cmd_return(1)),
+		COMMAND(cmd_return(1)),
+		COMMAND(cmd_return(n1))
 	};
+#undef cmd_return
 
 	_commands = commandProcs;
 	_commandsSize = ARRAYSIZE(commandProcs);

Modified: scummvm/trunk/engines/kyra/script_tim.h
===================================================================
--- scummvm/trunk/engines/kyra/script_tim.h	2008-07-10 05:25:52 UTC (rev 32985)
+++ scummvm/trunk/engines/kyra/script_tim.h	2008-07-10 11:25:43 UTC (rev 32986)
@@ -102,8 +102,12 @@
 	int cmd_execOpcode(const uint16 *param);
 	int cmd_initFuncNow(const uint16 *param);
 	int cmd_stopFuncNow(const uint16 *param);
-	template<int T>
-	int cmd_return(const uint16 *) { return T; }
+#define cmd_return(n, v) \
+	int cmd_return_##n(const uint16 *) { return v; }
+
+	cmd_return( 1,  1);
+	cmd_return(n1, -1);
+#undef cmd_return
 };
 
 } // end of namespace Kyra


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