Thread: [Gcblue-commits] gcb_wx/include/sim tcECM.h,NONE,1.1 tcGoal.h,1.8,1.9 tcGoalTracker.h,1.5,1.6 tcSimS
Status: Alpha
Brought to you by:
ddcforge
|
From: Dewitt C. <ddc...@us...> - 2006-03-23 01:12:16
|
Update of /cvsroot/gcblue/gcb_wx/include/sim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11430/include/sim Modified Files: tcGoal.h tcGoalTracker.h tcSimState.h Added Files: tcECM.h Log Message: Index: tcGoal.h =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/include/sim/tcGoal.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** tcGoal.h 22 Mar 2006 01:23:29 -0000 1.8 --- tcGoal.h 23 Mar 2006 01:12:11 -0000 1.9 *************** *** 67,73 **** virtual void Update(); ///< updates goal state using on simState virtual void WriteStatus(std::stringstream& stream, unsigned int level = 0); virtual void SaveToPython(scriptinterface::tcScenarioLogger& logger); ! virtual tcGoal* Clone(); tcGoal(); tcGoal(const tcGoal& goal); --- 67,76 ---- virtual void Update(); ///< updates goal state using on simState virtual void WriteStatus(std::stringstream& stream, unsigned int level = 0); + virtual void WriteStatusB(std::stringstream& stream); virtual void SaveToPython(scriptinterface::tcScenarioLogger& logger); ! virtual float GetNetScore() const; ! void SetScores(float fail, float pass); virtual tcGoal* Clone(); + tcGoal(); tcGoal(const tcGoal& goal); *************** *** 75,78 **** --- 78,83 ---- protected: const std::string indentString; + float failScore; + float passScore; }; *************** *** 94,99 **** --- 99,107 ---- void RemoveGoal(int idx) {children.erase(children.begin() + idx);} void SetLogic(int logic) {logicType = logic;} + virtual float GetNetScore() const; + virtual void Update(); ///< updates goal state using on simState virtual void WriteStatus(std::stringstream& stream, unsigned int level = 0); + virtual void WriteStatusB(std::stringstream& stream); virtual void SaveToPython(scriptinterface::tcScenarioLogger& logger); *************** *** 120,123 **** --- 128,132 ---- virtual void Update(); ///< updates goal state using on simState virtual void WriteStatus(std::stringstream& stream, unsigned int level = 0); + virtual void WriteStatusB(std::stringstream& stream); virtual void SaveToPython(scriptinterface::tcScenarioLogger& logger); *************** *** 138,141 **** --- 147,151 ---- virtual void Update(); virtual void WriteStatus(std::stringstream& stream, unsigned int level = 0); + virtual void WriteStatusB(std::stringstream& stream); virtual void SaveToPython(scriptinterface::tcScenarioLogger& logger); *************** *** 155,158 **** --- 165,169 ---- virtual void Update(); virtual void WriteStatus(std::stringstream& stream, unsigned int level = 0); + virtual void WriteStatusB(std::stringstream& stream); virtual void SaveToPython(scriptinterface::tcScenarioLogger& logger); --- NEW FILE: tcECM.h --- /** ** @file tcECM.h */ /* Copyright (C) 2006 Dewitt Colclough (de...@gc...) ** All rights reserved. ** This file is part of the Global Conflict Blue (GCB) program. ** GCB is free software; you can redistribute it and/or modify ** it under the terms of version 2 of the GNU General Public License as ** published by the Free Software Foundation. ** GCB is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** You should have received a copy of the GNU General Public License ** along with GCB; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA **/ #ifndef _tcECM_H_ #define _tcECM_H_ #if _MSC_VER > 1000 #pragma once #endif #include "tcSensorState.h" #include "tcDatabase.h" #include "tcECMDBObject.h" #include <vector> class tcGameObject; class tcRadar; class tcStream; using namespace database; /** * For safe access of tcRadar* pointer */ class RadarInterface { public: long id; ///< platform id unsigned idx; ///< sensor index tcRadar* GetRadar(); ///< returns 0 if platform or sensor doesn't exist anymore RadarInterface(long id_, unsigned idx_); RadarInterface(const RadarInterface& src); RadarInterface(); ~RadarInterface(); }; /** * */ class tcECM : public tcSensorState { public: tcECMDBObject* mpDBObj; virtual bool InitFromDatabase(long key); ///< initializes sensor using database data at key virtual bool IsECM() const; void Serialize(tcFile& file, bool mbLoad); virtual void SetActive(bool active); virtual void Update(double t); tcECM& operator=(tcECM& ss); //virtual tcStream& operator<<(tcStream& stream); //virtual tcStream& operator>>(tcStream& stream); tcECM* Clone(); tcECM(); tcECM(tcECMDBObject* dbObj); virtual ~tcECM(); private: std::vector<RadarInterface> jamList; ///< radars jammed on previous update void AddOrUpdateJammerToTarget(tcRadar* targetRadar, unsigned sensorIdx, float powerDensity_dB, float jammerBearing_rad); void ClearJamList(); void UpdateBarrage(); void UpdateBarrageTarget(tcGameObject* target); void UpdateBarrageTargetRadar(tcRadar* radar, unsigned sensorIdx); }; #endif Index: tcGoalTracker.h =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/include/sim/tcGoalTracker.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** tcGoalTracker.h 11 Dec 2005 00:34:28 -0000 1.5 --- tcGoalTracker.h 23 Mar 2006 01:12:11 -0000 1.6 *************** *** 24,37 **** MAX_ALLIANCES = 32 ///< goaltracker supports alliances from 0 to MAX_ALLIANCES-1 }; ! std::map<int,tcGoal*> allianceGoals; ///< map of victory goal trees, indexed by alliance void Clear(); const std::string& GetAllianceGoalStatusDescription(int alliance); bool HasAllianceFailed(int alliance); bool HasAllianceSucceeded(int alliance); bool HasStatusChanged(int alliance); void LogAllianceGoalStatus(std::string fileName, int alliance); tcGoal* GetAllianceGoal(int alliance); void SetAllianceGoal(int alliance, tcGoal* goal); void Update(double currentTime); void WriteStatus(std::stringstream& stream, int alliance); --- 24,47 ---- MAX_ALLIANCES = 32 ///< goaltracker supports alliances from 0 to MAX_ALLIANCES-1 }; ! std::map<int, tcGoal*> allianceGoals; ///< map of victory goal trees, indexed by alliance ! std::map<int, float> allianceScoreOffset; ///< score offset for alliance not including goal net score void Clear(); const std::string& GetAllianceGoalStatusDescription(int alliance); + + bool HasAllianceFailed(int alliance); bool HasAllianceSucceeded(int alliance); bool HasStatusChanged(int alliance); void LogAllianceGoalStatus(std::string fileName, int alliance); + tcGoal* GetAllianceGoal(int alliance); void SetAllianceGoal(int alliance, tcGoal* goal); + + float GetAllianceOffset(int alliance); + float GetAllianceScore(int alliance); + void AdjustAllianceScore(int alliance, float offset); + void SetPerfectScore(float score); + void Update(double currentTime); void WriteStatus(std::stringstream& stream, int alliance); *************** *** 48,51 **** --- 58,62 ---- const double updateInterval; ///< game time between updates std::map<int, int> previousGoalStatus; ///< status at last update + float perfectScore; ///< score for 100 points // variables for multiplayer client Index: tcSimState.h =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/include/sim/tcSimState.h,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** tcSimState.h 22 Mar 2006 01:23:29 -0000 1.46 --- tcSimState.h 23 Mar 2006 01:12:11 -0000 1.47 *************** *** 2,6 **** ** @file tcSimState.h */ ! /* Copyright (C) 2003-2005 Dewitt Colclough (de...@gc...) ** All rights reserved. --- 2,6 ---- ** @file tcSimState.h */ ! /* Copyright (C) 2003-2006 Dewitt Colclough (de...@gc...) ** All rights reserved. *************** *** 191,194 **** --- 191,195 ---- void Update(); void UpdateAI(double afSimTime); + void UpdateScoreForDamage(tcGameObject* damager, tcGameObject* damagee, float priorDamage); void UpdateLandings(double afSimTime); void UpdateLandingState(double afSimTime); *************** *** 216,219 **** --- 217,221 ---- void EvaluateTorpedoHit(tcTorpedoObject* torp, tcGameObject* target); float GetFractionalDamage(float afDamage, tcGameObject *apGameObj); + void PerformAutoEngage(tcGameObject* apGameObj, double afTime); void PlayEntitySoundEffect(tcGameObject* obj, const std::string& effect); |