|
RigsofRods
Soft-body Physics Simulation
|
Go to the documentation of this file.
38 #define PROCESS_ELEMENT(_KEYWORD_, _FIELD_, _FUNCTION_) \
40 this->SetCurrentKeyword(_KEYWORD_); \
41 for (auto& m: m_selected_modules) \
43 m_current_module = m; \
44 for (auto& entry: m->_FIELD_) \
51 this->HandleException(); \
54 m_current_module.reset(); \
56 this->SetCurrentKeyword(RigDef::Keyword::INVALID); \
83 if (
m_file->root_module->engine.size() > 0)
119 if (
m_file->root_module->guid.empty())
void ProcessWing(RigDef::Wing &def)
void ProcessHook(RigDef::Hook &def)
void ProcessHydro(RigDef::Hydro &def)
RigDef::Keyword m_current_keyword
For error reports.
void ProcessSubmesh(RigDef::Submesh &def)
void ProcessGlobals(RigDef::Globals &def)
std::string m_custom_resource_group
void ProcessFlare2(RigDef::Flare2 &def)
void ProcessRope(RigDef::Rope &def)
std::string ar_filename
Attribute; filled at spawn.
void ProcessSoundSource(RigDef::SoundSource &def)
void ProcessMinimass(RigDef::Minimass &def)
void ProcessEngine(RigDef::Engine &def)
void ProcessGuiSettings(RigDef::GuiSettings &def)
RigDef::DocumentPtr m_file
void ProcessBrakes(RigDef::Brakes &def)
Ogre::SceneNode * m_particles_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
Ogre::SceneNode * m_actor_grouping_scenenode
Topmost common parent; this isn't used for moving things, just helps developers inspect the scene gra...
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])".
void ProcessExtCamera(RigDef::ExtCamera &def)
void ProcessRotator(RigDef::Rotator &def)
void ProcessHelp(RigDef::Help &def)
void AddExhaust(NodeNum_t emitter_node_idx, NodeNum_t direction_node_idx)
void ProcessShock(RigDef::Shock &def)
void ProcessLockgroup(RigDef::Lockgroup &lockgroup)
Ogre::SceneNode * m_flexbodies_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
void ProcessCamera(RigDef::Camera &def)
void ProcessContacter(RigDef::Node::Ref &node_ref)
void ProcessMeshWheel2(RigDef::MeshWheel2 &def)
void ProcessFusedrag(RigDef::Fusedrag &def)
void ProcessAirbrake(RigDef::Airbrake &def)
void ProcessTorqueCurve(RigDef::TorqueCurve &def)
bool m_generate_wing_position_lights
bool ar_hide_in_actor_list
Hide in list of spawned actors (available in top menubar). Useful for fixed-place machinery,...
bool ar_forward_commands
Sim state.
void ProcessAxle(RigDef::Axle &def)
Ogre::SceneManager * GetSceneManager()
void ProcessEngturbo(RigDef::Engturbo &def)
void ProcessEngoption(RigDef::Engoption &def)
void ProcessShock3(RigDef::Shock3 &def)
void AddMessage(Message type, Ogre::String const &text)
Maintenance.
void ProcessAnimator(RigDef::Animator &def)
bool m_disable_default_sounds
Spawner context; TODO: remove.
void ProcessShock2(RigDef::Shock2 &def)
RoR::Renderdash * m_oldstyle_renderdash
void ProcessMeshWheel(RigDef::MeshWheel &def)
void ProcessRopable(RigDef::Ropable &def)
std::vector< CabTexcoord > m_oldstyle_cab_texcoords
void ProcessTurboprop2(RigDef::Turboprop2 &def)
void ProcessAuthor(RigDef::Author &def)
A database of user-installed content alias 'mods' (vehicles, terrains...)
Ogre::SceneNode * m_props_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
void ProcessSpeedLimiter(RigDef::SpeedLimiter &def)
void ProcessFlare3(RigDef::Flare3 &def)
void ProcessNewActor(ActorPtr actor, ActorSpawnRequest rq, RigDef::DocumentPtr def)
void ProcessFlexbody(RigDef::Flexbody &def)
void ProcessFixedNode(RigDef::Node::Ref node_ref)
void ProcessScrewprop(RigDef::Screwprop &def)
bool ar_import_commands
Sim state.
NodeNum_t ar_exhaust_dir_node
Old-format exhaust (one per vehicle) backwards direction node.
void ProcessBeam(RigDef::Beam &def)
void ProcessCollisionRange(RigDef::CollisionRange &def)
bool ar_rescuer_flag
Gameplay attr; defined in truckfile. TODO: Does anybody use this anymore?
void ProcessNode(RigDef::Node &def)
void ProcessSlidenode(RigDef::SlideNode &def)
void ProcessRailGroup(RigDef::RailGroup &def)
'renderdash' is a name of a classic Render-To-Texture animated material with gauges and other dashboa...
Ogre::SceneNode * m_flares_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
void ProcessDescription(Ogre::String const &line)
void ProcessInterAxle(RigDef::InterAxle &def)
#define PROCESS_ELEMENT(_KEYWORD_, _FIELD_, _FUNCTION_)
void ProcessParticle(RigDef::Particle &def)
void ProcessCollisionBox(RigDef::CollisionBox &def)
void ProcessTie(RigDef::Tie &def)
bool CheckResourceLoaded(Ogre::String &in_out_filename)
Finds + loads the associated resource bundle if not already done.
void ProcessSoundSource2(RigDef::SoundSource2 &def)
CacheSystem * GetCacheSystem()
void ProcessAntiLockBrakes(RigDef::AntiLockBrakes &def)
void ProcessWheel(RigDef::Wheel &def)
void ProcessCameraRail(RigDef::CameraRail &def)
void ProcessExhaust(RigDef::Exhaust &def)
void ProcessProp(RigDef::Prop &def)
Resource group override is used with addonparts.
NodeNum_t ar_exhaust_pos_node
Old-format exhaust (one per vehicle) emitter node.
void ProcessPistonprop(RigDef::Pistonprop &def)
or anywhere else will not be considered a but parsed as regular data ! Each line is treated as values separated by separators Possible i e animators Multiline description Single does not affect it Directive usualy set global attributes or change behavior of the parsing Directive may appear in any block section Modularity The elements can be grouped into modules Each module must belong to one or more configurations Directives sectionconfig specify truck configurations the user can choose from Exactly one must be selected If the first defined is used lettercase matches original docs(parsing is insensitive). NAME TYPE NOTES advdrag BLOCK add_animation DIRECTIVE Special syntax airbrakes BLOCK animators BLOCK Special syntax IF(values[0]=="") bad trailing chars are silently ignored no space at the end Items delimited On each side of there is max item Empty invalid string parses as node num items Acceptable item the node is the others When a node range has more than nodes
void ProcessTurbojet(RigDef::Turbojet &def)
Ogre::Vector3 m_spawn_position
void ProcessCruiseControl(RigDef::CruiseControl &def)
Ogre::SceneNode * m_wheels_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
void ProcessRotator2(RigDef::Rotator2 &def)
Ogre::String ar_design_name
Name of the vehicle/machine/object this actor represents.
std::shared_ptr< Document > DocumentPtr
void ProcessCommand(RigDef::Command2 &def)
Ogre::Vector3 asr_position
std::string ar_filehash
Attribute; filled at spawn.
void ProcessWheelDetacher(RigDef::WheelDetacher &def)
void ProcessFlexBodyWheel(RigDef::FlexBodyWheel &def)
void ProcessTractionControl(RigDef::TractionControl &def)
void ProcessTrigger(RigDef::Trigger &def)
std::unique_ptr< GfxActor > m_gfx_actor
void ProcessTransferCase(RigDef::TransferCase &def)
void ProcessCinecam(RigDef::Cinecam &def)
void ProcessManagedMaterial(RigDef::ManagedMaterial &def)
void ProcessWheel2(RigDef::Wheel2 &def)