![]() |
RigsofRods
2023.09
Soft-body Physics Simulation
|
Softbody object; can be anything from soda can to a space shuttle Constructed from a truck definition file, see https://docs.rigsofrods.org/vehicle-creation/fileformat-truck/ To spawn in-game, use MSG_SIM_SPAWN_ACTOR_REQUESTED, see GameContext::PushMessage(), in AngelScript use game.pushMessage(); Gameplay states are described by enum ActorState.
More...
#include <Actor.h>
Inheritance diagram for RoR::Actor:Data Structures | |
| struct | NetUpdate |
| struct | VehicleForceSensors |
Public Member Functions | |
| Actor (ActorInstanceID_t actor_id, unsigned int vector_index, RigDef::DocumentPtr def, ActorSpawnRequest rq) | |
| virtual | ~Actor () override |
| void | dispose () |
| Effectively destroys the object but keeps it in memory to satisfy shared pointers. More... | |
| void | ForceFeedbackStep (int steps) |
| void | HandleInputEvents (float dt) |
| void | HandleAngelScriptEvents (float dt) |
| void | UpdateCruiseControl (float dt) |
| Defined in 'gameplay/CruiseControl.cpp'. More... | |
| bool | Intersects (ActorPtr actor, Ogre::Vector3 offset=Ogre::Vector3::ZERO) |
| Slow intersection test. More... | |
| void | resolveCollisions (Ogre::Vector3 direction) |
| Moves the actor at most 'direction.length()' meters towards 'direction' to resolve any collisions. More... | |
| void | resolveCollisions (float max_distance, bool consider_up) |
| Auto detects an ideal collision avoidance direction (front, back, left, right, up) Then moves the actor at most 'max_distance' meters towards that direction to resolve any collisions. More... | |
| float | getSteeringAngle () |
| float | getMinCameraRadius () |
| int | GetNumActiveConnectedBeams (int nodeid) |
| Returns the number of active (non bounded) beams connected to a node. More... | |
| void | NotifyActorCameraChanged () |
| Logic: sound, display; Notify this vehicle that camera changed;. More... | |
| float | getAvgPropedWheelRadius () |
| void | setAirbrakeIntensity (float intensity) |
| void | UpdateBoundingBoxes () |
| void | calculateAveragePosition () |
| void | UpdatePhysicsOrigin () |
| void | SoftReset () |
| void | SyncReset (bool reset_position) |
| this one should be called only synchronously (without physics running in background) More... | |
| void | WriteDiagnosticDump (std::string const &filename) |
| Ogre::Vector3 | GetCameraDir () |
| Ogre::Vector3 | GetCameraRoll () |
| Ogre::Vector3 | GetFFbBodyForces () const |
| GfxActor * | GetGfxActor () |
| void | RequestUpdateHudFeatures () |
| Ogre::Real | getMinimalCameraRadius () |
| float | GetFFbHydroForces () const |
| bool | isBeingReset () const |
| void | UpdatePropAnimInputEvents () |
Physics state | |
| ActorState | getTruckState () |
| Ogre::Vector3 | getPosition () |
| float | getRotation () |
| Ogre::Quaternion | getOrientation () |
| float | getSpeed () |
| Ogre::Vector3 | getGForces () |
| float | getTotalMass (bool withLocked=true) |
| int | getNodeCount () |
| Ogre::Vector3 | getNodePosition (int nodeNumber) |
| Returns world position of node. More... | |
| bool | isNodeWheelRim (int nodeNumber) |
| Is node marked as wheel rim? Note some wheel models use only tire nodes. See https://docs.rigsofrods.org/vehicle-creation/fileformat-truck/#wheels. More... | |
| bool | isNodeWheelTire (int nodeNumber) |
| Is node marked as wheel tire? Note some wheel models use only tire nodes. See https://docs.rigsofrods.org/vehicle-creation/fileformat-truck/#wheels. More... | |
| int | getWheelNodeCount () const |
| float | getWheelSpeed () const |
| void | reset (bool keep_position=false) |
| call this one to reset a truck from any context More... | |
| float | getShockSpringRate (int shock_number) |
| float | getShockDamping (int shock_number) |
| float | getShockVelocity (int shock_number) |
| int | getShockNode1 (int shock_number) |
| int | getShockNode2 (int shock_number) |
| void | resetPosition (Ogre::Vector3 translation, bool setInitPosition) |
| Moves the actor to given world coords (pivot point is node 0). More... | |
| void | resetPosition (float px, float pz, bool setInitPosition, float miny) |
| Moves the actor to given world coords (pivot point is node 0). More... | |
| void | softRespawn (Ogre::Vector3 spawnpos, Ogre::Quaternion spawnrot) |
Use MSG_SIM_MODIFY_ACTOR_REQUESTED with type SOFT_RESPAWN; Resets the actor to given position as if spawned there (pivot point is spawnpos). More... | |
| void | requestRotation (float rotation, Ogre::Vector3 center) |
| void | requestAngleSnap (int division) |
| void | requestTranslation (Ogre::Vector3 translation) |
| int | getShockCount () |
| Ogre::Vector3 | getVelocity () const |
| Ogre::Vector3 | getDirection () |
| average actor velocity, calculated using the actor positions of the last two frames More... | |
| Ogre::Vector3 | getRotationCenter () |
| float | getMinHeight (bool skip_virtual_nodes=true) |
| float | getMaxHeight (bool skip_virtual_nodes=true) |
| float | getHeightAboveGround (bool skip_virtual_nodes=true) |
| float | getHeightAboveGroundBelow (float height, bool skip_virtual_nodes=true) |
| Ogre::Vector3 | getMaxGForces () |
| bool | hasSlidenodes () |
| void | updateSlideNodePositions () |
| incrementally update the position of all SlideNodes More... | |
| void | updateSlideNodeForces (const Ogre::Real delta_time_sec) |
| calculate and apply Corrective forces More... | |
| void | resetSlideNodePositions () |
| Recalculate SlideNode positions. More... | |
| void | resetSlideNodes () |
| Reset all the SlideNodes. More... | |
Physics editing | |
| void | scaleTruck (float value) |
| void | setMass (float m) |
| void | setLoadedMass (float m) |
| void | setSimAttribute (ActorSimAttr attr, float val) |
| HAZARDOUS - values may not be checked; Pay attention to 'safe values' at each attribute description. More... | |
| float | getSimAttribute (ActorSimAttr attr) |
| void | applyNodeBeamScales () |
| For GUI::NodeBeamUtils. More... | |
| void | searchBeamDefaults () |
| Searches for more stable beam defaults. More... | |
| void | updateInitPosition () |
| void | propagateNodeBeamChangesToDef () |
| Back-propagates changes done by N/B-utils UI to the def-document. More... | |
| void | recalculateNodeMasses () |
User interaction | |
| void | parkingbrakeToggle () |
| void | tractioncontrolToggle () |
| void | antilockbrakeToggle () |
| void | toggleCustomParticles () |
| bool | getCustomParticleMode () |
| bool | isLocked () |
| Are hooks locked? More... | |
| void | setForcedCinecam (CineCameraID_t cinecam_id, BitMask_t flags) |
| void | clearForcedCinecam () |
| bool | getForcedCinecam (CineCameraID_t &cinecam_id, BitMask_t &flags) |
| int | getNumCinecams () |
| void | mouseMove (NodeNum_t node, Ogre::Vector3 pos, float force) |
| void | tieToggle (int group=-1, ActorLinkingRequestType mode=ActorLinkingRequestType::TIE_TOGGLE, ActorInstanceID_t forceunlock_filter=ACTORINSTANCEID_INVALID) |
| bool | isTied () |
| void | hookToggle (int group=-1, ActorLinkingRequestType mode=ActorLinkingRequestType::HOOK_TOGGLE, NodeNum_t mousenode=NODENUM_INVALID, ActorInstanceID_t forceunlock_filter=ACTORINSTANCEID_INVALID) |
| void | ropeToggle (int group=-1, ActorLinkingRequestType mode=ActorLinkingRequestType::ROPE_TOGGLE, ActorInstanceID_t forceunlock_filter=ACTORINSTANCEID_INVALID) |
| void | engineTriggerHelper (int engineNumber, EngineTriggerType type, float triggerValue) |
| void | toggleSlideNodeLock () |
| bool | getParkingBrake () |
| void | cruisecontrolToggle () |
| Defined in 'gameplay/CruiseControl.cpp'. More... | |
| void | toggleAxleDiffMode () |
| void | displayAxleDiffMode () |
| Cycles through the available inter axle diff modes. More... | |
| int | getAxleDiffMode () |
| Writes info to console/notify box. More... | |
| void | toggleWheelDiffMode () |
| void | displayWheelDiffMode () |
| Cycles through the available inter wheel diff modes. More... | |
| int | getWheelDiffMode () |
| Writes info to console/notify box. More... | |
| void | toggleTransferCaseMode () |
| TransferCase * | getTransferCaseMode () |
| Toggles between 2WD and 4WD mode. More... | |
| void | toggleTransferCaseGearRatio () |
| Ogre::String | getTransferCaseName () |
| Toggles between Hi and Lo mode. More... | |
| void | displayTransferCaseMode () |
| Gets the current transfer case mode name (4WD Hi, ...) More... | |
| void | setSmokeEnabled (bool enabled) |
| Writes info to console/notify area. More... | |
| bool | getSmokeEnabled () const |
Vehicle lights | |
| BlinkType | getBlinkType () |
| void | setBlinkType (BlinkType blink) |
| void | toggleBlinkType (BlinkType blink) |
| bool | getCustomLightVisible (int number) |
| void | setCustomLightVisible (int number, bool visible) |
| bool | getBeaconMode () const |
| void | beaconsToggle () |
| bool | getBrakeLightVisible () const |
| bool | getReverseLightVisible () const |
| int | countCustomLights (int control_number) |
| int | countFlaresByType (FlareType type) |
| void | toggleHeadlights () |
| BitMask_t | getLightStateMask () const |
| void | setLightStateMask (BitMask_t lightmask) |
| Does all the necessary toggling. More... | |
| void | importLightStateMask (BitMask_t lightmask) |
| Only for linked (locked/tied) actors forwarding flare states; see 'flaregroups_no_import' in .truck format. More... | |
| bool | getSideLightsVisible () const |
| void | setSideLightsVisible (bool val) |
| bool | getHeadlightsVisible () const |
| void | setHeadlightsVisible (bool val) |
| bool | getHighBeamsVisible () const |
| void | setHighBeamsVisible (bool val) |
| bool | getFogLightsVisible () const |
| void | setFogLightsVisible (bool val) |
| void | setBeaconMode (bool val) |
Visual state updates | |
| void | updateSkidmarks () |
| Creates or updates skidmarks. More... | |
| void | prepareInside (bool inside) |
| Prepares vehicle for in-cabin camera use. More... | |
| void | updateFlareStates (float dt) |
| void | updateVisual (float dt=0) |
| void | updateDashBoards (float dt) |
| void | forceAllFlaresOff () |
Audio | |
| void | updateSoundSources () |
| void | muteAllSounds () |
| void | unmuteAllSounds () |
Subsystems | |
| VehicleAIPtr | getVehicleAI () |
| Ogre::MaterialPtr | getManagedMaterialInstance (const std::string &orig_name) |
| std::vector< std::string > | getManagedMaterialNames () |
| Replay * | getReplay () |
| TyrePressure & | getTyrePressure () |
| EnginePtr | getEngine () |
Organizational | |
| std::string | getTruckName () |
| std::string | getTruckFileName () |
| std::string | getTruckFileResourceGroup () |
| int | getTruckType () |
| Ogre::String | getSectionConfig () |
| int | getInstanceId () |
| CacheEntryPtr & | getUsedActorEntry () |
| The actor entry itself. More... | |
| CacheEntryPtr & | getUsedSkinEntry () |
| TuneupDefPtr & | getWorkingTuneupDef () |
| void | ensureWorkingTuneupDef () |
| Creates a working tuneup def if it doesn't exist yet. More... | |
| void | removeWorkingTuneupDef () |
| Deletes the working tuneup def object if it exists. More... | |
| bool | isPreloadedWithTerrain () const |
| std::vector< authorinfo_t > | getAuthors () |
| std::vector< std::string > | getDescription () |
Public Member Functions inherited from RefCountingObject< Actor > | |
| RefCountingObject () | |
| virtual | ~RefCountingObject () |
| void | AddRef () |
| void | Release () |
Data Fields | |
| node_t * | ar_nodes = nullptr |
| int * | ar_nodes_id = nullptr |
| Number in truck file, -1 for nodes generated by wheels/cinecam. More... | |
| std::string * | ar_nodes_name = nullptr |
| Name in truck file, only if defined with 'nodes2'. More... | |
| std::vector< float > | ar_nodes_default_loadweights |
| 'set_node_defaults': load weight. More... | |
| std::vector< float > | ar_nodes_override_loadweights |
| 'nodes': 'l' flag and number. More... | |
| Ogre::Vector3 * | ar_nodes_spawn_offsets = nullptr |
| Relative positions (incl. Tuning system tweaks) from the definition file, for spawn-like resetting (i.e. with terrain editor on preloaded actor). More... | |
| std::vector< BitMask_t > | ar_nodes_options |
| merged options from 'nodes' and 'set_node_defaults' More... | |
| std::vector< float > | ar_minimass |
| minimum node mass in Kg - can be scaled in-game via NBUtil More... | |
| std::vector< float > | ar_orig_minimass |
| minimum node mass in Kg - original unscaled values More... | |
| std::vector< float > | ar_initial_node_masses |
| std::vector< Ogre::Vector3 > | ar_initial_node_positions |
| Absolute world positions, for resetting to pristine state. More... | |
| bool | ar_minimass_skip_loaded_nodes = false |
| int | ar_nodes_name_top_length = 0 |
| For nicely formatted diagnostic output. More... | |
| int | ar_num_nodes = 0 |
| beam_t * | ar_beams = nullptr |
| int | ar_num_beams = 0 |
| std::vector< std::pair< float, float > > | ar_initial_beam_defaults |
| std::vector< bool > | ar_beams_invisible |
| Used only by the exporter (for rendering, invisible beams simply get no mesh). More... | |
| std::vector< bool > | ar_beams_user_defined |
| True for 'beams', false for wheels/cinecam/hooknode/wings/rotators etc... More... | |
| std::vector< beam_t * > | ar_inter_beams |
| Beams connecting 2 actors. More... | |
| shock_t * | ar_shocks = nullptr |
| Shock absorbers. More... | |
| int | ar_num_shocks = 0 |
| Number of shock absorbers. More... | |
| bool | ar_has_active_shocks = false |
| Are there active stabilizer shocks? More... | |
| rotator_t * | ar_rotators = nullptr |
| int | ar_num_rotators = 0 |
| wing_t * | ar_wings = nullptr |
| int | ar_num_wings = 0 |
| std::vector< authorinfo_t > | authors |
| std::vector< rope_t > | ar_ropes |
| std::vector< ropable_t > | ar_ropables |
| std::vector< tie_t > | ar_ties |
| std::vector< hook_t > | ar_hooks |
| std::vector< flare_t > | ar_flares |
| std::vector< Airbrake * > | ar_airbrakes |
| CmdKeyArray | ar_command_key |
| BEWARE: commandkeys are indexed 1-MAX_COMMANDS! More... | |
| Ogre::AxisAlignedBox | ar_bounding_box |
| standard bounding box (surrounds all nodes of an actor) More... | |
| Ogre::AxisAlignedBox | ar_evboxes_bounding_box |
| bounding box around nodes eligible for eventbox triggering More... | |
| Ogre::AxisAlignedBox | ar_predicted_bounding_box |
| std::vector< wheeldetacher_t > | ar_wheeldetachers |
| std::vector< std::vector< int > > | ar_node_to_node_connections |
| std::vector< std::vector< int > > | ar_node_to_beam_connections |
| 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 of nodes) More... | |
| std::vector< Ogre::AxisAlignedBox > | ar_predicted_coll_bounding_boxes |
| std::map< std::string, Ogre::MaterialPtr > | ar_managed_materials |
| std::vector< UniqueCommandKeyPair > | ar_unique_commandkey_pairs |
| UI helper for displaying command control keys to user (must be built at spawn). More... | |
| int | ar_num_contactable_nodes = 0 |
| Total number of nodes which can contact ground or cabs. More... | |
| int | ar_num_contacters = 0 |
| Total number of nodes which can selfcontact cabs. More... | |
| wheel_t | ar_wheels [MAX_WHEELS] = {} |
| int | ar_num_wheels = 0 |
| soundsource_t | ar_soundsources [MAX_SOUNDSCRIPTS_PER_TRUCK] = {} |
| int | ar_num_soundsources = 0 |
| AeroEngine * | ar_aeroengines [MAX_AEROENGINES] = {} |
| int | ar_num_aeroengines = 0 |
| Screwprop * | ar_screwprops [MAX_SCREWPROPS] = {} |
| int | ar_num_screwprops = 0 |
| int | ar_cabs [MAX_CABS *3] = {} |
| int | ar_num_cabs = 0 |
| std::vector< hydrobeam_t > | ar_hydros |
| int | ar_collcabs [MAX_CABS] = {} |
| collcab_rate_t | ar_inter_collcabrate [MAX_CABS] = {} |
| collcab_rate_t | ar_intra_collcabrate [MAX_CABS] = {} |
| int | ar_num_collcabs = 0 |
| int | ar_buoycabs [MAX_CABS] = {} |
| int | ar_buoycab_types [MAX_CABS] = {} |
| int | ar_num_buoycabs = 0 |
| NodeNum_t | ar_camera_rail [MAX_CAMERARAIL] = {} |
| Nodes defining camera-movement spline. More... | |
| int | ar_num_camera_rails = 0 |
| bool | ar_hide_in_actor_list = false |
| Hide in list of spawned actors (available in top menubar). Useful for fixed-place machinery, i.e. cranes. More... | |
| Ogre::String | ar_design_name |
| Name of the vehicle/machine/object this actor represents. More... | |
| float | ar_anim_previous_crank = 0.f |
| For 'animator' with flag 'torque'. More... | |
| float | alb_ratio = 0.f |
| Anti-lock brake attribute: Regulating force. More... | |
| float | alb_minspeed = 0.f |
| Anti-lock brake attribute;. More... | |
| bool | alb_mode = false |
| Anti-lock brake state; Enabled? {1/0}. More... | |
| float | alb_pulse_time = 0.f |
| Anti-lock brake attribute;. More... | |
| bool | alb_pulse_state = false |
| Anti-lock brake state;. More... | |
| bool | alb_nodash = false |
| Anti-lock brake attribute: Hide the dashboard indicator? More... | |
| bool | alb_notoggle = false |
| Anti-lock brake attribute: Disable in-game toggle? More... | |
| float | alb_timer = 0.f |
| Anti-lock brake state;. More... | |
| float | ar_anim_shift_timer = 0.f |
| For 'animator' with flag 'shifter'. More... | |
| bool | cc_mode = false |
| Cruise Control. More... | |
| bool | cc_can_brake = false |
| Cruise Control. More... | |
| float | cc_target_rpm = 0.f |
| Cruise Control. More... | |
| float | cc_target_speed = 0.f |
| Cruise Control. More... | |
| float | cc_target_speed_lower_limit = 0.f |
| Cruise Control. More... | |
| std::deque< float > | cc_accs |
| Cruise Control. More... | |
| bool | sl_enabled = false |
| Speed limiter;. More... | |
| float | sl_speed_limit = 0.f |
| Speed limiter;. More... | |
| ExtCameraMode | ar_extern_camera_mode = ExtCameraMode::CLASSIC |
| NodeNum_t | ar_extern_camera_node = NODENUM_INVALID |
| NodeNum_t | ar_exhaust_pos_node = 0 |
| Old-format exhaust (one per vehicle) emitter node. More... | |
| NodeNum_t | ar_exhaust_dir_node = 0 |
| Old-format exhaust (one per vehicle) backwards direction node. More... | |
| ActorInstanceID_t | ar_instance_id = ACTORINSTANCEID_INVALID |
| Static attr; session-unique ID. More... | |
| unsigned int | ar_vector_index = 0 |
| Sim attr; actor element index in std::vector<m_actors> More... | |
| ActorType | ar_driveable = NOT_DRIVEABLE |
| Sim attr; marks vehicle type and features. More... | |
| EnginePtr | ar_engine |
| NodeNum_t | ar_cinecam_node [MAX_CAMERAS] = {NODENUM_INVALID} |
| Sim attr; Cine-camera node indexes. More... | |
| int | ar_num_cinecams = 0 |
| Sim attr;. More... | |
| Autopilot * | ar_autopilot = nullptr |
| float | ar_brake_force = 0.f |
| Physics attr; filled at spawn. More... | |
| Ogre::Vector3 | ar_origin = Ogre::Vector3::ZERO |
| Physics state; base position for softbody nodes. More... | |
| int | ar_num_cameras = 0 |
| Ogre::Quaternion | ar_main_camera_dir_corr = Ogre::Quaternion::IDENTITY |
| Sim attr;. More... | |
| NodeNum_t | ar_main_camera_node_pos = 0 |
| Sim attr; ar_camera_node_pos[0] >= 0 ? ar_camera_node_pos[0] : 0. More... | |
| NodeNum_t | ar_main_camera_node_dir = 0 |
| Sim attr; ar_camera_node_dir[0] >= 0 ? ar_camera_node_dir[0] : 0. More... | |
| NodeNum_t | ar_main_camera_node_roll = 0 |
| Sim attr; ar_camera_node_roll[0] >= 0 ? ar_camera_node_roll[0] : 0. More... | |
| NodeNum_t | ar_camera_node_pos [MAX_CAMERAS] = {NODENUM_INVALID} |
| Physics attr; 'camera' = frame of reference; origin node. More... | |
| NodeNum_t | ar_camera_node_dir [MAX_CAMERAS] = {NODENUM_INVALID} |
| Physics attr; 'camera' = frame of reference; back node. More... | |
| NodeNum_t | ar_camera_node_roll [MAX_CAMERAS] = {NODENUM_INVALID} |
| Physics attr; 'camera' = frame of reference; left node. More... | |
| bool | ar_camera_node_roll_inv [MAX_CAMERAS] = {false} |
| Physics attr; 'camera' = frame of reference; indicates roll node is right instead of left. More... | |
| float | ar_posnode_spawn_height = 0.f |
| VehicleAIPtr | ar_vehicle_ai |
| float | ar_scale = 1.f |
| Physics state; scale of the actor (nominal = 1.0) More... | |
| Ogre::Real | ar_brake = 0.f |
| Physics state; braking intensity. More... | |
| float | ar_wheel_speed = 0.f |
| Physics state; wheel speed in m/s. More... | |
| float | ar_wheel_spin = 0.f |
| Physics state; wheel speed in radians/s. More... | |
| float | ar_avg_wheel_speed = 0.f |
| Physics state; avg wheel speed in m/s. More... | |
| float | ar_hydro_dir_command = 0.f |
| float | ar_hydro_dir_state = 0.f |
| Ogre::Real | ar_hydro_dir_wheel_display = 0.f |
| float | ar_hydro_aileron_command = 0.f |
| float | ar_hydro_aileron_state = 0.f |
| float | ar_hydro_rudder_command = 0.f |
| float | ar_hydro_rudder_state = 0.f |
| float | ar_hydro_elevator_command = 0.f |
| float | ar_hydro_elevator_state = 0.f |
| float | ar_sleep_counter = 0.f |
| Sim state; idle time counter. More... | |
| ground_model_t * | ar_submesh_ground_model = nullptr |
| bool | ar_parking_brake = false |
| bool | ar_trailer_parking_brake = false |
| float | ar_left_mirror_angle = 0.52f |
| Sim state; rear view mirror angle. More... | |
| float | ar_right_mirror_angle = -0.52f |
| Sim state; rear view mirror angle. More... | |
| float | ar_elevator = 0.f |
| Sim state; aerial controller. More... | |
| float | ar_rudder = 0.f |
| Sim state; aerial/marine controller. More... | |
| float | ar_aileron = 0.f |
| Sim state; aerial controller. More... | |
| int | ar_aerial_flap = 0 |
| Sim state; state of aircraft flaps (values: 0-5) More... | |
| Ogre::Vector3 | ar_fusedrag = Ogre::Vector3::ZERO |
| Physics state. More... | |
| std::string | ar_filename |
| Attribute; filled at spawn. More... | |
| std::string | ar_filehash |
| Attribute; filled at spawn. More... | |
| int | ar_airbrake_intensity = 0 |
| Physics state; values 0-5. More... | |
| int | ar_net_source_id = 0 |
| Unique ID of remote player who spawned this actor. More... | |
| int | ar_net_stream_id = 0 |
| std::map< int, int > | ar_net_stream_results |
| Ogre::Timer | ar_net_timer |
| unsigned long | ar_net_last_update_time = 0 |
| DashBoardManager * | ar_dashboard = nullptr |
| float | ar_collision_range = DEFAULT_COLLISION_RANGE |
| Physics attr. More... | |
| float | ar_top_speed = 0.f |
| Sim state. More... | |
| ground_model_t * | ar_last_fuzzy_ground_model = nullptr |
| GUI state. More... | |
| CollisionBoxPtrVec | m_potential_eventboxes |
| std::vector< std::pair< collision_box_t *, NodeNum_t > > | m_active_eventboxes |
| CineCameraID_t | ar_current_cinecam = CINECAMERAID_INVALID |
Sim state; index of current CineCam (CINECAMERAID_INVALID if using 3rd-person camera) More... | |
| NodeNum_t | ar_custom_camera_node = NODENUM_INVALID |
| Sim state; custom tracking node for 3rd-person camera. More... | |
| PerVehicleCameraContext | ar_camera_context |
| CineCameraID_t | ar_forced_cinecam = CINECAMERAID_INVALID |
Sim state; index of CineCam forced by script (CINECAMERAID_INVALID if not forced) More... | |
| BitMask_t | ar_forced_cinecam_flags = 0 |
| Sim state; flags for forced CineCam supplied by script. More... | |
| float | tc_ratio = 0.f |
| Regulating force. More... | |
| bool | tc_mode = false |
| Enabled? More... | |
| float | tc_pulse_time = 0.f |
| bool | tc_pulse_state = 0.f |
| bool | tc_nodash = false |
| Hide the dashboard indicator? More... | |
| bool | tc_notoggle = false |
| Disable in-game toggle? More... | |
| float | tc_timer = 0.f |
| float | tc_wheelslip_constant = 0.25f |
use ACTORSIMATTR_TC_WHEELSLIP_CONSTANT More... | |
| bool | ar_guisettings_use_engine_max_rpm = false |
| float | ar_guisettings_speedo_max_kph = 0.f |
| float | ar_guisettings_shifter_anim_time = 0.4f |
| ActorState | ar_state = ActorState::LOCAL_SIMULATED |
| ActorPtrVec | ar_linked_actors |
BEWARE: Includes indirect links, see DetermineLinkedActors(); Other actors linked using 'hooks/ties/ropes/slidenodes'; use MSG_SIM_ACTOR_LINKING_REQUESTED More... | |
| bool | m_ongoing_reset = false |
| Hack to prevent position/rotation creep during interactive truck reset (aka LiveRepair). More... | |
| bool | ar_physics_paused = false |
| Actor physics individually paused by user. More... | |
| bool | ar_muted_by_peeropt = false |
Muted by user in multiplayer (see RoRnet::PEEROPT_MUTE_ACTORS). More... | |
| Ogre::Vector3 | m_rotation_request_center = Ogre::Vector3::ZERO |
| float | m_rotation_request = 0.f |
| Accumulator. More... | |
| int | m_anglesnap_request = 0 |
| Accumulator. More... | |
| Ogre::Vector3 | m_translation_request = Ogre::Vector3::ZERO |
| Accumulator. More... | |
| bool | ar_nb_initialized = false |
| std::vector< float > | ar_nb_optimum |
| Temporary storage of the optimum search result. More... | |
| std::vector< float > | ar_nb_reference |
| Temporary storage of the reference search result. More... | |
| int | ar_nb_skip_steps = 0 |
| Amount of physics steps to be skipped before measuring. More... | |
| int | ar_nb_measure_steps = 500 |
| Amount of physics steps to be measured. More... | |
| float | ar_nb_minimass_scale = 1.f |
| scale of 'set_default_minimass' (affects all nodes the same way) More... | |
| std::pair< float, float > | ar_nb_beams_scale |
| Scales for springiness & damping of regular beams. More... | |
| std::pair< float, float > | ar_nb_shocks_scale |
| Scales for springiness & damping of shock beams. More... | |
| std::pair< float, float > | ar_nb_wheels_scale |
| Scales for springiness & damping of wheel / rim beams. More... | |
| std::pair< float, float > | ar_nb_beams_d_interval |
| Search interval for springiness & damping of regular beams. More... | |
| std::pair< float, float > | ar_nb_beams_k_interval |
| Search interval for springiness & damping of regular beams. More... | |
| std::pair< float, float > | ar_nb_shocks_d_interval |
| Search interval for springiness & damping of shock beams. More... | |
| std::pair< float, float > | ar_nb_shocks_k_interval |
| Search interval for springiness & damping of shock beams. More... | |
| std::pair< float, float > | ar_nb_wheels_d_interval |
| Search interval for springiness & damping of wheel / rim beams. More... | |
| std::pair< float, float > | ar_nb_wheels_k_interval |
| Search interval for springiness & damping of wheel / rim beams. More... | |
| bool | ar_update_physics:1 |
| Physics state; Should this actor be updated (locally) in the next physics step? More... | |
| bool | ar_disable_aerodyn_turbulent_drag:1 |
| Physics state. More... | |
| bool | ar_engine_hydraulics_ready:1 |
| Sim state; does engine have enough RPM to power hydraulics? More... | |
| bool | ar_hydro_speed_coupling:1 |
| bool | ar_collision_relevant:1 |
| Physics state;. More... | |
| bool | ar_is_police:1 |
| Gfx/sfx attr. More... | |
| bool | ar_rescuer_flag:1 |
| Gameplay attr; defined in truckfile. TODO: Does anybody use this anymore? More... | |
| bool | ar_forward_commands:1 |
| Sim state. More... | |
| bool | ar_import_commands:1 |
| Sim state. More... | |
| bool | ar_toggle_ropes:1 |
| Sim state. More... | |
| bool | ar_toggle_ties:1 |
| Sim state. More... | |
| bool | ar_cparticles_active:1 |
| Gfx state. More... | |
Mass | |
| float | ar_dry_mass = 0.f |
| User-defined (editable via NBUtil); from 'globals' arg#1 - default for all nodes. More... | |
| float | ar_original_dry_mass = 0.f |
| Un-edited value from 'globals' arg#1. More... | |
| float | ar_load_mass = 0.f |
| User-defined (editable via NBUtil); from 'globals' arg#2 - only applies to nodes with 'l' flag. More... | |
| float | ar_original_load_mass = 0.f |
| Un-edited value from 'globals' arg#2. More... | |
| int | ar_masscount = 0 |
| Calculated; Number of nodes loaded with l option. More... | |
| float | ar_total_mass = 0.f |
| Calculated; total mass in Kg. More... | |
| float | ar_initial_total_mass = 0.f |
| Calculated; total mass in Kg (snapshot at spawn) More... | |
Data Fields inherited from RefCountingObject< Actor > | |
| int | m_refcount |
| std::mutex | m_refcount_mtx |
Private Member Functions | |
| bool | CalcForcesEulerPrepare (bool doUpdate) |
| void | CalcAircraftForces (bool doUpdate) |
| void | CalcForcesEulerCompute (bool doUpdate, int num_steps) |
| void | CalcAnimators (hydrobeam_t const &hydrobeam, float &cstate, int &div) |
| void | CalcBeams (bool trigger_hooks) |
| void | CalcBeamsInterActor () |
| void | CalcBuoyance (bool doUpdate) |
| void | CalcCommands (bool doUpdate) |
| void | CalcCabCollisions () |
| void | CalcDifferentials () |
| void | CalcForceFeedback (bool doUpdate) |
| void | CalcFuseDrag () |
| void | CalcHooks () |
| void | CalcHydros () |
| void | CalcMouse () |
| void | CalcNodes () |
| void | CalcEventBoxes () |
| void | CalcReplay () |
| void | CalcRopes () |
| void | CalcShocks (bool doUpdate, int num_steps) |
| void | CalcShocks2 (int i, Ogre::Real difftoBeamL, Ogre::Real &k, Ogre::Real &d, Ogre::Real v) |
| void | CalcShocks3 (int i, Ogre::Real difftoBeamL, Ogre::Real &k, Ogre::Real &d, Ogre::Real v) |
| void | CalcTriggers (int i, Ogre::Real difftoBeamL, bool update_hooks) |
| void | CalcTies () |
| void | CalcTruckEngine (bool doUpdate) |
| void | CalcWheels (bool doUpdate, int num_steps) |
| void | DetermineLinkedActors () |
| void | calcNodeConnectivityGraph () |
| void | AddInterActorBeam (beam_t *beam, ActorPtr other, ActorLinkingRequestType type) |
Do not call directly - use MSG_SIM_ACTOR_LINKING_REQUESTED More... | |
| void | RemoveInterActorBeam (beam_t *beam, ActorLinkingRequestType type) |
Do not call directly - use MSG_SIM_ACTOR_LINKING_REQUESTED More... | |
| void | DisjoinInterActorBeams () |
Helper for MSG_ handlers, do not invoke by hand. More... | |
| void | autoBlinkReset () |
| Resets the turn signal when the steering wheel is turned back. More... | |
| void | ResetAngle (float rot) |
| void | calculateLocalGForces () |
| Derive the truck local g-forces from the global ones. More... | |
| Ogre::Vector3 | calculateCollisionOffset (Ogre::Vector3 direction) |
| Virtually moves the actor at most 'direction.length()' meters towards 'direction' trying to resolve any collisions Returns a minimal offset by which the actor needs to be moved to resolve any collisions. More... | |
| std::pair< RailGroup *, Ogre::Real > | GetClosestRailOnActor (ActorPtr actor, const SlideNode &node) |
Private Attributes | |
| std::vector< std::shared_ptr< Task > > | m_flexbody_tasks |
| Gfx state. More... | |
| RigDef::DocumentPtr | m_definition |
| std::unique_ptr< GfxActor > | m_gfx_actor |
| Ogre::String | m_section_config |
| std::vector< SlideNode > | m_slidenodes |
| all the SlideNodes available on this actor More... | |
| std::vector< RailGroup * > | m_railgroups |
| all the available RailGroups for this actor More... | |
| std::vector< Ogre::Entity * > | m_deletion_entities |
| For unloading vehicle; filled at spawn. More... | |
| std::vector< Ogre::SceneNode * > | m_deletion_scene_nodes |
| For unloading vehicle; filled at spawn. More... | |
| int | m_proped_wheel_pairs [MAX_WHEELS] = {} |
| Physics attr; For inter-differential locking. More... | |
| int | m_num_proped_wheels = 0 |
| Physics attr, filled at spawn - Number of propelled wheels. More... | |
| float | m_avg_proped_wheel_radius = 0.f |
| Physics attr, filled at spawn - Average proped wheel radius. More... | |
| float | m_avionic_chatter_timer = 11.f |
| Sound fx state (some pseudo random number, doesn't matter) More... | |
| PointColDetector * | m_inter_point_col_detector = nullptr |
| Physics. More... | |
| PointColDetector * | m_intra_point_col_detector = nullptr |
| Physics. More... | |
| Ogre::Vector3 | m_avg_node_position = Ogre::Vector3::ZERO |
| average node position More... | |
| Ogre::Real | m_min_camera_radius = 0.f |
| Ogre::Vector3 | m_avg_node_position_prev = Ogre::Vector3::ZERO |
| Ogre::Vector3 | m_avg_node_velocity = Ogre::Vector3::ZERO |
| average node velocity (compared to the previous frame step) More... | |
| float | m_stabilizer_shock_sleep = 0.f |
| Sim state. More... | |
| Replay * | m_replay_handler = nullptr |
| NodeNum_t | m_mouse_grab_node = NODENUM_INVALID |
| Sim state; node currently being dragged by user. More... | |
| Ogre::Vector3 | m_mouse_grab_pos = Ogre::Vector3::ZERO |
| float | m_mouse_grab_move_force = 0.f |
| float | m_spawn_rotation = 0.f |
| Ogre::Timer | m_reset_timer |
| Ogre::Vector3 | m_camera_gforces_accu = Ogre::Vector3::ZERO |
| Accumulator for 'camera' G-forces. More... | |
| Ogre::Vector3 | m_camera_gforces = Ogre::Vector3::ZERO |
| Physics state (global) More... | |
| Ogre::Vector3 | m_camera_local_gforces_cur = Ogre::Vector3::ZERO |
| Physics state (camera local) More... | |
| Ogre::Vector3 | m_camera_local_gforces_max = Ogre::Vector3::ZERO |
| Physics state (camera local) More... | |
| float | m_stabilizer_shock_ratio = 0.f |
| Physics state. More... | |
| int | m_stabilizer_shock_request = 0 |
| Physics state; values: { -1, 0, 1 }. More... | |
| Differential * | m_axle_diffs [1+MAX_WHEELS/2] = {} |
| Physics. More... | |
| int | m_num_axle_diffs = 0 |
| Physics attr. More... | |
| Differential * | m_wheel_diffs [MAX_WHEELS/2] = {} |
| Physics. More... | |
| int | m_num_wheel_diffs = 0 |
| Physics attr. More... | |
| TransferCase * | m_transfer_case = nullptr |
| Physics. More... | |
| int | m_wheel_node_count = 0 |
| Static attr; filled at spawn. More... | |
| int | m_previous_gear = 0 |
| Sim state; land vehicle shifting. More... | |
| float | m_handbrake_force = 0.f |
| Physics attr; defined in truckfile. More... | |
| Airfoil * | m_fusealge_airfoil = nullptr |
| Physics attr; defined in truckfile. More... | |
| node_t * | m_fusealge_front = nullptr |
| Physics attr; defined in truckfile. More... | |
| node_t * | m_fusealge_back = nullptr |
| Physics attr; defined in truckfile. More... | |
| float | m_fusealge_width = 0.f |
| Physics attr; defined in truckfile. More... | |
| float | m_odometer_total = 0.f |
| GUI state. More... | |
| float | m_odometer_user = 0.f |
| GUI state. More... | |
| int | m_num_command_beams = 0 |
| TODO: Remove! Spawner context only; likely unused feature. More... | |
| std::unique_ptr< Buoyance > | m_buoyance |
| Physics. More... | |
| CacheEntryPtr | m_used_actor_entry |
| CacheEntryPtr | m_used_skin_entry |
| Graphics. More... | |
| TuneupDefPtr | m_working_tuneup_def |
| Each actor gets unique instance, even if loaded from .tuneup file in modcache. More... | |
| Skidmark * | m_skid_trails [MAX_WHEELS *2] = {} |
| bool | m_antilockbrake = false |
| GUI state. More... | |
| bool | m_tractioncontrol = false |
| GUI state. More... | |
| bool | m_has_axles_section = false |
| Temporary (legacy parsing helper) until central diffs are implemented. More... | |
| TyrePressure | m_tyre_pressure |
| std::vector< std::string > | m_description |
| std::vector< PropAnimKeyState > | m_prop_anim_key_states |
| bool | m_hud_features_ok:1 |
| Gfx state; Are HUD features matching actor's capabilities? More... | |
| bool | m_slidenodes_locked:1 |
| Physics state; Are SlideNodes locked? More... | |
| bool | m_net_initialized:1 |
| bool | m_water_contact:1 |
| Scripting state. More... | |
| bool | m_water_contact_old:1 |
| Scripting state. More... | |
| bool | m_has_command_beams:1 |
| Physics attr;. More... | |
| bool | m_preloaded_with_terrain:1 |
| Spawn context (TODO: remove!) More... | |
| bool | m_beam_break_debug_enabled:1 |
| Logging state. More... | |
| bool | m_beam_deform_debug_enabled:1 |
| Logging state. More... | |
| bool | m_trigger_debug_enabled:1 |
| Logging state. More... | |
| bool | m_disable_default_sounds:1 |
| Spawner context; TODO: remove. More... | |
| bool | m_disable_smoke:1 |
| Stops/starts smoke particles (i.e. exhausts, turbojets). More... | |
| struct RoR::Actor::VehicleForceSensors | m_force_sensors |
| Data for ForceFeedback devices. More... | |
| std::deque< NetUpdate > | m_net_updates |
| Incoming stream of NetUpdates. More... | |
Light states | |
| GfxFlaresMode | m_flares_mode = GfxFlaresMode::NONE |
| Snapshot of cvar 'gfx_flares_mode' on spawn. More... | |
| BitMask_t | m_lightmask = 0 |
| RoRnet::Lightmask. More... | |
| BitMask_t | m_flaregroups_no_import = 0 |
| RoRnet::Lightmask. More... | |
| bool | m_blinker_autoreset = false |
| When true, we're steering and blinker will turn off automatically. More... | |
| bool | m_blinker_left_lit = false |
| Blinking state of left turn signal. More... | |
| bool | m_blinker_right_lit = false |
| Blinking state of right turn signal. More... | |
Friends | |
| class | ActorSpawner |
| class | ActorManager |
| class | GfxActor |
| class | OutGauge |
Networking | |
| size_t | m_net_node_buf_size = 0 |
| For incoming/outgoing traffic; calculated on spawn. More... | |
| size_t | m_net_wheel_buf_size = 0 |
| For incoming/outgoing traffic; calculated on spawn. More... | |
| size_t | m_net_propanimkey_buf_size = 0 |
| For incoming/outgoing traffic; calculated on spawn. More... | |
| size_t | m_net_total_buffer_size = 0 |
| For incoming/outgoing traffic; calculated on spawn. More... | |
| float | m_net_node_compression = 0.f |
| For incoming/outgoing traffic; calculated on spawn. More... | |
| int | m_net_first_wheel_node = 0 |
| Network attr; Determines data buffer layout; calculated on spawn. More... | |
| std::string | m_net_username |
| int | m_net_color_num = 0 |
| void | sendStreamSetup () |
| void | sendStreamData () |
| Send outgoing data. More... | |
| void | pushNetwork (char *data, int size) |
| Process incoming data; fills actor's data buffers and flips them. Called by the network thread.//! More... | |
| void | calcNetwork () |
Additional Inherited Members | |
Static Public Member Functions inherited from RefCountingObject< Actor > | |
| static void | RegisterRefCountingObject (AS_NAMESPACE_QUALIFIER asIScriptEngine *engine, const char *name) |
Softbody object; can be anything from soda can to a space shuttle Constructed from a truck definition file, see https://docs.rigsofrods.org/vehicle-creation/fileformat-truck/ To spawn in-game, use MSG_SIM_SPAWN_ACTOR_REQUESTED, see GameContext::PushMessage(), in AngelScript use game.pushMessage(); Gameplay states are described by enum ActorState.
For additional state vars see "Gameplay state" section below.
| Actor::Actor | ( | ActorInstanceID_t | actor_id, |
| unsigned int | vector_index, | ||
| RigDef::DocumentPtr | def, | ||
| RoR::ActorSpawnRequest | rq | ||
| ) |
|
private |
| void Actor::applyNodeBeamScales | ( | ) |
For GUI::NodeBeamUtils.
|
private |
|
private |
Definition at line 103 of file ActorForcesEuler.cpp.
|
private |
|
private |
Definition at line 1142 of file ActorForcesEuler.cpp.
|
private |
Definition at line 1401 of file ActorForcesEuler.cpp.
|
private |
Definition at line 151 of file ActorForcesEuler.cpp.
|
private |
Definition at line 739 of file ActorForcesEuler.cpp.
|
private |
Definition at line 163 of file ActorForcesEuler.cpp.
|
private |
Definition at line 1640 of file ActorForcesEuler.cpp.
|
private |
Definition at line 69 of file ActorForcesEuler.cpp.
|
private |
Definition at line 46 of file ActorForcesEuler.cpp.
|
private |
Definition at line 1101 of file ActorForcesEuler.cpp.
|
private |
Definition at line 125 of file ActorForcesEuler.cpp.
|
private |
Definition at line 1719 of file ActorForcesEuler.cpp.
|
private |
Definition at line 548 of file ActorForcesEuler.cpp.
|
private |
Definition at line 94 of file ActorForcesEuler.cpp.
|
private |
Definition at line 1534 of file ActorForcesEuler.cpp.
|
private |
Definition at line 1093 of file ActorForcesEuler.cpp.
|
private |
Definition at line 1771 of file ActorForcesEuler.cpp.
|
private |
Definition at line 493 of file ActorForcesEuler.cpp.
|
private |
|
private |
|
private |
Definition at line 1054 of file ActorForcesEuler.cpp.
|
private |
|
private |
Definition at line 1085 of file ActorForcesEuler.cpp.
|
private |
|
private |
|
private |
Definition at line 264 of file ActorForcesEuler.cpp.
| void Actor::cruisecontrolToggle | ( | ) |
Defined in 'gameplay/CruiseControl.cpp'.
Definition at line 31 of file CruiseControl.cpp.
|
private |
| void Actor::displayAxleDiffMode | ( | ) |
| void Actor::displayTransferCaseMode | ( | ) |
| void Actor::displayWheelDiffMode | ( | ) |
| void Actor::dispose | ( | ) |
| void Actor::engineTriggerHelper | ( | int | engineNumber, |
| EngineTriggerType | type, | ||
| float | triggerValue | ||
| ) |
| void Actor::ensureWorkingTuneupDef | ( | ) |
| std::vector< authorinfo_t > Actor::getAuthors | ( | ) |
|
inline |
|
private |
| actor | which actor to retrieve the closest Rail from |
| node | which SlideNode is being checked against |
Definition at line 73 of file ActorSlideNode.cpp.
| Vector3 Actor::getDirection | ( | ) |
| bool Actor::getForcedCinecam | ( | CineCameraID_t & | cinecam_id, |
| BitMask_t & | flags | ||
| ) |
| float Actor::getHeightAboveGround | ( | bool | skip_virtual_nodes = true | ) |
| float Actor::getHeightAboveGroundBelow | ( | float | height, |
| bool | skip_virtual_nodes = true |
||
| ) |
| Ogre::MaterialPtr Actor::getManagedMaterialInstance | ( | const std::string & | orig_name | ) |
| std::vector< std::string > Actor::getManagedMaterialNames | ( | ) |
| float Actor::getMaxHeight | ( | bool | skip_virtual_nodes = true | ) |
| float Actor::getMinHeight | ( | bool | skip_virtual_nodes = true | ) |
| Vector3 Actor::getNodePosition | ( | int | nodeNumber | ) |
| int Actor::GetNumActiveConnectedBeams | ( | int | nodeid | ) |
| float Actor::getSimAttribute | ( | ActorSimAttr | attr | ) |
|
inline |
| String Actor::getTransferCaseName | ( | ) |
|
inline |
|
inline |
| CacheEntryPtr & Actor::getUsedActorEntry | ( | ) |
| CacheEntryPtr & Actor::getUsedSkinEntry | ( | ) |
|
inline |
|
inline |
| TuneupDefPtr & Actor::getWorkingTuneupDef | ( | ) |
| void Actor::hookToggle | ( | int | group = -1, |
| ActorLinkingRequestType | mode = ActorLinkingRequestType::HOOK_TOGGLE, |
||
| NodeNum_t | mousenode = NODENUM_INVALID, |
||
| ActorInstanceID_t | forceunlock_filter = ACTORINSTANCEID_INVALID |
||
| ) |
| void Actor::importLightStateMask | ( | BitMask_t | lightmask | ) |
| bool Actor::Intersects | ( | ActorPtr | actor, |
| Ogre::Vector3 | offset = Ogre::Vector3::ZERO |
||
| ) |
| bool Actor::isNodeWheelRim | ( | int | nodeNumber | ) |
Is node marked as wheel rim? Note some wheel models use only tire nodes. See https://docs.rigsofrods.org/vehicle-creation/fileformat-truck/#wheels.
| bool Actor::isNodeWheelTire | ( | int | nodeNumber | ) |
Is node marked as wheel tire? Note some wheel models use only tire nodes. See https://docs.rigsofrods.org/vehicle-creation/fileformat-truck/#wheels.
| void Actor::mouseMove | ( | NodeNum_t | node, |
| Ogre::Vector3 | pos, | ||
| float | force | ||
| ) |
| void Actor::NotifyActorCameraChanged | ( | ) |
| void Actor::prepareInside | ( | bool | inside | ) |
| void Actor::propagateNodeBeamChangesToDef | ( | ) |
Back-propagates changes done by N/B-utils UI to the def-document.
Definition at line 127 of file ActorExport.cpp.
| void Actor::pushNetwork | ( | char * | data, |
| int | size | ||
| ) |
|
private |
| void Actor::removeWorkingTuneupDef | ( | ) |
|
inline |
|
inline |
| void Actor::reset | ( | bool | keep_position = false | ) |
| void Actor::resetPosition | ( | float | px, |
| float | pz, | ||
| bool | setInitPosition, | ||
| float | miny | ||
| ) |
| void Actor::resetPosition | ( | Ogre::Vector3 | translation, |
| bool | setInitPosition | ||
| ) |
| void Actor::resetSlideNodePositions | ( | ) |
Recalculate SlideNode positions.
Definition at line 112 of file ActorSlideNode.cpp.
| void Actor::resetSlideNodes | ( | ) |
Reset all the SlideNodes.
Definition at line 122 of file ActorSlideNode.cpp.
| void Actor::resolveCollisions | ( | float | max_distance, |
| bool | consider_up | ||
| ) |
| void Actor::resolveCollisions | ( | Ogre::Vector3 | direction | ) |
| void Actor::ropeToggle | ( | int | group = -1, |
| ActorLinkingRequestType | mode = ActorLinkingRequestType::ROPE_TOGGLE, |
||
| ActorInstanceID_t | forceunlock_filter = ACTORINSTANCEID_INVALID |
||
| ) |
| void Actor::searchBeamDefaults | ( | ) |
| void Actor::setCustomLightVisible | ( | int | number, |
| bool | visible | ||
| ) |
| void Actor::setForcedCinecam | ( | CineCameraID_t | cinecam_id, |
| BitMask_t | flags | ||
| ) |
| void Actor::setLightStateMask | ( | BitMask_t | lightmask | ) |
| void Actor::setSimAttribute | ( | ActorSimAttr | attr, |
| float | val | ||
| ) |
|
inline |
| void Actor::softRespawn | ( | Ogre::Vector3 | spawnpos, |
| Ogre::Quaternion | spawnrot | ||
| ) |
| void Actor::SyncReset | ( | bool | reset_position | ) |
| void Actor::tieToggle | ( | int | group = -1, |
| ActorLinkingRequestType | mode = ActorLinkingRequestType::TIE_TOGGLE, |
||
| ActorInstanceID_t | forceunlock_filter = ACTORINSTANCEID_INVALID |
||
| ) |
| void Actor::toggleSlideNodeLock | ( | ) |
Definition at line 34 of file ActorSlideNode.cpp.
| void Actor::UpdateCruiseControl | ( | float | dt | ) |
Defined in 'gameplay/CruiseControl.cpp'.
Definition at line 48 of file CruiseControl.cpp.
| void Actor::updateSkidmarks | ( | ) |
| void Actor::updateSlideNodeForces | ( | const Ogre::Real | delta_time_sec | ) |
calculate and apply Corrective forces
Definition at line 103 of file ActorSlideNode.cpp.
| void Actor::updateSlideNodePositions | ( | ) |
incrementally update the position of all SlideNodes
Definition at line 130 of file ActorSlideNode.cpp.
| void Actor::WriteDiagnosticDump | ( | std::string const & | filename | ) |
|
friend |
|
friend |
| float RoR::Actor::alb_minspeed = 0.f |
| bool RoR::Actor::alb_mode = false |
| bool RoR::Actor::alb_nodash = false |
| bool RoR::Actor::alb_notoggle = false |
| bool RoR::Actor::alb_pulse_state = false |
| float RoR::Actor::alb_pulse_time = 0.f |
| float RoR::Actor::alb_ratio = 0.f |
| int RoR::Actor::ar_aerial_flap = 0 |
| AeroEngine* RoR::Actor::ar_aeroengines[MAX_AEROENGINES] = {} |
| float RoR::Actor::ar_aileron = 0.f |
| int RoR::Actor::ar_airbrake_intensity = 0 |
| float RoR::Actor::ar_anim_previous_crank = 0.f |
| float RoR::Actor::ar_anim_shift_timer = 0.f |
| float RoR::Actor::ar_avg_wheel_speed = 0.f |
| std::vector<bool> RoR::Actor::ar_beams_invisible |
| std::vector<bool> RoR::Actor::ar_beams_user_defined |
| Ogre::AxisAlignedBox RoR::Actor::ar_bounding_box |
| Ogre::Real RoR::Actor::ar_brake = 0.f |
| float RoR::Actor::ar_brake_force = 0.f |
| PerVehicleCameraContext RoR::Actor::ar_camera_context |
| NodeNum_t RoR::Actor::ar_camera_node_dir[MAX_CAMERAS] = {NODENUM_INVALID} |
| NodeNum_t RoR::Actor::ar_camera_node_pos[MAX_CAMERAS] = {NODENUM_INVALID} |
| NodeNum_t RoR::Actor::ar_camera_node_roll[MAX_CAMERAS] = {NODENUM_INVALID} |
| bool RoR::Actor::ar_camera_node_roll_inv[MAX_CAMERAS] = {false} |
| NodeNum_t RoR::Actor::ar_camera_rail[MAX_CAMERARAIL] = {} |
| NodeNum_t RoR::Actor::ar_cinecam_node[MAX_CAMERAS] = {NODENUM_INVALID} |
| std::vector<Ogre::AxisAlignedBox> RoR::Actor::ar_collision_bounding_boxes |
| float RoR::Actor::ar_collision_range = DEFAULT_COLLISION_RANGE |
| CmdKeyArray RoR::Actor::ar_command_key |
| CineCameraID_t RoR::Actor::ar_current_cinecam = CINECAMERAID_INVALID |
| NodeNum_t RoR::Actor::ar_custom_camera_node = NODENUM_INVALID |
| DashBoardManager* RoR::Actor::ar_dashboard = nullptr |
| Ogre::String RoR::Actor::ar_design_name |
| bool RoR::Actor::ar_disable_aerodyn_turbulent_drag |
| ActorType RoR::Actor::ar_driveable = NOT_DRIVEABLE |
| float RoR::Actor::ar_dry_mass = 0.f |
| float RoR::Actor::ar_elevator = 0.f |
| bool RoR::Actor::ar_engine_hydraulics_ready |
| Ogre::AxisAlignedBox RoR::Actor::ar_evboxes_bounding_box |
| NodeNum_t RoR::Actor::ar_exhaust_dir_node = 0 |
| NodeNum_t RoR::Actor::ar_exhaust_pos_node = 0 |
| ExtCameraMode RoR::Actor::ar_extern_camera_mode = ExtCameraMode::CLASSIC |
| NodeNum_t RoR::Actor::ar_extern_camera_node = NODENUM_INVALID |
| std::string RoR::Actor::ar_filehash |
| std::string RoR::Actor::ar_filename |
| CineCameraID_t RoR::Actor::ar_forced_cinecam = CINECAMERAID_INVALID |
| BitMask_t RoR::Actor::ar_forced_cinecam_flags = 0 |
| Ogre::Vector3 RoR::Actor::ar_fusedrag = Ogre::Vector3::ZERO |
| bool RoR::Actor::ar_has_active_shocks = false |
| bool RoR::Actor::ar_hide_in_actor_list = false |
| std::vector<hydrobeam_t> RoR::Actor::ar_hydros |
| std::vector<std::pair<float, float> > RoR::Actor::ar_initial_beam_defaults |
| std::vector<Ogre::Vector3> RoR::Actor::ar_initial_node_positions |
| float RoR::Actor::ar_initial_total_mass = 0.f |
| ActorInstanceID_t RoR::Actor::ar_instance_id = ACTORINSTANCEID_INVALID |
| std::vector<beam_t*> RoR::Actor::ar_inter_beams |
| collcab_rate_t RoR::Actor::ar_inter_collcabrate[MAX_CABS] = {} |
| collcab_rate_t RoR::Actor::ar_intra_collcabrate[MAX_CABS] = {} |
| ground_model_t* RoR::Actor::ar_last_fuzzy_ground_model = nullptr |
| float RoR::Actor::ar_left_mirror_angle = 0.52f |
| ActorPtrVec RoR::Actor::ar_linked_actors |
BEWARE: Includes indirect links, see DetermineLinkedActors(); Other actors linked using 'hooks/ties/ropes/slidenodes'; use MSG_SIM_ACTOR_LINKING_REQUESTED
| float RoR::Actor::ar_load_mass = 0.f |
| Ogre::Quaternion RoR::Actor::ar_main_camera_dir_corr = Ogre::Quaternion::IDENTITY |
| NodeNum_t RoR::Actor::ar_main_camera_node_dir = 0 |
| NodeNum_t RoR::Actor::ar_main_camera_node_pos = 0 |
| NodeNum_t RoR::Actor::ar_main_camera_node_roll = 0 |
| std::map<std::string, Ogre::MaterialPtr> RoR::Actor::ar_managed_materials |
| int RoR::Actor::ar_masscount = 0 |
| std::vector<float> RoR::Actor::ar_minimass |
| bool RoR::Actor::ar_muted_by_peeropt = false |
Muted by user in multiplayer (see RoRnet::PEEROPT_MUTE_ACTORS).
| std::pair<float, float> RoR::Actor::ar_nb_beams_d_interval |
| std::pair<float, float> RoR::Actor::ar_nb_beams_k_interval |
| std::pair<float, float> RoR::Actor::ar_nb_beams_scale |
| int RoR::Actor::ar_nb_measure_steps = 500 |
| float RoR::Actor::ar_nb_minimass_scale = 1.f |
| std::vector<float> RoR::Actor::ar_nb_optimum |
| std::vector<float> RoR::Actor::ar_nb_reference |
| std::pair<float, float> RoR::Actor::ar_nb_shocks_d_interval |
| std::pair<float, float> RoR::Actor::ar_nb_shocks_k_interval |
| std::pair<float, float> RoR::Actor::ar_nb_shocks_scale |
| int RoR::Actor::ar_nb_skip_steps = 0 |
| std::pair<float, float> RoR::Actor::ar_nb_wheels_d_interval |
| std::pair<float, float> RoR::Actor::ar_nb_wheels_k_interval |
| std::pair<float, float> RoR::Actor::ar_nb_wheels_scale |
| int RoR::Actor::ar_net_source_id = 0 |
| std::vector<std::vector<int> > RoR::Actor::ar_node_to_beam_connections |
| std::vector<std::vector<int> > RoR::Actor::ar_node_to_node_connections |
| std::vector<float> RoR::Actor::ar_nodes_default_loadweights |
| int* RoR::Actor::ar_nodes_id = nullptr |
| std::string* RoR::Actor::ar_nodes_name = nullptr |
| int RoR::Actor::ar_nodes_name_top_length = 0 |
| std::vector<BitMask_t> RoR::Actor::ar_nodes_options |
| std::vector<float> RoR::Actor::ar_nodes_override_loadweights |
| Ogre::Vector3* RoR::Actor::ar_nodes_spawn_offsets = nullptr |
| int RoR::Actor::ar_num_contactable_nodes = 0 |
| int RoR::Actor::ar_num_contacters = 0 |
| int RoR::Actor::ar_num_shocks = 0 |
| std::vector<float> RoR::Actor::ar_orig_minimass |
| Ogre::Vector3 RoR::Actor::ar_origin = Ogre::Vector3::ZERO |
| float RoR::Actor::ar_original_dry_mass = 0.f |
| float RoR::Actor::ar_original_load_mass = 0.f |
| bool RoR::Actor::ar_physics_paused = false |
| std::vector<Ogre::AxisAlignedBox> RoR::Actor::ar_predicted_coll_bounding_boxes |
| bool RoR::Actor::ar_rescuer_flag |
| float RoR::Actor::ar_right_mirror_angle = -0.52f |
| float RoR::Actor::ar_rudder = 0.f |
| float RoR::Actor::ar_scale = 1.f |
| Screwprop* RoR::Actor::ar_screwprops[MAX_SCREWPROPS] = {} |
| float RoR::Actor::ar_sleep_counter = 0.f |
| soundsource_t RoR::Actor::ar_soundsources[MAX_SOUNDSCRIPTS_PER_TRUCK] = {} |
| ActorState RoR::Actor::ar_state = ActorState::LOCAL_SIMULATED |
| ground_model_t* RoR::Actor::ar_submesh_ground_model = nullptr |
| float RoR::Actor::ar_total_mass = 0.f |
| std::vector<UniqueCommandKeyPair> RoR::Actor::ar_unique_commandkey_pairs |
| bool RoR::Actor::ar_update_physics |
| unsigned int RoR::Actor::ar_vector_index = 0 |
| VehicleAIPtr RoR::Actor::ar_vehicle_ai |
| float RoR::Actor::ar_wheel_speed = 0.f |
| float RoR::Actor::ar_wheel_spin = 0.f |
| std::vector<wheeldetacher_t> RoR::Actor::ar_wheeldetachers |
| wheel_t RoR::Actor::ar_wheels[MAX_WHEELS] = {} |
| std::vector<authorinfo_t> RoR::Actor::authors |
| float RoR::Actor::cc_target_speed_lower_limit = 0.f |
| std::vector<std::pair<collision_box_t*, NodeNum_t> > RoR::Actor::m_active_eventboxes |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Data for ForceFeedback devices.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| bool RoR::Actor::m_ongoing_reset = false |
| CollisionBoxPtrVec RoR::Actor::m_potential_eventboxes |
|
private |
|
private |
|
private |
|
private |
|
private |
| Ogre::Vector3 RoR::Actor::m_rotation_request_center = Ogre::Vector3::ZERO |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| Ogre::Vector3 RoR::Actor::m_translation_request = Ogre::Vector3::ZERO |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| bool RoR::Actor::tc_nodash = false |
| bool RoR::Actor::tc_notoggle = false |
| float RoR::Actor::tc_wheelslip_constant = 0.25f |
1.8.17