diff options
-rw-r--r-- | engines/cge2/saveload.cpp | 2 | ||||
-rw-r--r-- | engines/cge2/vga13h.cpp | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/engines/cge2/saveload.cpp b/engines/cge2/saveload.cpp index ecf55d2a9c..c505358973 100644 --- a/engines/cge2/saveload.cpp +++ b/engines/cge2/saveload.cpp @@ -290,7 +290,7 @@ void CGE2Engine::syncHeader(Common::Serializer &s) { s.syncAsUint16LE(_now); s.syncAsUint16LE(_sex); - s.syncAsUint16LE(dummy); // _music + s.syncAsUint16LE(_vga->_rot._len); s.syncAsUint16LE(_waitSeq); s.syncAsUint16LE(_waitRef); s.syncAsUint16LE(dummy); // _sayCap diff --git a/engines/cge2/vga13h.cpp b/engines/cge2/vga13h.cpp index 1a8597392e..1cd2c95468 100644 --- a/engines/cge2/vga13h.cpp +++ b/engines/cge2/vga13h.cpp @@ -1040,7 +1040,14 @@ void Vga::update() { } void Vga::rotate() { - warning("STUB: Vga::rotate()"); + if (_rot._len) { + Dac c; + getColors(_newColors); + c = _newColors[_rot._org]; + memmove(_newColors + _rot._org, _newColors + _rot._org + 1, (_rot._len - 1) * sizeof(Dac)); + _newColors[_rot._org + _rot._len - 1] = c; + _setPal = true; + } } void Vga::clear(uint8 color) { |