Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GameNebula Class Reference

#include <nebula.h>

Inheritance diagram for GameNebula:
GameUnit< Nebula > Nebula Unit

Public Member Functions

virtual void UpdatePhysics2 (const Transformation &trans, const Transformation &old_physical_state, const Vector &accel, float difficulty, const Matrix &transmat, const Vector &CumulativeVelocity, bool ResolveLast, UnitCollection *uc=NULL)
 returns true if jump possible even if not taken More...
 
void SetFogState ()
 
void PutInsideCam (int)
 
- Public Member Functions inherited from GameUnit< Nebula >
 GameUnit (int dummy)
 
 GameUnit (std::vector< Mesh * > &meshes, bool Subunit, int faction)
 
 GameUnit (const char *filename, bool SubUnit, int faction, std::string customizedUnit=std::string(""), Flightgroup *flightgroup=NULL, int fg_subnumber=0, std::string *netxml=NULL)
 
virtual ~GameUnit ()
 
int nummesh () const
 
UnitImages< void > & GetImageInformation ()
 
bool RequestClearance (Unit *dockingunit)
 
void UpgradeInterface (Unit *base)
 Loads a user interface for the user to upgrade his ship. More...
 
virtual void Cloak (bool cloak)
 The name (type) of this unit shouldn't be public. More...
 
void Split (int level)
 
void FixGauges ()
 
void UpdateHudMatrix (int whichcam)
 Sets the camera to be within this unit. More...
 
VSSpritegetHudImage () const
 What's the HudImage of this unit. More...
 
virtual void Draw (const Transformation &quat, const Matrix &m)
 Draws this unit with the transformation and matrix (should be equiv) separately. More...
 
virtual void Draw (const Transformation &quat)
 
virtual void Draw ()
 
virtual void DrawNow (const Matrix &m, float lod=1000000000)
 
virtual void DrawNow ()
 
void addHalo (const char *filename, const QVector &loc, const Vector &size, const GFXColor &col, std::string halo_type, float halo_speed)
 Deprecated. More...
 
virtual void applyTechniqueOverrides (const std::map< std::string, std::string > &overrides)
 
bool TransferUnitToSystem (unsigned int whichJumpQueue, StarSystem *&previouslyActiveStarSystem, bool DoSightAndSound)
 
bool Explode (bool draw, float timeit)
 Begin and continue explosion. More...
 
bool queryFrustum (double frustum[6][4]) const
 
*bool querySphereClickList (int, int, float err, Camera *activeCam)
 
void Thrust (const Vector &amt, bool afterburn=false)
 Thrusts by ammt and clamps accordingly (afterburn or not) More...
 
Vector ResolveForces (const Transformation &, const Matrix &)
 Resolves forces of given unit on a physics frame. More...
 
virtual void ArmorDamageSound (const Vector &pnt)
 
virtual void HullDamageSound (const Vector &pnt)
 
float DealDamageToShield (const Vector &pnt, float &Damage)
 applies damage from the given pnt to the shield, and returns % damage applied and applies lighitn More...
 
bool UpgradeSubUnits (const Unit *up, int subunitoffset, bool touchme, bool downgrade, int &numave, double &percentage)
 
double Upgrade (const std::string &file, int mountoffset, int subunitoffset, bool force, bool loop_through_mounts)
 
Matrix WarpMatrix (const Matrix &ctm) const
 Holds temporary values for inter-function XML communication Saves deprecated restr info. More...
 
- Public Member Functions inherited from Nebula
void InitNebula (const char *unitfile, bool SubU, int faction, Flightgroup *fg, int fg_snumber)
 
float getFade ()
 
virtual enum clsptr isUnit () const
 
virtual void reactToCollision (Unit *smaller, const QVector &biglocation, const Vector &bignormal, const QVector &smalllocation, const Vector &smallnormal, float dist)
 
- Public Member Functions inherited from Unit
 Unit (bool kill)
 
void Kill ()
 
bool Killed ()
 
void Ref ()
 
