RigsofRods
Soft-body Physics Simulation
GfxData.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 
22 /*
23  @file
24  @brief Constants and data structures dedicated exclusively to visualization.
25  For simulation-related data structures, see 'physics/SimData.h'
26 */
27 
28 #pragma once
29 
30 #include "MeshObject.h"
31 #include "SimData.h"
32 
33 #include <Ogre.h>
34 #include <stdint.h>
35 #include <string>
36 
37 namespace RoR {
38 
41 
43 
79 
81 
91 
92 
93 enum class VideoCamState
94 {
99 };
100 
101 enum class DebugViewType
102 {
112 };
113 
115 enum class WheelSide: char
116 {
117  INVALID = 'n',
118  RIGHT = 'r',
119  LEFT = 'l'
120 };
121 
122 // Dynamic visibility control (value 0 and higher is cinecam index) - common to 'props' and 'flexbodies'
123 typedef int CameraMode_t;
127 
129 {
136 };
137 
138 struct PropAnim
139 {
140  float animratio = 0;
143 
150  float animOpt3 = 0;
151  float animOpt5 = 0;
152  float lower_limit = 0;
153  float upper_limit = 0;
154 
155  // Only for SHIFTER
156  float shifterSmooth = 0.f;
157  float shifterStep = 0.f;
158  float shifterTarget = 0.f;
159 };
160 
162 struct Prop
163 {
168  Ogre::Vector3 pp_offset = Ogre::Vector3::ZERO;
169  Ogre::Vector3 pp_offset_orig = Ogre::Vector3::ZERO;
170  Ogre::Vector3 pp_rota = Ogre::Vector3::ZERO;
171  Ogre::Quaternion pp_rot = Ogre::Quaternion::IDENTITY;
172  Ogre::SceneNode* pp_scene_node = nullptr;
173  MeshObject* pp_mesh_obj = nullptr;
174  std::string pp_media[2];
175  std::vector<PropAnim> pp_animations;
176 
181 
183  // Special prop - steering wheel
185  Ogre::Vector3 pp_wheel_pos = Ogre::Vector3::ZERO;
186  Ogre::SceneNode* pp_wheel_scene_node = nullptr;
188 
189  // Special prop - beacon
190  char pp_beacon_type = 0;
191  Ogre::BillboardSet* pp_beacon_bbs[4] = {};
192  Ogre::SceneNode* pp_beacon_scene_node[4] = {};
193  Ogre::Light* pp_beacon_light[4] = {};
194  float pp_beacon_rot_rate[4] = {};
195  float pp_beacon_rot_angle[4] = {};
196 
197  // Special prop - aero engine
199  bool pp_aero_propeller_blade = false;
200  bool pp_aero_propeller_spin = false;
201 
202  void setPropMeshesVisible(bool visible)
203  {
204  if (pp_mesh_obj)
205  pp_mesh_obj->setVisible(visible);
206  if (pp_wheel_mesh_obj)
207  pp_wheel_mesh_obj->setVisible(visible);
208  if (pp_beacon_scene_node[0])
209  pp_beacon_scene_node[0]->setVisible(visible);
210  if (pp_beacon_scene_node[1])
211  pp_beacon_scene_node[1]->setVisible(visible);
212  if (pp_beacon_scene_node[2])
213  pp_beacon_scene_node[2]->setVisible(visible);
214  if (pp_beacon_scene_node[3])
215  pp_beacon_scene_node[3]->setVisible(visible);
216  }
217 };
218 
220 {
227 };
228 
232 {
239  Ogre::Quaternion vcam_rotation;
240  Ogre::Vector3 vcam_pos_offset = Ogre::Vector3::ZERO;
241  Ogre::MaterialPtr vcam_material;
242  std::string vcam_off_tex_name;
243  Ogre::Camera* vcam_ogre_camera = nullptr;
244  Ogre::RenderTexture* vcam_render_target = nullptr;
245  Ogre::TexturePtr vcam_render_tex;
246  Ogre::SceneNode* vcam_debug_node = nullptr;
247  Ogre::RenderWindow* vcam_render_window = nullptr;
248  Ogre::SceneNode* vcam_prop_scenenode = nullptr;
249 };
250 
252 struct NodeGfx
253 {
254  NodeGfx(NodeNum_t node_idx):
255  nx_node_idx(node_idx),
256  nx_no_particles(false), // Bitfields can't be initialized in-class :(
257  nx_may_get_wet(false),
258  nx_is_hot(false),
259  nx_no_sparks(true),
260  nx_under_water_prev(false)
261  {}
262 
263  float nx_wet_time_sec = -1;
265 
266  // Bit flags
268  bool nx_may_get_wet:1;
269  bool nx_is_hot:1;
271  bool nx_no_sparks:1;
272 
273 };
274 
276 struct BeamGfx
277 {
278  BeamGfx();
279  ~BeamGfx();
280 
281  // We don't keep pointer to the Ogre::Entity - we rely on the SceneNode keeping it attached all the time.
282  Ogre::SceneNode* rod_scenenode = nullptr;
283  uint16_t rod_beam_index = 0;
284  uint16_t rod_diameter_mm = 0;
285 
289  bool rod_is_visible = false;
290 };
291 
292 struct WheelGfx
293 {
295  Flexable* wx_flex_mesh = nullptr;
296  Ogre::SceneNode* wx_scenenode = nullptr;
298  std::string wx_rim_mesh_name;
299 };
300 
302 {
303  Ogre::MeshPtr abx_mesh;
304  Ogre::SceneNode* abx_scenenode;
305  Ogre::Entity* abx_entity;
306  Ogre::Vector3 abx_offset;
310 };
311 
312 struct FlareMaterial // materialflares
313 {
315  Ogre::MaterialPtr mat_instance;
316  Ogre::ColourValue emissive_color;
317 };
318 
320 
321 } // namespace RoR
RoR::VCTYPE_MIRROR
@ VCTYPE_MIRROR
Definition: GfxData.h:224
RoR::AirbrakeGfx::abx_ref_node
NodeNum_t abx_ref_node
Definition: GfxData.h:307
RoR::VCTYPE_VIDEOCAM
@ VCTYPE_VIDEOCAM
Definition: GfxData.h:222
RoR::VideoCamera::vcam_rotation
Ogre::Quaternion vcam_rotation
Definition: GfxData.h:239
RoR::PROP_ANIM_FLAG_AIRSPEED
const PropAnimFlag_t PROP_ANIM_FLAG_AIRSPEED
Definition: GfxData.h:44
RoR::PROP_ANIM_FLAG_TORQUE
const PropAnimFlag_t PROP_ANIM_FLAG_TORQUE
Definition: GfxData.h:65
RoR::PROP_ANIM_FLAG_SHIFTER
const PropAnimFlag_t PROP_ANIM_FLAG_SHIFTER
'shifterman1, shifterman2, sequential, shifterlin, autoshifterlin'; animOpt3: see RoR::ShifterPropAni...
Definition: GfxData.h:61
RoR::PropAnim::upper_limit
float upper_limit
The upper limit for the animation.
Definition: GfxData.h:153
RoR::WheelGfx::wx_side
WheelSide wx_side
Definition: GfxData.h:297
RoR::PROP_ANIM_MODE_OFFSET_X
const PropAnimMode_t PROP_ANIM_MODE_OFFSET_X
Definition: GfxData.h:85
RoR::SHIFTERLIN
@ SHIFTERLIN
Definition: GfxData.h:134
RoR::Prop::pp_camera_mode_orig
CameraMode_t pp_camera_mode_orig
Dynamic visibility mode {0 and higher = cinecam index}.
Definition: GfxData.h:180
RoR::PROP_ANIM_FLAG_AIRBRAKE
const PropAnimFlag_t PROP_ANIM_FLAG_AIRBRAKE
Definition: GfxData.h:49
RoR::DebugViewType::DEBUGVIEW_BEAMS
@ DEBUGVIEW_BEAMS
RoR::PROP_ANIM_FLAG_AOA
const PropAnimFlag_t PROP_ANIM_FLAG_AOA
Definition: GfxData.h:47
RoR::BeamGfx
Visuals of softbody beam (beam_t struct); Partially updated along with SimBuffer.
Definition: GfxData.h:276
RoR::VideoCamera::vcam_material
Ogre::MaterialPtr vcam_material
Definition: GfxData.h:241
RoR::AirbrakeGfx::abx_mesh
Ogre::MeshPtr abx_mesh
Definition: GfxData.h:303
RoR::PROP_ANIM_FLAG_BRAKE
const PropAnimFlag_t PROP_ANIM_FLAG_BRAKE
Definition: GfxData.h:55
RoR::Prop::pp_beacon_rot_angle
float pp_beacon_rot_angle[4]
Radians.
Definition: GfxData.h:195
RoR::Prop::pp_offset
Ogre::Vector3 pp_offset
Definition: GfxData.h:168
RoR::PROP_ANIM_MODE_ROTA_Z
const PropAnimMode_t PROP_ANIM_MODE_ROTA_Z
Definition: GfxData.h:84
RoR::PropAnim::lower_limit
float lower_limit
The lower limit for the animation.
Definition: GfxData.h:152
RoR::PROP_ANIM_FLAG_DASHBOARD
const PropAnimFlag_t PROP_ANIM_FLAG_DASHBOARD
Used with dashboard system inputs, see enum DashData in file DashBoardManager.h.
Definition: GfxData.h:76
RoR::VideoCamera::vcam_render_tex
Ogre::TexturePtr vcam_render_tex
Definition: GfxData.h:245
RoR::CameraMode_t
int CameraMode_t
Definition: GfxData.h:123
RoR::DebugViewType::DEBUGVIEW_NONE
@ DEBUGVIEW_NONE
RoR::PropAnim::animMode
PropAnimMode_t animMode
Definition: GfxData.h:142
RoR::FlareMaterial::flare_index
int flare_index
Definition: GfxData.h:314
RoR::PropAnim::animFlags
PropAnimFlag_t animFlags
Definition: GfxData.h:141
RoR::PROP_ANIM_MODE_ROTA_X
const PropAnimMode_t PROP_ANIM_MODE_ROTA_X
Definition: GfxData.h:82
RoR::NODENUM_INVALID
static const NodeNum_t NODENUM_INVALID
Definition: ForwardDeclarations.h:53
RoR::SHIFTERMAN2
@ SHIFTERMAN2
Definition: GfxData.h:132
RoR::PROPID_INVALID
static const PropID_t PROPID_INVALID
Definition: ForwardDeclarations.h:60
RoR::NodeGfx::nx_no_particles
bool nx_no_particles
User-defined attr; disable all particles.
Definition: GfxData.h:267
RoR::DebugViewType::DEBUGVIEW_ROTATORS
@ DEBUGVIEW_ROTATORS
RoR::DebugViewType
DebugViewType
Definition: GfxData.h:101
RoR::WheelGfx::wx_scenenode
Ogre::SceneNode * wx_scenenode
Definition: GfxData.h:296
RoR::Prop::pp_id
PropID_t pp_id
Definition: GfxData.h:164
RoR::Flexable
Definition: Flexable.h:34
RoR::PropAnimMode_t
BitMask_t PropAnimMode_t
Definition: GfxData.h:80
RoR::VideoCamera::vcam_node_center
NodeNum_t vcam_node_center
Definition: GfxData.h:234
RoR::PROP_ANIM_MODE_NOFLIP
const PropAnimMode_t PROP_ANIM_MODE_NOFLIP
Definition: GfxData.h:89
MeshObject.h
RoR::Prop::pp_offset_orig
Ogre::Vector3 pp_offset_orig
Used with ANIM_FLAG_OFFSET*.
Definition: GfxData.h:169
RoR::WheelGfx
Definition: GfxData.h:292
RoR::DebugViewType::DEBUGVIEW_SUBMESH
@ DEBUGVIEW_SUBMESH
RoR::VideoCamera::vcam_render_target
Ogre::RenderTexture * vcam_render_target
Definition: GfxData.h:244
RoR::CAMERA_MODE_ALWAYS_HIDDEN
static CameraMode_t CAMERA_MODE_ALWAYS_HIDDEN
Definition: GfxData.h:124
RoR::NodeGfx::NodeGfx
NodeGfx(NodeNum_t node_idx)
Definition: GfxData.h:254
RoR::Prop::pp_rot
Ogre::Quaternion pp_rot
Definition: GfxData.h:171
RoR::NodeGfx::nx_no_sparks
bool nx_no_sparks
User-defined attr;.
Definition: GfxData.h:271
RoR::BeamGfx::rod_diameter_mm
uint16_t rod_diameter_mm
Diameter in millimeters.
Definition: GfxData.h:284
RoR::PROP_ANIM_FLAG_PBRAKE
const PropAnimFlag_t PROP_ANIM_FLAG_PBRAKE
Definition: GfxData.h:59
RoR::VideoCamera::vcam_node_dir_y
NodeNum_t vcam_node_dir_y
Definition: GfxData.h:235
RoR::PROP_ANIM_FLAG_ARUDDER
const PropAnimFlag_t PROP_ANIM_FLAG_ARUDDER
Definition: GfxData.h:71
BITMASK
#define BITMASK(OFFSET)
Definition: BitFlags.h:10
RoR::PROP_ANIM_FLAG_RPM
const PropAnimFlag_t PROP_ANIM_FLAG_RPM
Definition: GfxData.h:53
RoR::Prop::pp_beacon_type
char pp_beacon_type
Special prop: beacon {0 = none, 'b' = user-specified, 'r' = red, 'p' = police lightbar,...
Definition: GfxData.h:190
RoR::VideoCamera::vcam_debug_node
Ogre::SceneNode * vcam_debug_node
Definition: GfxData.h:246
RoR::PROP_ANIM_FLAG_ALTIMETER
const PropAnimFlag_t PROP_ANIM_FLAG_ALTIMETER
Definition: GfxData.h:46
RoR::SHIFTERSEQ
@ SHIFTERSEQ
Definition: GfxData.h:133
RoR::Prop::pp_wheel_pos
Ogre::Vector3 pp_wheel_pos
Definition: GfxData.h:185
RoR::PROP_ANIM_MODE_ROTA_Y
const PropAnimMode_t PROP_ANIM_MODE_ROTA_Y
Definition: GfxData.h:83
RefCountingObjectPtr< Actor >
RoR::Prop::pp_aero_propeller_spin
bool pp_aero_propeller_spin
Special - blurred spinning propeller effect.
Definition: GfxData.h:200
RoR::PropAnim::animratio
float animratio
A coefficient for the animation, prop degree if used with mode: rotation and propoffset if used with ...
Definition: GfxData.h:140
RoR::BeamGfx::rod_target_actor
ActorPtr rod_target_actor
Definition: GfxData.h:288
RoR::VideoCamera::vcam_render_window
Ogre::RenderWindow * vcam_render_window
Definition: GfxData.h:247
RoR::PROP_ANIM_FLAG_STEERING
const PropAnimFlag_t PROP_ANIM_FLAG_STEERING
Definition: GfxData.h:68
RoR::PROP_ANIM_FLAG_GEAR
const PropAnimFlag_t PROP_ANIM_FLAG_GEAR
'gearreverse' (animOpt3=-1), 'gearneutral' (animOpt3=0), 'gear#' (animOpt3=#)
Definition: GfxData.h:78
RoR::VCTYPE_MIRROR_PROP_LEFT
@ VCTYPE_MIRROR_PROP_LEFT
The classic 'special prop/rear view mirror'.
Definition: GfxData.h:225
RoR::PropAnim::shifterStep
float shifterStep
Definition: GfxData.h:157
RoR::Prop::pp_wheel_scene_node
Ogre::SceneNode * pp_wheel_scene_node
Definition: GfxData.h:186
RoR::Prop::pp_node_ref
NodeNum_t pp_node_ref
Definition: GfxData.h:165
RoR::PropAnim
Definition: GfxData.h:138
RoR::VideoCamState::VCSTATE_ENABLED_OFFLINE
@ VCSTATE_ENABLED_OFFLINE
RoR::Prop::pp_node_y
NodeNum_t pp_node_y
Definition: GfxData.h:167
RoR::DebugViewType::DEBUGVIEW_SLIDENODES
@ DEBUGVIEW_SLIDENODES
RoR::Prop::pp_wheel_mesh_obj
MeshObject * pp_wheel_mesh_obj
Definition: GfxData.h:184
RoR::AirbrakeGfx::abx_x_node
NodeNum_t abx_x_node
Definition: GfxData.h:308
RoR::VideoCamState::VCSTATE_INVALID
@ VCSTATE_INVALID
RoR::BeamGfx::rod_node1
NodeNum_t rod_node1
Node index - may change during simulation!
Definition: GfxData.h:286
RoR::PROP_ANIM_FLAG_AETORQUE
const PropAnimFlag_t PROP_ANIM_FLAG_AETORQUE
Definition: GfxData.h:62
RoR::SHIFTER_INVALID
@ SHIFTER_INVALID
Definition: GfxData.h:130
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::PROP_ANIM_FLAG_PERMANENT
const PropAnimFlag_t PROP_ANIM_FLAG_PERMANENT
Definition: GfxData.h:74
RoR::WheelGfx::wx_flex_mesh
Flexable * wx_flex_mesh
Definition: GfxData.h:295
SimData.h
Core data structures for simulation; Everything affected by by either physics, network or user intera...
RoR::NodeGfx
Gfx attributes/state of a softbody node.
Definition: GfxData.h:252
RoR::PROP_ANIM_MODE_AUTOANIMATE
const PropAnimMode_t PROP_ANIM_MODE_AUTOANIMATE
Definition: GfxData.h:88
RoR::WHEELID_INVALID
static const WheelID_t WHEELID_INVALID
Definition: ForwardDeclarations.h:57
RoR::CAMERA_MODE_3RDPERSON_ONLY
static CameraMode_t CAMERA_MODE_3RDPERSON_ONLY
Definition: GfxData.h:126
RoR::Prop::pp_beacon_light
Ogre::Light * pp_beacon_light[4]
Definition: GfxData.h:193
RoR::VideoCamera::vcam_off_tex_name
std::string vcam_off_tex_name
Used when videocamera is offline.
Definition: GfxData.h:242
RoR::PROP_ANIM_FLAG_FLAP
const PropAnimFlag_t PROP_ANIM_FLAG_FLAP
Definition: GfxData.h:48
RoR::PROP_ANIM_FLAG_DIFFLOCK
const PropAnimFlag_t PROP_ANIM_FLAG_DIFFLOCK
Definition: GfxData.h:67
RoR::SHIFTERMAN1
@ SHIFTERMAN1
Definition: GfxData.h:131
RoR::WheelID_t
int WheelID_t
Index to Actor::ar_wheels, use RoR::WHEELID_INVALID as empty value.
Definition: ForwardDeclarations.h:56
RoR::PROP_ANIM_FLAG_AESTATUS
const PropAnimFlag_t PROP_ANIM_FLAG_AESTATUS
Definition: GfxData.h:64
RoR::VideoCamera::vcam_ogre_camera
Ogre::Camera * vcam_ogre_camera
Definition: GfxData.h:243
RoR::AirbrakeGfx::abx_entity
Ogre::Entity * abx_entity
Definition: GfxData.h:305
RoR::AUTOSHIFTERLIN
@ AUTOSHIFTERLIN
Definition: GfxData.h:135
RoR::WheelSide::RIGHT
@ RIGHT
RoR::WheelSide::LEFT
@ LEFT
RoR::PROP_ANIM_FLAG_SIGNALSTALK
const PropAnimFlag_t PROP_ANIM_FLAG_SIGNALSTALK
Turn indicator stalk position (-1=left, 0=off, 1=right)
Definition: GfxData.h:77
RoR::Prop
A mesh attached to vehicle frame via 3 nodes.
Definition: GfxData.h:162
MeshObject
Definition: MeshObject.h:35
RoR::PROP_ANIM_FLAG_VVI
const PropAnimFlag_t PROP_ANIM_FLAG_VVI
Definition: GfxData.h:45
RoR::AirbrakeGfx
Definition: GfxData.h:301
RoR::PROP_ANIM_MODE_OFFSET_Z
const PropAnimMode_t PROP_ANIM_MODE_OFFSET_Z
Definition: GfxData.h:87
RoR::PROP_ANIM_MODE_BOUNCE
const PropAnimMode_t PROP_ANIM_MODE_BOUNCE
Definition: GfxData.h:90
RoR::PROP_ANIM_FLAG_ACCEL
const PropAnimFlag_t PROP_ANIM_FLAG_ACCEL
Definition: GfxData.h:54
RoR::BeamGfx::rod_is_visible
bool rod_is_visible
Definition: GfxData.h:289
RoR::VideoCamera::vcam_node_lookat
NodeNum_t vcam_node_lookat
Only for VCTYPE_TRACK_CAM.
Definition: GfxData.h:238
RoR::PropAnim::shifterTarget
float shifterTarget
Definition: GfxData.h:158
RoR::PropAnim::shifterSmooth
float shifterSmooth
Definition: GfxData.h:156
RoR::PROP_ANIM_FLAG_THROTTLE
const PropAnimFlag_t PROP_ANIM_FLAG_THROTTLE
Definition: GfxData.h:52
RoR::NodeGfx::nx_node_idx
NodeNum_t nx_node_idx
Definition: GfxData.h:264
RoR::FlareMaterial::mat_instance
Ogre::MaterialPtr mat_instance
Definition: GfxData.h:315
RoR::VideoCamera
An Ogre::Camera mounted on the actor and rendering into either in-scene texture or external window.
Definition: GfxData.h:231
RoR::AirbrakeGfx::abx_scenenode
Ogre::SceneNode * abx_scenenode
Definition: GfxData.h:304
RoR::VideoCamState::VCSTATE_DISABLED
@ VCSTATE_DISABLED
RoR::DebugViewType::DEBUGVIEW_SHOCKS
@ DEBUGVIEW_SHOCKS
RoR::VCTYPE_MIRROR_PROP_RIGHT
@ VCTYPE_MIRROR_PROP_RIGHT
The classic 'special prop/rear view mirror'.
Definition: GfxData.h:226
RoR::PROP_ANIM_FLAG_PITCH
const PropAnimFlag_t PROP_ANIM_FLAG_PITCH
Definition: GfxData.h:51
RoR::Prop::pp_rota
Ogre::Vector3 pp_rota
Definition: GfxData.h:170
RoR::PROP_ANIM_FLAG_TURBO
const PropAnimFlag_t PROP_ANIM_FLAG_TURBO
Definition: GfxData.h:60
RoR::VCTYPE_TRACKING_VIDEOCAM
@ VCTYPE_TRACKING_VIDEOCAM
Definition: GfxData.h:223
RoR::VideoCamera::vcam_prop_scenenode
Ogre::SceneNode * vcam_prop_scenenode
Only for VCTYPE_MIRROR_PROP_*.
Definition: GfxData.h:248
RoR::BeamGfx::rod_scenenode
Ogre::SceneNode * rod_scenenode
Definition: GfxData.h:282
RoR::PropAnim::animOpt5
float animOpt5
Definition: GfxData.h:151
RoR::NodeGfx::nx_may_get_wet
bool nx_may_get_wet
Attr; enables water drip and vapour.
Definition: GfxData.h:268
RoR::VideoCamera::vcam_node_alt_pos
NodeNum_t vcam_node_alt_pos
Definition: GfxData.h:237
RoR::PROP_ANIM_FLAG_HEADING
const PropAnimFlag_t PROP_ANIM_FLAG_HEADING
Definition: GfxData.h:66
RoR::Prop::pp_media
std::string pp_media[2]
Redundant, for Tuning UI. Media1 = prop mesh name, Media2 = steeringwheel mesh/beaconprop flare mat.
Definition: GfxData.h:174
RoR::PropAnimFlag_t
BitMask64_t PropAnimFlag_t
Definition: GfxData.h:42
RoR::NodeGfx::nx_is_hot
bool nx_is_hot
User-defined attr; emits vapour particles when in contact with water.
Definition: GfxData.h:269
RoR::DebugViewType::DEBUGVIEW_NODES
@ DEBUGVIEW_NODES
RoR::PropAnim::animOpt3
float animOpt3
MULTIPURPOSE.
Definition: GfxData.h:150
RoR::Prop::pp_animations
std::vector< PropAnim > pp_animations
Definition: GfxData.h:175
RoR::Prop::setPropMeshesVisible
void setPropMeshesVisible(bool visible)
Definition: GfxData.h:202
RoR::Prop::pp_camera_mode_active
CameraMode_t pp_camera_mode_active
Dynamic visibility mode {0 and higher = cinecam index}.
Definition: GfxData.h:179
RoR::BeamGfx::rod_node2
NodeNum_t rod_node2
Node index - may change during simulation!
Definition: GfxData.h:287
RoR::VideoCamState::VCSTATE_ENABLED_ONLINE
@ VCSTATE_ENABLED_ONLINE
RoR::VideoCamera::vcam_node_dir_z
NodeNum_t vcam_node_dir_z
Definition: GfxData.h:236
RoR::WheelSide::INVALID
@ INVALID
MeshObject::setVisible
void setVisible(bool b)
Definition: MeshObject.cpp:60
RoR::DebugViewType::DEBUGVIEW_SKELETON
@ DEBUGVIEW_SKELETON
RoR::WheelGfx::wx_wheel_id
WheelID_t wx_wheel_id
Definition: GfxData.h:294
RoR::Prop::pp_aero_propeller_blade
bool pp_aero_propeller_blade
Special - single blade mesh.
Definition: GfxData.h:199
RoR::DebugViewType::DEBUGVIEW_WHEELS
@ DEBUGVIEW_WHEELS
RoR::BeamGfx::BeamGfx
BeamGfx()
Definition: GfxData.cpp:28
RoR::PROP_ANIM_FLAG_AEPITCH
const PropAnimFlag_t PROP_ANIM_FLAG_AEPITCH
Definition: GfxData.h:63
RoR::PROP_ANIM_FLAG_ELEVATORS
const PropAnimFlag_t PROP_ANIM_FLAG_ELEVATORS
Definition: GfxData.h:75
RoR::VideoCamType
VideoCamType
Definition: GfxData.h:219
RoR::PROP_ANIM_FLAG_BRUDDER
const PropAnimFlag_t PROP_ANIM_FLAG_BRUDDER
Definition: GfxData.h:72
RoR::CAMERA_MODE_ALWAYS_VISIBLE
static CameraMode_t CAMERA_MODE_ALWAYS_VISIBLE
Definition: GfxData.h:125
RoR::FlareMaterial
Definition: GfxData.h:312
RoR::BeamGfx::rod_beam_index
uint16_t rod_beam_index
Definition: GfxData.h:283
RoR::PROP_ANIM_FLAG_SPEEDO
const PropAnimFlag_t PROP_ANIM_FLAG_SPEEDO
Definition: GfxData.h:58
RoR::VideoCamState
VideoCamState
Definition: GfxData.h:93
BITMASK64
#define BITMASK64(OFFSET)
Definition: BitFlags.h:11
RoR::VideoCamera::vcam_pos_offset
Ogre::Vector3 vcam_pos_offset
Definition: GfxData.h:240
RoR::WheelGfx::wx_rim_mesh_name
std::string wx_rim_mesh_name
Redundant, for Tuning UI. Only for 'meshwheels[2]' and 'flexbodywheels'.
Definition: GfxData.h:298
RoR::Prop::pp_mesh_obj
MeshObject * pp_mesh_obj
Optional; NULL if removed via tuneup/addonpart.
Definition: GfxData.h:173
BitMask_t
uint32_t BitMask_t
Definition: BitFlags.h:7
RoR::Prop::pp_beacon_rot_rate
float pp_beacon_rot_rate[4]
Radians per second.
Definition: GfxData.h:194
RoR::AirbrakeGfx::abx_y_node
NodeNum_t abx_y_node
Definition: GfxData.h:309
RoR::AirbrakeGfx::abx_offset
Ogre::Vector3 abx_offset
Definition: GfxData.h:306
RoR::WheelSide
WheelSide
Used by rig-def/addonpart/tuneup formats to specify wheel rim mesh orientation.
Definition: GfxData.h:115
RoR::Prop::pp_wheel_rot_degree
float pp_wheel_rot_degree
Definition: GfxData.h:187
RoR::Prop::pp_beacon_bbs
Ogre::BillboardSet * pp_beacon_bbs[4]
Definition: GfxData.h:191
RoR::Prop::pp_scene_node
Ogre::SceneNode * pp_scene_node
The pivot scene node (parented to root-node).
Definition: GfxData.h:172
RoR::PROP_ANIM_FLAG_CLUTCH
const PropAnimFlag_t PROP_ANIM_FLAG_CLUTCH
Definition: GfxData.h:56
BitMask64_t
uint64_t BitMask64_t
Definition: BitFlags.h:8
RoR::FlareMaterial::emissive_color
Ogre::ColourValue emissive_color
Definition: GfxData.h:316
RoR::PROP_ANIM_FLAG_ROLL
const PropAnimFlag_t PROP_ANIM_FLAG_ROLL
Definition: GfxData.h:50
RoR::Prop::pp_node_x
NodeNum_t pp_node_x
Definition: GfxData.h:166
RoR::VideoCamera::vcam_type
VideoCamType vcam_type
Definition: GfxData.h:233
RoR
Definition: AppContext.h:36
RoR::NodeGfx::nx_wet_time_sec
float nx_wet_time_sec
'Wet' means "already out of water, producing dripping particles". Set to -1 when not 'wet'.
Definition: GfxData.h:263
RoR::PROP_ANIM_FLAG_AILERONS
const PropAnimFlag_t PROP_ANIM_FLAG_AILERONS
Definition: GfxData.h:70
RoR::VCTYPE_INVALID
@ VCTYPE_INVALID
Definition: GfxData.h:221
RoR::Prop::pp_beacon_scene_node
Ogre::SceneNode * pp_beacon_scene_node[4]
Definition: GfxData.h:192
RoR::PropID_t
int PropID_t
Index to GfxActor::m_props, use RoR::PROPID_INVALID as empty value.
Definition: ForwardDeclarations.h:59
RoR::PROP_ANIM_FLAG_BTHROTTLE
const PropAnimFlag_t PROP_ANIM_FLAG_BTHROTTLE
Definition: GfxData.h:73
RoR::PROP_ANIM_FLAG_EVENT
const PropAnimFlag_t PROP_ANIM_FLAG_EVENT
Definition: GfxData.h:69
RoR::BeamGfx::~BeamGfx
~BeamGfx()
Definition: GfxData.cpp:33
RoR::PROP_ANIM_MODE_OFFSET_Y
const PropAnimMode_t PROP_ANIM_MODE_OFFSET_Y
Definition: GfxData.h:86
RoR::PROP_ANIM_FLAG_TACHO
const PropAnimFlag_t PROP_ANIM_FLAG_TACHO
Definition: GfxData.h:57
RoR::NodeGfx::nx_under_water_prev
bool nx_under_water_prev
State.
Definition: GfxData.h:270
RoR::Prop::pp_aero_engine_idx
int pp_aero_engine_idx
Special - a turboprop/pistonprop reference.
Definition: GfxData.h:198
RoR::ShifterPropAnim
ShifterPropAnim
< PropAnim::animOpt3 values for PROP_ANIM_FLAG_SHIFTER
Definition: GfxData.h:128