aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/cge2/saveload.cpp2
-rw-r--r--engines/cge2/vga13h.cpp9
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) {