void UnRef ()
 
 Unit ()
 
 Unit (int dummy)
 
 Unit (std::vector< Mesh * > &meshes, bool Subunit, int faction)
 
 Unit (const char *filename, bool SubUnit, int faction, std::string customizedUnit=std::string(""), Flightgroup *flightgroup=NULL, int fg_subnumber=0, std::string *netxml=NULL)
 
void Init ()
 
void Init (const char *filename, bool SubUnit, int faction, std::string customizedUnit=std::string(""), Flightgroup *flightgroup=NULL, int fg_subnumber=0, std::string *netxml=NULL)
 
void LoadRow (class CSVRow &row, std::string unitMod, std::string *netxml=NULL)
 
virtual ~Unit ()
 
void SetNetworkMode (bool mode=true)
 
ObjSerial GetSerial () const
 
void SetSerial (ObjSerial)
 
void BackupState ()
 
bool UpgradeSubUnitsWithFactory (const Unit *up, int subunitoffset, bool touchme, bool downgrade, int &numave, double &percentage, Unit *(*createupgradesubunit)(std::string s, int faction))
 
bool UpgradeMounts (const Unit *up, int subunitoffset, bool touchme, bool downgrade, int &numave, const Unit *templ, double &percentage)
 
un_iter getSubUnits ()
 
un_kiter viewSubUnits () const
 
bool isSubUnit () const
 
void setFaceCamera ()
 
bool UpAndDownGrade (const Unit *up, const Unit *templ, int mountoffset, int subunitoffset, bool touchme, bool downgrade, int additive, bool forcetransaction, double &percentage, const Unit *downgrade_min, bool force_change_on_nothing, bool gen_downgrade_list)
 
void ImportPartList (const std::string &category, float price, float pricedev, float quantity, float quantdev)
 
int GetNumMounts () const
 
void ClearMounts ()
 
bool canUpgrade (const Unit *upgrador, int mountoffset, int subunitoffset, int additive, bool force, double &percentage, const Unit *templ=NULL, bool force_change_on_nothing=false, bool gen_downgrade_list=true)
 
bool Upgrade (const Unit *upgrador, int mountoffset, int subunitoffset, int additive, bool force, double &percentage, const Unit *templ=NULL, bool force_change_on_nothing=false, bool gen_downgrade_list=true)
 
int RepairCost ()
 
int RepairUpgrade ()
 
bool RepairUpgradeCargo (Cargo *item, Unit *baseUnit, float *credits)
 
Vector MountPercentOperational (int whichmount)
 
bool ReduceToTemplate ()
 
bool canDowngrade (const Unit *downgradeor, int mountoffset, int subunitoffset, double &percentage, const Unit *downgradelimit, bool gen_downgrade_list=true)
 
bool Downgrade (const Unit *downgradeor, int mountoffset, int subunitoffset, double &percentage, const Unit *downgradelimit, bool gen_downgrade_list=true)
 
unsigned attackPreference () const
 
void attackPreference (unsigned char)
 
unsigned unitRole () const
 
void unitRole (unsigned char)
 
void setCombatRole (const std::string &s)
 
const std::string & getCombatRole () const
 
const std::string & getUnitRole () const
 
void setUnitRole (const std::string &s)
 
const std::string & getAttackPreference () const
 
void setAttackPreference (const std::string &s)
 
void DamageRandSys (float dam, const Vector &vec, float randum=1, float degrees=1)
 
void SetNebula (Nebula *)
 
NebulaGetNebula () const
 
const std::string & getCockpit () const
 
class CockpitGetVelocityDifficultyMult (float &) const
 
void RemoveFromSystem ()
 
void RequestPhysics ()
 
bool InCorrectStarSystem (StarSystem *)
 
std::vector< Mesh * > StealMeshes ()
 
void Destroy ()
 
const std::vector< std::string > & GetDestinations () const
 
void AddDestination (const std::string &)
 
void SwitchCombatFlightMode ()
 
bool CombatMode ()
 
virtual bool TransferUnitToSystem (StarSystem *NewSystem)
 
StarSystemgetStarSystem ()
 
