Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#4606 closed defect (fixed)

DW1: flac compression not working

Reported by: SF/zoppologo Owned by: m-kiewitz
Priority: normal Component: Engine: Tinsel
Keywords: Cc:
Game: Discworld

Description

I'm using the last svn (14-09-2009) of scummvm (windows vista).
It's the English talkie version of Discworld 1.
If I compress English.smp (and english.idx) with compress_tinsel --vorbis, the new files work ok.
But if I use flac compression (compress_tinsel --flac), the audio in the game is just a noise.

Ticket imported from: #2858544. Ticket imported from: bugs/4606.

Change History (19)

comment:1 by fingolfin, 10 years ago

Assigning to M. Kiewitz who wrote this code originally, maybe he can help.

comment:2 by fingolfin, 10 years ago

Owner: set to m-kiewitz

comment:3 by fingolfin, 10 years ago

Actually, I just tested and I cannot reproduce the issue. I used compress_tinsel from SVN, encoded my english data files once with Ogg Vorbis and once with FLAC.

With all three (original, vorbis, FLAC), everything seems to work fine.

zoppologo, what are the sizes & md5 checksums of your english.smp & english.idx files?

comment:4 by SF/zoppologo, 10 years ago

I tried again with the last SVN (re-encoding with the last tools), and the problem is still there.
These are sizes and md5 checksums of the original files and the compressed files:
English.idx 27.400 bytes md5: 70E70749091B845D08897CF70A693C8E
English.smp 351.359.057 bytes md5: 1F638A501716BFEBF5CE3B5257FC4BA6
Compressed_with_flac.idx 27.400 bytes md5: 81493F4B602BC5AD3DC4A48F5135F3F8
Compressed_with_flac.smp 144.267.296 bytes md5: C6B0368D4FF585B98AECDC0D3A24CF1E

comment:5 by fingolfin, 10 years ago

Interesting, those differ from both CD versions of DW1 that I own. Both have a somewhat smaller english.smp file.

So, you are compiling the latest tools from SVN yourself, did I understand that correctly?

comment:6 by fingolfin, 10 years ago

Oh, and which version of the FLAC library are you using to build ScummVM?

comment:7 by SF/zoppologo, 10 years ago

no no, I'm using the last SVN from scummvm website (Win32 ScummVM Daily Snapshot and Win32 ScummVM Tools Daily Snapshot). I just meant that I tried to compress ("re-encode" was not the right word) the files again with the last tools.

comment:8 by m-kiewitz, 10 years ago

Could you please look into english.idx with a hex-editor and tell me what the first 4 bytes in the file are?

comment:9 by SF/zoppologo, 10 years ago

here's what I see in the original english.idx with the hex-editor:
00 00 00 00 04 00 00 00 07 B4 00 00 CB 53 01 00 4F

here's what I see in the flac-compressed english.idx with the hex-editor:
46 4C 41 43 00 00 00 00 C3 4F 00 00 F5 A5 00 00 4C

The first 4 bytes say FLAC, if that's what you want to know.
Could it be that the last svn doesn't use flac decoder for tinsel engine? (http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/sound/flac.h?revision=39236&view=markup)

comment:10 by m-kiewitz, 10 years ago

"FLAC" is the signature, so that the engine is able to detect that it's FLAC data. The data file seems to be correct.

I will need to build the latest source and then try it out by myself.

comment:11 by m-kiewitz, 10 years ago

Could you please start ScummVM with commandline option "-d3", run dw1 and tell me, if there's "Detected FLAC sound-data" in the log?

comment:12 by SF/zoppologo, 10 years ago

Here's what I got:

