RigsofRods
Soft-body Physics Simulation
Data Structures | Public Types | Friends
RoR::ActorSpawner Class Reference

Processes a RigDef::Document (parsed from 'truck' file format) into a simulated gameplay object (Actor). More...

#include <ActorSpawner.h>

+ Collaboration diagram for RoR::ActorSpawner:

Data Structures

struct  ActorMemoryRequirements
 
struct  ActorSpawnState
 
struct  CustomMaterial
 
struct  Exception
 

Public Types

enum  Message { Message::TYPE_INFO, Message::TYPE_WARNING, Message::TYPE_ERROR }
 

Public Member Functions

Utility
ActorPtr GetActor ()
 
ActorMemoryRequirements const & GetMemoryRequirements ()
 
std::string GetSubmeshGroundmodelName ()
 

Private Member Functions

Processing actor elements
void ProcessAirbrake (RigDef::Airbrake &def)
 
void ProcessAnimator (RigDef::Animator &def)
 
void ProcessAntiLockBrakes (RigDef::AntiLockBrakes &def)
 
void ProcessAuthor (RigDef::Author &def)
 
void ProcessAxle (RigDef::Axle &def)
 
void ProcessBeam (RigDef::Beam &def)
 
void ProcessBrakes (RigDef::Brakes &def)
 
void ProcessCameraRail (RigDef::CameraRail &def)
 
void ProcessCamera (RigDef::Camera &def)
 
void ProcessCinecam (RigDef::Cinecam &def)
 
void ProcessCollisionBox (RigDef::CollisionBox &def)
 
void ProcessCollisionRange (RigDef::CollisionRange &def)
 
void ProcessCommand (RigDef::Command2 &def)
 
void ProcessContacter (RigDef::Node::Ref &node_ref)
 
void ProcessCruiseControl (RigDef::CruiseControl &def)
 
void ProcessDescription (Ogre::String const &line)
 
void ProcessEngine (RigDef::Engine &def)
 
void ProcessEngoption (RigDef::Engoption &def)
 
void ProcessEngturbo (RigDef::Engturbo &def)
 
void ProcessExhaust (RigDef::Exhaust &def)
 
void ProcessExtCamera (RigDef::ExtCamera &def)
 
void ProcessFixedNode (RigDef::Node::Ref node_ref)
 
void ProcessFlare2 (RigDef::Flare2 &def)
 
void ProcessFlare3 (RigDef::Flare3 &def)
 
void ProcessFlexbody (RigDef::Flexbody &def)
 
void ProcessFlexBodyWheel (RigDef::FlexBodyWheel &def)
 
void ProcessFusedrag (RigDef::Fusedrag &def)
 
void ProcessGlobals (RigDef::Globals &def)
 
void ProcessGuiSettings (RigDef::GuiSettings &def)
 
void ProcessHelp (RigDef::Help &def)
 
void ProcessHook (RigDef::Hook &def)
 
void ProcessHydro (RigDef::Hydro &def)
 
void ProcessInterAxle (RigDef::InterAxle &def)
 
void ProcessLockgroup (RigDef::Lockgroup &lockgroup)
 
void ProcessManagedMaterial (RigDef::ManagedMaterial &def)
 
void ProcessMeshWheel (RigDef::MeshWheel &def)
 
void ProcessMeshWheel2 (RigDef::MeshWheel2 &def)
 
void ProcessMinimass (RigDef::Minimass &def)
 
void ProcessNode (RigDef::Node &def)
 
void ProcessParticle (RigDef::Particle &def)
 
void ProcessPistonprop (RigDef::Pistonprop &def)
 
void ProcessProp (RigDef::Prop &def)
 Resource group override is used with addonparts. More...
 
void ProcessRailGroup (RigDef::RailGroup &def)
 
void ProcessRopable (RigDef::Ropable &def)
 
void ProcessRope (RigDef::Rope &def)
 
void ProcessRotator (RigDef::Rotator &def)
 
void ProcessRotator2 (RigDef::Rotator2 &def)
 
void ProcessScrewprop (RigDef::Screwprop &def)
 
void ProcessShock (RigDef::Shock &def)
 
void ProcessShock2 (RigDef::Shock2 &def)
 
void ProcessShock3 (RigDef::Shock3 &def)
 
void ProcessSlidenode (RigDef::SlideNode &def)
 
void ProcessSoundSource (RigDef::SoundSource &def)
 
void ProcessSoundSource2 (RigDef::SoundSource2 &def)
 
void ProcessSpeedLimiter (RigDef::SpeedLimiter &def)
 
void ProcessSubmesh (RigDef::Submesh &def)
 
void ProcessTie (RigDef::Tie &def)
 
void ProcessTorqueCurve (RigDef::TorqueCurve &def)
 
void ProcessTractionControl (RigDef::TractionControl &def)
 
void ProcessTransferCase (RigDef::TransferCase &def)
 
void ProcessTrigger (RigDef::Trigger &def)
 
void ProcessTurbojet (RigDef::Turbojet &def)
 
void ProcessTurboprop2 (RigDef::Turboprop2 &def)
 
void ProcessWheelDetacher (RigDef::WheelDetacher &def)
 
void ProcessWheel (RigDef::Wheel &def)
 
void ProcessWheel2 (RigDef::Wheel2 &def)
 
void ProcessWing (RigDef::Wing &def)
 
Actor building functions
void BuildAeroEngine (NodeNum_t ref_node_index, NodeNum_t back_node_index, NodeNum_t blade_1_node_index, NodeNum_t blade_2_node_index, NodeNum_t blade_3_node_index, NodeNum_t blade_4_node_index, NodeNum_t couplenode_index, bool is_turboprops, Ogre::String const &airfoil, float power, float pitch)
 
void _ProcessSimpleInertia (RigDef::Inertia &def, RoR::SimpleInertia &obj)
 
void _ProcessKeyInertia (RigDef::Inertia &inertia, RigDef::Inertia &inertia_defaults, RoR::CmdKeyInertia &contract_key, RoR::CmdKeyInertia &extend_key)
 
void BuildWheelBeams (unsigned int num_rays, NodeNum_t base_node_index, node_t *axis_node_1, node_t *axis_node_2, float tyre_spring, float tyre_damping, float rim_spring, float rim_damping, std::shared_ptr< RigDef::BeamDefaults > beam_defaults, RigDef::Node::Ref const &rigidity_node_id, float max_extension=0.f)
 'wheels', 'meshwheels' More...
 
unsigned int AddWheelBeam (node_t *node_1, node_t *node_2, float spring, float damping, std::shared_ptr< RigDef::BeamDefaults > beam_defaults, float max_contraction=-1.f, float max_extension=-1.f, BeamType type=BEAM_NORMAL)
 'wheels', 'meshwheels', 'meshwheels2' More...
 
