Rigs of Rods 2023.09
Soft-body Physics Simulation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
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>

Data Structures

struct  ActorMemoryRequirements
 
struct  ActorSpawnState
 
struct  CustomMaterial
 
struct  Exception
 

Public Types

enum struct  Message { TYPE_INFO , TYPE_WARNING , 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 ProcessCustomDashInputs (RigDef::CustomDashboardInput &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 ProcessFlaregroupNoImport (RigDef::FlaregroupNoImport &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.
 
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'
 
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'
 
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, WheelPropulsion propulsion, 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'.
 
NodeNum_t RegisterNode (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)
 
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 ()
 
void AddBaseFlare (RigDef::FlareBase &flare_def)
 
Actor building utilities
void CalcMemoryRequirements (ActorMemoryRequirements &req, RigDef::Document::Module *module_def)
 
void UpdateCollcabContacterNodes ()
 
void WashCalculator ()
 
void AdjustNodeBuoyancy (node_t &node, RigDef::Node &node_def, std::shared_ptr< RigDef::NodeDefaults > defaults)
 For user-defined nodes.
 
void AdjustNodeBuoyancy (node_t &node, std::shared_ptr< RigDef::NodeDefaults > defaults)
 For generated nodes.
 
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])".
 
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.
 
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.
 
Traversal
NodeNum_t ResolveNodeRef (RigDef::Node::Ref const &node_ref, bool optional=false)
 
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 &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.
 
RigDef::VideoCameraFindVideoCameraByMaterial (std::string const &material_name)
 Returns NULL if none found.
 
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.
 
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)
 
std::string GetCurrentElementMediaRG ()
 Where to load media from (the addonpart's bundle or vehicle's bundle?)
 
void AssignManagedMaterialTexture (Ogre::TextureUnitState *tus, const std::string &mm_name, int media_id, const std::string &tex_name)
 Helper for ProcessManagedMaterial()
 
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.
 
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 = true
 
ActorMemoryRequirements m_memory_requirements
 
State
ActorSpawnState m_state
 
std::string m_cab_material_name
 Original name defined in truckfile/globals.

 
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.
 
std::shared_ptr< RigDef::Document::Modulem_current_module
 For resolving addonparts.
 
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.
 
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.
 
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.
 
Ogre::SceneNode * m_wheels_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph.
 
Ogre::SceneNode * m_props_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph.
 
Ogre::SceneNode * m_flexbodies_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph.
 
Ogre::SceneNode * m_flares_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph.
 
Ogre::SceneNode * m_particles_parent_scenenode = nullptr
 this isn't used for moving/hiding things, just helps developers inspect the scene graph.
 

Friends

class RoR::FlexFactory
 

Processing

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

Limit checks

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

enum struct RoR::ActorSpawner::Message
strong
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 3637 of file ActorSpawner.cpp.

◆ _ProcessSimpleInertia()

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

Definition at line 3612 of file ActorSpawner.cpp.

◆ _SectionWheels2AddBeam()

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

Definition at line 5424 of file ActorSpawner.cpp.

◆ AddBaseFlare()

void ActorSpawner::AddBaseFlare ( RigDef::FlareBase flare_def)
private

Definition at line 2187 of file ActorSpawner.cpp.

◆ 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 3960 of file ActorSpawner.cpp.

◆ AddExhaust()

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

Definition at line 6158 of file ActorSpawner.cpp.

◆ AddMessage()

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

Maintenance.

Definition at line 5885 of file ActorSpawner.cpp.

◆ AddSoundSource()

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

Definition at line 1196 of file ActorSpawner.cpp.

◆ AddSoundSourceInstance()

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

Definition at line 1189 of file ActorSpawner.cpp.

◆ AddTyreBeam()

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

Definition at line 5412 of file ActorSpawner.cpp.

◆ 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 5376 of file ActorSpawner.cpp.

◆ AddWheelRimBeam()

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

Definition at line 5403 of file ActorSpawner.cpp.

◆ 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 4887 of file ActorSpawner.cpp.

