[Scummvm-git-logs] scummvm branch-2-5 -> 61ecd4a76e395df323c13bfcf0a7b9caa4f6abde
sev-
sev at scummvm.org
Mon Oct 11 20:00:56 UTC 2021
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:
61ecd4a76e PETKA: fix scene scrolling
Commit: 61ecd4a76e395df323c13bfcf0a7b9caa4f6abde
https://github.com/scummvm/scummvm/commit/61ecd4a76e395df323c13bfcf0a7b9caa4f6abde
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2021-10-11T23:00:46+03:00
Commit Message:
PETKA: fix scene scrolling
Changed paths:
engines/petka/interfaces/main.cpp
engines/petka/objects/heroes.cpp
engines/petka/objects/object_bg.cpp
engines/petka/q_system.cpp
diff --git a/engines/petka/interfaces/main.cpp b/engines/petka/interfaces/main.cpp
index b9e23b09b4..9b3616c3b2 100644
--- a/engines/petka/interfaces/main.cpp
+++ b/engines/petka/interfaces/main.cpp
@@ -99,7 +99,8 @@ void InterfaceMain::loadRoom(int id, bool fromSave) {
auto surface = resMgr->getSurface(room->_resourceId);
if (surface) {
- sys->_sceneWidth = surface->w;
+ assert(surface->w >= 640);
+ sys->_sceneWidth = MAX<int>(surface->w, 640);
sys->_xOffset = 0;
}
@@ -292,7 +293,7 @@ void InterfaceMain::update(uint time) {
xOff -= 8;
xOff = MAX<int>(xOff, reqOffset);
}
- sys->_xOffset = CLIP(xOff, sys->_sceneWidth - 640, 0);
+ sys->_xOffset = CLIP(xOff, 0, sys->_sceneWidth - 640);
g_vm->videoSystem()->makeAllDirty();
}
Interface::update(time);
diff --git a/engines/petka/objects/heroes.cpp b/engines/petka/objects/heroes.cpp
index 0715bac5b3..421c7102b6 100644
--- a/engines/petka/objects/heroes.cpp
+++ b/engines/petka/objects/heroes.cpp
@@ -412,7 +412,7 @@ void QObjectPetka::recalcOffset() {
if (_x_ < xOff + 160 || _x_ > xOff + 480) {
sys->_reqOffset = _x_ - 320;
}
- sys->_reqOffset = CLIP<int>(sys->_reqOffset, sys->_sceneWidth - 640, 0);
+ sys->_reqOffset = CLIP<int>(sys->_reqOffset, 0, sys->_sceneWidth - 640);
}
QObjectChapayev::QObjectChapayev() {
diff --git a/engines/petka/objects/object_bg.cpp b/engines/petka/objects/object_bg.cpp
index 6fb95e3612..9d77524c00 100644
--- a/engines/petka/objects/object_bg.cpp
+++ b/engines/petka/objects/object_bg.cpp
@@ -150,7 +150,7 @@ void QObjectBG::setEntrance(const Common::String &name) {
sys->getPetka()->setPos(Common::Point(entrance->_walkX, entrance->_walkY), false);
sys->getChapay()->setPos(Common::Point(entrance->_walkX, entrance->_walkY - 2), false);
- sys->_xOffset = CLIP<int32>(entrance->_walkX - 320, sys->_sceneWidth - 640, 0);
+ sys->_xOffset = CLIP<int32>(entrance->_walkX - 320, 0, sys->_sceneWidth - 640);
sys->_reqOffset = sys->_xOffset;
}
g_vm->videoSystem()->makeAllDirty();
diff --git a/engines/petka/q_system.cpp b/engines/petka/q_system.cpp
index 55734da8e5..0cf4ffed90 100644
--- a/engines/petka/q_system.cpp
+++ b/engines/petka/q_system.cpp
@@ -252,7 +252,7 @@ void QSystem::load(Common::ReadStream *s) {
petka->setPos(pos, false);
- _xOffset = CLIP<int>(pos.x - 320, _sceneWidth - 640, 0);
+ _xOffset = CLIP<int>(pos.x - 320, 0, _sceneWidth - 640);
pos.x = s->readSint32LE();
pos.y = s->readSint32LE();
More information about the Scummvm-git-logs
mailing list