[Scummvm-git-logs] scummvm master -> cc2a3bd9c66c449bd81db73f2887671da0c6818e
neuromancer
noreply at scummvm.org
Sat Mar 12 09:00:31 UTC 2022
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3dc1129b55 HYPNO: show the required amount of objectives to destroy in wet
22705cd119 HYPNO: removed the use of confman in save/load code in wet
0b4335a47c HYPNO: added a required delay in arcade sequences
e5377943c8 HYPNO: allow to load games externally in wet
cc2a3bd9c6 HYPNO: refactored save/load profile code in wet
Commit: 3dc1129b5527ab76455abadda20f3c70e9b5113c
https://github.com/scummvm/scummvm/commit/3dc1129b5527ab76455abadda20f3c70e9b5113c
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-03-12T10:00:48+01:00
Commit Message:
HYPNO: show the required amount of objectives to destroy in wet
Changed paths:
engines/hypno/arcade.cpp
engines/hypno/hypno.h
engines/hypno/wet/arcade.cpp
diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index 65466b314b7..186eae4c12f 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -217,6 +217,11 @@ void HypnoEngine::runArcade(ArcadeShooting *arc) {
_objMissesCount[0] = 0;
_objMissesCount[1] = 0;
+ _objKillsRequired[0] = arc->objKillsRequired[0];
+ _objKillsRequired[1] = arc->objKillsRequired[1];
+ _objMissesAllowed[0] = arc->objMissesAllowed[0];
+ _objMissesAllowed[1] = arc->objMissesAllowed[1];
+
debugC(1, kHypnoDebugArcade, "Using frame delay: %d", arc->frameDelay);
Common::Event event;
@@ -364,8 +369,8 @@ void HypnoEngine::runArcade(ArcadeShooting *arc) {
if (segments[_segmentIdx].end || _skipLevel) {
skipVideo(background);
// Objectives
- if ((arc->objKillsRequired[_objIdx] > 0 || arc->objMissesAllowed[_objIdx] > 0) && !_skipLevel) {
- if (_objKillsCount[_objIdx] < arc->objKillsRequired[_objIdx] || _objMissesCount[_objIdx] > arc->objMissesAllowed[_objIdx]) {
+ if ((_objKillsRequired[_objIdx] > 0 || _objMissesAllowed[_objIdx] > 0) && !_skipLevel) {
+ if (_objKillsCount[_objIdx] < _objKillsRequired[_objIdx] || _objMissesCount[_objIdx] > _objMissesAllowed[_objIdx]) {
if (!arc->defeatMissBossVideo.empty()) {
MVideo video(arc->defeatMissBossVideo, Common::Point(0, 0), false, true, false);
runIntro(video);
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index 40c9a95753a..1b11749b14a 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -281,6 +281,8 @@ public:
uint32 _objIdx;
uint32 _objKillsCount[2];
uint32 _objMissesCount[2];
+ uint32 _objKillsRequired[2];
+ uint32 _objMissesAllowed[2];
// Fonts
virtual void loadFonts();
diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index c8c94087bab..4584f174c55 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -465,7 +465,7 @@ void WetEngine::drawHealth() {
int p = (100 * _health) / _maxHealth;
int s = _score;
int mo = _objKillsCount[_objIdx];
-
+ int mm = _objKillsRequired[_objIdx];
if (_playerFrameIdx < _playerFrameSep) {
const chapterEntry *entry = _chapterTable[_levelId];
//uint32 id = _levelId;
@@ -473,7 +473,7 @@ void WetEngine::drawHealth() {
drawString("block05.fgx", Common::String::format("SCORE %04d", s), entry->scorePos[0], entry->scorePos[1], 72, c);
// Objectives are always in the zero in the demo
if (entry->objectivesPos[0] > 0 && entry->objectivesPos[1] > 0)
- drawString("block05.fgx", Common::String::format("M.O. %d/X", mo), entry->objectivesPos[0], entry->objectivesPos[1], 60, c);
+ drawString("block05.fgx", Common::String::format("M.O. %d/%d", mo, mm), entry->objectivesPos[0], entry->objectivesPos[1], 60, c);
}
}
Commit: 22705cd1199707a530e01aea78b9e66620ff4c00
https://github.com/scummvm/scummvm/commit/22705cd1199707a530e01aea78b9e66620ff4c00
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-03-12T10:00:48+01:00
Commit Message:
HYPNO: removed the use of confman in save/load code in wet
Changed paths:
engines/hypno/wet/wet.cpp
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index f42df27cc1d..d78fa7df59e 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -21,7 +21,6 @@
#include "common/bitarray.h"
#include "common/events.h"
-#include "common/config-manager.h"
#include "common/savefile.h"
#include "hypno/hypno.h"
@@ -451,8 +450,7 @@ void WetEngine::drawString(const Common::String &font, const Common::String &str
}
void WetEngine::saveGame(int levelId) {
- Common::String target = ConfMan.get("gameid") + "-" + ConfMan.get("language");
- SaveStateList saves = getMetaEngine()->listSaves(target.c_str());
+ SaveStateList saves = getMetaEngine()->listSaves(_targetName.c_str());
// Find the correct level index to before saving
for (uint32 i = 0; i < _ids.size(); i++) {
@@ -474,8 +472,7 @@ void WetEngine::saveGame(int levelId) {
}
bool WetEngine::loadGame(const Common::String &name) {
- Common::String target = ConfMan.get("gameid") + "-" + ConfMan.get("language");
- SaveStateList saves = getMetaEngine()->listSaves(target.c_str());
+ SaveStateList saves = getMetaEngine()->listSaves(_targetName.c_str());
uint32 slot = 0;
for (SaveStateList::iterator save = saves.begin(); save != saves.end(); ++save) {
if (save->getDescription() == _name)
Commit: 0b4335a47cbad3b464a32596f66861967d0bdb80
https://github.com/scummvm/scummvm/commit/0b4335a47cbad3b464a32596f66861967d0bdb80
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-03-12T10:00:48+01:00
Commit Message:
HYPNO: added a required delay in arcade sequences
Changed paths:
engines/hypno/arcade.cpp
diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index 186eae4c12f..4c0e42406d2 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -401,7 +401,7 @@ void HypnoEngine::runArcade(ArcadeShooting *arc) {
ShootInfo si = _shootSequence.front();
int idx = (int)segments[_segmentIdx].size * _segmentRepetition \
+ background.decoder->getCurFrame() \
- - (int)segments[_segmentIdx].start;
+ - (int)segments[_segmentIdx].start + 3;
//debug("%d %d", si.timestamp, idx);
if ((int)si.timestamp <= idx) {
_shootSequence.pop_front();
Commit: e5377943c82e3aa281577f30fa18577f9cfee054
https://github.com/scummvm/scummvm/commit/e5377943c82e3aa281577f30fa18577f9cfee054
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-03-12T10:00:48+01:00
Commit Message:
HYPNO: allow to load games externally in wet
Changed paths:
engines/hypno/wet/wet.cpp
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index d78fa7df59e..d0a11584cd9 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -486,11 +486,6 @@ bool WetEngine::loadGame(const Common::String &name) {
}
loadGameState(slot);
- if (_lastLevel == 0)
- _nextLevel = Common::String::format("c%d", _ids[0]);
- else
- _nextLevel = "<level_menu>";
-
return true;
}
@@ -520,6 +515,12 @@ Common::Error WetEngine::loadGameStream(Common::SeekableReadStream *stream) {
_lives = stream->readUint32LE();
_score = stream->readUint32LE();
_lastLevel = stream->readUint32LE();
+
+ if (_lastLevel == 0)
+ _nextLevel = Common::String::format("c%d", _ids[0]);
+ else
+ _nextLevel = "<level_menu>";
+
return Common::kNoError;
}
Commit: cc2a3bd9c66c449bd81db73f2887671da0c6818e
https://github.com/scummvm/scummvm/commit/cc2a3bd9c66c449bd81db73f2887671da0c6818e
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-03-12T10:00:48+01:00
Commit Message:
HYPNO: refactored save/load profile code in wet
Changed paths:
engines/hypno/hypno.h
engines/hypno/wet/arcade.cpp
engines/hypno/wet/hard.cpp
engines/hypno/wet/wet.cpp
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index 1b11749b14a..1c03adb37a5 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -346,8 +346,8 @@ public:
// Saves
Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave = false) override;
Common::Error loadGameStream(Common::SeekableReadStream *stream) override;
- bool loadGame(const Common::String &name);
- void saveGame(int levelId);
+ bool loadProfile(const Common::String &name);
+ void saveProfile(const Common::String &name, int levelId);
// Arcade
void runBeforeArcade(ArcadeShooting *arc) override;
diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index 4584f174c55..ab88727f67c 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -292,7 +292,7 @@ void WetEngine::runBeforeArcade(ArcadeShooting *arc) {
MVideo *video;
if (!isDemo()) {
- saveGame(int(arc->id));
+ saveProfile(_name, int(arc->id));
byte *palette;
Graphics::Surface *frame = decodeFrame("c_misc/zones.smk", (arc->id / 10 - 1) * 2, &palette);
loadPalette(palette, 0, 256);
diff --git a/engines/hypno/wet/hard.cpp b/engines/hypno/wet/hard.cpp
index 34295e20d1e..0e1bd754526 100644
--- a/engines/hypno/wet/hard.cpp
+++ b/engines/hypno/wet/hard.cpp
@@ -178,12 +178,12 @@ void WetEngine::runMainMenu(Code *code) {
_lastLevel = 0;
_name.toLowercase();
- bool found = loadGame(_name);
+ bool found = loadProfile(_name);
if (found)
return;
- saveGame(_ids[_lastLevel]);
+ saveProfile(_name, _ids[_lastLevel]);
Common::Rect subDifficulty(20, 104, 233, 119);
Graphics::Surface surDifficulty = overlay->getSubArea(subDifficulty);
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index d0a11584cd9..d011f21bfa9 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -449,7 +449,7 @@ void WetEngine::drawString(const Common::String &font, const Common::String &str
error("Invalid font: '%s'", font.c_str());
}
-void WetEngine::saveGame(int levelId) {
+void WetEngine::saveProfile(const Common::String &name, int levelId) {
SaveStateList saves = getMetaEngine()->listSaves(_targetName.c_str());
// Find the correct level index to before saving
@@ -463,19 +463,19 @@ void WetEngine::saveGame(int levelId) {
uint32 slot = 0;
for (SaveStateList::iterator save = saves.begin(); save != saves.end(); ++save) {
- if (save->getDescription() == _name)
+ if (save->getDescription() == name)
break;
slot++;
}
- saveGameState(slot, _name, false);
+ saveGameState(slot, name, false);
}
-bool WetEngine::loadGame(const Common::String &name) {
+bool WetEngine::loadProfile(const Common::String &name) {
SaveStateList saves = getMetaEngine()->listSaves(_targetName.c_str());
uint32 slot = 0;
for (SaveStateList::iterator save = saves.begin(); save != saves.end(); ++save) {
- if (save->getDescription() == _name)
+ if (save->getDescription() == name)
break;
slot++;
}
More information about the Scummvm-git-logs
mailing list