◆ AdjustNodeBuoyancy() [2/2]

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

For generated nodes.

Definition at line 4893 of file ActorSpawner.cpp.

◆ AssignManagedMaterialTexture()

void ActorSpawner::AssignManagedMaterialTexture ( Ogre::TextureUnitState *  tus,
const std::string &  mm_name,
int  media_id,
const std::string &  tex_name 
)
private

Helper for ProcessManagedMaterial()

Definition at line 7507 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 2730 of file ActorSpawner.cpp.

◆ 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 783 of file ActorSpawner.cpp.

◆ 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 4898 of file ActorSpawner.cpp.

◆ 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,
WheelPropulsion  propulsion,
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 4800 of file ActorSpawner.cpp.

◆ CalcMemoryRequirements()

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

Definition at line 162 of file ActorSpawner.cpp.

◆ CalculateBeamLength()

void ActorSpawner::CalculateBeamLength ( beam_t beam)
private

Definition at line 5869 of file ActorSpawner.cpp.

◆ CheckAeroEngineLimit()

bool ActorSpawner::CheckAeroEngineLimit ( unsigned int  count)
private

Definition at line 6345 of file ActorSpawner.cpp.

◆ CheckAxleLimit()

bool ActorSpawner::CheckAxleLimit ( unsigned int  count)
private

Definition at line 6272 of file ActorSpawner.cpp.

◆ CheckCabLimit()

bool ActorSpawner::CheckCabLimit ( unsigned int  count)
private

Definition at line 6321 of file ActorSpawner.cpp.

◆ CheckCameraRailLimit()

bool ActorSpawner::CheckCameraRailLimit ( unsigned int  count)
private

Definition at line 6333 of file ActorSpawner.cpp.

◆ CheckScrewpropLimit()

bool ActorSpawner::CheckScrewpropLimit ( unsigned int  count)
private

Definition at line 6357 of file ActorSpawner.cpp.

◆ CheckSoundScriptLimit()

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

Definition at line 6309 of file ActorSpawner.cpp.

◆ CheckSubmeshLimit()

bool ActorSpawner::CheckSubmeshLimit ( unsigned int  count)
private

Definition at line 6284 of file ActorSpawner.cpp.

◆ CheckTexcoordLimit()

bool ActorSpawner::CheckTexcoordLimit ( unsigned int  count)
private

Definition at line 6296 of file ActorSpawner.cpp.

◆ 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 3141 of file ActorSpawner.cpp.

◆ 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 709 of file ActorSpawner.cpp.

◆ ComputeWingArea()

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

Definition at line 1167 of file ActorSpawner.cpp.

◆ ConfigureAddonParts()

void ActorSpawner::ConfigureAddonParts ( ActorPtr  actor)

Definition at line 109 of file ActorSpawner.cpp.

◆ ConfigureAssetPacks()

void ActorSpawner::ConfigureAssetPacks ( ActorPtr  actor)

Definition at line 144 of file ActorSpawner.cpp.

◆ ConfigureSections()

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

Definition at line 90 of file ActorSpawner.cpp.

◆ CreateBeamVisuals()

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

Definition at line 5812 of file ActorSpawner.cpp.

◆ CreateCabVisual()

void ActorSpawner::CreateCabVisual ( )
private

Definition at line 7355 of file ActorSpawner.cpp.

◆ 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 5309 of file ActorSpawner.cpp.

◆ CreateMaterialFlare()

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

Definition at line 7471 of file ActorSpawner.cpp.

◆ 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 4752 of file ActorSpawner.cpp.

◆ CreateMirrorPropVideoCam()

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

Definition at line 7238 of file ActorSpawner.cpp.

◆ CreateParticleSystem()

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

Definition at line 7332 of file ActorSpawner.cpp.

◆ CreateRail()

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

Definition at line 3199 of file ActorSpawner.cpp.

◆ CreateSimpleMaterial()

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

Definition at line 6838 of file ActorSpawner.cpp.

◆ CreateVideoCamera()

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