void BuildWheelObjectAndNodes (WheelID_t wheel_id, unsigned int num_rays, node_t *axis_node_1, node_t *axis_node_2, node_t *reference_arm_node, unsigned int reserve_nodes, unsigned int reserve_beams, float wheel_radius, RigDef::WheelPropulsion propulsion, RigDef::WheelBraking braking, std::shared_ptr< RigDef::NodeDefaults > node_defaults, float wheel_mass, float wheel_width=-1.f)
 Sets up wheel and builds nodes for sections 'wheels', 'meshwheels' and 'meshwheels2'. More...
 
std::pair< unsigned int, bool > AddNode (RigDef::Node::Id &id)
 
void InitNode (node_t &node, Ogre::Vector3 const &position)
 
void InitNode (unsigned int node_index, Ogre::Vector3 const &position)
 
void InitNode (node_t &node, Ogre::Vector3 const &position, std::shared_ptr< RigDef::NodeDefaults > node_defaults)
 
beam_tAddBeam (node_t &node_1, node_t &node_2, std::shared_ptr< RigDef::BeamDefaults > &defaults, int detacher_group)
 
unsigned int AddWheelRimBeam (RigDef::Wheel2 &wheel_2_def, node_t *node_1, node_t *node_2)
 
unsigned int AddTyreBeam (RigDef::Wheel2 &wheel_2_def, node_t *node_1, node_t *node_2)
 
unsigned int _SectionWheels2AddBeam (RigDef::Wheel2 &wheel_2_def, node_t *node_1, node_t *node_2)
 
WheelID_t AddWheel (RigDef::Wheel &wheel)
 
WheelID_t AddWheel2 (RigDef::Wheel2 &wheel_2_def)
 
void GetWheelAxisNodes (RigDef::BaseWheel &def, node_t *&out_node_1, node_t *&out_node_2)
 
void AddExhaust (NodeNum_t emitter_node_idx, NodeNum_t direction_node_idx)
 
RailGroupCreateRail (std::vector< RigDef::Node::Range > &node_ranges)
 
void InitializeRig ()
 
void FinalizeRig ()
 
Actor building utilities
void CalcMemoryRequirements (ActorMemoryRequirements &req, RigDef::Document::Module *module_def)
 
void UpdateCollcabContacterNodes ()
 
wheel_t::BrakeCombo TranslateBrakingDef (RigDef::WheelBraking def)
 
void WashCalculator ()
 
void AdjustNodeBuoyancy (node_t &node, RigDef::Node &node_def, std::shared_ptr< RigDef::NodeDefaults > defaults)
 For user-defined nodes. More...
 
void AdjustNodeBuoyancy (node_t &node, std::shared_ptr< RigDef::NodeDefaults > defaults)
 For generated nodes. More...
 
void InitBeam (beam_t &beam, node_t *node_1, node_t *node_2)
 
void CalculateBeamLength (beam_t &beam)
 
void SetBeamStrength (beam_t &beam, float strength)
 
void SetBeamSpring (beam_t &beam, float spring)
 
void SetBeamDamping (beam_t &beam, float damping)
 
void SetBeamDeformationThreshold (beam_t &beam, std::shared_ptr< RigDef::BeamDefaults > beam_defaults)
 
void ValidateRotator (int id, int axis1, int axis2, NodeNum_t *nodes1, NodeNum_t *nodes2)
 
std::string ComposeName (const std::string &object, int number=-1)
 Creates name containing actor ID token, i.e. "Object#1 (filename.truck [Instance ID 1])". More...
 
bool AssignWheelToAxle (int &_out_axle_wheel, node_t *axis_node_1, node_t *axis_node_2)
 Finds wheel with given axle nodes and returns it's index. More...
 
node_tGetFreeNode ()
 
beam_tGetFreeBeam ()
 
node_tGetAndInitFreeNode (Ogre::Vector3 const &position)
 
beam_tGetAndInitFreeBeam (node_t &node_1, node_t &node_2)
 
shock_tGetFreeShock ()
 
float ComputeWingArea (Ogre::Vector3 const &ref, Ogre::Vector3 const &x, Ogre::Vector3 const &y, Ogre::Vector3 const &aref)
 
bool CollectNodesFromRanges (std::vector< RigDef::Node::Range > &node_ranges, std::vector< NodeNum_t > &out_node_indices)
 Parses list of node-ranges into list of individual nodes. More...
 
Traversal
node_tGetBeamNodePointer (RigDef::Node::Ref const &node_ref)
 
NodeNum_t FindNodeIndex (RigDef::Node::Ref &node_ref, bool silent=false)
 
NodeNum_t ResolveNodeRef (RigDef::Node::Ref const &node_ref)
 
node_tGetNodePointer (RigDef::Node::Ref const &node_ref)
 
node_tGetNodePointerOrThrow (RigDef::Node::Ref const &node_ref)
 
beam_tGetBeam (unsigned int index)
 
beam_tFindBeamInRig (NodeNum_t node_a, NodeNum_t node_b)
 
NodeNum_t GetNodeIndexOrThrow (RigDef::Node::Ref const &id)
 
Visual setup
void CreateBeamVisuals (beam_t const &beam, int beam_index, bool visible, std::shared_ptr< RigDef::BeamDefaults > const &beam_defaults, std::string material_override="")
 
void CreateWheelSkidmarks (WheelID_t wheel_index)
 
void FinalizeGfxSetup ()
 
Ogre::MaterialPtr FindOrCreateCustomizedMaterial (const std::string &mat_lookup_name, const std::string &mat_lookup_rg)
 
Ogre::MaterialPtr CreateSimpleMaterial (Ogre::ColourValue color)
 
Ogre::ParticleSystem * CreateParticleSystem (std::string const &name, std::string const &template_name)
 
RigDef::MaterialFlareBindingFindFlareBindingForMaterial (std::string const &material_name)
 Returns NULL if none found. More...
 
RigDef::VideoCameraFindVideoCameraByMaterial (std::string const &material_name)
 Returns NULL if none found. More...
 
void CreateVideoCamera (RigDef::VideoCamera *def)
 
void CreateMirrorPropVideoCam (Ogre::MaterialPtr custom_mat, CustomMaterial::MirrorPropType type, Ogre::SceneNode *prop_scenenode)
 
void SetupNewEntity (Ogre::Entity *e, Ogre::ColourValue simple_color)
 Full texture and material setup. More...
 
Ogre::MaterialPtr InstantiateManagedMaterial (Ogre::String const &rg_name, Ogre::String const &source_name, Ogre::String const &clone_name)
 
void CreateCabVisual ()
 
void CreateMaterialFlare (int flare_index, Ogre::MaterialPtr mat)
 
void CreateWheelVisuals (WheelID_t wheel_id, NodeNum_t node_base_index, unsigned int def_num_rays, Ogre::String const &face_material_name, Ogre::String const &face_material_rg, Ogre::String const &band_material_name, Ogre::String const &band_material_rg, bool separate_rim, float rim_ratio=1.f)
 
void CreateFlexBodyWheelVisuals (WheelID_t wheel_id, NodeNum_t node_base_index, NodeNum_t axis_node_1, NodeNum_t axis_node_2, int num_rays, float radius, WheelSide side, std::string rim_mesh_name, std::string rim_mesh_rg, std::string tire_mesh_name, std::string tire_mesh_rg)
 