const StarSystemgetStarSystem () const
 
const UnitJumpGetJumpStatus () const
 
float CourseDeviation (const Vector &OriginalCourse, const Vector &FinalCourse) const
 
ComputerGetComputerData ()
 
const ComputerViewComputerData () const
 
void ActivateJumpDrive (int destination=0)
 
void DeactivateJumpDrive ()
 
void beginElement (const std::string &name, const XMLSupport::AttributeList &attributes)
 
void endElement (const std::string &name)
 
void WriteUnit (const char *modificationname="")
 
std::string WriteUnitString ()
 
void LoadXML (const char *filename, const char *unitModifications="", std::string *xmlbuffer=NULL)
 
void LoadXML (VSFileSystem::VSFile &f, const char *unitModifications="", std::string *xmlbuffer=NULL)
 
bool AutoPilotToErrorMessage (Unit *un, bool automaticenergyrealloc, std::string &failuremessage, int recursive_level=2)
 
bool AutoPilotTo (Unit *un, bool automaticenergyrealloc)
 
Vector LocalCoordinates (Unit *un) const
 
float CloakVisible () const
 
void Kill (bool eraseFromSave=true, bool quitting=false)
 
bool Killed () const
 
bool IsExploding () const
 
float ExplodingProgress () const
 
float AfterburnData () const
 
void SetAfterBurn (float aft)
 
float FuelData () const
 
float WarpCapData () const
 
void SetFuel (float f)
 
float EnergyRechargeData () const
 
void SetEnergyRecharge (float enrech)
 
void SetMaxEnergy (float maxen)
 
float MaxEnergyData () const
 
float ShieldRechargeData () const
 
float EnergyData () const
 
float WarpEnergyData () const
 
float GetWarpEnergy () const
 
void DecreaseWarpEnergy (bool insystem, float time=1.0f)
 
void IncreaseWarpEnergy (bool insystem, float time=1.0f)
 
bool RefillWarpEnergy ()
 
float rSize () const
 
QVector Position () const
 
const MatrixGetTransformation () const
 
QVector LocalPosition () const
 
void SetPosition (const QVector &pos)
 
void SetCurPosition (const QVector &pos)
 Sets the cumulative transformation matrix's position...for setting up to be out in the middle of nowhere. More...
 
void SetPosAndCumPos (const QVector &pos)
 
void SetVisible (bool isvis)
 
void SetAllVisible (bool isvis)
 
void SetGlowVisible (bool isvis)
 
void Rotate (const Vector &axis)
 
void FireEngines (const Vector &Direction, float FuelSpeed, float FMass)
 
void ApplyForce (const Vector &Vforce)
 
void ApplyLocalForce (const Vector &Vforce)
 
void Accelerate (const Vector &Vforce)
 
void ApplyTorque (const Vector &Vforce, const QVector &Location)
 
void ApplyLocalTorque (const Vector &Vforce, const Vector &Location)
 
void ApplyBalancedLocalTorque (const Vector &Vforce, const Vector &Location)
 
void ApplyLocalTorque (const Vector &torque)
 
float ApplyLocalDamage (const Vector &pnt, const Vector &normal, float amt, Unit *affectedSubUnit, const GFXColor &, float phasedamage=0)
 
void ApplyNetDamage (Vector &pnt, Vector &normal, float amt, float ppercentage, float spercentage, GFXColor &color)
 
void ApplyDamage (const Vector &pnt, const Vector &normal, float amt, Unit *affectedSubUnit, const GFXColor &, void *ownerDoNotDereference, float phasedamage=0)
 
void LightShields (const Vector &pnt, const Vector &normal, float amt, const GFXColor &color)
 
float DealDamageToHullReturnArmor (const Vector &pnt, float Damage, float *&targ)
 
float DealDamageToHull (const Vector &pnt, float Damage)
 
Vector ClampThrust (const Vector &thrust, bool afterburn)
 
Vector MaxThrust (const Vector &thrust)
 
void LateralThrust (float amt)
 
void VerticalThrust (float amt)
 
void LongitudinalThrust (float amt)
 