Definition at line 7094 of file ActorSpawner.cpp.

◆ CreateWheelSkidmarks()

void ActorSpawner::CreateWheelSkidmarks ( WheelID_t  wheel_index)
private

Definition at line 5019 of file ActorSpawner.cpp.

◆ 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 5261 of file ActorSpawner.cpp.

◆ FinalizeGfxSetup()

void ActorSpawner::FinalizeGfxSetup ( )
private

Definition at line 6907 of file ActorSpawner.cpp.

◆ FinalizeRig()

void ActorSpawner::FinalizeRig ( )
private

Definition at line 420 of file ActorSpawner.cpp.

◆ FindBeamInRig()

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

Definition at line 3245 of file ActorSpawner.cpp.

◆ FindFlareBindingForMaterial()

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

Returns NULL if none found.

Definition at line 6611 of file ActorSpawner.cpp.

◆ FindOrCreateCustomizedMaterial()

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

Definition at line 6642 of file ActorSpawner.cpp.

◆ FindVideoCameraByMaterial()

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

Returns NULL if none found.

Definition at line 6626 of file ActorSpawner.cpp.

◆ GetActor()

ActorPtr RoR::ActorSpawner::GetActor ( )
inline

Definition at line 106 of file ActorSpawner.h.

◆ GetAndInitFreeBeam()

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

Definition at line 6401 of file ActorSpawner.cpp.

◆ GetAndInitFreeNode()

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

Definition at line 6409 of file ActorSpawner.cpp.

◆ GetBeam()

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

Definition at line 6374 of file ActorSpawner.cpp.

◆ GetCurrentElementMediaRG()

std::string ActorSpawner::GetCurrentElementMediaRG ( )
private

Where to load media from (the addonpart's bundle or vehicle's bundle?)

Definition at line 7492 of file ActorSpawner.cpp.

◆ GetFreeBeam()

beam_t & ActorSpawner::GetFreeBeam ( )
private

Definition at line 6387 of file ActorSpawner.cpp.

◆ GetFreeNode()

node_t & ActorSpawner::GetFreeNode ( )
private

Definition at line 6379 of file ActorSpawner.cpp.

◆ GetFreeShock()

shock_t & ActorSpawner::GetFreeShock ( )
private

Definition at line 6394 of file ActorSpawner.cpp.

◆ GetMemoryRequirements()

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

Definition at line 107 of file ActorSpawner.h.

◆ GetNodeIndexOrThrow()

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

Definition at line 5605 of file ActorSpawner.cpp.

◆ GetNodePointer()

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

Definition at line 5958 of file ActorSpawner.cpp.

◆ GetNodePointerOrThrow()

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

Definition at line 5971 of file ActorSpawner.cpp.

◆ GetSubmeshGroundmodelName()

std::string ActorSpawner::GetSubmeshGroundmodelName ( )

Definition at line 1335 of file ActorSpawner.cpp.

◆ GetWheelAxisNodes()

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

Definition at line 4584 of file ActorSpawner.cpp.

◆ HandleException()

void ActorSpawner::HandleException ( )
private

Definition at line 7309 of file ActorSpawner.cpp.

◆ InitBeam()

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

Definition at line 5876 of file ActorSpawner.cpp.

◆ InitializeRig()

void ActorSpawner::InitializeRig ( )
private

Definition at line 260 of file ActorSpawner.cpp.

◆ InitNode() [1/3]

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

Definition at line 6225 of file ActorSpawner.cpp.

◆ InitNode() [2/3]

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

Definition at line 6232 of file ActorSpawner.cpp.

◆ InitNode() [3/3]

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

Definition at line 6369 of file ActorSpawner.cpp.

◆ InstantiateManagedMaterial()

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

Definition at line 2454 of file ActorSpawner.cpp.

◆ ProcessAirbrake()

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

Definition at line 885 of file ActorSpawner.cpp.

◆ ProcessAnimator()

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

Definition at line 3798 of file ActorSpawner.cpp.

◆ ProcessAntiLockBrakes()

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