void CreateMeshWheelVisuals (WheelID_t wheel_id, NodeNum_t base_node_index, NodeNum_t axis_node_1_index, NodeNum_t axis_node_2_index, unsigned int num_rays, WheelSide side, Ogre::String mesh_name, Ogre::String mesh_rg, Ogre::String material_name, Ogre::String material_rg, float rim_radius)
 
void AddMessage (Message type, Ogre::String const &text)
 Maintenance. More...
 
void SetCurrentKeyword (RigDef::Keyword keyword)
 
void HandleException ()
 

Static Private Member Functions

Audio setup
static void AddSoundSource (ActorPtr const &vehicle, SoundScriptInstancePtr sound_script, NodeNum_t node_index, int type=-2)
 
static void AddSoundSourceInstance (ActorPtr const &vehicle, Ogre::String const &sound_script_name, int node_index, int type=-2)
 

Private Attributes

Settings
ActorPtr m_actor
 
RigDef::DocumentPtr m_file
 
std::list< std::shared_ptr< RigDef::Document::Module > > m_selected_modules
 
Ogre::Vector3 m_spawn_position
 
bool m_apply_simple_materials
 
std::string m_custom_resource_group
 
bool m_generate_wing_position_lights
 
ActorMemoryRequirements m_memory_requirements
 
State
ActorSpawnState m_state
 
std::string m_cab_material_name
 Original name defined in truckfile/globals.
More...
 
std::string m_help_material_name
 
float m_wing_area
 
int m_airplane_left_light
 
int m_airplane_right_light
 
float m_fuse_z_min
 
float m_fuse_z_max
 
float m_fuse_y_min
 
float m_fuse_y_max
 
int m_first_wing_index
 
std::vector< CabTexcoordm_oldstyle_cab_texcoords
 
std::vector< CabSubmeshm_oldstyle_cab_submeshes
 
RigDef::Keyword m_current_keyword = RigDef::Keyword::INVALID
 For error reports. More...
 
std::shared_ptr< RigDef::Document::Modulem_current_module
 For resolving addonparts. More...
 
std::map< Ogre::String, unsigned int > m_named_nodes
 
Visuals
RoR::FlexFactory m_flex_factory
 
std::map< std::string, CustomMaterialm_material_substitutions
 Maps original material names (shared) to their actor-specific substitutes; There's 1 substitute per 1 material, regardless of user count. More...
 
std::map< std::string, Ogre::MaterialPtr > m_managed_materials
 
Ogre::MaterialPtr m_managedmat_placeholder_template
 An 'error marker' material (bright magenta) to generate managedmaterial placeholders from. More...
 
Ogre::MaterialPtr m_cab_trans_material
 
Ogre::MaterialPtr m_simple_material_base
 
RoR::Renderdashm_oldstyle_renderdash
 
CustomMaterial::MirrorPropType m_curr_mirror_prop_type
 
Ogre::SceneNode * m_curr_mirror_prop_scenenode
 
Ogre::SceneNode * m_actor_grouping_scenenode = nullptr
 Topmost common parent; this isn't used for moving things, just helps developers inspect the scene graph. More...
 
Ogre::SceneNode * m_wheels_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph. More...
 
Ogre::SceneNode * m_props_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph. More...
 
Ogre::SceneNode * m_flexbodies_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph. More...
 
Ogre::SceneNode * m_flares_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph. More...
 
Ogre::SceneNode * m_particles_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph. More...
 

Friends

class RoR::FlexFactory
 

Processing

void ConfigureSections (Ogre::String const &sectionconfig, RigDef::DocumentPtr def)
 
void ConfigureAddonParts (TuneupDefPtr &tuneup_def)
 
void ConfigureAssetPacks (ActorPtr actor, RigDef::DocumentPtr def)
 
void ProcessNewActor (ActorPtr actor, ActorSpawnRequest rq, RigDef::DocumentPtr def)
 
static void SetupDefaultSoundSources (ActorPtr const &actor)
 

Limit checks

bool CheckParticleLimit (unsigned int count)
 
bool CheckAxleLimit (unsigned int count)
 
bool CheckSubmeshLimit (unsigned int count)
 
bool CheckTexcoordLimit (unsigned int count)
 
bool CheckCabLimit (unsigned int count)
 
bool CheckCameraRailLimit (unsigned int count)
 
bool CheckAeroEngineLimit (unsigned int count)
 
bool CheckScrewpropLimit (unsigned int count)
 
static bool CheckSoundScriptLimit (ActorPtr const &vehicle, unsigned int count)
 

Detailed Description

Processes a RigDef::Document (parsed from 'truck' file format) into a simulated gameplay object (Actor).

HISTORY:

Before v0.4.5, truckfiles were parsed&spawned on-the-fly: RoR's simulation used data structures with arrays of pre-defined sizes (i.e. MAX_NODES, MAX_BEAMS, MAX_* ...) and the spawner (class SerializedRig) wrote directly into them while reading data from the truckfile. Gfx elements were also created immediately. As a result, the logic was chaotic: some features broke each other (most notably VideoCameras X MaterialFlares X SkinZips) and the sim. structs often contained parser context variables. Also, the whole system was extremely sensitive to order of definitions in truckfile - often [badly/not] documented, known only by forum/IRC users at the time.

Since v0.4.5, RoR has RigDef::Parser which reads truckfile and emits instance of RigDef::Document - all data from truckfile in memory. RigDef::Document doesn't preserve the order of definitions, instead it's designed to resolve all order-dependent references to order-independent, see RigDef::SequentialImporter (resources/rig_def_fileformat/RigDef_SequentialImporter.h) for more info. ActorSpawner was created by carefully refactoring old SerializedRig described above, so a lot of the dirty logic remained. Elements were still written into constant-size arrays.

PRESENT (06/2017):

RoR is being refactored to get rid of the MAX_[BEAMS/NODES/‍***] limits. Static arrays in rig_t are replaced with pointers to dynamically allocated memory. Memory requirements are calculated upfront from RigDef::Document.

CONVENTIONS:

Author
Petr Ohlidal

Definition at line 70 of file ActorSpawner.h.

Member Enumeration Documentation

◆ Message

Enumerator
TYPE_INFO 
TYPE_WARNING 
TYPE_ERROR 

Definition at line 88 of file ActorSpawner.h.

Member Function Documentation

◆ _ProcessKeyInertia()

void ActorSpawner::_ProcessKeyInertia ( RigDef::Inertia inertia,
RigDef::Inertia inertia_defaults,
RoR::CmdKeyInertia contract_key,
RoR::CmdKeyInertia extend_key 
)
private

Definition at line 3513 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _ProcessSimpleInertia()

void ActorSpawner::_ProcessSimpleInertia ( RigDef::Inertia def,
RoR::SimpleInertia obj 
)
private

Definition at line 3488 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _SectionWheels2AddBeam()

unsigned int ActorSpawner::_SectionWheels2AddBeam ( RigDef::Wheel2 wheel_2_def,
node_t node_1,
node_t node_2 
)
private

Definition at line 5196 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddBeam()

