View Issue Details

IDProjectCategoryView StatusLast Update
0002744FSSCPtablespublic2012-12-17 07:36
ReporterFUBAR-BDHR Assigned ToValathil  
PrioritylowSeverityminorReproducibilityalways
Status closedResolutionwon't fix 
Product Version3.6.15 
Summary0002744: Missing $end_multi_text not detected for +description line in ships.tbl
DescriptionAnother TBP table bug. The following entry for the EA Skylark resulted in no tech description in the tech room.

$Species: Earth Alliance
+Type: XSTR("Heavy Transport", -1)
+Maneuverability: XSTR("Poor", -1)
+Armor: XSTR("Light", -1)
+Manufacturer: XSTR("Mitchell-Hyundyne", -1)
+Description: XSTR("Trade and Transport Operations", -1)
+Tech Description:
XSTR("One of the most popular and successful civilian starships currently available on the market, the Skylarks success can be attributed to its solid reliability, durable construction, and the versatility afforded by its construction to employ weaponry when needed. Ranging from mercenaries and merchants to the rich and powerful CEO's of the Alliances major corporations, the Skylark serves all of them well.", -1)
$end_multi_text
+Length: 125 m
+Gun Mounts: 2
+Missile Banks: 1

This is caused by a missing $end_multi_text before +Tech Description. Description reads in correctly and doesn't include any of the extra data. Everything after the second " in the description line is just lost.
Steps To ReproduceEasiest way is to run TBP but removing any $end_multi_text from a ship that has both a description and tech description should do it. Just load up the tech room and no description there.
TagsNo tags attached.

Activities

MjnMixael

2012-12-15 18:46

manager  

ships.tbl (383,721 bytes)

MjnMixael

2012-12-15 18:47

manager   ~0014467

This only occurs with .tbls and .tbms. Use the attached table to replicate on retail data. Ulysses will not have a tech description in the tech room.

Valathil

2012-12-16 23:45

developer   ~0014491

Detecting this situation while parsing would either require a shitload of rewrites in the whole parsing system to include a list of things that shouldn't be hit before $multi_end_text like all other stuff i.e. "+Tech Description:" OR regular expressions. IMHO the fact that you don't see a description in the techroom is warning enough that your table is fucked. Closing the bug

Goober5000

2012-12-17 07:36

administrator   ~0014498

Valathil is correct. What is going on is that the parser is detecting the $end_multi_text for "+Tech Description" as the ending of the "+Description" field. Since all of these ship fields are optional, the parser has no way to tell that this is incorrect. It isn't like ticket 0002408 where the parser knows what it will encounter next.

Issue History

Date Modified Username Field Change
2012-12-01 02:35 FUBAR-BDHR New Issue
2012-12-15 18:46 MjnMixael File Added: ships.tbl
2012-12-15 18:47 MjnMixael Note Added: 0014467
2012-12-16 23:42 Valathil Assigned To => Valathil
2012-12-16 23:42 Valathil Status new => assigned
2012-12-16 23:45 Valathil Note Added: 0014491
2012-12-16 23:45 Valathil Status assigned => closed
2012-12-16 23:45 Valathil Resolution open => won't fix
2012-12-17 07:36 Goober5000 Note Added: 0014498