[Scummvm-cvs-logs] SF.net SVN: scummvm: [22430] scummvm/trunk/engines/simon

kirben at users.sourceforge.net kirben at users.sourceforge.net
Sat May 13 01:36:42 CEST 2006


Revision: 22430
Author:   kirben
Date:     2006-05-13 01:24:47 -0700 (Sat, 13 May 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22430&view=rev

Log Message:
-----------
Remove _rejectCount and cleanup

Modified Paths:
--------------
    scummvm/trunk/engines/simon/items.cpp
    scummvm/trunk/engines/simon/simon.cpp
    scummvm/trunk/engines/simon/simon.h
Modified: scummvm/trunk/engines/simon/items.cpp
===================================================================
--- scummvm/trunk/engines/simon/items.cpp	2006-05-13 07:00:14 UTC (rev 22429)
+++ scummvm/trunk/engines/simon/items.cpp	2006-05-13 08:24:47 UTC (rev 22430)
@@ -1393,13 +1393,13 @@
 
 void SimonEngine::o_lockZones() {
 	// 175: vga pointer op 1
-	_vgaBufStart = _vgaBufFreeStart;
+	_vgaMemBase = _vgaMemPtr;
 }
 
 void SimonEngine::o_unlockZones() {
 	// 176: vga pointer op 2
-	_vgaBufFreeStart = _vgaFileBufOrg;
-	_vgaBufStart = _vgaFileBufOrg;
+	_vgaMemPtr = _vgaFrozenBase;
+	_vgaMemBase = _vgaFrozenBase;
 }
 
 void SimonEngine::o1_screenTextPObj() {
@@ -2233,14 +2233,14 @@
 }
 
 void SimonEngine::freezeBottom() {
-	_vgaBufStart = _vgaBufFreeStart;
-	_vgaFileBufOrg = _vgaBufFreeStart;
+	_vgaMemBase = _vgaMemPtr;
+	_vgaFrozenBase = _vgaMemPtr;
 }
 
 void SimonEngine::unfreezeBottom() {
-	_vgaBufFreeStart = _vgaFileBufOrg2;
-	_vgaBufStart = _vgaFileBufOrg2;
-	_vgaFileBufOrg = _vgaFileBufOrg2;
+	_vgaMemPtr = _vgaRealBase;
+	_vgaMemBase = _vgaRealBase;
+	_vgaFrozenBase = _vgaRealBase;
 }
 
 void SimonEngine::sendSync(uint a) {

Modified: scummvm/trunk/engines/simon/simon.cpp
===================================================================
--- scummvm/trunk/engines/simon/simon.cpp	2006-05-13 07:00:14 UTC (rev 22429)
+++ scummvm/trunk/engines/simon/simon.cpp	2006-05-13 08:24:47 UTC (rev 22430)
@@ -244,7 +244,6 @@
 	_fastFadeInFlag = 0;
 
 	_noOverWrite = 0;
-	_rejectCount = 0;
 	_rejectBlock = false;
 
 	_fastFadeOutFlag = 0;
@@ -263,11 +262,12 @@
 
 	_vgaSpriteChanged = 0;
 
-	_vgaBufFreeStart = 0;
-	_vgaBufEnd = 0;
-	_vgaBufStart = 0;
-	_vgaFileBufOrg = 0;
-	_vgaFileBufOrg2 = 0;
+	_vgaMemPtr = 0;
+	_vgaMemEnd = 0;
+	_vgaMemBase = 0;
+	_vgaFrozenBase = 0;
+	_vgaRealBase = 0;
+	_zoneBuffers = 0;
 
 	_curVgaFile1 = 0;
 	_curVgaFile2 = 0;
@@ -478,7 +478,7 @@
 		_numTextBoxes = 40;
 		_numVideoOpcodes = 85;
 #ifndef PALMOS_68K
-		_vgaMemSize = 7500000;
+		_vgaMemSize = 7000000;
 #else
 		_vgaMemSize = gVars->memory[kMemSimon2Games];
 #endif
@@ -1290,29 +1290,25 @@
 }
 
 void SimonEngine::setZoneBuffers() {
-	byte *alloced;
+	_zoneBuffers = (byte *)malloc(_vgaMemSize);
 
-	alloced = (byte *)malloc(_vgaMemSize);
-
-	_vgaBufFreeStart = alloced;
-	_vgaBufStart = alloced;
-	_vgaFileBufOrg = alloced;
-	_vgaFileBufOrg2 = alloced;
-	_vgaBufEnd = alloced + _vgaMemSize;
+	_vgaMemPtr = _zoneBuffers;
+	_vgaMemBase = _zoneBuffers;
+	_vgaFrozenBase = _zoneBuffers;
+	_vgaRealBase = _zoneBuffers;
+	_vgaMemEnd = _zoneBuffers + _vgaMemSize;
 }
 
 byte *SimonEngine::allocBlock(uint32 size) {
 	byte *block, *blockEnd;
+	int i;
 
-	_rejectCount = 0;
-
-	for (;;) {
-		block = _vgaBufFreeStart;
-
+	for (i = 0; i < _vgaMemSize / size; i++) {
+		block = _vgaMemPtr;
 		blockEnd = block + size;
 
-		if (blockEnd >= _vgaBufEnd) {
-			_vgaBufFreeStart = _vgaBufStart;
+		if (blockEnd >= _vgaMemEnd) {
+			_vgaMemPtr = _vgaMemBase;
 		} else {
 			_rejectBlock = false;
 			checkNoOverWrite(blockEnd);
@@ -1322,10 +1318,12 @@
 			if (_rejectBlock)
 				continue;
 			checkZonePtrs(blockEnd);
-			_vgaBufFreeStart = blockEnd;
+			_vgaMemPtr = blockEnd;
 			return block;
 		}
 	}
+
+	error("allocBlock: Couldn't find free block");
 }
 
 void SimonEngine::checkNoOverWrite(byte *end) {
@@ -1334,33 +1332,26 @@
 	if (_noOverWrite == 0xFFFF)
 		return;
 
-	if (_rejectCount == 2)
-		error("checkNoOverWrite: _rejectCount == 2");
-
 	vpe = &_vgaBufferPointers[_noOverWrite];
 
 	if (getGameType() == GType_FF) {
-		if (vpe->vgaFile1 < end && vpe->vgaFile1End > _vgaBufFreeStart) {
+		if (vpe->vgaFile1 < end && vpe->vgaFile1End > _vgaMemPtr) {
 			_rejectBlock = true;
-			_rejectCount++;
-			_vgaBufFreeStart = vpe->vgaFile1End;
-		} else if (vpe->vgaFile2 < end && vpe->vgaFile2End > _vgaBufFreeStart) {
+			_vgaMemPtr = vpe->vgaFile1End;
+		} else if (vpe->vgaFile2 < end && vpe->vgaFile2End > _vgaMemPtr) {
 			_rejectBlock = true;
-			_rejectCount++;
-			_vgaBufFreeStart = vpe->vgaFile2End;
-		} else if (vpe->sfxFile && vpe->sfxFile < end && vpe->sfxFileEnd > _vgaBufFreeStart) {
+			_vgaMemPtr = vpe->vgaFile2End;
+		} else if (vpe->sfxFile && vpe->sfxFile < end && vpe->sfxFileEnd > _vgaMemPtr) {
 			_rejectBlock = true;
-			_rejectCount++;
-			_vgaBufFreeStart = vpe->sfxFileEnd;
+			_vgaMemPtr = vpe->sfxFileEnd;
 		} else {
 			_rejectBlock = false;
 		}
 	} else {
-		if (_vgaBufFreeStart <= vpe->vgaFile1 && end >= vpe->vgaFile1 ||
-			_vgaBufFreeStart <= vpe->vgaFile2 && end >= vpe->vgaFile2) {
+		if (_vgaMemPtr <= vpe->vgaFile1 && end >= vpe->vgaFile1 ||
+			_vgaMemPtr <= vpe->vgaFile2 && end >= vpe->vgaFile2) {
 			_rejectBlock = true;
-			_rejectCount++;
-			_vgaBufFreeStart = vpe->vgaFile1 + 0x5000;
+			_vgaMemPtr = vpe->vgaFile1 + 0x5000;
 		} else {
 			_rejectBlock = false;
 		}
@@ -1387,23 +1378,23 @@
 	vpe = &_vgaBufferPointers[a];
 
 	if (getGameType() == GType_FF) {
-		if (vpe->vgaFile1 < end && vpe->vgaFile1End > _vgaBufFreeStart) {
+		if (vpe->vgaFile1 < end && vpe->vgaFile1End > _vgaMemPtr) {
 			_rejectBlock = true;
-			_vgaBufFreeStart = vpe->vgaFile1End;
-		} else if (vpe->vgaFile2 < end && vpe->vgaFile2End > _vgaBufFreeStart) {
+			_vgaMemPtr = vpe->vgaFile1End;
+		} else if (vpe->vgaFile2 < end && vpe->vgaFile2End > _vgaMemPtr) {
 			_rejectBlock = true;
-			_vgaBufFreeStart = vpe->vgaFile2End;
-		} else if (vpe->sfxFile && vpe->sfxFile < end && vpe->sfxFileEnd > _vgaBufFreeStart) {
+			_vgaMemPtr = vpe->vgaFile2End;
+		} else if (vpe->sfxFile && vpe->sfxFile < end && vpe->sfxFileEnd > _vgaMemPtr) {
 			_rejectBlock = true;
-			_vgaBufFreeStart = vpe->sfxFileEnd;
+			_vgaMemPtr = vpe->sfxFileEnd;
 		} else {
 			_rejectBlock = false;
 		}
 	} else {
-		if (_vgaBufFreeStart <= vpe->vgaFile1 && end >= vpe->vgaFile1 ||
-				_vgaBufFreeStart <= vpe->vgaFile2 && end >= vpe->vgaFile2) {
+		if (_vgaMemPtr <= vpe->vgaFile1 && end >= vpe->vgaFile1 ||
+				_vgaMemPtr <= vpe->vgaFile2 && end >= vpe->vgaFile2) {
 			_rejectBlock = true;
-			_vgaBufFreeStart = vpe->vgaFile1 + 0x5000;
+			_vgaMemPtr = vpe->vgaFile1 + 0x5000;
 		} else {
 			_rejectBlock = false;
 		}
@@ -1415,9 +1406,9 @@
 	VgaPointersEntry *vpe = _vgaBufferPointers;
 	do {
 		if (getGameType() == GType_FF) {
-			if (vpe->vgaFile1 < end && vpe->vgaFile1End > _vgaBufFreeStart ||
-					vpe->vgaFile2 < end && vpe->vgaFile2End > _vgaBufFreeStart ||
-					vpe->sfxFile < end && vpe->sfxFileEnd > _vgaBufFreeStart) {
+			if (vpe->vgaFile1 < end && vpe->vgaFile1End > _vgaMemPtr ||
+					vpe->vgaFile2 < end && vpe->vgaFile2End > _vgaMemPtr ||
+					vpe->sfxFile < end && vpe->sfxFileEnd > _vgaMemPtr) {
 				vpe->vgaFile1 = NULL;
 				vpe->vgaFile1End = NULL;
 				vpe->vgaFile2 = NULL;
@@ -1426,8 +1417,8 @@
 				vpe->sfxFileEnd = NULL;
 			}
 		} else {
-			if (_vgaBufFreeStart <= vpe->vgaFile1 && end >= vpe->vgaFile1 ||
-					_vgaBufFreeStart <= vpe->vgaFile2 && end >= vpe->vgaFile2) {
+			if (_vgaMemPtr <= vpe->vgaFile1 && end >= vpe->vgaFile1 ||
+					_vgaMemPtr <= vpe->vgaFile2 && end >= vpe->vgaFile2) {
 				vpe->vgaFile1 = NULL;
 				vpe->vgaFile2 = NULL;
 			}
@@ -1958,6 +1949,7 @@
 	free(_itemHeapPtr - _itemHeapCurPos);
 	free(_tablesHeapPtr - _tablesHeapCurPos);
 	free(_tblList);
+	free(_zoneBuffers);
 	free(_iconFilePtr);
 	free(_gameOffsetsPtr);
 

Modified: scummvm/trunk/engines/simon/simon.h
===================================================================
--- scummvm/trunk/engines/simon/simon.h	2006-05-13 07:00:14 UTC (rev 22429)
+++ scummvm/trunk/engines/simon/simon.h	2006-05-13 08:24:47 UTC (rev 22430)
@@ -351,7 +351,6 @@
 	int _screenWidth, _screenHeight;
 
 	uint16 _noOverWrite;
-	byte _rejectCount;
 	bool _rejectBlock;
 
 	bool _exitCutscene;
@@ -365,8 +364,9 @@
 
 	uint _vgaSpriteChanged;
 
-	byte *_vgaBufFreeStart, *_vgaBufEnd, *_vgaBufStart;
-	byte *_vgaFileBufOrg, *_vgaFileBufOrg2;
+	byte *_vgaMemPtr, *_vgaMemEnd, *_vgaMemBase;
+	byte *_vgaFrozenBase, *_vgaRealBase;
+	byte *_zoneBuffers;
 
 	byte *_curVgaFile1;
 	byte *_curVgaFile2;


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