beam_t & ActorSpawner::AddBeam ( node_t node_1,
node_t node_2,
std::shared_ptr< RigDef::BeamDefaults > &  defaults,
int  detacher_group 
)
private

Definition at line 3803 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddExhaust()

void ActorSpawner::AddExhaust ( NodeNum_t  emitter_node_idx,
NodeNum_t  direction_node_idx 
)
private

Definition at line 5949 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddMessage()

void ActorSpawner::AddMessage ( ActorSpawner::Message  type,
Ogre::String const &  text 
)
private

Maintenance.

Definition at line 5685 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddNode()

std::pair< unsigned int, bool > ActorSpawner::AddNode ( RigDef::Node::Id id)
private
Returns
First: node index, second: True if the node was inserted, false if duplicate.

Definition at line 5780 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddSoundSource()

void ActorSpawner::AddSoundSource ( ActorPtr const &  vehicle,
SoundScriptInstancePtr  sound_script,
NodeNum_t  node_index,
int  type = -2 
)
staticprivate

Definition at line 1186 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddSoundSourceInstance()

void ActorSpawner::AddSoundSourceInstance ( ActorPtr const &  vehicle,
Ogre::String const &  sound_script_name,
int  node_index,
int  type = -2 
)
staticprivate

Definition at line 1179 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddTyreBeam()

unsigned int ActorSpawner::AddTyreBeam ( RigDef::Wheel2 wheel_2_def,
node_t node_1,
node_t node_2 
)
private

Definition at line 5184 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddWheel()

WheelID_t ActorSpawner::AddWheel ( RigDef::Wheel wheel)
private

Definition at line 4750 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddWheel2()

WheelID_t ActorSpawner::AddWheel2 ( RigDef::Wheel2 wheel_2_def)
private

Definition at line 4813 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddWheelBeam()

unsigned int ActorSpawner::AddWheelBeam ( node_t node_1,
node_t node_2,
float  spring,
float  damping,
std::shared_ptr< RigDef::BeamDefaults beam_defaults,
float  max_contraction = -1.f,
float  max_extension = -1.f,
BeamType  type = BEAM_NORMAL 
)
private

'wheels', 'meshwheels', 'meshwheels2'

Definition at line 5148 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddWheelRimBeam()

unsigned int ActorSpawner::AddWheelRimBeam ( RigDef::Wheel2 wheel_2_def,
node_t node_1,
node_t node_2 
)
private

Definition at line 5175 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AdjustNodeBuoyancy() [1/2]

void ActorSpawner::AdjustNodeBuoyancy ( node_t node,
RigDef::Node node_def,
std::shared_ptr< RigDef::NodeDefaults defaults 
)
private

For user-defined nodes.

Definition at line 4682 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ AdjustNodeBuoyancy() [2/2]

void ActorSpawner::AdjustNodeBuoyancy ( node_t node,
std::shared_ptr< RigDef::NodeDefaults defaults 
)
private

For generated nodes.

Definition at line 4688 of file ActorSpawner.cpp.

◆ AssignWheelToAxle()

bool ActorSpawner::AssignWheelToAxle ( int &  _out_axle_wheel,
node_t axis_node_1,
node_t axis_node_2 
)
private

Finds wheel with given axle nodes and returns it's index.

Parameters
_out_axle_wheelIndex of the found wheel.
Returns
True if wheel was found, false if not.

Definition at line 2593 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ BuildAeroEngine()

void ActorSpawner::BuildAeroEngine ( NodeNum_t  ref_node_index,
NodeNum_t  back_node_index,
NodeNum_t  blade_1_node_index,
NodeNum_t  blade_2_node_index,
NodeNum_t  blade_3_node_index,
NodeNum_t  blade_4_node_index,
NodeNum_t  couplenode_index,
bool  is_turboprops,
Ogre::String const &  airfoil,
float  power,
float  pitch 
)
private

Definition at line 773 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BuildWheelBeams()

void ActorSpawner::BuildWheelBeams ( unsigned int  num_rays,
NodeNum_t  base_node_index,
node_t axis_node_1,
node_t axis_node_2,
float  tyre_spring,
float  tyre_damping,
float  rim_spring,
float  rim_damping,
std::shared_ptr< RigDef::BeamDefaults beam_defaults,
RigDef::Node::Ref const &  rigidity_node_id,
float  max_extension = 0.f 
)
private

'wheels', 'meshwheels'

Definition at line 4693 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BuildWheelObjectAndNodes()

void ActorSpawner::BuildWheelObjectAndNodes ( WheelID_t  wheel_id,
unsigned int  num_rays,
node_t axis_node_1,
node_t axis_node_2,
node_t reference_arm_node,
unsigned int  reserve_nodes,
unsigned int  reserve_beams,
float  wheel_radius,
RigDef::WheelPropulsion  propulsion,
RigDef::WheelBraking  braking,
std::shared_ptr< RigDef::NodeDefaults node_defaults,
float  wheel_mass,
float  wheel_width = -1.f 
)
private

Sets up wheel and builds nodes for sections 'wheels', 'meshwheels' and 'meshwheels2'.

Parameters
wheel_widthWidth of the wheel (used in section 'wheels'). Use negative value to calculate width from axis beam.
Returns
Wheel index.

Definition at line 4599 of file ActorSpawner.cpp.

+ Here is the call graph for this function:

◆ CalcMemoryRequirements()

void ActorSpawner::CalcMemoryRequirements ( ActorMemoryRequirements req,
RigDef::Document::Module module_def 
)
private

Definition at line 154 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CalculateBeamLength()

void ActorSpawner::CalculateBeamLength ( beam_t beam)
private

Definition at line 5669 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ CheckAeroEngineLimit()

bool ActorSpawner::CheckAeroEngineLimit ( unsigned int  count)
private

Definition at line 6145 of file ActorSpawner.cpp.

+ Here is the call graph for this function:

◆ CheckAxleLimit()

bool ActorSpawner::CheckAxleLimit ( unsigned int  count)
private

Definition at line 6072 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckCabLimit()

bool ActorSpawner::CheckCabLimit ( unsigned int  count)
private

Definition at line 6121 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckCameraRailLimit()

bool ActorSpawner::CheckCameraRailLimit ( unsigned int  count)
private

Definition at line 6133 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckParticleLimit()

bool ActorSpawner::CheckParticleLimit ( unsigned int  count)
private

Definition at line 6060 of file ActorSpawner.cpp.

+ Here is the call graph for this function:

◆ CheckScrewpropLimit()

bool ActorSpawner::CheckScrewpropLimit ( unsigned int  count)
private

Definition at line 6157 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckSoundScriptLimit()

bool ActorSpawner::CheckSoundScriptLimit ( ActorPtr const &  vehicle,
unsigned int  count 
)
staticprivate

Definition at line 6109 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ CheckSubmeshLimit()

bool ActorSpawner::CheckSubmeshLimit ( unsigned int  count)
private

Definition at line 6084 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckTexcoordLimit()

bool ActorSpawner::CheckTexcoordLimit ( unsigned int  count)
private