Definition at line 5482 of file ActorSpawner.cpp.

◆ ProcessAuthor()

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

Definition at line 5592 of file ActorSpawner.cpp.

◆ ProcessAxle()

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

Definition at line 2746 of file ActorSpawner.cpp.

◆ ProcessBeam()

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

Definition at line 5637 of file ActorSpawner.cpp.

◆ ProcessBrakes()

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

Definition at line 5514 of file ActorSpawner.cpp.

◆ ProcessCamera()

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

Definition at line 5617 of file ActorSpawner.cpp.

◆ ProcessCameraRail()

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

Definition at line 1226 of file ActorSpawner.cpp.

◆ ProcessCinecam()

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

Definition at line 6193 of file ActorSpawner.cpp.

◆ ProcessCollisionBox()

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

Definition at line 2697 of file ActorSpawner.cpp.

◆ ProcessCollisionRange()

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

Definition at line 2722 of file ActorSpawner.cpp.

◆ ProcessCommand()

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

Definition at line 3693 of file ActorSpawner.cpp.

◆ ProcessContacter()

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

Definition at line 3527 of file ActorSpawner.cpp.

◆ ProcessCruiseControl()

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

Definition at line 2907 of file ActorSpawner.cpp.

◆ ProcessCustomDashInputs()

void ActorSpawner::ProcessCustomDashInputs ( RigDef::CustomDashboardInput def)
private

Definition at line 1250 of file ActorSpawner.cpp.

◆ ProcessDescription()

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

Definition at line 859 of file ActorSpawner.cpp.

◆ ProcessEngine()

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

Definition at line 5566 of file ActorSpawner.cpp.

◆ ProcessEngoption()

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

Definition at line 5536 of file ActorSpawner.cpp.

◆ ProcessEngturbo()

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

Definition at line 5524 of file ActorSpawner.cpp.

◆ ProcessExhaust()

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

Definition at line 1293 of file ActorSpawner.cpp.

◆ ProcessExtCamera()

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

Definition at line 1241 of file ActorSpawner.cpp.

◆ ProcessFixedNode()

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

Definition at line 1287 of file ActorSpawner.cpp.

◆ ProcessFlare2()

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

Definition at line 2159 of file ActorSpawner.cpp.

◆ ProcessFlare3()

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

Definition at line 2170 of file ActorSpawner.cpp.

◆ ProcessFlaregroupNoImport()

void ActorSpawner::ProcessFlaregroupNoImport ( RigDef::FlaregroupNoImport def)
private

Definition at line 2419 of file ActorSpawner.cpp.

◆ ProcessFlexbody()

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

Definition at line 1531 of file ActorSpawner.cpp.

◆ ProcessFlexBodyWheel()

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

Definition at line 4309 of file ActorSpawner.cpp.

◆ ProcessFusedrag()

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

Definition at line 745 of file ActorSpawner.cpp.

◆ ProcessGlobals()

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

Definition at line 6244 of file ActorSpawner.cpp.

◆ ProcessGuiSettings()

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

Definition at line 1255 of file ActorSpawner.cpp.

◆ ProcessHelp()

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

Definition at line 5587 of file ActorSpawner.cpp.

◆ ProcessHook()

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

Definition at line 3263 of file ActorSpawner.cpp.

◆ ProcessHydro()

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

Definition at line 3990 of file ActorSpawner.cpp.

◆ ProcessInterAxle()

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

Definition at line 2812 of file ActorSpawner.cpp.

◆ ProcessLockgroup()

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

Definition at line 3333 of file ActorSpawner.cpp.

◆ ProcessManagedMaterial()

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

Definition at line 2468 of file ActorSpawner.cpp.

◆ ProcessMeshWheel()

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

Definition at line 4607 of file ActorSpawner.cpp.

◆ ProcessMeshWheel2()

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

Definition at line 4673 of file ActorSpawner.cpp.

◆ ProcessMinimass()

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

Definition at line 1624 of file ActorSpawner.cpp.

◆ ProcessNewActor()

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

