[Scummvm-cvs-logs] SF.net SVN: scummvm: [24183] scummvm/trunk/engines/agos

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sun Oct 8 02:41:36 CEST 2006


Revision: 24183
          http://svn.sourceforge.net/scummvm/?rev=24183&view=rev
Author:   fingolfin
Date:     2006-10-07 17:41:29 -0700 (Sat, 07 Oct 2006)

Log Message:
-----------
Replaced evil usage of static globals inside function by proper member variables

Modified Paths:
--------------
    scummvm/trunk/engines/agos/agos.h
    scummvm/trunk/engines/agos/game.cpp
    scummvm/trunk/engines/agos/items.cpp
    scummvm/trunk/engines/agos/vga.cpp

Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h	2006-10-08 00:21:40 UTC (rev 24182)
+++ scummvm/trunk/engines/agos/agos.h	2006-10-08 00:41:29 UTC (rev 24183)
@@ -151,13 +151,13 @@
 	void setupPuzzleOpcodes(OpcodeProc *op);
 
 	void setupOpcodes();
-	const OpcodeProc *_opcode_table;
+	OpcodeProc _opcode_table[300];
 	int _numOpcodes;
 
 	typedef void (AGOSEngine::*VgaOpcodeProc) ();
 
 	void setupVgaOpcodes();
-	const VgaOpcodeProc *_vga_opcode_table;
+	VgaOpcodeProc _vga_opcode_table[100];
 	uint _numVideoOpcodes;
 
 	void setupCommonVideoOpcodes(VgaOpcodeProc *op);

Modified: scummvm/trunk/engines/agos/game.cpp
===================================================================
--- scummvm/trunk/engines/agos/game.cpp	2006-10-08 00:21:40 UTC (rev 24182)
+++ scummvm/trunk/engines/agos/game.cpp	2006-10-08 00:41:29 UTC (rev 24183)
@@ -1844,7 +1844,6 @@
 }
 
 bool AGOSEngine::initGame() {
-	uint16 gameCount = ARRAYSIZE(gameDescriptions);
 	int gameNumber = -1;
 	
 	DetectedGameList detectedGames;
@@ -1884,7 +1883,7 @@
 
 	//delete &matches;
 
-	if (gameNumber >= gameCount || gameNumber == -1) {
+	if (gameNumber >= ARRAYSIZE(gameDescriptions) || gameNumber == -1) {
 		error("AGOSEngine::loadGame wrong gameNumber");
 	}
 

Modified: scummvm/trunk/engines/agos/items.cpp
===================================================================
--- scummvm/trunk/engines/agos/items.cpp	2006-10-08 00:21:40 UTC (rev 24182)
+++ scummvm/trunk/engines/agos/items.cpp	2006-10-08 00:41:29 UTC (rev 24183)
@@ -585,35 +585,30 @@
 }
 
 void AGOSEngine::setupOpcodes() {
-	static OpcodeProc opcode_table[300];
+	memset(_opcode_table, 0, sizeof(_opcode_table));
+	_numOpcodes = ARRAYSIZE(_opcode_table);
 
-	for (int i = 0; i < ARRAYSIZE(opcode_table); i++)
-		opcode_table[i] = NULL;
-
-	_opcode_table = opcode_table;
-	_numOpcodes = ARRAYSIZE(opcode_table);
-
 	switch (getGameType()) {
 	case GType_ELVIRA1:
-		setupElvira1Opcodes(opcode_table);
+		setupElvira1Opcodes(_opcode_table);
 		break;
 	case GType_ELVIRA2:
-		setupElvira2Opcodes(opcode_table);
+		setupElvira2Opcodes(_opcode_table);
 		break;
 	case GType_WW:
-		setupWaxworksOpcodes(opcode_table);
+		setupWaxworksOpcodes(_opcode_table);
 		break;
 	case GType_SIMON1:
-		setupSimon1Opcodes(opcode_table);
+		setupSimon1Opcodes(_opcode_table);
 		break;
 	case GType_SIMON2:
-		setupSimon2Opcodes(opcode_table);
+		setupSimon2Opcodes(_opcode_table);
 		break;
 	case GType_FF:
-		setupFeebleOpcodes(opcode_table);
+		setupFeebleOpcodes(_opcode_table);
 		break;
 	case GType_PP:
-		setupPuzzleOpcodes(opcode_table);
+		setupPuzzleOpcodes(_opcode_table);
 		break;
 	default:
 		error("setupOpcodes: Unknown game");

Modified: scummvm/trunk/engines/agos/vga.cpp
===================================================================
--- scummvm/trunk/engines/agos/vga.cpp	2006-10-08 00:21:40 UTC (rev 24182)
+++ scummvm/trunk/engines/agos/vga.cpp	2006-10-08 00:41:29 UTC (rev 24183)
@@ -177,28 +177,23 @@
 }
 
 void AGOSEngine::setupVgaOpcodes() {
-	static VgaOpcodeProc vga_opcode_table[100];
+	memset(_vga_opcode_table, 0, sizeof(_vga_opcode_table));
 
-	for (int i = 0; i < ARRAYSIZE(vga_opcode_table); i++)
-		vga_opcode_table[i] = NULL;
-
-	_vga_opcode_table = vga_opcode_table;
-
 	switch (getGameType()) {
 	case GType_ELVIRA1:
-		setupElvira1VideoOpcodes(vga_opcode_table);
+		setupElvira1VideoOpcodes(_vga_opcode_table);
 		break;
 	case GType_ELVIRA2:
 	case GType_WW:
 	case GType_SIMON1:
-		setupCommonVideoOpcodes(vga_opcode_table);
+		setupCommonVideoOpcodes(_vga_opcode_table);
 		break;
 	case GType_SIMON2:
-		setupSimon2VideoOpcodes(vga_opcode_table);
+		setupSimon2VideoOpcodes(_vga_opcode_table);
 		break;
 	case GType_FF:
 	case GType_PP:
-		setupFeebleVideoOpcodes(vga_opcode_table);
+		setupFeebleVideoOpcodes(_vga_opcode_table);
 		break;
 	default:
 		error("setupVgaOpcodes: Unknown game");


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