Data structures representing 'truck' file format, see https://docs.rigsofrods.org/vehicle-creation/fi...
Legacy parser resolved references on-the-fly and the condition to check named nodes was "are there an...
Checks the rig-def file syntax and pulls data to File object.
char m_current_line[LINE_BUFFER_LENGTH]
int ParseArgInt(const char *str)
void ParseManagedMaterials()
bool GetArgBool(int index)
BitMask_t GetArgBeamOptions(int index)
RigDef::DocumentPtr m_definition
std::shared_ptr< DefaultMinimass > m_set_default_minimass
void ParseRotatorsUnified()
int m_current_detacher_group
void ParseTractionControl()
Ogre::String m_resource_group
SequentialImporter * GetSequentialImporter()
void ParseDirectiveSetDefaultMinimass()
std::shared_ptr< NodeDefaults > m_ror_node_defaults
void ParseMaterialFlareBindings()
BitMask_t GetArgShock3Options(int index)
static const int LINE_MAX_ARGS
void ParseWheelDetachers()
WingControlSurface GetArgWingSurface(int index)
std::shared_ptr< Inertia > m_ror_default_inertia
RoR::VideoCamRole GetArgVideoCamRole(int index)
Node::Ref GetArgRigidityNode(int index)
RoR::WheelBraking GetArgBraking(int index)
Node::Ref _ParseNodeRef(std::string const &node_id_str)
void ParseCustomDashboardInputs()
void ParseDirectiveSetInertiaDefaults()
BitMask_t GetArgShockOptions(int index)
Token m_args[LINE_MAX_ARGS]
Tokens of current line.
void ParseAntiLockBrakes()
std::shared_ptr< Document::Module > m_root_module
std::shared_ptr< Submesh > m_current_submesh
Parser state.
void ParseCruiseControl()
void ParseDirectiveForvert()
void ParseDirectivePropCameraMode()
Node::Ref GetArgNodeRef(int index)
MinimassOption GetArgMinimassOption(int index)
void BeginBlock(RigDef::Keyword keyword)
static const int LINE_BUFFER_LENGTH
void ParseDirectiveSetManagedMaterialsOptions()
RoR::FlareType GetArgFlareType(int index)
bool m_any_named_node_defined
Parser state.
static void ProcessForsetLine(RigDef::Flexbody &def, const std::string &line, int line_number=-1)
std::string GetArgStr(int index)
int GetArgDashboardInputDataType(int index)
void ParseFlexBodyWheel()
void ParseDirectiveSetBeamDefaultsScale()
unsigned int m_current_line_number
unsigned GetArgUint(int index)
void ParseDirectiveDefaultSkin()
RoR::WheelSide GetArgWheelSide(int index)
ManagedMaterialType GetArgManagedMatType(int index)
void ParseDirectiveSubmesh()
ManagedMaterialsOptions m_current_managed_material_options
void ParseDirectiveBackmesh()
EngineType GetArgEngineType(int index)
BitMask_t GetArgNodeOptions(int index)
static SpecialProp IdentifySpecialProp(const std::string &str)
long GetArgLong(int index)
bool CheckNumArguments(int num_required_args)
void ParseSetSkeletonSettings()
void _ParseBaseMeshWheel(BaseMeshWheel &mesh_wheel)
void ProcessGlobalDirective(Keyword keyword)
Directives that should only appear in root module.
std::string GetArgManagedTex(int index)
float ParseArgFloat(const char *str)
std::shared_ptr< Document::Module > m_current_module
void LogMessage(RoR::Console::MessageType type, std::string const &msg)
Adds a message to console.
void ProcessCurrentLine()
std::shared_ptr< CameraRail > m_current_camera_rail
Parser state.
std::shared_ptr< BeamDefaults > m_user_beam_defaults
void ParseDirectiveAddAnimation()
void ParseFileFormatVersion()
void ParseDirectiveSectionConfig()
RoR::WheelPropulsion GetArgPropulsion(int index)
SequentialImporter m_sequential_importer
BitMask_t GetArgCabOptions(int index)
static Keyword IdentifyKeyword(const std::string &line)
int TokenizeCurrentLine()
void ParseCommandsUnified()
std::shared_ptr< NodeDefaults > m_user_node_defaults
RigDef::DocumentPtr GetFile()
int m_num_args
Number of tokens on current line.
void ParseFlaregroupsNoImport()
std::shared_ptr< Inertia > m_user_default_inertia
void ParseDirectiveFlexbodyCameraMode()
static void _TrimTrailingComments(std::string const &line_in, std::string &line_out)
void ParseDirectiveSetBeamDefaults()
void ParseFlaresUnified()
void ParseOptionalInertia(Inertia &inertia, int index)
void ParseSoundsources2()
void ParseSubmeshGroundModel()
RoR::ExtCameraMode GetArgExtCameraMode(int index)
void ProcessRawLine(const char *line)
char GetArgChar(int index)
BitMask_t GetArgTriggerOptions(int index)
void ParseSetCollisionRange()
DocComment m_pending_doc_comment
To be linked with the following element.
unsigned ParseArgUint(const char *str)
BitMask_t GetArgHydroOptions(int index)
BitMask_t GetArgShock2Options(int index)
void ProcessChangeModuleLine(Keyword keyword)
void ParseTurbopropsUnified()
float GetArgFloat(int index)
void ProcessOgreStream(Ogre::DataStream *stream, Ogre::String resource_group)
void ParseDirectiveForset()
void ParseDirectiveSection()
void FlushPendingDocComment(size_t vectorlen, RigDef::Keyword keyword)
void ParseDirectiveSetNodeDefaults()
void ParseDirectiveDetacherGroup()
void _ParseDifferentialTypes(DifferentialTypeVec &diff_types, std::string const &options_str)
Node::Ref GetArgNullableNode(int index)
std::vector< DifferentialType > DifferentialTypeVec
std::shared_ptr< Document > DocumentPtr
WheelSide
Used by rig-def/addonpart/tuneup formats to specify wheel rim mesh orientation.