RigsofRods
Soft-body Physics Simulation
Actor.h
Go to the documentation of this file.
1 /*
2  This source file is part of Rigs of Rods
3  Copyright 2005-2012 Pierre-Michel Ricordel
4  Copyright 2007-2012 Thomas Fischer
5  Copyright 2016-2022 Petr Ohlidal
6 
7  For more information, see http://www.rigsofrods.org/
8 
9  Rigs of Rods is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License version 3, as
11  published by the Free Software Foundation.
12 
13  Rigs of Rods is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with Rigs of Rods. If not, see <http://www.gnu.org/licenses/>.
20 */
21 
22 #pragma once
23 
24 #include "Application.h"
25 #include "CmdKeyInertia.h"
26 #include "Differentials.h"
27 #include "GfxActor.h"
29 #include "RigDef_Prerequisites.h"
30 #include "RoRnet.h"
31 #include "RefCountingObject.h"
32 #include "RefCountingObjectPtr.h"
33 #include "SimData.h"
34 #include "SoundScriptManager.h"
35 #include "TyrePressure.h"
36 #include "VehicleAI.h"
37 
38 #include <Ogre.h>
39 
40 namespace RoR {
41 
44 
47 class Actor : public RefCountingObject<Actor>
48 {
49  friend class ActorSpawner;
50  friend class ActorManager;
51  friend class GfxActor; // Temporary until all visuals are moved there. ~ only_a_ptr, 2018
52  friend class OutGauge;
53 public:
54 
55  Actor(
56  ActorInstanceID_t actor_id
57  , unsigned int vector_index
60  );
61 
62  virtual ~Actor() override;
63 
64  void dispose();
65 
68  void sendStreamSetup();
69  void sendStreamData();
70  void pushNetwork(char* data, int size);
71  void calcNetwork();
73 
76  // PLEASE maintain the same order as in 'scripting/bindings/ActorAngelscript.cpp' and 'doc/angelscript/.../BeamClass.h'
78  Ogre::Vector3 getPosition();
79  // AngelScript alias: `getVehiclePosition()`
80  float getRotation();
81  // AngelScript alias: `getHeadingDirectionAngle()`
82  Ogre::Quaternion getOrientation();
83  float getSpeed() { return m_avg_node_velocity.length(); };
84  Ogre::Vector3 getGForces() { return m_camera_local_gforces_cur; };
85  float getTotalMass(bool withLocked=true);
86  int getNodeCount() { return ar_num_nodes; }
87  Ogre::Vector3 getNodePosition(int nodeNumber);
88  int getWheelNodeCount() const;
89  float getWheelSpeed() const { return ar_wheel_speed; }
90  void reset(bool keep_position = false);
91  // not exported to scripting:
92  void resetPosition(Ogre::Vector3 translation, bool setInitPosition);
93  void resetPosition(float px, float pz, bool setInitPosition, float miny);
94  void requestRotation(float rotation, Ogre::Vector3 center) { m_rotation_request += rotation; m_rotation_request_center = center; };
95  void requestAngleSnap(int division) { m_anglesnap_request = division; };
96  void requestTranslation(Ogre::Vector3 translation) { m_translation_request += translation; };
97  Ogre::Vector3 getVelocity() const { return m_avg_node_velocity; };
98  Ogre::Vector3 getDirection();
99  Ogre::Vector3 getRotationCenter();
100  float getMinHeight(bool skip_virtual_nodes=true);
101  float getMaxHeight(bool skip_virtual_nodes=true);
102  float getHeightAboveGround(bool skip_virtual_nodes=true);
103  float getHeightAboveGroundBelow(float height, bool skip_virtual_nodes=true);
104  Ogre::Vector3 getMaxGForces() { return m_camera_local_gforces_max; };
105  bool hasSlidenodes() { return !m_slidenodes.empty(); };
106  void updateSlideNodePositions();
107  void updateSlideNodeForces(const Ogre::Real delta_time_sec);
108  void resetSlideNodePositions();
109  void resetSlideNodes();
110 
114  // PLEASE maintain the same order as in 'scripting/bindings/ActorAngelscript.cpp' and 'doc/angelscript/.../BeamClass.h'
115  void scaleTruck(float value);
116  void setMass(float m);
117  // not exported to scripting:
118  void applyNodeBeamScales();
119  void searchBeamDefaults();
120  void updateInitPosition();
122 
125  // PLEASE maintain the same order as in 'scripting/bindings/ActorAngelscript.cpp' and 'doc/angelscript/.../BeamClass.h'
126  void parkingbrakeToggle();
127  void tractioncontrolToggle();
128  void antilockbrakeToggle();
129  void toggleCustomParticles();
130  bool getCustomParticleMode();
131  // not exported to scripting:
132  void mouseMove(NodeNum_t node, Ogre::Vector3 pos, float force);
133  void tieToggle(int group=-1);
134  bool isTied();
135  void hookToggle(int group=-1, HookAction mode=HOOK_TOGGLE, NodeNum_t mousenode=NODENUM_INVALID);
136  bool isLocked();
137  void ropeToggle(int group=-1);
138  void engineTriggerHelper(int engineNumber, EngineTriggerType type, float triggerValue);
139  void toggleSlideNodeLock();
141  void cruisecontrolToggle();
142  void toggleAxleDiffMode();
143  void displayAxleDiffMode();
145  void toggleWheelDiffMode();
146  void displayWheelDiffMode();
148  void toggleTransferCaseMode();
151  Ogre::String getTransferCaseName();
152  void displayTransferCaseMode();
153  void setSmokeEnabled(bool enabled) { m_disable_smoke = !enabled; }
154  bool getSmokeEnabled() const { return !m_disable_smoke; }
156 
159  // PLEASE maintain the same order as in 'scripting/bindings/ActorAngelscript.cpp' and 'doc/angelscript/.../BeamClass.h'
161  void setBlinkType(BlinkType blink);
162  void toggleBlinkType(BlinkType blink);
163  bool getCustomLightVisible(int number);
164  void setCustomLightVisible(int number, bool visible);
166  void beaconsToggle();
169  int countCustomLights(int control_number);
170  int countFlaresByType(FlareType type);
171  // not exported to scripting:
172  void toggleHeadlights();
174  void setLightStateMask(BitMask_t lightmask);
178  void setHeadlightsVisible(bool val) { if (val != this->getHeadlightsVisible()) { this->toggleHeadlights(); } }
185 
188  void updateSkidmarks();
189  void prepareInside(bool inside);
190  void updateFlareStates(float dt);
191  void updateVisual(float dt=0);
192  void updateDashBoards(float dt);
193  void forceAllFlaresOff();
195 
198  void updateSoundSources();
199  void muteAllSounds();
200  void unmuteAllSounds();
202 
206  Ogre::MaterialPtr getManagedMaterialInstance(const std::string& orig_name);
207  std::vector<std::string> getManagedMaterialNames();
208  // not exported to scripting:
209  Replay* getReplay();
212 
215  // PLEASE maintain the same ordering as in 'scripting/bindings/ActorAngelscript.cpp' and 'doc/angelscript/.../BeamClass.h'
216  std::string getTruckName() { return ar_design_name; }
217  std::string getTruckFileName() { return ar_filename; }
218  std::string getTruckFileResourceGroup();
219  int getTruckType() { return ar_driveable; }
220  Ogre::String getSectionConfig() { return m_section_config; }
221  int getInstanceId() { return ar_instance_id; }
222  // not exported to scripting:
226  void ensureWorkingTuneupDef();
227  void removeWorkingTuneupDef();
229  std::vector<authorinfo_t> getAuthors();
230  std::vector<std::string> getDescription();
232 
233  void ForceFeedbackStep(int steps);
234  void HandleInputEvents(float dt);
235  void HandleAngelScriptEvents(float dt);
236  void UpdateCruiseControl(float dt);
237  bool Intersects(ActorPtr actor, Ogre::Vector3 offset = Ogre::Vector3::ZERO);
238  void resolveCollisions(Ogre::Vector3 direction);
242  void resolveCollisions(float max_distance, bool consider_up);
243  float getSteeringAngle();
245  int GetNumActiveConnectedBeams(int nodeid);
246  void NotifyActorCameraChanged();
248  void setAirbrakeIntensity(float intensity);
249  void UpdateBoundingBoxes();
251  void UpdatePhysicsOrigin();
252  void SoftReset();
253  void SyncReset(bool reset_position);
254  void WriteDiagnosticDump(std::string const& filename);
256  Ogre::Vector3 GetCameraDir() { return (ar_nodes[ar_main_camera_node_pos].RelPosition - ar_nodes[ar_main_camera_node_dir].RelPosition).normalisedCopy(); }
257  Ogre::Vector3 GetCameraRoll() { return (ar_nodes[ar_main_camera_node_pos].RelPosition - ar_nodes[ar_main_camera_node_roll].RelPosition).normalisedCopy(); }
258  Ogre::Vector3 GetFFbBodyForces() const { return m_force_sensors.out_body_forces; }
259  GfxActor* GetGfxActor() { return m_gfx_actor.get(); }
261  Ogre::Real getMinimalCameraRadius();
263  bool isBeingReset() const { return m_ongoing_reset; };
265 
266  // -------------------- Public data -------------------- //
267 
268  // Nodes
269  node_t* ar_nodes = nullptr;
270  int* ar_nodes_id = nullptr;
271  std::string* ar_nodes_name = nullptr;
273  int ar_num_nodes = 0;
274  std::vector<float> ar_minimass;
276 
277  beam_t* ar_beams = nullptr;
278  int ar_num_beams = 0;
279  std::vector<beam_t*> ar_inter_beams;
280  shock_t* ar_shocks = nullptr;
281  int ar_num_shocks = 0;
282  bool ar_has_active_shocks = false;
283  rotator_t* ar_rotators = nullptr;
285  wing_t* ar_wings = nullptr;
286  int ar_num_wings = 0;
287  std::vector<authorinfo_t> authors;
288  std::vector<exhaust_t> exhausts;
289  std::vector<rope_t> ar_ropes;
290  std::vector<ropable_t> ar_ropables;
291  std::vector<tie_t> ar_ties;
292  std::vector<hook_t> ar_hooks;
293  std::vector<flare_t> ar_flares;
294  std::vector<Airbrake*> ar_airbrakes;
296  Ogre::AxisAlignedBox ar_bounding_box;
297  Ogre::AxisAlignedBox ar_evboxes_bounding_box;
298  Ogre::AxisAlignedBox ar_predicted_bounding_box;
300  std::vector<float> ar_initial_node_masses;
301  std::vector<Ogre::Vector3> ar_initial_node_positions;
302  std::vector<std::pair<float, float>> ar_initial_beam_defaults;
303  std::vector<wheeldetacher_t> ar_wheeldetachers;
305  std::vector<std::vector<int>> ar_node_to_node_connections;
306  std::vector<std::vector<int>> ar_node_to_beam_connections;
307  std::vector<Ogre::AxisAlignedBox> ar_collision_bounding_boxes;
308  std::vector<Ogre::AxisAlignedBox> ar_predicted_coll_bounding_boxes;
309  std::map<std::string, Ogre::MaterialPtr> ar_managed_materials;
313  int ar_num_wheels = 0;
322  int ar_cabs[MAX_CABS * 3] = {};
323  int ar_num_cabs = 0;
324  std::vector<hydrobeam_t> ar_hydros;
334  bool ar_hide_in_actor_list = false;
335  Ogre::String ar_design_name;
337  float alb_ratio = 0.f;
338  float alb_minspeed = 0.f;
339  bool alb_mode = false;
340  float alb_pulse_time = 0.f;
341  bool alb_pulse_state = false;
342  bool alb_nodash = false;
343  bool alb_notoggle = false;
344  float alb_timer = 0.f;
345  float tc_ratio = 0.f;
346  bool tc_mode = false;
347  float tc_pulse_time = 0.f;
348  bool tc_pulse_state = 0.f;
349  bool tc_nodash = false;
350  bool tc_notoggle = false;
351  float tc_timer = 0.f;
352  float ar_anim_shift_timer = 0.f;
353  bool cc_mode = false;
354  bool cc_can_brake = false;
355  float cc_target_rpm = 0.f;
356  float cc_target_speed = 0.f;
358  std::deque<float> cc_accs;
359  bool sl_enabled = false;
360  float sl_speed_limit = 0.f;
366  unsigned int ar_vector_index = 0;
368  EngineSim* ar_engine = nullptr;
370  int ar_num_cinecams = 0;
372  float ar_brake_force = 0.f;
373 
374  Ogre::Vector3 ar_origin = Ogre::Vector3::ZERO;
375  int ar_num_cameras = 0;
376  Ogre::Quaternion ar_main_camera_dir_corr = Ogre::Quaternion::IDENTITY;
384 
387  float ar_scale = 1.f;
388  Ogre::Real ar_brake = 0.f;
389  float ar_wheel_speed = 0.f;
390  float ar_wheel_spin = 0.f;
391  float ar_avg_wheel_speed = 0.f;
392  float ar_hydro_dir_command = 0.f;
393  float ar_hydro_dir_state = 0.f;
394  Ogre::Real ar_hydro_dir_wheel_display = 0.f;
401  float ar_sleep_counter = 0.f;
403  bool ar_parking_brake = false;
405  float ar_left_mirror_angle = 0.52f;
406  float ar_right_mirror_angle = -0.52f;
407  float ar_elevator = 0.f;
408  float ar_rudder = 0.f;
409  float ar_aileron = 0.f;
410  int ar_aerial_flap = 0;
411  Ogre::Vector3 ar_fusedrag = Ogre::Vector3::ZERO;
414  std::string ar_filename;
415  std::string ar_filehash;
419  std::map<int,int> ar_net_stream_results;
420  Ogre::Timer ar_net_timer;
421  unsigned long ar_net_last_update_time = 0;
424  float ar_top_speed = 0.f;
427  std::vector<std::pair<collision_box_t*, NodeNum_t>> m_active_eventboxes;
428 
429  // Guisettings
433 
434  // Gameplay state
436 
437  // Repair state
438  Ogre::Vector3 m_rotation_request_center = Ogre::Vector3::ZERO;
439  float m_rotation_request = 0.f;
441  Ogre::Vector3 m_translation_request = Ogre::Vector3::ZERO;
442 
443  // Realtime node/beam structure editing helpers
444  bool ar_nb_initialized = false;
445  std::vector<float> ar_nb_optimum;
446  std::vector<float> ar_nb_reference;
449  float ar_nb_mass_scale = 1.f;
450  std::pair<float, float> ar_nb_beams_scale;
451  std::pair<float, float> ar_nb_shocks_scale;
452  std::pair<float, float> ar_nb_wheels_scale;
453  std::pair<float, float> ar_nb_beams_d_interval;
454  std::pair<float, float> ar_nb_beams_k_interval;
455  std::pair<float, float> ar_nb_shocks_d_interval;
456  std::pair<float, float> ar_nb_shocks_k_interval;
457  std::pair<float, float> ar_nb_wheels_d_interval;
458  std::pair<float, float> ar_nb_wheels_k_interval;
459 
460  // Bit flags
466  bool ar_is_police:1;
471  bool ar_toggle_ties:1;
473 
474 private:
475 
476  bool CalcForcesEulerPrepare(bool doUpdate);
477  void CalcAircraftForces(bool doUpdate);
478  void CalcForcesEulerCompute(bool doUpdate, int num_steps);
479  void CalcAnimators(hydrobeam_t const& hydrobeam, float &cstate, int &div);
480  void CalcBeams(bool trigger_hooks);
481  void CalcBeamsInterActor();
482  void CalcBuoyance(bool doUpdate);
483  void CalcCommands(bool doUpdate);
484  void CalcCabCollisions();
485  void CalcDifferentials();
486  void CalcForceFeedback(bool doUpdate);
487  void CalcFuseDrag();
488  void CalcHooks();
489  void CalcHydros();
490  void CalcMouse();
491  void CalcNodes();
492  void CalcEventBoxes();
493  void CalcReplay();
494  void CalcRopes();
495  void CalcShocks(bool doUpdate, int num_steps);
496  void CalcShocks2(int i, Ogre::Real difftoBeamL, Ogre::Real &k, Ogre::Real &d, Ogre::Real v);
497  void CalcShocks3(int i, Ogre::Real difftoBeamL, Ogre::Real &k, Ogre::Real &d, Ogre::Real v);
498  void CalcTriggers(int i, Ogre::Real difftoBeamL, bool update_hooks);
499  void CalcTies();
500  void CalcTruckEngine(bool doUpdate);
501  void CalcWheels(bool doUpdate, int num_steps);
502 
503  void DetermineLinkedActors();
504  void RecalculateNodeMasses(Ogre::Real total);
506  void AddInterActorBeam(beam_t* beam, ActorPtr a, ActorPtr b);
507  void RemoveInterActorBeam(beam_t* beam);
508  void DisjoinInterActorBeams();
509  void autoBlinkReset();
510  void ResetAngle(float rot);
511  void calculateLocalGForces();
512  // Both PointColDetectors need to be updated accordingly before calling this
515  Ogre::Vector3 calculateCollisionOffset(Ogre::Vector3 direction);
519  std::pair<RailGroup*, Ogre::Real> GetClosestRailOnActor( ActorPtr actor, const SlideNode& node);
520 
521  // -------------------- data -------------------- //
522 
523  std::vector<std::shared_ptr<Task>> m_flexbody_tasks;
525  std::unique_ptr<GfxActor> m_gfx_actor;
527  Ogre::String m_section_config;
528  std::vector<SlideNode> m_slidenodes;
529  std::vector<RailGroup*> m_railgroups;
530  std::vector<Ogre::Entity*> m_deletion_entities;
531  std::vector<Ogre::SceneNode*> m_deletion_scene_nodes;
535  float m_avionic_chatter_timer = 11.f;
538 
539  Ogre::Vector3 m_avg_node_position = Ogre::Vector3::ZERO;
540  Ogre::Real m_min_camera_radius = 0.f;
541  Ogre::Vector3 m_avg_node_position_prev = Ogre::Vector3::ZERO;
542  Ogre::Vector3 m_avg_node_velocity = Ogre::Vector3::ZERO;
545  float m_total_mass = 0.f;
547  Ogre::Vector3 m_mouse_grab_pos = Ogre::Vector3::ZERO;
549  float m_spawn_rotation = 0.f;
550  Ogre::Timer m_reset_timer;
551  Ogre::Vector3 m_camera_gforces_accu = Ogre::Vector3::ZERO;
552  Ogre::Vector3 m_camera_gforces = Ogre::Vector3::ZERO;
553  Ogre::Vector3 m_camera_local_gforces_cur = Ogre::Vector3::ZERO;
554  Ogre::Vector3 m_camera_local_gforces_max = Ogre::Vector3::ZERO;
563  int m_previous_gear = 0;
564  float m_handbrake_force = 0.f;
567  node_t* m_fusealge_back = nullptr;
568  float m_fusealge_width = 0.f;
569  float m_odometer_total = 0.f;
570  float m_odometer_user = 0.f;
572  float m_load_mass = 0.f;
573  int m_masscount = 0;
574  float m_dry_mass = 0.f;
575  std::unique_ptr<Buoyance> m_buoyance;
580  bool m_antilockbrake = false;
581  bool m_tractioncontrol = false;
582  bool m_ongoing_reset = false;
583  bool m_has_axles_section = false;
585  std::vector<std::string> m_description;
586  std::vector<PropAnimKeyState> m_prop_anim_key_states;
587 
590  size_t m_net_node_buf_size = 0;
591  size_t m_net_wheel_buf_size = 0;
596 
597  Ogre::UTFString m_net_username;
600 
605  bool m_blinker_autoreset = false;
606  bool m_blinker_left_lit = false;
607  bool m_blinker_right_lit = false;
608 
623 
625  {
626  inline void Reset()
627  {
628  accu_body_forces = Ogre::Vector3::ZERO;
629  accu_hydros_forces = 0;
630  out_body_forces = Ogre::Vector3::ZERO;
631  out_hydros_forces = 0;
632  };
633 
634  Ogre::Vector3 accu_body_forces;
636  Ogre::Vector3 out_body_forces;
638  } m_force_sensors;
639 
640  struct NetUpdate
641  {
642  std::vector<char> veh_state;
643  std::vector<char> node_data;
644  std::vector<float> wheel_data;
645  };
646 
647  std::deque<NetUpdate> m_net_updates;
648 };
649 
651 
652 } // namespace RoR
RoR::Actor::CalcTruckEngine
void CalcTruckEngine(bool doUpdate)
Definition: ActorForcesEuler.cpp:1083
RoR::Actor::m_blinker_right_lit
bool m_blinker_right_lit
Blinking state of right turn signal.
Definition: Actor.h:607
RoR::Actor::setHighBeamsVisible
void setHighBeamsVisible(bool val)
Definition: Actor.h:180
RoR::Actor::CalcNodes
void CalcNodes()
Definition: ActorForcesEuler.cpp:1533
RoR::Actor::getAxleDiffMode
int getAxleDiffMode()
Writes info to console/notify box.
Definition: Actor.h:144
RoR::Actor::ar_anim_previous_crank
float ar_anim_previous_crank
For 'animator' with flag 'torque'.
Definition: Actor.h:336
RoRnet::LIGHTMASK_SIDELIGHTS
@ LIGHTMASK_SIDELIGHTS
Definition: RoRnet.h:117
RoR::Actor::m_translation_request
Ogre::Vector3 m_translation_request
Accumulator.
Definition: Actor.h:441
RoR::Actor::ar_avg_wheel_speed
float ar_avg_wheel_speed
Physics state; avg wheel speed in m/s.
Definition: Actor.h:391
RoR::Actor::searchBeamDefaults
void searchBeamDefaults()
Searches for more stable beam defaults.
Definition: Actor.cpp:1772
RoR::Actor::ar_nodes_name
std::string * ar_nodes_name
Name in truck file, only if defined with 'nodes2'.
Definition: Actor.h:271
RoR::Actor::resetPosition
void resetPosition(Ogre::Vector3 translation, bool setInitPosition)
Moves the actor to given world coords.
Definition: Actor.cpp:1265
RoR::Actor::ar_collision_bounding_boxes
std::vector< Ogre::AxisAlignedBox > ar_collision_bounding_boxes
smart bounding boxes, used for determining the state of an actor (every box surrounds only a subset o...
Definition: Actor.h:307
RoR::Actor::cc_mode
bool cc_mode
Cruise Control.
Definition: Actor.h:353
RoR::Actor::ar_num_contactable_nodes
int ar_num_contactable_nodes
Total number of nodes which can contact ground or cabs.
Definition: Actor.h:310
RoR::Actor::m_odometer_user
float m_odometer_user
GUI state.
Definition: Actor.h:570
RoR::Actor::getWheelDiffMode
int getWheelDiffMode()
Writes info to console/notify box.
Definition: Actor.h:147
RoR::Actor::pushNetwork
void pushNetwork(char *data, int size)
Process incoming data; fills actor's data buffers and flips them. Called by the network thread....
Definition: Actor.cpp:384
RoR::Actor::getMinCameraRadius
float getMinCameraRadius()
Definition: Actor.h:244
RoR::Actor
Softbody object; can be anything from soda can to a space shuttle Former name: Beam (that's why scrip...
Definition: Actor.h:47
RoR::Actor::ar_main_camera_node_pos
NodeNum_t ar_main_camera_node_pos
Sim attr; ar_camera_node_pos[0] >= 0 ? ar_camera_node_pos[0] : 0.
Definition: Actor.h:377
RoR::Actor::ar_vehicle_ai
VehicleAIPtr ar_vehicle_ai
Definition: Actor.h:386
RoR::Actor::CalcCommands
void CalcCommands(bool doUpdate)
Definition: ActorForcesEuler.cpp:737
RoR::Actor::m_slidenodes
std::vector< SlideNode > m_slidenodes
all the SlideNodes available on this actor
Definition: Actor.h:528
RoR::Actor::getWheelSpeed
float getWheelSpeed() const
Definition: Actor.h:89
RoRnet::LIGHTMASK_FOGLIGHTS
@ LIGHTMASK_FOGLIGHTS
Definition: RoRnet.h:116
RoR::Actor::ar_nb_optimum
std::vector< float > ar_nb_optimum
Temporary storage of the optimum search result.
Definition: Actor.h:445
RoR::Actor::getSpeed
float getSpeed()
Definition: Actor.h:83
RoR::Actor::ar_last_fuzzy_ground_model
ground_model_t * ar_last_fuzzy_ground_model
GUI state.
Definition: Actor.h:425
RoR::Actor::ar_camera_node_dir
NodeNum_t ar_camera_node_dir[MAX_CAMERAS]
Physics attr; 'camera' = frame of reference; back node.
Definition: Actor.h:381
RoR::Actor::VehicleForceSensors::out_hydros_forces
float out_hydros_forces
Definition: Actor.h:637
RoR::Actor::getBeaconMode
bool getBeaconMode() const
Definition: Actor.h:165
BITMASK_SET
void BITMASK_SET(BitMask_t &mask, BitMask_t flag, bool val)
Definition: BitFlags.h:19
RoR::Actor::m_section_config
Ogre::String m_section_config
Definition: Actor.h:527
RoR::Actor::GetClosestRailOnActor
std::pair< RailGroup *, Ogre::Real > GetClosestRailOnActor(ActorPtr actor, const SlideNode &node)
Definition: ActorSlideNode.cpp:73
PerVehicleCameraContext.h
RoR::Actor::hasSlidenodes
bool hasSlidenodes()
Definition: Actor.h:105
RoR::Actor::NetUpdate
Definition: Actor.h:640
RoR::Actor::ar_buoycabs
int ar_buoycabs[MAX_CABS]
Definition: Actor.h:329
RoR::Actor::setLightStateMask
void setLightStateMask(BitMask_t lightmask)
Does all the necessary toggling.
Definition: Actor.cpp:3119
RoR::Actor::ar_hydro_dir_state
float ar_hydro_dir_state
Definition: Actor.h:393
RoR::Actor::ar_physics_paused
bool ar_physics_paused
Sim state.
Definition: Actor.h:472
RoR::Actor::ensureWorkingTuneupDef
void ensureWorkingTuneupDef()
Creates a working tuneup def if it doesn't exist yet.
Definition: Actor.cpp:4612
RoR::Actor::m_fusealge_back
node_t * m_fusealge_back
Physics attr; defined in truckfile.
Definition: Actor.h:567
RoR::Actor::isLocked
bool isLocked()
Are hooks locked?
Definition: Actor.cpp:3790
RoR::Actor::ar_inter_collcabrate
collcab_rate_t ar_inter_collcabrate[MAX_CABS]
Definition: Actor.h:326
RoR::Actor::getNodeCount
int getNodeCount()
Definition: Actor.h:86
RoR::Actor::ar_extern_camera_node
NodeNum_t ar_extern_camera_node
Definition: Actor.h:362
RoR::Actor::GetFFbHydroForces
float GetFFbHydroForces() const
Definition: Actor.h:262
RoR::Actor::ar_extern_camera_mode
ExtCameraMode ar_extern_camera_mode
Definition: Actor.h:361
RoR::HOOK_TOGGLE
@ HOOK_TOGGLE
Definition: SimData.h:71
RoR::Actor::ar_filename
std::string ar_filename
Attribute; filled at spawn.
Definition: Actor.h:414
RoR::Actor::ar_nb_reference
std::vector< float > ar_nb_reference
Temporary storage of the reference search result.
Definition: Actor.h:446
RoR::Actor::m_water_contact
bool m_water_contact
Scripting state.
Definition: Actor.h:613
RoR::Actor::toggleAxleDiffMode
void toggleAxleDiffMode()
Definition: Actor.cpp:1305
RoR::Actor::ar_hydro_dir_wheel_display
Ogre::Real ar_hydro_dir_wheel_display
Definition: Actor.h:394
RoR::Actor::alb_pulse_time
float alb_pulse_time
Anti-lock brake attribute;.
Definition: Actor.h:340
RoR::Actor::setHeadlightsVisible
void setHeadlightsVisible(bool val)
Definition: Actor.h:178
RoR::Actor::ar_custom_particles
cparticle_t ar_custom_particles[MAX_CPARTICLES]
Definition: Actor.h:314
RoR::Actor::m_num_wheel_diffs
int m_num_wheel_diffs
Physics attr.
Definition: Actor.h:560
RoR::Actor::getSmokeEnabled
bool getSmokeEnabled() const
Definition: Actor.h:154
RoR::Actor::ar_vector_index
unsigned int ar_vector_index
Sim attr; actor element index in std::vector<m_actors>
Definition: Actor.h:366
VehicleAI.h
Simple waypoint AI.
RoR::Actor::CalcForceFeedback
void CalcForceFeedback(bool doUpdate)
Definition: ActorForcesEuler.cpp:69
RoR::Actor::m_trigger_debug_enabled
bool m_trigger_debug_enabled
Logging state.
Definition: Actor.h:620
RoR::Actor::ar_parking_brake
bool ar_parking_brake
Definition: Actor.h:403
RoR::Actor::CalcCabCollisions
void CalcCabCollisions()
Definition: Actor.cpp:2459
RoR::Actor::ar_disable_aerodyn_turbulent_drag
bool ar_disable_aerodyn_turbulent_drag
Physics state.
Definition: Actor.h:462
RoR::Actor::ar_collision_relevant
bool ar_collision_relevant
Physics state;.
Definition: Actor.h:465
RoR::Actor::ar_linked_actors
ActorPtrVec ar_linked_actors
Sim state; other actors linked using 'hooks'.
Definition: Actor.h:304
RoR::Actor::GetCameraDir
Ogre::Vector3 GetCameraDir()
Definition: Actor.h:256
RoR::Actor::autoBlinkReset
void autoBlinkReset()
Resets the turn signal when the steering wheel is turned back.
Definition: Actor.cpp:3090
RoR::Actor::getCustomParticleMode
bool getCustomParticleMode()
Definition: Actor.cpp:4463
RigDef_Prerequisites.h
RoR::Actor::ar_instance_id
ActorInstanceID_t ar_instance_id
Static attr; session-unique ID.
Definition: Actor.h:365
RoR::Actor::m_net_first_wheel_node
int m_net_first_wheel_node
Network attr; Determines data buffer layout; calculated on spawn.
Definition: Actor.h:595
RoR::Actor::ar_num_nodes
int ar_num_nodes
Definition: Actor.h:273
RoR::Actor::cc_target_rpm
float cc_target_rpm
Cruise Control.
Definition: Actor.h:355
RoR::Actor::ar_engine_hydraulics_ready
bool ar_engine_hydraulics_ready
Sim state; does engine have enough RPM to power hydraulics?
Definition: Actor.h:463
RoR::Actor::unmuteAllSounds
void unmuteAllSounds()
Definition: Actor.cpp:3737
RoR::Actor::ar_bounding_box
Ogre::AxisAlignedBox ar_bounding_box
standard bounding box (surrounds all nodes of an actor)
Definition: Actor.h:296
RoR::Actor::tc_ratio
float tc_ratio
Traction control attribute: Regulating force.
Definition: Actor.h:345
RoR::Actor::m_deletion_scene_nodes
std::vector< Ogre::SceneNode * > m_deletion_scene_nodes
For unloading vehicle; filled at spawn.
Definition: Actor.h:531
RoR::Actor::exhausts
std::vector< exhaust_t > exhausts
Definition: Actor.h:288
RoR::Actor::m_num_axle_diffs
int m_num_axle_diffs
Physics attr.
Definition: Actor.h:558
RoR::Actor::getHeightAboveGround
float getHeightAboveGround(bool skip_virtual_nodes=true)
Definition: Actor.cpp:1484
RoR::Actor::m_wheel_diffs
Differential * m_wheel_diffs[MAX_WHEELS/2]
Physics.
Definition: Actor.h:559
RoR::Actor::m_fusealge_width
float m_fusealge_width
Physics attr; defined in truckfile.
Definition: Actor.h:568
RoR::NODENUM_INVALID
static const NodeNum_t NODENUM_INVALID
Definition: ForwardDeclarations.h:53
RoR::Actor::getFogLightsVisible
bool getFogLightsVisible() const
Definition: Actor.h:181
RoR::Actor::toggleWheelDiffMode
void toggleWheelDiffMode()
Definition: Actor.cpp:1297
RoR::Actor::mouseMove
void mouseMove(NodeNum_t node, Ogre::Vector3 pos, float force)
Definition: Actor.cpp:1290
RoR::Actor::ar_fusedrag
Ogre::Vector3 ar_fusedrag
Physics state.
Definition: Actor.h:411
RoR::wheel_t
Definition: SimData.h:432
RoR::Actor::getWheelNodeCount
int getWheelNodeCount() const
Definition: Actor.cpp:816
RoR::Actor::ar_nb_shocks_k_interval
std::pair< float, float > ar_nb_shocks_k_interval
Search interval for springiness & damping of shock beams.
Definition: Actor.h:456
RoR::Actor::sendStreamSetup
void sendStreamSetup()
Definition: Actor.cpp:1910
RoR::Actor::ar_buoycab_types
int ar_buoycab_types[MAX_CABS]
Definition: Actor.h:330
RoR::Actor::m_proped_wheel_pairs
int m_proped_wheel_pairs[MAX_WHEELS]
Physics attr; For inter-differential locking.
Definition: Actor.h:532
RoR::Actor::forceAllFlaresOff
void forceAllFlaresOff()
Definition: Actor.cpp:2979
RoRnet::LIGHTMASK_REVERSE
@ LIGHTMASK_REVERSE
reverse light on
Definition: RoRnet.h:119
RoR::Actor::m_min_camera_radius
Ogre::Real m_min_camera_radius
Definition: Actor.h:540
RoR::Actor::m_definition
RigDef::DocumentPtr m_definition
Definition: Actor.h:524
RoR::Actor::CalcAnimators
void CalcAnimators(hydrobeam_t const &hydrobeam, float &cstate, int &div)
Definition: Actor.cpp:2070
RoR::Actor::ar_brake
Ogre::Real ar_brake
Physics state; braking intensity.
Definition: Actor.h:388
RoR::Actor::sl_enabled
bool sl_enabled
Speed limiter;.
Definition: Actor.h:359
RoR::Actor::ar_engine
EngineSim * ar_engine
Definition: Actor.h:368
TyrePressure.h
Wheel 'pressure adjustment' logic (only for 'wheels2')
RoR::Actor::tc_pulse_time
float tc_pulse_time
Traction control attribute;.
Definition: Actor.h:347
RoR::Actor::m_masscount
int m_masscount
Physics attr; Number of nodes loaded with l option.
Definition: Actor.h:573
RoR::Actor::RequestUpdateHudFeatures
void RequestUpdateHudFeatures()
Definition: Actor.h:260
RoR::Actor::getDescription
std::vector< std::string > getDescription()
Definition: Actor.cpp:4375
RoR::Actor::ResetAngle
void ResetAngle(float rot)
Definition: Actor.cpp:1177
RoR::Actor::toggleCustomParticles
void toggleCustomParticles()
Definition: Actor.cpp:3142
RoR::Actor::ar_toggle_ropes
bool ar_toggle_ropes
Sim state.
Definition: Actor.h:470
RoR::Actor::calculateLocalGForces
void calculateLocalGForces()
Derive the truck local g-forces from the global ones.
Definition: Actor.cpp:4245
RoR::Actor::ar_num_rotators
int ar_num_rotators
Definition: Actor.h:284
RoR::Actor::HandleAngelScriptEvents
void HandleAngelScriptEvents(float dt)
Definition: Actor.cpp:1760
RoR::Actor::m_blinker_autoreset
bool m_blinker_autoreset
When true, we're steering and blinker will turn off automatically.
Definition: Actor.h:605
RoR::CollisionBoxPtrVec
std::vector< collision_box_t * > CollisionBoxPtrVec
Definition: SimData.h:737
RoR::Actor::ar_hooks
std::vector< hook_t > ar_hooks
Definition: Actor.h:292
RoR::Actor::ar_nb_shocks_scale
std::pair< float, float > ar_nb_shocks_scale
Scales for springiness & damping of shock beams.
Definition: Actor.h:451
RoR::Actor::ar_current_cinecam
int ar_current_cinecam
Sim state; index of current CineCam (-1 if using 3rd-person camera)
Definition: Actor.h:412
RoR::Actor::m_net_node_compression
float m_net_node_compression
For incoming/outgoing traffic; calculated on spawn.
Definition: Actor.h:594
RoR::EngineSim
A land vehicle engine + transmission.
Definition: EngineSim.h:35
RoR::Actor::m_hud_features_ok
bool m_hud_features_ok
Gfx state; Are HUD features matching actor's capabilities?
Definition: Actor.h:610
RoR::Actor::ar_trailer_parking_brake
bool ar_trailer_parking_brake
Definition: Actor.h:404
RoR::Actor::ar_wheeldetachers
std::vector< wheeldetacher_t > ar_wheeldetachers
Definition: Actor.h:303
RoR::Actor::UpdatePhysicsOrigin
void UpdatePhysicsOrigin()
Definition: Actor.cpp:1164
RoR::Actor::ar_ties
std::vector< tie_t > ar_ties
Definition: Actor.h:291
RoR::Actor::CalcTriggers
void CalcTriggers(int i, Ogre::Real difftoBeamL, bool update_hooks)
Definition: Actor.cpp:2623
RoR::Actor::sl_speed_limit
float sl_speed_limit
Speed limiter;.
Definition: Actor.h:360
RoR::Actor::cc_target_speed_lower_limit
float cc_target_speed_lower_limit
Cruise Control.
Definition: Actor.h:357
RoR::Actor::getTruckState
ActorState getTruckState()
Definition: Actor.h:77
RoR::Actor::m_stabilizer_shock_ratio
float m_stabilizer_shock_ratio
Physics state.
Definition: Actor.h:555
RoR::FlareType
FlareType
Definition: SimData.h:240
RoR::Actor::ar_net_stream_results
std::map< int, int > ar_net_stream_results
Definition: Actor.h:419
RoR::Actor::m_avg_node_position_prev
Ogre::Vector3 m_avg_node_position_prev
Definition: Actor.h:541
RoR::Actor::CalcForcesEulerCompute
void CalcForcesEulerCompute(bool doUpdate, int num_steps)
Definition: ActorForcesEuler.cpp:46
RoR::Actor::getTruckFileResourceGroup
std::string getTruckFileResourceGroup()
Definition: Actor.cpp:4592
RoR::Actor::ar_main_camera_node_dir
NodeNum_t ar_main_camera_node_dir
Sim attr; ar_camera_node_dir[0] >= 0 ? ar_camera_node_dir[0] : 0.
Definition: Actor.h:378
RoR::AeroEngine
Definition: AeroEngine.h:36
RoR::Actor::GetGfxActor
GfxActor * GetGfxActor()
Definition: Actor.h:259
RoR::Actor::ar_hide_in_actor_list
bool ar_hide_in_actor_list
Hide in list of spawned actors (available in top menubar). Useful for fixed-place machinery,...
Definition: Actor.h:334
RoR::Actor::ar_num_cabs
int ar_num_cabs
Definition: Actor.h:323
RoR::Actor::ar_node_to_beam_connections
std::vector< std::vector< int > > ar_node_to_beam_connections
Definition: Actor.h:306
RoR::Actor::ar_predicted_bounding_box
Ogre::AxisAlignedBox ar_predicted_bounding_box
Definition: Actor.h:298
RoR::Actor::ar_aerial_flap
int ar_aerial_flap
Sim state; state of aircraft flaps (values: 0-5)
Definition: Actor.h:410
RoR::Actor::CalcShocks2
void CalcShocks2(int i, Ogre::Real difftoBeamL, Ogre::Real &k, Ogre::Real &d, Ogre::Real v)
Definition: Actor.cpp:2480
RoR::Actor::m_stabilizer_shock_sleep
float m_stabilizer_shock_sleep
Sim state.
Definition: Actor.h:543
RoR::ActorState::LOCAL_SIMULATED
@ LOCAL_SIMULATED
simulated (local) actor
RoR::Actor::ar_hydro_rudder_state
float ar_hydro_rudder_state
Definition: Actor.h:398
RoR::Actor::getReverseLightVisible
bool getReverseLightVisible() const
Definition: Actor.h:168
RoR::NOT_DRIVEABLE
@ NOT_DRIVEABLE
not drivable at all
Definition: SimData.h:103
RoR::Actor::NetUpdate::wheel_data
std::vector< float > wheel_data
Wheel rotations.
Definition: Actor.h:644
Differentials.h
RoR::Actor::ar_nb_measure_steps
int ar_nb_measure_steps
Amount of physics steps to be measured.
Definition: Actor.h:448
RoR::Actor::CalcRopes
void CalcRopes()
Definition: ActorForcesEuler.cpp:1762
RoR::Actor::CalcTies
void CalcTies()
Definition: ActorForcesEuler.cpp:1052
RoR::Actor::displayAxleDiffMode
void displayAxleDiffMode()
Cycles through the available inter axle diff modes.
Definition: Actor.cpp:1313
RoR::Actor::getManagedMaterialInstance
Ogre::MaterialPtr getManagedMaterialInstance(const std::string &orig_name)
Definition: Actor.cpp:4481
RoR::Actor::m_net_updates
std::deque< NetUpdate > m_net_updates
Incoming stream of NetUpdates.
Definition: Actor.h:647
RoR::Actor::ar_dashboard
DashBoardManager * ar_dashboard
Definition: Actor.h:422
RoR::Actor::tractioncontrolToggle
void tractioncontrolToggle()
Definition: Actor.cpp:3698
RoR::Actor::m_skid_trails
Skidmark * m_skid_trails[MAX_WHEELS *2]
Definition: Actor.h:579
RefCountingObjectPtr< VehicleAI >
RoR::Actor::ar_nb_wheels_scale
std::pair< float, float > ar_nb_wheels_scale
Scales for springiness & damping of wheel / rim beams.
Definition: Actor.h:452
RoR::Actor::beaconsToggle
void beaconsToggle()
Definition: Actor.cpp:3707
RoR::Actor::m_camera_context
PerVehicleCameraContext m_camera_context
Definition: Actor.h:526
RoR::Differential
Definition: Differentials.h:66
RoR::Actor::ar_forward_commands
bool ar_forward_commands
Sim state.
Definition: Actor.h:468
RoR::Actor::DetermineLinkedActors
void DetermineLinkedActors()
Definition: Actor.cpp:776
RoR::Actor::m_ongoing_reset
bool m_ongoing_reset
Hack to prevent position/rotation creep during interactive truck reset.
Definition: Actor.h:582
RoR::Actor::m_avg_proped_wheel_radius
float m_avg_proped_wheel_radius
Physics attr, filled at spawn - Average proped wheel radius.
Definition: Actor.h:534
RoR::Actor::getInstanceId
int getInstanceId()
Definition: Actor.h:221
RoR::Actor::ar_left_mirror_angle
float ar_left_mirror_angle
Sim state; rear view mirror angle.
Definition: Actor.h:405
RoR::Actor::m_rotation_request_center
Ogre::Vector3 m_rotation_request_center
Definition: Actor.h:438
RoR::Actor::updateFlareStates
void updateFlareStates(float dt)
Definition: Actor.cpp:2987
RoR::Actor::CalcEventBoxes
void CalcEventBoxes()
Definition: ActorForcesEuler.cpp:1630
RoR::Actor::setBlinkType
void setBlinkType(BlinkType blink)
Definition: Actor.cpp:3056
RoR::Actor::CalcReplay
void CalcReplay()
Definition: ActorForcesEuler.cpp:1091
RoR::TyrePressure
Land vehicle feat Simulates tyre pressurization by adjusting springness of in-wheel beams.
Definition: TyrePressure.h:41
RoR::collcab_rate_t
Definition: SimData.h:414
RoR::Actor::tc_nodash
bool tc_nodash
Traction control attribute; Hide the dashboard indicator?
Definition: Actor.h:349
RoR::Actor::ar_right_mirror_angle
float ar_right_mirror_angle
Sim state; rear view mirror angle.
Definition: Actor.h:406
RoR::ActorSpawner
Processes a RigDef::Document (parsed from 'truck' file format) into a simulated gameplay object (Acto...
Definition: ActorSpawner.h:70
RoR::Actor::m_net_wheel_buf_size
size_t m_net_wheel_buf_size
For incoming/outgoing traffic; calculated on spawn.
Definition: Actor.h:591
RoR::Actor::CalcFuseDrag
void CalcFuseDrag()
Definition: ActorForcesEuler.cpp:125
RoR::ActorSpawnRequest
Definition: SimData.h:789
RoR::Actor::ar_wheel_speed
float ar_wheel_speed
Physics state; wheel speed in m/s.
Definition: Actor.h:389
RoR::Actor::requestAngleSnap
void requestAngleSnap(int division)
Definition: Actor.h:95
RoR::Actor::SoftReset
void SoftReset()
Definition: Actor.cpp:1523
RoR::Actor::ar_num_contacters
int ar_num_contacters
Total number of nodes which can selfcontact cabs.
Definition: Actor.h:311
RoR::Actor::m_fusealge_airfoil
Airfoil * m_fusealge_airfoil
Physics attr; defined in truckfile.
Definition: Actor.h:565
RoR::Actor::m_flexbody_tasks
std::vector< std::shared_ptr< Task > > m_flexbody_tasks
Gfx state.
Definition: Actor.h:523
RoR::Actor::ar_num_soundsources
int ar_num_soundsources
Definition: Actor.h:317
RoR::Actor::tc_pulse_state
bool tc_pulse_state
Traction control state;.
Definition: Actor.h:348
RoR::Actor::m_has_command_beams
bool m_has_command_beams
Physics attr;.
Definition: Actor.h:615
RoR::Actor::m_camera_local_gforces_max
Ogre::Vector3 m_camera_local_gforces_max
Physics state (camera local)
Definition: Actor.h:554
RoR::Actor::ar_posnode_spawn_height
float ar_posnode_spawn_height
Definition: Actor.h:385
RoR::Skidmark
Definition: Skidmark.h:58
RoR::Actor::getMaxGForces
Ogre::Vector3 getMaxGForces()
Definition: Actor.h:104
RoR::ActorManager
Builds and manages softbody actors (physics on background thread, networking)
Definition: ActorManager.h:43
RoR::Actor::getReplay
Replay * getReplay()
Definition: Actor.cpp:4473
RoR::Actor::Actor
Actor(ActorInstanceID_t actor_id, unsigned int vector_index, RigDef::DocumentPtr def, ActorSpawnRequest rq)
Definition: Actor.cpp:4301
RoR::Actor::m_net_initialized
bool m_net_initialized
Definition: Actor.h:612
RoR::Actor::m_disable_default_sounds
bool m_disable_default_sounds
Spawner context; TODO: remove.
Definition: Actor.h:621
RoR::TransferCase
Definition: Differentials.h:43
RoR::Actor::CalcBeams
void CalcBeams(bool trigger_hooks)
Definition: ActorForcesEuler.cpp:1141
RoR::beam_t
Simulation: An edge in the softbody structure.
Definition: SimData.h:341
RoR::Actor::ar_aeroengines
AeroEngine * ar_aeroengines[MAX_AEROENGINES]
Definition: Actor.h:318
RoR::Actor::getAvgPropedWheelRadius
float getAvgPropedWheelRadius()
Definition: Actor.h:247
RoR::Actor::isPreloadedWithTerrain
bool isPreloadedWithTerrain() const
Definition: Actor.h:228
RoR::Actor::CalcShocks3
void CalcShocks3(int i, Ogre::Real difftoBeamL, Ogre::Real &k, Ogre::Real &d, Ogre::Real v)
Definition: Actor.cpp:2591
RoR::Actor::ar_nodes_id
int * ar_nodes_id
Number in truck file, -1 for nodes generated by wheels/cinecam.
Definition: Actor.h:270
RoR::Actor::ar_screwprops
Screwprop * ar_screwprops[MAX_SCREWPROPS]
Definition: Actor.h:320
RoR::ActorInstanceID_t
int ActorInstanceID_t
Unique sequentially generated ID of an actor in session. Use ActorManager::GetActorById()
Definition: ForwardDeclarations.h:37
DEFAULT_COLLISION_RANGE
static const float DEFAULT_COLLISION_RANGE
Definition: SimConstants.h:53
RoR::Actor::ar_beams
beam_t * ar_beams
Definition: Actor.h:277
CmdKeyInertia.h
RoR::Actor::getVelocity
Ogre::Vector3 getVelocity() const
Definition: Actor.h:97
RoR::Actor::m_stabilizer_shock_request
int m_stabilizer_shock_request
Physics state; values: { -1, 0, 1 }.
Definition: Actor.h:556
RoR::Actor::authors
std::vector< authorinfo_t > authors
Definition: Actor.h:287
RoR::Actor::ar_nb_beams_d_interval
std::pair< float, float > ar_nb_beams_d_interval
Search interval for springiness & damping of regular beams.
Definition: Actor.h:453
RoR::Actor::reset
void reset(bool keep_position=false)
call this one to reset a truck from any context
Definition: Actor.cpp:1512
RoR::NodeNum_t
uint16_t NodeNum_t
Node position within Actor::ar_nodes; use RoR::NODENUM_INVALID as empty value.
Definition: ForwardDeclarations.h:52
RoR::Actor::ar_num_aeroengines
int ar_num_aeroengines
Definition: Actor.h:319
RoR::Actor::getMinHeight
float getMinHeight(bool skip_virtual_nodes=true)
Definition: Actor.cpp:1458
RoR::Actor::removeWorkingTuneupDef
void removeWorkingTuneupDef()
Deletes the working tuneup def object if it exists.
Definition: Actor.cpp:4621
RoR::Actor::ar_rotators
rotator_t * ar_rotators
Definition: Actor.h:283
RoR::Actor::m_mouse_grab_move_force
float m_mouse_grab_move_force
Definition: Actor.h:548
RoR::Actor::ar_airbrake_intensity
int ar_airbrake_intensity
Physics state; values 0-5.
Definition: Actor.h:416
RoR::Actor::m_fusealge_front
node_t * m_fusealge_front
Physics attr; defined in truckfile.
Definition: Actor.h:566
RoR::Actor::ar_camera_node_roll
NodeNum_t ar_camera_node_roll[MAX_CAMERAS]
Physics attr; 'camera' = frame of reference; left node.
Definition: Actor.h:382
RoR::Actor::m_transfer_case
TransferCase * m_transfer_case
Physics.
Definition: Actor.h:561
RoR::Actor::ar_flares
std::vector< flare_t > ar_flares
Definition: Actor.h:293
RoR::Actor::m_previous_gear
int m_previous_gear
Sim state; land vehicle shifting.
Definition: Actor.h:563
RoR::Actor::tc_notoggle
bool tc_notoggle
Traction control attribute; Disable in-game toggle?
Definition: Actor.h:350
RoR::Actor::m_antilockbrake
bool m_antilockbrake
GUI state.
Definition: Actor.h:580
SimData.h
Core data structures for simulation; Everything affected by by either physics, network or user intera...
RoR::Actor::ar_num_wings
int ar_num_wings
Definition: Actor.h:286
RoR::ExtCameraMode
ExtCameraMode
Definition: SimData.h:56
RoR::Actor::getAuthors
std::vector< authorinfo_t > getAuthors()
Definition: Actor.cpp:4370
RoR::Actor::m_force_sensors
struct RoR::Actor::VehicleForceSensors m_force_sensors
Data for ForceFeedback devices.
RoR::Actor::m_slidenodes_locked
bool m_slidenodes_locked
Physics state; Are SlideNodes locked?
Definition: Actor.h:611
RoR::Actor::m_num_command_beams
int m_num_command_beams
TODO: Remove! Spawner context only; likely unused feature.
Definition: Actor.h:571
RoR::Actor::HandleInputEvents
void HandleInputEvents(float dt)
Definition: Actor.cpp:1863
RoR::Actor::ar_intra_collcabrate
collcab_rate_t ar_intra_collcabrate[MAX_CABS]
Definition: Actor.h:327
RoR::Actor::resetSlideNodePositions
void resetSlideNodePositions()
Recalculate SlideNode positions.
Definition: ActorSlideNode.cpp:112
RoR::Actor::NetUpdate::veh_state
std::vector< char > veh_state
Actor properties (engine, brakes, lights, ...)
Definition: Actor.h:642
RoR::Actor::ar_scale
float ar_scale
Physics state; scale of the actor (nominal = 1.0)
Definition: Actor.h:387
RoR::ActorPtrVec
std::vector< ActorPtr > ActorPtrVec
Definition: ForwardDeclarations.h:197
RoR::Actor::toggleHeadlights
void toggleHeadlights()
Definition: Actor.cpp:2957
RoR::Actor::VehicleForceSensors
Definition: Actor.h:624
RoR::Actor::DisjoinInterActorBeams
void DisjoinInterActorBeams()
Destroys all inter-actor beams which are connected with this actor.
Definition: Actor.cpp:3331
RoR::Actor::calcNetwork
void calcNetwork()
Definition: Actor.cpp:472
RoR::Actor::cc_target_speed
float cc_target_speed
Cruise Control.
Definition: Actor.h:356
RoR::Actor::ar_nb_shocks_d_interval
std::pair< float, float > ar_nb_shocks_d_interval
Search interval for springiness & damping of shock beams.
Definition: Actor.h:455
RoR::Actor::Intersects
bool Intersects(ActorPtr actor, Ogre::Vector3 offset=Ogre::Vector3::ZERO)
Slow intersection test.
Definition: Actor.cpp:840
RoR::Actor::getTransferCaseMode
TransferCase * getTransferCaseMode()
Toggles between 2WD and 4WD mode.
Definition: Actor.h:149
RoR::Actor::ar_num_collcabs
int ar_num_collcabs
Definition: Actor.h:328
RoR::Actor::resolveCollisions
void resolveCollisions(Ogre::Vector3 direction)
Moves the actor at most 'direction.length()' meters towards 'direction' to resolve any collisions.
Definition: Actor.cpp:1022
RoRnet::LIGHTMASK_HEADLIGHT
@ LIGHTMASK_HEADLIGHT
Definition: RoRnet.h:114
RoR::Autopilot
Definition: AutoPilot.h:34
RoR::Actor::ar_num_custom_particles
int ar_num_custom_particles
Definition: Actor.h:315
RoR::Actor::m_avg_node_velocity
Ogre::Vector3 m_avg_node_velocity
average node velocity (compared to the previous frame step)
Definition: Actor.h:542
RoR::ACTORINSTANCEID_INVALID
static const ActorInstanceID_t ACTORINSTANCEID_INVALID
Definition: ForwardDeclarations.h:38
MAX_CPARTICLES
static const int MAX_CPARTICLES
maximum number of custom particles per actor
Definition: SimConstants.h:33
RoR::Actor::m_inter_point_col_detector
PointColDetector * m_inter_point_col_detector
Physics.
Definition: Actor.h:536
RoR::Actor::getTyrePressure
TyrePressure & getTyrePressure()
Definition: Actor.h:210
RoR::Actor::m_camera_local_gforces_cur
Ogre::Vector3 m_camera_local_gforces_cur
Physics state (camera local)
Definition: Actor.h:553
RoR::Replay
Definition: Replay.h:39
RoR::Actor::requestRotation
void requestRotation(float rotation, Ogre::Vector3 center)
Definition: Actor.h:94
RoR::Actor::ar_nb_beams_k_interval
std::pair< float, float > ar_nb_beams_k_interval
Search interval for springiness & damping of regular beams.
Definition: Actor.h:454
RoR::Actor::getSectionConfig
Ogre::String getSectionConfig()
Definition: Actor.h:220
RoR::Actor::updateVisual
void updateVisual(float dt=0)
Definition: Actor.cpp:3178
RoR::hydrobeam_t
Definition: SimData.h:599
RoR::Actor::ar_origin
Ogre::Vector3 ar_origin
Physics state; base position for softbody nodes.
Definition: Actor.h:374
RoR::HookAction
HookAction
Definition: SimData.h:67
RoR::Actor::calculateCollisionOffset
Ogre::Vector3 calculateCollisionOffset(Ogre::Vector3 direction)
Virtually moves the actor at most 'direction.length()' meters towards 'direction' trying to resolve a...
Definition: Actor.cpp:906
RoR::Actor::setFogLightsVisible
void setFogLightsVisible(bool val)
Definition: Actor.h:182
MAX_CAMERAS
static const int MAX_CAMERAS
maximum number of cameras per actor
Definition: SimConstants.h:29
RoR::Actor::SyncReset
void SyncReset(bool reset_position)
this one should be called only synchronously (without physics running in background)
Definition: Actor.cpp:1547
RoR::Actor::antilockbrakeToggle
void antilockbrakeToggle()
Definition: Actor.cpp:3689
RoR::Actor::ar_hydro_speed_coupling
bool ar_hydro_speed_coupling
Definition: Actor.h:464
RoR::Actor::getHeadlightsVisible
bool getHeadlightsVisible() const
Definition: Actor.h:177
RoR::Actor::ar_command_key
CmdKeyArray ar_command_key
BEWARE: commandkeys are indexed 1-MAX_COMMANDS!
Definition: Actor.h:295
RoR::Actor::getTruckFileName
std::string getTruckFileName()
Definition: Actor.h:217
RoR::Actor::updateSlideNodePositions
void updateSlideNodePositions()
incrementally update the position of all SlideNodes
Definition: ActorSlideNode.cpp:130
RoR::Actor::getPosition
Ogre::Vector3 getPosition()
Definition: Actor.cpp:371
RoR::Actor::scaleTruck
void scaleTruck(float value)
Definition: Actor.cpp:316
RoR::Actor::m_description
std::vector< std::string > m_description
Definition: Actor.h:585
RoR::Actor::NotifyActorCameraChanged
void NotifyActorCameraChanged()
Logic: sound, display; Notify this vehicle that camera changed;.
Definition: Actor.cpp:3751
RoR::Actor::ar_hydro_rudder_command
float ar_hydro_rudder_command
Definition: Actor.h:397
RoR::Actor::ForceFeedbackStep
void ForceFeedbackStep(int steps)
Definition: Actor.cpp:1751
RoR::Actor::getBrakeLightVisible
bool getBrakeLightVisible() const
Definition: Actor.h:167
RoR::Actor::WriteDiagnosticDump
void WriteDiagnosticDump(std::string const &filename)
Definition: Actor.cpp:4512
RefCountingObject.h
RoR::Actor::ar_collcabs
int ar_collcabs[MAX_CABS]
Definition: Actor.h:325
RoR::Actor::getVehicleAI
VehicleAIPtr getVehicleAI()
Definition: Actor.h:205
RoR::Actor::ar_inter_beams
std::vector< beam_t * > ar_inter_beams
Beams connecting 2 actors.
Definition: Actor.h:279
RoR::Actor::ar_hydro_aileron_state
float ar_hydro_aileron_state
Definition: Actor.h:396
RoR::Actor::ar_cabs
int ar_cabs[MAX_CABS *3]
Definition: Actor.h:322
RoR::Actor::ar_import_commands
bool ar_import_commands
Sim state.
Definition: Actor.h:469
RoR::Actor::ar_minimass
std::vector< float > ar_minimass
minimum node mass in Kg
Definition: Actor.h:274
RoR::Actor::ar_exhaust_dir_node
NodeNum_t ar_exhaust_dir_node
Old-format exhaust (one per vehicle) backwards direction node.
Definition: Actor.h:364
RoR::Actor::cc_accs
std::deque< float > cc_accs
Cruise Control.
Definition: Actor.h:358
Application.h
Central state/object manager and communications hub.
RoR::Actor::m_net_propanimkey_buf_size
size_t m_net_propanimkey_buf_size
For incoming/outgoing traffic; calculated on spawn.
Definition: Actor.h:592
RoR::OutGauge
Definition: OutGauge.h:45
RoR::Actor::getOrientation
Ogre::Quaternion getOrientation()
Definition: Actor.cpp:376
RoR::Actor::setMass
void setMass(float m)
Definition: Actor.cpp:4380
RoR::Actor::m_net_color_num
int m_net_color_num
Definition: Actor.h:598
RoR::PointColDetector
Definition: PointColDetector.h:32
RoR::Actor::isTied
bool isTied()
Definition: Actor.cpp:3782
SoundScriptManager.h
RoR::node_t
Physics: A vertex in the softbody structure.
Definition: SimData.h:297
RoR::Actor::ar_rescuer_flag
bool ar_rescuer_flag
Gameplay attr; defined in truckfile. TODO: Does anybody use this anymore?
Definition: Actor.h:467
RoR::Actor::m_deletion_entities
std::vector< Ogre::Entity * > m_deletion_entities
For unloading vehicle; filled at spawn.
Definition: Actor.h:530
RoR::Actor::ar_initial_beam_defaults
std::vector< std::pair< float, float > > ar_initial_beam_defaults
Definition: Actor.h:302
RoR::Actor::UpdateCruiseControl
void UpdateCruiseControl(float dt)
Defined in 'gameplay/CruiseControl.cpp'.
Definition: CruiseControl.cpp:48
RoR::Actor::m_active_eventboxes
std::vector< std::pair< collision_box_t *, NodeNum_t > > m_active_eventboxes
Definition: Actor.h:427
RoR::Actor::m_used_actor_entry
CacheEntryPtr m_used_actor_entry
Definition: Actor.h:576
RoR::Actor::~Actor
virtual ~Actor() override
Definition: Actor.cpp:81
RoR::Actor::NetUpdate::node_data
std::vector< char > node_data
Compressed node positions.
Definition: Actor.h:643
RoR::Actor::tc_timer
float tc_timer
Traction control state;.
Definition: Actor.h:351
RoR::Actor::m_lightmask
BitMask_t m_lightmask
RoRnet::Lightmask.
Definition: Actor.h:604
RoR::Actor::ar_autopilot
Autopilot * ar_autopilot
Definition: Actor.h:371
RoR::Actor::getSideLightsVisible
bool getSideLightsVisible() const
Definition: Actor.h:175
RoR::Actor::m_dry_mass
float m_dry_mass
Physics attr;.
Definition: Actor.h:574
RoR::PerVehicleCameraContext
Definition: PerVehicleCameraContext.h:13
RoR::Actor::m_prop_anim_key_states
std::vector< PropAnimKeyState > m_prop_anim_key_states
Definition: Actor.h:586
RoR::Actor::ar_initial_total_mass
float ar_initial_total_mass
Definition: Actor.h:299
RoR::Actor::ar_sleep_counter
float ar_sleep_counter
Sim state; idle time counter.
Definition: Actor.h:401
RoR::Actor::getSteeringAngle
float getSteeringAngle()
Definition: Actor.cpp:4365
RoR::Actor::m_spawn_rotation
float m_spawn_rotation
Definition: Actor.h:549
RoR::Actor::getHeightAboveGroundBelow
float getHeightAboveGroundBelow(float height, bool skip_virtual_nodes=true)
Definition: Actor.cpp:1498
RoR::Actor::ar_num_screwprops
int ar_num_screwprops
Definition: Actor.h:321
RoR::BlinkType
BlinkType
< Turn signal
Definition: SimData.h:132
RoR::Actor::getDirection
Ogre::Vector3 getDirection()
average actor velocity, calculated using the actor positions of the last two frames
Definition: Actor.cpp:366
RoR::Actor::ar_camera_node_roll_inv
bool ar_camera_node_roll_inv[MAX_CAMERAS]
Physics attr; 'camera' = frame of reference; indicates roll node is right instead of left.
Definition: Actor.h:383
RoR::Actor::GetFFbBodyForces
Ogre::Vector3 GetFFbBodyForces() const
Definition: Actor.h:258
RoR::Actor::m_mouse_grab_node
NodeNum_t m_mouse_grab_node
Sim state; node currently being dragged by user.
Definition: Actor.h:546
RoR::Actor::m_flares_mode
GfxFlaresMode m_flares_mode
Snapshot of cvar 'gfx_flares_mode' on spawn.
Definition: Actor.h:603
RoR::Actor::ar_nodes_name_top_length
int ar_nodes_name_top_length
For nicely formatted diagnostic output.
Definition: Actor.h:272
RoR::Actor::updateSkidmarks
void updateSkidmarks()
Creates or updates skidmarks.
Definition: Actor.cpp:2894
RoR::Actor::ar_wheel_spin
float ar_wheel_spin
Physics state; wheel speed in radians/s.
Definition: Actor.h:390
RoRnet::LIGHTMASK_BRAKES
@ LIGHTMASK_BRAKES
brake lights on
Definition: RoRnet.h:118
RoR::Actor::m_railgroups
std::vector< RailGroup * > m_railgroups
all the available RailGroups for this actor
Definition: Actor.h:529
RoR::Actor::ar_num_beams
int ar_num_beams
Definition: Actor.h:278
RoR::Actor::m_avionic_chatter_timer
float m_avionic_chatter_timer
Sound fx state (some pseudo random number, doesn't matter)
Definition: Actor.h:535
RoR::ActorState
ActorState
Definition: SimData.h:276
RoR::Actor::m_preloaded_with_terrain
bool m_preloaded_with_terrain
Spawn context (TODO: remove!)
Definition: Actor.h:617
RoR::Actor::m_replay_handler
Replay * m_replay_handler
Definition: Actor.h:544
RoR::Actor::getTotalMass
float getTotalMass(bool withLocked=true)
Definition: Actor.cpp:758
RoR::Actor::hookToggle
void hookToggle(int group=-1, HookAction mode=HOOK_TOGGLE, NodeNum_t mousenode=NODENUM_INVALID)
Definition: Actor.cpp:3545
RoR::Actor::m_water_contact_old
bool m_water_contact_old
Scripting state.
Definition: Actor.h:614
RoR::Actor::m_net_total_buffer_size
size_t m_net_total_buffer_size
For incoming/outgoing traffic; calculated on spawn.
Definition: Actor.h:593
RoR::Actor::getUsedActorEntry
CacheEntryPtr & getUsedActorEntry()
The actor entry itself.
Definition: Actor.cpp:4597
RoR::cparticle_t
Definition: SimData.h:658
RoR::Actor::m_tyre_pressure
TyrePressure m_tyre_pressure
Definition: Actor.h:584
RoR::Actor::toggleSlideNodeLock
void toggleSlideNodeLock()
Definition: ActorSlideNode.cpp:34
RoR::Actor::tc_mode
bool tc_mode
Traction control state; Enabled? {1/0}.
Definition: Actor.h:346
RoR::Actor::ar_hydro_elevator_state
float ar_hydro_elevator_state
Definition: Actor.h:400
RoR::Actor::RecalculateNodeMasses
void RecalculateNodeMasses(Ogre::Real total)
Previously 'calc_masses2()'.
Definition: Actor.cpp:666
RoRnet::LIGHTMASK_HIGHBEAMS
@ LIGHTMASK_HIGHBEAMS
Definition: RoRnet.h:115
RoR::Actor::ar_num_cinecams
int ar_num_cinecams
Sim attr;.
Definition: Actor.h:370
RoR::Actor::ar_collision_range
float ar_collision_range
Physics attr.
Definition: Actor.h:423
RoR::Actor::GetCameraContext
PerVehicleCameraContext * GetCameraContext()
Definition: Actor.h:255
RoR::Actor::getManagedMaterialNames
std::vector< std::string > getManagedMaterialNames()
Definition: Actor.cpp:4490
RoR::Actor::ar_nb_wheels_k_interval
std::pair< float, float > ar_nb_wheels_k_interval
Search interval for springiness & damping of wheel / rim beams.
Definition: Actor.h:458
RoR::ExtCameraMode::CLASSIC
@ CLASSIC
RoR::Actor::m_tractioncontrol
bool m_tractioncontrol
GUI state.
Definition: Actor.h:581
RoR::Actor::m_disable_smoke
bool m_disable_smoke
Stops/starts smoke particles (i.e. exhausts, turbojets).
Definition: Actor.h:622
RoR::Actor::GetCameraRoll
Ogre::Vector3 GetCameraRoll()
Definition: Actor.h:257
RoR::Actor::ar_node_to_node_connections
std::vector< std::vector< int > > ar_node_to_node_connections
Definition: Actor.h:305
RoR::Actor::toggleTransferCaseMode
void toggleTransferCaseMode()
Definition: Actor.cpp:1381
RoR::Actor::parkingbrakeToggle
void parkingbrakeToggle()
Definition: Actor.cpp:3674
RoR::Actor::ar_nb_mass_scale
float ar_nb_mass_scale
Global mass scale (affects all nodes the same way)
Definition: Actor.h:449
RoR::Actor::m_total_mass
float m_total_mass
Physics state; total mass in Kg.
Definition: Actor.h:545
RoR::Actor::CalcForcesEulerPrepare
bool CalcForcesEulerPrepare(bool doUpdate)
Definition: ActorForcesEuler.cpp:1099
MAX_CAMERARAIL
static const int MAX_CAMERARAIL
maximum number of camera rail points
Definition: SimConstants.h:34
RoR::Actor::getParkingBrake
bool getParkingBrake()
Definition: Actor.h:140
RoR::Actor::m_net_node_buf_size
size_t m_net_node_buf_size
For incoming/outgoing traffic; calculated on spawn.
Definition: Actor.h:590
RoR::Actor::ar_brake_force
float ar_brake_force
Physics attr; filled at spawn.
Definition: Actor.h:372
RoR::Actor::ar_is_police
bool ar_is_police
Gfx/sfx attr.
Definition: Actor.h:466
RoR::Actor::cc_can_brake
bool cc_can_brake
Cruise Control.
Definition: Actor.h:354
RoR::Actor::alb_timer
float alb_timer
Anti-lock brake state;.
Definition: Actor.h:344
RoR::Actor::alb_mode
bool alb_mode
Anti-lock brake state; Enabled? {1/0}.
Definition: Actor.h:339
RoR::Actor::setBeaconMode
void setBeaconMode(bool val)
Definition: Actor.h:183
RoR::Actor::ar_initial_node_positions
std::vector< Ogre::Vector3 > ar_initial_node_positions
Definition: Actor.h:301
RoR::Actor::m_num_proped_wheels
int m_num_proped_wheels
Physics attr, filled at spawn - Number of propelled wheels.
Definition: Actor.h:533
RoR::Actor::ar_elevator
float ar_elevator
Sim state; aerial controller.
Definition: Actor.h:407
RoR::Actor::ar_nb_initialized
bool ar_nb_initialized
Definition: Actor.h:444
RoR::DashBoardManager
Definition: DashBoardManager.h:205
RoR::Actor::ar_nb_wheels_d_interval
std::pair< float, float > ar_nb_wheels_d_interval
Search interval for springiness & damping of wheel / rim beams.
Definition: Actor.h:457
RoR::Actor::ar_nodes
node_t * ar_nodes
Definition: Actor.h:269
RoR::Actor::m_has_axles_section
bool m_has_axles_section
Temporary (legacy parsing helper) until central diffs are implemented.
Definition: Actor.h:583
RoR::Actor::getMinimalCameraRadius
Ogre::Real getMinimalCameraRadius()
Definition: Actor.cpp:4468
RoR::Actor::ar_toggle_ties
bool ar_toggle_ties
Sim state.
Definition: Actor.h:471
RoR::Actor::getRotation
float getRotation()
Definition: Actor.cpp:356
RoR::Actor::toggleBlinkType
void toggleBlinkType(BlinkType blink)
Definition: Actor.cpp:3048
RoR::Actor::m_used_skin_entry
CacheEntryPtr m_used_skin_entry
Graphics.
Definition: Actor.h:577
RoR::GfxFlaresMode
GfxFlaresMode
Definition: Application.h:224
RoR::Actor::ar_hydro_aileron_command
float ar_hydro_aileron_command
Definition: Actor.h:395
RoR::Actor::m_potential_eventboxes
CollisionBoxPtrVec m_potential_eventboxes
Definition: Actor.h:426
MAX_SOUNDSCRIPTS_PER_TRUCK
static const int MAX_SOUNDSCRIPTS_PER_TRUCK
maximum number of soundsscripts per actor
Definition: SimConstants.h:32
RoR::Actor::CalcDifferentials
void CalcDifferentials()
Definition: ActorForcesEuler.cpp:163
RoR::Actor::ar_hydro_dir_command
float ar_hydro_dir_command
Definition: Actor.h:392
RoR::Actor::ar_driveable
ActorType ar_driveable
Sim attr; marks vehicle type and features.
Definition: Actor.h:367
RoR::Actor::getTransferCaseName
Ogre::String getTransferCaseName()
Toggles between Hi and Lo mode.
Definition: Actor.cpp:1426
RoR::Actor::setSmokeEnabled
void setSmokeEnabled(bool enabled)
Writes info to console/notify area.
Definition: Actor.h:153
RoR::Actor::ar_initial_node_masses
std::vector< float > ar_initial_node_masses
Definition: Actor.h:300
RoR::Actor::tieToggle
void tieToggle(int group=-1)
Definition: Actor.cpp:3360
RoR::Screwprop
Definition: ScrewProp.h:34
RoR::Actor::ar_exhaust_pos_node
NodeNum_t ar_exhaust_pos_node
Old-format exhaust (one per vehicle) emitter node.
Definition: Actor.h:363
RoR::Actor::getNodePosition
Ogre::Vector3 getNodePosition(int nodeNumber)
Returns world position of node.
Definition: Actor.cpp:4500
RoR::Actor::m_axle_diffs
Differential * m_axle_diffs[1+MAX_WHEELS/2]
Physics.
Definition: Actor.h:557
RoR::Actor::ar_nb_beams_scale
std::pair< float, float > ar_nb_beams_scale
Scales for springiness & damping of regular beams.
Definition: Actor.h:450
RoR::Actor::UpdatePropAnimInputEvents
void UpdatePropAnimInputEvents()
Definition: Actor.cpp:4570
RoR::Actor::getUsedSkinEntry
CacheEntryPtr & getUsedSkinEntry()
Definition: Actor.cpp:4602
RoR::Actor::getHighBeamsVisible
bool getHighBeamsVisible() const
Definition: Actor.h:179
RoR::Actor::alb_nodash
bool alb_nodash
Anti-lock brake attribute: Hide the dashboard indicator?
Definition: Actor.h:342
RoR::Actor::m_intra_point_col_detector
PointColDetector * m_intra_point_col_detector
Physics.
Definition: Actor.h:537
RoR::Actor::dispose
void dispose()
Effectively destroys the object but keeps it in memory to satisfy shared pointers.
Definition: Actor.cpp:88
RoR::Actor::m_odometer_total
float m_odometer_total
GUI state.
Definition: Actor.h:569
RoR::Actor::alb_minspeed
float alb_minspeed
Anti-lock brake attribute;.
Definition: Actor.h:338
RoR::Actor::ar_custom_camera_node
NodeNum_t ar_custom_camera_node
Sim state; custom tracking node for 3rd-person camera.
Definition: Actor.h:413
RoR::Actor::ar_ropes
std::vector< rope_t > ar_ropes
Definition: Actor.h:289
RoR::Actor::ar_num_cameras
int ar_num_cameras
Definition: Actor.h:375
RoR::Actor::resetSlideNodes
void resetSlideNodes()
Reset all the SlideNodes.
Definition: ActorSlideNode.cpp:122
RoR::Actor::ar_hydro_elevator_command
float ar_hydro_elevator_command
Definition: Actor.h:399
RoR::Actor::m_net_username
Ogre::UTFString m_net_username
Definition: Actor.h:597
RoR::Actor::m_working_tuneup_def
TuneupDefPtr m_working_tuneup_def
Each actor gets unique instance, even if loaded from .tuneup file in modcache.
Definition: Actor.h:578
RoR::Actor::CalcBuoyance
void CalcBuoyance(bool doUpdate)
Definition: ActorForcesEuler.cpp:151
RoR::Actor::ar_wings
wing_t * ar_wings
Definition: Actor.h:285
RoR::GfxFlaresMode::NONE
@ NONE
None (fastest)
RoR::Actor::getRotationCenter
Ogre::Vector3 getRotationCenter()
Definition: Actor.cpp:1440
RoR::Actor::requestTranslation
void requestTranslation(Ogre::Vector3 translation)
Definition: Actor.h:96
RoR::Actor::toggleTransferCaseGearRatio
void toggleTransferCaseGearRatio()
Definition: Actor.cpp:1412
RoR::Actor::CalcAircraftForces
void CalcAircraftForces(bool doUpdate)
Definition: ActorForcesEuler.cpp:103
RoR::Actor::alb_ratio
float alb_ratio
Anti-lock brake attribute: Regulating force.
Definition: Actor.h:337
RoR::Actor::ar_anim_shift_timer
float ar_anim_shift_timer
For 'animator' with flag 'shifter'.
Definition: Actor.h:352
RoR::Actor::ar_num_wheels
int ar_num_wheels
Definition: Actor.h:313
RoR::ground_model_t
Surface friction properties.
Definition: SimData.h:740
RefCountingObjectPtr.h
RoR::Actor::getTruckType
int getTruckType()
Definition: Actor.h:219
RoR::Actor::m_avg_node_position
Ogre::Vector3 m_avg_node_position
average node position
Definition: Actor.h:539
RoR::Actor::ar_top_speed
float ar_top_speed
Sim state.
Definition: Actor.h:424
RoR::Actor::AddInterActorBeam
void AddInterActorBeam(beam_t *beam, ActorPtr a, ActorPtr b)
Definition: Actor.cpp:3285
RoR::Actor::GetNumActiveConnectedBeams
int GetNumActiveConnectedBeams(int nodeid)
Returns the number of active (non bounded) beams connected to a node.
Definition: Actor.cpp:3771
RoR::Actor::ar_predicted_coll_bounding_boxes
std::vector< Ogre::AxisAlignedBox > ar_predicted_coll_bounding_boxes
Definition: Actor.h:308
RoR::Actor::setCustomLightVisible
void setCustomLightVisible(int number, bool visible)
Definition: Actor.cpp:4407
RoR::Actor::ar_num_camera_rails
int ar_num_camera_rails
Definition: Actor.h:333
RoR::Actor::updateSlideNodeForces
void updateSlideNodeForces(const Ogre::Real delta_time_sec)
calculate and apply Corrective forces
Definition: ActorSlideNode.cpp:103
MAX_CABS
static const int MAX_CABS
maximum number of cabs per actor
Definition: SimConstants.h:27
RoR::Actor::ar_net_stream_id
int ar_net_stream_id
Definition: Actor.h:418
RoR::Actor::RemoveInterActorBeam
void RemoveInterActorBeam(beam_t *beam)
Definition: Actor.cpp:3307
RoR::Actor::ar_submesh_ground_model
ground_model_t * ar_submesh_ground_model
Definition: Actor.h:402
RoR::Actor::VehicleForceSensors::accu_hydros_forces
float accu_hydros_forces
Definition: Actor.h:635
RoR::Airfoil
Represents an airfoil http://en.wikipedia.org/wiki/Airfoil.
Definition: Airfoil.h:31
RoR::GfxActor
Definition: GfxActor.h:52
BitMask_t
uint32_t BitMask_t
Definition: BitFlags.h:7
GfxActor.h
Manager for all visuals belonging to a single actor.
RoR::Actor::getMaxHeight
float getMaxHeight(bool skip_virtual_nodes=true)
Definition: Actor.cpp:1471
RoR::Actor::ar_design_name
Ogre::String ar_design_name
Name of the vehicle/machine/object this actor represents.
Definition: Actor.h:335
RoR::Actor::m_wheel_node_count
int m_wheel_node_count
Static attr; filled at spawn.
Definition: Actor.h:562
RoR::Actor::countFlaresByType
int countFlaresByType(FlareType type)
Definition: Actor.cpp:4444
RoR::Actor::alb_notoggle
bool alb_notoggle
Anti-lock brake attribute: Disable in-game toggle?
Definition: Actor.h:343
RoR::Actor::countCustomLights
int countCustomLights(int control_number)
Definition: Actor.cpp:4427
RoR::Actor::ar_net_last_update_time
unsigned long ar_net_last_update_time
Definition: Actor.h:421
RoR::Actor::ar_shocks
shock_t * ar_shocks
Shock absorbers.
Definition: Actor.h:280
RoR::Actor::ar_hydros
std::vector< hydrobeam_t > ar_hydros
Definition: Actor.h:324
RigDef::DocumentPtr
std::shared_ptr< Document > DocumentPtr
Definition: RigDef_Prerequisites.h:38
RoR::Actor::ropeToggle
void ropeToggle(int group=-1)
Definition: Actor.cpp:3472
RoR::Actor::ar_nb_skip_steps
int ar_nb_skip_steps
Amount of physics steps to be skipped before measuring.
Definition: Actor.h:447
RoRnet::LIGHTMASK_BEACONS
@ LIGHTMASK_BEACONS
beacons on
Definition: RoRnet.h:120
MAX_WHEELS
static const int MAX_WHEELS
maximum number of wheels per actor
Definition: SimConstants.h:24
RoR::Actor::calculateAveragePosition
void calculateAveragePosition()
Definition: Actor.cpp:1080
RoR::Actor::getBlinkType
BlinkType getBlinkType()
Definition: Actor.cpp:4455
RoR::Actor::getTruckName
std::string getTruckName()
Definition: Actor.h:216
RefCountingObject
Self reference-counting objects, as requred by AngelScript garbage collector.
Definition: RefCountingObject.h:26
RoR::Actor::ar_wheels
wheel_t ar_wheels[MAX_WHEELS]
Definition: Actor.h:312
RoR::Actor::ar_filehash
std::string ar_filehash
Attribute; filled at spawn.
Definition: Actor.h:415
RoR::Actor::alb_pulse_state
bool alb_pulse_state
Anti-lock brake state;.
Definition: Actor.h:341
RoR::Actor::CalcHydros
void CalcHydros()
Definition: ActorForcesEuler.cpp:546
RoR::Actor::ar_camera_node_pos
NodeNum_t ar_camera_node_pos[MAX_CAMERAS]
Physics attr; 'camera' = frame of reference; origin node.
Definition: Actor.h:380
RoR::Actor::m_custom_particles_enabled
bool m_custom_particles_enabled
Gfx state.
Definition: Actor.h:616
RoR::Actor::ar_net_source_id
int ar_net_source_id
Unique ID of remote player who spawned this actor.
Definition: Actor.h:417
RoR::Actor::updateSoundSources
void updateSoundSources()
Definition: Actor.cpp:3161
RoR::ActorType
ActorType
< Aka 'Driveable'
Definition: SimData.h:99
RoR::Actor::CalcBeamsInterActor
void CalcBeamsInterActor()
Definition: ActorForcesEuler.cpp:1400
RoR::Actor::m_beam_break_debug_enabled
bool m_beam_break_debug_enabled
Logging state.
Definition: Actor.h:618
MAX_SCREWPROPS
static const int MAX_SCREWPROPS
maximum number of boat screws per actor
Definition: SimConstants.h:31
RoR::Actor::getGForces
Ogre::Vector3 getGForces()
Definition: Actor.h:84
RoR::Actor::CalcWheels
void CalcWheels(bool doUpdate, int num_steps)
Definition: ActorForcesEuler.cpp:262
RoR::Actor::displayWheelDiffMode
void displayWheelDiffMode()
Cycles through the available inter wheel diff modes.
Definition: Actor.cpp:1341
RoR::Actor::ar_aileron
float ar_aileron
Sim state; aerial controller.
Definition: Actor.h:409
RoR::Actor::ar_ropables
std::vector< ropable_t > ar_ropables
Definition: Actor.h:290
RoR::Actor::m_camera_gforces
Ogre::Vector3 m_camera_gforces
Physics state (global)
Definition: Actor.h:552
RoR::Actor::ar_state
ActorState ar_state
Definition: Actor.h:435
RoR::Actor::setAirbrakeIntensity
void setAirbrakeIntensity(float intensity)
Definition: Actor.cpp:2884
RoR::Actor::engineTriggerHelper
void engineTriggerHelper(int engineNumber, EngineTriggerType type, float triggerValue)
Definition: Actor.cpp:4267
RoR::Actor::m_handbrake_force
float m_handbrake_force
Physics attr; defined in truckfile.
Definition: Actor.h:564
RoR::Actor::getLightStateMask
BitMask_t getLightStateMask() const
Definition: Actor.h:173
RoR::Actor::ar_update_physics
bool ar_update_physics
Physics state; Should this actor be updated (locally) in the next physics step?
Definition: Actor.h:461
RoR::SlideNode
Definition: SlideNode.h:64
RoR::Actor::updateDashBoards
void updateDashBoards(float dt)
Definition: Actor.cpp:3798
RoR::Actor::prepareInside
void prepareInside(bool inside)
Prepares vehicle for in-cabin camera use.
Definition: Actor.cpp:2918
RoR::Actor::m_mouse_grab_pos
Ogre::Vector3 m_mouse_grab_pos
Definition: Actor.h:547
RoR::Actor::updateInitPosition
void updateInitPosition()
Definition: Actor.cpp:1199
RoR::Actor::ar_rudder
float ar_rudder
Sim state; aerial/marine controller.
Definition: Actor.h:408
RoR::Actor::m_rotation_request
float m_rotation_request
Accumulator.
Definition: Actor.h:439
RoR::Actor::ar_airbrakes
std::vector< Airbrake * > ar_airbrakes
Definition: Actor.h:294
RoR::Actor::cruisecontrolToggle
void cruisecontrolToggle()
Defined in 'gameplay/CruiseControl.cpp'.
Definition: CruiseControl.cpp:31
RoR::Actor::ar_evboxes_bounding_box
Ogre::AxisAlignedBox ar_evboxes_bounding_box
bounding box around nodes eligible for eventbox triggering
Definition: Actor.h:297
RoR::Actor::ar_camera_rail
NodeNum_t ar_camera_rail[MAX_CAMERARAIL]
Nodes defining camera-movement spline.
Definition: Actor.h:332
RoR::Actor::getWorkingTuneupDef
TuneupDefPtr & getWorkingTuneupDef()
Definition: Actor.cpp:4607
RoR::Actor::ar_main_camera_node_roll
NodeNum_t ar_main_camera_node_roll
Sim attr; ar_camera_node_roll[0] >= 0 ? ar_camera_node_roll[0] : 0.
Definition: Actor.h:379
RoR::Actor::CalcHooks
void CalcHooks()
Definition: ActorForcesEuler.cpp:1709
RoR::Actor::ar_soundsources
soundsource_t ar_soundsources[MAX_SOUNDSCRIPTS_PER_TRUCK]
Definition: Actor.h:316
RoR::Actor::setSideLightsVisible
void setSideLightsVisible(bool val)
Definition: Actor.h:176
RoR::Actor::ar_num_shocks
int ar_num_shocks
Number of shock absorbers.
Definition: Actor.h:281
RoR::Actor::UpdateBoundingBoxes
void UpdateBoundingBoxes()
Definition: Actor.cpp:1115
RoR::Actor::ar_guisettings_use_engine_max_rpm
bool ar_guisettings_use_engine_max_rpm
Definition: Actor.h:430
RoR
Definition: AppContext.h:36
RoR::Actor::m_load_mass
float m_load_mass
Physics attr; predefined load mass in Kg.
Definition: Actor.h:572
RoR::Actor::m_beam_deform_debug_enabled
bool m_beam_deform_debug_enabled
Logging state.
Definition: Actor.h:619
RoR::Actor::m_gfx_actor
std::unique_ptr< GfxActor > m_gfx_actor
Definition: Actor.h:525
RoR::soundsource_t
Definition: SimData.h:422
RoR::Actor::ar_main_camera_dir_corr
Ogre::Quaternion ar_main_camera_dir_corr
Sim attr;.
Definition: Actor.h:376
RoR::Actor::m_anglesnap_request
int m_anglesnap_request
Accumulator.
Definition: Actor.h:440
RoR::Actor::ar_has_active_shocks
bool ar_has_active_shocks
Are there active stabilizer shocks?
Definition: Actor.h:282
RoR::Actor::CalcMouse
void CalcMouse()
Definition: ActorForcesEuler.cpp:94
RoR::Actor::m_camera_gforces_accu
Ogre::Vector3 m_camera_gforces_accu
Accumulator for 'camera' G-forces.
Definition: Actor.h:551
RoR::Actor::ar_guisettings_shifter_anim_time
float ar_guisettings_shifter_anim_time
Definition: Actor.h:432
RoR::Actor::ar_minimass_skip_loaded_nodes
bool ar_minimass_skip_loaded_nodes
Definition: Actor.h:275
RoR::Actor::ar_managed_materials
std::map< std::string, Ogre::MaterialPtr > ar_managed_materials
Definition: Actor.h:309
MAX_AEROENGINES
static const int MAX_AEROENGINES
maximum number of aero engines per actor
Definition: SimConstants.h:30
RoR::Actor::ar_num_buoycabs
int ar_num_buoycabs
Definition: Actor.h:331
RoR::EngineTriggerType
EngineTriggerType
Definition: SimData.h:230
RoR::Actor::ar_cinecam_node
NodeNum_t ar_cinecam_node[MAX_CAMERAS]
Sim attr; Cine-camera node indexes.
Definition: Actor.h:369
RoR::Actor::applyNodeBeamScales
void applyNodeBeamScales()
For GUI::NodeBeamUtils.
Definition: Actor.cpp:1721
RoR::wing_t
Definition: SimData.h:548
RoR::Actor::m_buoyance
std::unique_ptr< Buoyance > m_buoyance
Physics.
Definition: Actor.h:575
RoR::Actor::sendStreamData
void sendStreamData()
Send outgoing data.
Definition: Actor.cpp:1932
RoR::Actor::CalcShocks
void CalcShocks(bool doUpdate, int num_steps)
Definition: ActorForcesEuler.cpp:491
RoR::Actor::getCustomLightVisible
bool getCustomLightVisible(int number)
Definition: Actor.cpp:4385
RoR::Actor::VehicleForceSensors::accu_body_forces
Ogre::Vector3 accu_body_forces
Definition: Actor.h:632
RoR::Actor::ar_guisettings_speedo_max_kph
float ar_guisettings_speedo_max_kph
Definition: Actor.h:431
RoR::Actor::displayTransferCaseMode
void displayTransferCaseMode()
Gets the current transfer case mode name (4WD Hi, ...)
Definition: Actor.cpp:1367
RoR::rotator_t
Definition: SimData.h:610
RoR::Actor::m_blinker_left_lit
bool m_blinker_left_lit
Blinking state of left turn signal.
Definition: Actor.h:606
RoR::Actor::isBeingReset
bool isBeingReset() const
Definition: Actor.h:263
RoR::CmdKeyArray
For backwards compatibility of the 'triggers' feature, the commandkey array must support negative ind...
Definition: SimData.h:678
RoR::Actor::calcNodeConnectivityGraph
void calcNodeConnectivityGraph()
Definition: Actor.cpp:821
RoR::shock_t
Definition: SimData.h:379
RoR::Actor::VehicleForceSensors::Reset
void Reset()
Definition: Actor.h:626
RoR::Actor::VehicleForceSensors::out_body_forces
Ogre::Vector3 out_body_forces
Definition: Actor.h:636
RoR::Actor::ar_net_timer
Ogre::Timer ar_net_timer
Definition: Actor.h:420
RoR::Actor::muteAllSounds
void muteAllSounds()
Definition: Actor.cpp:3723
RoR::Actor::m_reset_timer
Ogre::Timer m_reset_timer
Definition: Actor.h:550