 |
Blamite Game Engine - blam!
00423.10.27.24.0533.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
6 #include <Strings/components/classes/events/events.h>
7 #include <Strings/components/classes/vector/vector.h>
11 #define BLAM_EXT_API __declspec(dllexport)
13 #define BLAM_EXT_API __declspec(dllimport)
16 #define WORLD_OBJECT_USER_KEY "WOBJ"
122 bool needs_name_update =
false;
123 bool needs_hidden_update =
false;
124 bool needs_position_update =
false;
125 bool needs_rotation_update =
false;
126 bool next_rotate_local_axes =
false;
127 bool needs_scale_update =
false;
129 BlamVector3 position = BlamVector3();
130 BlamVector3 rotation = BlamVector3();
131 BlamVector3 scale = { 1, 1, 1 };
132 BlamVector3 scale_modifier = { 1, 1, 1 };
134 std::string name =
"";
139 std::string description =
"";
140 int editor_folder_id = 0;
147 Ogre::SceneNode* scene_node =
nullptr;
165 virtual void ShowImGuiEditControls();
168 Ogre::SceneNode* GetParentSceneNode();
170 BlamVector3 GetRotation();
171 void SetRotation(BlamVector3 _rotation,
bool local_axes =
false);
172 void SetRotation(
float x,
float y,
float z,
bool local_axes =
false);
173 void SetRotation(BlamAxis axis,
float amount,
bool local_axes =
false);
174 BlamVector3 GetPosition();
175 void SetPosition(BlamVector3 position);
176 void SetPosition(
float x,
float y,
float z);
177 BlamVector3 GetScale();
178 void SetScale(BlamVector3 scale);
179 void SetScale(
float x,
float y,
float z);
180 BlamVector3 GetScaleModifier();
181 void SetScaleModifier(BlamVector3 scale);
182 void SetScaleModifier(
float x,
float y,
float z);
184 void SetHidden(
bool hidden);
185 std::string GetName();
186 void SetName(std::string name);
188 virtual void OnMouseHoverEnter();
189 virtual void OnMouseHoverExit();
191 virtual void OnMouseMove(MouseMoveEvent* event);
192 virtual void OnMouseClick(MouseClickEvent* event);
193 virtual void OnMouseUnclick(MouseUnclickEvent* event);
199 std::vector<BlamWorldObject*> children = std::vector<BlamWorldObject*>();
204 void RemoveObject(
uint64_t object_id);
206 int GetObjectCount();
226 int last_poke_key = 0;
228 bool valid_tag =
false;
229 std::string error_text =
"";
230 bool needs_recreate =
true;
235 void RecreateNodeObjects();
239 Ogre::MovableObject* ogre_item =
nullptr;
253 bool ValidateTagData();
255 std::string GetErrorText();
256 void SetTransformEnabled(
bool enabled);
271 bool cached_cast_shadows =
true;
273 BlamColor cached_color = BlamColor(255, 255, 255);
274 BlamColor cached_color_wireframe = BlamColor(255, 255, 255);
277 bool cached_show_backfaces =
false;
278 bool needs_rebuild =
false;
279 bool enable_depth_check =
true;
280 bool depth_check_needs_update =
false;
281 bool query_mask_needs_update =
true;
284 bool custom_datablock =
false;
285 bool custom_wireframe_datablock =
false;
287 virtual void CreateManualObject();
290 Ogre::ManualObject* manual_object =
nullptr;
291 Ogre::HlmsDatablock* datablock =
nullptr;
292 Ogre::HlmsDatablock* datablock_wireframe =
nullptr;
294 BlamColor
color = BlamColor(255, 255, 255);
295 BlamColor color_wireframe = BlamColor(255, 255, 255);
297 bool show_backfaces =
false;
298 bool cast_shadows =
true;
311 void SetCustomDatabablock(Ogre::HlmsDatablock* datablock,
bool wireframe);
314 void MarkForRebuild();
316 void SetDepthCheckEnabled(
bool enable);
337 float cached_radius_0 = 1.0f;
338 float cached_radius_1 = 1.0f;
339 int cached_resolution = 5;
340 int cached_vertical_resolution = 5;
341 int cached_lines_x = 5;
342 int cached_lines_y = 5;
345 float radius_0 = 1.0f;
346 float radius_1 = 1.0f;
348 int vertical_resolution = 5;
352 std::vector<BlamVector3> vertices = std::vector<BlamVector3>();
367 float cached_radius_0 = 1.0f;
368 float cached_radius_1 = 1.0f;
369 int cached_resolution = 5;
370 int cached_lines = 5;
373 float radius_0 = 1.0f;
374 float radius_1 = 1.0f;
388 BlamVector3 start = BlamVector3();
389 BlamVector3 end = BlamVector3();
397 void SetStartPoint(BlamVector3
point);
398 void SetEndPoint(BlamVector3
point);
400 void SetDirection(BlamVector3 direction);
401 void SetLength(
float length);
403 BlamVector3 GetStartPoint();
404 BlamVector3 GetEndPoint();
405 BlamVector3 GetDirection();
424 bool needs_update =
true;
425 bool needs_rebuild =
true;
432 virtual void Update() = 0;
433 virtual void Rebuild() = 0;
434 void MarkForUpdate();
435 void MarkForRebuild();
441 int primary_spacing = 10;
442 int secondary_spacing = 1;
443 BlamColor primary_color = BlamColor(191, 191, 191);
444 BlamColor secondary_color = BlamColor(127, 127, 127);
445 bool mark_axes =
false;
447 Ogre::HlmsDatablock* primary_datablock =
nullptr;
448 Ogre::HlmsDatablock* secondary_datablock =
nullptr;
450 BlamVector3 origin = BlamVector3();
451 int max_distance = 100;
453 Ogre::ManualObject* manual_object =
nullptr;
455 void DestroyManualObject();
486 float cube_size = 0.17f;
487 float screen_scale = 0.18f;
490 BlamAxis axis = BlamAxis::NONE;
491 BlamVector2 mouse_position_initial = BlamVector2();
493 BlamVector3 position_initial = BlamVector3();
494 BlamVector3 rotation_initial = BlamVector3();
495 BlamVector3 scale_initial = BlamVector3();
515 void RemoveAssociatedObject();
543 std::vector<BlamWorldObject*> objects = std::vector<BlamWorldObject*>();
546 Ogre::SceneNode* root_node =
nullptr;
560 bool RemoveObject(
uint64_t object_id,
bool delete_data =
true);
562 int GetObjectCount();
582 void OnTickEvent(TickEvent* event);
584 void RenderObjects();
void SetDepthCheckEnabled(bool enable)
Definition: BlamWorldObject_Primitive.cpp:268
BLAM BlamDirector * GetCamera()
Retrieves the director instance.
Definition: director.cpp:31
#define BLAM_EXT_API
Definition: world_objects.h:13
Ogre::SceneNode * root_node
Definition: world_objects.h:546
~BlamWorldObject_Tag()
Definition: BlamWorldObject_Tag.cpp:24
void Render() override
Renders the object to the screen.
Definition: BlamWorldObject_Primitive.cpp:59
void Render() override
Renders the object to the screen.
Definition: BlamWorldObject_PrimitiveLine.cpp:110
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
void SetQueryMask(uint32_t mask)
Definition: BlamWorldObject_Primitive.cpp:274
BlamTagData * parent_tag
Definition: tags.h:226
void RenderObjects()
Definition: BlamWorldState.cpp:170
BLAM Ogre::HlmsUnlitDatablock * CreateDefaultUnlitDatablockForPrimitives(std::string id)
Creates a default Unlit datablock for use with 2D and 3D primitives.
Definition: materials.cpp:997
BlamWorldObject_Gizmo(BlamWorldState *_world, BlamWorldObjectType _type)
Definition: world_objects.h:428
BlamVector3 GetScaleModifier()
Definition: BlamWorldObject.cpp:216
void AddObject(BlamWorldObject *object)
Definition: BlamWorldState.cpp:85
@ QF_USER_9
Definition: world_objects.h:51
bool flag0
Definition: tags.h:361
int lines
Definition: world_objects.h:376
@ QF_USER_21
Definition: world_objects.h:63
void Render() override
Renders the object to the screen.
Definition: BlamWorldObject_PrimitiveSphere.cpp:159
BLAM void LogEvent(std::string message)
Logs a message to the log and/or console.
Definition: aliases.cpp:130
@ QF_ENGINE_RESERVED_0
Definition: world_objects.h:37
float fov
The camera's current field of view.
Definition: director.h:91
@ QF_USER_4
Definition: world_objects.h:46
Definition: render_model.h:25
Definition: world_objects.h:73
BLAM BlamVector3 GetMousePosition3D()
Definition: ogre.cpp:599
Definition: BlamWorldObject_GizmoTransform.cpp:132
@ QF_USER_6
Definition: world_objects.h:48
BlamWorldObject_PrimitiveSphere(BlamWorldState *_world)
Definition: BlamWorldObject_PrimitiveSphere.cpp:13
IMGUI_API bool Checkbox(const char *label, bool *v)
Definition: imgui_widgets.cpp:974
bool Drop(BlamTagData *tag_data, BlamVector3 position)
Drops a tag into the world at the specified coordinates.
Definition: BlamWorldState.cpp:47
void Update() override
Definition: BlamWorldObject_Gizmo3DCursor.cpp:60
virtual ~BlamWorldObject()
Definition: BlamWorldObject.cpp:28
void Drop(std::string tag_name)
Definition: hs.cpp:44
BlamColor color
Definition: world_objects.h:294
Ogre::SceneNode * scene_node
Definition: world_objects.h:147
bool ValidateTagData()
Definition: BlamWorldObject_Tag.cpp:190
BlamGizmoTransformMode
Definition: world_objects.h:105
bool cast_shadows
Definition: world_objects.h:298
virtual void OnMouseHoverExit()
Definition: BlamWorldObject.cpp:259
@ QF_USER_15
Definition: world_objects.h:57
BlamVector3 GetPosition()
Definition: BlamWorldObject.cpp:183
BlamWorldObjectType
Definition: world_objects.h:79
void MarkForRebuild()
Definition: BlamWorldObject_Primitive.cpp:263
Ogre::HlmsDatablock * datablock_wireframe
Definition: world_objects.h:292
virtual void OnMouseClick(MouseClickEvent *event)
Definition: BlamWorldObject.cpp:269
void SetScaleModifier(BlamVector3 scale)
Definition: BlamWorldObject.cpp:221
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
int vertical_resolution
The level of detail to use vertically for the primitive. Only used in spheres.
Definition: world_objects.h:348
float radius_0
The radius of the primitive. Only used in cylinders.
Definition: world_objects.h:373
char path[256]
The tag's path.
Definition: tags.h:143
virtual void OnMouseHoverEnter()
Definition: BlamWorldObject.cpp:254
@ QF_USER_3
Definition: world_objects.h:45
HWND parent
Definition: error_notice.cpp:22
BlamWorldObject * GetObjectAtIndex(int index)
Definition: BlamWorldObject_Group.cpp:57
void OnMouseHoverExit() override
Definition: BlamWorldObject_GizmoTransform.cpp:126
BlamGizmoTriangle(BlamWorldObject_GizmoTransform *parent, BlamAxis _axis)
Definition: BlamWorldObject_GizmoTransform.cpp:41
BlamColor color_wireframe
Definition: world_objects.h:295
void SetName(std::string name)
Definition: BlamWorldObject.cpp:248
@ QF_EXCLUDE_GIZMOS
Definition: world_objects.h:70
Definition: world_objects.h:518
real bounding_sphere_radius
Definition: render_model.h:29
std::string GetErrorText()
Definition: BlamWorldObject_Tag.cpp:185
void AddObject(BlamWorldObject *object)
Definition: BlamWorldObject_Group.cpp:5
@ QF_ENGINE_RESERVED_1
Definition: world_objects.h:38
void SetDirection(BlamVector3 direction)
Definition: BlamWorldObject_PrimitiveLine.cpp:55
virtual void Render()
Renders the object to the screen.
Definition: BlamWorldObject_Gizmo.cpp:3
bool show_backfaces
Definition: world_objects.h:297
int GetObjectCount()
Definition: BlamWorldState.cpp:120
void MarkForUpdate()
Definition: BlamWorldObject_Gizmo.cpp:21
int GetPokeKey()
Definition: BlamTagData.cpp:82
int lines_x
Definition: world_objects.h:349
BlamWorldObject * GetObjectById(uint64_t object_id)
Definition: BlamWorldObject_Group.cpp:65
Ogre::SceneNode * GetParentSceneNode()
Definition: BlamWorldObject.cpp:98
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
void OnMouseClick(MouseClickEvent *event) override
Definition: BlamWorldObject_GizmoTransform.cpp:112
BLAM BlamVector2 GetScreenPointFrom3DPoint(BlamVector3 point)
Definition: ogre.cpp:609
Ogre::ManualObject * manual_object
Definition: world_objects.h:290
IMGUI_API void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
Definition: imgui.cpp:7147
BlamTagData()
Definition: BlamTagData.cpp:8
void OnMouseHoverEnter() override
Definition: BlamWorldObject_GizmoTransform.cpp:121
std::string GetName()
Definition: BlamWorldObject.cpp:243
@ QF_USER_0
Definition: world_objects.h:42
Blam3DPrimitiveRenderMode
Definition: world_objects.h:98
BlamTagData * tag_data
Pointer to the tag data associated with this object.
Definition: world_objects.h:238
void ShowImGuiEditControls() override
Definition: BlamWorldObject_Primitive.cpp:213
Ogre::SceneManager * getSceneManager(void) const
Definition: GraphicsSystem.h:147
Class representing a gizmo world object.
Definition: world_objects.h:421
Definition: BlamWorldObject_GizmoTransform.cpp:32
void Render() override
Renders the object to the screen.
Definition: BlamWorldObject_GizmoGrid.cpp:46
Definition: world_objects.h:385
~BlamWorldObject_GizmoGrid()
Definition: BlamWorldObject_GizmoGrid.cpp:30
@ QF_USER_8
Definition: world_objects.h:50
void ShowImGuiEditControls() override
Definition: BlamWorldObject_Gizmo3DCursor.cpp:65
Class representing a tag-based world object.
Definition: world_objects.h:223
std::vector< BlamVector3 > vertices
Definition: world_objects.h:352
unsigned long long uint64_t
Definition: stdint.h:18
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(BlamWorldState *_world)
Definition: BlamWorldObject_PrimitiveCylinder.cpp:12
bool custom_wireframe_datablock
Definition: world_objects.h:285
@ QF_USER_18
Definition: world_objects.h:60
IMGUI_API void Render()
Definition: imgui.cpp:4248
~BlamTagData()
Definition: BlamTagData.cpp:15
bool IsValidTag()
Definition: BlamWorldObject_Tag.cpp:180
BlamQueryFlags
Definition: world_objects.h:34
@ QF_USER_13
Definition: world_objects.h:55
uint64_t GetID()
Definition: BlamWorldObject.cpp:93
IMGUI_API bool CollapsingHeader(const char *label, ImGuiTreeNodeFlags flags=0)
Definition: imgui_widgets.cpp:5422
int resolution
The level of detail to use for the primitive. Only used in cylinders.
Definition: world_objects.h:375
void MarkForRebuild()
Definition: BlamWorldObject_Gizmo.cpp:26
std::vector< BlamTagInstance * > instances
Definition: tags.h:147
BLAM BlamVector3 GetGizmoMousePosition3D()
Definition: ogre.cpp:604
bool SetTagPath(std::string new_path)
Updates the tag path.
Definition: BlamTagData.cpp:31
BlamWorldObject * GetObjectAtIndex(int index)
Definition: BlamWorldState.cpp:141
void Render()
Renders the object to the screen.
Definition: BlamWorldObject_Tag.cpp:37
Definition: world_objects.h:361
BLAM BlamTagData * CloneTag(BlamTagData *original_tag_data)
Creates a copy of a tag in memory.
Definition: tag_io.cpp:864
bool HasObject(uint64_t object_id)
Definition: BlamWorldObject_Group.cpp:41
BlamWorldObject_Primitive(BlamWorldObjectType _type, BlamWorldState *_world)
Creates a new primitive world object.
Definition: BlamWorldObject_Primitive.cpp:21
font DisplayOffset y
Definition: README.txt:68
BlamWorldObject * GetObjectById(uint64_t object_id)
Definition: BlamWorldState.cpp:149
~BlamWorldObject_Gizmo3DCursor()
Definition: BlamWorldObject_Gizmo3DCursor.cpp:23
float radius_1
A secondary radius of the primitive. Only used in cylinders.
Definition: world_objects.h:374
void Render() override
Renders the object to the screen.
Definition: BlamWorldObject_GizmoTransform.cpp:90
void Render() override
Renders the object to the screen.
Definition: BlamWorldObject_Gizmo3DCursor.cpp:28
HCURSOR cursor
Main window cursor.
Definition: main.cpp:63
@ QF_USER_12
Definition: world_objects.h:54
uint64_t id
A unique identifier for this object. Used to identify objects during runtime.
Definition: world_objects.h:137
@ QF_USER_11
Definition: world_objects.h:53
void OnMouseHoverExit() override
Definition: BlamWorldObject_GizmoTransform.cpp:181
IMGUI_API bool BeginCombo(const char *label, const char *preview_value, ImGuiComboFlags flags=0)
Definition: imgui_widgets.cpp:1416
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
Definition: world_objects.h:62
@ QF_USER_5
Definition: world_objects.h:47
BlamTagInstance * GetInstance(std::string identifier)
Definition: BlamTagData.cpp:69
void ShowImGuiEditControls() override
Definition: BlamWorldObject_PrimitiveCylinder.cpp:254
bool custom_datablock
Definition: world_objects.h:284
@ QF_NONE
Definition: world_objects.h:68
virtual void Render()
Renders the object to the screen.
Definition: BlamWorldObject.cpp:42
BlamWorldObject_GizmoGrid(BlamWorldState *_world)
Definition: BlamWorldObject_GizmoGrid.cpp:18
Ogre::Camera * getCamera(void) const
Definition: GraphicsSystem.h:148
Definition: world_objects.h:196
void Render() override
Renders the object to the screen.
Definition: BlamWorldObject_Group.cpp:81
@ QF_ENGINE_RESERVED_4
Definition: world_objects.h:41
void Update() override
Definition: BlamWorldObject_GizmoGrid.cpp:165
void Rebuild() override
Definition: BlamWorldObject_Gizmo3DCursor.cpp:41
bool HasObject(uint64_t object_id)
Definition: BlamWorldState.cpp:125
@ QF_USER_14
Definition: world_objects.h:56
float radius_0
The radius of the primitive. Only used in cylinders.
Definition: world_objects.h:345
BlamWorldObjectType type
The type of this world object.
Definition: world_objects.h:145
void Render() override
Renders the object to the screen.
Definition: BlamWorldObject_PrimitiveCylinder.cpp:233
float radius_1
A secondary radius of the primitive. Only used in cylinders.
Definition: world_objects.h:346
void ShowImGuiEditControls() override
Definition: BlamWorldObject_GizmoGrid.cpp:176
BlamVector3 GetRotation()
Definition: BlamWorldObject.cpp:146
@ QF_USER_19
Definition: world_objects.h:61
BlamVector3 GetDirection()
Definition: BlamWorldObject_PrimitiveLine.cpp:94
@ QF_USER_23
Definition: world_objects.h:65
std::string identifier
Definition: tags.h:227
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(BlamWorldState *_world)
Definition: BlamWorldObject_Gizmo3DCursor.cpp:11
unsigned int uint32_t
Definition: stdint.h:17
BLAM BlamTagData * GetTagData(std::string tag_path)
Retrieves information for a given tag.
Definition: tags.cpp:80
virtual void CreateManualObject()
Definition: BlamWorldObject_Primitive.cpp:42
void SetEndPoint(BlamVector3 point)
Definition: BlamWorldObject_PrimitiveLine.cpp:49
Ogre::HlmsDatablock * datablock
Definition: world_objects.h:291
@ QF_ANY
Definition: world_objects.h:69
void OnTickEvent(TickEvent *event)
Definition: BlamWorldState.cpp:165
float GetLength()
Definition: BlamWorldObject_PrimitiveLine.cpp:101
virtual void OnMouseMove(MouseMoveEvent *event)
Definition: BlamWorldObject.cpp:264
void Poke()
Definition: BlamTagData.cpp:87
BLAM Demo::GraphicsSystem * GetGraphicsSystem()
Retrieves the graphics system used by OGRE.
Definition: ogre.cpp:492
bool GetHidden()
Definition: BlamWorldObject.cpp:232
bool RemoveObject(uint64_t object_id, bool delete_data=true)
Definition: BlamWorldState.cpp:100
Class representing the Director.
Definition: director.h:27
int resolution
The level of detail to use for the primitive. Only used in cylinders.
Definition: world_objects.h:347
Class representing a primitive-based world object.
Definition: world_objects.h:268
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
@ QF_ENGINE_GIZMO
Definition: world_objects.h:36
void ShowImGuiEditControls() override
Definition: BlamWorldObject_PrimitiveLine.cpp:116
IMGUI_API void EndCombo()
Definition: imgui_widgets.cpp:1522
BlamVector3 GetEndPoint()
Definition: BlamWorldObject_PrimitiveLine.cpp:89
void SetTransformEnabled(bool enabled)
Definition: BlamWorldObject_Tag.cpp:218
Definition: world_objects.h:321
void Render() override
Renders the object to the screen.
Definition: BlamWorldObject_GizmoTransform.cpp:147
@ QF_USER_22
Definition: world_objects.h:64
Definition: world_objects.h:438
float distance
Definition: world_objects.h:75
int lines_y
Definition: world_objects.h:350
Class representing a world object.
Definition: world_objects.h:119
void OnMouseHoverEnter() override
Definition: BlamWorldObject_GizmoTransform.cpp:176
BlamVector3 GetStartPoint()
Definition: BlamWorldObject_PrimitiveLine.cpp:84
void RemoveObject(uint64_t object_id)
Definition: BlamWorldObject_Group.cpp:20
BlamWorldObject(BlamWorldState *_world, BlamWorldObjectType _type)
Creates a new world object.
Definition: BlamWorldObject.cpp:15
@ QF_USER_10
Definition: world_objects.h:52
BlamDirector * camera
Definition: director.cpp:3
BlamWorldObject_PrimitiveCuboid(BlamWorldState *_world)
Definition: BlamWorldObject_PrimitiveCuboid.cpp:8
int GetObjectCount()
Definition: BlamWorldObject_Group.cpp:36
#define WORLD_OBJECT_USER_KEY
Definition: world_objects.h:16
void SetHidden(bool hidden)
Definition: BlamWorldObject.cpp:237
IMGUI_API bool ColorEdit4(const char *label, float col[4], ImGuiColorEditFlags flags=0)
Definition: imgui_widgets.cpp:4154
Definition: world_objects.h:331
@ QF_USER_1
Definition: world_objects.h:43
@ QF_USER_16
Definition: world_objects.h:58
void OnMouseClick(MouseClickEvent *event) override
Definition: BlamWorldObject_GizmoTransform.cpp:167
#define ENGINE_TEXT(string_id)
Definition: engine_text.h:7
@ QF_ENGINE_RESERVED_2
Definition: world_objects.h:39
BlamVector3 GetScale()
Definition: BlamWorldObject.cpp:200
void SetPosition(BlamVector3 position)
Definition: BlamWorldObject.cpp:189
void SetCustomDatabablock(Ogre::HlmsDatablock *datablock, bool wireframe)
Definition: BlamWorldObject_Primitive.cpp:165
bool needs_update
Definition: world_objects.h:424
bitfield16 flags
Definition: render_model.h:28
BLAM Ogre::MeshPtr GetModelFromTagPath(std::string tag_path)
Definition: models.cpp:221
BLAM Ogre::Light * CreateLightFromTag(light *light)
Definition: lights.cpp:9
BlamWorldObject * parent
Definition: world_objects.h:143
BlamWorldObject_Tag(BlamTagData *_tag_data, BlamWorldState *_world)
Creates a new tag-based world object.
Definition: BlamWorldObject_Tag.cpp:14
~BlamWorldState()
Destroys the world state.
Definition: BlamWorldState.cpp:29
virtual void OnMouseUnclick(MouseUnclickEvent *event)
Definition: BlamWorldObject.cpp:274
@ QF_USER_7
Definition: world_objects.h:49
BlamTagInstance * CreateNewInstance()
Definition: BlamTagData.cpp:56
void SetScale(BlamVector3 scale)
Definition: BlamWorldObject.cpp:205
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:130
BlamGizmoCuboid(BlamWorldObject_GizmoTransform *parent, BlamAxis _axis)
Definition: BlamWorldObject_GizmoTransform.cpp:141
void SetStartPoint(BlamVector3 point)
Definition: BlamWorldObject_PrimitiveLine.cpp:43
Definition: world_objects.h:18
config GlyphExtraSpacing x
Definition: README.txt:30
@ QF_USER_2
Definition: world_objects.h:44
Class used to contain and access tag data.
Definition: tags.h:124
void SetLength(float length)
Definition: BlamWorldObject_PrimitiveLine.cpp:64
Ogre::MovableObject * ogre_item
Definition: world_objects.h:239
@ QF_USER_24
Definition: world_objects.h:66
BlamWorldObject_Gizmo(BlamWorldObject *_parent, BlamWorldObjectType _type)
Definition: world_objects.h:429
Blam3DPrimitiveRenderMode render_mode
Definition: world_objects.h:296
virtual void ShowImGuiEditControls()
Definition: BlamWorldObject.cpp:112
bool needs_rebuild
Definition: world_objects.h:425
@ QF_ENGINE_RESERVED_3
Definition: world_objects.h:40
BlamTagData * instance
Definition: tags.h:228
#define INT32_MAX
Definition: stdint.h:66
BlamWorldObject_PrimitiveLine(BlamWorldState *_world)
Definition: BlamWorldObject_PrimitiveLine.cpp:10
BlamWorldState * world
The world state this object belongs to.
Definition: world_objects.h:142
void SetRotation(BlamVector3 _rotation, bool local_axes=false)
Definition: BlamWorldObject.cpp:151
BlamVector3 camera_pos
The current position of the camera.
Definition: director.h:80
~BlamWorldObject_Primitive()
Definition: BlamWorldObject_Primitive.cpp:31
void ShowImGuiEditControls() override
Definition: BlamWorldObject_PrimitiveSphere.cpp:183
Class representing a world state.
Definition: world_objects.h:540
BLAM bool * GetGlobalAsBoolean(std::string name)
Retrieves a global's value as a boolean.
Definition: globals.cpp:343
IMGUI_API ImGuiID GetID(const char *str_id)
Definition: imgui.cpp:7032
@ QF_USER_17
Definition: world_objects.h:59
void CreateManualObject()
Definition: BlamWorldObject_GizmoTransform.cpp:47
std::string description
An optional description of this object.
Definition: world_objects.h:139
void Rebuild() override
Definition: BlamWorldObject_GizmoGrid.cpp:83
BlamWorldState()
Initializes a new world state.
Definition: BlamWorldState.cpp:10
vector3 default_scale_modifier
Definition: render_model.h:30
std::string tag_class
The tag's short class name.
Definition: tags.h:144