Vector ClampVelocity (const Vector &velocity, const bool afterburn)
 
Vector ClampAngVel (const Vector &vel)
 
Vector ClampTorque (const Vector &torque)
 
Vector MaxTorque (const Vector &torque)
 
void YawTorque (float amt)
 
void PitchTorque (float amt)
 
void RollTorque (float amt)
 
void Repair ()
 
void UpdatePhysics (const Transformation &trans, const Matrix &transmat, const Vector &CumulativeVelocity, bool ResolveLast, UnitCollection *uc, Unit *superunit)
 
virtual void UpdateSubunitPhysics (const Transformation &trans, const Matrix &transmat, const Vector &CumulativeVelocity, bool ResolveLast, UnitCollection *uc, Unit *superunit)
 
virtual void UpdateSubunitPhysics (Unit *subunit, const Transformation &trans, const Matrix &transmat, const Vector &CumulativeVelocity, bool ResolveLast, UnitCollection *uc, Unit *superunit)
 
void AddVelocity (float difficulty)
 
void SetOrientation (QVector q, QVector r)
 
void SetOrientation (Quaternion Q)
 
void SetOrientation (QVector p, QVector q, QVector r)
 
void GetOrientation (Vector &p, Vector &q, Vector &r) const
 
Vector GetNetAcceleration ()
 
Vector GetAcceleration () const
 
float GetMaxAccelerationInDirectionOf (const Vector &ref, bool afterburn) const
 
Vector UpCoordinateLevel (const Vector &v) const
 
Vector DownCoordinateLevel (const Vector &v) const
 
Vector ToLocalCoordinates (const Vector &v) const
 
Vector ToWorldCoordinates (const Vector &v) const
 
const VectorGetAngularVelocity () const
 
const VectorGetVelocity () const
 
Vector GetWarpVelocity () const
 
void SetVelocity (const Vector &)
 
void SetAngularVelocity (const Vector &)
 
float GetMoment () const
 
float GetMass () const
 
float GetElasticity ()
 
const LimitsLimits () const
 
void SetResolveForces (bool)
 
void setAverageGunSpeed ()
 
int LockMissile () const
 
void LockTarget (bool myboo)
 
bool TargetLocked () const
 
float TrackingGuns (bool &missileLock)
 
void ToggleWeapon (bool Missile, bool forward=true)
 
void SelectAllWeapon (bool Missile)
 
void getAverageGunSpeed (float &speed, float &grange, float &mrange) const
 
QVector PositionITTS (const QVector &firingposit, Vector firingvelocity, float gunspeed, bool smooth_itts) const
 
float FShieldData () const
 
float RShieldData () const
 
float LShieldData () const
 
float BShieldData () const
 
void ArmorData (float armor[8]) const
 
float GetHull () const
 
float GetHullPercent () const
 
void Fire (unsigned int bitmask, bool beams_target_owner=false)
 
void UnFire ()
 
void leach (float XshieldPercent, float YrechargePercent, float ZenergyPercent)
 
bool InRange (Unit *target, bool cone=true, bool cap=true) const
 
bool InRange (Unit *target, double &mm, bool cone, bool cap, bool lock) const
 
UnitTarget ()
 
UnitVelocityReference ()
 
UnitThreat ()
 
void VelocityReference (Unit *targ)
 
void TargetTurret (Unit *targ)
 
void Threaten (Unit *targ, float danger)
 
void ResetThreatLevel ()
 
float cosAngleTo (Unit *target, float &distance, float speed=0.001, float range=0.001, bool turnmargin=true) const
 
float cosAngleFromMountTo (Unit *target, float &distance) const
 
float computeLockingPercent ()
 
void Select ()
 
void Deselect ()
 
void Target (Unit *targ)
 
void setTargetFg (std::string primary, std::string secondary=std::string(), std::string tertiary=std::string())
 
void ReTargetFg (int which_target=0)
 
bool CanAddCargo (const Cargo &carg) const
 
void AddCargo (const Cargo &carg, bool sort=true)
 