File::open: opening 'helvr12-l1.fcc' failed
Opening hashed: THEMERC
User picked target 'dw' (gameid 'tinsel')...
Looking for a plugin supporting this gameid... Tinsel Engine
Starting 'Tinsel engine game'
Starting detection in dir 'C:\Program Files\Perfect\Discworld\'
+ english.smp
> 'english.smp': '8a620fd83f89276f434a823ebd940b4c'
+ english.txt
> 'english.txt': '02193d161423e88de3a4ea07d0a21201'
+ dw.scn
> 'dw.scn': '70955425870c7720d6eebed903b2ef41'
Matched file: dw.scn
Matched file: english.smp
Found game: dw (CD DOS/English) (9)
... new best match, removing all previous candidates
Running Discworld (CD/DOS/English)
Opening hashed: english.txt
Opening hashed: midi.dat
Opening hashed: english.idx
Opening hashed: english.smp
Opening hashed: index
Opening hashed: dw.scn
Opening hashed: objects.scn
Opening hashed: psygnosi.scn
Opening hashed: twg.scn
Opening hashed: perfect1.scn
Opening hashed: credits.scn
Opening hashed: title.scn
File::open: opening 'track3.flac' failed
File::open: opening 'track3.fla' failed
File::open: opening 'track3.ogg' failed
File::open: opening 'track3.mp3' failed
AudioStream: Could not open compressed AudioFile track3
File::open: opening 'track03.flac' failed
File::open: opening 'track03.fla' failed
Opening hashed: track03.ogg
Opening hashed: turtle.scn
File::open: opening 'track3.flac' failed
File::open: opening 'track3.fla' failed
File::open: opening 'track3.ogg' failed
File::open: opening 'track3.mp3' failed
AudioStream: Could not open compressed AudioFile track3
File::open: opening 'track03.flac' failed
File::open: opening 'track03.fla' failed
Opening hashed: track03.ogg
Opening hashed: rinceroo.scn
File::open: opening 'track4.flac' failed
File::open: opening 'track4.fla' failed
File::open: opening 'track4.ogg' failed
File::open: opening 'track4.mp3' failed
AudioStream: Could not open compressed AudioFile track4
File::open: opening 'track04.flac' failed
File::open: opening 'track04.fla' failed
Opening hashed: track04.ogg

comment:13 by SF/zoppologo, 10 years ago

Wait, the log I posted is with James Woodcock's ogg files.
This is without them:

Debuglevel (from command line): 3
Output sample rate: 22050 Hz
Opening hashed: THEMERC
File::open: opening 'logo.bmp' failed
File::open: opening 'cursor.bmp' failed
File::open: opening 'cursor_small.bmp' failed
File::open: opening 'checkbox.bmp' failed
File::open: opening 'checkbox_empty.bmp' failed
File::open: opening 'logo_small.bmp' failed
File::open: opening 'search.bmp' failed
File::open: opening 'helvr12-l1.fcc' failed
Opening hashed: THEMERC
User picked target 'dw' (gameid 'tinsel')...
Looking for a plugin supporting this gameid... Tinsel Engine
Starting 'Tinsel engine game'
Starting detection in dir 'C:\Program Files\Perfect\Discworld\'
+ english.smp
> 'english.smp': '8a620fd83f89276f434a823ebd940b4c'
+ english.txt
> 'english.txt': '02193d161423e88de3a4ea07d0a21201'
+ dw.scn
> 'dw.scn': '70955425870c7720d6eebed903b2ef41'
Matched file: dw.scn
Matched file: english.smp
Found game: dw (CD DOS/English) (9)
... new best match, removing all previous candidates
Running Discworld (CD/DOS/English)
Opening hashed: english.txt
Opening hashed: midi.dat
Opening hashed: english.idx
Opening hashed: english.smp
Opening hashed: index
Opening hashed: dw.scn
Opening hashed: objects.scn
Opening hashed: psygnosi.scn
Opening hashed: twg.scn
Opening hashed: perfect1.scn
Opening hashed: credits.scn
Opening hashed: title.scn
File::open: opening 'track3.flac' failed
File::open: opening 'track3.fla' failed
File::open: opening 'track3.ogg' failed
File::open: opening 'track3.mp3' failed
AudioStream: Could not open compressed AudioFile track3
File::open: opening 'track03.flac' failed
File::open: opening 'track03.fla' failed
File::open: opening 'track03.ogg' failed
File::open: opening 'track03.mp3' failed
AudioStream: Could not open compressed AudioFile track03
Opening hashed: midi.dat
Opening hashed: turtle.scn
File::open: opening 'track3.flac' failed
File::open: opening 'track3.fla' failed
File::open: opening 'track3.ogg' failed
File::open: opening 'track3.mp3' failed
AudioStream: Could not open compressed AudioFile track3
File::open: opening 'track03.flac' failed
File::open: opening 'track03.fla' failed
File::open: opening 'track03.ogg' failed
File::open: opening 'track03.mp3' failed
AudioStream: Could not open compressed AudioFile track03
Opening hashed: midi.dat
Opening hashed: rinceroo.scn
File::open: opening 'track4.flac' failed
File::open: opening 'track4.fla' failed
File::open: opening 'track4.ogg' failed
File::open: opening 'track4.mp3' failed
AudioStream: Could not open compressed AudioFile track4
File::open: opening 'track04.flac' failed
File::open: opening 'track04.fla' failed
File::open: opening 'track04.ogg' failed
File::open: opening 'track04.mp3' failed
AudioStream: Could not open compressed AudioFile track04
Opening hashed: midi.dat

