CGE: Removed the _mini data block originally used to hold inventory shapes in high memory

This commit is contained in:
Paul Gilbert 2011-08-06 21:03:24 +10:00
parent 46e1f03585
commit 1208e7e5af
3 changed files with 11 additions and 17 deletions

View File

@ -58,13 +58,11 @@ CGEEngine::CGEEngine(OSystem *syst, const ADGameDescription *gameDescription)
void CGEEngine::initCaveValues() {
if (_isDemo) {
_mini = new byte[16384];
_caveDx = 23;
_caveDy = 29;
_caveNx = 3;
_caveNy = 1;
} else {
_mini = new byte[65536];
_caveDx = 9;
_caveDy = 10;
_caveNx = 8;
@ -100,7 +98,6 @@ void CGEEngine::initCaveValues() {
}
void CGEEngine::freeCaveValues() {
delete[] _mini;
free(_heroXY);
free(_barriers);
}
@ -216,6 +213,8 @@ CGEEngine::~CGEEngine() {
delete _snail_;
delete _hero;
delete[] _miniShpList;
freeCaveValues();
}

View File

@ -142,7 +142,6 @@ public:
Bar *_barriers;
Common::RandomSource _randomSource;
byte *_mini;
BitmapPtr *_miniShp;
BitmapPtr *_miniShpList;
int _startGameSlot;

View File

@ -1525,22 +1525,18 @@ void CGEEngine::runGame() {
if (!_music)
killMidi();
if (_mini && INI_FILE::exist("MINI.SPR")) {
if (INI_FILE::exist("MINI.SPR")) {
_miniShp = new BitmapPtr[2];
_miniShp[0] = _miniShp[1] = NULL;
uint8 *ptr = (uint8 *) &*_mini;
if (ptr != NULL) {
loadSprite("MINI", -1, 0, kMiniX, kMiniY);
expandSprite(_miniCave = _sprite); // NULL is ok
if (_miniCave) {
_miniCave->_flags._kill = false;
_miniCave->_flags._hide = true;
_miniCave->moveShapes(ptr);
_miniShp[0] = new Bitmap(*_miniCave->shp());
_miniShpList = _miniCave->setShapeList(_miniShp);
postMiniStep(-1);
}
loadSprite("MINI", -1, 0, kMiniX, kMiniY);
expandSprite(_miniCave = _sprite); // NULL is ok
if (_miniCave) {
_miniCave->_flags._kill = false;
_miniCave->_flags._hide = true;
_miniShp[0] = new Bitmap(*_miniCave->shp());
_miniShpList = _miniCave->setShapeList(_miniShp);
postMiniStep(-1);
}
}