51#include <OgreString.h>
52#include <OgreVector3.h>
53#include <OgreStringConverter.h>
751 Ogre::Vector3
offset = Ogre::Vector3(0, 0, 1);
790 Ogre::Vector3
offset = Ogre::Vector3::ZERO;
991 color(1.0, 0.5, 0.0),
1014 unsigned int id = 0;
Central state/object manager and communications hub.
#define BITMASK64(OFFSET)
Legacy parser resolved references on-the-fly and the condition to check named nodes was "are there an...
static const float BEAM_SKELETON_DIAMETER
static const float BEAM_PLASTIC_COEF_DEFAULT
static const float DEFAULT_MINIMASS
minimum node mass in Kg
const char * ROOT_MODULE_NAME
@ c_COMMAND_STYLE
trigger is set with commandstyle boundaries instead of shocksytle
@ s_CMD_NUM_SWITCH
switch that exchanges cmdshort/cmdshort for all triggers with the same commandnumbers,...
@ t_CONTINUOUS
this trigger sends values between 0 and 1
@ A_INV_TRIGGER_BLOCKER
Blocker that enable/disable other triggers, reversed activation method (inverted Blocker style,...
@ B_TRIGGER_BLOCKER
Blocker that enable/disable other triggers.
@ E_ENGINE_TRIGGER
this trigger is used to control an engine
@ x_START_DISABLED
this trigger is disabled on startup, default is enabled
@ b_KEY_BLOCKER
Set the CommandKeys that are set in a commandkeyblocker or trigger to blocked on startup,...
@ S_RIGHT_HAND_STABILATOR
std::vector< DifferentialType > DifferentialTypeVec
@ l_SKIP_LOADED
Only apply minimum mass to nodes without "L" option.
@ s_SOFT_BUMP_BOUNDS
soft bump boundaries, use when shocks reach limiters too often and "jumprebound" (default is hard bum...
@ M_ABSOLUTE_METRIC
Absolute metric values for shortbound/longbound, settings apply without regarding to the original len...
@ v_INPUT_InvAILERON_ELEVATOR
@ h_INPUT_InvELEVATOR_RUDDER
@ g_INPUT_ELEVATOR_RUDDER
@ u_INPUT_AILERON_ELEVATOR
@ i_INVISIBLE_INPUT_NORMAL
For backwards compatibility; combines flags 'j' and 'n'.
@ y_INPUT_InvAILERON_RUDDER
@ s_DISABLE_ON_HIGH_SPEED
WheelSide
Used by rig-def/addonpart/tuneup formats to specify wheel rim mesh orientation.
int CommandkeyID_t
Index into Actor::ar_commandkeys (BEWARE: indexed 1-MAX_COMMANDKEYS, 0 is invalid value,...
static CameraMode_t CAMERA_MODE_ALWAYS_VISIBLE
static const CommandkeyID_t COMMANDKEYID_INVALID
@ NONE
= no footbrake, no handbrake, no direction control – wheel is unbraked
static const BitMask_t OPTION_THROTTLE
static const BitMask_t OPTION_RPM
static const BitMask_t OPTION_TORQUE
static const BitMask_t OPTION_PITCH
static const BitMask_t OPTION_STATUS
float max_inclination_angle
static const BitMask_t SOURCE_AERO_PITCH
static const BitMask_t SOURCE_AERO_STATUS
static const BitMask_t SOURCE_AERO_RPM
static const BitMask_t SOURCE_AERO_TORQUE
static const BitMask_t SOURCE_AERO_THROTTLE
static const BitMask_t SOURCE_GEAR_FORWARD
static const BitMask64_t SOURCE_GEAR_REVERSE
static const BitMask64_t SOURCE_TURBO
static const BitMask64_t SOURCE_SEQUENTIAL_SHIFT
static const BitMask64_t SOURCE_AIR_RUDDER
static const BitMask_t MODE_ROTATION_X
static const BitMask64_t SOURCE_ALTIMETER_1K
static const BitMask64_t SOURCE_AUTOSHIFTERLIN
static const BitMask_t MODE_OFFSET_Y
static const BitMask64_t SOURCE_SHIFT_LEFT_RIGHT
static const BitMask_t MODE_NO_FLIP
static const BitMask64_t SOURCE_FLAP
static const BitMask64_t SOURCE_SPEEDO
static const BitMask64_t SOURCE_DIFFLOCK
static const BitMask64_t SOURCE_ALTIMETER_10K
static const BitMask64_t SOURCE_AIRSPEED
static const BitMask_t MODE_AUTO_ANIMATE
static const BitMask64_t SOURCE_ROLL
static const BitMask64_t SOURCE_BOAT_THROTTLE
static const BitMask64_t SOURCE_CLUTCH
static const BitMask_t MODE_OFFSET_Z
static const BitMask64_t SOURCE_PITCH
static const BitMask64_t SOURCE_TACHO
static const BitMask64_t SOURCE_AILERON
static const BitMask_t MODE_ROTATION_Y
static const BitMask64_t SOURCE_ELEVATOR
static const BitMask64_t SOURCE_PERMANENT
void AddMotorSource(BitMask_t source, unsigned int motor)
Ogre::String dash_link_name
static const BitMask_t MODE_EVENT_LOCK
static const BitMask64_t SOURCE_STEERING_WHEEL
static const BitMask64_t SOURCE_PARKING
static const BitMask64_t SOURCE_SHIFT_BACK_FORTH
static const BitMask64_t SOURCE_ACCEL
static const BitMask64_t SOURCE_AIR_BRAKE
static const BitMask64_t SOURCE_GEAR_NEUTRAL
static const BitMask64_t SOURCE_ANGLE_OF_ATTACK
static const BitMask64_t SOURCE_VERTICAL_VELOCITY
static const BitMask_t MODE_OFFSET_X
static const BitMask_t MODE_BOUNCE
static const BitMask64_t SOURCE_SHIFTERLIN
static const BitMask64_t SOURCE_ALTIMETER_100K
static const BitMask64_t SOURCE_BOAT_RUDDER
std::list< MotorSource > motor_sources
static const BitMask64_t SOURCE_BRAKES
static const BitMask64_t SOURCE_TORQUE
static const BitMask_t MODE_ROTATION_Z
static const BitMask64_t SOURCE_DASHBOARD
static const BitMask64_t SOURCE_EVENT
static const BitMask64_t SOURCE_HEADING
static const BitMask64_t SOURCE_SIGNALSTALK
static const BitMask_t OPTION_ALTIMETER_100K
static const BitMask_t OPTION_ALTIMETER_1K
static const BitMask_t OPTION_SPEEDO
static const BitMask_t OPTION_ACCEL
static const BitMask_t OPTION_AIR_BRAKE
static const BitMask_t OPTION_ANGLE_OF_ATTACK
static const BitMask_t OPTION_BOAT_RUDDER
static const BitMask_t OPTION_ROLL
static const BitMask_t OPTION_SEQUENTIAL_SHIFT
static const BitMask_t OPTION_PARKING
static const BitMask_t OPTION_VISIBLE
static const BitMask_t OPTION_TURBO
static const BitMask_t OPTION_SHIFT_BACK_FORTH
static const BitMask_t OPTION_PITCH
AeroAnimator aero_animator
static const BitMask_t OPTION_AIRSPEED
std::shared_ptr< Inertia > inertia_defaults
static const BitMask_t OPTION_BOAT_THROTTLE
static const BitMask_t OPTION_SHORT_LIMIT
static const BitMask_t OPTION_ALTIMETER_10K
static const BitMask_t OPTION_VERTICAL_VELOCITY
static const BitMask_t OPTION_FLAP
std::shared_ptr< BeamDefaults > beam_defaults
static const BitMask_t OPTION_DIFFLOCK
static const BitMask_t OPTION_BRAKES
static const BitMask_t OPTION_TORQUE
static const BitMask_t OPTION_SHIFT_LEFT_RIGHT
static const BitMask_t OPTION_LONG_LIMIT
static const BitMask_t OPTION_INVISIBLE
static const BitMask_t OPTION_CLUTCH
static const BitMask_t OPTION_GEAR_SELECT
static const BitMask_t OPTION_TACHO
unsigned int forum_account_id
DifferentialTypeVec options
Order matters!
Ogre::String material_name
RoR::WheelBraking braking
std::shared_ptr< BeamDefaults > beam_defaults
std::shared_ptr< NodeDefaults > node_defaults
RoR::WheelPropulsion propulsion
Node::Ref reference_arm_node
float GetScaledBreakingThreshold()
float GetScaledDeformThreshold() const
bool _is_plastic_deform_coef_user_defined
Ogre::String beam_material_name
float plastic_deform_coef
float visual_beam_diameter
float deformation_threshold
bool _is_user_defined
Informs whether these data were read from "set_beam_defaults" directive or filled in by the parser on...
float GetScaledSpringiness()
bool _enable_advanced_deformation
Informs whether "enable_advanced_deformation" directive preceded these defaults.
float deformation_threshold_constant
float breaking_threshold_constant
static const BitMask_t OPTION_r_ROPE
bool _has_extension_break_limit
std::shared_ptr< BeamDefaults > defaults
float extension_break_limit
static const BitMask_t OPTION_i_INVISIBLE
static const BitMask_t OPTION_s_SUPPORT
float default_braking_force
float parking_brake_force
static const BitMask_t OPTION_r_BUOYANT_ONLY_DRAG
static const BitMask_t OPTION_p_10xTOUGHER
static const BitMask_t OPTION_s_BUOYANT_NO_DRAG
static const BitMask_t OPTION_F_10xTOUGHER_BUOYANT
static const BitMask_t OPTION_b_BUOYANT
static const BitMask_t OPTION_D_CONTACT_BUOYANT
static const BitMask_t OPTION_S_INVULNERABLE_BUOYANT
static const BitMask_t OPTION_c_CONTACT
static const BitMask_t OPTION_u_INVULNERABLE
std::vector< Node::Ref > nodes
int mode
0 and higher = cinecam index
std::shared_ptr< BeamDefaults > beam_defaults
std::shared_ptr< NodeDefaults > node_defaults
std::vector< Node::Ref > nodes
float node_collision_range
std::shared_ptr< Inertia > inertia_defaults
RoR::CommandkeyID_t extend_key
RoR::CommandkeyID_t contract_key
std::shared_ptr< BeamDefaults > beam_defaults
bool option_o_1press_center
bool option_c_auto_center
float min_mass_Kg
minimum node mass in Kg
std::vector< Node::Ref > fixes
std::vector< Wheel2 > wheels2
std::vector< Exhaust > exhausts
std::vector< Ropable > ropables
std::vector< Prop > props
std::vector< CollisionBox > collisionboxes
std::vector< InterAxle > interaxles
std::vector< Rotator2 > rotators2
std::vector< SoundSource2 > soundsources2
std::vector< Rotator > rotators
std::vector< Script > scripts
RoR::CacheEntryPtr origin_addonpart
Addon parts are spawned as fake Modules, resources must be loaded from this group.
std::vector< SkeletonSettings > set_skeleton_settings
std::vector< Ogre::String > submesh_groundmodel
std::vector< Wing > wings
std::vector< CustomDashboardInput > customdashboardinputs
std::vector< GuiSettings > guisettings
std::vector< AntiLockBrakes > antilockbrakes
std::vector< DocComment > _comments
std::vector< Ogre::String > description
std::vector< MeshWheel2 > meshwheels2
std::vector< Turbojet > turbojets
std::vector< Particle > particles
std::vector< VideoCamera > videocameras
std::vector< CollisionRange > set_collision_range
std::vector< Minimass > minimass
std::vector< Shock > shocks
std::vector< WheelDetacher > wheeldetachers
int _hint_beams_start_linenumber
std::vector< CruiseControl > cruisecontrol
std::vector< DefaultSkin > default_skin
std::vector< Shock2 > shocks2
std::vector< Hook > hooks
std::vector< Pistonprop > pistonprops
std::vector< TractionControl > tractioncontrol
int _hint_beams_end_linenumber
std::vector< Engturbo > engturbo
std::vector< Author > author
std::vector< MeshWheel > meshwheels
std::vector< Animator > animators
std::vector< SoundSource > soundsources
std::vector< Cinecam > cinecam
std::vector< ManagedMaterial > managedmaterials
std::vector< SpeedLimiter > speedlimiter
std::vector< Submesh > submeshes
std::vector< FlexBodyWheel > flexbodywheels
std::vector< Assetpack > assetpacks
std::vector< FlaregroupNoImport > flaregroups_no_import
std::vector< TransferCase > transfercase
std::vector< Flexbody > flexbodies
std::vector< Globals > globals
std::vector< Lockgroup > lockgroups
std::vector< Node > nodes
std::vector< Rope > ropes
std::vector< Node::Ref > contacters
std::vector< Wheel > wheels
std::vector< Engoption > engoption
std::vector< Command2 > commands2
std::vector< TorqueCurve > torquecurve
std::vector< Trigger > triggers
std::vector< MaterialFlareBinding > materialflarebindings
std::vector< ExtCamera > extcamera
std::vector< Turboprop2 > turboprops2
std::vector< RailGroup > railgroups
std::vector< Fileinfo > fileinfo
std::vector< Engine > engine
std::vector< Axle > axles
std::vector< Shock3 > shocks3
std::vector< Hydro > hydros
std::vector< Screwprop > screwprops
std::vector< SlideNode > slidenodes
std::vector< CameraRail > camerarail
std::vector< Beam > beams
std::vector< Brakes > brakes
std::vector< Camera > cameras
std::vector< Fusedrag > fusedrag
std::vector< Flare3 > flares3
std::vector< Flare2 > flares2
std::vector< Airbrake > airbrakes
std::vector< FileFormatVersion > fileformatversion
int _hint_nodes12_start_linenumber
int _hint_nodes12_end_linenumber
bool lockgroup_default_nolock
std::shared_ptr< Module > root_module
Required to exist. shared_ptr is used for unified handling with other modules.
std::map< Ogre::String, std::shared_ptr< Module > > user_modules
bool disable_default_sounds
bool slide_nodes_connect_instantly
bool enable_advanced_deformation
std::vector< float > gear_ratios
float post_shift_time
Seconds.
float clutch_time
Seconds.
Ogre::String particle_name
std::shared_ptr< Inertia > inertia_defaults
Ogre::String material_name
int control_number
Only 'u' type flares.
std::string dashboard_link
Only 'd' type flares.
int control_number
Only 'u' type flares.
Ogre::String tyre_mesh_name
Ogre::String rim_mesh_name
std::vector< Node::Range > node_list_to_import
CameraSettings camera_settings
std::list< Animation > animations
std::vector< Node::Ref > node_list
std::vector< Forvert > forvert
Manually specified (vert => node) bindings for flexbody deformation (overrides 'forset').
Ogre::String airfoil_name
Ogre::String material_name
float option_min_range_meters
static const BitMask_t OPTION_e_INPUT_ELEVATOR
std::shared_ptr< Inertia > inertia_defaults
static const BitMask_t OPTION_s_DISABLE_ON_HIGH_SPEED
static const BitMask_t OPTION_h_INPUT_InvELEVATOR_RUDDER
static const BitMask_t OPTION_g_INPUT_ELEVATOR_RUDDER
static const BitMask_t OPTION_y_INPUT_InvAILERON_RUDDER
static const BitMask_t OPTION_j_INVISIBLE
static const BitMask_t OPTION_v_INPUT_InvAILERON_ELEVATOR
static const BitMask_t OPTION_a_INPUT_AILERON
static const BitMask_t OPTION_r_INPUT_RUDDER
static const BitMask_t OPTION_n_INPUT_NORMAL
static const BitMask_t OPTION_u_INPUT_AILERON_ELEVATOR
static const BitMask_t OPTION_x_INPUT_AILERON_RUDDER
std::shared_ptr< BeamDefaults > beam_defaults
Ogre::String start_function
Ogre::String stop_function
DifferentialTypeVec options
Order matters!
static const int LOCKGROUP_NOLOCK
std::vector< Node::Ref > nodes
static const int LOCKGROUP_DEFAULT
static const char * TypeToStr(ManagedMaterialType type)
ManagedMaterialsOptions options
Ogre::String specular_map
Ogre::String damaged_diffuse_map
Ogre::String material_name
unsigned int flare_number
float global_min_mass_Kg
minimum node mass in Kg - only effective where DefaultMinimass was not set.
unsigned int options
Bit flags.
Ogre::String particle_system_name
Node::Ref blade_tip_nodes[4]
Ogre::String flare_material_name
DashboardSpecial special_prop_dashboard
CameraSettings camera_settings
BeaconSpecial special_prop_beacon
std::list< Animation > animations
std::vector< Node::Range > node_list
std::shared_ptr< BeamDefaults > beam_defaults
std::shared_ptr< Inertia > inertia_defaults
unsigned int spin_left_key
Node::Ref base_plate_nodes[4]
Node::Ref rotating_plate_nodes[4]
unsigned int spin_right_key
static const BitMask_t OPTION_i_INVISIBLE
float short_bound
Maximum contraction limit, in percentage ( 1.00 = 100% )
float progress_factor_damp_out
Progression factor dampout, 0 = disabled, 1...x as multipliers, example:maximum dampingrate == spring...
float damp_out
damping value applied when shock extending
float progress_factor_damp_in
Progression factor for dampin. 0 = disabled, 1...x as multipliers, example:maximum dampingrate == spr...
std::shared_ptr< BeamDefaults > beam_defaults
static const BitMask_t OPTION_m_METRIC
float spring_in
Spring value applied when the shock is compressing.
static const BitMask_t OPTION_s_SOFT_BUMP_BOUNDS
float precompression
Changes compression or extension of the suspension when the truck spawns. This can be used to "level"...
float progress_factor_spring_out
Progression factor springout, 0 = disabled, 1...x as multipliers, example:maximum springrate == sprin...
static const BitMask_t OPTION_M_ABSOLUTE_METRIC
float spring_out
spring value applied when shock extending
float long_bound
Maximum extension limit, in percentage ( 1.00 = 100% )
float damp_in
Damping value applied when the shock is compressing.
float progress_factor_spring_in
Progression factor for springin. A value of 0 disables this option. 1...x as multipliers,...
float damp_in_slow
Damping value applied when shock is commpressing slower than split in velocity.
float spring_in
Spring value applied when the shock is compressing.
float spring_out
Spring value applied when shock extending.
static const BitMask_t OPTION_M_ABSOLUTE_METRIC
float damp_in
Damping value applied when the shock is compressing.
float split_vel_in
Split velocity in (m/s) - threshold for slow / fast damping during compression.
float precompression
Changes compression or extension of the suspension when the truck spawns. This can be used to "level"...
static const BitMask_t OPTION_i_INVISIBLE
static const BitMask_t OPTION_m_METRIC
std::shared_ptr< BeamDefaults > beam_defaults
float damp_out
Damping value applied when shock extending.
float long_bound
Maximum extension limit, in percentage ( 1.00 = 100% )
float short_bound
Maximum contraction limit, in percentage ( 1.00 = 100% )
float damp_out_slow
Damping value applied when shock is commpressing slower than split out velocity.
float damp_out_fast
Damping value applied when shock is commpressing faster than split out velocity.
float damp_in_fast
Damping value applied when shock is commpressing faster than split in velocity.
float split_vel_out
Split velocity in (m/s) - threshold for slow / fast damping during extension.
static const BitMask_t OPTION_L_ACTIVE_LEFT
std::shared_ptr< BeamDefaults > beam_defaults
float damping
The 'resistance to motion' of the shock. The best value is given by this equation: 2 * sqrt(suspended...
float spring_rate
The 'stiffness' of the shock. The higher the value, the less the shock will move for a given bump.
static const BitMask_t OPTION_m_METRIC
float precompression
Changes compression or extension of the suspension when the truck spawns. This can be used to "level"...
float short_bound
Maximum contraction. The shortest length the shock can be, as a proportion of its original length....
float long_bound
Maximum extension. The longest length a shock can be, as a proportion of its original length....
static const BitMask_t OPTION_i_INVISIBLE
static const BitMask_t OPTION_R_ACTIVE_RIGHT
float visibility_range_meters
float beam_thickness_meters
static const BitMask_t CONSTRAINT_ATTACH_ALL
static const BitMask_t CONSTRAINT_ATTACH_NONE
static const BitMask_t CONSTRAINT_ATTACH_FOREIGN
bool _attachment_rate_set
static const BitMask_t CONSTRAINT_ATTACH_SELF
bool _max_attach_dist_set
BitMask_t constraint_flags
std::vector< Node::Range > rail_node_ranges
static const int MODE_EXTERIOR
static const int MODE_ALWAYS
int mode
A special constant or cinecam index.
Ogre::String sound_script_name
std::vector< Cab > cab_triangles
std::vector< Texcoord > texcoords
static const BitMask_t OPTION_i_INVISIBLE
static const BitMask_t OPTION_s_DISABLE_SELF_LOCK
std::shared_ptr< BeamDefaults > beam_defaults
std::vector< Sample > samples
Ogre::String predefined_func_name
std::vector< float > gear_ratios
static const BitMask_t OPTION_B_TRIGGER_BLOCKER
static const BitMask_t OPTION_s_CMD_NUM_SWITCH
static const BitMask_t OPTION_h_UNLOCKS_HOOK_GROUP
static const BitMask_t OPTION_i_INVISIBLE
static const BitMask_t OPTION_t_CONTINUOUS
static const BitMask_t OPTION_E_ENGINE_TRIGGER
static const BitMask_t OPTION_c_COMMAND_STYLE
static const BitMask_t OPTION_b_KEY_BLOCKER
float contraction_trigger_limit
static const BitMask_t OPTION_x_START_DISABLED
std::shared_ptr< BeamDefaults > beam_defaults
int longbound_trigger_action
float expansion_trigger_limit
static const BitMask_t OPTION_H_LOCKS_HOOK_GROUP
static const BitMask_t OPTION_A_INV_TRIGGER_BLOCKER
int shortbound_trigger_action
Node::Ref blade_tip_nodes[4]
RoR::VideoCamRole camera_role
Ogre::String material_name
unsigned int texture_width
Node::Ref alt_orientation_node
Node::Ref alt_reference_node
unsigned int texture_height
Ogre::String face_material_name
Ogre::String band_material_name
Ogre::String band_material_name
Ogre::String face_material_name
WingControlSurface control_surface