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;
|
||||
_size = 0;
|
||||
_rawDiffBM._bytesPerRow = 0;
|
||||
_rawDiffBM._flags = 0;
|
||||
_rawDiffBM._drawOnScreen = false;
|
||||
for (int i = 0; i < 16; i++)
|
||||
_rawDiffBM._planes[i] = nullptr;
|
||||
_rawDiffBM._rows = 0;
|
||||
|
@ -82,7 +82,7 @@ void Anim::diffNextFrame(bool onlyDiffData) {
|
|||
// Already done.
|
||||
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[1] = _vm->_graphics->_dispBitMap->_planes[0] + 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);
|
||||
_curBit = 0;
|
||||
|
||||
if (_vm->_graphics->_dispBitMap->_flags & BITMAPF_VIDEO)
|
||||
if (_vm->_graphics->_dispBitMap->_drawOnScreen)
|
||||
_vm->_graphics->screenUpdate();
|
||||
|
||||
// done with the next frame.
|
||||
|
@ -218,7 +218,7 @@ void Anim::diffNextFrame(bool onlyDiffData) {
|
|||
_vm->_music->updateMusic();
|
||||
_vm->waitTOF();
|
||||
|
||||
if (_vm->_graphics->_dispBitMap->_flags & BITMAPF_VIDEO)
|
||||
if (_vm->_graphics->_dispBitMap->_drawOnScreen)
|
||||
didTOF = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,13 +50,10 @@ struct DIFFHeader {
|
|||
struct BitMap {
|
||||
uint16 _bytesPerRow;
|
||||
uint16 _rows; // unused
|
||||
byte _flags;
|
||||
bool _drawOnScreen;
|
||||
byte *_planes[16];
|
||||
};
|
||||
|
||||
#define BITMAPF_NONE 0
|
||||
#define BITMAPF_VIDEO (1<<7)
|
||||
|
||||
class Anim {
|
||||
private:
|
||||
LabEngine *_vm;
|
||||
|
|
|
@ -94,7 +94,7 @@ void DisplayMan::readPict(const char *filename, bool playOnce, bool onlyDiffData
|
|||
|
||||
_dispBitMap->_bytesPerRow = _screenWidth;
|
||||
_dispBitMap->_rows = _screenHeight;
|
||||
_dispBitMap->_flags = BITMAPF_VIDEO;
|
||||
_dispBitMap->_drawOnScreen = true;
|
||||
|
||||
_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.
|
||||
*/
|
||||
byte *DisplayMan::readPictToMem(const char *filename, uint16 x, uint16 y) {
|
||||
byte *DisplayMan::readPictToMem(const char *filename, uint16 width, uint16 height) {
|
||||
_vm->_anim->stopDiff();
|
||||
|
||||
loadPict(filename);
|
||||
|
@ -112,9 +112,9 @@ byte *DisplayMan::readPictToMem(const char *filename, uint16 x, uint16 y) {
|
|||
if (!_vm->_music->_doNotFilestopSoundEffect)
|
||||
_vm->_music->stopSoundEffect();
|
||||
|
||||
_dispBitMap->_bytesPerRow = x;
|
||||
_dispBitMap->_rows = y;
|
||||
_dispBitMap->_flags = BITMAPF_NONE;
|
||||
_dispBitMap->_bytesPerRow = width;
|
||||
_dispBitMap->_rows = height;
|
||||
_dispBitMap->_drawOnScreen = false;
|
||||
_dispBitMap->_planes[0] = _curBitmap;
|
||||
_dispBitMap->_planes[1] = _dispBitMap->_planes[0] + 0x10000;
|
||||
_dispBitMap->_planes[2] = _dispBitMap->_planes[1] + 0x10000;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue