Problem Orbiter crash whene i reload a scenario for 2em time ?

Woodylepic

New member
Joined
Dec 29, 2009
Messages
71
Reaction score
0
Points
0
I d'ont know why, and that long time I have this problem in my module,

But Whene I start a scenario whit my module, heach time i terminate a scenario (whit CTRL-Q) and start a new scenario i got a crash to destop or an Orbiter freeze, and I have to restart Orbiter.

Look like a bad cleanup module at exit ?

Somebody have experience this problem before ?

Whene I start a native Orbiter mission all is ok, no crash on segond mission loaded,

I have fallow the initialisation and cleanup in the Orbiter pdf (Api Guide) here mi initialisation

Here my listing
// --------------------------------------------------------------
// Vessel initialisation
// --------------------------------------------------------------
DLLCLBK VESSEL *ovcInit (OBJHANDLE hvessel, int flightmodel)
{
returnnew QTV (hvessel, flightmodel);
}


DLLCLBK
void ovcExit (VESSEL *vessel)
{
//Cleanup

if (vessel) delete (QTV*)vessel;

}

What going wrong ?

 
What you listed doesn't tell anything about the problem, as it's standard code that exports functions creating and deleting vessels of your module (if there is space between 'return' and 'new'). It's something in your vessel's class.

Do you save any handles to Orbiter or your vessel's in global or static variables, that you reuse when they aren't equal to 0 or NULL?
 
screenshot191z.jpg



What you listed doesn't tell anything about the problem, as it's standard code that exports functions creating and deleting vessels of your module (if there is space between 'return' and 'new'). It's something in your vessel's class.

Do you save any handles to Orbiter or your vessel's in global or static variables, that you reuse when they aren't equal to 0 or NULL?

All my Rockets are suborbitals so no load state and save state.

The only NULL I have is this,

