[Scummvm-git-logs] scummvm master -> 73d4f7bd57383265dda4765ff51e07fa4595275e
neuromancer
noreply at scummvm.org
Sun Apr 3 18:55:29 UTC 2022
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:
6ce41a3cff HYPNO: correct rendering of cleared and new zones in wet
0133c1f508 HYPNO: clear data structure when parsing arcade sequences
d2a9429464 HYPNO: refactoring clearing of arcade data structures
73d4f7bd57 HYPNO: added user interface offset for level 42 in wet
Commit: 6ce41a3cffa710615dde09e61e305d7a20e82fa8
https://github.com/scummvm/scummvm/commit/6ce41a3cffa710615dde09e61e305d7a20e82fa8
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-04-03T20:55:57+02:00
Commit Message:
HYPNO: correct rendering of cleared and new zones in wet
Changed paths:
engines/hypno/hypno.h
engines/hypno/wet/arcade.cpp
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index 1f36f22d893..e75d23e11b2 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -367,6 +367,7 @@ private:
void runLevelMenu(Code *code);
void runCheckLives(Code *code);
void endCredits(Code *code);
+ uint32 findPaletteIndexZones(uint32 id);
Common::BitArray _font05;
Common::BitArray _font08;
diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index c97495ced1e..c72c216ae8d 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -285,6 +285,49 @@ void WetEngine::runAfterArcade(ArcadeShooting *arc) {
}
+uint32 WetEngine::findPaletteIndexZones(uint32 id) {
+ switch (id) {
+ case 11:
+ return 237;
+ case 10:
+ return 239;
+ case 21:
+ return 240;
+ case 22:
+ return 237;
+ case 23:
+ return 238;
+ case 20:
+ return 239;
+ default:
+ break;
+ }
+
+ switch (id / 10) {
+ case 3:
+ if (id == 30)
+ return 241;
+ else
+ return 237 + id % 10;
+ case 4:
+ if (id == 40)
+ return 241;
+ else
+ return 236 + id % 10;
+ case 5:
+ if (id == 50)
+ return 240;
+ else
+ return 237 + id % 10;
+ case 6:
+ if (id == 60)
+ return 238;
+ else
+ return 237;
+ default:
+ error("Invalid level id: %d", id);
+ }
+}
void WetEngine::runBeforeArcade(ArcadeShooting *arc) {
resetStatistics();
@@ -296,8 +339,17 @@ void WetEngine::runBeforeArcade(ArcadeShooting *arc) {
byte *palette;
Graphics::Surface *frame = decodeFrame("c_misc/zones.smk", (arc->id / 10 - 1) * 2, &palette);
loadPalette(palette, 0, 256);
- byte p[3] = {0xff, 0x00, 0x00}; // Always red?
- loadPalette((byte *) &p, 240 - arc->id % 10, 1);
+ byte red[3] = {0xff, 0x00, 0x00};
+ for (int i = 0; i < 5; i++)
+ loadPalette((byte *) &red, 237 + i, 1);
+
+ byte blue[3] = {0x00, 0x00, 0xff};
+ for (uint32 id = 10 * (arc->id / 10) + 1; id < arc->id; id++)
+ loadPalette((byte *) &blue, findPaletteIndexZones(id), 1);
+
+ byte green[3] = {0x00, 0xff, 0x00};
+ uint32 idx = findPaletteIndexZones(arc->id);
+ loadPalette((byte *) &green, idx, 1);
drawImage(*frame, 0, 0, false);
frame->free();
delete frame;
Commit: 0133c1f5083579da7562b02dfccddc3f2ee94734
https://github.com/scummvm/scummvm/commit/0133c1f5083579da7562b02dfccddc3f2ee94734
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-04-03T20:55:57+02:00
Commit Message:
HYPNO: clear data structure when parsing arcade sequences
Changed paths:
engines/hypno/arcade.cpp
diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index 7c133d95af7..4beb7a0cce9 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -67,6 +67,10 @@ void HypnoEngine::parseArcadeShooting(const Common::String &prefix, const Common
g_parsedArc->defeatNoEnergyFirstVideo.clear();
g_parsedArc->defeatMissBossVideo.clear();
g_parsedArc->defeatNoEnergySecondVideo.clear();
+ g_parsedArc->missBoss1Video.clear();
+ g_parsedArc->missBoss2Video.clear();
+ g_parsedArc->hitBoss1Video.clear();
+ g_parsedArc->hitBoss2Video.clear();
g_parsedArc->beforeVideo.clear();
g_parsedArc->briefingVideo.clear();
g_parsedArc->segments.clear();
Commit: d2a942946496b12f4aa1ea655c41e32ea7d452dd
https://github.com/scummvm/scummvm/commit/d2a942946496b12f4aa1ea655c41e32ea7d452dd
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-04-03T20:55:57+02:00
Commit Message:
HYPNO: refactoring clearing of arcade data structures
Changed paths:
engines/hypno/arcade.cpp
engines/hypno/grammar.h
diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index 4beb7a0cce9..c285761da24 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -57,23 +57,7 @@ void HypnoEngine::parseArcadeShooting(const Common::String &prefix, const Common
ArcadeShooting *arcade = new ArcadeShooting();
*arcade = *g_parsedArc;
_levels[filename] = (Level*) arcade;
- g_parsedArc->backgroundVideo.clear();
- g_parsedArc->transitionVideos.clear();
- g_parsedArc->transitionTimes.clear();
- g_parsedArc->transitionPalettes.clear();
- g_parsedArc->player.clear();
- g_parsedArc->shoots.clear();
- g_parsedArc->intros.clear();
- g_parsedArc->defeatNoEnergyFirstVideo.clear();
- g_parsedArc->defeatMissBossVideo.clear();
- g_parsedArc->defeatNoEnergySecondVideo.clear();
- g_parsedArc->missBoss1Video.clear();
- g_parsedArc->missBoss2Video.clear();
- g_parsedArc->hitBoss1Video.clear();
- g_parsedArc->hitBoss2Video.clear();
- g_parsedArc->beforeVideo.clear();
- g_parsedArc->briefingVideo.clear();
- g_parsedArc->segments.clear();
+ g_parsedArc->clear();
}
SegmentShootsSequence HypnoEngine::parseShootList(const Common::String &filename, const Common::String &data) {
diff --git a/engines/hypno/grammar.h b/engines/hypno/grammar.h
index 54a9fad99af..bce95a06be0 100644
--- a/engines/hypno/grammar.h
+++ b/engines/hypno/grammar.h
@@ -481,6 +481,28 @@ public:
objMissesAllowed[1] = 0;
frameDelay = 0;
}
+ void clear() {
+ nextLevelVideo.clear();
+ backgroundVideo.clear();
+ transitionVideos.clear();
+ transitionTimes.clear();
+ transitionPalettes.clear();
+ player.clear();
+ shoots.clear();
+ intros.clear();
+ defeatNoEnergyFirstVideo.clear();
+ defeatMissBossVideo.clear();
+ defeatNoEnergySecondVideo.clear();
+ missBoss1Video.clear();
+ missBoss2Video.clear();
+ hitBoss1Video.clear();
+ hitBoss2Video.clear();
+ beforeVideo.clear();
+ briefingVideo.clear();
+ additionalVideo.clear();
+ segments.clear();
+ }
+
uint32 id;
uint32 frameDelay;
Common::String mode;
Commit: 73d4f7bd57383265dda4765ff51e07fa4595275e
https://github.com/scummvm/scummvm/commit/73d4f7bd57383265dda4765ff51e07fa4595275e
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-04-03T20:55:57+02:00
Commit Message:
HYPNO: added user interface offset for level 42 in wet
Changed paths:
engines/hypno/wet/arcade.cpp
diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index c72c216ae8d..3a6dec1422b 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -577,7 +577,10 @@ void WetEngine::drawPlayer() {
_playerFrameIdx = 2;
int offset = 0;
- if (_levelId == 31) // Ugly, but seems to be necessary
+ // Ugly, but seems to be necessary
+ if (_levelId == 31)
+ offset = 2;
+ else if (_levelId == 52)
offset = 2;
drawImage(*_playerFrames[_playerFrameIdx], 0, 200 - _playerFrames[_playerFrameIdx]->h + offset, true);
More information about the Scummvm-git-logs
mailing list