[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