Definition at line 6096 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CollectNodesFromRanges()

bool ActorSpawner::CollectNodesFromRanges ( std::vector< RigDef::Node::Range > &  node_ranges,
std::vector< NodeNum_t > &  out_node_indices 
)
private

Parses list of node-ranges into list of individual nodes.

Returns
False if some nodes could not be found and thus the lookup wasn't completed.

Definition at line 3019 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ComposeName()

std::string ActorSpawner::ComposeName ( const std::string &  object,
int  number = -1 
)
private

Creates name containing actor ID token, i.e. "Object#1 (filename.truck [Instance ID 1])".

Definition at line 699 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ComputeWingArea()

float ActorSpawner::ComputeWingArea ( Ogre::Vector3 const &  ref,
Ogre::Vector3 const &  x,
Ogre::Vector3 const &  y,
Ogre::Vector3 const &  aref 
)
private

Definition at line 1157 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ConfigureAddonParts()

void ActorSpawner::ConfigureAddonParts ( TuneupDefPtr tuneup_def)

Definition at line 109 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConfigureAssetPacks()

void ActorSpawner::ConfigureAssetPacks ( ActorPtr  actor,
RigDef::DocumentPtr  def 
)

Definition at line 143 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConfigureSections()

void ActorSpawner::ConfigureSections ( Ogre::String const &  sectionconfig,
RigDef::DocumentPtr  def 
)

Definition at line 90 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateBeamVisuals()

void ActorSpawner::CreateBeamVisuals ( beam_t const &  beam,
int  beam_index,
bool  visible,
std::shared_ptr< RigDef::BeamDefaults > const &  beam_defaults,
std::string  material_override = "" 
)
private

Definition at line 5613 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateCabVisual()

void ActorSpawner::CreateCabVisual ( )
private

Definition at line 7186 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateFlexBodyWheelVisuals()

void ActorSpawner::CreateFlexBodyWheelVisuals ( WheelID_t  wheel_id,
NodeNum_t  node_base_index,
NodeNum_t  axis_node_1,
NodeNum_t  axis_node_2,
int  num_rays,
float  radius,
WheelSide  side,
std::string  rim_mesh_name,
std::string  rim_mesh_rg,
std::string  tire_mesh_name,
std::string  tire_mesh_rg 
)
private

Definition at line 5083 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateMaterialFlare()

void ActorSpawner::CreateMaterialFlare ( int  flare_index,
Ogre::MaterialPtr  mat 
)
private

Definition at line 7302 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ CreateMeshWheelVisuals()

void ActorSpawner::CreateMeshWheelVisuals ( WheelID_t  wheel_id,
NodeNum_t  base_node_index,
NodeNum_t  axis_node_1_index,
NodeNum_t  axis_node_2_index,
unsigned int  num_rays,
WheelSide  side,
Ogre::String  mesh_name,
Ogre::String  mesh_rg,
Ogre::String  material_name,
Ogre::String  material_rg,
float  rim_radius 
)
private

Definition at line 4551 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateMirrorPropVideoCam()

void ActorSpawner::CreateMirrorPropVideoCam ( Ogre::MaterialPtr  custom_mat,
CustomMaterial::MirrorPropType  type,
Ogre::SceneNode *  prop_scenenode 
)
private

Definition at line 7076 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateParticleSystem()

Ogre::ParticleSystem * ActorSpawner::CreateParticleSystem ( std::string const &  name,
std::string const &  template_name 
)
private

Definition at line 7170 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateRail()

RailGroup * ActorSpawner::CreateRail ( std::vector< RigDef::Node::Range > &  node_ranges)
private

Definition at line 3079 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateSimpleMaterial()

Ogre::MaterialPtr ActorSpawner::CreateSimpleMaterial ( Ogre::ColourValue  color)
private

Definition at line 6630 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateVideoCamera()

void ActorSpawner::CreateVideoCamera ( RigDef::VideoCamera def)
private

Definition at line 6941 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateWheelSkidmarks()

void ActorSpawner::CreateWheelSkidmarks ( WheelID_t  wheel_index)
private

Definition at line 4806 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateWheelVisuals()

void ActorSpawner::CreateWheelVisuals ( WheelID_t  wheel_id,
NodeNum_t  node_base_index,
unsigned int  def_num_rays,
Ogre::String const &  face_material_name,
Ogre::String const &  face_material_rg,
Ogre::String const &  band_material_name,
Ogre::String const &  band_material_rg,
bool  separate_rim,
float  rim_ratio = 1.f 
)
private
Parameters
rim_ratioPercentual size of the rim.

Definition at line 5035 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FinalizeGfxSetup()

void ActorSpawner::FinalizeGfxSetup ( )
private

Definition at line 6699 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FinalizeRig()

void ActorSpawner::FinalizeRig ( )
private

Definition at line 410 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FindBeamInRig()

beam_t * ActorSpawner::FindBeamInRig ( NodeNum_t  node_a,
NodeNum_t  node_b 
)
private

Definition at line 3125 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FindFlareBindingForMaterial()

RigDef::MaterialFlareBinding * ActorSpawner::FindFlareBindingForMaterial ( std::string const &  material_name)
private

Returns NULL if none found.

Definition at line 6411 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ FindNodeIndex()

NodeNum_t ActorSpawner::FindNodeIndex ( RigDef::Node::Ref node_ref,
bool  silent = false 
)
private

Definition at line 3007 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FindOrCreateCustomizedMaterial()

Ogre::MaterialPtr ActorSpawner::FindOrCreateCustomizedMaterial ( const std::string &  mat_lookup_name,
const std::string &  mat_lookup_rg 
)
private

Definition at line 6442 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FindVideoCameraByMaterial()

RigDef::VideoCamera * ActorSpawner::FindVideoCameraByMaterial ( std::string const &  material_name)
private

Returns NULL if none found.

Definition at line 6426 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ GetActor()

ActorPtr RoR::ActorSpawner::GetActor ( )
inline

Definition at line 106 of file ActorSpawner.h.

+ Here is the caller graph for this function:

◆ GetAndInitFreeBeam()

beam_t & ActorSpawner::GetAndInitFreeBeam ( node_t node_1,
node_t node_2 
)
private

Definition at line 6201 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAndInitFreeNode()

node_t & ActorSpawner::GetAndInitFreeNode ( Ogre::Vector3 const &  position)
private

Definition at line 6209 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetBeam()

beam_t & ActorSpawner::GetBeam ( unsigned int  index)
private

Definition at line 6174 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ GetBeamNodePointer()

node_t * ActorSpawner::GetBeamNodePointer ( RigDef::Node::Ref const &  node_ref)
private

Definition at line 5427 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetFreeBeam()

beam_t & ActorSpawner::GetFreeBeam ( )
private

Definition at line 6187 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ GetFreeNode()

node_t & ActorSpawner::GetFreeNode ( )
private

Definition at line 6179 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ GetFreeShock()

shock_t & ActorSpawner::GetFreeShock ( )
private

Definition at line 6194 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ GetMemoryRequirements()

