RigsofRods
Soft-body Physics Simulation
GfxActor.h
Go to the documentation of this file.
1 /*
2  This source file is part of Rigs of Rods
3  Copyright 2005-2012 Pierre-Michel Ricordel
4  Copyright 2007-2012 Thomas Fischer
5  Copyright 2016-2020 Petr Ohlidal
6 
7  For more information, see http://www.rigsofrods.org/
8 
9  Rigs of Rods is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License version 3, as
11  published by the Free Software Foundation.
12 
13  Rigs of Rods is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with Rigs of Rods. If not, see <http://www.gnu.org/licenses/>.
20 */
21 
26 
27 #pragma once
28 
29 #include "AutoPilot.h"
30 #include "Differentials.h"
31 #include "ForwardDeclarations.h"
32 #include "GfxData.h"
33 #include "RigDef_Prerequisites.h"
34 #include "SimBuffers.h"
35 #include "SurveyMapEntity.h"
36 #include "ThreadPool.h" // class Task
37 
38 #include <OgreAxisAlignedBox.h>
39 #include <OgreColourValue.h>
40 #include <OgreMaterial.h>
41 #include <OgreQuaternion.h>
42 #include <OgreTexture.h>
43 #include <OgreVector3.h>
44 #include <string>
45 #include <vector>
46 
47 namespace RoR {
48 
51 
52 class GfxActor
53 {
54  friend class ActorSpawner; // The factory
55 
56 public:
57 
58  GfxActor(ActorPtr actor, ActorSpawner* spawner, std::string ogre_resource_group,
59  RoR::Renderdash* renderdash);
60 
61  ~GfxActor();
62 
63  // Adding elements
64 
65  void RegisterCabMaterial(Ogre::MaterialPtr mat, Ogre::MaterialPtr mat_trans);
66  void RegisterCabMesh(Ogre::Entity* ent, Ogre::SceneNode* snode, FlexObj* flexobj);
67  void SortFlexbodies();
68 
69  // Visual changes
70 
71  void SetMaterialFlareOn(int flare_index, bool state_on);
72  void SetCabLightsActive(bool state_on);
73  void SetVideoCamState(VideoCamState state);
74  void ScaleActor(Ogre::Vector3 relpos, float ratio);
75  void ToggleDebugView();
76  void CycleDebugViews();
77  void ResetFlexbodies();
78  void SetRenderdashActive(bool active);
79  void SetBeaconsEnabled(bool beacon_light_is_active);
80  void SetDebugView(DebugViewType dv);
81  void SetNodeHot(NodeNum_t nodenum, bool value);
82  void RemoveBeam(int beam_index);
83 
84  // Visibility
85 
86  void SetRodsVisible(bool visible);
87  void SetFlexbodyVisible (bool visible);
88  void SetWheelsVisible(bool value);
89  void SetAllMeshesVisible(bool value);
90  void SetWingsVisible(bool visible);
91  void SetCastShadows(bool value);
92  void SetFlexbodiesVisible(bool visible);
93  void SetPropsVisible(bool visible);
94  void SetAeroEnginesVisible(bool visible);
95 
96  // Visual updates
97 
98  void UpdateVideoCameras(float dt_sec);
99  void UpdateParticles(float dt_sec);
100  void UpdateRods();
101  void UpdateWheelVisuals();
102  void UpdateFlexbodies();
103  void UpdateDebugView();
104  void UpdateCabMesh();
105  void UpdateWingMeshes();
106  void UpdateBeaconFlare(Prop & prop, float dt, bool is_player_actor);
107  void UpdateProps(float dt, bool is_player_actor);
108  void UpdatePropAnimations(float dt);
109  void UpdateAirbrakes();
110  void UpdateCParticles();
111  void UpdateAeroEngines();
112  void UpdateNetLabels(float dt);
113  void UpdateFlares(float dt_sec, bool is_player);
114  void UpdateRenderdashRTT ();
115 
116  // SimBuffers
117 
118  void UpdateSimDataBuffer();
121 
122  // Internal updates
123 
124  void FinishWheelUpdates();
125  void FinishFlexbodyTasks();
126 
127  // Helpers
128 
129  bool IsActorLive() const;
130  bool IsActorInitialized() const { return m_initialized; }
131  void InitializeActor() { m_initialized = true; }
132  void CalculateDriverPos(Ogre::Vector3& out_pos, Ogre::Quaternion& out_rot);
133  int GetActorId() const;
134  int GetActorState() const;
135  std::vector<FlexBody*>& GetFlexbodies() { return m_flexbodies; };
136  Ogre::MaterialPtr& GetCabTransMaterial() { return m_cab_mat_visual_trans; }
139  Ogre::String GetResourceGroup() { return m_custom_resource_group; }
140  ActorPtr GetActor(); // Watch out for multithreading with this!
141  Ogre::TexturePtr GetHelpTex() { return m_help_tex; }
142  Ogre::MaterialPtr GetHelpMat() { return m_help_mat; }
143  int FetchNumBeams() const ;
144  int FetchNumNodes() const ;
145  int FetchNumWheelNodes() const ;
146  bool HasDriverSeatProp() const { return m_driverseat_prop_index != -1; }
147  void CalcPropAnimation(PropAnim& anim, float& cstate, int& div, float dt);
148  std::vector<Prop>& getProps() { return m_props; }
149  bool hasCamera() { return m_videocameras.size() > 0; }
151  WheelSide getWheelSide(WheelID_t wheel_id) { return (wheel_id >= 0 && (size_t)wheel_id < m_wheels.size()) ? m_wheels[wheel_id].wx_side : WheelSide::INVALID; }
152  std::string getWheelRimMeshName(WheelID_t wheel_id) { return (wheel_id >= 0 && (size_t)wheel_id < m_wheels.size()) ? m_wheels[wheel_id].wx_rim_mesh_name : ""; }
153  const ActorPtr& getOwningActor() { return m_actor; }
154 
155 private:
156 
157  static Ogre::Quaternion SpecialGetRotationTo(const Ogre::Vector3& src, const Ogre::Vector3& dest);
158  float UpdateSmoothShift(PropAnim& anim, float dt, float new_target_cstate); // Helper for `CalcPropAnimation()`
159 
160  // Static info
164  Ogre::SceneNode* m_gfx_beams_parent_scenenode = nullptr;
165 
166  // Game state
167  bool m_initialized = false;
171  bool m_beaconlight_active = true; // 'true' will trigger SetBeaconsEnabled(false) on the first buffer update
175 
176  // Threaded tasks
177  std::vector<std::shared_ptr<Task>> m_flexwheel_tasks;
178  std::vector<std::shared_ptr<Task>> m_flexbody_tasks;
179 
180  // Elements
181  std::vector<NodeGfx> m_gfx_nodes;
182  std::vector<BeamGfx> m_gfx_beams;
183  std::vector<AirbrakeGfx> m_gfx_airbrakes;
184  std::vector<Prop> m_props;
185  std::vector<FlexBody*> m_flexbodies;
186  std::vector<WheelGfx> m_wheels;
187  std::vector<VideoCamera> m_videocameras;
188  std::vector<FlareMaterial> m_flare_materials;
190 
191  // Particles
193  DustPool* m_particles_dust = nullptr; // dust, vapour and tyre smoke
198 
199  // Cab mesh ('submesh' in truck fileformat)
200  FlexObj* m_cab_mesh = nullptr;
201  Ogre::SceneNode* m_cab_scene_node = nullptr;
202  Ogre::Entity* m_cab_entity = nullptr;
203  Ogre::MaterialPtr m_cab_mat_visual;
204  Ogre::MaterialPtr m_cab_mat_visual_trans;
205  Ogre::MaterialPtr m_cab_mat_template_plain;
206  Ogre::MaterialPtr m_cab_mat_template_emissive;
207 
208  // GUI
209  Ogre::MaterialPtr m_help_mat;
210  Ogre::TexturePtr m_help_tex;
212 
214 };
215 
217 
218 } // Namespace RoR
RoR::GfxActor::SetDebugView
void SetDebugView(DebugViewType dv)
Definition: GfxActor.cpp:1528
RoR::GfxActor::m_gfx_nodes
std::vector< NodeGfx > m_gfx_nodes
Definition: GfxActor.h:181
RoR::GfxActor::UpdateAirbrakes
void UpdateAirbrakes()
Definition: GfxActor.cpp:1961
RoR::GfxActor::RemoveBeam
void RemoveBeam(int beam_index)
Definition: GfxActor.cpp:3333
RoR::GfxActor::GfxActor
GfxActor(ActorPtr actor, ActorSpawner *spawner, std::string ogre_resource_group, RoR::Renderdash *renderdash)
Definition: GfxActor.cpp:61
ForwardDeclarations.h
Global forward declarations.
RoR::GfxActor::UpdateSimDataBuffer
void UpdateSimDataBuffer()
Copies sim. data from Actor to GfxActor for later update.
Definition: GfxActor.cpp:1727
RoR::NodeSB
Definition: SimBuffers.h:67
RoR::DustPool
Definition: DustPool.h:33
RoR::GfxActor::m_surveymap_entity
SurveyMapEntity m_surveymap_entity
Definition: GfxActor.h:211
RoR::GfxActor::m_cab_entity
Ogre::Entity * m_cab_entity
Definition: GfxActor.h:202
RoR::GfxActor::CalculateDriverPos
void CalculateDriverPos(Ogre::Vector3 &out_pos, Ogre::Quaternion &out_rot)
Definition: GfxActor.cpp:2034
RoR::GfxActor::m_prop_anim_crankfactor_prev
float m_prop_anim_crankfactor_prev
Definition: GfxActor.h:172
RoR::GfxActor::HasDriverSeatProp
bool HasDriverSeatProp() const
Definition: GfxActor.h:146
RoR::GfxActor::SetFlexbodyVisible
void SetFlexbodyVisible(bool visible)
Definition: GfxActor.cpp:3127
RoR::GfxActor::UpdateDebugView
void UpdateDebugView()
Definition: GfxActor.cpp:674
RoR::GfxActor::m_videocameras
std::vector< VideoCamera > m_videocameras
Definition: GfxActor.h:187
RoR::GfxActor::GetSimNodeBuffer
NodeSB * GetSimNodeBuffer()
Definition: GfxActor.h:120
RoR::GfxActor::FetchNumBeams
int FetchNumBeams() const
Definition: GfxActor.cpp:3318
RoR::DebugViewType::DEBUGVIEW_NONE
@ DEBUGVIEW_NONE
RigDef_Prerequisites.h
RoR::GfxActor::ToggleDebugView
void ToggleDebugView()
Definition: GfxActor.cpp:1520
RoR::GfxActor::m_cab_scene_node
Ogre::SceneNode * m_cab_scene_node
Definition: GfxActor.h:201
RoR::GfxActor::RegisterCabMaterial
void RegisterCabMaterial(Ogre::MaterialPtr mat, Ogre::MaterialPtr mat_trans)
Definition: GfxActor.cpp:357
ThreadPool.h
RoR::GfxActor::UpdateRods
void UpdateRods()
Definition: GfxActor.cpp:1598
RoR::GfxActor::CycleDebugViews
void CycleDebugViews()
Definition: GfxActor.cpp:1546
AutoPilot.h
RoR::GfxActor::GetActor
ActorPtr GetActor()
Definition: GfxActor.cpp:288
RoR::DebugViewType
DebugViewType
Definition: GfxData.h:101
RoR::GfxActor::m_particles_drip
DustPool * m_particles_drip
Definition: GfxActor.h:192
SurveyMapEntity.h
RoR::GfxActor::m_prop_anim_prev_gear
int m_prop_anim_prev_gear
Definition: GfxActor.h:174
RoR::FlexObj
A visual mesh, forming a chassis for softbody actor At most one instance is created per actor.
Definition: FlexObj.h:59
RoR::GfxActor::UpdateCabMesh
void UpdateCabMesh()
Definition: GfxActor.cpp:1901
RoR::GfxActor::FinishFlexbodyTasks
void FinishFlexbodyTasks()
Definition: GfxActor.cpp:3135
Differentials.h
RoR::GfxActor::SortFlexbodies
void SortFlexbodies()
Definition: GfxActor.cpp:3091
RoR::GfxActor::m_simbuf
ActorSB m_simbuf
Definition: GfxActor.h:213
RefCountingObjectPtr< Actor >
RoR::GfxActor::m_flare_materials
std::vector< FlareMaterial > m_flare_materials
Definition: GfxActor.h:188
RoR::GfxActor::SetVideoCamState
void SetVideoCamState(VideoCamState state)
Definition: GfxActor.cpp:394
RoR::GfxActor::getSurveyMapEntity
SurveyMapEntity & getSurveyMapEntity()
Definition: GfxActor.h:150
RoR::GfxActor::SetNodeHot
void SetNodeHot(NodeNum_t nodenum, bool value)
Definition: GfxActor.cpp:3322
RoR::ActorSpawner
Processes a RigDef::Document (parsed from 'truck' file format) into a simulated gameplay object (Acto...
Definition: ActorSpawner.h:70
RoR::GfxActor::GetHelpMat
Ogre::MaterialPtr GetHelpMat()
Definition: GfxActor.h:142
RoR::GfxActor::m_driverseat_prop_index
int m_driverseat_prop_index
Definition: GfxActor.h:163
RoR::GfxActor::m_initialized
bool m_initialized
Definition: GfxActor.h:167
RoR::GfxActor::FinishWheelUpdates
void FinishWheelUpdates()
Definition: GfxActor.cpp:1927
RoR::PropAnim
Definition: GfxData.h:137
RoR::GfxActor::UpdateParticles
void UpdateParticles(float dt_sec)
Definition: GfxActor.cpp:542
RoR::GfxActor::UpdatePropAnimations
void UpdatePropAnimations(float dt)
Definition: GfxActor.cpp:2876
RoR::GfxActor::m_cab_mat_visual_trans
Ogre::MaterialPtr m_cab_mat_visual_trans
Definition: GfxActor.h:204
RoR::GfxActor::FetchNumNodes
int FetchNumNodes() const
Definition: GfxActor.cpp:3319
RoR::GfxActor::GetVideoCamState
VideoCamState GetVideoCamState() const
Definition: GfxActor.h:137
RoR::GfxActor::UpdateProps
void UpdateProps(float dt, bool is_player_actor)
Definition: GfxActor.cpp:2226
RoR::GfxActor::m_help_mat
Ogre::MaterialPtr m_help_mat
Definition: GfxActor.h:209
RoR::GfxActor::m_flexbodies
std::vector< FlexBody * > m_flexbodies
Definition: GfxActor.h:185
RoR::GfxActor::m_gfx_beams_parent_scenenode
Ogre::SceneNode * m_gfx_beams_parent_scenenode
Definition: GfxActor.h:164
RoR::GfxActor::m_debug_view
DebugViewType m_debug_view
Definition: GfxActor.h:169
RoR::NodeNum_t
uint16_t NodeNum_t
Node position within Actor::ar_nodes; use RoR::NODENUM_INVALID as empty value.
Definition: ForwardDeclarations.h:52
RoR::GfxActor::UpdateAeroEngines
void UpdateAeroEngines()
Definition: GfxActor.cpp:2006
RoR::GfxActor::UpdateRenderdashRTT
void UpdateRenderdashRTT()
Definition: GfxActor.cpp:2329
RoR::GfxActor::GetHelpTex
Ogre::TexturePtr GetHelpTex()
Definition: GfxActor.h:141
RoR::GfxActor::UpdateSmoothShift
float UpdateSmoothShift(PropAnim &anim, float dt, float new_target_cstate)
Definition: GfxActor.cpp:2406
RoR::GfxActor::GetActorState
int GetActorState() const
Definition: GfxActor.cpp:1959
RoR::GfxActor::SetCabLightsActive
void SetCabLightsActive(bool state_on)
Definition: GfxActor.cpp:373
RoR::GfxActor::SetWheelsVisible
void SetWheelsVisible(bool value)
Definition: GfxActor.cpp:1942
RoR::GfxActor::m_vidcam_state
VideoCamState m_vidcam_state
Definition: GfxActor.h:168
RoR::GfxActor::m_cab_mesh
FlexObj * m_cab_mesh
Definition: GfxActor.h:200
RoR::WheelID_t
int WheelID_t
Index to Actor::ar_wheels, use RoR::WHEELID_INVALID as empty value.
Definition: ForwardDeclarations.h:56
RoR::GfxActor::m_cab_mat_template_plain
Ogre::MaterialPtr m_cab_mat_template_plain
Definition: GfxActor.h:205
RoR::GfxActor::SetWingsVisible
void SetWingsVisible(bool visible)
Definition: GfxActor.cpp:3295
RoR::GfxActor::SetRodsVisible
void SetRodsVisible(bool visible)
Definition: GfxActor.cpp:1706
RoR::GfxActor::UpdateVideoCameras
void UpdateVideoCameras(float dt_sec)
Definition: GfxActor.cpp:422
RoR::GfxActor::SetFlexbodiesVisible
void SetFlexbodiesVisible(bool visible)
RoR::GfxActor::m_custom_resource_group
std::string m_custom_resource_group
Definition: GfxActor.h:162
RoR::Prop
A mesh attached to vehicle frame via 3 nodes.
Definition: GfxData.h:160
RoR::GfxActor::m_wheels
std::vector< WheelGfx > m_wheels
Definition: GfxActor.h:186
RoR::GfxActor::m_actor
ActorPtr m_actor
Definition: GfxActor.h:161
RoR::GfxActor::m_particles_dust
DustPool * m_particles_dust
Definition: GfxActor.h:193
RoR::GfxActor::GetActorId
int GetActorId() const
Definition: GfxActor.cpp:1958
RoR::Renderdash
'renderdash' is a name of a classic Render-To-Texture animated material with gauges and other dashboa...
Definition: Renderdash.h:34
RoR::GfxActor::ScaleActor
void ScaleActor(Ogre::Vector3 relpos, float ratio)
Definition: GfxActor.cpp:1665
RoR::GfxActor::m_particles_clump
DustPool * m_particles_clump
Definition: GfxActor.h:197
RoR::GfxActor::SpecialGetRotationTo
static Ogre::Quaternion SpecialGetRotationTo(const Ogre::Vector3 &src, const Ogre::Vector3 &dest)
Definition: GfxActor.cpp:1621
RoR::GfxActor::hasCamera
bool hasCamera()
Definition: GfxActor.h:149
RoR::GfxActor::m_beaconlight_active
bool m_beaconlight_active
Definition: GfxActor.h:171
RoR::GfxActor::getWheelRimMeshName
std::string getWheelRimMeshName(WheelID_t wheel_id)
Definition: GfxActor.h:152
RoR::GfxActor::m_prop_anim_shift_timer
float m_prop_anim_shift_timer
Definition: GfxActor.h:173
RoR::GfxActor::RegisterCabMesh
void RegisterCabMesh(Ogre::Entity *ent, Ogre::SceneNode *snode, FlexObj *flexobj)
Definition: GfxActor.cpp:3274
RoR::GfxActor::m_help_tex
Ogre::TexturePtr m_help_tex
Definition: GfxActor.h:210
RoR::GfxActor::GetFlexbodies
std::vector< FlexBody * > & GetFlexbodies()
Definition: GfxActor.h:135
RoR::GfxActor::SetAeroEnginesVisible
void SetAeroEnginesVisible(bool visible)
Definition: GfxActor.cpp:2310
RoR::GfxActor::m_cab_mat_visual
Ogre::MaterialPtr m_cab_mat_visual
Updated in-place from templates.
Definition: GfxActor.h:203
RoR::GfxActor::m_last_debug_view
DebugViewType m_last_debug_view
Definition: GfxActor.h:170
RoR::VideoCamState::VCSTATE_ENABLED_ONLINE
@ VCSTATE_ENABLED_ONLINE
RoR::GfxActor::SetCastShadows
void SetCastShadows(bool value)
Definition: GfxActor.cpp:3238
RoR::GfxActor::SetBeaconsEnabled
void SetBeaconsEnabled(bool beacon_light_is_active)
Definition: GfxActor.cpp:2337
RoR::WheelSide::INVALID
@ INVALID
RoR::DebugViewType::DEBUGVIEW_SKELETON
@ DEBUGVIEW_SKELETON
RoR::GfxActor::getProps
std::vector< Prop > & getProps()
Definition: GfxActor.h:148
RoR::GfxActor::SetRenderdashActive
void SetRenderdashActive(bool active)
Definition: GfxActor.cpp:2321
RoR::GfxActor::UpdateCParticles
void UpdateCParticles()
Definition: GfxActor.cpp:1990
RoR::GfxActor::UpdateWingMeshes
void UpdateWingMeshes()
Definition: GfxActor.cpp:3308
GfxData.h
RoR::GfxActor::IsActorLive
bool IsActorLive() const
Should the visuals be updated for this actor?
Definition: GfxActor.cpp:1896
RoR::GfxActor::m_flexwheel_tasks
std::vector< std::shared_ptr< Task > > m_flexwheel_tasks
Definition: GfxActor.h:177
RoR::GfxActor::CalcPropAnimation
void CalcPropAnimation(PropAnim &anim, float &cstate, int &div, float dt)
Definition: GfxActor.cpp:2430
RoR::ActorSB
Definition: SimBuffers.h:110
RoR::VideoCamState
VideoCamState
Definition: GfxData.h:93
RoR::GfxActor::m_particles_sparks
DustPool * m_particles_sparks
Definition: GfxActor.h:196
RoR::GfxActor
Definition: GfxActor.h:52
RoR::GfxActor::SetMaterialFlareOn
void SetMaterialFlareOn(int flare_index, bool state_on)
Definition: GfxActor.cpp:293
RoR::GfxActor::UpdateBeaconFlare
void UpdateBeaconFlare(Prop &prop, float dt, bool is_player_actor)
Definition: GfxActor.cpp:2065
RoR::GfxActor::GetDebugView
DebugViewType GetDebugView() const
Definition: GfxActor.h:138
RoR::WheelSide
WheelSide
Used by rig-def/addonpart/tuneup formats to specify wheel rim mesh orientation.
Definition: GfxData.h:115
RoR::ActorSB::simbuf_nodes
std::vector< NodeSB > simbuf_nodes
Definition: SimBuffers.h:134
SimBuffers.h
RoR::GfxActor::FetchNumWheelNodes
int FetchNumWheelNodes() const
Definition: GfxActor.cpp:3320
RoR::GfxActor::UpdateFlares
void UpdateFlares(float dt_sec, bool is_player)
Definition: GfxActor.cpp:3166
RoR::GfxActor::SetAllMeshesVisible
void SetAllMeshesVisible(bool value)
Definition: GfxActor.cpp:3281
RoR::GfxActor::m_particles_ripple
DustPool * m_particles_ripple
Definition: GfxActor.h:195
RoR::GfxActor::m_gfx_beams
std::vector< BeamGfx > m_gfx_beams
Definition: GfxActor.h:182
RoR::GfxActor::UpdateFlexbodies
void UpdateFlexbodies()
Definition: GfxActor.cpp:3096
RoR::GfxActor::ResetFlexbodies
void ResetFlexbodies()
Definition: GfxActor.cpp:3119
RoR::SurveyMapEntity
Definition: SurveyMapEntity.h:35
RoR::GfxActor::UpdateWheelVisuals
void UpdateWheelVisuals()
Definition: GfxActor.cpp:1909
RoR::GfxActor::UpdateNetLabels
void UpdateNetLabels(float dt)
Definition: GfxActor.cpp:2014
RoR::GfxActor::GetResourceGroup
Ogre::String GetResourceGroup()
Definition: GfxActor.h:139
RoR::GfxActor::getOwningActor
const ActorPtr & getOwningActor()
Definition: GfxActor.h:153
RoR::GfxActor::GetSimDataBuffer
ActorSB & GetSimDataBuffer()
Definition: GfxActor.h:119
RoR::GfxActor::m_particles_splash
DustPool * m_particles_splash
Definition: GfxActor.h:194
RoR
Definition: AppContext.h:36
RoR::GfxActor::m_gfx_airbrakes
std::vector< AirbrakeGfx > m_gfx_airbrakes
Definition: GfxActor.h:183
RoR::GfxActor::GetCabTransMaterial
Ogre::MaterialPtr & GetCabTransMaterial()
Definition: GfxActor.h:136
RoR::GfxActor::getWheelSide
WheelSide getWheelSide(WheelID_t wheel_id)
Definition: GfxActor.h:151
RoR::GfxActor::m_flexbody_tasks
std::vector< std::shared_ptr< Task > > m_flexbody_tasks
Definition: GfxActor.h:178
RoR::GfxActor::m_cab_mat_template_emissive
Ogre::MaterialPtr m_cab_mat_template_emissive
Definition: GfxActor.h:206
RoR::GfxActor::SetPropsVisible
void SetPropsVisible(bool visible)
Definition: GfxActor.cpp:2302
RoR::GfxActor::m_props
std::vector< Prop > m_props
Definition: GfxActor.h:184
RoR::GfxActor::~GfxActor
~GfxActor()
Definition: GfxActor.cpp:85
RoR::GfxActor::m_renderdash
RoR::Renderdash * m_renderdash
Definition: GfxActor.h:189