View Issue Details

IDProjectCategoryView StatusLast Update
0001163FSSCPFREDpublic2006-12-08 19:11
ReporterTolwyn Assigned Totaylor  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.6.9 
Fixed in Version3.6.9 
Summary0001163: Fred is complaining about the name of the intel entry in species.tbl
DescriptionThere is nothing I am doing wrong as far as I can see.

I have this entry in species.tbl :

$Entry:
$Name: XSTR("Zartoth",-1)
$Anim: intel_zartoth
$AlwaysInTechRoom: 0
$Description:

And the SEXP looks as follows

Add zartoth to tech room
-when
   -is-event-true-delay
      -Mission complete
      -0
   -tech-add-ships
      -Zartoth
   -tech-add-intel
      -Zartoth

Fred is complaining about the name of the intel entry in species.tbl(see attached screenshot).

I think I can get the same error using the same SEXP in FS2.
Additional InformationThe problem lies somewhere in the syntax checking functions in sexp.cpp or sexp_tree.cpp but I don't really know that code well enough to figure out where the problem lies. :)
TagsNo tags attached.

Activities

2006-11-29 22:20

 

error.jpg (17,946 bytes)   
error.jpg (17,946 bytes)   

taylor

2006-11-30 00:17

administrator   ~0007221

I assume that you are below the max of 30 entries, right?

Tolwyn

2006-11-30 07:29

reporter   ~0007222

yeah. We have 6 or 7 entries at the moment. I hope we are not hitting the maximal length of an entry either.

taylor

2006-11-30 08:35

administrator   ~0007223

The length limit of the names is 31 characters, like most everything else. The changes that I made previously to catch names that were too long (another WCS bug) should also catch something like this though, and it would trigger an error/warning message to let you know that the text in question was too long.

Goober apparently wants this one though, so I'll let him do his thing. I'll just go back to working on the Theora player. :)

Tolwyn

2006-11-30 09:17

reporter   ~0007224

Good idea :)

taylor

2006-12-07 10:27

administrator   ~0007269

@Goober: It appears that techroom_intel_init() is never called through FRED, which means that species.tbl is never parsed and the intel entries are never loaded. Because of this the sexp in question will always fail since it can't verify the validity of the entry to add. Simply adding a call to techroom_intel_init() to fred_init() in management.cpp should fix the problem.

Goober5000

2006-12-07 14:30

administrator   ~0007270

Boo! I was going to look at that this weekend and would have figured that out. :(

Okay, I'll fix that ASAP. :)

taylor

2006-12-07 15:16

administrator   ~0007271

Hehe. :D

It was just a wild guess I had while looking at the forum thread about the problem. So I switched over to Anjuta, jumped to techroom_intel_init(), right-clicked on it, did "Find Usage", and saw that it was called in freespace.cpp but not for FRED. Took about 4 seconds. ;)

Goober5000

2006-12-08 19:11

administrator   ~0007284

Fixed. :p

Issue History

Date Modified Username Field Change
2006-11-29 22:20 Tolwyn New Issue
2006-11-29 22:20 Tolwyn File Added: error.jpg
2006-11-30 00:17 taylor Note Added: 0007221
2006-11-30 01:49 Goober5000 Status new => assigned
2006-11-30 01:49 Goober5000 Assigned To => Goober5000
2006-11-30 07:29 Tolwyn Note Added: 0007222
2006-11-30 08:35 taylor Note Added: 0007223
2006-11-30 09:17 Tolwyn Note Added: 0007224
2006-12-07 10:27 taylor Note Added: 0007269
2006-12-07 14:30 Goober5000 Note Added: 0007270
2006-12-07 15:16 taylor Note Added: 0007271
2006-12-08 19:11 Goober5000 Note Added: 0007284
2006-12-08 19:11 Goober5000 Assigned To Goober5000 => taylor
2006-12-08 19:11 Goober5000 Status assigned => resolved
2006-12-08 19:11 Goober5000 Resolution open => fixed
2006-12-08 19:11 Goober5000 Fixed in Version => 3.6.9