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
unit_util_generic.cpp File Reference
#include <string>
#include "cmd/unit_generic.h"
#include "cmd/unit_util.h"
#include "configxml.h"
#include "vs_globals.h"
#include "gfx/cockpit_generic.h"
#include "universe_util.h"
#include "cmd/ai/docking.h"
#include "savegame.h"
#include "cmd/planet_generic.h"
#include "faction_generic.h"
#include "cmd/ai/fire.h"
#include "role_bitmask.h"
#include "lin_time.h"
#include "networking/netserver.h"
#include "cmd/script/pythonmission.h"
#include "gfx/cockpit.h"

Go to the source code of this file.

Namespaces

 UnitUtil
 

Constant Groups

 UnitUtil
 

Functions

const UnitmakeTemplateUpgrade (string name, int faction)
 
const UnitgetUnitFromUpgradeName (const string &upgradeName, int myUnitFaction=0)
 
bool isWeapon (std::string name)
 
UnitgetTopLevelOwner ()
 
static bool nameIsAsteroid (std::string name)
 
template<typename T >
static T UnitUtil::mymin (T a, T b)
 
template<typename T >
static T UnitUtil::mymax (T a, T b)
 
static const string & UnitUtil::getFgDirectiveCR (const Unit *my_unit)
 
bool UnitUtil::isAsteroid (const Unit *my_unit)
 
bool UnitUtil::isCapitalShip (const Unit *my_unit)
 
bool UnitUtil::hasDockingUnits (const Unit *my_unit)
 
int UnitUtil::getPhysicsPriority (Unit *un)
 
void UnitUtil::orbit (Unit *my_unit, Unit *orbitee, float speed, QVector R, QVector S, QVector center)
 
string UnitUtil::getFactionName (const Unit *my_unit)
 
int UnitUtil::getFactionIndex (const Unit *my_unit)
 
void UnitUtil::setFactionIndex (Unit *my_unit, int factionname)
 
void UnitUtil::setFactionName (Unit *my_unit, string factionname)
 
float UnitUtil::getFactionRelation (const Unit *my_unit, const Unit *their_unit)
 
float UnitUtil::getRelationToFaction (const Unit *my_unit, int other_faction)
 
float UnitUtil::getRelationFromFaction (const Unit *their_unit, int my_faction)
 
string UnitUtil::getName (const Unit *my_unit)
 
void UnitUtil::setName (Unit *my_unit, string name)
 
void UnitUtil::SetHull (Unit *my_unit, float hull)
 
float UnitUtil::getCredits (const Unit *my_unit)
 
void UnitUtil::addCredits (const Unit *my_unit, float credits)
 
const string & UnitUtil::getFlightgroupNameCR (const Unit *my_unit)
 
string UnitUtil::getFlightgroupName (const Unit *my_unit)
 
UnitUnitUtil::getFlightgroupLeader (Unit *my_unit)
 
bool UnitUtil::setFlightgroupLeader (Unit *my_unit, Unit *un)
 
string UnitUtil::getFgDirective (const Unit *my_unit)
 
bool UnitUtil::setFgDirective (Unit *my_unit, string inp)
 
int UnitUtil::getFgSubnumber (Unit *my_unit)
 
int UnitUtil::removeCargo (Unit *my_unit, string s, int quantity, bool erasezero)
 
void UnitUtil::RecomputeUnitUpgrades (Unit *my_unit)
 
bool UnitUtil::repair (Unit *my_unit)
 
float UnitUtil::upgrade (Unit *my_unit, string file, int mountoffset, int subunitoffset, bool force, bool loop_through_mounts)
 
int UnitUtil::removeWeapon (Unit *my_unit, string weapon, int mountoffset, bool loop_through_mounts)
 
int UnitUtil::addCargo (Unit *my_unit, Cargo carg)
 
int UnitUtil::forceAddCargo (Unit *my_unit, Cargo carg)
 
int UnitUtil::hasCargo (const Unit *my_unit, string mycarg)
 
bool UnitUtil::JumpTo (Unit *unit, string system)
 
string UnitUtil::getUnitSystemFile (const Unit *my_unit)
 
bool UnitUtil::incrementCargo (Unit *my_unit, float percentagechange, int quantity)
 
bool UnitUtil::decrementCargo (Unit *my_unit, float percentagechange)
 
Cargo UnitUtil::GetCargoIndex (const Unit *my_unit, int index)
 
