2019-02-15 23:19 EST

View Issue Details Jump to Notes ] Related Changesets ]
IDProjectCategoryView StatusLast Update
0002408FSSCPtablespublic2012-12-17 00:29
Assigned ToGoober5000 
Product Version3.6.13 
Target VersionFixed in Version 
Summary0002408: Better error checking for souds.tbl needed
DescriptionI just traced a bug with the wrong sound playing out to a bad table entry in sounds.tbl. Here's the entry:

$Name: 6 Breakup_fighter.ogg, 0, 0,50, 1, 200, 1000 ;; Fighter Death roll

A very easy mistake to make that should be caught during parse but isn't. In case you don't see it it's supposed to be 0.50 not 0,50. So in that case we not only have too many arguments on the line but and invalid value for sound type and a volume of 0 (not sure if that is legal but can't think of a reason it should be).
TagsNo tags attached.
Attached Files




MjnMixael (manager)

Last edited: 2012-11-19 10:06

View 3 revisions

Tested with this sound.tbm. It is indeed not caught be debugger as anything other than a duplicate sound... though looking at the syntax I'm wondering how it could be checked anyway.

And given the new sound entry format available, I'm wondering if it's worth it... given that any new sounds from now on should use the new format anyway.

On 9357.


The_E (administrator)

This is pretty much unfixable within the current parsing code. It's not even possible to write a good error check thingie here.

If you look at parse_gamesnd_old, which is the function that is the culprit here, you will see that it's a rather simple-minded function. Changing it so that it can account for the tabler making a mistake like the one that caused this error is futile, especially given that as mjn said, there are other ways to table sounds now.


Goober5000 (administrator)

It's uncorrectable, true, but it's not impossible to write a simple error detector that will check for extraneous values. I've done so in r9443. (Awkwardly, it required tweaking some parselo functions first.)

+Related Changesets

-Issue History
Date Modified Username Field Change
2011-03-05 18:21 FUBAR-BDHR New Issue
2012-11-19 10:04 MjnMixael File Added: test-snd.tbm
2012-11-19 10:05 MjnMixael Note Added: 0014072
2012-11-19 10:06 MjnMixael Note Edited: 0014072 View Revisions
2012-11-19 10:06 MjnMixael Note Edited: 0014072 View Revisions
2012-11-19 11:49 Goober5000 Assigned To => Goober5000
2012-11-19 11:49 Goober5000 Status new => assigned
2012-12-16 18:12 The_E Note Added: 0014490
2012-12-16 18:12 The_E Status assigned => closed
2012-12-16 18:12 The_E Resolution open => suspended
2012-12-17 00:24 Goober5000 Note Added: 0014495
2012-12-17 00:24 Goober5000 Status closed => resolved
2012-12-17 00:24 Goober5000 Resolution suspended => fixed
2012-12-17 00:29 Goober5000 Changeset attached => fs2open trunk r9443
+Issue History