I can't get it to compile. Dan, it would make me very happy if you could modify the source code
below to make the custom RCS sound work!
The source code I'm using is based on the ShuttlePB source code:
// ==============================================================
// ORBITER MODULE: NASA_MER Rover
// Copyright (C) 2004 David Sundstrom
// Based on ShuttlePB source code by Dr. Martin Schweiger
// All rights reserved
//
// NASA_MER.cpp
// Control module for NASA_MER vessel class
// ==============================================================
#include "orbitersdk.h"
#include "OrbiterSoundSDK.h"
#define RCS 1
const double NASA_MER_FUELMASS = 50;
const double NASA_MER_ISP = 5e4;
const double NASA_MER_MAXRCSTH = 0;
const double NASA_MER_MAXLINTH = 2e2;
const double NASA_MER_MAXROTTH = 5e1;
// ==============================================================
// API interface
// ==============================================================
// Initialisation
DLLCLBK VESSEL *ovcInit (OBJHANDLE hvessel, int flightmodel)
{
ConnectToOrbiterSoundDLL();
RequestLoadVesselWave(RCS,"Sound\\Saturn1B\\LRover.wav");
SoundOptionOnOff(PLAYATTITUDETHRUST,FALSE);
return new VESSEL (hvessel, flightmodel);
}
// Cleanup
DLLCLBK void ovcExit (VESSEL *vessel)
{
if (vessel) delete vessel;
}
// Set the capabilities of the vessel class
DLLCLBK void ovcSetClassCaps (VESSEL *vessel, FILEHANDLE cfg)
{
THRUSTER_HANDLE th_rcs[14], th_group[4];
// physical specs
vessel->SetSize (3.5);
vessel->SetEmptyMass (174);
vessel->SetCW (0.3, 0.3, 0.6, 0.9);
vessel->SetCrossSections (_V(10.5,15.0,5.8));
vessel->SetRotDrag (_V(0.6,0.6,0.35));
vessel->SetPMI (_V(2.28,2.31,0.79));
vessel->SetCameraOffset (_V(0,0.8,0));
vessel->SetTouchdownPoints (_V(0,-0.63,2), _V(-1,-0.63,-1.5), _V(1,-0.63,-1.5));
// propellant resources
PROPELLANT_HANDLE hpr = vessel->CreatePropellantResource (NASA_MER_FUELMASS);
// *********************** thruster definitions
********************************
th_rcs[ 0] = vessel->CreateThruster (_V( 1,0, 3), _V(0, 1,0), NASA_MER_MAXRCSTH, hpr,
NASA_MER_ISP);
th_rcs[ 1] = vessel->CreateThruster (_V( 1,0, 3), _V(0,-1,0), NASA_MER_MAXRCSTH, hpr,
NASA_MER_ISP);
th_rcs[ 2] = vessel->CreateThruster (_V(-1,0, 3), _V(0, 1,0), NASA_MER_MAXRCSTH, hpr,
NASA_MER_ISP);
th_rcs[ 3] = vessel->CreateThruster (_V(-1,0, 3), _V(0,-1,0), NASA_MER_MAXRCSTH, hpr,
NASA_MER_ISP);
th_rcs[ 4] = vessel->CreateThruster (_V( 1,0,-3), _V(0, 1,0), NASA_MER_MAXRCSTH, hpr,
NASA_MER_ISP);
th_rcs[ 5] = vessel->CreateThruster (_V( 1,0,-3), _V(0,-1,0), NASA_MER_MAXRCSTH, hpr,
NASA_MER_ISP);
th_rcs[ 6] = vessel->CreateThruster (_V(-1,0,-3), _V(0, 1,0), NASA_MER_MAXRCSTH, hpr,
NASA_MER_ISP);
th_rcs[ 7] = vessel->CreateThruster (_V(-1,0,-3), _V(0,-1,0), NASA_MER_MAXRCSTH, hpr,
NASA_MER_ISP);
th_rcs[ 8] = vessel->CreateThruster (_V( 1,0, 3), _V(-1,0,0), NASA_MER_MAXROTTH, hpr,
NASA_MER_ISP);
th_rcs[ 9] = vessel->CreateThruster (_V(-1,0, 3), _V( 1,0,0), NASA_MER_MAXROTTH, hpr,
NASA_MER_ISP);
th_rcs[10] = vessel->CreateThruster (_V( 1,0,-3), _V(-1,0,0), NASA_MER_MAXROTTH,
hpr, NASA_MER_ISP);
th_rcs[11] = vessel->CreateThruster (_V(-1,0,-3), _V( 1,0,0), NASA_MER_MAXROTTH,
hpr, NASA_MER_ISP);
th_rcs[12] = vessel->CreateThruster (_V( 0,0,-3), _V(0,0, 1), NASA_MER_MAXLINTH, hpr,
NASA_MER_ISP);
th_rcs[13] = vessel->CreateThruster (_V( 0,0, 3), _V(0,0,-1), NASA_MER_MAXLINTH, hpr,
NASA_MER_ISP);
th_group[0] = th_rcs[8];
th_group[1] = th_rcs[11];
vessel->CreateThrusterGroup (th_group, 2, THGROUP_ATT_YAWLEFT);
th_group[0] = th_rcs[9];
th_group[1] = th_rcs[10];
vessel->CreateThrusterGroup (th_group, 2, THGROUP_ATT_YAWRIGHT);
vessel->CreateThrusterGroup (th_rcs+12, 1, THGROUP_ATT_FORWARD);
vessel->CreateThrusterGroup (th_rcs+13, 1, THGROUP_ATT_BACK);
// visual specs
vessel->AddMesh ("NASA_MER_Rover");
}