Cargo UnitUtil::GetCargo (const Unit *my_unit, std::string cargname)
 
bool UnitUtil::isDockableUnit (const Unit *my_unit)
 
bool UnitUtil::isCloseEnoughToDock (const Unit *my_unit, const Unit *un)
 
float UnitUtil::getDistance (const Unit *my_unit, const Unit *un)
 
float UnitUtil::getSignificantDistance (const Unit *un, const Unit *sig)
 
bool UnitUtil::isSun (const Unit *my_unit)
 
bool UnitUtil::isSignificant (const Unit *my_unit)
 
int UnitUtil::isPlayerStarship (const Unit *un)
 
void UnitUtil::setSpeed (Unit *un, float speed)
 
float UnitUtil::maxSpeed (const Unit *un)
 
float UnitUtil::maxAfterburnerSpeed (const Unit *un)
 
void UnitUtil::setECM (Unit *un, int NewECM)
 
int UnitUtil::getECM (const Unit *un)
 
static bool UnitUtil::ishere (const Unit *par, const Unit *look)
 
UnitUnitUtil::owner (const Unit *un)
 
void UnitUtil::performDockingOperations (Unit *un, Unit *unitToDockWith, int actuallyDockP)
 
float UnitUtil::PercentOperational (Unit *un, std::string name, std::string category, bool countHullAndArmorAsFull)
 
void UnitUtil::setMissionRelevant (Unit *my_unit)
 

Variables

const char * DamagedCategory
 

Function Documentation

Unit* getTopLevelOwner ( )

Definition at line 320 of file star_system_generic.cpp.

321 {
322  return (Unit*) 0x31337; //FIXME How about telling us a little story behind this function? --chuck_starchaser
323 }
const Unit* getUnitFromUpgradeName ( const string &  upgradeName,
int  myUnitFaction = 0 
)

Definition at line 37 of file unit_functions_generic.cpp.

38 {
39  const char *name = upgradeName.c_str();
41  if (!partUnit) {
45  }
46  if (partUnit->name == "LOAD_FAILED") {
47  partUnit = UnitConstCache::getCachedConst( StringIntKey( name, myUnitFaction ) );
48  if (!partUnit)
49  partUnit = UnitConstCache::setCachedConst( StringIntKey( name, myUnitFaction ),
50  UnitFactory::createUnit( name, true, myUnitFaction ) );
51  }
52  return partUnit;
53 }
bool isWeapon ( std::string  name)

Definition at line 8815 of file unit_generic.cpp.

8816 {
8817  if (name.find( "Weapon" ) != std::string::npos)
8818  return true;
8819  if (name.find( "SubUnit" ) != std::string::npos)
8820  return true;
8821  if (name.find( "Ammunition" ) != std::string::npos)
8822  return true;
8823  return false;
8824 }
const Unit* makeTemplateUpgrade ( string  name,
int  faction 
)

Definition at line 4921 of file unit_generic.cpp.

References UnitFactory::createUnit(), StarSystemGent::faction, ClassCache< Typ, Key >::getCachedConst(), GetUnitDir(), LOAD_FAILED, Unit::name, and ClassCache< Typ, Key >::setCachedConst().

4922 {
4923  char *unitdir = GetUnitDir( name.c_str() );
4924  string limiternam = string( unitdir )+string( ".template" );
4925  free( unitdir );
4926  const Unit *lim = UnitConstCache::getCachedConst( StringIntKey( limiternam, faction ) );
4927  if (!lim) {
4928  lim =
4930  faction ), UnitFactory::createUnit( limiternam.c_str(), true, faction ) );
4931  }
4932  if (lim->name == LOAD_FAILED)
4933  lim = NULL;
4934  return lim;
4935 }
static bool nameIsAsteroid ( std::string  name)
static

Definition at line 28 of file unit_util_generic.cpp.

Referenced by UnitUtil::isAsteroid().

29 {
30  if (name.length() < 8) return false;
31  return (name[0] == 'A' || name[0] == 'a')
32  && name[1] == 's'
33  && name[2] == 't'
34  && name[3] == 'e'
35  && name[4] == 'r'
36  && name[5] == 'o'
37  && name[6] == 'i'
38  && name[7] == 'd'
39  ;
40 }

Variable Documentation

const char* DamagedCategory

Definition at line 4970 of file unit_generic.cpp.