QTV::QTV (OBJHANDLE hObj, int fmodel)
: VESSEL3 (hObj, fmodel)
{
// propellant resources
ph_recrut_tank = NULL;//disconnect the thruster from its current tank,
ph_algol_tank = NULL;
// truster group resources
thg_recruit = NULL;
thg_algol = NULL;
MET1=0;
MET=0;
POSTMET=0;


and this

void QTV::clbkPostStep (double simt, double simdt, double mjd)
{
if ((GetAttachmentStatus (launch_pad_attachement) == NULL))
{
guidance =
true;
Display_Message =
false;
}
 
Last edited:
Using debugger, is it crashing in your code, or in a Orbiter function called from your code? If so, check what was last instruction executed. This way you may locate the bug.
 
Using debugger, is it crashing in your code, or in a Orbiter function called from your code? If so, check what was last instruction executed. This way you may locate the bug.


I have try the debuger but I have some trouble whit it,(whene I start Orbiter in the debuger I have a blank scenario windows ? whit no mission displayed. so I can't select any scenario in ?)

But hall seem to be ok in my module except the crash when I reload a new mission. the problem seem to be (is my opinion) a bad cleanup of my module at shut down of the scenario.
 
Last edited:
I have try the debuger but I have some trouble whit it,(whene I start Orbiter in the debuger I have a blank scenario windows ? whit no mission displayed. so I can't select any scenario in ?)
You need to set working directory for debugger to the root directory of Orbiter (on the same property page of your project where you set path to Orbiter executable).
 
You need to set working directory for debugger to the root directory of Orbiter (on the same property page of your project where you set path to Orbiter executable).


Command F:\ORBITER 2010\orbiter.exe
Work F:\ORBITER 2010\


I have try this but I see a blank page no scenario ?
 
Is this set in the current (Debug) profile, and is the current profile set as Debug? Are you starting Orbiter with the green "play" button in toolbar?
 
Is this set in the current (Debug) profile, and is the current profile set as Debug? Are you starting Orbiter with the green "play" button in toolbar?

Ofcourse yes from C++ debuger

But I got a message before debuger start "no debug info for Orbiter.exe"
 
Last edited:
But I got a message before debuger start "no debug info for Orbiter.exe"
This is not a problem (just tick "don't show this message again").


Another option can be attaching debugger to already running Orbiter process (there's an entry in Debug menu for that, but I can't check it right now, as I'm in Linux). Try executing Orbiter, and when the launchpad appears, try to attach to its process the Visual Studio debugger.
 
This is not a problem (just tick "don't show this message again").


Another option can be attaching debugger to already running Orbiter process (there's an entry in Debug menu for that, but I can't check it right now, as I'm in Linux). Try executing Orbiter, and when the launchpad appears, try to attach to its process the Visual Studio debugger.

I have try to attach Orbiter but I see nothing in the debugger (does I attach the module only or Orbiter and my module ?)

It is possible that the problem come from becose the projet is compiled as debug, not release ?

I have try to compile as release and same problem Orbiter crash at 2em startup of the scenario. so its not the release or debug compilation the problem and I have no error and no warning when compiling the projet in all methods.

Whene I attach Orbiter I got this error
Impossible to display machin code in execution mode ?
 
Last edited:
I have try to attach but I see nothing in the debugger (does I attach the module only or both Orbiter and my module ?)

It is possible that the problem come from becose the projet is compiled as debug, not release ?
You only need to attach it to Orbiter. If the loaded module was compiled with debug symbols, and you loaded your project, it should show it on call stack after exception and show source file if you click on it.

The debugger should intercept and handle the exception, so stop and show the code just after the exception has occurred.

Does it crash if you don't attach the debugger but you use in Orbiter the module compiled in debug mode?
 
You only need to attach it to Orbiter. If the loaded module was compiled with debug symbols, and you loaded your project, it should show it on call stack after exception and show source file if you click on it.

The debugger should intercept and handle the exception, so stop and show the code just after the exception has occurred.

Does it crash if you don't attach the debugger but you use in Orbiter the module compiled in debug mode?

Ok now I got this whene orbiter

crash Exception non gérée à 0x0040614f dans orbiter.exe : 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00000050.
 
crash Exception non gérée à 0x0040614f dans orbiter.exe : 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00000050.
You have somewhere a null pointer passed to Orbiter function. Can't the exception be reproduced when you have it attached to debugger?
 
You have somewhere a null pointer passed to Orbiter function. Can't the exception be reproduced when you have it attached to debugger?

I got this in Ollydbg where Orbiter Crash in attached mode
screenshot280.jpg
 
Last edited:
I got this in Ollydbg where Orbiter Crash
screenshot280.jpg
This tells only exactly the same I said earlier - you have a null pointer passed to Orbiter function.

Is there a function from your module on the call stack?
 
This tells only exactly the same I said earlier - you have a null pointer passed to Orbiter function.

Is there a function from your module on the call stack?

What is a null pointer ?

Like I said before I have only this NULL

QTV::QTV (OBJHANDLE hObj, int fmodel)
: VESSEL3 (hObj, fmodel)
{
// propellant resources
ph_recrut_tank = NULL;//disconnect the thruster from its current tank,
ph_algol_tank = NULL;
// truster group resources
thg_recruit = NULL;
thg_algol = NULL;
MET1=0;
MET=0;
POSTMET=0;


and this

void QTV::clbkPostStep (double simt, double simdt, double mjd)
{
if ((GetAttachmentStatus (launch_pad_attachement) == NULL))
{
guidance = true;
Display_Message = false;
}

I have disable all this line and have compiled and the crash still there ?


no I dont think there a fonction in the debug stack.
 
Last edited:

Here all my listing
Code:
// ==============================================================
//                 ORBITER MODULE: QTV
//                  Part of the ORBITER SDK
//          Copyright (C) 1/20/2011 Ronald Dandurand
//                   All rights reserved
//
//   !    =  contraire aux resulta de droite
//   ||   =  ou
//   &&   =   et
// ==============================================================
#define ORBITER_MODULE
#include "QTV.h"
#include "math.h"
// ==============================================================
// QTV class implementation
// ==============================================================
// --------------------------------------------------------------
// Constructor
// --------------------------------------------------------------
QTV::QTV (OBJHANDLE hObj, int fmodel)
: VESSEL3 (hObj, fmodel)
{
 // propellant resources
 ph_recrut_tank          = NULL;//disconnect the thruster from its current tank,
 ph_algol_tank          = NULL;
 // truster group resources
 thg_recruit        = NULL;
 thg_algol        = NULL;
 MET1=0;
 MET=0;
 POSTMET=0;
}

// --------------------------------------------------------------
// Stage definition
// --------------------------------------------------------------
void QTV::SetfirstStage (void)
{ 
 SetSize (26.343/2);//This value is used for visibility calculations
    SetEmptyMass (FIRSTSTAGE_SM_WEIGHT+DUMMY_CM_WHIT_ADAPTER+LES_WEIGHT);
    SetPMI (_V(43.23665559,43.23665559,1.846728799));//from real QTV data nasa
 SetCrossSections (_V(71.81,71.74,15.26));//x,y,z=horizontal area
 SetSurfaceFrictionCoeff (1.00, 1.00);//longitudinal direction,lateral direction Set friction coefficients for ground contact.
    CreateAirfoil3 (LIFT_VERTICAL, _V(0,0,-8.536), VLiftCoeff, 0, 2.155, 30.48, 2.56);// wing and body lift+drag components
    CreateAirfoil3 (LIFT_HORIZONTAL, _V(0,0,-8.536), HLiftCoeff, 0, 2.155, 30.48, 2.56);// vertical stabiliser and body lift and drag components
 //CreateAirfoil3 (AIRFOIL_ORIENTATION,const VECTOR3 &ref,AirfoilCoeffFuncEx cf,void *context,double c,double S,double A) const
    // 1 align lift vector orientation (LIFT_VERTICAL or LIFT_HORIZONTAL)
    // 2 ref lift and drag vector3 attack point (attack point is aft of the CG BORD D'ATTACK)
    // 3 cf pointer to coefficient callback function (see notes)
    //4 context pointer to user data passed to the coefficient callback function
 //5 c airfoil chord length [m] (LARGEUR DE L'AILE, SURFACE / WINGSPAN = CHORD)
    //6 S wing area [m2](LARGEUR * LONGUEUR = SURCACE M2)
    //7 A wing aspect ratio (LONGUEUR*LONGUEUR / SURFACE CARRÉE)
 //ShiftCG (_V(0,0,-4.5));
 //Notes:
//·  This function is an extension of CreateAirfoil2.
//·  The format of the lift callback function cf is different. It contains additional
//parameters:
//void AirfoilCoeffFuncEx (
//VESSEL *v, double aoa, double M, double Re,
//void *context,
//double *cl, double *cm, double *cd)
//where v is a pointer to the calling vessel instance, and context is the pointer
//passed to CreateAirfoil3. It can be used to pass additional parameters to the
//callback function required to compute the lift coefficients
 //        AIRFOIL_ORIENTATION,   VECTOR3    AirCoeffexCF,  void *context, C  S   A
 //        AIRFOIL_ORIENTATION,    VECTOR3,    AirCoeffCF  void *context C   S      A
 SetRotDrag (_V(0.7,0.7,1.2));
 ClearMeshes(); 
 meshidx = AddMesh ("LittleJoeII\\QTV",&FIRSTSTAGE);
    SetMeshVisibilityMode (meshidx, MESHVIS_ALWAYS);// VOIE LA MESCH A L'INTERIEUR
 SetCameraOffset(_V(0,1.982,4.296));//Sets the camera position for internal and external view.
 ClearPropellantResources();
 ClearThrusterDefinitions();
 ph_recrut_tank = CreatePropellantResource(STAGE1_RECRUIT_MASS_FUEL);
 //RECRUIT ANGLE 6.5 DEGREE BON
    th_recruit_engine[0] = CreateThruster(_V(0.0,-0.877,-9.01), _V(0,0.113203214,0.993571856), STAGE1_RECRUIT_Thrust_VAC, ph_recrut_tank, STAGE1_RECRUIT_ISP_VAC, STAGE1_RECRUIT_ISP_SL);
    th_recruit_engine[1] = CreateThruster(_V(-0.76,-0.439,-9.01), _V(0.098036859,0.056601607,0.993571856), STAGE1_RECRUIT_Thrust_VAC, ph_recrut_tank, STAGE1_RECRUIT_ISP_VAC, STAGE1_RECRUIT_ISP_SL);
 th_recruit_engine[2] = CreateThruster(_V(-0.76,0.439,-9.01), _V(0.098036859,-0.056601607,0.993571856), STAGE1_RECRUIT_Thrust_VAC, ph_recrut_tank, STAGE1_RECRUIT_ISP_VAC, STAGE1_RECRUIT_ISP_SL);
    th_recruit_engine[3] = CreateThruster(_V(0.0,0.877,-9.01), _V(0,-0.113203214,0.993571856), STAGE1_RECRUIT_Thrust_VAC, ph_recrut_tank, STAGE1_RECRUIT_ISP_VAC, STAGE1_RECRUIT_ISP_SL);
 th_recruit_engine[4] = CreateThruster(_V(0.76,0.439,-9.01), _V(-0.098036859,-0.056601607,0.993571856), STAGE1_RECRUIT_Thrust_VAC, ph_recrut_tank, STAGE1_RECRUIT_ISP_VAC, STAGE1_RECRUIT_ISP_SL);
    th_recruit_engine[5] = CreateThruster(_V(0.76,-0.439,-9.01), _V(-0.098036859,0.056601607,0.993571856), STAGE1_RECRUIT_Thrust_VAC, ph_recrut_tank, STAGE1_RECRUIT_ISP_VAC, STAGE1_RECRUIT_ISP_SL);
 thg_recruit = CreateThrusterGroup (th_recruit_engine,6,THGROUP_USER);
 SURFHANDLE tex = oapiRegisterExhaustTexture ("Exhaust_atsrb");
 AddExhaust (th_recruit_engine[0], 12, 0.23, tex);  
    AddExhaust (th_recruit_engine[1], 12, 0.23, tex);
    AddExhaust (th_recruit_engine[2], 12, 0.23, tex);
    AddExhaust (th_recruit_engine[3], 12, 0.23, tex); 
 AddExhaust (th_recruit_engine[4], 12, 0.23, tex);
    AddExhaust (th_recruit_engine[5], 12, 0.23, tex);  
 recruit_motor_stream.tex = oapiRegisterParticleTexture ("Contrail7");
    AddExhaustStream (th_recruit_engine[0], _V(-1.367227300,1.367227300,-20.99), &recruit_motor_stream);
 AddExhaustStream (th_recruit_engine[1], _V(1.367227300,1.367227300,-20.99), &recruit_motor_stream);
    AddExhaustStream (th_recruit_engine[2], _V(1.367227300,-1.367227300,-20.99), &recruit_motor_stream);
    AddExhaustStream (th_recruit_engine[3], _V(1.367227300,-1.367227300,-20.99), &recruit_motor_stream);
    AddExhaustStream (th_recruit_engine[4], _V(-1.367227300,-1.367227300,-20.99), &recruit_motor_stream);
    AddExhaustStream (th_recruit_engine[5], _V(-1.367227300,1.367227300,-20.99), &recruit_motor_stream);
 ph_algol_tank = CreatePropellantResource(STAGE1_ALGOL_MASS_FUEL);
 SetDefaultPropellantResource (ph_algol_tank); // display main tank level in generic HUD
    th_algol_engine[0] = CreateThruster(_V(0.0,0.0,-9.667), _V(0,0,1) ,STAGE1_ALGOL_Thrust_VAC, ph_algol_tank, STAGE1_ALGOL_ISP_VAC, STAGE1_ALGOL_ISP_SL);
 thg_algol = CreateThrusterGroup (th_algol_engine,1,THGROUP_MAIN);
 //AddExhaust (          , longueur, largeur, tex);
 SURFHANDLE tex1 = oapiRegisterExhaustTexture ("Exhaust2");
 AddExhaust (th_algol_engine[0], 39.28, 1.040, tex1);
 algol_motor_engine.tex = oapiRegisterParticleTexture ("Contrail7");
    AddExhaustStream (th_algol_engine[0], _V(0.0,0.0,-10.667), &algol_motor_engine);
 algol_motor_stream.tex = oapiRegisterParticleTexture ("Contrail4");
    AddExhaustStream (th_algol_engine[0], _V(0.0,0.0,-51), &algol_motor_stream);
 ShiftCG (_V(-0.000508,0.000762,0.256540051));
 status = 0;//0=sauver dans savestate
}

// --------------------------------------------------------------
// Set vessel class parameters
// --------------------------------------------------------------
void QTV::clbkSetClassCaps (FILEHANDLE cfg)
{
stage=0;
SetfirstStage ();
 //this line is for automatic activation of autopilot after release of payload
 char attach_id[8]={"SH"};
 launch_pad_attachement=CreateAttachment (true,_V(0, 0, -8.771),_V(0,-1,0),_V(0,0,1),attach_id);
//toparent If true, the attachment can be used to connect to a parent (i.e. the vessel acts as a child).
//Otherwise, attachment is used to connect to a child (i.e. vessel acts as parent)
//pos attachment point position in vessel coordinates [m]
//dir attachment direction in vessel coordinates
//rot longitudinal alignment vector in vessel coordinates
//id compatibility identifier
//loose If true, allow loose connections (see notes)   
}
// --------------------------------------------------------------
// Frame update  "time steep"
// --------------------------------------------------------------
void QTV::clbkPostStep (double simt, double simdt, double mjd)
{ 
   if ((GetAttachmentStatus (launch_pad_attachement) == NULL)) 
   { 
    guidance = true;
   Display_Message = false;
     }
 if (guidance==FALSE)StopVesselWave3(MyID,LittleJoeLaunch);//ARRETE LittleJoeLaunch SOUND
    
 if (GetMachNumber () > 0.99 && GetMachNumber () <= 1.00 && GetMachNumber() > oldMachnumber && SoundPlayed==FALSE) 
    {
                PlayVesselWave3(MyID,soundbarier,NOLOOP,2600,22050);   // 255=volume maximum 
     SoundPlayed=TRUE;
  }
   if (GetMachNumber() < 0.99 || GetMachNumber() >= 1.00) SoundPlayed=FALSE; 
    
 if (Display_Message)
 {
 POSTMET = simt - MET1;
 if (POSTMET < 5) sprintf(oapiDebugString(),"August 28 1963, White Sand Missile Range (New Mexique), Local Time 12:00 pm");   
 if (POSTMET > 5 && POSTMET < 11) sprintf(oapiDebugString(),"Little Joe QTV 12-50-1 Qualification Test Operation in Progress");
 if (POSTMET > 11 && POSTMET < 20) sprintf(oapiDebugString(),"Test Point Conditions and Goal for QTV:  Mach 0.90  Dinamic Pressure:600 PSF  Altitude:18,400 ft MSL  ");
 if (POSTMET > 20 && POSTMET < 29) sprintf(oapiDebugString(),"Press the preset button or the manual switch to set the azimut and elevation of the Little Joe II launch pad");
    if (POSTMET > 29 && POSTMET < 38) sprintf(oapiDebugString(),"Press the Start Timer on the console or (A) to activate the launch timer and (S) to silent the Sound"); 
 if (POSTMET > 38) MET1=simt;
 if (thruttle > 0.0 && guidance==FALSE) Display_Message=false, sprintf(oapiDebugString(),"                                                                                                        ");//DEBARQUE MESSAGE SI DECOLAGE SANS AUTOPILOT
  }
 thruttle=GetThrusterGroupLevel (THGROUP_MAIN);  
    MET = simt - TZero; 
   if (MET < 29.3 && guidance==TRUE) sprintf(oapiDebugString(),"T %.0f  LJ QTV QUALIFICATION TEST RUNNING Mach (0.90)  %.2f  Dinpressure (600) Psf  %.0f  Altitude (18400) Feet MSL  %.0f G %.2f",MET,MACH,Q,alt,g); 
    
        alt=(GetAltitude ()*3.2808 + 4000);//ft msl
  MACH = GetMachNumber();
  oldQ=Q;
  Q=GetDynPressure()*0.02088543;//psf
  //acceleration
 VECTOR3 acc, fvec, vel, gpos;
 double r, vlen;
 OBJHANDLE ref;
 VESSEL * v;
 v = oapiGetVesselInterface(vessel);
 ref=v->GetSurfaceRef();
 // get the relative velocity in local vessel frame
 v->GetGlobalPos(gpos);
 v->GetRelativeVel(ref, vel);
 v->Global2Local(gpos+vel, vel);
    v->HorizonRot(vel, vel);
 // calculate the acceleration and convert to horizon coords
 v->GetForceVector(fvec);
 acc = fvec/v->GetMass();
 v->HorizonRot(acc, acc);
 // adjust for centripetal acceleration due to gravity 
 r=v->GetAltitude()+oapiGetSize(ref);
    vel.y=0;
 vlen=length(vel);
 acc.y += vlen*vlen/r;
 g = (acc.y/9.80665);
 if (guidance==TRUE && MET < 29.3) Test_point_conditions=true; // RUN SEULEMENT QUAND THRUSTER ON PAS A LA RENTREE
 
 if (Test_point_conditions)//ENREGISTRE JUSQUA 29.3 SECONDE
 {
  if (MET < 29.3) 
  {//2
        maxQ=oldQ;
  alt1=alt;
        MACH1 = MACH;
     if (MACH1 >= 0.90) strcpy(test1,"(Pass)");else strcpy(test1,"(Fail)");
        if (maxQ >= 600) strcpy(test2,"(Pass)");else strcpy(test2,"(Fail)");
        if (alt1 >= 18400) strcpy(test3,"(Pass)");else strcpy(test3,"(Fail)");   
        }
  Test_point_conditions=false; 
     }
  oldMachnumber=GetMachNumber();
  
  if (guidance==TRUE && MET > 29.3)
 { 
  sprintf(oapiDebugString(),"T %.0f QUALIFICATION TEST RESULT  Mach (0.90)  %.2f  %s  Dpression (600) Psf  %.0f  %s  Altitude (18400) Ft MSL  %.0f  %s  Alt  %.0f G %.2f",MET,MACH1,test1,maxQ,test2,alt1,test3,alt,g); 
    }  
  if (sound_ON_OFF)
 { 
        if (MET > 28.435) PlayVesselWave3(MyID,spaceaudity,LOOP,300,44100); // 255=volume maximum;
  if (GetAltitude () < 3 && MET > 145 && MET < 155) PlayVesselWave3(MyID,jeep,NOLOOP,300,11025);   // 255=volume maximum;
  } 
   //setfirststage
 if (stage == 0)//activation stage 0
 {
 SetThrusterGroupLevel(thg_recruit,thruttle);
 if (guidance)
 {
 if (TZero == 0) 
 {
  MET = 0 ;//met a 0 et ne revient plus
  TZero = 0;
 }
   else 
 {
  MET = simt - TZero;
  }
   // Call the guidance routine
   Guidance_Routine (simt, SimT_Last);//affect simtime a simt_last
     SimT_Last = MET;
 }//guidance fin
 }
  }
 
void QTV::Guidance_Routine (double SimT, double SimT_Last)
{
 if (T_minus_0)
 {
  // Record launch time
  if (TZero == 0)
  {
   TZero = SimT;
  }
  if (MET > 0)
  {
     SetThrusterGroupLevel(THGROUP_MAIN,1.0);  
   T_minus_0 = false;
  }
 
 }  
}//end guidence
// --------------------------------------------------------------
// Keyboard interface handler (buffered key events)
// --------------------------------------------------------------
int QTV::clbkConsumeBufferedKey (DWORD key,  bool down, char *kstate)
{ 
 
 if (!down) return 0;// only process 1 keydown events
 
  if ((kstate)) 
  { 
      switch (key) 
  {
        case OAPI_KEY_S:     
      
 if (!sound_ON_OFF) 
  { 
  sound_ON_OFF = true;
         StopVesselWave3(MyID,spaceaudity);
   StopVesselWave3(MyID,jeep);  
  }
  else 
  { 
  sound_ON_OFF = false;
            StopVesselWave3(MyID,spaceaudity);
   StopVesselWave3(MyID,jeep);  
   
  }
  return 1;
   case OAPI_KEY_A:
   if (!guidance)// if eguale pas guidance 
  { 
    guidance = true;
    Display_Message = false;
  }
  else 
  {
  guidance = false;
  Display_Message = true;
    // sprintf(oapiDebugString()," Guidance OFF");
  }
  return 1;
  }
 }
 return 0;
}
// --------------------------------------------------------------
// Vessel initialisation
// --------------------------------------------------------------
DLLCLBK VESSEL *ovcInit (OBJHANDLE hvessel, int flightmodel)
{
 return new QTV (hvessel, flightmodel);
}

// --------------------------------------------------------------
// Vessel cleanup
// --------------------------------------------------------------
DLLCLBK void ovcExit (VESSEL *vessel)
{
    //Cleanup
  
 if (vessel) delete (QTV*)vessel;
 //guidance = false;
}
    void QTV::clbkPostCreation (void)
{
 MyID=ConnectToOrbiterSoundDLL3(GetHandle());
 RequestLoadVesselWave3(MyID,wind,      "Sound\\LittleJoeII\\wind.wav",DEFAULT);
    RequestLoadVesselWave3(MyID,LittleJoeLaunch,"Sound\\LittleJoeII\\LittleJoeLaunch.wav",DEFAULT);
 RequestLoadVesselWave3(MyID,soundbarier,    "Sound\\LittleJoeII\\soundbarier.wav",DEFAULT);
 RequestLoadVesselWave3(MyID,spaceaudity,    "Sound\\LittleJoeII\\spaceodity.wav",DEFAULT);
    RequestLoadVesselWave3(MyID,jeep,           "Sound\\LittleJoeII\\JEEP_3.wav",DEFAULT);
    SoundOptionOnOff3(MyID,PLAYCOUNTDOWNWHENTAKEOFF,FALSE);
 //SoundOptionOnOff3(MyID,PLAYRADARBIP,FALSE);
 }
 
Last edited by a moderator:
Can you post also declarations (QTV.h)?
 
Back
Top