View Issue Details

IDProjectCategoryView StatusLast Update
0000343FSSCPuser interfacepublic2005-05-24 19:53
Reporterkarajorma Assigned Totaylor  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Summary0000343: Tech Room Crashes Caused By Using A TC
DescriptionFS2_Open will crash with certain builds when selecting the tech room if the mod being played has none of the ships that the previous campaign played has.

I've noted crashes with

Bob's new Warp Build
WMC's Tri build
WMC's fs2_open_C20050306.exe build

Taylor's fs2_open_T-20050103.exe didn't crash but instead gave me a techroom with no writing, no list of selectable ships and a model seen rotating in the ship window (I got the Ulysses with FS2 and the Aurora Starfury with TBP).
Additional InformationMy methodology for reproducing this bug is as follows.

I installed TBP R2 (R3 can also be used if you copy its VP files to a mod folder) and then ran it. As soon as I clicked on the tech room the game crashes.

If I go to the campaign menu first, choose a B5 campaign and then go to the Tech Room everything works.

When I quit out and choose no mod however the same behaviour is observed. A crash if I go directly to the tech room, normal behaviour if I pick a campaign first.

I also got this behavior with a blank command line so it doesn't look like any particular flag is causing it.
TagsNo tags attached.

Activities

taylor

2005-03-17 17:13

administrator   ~0001977

This is known behavior but I've never really figured out how to fix it. It's not supposed to crash though but behave as my build did, just not show anything properly in the techroom. It's supposed to give you the oportunity to switch campaigns that way. The problem is that I've never figured out how to tell that you need to switch campaigns. A basic guess, yes, but that only works part of the time so I never fully implemented it.

I'll go ahead and do the partial thing. I'll just have to rethink some of the campaign switching to make it work fully and not be a total pain for the user to use.

Goober5000

2005-03-18 03:11

administrator   ~0001983

Can't you just store the currently active campaign (or a checksum of the currently active ships.tbl) in the registry/ini file? Then if you're accessing the tech room and the checksums don't match, you know you need to change the ships.

taylor

2005-03-18 04:38

administrator   ~0001984

I did that at one point but... well actually I don't remember what happened. Maybe I just ditched the changes for some reason. Anyway it's easy enough to do. We already store the currently active campaign and the readyroom uses that to decide if you can play a campaign or not. Saving the ships.tbl checksum in the reg would get the techroom fixed. I was doing that in the pilot file (since it's pilot specific) but that didn't make the final version of the upgrade.

I wonder if the best thing to do isn't to just make a new pilot specific file for dumping stuff like this. It wouldn't store anything necessarily vital but just utility stuff, being mainly tbl chksums for now. It could store a few non-vital settings (ie. that missing HUD color config) for now until that stuff gets moved into the pilot file. Anything in that file would be considered volitile and not something that would have to be backwards compatible between versions. Is that too much to worry about or not?

Goober5000

2005-03-18 04:55

administrator   ~0001985

Last edited: 2005-03-18 04:57

Sounds fine to me. :)

edited on: 03-17-05 23:57

taylor

2005-05-24 19:53

administrator   ~0002471

Should be fixed now. It will not allow you to enter the techroom or the barracks if the campaign isn't currently available. Instead it will give you a nice little popup window telling you to pick a campaign that is available. The new pilot stuff will better handle these types of situations but this is the best I can do for now.

Fixered.

Issue History

Date Modified Username Field Change
2005-03-17 16:55 karajorma New Issue
2005-03-17 17:13 taylor Note Added: 0001977
2005-03-17 17:20 taylor Status new => assigned
2005-03-17 17:20 taylor Assigned To => taylor
2005-03-18 03:11 Goober5000 Note Added: 0001983
2005-03-18 04:38 taylor Note Added: 0001984
2005-03-18 04:55 Goober5000 Note Added: 0001985
2005-03-18 04:57 Goober5000 Note Edited: 0001985
2005-03-18 04:57 Goober5000 Note Edited: 0001985
2005-05-24 19:53 taylor Status assigned => resolved
2005-05-24 19:53 taylor Resolution open => fixed
2005-05-24 19:53 taylor Note Added: 0002471