 |
Blamite Game Engine - blam!
00388.06.24.23.2301.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
48 ascii source_filename;
49 ascii source_file_format;
50 ascii source_pixel_format;
51 ascii parsed_pixel_format;
66 {1,
"haloman30",
"Initial implementation."},
67 {2,
"haloman30",
"Add test datarefs and tagrefs"},
68 {3,
"haloman30",
"Remove all test fields, actual initial implementation"},
69 {4,
"haloman30",
"Add multiple filtering enums for min, mag, mip, and allow bitmap filter mode to override material filter mode"},
70 {5,
"haloman30",
"Add support for RGBA8_UNORM pixel formats, move format_temp to import info block as parsed_pixel_format"}
78 "The texture filtering mode adjusts how the bitmap is displayed in-game. Below is a list of all filtering modes and their ideal use cases."
80 "* Point - Minimal filtering mode that preserves sharp edges. Ideal for pixel art or other similar cases."
82 "* Linear - Balanced filtering mode that will attempt to blend pixels together to avoid a pixelated appearance, with a "
83 "minimal performance impact. Ideal for most situations."
85 "* Anisotropic - Best filtering mode. Performs the poorest but gives the best possible image quality."
87 "* None - No filtering is applied. Will often be identical to Point filtering."),
88 new Enum32Field(
"filtering mode (min)",
"The texture filtering mode for minification. See comment above for details.",
95 new Enum32Field(
"filtering mode (mag)",
"The texture filtering mode for magnification. See comment above for details.",
102 new Enum32Field(
"filtering mode (mip)",
"The texture filtering mode for mip-mapping. See comment above for details.",
111 "force mip filtering mode",
112 "force min filtering mode",
113 "force mag filtering mode"
117 "***************************************************************************************************************************"
119 "The fields below contain the raw bitmap data. It is updated when you reimport the bitmap."
121 "Any changes you make below will be lost in the next import, and may even cause 'bad things' to happen - such as invalid "
122 "textures or crashes."
124 "If you wish to make any changes to a bitmap, you should simply re-import the image from its source. If the source image file"
125 "has been lost, consult the documentation for methods to export a bitmap tag back into a source image file."
127 "***************************************************************************************************************************"),
129 new Enum32Field(
"format",
"The pixel format of the bitmap data.",
135 new Vector2Field(
"size",
"The resolution of the bitmap.",
"[w,h]"),
136 new Int16Field(
"bytes per line",
"The amount of bytes needed for a single line/row of pixels for this bitmap."),
137 new BlockField(
sizeof(bitmap::import_info_entry),
"import info",
"",
139 new CommentField(
"IMPORT INFO",
"The fields listed below refer to data from the originally imported file, and "
140 "are not used by the engine directly."),
141 new Int64Field(
"source filesize",
"The file size of the original image, in bytes."),
142 new AsciiField(
"source filename",
"The file name (or file path) of the original image."),
143 new AsciiField(
"source file format",
"The format of the original image."),
144 new AsciiField(
"source pixel format",
"The original pixel format of the source image."),
145 new AsciiField(
"parsed pixel format",
"The pixel format of the interpreted image data during import."),
Class representing an int16 tag field.
Definition: int.h:59
int resource_id
The resource ID of the bitmap.
Definition: render_stack.h:592
bool visible
Whether or not the object is visible.
Definition: render_stack.h:375
Namespace containing functions related to tag data.
Definition: bitmap.h:151
BLAM void LogEvent(std::string message)
Logs a message to the log and/or console.
Definition: aliases.cpp:142
int width
Definition: bgfx.cpp:19
@ bitm_filter_none
Definition: bitmap.h:15
Class representing an ascii tag field.
Definition: ascii.h:18
BLAM HRESULT DrawBitmapFromResource(int res_id, const char *res_type, D2D1_RECT_F area, int width, int height)
Draws a bitmap pulled from an application resource.
Definition: bitmap.cpp:6
Class representing a vector2 tag field.
Definition: vector.h:34
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
char resource_type_buffer[256]
Resource name buffer for ImGUI editor.
Definition: Bitmap.cpp:10
BLAM ID2D1DeviceContext * GetD2DRenderTarget()
Retrieves the Direct2D render target.
Definition: render_manage.cpp:598
Class representing a data reference, or dataref for short.
Definition: dataref.h:19
BitmapTagClass()
Definition: bitmap.h:59
TAG_ENUM(format, { BF_RGBA8_UNORM, BF_UNUSED })
signed short int16_t
Definition: stdint.h:122
int16_t bytes_per_line
Definition: bitmap.h:43
TAG_BLOCK(import_info, { int64_t source_filesize;ascii source_filename;ascii source_file_format;ascii source_pixel_format;ascii parsed_pixel_format;})
std::vector< BlamTagClassField * > fields
A series of tag fields that store the layout of the tag.
Definition: tags.h:94
Typedef for a bitfield8 field, used in tag data definitions.
Definition: tags.h:259
@ bitm_filter_point
Definition: bitmap.h:12
std::vector< BlamTagClassRevision > revisions
List of all tag class revisions. Does not get written to tags, but is included in plugin files.
Definition: tags.h:92
vector2 size
Definition: bitmap.h:42
@ bitm_filter_linear
Definition: bitmap.h:13
std::string class_name_short
The short, 4-character name of the tag class.
Definition: tags.h:90
BLAM ID2D1Factory * GetD2DFactory()
Retrieves the Direct2D factory.
Definition: render_manage.cpp:603
int version
The tag class version. Should be incremented any time a tag class is modified whatsoever.
Definition: tags.h:91
std::string class_name_long
The longer class name. Typically shown alongside short name for user-friendliness.
Definition: tags.h:89
void ShowImPropertyEditor()
Shows a set of ImGUI properties associated with the object.
Definition: Bitmap.cpp:28
Class representing an int64 tag field.
Definition: int.h:33
bitmap_filtering_mode filter_mode_mip
Definition: bitmap.h:31
BLAM BlamTagData * GetTagData(std::string tag_path)
Retrieves information for a given tag.
Definition: tags.cpp:80
BLAM bitmap * GetBitmapTag(std::string tag_path)
Definition: bitmap.cpp:5
BLAM HRESULT CreateD2DBitmapFromResource(int res_id, const char *res_type, ID2D1Bitmap **bitmap_pointer)
Creates a Direct2D bitmap from an application resource.
Definition: wic.cpp:262
void Draw()
Draws the stack object.
Definition: Bitmap.cpp:13
#define IM_ARRAYSIZE(_ARR)
Definition: imgui.h:75
signed __int64 int64_t
Definition: stdint.h:135
D2D1_RECT_F area
The area of the object.
Definition: render_stack.h:369
@ bitm_filter_anisotropic
Definition: bitmap.h:14
bitmap_filtering_mode filter_mode_min
Definition: bitmap.h:29
data_reference pixel_data
Definition: bitmap.h:41
#define BLAM
Definition: bitmap.h:7
bitfield8 flags
Definition: bitmap.h:33
float width
The width of the object.
Definition: render_stack.h:379
int height
Definition: bgfx.cpp:20
bitmap_filtering_mode
Definition: bitmap.h:10
Structure representing a data reference.
Definition: tags.h:232
bitmap_filtering_mode filter_mode_mag
Definition: bitmap.h:30
const char * resource_type
The resource type of the bitmap.
Definition: render_stack.h:593
int tag_size
The size of the tag's data. Used on loading/writing tag files.
Definition: tags.h:96
Structure representing a Bitmap tag.
Definition: bitmap.h:27
void * address
The address pointing to the start of the tag's data.
Definition: tags.h:33
float height
The height of the object.
Definition: render_stack.h:380
BLAM std::string GetStringFromHResult(HRESULT hr)
Converts a result handle to a string.
Definition: errors.cpp:120
Class used to contain and access tag data.
Definition: tags.h:30
Class representing a tag block field, also sometimes referred to as a struct or reflexive in the modd...
Definition: block.h:21
IMGUI_API bool InputInt(const char *label, int *v, int step=1, int step_fast=100, ImGuiInputTextFlags flags=0)
Definition: imgui_widgets.cpp:3031
Class representing a tag class.
Definition: tags.h:86
Class representing a bitfield8 tag field.
Definition: bitfield.h:33