int RemoveCargo (unsigned int i, int quantity, bool eraseZero=true)
 
float PriceCargo (const std::string &s)
 
CargoGetCargo (unsigned int i)
 
const CargoGetCargo (unsigned int i) const
 
void GetSortedCargoCat (const std::string &category, size_t &catbegin, size_t &catend)
 
CargoGetCargo (const std::string &s, unsigned int &i)
 
const CargoGetCargo (const std::string &s, unsigned int &i) const
 
unsigned int numCargo () const
 
std::string GetManifest (unsigned int i, Unit *scanningUnit, const Vector &original_velocity) const
 
bool SellCargo (unsigned int i, int quantity, float &creds, Cargo &carg, Unit *buyer)
 
bool SellCargo (const std::string &s, int quantity, float &creds, Cargo &carg, Unit *buyer)
 
bool BuyCargo (const Cargo &carg, float &creds)
 
bool BuyCargo (unsigned int i, unsigned int quantity, Unit *buyer, float &creds)
 
bool BuyCargo (const std::string &cargo, unsigned int quantity, Unit *buyer, float &creds)
 
void EjectCargo (unsigned int index)
 
float getEmptyCargoVolume (void) const
 
float getCargoVolume (void) const
 
float getEmptyUpgradeVolume (void) const
 
float getUpgradeVolume (void) const
 
float getHiddenCargoVolume (void) const
 
class csOPCODECollidergetCollideTree (const Vector &scale=Vector(1, 1, 1), const std::vector< struct mesh_polygon > *=NULL)
 
OrdergetAIState () const
 
void PrimeOrders ()
 
void PrimeOrdersLaunched ()
 
void PrimeOrders (Order *newAI)
 
void SetAI (Order *newAI)
 
void EnqueueAI (Order *newAI)
 
void EnqueueAIFirst (Order *newAI)
 
void LoadAIScript (const std::string &aiscript)
 
bool LoadLastPythonAIScript ()
 
bool EnqueueLastPythonAIScript ()
 
double getMinDis (const QVector &pnt)
 
void SetTurretAI ()
 
void DisableTurretAI ()
 
std::string getFullAIDescription ()
 
void eraseOrderType (unsigned int type)
 
void ExecuteAI ()
 
void SetCollisionParent (Unit *name)
 
void SetOwner (Unit *target)
 
void SetRecursiveOwner (Unit *target)
 
UnitrayCollide (const QVector &st, const QVector &end, Vector &normal, float &distance)
 
void calculate_extent (bool update_collide_queue)
 
bool Inside (const QVector &position, const float radius, Vector &normal, float &dist)
 
void UpdateCollideQueue (StarSystem *ss, CollideMap::iterator hint[NUM_COLLIDE_MAPS])
 
bool querySphere (const QVector &pnt, float err) const
 
float querySphere (const QVector &start, const QVector &end, float my_unit_radius=0) const
 
float querySphereNoRecurse (const QVector &start, const QVector &end, float my_unit_radius=0) const
 
float querySphereClickList (const QVector &st, const QVector &dir, float err) const
 
bool queryFrustum (double frustum[6][4]) const
 
bool InsideCollideTree (Unit *smaller, QVector &bigpos, Vector &bigNormal, QVector &smallpos, Vector &smallNormal, bool bigasteroid=false, bool smallasteroid=false)
 
bool jumpReactToCollision (Unit *smaller)
 
bool Collide (Unit *target)
 
void CollideAll ()
 
int CanDockWithMe (Unit *dockingunit, bool forcedock=false)
 
int ForceDock (Unit *utdw, unsigned int whichdockport)
 
void PerformDockingOperations ()
 
void FreeDockingPort (unsigned int whichport)
 
const std::vector< struct
DockingPorts > & 
DockingPortLocations () const
 
char DockedOrDocking () const
 
bool IsCleared (const Unit *dockignunit) const
 
bool isDocked (const Unit *dockingUnit) const
 
bool UnDock (Unit *unitToDockWith)
 
bool RequestClearance (Unit *dockingunit)
 
