LAB: Simplify bitmap flags
This commit is contained in:
parent
67b3960968
commit
9c94d140db
3 changed files with 10 additions and 13 deletions
|
@ -61,7 +61,7 @@ Anim::Anim(LabEngine *vm) : _vm(vm) {
|
||||||
_diffFile = nullptr;
|
_diffFile = nullptr;
|
||||||
_size = 0;
|
_size = 0;
|
||||||
_rawDiffBM._bytesPerRow = 0;
|
_rawDiffBM._bytesPerRow = 0;
|
||||||
_rawDiffBM._flags = 0;
|
_rawDiffBM._drawOnScreen = false;
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
_rawDiffBM._planes[i] = nullptr;
|
_rawDiffBM._planes[i] = nullptr;
|
||||||
_rawDiffBM._rows = 0;
|
_rawDiffBM._rows = 0;
|
||||||
|
@ -82,7 +82,7 @@ void Anim::diffNextFrame(bool onlyDiffData) {
|
||||||
// Already done.
|
// Already done.
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_vm->_graphics->_dispBitMap->_flags & BITMAPF_VIDEO) {
|
if (_vm->_graphics->_dispBitMap->_drawOnScreen) {
|
||||||
_vm->_graphics->_dispBitMap->_planes[0] = _vm->_graphics->getCurrentDrawingBuffer();
|
_vm->_graphics->_dispBitMap->_planes[0] = _vm->_graphics->getCurrentDrawingBuffer();
|
||||||
_vm->_graphics->_dispBitMap->_planes[1] = _vm->_graphics->_dispBitMap->_planes[0] + 0x10000;
|
_vm->_graphics->_dispBitMap->_planes[1] = _vm->_graphics->_dispBitMap->_planes[0] + 0x10000;
|
||||||
_vm->_graphics->_dispBitMap->_planes[2] = _vm->_graphics->_dispBitMap->_planes[1] + 0x10000;
|
_vm->_graphics->_dispBitMap->_planes[2] = _vm->_graphics->_dispBitMap->_planes[1] + 0x10000;
|
||||||
|
@ -125,7 +125,7 @@ void Anim::diffNextFrame(bool onlyDiffData) {
|
||||||
_isAnim = (_frameNum >= 3) && (!_playOnce);
|
_isAnim = (_frameNum >= 3) && (!_playOnce);
|
||||||
_curBit = 0;
|
_curBit = 0;
|
||||||
|
|
||||||
if (_vm->_graphics->_dispBitMap->_flags & BITMAPF_VIDEO)
|
if (_vm->_graphics->_dispBitMap->_drawOnScreen)
|
||||||
_vm->_graphics->screenUpdate();
|
_vm->_graphics->screenUpdate();
|
||||||
|
|
||||||
// done with the next frame.
|
// done with the next frame.
|
||||||
|
@ -218,7 +218,7 @@ void Anim::diffNextFrame(bool onlyDiffData) {
|
||||||
_vm->_music->updateMusic();
|
_vm->_music->updateMusic();
|
||||||
_vm->waitTOF();
|
_vm->waitTOF();
|
||||||
|
|
||||||
if (_vm->_graphics->_dispBitMap->_flags & BITMAPF_VIDEO)
|
if (_vm->_graphics->_dispBitMap->_drawOnScreen)
|
||||||
didTOF = true;
|
didTOF = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,13 +50,10 @@ struct DIFFHeader {
|
||||||
struct BitMap {
|
struct BitMap {
|
||||||
uint16 _bytesPerRow;
|
uint16 _bytesPerRow;
|
||||||
uint16 _rows; // unused
|
uint16 _rows; // unused
|
||||||
byte _flags;
|
bool _drawOnScreen;
|
||||||
byte *_planes[16];
|
byte *_planes[16];
|
||||||
};
|
};
|
||||||
|
|
||||||
#define BITMAPF_NONE 0
|
|
||||||
#define BITMAPF_VIDEO (1<<7)
|
|
||||||
|
|
||||||
class Anim {
|
class Anim {
|
||||||
private:
|
private:
|
||||||
LabEngine *_vm;
|
LabEngine *_vm;
|
||||||
|
|
|
@ -94,7 +94,7 @@ void DisplayMan::readPict(const char *filename, bool playOnce, bool onlyDiffData
|
||||||
|
|
||||||
_dispBitMap->_bytesPerRow = _screenWidth;
|
_dispBitMap->_bytesPerRow = _screenWidth;
|
||||||
_dispBitMap->_rows = _screenHeight;
|
_dispBitMap->_rows = _screenHeight;
|
||||||
_dispBitMap->_flags = BITMAPF_VIDEO;
|
_dispBitMap->_drawOnScreen = true;
|
||||||
|
|
||||||
_vm->_anim->readDiff(_curBitmap, playOnce, onlyDiffData);
|
_vm->_anim->readDiff(_curBitmap, playOnce, onlyDiffData);
|
||||||
}
|
}
|
||||||
|
@ -102,7 +102,7 @@ void DisplayMan::readPict(const char *filename, bool playOnce, bool onlyDiffData
|
||||||
/**
|
/**
|
||||||
* Reads in a picture into buffer memory.
|
* Reads in a picture into buffer memory.
|
||||||
*/
|
*/
|
||||||
byte *DisplayMan::readPictToMem(const char *filename, uint16 x, uint16 y) {
|
byte *DisplayMan::readPictToMem(const char *filename, uint16 width, uint16 height) {
|
||||||
_vm->_anim->stopDiff();
|
_vm->_anim->stopDiff();
|
||||||
|
|
||||||
loadPict(filename);
|
loadPict(filename);
|
||||||
|
@ -112,9 +112,9 @@ byte *DisplayMan::readPictToMem(const char *filename, uint16 x, uint16 y) {
|
||||||
if (!_vm->_music->_doNotFilestopSoundEffect)
|
if (!_vm->_music->_doNotFilestopSoundEffect)
|
||||||
_vm->_music->stopSoundEffect();
|
_vm->_music->stopSoundEffect();
|
||||||
|
|
||||||
_dispBitMap->_bytesPerRow = x;
|
_dispBitMap->_bytesPerRow = width;
|
||||||
_dispBitMap->_rows = y;
|
_dispBitMap->_rows = height;
|
||||||
_dispBitMap->_flags = BITMAPF_NONE;
|
_dispBitMap->_drawOnScreen = false;
|
||||||
_dispBitMap->_planes[0] = _curBitmap;
|
_dispBitMap->_planes[0] = _curBitmap;
|
||||||
_dispBitMap->_planes[1] = _dispBitMap->_planes[0] + 0x10000;
|
_dispBitMap->_planes[1] = _dispBitMap->_planes[0] + 0x10000;
|
||||||
_dispBitMap->_planes[2] = _dispBitMap->_planes[1] + 0x10000;
|
_dispBitMap->_planes[2] = _dispBitMap->_planes[1] + 0x10000;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue