diff options
-rw-r--r-- | engines/sci/graphics/celobj32.cpp | 16 | ||||
-rw-r--r-- | engines/sci/graphics/frameout.cpp | 16 | ||||
-rw-r--r-- | engines/sci/graphics/lists32.h | 6 | ||||
-rw-r--r-- | engines/sci/graphics/palette32.cpp | 45 | ||||
-rw-r--r-- | engines/sci/graphics/plane32.cpp | 30 | ||||
-rw-r--r-- | engines/sci/graphics/screen_item32.cpp | 56 |
6 files changed, 86 insertions, 83 deletions
diff --git a/engines/sci/graphics/celobj32.cpp b/engines/sci/graphics/celobj32.cpp index d96bf370f5..f8bce26a2c 100644 --- a/engines/sci/graphics/celobj32.cpp +++ b/engines/sci/graphics/celobj32.cpp @@ -145,8 +145,8 @@ struct SCALER_Scale { // so just always make the reader decompress an entire // line of source data when scaling _reader(celObj, celObj._width), - _lastIndex(maxWidth - 1), - _table(CelObj::_scaler->getScalerTable(scaleX, scaleY)) {} + _table(CelObj::_scaler->getScalerTable(scaleX, scaleY)), + _lastIndex(maxWidth - 1) {} inline void setSource(const int16 x, const int16 y) { _row = _reader.getRow(_table->valuesY[y]); @@ -173,12 +173,10 @@ struct READER_Uncompressed { private: byte *_pixels; const int16 _sourceWidth; - const int16 _maxWidth; public: - READER_Uncompressed(const CelObj &celObj, const int16 maxWidth) : - _sourceWidth(celObj._width), - _maxWidth(maxWidth) { + READER_Uncompressed(const CelObj &celObj, const int16) : + _sourceWidth(celObj._width) { byte *resource = celObj.getResPointer(); _pixels = resource + READ_SCI11ENDIAN_UINT32(resource + celObj._celHeaderOffset + 24); } @@ -202,11 +200,11 @@ private: public: READER_Compressed(const CelObj &celObj, const int16 maxWidth) : - _y(-1), - _maxWidth(maxWidth), _resource(celObj.getResPointer()), + _y(-1), _sourceHeight(celObj._height), - _transparentColor(celObj._transparentColor) { + _transparentColor(celObj._transparentColor), + _maxWidth(maxWidth) { assert(_maxWidth <= celObj._width); byte *celHeader = _resource + celObj._celHeaderOffset; diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp index 0bf5b4e9fa..4f837546f0 100644 --- a/engines/sci/graphics/frameout.cpp +++ b/engines/sci/graphics/frameout.cpp @@ -70,22 +70,22 @@ static int16 unknownCDefaults[2][16] = { }; GfxFrameout::GfxFrameout(SegManager *segMan, ResourceManager *resMan, GfxCoordAdjuster *coordAdjuster, GfxCache *cache, GfxScreen *screen, GfxPalette32 *palette, GfxPaint32 *paint32) : - _segMan(segMan), - _resMan(resMan), + _isHiRes(false), _cache(cache), - _screen(screen), _palette(palette), + _resMan(resMan), + _screen(screen), + _segMan(segMan), _paint32(paint32), - _isHiRes(false), - _palMorphIsOn(false), _showStyles(nullptr), - _remapOccurred(false), - _frameNowVisible(false), // TODO: Stop using _gfxScreen _currentBuffer(screen->getWidth(), screen->getHeight(), nullptr), _priorityMap(screen->getWidth(), screen->getHeight(), nullptr), + _remapOccurred(false), + _frameNowVisible(false), _screenRect(screen->getWidth(), screen->getHeight()), - _overdrawThreshold(0) { + _overdrawThreshold(0), + _palMorphIsOn(false) { _currentBuffer.setPixels(calloc(1, screen->getWidth() * screen->getHeight())); diff --git a/engines/sci/graphics/lists32.h b/engines/sci/graphics/lists32.h index b12cd55897..f745a2cb6d 100644 --- a/engines/sci/graphics/lists32.h +++ b/engines/sci/graphics/lists32.h @@ -76,12 +76,12 @@ public: } T *const &operator[](size_type index) const { - assert(index >= 0 && index < _size); + assert(index < _size); return _items[index]; } T *&operator[](size_type index) { - assert(index >= 0 && index < _size); + assert(index < _size); return _items[index]; } @@ -144,7 +144,7 @@ public: * Erases the object pointed to at the given index. */ void erase_at(size_type index) { - assert(index >= 0 && index < _size); + assert(index < _size); delete _items[index]; _items[index] = nullptr; diff --git a/engines/sci/graphics/palette32.cpp b/engines/sci/graphics/palette32.cpp index b68170982c..9204e4bf96 100644 --- a/engines/sci/graphics/palette32.cpp +++ b/engines/sci/graphics/palette32.cpp @@ -34,17 +34,26 @@ namespace Sci { GfxPalette32::GfxPalette32(ResourceManager *resMan, GfxScreen *screen) : GfxPalette(resMan, screen), + // Palette versioning + _version(1), + _versionUpdated(false), + _sourcePalette(_sysPalette), + _nextPalette(_sysPalette), + // Clut _clutTable(nullptr), - // Palette cycling - _cyclers(), _cycleMap(), // Palette varying - _sourcePalette(_sysPalette), _nextPalette(_sysPalette), - _varyTime(0), _varyDirection(0), _varyTargetPercent(0), - _varyTargetPalette(nullptr), _varyStartPalette(nullptr), - _varyFromColor(0), _varyToColor(255), _varyNumTimesPaused(0), + _varyStartPalette(nullptr), + _varyTargetPalette(nullptr), + _varyFromColor(0), + _varyToColor(255), _varyLastTick(0), - // Palette versioning - _version(1), _versionUpdated(false) { + _varyTime(0), + _varyDirection(0), + _varyTargetPercent(0), + _varyNumTimesPaused(0), + // Palette cycling + _cyclers(), + _cycleMap() { _varyPercent = _varyTargetPercent; memset(_fadeTable, 100, sizeof(_fadeTable)); // NOTE: In SCI engine, the palette manager constructor loads @@ -258,9 +267,8 @@ void GfxPalette32::applyAll() { applyFade(); } -// -// Clut -// +#pragma mark - +#pragma mark Colour look-up bool GfxPalette32::loadClut(uint16 clutId) { // loadClut() will load a color lookup table from a clu file and set @@ -312,9 +320,8 @@ void GfxPalette32::unloadClut() { _clutTable = nullptr; } -// -// Palette vary -// +#pragma mark - +#pragma mark Varying inline bool GfxPalette32::createPaletteFromResourceInternal(const GuiResourceId paletteId, Palette *const out) const { Resource *palResource = _resMan->findResource(ResourceId(kResourceTypePalette, paletteId), false); @@ -554,9 +561,8 @@ void GfxPalette32::applyVary() { } } -// -// Palette cycling -// +#pragma mark - +#pragma mark Cycling inline void GfxPalette32::clearCycleMap(const uint16 fromColor, const uint16 numColorsToClear) { bool *mapEntry = _cycleMap + fromColor; @@ -780,9 +786,8 @@ void GfxPalette32::applyCycles() { } } -// -// Palette fading -// +#pragma mark - +#pragma mark Fading // NOTE: There are some game scripts (like SQ6 Sierra logo and main menu) that call // setFade with numColorsToFade set to 256, but other parts of the engine like diff --git a/engines/sci/graphics/plane32.cpp b/engines/sci/graphics/plane32.cpp index 38ce78dc75..0ab9ea4bae 100644 --- a/engines/sci/graphics/plane32.cpp +++ b/engines/sci/graphics/plane32.cpp @@ -44,18 +44,18 @@ void DrawList::add(ScreenItem *screenItem, const Common::Rect &rect) { uint16 Plane::_nextObjectId = 20000; Plane::Plane(const Common::Rect &gameRect) : -_gameRect(gameRect), -_object(make_reg(0, _nextObjectId++)), -_back(0), -_pictureId(kPlanePicColored), -_mirrored(false), _width(g_sci->_gfxFrameout->getCurrentBuffer().scriptWidth), _height(g_sci->_gfxFrameout->getCurrentBuffer().scriptHeight), -_deleted(0), -_updated(0), +_pictureId(kPlanePicColored), +_mirrored(false), +_back(0), _priorityChanged(0), +_object(make_reg(0, _nextObjectId++)), +_redrawAllCount(g_sci->_gfxFrameout->getScreenCount()), _created(g_sci->_gfxFrameout->getScreenCount()), -_redrawAllCount(g_sci->_gfxFrameout->getScreenCount()) { +_updated(0), +_deleted(0), +_gameRect(gameRect) { convertGameRectToPlaneRect(); _priority = MAX(10000, g_sci->_gfxFrameout->getPlanes().getTopPlanePriority() + 1); setType(); @@ -63,14 +63,14 @@ _redrawAllCount(g_sci->_gfxFrameout->getScreenCount()) { } Plane::Plane(reg_t object) : -_object(object), _width(g_sci->_gfxFrameout->getCurrentBuffer().scriptWidth), _height(g_sci->_gfxFrameout->getCurrentBuffer().scriptHeight), -_created(g_sci->_gfxFrameout->getScreenCount()), +_priorityChanged(false), +_object(object), _redrawAllCount(g_sci->_gfxFrameout->getScreenCount()), -_deleted(0), +_created(g_sci->_gfxFrameout->getScreenCount()), _updated(0), -_priorityChanged(false), +_deleted(0), _moved(0) { SegManager *segMan = g_sci->getEngineState()->_segMan; _vanishingPoint.x = readSelectorValue(segMan, object, SELECTOR(vanishingX)); @@ -93,13 +93,13 @@ _moved(0) { } Plane::Plane(const Plane &other) : -_object(other._object), -_priority(other._priority), _pictureId(other._pictureId), _mirrored(other._mirrored), -_back(other._back), _field_34(other._field_34), _field_38(other._field_38), _field_3C(other._field_3C), _field_40(other._field_40), +_back(other._back), +_object(other._object), +_priority(other._priority), _planeRect(other._planeRect), _gameRect(other._gameRect), _screenRect(other._screenRect), diff --git a/engines/sci/graphics/screen_item32.cpp b/engines/sci/graphics/screen_item32.cpp index ed9adcfc2a..6b169be6ac 100644 --- a/engines/sci/graphics/screen_item32.cpp +++ b/engines/sci/graphics/screen_item32.cpp @@ -36,13 +36,13 @@ namespace Sci { uint16 ScreenItem::_nextObjectId = 20000; ScreenItem::ScreenItem(const reg_t object) : -_mirrorX(false), -_pictureId(-1), _celObj(nullptr), _object(object), -_deleted(0), +_pictureId(-1), +_created(g_sci->_gfxFrameout->getScreenCount()), _updated(0), -_created(g_sci->_gfxFrameout->getScreenCount()) { +_deleted(0), +_mirrorX(false) { SegManager *segMan = g_sci->getEngineState()->_segMan; setFromObject(segMan, object, true, true); @@ -50,65 +50,65 @@ _created(g_sci->_gfxFrameout->getScreenCount()) { } ScreenItem::ScreenItem(const reg_t plane, const CelInfo32 &celInfo) : -_position(0, 0), +_plane(plane), +_useInsetRect(false), _z(0), -_object(make_reg(0, _nextObjectId++)), _celInfo(celInfo), -_plane(plane), _celObj(nullptr), -_useInsetRect(false), _fixPriority(false), -_mirrorX(false), +_position(0, 0), +_object(make_reg(0, _nextObjectId++)), _pictureId(-1), +_created(g_sci->_gfxFrameout->getScreenCount()), _updated(0), _deleted(0), -_created(g_sci->_gfxFrameout->getScreenCount()) {} +_mirrorX(false) {} ScreenItem::ScreenItem(const reg_t plane, const CelInfo32 &celInfo, const Common::Rect &rect) : -_position(rect.left, rect.top), +_plane(plane), +_useInsetRect(false), _z(0), -_object(make_reg(0, _nextObjectId++)), _celInfo(celInfo), -_plane(plane), _celObj(nullptr), -_useInsetRect(false), _fixPriority(false), -_mirrorX(false), +_position(rect.left, rect.top), +_object(make_reg(0, _nextObjectId++)), _pictureId(-1), +_created(g_sci->_gfxFrameout->getScreenCount()), _updated(0), _deleted(0), -_created(g_sci->_gfxFrameout->getScreenCount()) { +_mirrorX(false) { if (celInfo.type == kCelTypeColor) { _insetRect = rect; } } ScreenItem::ScreenItem(const reg_t plane, const CelInfo32 &celInfo, const Common::Rect &rect, const ScaleInfo &scaleInfo) : -_position(rect.left, rect.top), +_plane(plane), +_scale(scaleInfo), +_useInsetRect(false), _z(0), -_object(make_reg(0, _nextObjectId++)), _celInfo(celInfo), -_plane(plane), _celObj(nullptr), -_useInsetRect(false), _fixPriority(false), -_mirrorX(false), +_position(rect.left, rect.top), +_object(make_reg(0, _nextObjectId++)), _pictureId(-1), +_created(g_sci->_gfxFrameout->getScreenCount()), _updated(0), _deleted(0), -_created(g_sci->_gfxFrameout->getScreenCount()), -_scale(scaleInfo) {} +_mirrorX(false) {} ScreenItem::ScreenItem(const ScreenItem &other) : -_object(other._object), _plane(other._plane), +_scale(other._scale), +_useInsetRect(other._useInsetRect), _celInfo(other._celInfo), _celObj(nullptr), -_screenRect(other._screenRect), +_object(other._object), _mirrorX(other._mirrorX), -_useInsetRect(other._useInsetRect), -_scale(other._scale), -_scaledPosition(other._scaledPosition) { +_scaledPosition(other._scaledPosition), +_screenRect(other._screenRect) { if (other._useInsetRect) { _insetRect = other._insetRect; } |