Definition at line 59 of file ActorSpawnerFlow.cpp.

◆ ProcessNode()

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

Definition at line 6027 of file ActorSpawner.cpp.

◆ ProcessParticle()

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

Definition at line 2950 of file ActorSpawner.cpp.

◆ ProcessPistonprop()

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

Definition at line 864 of file ActorSpawner.cpp.

◆ ProcessProp()

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

Resource group override is used with addonparts.

Definition at line 1630 of file ActorSpawner.cpp.

◆ ProcessRailGroup()

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

Definition at line 3061 of file ActorSpawner.cpp.

◆ ProcessRopable()

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

Definition at line 2980 of file ActorSpawner.cpp.

◆ ProcessRope()

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

Definition at line 3034 of file ActorSpawner.cpp.

◆ ProcessRotator()

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

Definition at line 3533 of file ActorSpawner.cpp.

◆ ProcessRotator2()

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

Definition at line 3569 of file ActorSpawner.cpp.

◆ ProcessScrewprop()

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

Definition at line 727 of file ActorSpawner.cpp.

◆ ProcessShock()

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

Definition at line 4247 of file ActorSpawner.cpp.

◆ ProcessShock2()

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

Definition at line 4160 of file ActorSpawner.cpp.

◆ ProcessShock3()

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

Definition at line 4076 of file ActorSpawner.cpp.

◆ ProcessSlidenode()

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

Definition at line 3068 of file ActorSpawner.cpp.

◆ ProcessSoundSource()

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

Definition at line 1214 of file ActorSpawner.cpp.

◆ ProcessSoundSource2()

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

Definition at line 1172 of file ActorSpawner.cpp.

◆ ProcessSpeedLimiter()

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

Definition at line 2919 of file ActorSpawner.cpp.

◆ ProcessSubmesh()

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

Definition at line 1349 of file ActorSpawner.cpp.

◆ ProcessTie()

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

Definition at line 2992 of file ActorSpawner.cpp.

◆ ProcessTorqueCurve()

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

Definition at line 2925 of file ActorSpawner.cpp.

◆ ProcessTractionControl()

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

Definition at line 5449 of file ActorSpawner.cpp.

◆ ProcessTransferCase()

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

Definition at line 2869 of file ActorSpawner.cpp.

◆ ProcessTrigger()

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

Definition at line 3344 of file ActorSpawner.cpp.

◆ ProcessTurbojet()

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

Definition at line 670 of file ActorSpawner.cpp.

◆ ProcessTurboprop2()

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

Definition at line 838 of file ActorSpawner.cpp.

◆ ProcessWheel()

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

Definition at line 4955 of file ActorSpawner.cpp.

◆ ProcessWheel2()

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

Definition at line 5026 of file ActorSpawner.cpp.

◆ ProcessWheelDetacher()

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

Definition at line 5435 of file ActorSpawner.cpp.

◆ ProcessWing()

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

Definition at line 930 of file ActorSpawner.cpp.

◆ RegisterNode()

NodeNum_t ActorSpawner::RegisterNode ( RigDef::Node::Id id)
private
Returns
Valid node number if resolved, or NODENUM_INVALID if not.

Definition at line 5983 of file ActorSpawner.cpp.

◆ ResolveNodeRef()

NodeNum_t ActorSpawner::ResolveNodeRef ( RigDef::Node::Ref const &  node_ref,
bool  optional = false 
)
private

Definition at line 5916 of file ActorSpawner.cpp.

◆ SetBeamDamping()

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

Definition at line 6421 of file ActorSpawner.cpp.

◆ SetBeamDeformationThreshold()

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

Definition at line 5686 of file ActorSpawner.cpp.

◆ SetBeamSpring()

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

Definition at line 6416 of file ActorSpawner.cpp.

◆ SetBeamStrength()

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

Definition at line 3985 of file ActorSpawner.cpp.

◆ SetCurrentKeyword()

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

Definition at line 440 of file ActorSpawner.h.

◆ SetupDefaultSoundSources()

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

Definition at line 6426 of file ActorSpawner.cpp.

