[Scummvm-git-logs] scummvm master -> 5f3a4e4ba3b0558547681685fd5d5d9db9fc472c

AndywinXp noreply at scummvm.org
Thu Jun 15 22:14:21 UTC 2023


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
015d74b00a SCUMM: MANIAC (Amiga): Fix sounds infinite looping
5cb4e7061f SCUMM: Make Player_v2a frequency dependent on vm timer
5f3a4e4ba3 SCUMM: Make Player_v3a frequency dependent on vm timer


Commit: 015d74b00af4df9f82da0e9a6c9c23e51aa282fc
    https://github.com/scummvm/scummvm/commit/015d74b00af4df9f82da0e9a6c9c23e51aa282fc
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-06-16T00:14:17+02:00

Commit Message:
SCUMM: MANIAC (Amiga): Fix sounds infinite looping

Changed paths:
    engines/scumm/players/player_mod.cpp


diff --git a/engines/scumm/players/player_mod.cpp b/engines/scumm/players/player_mod.cpp
index f9cde67d2c9..425545e8418 100644
--- a/engines/scumm/players/player_mod.cpp
+++ b/engines/scumm/players/player_mod.cpp
@@ -177,7 +177,7 @@ void Player_MOD::do_mix(int16 *data, uint len) {
 				_mixpos = 0;
 				len -= dlen;
 			} else {
-				_mixpos = len;
+				_mixpos += len;
 				dlen = len;
 				len = 0;
 			}


Commit: 5cb4e7061f8b7ed57d1b3119378efd8c552a2742
    https://github.com/scummvm/scummvm/commit/5cb4e7061f8b7ed57d1b3119378efd8c552a2742
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-06-16T00:14:17+02:00

Commit Message:
SCUMM: Make Player_v2a frequency dependent on vm timer

(Since the previous commit fixes something that was historically
put in place to fix a player speed issue, it seemed fair to dig into
how the player speed worked.)

This removes a magic number (60) when specifying the frequency
at which the player should operate. The rationale behind this is that
at some point there's going to be a 50Hz mode for Amiga SCUMM
games (it has already been requested a few times...) and by using
the actual speed at which the SCUMM system operates, the audio
will operate at the correct rate (veryfied by manually switching speed
to 50Hz and comparing with a Maniac Mansion Amiga recording).

Changed paths:
    engines/scumm/players/player_v2a.cpp


diff --git a/engines/scumm/players/player_v2a.cpp b/engines/scumm/players/player_v2a.cpp
index 3b8ef326355..9a2a6221951 100644
--- a/engines/scumm/players/player_v2a.cpp
+++ b/engines/scumm/players/player_v2a.cpp
@@ -1858,7 +1858,7 @@ Player_V2A::Player_V2A(ScummEngine *scumm, Audio::Mixer *mixer) {
 	}
 
 	_mod = new Player_MOD(mixer);
-	_mod->setUpdateProc(update_proc, this, 60);
+	_mod->setUpdateProc(update_proc, this, _vm->getTimerFrequency() / 4);
 }
 
 Player_V2A::~Player_V2A() {


Commit: 5f3a4e4ba3b0558547681685fd5d5d9db9fc472c
    https://github.com/scummvm/scummvm/commit/5f3a4e4ba3b0558547681685fd5d5d9db9fc472c
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-06-16T00:14:17+02:00

Commit Message:
SCUMM: Make Player_v3a frequency dependent on vm timer

This follows the exact same reasoning as a525b0f; tested with
V3 Amiga games and compared with Amiga recordings.

Changed paths:
    engines/scumm/players/player_v3a.cpp


diff --git a/engines/scumm/players/player_v3a.cpp b/engines/scumm/players/player_v3a.cpp
index 24f5b77521c..fcbaf1e2733 100644
--- a/engines/scumm/players/player_v3a.cpp
+++ b/engines/scumm/players/player_v3a.cpp
@@ -27,7 +27,7 @@
 namespace Scumm {
 
 Player_V3A::Player_V3A(ScummEngine *scumm, Audio::Mixer *mixer)
-	: Paula(true, mixer->getOutputRate(), mixer->getOutputRate() / 60),
+	: Paula(true, mixer->getOutputRate(), mixer->getOutputRate() / (scumm->getTimerFrequency() / 4)),
 	  _vm(scumm),
 	  _mixer(mixer),
 	  _soundHandle(),




More information about the Scummvm-git-logs mailing list