[Scummvm-git-logs] scummvm master -> 9c9aa687c1e6320695f2fad02b0ca9b35f8cec89
neuromancer
noreply at scummvm.org
Sun Sep 28 14:11:11 UTC 2025
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
b3912db8a1 FREESCAPE: refactored a bit the movement code to be more precise decting step down
a9bf38c4c9 FREESCAPE: improved sounds for driller amiga/atari
45c5051787 FREESCAPE: added missing sounds for dark
55b6c8c3e0 FREESCAPE: fixed some more zx sounds
9c9aa687c1 FREESCAPE: improved sounds for eclipse for zx
Commit: b3912db8a15e3b61c6a437507118904445ac1341
https://github.com/scummvm/scummvm/commit/b3912db8a15e3b61c6a437507118904445ac1341
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-09-28T11:10:56-03:00
Commit Message:
FREESCAPE: refactored a bit the movement code to be more precise decting step down
Changed paths:
engines/freescape/movement.cpp
diff --git a/engines/freescape/movement.cpp b/engines/freescape/movement.cpp
index 38e9a5a0732..293f7b2a955 100644
--- a/engines/freescape/movement.cpp
+++ b/engines/freescape/movement.cpp
@@ -515,10 +515,11 @@ void FreescapeEngine::resolveCollisions(Math::Vector3d const position) {
}
// Check for falling
- lastPosition = newPosition;
- newPosition.y() = -8192;
- newPosition = _currentArea->resolveCollisions(lastPosition, newPosition, _playerHeight);
- int fallen = lastPosition.y() - newPosition.y();
+ Math::Vector3d fallStart = newPosition; // current standing point
+ Math::Vector3d fallEnd = fallStart; // copy for downward probe
+ fallEnd.y() = -8192; // probe way down below
+ newPosition = _currentArea->resolveCollisions(fallStart, fallEnd, _playerHeight);
+ int fallen = _lastPosition.y() - newPosition.y();
if (fallen > _maxFallingDistance) {
_hasFallen = !_disableFalling;
@@ -542,7 +543,7 @@ void FreescapeEngine::resolveCollisions(Math::Vector3d const position) {
if (!_hasFallen && fallen > 0) {
isSteppingDown = true;
// Position in Y was changed, let's re-run effects
- if (runCollisionConditions(lastPosition, newPosition))
+ if (runCollisionConditions(_lastPosition, newPosition))
stopMovement();
}
Commit: a9bf38c4c915e67817f1190f9fccafaa63ff8308
https://github.com/scummvm/scummvm/commit/a9bf38c4c915e67817f1190f9fccafaa63ff8308
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-09-28T11:10:56-03:00
Commit Message:
FREESCAPE: improved sounds for driller amiga/atari
Changed paths:
engines/freescape/games/driller/amiga.cpp
diff --git a/engines/freescape/games/driller/amiga.cpp b/engines/freescape/games/driller/amiga.cpp
index 7081cbbc561..c62499fdd3e 100644
--- a/engines/freescape/games/driller/amiga.cpp
+++ b/engines/freescape/games/driller/amiga.cpp
@@ -340,6 +340,10 @@ void DrillerEngine::initAmigaAtari() {
_soundIndexFall = 25;
_soundIndexFallen = 11;
_soundIndexForceEndGame = 11;
+ _soundIndexNoShield = 11;
+ _soundIndexNoEnergy = 11;
+ _soundIndexTimeout = 11;
+ _soundIndexCrushed = 11;
}
} // End of namespace Freescape
\ No newline at end of file
Commit: 45c5051787d7818f491bb4461d03c26fbfc7b111
https://github.com/scummvm/scummvm/commit/45c5051787d7818f491bb4461d03c26fbfc7b111
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-09-28T11:10:56-03:00
Commit Message:
FREESCAPE: added missing sounds for dark
Changed paths:
engines/freescape/games/dark/dark.cpp
diff --git a/engines/freescape/games/dark/dark.cpp b/engines/freescape/games/dark/dark.cpp
index 6699935f182..75df0f16d9a 100644
--- a/engines/freescape/games/dark/dark.cpp
+++ b/engines/freescape/games/dark/dark.cpp
@@ -42,15 +42,16 @@ DarkEngine::DarkEngine(OSystem *syst, const ADGameDescription *gd) : FreescapeEn
_soundIndexStart = 9;
_soundIndexAreaChange = 5;
_soundIndexHit = 2;
+ _soundIndexFall = 14;
_soundIndexRestoreECD = 19;
_soundIndexDestroyECD = -1;
- _soundIndexNoShield = -1;
- _soundIndexNoEnergy = -1;
- _soundIndexFallen = -1;
- _soundIndexTimeout = -1;
- _soundIndexForceEndGame = -1;
- _soundIndexCrushed = -1;
+ _soundIndexNoShield = 20;
+ _soundIndexNoEnergy = 20;
+ _soundIndexFallen = 20;
+ _soundIndexTimeout = 20;
+ _soundIndexForceEndGame = 20;
+ _soundIndexCrushed = 20;
_soundIndexMissionComplete = -1;
if (isDOS())
Commit: 55b6c8c3e0109688c3458ccd8ad72aa02dfa58b2
https://github.com/scummvm/scummvm/commit/55b6c8c3e0109688c3458ccd8ad72aa02dfa58b2
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-09-28T11:10:56-03:00
Commit Message:
FREESCAPE: fixed some more zx sounds
Changed paths:
engines/freescape/games/dark/dark.cpp
engines/freescape/games/dark/zx.cpp
engines/freescape/sound.cpp
diff --git a/engines/freescape/games/dark/dark.cpp b/engines/freescape/games/dark/dark.cpp
index 75df0f16d9a..caab7991a06 100644
--- a/engines/freescape/games/dark/dark.cpp
+++ b/engines/freescape/games/dark/dark.cpp
@@ -34,7 +34,7 @@ namespace Freescape {
DarkEngine::DarkEngine(OSystem *syst, const ADGameDescription *gd) : FreescapeEngine(syst, gd) {
// These sounds can be overriden by the class of each platform
- _soundIndexShoot = 8;
+ _soundIndexShoot = 1;
_soundIndexCollide = -1;
_soundIndexStepDown = 3;
_soundIndexStepUp = 4;
diff --git a/engines/freescape/games/dark/zx.cpp b/engines/freescape/games/dark/zx.cpp
index 4ff7e9bd67e..10d64bf6d48 100644
--- a/engines/freescape/games/dark/zx.cpp
+++ b/engines/freescape/games/dark/zx.cpp
@@ -32,7 +32,7 @@ void DarkEngine::initZX() {
_maxEnergy = 63;
_maxShield = 63;
- _soundIndexShoot = 5;
+ _soundIndexShoot = 1;
_soundIndexCollide = -1; // Scripted
_soundIndexStepDown = 3;
_soundIndexStepUp = 4;
diff --git a/engines/freescape/sound.cpp b/engines/freescape/sound.cpp
index ff1d34f8cd8..333a9ba5a8a 100644
--- a/engines/freescape/sound.cpp
+++ b/engines/freescape/sound.cpp
@@ -148,7 +148,7 @@ void FreescapeEngine::loadSpeakerFxZX(Common::SeekableReadStream *file, int sfxT
} while (soundSize != 0);
} else if ((soundType & 0x7f) == 2) {
repetitions = SFXtempStruct[1] | (SFXtempStruct[0] << 8);
- debugC(1, kFreescapeDebugParser, "Repetitions: %x", repetitions);
+ debugC(1, kFreescapeDebugParser, "Raw sound, repetitions: %x", repetitions);
uint16 sVar7 = SFXtempStruct[3];
soundType = 0;
soundSize = SFXtempStruct[2];
@@ -162,7 +162,7 @@ void FreescapeEngine::loadSpeakerFxZX(Common::SeekableReadStream *file, int sfxT
soundUnitZX soundUnit;
soundUnit.isRaw = true;
int totalSize = soundSize + sVar7;
- soundUnit.rawFreq = 1.0;
+ soundUnit.rawFreq = 0.1;
soundUnit.rawLengthus = totalSize;
_soundsSpeakerFxZX[i]->push_back(soundUnit);
//debugN("%x ", silenceSize);
@@ -503,12 +503,12 @@ void FreescapeEngine::playSoundZX(Common::Array<soundUnitZX> *data, Audio::Sound
soundUnitZX value = it;
if (value.isRaw) {
- debugC(1, kFreescapeDebugMedia, "hz: %f, duration: %d", value.rawFreq, value.rawLengthus);
+ debugC(1, kFreescapeDebugMedia, "raw hz: %f, duration: %d", value.rawFreq, value.rawLengthus);
if (value.rawFreq == 0) {
- _speaker->playQueue(Audio::PCSpeaker::kWaveFormSilence, 0, value.rawLengthus);
+ _speaker->playQueue(Audio::PCSpeaker::kWaveFormSilence, 0, 5 * value.rawLengthus);
continue;
}
- _speaker->playQueue(Audio::PCSpeaker::kWaveFormSquare, value.rawFreq, value.rawLengthus);
+ _speaker->playQueue(Audio::PCSpeaker::kWaveFormSquare, value.rawFreq, 5 * value.rawLengthus);
} else {
if (value.freqTimesSeconds == 0 && value.tStates == 0) {
_speaker->playQueue(Audio::PCSpeaker::kWaveFormSilence, 0, 1000 * value.multiplier);
@@ -518,7 +518,7 @@ void FreescapeEngine::playSoundZX(Common::Array<soundUnitZX> *data, Audio::Sound
float hzFreq = 1 / ((value.tStates + 30.125) / 437500.0);
float waveDuration = value.freqTimesSeconds / hzFreq;
waveDuration = value.multiplier * 1000 * (waveDuration + 1);
- debugC(1, kFreescapeDebugMedia, "hz: %f, duration: %f", hzFreq, waveDuration);
+ debugC(1, kFreescapeDebugMedia, "non raw hz: %f, duration: %f", hzFreq, waveDuration);
_speaker->playQueue(Audio::PCSpeaker::kWaveFormSquare, hzFreq, waveDuration);
}
}
Commit: 9c9aa687c1e6320695f2fad02b0ca9b35f8cec89
https://github.com/scummvm/scummvm/commit/9c9aa687c1e6320695f2fad02b0ca9b35f8cec89
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-09-28T11:10:56-03:00
Commit Message:
FREESCAPE: improved sounds for eclipse for zx
Changed paths:
engines/freescape/games/eclipse/dos.cpp
engines/freescape/games/eclipse/eclipse.cpp
engines/freescape/games/eclipse/zx.cpp
engines/freescape/movement.cpp
diff --git a/engines/freescape/games/eclipse/dos.cpp b/engines/freescape/games/eclipse/dos.cpp
index 2b5b549f036..d249017ae06 100644
--- a/engines/freescape/games/eclipse/dos.cpp
+++ b/engines/freescape/games/eclipse/dos.cpp
@@ -35,6 +35,12 @@ extern byte kCGAPalettePinkBlue[4][3];
void EclipseEngine::initDOS() {
_viewArea = Common::Rect(40, 33, 280, 133);
_soundIndexShoot = 18;
+ _soundIndexCollide = 1;
+ _soundIndexStepDown = 3;
+ _soundIndexStepUp = 3;
+ _soundIndexMenu = -1;
+ _soundIndexStart = 9;
+ _soundIndexAreaChange = 5;
}
void EclipseEngine::loadAssetsDOSFullGame() {
diff --git a/engines/freescape/games/eclipse/eclipse.cpp b/engines/freescape/games/eclipse/eclipse.cpp
index 3e24e136d62..02f0320f52b 100644
--- a/engines/freescape/games/eclipse/eclipse.cpp
+++ b/engines/freescape/games/eclipse/eclipse.cpp
@@ -34,14 +34,6 @@ namespace Freescape {
EclipseEngine::EclipseEngine(OSystem *syst, const ADGameDescription *gd) : FreescapeEngine(syst, gd) {
// These sounds can be overriden by the class of each platform
- _soundIndexShoot = 8;
- _soundIndexCollide = 1;
- _soundIndexStepDown = 3;
- _soundIndexStepUp = 3;
- _soundIndexMenu = -1;
- _soundIndexStart = 9;
- _soundIndexAreaChange = 5;
-
_soundIndexStartFalling = -1;
_soundIndexEndFalling = -1;
diff --git a/engines/freescape/games/eclipse/zx.cpp b/engines/freescape/games/eclipse/zx.cpp
index d19f024a14e..0747e51ad03 100644
--- a/engines/freescape/games/eclipse/zx.cpp
+++ b/engines/freescape/games/eclipse/zx.cpp
@@ -33,9 +33,9 @@ void EclipseEngine::initZX() {
_maxShield = 63;
_soundIndexShoot = 5;
- _soundIndexCollide = -1;
- _soundIndexStepDown = 3;
- _soundIndexStepUp = 4;
+ _soundIndexCollide = -1; // Scripted
+ _soundIndexStepDown = 12;
+ _soundIndexStepUp = 12;
_soundIndexMenu = -1;
_soundIndexStart = 7;
_soundIndexAreaChange = 7;
diff --git a/engines/freescape/movement.cpp b/engines/freescape/movement.cpp
index 293f7b2a955..6f197932c45 100644
--- a/engines/freescape/movement.cpp
+++ b/engines/freescape/movement.cpp
@@ -312,7 +312,7 @@ bool FreescapeEngine::rise() {
if (_currentArea->getAreaID() == previousAreaID) {
_playerHeightNumber--;
changePlayerHeight(_playerHeightNumber);
-
+ setGameBit(31);
}
} else
result = true;
@@ -592,7 +592,8 @@ bool FreescapeEngine::runCollisionConditions(Math::Vector3d const lastPosition,
Object *collided = nullptr;
_gotoExecuted = false;
- _speaker->stop();
+ if (!_smoothMovement)
+ _speaker->stop();
Math::Ray ray(newPosition, -_upVector);
collided = _currentArea->checkCollisionRay(ray, _playerHeight + 3);
More information about the Scummvm-git-logs
mailing list