◆ SetupNewEntity()

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

Full texture and material setup.

Definition at line 6849 of file ActorSpawner.cpp.

◆ UpdateCollcabContacterNodes()

void ActorSpawner::UpdateCollcabContacterNodes ( )
private

Definition at line 6586 of file ActorSpawner.cpp.

◆ ValidateRotator()

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

Definition at line 6999 of file ActorSpawner.cpp.

◆ WashCalculator()

void ActorSpawner::WashCalculator ( )
private

Definition at line 629 of file ActorSpawner.cpp.

Friends And Related Symbol 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 452 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 495 of file ActorSpawner.h.

◆ m_airplane_left_light

int RoR::ActorSpawner::m_airplane_left_light
private

Definition at line 469 of file ActorSpawner.h.

◆ m_airplane_right_light

int RoR::ActorSpawner::m_airplane_right_light
private

Definition at line 470 of file ActorSpawner.h.

◆ m_apply_simple_materials

bool RoR::ActorSpawner::m_apply_simple_materials
private

Definition at line 457 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 466 of file ActorSpawner.h.

◆ m_cab_trans_material

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

Definition at line 489 of file ActorSpawner.h.

◆ m_curr_mirror_prop_scenenode

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

Definition at line 493 of file ActorSpawner.h.

◆ m_curr_mirror_prop_type

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

Definition at line 492 of file ActorSpawner.h.

◆ m_current_keyword

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

For error reports.

Definition at line 478 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 479 of file ActorSpawner.h.

◆ m_custom_resource_group

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

Definition at line 458 of file ActorSpawner.h.

◆ m_file

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

Definition at line 453 of file ActorSpawner.h.

◆ m_first_wing_index

int RoR::ActorSpawner::m_first_wing_index
private

Definition at line 475 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 499 of file ActorSpawner.h.

◆ m_flex_factory

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

Definition at line 485 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 498 of file ActorSpawner.h.

◆ m_fuse_y_max

float RoR::ActorSpawner::m_fuse_y_max
private

Definition at line 474 of file ActorSpawner.h.

◆ m_fuse_y_min

float RoR::ActorSpawner::m_fuse_y_min
private

Definition at line 473 of file ActorSpawner.h.

◆ m_fuse_z_max

float RoR::ActorSpawner::m_fuse_z_max
private

Definition at line 472 of file ActorSpawner.h.

◆ m_fuse_z_min

float RoR::ActorSpawner::m_fuse_z_min
private

Definition at line 471 of file ActorSpawner.h.

◆ m_generate_wing_position_lights

bool RoR::ActorSpawner::m_generate_wing_position_lights = true
private

Definition at line 459 of file ActorSpawner.h.

◆ m_help_material_name

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

Definition at line 467 of file ActorSpawner.h.

◆ m_managed_materials

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

Definition at line 487 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 488 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 486 of file ActorSpawner.h.

◆ m_memory_requirements

ActorMemoryRequirements RoR::ActorSpawner::m_memory_requirements
private

Definition at line 460 of file ActorSpawner.h.

◆ m_named_nodes

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

Definition at line 480 of file ActorSpawner.h.

◆ m_oldstyle_cab_submeshes

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

Definition at line 477 of file ActorSpawner.h.

◆ m_oldstyle_cab_texcoords

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

Definition at line 476 of file ActorSpawner.h.

◆ m_oldstyle_renderdash

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

Definition at line 491 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 500 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 497 of file ActorSpawner.h.

◆ m_selected_modules

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

Definition at line 455 of file ActorSpawner.h.

◆ m_simple_material_base

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

Definition at line 490 of file ActorSpawner.h.

◆ m_spawn_position

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

Definition at line 456 of file ActorSpawner.h.

◆ m_state

ActorSpawnState RoR::ActorSpawner::m_state
private

Definition at line 465 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 496 of file ActorSpawner.h.

◆ m_wing_area

float RoR::ActorSpawner::m_wing_area
private

Definition at line 468 of file ActorSpawner.h.


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