ActorMemoryRequirements const& RoR::ActorSpawner::GetMemoryRequirements ( )
inline

Definition at line 107 of file ActorSpawner.h.

+ Here is the caller graph for this function:

◆ GetNodeIndexOrThrow()

NodeNum_t ActorSpawner::GetNodeIndexOrThrow ( RigDef::Node::Ref const &  id)
private

Definition at line 5395 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetNodePointer()

node_t * ActorSpawner::GetNodePointer ( RigDef::Node::Ref const &  node_ref)
private

Definition at line 5755 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetNodePointerOrThrow()

node_t * ActorSpawner::GetNodePointerOrThrow ( RigDef::Node::Ref const &  node_ref)
private

Definition at line 5768 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSubmeshGroundmodelName()

std::string ActorSpawner::GetSubmeshGroundmodelName ( )

Definition at line 1315 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ GetWheelAxisNodes()

void ActorSpawner::GetWheelAxisNodes ( RigDef::BaseWheel def,
node_t *&  out_node_1,
node_t *&  out_node_2 
)
private

Definition at line 4412 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HandleException()

void ActorSpawner::HandleException ( )
private

Definition at line 7147 of file ActorSpawner.cpp.

+ Here is the call graph for this function:

◆ InitBeam()

void ActorSpawner::InitBeam ( beam_t beam,
node_t node_1,
node_t node_2 
)
private

Definition at line 5676 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ InitializeRig()

void ActorSpawner::InitializeRig ( )
private

Definition at line 252 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ InitNode() [1/3]

void ActorSpawner::InitNode ( node_t node,
Ogre::Vector3 const &  position 
)
private

Definition at line 6013 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ InitNode() [2/3]

void ActorSpawner::InitNode ( node_t node,
Ogre::Vector3 const &  position,
std::shared_ptr< RigDef::NodeDefaults node_defaults 
)
private

Definition at line 6020 of file ActorSpawner.cpp.

+ Here is the call graph for this function:

◆ InitNode() [3/3]

void ActorSpawner::InitNode ( unsigned int  node_index,
Ogre::Vector3 const &  position 
)
private

Definition at line 6169 of file ActorSpawner.cpp.

+ Here is the call graph for this function:

◆ InstantiateManagedMaterial()

Ogre::MaterialPtr ActorSpawner::InstantiateManagedMaterial ( Ogre::String const &  rg_name,
Ogre::String const &  source_name,
Ogre::String const &  clone_name 
)
private

Definition at line 2332 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessAirbrake()

void ActorSpawner::ProcessAirbrake ( RigDef::Airbrake def)
private

Definition at line 875 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessAnimator()

void ActorSpawner::ProcessAnimator ( RigDef::Animator def)
private

Definition at line 3645 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessAntiLockBrakes()

void ActorSpawner::ProcessAntiLockBrakes ( RigDef::AntiLockBrakes def)
private

Definition at line 5264 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessAuthor()

void ActorSpawner::ProcessAuthor ( RigDef::Author def)
private

Definition at line 5382 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ProcessAxle()

void ActorSpawner::ProcessAxle ( RigDef::Axle def)
private

Definition at line 2609 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessBeam()

void ActorSpawner::ProcessBeam ( RigDef::Beam def)
private

Definition at line 5437 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessBrakes()

void ActorSpawner::ProcessBrakes ( RigDef::Brakes def)
private

Definition at line 5296 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ProcessCamera()

void ActorSpawner::ProcessCamera ( RigDef::Camera def)
private

Definition at line 5407 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessCameraRail()

void ActorSpawner::ProcessCameraRail ( RigDef::CameraRail def)
private

Definition at line 1216 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessCinecam()

void ActorSpawner::ProcessCinecam ( RigDef::Cinecam def)
private

Definition at line 5983 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessCollisionBox()

void ActorSpawner::ProcessCollisionBox ( RigDef::CollisionBox def)
private

Definition at line 2560 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessCollisionRange()

void ActorSpawner::ProcessCollisionRange ( RigDef::CollisionRange def)
private

Definition at line 2585 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ProcessCommand()

void ActorSpawner::ProcessCommand ( RigDef::Command2 def)
private

Definition at line 3569 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessContacter()

void ActorSpawner::ProcessContacter ( RigDef::Node::Ref node_ref)
private

Definition at line 3403 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessCruiseControl()

void ActorSpawner::ProcessCruiseControl ( RigDef::CruiseControl def)
private

Definition at line 2770 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ProcessDescription()

void ActorSpawner::ProcessDescription ( Ogre::String const &  line)
private

Definition at line 849 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ProcessEngine()

void ActorSpawner::ProcessEngine ( RigDef::Engine def)
private

Definition at line 5348 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessEngoption()

void ActorSpawner::ProcessEngoption ( RigDef::Engoption def)
private

Definition at line 5318 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessEngturbo()

void ActorSpawner::ProcessEngturbo ( RigDef::Engturbo def)
private

Definition at line 5306 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessExhaust()

void ActorSpawner::ProcessExhaust ( RigDef::Exhaust def)
private

Definition at line 1278 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessExtCamera()

void ActorSpawner::ProcessExtCamera ( RigDef::ExtCamera def)
private

Definition at line 1231 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessFixedNode()

void ActorSpawner::ProcessFixedNode ( RigDef::Node::Ref  node_ref)
private

Definition at line 1272 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessFlare2()

void ActorSpawner::ProcessFlare2 ( RigDef::Flare2 def)
private

Definition at line 2105 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessFlare3()

void ActorSpawner::ProcessFlare3 ( RigDef::Flare3 def)
private

Definition at line 2094 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessFlexbody()

void ActorSpawner::ProcessFlexbody ( RigDef::Flexbody def)
private

Definition at line 1511 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessFlexBodyWheel()

void ActorSpawner::ProcessFlexBodyWheel ( RigDef::FlexBodyWheel def)
private

Definition at line 4130 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessFusedrag()

void ActorSpawner::ProcessFusedrag ( RigDef::Fusedrag def)
private

Definition at line 735 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessGlobals()

void ActorSpawner::ProcessGlobals ( RigDef::Globals def)
private

Definition at line 6032 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessGuiSettings()

void ActorSpawner::ProcessGuiSettings ( RigDef::GuiSettings def)
private

Definition at line 1240 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessHelp()

void ActorSpawner::ProcessHelp ( RigDef::Help def)
private

Definition at line 5377 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ProcessHook()

void ActorSpawner::ProcessHook ( RigDef::Hook def)
private

Definition at line 3143 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessHydro()

void ActorSpawner::ProcessHydro ( RigDef::Hydro def)
private

Definition at line 3833 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessInterAxle()

void ActorSpawner::ProcessInterAxle ( RigDef::InterAxle def)
private

Definition at line 2675 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessLockgroup()

void ActorSpawner::ProcessLockgroup ( RigDef::Lockgroup lockgroup)
private

Definition at line 3213 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessManagedMaterial()

void ActorSpawner::ProcessManagedMaterial ( RigDef::ManagedMaterial def)
private

Definition at line 2346 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessMeshWheel()

