[Scummvm-git-logs] scummvm master -> 7e41be4877f803b1a4a827b52cb1fef0dc1c854c
whiterandrek
whiterandrek at gmail.com
Fri Oct 2 19:36:28 UTC 2020
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
28bbc7dc83 PETKA: use math constants
e82fbdd495 PETKA: QObjectBG completed
e75ee3f5f2 PETKA: completed video system
7e41be4877 PETKA: renamed unk field in QSystem
Commit: 28bbc7dc835443fe0779e00fef020130e93b65ea
https://github.com/scummvm/scummvm/commit/28bbc7dc835443fe0779e00fef020130e93b65ea
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-10-02T22:35:18+03:00
Commit Message:
PETKA: use math constants
Changed paths:
engines/petka/walk.cpp
diff --git a/engines/petka/walk.cpp b/engines/petka/walk.cpp
index d9ff2bfccb..592faa8018 100644
--- a/engines/petka/walk.cpp
+++ b/engines/petka/walk.cpp
@@ -32,11 +32,11 @@ namespace Petka {
const char *const wayPrefixes[] = {"-w-n.", "-w-ne.", "-w-e.", "-w-se.", "-w-s.", "-w-sw.", "-w-w.", "-w-nw."};
-const double kPI = 3.14159265;
-const double k2PI = kPI + kPI;
-const double kHalfPI = kPI / 2;
+const double kPI = M_PI;
+const double k2PI = M_PI * 2;
+const double kHalfPI = M_PI_2;
-const double kPiArray[] = {kPI * 0.5, kPI * 0.25, 0.0, kPI * -0.25, kPI * -0.5, kPI * -0.75, kPI, kPI * 0.75};
+const double kPiArray[] = {M_PI_2, M_PI_4, 0.0, -M_PI_4, -M_PI_2, -3 * M_PI_4, M_PI, 3 * M_PI_4};
Walk::Walk(int id) { // CHECKED
QManager *mgr = g_vm->resMgr();
Commit: e82fbdd49574233e6fa7b8874613a73ac307669a
https://github.com/scummvm/scummvm/commit/e82fbdd49574233e6fa7b8874613a73ac307669a
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-10-02T22:35:18+03:00
Commit Message:
PETKA: QObjectBG completed
Changed paths:
engines/petka/objects/object_bg.cpp
diff --git a/engines/petka/objects/object_bg.cpp b/engines/petka/objects/object_bg.cpp
index 846fd5fa77..5b6006e05a 100644
--- a/engines/petka/objects/object_bg.cpp
+++ b/engines/petka/objects/object_bg.cpp
@@ -39,6 +39,8 @@
namespace Petka {
+// COMPLETED
+
QObjectBG::QObjectBG() {
_x = 0;
_y = 0;
@@ -85,13 +87,12 @@ void QObjectBG::processMessage(const QMessage &msg) {
void QObjectBG::draw() {
Graphics::Surface *s = g_vm->resMgr()->loadBitmap(_resourceId);
- if (s) {
- const Common::List<Common::Rect> &dirty = g_vm->videoSystem()->rects();
- for (Common::List<Common::Rect>::const_iterator it = dirty.begin(); it != dirty.end(); ++it) {
- Common::Rect srcRect = *it;
- srcRect.translate(g_vm->getQSystem()->_xOffset, 0);
- g_vm->videoSystem()->blitFrom(*s, srcRect, Common::Point(it->left, it->top));
- }
+ if (!s)
+ return;
+ for (auto r : g_vm->videoSystem()->rects()) {
+ Common::Rect srcRect = r;
+ srcRect.translate(g_vm->getQSystem()->_xOffset, 0);
+ g_vm->videoSystem()->blitFrom(*s, srcRect, Common::Point(r.left, r.top));
}
}
@@ -117,13 +118,12 @@ void QObjectBG::goTo() {
return;
}
- /*Common::Array<QObjectBG> &bgs = sys->_bgs;
- for (uint i = 0; i < bgs.size(); ++i) {
- if (bgsIni.getKey(bgs[i]._name, _name, entranceName)) {
+ for (auto o : sys->_allObjects) {
+ QObjectBG *bg = dynamic_cast<QObjectBG *>(o);
+ if (bg && bgsIni.getKey(bg->_name, _name, entranceName)) {
setEntrance(entranceName);
- break;
}
- }*/
+ }
}
void QObjectBG::setEntrance(const Common::String &name) {
@@ -159,4 +159,4 @@ void QObjectBG::readInisData(Common::INIFile &names, Common::INIFile &cast, Comm
QMessageObject::readInisData(names, cast, bgs);
}
-}
+} // End of namespace Petka
Commit: e75ee3f5f20555a2c4234f156964ea62f35f64b6
https://github.com/scummvm/scummvm/commit/e75ee3f5f20555a2c4234f156964ea62f35f64b6
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-10-02T22:35:18+03:00
Commit Message:
PETKA: completed video system
Changed paths:
engines/petka/video.cpp
diff --git a/engines/petka/video.cpp b/engines/petka/video.cpp
index 7b45feef54..f42682c575 100644
--- a/engines/petka/video.cpp
+++ b/engines/petka/video.cpp
@@ -33,6 +33,8 @@
namespace Petka {
+// COMPLETED
+
const uint kShakeTime = 30;
const int kShakeOffset = 3;
@@ -44,9 +46,27 @@ VideoSystem::VideoSystem(PetkaEngine &vm) :
}
void VideoSystem::update() {
- Interface *interface = _vm.getQSystem()->_currInterface;
+ QSystem *sys = _vm.getQSystem();
+ Interface *interface = sys->_currInterface;
uint32 time = g_system->getMillis();
if (interface) {
+ if (sys->_currInterface == sys->_mainInterface.get()) {
+ int xOff = sys->_xOffset;
+ int field6C = sys->_field6C;
+ if (xOff != field6C && ((xOff != sys->_sceneWidth - 640 && xOff < field6C ) || (xOff > 0 && xOff > field6C))) {
+ if (xOff <= field6C) {
+ xOff += 8;
+ xOff = MIN<int>(xOff, field6C);
+ } else {
+ xOff -= 8;
+ xOff = MAX<int>(xOff, field6C);
+ }
+ sys->_xOffset = CLIP(xOff, 0, sys->_sceneWidth - 640);
+ }
+ makeAllDirty();
+ }
+
+
for (uint i = interface->_startIndex; i < interface->_objs.size(); ++i) {
interface->_objs[i]->update(time - _time);
}
Commit: 7e41be4877f803b1a4a827b52cb1fef0dc1c854c
https://github.com/scummvm/scummvm/commit/7e41be4877f803b1a4a827b52cb1fef0dc1c854c
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-10-02T22:35:18+03:00
Commit Message:
PETKA: renamed unk field in QSystem
Changed paths:
engines/petka/objects/object_bg.cpp
engines/petka/q_system.cpp
engines/petka/q_system.h
engines/petka/video.cpp
diff --git a/engines/petka/objects/object_bg.cpp b/engines/petka/objects/object_bg.cpp
index 5b6006e05a..c9b55456be 100644
--- a/engines/petka/objects/object_bg.cpp
+++ b/engines/petka/objects/object_bg.cpp
@@ -137,7 +137,7 @@ void QObjectBG::setEntrance(const Common::String &name) {
sys->getChapay()->setPos(Common::Point(entrance->_walkX, entrance->_walkY - 2), false);
sys->_xOffset = CLIP<int32>(entrance->_walkX - 320, 0, sys->_sceneWidth - 640);
- sys->_field6C = sys->_xOffset;
+ sys->_reqOffset = sys->_xOffset;
}
g_vm->videoSystem()->makeAllDirty();
}
diff --git a/engines/petka/q_system.cpp b/engines/petka/q_system.cpp
index 8b286801ad..0c8bdf88af 100644
--- a/engines/petka/q_system.cpp
+++ b/engines/petka/q_system.cpp
@@ -43,7 +43,7 @@ namespace Petka {
QSystem::QSystem(PetkaEngine &vm)
: _vm(vm), _mainInterface(nullptr), _currInterface(nullptr), _prevInterface(nullptr),
- _totalInit(false), _sceneWidth(640), _room(nullptr) {}
+ _totalInit(false), _sceneWidth(640), _room(nullptr), _xOffset(0), _reqOffset(0) {}
QSystem::~QSystem() {
for (uint i = 0; i < _allObjects.size(); ++i) {
diff --git a/engines/petka/q_system.h b/engines/petka/q_system.h
index c1979ad297..8c85be0cce 100644
--- a/engines/petka/q_system.h
+++ b/engines/petka/q_system.h
@@ -104,8 +104,7 @@ public:
int _sceneWidth;
int _xOffset;
-
- int _field6C;
+ int _reqOffset;
QObjectBG *_room;
};
diff --git a/engines/petka/video.cpp b/engines/petka/video.cpp
index f42682c575..14669bb55c 100644
--- a/engines/petka/video.cpp
+++ b/engines/petka/video.cpp
@@ -52,14 +52,14 @@ void VideoSystem::update() {
if (interface) {
if (sys->_currInterface == sys->_mainInterface.get()) {
int xOff = sys->_xOffset;
- int field6C = sys->_field6C;
- if (xOff != field6C && ((xOff != sys->_sceneWidth - 640 && xOff < field6C ) || (xOff > 0 && xOff > field6C))) {
- if (xOff <= field6C) {
+ int reqOffset = sys->_reqOffset;
+ if (xOff != reqOffset && ((xOff != sys->_sceneWidth - 640 && xOff < reqOffset) || (xOff > 0 && xOff > reqOffset))) {
+ if (xOff <= reqOffset) {
xOff += 8;
- xOff = MIN<int>(xOff, field6C);
+ xOff = MIN<int>(xOff, reqOffset);
} else {
xOff -= 8;
- xOff = MAX<int>(xOff, field6C);
+ xOff = MAX<int>(xOff, reqOffset);
}
sys->_xOffset = CLIP(xOff, 0, sys->_sceneWidth - 640);
}
More information about the Scummvm-git-logs
mailing list