Opened 7 years ago
Closed 7 years ago
#10061 closed defect (fixed)
VOYEUR: crash if you play certain recorded audio scenes at the VCR
Reported by: | Bakhtosh | Owned by: | dreammaster |
---|---|---|---|
Priority: | normal | Component: | Engine: Voyeur |
Version: | Keywords: | ||
Cc: | Game: | Voyeur |
Description
ScummVM versions:
Win32 developer: 1.10.0git4294-ga851c3b185 (Aug 5 2017 13:05:24)
Language of game: english / Version of game: DOS-CD
Test system: Windows 10 64 bit
If you play for a while and watched a few scenes with closed window shutters you can replay these scenes at the VCR. They are displayed as "audio" at the VCR selection screen. Some audio scenes you can play at the VCR without any problems. But some audio scenes crashes the game.
Since the same scenes don't crash when you watched them before in the mansion closeup view I looked in the source code and noticed a difference in the way the audio files are played (mansion closeup view play audio code in voyeur.cpp / VCR view play audio code in voyeur_game.cpp).
So I modified the VCR view play audio code to match the mansion closeup view play audio code, compiled ScummVM and it seems to work.
In voyeur_game.cpp in "void VoyeurEngine::reviewTape()" I replaced
_screen->_backgroundPage = _bVoy->boltEntry(0x7F00 +
BLIND_TABLE[_audioVideoId])._picResource;
_screen->_backColors = _bVoy->boltEntry(0x7F01 +
BLIND_TABLE[_audioVideoId])._cMapResource;
with
_screen->_backgroundPage = _bVoy->boltEntry(0x7F00 +
BLIND_TABLE[_audioVideoId] * 2)._picResource;
_screen->_backColors = _bVoy->boltEntry(0x7F01 +
BLIND_TABLE[_audioVideoId] * 2)._cMapResource;
And I replaced
_soundManager->startVOCPlay(_audioVideoId + 159);
with
Common::String filename = _soundManager->getVOCFileName(
_audioVideoId + 159);
_soundManager->startVOCPlay(filename);
I've attached a Savegame with an audio entry that crashes the game.
Attachments (1)
Change History (3)
by , 7 years ago
Attachment: | voyeur.004 added |
---|
comment:1 by , 7 years ago
Component: | Engine: Gob → Engine: Voyeur |
---|
comment:2 by , 7 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Worked like a charm. I was even stumbled on, and fixed, a separate bug where if you tried to exit directly from the VCR screen, it would start playing back the audio tape again :)