void ActorSpawner::ProcessMeshWheel ( RigDef::MeshWheel def)
private

Definition at line 4430 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessMeshWheel2()

void ActorSpawner::ProcessMeshWheel2 ( RigDef::MeshWheel2 def)
private

Definition at line 4486 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessMinimass()

void ActorSpawner::ProcessMinimass ( RigDef::Minimass def)
private

Definition at line 1576 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ProcessNewActor()

void ActorSpawner::ProcessNewActor ( ActorPtr  actor,
ActorSpawnRequest  rq,
RigDef::DocumentPtr  def 
)

Definition at line 59 of file ActorSpawnerFlow.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessNode()

void ActorSpawner::ProcessNode ( RigDef::Node def)
private

Definition at line 5824 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessParticle()

void ActorSpawner::ProcessParticle ( RigDef::Particle def)
private

Definition at line 2813 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessPistonprop()

void ActorSpawner::ProcessPistonprop ( RigDef::Pistonprop def)
private

Definition at line 854 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessProp()

void ActorSpawner::ProcessProp ( RigDef::Prop def)
private

Resource group override is used with addonparts.

Definition at line 1582 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessRailGroup()

void ActorSpawner::ProcessRailGroup ( RigDef::RailGroup def)
private

Definition at line 2927 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessRopable()

void ActorSpawner::ProcessRopable ( RigDef::Ropable def)
private

Definition at line 2850 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessRope()

void ActorSpawner::ProcessRope ( RigDef::Rope def)
private

Definition at line 2900 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessRotator()

void ActorSpawner::ProcessRotator ( RigDef::Rotator def)
private

Definition at line 3409 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessRotator2()

void ActorSpawner::ProcessRotator2 ( RigDef::Rotator2 def)
private

Definition at line 3445 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessScrewprop()

void ActorSpawner::ProcessScrewprop ( RigDef::Screwprop def)
private

Definition at line 717 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessShock()

void ActorSpawner::ProcessShock ( RigDef::Shock def)
private

Definition at line 4074 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessShock2()

void ActorSpawner::ProcessShock2 ( RigDef::Shock2 def)
private

Definition at line 3993 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessShock3()

void ActorSpawner::ProcessShock3 ( RigDef::Shock3 def)
private

Definition at line 3915 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessSlidenode()

void ActorSpawner::ProcessSlidenode ( RigDef::SlideNode def)
private

Definition at line 2934 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessSoundSource()

void ActorSpawner::ProcessSoundSource ( RigDef::SoundSource def)
private

Definition at line 1204 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessSoundSource2()

void ActorSpawner::ProcessSoundSource2 ( RigDef::SoundSource2 def)
private

Definition at line 1162 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessSpeedLimiter()

void ActorSpawner::ProcessSpeedLimiter ( RigDef::SpeedLimiter def)
private

Definition at line 2782 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ProcessSubmesh()

void ActorSpawner::ProcessSubmesh ( RigDef::Submesh def)
private

Definition at line 1329 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessTie()

void ActorSpawner::ProcessTie ( RigDef::Tie def)
private

Definition at line 2862 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessTorqueCurve()

void ActorSpawner::ProcessTorqueCurve ( RigDef::TorqueCurve def)
private

Definition at line 2788 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessTractionControl()

void ActorSpawner::ProcessTractionControl ( RigDef::TractionControl def)
private

Definition at line 5231 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessTransferCase()

void ActorSpawner::ProcessTransferCase ( RigDef::TransferCase def)
private

Definition at line 2732 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessTrigger()

void ActorSpawner::ProcessTrigger ( RigDef::Trigger def)
private

Definition at line 3224 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessTurbojet()

void ActorSpawner::ProcessTurbojet ( RigDef::Turbojet def)
private

Definition at line 660 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessTurboprop2()

void ActorSpawner::ProcessTurboprop2 ( RigDef::Turboprop2 def)
private

Definition at line 828 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessWheel()

void ActorSpawner::ProcessWheel ( RigDef::Wheel def)
private

Definition at line 5212 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessWheel2()

void ActorSpawner::ProcessWheel2 ( RigDef::Wheel2 def)
private

Definition at line 5207 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessWheelDetacher()

void ActorSpawner::ProcessWheelDetacher ( RigDef::WheelDetacher def)
private

Definition at line 5217 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessWing()

void ActorSpawner::ProcessWing ( RigDef::Wing def)
private

Definition at line 920 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ResolveNodeRef()

NodeNum_t ActorSpawner::ResolveNodeRef ( RigDef::Node::Ref const &  node_ref)
private

Definition at line 5716 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetBeamDamping()

void ActorSpawner::SetBeamDamping ( beam_t beam,
float  damping 
)
private

Definition at line 6221 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ SetBeamDeformationThreshold()

void ActorSpawner::SetBeamDeformationThreshold ( beam_t beam,
std::shared_ptr< RigDef::BeamDefaults beam_defaults 
)
private

Definition at line 5487 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ SetBeamSpring()

void ActorSpawner::SetBeamSpring ( beam_t beam,
float  spring 
)
private

Definition at line 6216 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ SetBeamStrength()

void ActorSpawner::SetBeamStrength ( beam_t beam,
float  strength 
)
private

Definition at line 3828 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ SetCurrentKeyword()

void RoR::ActorSpawner::SetCurrentKeyword ( RigDef::Keyword  keyword)
inlineprivate

Definition at line 441 of file ActorSpawner.h.

+ Here is the caller graph for this function:

◆ SetupDefaultSoundSources()

void ActorSpawner::SetupDefaultSoundSources ( ActorPtr const &  actor)
static

Definition at line 6226 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetupNewEntity()

void ActorSpawner::SetupNewEntity ( Ogre::Entity *  e,
Ogre::ColourValue  simple_color 
)
private

Full texture and material setup.

Definition at line 6641 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TranslateBrakingDef()

wheel_t::BrakeCombo ActorSpawner::TranslateBrakingDef ( RigDef::WheelBraking  def)
private

Definition at line 4399 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ UpdateCollcabContacterNodes()

void ActorSpawner::UpdateCollcabContacterNodes ( )
private

Definition at line 6386 of file ActorSpawner.cpp.

+ Here is the caller graph for this function:

◆ ValidateRotator()

void ActorSpawner::ValidateRotator ( int  id,
int  axis1,
int  axis2,
NodeNum_t nodes1,
NodeNum_t nodes2 
)
private

Definition at line 6846 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WashCalculator()

void ActorSpawner::WashCalculator ( )
private

Definition at line 619 of file ActorSpawner.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ RoR::FlexFactory

friend class RoR::FlexFactory
friend

Definition at line 72 of file ActorSpawner.h.

Field Documentation

◆ m_actor

ActorPtr RoR::ActorSpawner::m_actor
private

Definition at line 453 of file ActorSpawner.h.

◆ m_actor_grouping_scenenode

Ogre::SceneNode* RoR::ActorSpawner::m_actor_grouping_scenenode = nullptr
private

Topmost common parent; this isn't used for moving things, just helps developers inspect the scene graph.

