From 5e9985bd6e4d136ec20e5e3be7589d34051227f1 Mon Sep 17 00:00:00 2001 From: Peter Kohaut Date: Sat, 24 Mar 2018 17:20:27 +0100 Subject: BLADERUNNER: Load game methods save methods update replaced few char* with Common::String changed few pointers to references --- engines/bladerunner/ui/elevator.cpp | 3 +-- engines/bladerunner/ui/kia.cpp | 2 +- engines/bladerunner/ui/kia_log.cpp | 2 +- engines/bladerunner/ui/kia_log.h | 2 +- engines/bladerunner/ui/spinner.cpp | 10 ++++++++-- engines/bladerunner/ui/spinner.h | 6 ++++-- engines/bladerunner/ui/ui_scroll_box.cpp | 2 +- 7 files changed, 17 insertions(+), 10 deletions(-) (limited to 'engines/bladerunner/ui') diff --git a/engines/bladerunner/ui/elevator.cpp b/engines/bladerunner/ui/elevator.cpp index 3f668efd75..7a6ab3ca35 100644 --- a/engines/bladerunner/ui/elevator.cpp +++ b/engines/bladerunner/ui/elevator.cpp @@ -315,8 +315,7 @@ void Elevator::mouseOutCallback(int, void *self) { void Elevator::mouseDownCallback(int, void *self) { Elevator *elevator = ((Elevator *)self); - const char *name = elevator->_vm->_gameInfo->getSfxTrack(515); - elevator->_vm->_audioPlayer->playAud(name, 100, 0, 0, 50, 0); + elevator->_vm->_audioPlayer->playAud(elevator->_vm->_gameInfo->getSfxTrack(515), 100, 0, 0, 50, 0); } void Elevator::mouseUpCallback(int buttonId, void *self) { diff --git a/engines/bladerunner/ui/kia.cpp b/engines/bladerunner/ui/kia.cpp index 86fdc9254a..756f1bd2cd 100644 --- a/engines/bladerunner/ui/kia.cpp +++ b/engines/bladerunner/ui/kia.cpp @@ -350,7 +350,7 @@ void KIA::tick() { _shapes->get(47)->draw(_vm->_surfaceFront, 182, 446); } } - _vm->_mainFont->drawColor("1.00", _vm->_surfaceFront, 438, 471, 0x1CE7); + _vm->_mainFont->drawColor("1.00", _vm->_surfaceFront, 438, 471, 0x1CE7); // TODO: 1.01 for DVD version if (!_transitionId) { _buttons->drawTooltip(_vm->_surfaceFront, mouse.x, mouse.y); } diff --git a/engines/bladerunner/ui/kia_log.cpp b/engines/bladerunner/ui/kia_log.cpp index 51b922a8f7..7f75f2e944 100644 --- a/engines/bladerunner/ui/kia_log.cpp +++ b/engines/bladerunner/ui/kia_log.cpp @@ -55,7 +55,7 @@ void KIALog::add(int type, int dataSize, const void *data) { _entries[_currentIndex].dataSize = dataSize; if (dataSize > 0) { - char *dataCopy = new char[dataSize]; + unsigned char *dataCopy = new unsigned char[dataSize]; memcpy(dataCopy, data, dataSize); _entries[_currentIndex].data = dataCopy; } else { diff --git a/engines/bladerunner/ui/kia_log.h b/engines/bladerunner/ui/kia_log.h index 4a89492817..99c834e3f0 100644 --- a/engines/bladerunner/ui/kia_log.h +++ b/engines/bladerunner/ui/kia_log.h @@ -33,7 +33,7 @@ class KIALog { struct Entry { int type; int dataSize; - const char *data; + const unsigned char *data; }; BladeRunnerEngine *_vm; diff --git a/engines/bladerunner/ui/spinner.cpp b/engines/bladerunner/ui/spinner.cpp index 1f8f197926..9e491f719c 100644 --- a/engines/bladerunner/ui/spinner.cpp +++ b/engines/bladerunner/ui/spinner.cpp @@ -263,11 +263,17 @@ void Spinner::resume() { _vqaPlayer->setLoop(1, -1, kLoopSetModeJustStart, nullptr, nullptr); } -void Spinner::save(SaveFile &f) { +void Spinner::save(SaveFileWriteStream &f) { assert(!_isOpen); for (int i = 0; i != kSpinnerDestinations; ++i) { - f.write(_isDestinationSelectable[i]); + f.writeBool(_isDestinationSelectable[i]); + } +} + +void Spinner::load(SaveFileReadStream &f) { + for (int i = 0; i != kSpinnerDestinations; ++i) { + _isDestinationSelectable[i] = f.readBool(); } } diff --git a/engines/bladerunner/ui/spinner.h b/engines/bladerunner/ui/spinner.h index 24f66ed4db..d2d666e8e1 100644 --- a/engines/bladerunner/ui/spinner.h +++ b/engines/bladerunner/ui/spinner.h @@ -29,7 +29,8 @@ namespace BladeRunner { class BladeRunnerEngine; -class SaveFile; +class SaveFileReadStream; +class SaveFileWriteStream; class Shape; class UIImagePicker; class VQAPlayer; @@ -71,7 +72,8 @@ public: void reset(); void resume(); - void save(SaveFile &f); + void save(SaveFileWriteStream &f); + void load(SaveFileReadStream &f); private: static void mouseUpCallback(int, void *); diff --git a/engines/bladerunner/ui/ui_scroll_box.cpp b/engines/bladerunner/ui/ui_scroll_box.cpp index 6bd4dabdd4..8621039dd6 100644 --- a/engines/bladerunner/ui/ui_scroll_box.cpp +++ b/engines/bladerunner/ui/ui_scroll_box.cpp @@ -481,7 +481,7 @@ void UIScrollBox::draw(Graphics::Surface &surface) { } if (_center) { - x = (_rect.width() - _vm->_mainFont->getTextWidth(_lines[i]->text)) / 2; + x = _rect.left + (_rect.width() - _vm->_mainFont->getTextWidth(_lines[i]->text)) / 2; } _vm->_mainFont->drawColor(_lines[i]->text, surface, x, y, color); -- cgit v1.2.3