aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authoruruk2014-07-29 11:52:57 +0200
committeruruk2014-07-29 11:52:57 +0200
commit6e00d80b4bbb49453ab736f5ea84cec2ddfa05af (patch)
tree4f46c967be4b028f394c7a2a420bab482c4d217a /engines
parente828be1bf9ea8ac3cba5c46a8c7a838e06dca198 (diff)
downloadscummvm-rg350-6e00d80b4bbb49453ab736f5ea84cec2ddfa05af.tar.gz
scummvm-rg350-6e00d80b4bbb49453ab736f5ea84cec2ddfa05af.tar.bz2
scummvm-rg350-6e00d80b4bbb49453ab736f5ea84cec2ddfa05af.zip
CGE2: Implement Vga::rotate().
Diffstat (limited to 'engines')
-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) {