Update of /cvsroot/gcblue/gcb_wx/src/sim
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25822/src/sim
Modified Files:
tcMissileObject.cpp
Log Message:
Ground SAM related updates
Index: tcMissileObject.cpp
===================================================================
RCS file: /cvsroot/gcblue/gcb_wx/src/sim/tcMissileObject.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** tcMissileObject.cpp 23 Nov 2004 23:31:14 -0000 1.21
--- tcMissileObject.cpp 4 Feb 2005 18:54:51 -0000 1.22
***************
*** 174,177 ****
--- 174,178 ----
mcSensorState.mcTrack.mnID = pLauncher->mnTargetID;
mcSensorState.mfLastScan = -10; // ensure rapid update to get a valid track for guidance
+
if (mcSensorState.IsSemiactive() || mcSensorState.IsCommandReceiver())
{
***************
*** 502,506 ****
// force level flight for first few seconds for air-launched missiles
! if ((msKState.mfFlightTime < 1.5)&&(msKState.mfAltitude_m > 50.0f))
{
mfGoalHeading_rad = mcKin.mfHeading_rad;
--- 503,507 ----
// force level flight for first few seconds for air-launched missiles
! if ((msKState.mfFlightTime < 1.5)&&(msKState.mfAltitude_m - mcTerrain.mfHeight_m > 50.0f))
{
mfGoalHeading_rad = mcKin.mfHeading_rad;
***************
*** 593,596 ****
--- 594,612 ----
/**
+ * Modified to return null if no emitter exists (AGM cmd only case)
+ */
+ tcRadar* tcMissileObject::GetSensorState()
+ {
+ if (mcSensorState.parent)
+ {
+ return &mcSensorState;
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ /**
*
*/
***************
*** 725,728 ****
--- 741,751 ----
mcSensorState.SetMountAz(0); // missile seeker always points forward
}
+ else // modified to handle case for AGMs without a sensor (use pointer for sensorstate?)
+ {
+ mcSensorState.SetParent(0);
+ #ifdef _DEBUG
+ fprintf(stderr, "tcMissileObject - Warning - Sensor not found in DB (%s)\n", obj->maSensorClass[0].mz);
+ #endif
+ }
}
|