Definition at line 496 of file ActorSpawner.h.

◆ m_airplane_left_light

int RoR::ActorSpawner::m_airplane_left_light
private

Definition at line 470 of file ActorSpawner.h.

◆ m_airplane_right_light

int RoR::ActorSpawner::m_airplane_right_light
private

Definition at line 471 of file ActorSpawner.h.

◆ m_apply_simple_materials

bool RoR::ActorSpawner::m_apply_simple_materials
private

Definition at line 458 of file ActorSpawner.h.

◆ m_cab_material_name

std::string RoR::ActorSpawner::m_cab_material_name
private

Original name defined in truckfile/globals.

Definition at line 467 of file ActorSpawner.h.

◆ m_cab_trans_material

Ogre::MaterialPtr RoR::ActorSpawner::m_cab_trans_material
private

Definition at line 490 of file ActorSpawner.h.

◆ m_curr_mirror_prop_scenenode

Ogre::SceneNode* RoR::ActorSpawner::m_curr_mirror_prop_scenenode
private

Definition at line 494 of file ActorSpawner.h.

◆ m_curr_mirror_prop_type

CustomMaterial::MirrorPropType RoR::ActorSpawner::m_curr_mirror_prop_type
private

Definition at line 493 of file ActorSpawner.h.

◆ m_current_keyword

RigDef::Keyword RoR::ActorSpawner::m_current_keyword = RigDef::Keyword::INVALID
private

For error reports.

Definition at line 479 of file ActorSpawner.h.

◆ m_current_module

std::shared_ptr<RigDef::Document::Module> RoR::ActorSpawner::m_current_module
private

For resolving addonparts.

Definition at line 480 of file ActorSpawner.h.

◆ m_custom_resource_group

std::string RoR::ActorSpawner::m_custom_resource_group
private

Definition at line 459 of file ActorSpawner.h.

◆ m_file

RigDef::DocumentPtr RoR::ActorSpawner::m_file
private

Definition at line 454 of file ActorSpawner.h.

◆ m_first_wing_index

int RoR::ActorSpawner::m_first_wing_index
private

Definition at line 476 of file ActorSpawner.h.

◆ m_flares_parent_scenenode

Ogre::SceneNode* RoR::ActorSpawner::m_flares_parent_scenenode = nullptr
private

this isn't used for moving/hiding things, just helps developers inspect the scene graph.

Definition at line 500 of file ActorSpawner.h.

◆ m_flex_factory

RoR::FlexFactory RoR::ActorSpawner::m_flex_factory
private

Definition at line 486 of file ActorSpawner.h.

◆ m_flexbodies_parent_scenenode

Ogre::SceneNode* RoR::ActorSpawner::m_flexbodies_parent_scenenode = nullptr
private

this isn't used for moving/hiding things, just helps developers inspect the scene graph.

Definition at line 499 of file ActorSpawner.h.

◆ m_fuse_y_max

float RoR::ActorSpawner::m_fuse_y_max
private

Definition at line 475 of file ActorSpawner.h.

◆ m_fuse_y_min

float RoR::ActorSpawner::m_fuse_y_min
private

Definition at line 474 of file ActorSpawner.h.

◆ m_fuse_z_max

float RoR::ActorSpawner::m_fuse_z_max
private

Definition at line 473 of file ActorSpawner.h.

◆ m_fuse_z_min

float RoR::ActorSpawner::m_fuse_z_min
private

Definition at line 472 of file ActorSpawner.h.

◆ m_generate_wing_position_lights

bool RoR::ActorSpawner::m_generate_wing_position_lights
private

Definition at line 460 of file ActorSpawner.h.

◆ m_help_material_name

std::string RoR::ActorSpawner::m_help_material_name
private

Definition at line 468 of file ActorSpawner.h.

◆ m_managed_materials

std::map<std::string, Ogre::MaterialPtr> RoR::ActorSpawner::m_managed_materials
private

Definition at line 488 of file ActorSpawner.h.

◆ m_managedmat_placeholder_template

Ogre::MaterialPtr RoR::ActorSpawner::m_managedmat_placeholder_template
private

An 'error marker' material (bright magenta) to generate managedmaterial placeholders from.

Definition at line 489 of file ActorSpawner.h.

◆ m_material_substitutions

std::map<std::string, CustomMaterial> RoR::ActorSpawner::m_material_substitutions
private

Maps original material names (shared) to their actor-specific substitutes; There's 1 substitute per 1 material, regardless of user count.

Definition at line 487 of file ActorSpawner.h.

◆ m_memory_requirements

ActorMemoryRequirements RoR::ActorSpawner::m_memory_requirements
private

Definition at line 461 of file ActorSpawner.h.

◆ m_named_nodes

std::map<Ogre::String, unsigned int> RoR::ActorSpawner::m_named_nodes
private

Definition at line 481 of file ActorSpawner.h.

◆ m_oldstyle_cab_submeshes

std::vector<CabSubmesh> RoR::ActorSpawner::m_oldstyle_cab_submeshes
private

Definition at line 478 of file ActorSpawner.h.

◆ m_oldstyle_cab_texcoords

std::vector<CabTexcoord> RoR::ActorSpawner::m_oldstyle_cab_texcoords
private

Definition at line 477 of file ActorSpawner.h.

◆ m_oldstyle_renderdash

RoR::Renderdash* RoR::ActorSpawner::m_oldstyle_renderdash
private

Definition at line 492 of file ActorSpawner.h.

◆ m_particles_parent_scenenode

Ogre::SceneNode* RoR::ActorSpawner::m_particles_parent_scenenode = nullptr
private

this isn't used for moving/hiding things, just helps developers inspect the scene graph.

Definition at line 501 of file ActorSpawner.h.

◆ m_props_parent_scenenode

Ogre::SceneNode* RoR::ActorSpawner::m_props_parent_scenenode = nullptr
private

this isn't used for moving/hiding things, just helps developers inspect the scene graph.

Definition at line 498 of file ActorSpawner.h.

◆ m_selected_modules

std::list<std::shared_ptr<RigDef::Document::Module> > RoR::ActorSpawner::m_selected_modules
private

Definition at line 456 of file ActorSpawner.h.

◆ m_simple_material_base

Ogre::MaterialPtr RoR::ActorSpawner::m_simple_material_base
private

Definition at line 491 of file ActorSpawner.h.

◆ m_spawn_position

Ogre::Vector3 RoR::ActorSpawner::m_spawn_position
private

Definition at line 457 of file ActorSpawner.h.

◆ m_state

ActorSpawnState RoR::ActorSpawner::m_state
private

Definition at line 466 of file ActorSpawner.h.

◆ m_wheels_parent_scenenode

Ogre::SceneNode* RoR::ActorSpawner::m_wheels_parent_scenenode = nullptr
private

this isn't used for moving/hiding things, just helps developers inspect the scene graph.

Definition at line 497 of file ActorSpawner.h.

◆ m_wing_area

float RoR::ActorSpawner::m_wing_area
private

Definition at line 469 of file ActorSpawner.h.


The documentation for this class was generated from the following files: