Elaztek Developer Hub
Blamite Game Engine - blam!  00453.06.08.26.0624.blamite
The core library for the Blamite Game Engine.
world_objects.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <vector>
5 #include <map>
6 
7 #include <Strings/components/classes/events/events.h>
8 #include <Strings/components/classes/vector/vector.h>
9 #include <bgfx/bgfx.h>
10 #include <blam/api/v1/types/tags.h>
11 
12 #ifdef BLAM_EXPORTS
13 #define BLAM_EXT_API __declspec(dllexport)
14 #else
15 #define BLAM_EXT_API __declspec(dllimport)
16 #endif
17 
18 #define WORLD_OBJECT_USER_KEY "WOBJ"
19 #define RENDERABLE_SHADER_USER_KEY "RSHD"
20 
21 #define STATE_FLAGS_GIZMO BGFX_STATE_WRITE_RGB | BGFX_STATE_WRITE_A | BGFX_STATE_CULL_CCW | BGFX_STATE_BLEND_ALPHA
22 
23 namespace Ogre
24 {
25  class ManualObject;
26  class SceneNode;
27  class HlmsDatablock;
28  class Aabb;
29  class MovableObject;
30 }
31 
32 class BlamWorldState;
33 class BlamTagData;
34 class TickEvent;
36 class BlamWorldObject;
39 class BlamUIWidget_Text;
41 class mesh;
42 class ManualMesh;
44 
46 {
47  QF_ENGINE_GIZMO = 1 << 1,
53  QF_USER_0 = 1 << 7,
54  QF_USER_1 = 1 << 8,
55  QF_USER_2 = 1 << 9,
56  QF_USER_3 = 1 << 10,
57  QF_USER_4 = 1 << 11,
58  QF_USER_5 = 1 << 12,
59  QF_USER_6 = 1 << 13,
60  QF_USER_7 = 1 << 14,
61  QF_USER_8 = 1 << 15,
62  QF_USER_9 = 1 << 16,
63  QF_USER_10 = 1 << 17,
64  QF_USER_11 = 1 << 18,
65  QF_USER_12 = 1 << 19,
66  QF_USER_13 = 1 << 20,
67  QF_USER_14 = 1 << 21,
68  QF_USER_15 = 1 << 22,
69  QF_USER_16 = 1 << 23,
70  QF_USER_17 = 1 << 24,
71  QF_USER_18 = 1 << 25,
72  QF_USER_19 = 1 << 26,
73  QF_USER_20 = 1 << 27,
74  QF_USER_21 = 1 << 28,
75  QF_USER_22 = 1 << 29,
76  QF_USER_23 = 1 << 30,
77  QF_USER_24 = 1 << 31,
78 
79  QF_NONE = 0,
80  QF_ANY = 0xFFFFFFFF,
82 };
83 
85 {
86  float distance = 0.0f;
87  BlamWorldObject* object = nullptr;
88 };
89 
91 {
92  Tag,
93  Primitive,
99  Group,
101  GizmoRotate,
102  GizmoScale,
103  GizmoGrid,
104  GizmoVolume,
106  Text3D,
108 };
109 
111 {
112  Solid,
113  Wireframe,
114  Both
115 };
116 
118 {
119  NONE,
120  TRANSLATE,
121  ROTATE,
122  SCALE
123 };
124 
126 {
127  Local,
128  Parent,
129  World
130 };
131 
139 {
140 private:
141  bool needs_name_update = false;
142  bool needs_hidden_update = false;
143  bool needs_position_update = false;
144  bool needs_rotation_update = false;
145  bool next_rotate_local_axes = false;
146  bool needs_scale_update = false;
147 
148  BlamVector3 position = BlamVector3();
149  BlamVector3 rotation = BlamVector3();
150  BlamVector3 scale = { 1, 1, 1 };
151  BlamVector3 scale_modifier = { 1, 1, 1 };
152  bool hidden = false;
153  std::string name = "";
154 
155  std::map<std::string, BlamVector4> custom_shader_parameters = std::map<std::string, BlamVector4>();
156 
157 public:
158  uint64_t id = 0;
159 
160  std::string description = "";
161  int editor_folder_id = 0;
162 
163  bool disable_culling = false;
164  uint64_t state_flags = BGFX_STATE_DEFAULT | BGFX_STATE_CULL_CCW | BGFX_STATE_BLEND_ALPHA;
165 
166  BlamWorldState* world = nullptr;
167  BlamWorldObject* parent = nullptr;
168 
170 
171  Ogre::SceneNode* scene_node = nullptr;
172 
180 
182  virtual ~BlamWorldObject();
183 
187  virtual void Render(float delta);
188 
189  virtual void Tick(int tick, int total_ticks) {}
190 
191  virtual void ShowImGuiEditControls();
192 
193  uint64_t GetID();
194  Ogre::SceneNode* GetParentSceneNode();
195 
196  BlamVector3 GetRotation();
197  void SetRotation(BlamVector3 _rotation, bool local_axes = true);
198  void SetRotation(float x, float y, float z, bool local_axes = true);
199  void SetRotation(BlamAxis axis, float amount, bool local_axes = true);
200 
201  BlamVector3 GetAbsolutePosition();
202  BlamVector3 GetPosition();
203  void SetPosition(BlamVector3 position);
204  void SetPosition(float x, float y, float z);
205 
206  BlamVector3 GetScale();
207  void SetScale(BlamVector3 scale);
208  void SetScale(float x, float y, float z);
209 
210  BlamVector3 GetScaleModifier();
211  void SetScaleModifier(BlamVector3 scale);
212  void SetScaleModifier(float x, float y, float z);
213 
214  bool IsHidden();
215  bool GetHidden();
216  void SetHidden(bool hidden);
217  std::string GetName();
218  void SetName(std::string name);
219 
220  void Translate(BlamVector3 offset, BlamTransformSpace transform_space = BlamTransformSpace::Parent);
221  void Rotate(BlamVector3 axis, float rotation_amount, BlamTransformSpace transform_space = BlamTransformSpace::Parent);
222  BlamVector3 GetDirection();
223 
224  virtual void OnMouseHoverEnter();
225  virtual void OnMouseHoverExit();
226 
227  virtual void OnMouseMove(MouseMoveEvent* event);
228  virtual void OnMouseClick(MouseClickEvent* event);
229  virtual void OnMouseUnclick(MouseUnclickEvent* event);
230 
231  virtual uint32_t GetQueryMask();
232  virtual BlamOrientedBoundingBox GetWorldOBB();
233 
234  void CreateSceneNode();
235 
236  void SetShaderParameter(std::string id, float value);
237  void SetShaderParameter(std::string id, BlamVector2 value);
238  void SetShaderParameter(std::string id, BlamVector3 value);
239  void SetShaderParameter(std::string id, BlamVector4 value);
240 
241  float GetShaderParameterFloat(std::string id);
242  BlamVector2 GetShaderParameterVector2(std::string id);
243  BlamVector3 GetShaderParameterVector3(std::string id);
244  BlamVector4 GetShaderParameterVector4(std::string id);
245 };
246 
248 {
249 private:
250  std::vector<BlamWorldObject*> children = std::vector<BlamWorldObject*>();
251 
252 public:
253  void AddObject(BlamWorldObject* object);
254 
255  void RemoveObject(uint64_t object_id);
256 
257  int GetObjectCount();
258 
259  bool HasObject(uint64_t object_id);
260 
261  BlamWorldObject* GetObjectAtIndex(int index);
262 
263  BlamWorldObject* GetObjectById(uint64_t object_id);
264 
265  BlamWorldObject* GetObjectByName(std::string name, bool recursive_search = false);
266 
267  void Render(float delta) override;
268 
269  void Tick(int tick, int total_ticks) override;
270 };
271 
279 {
280 private:
281  int last_poke_key = 0;
282  BlamTagData* old_tag_data = nullptr;
283  bool valid_tag = false;
284  bool needs_recreate = true;
286 
287  std::string script_id = "";
288  BlamTagObjectScript* script = nullptr;
289 
290  BlamWorldObject_Primitive* bounds_object = nullptr;
291  BlamWorldObject_GizmoTransform* transform = nullptr;
292 
293  virtual void _PreRecreateNodeObjects() {};
294  virtual void _RecreateNodeObjects() {};
295  virtual bool _IsTagSupported() { return false; };
296  virtual void _PreRender() {};
297  virtual void _Render(float delta) {};
298 
299 protected:
300  std::string error_text = "";
301  BlamWorldObject_Text3D* bounds_debug_info = nullptr;
302 
303 public:
304  BlamTagData* tag_data = nullptr;
305  Ogre::MovableObject* ogre_item = nullptr;
306 
313  BlamWorldObject_Tag(BlamTagData* _tag_data, BlamWorldState* _world);
314  BlamWorldObject_Tag(BlamTagData* _tag_data, BlamWorldObject* _parent);
316 
317  void Render(float delta) override;
318  void Tick(int tick, int total_ticks) override;
319 
320  bool ValidateTagData();
321  bool IsValidTag();
322  std::string GetErrorText();
323  void SetTransformEnabled(bool enabled);
324  void MarkForRecreate();
325  void DestroyAttachments();
326  void SetQueryMask(uint32_t mask);
327  uint32_t GetQueryMask() override;
328 
332  void RecreateNodeObjects();
333 
334  std::vector<BlamWorldObject*> GetTransformGizmoObjects();
335 };
336 
338 {
339 private:
340  bool is_sun = false;
341  BlamWorldObject_Text3D* unsupported_warning_message = nullptr;
342 
343  void _PreRecreateNodeObjects() override;
344  void _RecreateNodeObjects() override;
345  bool _IsTagSupported() override;
346  void _Render(float delta) override;
347  void ShowImGuiEditControls() override;
348 
349 public:
350  bool override_color = false;
351  BlamColor color = BlamColor();
352 
353  bool override_priority = false;
354  int priority = 0;
355 
358 };
359 
361 {
362 private:
363  mesh* mesh = nullptr;
364 
365  void _RecreateNodeObjects() override;
366  bool _IsTagSupported() override;
367  void _PreRender() override;
368  void _Render(float delta) override;
369 
370 public:
373 
375 };
376 
378 {
379 private:
380  bool last_tilemap_debug = false;
381  Ogre::ManualObject* tilemap_object = nullptr;
382  ManualMesh* tilemap_mesh = nullptr;
383 
384  void _RecreateNodeObjects() override;
385  bool _IsTagSupported() override;
386  void _PreRender() override;
387  void _Render(float delta) override;
388 
389  void RecreateTilemapBgfx();
390 
391 public:
395 };
396 
407 {
408 private:
409  bool cached_cast_shadows = true;
410 
411  BlamColor cached_color = BlamColor(255, 255, 255);
412  BlamColor cached_color_wireframe = BlamColor(255, 255, 255);
415  bool cached_show_backfaces = false;
416  bool needs_rebuild = false;
417  bool enable_depth_check = true;
418  bool depth_check_needs_update = false;
419  bool query_mask_needs_update = true;
420 
421 protected:
422  ManualMesh* manual_mesh = nullptr;
423 
424  bool custom_datablock = false;
425  bool custom_wireframe_datablock = false;
426 
427  virtual void CreateManualObject();
428 
429 public:
430  Ogre::ManualObject* manual_object = nullptr;
431  Ogre::HlmsDatablock* datablock = nullptr;
432  Ogre::HlmsDatablock* datablock_wireframe = nullptr;
433 
434  BlamColor color = BlamColor(255, 255, 255);
435  BlamColor color_wireframe = BlamColor(255, 255, 255);
437  bool show_backfaces = false;
438  bool cast_shadows = true;
439 
449 
450  void Render(float delta) override;
451  void SetCustomDatabablock(Ogre::HlmsDatablock* datablock, bool wireframe);
452  void ShowImGuiEditControls() override;
453 
454  void MarkForRebuild();
455 
456  void SetDepthCheckEnabled(bool enable);
457 
458  void SetQueryMask(uint32_t mask);
459  uint32_t GetQueryMask() override;
461 };
462 
464 {
465 private:
466  void CreateManualObject() override;
467 
468 public:
471 };
472 
474 {
475 private:
476  void CreateManualObject() override;
477 
478 private:
479  float cached_radius_0 = 1.0f;
480  float cached_radius_1 = 1.0f;
481  int cached_resolution = 5;
482  int cached_vertical_resolution = 5;
483  int cached_lines_x = 5;
484  int cached_lines_y = 5;
485 
486 public:
487  float radius_0 = 1.0f;
488  float radius_1 = 1.0f;
489  int resolution = 5;
490  int vertical_resolution = 5;
491  int lines_x = 5;
492  int lines_y = 5;
493 
494  std::vector<BlamVector3> vertices = std::vector<BlamVector3>();
495 
498 
499  void Render(float delta) override;
500  void ShowImGuiEditControls() override;
501 };
502 
504 {
505 private:
506  void CreateManualObject() override;
507 
508 private:
509  float cached_radius_0 = 1.0f;
510  float cached_radius_1 = 1.0f;
511  int cached_resolution = 5;
512  int cached_lines = 5;
513 
514 public:
515  float radius_0 = 1.0f;
516  float radius_1 = 1.0f;
517  int resolution = 5;
518  int lines = 5;
519 
522 
523  void Render(float delta) override;
524  void ShowImGuiEditControls() override;
525 };
526 
528 {
529 private:
530  BlamVector3 start = BlamVector3();
531  BlamVector3 end = BlamVector3();
532 
533  void CreateManualObject() override;
534 
535 public:
538 
539  void SetStartPoint(BlamVector3 point);
540  void SetEndPoint(BlamVector3 point);
541 
542  void SetDirection(BlamVector3 direction);
543  void SetLength(float length);
544 
545  BlamVector3 GetStartPoint();
546  BlamVector3 GetEndPoint();
547  BlamVector3 GetDirection();
548  float GetLength();
549 
550  void Render(float delta) override;
551  void ShowImGuiEditControls() override;
552 };
553 
555 {
556 private:
557  BlamUIWidget_Text* text_element = nullptr;
558 
559 public:
563 
564  void Render(float delta) override;
565  void ShowImGuiEditControls() override;
566 
567  BlamColor GetColor();
568  void SetColor(BlamColor color);
569 
570  BlamColor GetShadowColor();
571  void SetShadowColor(BlamColor color);
572 
573  std::string GetText();
574  void SetText(std::string text);
575 };
576 
587 {
588 protected:
589  bool needs_update = true;
590  bool needs_rebuild = true;
591  bgfx::VertexBufferHandle vb = { bgfx::kInvalidHandle };
592  bgfx::IndexBufferHandle ib = { bgfx::kInvalidHandle };
593  bgfx::VertexLayout vl;
594 
595 public:
598 
599  virtual void Render(float delta);
600  virtual void Update() = 0;
601  virtual void Rebuild() = 0;
602  void MarkForUpdate();
603  void MarkForRebuild();
604 };
605 
607 {
608 private:
609  int primary_spacing = 10;
610  int secondary_spacing = 1;
611  BlamColor primary_color = BlamColor(191, 191, 191);
612  BlamColor secondary_color = BlamColor(127, 127, 127);
613  bool mark_axes = false;
614 
615  Ogre::HlmsDatablock* primary_datablock = nullptr;
616  Ogre::HlmsDatablock* secondary_datablock = nullptr;
617 
618  BlamVector3 origin = BlamVector3();
619  int max_distance = 100;
620 
621  Ogre::ManualObject* manual_object = nullptr;
622 
623  void DestroyManualObject();
624 
625 public:
629 
630  void Render(float delta) override;
631  void Rebuild() override;
632  void Update() override;
633  void ShowImGuiEditControls() override;
635 };
636 
638 {
639 private:
640  BlamWorldObject_PrimitiveCuboid* cube_center = nullptr;
641  BlamWorldObject_PrimitiveCuboid* cube_x = nullptr;
642  BlamWorldObject_PrimitiveCuboid* cube_y = nullptr;
643  BlamWorldObject_PrimitiveCuboid* cube_z = nullptr;
644  BlamWorldObject_PrimitiveLine* line_x = nullptr;
645  BlamWorldObject_PrimitiveLine* line_y = nullptr;
646  BlamWorldObject_PrimitiveLine* line_z = nullptr;
647  BlamWorldObject_Primitive* rotate_x = nullptr;
648  BlamWorldObject_Primitive* rotate_y = nullptr;
649  BlamWorldObject_Primitive* rotate_z = nullptr;
650 
651  BlamWorldObject_PrimitiveSphere* start_marker = nullptr;
652  BlamWorldObject_PrimitiveSphere* end_marker = nullptr;
653 
654  BlamWorldObject_PrimitiveSphere* CreateSphere(BlamColor color);
655  BlamWorldObject_PrimitiveCuboid* CreateCuboid(BlamColor color, BlamColor fill, BlamAxis axis = BlamAxis::NONE);
656  BlamWorldObject_PrimitiveLine* CreateLine(BlamColor color, BlamVector3 start, BlamVector3 end);
657  BlamWorldObject_Primitive* CreateRotationTriangle(BlamAxis axis = BlamAxis::NONE);
658 
659  float cube_size = 0.17f;
660  float screen_scale = 0.18f;
661 
663  BlamAxis axis = BlamAxis::NONE;
664  BlamVector2 mouse_position_initial = BlamVector2();
665 
666  BlamVector3 position_initial = BlamVector3();
667  BlamVector3 rotation_initial = BlamVector3();
668  BlamVector3 scale_initial = BlamVector3();
669 
670  BlamWorldObject_Tag* associated_object = nullptr;
671  uint32_t original_query_flags = 0;
672 
673 public:
677 
678  void Render(float delta) override;
679  void Rebuild() override;
680  void Update() override;
681  void ShowImGuiEditControls() override;
682  void OnMouseMove(MouseMoveEvent* event) override;
683 
684  void SetTransformMode(BlamGizmoTransformMode mode, BlamAxis _axis);
685  void SetQueryMask(BlamQueryFlags mask);
686 
687  void SetAssociatedObject(BlamWorldObject_Tag* object);
688  void RemoveAssociatedObject();
689 
690  std::vector<BlamWorldObject*> GetGizmoObjects();
691 };
692 
694 {
695 private:
697 
698 public:
702 
703  void Render(float delta) override;
704  void Rebuild() override;
705  void Update() override;
706  void ShowImGuiEditControls() override;
707 };
708 
715 class BLAM_EXT_API BlamWorldState : public BlamEventListener
716 {
717 private:
718  std::vector<BlamWorldObject*> objects = std::vector<BlamWorldObject*>();
719 
720  BlamWorldObject_Tag* active_camera = nullptr;
721 
722 public:
723  Ogre::SceneNode* root_node = nullptr;
724 
728  BlamWorldState();
729 
733  ~BlamWorldState();
734 
735  void AddObject(BlamWorldObject* object);
736 
737  bool RemoveObject(uint64_t object_id, bool delete_data = true);
738 
739  int GetObjectCount();
740 
741  bool HasObject(uint64_t object_id);
742 
743  BlamWorldObject* GetObjectAtIndex(int index);
744 
745  BlamWorldObject* GetObjectById(uint64_t object_id);
746 
747  BlamWorldObject* GetObjectByName(std::string name, bool recursive_search = false);
748 
759  bool Drop(BlamTagData* tag_data, BlamVector3 position);
760 
761  void OnTickEvent(TickEvent* event);
762 
763  void RenderObjects(float delta);
764 
765  void SetActiveCamera(BlamWorldObject_Tag* camera);
766 
767  BlamWorldObject_Tag* GetActiveCamera();
768 
769  BlamWorldObject_Tag* CreateTagObject(BlamTagData* tag_data, bool add_to_world = true);
770 };
BlamWorldObject_Primitive::SetDepthCheckEnabled
void SetDepthCheckEnabled(bool enable)
Definition: BlamWorldObject_Primitive.cpp:354
Ogre::Euler::setRoll
Euler & setRoll(Radian r)
Set the roll.
Definition: OgreEuler.h:109
Blam::Director::GetCamera
BLAM BlamDirector * GetCamera()
Retrieves the director instance.
Definition: director.cpp:36
BLAM_EXT_API
#define BLAM_EXT_API
Definition: world_objects.h:15
BlamWorldState::root_node
Ogre::SceneNode * root_node
Definition: world_objects.h:723
BlamWorldObject_GizmoTransform::BlamWorldObject_GizmoTransform
BlamWorldObject_GizmoTransform(BlamWorldState *_world)
Definition: BlamWorldObject_GizmoTransform.cpp:240
tile_set
Definition: tile_set.h:24
BlamWorldObject_Tag::~BlamWorldObject_Tag
~BlamWorldObject_Tag()
Definition: BlamWorldObject_Tag.cpp:28
mesh::submesh::profiling_stats
double profiling_stats[16]
Definition: types.h:40
ui.h
BlamWorldObject_Primitive::GetWorldOBB
BlamOrientedBoundingBox GetWorldOBB() override
Definition: BlamWorldObject_Primitive.cpp:376
object
Definition: object.h:27
Blam::Input::GetMousePositionNormalized
BLAM BlamVector2 GetMousePositionNormalized()
Definition: mouse.cpp:107
BlamWorldObject_Group::GetObjectByName
BlamWorldObject * GetObjectByName(std::string name, bool recursive_search=false)
Definition: BlamWorldObject_Group.cpp:81
Y
FONT FILES INCLUDED IN THIS FOLDER Cousine Regular ttf Digitized data Version DroidSans ttf version Tristan Grimmer MIT License recommended loading setting in DisplayOffset Y
Definition: README.txt:109
BlamWorldObject_Primitive::SetQueryMask
void SetQueryMask(uint32_t mask)
Definition: BlamWorldObject_Primitive.cpp:360
Blam::Rendering::Materials::CreateDefaultUnlitDatablockForPrimitives
BLAM Ogre::HlmsUnlitDatablock * CreateDefaultUnlitDatablockForPrimitives(std::string id)
Creates a default Unlit datablock for use with 2D and 3D primitives.
Definition: materials.cpp:1032
BlamWorldObject_Gizmo::BlamWorldObject_Gizmo
BlamWorldObject_Gizmo(BlamWorldState *_world, BlamWorldObjectType _type)
Definition: world_objects.h:596
SHADER_DEFAULT_UNLIT
#define SHADER_DEFAULT_UNLIT
Definition: rendering.h:31
BlamWorldObject::GetScaleModifier
BlamVector3 GetScaleModifier()
Definition: BlamWorldObject.cpp:260
BlamWorldState::AddObject
void AddObject(BlamWorldObject *object)
Definition: BlamWorldState.cpp:107
QF_USER_9
@ QF_USER_9
Definition: world_objects.h:62
OgreEuler.h
tag_camr
#define tag_camr
Definition: camera.h:19
BlamWorldObject::Render
virtual void Render(float delta)
Renders the object to the screen.
Definition: BlamWorldObject.cpp:47
BlamWorldState::GetActiveCamera
BlamWorldObject_Tag * GetActiveCamera()
Definition: BlamWorldState.cpp:253
BlamWorldObject::IsHidden
bool IsHidden()
Definition: BlamWorldObject.cpp:276
BlamWorldObject_PrimitiveCylinder::lines
int lines
Definition: world_objects.h:518
BlamRay
Definition: types.h:362
BlamTagObjectScript
Definition: scripts.h:38
QF_USER_21
@ QF_USER_21
Definition: world_objects.h:74
BlamOrientedBoundingBox
Definition: types.h:344
Blam::Logger::LogEvent
BLAM void LogEvent(std::string message)
Logs a message to the log and/or console.
Definition: aliases.cpp:130
BlamWorldState::RenderObjects
void RenderObjects(float delta)
Definition: BlamWorldState.cpp:240
QF_ENGINE_RESERVED_0
@ QF_ENGINE_RESERVED_0
Definition: world_objects.h:48
BlamGizmoTriangle::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_GizmoTransform.cpp:143
Blam3DPrimitiveRenderMode::Both
@ Both
QF_USER_4
@ QF_USER_4
Definition: world_objects.h:57
BlamGizmoTransformMode::TRANSLATE
@ TRANSLATE
RENDERABLE_SHADER_USER_KEY
#define RENDERABLE_SHADER_USER_KEY
Definition: world_objects.h:19
BlamWorldObject_Gizmo::Render
virtual void Render(float delta)
Renders the object to the screen.
Definition: BlamWorldObject_Gizmo.cpp:3
tag_tilm
#define tag_tilm
Definition: tile_map.h:22
BlamWorldObject::Translate
void Translate(BlamVector3 offset, BlamTransformSpace transform_space=BlamTransformSpace::Parent)
Definition: BlamWorldObject.cpp:341
render_model
Definition: render_model.h:27
BlamRaycastEntry
Definition: world_objects.h:84
scenario.h
STATE_FLAGS_GIZMO
#define STATE_FLAGS_GIZMO
Definition: world_objects.h:21
Blam::Rendering::GetMousePosition3D
BLAM BlamVector3 GetMousePosition3D()
Definition: ogre.cpp:757
BlamGizmoCuboid
Definition: BlamWorldObject_GizmoTransform.cpp:185
ManualMesh::Section::Line
void Line(int x, int y)
Definition: ManualMesh.cpp:62
BlamOrientedBoundingBox::half_extents
BlamVector3 half_extents
Definition: types.h:347
QF_USER_6
@ QF_USER_6
Definition: world_objects.h:59
color
BlamColor color
Typedef for a color field, used in tag definitions.
Definition: tags.h:447
Blam::Input::GetMousePosition
BLAM BlamVector2 GetMousePosition()
Definition: mouse.cpp:101
BlamWorldObject_PrimitiveSphere::BlamWorldObject_PrimitiveSphere
BlamWorldObject_PrimitiveSphere(BlamWorldState *_world)
Definition: BlamWorldObject_PrimitiveSphere.cpp:13
ImGui::Checkbox
IMGUI_API bool Checkbox(const char *label, bool *v)
Definition: imgui_widgets.cpp:974
RF_DIFFUSE_USE_TINT_ONLY
#define RF_DIFFUSE_USE_TINT_ONLY
Definition: shader_flags.h:6
mesh::aabb_min
BlamVector3 aabb_min
Definition: types.h:45
logger.h
BlamWorldObject_PrimitiveSphere::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_PrimitiveSphere.cpp:288
BlamWorldState::Drop
bool Drop(BlamTagData *tag_data, BlamVector3 position)
Drops a tag into the world at the specified coordinates.
Definition: BlamWorldState.cpp:69
Blam::RenderingBGFX::Shaders::SetShaderFlagsUniform
BLAM void SetShaderFlagsUniform(uint32_t flags=0, bool use_globals=true)
Definition: shader_uniforms.cpp:153
BlamWorldObject_Gizmo3DCursor::Update
void Update() override
Definition: BlamWorldObject_Gizmo3DCursor.cpp:70
BlamWorldObject::~BlamWorldObject
virtual ~BlamWorldObject()
Definition: BlamWorldObject.cpp:30
Blam::API::v1::HS::Drop
void Drop(std::string tag_name)
Definition: hs.cpp:44
bitmap.h
BlamWorldObject_GizmoTransform::SetQueryMask
void SetQueryMask(BlamQueryFlags mask)
Definition: BlamWorldObject_GizmoTransform.cpp:727
BlamWorldObject_Primitive::color
BlamColor color
Definition: world_objects.h:434
BlamWorldObject::scene_node
Ogre::SceneNode * scene_node
Definition: world_objects.h:171
SHADER_ADDONS_PARAM_ID
#define SHADER_ADDONS_PARAM_ID
Definition: hlms.h:7
BlamWorldObject_GizmoTransform::RemoveAssociatedObject
void RemoveAssociatedObject()
Definition: BlamWorldObject_GizmoTransform.cpp:752
BlamWorldObject_Tag::ValidateTagData
bool ValidateTagData()
Definition: BlamWorldObject_Tag.cpp:329
BlamGizmoTransformMode
BlamGizmoTransformMode
Definition: world_objects.h:117
ray_closest_to_bgfx
float ray_closest_to_bgfx(BlamRay ray, BlamRay other)
Definition: BlamWorldObject_GizmoTransform.cpp:33
BlamRay::origin
BlamVector3 origin
Definition: types.h:364
tag_reference::GetTagPath
std::string GetTagPath()
Retrieves the path of the tag that this tagref refers to.
Definition: tag_reference.cpp:57
BlamWorldObject_GizmoTransform::Rebuild
void Rebuild() override
Definition: BlamWorldObject_GizmoTransform.cpp:634
BlamWorldObject_Gizmo3DCursor::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_Gizmo3DCursor.cpp:28
BlamWorldObject_Primitive::cast_shadows
bool cast_shadows
Definition: world_objects.h:438
BlamWorldObject::OnMouseHoverExit
virtual void OnMouseHoverExit()
Definition: BlamWorldObject.cpp:316
keyboard.h
QF_USER_15
@ QF_USER_15
Definition: world_objects.h:68
BlamWorldObject::GetPosition
BlamVector3 GetPosition()
Definition: BlamWorldObject.cpp:222
BlamWorldObjectType
BlamWorldObjectType
Definition: world_objects.h:90
BlamWorldObject_Primitive::MarkForRebuild
void MarkForRebuild()
Definition: BlamWorldObject_Primitive.cpp:349
imgui.h
BlamWorldObject_Primitive::datablock_wireframe
Ogre::HlmsDatablock * datablock_wireframe
Definition: world_objects.h:432
BlamWorldObject::OnMouseClick
virtual void OnMouseClick(MouseClickEvent *event)
Definition: BlamWorldObject.cpp:326
BlamWorldObject::SetScaleModifier
void SetScaleModifier(BlamVector3 scale)
Definition: BlamWorldObject.cpp:265
blamscript.h
ImGui::InputText
IMGUI_API bool InputText(const char *label, char *buf, size_t buf_size, ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
Definition: imgui_widgets.cpp:3068
BlamWorldObject_PrimitiveSphere::vertical_resolution
int vertical_resolution
The level of detail to use vertically for the primitive. Only used in spheres.
Definition: world_objects.h:490
BlamWorldObject_PrimitiveCylinder::radius_0
float radius_0
The radius of the primitive. Only used in cylinders.
Definition: world_objects.h:515
mesh::submesh
Definition: types.h:28
hlms.h
BlamTagData::path
char path[256]
The tag's path.
Definition: tags.h:145
BlamWorldObjectType::GizmoRotate
@ GizmoRotate
BlamWorldObject::OnMouseHoverEnter
virtual void OnMouseHoverEnter()
Definition: BlamWorldObject.cpp:311
QF_USER_3
@ QF_USER_3
Definition: world_objects.h:56
BlamWorldObject_Group::GetObjectAtIndex
BlamWorldObject * GetObjectAtIndex(int index)
Definition: BlamWorldObject_Group.cpp:57
BlamGizmoTriangle::OnMouseHoverExit
void OnMouseHoverExit() override
Definition: BlamWorldObject_GizmoTransform.cpp:179
BlamOrientedBoundingBox::axis_z
BlamVector3 axis_z
Definition: types.h:350
tile_map::tile_set
tag_reference tile_set
Definition: tile_map.h:29
BlamGizmoTriangle::BlamGizmoTriangle
BlamGizmoTriangle(BlamWorldObject_GizmoTransform *parent, BlamAxis _axis)
Definition: BlamWorldObject_GizmoTransform.cpp:56
BlamWorldObject_Primitive::color_wireframe
BlamColor color_wireframe
Definition: world_objects.h:435
BlamWorldObject::SetName
void SetName(std::string name)
Definition: BlamWorldObject.cpp:305
BlamWorldObject_GizmoTransform::Update
void Update() override
Definition: BlamWorldObject_GizmoTransform.cpp:669
BlamTagData::script_id
std::string script_id
Definition: tags.h:151
BlamWorldObject_TagTileMap::BlamWorldObject_TagTileMap
BlamWorldObject_TagTileMap(BlamTagData *_tag_data, BlamWorldState *_world)
Definition: BlamWorldObject_TagTileMap.cpp:17
QF_EXCLUDE_GIZMOS
@ QF_EXCLUDE_GIZMOS
Definition: world_objects.h:81
ManualMesh::SectionIndexType::LineList
@ LineList
BlamWorldObject_Gizmo3DCursor
Definition: world_objects.h:693
render_model::bounding_sphere_radius
real bounding_sphere_radius
Definition: render_model.h:51
BlamWorldObject_Tag::GetErrorText
std::string GetErrorText()
Definition: BlamWorldObject_Tag.cpp:324
BlamTagFieldType::Unspecified
@ Unspecified
Indicates that the field's type is not specified. Fields with this type should be considered invalid.
UsingBgfx
bool UsingBgfx()
Definition: bgfx.cpp:63
Blam::RenderingBGFX::Shaders::GetProgram
BLAM bgfx::ProgramHandle GetProgram(std::string name)
Definition: shaders.cpp:100
BlamUIWidget_Text::SetHidden
void SetHidden(bool new_hidden) override
Sets the hidden state of the widget.
Definition: text.cpp:678
BlamWorldObject_Group::AddObject
void AddObject(BlamWorldObject *object)
Definition: BlamWorldObject_Group.cpp:5
Blam::Scripts::CreateNewScript
BLAM BlamScript * CreateNewScript(std::string name)
Definition: blamscript.cpp:22
QF_ENGINE_RESERVED_1
@ QF_ENGINE_RESERVED_1
Definition: world_objects.h:49
BlamWorldObject_PrimitiveLine::SetDirection
void SetDirection(BlamVector3 direction)
Definition: BlamWorldObject_PrimitiveLine.cpp:68
BlamWorldObject_GizmoGrid::GetWorldOBB
BlamOrientedBoundingBox GetWorldOBB() override
Definition: BlamWorldObject_GizmoGrid.cpp:356
director.h
camera
Definition: camera.h:24
ManualMesh::Section
Definition: types.h:192
BlamWorldObject_Text3D::SetText
void SetText(std::string text)
Definition: BlamWorldObject_Text3D.cpp:106
engine_text.h
BlamWorldObject_Primitive::show_backfaces
bool show_backfaces
Definition: world_objects.h:437
BlamWorldState::GetObjectCount
int GetObjectCount()
Definition: BlamWorldState.cpp:157
BlamWorldObject_Gizmo::MarkForUpdate
void MarkForUpdate()
Definition: BlamWorldObject_Gizmo.cpp:21
BlamTagData::GetPokeKey
int GetPokeKey()
Definition: BlamTagData.cpp:93
imgui_stdlib.h
BlamWorldObject_Group::Tick
void Tick(int tick, int total_ticks) override
Definition: BlamWorldObject_Group.cpp:124
BlamWorldObject_PrimitiveSphere::lines_x
int lines_x
Definition: world_objects.h:491
BlamOBB
BlamOrientedBoundingBox BlamOBB
Definition: types.h:360
BlamWorldObject::GetQueryMask
virtual uint32_t GetQueryMask()
Definition: BlamWorldObject.cpp:336
BlamWorldObject_Group::GetObjectById
BlamWorldObject * GetObjectById(uint64_t object_id)
Definition: BlamWorldObject_Group.cpp:65
BlamWorldObject::GetDirection
BlamVector3 GetDirection()
Definition: BlamWorldObject.cpp:401
render_model.h
BlamWorldObject::Tick
virtual void Tick(int tick, int total_ticks)
Definition: world_objects.h:189
BlamWorldObject_GizmoTransform::OnMouseMove
void OnMouseMove(MouseMoveEvent *event) override
Definition: BlamWorldObject_GizmoTransform.cpp:686
BlamWorldObject::GetParentSceneNode
Ogre::SceneNode * GetParentSceneNode()
Definition: BlamWorldObject.cpp:113
rendering.h
ManualMesh::Section::color
BlamColor color
Definition: types.h:207
ImGui::DragInt
IMGUI_API bool DragInt(const char *label, int *v, float v_speed=1.0f, int v_min=0, int v_max=0, const char *format="%d")
Definition: imgui_widgets.cpp:2209
BlamGizmoTriangle::OnMouseClick
void OnMouseClick(MouseClickEvent *event) override
Definition: BlamWorldObject_GizmoTransform.cpp:165
Blam::Rendering::GetScreenPointFrom3DPoint
BLAM BlamVector2 GetScreenPointFrom3DPoint(BlamVector3 point)
Definition: ogre.cpp:767
BlamWorldObject_Primitive::manual_object
Ogre::ManualObject * manual_object
Definition: world_objects.h:430
BlamUIWidget_Text::ShowImGuiPropertyEditor
void ShowImGuiPropertyEditor() override
Displays an ImGUI-based property editor.
Definition: text.cpp:119
Blam::Content::Tags::GetActiveScenarioTag
BLAM scenario * GetActiveScenarioTag()
Retrieves the currently loaded scenario tag.
Definition: scenario.cpp:225
ImGui::SameLine
IMGUI_API void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
Definition: imgui.cpp:7147
ManualMesh::Section::texture
bgfx::TextureHandle texture
Definition: types.h:208
Blam::Profiling::IncrementFrameStat
BLAM void IncrementFrameStat(std::string id, double value)
Definition: stats.cpp:17
tile_map::cell_size
vector2 cell_size
Definition: tile_map.h:31
BlamOrientedBoundingBox::axis_y
BlamVector3 axis_y
Definition: types.h:349
BlamTagData::Good
bool Good()
Definition: BlamTagData.cpp:114
bitmap_filtering_mode::point
@ point
BlamWorldObject_Tag::MarkForRecreate
void MarkForRecreate()
Definition: BlamWorldObject_Tag.cpp:368
BlamGizmoTriangle::OnMouseHoverEnter
void OnMouseHoverEnter() override
Definition: BlamWorldObject_GizmoTransform.cpp:174
BlamWorldObject::GetName
std::string GetName()
Definition: BlamWorldObject.cpp:300
QF_USER_0
@ QF_USER_0
Definition: world_objects.h:53
Blam::Input::IsMouseButtonDown
BLAM bool IsMouseButtonDown(uint8_t button)
Checks if a given mouse button is down.
Definition: mouse.cpp:88
Blam3DPrimitiveRenderMode
Blam3DPrimitiveRenderMode
Definition: world_objects.h:110
BlamWorldObject_Tag::tag_data
BlamTagData * tag_data
Pointer to the tag data associated with this object.
Definition: world_objects.h:304
BlamWorldObject_Primitive::ShowImGuiEditControls
void ShowImGuiEditControls() override
Definition: BlamWorldObject_Primitive.cpp:299
Demo::GraphicsSystem::getSceneManager
Ogre::SceneManager * getSceneManager(void) const
Definition: GraphicsSystem.h:149
BlamWorldState::CreateTagObject
BlamWorldObject_Tag * CreateTagObject(BlamTagData *tag_data, bool add_to_world=true)
Definition: BlamWorldState.cpp:258
BlamWorldObject_Gizmo
Class representing a gizmo world object.
Definition: world_objects.h:586
BlamGizmoTriangle
Definition: BlamWorldObject_GizmoTransform.cpp:47
BlamWorldObject_PrimitiveLine
Definition: world_objects.h:527
BlamWorldObject_GizmoTransform::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_GizmoTransform.cpp:374
BlamWorldObjectType::Unspecified
@ Unspecified
BlamWorldObject_GizmoGrid::~BlamWorldObject_GizmoGrid
~BlamWorldObject_GizmoGrid()
Definition: BlamWorldObject_GizmoGrid.cpp:60
BlamWorldObject_TagRenderModel::GetWorldOBB
BlamOrientedBoundingBox GetWorldOBB() override
Definition: BlamWorldObject_TagRenderModel.cpp:157
QF_USER_8
@ QF_USER_8
Definition: world_objects.h:61
tile_map.h
ManualMesh::GetAabbMin
BlamVector3 GetAabbMin()
Definition: ManualMesh.cpp:104
render_model::flags
bitfield16_flags flags
Bitfield data for flags. See #bitfield16_flags for details.
Definition: render_model.h:50
BlamWorldObject_Gizmo3DCursor::ShowImGuiEditControls
void ShowImGuiEditControls() override
Definition: BlamWorldObject_Gizmo3DCursor.cpp:75
BlamWorldObject_Tag::Tick
void Tick(int tick, int total_ticks) override
Definition: BlamWorldObject_Tag.cpp:287
BlamWorldObject_Tag
Class representing a tag-based world object.
Definition: world_objects.h:278
BlamWorldObject_PrimitiveSphere::vertices
std::vector< BlamVector3 > vertices
Definition: world_objects.h:494
BlamWorldObjectType::PrimitiveCylinder
@ PrimitiveCylinder
uint64_t
unsigned long long uint64_t
Definition: stdint.h:18
ImGui::DragFloat
IMGUI_API bool DragFloat(const char *label, float *v, float v_speed=1.0f, float v_min=0.0f, float v_max=0.0f, const char *format="%.3f", float power=1.0f)
Definition: imgui_widgets.cpp:2164
BlamWorldObject_PrimitiveCylinder::BlamWorldObject_PrimitiveCylinder
BlamWorldObject_PrimitiveCylinder(BlamWorldState *_world)
Definition: BlamWorldObject_PrimitiveCylinder.cpp:12
BlamUIWidget::SetPosition
virtual void SetPosition(BlamVector2 new_position)
Sets the position of the widget.
Definition: BlamUIWidget.cpp:412
BlamWorldObject_Primitive::custom_wireframe_datablock
bool custom_wireframe_datablock
Definition: world_objects.h:425
QF_USER_18
@ QF_USER_18
Definition: world_objects.h:71
BlamTransformSpace::World
@ World
Blam::UI::ImGUI::Widgets::ShowHelpMarker
BLAM void ShowHelpMarker(const char *desc)
Shows a help indicator.
Definition: widgets.cpp:7
ImGui::Render
IMGUI_API void Render()
Definition: imgui.cpp:4248
BlamWorldObject_Tag::IsValidTag
bool IsValidTag()
Definition: BlamWorldObject_Tag.cpp:319
BlamQueryFlags
BlamQueryFlags
Definition: world_objects.h:45
Blam::RenderingBGFX::Lighting::AddShadowCaster
BLAM void AddShadowCaster(BlamWorldObject_TagLight *object)
Definition: shadow_casters.cpp:11
light.h
QF_USER_13
@ QF_USER_13
Definition: world_objects.h:66
BlamWorldObject::GetID
uint64_t GetID()
Definition: BlamWorldObject.cpp:108
BlamUIWidget::ignore_layout
bool ignore_layout
Whether or not this widget should ignore any layout positioning.
Definition: ui.h:126
stats.h
ImGui::CollapsingHeader
IMGUI_API bool CollapsingHeader(const char *label, ImGuiTreeNodeFlags flags=0)
Definition: imgui_widgets.cpp:5422
BlamWorldObject_PrimitiveCylinder::resolution
int resolution
The level of detail to use for the primitive. Only used in cylinders.
Definition: world_objects.h:517
ManualMesh::SectionIndexType::TriangleList
@ TriangleList
BlamWorldObject_Gizmo::MarkForRebuild
void MarkForRebuild()
Definition: BlamWorldObject_Gizmo.cpp:26
Blam::RenderingBGFX::CreateOBBFromAABB
BLAM BlamOrientedBoundingBox CreateOBBFromAABB(BlamVector3 position, BlamVector3 rotation, BlamVector3 scale, BlamVector3 local_aabb_min, BlamVector3 local_aabb_max)
Definition: raycast.cpp:82
tag_ligh
#define tag_ligh
Definition: light.h:22
BlamWorldObject_Primitive::GetQueryMask
uint32_t GetQueryMask() override
Definition: BlamWorldObject_Primitive.cpp:371
BlamWorldObject_GizmoTransform::SetTransformMode
void SetTransformMode(BlamGizmoTransformMode mode, BlamAxis _axis)
Definition: BlamWorldObject_GizmoTransform.cpp:691
Blam::Rendering::GetGizmoMousePosition3D
BLAM BlamVector3 GetGizmoMousePosition3D()
Definition: ogre.cpp:762
BlamUIWidget_Text::Draw
void Draw() override
Draws the widget on-screen.
Definition: text.cpp:67
BlamWidgetAnchor::TopLeft
@ TopLeft
The widget will be placed at the top-left of the screen.
BlamWorldObject::GetShaderParameterVector2
BlamVector2 GetShaderParameterVector2(std::string id)
Definition: BlamWorldObject.cpp:473
mesh::submeshes
std::vector< submesh * > submeshes
Definition: types.h:55
render_model::bitfield16_flags::use_bounding_sphere
bool use_bounding_sphere
Definition: render_model.h:32
bitmap::size
vector2 size
The resolution of the bitmap.
Definition: bitmap.h:63
shader
Definition: shader.h:31
ManualMesh::Section::texture_flags
uint32_t texture_flags
Definition: types.h:209
BlamTagData::uses_global_script
bool uses_global_script
Definition: tags.h:155
Blam::RenderingBGFX::GetScreenPointFrom3DPoint
BLAM BlamVector2 GetScreenPointFrom3DPoint(BlamVector3 position)
Definition: bgfx.cpp:463
BlamWorldObject_Gizmo::Update
virtual void Update()=0
BlamWorldState::GetObjectAtIndex
BlamWorldObject * GetObjectAtIndex(int index)
Definition: BlamWorldState.cpp:178
light
Definition: light.h:27
BlamWorldObject_PrimitiveCylinder
Definition: world_objects.h:503
BlamUIWidget_Text::color
BlamColor color
The text foreground color.
Definition: ui.h:618
BlamWorldObject_Group::HasObject
bool HasObject(uint64_t object_id)
Definition: BlamWorldObject_Group.cpp:41
BlamWorldObject_Primitive::BlamWorldObject_Primitive
BlamWorldObject_Primitive(BlamWorldObjectType _type, BlamWorldState *_world)
Creates a new primitive world object.
Definition: BlamWorldObject_Primitive.cpp:23
y
font DisplayOffset y
Definition: README.txt:68
sky_atm_parameters
Definition: sky_atm_parameters.h:27
BlamWorldState::GetObjectById
BlamWorldObject * GetObjectById(uint64_t object_id)
Definition: BlamWorldState.cpp:186
BlamWorldObject_Gizmo3DCursor::~BlamWorldObject_Gizmo3DCursor
~BlamWorldObject_Gizmo3DCursor()
Definition: BlamWorldObject_Gizmo3DCursor.cpp:23
BlamWorldObject_PrimitiveCylinder::radius_1
float radius_1
A secondary radius of the primitive. Only used in cylinders.
Definition: world_objects.h:516
BlamWorldObjectType::Gizmo3DCursor
@ Gizmo3DCursor
cursor
HCURSOR cursor
Main window cursor.
Definition: main.cpp:63
QF_USER_12
@ QF_USER_12
Definition: world_objects.h:65
widgets.h
BlamWorldObject::id
uint64_t id
A unique identifier for this object. Used to identify objects during runtime.
Definition: world_objects.h:158
BlamGizmoTransformMode::ROTATE
@ ROTATE
BlamWorldObject::GetWorldOBB
virtual BlamOrientedBoundingBox GetWorldOBB()
Definition: BlamWorldObject.cpp:505
BlamWorldObject_GizmoTransform
Definition: world_objects.h:637
Blam3DPrimitiveRenderMode::Wireframe
@ Wireframe
BlamWorldObject_Text3D::SetShadowColor
void SetShadowColor(BlamColor color)
Definition: BlamWorldObject_Text3D.cpp:96
sky_atm_parameters.h
BITMAP_DEFAULT_WHITE
#define BITMAP_DEFAULT_WHITE
Definition: rendering.h:59
QF_USER_11
@ QF_USER_11
Definition: world_objects.h:64
ray_closest_to
float ray_closest_to(Ogre::Ray ray, Ogre::Ray other)
Definition: BlamWorldObject_GizmoTransform.cpp:19
BlamGizmoCuboid::OnMouseHoverExit
void OnMouseHoverExit() override
Definition: BlamWorldObject_GizmoTransform.cpp:234
BlamWorldObjectType::GizmoVolume
@ GizmoVolume
ImGui::BeginCombo
IMGUI_API bool BeginCombo(const char *label, const char *preview_value, ImGuiComboFlags flags=0)
Definition: imgui_widgets.cpp:1416
types.h
ImGui::Selectable
IMGUI_API bool Selectable(const char *label, bool selected=false, ImGuiSelectableFlags flags=0, const ImVec2 &size=ImVec2(0, 0))
Definition: imgui_widgets.cpp:5469
QF_USER_20
@ QF_USER_20
Definition: world_objects.h:73
QF_USER_5
@ QF_USER_5
Definition: world_objects.h:58
BlamWorldObject_Gizmo::ib
bgfx::IndexBufferHandle ib
Definition: world_objects.h:592
BlamWorldObject_PrimitiveCylinder::ShowImGuiEditControls
void ShowImGuiEditControls() override
Definition: BlamWorldObject_PrimitiveCylinder.cpp:471
BlamGizmoCuboid::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_GizmoTransform.cpp:200
globals.h
BlamWorldObject_Primitive::custom_datablock
bool custom_datablock
Definition: world_objects.h:424
QF_NONE
@ QF_NONE
Definition: world_objects.h:79
ManualMesh::Section::Color
void Color(float r, float g, float b, float a=1.0f)
Definition: ManualMesh.cpp:36
BlamWorldObject_GizmoTransform::SetAssociatedObject
void SetAssociatedObject(BlamWorldObject_Tag *object)
Definition: BlamWorldObject_GizmoTransform.cpp:741
BlamWorldObject_GizmoGrid::BlamWorldObject_GizmoGrid
BlamWorldObject_GizmoGrid(BlamWorldState *_world)
Definition: BlamWorldObject_GizmoGrid.cpp:22
Demo::GraphicsSystem::getCamera
Ogre::Camera * getCamera(void) const
Definition: GraphicsSystem.h:150
BlamWorldObject_Text3D::ShowImGuiEditControls
void ShowImGuiEditControls() override
Definition: BlamWorldObject_Text3D.cpp:68
shader_flags.h
tile_set.h
BlamWorldObject_Group
Definition: world_objects.h:247
BlamWorldObject_TagLight::BlamWorldObject_TagLight
BlamWorldObject_TagLight(BlamTagData *_tag_data, BlamWorldState *_world)
Definition: BlamWorldObject_TagLight.cpp:12
Blam::RenderingBGFX::Shaders::GetUniform
BLAM bgfx::UniformHandle GetUniform(std::string id)
Definition: shader_uniforms.cpp:174
Ogre::Euler::setYaw
Euler & setYaw(Radian y)
Set the yaw.
Definition: OgreEuler.h:87
tile_map
Definition: tile_map.h:27
QF_ENGINE_RESERVED_4
@ QF_ENGINE_RESERVED_4
Definition: world_objects.h:52
BlamWorldObject_TagLight::override_priority
bool override_priority
Definition: world_objects.h:353
material
Definition: material.h:54
BlamWorldObject_GizmoGrid::Update
void Update() override
Definition: BlamWorldObject_GizmoGrid.cpp:303
BlamWorldObject_Gizmo3DCursor::Rebuild
void Rebuild() override
Definition: BlamWorldObject_Gizmo3DCursor.cpp:50
BlamWorldObject_Text3D::GetShadowColor
BlamColor GetShadowColor()
Definition: BlamWorldObject_Text3D.cpp:91
BlamWorldState::HasObject
bool HasObject(uint64_t object_id)
Definition: BlamWorldState.cpp:162
QF_USER_14
@ QF_USER_14
Definition: world_objects.h:67
BlamWorldObject_PrimitiveSphere::radius_0
float radius_0
The radius of the primitive. Only used in cylinders.
Definition: world_objects.h:487
BlamWorldObject::type
BlamWorldObjectType type
The type of this world object.
Definition: world_objects.h:169
Blam::RenderingBGFX::Lighting::RemoveShadowCaster
BLAM void RemoveShadowCaster(BlamWorldObject *object)
Definition: shadow_casters.cpp:47
VIEWID_FORWARD
#define VIEWID_FORWARD
Definition: rendering.h:55
Ogre::Euler::forward
Vector3 forward() const
Get a vector pointing forwards.
Definition: OgreEuler.h:180
BlamWorldObject_PrimitiveSphere::radius_1
float radius_1
A secondary radius of the primitive. Only used in cylinders.
Definition: world_objects.h:488
BlamWorldObject::GetShaderParameterFloat
float GetShaderParameterFloat(std::string id)
Definition: BlamWorldObject.cpp:463
BlamWorldObject_GizmoGrid::ShowImGuiEditControls
void ShowImGuiEditControls() override
Definition: BlamWorldObject_GizmoGrid.cpp:319
BlamWorldObject::GetRotation
BlamVector3 GetRotation()
Definition: BlamWorldObject.cpp:172
BlamWorldObject_Text3D::BlamWorldObject_Text3D
BlamWorldObject_Text3D(BlamWorldState *_world)
Definition: BlamWorldObject_Text3D.cpp:10
BlamWorldObject_Text3D::~BlamWorldObject_Text3D
~BlamWorldObject_Text3D()
Definition: BlamWorldObject_Text3D.cpp:26
QF_USER_19
@ QF_USER_19
Definition: world_objects.h:72
BlamWorldObject_PrimitiveLine::GetDirection
BlamVector3 GetDirection()
Definition: BlamWorldObject_PrimitiveLine.cpp:107
BlamWorldObject_TagLight::override_color
bool override_color
Definition: world_objects.h:350
QF_USER_23
@ QF_USER_23
Definition: world_objects.h:76
BlamWorldObject_Tag::DestroyAttachments
void DestroyAttachments()
Definition: BlamWorldObject_Tag.cpp:373
ImGui::DragFloat3
IMGUI_API bool DragFloat3(const char *label, float v[3], float v_speed=1.0f, float v_min=0.0f, float v_max=0.0f, const char *format="%.3f", float power=1.0f)
Definition: imgui_widgets.cpp:2174
BlamWorldObject_Gizmo3DCursor::BlamWorldObject_Gizmo3DCursor
BlamWorldObject_Gizmo3DCursor(BlamWorldState *_world)
Definition: BlamWorldObject_Gizmo3DCursor.cpp:11
uint32_t
unsigned int uint32_t
Definition: stdint.h:17
Blam::Content::Tags::GetTagData
BLAM BlamTagData * GetTagData(std::string tag_path)
Retrieves information for a given tag.
Definition: tags.cpp:81
BlamWorldObject_Primitive::CreateManualObject
virtual void CreateManualObject()
Definition: BlamWorldObject_Primitive.cpp:61
ManualMesh::Section::layout
bgfx::VertexLayout layout
Definition: types.h:200
BlamWorldObject_PrimitiveLine::SetEndPoint
void SetEndPoint(BlamVector3 point)
Definition: BlamWorldObject_PrimitiveLine.cpp:62
BlamWorldObject_PrimitiveLine::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_PrimitiveLine.cpp:123
BlamWorldObject_Primitive::datablock
Ogre::HlmsDatablock * datablock
Definition: world_objects.h:431
QF_ANY
@ QF_ANY
Definition: world_objects.h:80
BlamWorldObject::GetAbsolutePosition
BlamVector3 GetAbsolutePosition()
Definition: BlamWorldObject.cpp:209
ImGui::PopID
IMGUI_API void PopID()
Definition: imgui.cpp:7026
BlamOrientedBoundingBox::axis_x
BlamVector3 axis_x
Definition: types.h:348
BlamWorldState::OnTickEvent
void OnTickEvent(TickEvent *event)
Definition: BlamWorldState.cpp:232
BlamWorldObjectType::GizmoGrid
@ GizmoGrid
BlamWorldObject_Tag::GetQueryMask
uint32_t GetQueryMask() override
Definition: BlamWorldObject_Tag.cpp:415
BlamWorldObject_PrimitiveLine::GetLength
float GetLength()
Definition: BlamWorldObject_PrimitiveLine.cpp:114
BlamTransformSpace::Local
@ Local
BlamWorldObject::OnMouseMove
virtual void OnMouseMove(MouseMoveEvent *event)
Definition: BlamWorldObject.cpp:321
BlamWorldObject::GetShaderParameterVector3
BlamVector3 GetShaderParameterVector3(std::string id)
Definition: BlamWorldObject.cpp:484
ManualMesh::Section::Triangle
void Triangle(int x, int y, int z)
Definition: ManualMesh.cpp:50
BlamWorldObject_Text3D::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_Text3D.cpp:31
Blam::RenderingBGFX::CreateRayFromViewportPoint
BLAM BlamRay CreateRayFromViewportPoint(int screen_x, int screen_y)
Constructs a world-space ray from a screen-space cursor position.
Definition: raycast.cpp:10
Blam::Rendering::GetGraphicsSystem
BLAM Demo::GraphicsSystem * GetGraphicsSystem()
Retrieves the graphics system used by OGRE.
Definition: ogre.cpp:645
BlamWorldObjectType::PrimitiveLine
@ PrimitiveLine
Blam::RenderingBGFX::GetGizmoMousePosition3D
BLAM BlamVector3 GetGizmoMousePosition3D()
Definition: bgfx.cpp:550
BlamWorldObject::GetHidden
bool GetHidden()
Definition: BlamWorldObject.cpp:289
BlamWorldObject_Text3D
Definition: world_objects.h:554
BlamWorldState::GetObjectByName
BlamWorldObject * GetObjectByName(std::string name, bool recursive_search=false)
Definition: BlamWorldState.cpp:202
BlamWorldState::RemoveObject
bool RemoveObject(uint64_t object_id, bool delete_data=true)
Definition: BlamWorldState.cpp:133
Blam::RenderingBGFX::Models::GetModelFromTagPath
BLAM mesh * GetModelFromTagPath(std::string tag_path)
Definition: models.cpp:220
BlamDirector
Class representing the Director.
Definition: director.h:27
BlamWorldObject_PrimitiveSphere::resolution
int resolution
The level of detail to use for the primitive. Only used in cylinders.
Definition: world_objects.h:489
Ogre::Euler::setPitch
Euler & setPitch(Radian p)
Set the pitch.
Definition: OgreEuler.h:98
BlamWorldObject_Text3D::GetColor
BlamColor GetColor()
Definition: BlamWorldObject_Text3D.cpp:81
BlamWorldObject_Primitive
Class representing a primitive-based world object.
Definition: world_objects.h:406
ImGui::InputTextMultiline
IMGUI_API bool InputTextMultiline(const char *label, char *buf, size_t buf_size, const ImVec2 &size=ImVec2(0, 0), ImGuiInputTextFlags flags=0, ImGuiInputTextCallback callback=NULL, void *user_data=NULL)
Definition: imgui_widgets.cpp:3074
engine_definitions.h
QF_ENGINE_GIZMO
@ QF_ENGINE_GIZMO
Definition: world_objects.h:47
tag_reference::data_is_tag
bool data_is_tag
Whether or not tagref_address points to tag data, or the tag's path.
Definition: tags.h:296
BlamWorldObject_TagLight
Definition: world_objects.h:337
BlamWorldObject_PrimitiveLine::ShowImGuiEditControls
void ShowImGuiEditControls() override
Definition: BlamWorldObject_PrimitiveLine.cpp:129
BlamWorldObject_TagTileMap
Definition: world_objects.h:377
Blam::Rendering::Tilesets::GetTilesetMaterial
BLAM Ogre::MaterialPtr GetTilesetMaterial(std::string tag_path, int tile_index)
Definition: tilesets.cpp:158
BlamWorldObjectType::PrimitiveSphere
@ PrimitiveSphere
camera.h
ManualMesh::Reset
void Reset()
Definition: ManualMesh.cpp:193
ImGui::EndCombo
IMGUI_API void EndCombo()
Definition: imgui_widgets.cpp:1522
data_reference::data_address
void * data_address
The address of the referenced data.
Definition: tags.h:346
BlamWorldObject_PrimitiveLine::GetEndPoint
BlamVector3 GetEndPoint()
Definition: BlamWorldObject_PrimitiveLine.cpp:102
cui_widget_anchor::fill
@ fill
BlamWorldObject_Gizmo::vb
bgfx::VertexBufferHandle vb
Definition: world_objects.h:591
value
Offset font vertically by altering the io Font DisplayOffset value
Definition: README.txt:67
BlamWorldObject_Tag::SetTransformEnabled
void SetTransformEnabled(bool enabled)
Definition: BlamWorldObject_Tag.cpp:360
BlamWorldObject_PrimitiveCuboid
Definition: world_objects.h:463
mesh::aabb_max
BlamVector3 aabb_max
Definition: types.h:46
QF_USER_22
@ QF_USER_22
Definition: world_objects.h:75
scenario::atmosphere
tag_reference atmosphere
Definition: scenario.h:38
scenario.h
BlamWorldObject_Tag::bounds_debug_info
BlamWorldObject_Text3D * bounds_debug_info
Definition: world_objects.h:301
BlamWorldObject_GizmoGrid
Definition: world_objects.h:606
BlamRay::direction
BlamVector3 direction
Definition: types.h:365
BlamRaycastEntry::distance
float distance
Definition: world_objects.h:86
BlamWorldObject_PrimitiveSphere::lines_y
int lines_y
Definition: world_objects.h:492
BlamWorldObject
Class representing a world object.
Definition: world_objects.h:138
BlamGizmoCuboid::OnMouseHoverEnter
void OnMouseHoverEnter() override
Definition: BlamWorldObject_GizmoTransform.cpp:229
BlamWorldObject_PrimitiveLine::GetStartPoint
BlamVector3 GetStartPoint()
Definition: BlamWorldObject_PrimitiveLine.cpp:97
BlamWorldObject_Group::RemoveObject
void RemoveObject(uint64_t object_id)
Definition: BlamWorldObject_Group.cpp:20
BlamGizmoTransformMode::SCALE
@ SCALE
Blam::RenderingBGFX::GetMousePosition3D
BLAM BlamVector3 GetMousePosition3D()
Definition: bgfx.cpp:545
ManualMesh::GetSection
Section * GetSection(std::string name)
Definition: ManualMesh.cpp:180
BlamWorldObject::BlamWorldObject
BlamWorldObject(BlamWorldState *_world, BlamWorldObjectType _type)
Creates a new world object.
Definition: BlamWorldObject.cpp:17
BlamUIWidget_Text::text
std::string text
The text to display within this text widget.
Definition: ui.h:622
QF_USER_10
@ QF_USER_10
Definition: world_objects.h:63
Blam3DPrimitiveRenderMode::Solid
@ Solid
BlamWorldObject_PrimitiveCylinder::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_PrimitiveCylinder.cpp:443
camera
BlamDirector * camera
Definition: director.cpp:3
BlamWorldObject_PrimitiveCuboid::BlamWorldObject_PrimitiveCuboid
BlamWorldObject_PrimitiveCuboid(BlamWorldState *_world)
Definition: BlamWorldObject_PrimitiveCuboid.cpp:8
BlamOrientedBoundingBox::center
BlamVector3 center
Definition: types.h:346
BlamWorldObject_TagLight::priority
int priority
Definition: world_objects.h:354
Blam::Rendering::Models::WasModelReloaded
BLAM bool WasModelReloaded(std::string tag_path)
Definition: models.cpp:311
BlamWorldObject_Group::GetObjectCount
int GetObjectCount()
Definition: BlamWorldObject_Group.cpp:36
WORLD_OBJECT_USER_KEY
#define WORLD_OBJECT_USER_KEY
Definition: world_objects.h:18
BlamWorldObject::SetHidden
void SetHidden(bool hidden)
Definition: BlamWorldObject.cpp:294
copy
The original diffuse textures are from the NVIDIA texture with other maps generated from them by Steve Streeting The following license applies to all textures Single Product or Project Use of NVSDK Art Imagery THIS IS A LEGAL immediately delete the NVSDK Art Imagery from your hard disk If you proceed to use any of the you thereby signify that you have agreed to all of the terms and conditions set forth below You may not copy
Definition: TextureUsageAgreement.txt:6
BlamWorldObject_Group::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_Group.cpp:114
ImGui::ColorEdit4
IMGUI_API bool ColorEdit4(const char *label, float col[4], ImGuiColorEditFlags flags=0)
Definition: imgui_widgets.cpp:4154
BlamWorldObject_PrimitiveSphere
Definition: world_objects.h:473
BlamWorldObjectType::PrimitiveCuboid
@ PrimitiveCuboid
BlamUIWidget_Text::shadow_color
BlamColor shadow_color
The text shadow color.
Definition: ui.h:619
QF_USER_1
@ QF_USER_1
Definition: world_objects.h:54
tag_obje
#define tag_obje
Definition: object.h:22
tag_reference::HasReference
bool HasReference()
Checks if a tag reference has a tag specified or not.
Definition: tag_reference.cpp:81
QF_USER_16
@ QF_USER_16
Definition: world_objects.h:69
BlamGizmoCuboid::OnMouseClick
void OnMouseClick(MouseClickEvent *event) override
Definition: BlamWorldObject_GizmoTransform.cpp:220
ENGINE_TEXT
#define ENGINE_TEXT(string_id)
Definition: engine_text.h:7
QF_ENGINE_RESERVED_2
@ QF_ENGINE_RESERVED_2
Definition: world_objects.h:50
BlamWorldObject::GetScale
BlamVector3 GetScale()
Definition: BlamWorldObject.cpp:244
BlamWorldObject::SetPosition
void SetPosition(BlamVector3 position)
Definition: BlamWorldObject.cpp:233
BlamWorldObject_Tag::RecreateNodeObjects
void RecreateNodeObjects()
Definition: BlamWorldObject_Tag.cpp:295
BlamWorldObject_Primitive::SetCustomDatabablock
void SetCustomDatabablock(Ogre::HlmsDatablock *datablock, bool wireframe)
Definition: BlamWorldObject_Primitive.cpp:246
BlamWorldObject_Gizmo::needs_update
bool needs_update
Definition: world_objects.h:589
BlamWorldObject_Primitive::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_Primitive.cpp:85
BlamWorldObject_Text3D::SetColor
void SetColor(BlamColor color)
Definition: BlamWorldObject_Text3D.cpp:86
data_reference::data_size
int data_size
The size of the referenced data.
Definition: tags.h:347
Blam::Rendering::Models::GetModelFromTagPath
BLAM Ogre::MeshPtr GetModelFromTagPath(std::string tag_path)
Definition: models.cpp:268
Blam::Rendering::Lights::CreateLightFromTag
BLAM Ogre::Light * CreateLightFromTag(light *light)
Definition: lights.cpp:9
BlamWorldObject::parent
BlamWorldObject * parent
Definition: world_objects.h:167
BlamWorldObject_Tag::BlamWorldObject_Tag
BlamWorldObject_Tag(BlamTagData *_tag_data, BlamWorldState *_world)
Creates a new tag-based world object.
Definition: BlamWorldObject_Tag.cpp:18
BlamWorldState::~BlamWorldState
~BlamWorldState()
Destroys the world state.
Definition: BlamWorldState.cpp:47
BlamWorldObject::OnMouseUnclick
virtual void OnMouseUnclick(MouseUnclickEvent *event)
Definition: BlamWorldObject.cpp:331
BlamWorldObject::GetShaderParameterVector4
BlamVector4 GetShaderParameterVector4(std::string id)
Definition: BlamWorldObject.cpp:495
ManualMesh::Section::Position
void Position(float x, float y, float z)
Definition: ManualMesh.cpp:29
BlamWorldObjectType::GizmoTransform
@ GizmoTransform
QF_USER_7
@ QF_USER_7
Definition: world_objects.h:60
shader.h
BlamWorldObject::SetScale
void SetScale(BlamVector3 scale)
Definition: BlamWorldObject.cpp:249
bitmap
Definition: bitmap.h:34
BlamTagData::address
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:132
BlamWorldObject_GizmoTransform::GetGizmoObjects
std::vector< BlamWorldObject * > GetGizmoObjects()
Definition: BlamWorldObject_GizmoTransform.cpp:760
BlamGizmoCuboid::BlamGizmoCuboid
BlamGizmoCuboid(BlamWorldObject_GizmoTransform *parent, BlamAxis _axis)
Definition: BlamWorldObject_GizmoTransform.cpp:194
BlamWorldObjectType::Primitive
@ Primitive
BlamWorldObject_Primitive::manual_mesh
ManualMesh * manual_mesh
Definition: world_objects.h:422
BlamWorldObject_GizmoGrid::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_GizmoGrid.cpp:84
BlamTransformSpace::Parent
@ Parent
Blam::Content::Tags::GetShaderTag
BLAM shader * GetShaderTag(std::string tag_path)
Definition: shader.cpp:13
BlamWorldObject_Tag::Render
void Render(float delta) override
Renders the object to the screen.
Definition: BlamWorldObject_Tag.cpp:53
BlamWorldObject_PrimitiveLine::SetStartPoint
void SetStartPoint(BlamVector3 point)
Definition: BlamWorldObject_PrimitiveLine.cpp:56
Ogre
Definition: world_objects.h:23
BlamWorldObject_TagRenderModel
Definition: world_objects.h:360
ManualMesh
Definition: types.h:179
tags.h
tags.h
BlamWorldObject::CreateSceneNode
void CreateSceneNode()
Definition: BlamWorldObject.cpp:417
x
config GlyphExtraSpacing x
Definition: README.txt:30
QF_USER_2
@ QF_USER_2
Definition: world_objects.h:55
ManualMesh::GetAabbMax
BlamVector3 GetAabbMax()
Definition: ManualMesh.cpp:109
Blam::BuildInfo::DebugToolsEnabled
BLAM bool DebugToolsEnabled()
Checks whether or not debug tools are enabled.
Definition: engine_definitions.cpp:209
BlamTagData
Class used to contain and access tag data.
Definition: tags.h:125
BlamWorldState::SetActiveCamera
void SetActiveCamera(BlamWorldObject_Tag *camera)
Definition: BlamWorldState.cpp:248
BlamWorldObject_PrimitiveLine::SetLength
void SetLength(float length)
Definition: BlamWorldObject_PrimitiveLine.cpp:77
BlamWorldObjectType::Group
@ Group
BlamRay::GetPointAtDistance
BlamVector3 GetPointAtDistance(float distance)
Returns the world-space point along the ray at the given distance from the origin.
Definition: BlamRay.cpp:170
BlamWorldObject_Tag::ogre_item
Ogre::MovableObject * ogre_item
Definition: world_objects.h:305
tag_reference::tagref_address
void * tagref_address
The address of the tagref data.
Definition: tags.h:295
tile_map::tile_data
data_reference tile_data
Definition: tile_map.h:32
QF_USER_24
@ QF_USER_24
Definition: world_objects.h:77
BlamUIWidget::ignore_scale_factor
bool ignore_scale_factor
Whether or not this widget should ignore the UI scale factor settings.
Definition: ui.h:128
BlamWorldObjectType::Text3D
@ Text3D
BlamWorldObject_Gizmo::BlamWorldObject_Gizmo
BlamWorldObject_Gizmo(BlamWorldObject *_parent, BlamWorldObjectType _type)
Definition: world_objects.h:597
BlamWorldObject_GizmoTransform::ShowImGuiEditControls
void ShowImGuiEditControls() override
Definition: BlamWorldObject_GizmoTransform.cpp:674
BlamWorldObject_Tag::SetQueryMask
void SetQueryMask(uint32_t mask)
Definition: BlamWorldObject_Tag.cpp:405
BlamWorldObject_Primitive::render_mode
Blam3DPrimitiveRenderMode render_mode
Definition: world_objects.h:436
BlamWorldObject::ShowImGuiEditControls
virtual void ShowImGuiEditControls()
Definition: BlamWorldObject.cpp:127
BlamWorldObject::state_flags
uint64_t state_flags
Definition: world_objects.h:164
ManualMesh::Section::TextureCoord
void TextureCoord(float u, float v)
Definition: ManualMesh.cpp:44
BlamWorldObject_Gizmo::needs_rebuild
bool needs_rebuild
Definition: world_objects.h:590
QF_ENGINE_RESERVED_3
@ QF_ENGINE_RESERVED_3
Definition: world_objects.h:51
uint16_t
unsigned short uint16_t
Definition: stdint.h:16
BlamWorldObject_Tag::GetTransformGizmoObjects
std::vector< BlamWorldObject * > GetTransformGizmoObjects()
Definition: BlamWorldObject_Tag.cpp:395
INT32_MAX
#define INT32_MAX
Definition: stdint.h:66
BlamWorldObject::Rotate
void Rotate(BlamVector3 axis, float rotation_amount, BlamTransformSpace transform_space=BlamTransformSpace::Parent)
Definition: BlamWorldObject.cpp:371
BlamGizmoTransformMode::NONE
@ NONE
BlamWorldObjectType::PrimitiveCapsule
@ PrimitiveCapsule
BlamWorldObject::SetShaderParameter
void SetShaderParameter(std::string id, float value)
Definition: BlamWorldObject.cpp:443
BlamWorldObject_PrimitiveLine::BlamWorldObject_PrimitiveLine
BlamWorldObject_PrimitiveLine(BlamWorldState *_world)
Definition: BlamWorldObject_PrimitiveLine.cpp:10
script
Definition: script.h:31
BlamWorldObject::world
BlamWorldState * world
The world state this object belongs to.
Definition: world_objects.h:166
BlamWorldObject_GizmoTransform::~BlamWorldObject_GizmoTransform
~BlamWorldObject_GizmoTransform()
Definition: BlamWorldObject_GizmoTransform.cpp:252
BlamWorldObject_Primitive::~BlamWorldObject_Primitive
~BlamWorldObject_Primitive()
Definition: BlamWorldObject_Primitive.cpp:43
Ogre::Euler
Class for Euler rotations.
Definition: OgreEuler.h:29
Blam::Rendering::HasZoomLevelChanged
BLAM bool HasZoomLevelChanged()
Definition: ogre.cpp:940
ImGui::PushID
IMGUI_API void PushID(const char *str_id)
Definition: imgui.cpp:6995
BlamWorldObject_PrimitiveSphere::ShowImGuiEditControls
void ShowImGuiEditControls() override
Definition: BlamWorldObject_PrimitiveSphere.cpp:321
BlamWorldState
Class representing a world state.
Definition: world_objects.h:715
Blam::Globals::GetGlobalAsBoolean
BLAM bool * GetGlobalAsBoolean(std::string name)
Retrieves a global's value as a boolean.
Definition: globals.cpp:343
BlamWorldObject_TagRenderModel::BlamWorldObject_TagRenderModel
BlamWorldObject_TagRenderModel(BlamTagData *_tag_data, BlamWorldState *_world)
Definition: BlamWorldObject_TagRenderModel.cpp:18
ImGui::Button
IMGUI_API bool Button(const char *label, const ImVec2 &size=ImVec2(0, 0))
Definition: imgui_widgets.cpp:644
ManualMesh::Render
void Render(BlamVector3 position, BlamVector3 rotation, BlamVector3 scale)
Definition: ManualMesh.cpp:119
BlamWorldObject::SetRotation
void SetRotation(BlamVector3 _rotation, bool local_axes=true)
Definition: BlamWorldObject.cpp:177
ImGui::GetID
IMGUI_API ImGuiID GetID(const char *str_id)
Definition: imgui.cpp:7032
BlamWorldObject_TagTileMap::~BlamWorldObject_TagTileMap
~BlamWorldObject_TagTileMap()
Definition: BlamWorldObject_TagTileMap.cpp:27
BlamWorldObject_Gizmo::vl
bgfx::VertexLayout vl
Definition: world_objects.h:593
BlamTransformSpace
BlamTransformSpace
Definition: world_objects.h:125
BlamUIWidget_Text
Class representing a Text widget.
Definition: ui.h:550
QF_USER_17
@ QF_USER_17
Definition: world_objects.h:70
mesh
Definition: types.h:25
Blam::RenderingBGFX::Lighting::RefreshLightCache
BLAM void RefreshLightCache()
Definition: lights.cpp:27
ManualMesh::Section::Build
void Build()
Definition: ManualMesh.cpp:73
ManualMesh::CreateSection
Section * CreateSection(std::string name, ManualMesh::SectionIndexType type)
Definition: ManualMesh.cpp:173
tag_mode
#define tag_mode
Definition: render_model.h:22
sky_atm_parameters::linked_light
tag_reference linked_light
Definition: sky_atm_parameters.h:32
BlamGizmoTriangle::CreateManualObject
void CreateManualObject()
Definition: BlamWorldObject_GizmoTransform.cpp:62
BlamWorldObject_Text3D::GetText
std::string GetText()
Definition: BlamWorldObject_Text3D.cpp:101
object.h
BlamWorldObject::description
std::string description
An optional description of this object.
Definition: world_objects.h:160
BlamWorldObjectType::GizmoScale
@ GizmoScale
Blam::RenderingBGFX::Textures::GetTextureFromTag
BLAM bgfx::TextureHandle GetTextureFromTag(std::string tag_path)
Retrieves an OGRE texture from a tag path.
Definition: bitmaps.cpp:453
BlamWorldObject_Gizmo::Rebuild
virtual void Rebuild()=0
BlamWorldObjectType::Tag
@ Tag
BlamUIWidget::SetAnchorPosition
void SetAnchorPosition(BlamWidgetAnchor new_anchor_position)
Sets the anchor position of the widget.
Definition: BlamUIWidget.cpp:425
BlamWorldObject_GizmoGrid::Rebuild
void Rebuild() override
Definition: BlamWorldObject_GizmoGrid.cpp:149
BlamWorldState::BlamWorldState
BlamWorldState()
Initializes a new world state.
Definition: BlamWorldState.cpp:17
render_model::default_scale_modifier
vector3 default_scale_modifier
Definition: render_model.h:52
BlamWorldObject_Tag::error_text
std::string error_text
Definition: world_objects.h:300
BlamTagData::tag_class
std::string tag_class
The tag's short class name.
Definition: tags.h:146
tile_map::size
vector2 size
Definition: tile_map.h:30