Blamite Game Engine - blam!  00296.01.12.21.0102.blamite
The core library for the Blamite Game Engine.
mouse_cursor_definition.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../tagclass.h"
4 
5 #ifndef BLAM
6 #define BLAM
7 #endif
8 
9 namespace Blam::Content::Tags
10 {
12  {
13  //tagref
14  int hot_x;
15  int hot_y;
16  };
17 
27  {
29  };
30 
31  namespace Classes
32  {
34  {
35  public:
37  {
38  class_name_long = "mouse_cursor_definition";
39  class_name_short = "mcur";
40  version = 1;
41 
42  revisions = {
43  {1, "haloman30", "Initial implementation."}
44  };
45 
47 
48  fields =
49  {
50  new CommentField("Mouse Cursor Bitmaps",
51  "0 - Normal mouse cursor\r\n1 - Busy mouse cursor\r\n2 - Hover mouse cursor\r\n3 - Text select mouse cursor"),
52  new Block(sizeof(mouse_cursor_bitmaps), "Mouse Cursor Bitmaps", "",
53  {
54  //tagref
55  new CommentField("hot pixel", "The hot pixel is the pixel that represents the actual focus area of the pointer. For example, in a normal mouse cursor, the hot pixel would be placed at the very tip of the arrow."),
56  new Int32Field("hot x", "The X coordinate of the 'hot' pixel on the cursor."),
57  new Int32Field("hot y", "The Y coordinate of the 'hot' pixel on the cursor.")
58  }),
59  };
60  }
61  };
62  }
63 
64  BLAM mouse_cursor_definition* GetMouseCursorDefinitionTag(std::string tag_path);
65 }
Blam::Content::Tags
Namespace containing things related to tag data.
Definition: bitmap.h:9
Blam::Content::Tags::GetMouseCursorDefinitionTag
BLAM mouse_cursor_definition * GetMouseCursorDefinitionTag(std::string tag_path)
Definition: mouse_cursor_definition.cpp:5
tag_block
Structure representing a tag block.
Definition: tags.h:79
Blam::Content::Tags::BlamTagClass::tag_size
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tagclass.h:53
Blam::Content::Tags::Block
Class representing a tag block, also referred to as a struct or reflexive in the modding community.
Definition: fields.h:745
Blam::Content::Tags::mouse_cursor_bitmaps::hot_y
int hot_y
Definition: mouse_cursor_definition.h:15
Blam::Content::Tags::BlamTagClass
Class representing a tag class.
Definition: tagclass.h:43
Blam::Content::Tags::mouse_cursor_bitmaps
Definition: mouse_cursor_definition.h:11
Blam::Content::Tags::Classes::MouseCursorDefinitionTagClass
Definition: mouse_cursor_definition.h:33
Blam::Content::Tags::CommentField
Class representing a comment field.
Definition: fields.h:666
Blam::Content::Tags::BlamTagClass::class_name_short
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tagclass.h:47
Blam::Content::Tags::Int32Field
Class representing an int32 tag field.
Definition: fields.h:127
BLAM
#define BLAM
Definition: discord_rpc.h:8
Blam::Content::Tags::Classes::MouseCursorDefinitionTagClass::MouseCursorDefinitionTagClass
MouseCursorDefinitionTagClass()
Definition: mouse_cursor_definition.h:36
Blam::Content::Tags::BlamTagClass::version
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tagclass.h:48
Blam::Content::Tags::mouse_cursor_bitmaps::hot_x
int hot_x
Definition: mouse_cursor_definition.h:14
Blam::Content::Tags::mouse_cursor_definition
Structure representing a Mouse Cursor Definition tag.
Definition: mouse_cursor_definition.h:26
Blam::Content::Tags::BlamTagClass::class_name_long
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tagclass.h:46
Blam::Content::Tags::BlamTagClass::revisions
std::vector< BlamTagClassRevision > revisions
List of all tag class revisions. Does not get written to tags, but is included in plugin files.
Definition: tagclass.h:49
Blam::Content::Tags::BlamTagClass::fields
std::vector< TagField * > fields
A series of tag fields that store the layout of the tag.
Definition: tagclass.h:51
Blam::Content::Tags::mouse_cursor_definition::mouse_cursor_bitmaps
tag_block< mouse_cursor_bitmaps > mouse_cursor_bitmaps
Definition: mouse_cursor_definition.h:28