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  bool HasDriverSeatProp() const { return m_driverseat_prop_index != -1; }
144  void CalcPropAnimation(PropAnim& anim, float& cstate, int& div, float dt);
145  std::vector<Prop>& getProps() { return m_props; }
146  size_t getNumVideoCameras() const { return m_videocameras.size(); }
148  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; }
149  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 : ""; }
150  const ActorPtr& getOwningActor() { return m_actor; }
151  int countBeaconProps() const;
152 
153 private:
154 
155  static Ogre::Quaternion SpecialGetRotationTo(const Ogre::Vector3& src, const Ogre::Vector3& dest);
156  float UpdateSmoothShift(PropAnim& anim, float dt, float new_target_cstate); // Helper for `CalcPropAnimation()`
157 
158  // Static info
162  Ogre::SceneNode* m_gfx_beams_parent_scenenode = nullptr;
163 
164  // Game state
165  bool m_initialized = false;
169  bool m_beaconlight_active = true; // 'true' will trigger SetBeaconsEnabled(false) on the first buffer update
173 
174  // Threaded tasks
175  std::vector<std::shared_ptr<Task>> m_flexwheel_tasks;
176  std::vector<std::shared_ptr<Task>> m_flexbody_tasks;
177 
178  // Elements
179  std::vector<NodeGfx> m_gfx_nodes;
180  std::vector<BeamGfx> m_gfx_beams;
181  std::vector<AirbrakeGfx> m_gfx_airbrakes;
182  std::vector<Prop> m_props;
183  std::vector<FlexBody*> m_flexbodies;
184  std::vector<WheelGfx> m_wheels;
185  std::vector<VideoCamera> m_videocameras;
186  std::vector<FlareMaterial> m_flare_materials;
188 
189  // Particles
191  DustPool* m_particles_dust = nullptr; // dust, vapour and tyre smoke
196 
197  // Cab mesh ('submesh' in truck fileformat)
198  FlexObj* m_cab_mesh = nullptr;
199  Ogre::SceneNode* m_cab_scene_node = nullptr;
200  Ogre::Entity* m_cab_entity = nullptr;
201  Ogre::MaterialPtr m_cab_mat_visual;
202  Ogre::MaterialPtr m_cab_mat_visual_trans;
203  Ogre::MaterialPtr m_cab_mat_template_plain;
204  Ogre::MaterialPtr m_cab_mat_template_emissive;
205 
206  // GUI
207  Ogre::MaterialPtr m_help_mat;
208  Ogre::TexturePtr m_help_tex;
210 
212 };
213 
215 
216 } // 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:179
RoR::GfxActor::UpdateAirbrakes
void UpdateAirbrakes()
Definition: GfxActor.cpp:1961
RoR::GfxActor::RemoveBeam
void RemoveBeam(int beam_index)
Definition: GfxActor.cpp:3361
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::getNumVideoCameras
size_t getNumVideoCameras() const
Definition: GfxActor.h:146
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:209
RoR::GfxActor::m_cab_entity
Ogre::Entity * m_cab_entity
Definition: GfxActor.h:200
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:170
RoR::GfxActor::HasDriverSeatProp
bool HasDriverSeatProp() const
Definition: GfxActor.h:143
RoR::GfxActor::SetFlexbodyVisible
void SetFlexbodyVisible(bool visible)
Definition: GfxActor.cpp:3146
RoR::GfxActor::UpdateDebugView
void UpdateDebugView()
Definition: GfxActor.cpp:674
RoR::GfxActor::m_videocameras
std::vector< VideoCamera > m_videocameras
Definition: GfxActor.h:185
RoR::GfxActor::GetSimNodeBuffer
NodeSB * GetSimNodeBuffer()
Definition: GfxActor.h:120
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:199
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::GfxActor::countBeaconProps
int countBeaconProps() const
Definition: GfxActor.cpp:3337
RoR::DebugViewType
DebugViewType
Definition: GfxData.h:101
RoR::GfxActor::m_particles_drip
DustPool * m_particles_drip
Definition: GfxActor.h:190
SurveyMapEntity.h
RoR::GfxActor::m_prop_anim_prev_gear
int m_prop_anim_prev_gear
Definition: GfxActor.h:172
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:3154
Differentials.h
RoR::GfxActor::SortFlexbodies
void SortFlexbodies()
Definition: GfxActor.cpp:3110
RoR::GfxActor::m_simbuf
ActorSB m_simbuf
Definition: GfxActor.h:211
RefCountingObjectPtr< Actor >
RoR::GfxActor::m_flare_materials
std::vector< FlareMaterial > m_flare_materials
Definition: GfxActor.h:186
RoR::GfxActor::SetVideoCamState
void SetVideoCamState(VideoCamState state)
Definition: GfxActor.cpp:394
RoR::GfxActor::getSurveyMapEntity
SurveyMapEntity & getSurveyMapEntity()
Definition: GfxActor.h:147
RoR::GfxActor::SetNodeHot
void SetNodeHot(NodeNum_t nodenum, bool value)
Definition: GfxActor.cpp:3350
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:161
RoR::GfxActor::m_initialized
bool m_initialized
Definition: GfxActor.h:165
RoR::GfxActor::FinishWheelUpdates
void FinishWheelUpdates()
Definition: GfxActor.cpp:1927
RoR::PropAnim
Definition: GfxData.h:138
RoR::GfxActor::UpdateParticles
void UpdateParticles(float dt_sec)
Definition: GfxActor.cpp:542
RoR::GfxActor::UpdatePropAnimations
void UpdatePropAnimations(float dt)
Definition: GfxActor.cpp:2895
RoR::GfxActor::m_cab_mat_visual_trans
Ogre::MaterialPtr m_cab_mat_visual_trans
Definition: GfxActor.h:202
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:207
RoR::GfxActor::m_flexbodies
std::vector< FlexBody * > m_flexbodies
Definition: GfxActor.h:183
RoR::GfxActor::m_gfx_beams_parent_scenenode
Ogre::SceneNode * m_gfx_beams_parent_scenenode
Definition: GfxActor.h:162
RoR::GfxActor::m_debug_view
DebugViewType m_debug_view
Definition: GfxActor.h:167
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:166
RoR::GfxActor::m_cab_mesh
FlexObj * m_cab_mesh
Definition: GfxActor.h:198
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:203
RoR::GfxActor::SetWingsVisible
void SetWingsVisible(bool visible)
Definition: GfxActor.cpp:3314
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:160
RoR::Prop
A mesh attached to vehicle frame via 3 nodes.
Definition: GfxData.h:162
RoR::GfxActor::m_wheels
std::vector< WheelGfx > m_wheels
Definition: GfxActor.h:184
RoR::GfxActor::m_actor
ActorPtr m_actor
Definition: GfxActor.h:159
RoR::GfxActor::m_particles_dust
DustPool * m_particles_dust
Definition: GfxActor.h:191
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:195
RoR::GfxActor::SpecialGetRotationTo
static Ogre::Quaternion SpecialGetRotationTo(const Ogre::Vector3 &src, const Ogre::Vector3 &dest)
Definition: GfxActor.cpp:1621
RoR::GfxActor::m_beaconlight_active
bool m_beaconlight_active
Definition: GfxActor.h:169
RoR::GfxActor::getWheelRimMeshName
std::string getWheelRimMeshName(WheelID_t wheel_id)
Definition: GfxActor.h:149
RoR::GfxActor::m_prop_anim_shift_timer
float m_prop_anim_shift_timer
Definition: GfxActor.h:171
RoR::GfxActor::RegisterCabMesh
void RegisterCabMesh(Ogre::Entity *ent, Ogre::SceneNode *snode, FlexObj *flexobj)
Definition: GfxActor.cpp:3293
RoR::GfxActor::m_help_tex
Ogre::TexturePtr m_help_tex
Definition: GfxActor.h:208
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:201
RoR::GfxActor::m_last_debug_view
DebugViewType m_last_debug_view
Definition: GfxActor.h:168
RoR::VideoCamState::VCSTATE_ENABLED_ONLINE
@ VCSTATE_ENABLED_ONLINE
RoR::GfxActor::SetCastShadows
void SetCastShadows(bool value)
Definition: GfxActor.cpp:3257
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:145
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:3327
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:175
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:194
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::UpdateFlares
void UpdateFlares(float dt_sec, bool is_player)
Definition: GfxActor.cpp:3185
RoR::GfxActor::SetAllMeshesVisible
void SetAllMeshesVisible(bool value)
Definition: GfxActor.cpp:3300
RoR::GfxActor::m_particles_ripple
DustPool * m_particles_ripple
Definition: GfxActor.h:193
RoR::GfxActor::m_gfx_beams
std::vector< BeamGfx > m_gfx_beams
Definition: GfxActor.h:180
RoR::GfxActor::UpdateFlexbodies
void UpdateFlexbodies()
Definition: GfxActor.cpp:3115
RoR::GfxActor::ResetFlexbodies
void ResetFlexbodies()
Definition: GfxActor.cpp:3138
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:150
RoR::GfxActor::GetSimDataBuffer
ActorSB & GetSimDataBuffer()
Definition: GfxActor.h:119
RoR::GfxActor::m_particles_splash
DustPool * m_particles_splash
Definition: GfxActor.h:192
RoR
Definition: AppContext.h:36
RoR::GfxActor::m_gfx_airbrakes
std::vector< AirbrakeGfx > m_gfx_airbrakes
Definition: GfxActor.h:181
RoR::GfxActor::GetCabTransMaterial
Ogre::MaterialPtr & GetCabTransMaterial()
Definition: GfxActor.h:136
RoR::GfxActor::getWheelSide
WheelSide getWheelSide(WheelID_t wheel_id)
Definition: GfxActor.h:148
RoR::GfxActor::m_flexbody_tasks
std::vector< std::shared_ptr< Task > > m_flexbody_tasks
Definition: GfxActor.h:176
RoR::GfxActor::m_cab_mat_template_emissive
Ogre::MaterialPtr m_cab_mat_template_emissive
Definition: GfxActor.h:204
RoR::GfxActor::SetPropsVisible
void SetPropsVisible(bool visible)
Definition: GfxActor.cpp:2302
RoR::GfxActor::m_props
std::vector< Prop > m_props
Definition: GfxActor.h:182
RoR::GfxActor::~GfxActor
~GfxActor()
Definition: GfxActor.cpp:85
RoR::GfxActor::m_renderdash
RoR::Renderdash * m_renderdash
Definition: GfxActor.h:187