intfiction.org

The Interactive Fiction Community Forum
It is currently Sat May 18, 2013 3:28 pm

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 18 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Fri Aug 17, 2012 2:13 pm 
Offline
User avatar

Joined: Mon Dec 12, 2011 7:03 pm
Posts: 109
Here's a copy of spy1.blb that I know works in Windows Frotz, Unix Frotz, DOS Frotz, and sFrotz. It also tests good using blorbScan and I can extract all the contents using rezrov. Here is also a copy of the bad blorb.


Attachments:
File comment: An invalid blorb file created by the Gnome Inform 7 IDE.
bad.zip [152.66 KiB]
Downloaded 13 times
File comment: Known good copy of spy1.blb. The one at inform-fiction.org is invalid.
spy1.zip [99.49 KiB]
Downloaded 15 times

_________________
David Griffith


Last edited by frotz on Fri Aug 17, 2012 2:21 pm, edited 1 time in total.
Top
 Profile Send private message  
 
PostPosted: Fri Aug 17, 2012 2:19 pm 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 2081
Yes, that looks good to me.


Top
 Profile Send private message  
 
PostPosted: Fri Aug 17, 2012 2:40 pm 
Offline
User avatar

Joined: Mon Dec 12, 2011 7:03 pm
Posts: 109
Any ideas on the bad one?

_________________
David Griffith


Top
 Profile Send private message  
 
PostPosted: Fri Aug 17, 2012 10:06 pm 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 2081
Looks like a bad length field? Not off-by-one, but completely screwy.

The chunk length on the first AIFF chunk is 1933246464, or 0x733b0000. Maybe that's supposed to be 0x733b, although that doesn't match any of the lengths in the valid blorb file. I think it's just wrong.


Top
 Profile Send private message  
 
PostPosted: Sat Aug 18, 2012 3:17 am 
Offline
User avatar

Joined: Mon Dec 12, 2011 7:03 pm
Posts: 109
What happens if you use the Windows Inform 7 IDE to build the second game I posted and wrap it up with two AIFF files?

_________________
David Griffith


Top
 Profile Send private message  
 
PostPosted: Sun Aug 19, 2012 9:12 pm 
Offline
User avatar

Joined: Mon Dec 12, 2011 7:03 pm
Posts: 109
zarf wrote:
The IFF spec (and therefore the Blorb spec) has the requirement that all chunks be padded to even length. This AIFF file has an odd length. So the 0 byte on the end of that chunk is mandatory. (The padding is not included in the length field.)

You'd have to post the blorbs for me to verify this, but it sounds like rezrov is failing to account for the padding byte, and therefore reading the file wrong.


I don't know why I didn't fully appreciate this problem at first. It seems that rezrov.c has a bug in it that causes it to create invalid AIFF files when extracting from a Blorb file. Those files I extracted from spy1.blb I then tried to reencapsulate into another Blorb. That's where my problem started. But still, there's code in perlBlorb and cBlorb that is supposed to pad chunks if they're not even, but the code doesn't seem to work.

_________________
David Griffith


Last edited by frotz on Sun Aug 19, 2012 9:34 pm, edited 1 time in total.

Top
 Profile Send private message  
 
PostPosted: Sun Aug 19, 2012 9:25 pm 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 2081
An odd-length AIFF file is technically invalid, but I think we're on the wrong side of Postel's Law there. Lots of them exist, and AIFF-playing libraries accept them, so they're never going to go away. We should pass them through the Blorb layer unchanged.


Top
 Profile Send private message  
 
PostPosted: Sun Aug 19, 2012 9:34 pm 
Offline
User avatar

Joined: Mon Dec 12, 2011 7:03 pm
Posts: 109
Whoops, I edited something and you responded to my old post.

_________________
David Griffith


Top
 Profile Send private message  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ]  Go to page Previous  1, 2

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group