[Scummvm-cvs-logs] CVS: scummvm/simon debug.cpp,1.32,1.33 items.cpp,1.113,1.114 simon.cpp,1.476,1.477 simon.h,1.130,1.131 vga.cpp,1.118,1.119

Max Horn fingolfin at users.sourceforge.net
Fri Dec 17 18:09:03 CET 2004


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

Modified Files:
	debug.cpp items.cpp simon.cpp simon.h vga.cpp 
Log Message:
A little more cleanup (the Simon code really is a big mess :-)

Index: debug.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/debug.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- debug.cpp	18 Dec 2004 01:33:21 -0000	1.32
+++ debug.cpp	18 Dec 2004 02:08:29 -0000	1.33
@@ -30,7 +30,7 @@
 
 namespace Simon {
 
-byte *SimonEngine::dumpOpcode(byte *p) {
+const byte *SimonEngine::dumpOpcode(const byte *p) {
 	byte opcode;
 	const char *s, *st;
 
@@ -133,7 +133,7 @@
 }
 
 void SimonEngine::dumpSubroutineLine(SubroutineLine *sl, Subroutine *sub) {
-	byte *p;
+	const byte *p;
 
 	printf("; ****\n");
 

Index: items.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/items.cpp,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -d -r1.113 -r1.114
--- items.cpp	27 Jun 2004 22:14:35 -0000	1.113
+++ items.cpp	18 Dec 2004 02:08:30 -0000	1.114
@@ -1085,7 +1085,7 @@
 int SimonEngine::startSubroutine(Subroutine *sub) {
 	int result = -1;
 	SubroutineLine *sl;
-	byte *old_code_ptr;
+	const byte *old_code_ptr;
 
 	if (_start_mainscript)
 		dumpSubroutine(sub);

Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.476
retrieving revision 1.477
diff -u -d -r1.476 -r1.477
--- simon.cpp	18 Dec 2004 01:33:21 -0000	1.476
+++ simon.cpp	18 Dec 2004 02:08:30 -0000	1.477
@@ -495,8 +495,8 @@
 	_x_scroll = 0;
 	_vga_var1 = 0;
 	_vga_var2 = 0;
-	_vga_var3 = 0;
-	_vga_var5 = 0;
+	_xscroll_step = 0;
+	_sprite_height = 0;
 	_vga_var7 = 0;
 	_vga_var8 = 0;
 
@@ -727,6 +727,18 @@
 }
 
 SimonEngine::~SimonEngine() {
+	delete _game_file;
+
+	midi.close();
+
+	free(_stringtab_ptr);
+	free(_itemarray_ptr);
+	free(_itemheap_ptr - _itemheap_curpos);
+	free(_tablesheap_ptr - _tablesheap_curpos);
+	free(_tbl_list);
+	free(_icon_file_ptr);
+	free(_game_offsets_ptr);
+
 	delete _dummy_item_1;
 	delete _dummy_item_2;
 	delete _dummy_item_3;
@@ -1018,8 +1030,9 @@
 }
 
 int SimonEngine::getNextWord() {
+	int16 a = (int16)READ_BE_UINT16(_code_ptr);
 	_code_ptr += 2;
-	return (int16)((_code_ptr[-2] << 8) | _code_ptr[-1]);
+	return a;
 }
 
 uint SimonEngine::getNextStringID() {
@@ -1034,7 +1047,7 @@
 }
 
 uint SimonEngine::getVarOrWord() {
-	uint a = (_code_ptr[0] << 8) | _code_ptr[1];
+	uint a = READ_BE_UINT16(_code_ptr);
 	_code_ptr += 2;
 	if (a >= 30000 && a < 30512)
 		return readVariable(a - 30000);
@@ -1348,7 +1361,7 @@
 		}
 	}
 
-		debug(1,"loadTablesIntoMem: didn't find %d", subr_id);
+	debug(1,"loadTablesIntoMem: didn't find %d", subr_id);
 }
 
 void SimonEngine::playSting(uint a) {
@@ -1718,10 +1731,10 @@
 			if (_vga_var2 == 0) {
 				if (_mouse_x >= 631 / 2) {
 					if (_x_scroll != _vga_var1)
-						_vga_var3 = 1;
+						_xscroll_step = 1;
 				} else if (_mouse_x < 8) {
 					if (_x_scroll != 0)
-						_vga_var3 = -1;
+						_xscroll_step = -1;
 				}
 			}
 		} else {
@@ -2469,8 +2482,8 @@
 		_x_scroll = 0;
 		_vga_var1 = 0;
 		_vga_var2 = 0;
-		_vga_var3 = 0;
-		_vga_var5 = 134;
+		_xscroll_step = 0;
+		_sprite_height = 134;
 		if (_variableArray[34] != -1)
 			_variableArray[251] = 0;
 	}
@@ -2586,14 +2599,14 @@
 		return;
 
 	if (_vga_var2 < 0) {
-		if (_vga_var3 != -1) {
-			_vga_var3 = -1;
+		if (_xscroll_step != -1) {
+			_xscroll_step = -1;
 			if (++_vga_var2 == 0)
 				return;
 		}
 	} else {
-		if (_vga_var3 != 1) {
-			_vga_var3 = 1;
+		if (_xscroll_step != 1) {
+			_xscroll_step = 1;
 			if (--_vga_var2 == 0)
 				return;
 		}
@@ -2718,7 +2731,7 @@
 	if (_video_var_9 == 2)
 		_video_var_9 = 1;
 
-	if (_game & GF_SIMON2 && _vga_var3) {
+	if (_game & GF_SIMON2 && _xscroll_step) {
 		timer_vga_sprites_helper();
 	}
 
@@ -2762,34 +2775,34 @@
 	const byte *src;
 	uint x;
 
-	if (_vga_var3 < 0) {
-		memmove(dst + 8, dst, 320 * _vga_var5 - 8);
+	if (_xscroll_step < 0) {
+		memmove(dst + 8, dst, 320 * _sprite_height - 8);
 	} else {
-		memmove(dst, dst + 8, 320 * _vga_var5 - 8);
+		memmove(dst, dst + 8, 320 * _sprite_height - 8);
 	}
 
 	x = _x_scroll - 1;
 
-	if (_vga_var3 > 0) {
+	if (_xscroll_step > 0) {
 		dst += 320 - 8;
 		x += 41;
 	}
 
 	src = _vga_var7 + x * 4;
-	decodeStripA(dst, src + READ_BE_UINT32(src), _vga_var5);
+	decodeStripA(dst, src + READ_BE_UINT32(src), _sprite_height);
 
 	dx_unlock_2();
 
 
 	memcpy(_sdl_buf_attached, _sdl_buf, 320 * 200);
-	dx_copy_from_attached_to_3(_vga_var5);
+	dx_copy_from_attached_to_3(_sprite_height);
 
 
-	_x_scroll += _vga_var3;
+	_x_scroll += _xscroll_step;
 
 	vc_write_var(0xfB, _x_scroll);
 
-	_vga_var3 = 0;
+	_xscroll_step = 0;
 }
 
 void SimonEngine::timer_vga_sprites_2() {
@@ -4018,16 +4031,18 @@
 }
 
 void SimonEngine::shutdown() {
-	if (_game_file) {
-		delete _game_file;
-		_game_file = NULL;
-	}
+	delete _game_file;
+
+	midi.close();
 
 	free(_stringtab_ptr);
 	free(_itemarray_ptr);
 	free(_itemheap_ptr - _itemheap_curpos);
 	free(_tablesheap_ptr - _tablesheap_curpos);
-	midi.close();
+	free(_tbl_list);
+	free(_icon_file_ptr);
+	free(_game_offsets_ptr);
+
 	_system->quit();
 }
 

Index: simon.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.h,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -d -r1.130 -r1.131
--- simon.h	18 Dec 2004 01:33:21 -0000	1.130
+++ simon.h	18 Dec 2004 02:08:32 -0000	1.131
@@ -157,7 +157,7 @@
 
 	byte *_tbl_list;
 
-	byte *_code_ptr;
+	const byte *_code_ptr;
 
 
 	byte **_local_stringtable;
@@ -212,7 +212,7 @@
 	bool _vga_var9;
 	int16 _script_unk_1;
 	bool _vga_var6;
-	int _x_scroll, _vga_var1, _vga_var2, _vga_var3, _vga_var5;
+	int _x_scroll, _vga_var1, _vga_var2, _xscroll_step, _sprite_height;
 	const byte *_vga_var7;
 	byte _vga_var8;
 
@@ -415,7 +415,7 @@
 	void dumpSubroutines();
 	void dumpSubroutine(Subroutine *sub);
 	void dumpSubroutineLine(SubroutineLine *sl, Subroutine *sub);
-	byte *dumpOpcode(byte *p);
+	const byte *dumpOpcode(const byte *p);
 
 	int startSubroutine(Subroutine *sub);
 	int startSubroutineEx(Subroutine *sub);

Index: vga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/vga.cpp,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -d -r1.118 -r1.119
--- vga.cpp	18 Dec 2004 01:33:21 -0000	1.118
+++ vga.cpp	18 Dec 2004 02:08:32 -0000	1.119
@@ -648,7 +648,7 @@
 
 		_vga_var1 = width * 2 - 40;
 		_vga_var7 = state.depack_src;
-		_vga_var5 = height;
+		_sprite_height = height;
 		if (_variableArray[34] == -1)
 			state.x = _variableArray[251];
 
@@ -1099,7 +1099,7 @@
 /* helper routines */
 
 void SimonEngine::vc_20_set_code_word() {
-	/* FIXME: This pücode is somewhat strange: it first reads a BE word from 
+	/* FIXME: This opcode is somewhat strange: it first reads a BE word from 
 	 * the script (advancing the script pointer in doing so); then it writes
 	 * back the same word, this time as LE, into the script.
 	 */
@@ -1400,7 +1400,7 @@
 				goto no_scroll;
 			_vga_var2 = 0;
 		} else {
-			if (_vga_var3 != 0)
+			if (_xscroll_step != 0)
 				goto no_scroll;
 		}
 
@@ -1429,7 +1429,7 @@
 				goto no_scroll;
 			_vga_var2 = 0;
 		} else {
-			if (_vga_var3 != 0)
+			if (_xscroll_step != 0)
 				goto no_scroll;
 		}
 





More information about the Scummvm-git-logs mailing list