[Scummvm-git-logs] scummvm master -> f6310e5e2672b1270c814a08f2cd052bcd874e2c
OMGPizzaGuy
noreply at scummvm.org
Wed Nov 15 03:52:28 UTC 2023
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
f6310e5e26 ULTIMA8: Small cleanup of SKF player to gaurd against errors
Commit: f6310e5e2672b1270c814a08f2cd052bcd874e2c
https://github.com/scummvm/scummvm/commit/f6310e5e2672b1270c814a08f2cd052bcd874e2c
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2023-11-14T21:52:08-06:00
Commit Message:
ULTIMA8: Small cleanup of SKF player to gaurd against errors
Changed paths:
engines/ultima/ultima8/graphics/skf_player.cpp
diff --git a/engines/ultima/ultima8/graphics/skf_player.cpp b/engines/ultima/ultima8/graphics/skf_player.cpp
index cb58eba5688..e52d342605a 100644
--- a/engines/ultima/ultima8/graphics/skf_player.cpp
+++ b/engines/ultima/ultima8/graphics/skf_player.cpp
@@ -279,7 +279,6 @@ void SKFPlayer::run() {
_curFrame++;
PaletteManager *palman = PaletteManager::get_instance();
- Common::SeekableReadStream *object;
uint16 objecttype = 0;
do {
@@ -290,35 +289,35 @@ void SKFPlayer::run() {
}
// read object
- object = _skf->get_datasource(_curObject);
- if (!object || object->size() < 2)
+ Common::SeekableReadStream * object = _skf->get_datasource(_curObject);
+ if (!object)
continue;
- objecttype = object->readUint16LE();
+ objecttype = object->size() > 2 ? object->readUint16LE() : 0;
debugC(kDebugVideo, "Object %u/%u, type = %u", _curObject, _skf->getCount(), objecttype);
- if (objecttype == 1) {
+ switch (objecttype) {
+ case 1:
palman->load(PaletteManager::Pal_Movie, *object);
+ break;
+ case 2: {
+ object->seek(0);
+ Shape *shape = new Shape(object, &U8SKFShapeFormat);
+ Palette *pal = palman->getPalette(PaletteManager::Pal_Movie);
+ shape->setPalette(pal);
+ _buffer->BeginPainting();
+ _buffer->Paint(shape, 0, 0, 0);
+ _buffer->EndPainting();
+ delete shape;
+ break;
+ }
+ default:
+ break;
}
-
- if (objecttype != 2)
- delete object;
-
- } while (objecttype != 2);
-
- if (objecttype == 2) {
- object->seek(0);
- Shape *shape = new Shape(object, &U8SKFShapeFormat);
- Palette *pal = palman->getPalette(PaletteManager::Pal_Movie);
- shape->setPalette(pal);
- _buffer->BeginPainting();
- _buffer->Paint(shape, 0, 0, 0);
- _buffer->EndPainting();
- delete shape;
delete object;
- }
+ } while (objecttype != 2);
_timer = 1; // HACK! timing is rather broken currently...
}
More information about the Scummvm-git-logs
mailing list