[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