View Issue Details

IDProjectCategoryView StatusLast Update
0000640FSSCPsoundpublic2005-12-06 22:24
Reporterphreak Assigned Totaylor  
PrioritynormalSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
PlatformP4 3.6 GHzOSWindows XPOS VersionSP2
Product Version3.6.7 
Summary0000640: change-soundtrack sexp fails if "-nosound" command switch is active
DescriptionAn error popup will occur if -nosound or -nomusic command line switch is active and a mission that uses change-soundtrack or any soundtrack related sexps. I haven't tested -nomusic, but it occurs with -nosound and suspect the outcome will be the same. The error message would be "Soundtrack not found" or something similar and it will also give you the name of the soundtrack that hasn't been found. This popup occurs during mission loading and its an Error type popup which only gives you the option to debug or quit, so this type of error is fatal.

A good mission to test this on would be the Disco mission in JAD2.
TagsNo tags attached.

Activities

redmenace

2005-12-05 06:25

manager   ~0003967

which cvs build does this start?

taylor

2005-12-05 13:41

administrator   ~0003968

The sexp functions only check for the -nomusic cmdline option in order to bail out. It really needs to check for both -nomusic and -nosound since if -nosound is used then music also gets disabled, but the cmdline option doesn't get set. If it doesn't have a problem with -nomusic then you'll know this is the case.

I didn't see any fatal errors messages just looking at the code in eventmusic or audiostr (DS or OpenAL) so I'm not sure where that's coming from.

phreak

2005-12-05 23:40

developer   ~0003971

ok heres the error code now that im back on my FS2 machine:

Error: Invalid soundtrack name.

In sexpression: ( when
   ( is-destroyed-delay 0 "The YMCA!" )
   ( send-message-list
      "GTVA Colossus 3000"
      "High"
      "DOES NOT LIKE DISCO MUSIC"
      0
      "#Alpha 1"
      "High"
      "Holy crap A1"
      5000
      "#FRED2"
      "High"
      "Holy Crap FRED"
      20
      "#Alpha 1"
      "High"
      "Its Dewrek SMart"
      5000
      "#FRED2"
      "High"
      "Not Derek Smart"
      5000
      "#Alpha 1"
      "High"
      "Whatever!"
      5000
      "#FRED2"
      "High"
      "Uh right"
      5000
      "#Alpha 1"
      "High"
      "WHAT"
      5000
   )
   ( change-soundtrack "3: Leviticus" )
)
(Error appears to be: 3: Leviticus)
File:C:\projects\fs2_open\code\Mission\MissionParse.cpp
Line: 4925
[This filename points to the location of a file on the computer that built this executable]

Call stack:
------------------------------------------------------------------
    parse_mission() parse_main() mission_load() game_start_mission() game_enter_state() gameseq_set_state() game_process_event() gameseq_process_events() game_main() WinMain() WinMainCRTStartup() kernel32.dll 7c816d4f()
------------------------------------------------------------------

taylor

2005-12-06 01:45

administrator   ~0003972

Ahh, sexp errors are considered fatal. Easy to fix, just needs to skip the invalid filename check if music isn't loaded. Got this done locally, I'll commit it when I get back from grabbing some food.

taylor

2005-12-06 04:01

administrator   ~0003973

Grab a fresh CVS checkout and see if it still happens.

taylor

2005-12-06 22:24

administrator   ~0003974

I didn't really do a completely proper test but it looks fixed to me. Reopen if you still see it.


Fixered.

Issue History

Date Modified Username Field Change
2005-12-05 06:15 phreak New Issue
2005-12-05 06:25 redmenace Note Added: 0003967
2005-12-05 13:41 taylor Note Added: 0003968
2005-12-05 23:40 phreak Note Added: 0003971
2005-12-06 01:45 taylor Note Added: 0003972
2005-12-06 01:45 taylor Status new => assigned
2005-12-06 01:45 taylor Assigned To => taylor
2005-12-06 04:01 taylor Note Added: 0003973
2005-12-06 22:24 taylor Status assigned => resolved
2005-12-06 22:24 taylor Resolution open => fixed
2005-12-06 22:24 taylor Note Added: 0003974