[Scummvm-git-logs] scummvm master -> 59d9c2cf46728cb1cd4ec20287f74957820bef0b
neuromancer
noreply at scummvm.org
Wed May 4 14:28:45 UTC 2022
This automated email contains information about 7 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
12b6836119 HYPNO: renamed demo variant name and correct its language in wet
877e3fb297 HYPNO: corrected colors of the default cursor
99799a74bc HYPNO: corrected colors of the default cursor (again)
9c6655e7b3 HYPNO: adjusted resolution during level transitions with images in wet
edce3ade35 HYPNO: reverted change in maxScanDepth and added better error messages when game directory is not correct in wet
dacd4ab9dc HYPNO: initial localization of some wet releases
59d9c2cf46 HYPNO: clear the playerFrame list after arcade sequences
Commit: 12b6836119da97306c2b3d39ac06978554edcc19
https://github.com/scummvm/scummvm/commit/12b6836119da97306c2b3d39ac06978554edcc19
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-05-04T16:26:43+02:00
Commit Message:
HYPNO: renamed demo variant name and correct its language in wet
Changed paths:
engines/hypno/detection.cpp
engines/hypno/wet/arcade.cpp
engines/hypno/wet/wet.cpp
diff --git a/engines/hypno/detection.cpp b/engines/hypno/detection.cpp
index d8eb4bd140b..bca3ee639ca 100644
--- a/engines/hypno/detection.cpp
+++ b/engines/hypno/detection.cpp
@@ -101,12 +101,12 @@ static const ADGameDescription gameDescriptions[] = {
GUIO1(GUIO_NOMIDI)
},
{
- "wetlands", // Wetlands Demo Hebrew
- "Demo",
+ "wetlands", // Wetlands Demo from a Hebrew magazine
+ "DemoHebrew",
AD_ENTRY3s("wetlands.exe", "15a6b1b3819ef002438df340509b5373", 629503,
"wetdemo.exe", "15a6b1b3819ef002438df340509b5373", 458319,
"demo.exe", "15a6b1b3819ef002438df340509b5373", 533221),
- Common::HE_ISR,
+ Common::EN_USA,
Common::kPlatformDOS,
ADGF_TESTING | ADGF_DEMO,
GUIO1(GUIO_NOMIDI)
@@ -116,7 +116,7 @@ static const ADGameDescription gameDescriptions[] = {
"PCWDemo",
AD_ENTRY2s("wetlands.exe", "15a6b1b3819ef002438df340509b5373", 553355,
"missions.lib", "6ffa658f22a00b6e17d7f920fcc13578", 12469),
- Common::EN_GRB,
+ Common::EN_USA,
Common::kPlatformDOS,
ADGF_TESTING | ADGF_DEMO,
GUIO1(GUIO_NOMIDI)
diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index 6978786ea1d..b79606e0566 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -386,7 +386,7 @@ void WetEngine::runAfterArcade(ArcadeShooting *arc) {
if (isDemo() && _variant != "Demo" && _restoredContentEnabled) {
showDemoScore();
- } else if (!isDemo() || (_variant == "Demo" && _language == Common::EN_USA)) {
+ } else if (!isDemo() || _variant == "Demo") {
byte *palette;
Graphics::Surface *frame = decodeFrame("c_misc/zones.smk", 12, &palette);
loadPalette(palette, 0, 256);
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index 7e8f469127c..c137e06edd9 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -82,7 +82,7 @@ void WetEngine::loadAssets() {
}
_difficulty = ""; // No difficulty selection in demo
- if (_variant == "Demo")
+ if (_variant == "Demo" || _variant == "DemoHebrew")
loadAssetsDemoDisc();
else if (_variant == "PCWDemo")
loadAssetsPCW();
@@ -97,7 +97,7 @@ void WetEngine::loadAssets() {
void WetEngine::loadAssetsDemoDisc() {
- bool encrypted = _language == Common::HE_ISR ? false : true;
+ bool encrypted = _variant == "Demo" ? true : false;
LibFile *missions = loadLib("", "wetlands/c_misc/missions.lib", encrypted);
Common::ArchiveMemberList files;
if (missions->listMembers(files) == 0)
@@ -139,9 +139,9 @@ void WetEngine::loadAssetsDemoDisc() {
_levels["<start>"] = start;
Transition *intro;
- if (_language == Common::EN_USA)
+ if (_variant == "Demo")
intro = new Transition("c31");
- else if (_language == Common::HE_ISR)
+ else if (_variant == "DemoHebrew")
intro = new Transition("c31.mis");
else
error("Unsupported language");
@@ -174,14 +174,14 @@ void WetEngine::loadAssetsDemoDisc() {
movies->frameNumber = 0;
_levels["<movies>"] = movies;
- if (_language == Common::EN_USA) {
+ if (_variant == "Demo") {
loadArcadeLevel("c31.mi_", "c52", "c52", "wetlands");
loadArcadeLevel("c52.mi_", "<game_over>", "<quit>", "wetlands");
- } else if (_language == Common::HE_ISR) {
+ } else if (_variant == "DemoHebrew") {
loadArcadeLevel("c31.mis", "c52.mis", "c52.mis", "wetlands");
loadArcadeLevel("c52.mis", "<game_over>", "<quit>", "wetlands");
} else {
- error("Unsupported language");
+ error("Unsupported variant");
}
Transition *over = new Transition("<quit>");
Commit: 877e3fb297d1616be20438dbd746a0744a5d08be
https://github.com/scummvm/scummvm/commit/877e3fb297d1616be20438dbd746a0744a5d08be
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-05-04T16:26:43+02:00
Commit Message:
HYPNO: corrected colors of the default cursor
Changed paths:
engines/hypno/cursors.cpp
diff --git a/engines/hypno/cursors.cpp b/engines/hypno/cursors.cpp
index 861c887dc3e..34df95f130a 100644
--- a/engines/hypno/cursors.cpp
+++ b/engines/hypno/cursors.cpp
@@ -74,9 +74,9 @@ static const byte targetCursor[] = {
static const byte cursorPalette[] = {
0x00, 0x00, 0x00, // Black / Transparent
- 0x00, 0x00, 0xff, // Blue
- 0xff, 0x00, 0x00, // Red
- 0x00, 0x00, 0x00 // Red
+ 0xff, 0xff, 0xff, // White
+ 0xff, 0xff, 0xff, // White
+ 0x00, 0x00, 0x00 // Black
};
struct CursorTable {
Commit: 99799a74bc61f86b35ff35f29028ed89df6562ec
https://github.com/scummvm/scummvm/commit/99799a74bc61f86b35ff35f29028ed89df6562ec
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-05-04T16:26:43+02:00
Commit Message:
HYPNO: corrected colors of the default cursor (again)
Changed paths:
engines/hypno/cursors.cpp
engines/hypno/detection.cpp
diff --git a/engines/hypno/cursors.cpp b/engines/hypno/cursors.cpp
index 34df95f130a..dd3ebbc0e1d 100644
--- a/engines/hypno/cursors.cpp
+++ b/engines/hypno/cursors.cpp
@@ -28,21 +28,21 @@ namespace Hypno {
static const byte MOUSECURSOR_SCI[] = {
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0,
- 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0,
- 1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0,
- 1, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,
- 1, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0,
- 1, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0,
- 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0,
- 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
- 1, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,
- 1, 2, 1, 0, 1, 2, 2, 1, 0, 0, 0,
- 1, 1, 0, 0, 1, 2, 2, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 2, 2, 1, 0, 0,
- 0, 0, 0, 0, 0, 1, 2, 2, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 0};
+ 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0,
+ 1, 3, 3, 3, 3, 1, 0, 0, 0, 0, 0,
+ 1, 3, 3, 3, 3, 3, 1, 0, 0, 0, 0,
+ 1, 3, 3, 3, 3, 3, 3, 1, 0, 0, 0,
+ 1, 3, 3, 3, 3, 3, 3, 3, 1, 0, 0,
+ 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 0,
+ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1,
+ 1, 3, 3, 3, 3, 3, 1, 0, 0, 0, 0,
+ 1, 3, 1, 0, 1, 3, 3, 1, 0, 0, 0,
+ 1, 1, 0, 0, 1, 3, 3, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 3, 3, 1, 0, 0,
+ 0, 0, 0, 0, 0, 1, 3, 3, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 3, 3, 1, 0};
static const byte circleCursor[] = {
0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0,
@@ -74,9 +74,9 @@ static const byte targetCursor[] = {
static const byte cursorPalette[] = {
0x00, 0x00, 0x00, // Black / Transparent
- 0xff, 0xff, 0xff, // White
- 0xff, 0xff, 0xff, // White
- 0x00, 0x00, 0x00 // Black
+ 0x00, 0x00, 0xff, // Blue
+ 0xff, 0x00, 0x00, // Red
+ 0xff, 0xff, 0xff // White
};
struct CursorTable {
diff --git a/engines/hypno/detection.cpp b/engines/hypno/detection.cpp
index bca3ee639ca..cd7fb582dd0 100644
--- a/engines/hypno/detection.cpp
+++ b/engines/hypno/detection.cpp
@@ -211,7 +211,7 @@ static const ExtraGuiOption hypnoExtraGuiOptionOriginalCheats = {
_s("Enable original cheats"),
_s("Allow cheats using the C key."),
"cheats",
- false,
+ true,
0,
0
};
@@ -238,7 +238,7 @@ static const ExtraGuiOption hypnoExtraGuiOptionRestoredContent = {
_s("Enable restored content"),
_s("Add additional content that is not enabled the original implementation."),
"restored",
- false,
+ true,
0,
0
};
@@ -247,7 +247,7 @@ class HypnoMetaEngineDetection : public AdvancedMetaEngineDetection {
public:
HypnoMetaEngineDetection() : AdvancedMetaEngineDetection(Hypno::gameDescriptions, sizeof(ADGameDescription), Hypno::hypnoGames) {
_guiOptions = GUIO1(GUIO_NOMIDI);
- _maxScanDepth = 3;
+ _maxScanDepth = 2;
_directoryGlobs = directoryGlobs;
}
Commit: 9c6655e7b38c74bbd283583bceff2702fa552db2
https://github.com/scummvm/scummvm/commit/9c6655e7b38c74bbd283583bceff2702fa552db2
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-05-04T16:26:43+02:00
Commit Message:
HYPNO: adjusted resolution during level transitions with images in wet
Changed paths:
engines/hypno/scene.cpp
diff --git a/engines/hypno/scene.cpp b/engines/hypno/scene.cpp
index f81a7c6bf72..dd519ebf1a6 100644
--- a/engines/hypno/scene.cpp
+++ b/engines/hypno/scene.cpp
@@ -242,6 +242,8 @@ Common::String HypnoEngine::findNextLevel(const Transition *trans) { error("Func
void HypnoEngine::runTransition(Transition *trans) {
Common::String nextLevel = findNextLevel(trans);
if (!trans->frameImage.empty()) {
+ // This is only used in Wetlands, and therefore, resolution should be 320x200
+ changeScreenMode("320x200");
debugC(1, kHypnoDebugScene, "Rendering %s frame in transaction", trans->frameImage.c_str());
loadImage(trans->frameImage, 0, 0, false, true, trans->frameNumber);
drawScreen();
Commit: edce3ade353009ee8125b74ad9d98ca16bfa39df
https://github.com/scummvm/scummvm/commit/edce3ade353009ee8125b74ad9d98ca16bfa39df
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-05-04T16:26:43+02:00
Commit Message:
HYPNO: reverted change in maxScanDepth and added better error messages when game directory is not correct in wet
Changed paths:
engines/hypno/detection.cpp
engines/hypno/wet/wet.cpp
diff --git a/engines/hypno/detection.cpp b/engines/hypno/detection.cpp
index cd7fb582dd0..658bba939f0 100644
--- a/engines/hypno/detection.cpp
+++ b/engines/hypno/detection.cpp
@@ -247,7 +247,7 @@ class HypnoMetaEngineDetection : public AdvancedMetaEngineDetection {
public:
HypnoMetaEngineDetection() : AdvancedMetaEngineDetection(Hypno::gameDescriptions, sizeof(ADGameDescription), Hypno::hypnoGames) {
_guiOptions = GUIO1(GUIO_NOMIDI);
- _maxScanDepth = 2;
+ _maxScanDepth = 3;
_directoryGlobs = directoryGlobs;
}
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index c137e06edd9..fb63306401a 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -27,6 +27,11 @@
namespace Hypno {
+static const char *failedDetectionError = \
+ "Failed to load any files from missions.lib.\
+ Please review https://wiki.scummvm.org/index.php?title=Wetlands\
+ and re-add the game.";
+
static const chapterEntry rawChapterTable[] = {
{11, {44, 172}, {218, 172}, {0, 0}, {127, 172}, 0, kHypnoColorRed}, // c11
{10, {19, 3}, {246, 3}, {246, 11}, {2, 2}, 0, kHypnoNoColor}, // c10
@@ -101,7 +106,7 @@ void WetEngine::loadAssetsDemoDisc() {
LibFile *missions = loadLib("", "wetlands/c_misc/missions.lib", encrypted);
Common::ArchiveMemberList files;
if (missions->listMembers(files) == 0)
- error("Failed to load any files from missions.lib");
+ error(failedDetectionError);
Hotspot h(MakeMenu);
Hotspots hs;
@@ -241,7 +246,7 @@ void WetEngine::loadAssetsPCW() {
LibFile *missions = loadLib("", "c_misc/missions.lib", false);
Common::ArchiveMemberList files;
if (missions->listMembers(files) == 0)
- error("Failed to load any files from missions.lib");
+ error(failedDetectionError);
Transition *intro = new Transition("c11.mis");
intro->intros.push_back("c_misc/nw_logo.smk");
@@ -265,7 +270,7 @@ void WetEngine::loadAssetsPCG() {
LibFile *missions = loadLib("", "missions.lib", false);
Common::ArchiveMemberList files;
if (missions->listMembers(files) == 0)
- error("Failed to load any files from missions.lib");
+ error(failedDetectionError);
Transition *intro = new Transition("c31.mis");
intro->intros.push_back("nw_logo.smk");
@@ -291,7 +296,7 @@ void WetEngine::loadAssetsFullGame() {
LibFile *missions = loadLib("", "c_misc/missions.lib", true);
Common::ArchiveMemberList files;
if (missions == nullptr || missions->listMembers(files) == 0)
- error("Failed to load any files from missions.lib");
+ error(failedDetectionError);
Transition *logos = new Transition("<main_menu>");
logos->intros.push_back("c_misc/logo.smk");
Commit: dacd4ab9dc990e626489a1dbf00b984eaf02c8e4
https://github.com/scummvm/scummvm/commit/dacd4ab9dc990e626489a1dbf00b984eaf02c8e4
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-05-04T16:26:43+02:00
Commit Message:
HYPNO: initial localization of some wet releases
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 6b52f3b4799..372f9086291 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -311,6 +311,12 @@ public:
int _score;
int _bonus;
int _lives;
+
+ Common::String _healthString;
+ Common::String _scoreString;
+ Common::String _objString;
+ Common::String _targetString;
+
Filename _shootSound;
Filename _hitSound;
Filename _additionalSound;
@@ -416,6 +422,7 @@ public:
byte *getTargetColor(Common::String name, int levelId) override;
private:
+ Common::String getLocalizedString(const Common::String name);
void runMainMenu(Code *code);
void runLevelMenu(Code *code);
void runCheckLives(Code *code);
diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index b79606e0566..67bcbe8cf85 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -945,7 +945,7 @@ void WetEngine::drawPlayer() {
Common::Point mousePos = g_system->getEventManager()->getMousePos();
int i = detectTarget(mousePos);
if (i >= 0)
- drawString("block05.fgx", "TARGET ACQUIRED", 116, 3, 80, c);
+ drawString("block05.fgx", _targetString.c_str(), 116, 3, 80, c);
if (_arcadeMode == "Y1" || _arcadeMode == "Y3")
return;
@@ -994,10 +994,10 @@ void WetEngine::drawHealth() {
Common::Point ep(entry->energyPos[0], entry->energyPos[1]);
Common::Point sp(entry->scorePos[0], entry->scorePos[1]);
Common::Point op(entry->objectivesPos[0], entry->objectivesPos[1]);
-
- drawString("block05.fgx", Common::String::format("ENERGY %d%%", p), ep.x, ep.y, 65, c);
- Common::String scoreFormat = "SCORE %04d";
- Common::String moFormat = "M.O. %d/%d";
+ Common::String healthFormat = _healthString + " %d%%";
+ drawString("block05.fgx", Common::String::format(healthFormat.c_str(), p), ep.x, ep.y, 65, c);
+ Common::String scoreFormat = _scoreString + " %04d";
+ Common::String moFormat = _objString + " %d/%d";
if (_arcadeMode == "Y1" || _arcadeMode == "Y3" || _arcadeMode == "Y4" || _arcadeMode == "Y5") {
Common::Rect r;
@@ -1010,8 +1010,8 @@ void WetEngine::drawHealth() {
r = Common::Rect(op.x - 2, op.y - 2, op.x + 74, op.y + 7);
_compositeSurface->frameRect(r, kHypnoColorGreen);
- scoreFormat = "SCORE %04d";
- moFormat = "M.O. %d/%d";
+ scoreFormat = _scoreString + " %04d";
+ moFormat = _objString + " %d/%d";
}
drawString("block05.fgx", Common::String::format(scoreFormat.c_str(), s), sp.x, sp.y, 72, c);
diff --git a/engines/hypno/wet/hard.cpp b/engines/hypno/wet/hard.cpp
index 4ca581bef52..39e4bcedded 100644
--- a/engines/hypno/wet/hard.cpp
+++ b/engines/hypno/wet/hard.cpp
@@ -286,4 +286,43 @@ void WetEngine::showDemoScore() {
dialog.runModal();
}
+Common::String WetEngine::getLocalizedString(const Common::String name) {
+ if (name == "health") {
+ switch (_language) {
+ case Common::FR_FRA:
+ return "ENERGIE";
+ case Common::ES_ESP:
+ return "ENERGIA";
+ default:
+ return "HEALTH";
+ }
+ } else if (name == "objectives") {
+ switch (_language) {
+ case Common::FR_FRA:
+ return "OBJ.";
+ case Common::ES_ESP:
+ return "O. M.";
+ default:
+ return "M. O.";
+ }
+ } else if (name == "score") {
+ switch (_language) {
+ case Common::ES_ESP:
+ return "PUNTOS";
+ default:
+ return "SCORE";
+ }
+ } else if (name == "target") {
+ switch (_language) {
+ case Common::FR_FRA:
+ return "VERROUILLAGE";
+ case Common::ES_ESP:
+ return "BLANCO FIJADO";
+ default:
+ return "TARGET ACQUIRED";
+ }
+ } else
+ error("Invalid string name to localize: %s", name.c_str());
+}
+
} // End of namespace Hypno
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index fb63306401a..01fbc9fb24f 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -77,6 +77,10 @@ WetEngine::WetEngine(OSystem *syst, const ADGameDescription *gd) : HypnoEngine(s
entry++;
}
+ _healthString = getLocalizedString("health");
+ _scoreString = getLocalizedString("score");
+ _objString = getLocalizedString("objectives");
+ _targetString = getLocalizedString("target");
}
void WetEngine::loadAssets() {
Commit: 59d9c2cf46728cb1cd4ec20287f74957820bef0b
https://github.com/scummvm/scummvm/commit/59d9c2cf46728cb1cd4ec20287f74957820bef0b
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-05-04T16:26:43+02:00
Commit Message:
HYPNO: clear the playerFrame list after arcade sequences
Changed paths:
engines/hypno/spider/arcade.cpp
engines/hypno/wet/arcade.cpp
diff --git a/engines/hypno/spider/arcade.cpp b/engines/hypno/spider/arcade.cpp
index e8731117679..044d4b653cc 100644
--- a/engines/hypno/spider/arcade.cpp
+++ b/engines/hypno/spider/arcade.cpp
@@ -68,6 +68,7 @@ void SpiderEngine::runAfterArcade(ArcadeShooting *arc) {
(*it)->free();
delete (*it);
}
+ _playerFrames.clear();
if (isDemo() && _restoredContentEnabled) {
if (_health == 0)
diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index 67bcbe8cf85..21564fb44a1 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -373,6 +373,7 @@ void WetEngine::runAfterArcade(ArcadeShooting *arc) {
(*it)->free();
delete (*it);
}
+ _playerFrames.clear();
if (_health < 0)
_health = 0;
More information about the Scummvm-git-logs
mailing list