Update of /cvsroot/gcblue/gcb_wx/src/database
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27747/src/database
Modified Files:
tcMissileDBObject.cpp
Log Message:
Added map overlay, fixed smoke trail roll bug, improved FOV calc for autopoint launchers, database tweaks
Index: tcMissileDBObject.cpp
===================================================================
RCS file: /cvsroot/gcblue/gcb_wx/src/database/tcMissileDBObject.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** tcMissileDBObject.cpp 29 Mar 2005 00:12:26 -0000 1.16
--- tcMissileDBObject.cpp 31 Mar 2005 03:51:12 -0000 1.17
***************
*** 35,38 ****
--- 35,39 ----
#include "common/tinyxml.h"
#include "database/tcSqlReader.h"
+ #include "tcSensorDBObject.h"
#include <sstream>
***************
*** 65,69 ****
}
! tnPoolIndex tcMissileDBObject::GetPrimarySeekerKey()
{
wxASSERT(database);
--- 66,70 ----
}
! long tcMissileDBObject::GetPrimarySeekerKey()
{
wxASSERT(database);
***************
*** 81,84 ****
--- 82,107 ----
/**
+ * @return seeker field of view in radians
+ */
+ float tcMissileDBObject::GetSeekerFOV()
+ {
+ if (seekerFOV_rad >= 0) return seekerFOV_rad;
+
+ long seekerKey = GetPrimarySeekerKey();
+ tcDatabaseObject* obj = database->GetObject(seekerKey);
+ if (tcSensorDBObject* sensor = dynamic_cast<tcSensorDBObject*>(obj))
+ {
+ seekerFOV_rad = C_PIOVER180 * sensor->mfFieldOfView_deg;
+ }
+ else
+ {
+ wxASSERT(false);
+ seekerFOV_rad = C_TWOPI;
+ }
+
+ return seekerFOV_rad;
+ }
+
+ /**
* This checks that the database object has all of the emitters in the
* emitters vector. Somewhat expensive, nEmitters * nSensors
***************
*** 539,543 ****
tcMissileDBObject::tcMissileDBObject(tcMissileDBObject& obj)
! : tcWeaponDBObject(obj)
{
mnClassID = DTYPE_MISSILE;
--- 562,567 ----
tcMissileDBObject::tcMissileDBObject(tcMissileDBObject& obj)
! : tcWeaponDBObject(obj),
! seekerFOV_rad(obj.seekerFOV_rad)
{
mnClassID = DTYPE_MISSILE;
***************
*** 574,578 ****
}
! tcMissileDBObject::tcMissileDBObject() : tcWeaponDBObject()
{
mnClassID = DTYPE_MISSILE;
--- 598,603 ----
}
! tcMissileDBObject::tcMissileDBObject() : tcWeaponDBObject(),
! seekerFOV_rad(-1.0f)
{
mnClassID = DTYPE_MISSILE;
|