bool EndRequestClearance (Unit *dockingunit)
 
bool hasPendingClearanceRequests () const
 
int Dock (Unit *unitToDockWith)
 
void RestoreGodliness ()
 
void SetFg (Flightgroup *fg, int fg_snumber)
 
void SetFaction (int faction)
 
FlightgroupgetFlightgroup () const
 
int getFgSubnumber () const
 
const std::string getFgID ()
 
std::vector< class CargoColor > & FilterDowngradeList (std::vector< class CargoColor > &mylist, bool downgrade=true)
 
std::vector< class CargoColor > & FilterUpgradeList (std::vector< class CargoColor > &mylist)
 
bool IsBase () const
 
bool isTractorable (enum tractorHow how=tractorBoth) const
 
void setTractorability (enum tractorHow how)
 
enum tractorHow getTractorability () const
 
void setFullname (std::string name)
 
const string & getFullname () const
 
const string & getFilename () const
 
void Ref ()
 
void UnRef ()
 
UnitImages< void > & GetImageInformation ()
 
bool isStarShip () const
 
bool isPlanet () const
 
bool isJumppoint () const
 
bool isEnemy (const Unit *other) const
 
bool isFriend (const Unit *other) const
 
bool isNeutral (const Unit *other) const
 
float getRelation (const Unit *other) const
 
void TurretFAW ()
 

Protected Member Functions

 GameNebula (const char *unitfile, bool SubU, int faction, Flightgroup *fg=NULL, int fg_snumber=0)
 constructor only to be called by UnitFactory More...
 

Friends

class UnitFactory
 

Additional Inherited Members

- Public Types inherited from Unit
enum  DAMAGES {
  NO_DAMAGE =0x00, SHIELD_DAMAGED =0x01, COMPUTER_DAMAGED =0x02, MOUNT_DAMAGED =0x04,
  CARGOFUEL_DAMAGED =0x08, JUMP_DAMAGED =0x10, CLOAK_DAMAGED =0x20, LIMITS_DAMAGED =0x40,
  ARMOR_DAMAGED =0x80
}
 
enum  schedulepriorityenum { scheduleDefault, scheduleAField, scheduleRoid }
 
enum  COLLIDELOCATIONTYPES { UNIT_ONLY =0, UNIT_BOLT =1, NUM_COLLIDE_MAPS =2 }
 
enum  DOCKENUM { NOT_DOCKED =0x0, DOCKED_INSIDE =0x1, DOCKED =0x2, DOCKING_UNITS =0x4 }
 
enum  tractorHow { tractorImmune =0, tractorPush =1, tractorIn =2, tractorBoth =3 }
 
- Static Public Member Functions inherited from Unit
static void ProcessDeleteQueue ()
 
static void beginElement (void *userData, const XML_Char *name, const XML_Char **atts)
 
static void endElement (void *userData, const XML_Char *name)
 
static UnitmakeMasterPartList ()
 
- Public Attributes inherited from GameUnit< Nebula >
double sparkle_accum
 
std::auto_ptr< HaloSystemphalos
 
- Protected Types inherited from Unit
enum  INVIS { DEFAULTVIS =0x0, INVISGLOW =0x1, INVISUNIT =0x2, INVISCAMERA =0x4 }
 
- Static Protected Member Functions inherited from Nebula
static void beginElement (void *Userdata, const XML_Char *name, const XML_Char **atts)
 
- Protected Attributes inherited from Nebula
Vector color
 
float Density
 
float fognear
 
float fogfar
 
int index
 
float explosiontime
 
enum FOGMODE fogmode
 
bool fogme
 
float lastfadein
 
float fadeinvalue
 

Detailed Description

Definition at line 6 of file nebula.h.

Constructor & Destructor Documentation

GameNebula::GameNebula ( const char *  unitfile,
bool  SubU,
int  faction,
Flightgroup fg = NULL,
int  fg_snumber = 0 
)
protected

constructor only to be called by UnitFactory

Definition at line 30 of file nebula.cpp.

References Nebula::fadeinvalue, GameNebula(), Nebula::InitNebula(), and Nebula::lastfadein.