comment:14 by m-kiewitz, 10 years ago

Sorry, please add "--debugflags=SOUND" to the commandline and then try again.

comment:15 by SF/zoppologo, 10 years ago

OK (I would say that what is important is: "Detected original sound-data"):

Debuglevel (from command line): 3
Output sample rate: 44100 Hz
Opening hashed: THEMERC
File::open: opening 'logo.bmp' failed
File::open: opening 'cursor.bmp' failed
File::open: opening 'cursor_small.bmp' failed
File::open: opening 'checkbox.bmp' failed
File::open: opening 'checkbox_empty.bmp' failed
File::open: opening 'logo_small.bmp' failed
File::open: opening 'search.bmp' failed
File::open: opening 'helvr12-l1.fcc' failed
User picked target 'dw' (gameid 'tinsel')...
Looking for a plugin supporting this gameid... Tinsel Engine
Starting 'Tinsel engine game'
Starting detection in dir 'C:\Program Files\Perfect\Discworld\'
+ english.smp
> 'english.smp': '8a620fd83f89276f434a823ebd940b4c'
+ english.txt
> 'english.txt': '02193d161423e88de3a4ea07d0a21201'
+ dw.scn
> 'dw.scn': '70955425870c7720d6eebed903b2ef41'
Matched file: dw.scn
Matched file: english.smp
Found game: dw (CD DOS/English) (9)
... new best match, removing all previous candidates
Running Discworld (CD/DOS/English)
Opening hashed: english.txt
Opening hashed: midi.dat
Opening hashed: english.idx
Detected original sound-data
Opening hashed: english.smp
Opening hashed: index
Opening hashed: dw.scn
Opening hashed: objects.scn
Opening hashed: psygnosi.scn
Opening hashed: twg.scn
Opening hashed: perfect1.scn
Opening hashed: credits.scn
Opening hashed: title.scn
File::open: opening 'track3.flac' failed
File::open: opening 'track3.fla' failed
File::open: opening 'track3.ogg' failed
File::open: opening 'track3.mp3' failed
AudioStream: Could not open compressed AudioFile track3
File::open: opening 'track03.flac' failed
File::open: opening 'track03.fla' failed
File::open: opening 'track03.ogg' failed
File::open: opening 'track03.mp3' failed
AudioStream: Could not open compressed AudioFile track03
Opening hashed: midi.dat
File::open: opening 'track3.flac' failed
File::open: opening 'track3.fla' failed
File::open: opening 'track3.ogg' failed
File::open: opening 'track3.mp3' failed
AudioStream: Could not open compressed AudioFile track3
File::open: opening 'track03.flac' failed
File::open: opening 'track03.fla' failed
File::open: opening 'track03.ogg' failed
File::open: opening 'track03.mp3' failed
AudioStream: Could not open compressed AudioFile track03

comment:16 by m-kiewitz, 10 years ago

Okay, I just tried it here. The problem is that I'm checking for "FALC" instead of "FLAC" :)
Just fixed it, will have to commit my change. Should work tomorrow.

comment:17 by m-kiewitz, 10 years ago

Resolution: fixed

comment:18 by sev-, 10 years ago

Status: newclosed

comment:19 by eriktorbjorn, 10 years ago

Good catch. And it should be completely safe to apply to the 1.0 branch, so I just did.

Note: See TracTickets for help on using tickets.