Elaztek Developer Hub
Blamite Game Engine - blam!  00367.02.08.23.1815.blamite
The core library for the Blamite Game Engine.
mouse_cursor_definition.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #ifndef BLAM
7 #define BLAM
8 #endif
9 
10 namespace Blam::Content::Tags
11 {
12 #pragma pack(push, 1)
14  {
15  //tagref
16  int hot_x;
17  int hot_y;
18  };
19 
29  {
31  };
32 #pragma pack(pop)
33 
34  namespace Classes
35  {
37  {
38  public:
40  {
41  class_name_long = "mouse_cursor_definition";
42  class_name_short = "mcur";
43  version = 1;
44 
45  revisions = {
46  {1, "haloman30", "Initial implementation."}
47  };
48 
50 
51  fields =
52  {
53  new CommentField("Mouse Cursor Bitmaps",
54  "0 - Normal mouse cursor\r\n1 - Busy mouse cursor\r\n2 - Hover mouse cursor\r\n3 - Text select mouse cursor"),
55  new BlockField(sizeof(mouse_cursor_bitmaps), "Mouse Cursor Bitmaps", "",
56  {
57  //tagref
58  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."),
59  new Int32Field("hot x", "The X coordinate of the 'hot' pixel on the cursor."),
60  new Int32Field("hot y", "The Y coordinate of the 'hot' pixel on the cursor.")
61  }),
62  };
63  }
64  };
65  }
66 
67  BLAM mouse_cursor_definition* GetMouseCursorDefinitionTag(std::string tag_path);
68 }
Blam::Content::Tags
Namespace containing functions related to tag data.
Definition: bitmap.h:151
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:102
BLAM
#define BLAM
Definition: mouse_cursor_definition.h:7
Blam::Content::Tags::mouse_cursor_bitmaps::hot_y
int hot_y
Definition: mouse_cursor_definition.h:17
Blam::Content::Tags::mouse_cursor_bitmaps
Definition: mouse_cursor_definition.h:13
Blam::Content::Tags::Classes::MouseCursorDefinitionTagClass
Definition: mouse_cursor_definition.h:36
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
BlamTagClass::class_name_short
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tagclass.h:47
BlamTagClass::version
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tagclass.h:48
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
fields.h
Int32Field
Class representing an int32 tag field.
Definition: int.h:40
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::Classes::MouseCursorDefinitionTagClass::MouseCursorDefinitionTagClass
MouseCursorDefinitionTagClass()
Definition: mouse_cursor_definition.h:39
Blam::Content::Tags::mouse_cursor_bitmaps::hot_x
int hot_x
Definition: mouse_cursor_definition.h:16
Blam::Content::Tags::mouse_cursor_definition
Structure representing a Mouse Cursor Definition tag.
Definition: mouse_cursor_definition.h:28
tagclass.h
CommentField
Class representing a comment field.
Definition: comment.h:23
BlockField
Class representing a tag block field, also sometimes referred to as a struct or reflexive in the modd...
Definition: block.h:13
BlamTagClass
Class representing a tag class.
Definition: tagclass.h:43
BlamTagClass::fields
std::vector< BlamPluginField * > 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:30