[Scummvm-git-logs] scummvm branch-2-3 -> 0a8d4f1aede1eda8be9788e894fcde8891fa9ecc

sev- sev at scummvm.org
Mon Aug 30 21:28:56 UTC 2021


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
55ed0d06ce PETKA: Fix crash on startup
0a8d4f1aed PETKA: Fix rendering issue on first screen update


Commit: 55ed0d06ce0569b17169b406b50a828b24c3f87c
    https://github.com/scummvm/scummvm/commit/55ed0d06ce0569b17169b406b50a828b24c3f87c
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2021-08-30T23:28:37+02:00

Commit Message:
PETKA: Fix crash on startup

Changed paths:
    engines/petka/interfaces/main.cpp
    engines/petka/objects/heroes.cpp
    engines/petka/objects/object_bg.cpp
    engines/petka/q_manager.cpp
    engines/petka/q_system.cpp
    engines/petka/sound.cpp


diff --git a/engines/petka/interfaces/main.cpp b/engines/petka/interfaces/main.cpp
index ffa11c7fe2..b9e23b09b4 100644
--- a/engines/petka/interfaces/main.cpp
+++ b/engines/petka/interfaces/main.cpp
@@ -292,7 +292,7 @@ void InterfaceMain::update(uint time) {
 			xOff -= 8;
 			xOff = MAX<int>(xOff, reqOffset);
 		}
-		sys->_xOffset = CLIP(xOff, 0, sys->_sceneWidth - 640);
+		sys->_xOffset = CLIP(xOff, sys->_sceneWidth - 640, 0);
 		g_vm->videoSystem()->makeAllDirty();
 	}
 	Interface::update(time);
diff --git a/engines/petka/objects/heroes.cpp b/engines/petka/objects/heroes.cpp
index 421c7102b6..0715bac5b3 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, 0, sys->_sceneWidth - 640);
+	sys->_reqOffset = CLIP<int>(sys->_reqOffset, sys->_sceneWidth - 640, 0);
 }
 
 QObjectChapayev::QObjectChapayev() {
diff --git a/engines/petka/objects/object_bg.cpp b/engines/petka/objects/object_bg.cpp
index 9d77524c00..6fb95e3612 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, 0, sys->_sceneWidth - 640);
+		sys->_xOffset = CLIP<int32>(entrance->_walkX - 320, sys->_sceneWidth - 640, 0);
 		sys->_reqOffset = sys->_xOffset;
 	}
 	g_vm->videoSystem()->makeAllDirty();
diff --git a/engines/petka/q_manager.cpp b/engines/petka/q_manager.cpp
index a02e91c387..adfa7b36c7 100644
--- a/engines/petka/q_manager.cpp
+++ b/engines/petka/q_manager.cpp
@@ -94,7 +94,7 @@ Graphics::Surface *QManager::getSurface(uint32 id, uint16 w, uint16 h) {
 		return res.type == QResource::kSurface ? res.surface : nullptr;
 	}
 
-	QResource &res = _resourceMap.getVal(id);
+	QResource &res = _resourceMap.getOrCreateVal(id);
 	res.type = QResource::kSurface;
 	res.surface = new Graphics::Surface;
 	res.surface->create(w, h, _vm._system->getScreenFormat());
@@ -120,7 +120,7 @@ Graphics::Surface *QManager::getSurface(uint32 id) {
 
 	Graphics::Surface *s = loadBitmapSurface(*stream);
 	if (s) {
-		QResource &res = _resourceMap.getVal(id);
+		QResource &res = _resourceMap.getOrCreateVal(id);
 		res.type = QResource::kSurface;
 		res.surface = s;
 		return res.surface;
@@ -148,7 +148,7 @@ FlicDecoder *QManager::getFlic(uint32 id) {
 	FlicDecoder *flc = new FlicDecoder;
 	flc->load(stream, _vm.openFile(name, false));
 
-	QResource &res = _resourceMap.getVal(id);
+	QResource &res = _resourceMap.getOrCreateVal(id);
 	res.type = QResource::kFlic;
 	res.flcDecoder = flc;
 
diff --git a/engines/petka/q_system.cpp b/engines/petka/q_system.cpp
index 0cf4ffed90..55734da8e5 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, 0, _sceneWidth - 640);
+	_xOffset = CLIP<int>(pos.x - 320, _sceneWidth - 640, 0);
 
 	pos.x = s->readSint32LE();
 	pos.y = s->readSint32LE();
diff --git a/engines/petka/sound.cpp b/engines/petka/sound.cpp
index a2c6e9d7c8..6db7c4c92b 100644
--- a/engines/petka/sound.cpp
+++ b/engines/petka/sound.cpp
@@ -87,7 +87,7 @@ Sound *SoundMgr::addSound(const Common::String &name, Audio::Mixer::SoundType ty
 	if (s) {
 		debug("SoundMgr: added sound %s", name.c_str());
 		sound = new Sound(s, type);
-		_sounds.getVal(name).reset(sound);
+		_sounds.getOrCreateVal(name).reset(sound);
 	}
 	return sound;
 }


Commit: 0a8d4f1aede1eda8be9788e894fcde8891fa9ecc
    https://github.com/scummvm/scummvm/commit/0a8d4f1aede1eda8be9788e894fcde8891fa9ecc
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2021-08-30T23:28:40+02:00

Commit Message:
PETKA: Fix rendering issue on first screen update

Changed paths:
    engines/petka/video.cpp


diff --git a/engines/petka/video.cpp b/engines/petka/video.cpp
index a5db110b6e..f8a1a4e937 100644
--- a/engines/petka/video.cpp
+++ b/engines/petka/video.cpp
@@ -39,7 +39,7 @@ VideoSystem::VideoSystem(PetkaEngine &vm)
 	_time = g_system->getMillis();
 	_shake = false;
 	_shift = false;
-	_allowAddingRects = false;
+	_allowAddingRects = true;
 }
 
 void VideoSystem::update() {




More information about the Scummvm-git-logs mailing list