[Scummvm-git-logs] scummvm master -> 42aeb43366896cd296e5e7ada9a5d2df0684af00
neuromancer
noreply at scummvm.org
Sun Dec 15 12:25:39 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
42aeb43366 FREESCAPE: improved colors and sound for cpc games
Commit: 42aeb43366896cd296e5e7ada9a5d2df0684af00
https://github.com/scummvm/scummvm/commit/42aeb43366896cd296e5e7ada9a5d2df0684af00
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-12-15T13:25:48+01:00
Commit Message:
FREESCAPE: improved colors and sound for cpc games
Changed paths:
A devtools/create_freescape/darkside-cpc-1.wav
A devtools/create_freescape/darkside-cpc-10.wav
A devtools/create_freescape/darkside-cpc-11.wav
A devtools/create_freescape/darkside-cpc-12.wav
A devtools/create_freescape/darkside-cpc-13.wav
A devtools/create_freescape/darkside-cpc-14.wav
A devtools/create_freescape/darkside-cpc-15.wav
A devtools/create_freescape/darkside-cpc-16.wav
A devtools/create_freescape/darkside-cpc-17.wav
A devtools/create_freescape/darkside-cpc-18.wav
A devtools/create_freescape/darkside-cpc-19.wav
A devtools/create_freescape/darkside-cpc-20.wav
A devtools/create_freescape/darkside-cpc-21.wav
A devtools/create_freescape/darkside-cpc-22.wav
A devtools/create_freescape/darkside-cpc-23.wav
A devtools/create_freescape/darkside-cpc-3.wav
A devtools/create_freescape/darkside-cpc-4.wav
A devtools/create_freescape/darkside-cpc-5.wav
A devtools/create_freescape/darkside-cpc-6.wav
A devtools/create_freescape/darkside-cpc-7.wav
A devtools/create_freescape/darkside-cpc-8.wav
A devtools/create_freescape/darkside-cpc-9.wav
R devtools/create_freescape/fsDOS_badJingle.wav
R devtools/create_freescape/fsDOS_bigHit.wav
R devtools/create_freescape/fsDOS_configMenu.wav
R devtools/create_freescape/fsDOS_energyDrain.wav
R devtools/create_freescape/fsDOS_laserFire.wav
R devtools/create_freescape/fsDOS_laserHit.wav
R devtools/create_freescape/fsDOS_powerUp.wav
R devtools/create_freescape/fsDOS_roomChange.wav
R devtools/create_freescape/fsDOS_stairDown.wav
R devtools/create_freescape/fsDOS_stairUp.wav
R devtools/create_freescape/fsDOS_successJingle.wav
R devtools/create_freescape/fsDOS_switchOff.wav
R devtools/create_freescape/fsDOS_tankFall.wav
R devtools/create_freescape/fsDOS_teleporterActivated.wav
R devtools/create_freescape/fsDOS_wallBump.wav
dists/engine-data/freescape.dat
engines/freescape/games/dark/cpc.cpp
engines/freescape/games/dark/dark.cpp
engines/freescape/games/dark/dark.h
engines/freescape/games/eclipse/cpc.cpp
engines/freescape/games/palettes.cpp
engines/freescape/sound.cpp
diff --git a/devtools/create_freescape/darkside-cpc-1.wav b/devtools/create_freescape/darkside-cpc-1.wav
new file mode 100644
index 00000000000..51bc0cb3fdc
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-1.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-10.wav b/devtools/create_freescape/darkside-cpc-10.wav
new file mode 100644
index 00000000000..21752d30127
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-10.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-11.wav b/devtools/create_freescape/darkside-cpc-11.wav
new file mode 100644
index 00000000000..423f9f8d075
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-11.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-12.wav b/devtools/create_freescape/darkside-cpc-12.wav
new file mode 100644
index 00000000000..6d5030aa2e4
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-12.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-13.wav b/devtools/create_freescape/darkside-cpc-13.wav
new file mode 100644
index 00000000000..2f607bcd28f
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-13.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-14.wav b/devtools/create_freescape/darkside-cpc-14.wav
new file mode 100644
index 00000000000..db584bef184
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-14.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-15.wav b/devtools/create_freescape/darkside-cpc-15.wav
new file mode 100644
index 00000000000..99e0991736c
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-15.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-16.wav b/devtools/create_freescape/darkside-cpc-16.wav
new file mode 100644
index 00000000000..6cf8327712a
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-16.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-17.wav b/devtools/create_freescape/darkside-cpc-17.wav
new file mode 100644
index 00000000000..6a1d9af485f
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-17.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-18.wav b/devtools/create_freescape/darkside-cpc-18.wav
new file mode 100644
index 00000000000..952bea25b12
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-18.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-19.wav b/devtools/create_freescape/darkside-cpc-19.wav
new file mode 100644
index 00000000000..b4bec4e7819
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-19.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-20.wav b/devtools/create_freescape/darkside-cpc-20.wav
new file mode 100644
index 00000000000..3b4b1e94d7f
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-20.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-21.wav b/devtools/create_freescape/darkside-cpc-21.wav
new file mode 100644
index 00000000000..93c0800f72b
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-21.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-22.wav b/devtools/create_freescape/darkside-cpc-22.wav
new file mode 100644
index 00000000000..f4b0ab6b44c
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-22.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-23.wav b/devtools/create_freescape/darkside-cpc-23.wav
new file mode 100644
index 00000000000..546f495bbfd
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-23.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-3.wav b/devtools/create_freescape/darkside-cpc-3.wav
new file mode 100644
index 00000000000..90f703c45a1
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-3.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-4.wav b/devtools/create_freescape/darkside-cpc-4.wav
new file mode 100644
index 00000000000..1f5ccb34adf
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-4.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-5.wav b/devtools/create_freescape/darkside-cpc-5.wav
new file mode 100644
index 00000000000..1cb1fac02bc
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-5.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-6.wav b/devtools/create_freescape/darkside-cpc-6.wav
new file mode 100644
index 00000000000..b133404e080
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-6.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-7.wav b/devtools/create_freescape/darkside-cpc-7.wav
new file mode 100644
index 00000000000..7a5e47955be
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-7.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-8.wav b/devtools/create_freescape/darkside-cpc-8.wav
new file mode 100644
index 00000000000..d23fe92f843
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-8.wav differ
diff --git a/devtools/create_freescape/darkside-cpc-9.wav b/devtools/create_freescape/darkside-cpc-9.wav
new file mode 100644
index 00000000000..b9b01ff5a04
Binary files /dev/null and b/devtools/create_freescape/darkside-cpc-9.wav differ
diff --git a/devtools/create_freescape/fsDOS_badJingle.wav b/devtools/create_freescape/fsDOS_badJingle.wav
deleted file mode 100644
index 9e1a91f858b..00000000000
Binary files a/devtools/create_freescape/fsDOS_badJingle.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_bigHit.wav b/devtools/create_freescape/fsDOS_bigHit.wav
deleted file mode 100644
index e973cbededf..00000000000
Binary files a/devtools/create_freescape/fsDOS_bigHit.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_configMenu.wav b/devtools/create_freescape/fsDOS_configMenu.wav
deleted file mode 100644
index 160868e59e0..00000000000
Binary files a/devtools/create_freescape/fsDOS_configMenu.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_energyDrain.wav b/devtools/create_freescape/fsDOS_energyDrain.wav
deleted file mode 100644
index 9977a8bc7d7..00000000000
Binary files a/devtools/create_freescape/fsDOS_energyDrain.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_laserFire.wav b/devtools/create_freescape/fsDOS_laserFire.wav
deleted file mode 100644
index 3986ff5e691..00000000000
Binary files a/devtools/create_freescape/fsDOS_laserFire.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_laserHit.wav b/devtools/create_freescape/fsDOS_laserHit.wav
deleted file mode 100644
index c1b6d799434..00000000000
Binary files a/devtools/create_freescape/fsDOS_laserHit.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_powerUp.wav b/devtools/create_freescape/fsDOS_powerUp.wav
deleted file mode 100644
index 1aa7253e304..00000000000
Binary files a/devtools/create_freescape/fsDOS_powerUp.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_roomChange.wav b/devtools/create_freescape/fsDOS_roomChange.wav
deleted file mode 100644
index 706a9e38005..00000000000
Binary files a/devtools/create_freescape/fsDOS_roomChange.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_stairDown.wav b/devtools/create_freescape/fsDOS_stairDown.wav
deleted file mode 100644
index 5d56fe399a6..00000000000
Binary files a/devtools/create_freescape/fsDOS_stairDown.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_stairUp.wav b/devtools/create_freescape/fsDOS_stairUp.wav
deleted file mode 100644
index e22d115d14d..00000000000
Binary files a/devtools/create_freescape/fsDOS_stairUp.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_successJingle.wav b/devtools/create_freescape/fsDOS_successJingle.wav
deleted file mode 100644
index 209222199e6..00000000000
Binary files a/devtools/create_freescape/fsDOS_successJingle.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_switchOff.wav b/devtools/create_freescape/fsDOS_switchOff.wav
deleted file mode 100644
index f30dc3c0235..00000000000
Binary files a/devtools/create_freescape/fsDOS_switchOff.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_tankFall.wav b/devtools/create_freescape/fsDOS_tankFall.wav
deleted file mode 100644
index 6b7562fc3c1..00000000000
Binary files a/devtools/create_freescape/fsDOS_tankFall.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_teleporterActivated.wav b/devtools/create_freescape/fsDOS_teleporterActivated.wav
deleted file mode 100644
index f0a7a6040c1..00000000000
Binary files a/devtools/create_freescape/fsDOS_teleporterActivated.wav and /dev/null differ
diff --git a/devtools/create_freescape/fsDOS_wallBump.wav b/devtools/create_freescape/fsDOS_wallBump.wav
deleted file mode 100644
index a5f9e8375d1..00000000000
Binary files a/devtools/create_freescape/fsDOS_wallBump.wav and /dev/null differ
diff --git a/dists/engine-data/freescape.dat b/dists/engine-data/freescape.dat
index f7a5a1cf362..5022299c86c 100644
Binary files a/dists/engine-data/freescape.dat and b/dists/engine-data/freescape.dat differ
diff --git a/engines/freescape/games/dark/cpc.cpp b/engines/freescape/games/dark/cpc.cpp
index eeb4cc57f29..8126abbfb7b 100644
--- a/engines/freescape/games/dark/cpc.cpp
+++ b/engines/freescape/games/dark/cpc.cpp
@@ -30,6 +30,11 @@ namespace Freescape {
void DarkEngine::initCPC() {
_viewArea = Common::Rect(36, 24, 284, 125);
+ _soundIndexShoot = 0xa;
+ _soundIndexStart = 0x17;
+ _soundIndexAreaChange = 0x1c;
+ _soundIndexDestroyECD = 0x1b;
+ _soundIndexRestoreECD = 8;
}
extern byte kCPCPaletteTitleData[4][3];
diff --git a/engines/freescape/games/dark/dark.cpp b/engines/freescape/games/dark/dark.cpp
index 1685070ef9c..990993b524c 100644
--- a/engines/freescape/games/dark/dark.cpp
+++ b/engines/freescape/games/dark/dark.cpp
@@ -43,6 +43,7 @@ DarkEngine::DarkEngine(OSystem *syst, const ADGameDescription *gd) : FreescapeEn
_soundIndexAreaChange = 5;
_soundIndexHit = 2;
_soundIndexRestoreECD = 19;
+ _soundIndexDestroyECD = -1;
_soundIndexNoShield = -1;
_soundIndexNoEnergy = -1;
diff --git a/engines/freescape/games/dark/dark.h b/engines/freescape/games/dark/dark.h
index f1901c22345..5adaf7da938 100644
--- a/engines/freescape/games/dark/dark.h
+++ b/engines/freescape/games/dark/dark.h
@@ -96,6 +96,7 @@ public:
Font _fontMedium;
Font _fontSmall;
int _soundIndexRestoreECD;
+ int _soundIndexDestroyECD;
void drawString(const DarkFontSize size, const Common::String &str, int x, int y, uint32 primaryColor, uint32 secondaryColor, uint32 backColor, Graphics::Surface *surface);
void drawInfoMenu() override;
diff --git a/engines/freescape/games/eclipse/cpc.cpp b/engines/freescape/games/eclipse/cpc.cpp
index e6a79e47f6a..7e36f6b003f 100644
--- a/engines/freescape/games/eclipse/cpc.cpp
+++ b/engines/freescape/games/eclipse/cpc.cpp
@@ -32,8 +32,20 @@ void EclipseEngine::initCPC() {
_viewArea = Common::Rect(36 + 3, 24 + 8, 284, 130 + 3);
}
-extern byte kCPCPaletteTitleData[4][3];
-extern byte kCPCPaletteBorderData[4][3];
+byte kCPCPaletteEclipseTitleData[4][3] = {
+ {0x00, 0x00, 0x00},
+ {0xff, 0xff, 0x00},
+ {0xff, 0x00, 0xff},
+ {0xff, 0x80, 0x00},
+};
+
+byte kCPCPaletteEclipseBorderData[4][3] = {
+ {0x00, 0x00, 0x00},
+ {0xff, 0x80, 0x00},
+ {0x80, 0xff, 0xff},
+ {0x00, 0x80, 0x00},
+};
+
extern Graphics::ManagedSurface *readCPCImage(Common::SeekableReadStream *file, bool mode0);
@@ -49,7 +61,7 @@ void EclipseEngine::loadAssetsCPCFullGame() {
error("Failed to open TESCR.SCR/TE2.BI1");
_title = readCPCImage(&file, true);
- _title->setPalette((byte*)&kCPCPaletteTitleData, 0, 4);
+ _title->setPalette((byte*)&kCPCPaletteEclipseTitleData, 0, 4);
file.close();
if (isEclipse2())
@@ -61,7 +73,7 @@ void EclipseEngine::loadAssetsCPCFullGame() {
error("Failed to open TECON.SCR/TE2.BI3");
_border = readCPCImage(&file, true);
- _border->setPalette((byte*)&kCPCPaletteTitleData, 0, 4);
+ _border->setPalette((byte*)&kCPCPaletteEclipseBorderData, 0, 4);
file.close();
if (isEclipse2())
@@ -111,7 +123,7 @@ void EclipseEngine::loadAssetsCPCDemo() {
error("Failed to open TECON.BIN");
_border = readCPCImage(&file, true);
- _border->setPalette((byte*)&kCPCPaletteTitleData, 0, 4);
+ _border->setPalette((byte*)&kCPCPaletteEclipseTitleData, 0, 4);
file.close();
file.open("TEPROG.BIN");
diff --git a/engines/freescape/games/palettes.cpp b/engines/freescape/games/palettes.cpp
index 5be4e3a5c74..c9b5a3887ec 100644
--- a/engines/freescape/games/palettes.cpp
+++ b/engines/freescape/games/palettes.cpp
@@ -81,9 +81,9 @@ byte kDrillerZXPalette[9][3] = {
byte kDrillerCPCPalette[32][3] = {
{0x80, 0x80, 0x80}, // 0: special case?
{0x00, 0x00, 0x00}, // 1: used in dark only?
- {0x80, 0xff, 0x80}, // 2
+ {0x00, 0x80, 0xff}, // 2
{0xff, 0xff, 0x80}, // 3
- {0x11, 0x22, 0x33},
+ {0x00, 0x00, 0x80}, // 4
{0xff, 0x00, 0x80}, // 5
{0x00, 0x80, 0x80}, // 6
{0xff, 0x80, 0x80}, // 7
diff --git a/engines/freescape/sound.cpp b/engines/freescape/sound.cpp
index 9bd83bf7418..30e8a43e213 100644
--- a/engines/freescape/sound.cpp
+++ b/engines/freescape/sound.cpp
@@ -325,12 +325,13 @@ void FreescapeEngine::playSound(int index, bool sync) {
} else if (isSpectrum() && !isDriller()) {
playSoundZX(_soundsSpeakerFxZX[index]);
return;
- } else if (isCPC() && !isDriller()) {
- debugC(1, kFreescapeDebugMedia, "Not implemented");
- return;
}
- switch (index) {
+ Common::Path filename;
+ filename = Common::String::format("%s-%d.wav", _targetName.c_str(), index);
+ debugC(1, kFreescapeDebugMedia, "Playing sound %s", filename.toString().c_str());
+ playWav(filename);
+ /*switch (index) {
case 1:
playWav("fsDOS_laserFire.wav");
break;
@@ -392,13 +393,16 @@ void FreescapeEngine::playSound(int index, bool sync) {
default:
debugC(1, kFreescapeDebugMedia, "Unexpected sound %d", index);
break;
- }
+ }*/
_syncSound = sync;
}
void FreescapeEngine::playWav(const Common::Path &filename) {
Common::SeekableReadStream *s = _dataBundle->createReadStreamForMember(filename);
- assert(s);
+ if (!s) {
+ debugC(1, kFreescapeDebugMedia, "WARNING: Sound %s not found", filename.toString().c_str());
+ return;
+ }
Audio::AudioStream *stream = Audio::makeWAVStream(s, DisposeAfterUse::YES);
_mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundFxHandle, stream);
}
More information about the Scummvm-git-logs
mailing list