Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
|
#include <flybywire.h>
Public Member Functions | |
FlyByWire () | |
~FlyByWire () | |
void | SwitchFlightMode () |
void | ThrustRight (float percent) |
Turns on or off velocity resolution. More... | |
void | ThrustUp (float percent) |
void | ThrustFront (float percent) |
void | DirectThrustRight (float percent) |
void | DirectThrustUp (float percent) |
void | DirectThrustFront (float percent) |
void | SheltonSlide (bool onoff) |
void | InertialFlight (bool onoff) |
bool | InertialFlight () const |
bool | InertialFlightEnable () const |
void | Stop (float percentage) |
Stops... sets desired velocity to 0. More... | |
void | Right (float percentage) |
pass in the percentage of the turn they were turnin right. -age indicates left More... | |
void | Up (float percentage) |
pass in the percentage of the turn they were turning up More... | |
void | RollRight (float percentage) |
void | Afterburn (float percentage) |
Specifies match speed to use afterbuner and gives in higher velocity. More... | |
void | MatchSpeed (const Vector &velocity) |
matches set_speed to this velocity's magnitude More... | |
void | Accel (float percentage) |
negative is decel... 0 = nothing More... | |
void | Execute () |
The function that gets called and executes all queued suborders. More... | |
virtual std::string | getOrderDescription () |
![]() | |
MatchVelocity (const Vector &desired, const Vector &desired_ang, const bool Local, const bool afterburner, const bool fini=true) | |
void | SetDesiredVelocity (const Vector &desired, const bool Local) |
void | SetAfterburn (bool use_afterburn) |
virtual | ~MatchVelocity () |
![]() | |
MatchAngularVelocity (const Vector &desired, bool Local, bool fini=true) | |
void | SetDesiredAngularVelocity (const Vector &desired, bool Local) |
virtual | ~MatchAngularVelocity () |
![]() | |
virtual void | ChooseTarget () |
this function calls the destructor (needs to be overridden for python; More... | |
virtual bool | PursueTarget (Unit *, bool isleader) |
void | ClearMessages () |
clears the messasges of this order More... | |
Order () | |
The default constructor setting everything to NULL and no dependency on order. More... | |
Order (int type, int subtype) | |
The constructor that specifies what order dependencies this order has. More... | |
virtual void | Destroy () |
The virutal function that unrefs all memory then calls Destruct () which takes care of unreffing this or calling delete on this. More... | |
Order * | queryType (unsigned int type) |
returns a pointer to the first order that may be bitwised ored with that type More... | |
Order * | queryAny (unsigned int type) |
returns a pointer to the first order that may be bitwise ored with any type More... | |
void | eraseType (unsigned int type) |
Erases all orders that bitwise OR with that type. More... | |
bool | AttachOrder (Unit *targets) |
Attaches a group of targets to this order (used for strategery-type games) More... | |
bool | AttachOrder (QVector target) |
Attaches a navigation point to this order. More... | |
bool | AttachSelfOrder (Unit *targets) |
Attaches a group (form up) to this order. More... | |
Order * | EnqueueOrder (Order *ord) |
Enqueues another order that will be executed (in parallel perhaps) when next void Execute() is called. More... | |
Order * | ReplaceOrder (Order *ord) |
Replaces the first order of that type in the order queue. More... | |
bool | Done () |
int | getType () |
int | getSubType () |
virtual void | SetParent (Unit *parent1) |
Sets the parent of this Unit. Any virtual functions must call this one. More... | |
Unit * | GetParent () const |
virtual void | Communicate (const class CommunicationMessage &c) |
Sends a communication message from the Unit (encapulated in c) to this unit. More... | |
virtual void | ProcessCommMessage (class CommunicationMessage &c) |
processes a single message...generally called by the Messages() func More... | |
virtual void | ProcessCommunicationMessages (float CommRepsonseTime, bool RemoveMessageProcessed) |
responds (or does not) to certain messages in the message queue More... | |
Order * | findOrder (Order *ord) |
return pointer to order or NULL if not found More... | |
void | eraseOrder (Order *ord) |
erase that order from the list More... | |
Order * | EnqueueOrderFirst (Order *ord) |
enqueue order as first order More... | |
virtual olist_t * | getOrderList () |
returns the orderlist (NULL for orders that haven't got any) More... | |
virtual void | AdjustRelationTo (Unit *un, float factor) |
Order * | findOrderList () |
searches the suborders recursively for the first order that has an orderlist More... | |
std::string | createFullOrderDescription (int level=0) |
void | setActionString (std::string astring) |
std::string | getActionString () |
virtual float | getMood () |
Protected Attributes | |
Vector | DesiredShiftVelocity |
Vector | DirectThrust |
bool | sheltonslide |
If shelton slide, do not have the computer match linear. More... | |
bool | controltype |
bool | inertial_flight_model |
bool | inertial_flight_enable |
bool | stolen_setspeed |
float | stolen_setspeed_value |
![]() | |
Vector | desired_velocity |
werld space... generally r*speed or local space More... | |
bool | LocalVelocity |
Is the above in world space? More... | |
bool | afterburn |
![]() | |
Vector | desired_ang_velocity |
werld space or local space (pitch = 1 on the x axis) More... | |
bool | LocalAng |
specified in Local or World coordinates More... | |
bool | willfinish |
Whether this script should terminate upon reaching desired angular velocity. More... | |
![]() | |
Unit * | parent |
The unit this order is attached to. More... | |
unsigned int | type |
The bit code (from ORDERTYPES) that this order is (for parallel execution) More... | |
unsigned int | subtype |
bool | done |
Whether or not this order is done. More... | |
UnitContainer | group |
If this order applies to a group of units (as in form up with this group) More... | |
QVector | targetlocation |
If this order applies to a physical location in world space. More... | |
std::vector< Order * > | suborders |
The queue of suborders that will be executed in parallel according to bit code. More... | |
std::list< class CommunicationMessage * > | messagequeue |
a bunch of communications that have not been answered CommunicationMessages are actually containing reference to a nice Finite State Machine that can allow a player to have a reasonable conversation with an AI More... | |
std::string | actionstring |
Additional Inherited Members | |
![]() | |
enum | ORDERTYPES { MOVEMENT =1, FACING =2, WEAPON =4, CLOAKING =8, ALLTYPES =(1|2|4|8) } |
The varieties of order types MOVEMENT,FACING, and WEAPON orders may not be mutually executed (lest one engine goes left, the other right) More... | |
enum | SUBORDERTYPES { SLOCATION =1, STARGET =2, SSELF =4 } |
![]() | |
virtual | ~Order () |
virtual void | Destructor () |
changes the local relation of this unit to another...may inform superiors about "good" or bad! behavior depending on the AI More... | |
This class uses a parent's computer struct to set the appropriate desired linear and angular velocity based on what the user input may be
Definition at line 152 of file flybywire.h.
FlyByWire::FlyByWire | ( | ) |
Definition at line 155 of file flybywire.cpp.
References DesiredShiftVelocity, DirectThrust, VegaConfig::getVariable(), inertial_flight_enable, inertial_flight_model, XMLSupport::parse_bool(), stolen_setspeed, stolen_setspeed_value, Vector, and vs_config.
FlyByWire::~FlyByWire | ( | ) |
void FlyByWire::Accel | ( | float | percentage) |
negative is decel... 0 = nothing
Definition at line 245 of file flybywire.cpp.
References Orders::MatchVelocity::afterburn, Orders::MatchVelocity::desired_velocity, Unit::GetComputerData(), VegaConfig::getVariable(), Unit::Computer::max_speed(), Order::parent, XMLSupport::parse_float(), Unit::Computer::set_speed, SIMULATION_ATOM, Vector, and vs_config.
Referenced by FlyByKeyboard::Execute().
void FlyByWire::Afterburn | ( | float | percentage) |
Specifies match speed to use afterbuner and gives in higher velocity.
Definition at line 215 of file flybywire.cpp.
References _Universe, Universe::AccessCockpit(), Orders::MatchVelocity::afterburn, Unit::Limits::afterburn, Orders::MatchVelocity::desired_velocity, DirectThrust, Unit::GetComputerData(), Cockpit::GetParent(), inertial_flight_model, Unit::Limits(), Unit::Computer::max_ab_speed(), Order::parent, Unit::Computer::set_speed, sheltonslide, and Vector.
Referenced by BarrelRoll(), EvadeWavy(), and FlyByKeyboard::Execute().
void FlyByWire::DirectThrustFront | ( | float | percent) |
Definition at line 287 of file flybywire.cpp.
References DirectThrust, Unit::Limits::forward, Unit::Limits(), Order::parent, and Unit::Limits::retro.
Referenced by FlyByJoystick::Execute(), and FlyByKeyboard::Execute().
void FlyByWire::DirectThrustRight | ( | float | percent) |
Definition at line 277 of file flybywire.cpp.
References DirectThrust, Unit::Limits::lateral, Unit::Limits(), and Order::parent.
Referenced by FlyByJoystick::Execute(), and FlyByKeyboard::Execute().
void FlyByWire::DirectThrustUp | ( | float | percent) |
Definition at line 282 of file flybywire.cpp.
References DirectThrust, Unit::Limits(), Order::parent, and Unit::Limits::vertical.
Referenced by FlyByJoystick::Execute(), and FlyByKeyboard::Execute().
|
virtual |
The function that gets called and executes all queued suborders.
Reimplemented from Orders::MatchVelocity.
Reimplemented in EvadeLeftRightC, FlyByKeyboard, AImissionScript, and FlyByJoystick.
Definition at line 295 of file flybywire.cpp.
References _Universe, Orders::MatchVelocity::afterburn, controltype, Orders::MatchVelocity::desired_velocity, DesiredShiftVelocity, DirectThrust, Unit::Limits::forward, Unit::GetComputerData(), getNewTime(), VegaConfig::getVariable(), inertial_flight_model, Universe::isPlayerStarship(), Unit::Limits::lateral, Unit::Limits(), Unit::Computer::max_speed(), Network, Order::parent, XMLSupport::parse_float(), Unit::Limits::retro, Unit::Computer::set_speed, sheltonslide, stolen_setspeed, stolen_setspeed_value, Unit::Thrust(), Vector, Unit::Limits::vertical, and vs_config.
Referenced by AImissionScript::Execute(), FlyByKeyboard::Execute(), and EvadeLeftRightC::Execute().
|
inlinevirtual |
Reimplemented from Orders::MatchVelocity.
Reimplemented in AImissionScript.
Definition at line 195 of file flybywire.h.
void FlyByWire::InertialFlight | ( | bool | onoff) |
Definition at line 362 of file flybywire.cpp.
References inertial_flight_model, Unit::inertialmode, and Order::parent.
bool FlyByWire::InertialFlight | ( | ) | const |
Definition at line 368 of file flybywire.cpp.
References inertial_flight_model.
Referenced by FlyByKeyboard::Execute().
bool FlyByWire::InertialFlightEnable | ( | ) | const |
Definition at line 373 of file flybywire.cpp.
References inertial_flight_enable.
void FlyByWire::MatchSpeed | ( | const Vector & | velocity) |
matches set_speed to this velocity's magnitude
Definition at line 236 of file flybywire.cpp.
References Unit::GetComputerData(), Magnitude(), Unit::Computer::max_speed(), Order::parent, and Unit::Computer::set_speed.
Referenced by BarrelRoll(), EvadeWavy(), and FlyByKeyboard::Execute().
void FlyByWire::Right | ( | float | percentage) |
pass in the percentage of the turn they were turnin right. -age indicates left
Definition at line 179 of file flybywire.cpp.
References Orders::MatchAngularVelocity::desired_ang_velocity, Unit::GetComputerData(), getTimeCompression(), Unit::Computer::max_yaw_left, Unit::Computer::max_yaw_right, Order::parent, and Vector.
Referenced by BarrelRoll(), FlyByJoystick::Execute(), and FlyByKeyboard::KeyboardRight().
void FlyByWire::RollRight | ( | float | percentage) |
Definition at line 203 of file flybywire.cpp.
References Orders::MatchAngularVelocity::desired_ang_velocity, Unit::GetComputerData(), getTimeCompression(), Unit::Computer::max_roll_left, Unit::Computer::max_roll_right, Order::parent, and Vector.
Referenced by BarrelRoll(), FlyByJoystick::Execute(), and FlyByKeyboard::KeyboardRollRight().
void FlyByWire::SheltonSlide | ( | bool | onoff) |
Definition at line 231 of file flybywire.cpp.
References sheltonslide.
Referenced by FlyByKeyboard::Execute().
void FlyByWire::Stop | ( | float | percentage) |
Stops... sets desired velocity to 0.
Definition at line 172 of file flybywire.cpp.
References Unit::GetComputerData(), Unit::Computer::max_speed(), Order::parent, Unit::Computer::set_speed, Orders::MatchVelocity::SetDesiredVelocity(), and Vector.
Referenced by FlyByKeyboard::Execute().
|
inline |
Definition at line 166 of file flybywire.h.
References controltype.
Referenced by FlyByKeyboard::Execute().
void FlyByWire::ThrustFront | ( | float | percent) |
Definition at line 272 of file flybywire.cpp.
References DesiredShiftVelocity, Unit::GetComputerData(), Unit::Computer::max_speed(), and Order::parent.
void FlyByWire::ThrustRight | ( | float | percent) |
Turns on or off velocity resolution.
Definition at line 262 of file flybywire.cpp.
References DesiredShiftVelocity, Unit::GetComputerData(), Unit::Computer::max_speed(), and Order::parent.
void FlyByWire::ThrustUp | ( | float | percent) |
Definition at line 267 of file flybywire.cpp.
References DesiredShiftVelocity, Unit::GetComputerData(), Unit::Computer::max_speed(), and Order::parent.
void FlyByWire::Up | ( | float | percentage) |
pass in the percentage of the turn they were turning up
Definition at line 191 of file flybywire.cpp.
References Orders::MatchAngularVelocity::desired_ang_velocity, Unit::GetComputerData(), getTimeCompression(), Unit::Computer::max_pitch_down, Unit::Computer::max_pitch_up, Order::parent, and Vector.
Referenced by BarrelRoll(), FlyByJoystick::Execute(), and FlyByKeyboard::KeyboardUp().
|
protected |
Definition at line 159 of file flybywire.h.
Referenced by Execute(), and SwitchFlightMode().
|
protected |
Definition at line 155 of file flybywire.h.
Referenced by Execute(), FlyByWire(), ThrustFront(), ThrustRight(), and ThrustUp().
|
protected |
Definition at line 156 of file flybywire.h.
Referenced by Afterburn(), DirectThrustFront(), DirectThrustRight(), DirectThrustUp(), Execute(), and FlyByWire().
|
protected |
Definition at line 161 of file flybywire.h.
Referenced by FlyByWire(), and InertialFlightEnable().
|
protected |
Definition at line 160 of file flybywire.h.
Referenced by Afterburn(), Execute(), FlyByWire(), and InertialFlight().
|
protected |
If shelton slide, do not have the computer match linear.
Definition at line 158 of file flybywire.h.
Referenced by Afterburn(), Execute(), and SheltonSlide().
|
protected |
Definition at line 162 of file flybywire.h.
Referenced by Execute(), and FlyByWire().
|
protected |
Definition at line 163 of file flybywire.h.
Referenced by Execute(), and FlyByWire().