[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.526,1.527 simon.h,1.152,1.153 vga.cpp,1.141,1.142

Chris Apers chrilith at users.sourceforge.net
Sat Nov 5 10:47:19 CET 2005


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

Modified Files:
	simon.cpp simon.h vga.cpp 
Log Message:
- Changed PalmOS ifdef
- Move opcode table to setupVgaOpcodes so that the table is correctly initialized with PalmOS ARM

Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.526
retrieving revision 1.527
diff -u -d -r1.526 -r1.527
--- simon.cpp	5 Nov 2005 00:17:09 -0000	1.526
+++ simon.cpp	5 Nov 2005 18:47:03 -0000	1.527
@@ -45,7 +45,7 @@
 extern bool isSmartphone(void);
 #endif
 
-#ifdef __PALM_OS__
+#ifdef PALMOS_68K
 #include "globals.h"
 #endif
 
@@ -169,7 +169,7 @@
 
 namespace Simon {
 
-#ifdef __PALM_OS__
+#ifdef PALMOS_68K
 #define PTR(a) a
 static const GameSpecificSettings *simon1_settings;
 static const GameSpecificSettings *simon1acorn_settings;
@@ -177,6 +177,7 @@
 static const GameSpecificSettings *simon1demo_settings;
 static const GameSpecificSettings *simon2win_settings;
 static const GameSpecificSettings *simon2dos_settings;
+static const GameSpecificSettings *feeblefiles_settings;
 #else
 #define PTR(a) &a
 static const GameSpecificSettings simon1_settings = {
@@ -292,6 +293,7 @@
 	_gameOffsetsPtr = 0;
 
 	_debugger = 0;
+	setupVgaOpcodes();
 
 	const SimonGameSettings *g = simon_settings;
 	while (g->name) {
@@ -364,7 +366,7 @@
 	VGA_DELAY_BASE = 1;
 	if (_game == GAME_FEEBLEFILES) {
 		NUM_VIDEO_OP_CODES = 85;
-#ifndef __PALM_OS__
+#ifndef PALMOS_68K
 		VGA_MEM_SIZE = 7500000;
 #else
 		VGA_MEM_SIZE = gVars->memory[kMemSimon2Games];
@@ -374,7 +376,7 @@
 		TABLE_INDEX_BASE = 1580 / 4;
 		TEXT_INDEX_BASE = 1500 / 4;
 		NUM_VIDEO_OP_CODES = 75;
-#ifndef __PALM_OS__
+#ifndef PALMOS_68K
 		VGA_MEM_SIZE = 2000000;
 #else
 		VGA_MEM_SIZE = gVars->memory[kMemSimon2Games];
@@ -390,7 +392,7 @@
 		TABLE_INDEX_BASE = 1576 / 4;
 		TEXT_INDEX_BASE = 1460 / 4;
 		NUM_VIDEO_OP_CODES = 64;
-#ifndef __PALM_OS__
+#ifndef PALMOS_68K
 		VGA_MEM_SIZE = 1000000;
 #else
 		VGA_MEM_SIZE = gVars->memory[kMemSimon1Games];
@@ -1404,7 +1406,6 @@
 				in = openTablesFile(filename);
 				readSubroutineBlock(in);
 				closeTablesFile(in);
-
 				if (_game == GAME_FEEBLEFILES) {
 					// TODO
 				} else if (_game & GF_SIMON2) {
@@ -2572,6 +2573,7 @@
 	} else {
 		_vcPtr = _curVgaFile1 + READ_BE_UINT16(&((ImageHeader_Simon *) b)->scriptOffs);
 	}
+
 	//dump_vga_script(_vcPtr, num, vga_res_id);
 	run_vga_script();
 	_vcPtr = vc_ptr_org;
@@ -2593,8 +2595,10 @@
 			num_lines = 200;
 		else
 			num_lines = _windowNum == 4 ? 134 : 200;
+
 		dx_copy_from_attached_to_2(0, 0, _screenWidth, num_lines);
 		dx_copy_from_attached_to_3(num_lines);
+
 		_syncFlag2 = 1;
 		_timer5 = 0;
 	}
@@ -4200,7 +4204,7 @@
 				break;
 			case OSystem::EVENT_LBUTTONDOWN:
 				_leftButtonDown++;
-#if defined (_WIN32_WCE) || defined(__PALM_OS__)
+#if defined (_WIN32_WCE) || defined(PALMOS_MODE)
 				_sdlMouseX = event.mouse.x;
 				_sdlMouseY = event.mouse.y;
 #endif
@@ -4325,7 +4329,7 @@
 
 } // End of namespace Simon
 
-#ifdef __PALM_OS__
+#ifdef PALMOS_68K
 #include "scumm_globals.h"
 
 _GINIT(Simon_Simon)
@@ -4335,6 +4339,7 @@
 _GSETPTR(Simon::simon1demo_settings, GBVARS_SIMON1DEMOSETTINGS_INDEX, Simon::GameSpecificSettings, GBVARS_SIMON)
 _GSETPTR(Simon::simon2win_settings, GBVARS_SIMON2WINSETTINGS_INDEX, Simon::GameSpecificSettings, GBVARS_SIMON)
 _GSETPTR(Simon::simon2dos_settings, GBVARS_SIMON2DOSSETTINGS_INDEX, Simon::GameSpecificSettings, GBVARS_SIMON)
+_GSETPTR(Simon::feeblefiles_settings, GBVARS_FEEBLEFILESSETTINGS_INDEX, Simon::GameSpecificSettings, GBVARS_SIMON)
 _GEND
 
 _GRELEASE(Simon_Simon)
@@ -4344,6 +4349,7 @@
 _GRELEASEPTR(GBVARS_SIMON1DEMOSETTINGS_INDEX, GBVARS_SIMON)
 _GRELEASEPTR(GBVARS_SIMON2WINSETTINGS_INDEX, GBVARS_SIMON)
 _GRELEASEPTR(GBVARS_SIMON2DOSSETTINGS_INDEX, GBVARS_SIMON)
+_GRELEASEPTR(GBVARS_FEEBLEFILESSETTINGS_INDEX, GBVARS_SIMON)
 _GEND
 
 #endif

Index: simon.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.h,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -d -r1.152 -r1.153
--- simon.h	19 Oct 2005 11:32:25 -0000	1.152
+++ simon.h	5 Nov 2005 18:47:03 -0000	1.153
@@ -109,6 +109,11 @@
 	friend class Debugger;
 
 	void errorString(const char *buf_input, char *buf_output);
+
+	typedef void (SimonEngine::*VgaOpcodeProc) ();
+	void setupVgaOpcodes();
+	const VgaOpcodeProc *_vga_opcode_table;
+	
 protected:
 	void playSting(uint a);
 

Index: vga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/vga.cpp,v
retrieving revision 1.141
retrieving revision 1.142
diff -u -d -r1.141 -r1.142
--- vga.cpp	23 Oct 2005 11:17:15 -0000	1.141
+++ vga.cpp	5 Nov 2005 18:47:03 -0000	1.142
@@ -29,96 +29,98 @@
 
 namespace Simon {
 
-typedef void (SimonEngine::*VgaOpcodeProc) ();
-
 // Opcode tables
-static const VgaOpcodeProc vga_opcode_table[] = {
-	NULL,
-	&SimonEngine::vc1_fadeOut,
-	&SimonEngine::vc2_call,
-	&SimonEngine::vc3_loadSprite,
-	&SimonEngine::vc4_fadeIn,
-	&SimonEngine::vc5_skip_if_neq,
-	&SimonEngine::vc6_skip_ifn_sib_with_a,
-	&SimonEngine::vc7_skip_if_sib_with_a,
-	&SimonEngine::vc8_skip_if_parent_is,
-	&SimonEngine::vc9_skip_if_unk3_is,
-	&SimonEngine::vc10_draw,
-	&SimonEngine::vc11_clearPathFinder,
-	&SimonEngine::vc12_delay,
-	&SimonEngine::vc13_addToSpriteX,
-	&SimonEngine::vc14_addToSpriteY,
-	&SimonEngine::vc15_wakeup_id,
-	&SimonEngine::vc16_sleep_on_id,
-	&SimonEngine::vc17_setPathfinderItem,
-	&SimonEngine::vc18_jump,
-	&SimonEngine::vc19_chain_to_script,
-	&SimonEngine::vc20_setRepeat,
-	&SimonEngine::vc21_endRepeat,
-	&SimonEngine::vc22_setSpritePalette,
-	&SimonEngine::vc23_setSpritePriority,
-	&SimonEngine::vc24_setSpriteXY,
-	&SimonEngine::vc25_halt_sprite,
-	&SimonEngine::vc26_setSubWindow,
-	&SimonEngine::vc27_resetSprite,
-	&SimonEngine::vc28_dummy_op,
-	&SimonEngine::vc29_stopAllSounds,
-	&SimonEngine::vc30_setFrameRate,
-	&SimonEngine::vc31_setWindow,
-	&SimonEngine::vc32_copyVar,
-	&SimonEngine::vc33_setMouseOn,
-	&SimonEngine::vc34_setMouseOff,
-	&SimonEngine::vc35_clearWindow,
-	&SimonEngine::vc36_setWindowImage,
-	&SimonEngine::vc37_addToSpriteY,
-	&SimonEngine::vc38_skipIfVarZero,
-	&SimonEngine::vc39_setVar,
-	&SimonEngine::vc40,
-	&SimonEngine::vc41,
-	&SimonEngine::vc42_delayIfNotEQ,
-	&SimonEngine::vc43_skipIfBitClear,
-	&SimonEngine::vc44_skipIfBitSet,
-	&SimonEngine::vc45_setSpriteX,
-	&SimonEngine::vc46_setSpriteY,
-	&SimonEngine::vc47_addToVar,
-	&SimonEngine::vc48_setPathFinder,
-	&SimonEngine::vc49_setBit,
-	&SimonEngine::vc50_clearBit,
-	&SimonEngine::vc51_clear_hitarea_bit_0x40,
-	&SimonEngine::vc52_playSound,
-	&SimonEngine::vc53_no_op,
-	&SimonEngine::vc54_no_op,
-	&SimonEngine::vc55_offset_hit_area,
-	&SimonEngine::vc56_delay,
-	&SimonEngine::vc57_no_op,
-	&SimonEngine::vc58,
-	&SimonEngine::vc59,
-	&SimonEngine::vc60_killSprite,
-	&SimonEngine::vc61_changeSprite,
-	&SimonEngine::vc62_fastFadeOut,
-	&SimonEngine::vc63_fastFadeIn,
-	&SimonEngine::vc64_skipIfSpeechEnded,
-	&SimonEngine::vc65_slowFadeIn,
-	&SimonEngine::vc66_skipIfNotEqual,
-	&SimonEngine::vc67_skipIfGE,
-	&SimonEngine::vc68_skipIfLE,
-	&SimonEngine::vc69_playTrack,
-	&SimonEngine::vc70_queueMusic,
-	&SimonEngine::vc71_checkMusicQueue,
-	&SimonEngine::vc72_play_track_2,
-	&SimonEngine::vc73_setMark,
-	&SimonEngine::vc74_clearMark,
-	&SimonEngine::vc75_setScale,
-	&SimonEngine::vc76_setScaleXOffs,
-	&SimonEngine::vc77_setScaleYOffs,
-	&SimonEngine::vc78_pathUnk1,
-	&SimonEngine::vc79_pathUnk2,
-	&SimonEngine::vc80_setOverlayImage,
-	&SimonEngine::vc81_setRandom,
-	&SimonEngine::vc82_pathUnk3,
-	&SimonEngine::vc83_playSoundLoop,
-	&SimonEngine::vc84_stopSoundLoop,
-};
+void SimonEngine::setupVgaOpcodes() {
+	static const VgaOpcodeProc vga_opcode_table[] = {
+		NULL,
+		&SimonEngine::vc1_fadeOut,
+		&SimonEngine::vc2_call,
+		&SimonEngine::vc3_loadSprite,
+		&SimonEngine::vc4_fadeIn,
+		&SimonEngine::vc5_skip_if_neq,
+		&SimonEngine::vc6_skip_ifn_sib_with_a,
+		&SimonEngine::vc7_skip_if_sib_with_a,
+		&SimonEngine::vc8_skip_if_parent_is,
+		&SimonEngine::vc9_skip_if_unk3_is,
+		&SimonEngine::vc10_draw,
+		&SimonEngine::vc11_clearPathFinder,
+		&SimonEngine::vc12_delay,
+		&SimonEngine::vc13_addToSpriteX,
+		&SimonEngine::vc14_addToSpriteY,
+		&SimonEngine::vc15_wakeup_id,
+		&SimonEngine::vc16_sleep_on_id,
+		&SimonEngine::vc17_setPathfinderItem,
+		&SimonEngine::vc18_jump,
+		&SimonEngine::vc19_chain_to_script,
+		&SimonEngine::vc20_setRepeat,
+		&SimonEngine::vc21_endRepeat,
+		&SimonEngine::vc22_setSpritePalette,
+		&SimonEngine::vc23_setSpritePriority,
+		&SimonEngine::vc24_setSpriteXY,
+		&SimonEngine::vc25_halt_sprite,
+		&SimonEngine::vc26_setSubWindow,
+		&SimonEngine::vc27_resetSprite,
+		&SimonEngine::vc28_dummy_op,
+		&SimonEngine::vc29_stopAllSounds,
+		&SimonEngine::vc30_setFrameRate,
+		&SimonEngine::vc31_setWindow,
+		&SimonEngine::vc32_copyVar,
+		&SimonEngine::vc33_setMouseOn,
+		&SimonEngine::vc34_setMouseOff,
+		&SimonEngine::vc35_clearWindow,
+		&SimonEngine::vc36_setWindowImage,
+		&SimonEngine::vc37_addToSpriteY,
+		&SimonEngine::vc38_skipIfVarZero,
+		&SimonEngine::vc39_setVar,
+		&SimonEngine::vc40,
+		&SimonEngine::vc41,
+		&SimonEngine::vc42_delayIfNotEQ,
+		&SimonEngine::vc43_skipIfBitClear,
+		&SimonEngine::vc44_skipIfBitSet,
+		&SimonEngine::vc45_setSpriteX,
+		&SimonEngine::vc46_setSpriteY,
+		&SimonEngine::vc47_addToVar,
+		&SimonEngine::vc48_setPathFinder,
+		&SimonEngine::vc49_setBit,
+		&SimonEngine::vc50_clearBit,
+		&SimonEngine::vc51_clear_hitarea_bit_0x40,
+		&SimonEngine::vc52_playSound,
+		&SimonEngine::vc53_no_op,
+		&SimonEngine::vc54_no_op,
+		&SimonEngine::vc55_offset_hit_area,
+		&SimonEngine::vc56_delay,
+		&SimonEngine::vc57_no_op,
+		&SimonEngine::vc58,
+		&SimonEngine::vc59,
+		&SimonEngine::vc60_killSprite,
+		&SimonEngine::vc61_changeSprite,
+		&SimonEngine::vc62_fastFadeOut,
+		&SimonEngine::vc63_fastFadeIn,
+		&SimonEngine::vc64_skipIfSpeechEnded,
+		&SimonEngine::vc65_slowFadeIn,
+		&SimonEngine::vc66_skipIfNotEqual,
+		&SimonEngine::vc67_skipIfGE,
+		&SimonEngine::vc68_skipIfLE,
+		&SimonEngine::vc69_playTrack,
+		&SimonEngine::vc70_queueMusic,
+		&SimonEngine::vc71_checkMusicQueue,
+		&SimonEngine::vc72_play_track_2,
+		&SimonEngine::vc73_setMark,
+		&SimonEngine::vc74_clearMark,
+		&SimonEngine::vc75_setScale,
+		&SimonEngine::vc76_setScaleXOffs,
+		&SimonEngine::vc77_setScaleYOffs,
+		&SimonEngine::vc78_pathUnk1,
+		&SimonEngine::vc79_pathUnk2,
+		&SimonEngine::vc80_setOverlayImage,
+		&SimonEngine::vc81_setRandom,
+		&SimonEngine::vc82_pathUnk3,
+		&SimonEngine::vc83_playSoundLoop,
+		&SimonEngine::vc84_stopSoundLoop,
+	};
+	
+	_vga_opcode_table = vga_opcode_table;
+}
 
 // Script parser
 void SimonEngine::run_vga_script() {
@@ -145,7 +147,7 @@
 		if (opcode == 0)
 			return;
 
-		(this->*vga_opcode_table[opcode]) ();
+		(this->*_vga_opcode_table[opcode]) ();
 	}
 }
 
@@ -665,6 +667,7 @@
 	state.palette = (_vcPtr[1] << 4);
 	_vcPtr += 2;
 	state.x = (int16)vc_read_next_word();
+
 	if (_game & GF_SIMON2) {
 		state.x -= _scrollX;
 	}





More information about the Scummvm-git-logs mailing list