Referenced by GameNebula().

30  :
31  GameUnit< Nebula > ( unitfile, SubU, faction, string( "" ), fg, fg_snumber )
32 {
33  Nebula::InitNebula( unitfile, SubU, faction, fg, fg_snumber );
34  fadeinvalue = 0;
35  lastfadein = 0;
36 }

Member Function Documentation

void GameNebula::PutInsideCam ( int  i)
virtual

Reimplemented from Nebula.

Definition at line 76 of file nebula.cpp.

References _Universe, Universe::AccessCamera(), Nebula::fadeinvalue, VegaConfig::getVariable(), XMLSupport::parse_float(), Camera::SetNebula(), SIMULATION_ATOM, and vs_config.

Referenced by UpdatePhysics2().

77 {
78  static float nebdelta = XMLSupport::parse_float( vs_config->getVariable( "graphics", "fog_time", ".01" ) );
79  static float fadeinrate = XMLSupport::parse_float( vs_config->getVariable( "graphics", "fog_fade_in_percent", "0.5" ) );
80  if ( _Universe->AccessCamera() == _Universe->AccessCamera( i ) ) {
81  fadeinvalue += (1+fadeinrate)*nebdelta*SIMULATION_ATOM;
82  if (fadeinvalue > 1)
83  fadeinvalue = 1;
84  }
85  _Universe->AccessCamera( i )->SetNebula( this );
86 }
void GameNebula::SetFogState ( )
virtual
void GameNebula::UpdatePhysics2 ( const Transformation trans,
const Transformation old_physical_state,
const Vector accel,
float  difficulty,
const Matrix transmat,
const Vector CumulativeVelocity,
bool  ResolveLast,
UnitCollection uc = NULL 
)
virtual

returns true if jump possible even if not taken

Updates physics given unit space transformations and if this is the last physics frame in the current gfx frame

Reimplemented from GameUnit< Nebula >.

Definition at line 37 of file nebula.cpp.

References _Universe, Universe::AccessCamera(), Universe::AccessCockpit(), Universe::activeStarSystem(), Cockpit::activeStarSystem, Nebula::color, Nebula::explosiontime, Nebula::fadeinvalue, Camera::GetPosition(), VegaConfig::getVariable(), i, Unit::Inside(), Nebula::lastfadein, Unit::meshdata, NUM_CAM, GameUnit< Nebula >::nummesh(), XMLSupport::parse_float(), PutInsideCam(), Unit::rSize(), SIMULATION_ATOM, t1(), GameUnit< UnitType >::UpdatePhysics2(), Vector, and vs_config.

45 {
46  static float nebdelta = XMLSupport::parse_float( vs_config->getVariable( "graphics", "fog_time", ".01" ) );
48  fadeinvalue -= nebdelta*SIMULATION_ATOM;
49  if (fadeinvalue < 0)
50  fadeinvalue = 0;
52  old_physical_state,
53  accel,
54  difficulty,
55  transmat,
56  CumulativeVelocity,
57  ResolveLast,
58  uc );
59  Vector t1;
60  float dis;
61  unsigned int i;
63  for (i = 0; i < NUM_CAM; i++)
64  if ( Inside( _Universe->AccessCamera( i )->GetPosition(), 0, t1, dis ) )
65  PutInsideCam( i );
66  }
67  if (nummesh() > 0) {
68  i = rand()%( nummesh() );
69  Vector randexpl( rand()%2*rSize()-rSize(), rand()%2*rSize()-rSize(), rand()%2*rSize()-rSize() );
70  if ( ( (int) (explosiontime/SIMULATION_ATOM) ) != 0 )
71  if ( !( rand()%( (int) (explosiontime/SIMULATION_ATOM) ) ) )
72  meshdata[i]->AddDamageFX( randexpl, Vector( 0, 0, 0 ), .00001, color );
73  }
74 }

Friends And Related Function Documentation

friend class UnitFactory
friend

Definition at line 12 of file nebula.h.


The documentation for this class was generated from the following files: