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); \
38#define PROCESS_ELEMENT(_KEYWORD_, _FIELD_, _FUNCTION_) \ …
83 if (
m_file->root_module->engine.size() > 0)
91 if (sel_module->engine.size() > 0)
126 if (
m_file->root_module->guid.empty())
#define PROCESS_ELEMENT(_KEYWORD_, _FIELD_, _FUNCTION_)
A database of user-installed content alias 'mods' (vehicles, terrains...)
bool ar_import_commands
Sim state.
bool ar_forward_commands
Sim state.
std::string ar_filehash
Attribute; filled at spawn.
Ogre::String ar_design_name
Name of the vehicle/machine/object this actor represents.
bool m_disable_default_sounds
Spawner context; TODO: remove.
NodeNum_t ar_exhaust_dir_node
Old-format exhaust (one per vehicle) backwards direction node.
std::unique_ptr< GfxActor > m_gfx_actor
NodeNum_t ar_exhaust_pos_node
Old-format exhaust (one per vehicle) emitter node.
bool ar_hide_in_actor_list
Hide in list of spawned actors (available in top menubar). Useful for fixed-place machinery,...
bool ar_rescuer_flag
Gameplay attr; defined in truckfile. TODO: Does anybody use this anymore?
void ProcessAntiLockBrakes(RigDef::AntiLockBrakes &def)
void ProcessFlare2(RigDef::Flare2 &def)
std::list< std::shared_ptr< RigDef::Document::Module > > m_selected_modules
void ProcessScrewprop(RigDef::Screwprop &def)
void ProcessFixedNode(RigDef::Node::Ref node_ref)
void ProcessGlobals(RigDef::Globals &def)
void ProcessHydro(RigDef::Hydro &def)
void ProcessRotator2(RigDef::Rotator2 &def)
void ProcessTractionControl(RigDef::TractionControl &def)
void ProcessMeshWheel2(RigDef::MeshWheel2 &def)
void ProcessMinimass(RigDef::Minimass &def)
void ProcessEngturbo(RigDef::Engturbo &def)
void ProcessProp(RigDef::Prop &def)
Resource group override is used with addonparts.
bool m_generate_wing_position_lights
void ProcessWheelDetacher(RigDef::WheelDetacher &def)
void ProcessSlidenode(RigDef::SlideNode &def)
void ProcessSoundSource2(RigDef::SoundSource2 &def)
void ProcessExtCamera(RigDef::ExtCamera &def)
void ProcessSoundSource(RigDef::SoundSource &def)
void ProcessBeam(RigDef::Beam &def)
void ProcessRope(RigDef::Rope &def)
void ProcessParticle(RigDef::Particle &def)
void ProcessFlare3(RigDef::Flare3 &def)
void ProcessCruiseControl(RigDef::CruiseControl &def)
void ProcessHook(RigDef::Hook &def)
void ProcessTurbojet(RigDef::Turbojet &def)
void ProcessExhaust(RigDef::Exhaust &def)
void ProcessFlexbody(RigDef::Flexbody &def)
void ProcessRopable(RigDef::Ropable &def)
void ProcessNewActor(ActorPtr actor, ActorSpawnRequest rq, RigDef::DocumentPtr def)
void ProcessShock(RigDef::Shock &def)
void ProcessTurboprop2(RigDef::Turboprop2 &def)
void ProcessAuthor(RigDef::Author &def)
void ProcessAxle(RigDef::Axle &def)
void ProcessWheel(RigDef::Wheel &def)
void ProcessGuiSettings(RigDef::GuiSettings &def)
RoR::Renderdash * m_oldstyle_renderdash
void ProcessTransferCase(RigDef::TransferCase &def)
Ogre::SceneNode * m_flares_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
void ProcessWheel2(RigDef::Wheel2 &def)
void ProcessRailGroup(RigDef::RailGroup &def)
Ogre::SceneNode * m_particles_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
void ProcessContacter(RigDef::Node::Ref &node_ref)
void ProcessSpeedLimiter(RigDef::SpeedLimiter &def)
void ProcessEngine(RigDef::Engine &def)
void ProcessWing(RigDef::Wing &def)
void ProcessSubmesh(RigDef::Submesh &def)
void ProcessAnimator(RigDef::Animator &def)
void ProcessNode(RigDef::Node &def)
RigDef::DocumentPtr m_file
void ProcessCinecam(RigDef::Cinecam &def)
void ProcessFlaregroupNoImport(RigDef::FlaregroupNoImport &def)
void ProcessManagedMaterial(RigDef::ManagedMaterial &def)
void ProcessShock3(RigDef::Shock3 &def)
void ProcessFusedrag(RigDef::Fusedrag &def)
void ProcessCommand(RigDef::Command2 &def)
std::string m_custom_resource_group
Ogre::SceneNode * m_wheels_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
Ogre::SceneNode * m_props_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
void ProcessCamera(RigDef::Camera &def)
void ProcessTie(RigDef::Tie &def)
void ProcessFlexBodyWheel(RigDef::FlexBodyWheel &def)
void ProcessPistonprop(RigDef::Pistonprop &def)
void ProcessInterAxle(RigDef::InterAxle &def)
void ProcessBrakes(RigDef::Brakes &def)
void ProcessMeshWheel(RigDef::MeshWheel &def)
void ProcessCustomDashInputs(RigDef::CustomDashboardInput &def)
void ProcessLockgroup(RigDef::Lockgroup &lockgroup)
void ProcessHelp(RigDef::Help &def)
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 ProcessAirbrake(RigDef::Airbrake &def)
void ProcessRotator(RigDef::Rotator &def)
std::vector< CabTexcoord > m_oldstyle_cab_texcoords
void ProcessShock2(RigDef::Shock2 &def)
Ogre::Vector3 m_spawn_position
Ogre::SceneNode * m_flexbodies_parent_scenenode
this isn't used for moving/hiding things, just helps developers inspect the scene graph.
void ProcessTrigger(RigDef::Trigger &def)
void ProcessCameraRail(RigDef::CameraRail &def)
void ProcessCollisionBox(RigDef::CollisionBox &def)
void ProcessTorqueCurve(RigDef::TorqueCurve &def)
RigDef::Keyword m_current_keyword
For error reports.
void ProcessDescription(Ogre::String const &line)
void AddMessage(Message type, Ogre::String const &text)
Maintenance.
void AddExhaust(NodeNum_t emitter_node_idx, NodeNum_t direction_node_idx)
void ProcessCollisionRange(RigDef::CollisionRange &def)
Ogre::SceneNode * m_actor_grouping_scenenode
Topmost common parent; this isn't used for moving things, just helps developers inspect the scene gra...
void ProcessEngoption(RigDef::Engoption &def)
Ogre::String resource_group
Resource group of the loaded bundle. Empty if not loaded yet.
Ogre::SceneManager * GetSceneManager()
'renderdash' is a name of a classic Render-To-Texture animated material with gauges and other dashboa...
std::shared_ptr< Document > DocumentPtr
CacheEntryPtr asr_cache_entry
Optional, overrides 'asr_filename' and 'asr_cache_entry_num'.
Ogre::Vector3 asr_position