bn namespace

Main Butano namespace.

Namespaces

namespace audio
Audio related functions.
namespace bg_maps
Background maps related functions.
namespace bg_palettes
Background color palettes related functions.
namespace bg_tiles
Background tiles related functions.
namespace bgs
Backgrounds related functions.
namespace bgs_mosaic
Functions related with the mosaic applied to the backgrounds.
namespace blending
Blending related functions.
namespace cameras
Cameras related functions.
namespace colors
Some constant colors from TONC.
namespace core
Core related functions.
namespace display
Display related functions.
namespace green_swap
When it is enabled, green intensity of each two screen pixels are exchanged.
namespace hbes
H-Blank effects related functions.
namespace hdma
H-Blank direct memory access related functions.
namespace keypad
Keypad related functions.
namespace link
Link communication related functions.
namespace memory
Memory related functions.
namespace music
Music related functions.
namespace profiler
Profiler related functions.
namespace rumble
Rumble related functions.
namespace sound
Sound effects related functions.
namespace sprite_affine_mats
Sprite affine transformation matrices related functions.
namespace sprite_palettes
Sprite color palettes related functions.
namespace sprite_tiles
Sprite tiles related functions.
namespace sprites
Sprites related functions.
namespace sprites_mosaic
Functions related with the mosaic applied to the sprites.
namespace sram
SRAM related functions.
namespace timers
Timing related functions.
namespace version
Current version of Butano.

Classes

class affine_bg_attributes
Manages the attributes to commit to the GBA register of an affine background.
class affine_bg_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes to commit to the GBA register of an affine background in each screen horizontal line.
class affine_bg_blending_manager
Manages if blending must be applied to an affine_bg_ptr or not.
class affine_bg_blending_toggle_action
Toggles if blending must be applied to an affine_bg_ptr or not when the action is updated a given number of times.
class affine_bg_builder
Creates affine_bg_map_ptr objects with custom attributes.
class affine_bg_dx_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the the fifth GBA register of an affine_bg_ptr in each screen horizontal line.
class affine_bg_dy_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the the sixth GBA register of an affine_bg_ptr in each screen horizontal line.
class affine_bg_horizontal_flip_manager
Manages if an affine_bg_ptr is flipped in its horizontal axis or not.
class affine_bg_horizontal_flip_toggle_action
Toggles if an affine_bg_ptr must be flipped in the horizontal axis or not when the action is updated a given number of times.
class affine_bg_horizontal_scale_loop_action
Modifies the horizontal scale of an affine_bg_ptr from a minimum to a maximum. When the horizontal scale is equal to the given final state, it goes back to its initial state and vice versa.
class affine_bg_horizontal_scale_manager
Manages the horizontal scale of an affine_bg_ptr.
class affine_bg_horizontal_scale_to_action
Modifies the horizontal scale of an affine_bg_ptr until it has a given state.
class affine_bg_horizontal_scale_toggle_action
Changes the horizontal scale of an affine_bg_ptr when the action is updated a given number of times.
class affine_bg_horizontal_shear_loop_action
Modifies the horizontal shear of an affine_bg_ptr from a minimum to a maximum. When the horizontal shear is equal to the given final state, it goes back to its initial state and vice versa.
class affine_bg_horizontal_shear_manager
Manages the horizontal shear of an affine_bg_ptr.
class affine_bg_horizontal_shear_to_action
Modifies the horizontal shear of an affine_bg_ptr until it has a given state.
class affine_bg_horizontal_shear_toggle_action
Changes the horizontal shear of an affine_bg_ptr when the action is updated a given number of times.
class affine_bg_item
Contains the required information to generate affine backgrounds and their maps.
class affine_bg_map_cell_info
Manages the properties of an affine background map cell.
class affine_bg_map_item
Contains the required information to generate affine background maps.
class affine_bg_map_ptr
std::shared_ptr like smart pointer that retains shared ownership of an affine background map.
class affine_bg_mat_attributes
Contains the attributes which define the position and the transformation matrix of an affine background.
class affine_bg_mat_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes which define the position and the transformation matrix of an affine_bg_ptr in each screen horizontal line.
class affine_bg_mosaic_manager
Manages if the mosaic effect must be applied to an affine_bg_ptr or not.
class affine_bg_mosaic_toggle_action
Toggles if the mosaic effect must be applied to an affine_bg_ptr or not when the action is updated a given number of times.
class affine_bg_move_by_action
Modifies the position of an affine_bg_ptr by a given delta.
class affine_bg_move_loop_action
Modifies the position of an affine_bg_ptr from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class affine_bg_move_pivot_by_action
Modifies the position of the pivot of an affine_bg_ptr by a given delta.
class affine_bg_move_pivot_loop_action
Modifies the position of the pivot of an affine_bg_ptr from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class affine_bg_move_pivot_to_action
Modifies the position of the pivot of an affine_bg_ptr until it has a given state.
class affine_bg_move_pivot_toggle_action
Changes the position of the pivot of an affine_bg_ptr when the action is updated a given number of times.
class affine_bg_move_to_action
Modifies the position of an affine_bg_ptr until it has a given state.
class affine_bg_move_toggle_action
Changes the position of an affine_bg_ptr when the action is updated a given number of times.
class affine_bg_pa_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the first GBA register of an affine_bg_ptr in each screen horizontal line.
class affine_bg_pb_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the second GBA register of an affine_bg_ptr in each screen horizontal line.
class affine_bg_pc_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the third GBA register of an affine_bg_ptr in each screen horizontal line.
class affine_bg_pd_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the fourth GBA register of an affine_bg_ptr in each screen horizontal line.
class affine_bg_pivot_position_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the position of the affine transformations pivot point of an affine background in each screen horizontal line.
class affine_bg_pivot_position_manager
Manages the position of the pivot of an affine_bg_ptr.
class affine_bg_position_manager
Manages the position of an affine_bg_ptr.
class affine_bg_ptr
std::shared_ptr like smart pointer that retains shared ownership of an affine background.
class affine_bg_rotate_by_action
Modifies the rotation angle of an affine_bg_ptr by delta_rotation_angle. When the rotation angle is over 360, it goes back to 0 and vice versa.
class affine_bg_rotate_loop_action
Modifies the rotation angle of an affine_bg_ptr from a minimum to a maximum. When the rotation angle is equal to the given final state, it goes back to its initial state and vice versa.
class affine_bg_rotate_to_action
Modifies the rotation angle of an affine_bg_ptr until it has a given state.
class affine_bg_rotate_toggle_action
Changes the rotation angle of an affine_bg_ptr when the action is updated a given number of times.
class affine_bg_rotation_manager
Manages the rotation angle of an affine_bg_ptr.
class affine_bg_scale_loop_action
Modifies the scale of an affine_bg_ptr from a minimum to a maximum. When the scale is equal to the given final state, it goes back to its initial state and vice versa.
class affine_bg_scale_manager
Manages the scale of an affine_bg_ptr.
class affine_bg_scale_to_action
Modifies the scale of an affine_bg_ptr until it has a given state.
class affine_bg_scale_toggle_action
Changes the scale of an affine_bg_ptr when the action is updated a given number of times.
class affine_bg_shear_loop_action
Modifies the shear of an affine_bg_ptr from a minimum to a maximum. When the shear is equal to the given final state, it goes back to its initial state and vice versa.
class affine_bg_shear_manager
Manages the shear of an affine_bg_ptr.
class affine_bg_shear_to_action
Modifies the shear of an affine_bg_ptr until it has a given state.
class affine_bg_shear_toggle_action
Changes the shear of an affine_bg_ptr when the action is updated a given number of times.
class affine_bg_tiles_item
Contains the required information to generate affine background tiles.
class affine_bg_tiles_ptr
std::shared_ptr like smart pointer that retains shared ownership of the tiles of an affine background.
class affine_bg_vertical_flip_manager
Manages if an affine_bg_ptr is flipped in its vertical axis or not.
class affine_bg_vertical_flip_toggle_action
Toggles if an affine_bg_ptr must be flipped in the vertical axis or not when the action is updated a given number of times.
class affine_bg_vertical_scale_loop_action
Modifies the vertical scale of an affine_bg_ptr from a minimum to a maximum. When the vertical scale is equal to the given final state, it goes back to its initial state and vice versa.
class affine_bg_vertical_scale_manager
Manages the vertical scale of an affine_bg_ptr.
class affine_bg_vertical_scale_to_action
Modifies the vertical scale of an affine_bg_ptr until it has a given state.
class affine_bg_vertical_scale_toggle_action
Changes the vertical scale of an affine_bg_ptr when the action is updated a given number of times.
class affine_bg_vertical_shear_loop_action
Modifies the vertical shear of an affine_bg_ptr from a minimum to a maximum. When the vertical shear is equal to the given final state, it goes back to its initial state and vice versa.
class affine_bg_vertical_shear_manager
Manages the vertical shear of an affine_bg_ptr.
class affine_bg_vertical_shear_to_action
Modifies the vertical shear of an affine_bg_ptr until it has a given state.
class affine_bg_vertical_shear_toggle_action
Changes the vertical shear of an affine_bg_ptr when the action is updated a given number of times.
class affine_bg_visible_manager
Manages if an affine_bg_ptr must be committed to the GBA or not.
class affine_bg_visible_toggle_action
Toggles if an affine_bg_ptr must be committed to the GBA or not when the action is updated a given number of times.
class affine_bg_wrapping_manager
Manages if an affine background must wrap around at the edges or not.
class affine_bg_wrapping_toggle_action
Toggles if an affine_bg_ptr must wrap around at the edges or not when the action is updated a given number of times.
class affine_mat_attributes
Contains the attributes which define an affine transformation matrix.
template<int MaxSize, int MaxAlignment>
class any
Any implementation that uses a fixed size buffer.
template<typename Type, int Size>
class array
Container that encapsulates fixed size arrays.
class bg_palette_color_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the color of a background color palette in each screen horizontal line.
class bg_palette_fade_loop_action
Modifies the intensity of the fade effect applied to a bg_palette_ptr from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class bg_palette_fade_manager
Manages the intensity of the fade effect applied to a bg_palette_ptr.
class bg_palette_fade_to_action
Modifies the intensity of the fade effect applied to a bg_palette_ptr until it has a given state.
class bg_palette_fade_toggle_action
Changes the intensity of the fade effect applied to a bg_palette_ptr when the action is updated a given number of times.
class bg_palette_grayscale_loop_action
Modifies the intensity of the grayscale effect applied to a bg_palette_ptr from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class bg_palette_grayscale_manager
Manages the intensity of the grayscale effect applied to a bg_palette_ptr.
class bg_palette_grayscale_to_action
Modifies the intensity of the grayscale effect applied to a bg_palette_ptr until it has a given state.
class bg_palette_grayscale_toggle_action
Changes the intensity of the grayscale effect applied to a bg_palette_ptr when the action is updated a given number of times.
class bg_palette_inverted_manager
Manages if the colors of a bg_palette_ptr must be inverted or not.
class bg_palette_inverted_toggle_action
Toggles if the colors of a bg_palette_ptr must be inverted or not when the action is updated a given number of times.
class bg_palette_item
Contains the required information to generate background color palettes.
class bg_palette_ptr
std::shared_ptr like smart pointer that retains shared ownership of a background color palette.
class bg_palette_rotate_by_action
Modifies the number of colors to rotate to the right in a bg_palette_ptr by delta_count when the action is updated a given number of times. When the property is over the given maximum, it goes back to the given minimum and vice versa.
class bg_palette_rotate_loop_action
Modifies the number of colors to rotate to the right in a bg_palette_ptrç from a minimum to a maximum. When the number of colors to rotate to the right is equal to the given final state, it goes back to its initial state and vice versa.
class bg_palette_rotate_manager
Manages the number of colors to rotate to the right in a bg_palette_ptr.
class bg_palette_rotate_to_action
Modifies the number of colors to rotate to the right in a bg_palette_ptr until it has a given state.
class bg_palette_rotate_toggle_action
Changes the number of colors to rotate to the right in a bg_palette_ptr when the action is updated a given number of times.
class bg_palettes_brightness_loop_action
Modifies the brightness of all background color palettes from a minimum to a maximum. When the brightness is equal to the given final state, it goes back to its initial state and vice versa.
class bg_palettes_brightness_manager
Manages the brightness of all background color palettes.
class bg_palettes_brightness_to_action
Modifies the brightness of all background color palettes until it has a given state.
class bg_palettes_brightness_toggle_action
Changes the brightness of all background color palettes when the action is updated a given number of times.
class bg_palettes_contrast_loop_action
Modifies the contrast of all background color palettes from a minimum to a maximum. When the contrast is equal to the given final state, it goes back to its initial state and vice versa.
class bg_palettes_contrast_manager
Manages the contrast of all background color palettes.
class bg_palettes_contrast_to_action
Modifies the contrast of all background color palettes until it has a given state.
class bg_palettes_contrast_toggle_action
Changes the contrast of all background color palettes when the action is updated a given number of times.
class bg_palettes_fade_loop_action
Modifies the intensity of the fade effect applied to all background color palettes from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class bg_palettes_fade_manager
Manages the intensity of the fade effect applied to all background color palettes.
class bg_palettes_fade_to_action
Modifies the intensity of the fade effect applied to all background color palettes until it has a given state.
class bg_palettes_fade_toggle_action
Changes the intensity of the fade effect applied to all background color palettes when the action is updated a given number of times.
class bg_palettes_grayscale_loop_action
Modifies the intensity of the grayscale effect applied to all background color palettes from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class bg_palettes_grayscale_manager
Manages the intensity of the grayscale effect applied to all background color palettes.
class bg_palettes_grayscale_to_action
Modifies the intensity of the grayscale effect applied to all background color palettes until it has a given state.
class bg_palettes_grayscale_toggle_action
Changes the intensity of the grayscale effect applied to all background color palettes when the action is updated a given number of times.
class bg_palettes_intensity_loop_action
Modifies the intensity of all background color palettes from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class bg_palettes_intensity_manager
Manages the intensity of all background color palettes.
class bg_palettes_intensity_to_action
Modifies the intensity of all background color palettes until it has a given state.
class bg_palettes_intensity_toggle_action
Changes the intensity of all background color palettes when the action is updated a given number of times.
class bg_palettes_inverted_manager
Manages if the colors of all background color palettes must be inverted or not.
class bg_palettes_inverted_toggle_action
Toggles if the colors of all background color palettes must be inverted or not when the action is updated a given number of times.
class bg_palettes_transparent_color_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the transparent color of the backgrounds in each screen horizontal line.
class bgs_mosaic_horizontal_stretch_loop_action
Modifies the horizontal stretch of the mosaic applied to the backgrounds from a minimum to a maximum. When the horizontal stretch is equal to the given final state, it goes back to its initial state and vice versa.
class bgs_mosaic_horizontal_stretch_manager
Manages the horizontal stretch of the mosaic applied to the backgrounds.
class bgs_mosaic_horizontal_stretch_to_action
Modifies the horizontal stretch of the mosaic applied to the backgrounds until it has a given state.
class bgs_mosaic_horizontal_stretch_toggle_action
Changes the horizontal stretch of the mosaic applied to the backgrounds when the action is updated a given number of times.
class bgs_mosaic_stretch_loop_action
Modifies the stretch of the mosaic applied to the backgrounds from a minimum to a maximum. When the stretch is equal to the given final state, it goes back to its initial state and vice versa.
class bgs_mosaic_stretch_manager
Manages the stretch of the mosaic applied to the backgrounds.
class bgs_mosaic_stretch_to_action
Modifies the stretch of the mosaic applied to the backgrounds until it has a given state.
class bgs_mosaic_stretch_toggle_action
Changes the stretch of the mosaic applied to the backgrounds when the action is updated a given number of times.
class bgs_mosaic_vertical_stretch_loop_action
Modifies the vertical stretch of the mosaic applied to the backgrounds from a minimum to a maximum. When the vertical stretch is equal to the given final state, it goes back to its initial state and vice versa.
class bgs_mosaic_vertical_stretch_manager
Manages the vertical stretch of the mosaic applied to the backgrounds.
class bgs_mosaic_vertical_stretch_to_action
Modifies the vertical stretch of the mosaic applied to the backgrounds until it has a given state.
class bgs_mosaic_vertical_stretch_toggle_action
Changes the vertical stretch of the mosaic applied to the backgrounds when the action is updated a given number of times.
template<int Size>
class bitset
bitset implementation.
class blending_fade_alpha
Manages the attributes to commit to the GBA fade blending register.
class blending_fade_alpha_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the weight of the fade blending in each screen horizontal line.
class blending_fade_alpha_loop_action
Modifies the weight of the fade blending from a minimum to a maximum. When the weight is equal to the given final state, it goes back to its initial state and vice versa.
class blending_fade_alpha_manager
Manages the weight of the fade blending.
class blending_fade_alpha_to_action
Modifies the weight of the fade blending until it has a given state.
class blending_fade_alpha_toggle_action
Changes the weight of the fade blending when the action is updated a given number of times.
class blending_intensity_alpha_loop_action
Modifies the weight of the intensity blending from a minimum to a maximum. When the weight is equal to the given final state, it goes back to its initial state and vice versa.
class blending_intensity_alpha_manager
Manages the weight of the intensity blending.
class blending_intensity_alpha_to_action
Modifies the weight of the intensity blending until it has a given state.
class blending_intensity_alpha_toggle_action
Changes the weight of the intensity blending when the action is updated a given number of times.
class blending_transparency_alpha_loop_action
Modifies the weight of the transparency blending from a minimum to a maximum. When the weight is equal to the given final state, it goes back to its initial state and vice versa.
class blending_transparency_alpha_manager
Manages the weight of the transparency blending.
class blending_transparency_alpha_to_action
Modifies the weight of the transparency blending until it has a given state.
class blending_transparency_alpha_toggle_action
Changes the weight of the transparency blending when the action is updated a given number of times.
class blending_transparency_attributes
Manages the attributes to commit to the GBA transparency and intensity blendings register.
class blending_transparency_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the weights of the transparency and intensity blendings in each screen horizontal line.
class blending_transparency_bottom_weight_loop_action
Modifies the weight of the transparency blending for the bottom layers from a minimum to a maximum. When the weight is equal to the given final state, it goes back to its initial state and vice versa.
class blending_transparency_bottom_weight_manager
Manages the weight of the transparency blending for the bottom layers.
class blending_transparency_bottom_weight_to_action
Modifies the weight of the transparency blending for the bottom layers until it has a given state.
class blending_transparency_bottom_weight_toggle_action
Changes the weight of the transparency blending for the bottom layers when the action is updated a given number of times.
class blending_transparency_top_weight_loop_action
Modifies the weight of the transparency blending for the top layers from a minimum to a maximum. When the weight is equal to the given final state, it goes back to its initial state and vice versa.
class blending_transparency_top_weight_manager
Manages the weight of the transparency blending for the top layers.
class blending_transparency_top_weight_to_action
Modifies the weight of the transparency blending for the top layers until it has a given state.
class blending_transparency_top_weight_toggle_action
Changes the weight of the transparency blending for the top layers when the action is updated a given number of times.
template<class PropertyManager>
class bool_toggle_template_action
Toggles a boolean property when the action is updated a given number of times.
template<typename Value, class PropertyManager>
class bool_toggle_value_template_action
Toggles a boolean property of a value when the action is updated a given number of times.
template<typename Property, class PropertyManager>
class by_template_action
Modifies a property by a given delta.
template<typename Value, typename Property, class PropertyManager>
class by_value_template_action
Modifies the property of a value by a given delta.
class camera_move_by_action
Modifies the position of a camera_ptr by a given delta.
class camera_move_loop_action
Modifies the position of a camera_ptr from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class camera_move_to_action
Modifies the position of a camera_ptr until it has a given state.
class camera_move_toggle_action
Changes the position of a camera_ptr when the action is updated a given number of times.
class camera_position_manager
Manages the position of a camera_ptr.
class camera_ptr
std::shared_ptr like smart pointer that retains shared ownership of a camera.
class color
Defines a color in the GBA format (15 bits BGR).
template<typename Property, class PropertyManager>
class cyclic_by_template_action
Modifies the property by delta from a minimum to a maximum. When the property is over the given maximum, it goes back to the given minimum and vice versa.
template<typename Value, typename Property, class PropertyManager>
class cyclic_by_value_template_action
Modifies the property of a value by delta from a minimum to a maximum. When the property is over the given maximum, it goes back to the given minimum and vice versa.
template<typename Property, class PropertyManager>
class cyclic_duration_by_template_action
Modifies the property by delta when the action is updated a given number of times. When the property is over the given maximum, it goes back to the given minimum and vice versa.
template<typename Value, typename Property, class PropertyManager>
class cyclic_duration_by_value_template_action
Modifies the property of a value by delta when the action is updated a given number of times. When the property is over the given maximum, it goes back to the given minimum and vice versa.
template<typename Type>
struct default_delete
Default deleter.
template<typename Type, int MaxSize>
class deque
Deque implementation that uses a fixed size buffer.
template<typename Property, class PropertyManager>
class duration_by_template_action
Modifies the property by delta when the action is updated a given number of times.
template<typename Value, typename Property, class PropertyManager>
class duration_by_value_template_action
Modifies the property of a value by delta when the action is updated a given number of times.
template<typename Type>
class equal_to
Function object for performing comparisons using the equal operator.
class fixed_point
Defines a two-dimensional point using fixed point precision.
class fixed_rect
Defines a two-dimensional rectangle using fixed point precision.
class fixed_size
Defines the size of a two-dimensional object using fixed point precision.
template<int Precision>
class fixed_t
Poor man's float.
template<typename Type, int MaxSize>
class forward_list
Forward list implementation that uses a fixed size buffer.
template<int MaxElementSize, int MaxSize>
class generic_pool
Generic pool implementation that uses a fixed size buffer.
class green_swap_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the state of green swap in each screen horizontal line.
class green_swap_manager
Manages if green swap must be enabled or not.
class green_swap_toggle_action
Toggles if green swap must be enabled or not when the action is updated a given number of times.
template<typename Type>
struct hash
Hash function object.
template<>
struct hash<affine_bg_map_ptr>
Hash support for affine_bg_map_ptr.
template<>
struct hash<affine_bg_mat_attributes_hbe_ptr>
Hash support for affine_bg_mat_attributes_hbe_ptr.
template<>
struct hash<affine_bg_ptr>
Hash support for affine_bg_ptr.
template<>
struct hash<affine_bg_tiles_ptr>
Hash support for affine_bg_tiles_ptr.
template<>
struct hash<bg_palette_ptr>
Hash support for bg_palette_ptr.
template<>
struct hash<bool>
Hash support for bool.
template<>
struct hash<camera_ptr>
Hash support for camera_ptr.
template<>
struct hash<char>
Hash support for char.
template<>
struct hash<color>
Hash support for color.
template<>
struct hash<double>
Hash support for double.
template<>
struct hash<fixed_point>
Hash support for fixed_point.
template<>
struct hash<fixed_rect>
Hash support for fixed_rect.
template<>
struct hash<fixed_size>
Hash support for fixed_size.
template<int Precision>
struct hash<fixed_t<Precision>>
Hash support for fixed_t.
template<>
struct hash<float>
Hash support for float.
template<>
struct hash<hbe_ptr>
Hash support for hbe_ptr.
template<>
struct hash<int>
Hash support for int.
template<>
struct hash<int16_t>
Hash support for int16_t.
template<>
struct hash<int64_t>
Hash support for int64_t.
template<>
struct hash<int8_t>
Hash support for int8_t.
template<>
struct hash<istring_base>
Hash support for istring_base.
template<>
struct hash<long double>
Hash support for long double.
template<>
struct hash<music_item>
Hash support for music_item.
template<typename Type>
struct hash<optional<Type>>
Hash support for optional.
template<>
struct hash<point>
Hash support for point.
template<>
struct hash<rect>
Hash support for rect.
template<>
struct hash<regular_bg_map_ptr>
Hash support for regular_bg_map_ptr.
template<>
struct hash<regular_bg_ptr>
Hash support for regular_bg_ptr.
template<>
struct hash<regular_bg_tiles_ptr>
Hash support for regular_bg_tiles_ptr.
template<>
struct hash<size>
Hash support for size.
template<>
struct hash<sound_item>
Hash support for sound_item.
template<>
struct hash<sprite_affine_mat_attributes_hbe_ptr>
Hash support for sprite_affine_mat_attributes_hbe_ptr.
template<>
struct hash<sprite_affine_mat_ptr>
Hash support for sprite_affine_mat_ptr.
template<>
struct hash<sprite_palette_ptr>
Hash support for sprite_palette_ptr.
template<>
struct hash<sprite_ptr>
Hash support for sprite_ptr.
template<>
struct hash<sprite_tiles_ptr>
Hash support for sprite_tiles_ptr.
template<>
struct hash<string_view>
Hash support for string_view.
template<typename Type>
struct hash<Type*>
Hash support for pointers.
template<>
struct hash<uint16_t>
Hash support for uint16_t.
template<>
struct hash<uint64_t>
Hash support for uint64_t.
template<>
struct hash<uint8_t>
Hash support for uint8_t.
template<typename Type, typename Deleter>
struct hash<unique_ptr<Type, Deleter>>
Hash support for unique_ptr.
template<>
struct hash<unsigned>
Hash support for unsigned.
template<>
struct hash<window>
Hash support for window.
class hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect.
class hbe_visible_manager
Manages if a hbe_ptr must be committed to the GBA or not.
class hbe_visible_toggle_action
Toggles if a hbe_ptr must be committed to the GBA or not when the action is updated a given number of times.
class iany
Base class of any.
class ibitset
Base class of bitset.
template<typename Type>
class ideque
Base class of deque.
template<typename Type>
class iforward_list
Base class of forward_list.
template<int MaxElementSize>
class igeneric_pool
Base class of generic_pool.
template<typename Type>
class ilist
Base class of list.
class inside_window
Window which region can be covered by other window.
class inside_window_visible_manager
Manages if a inside_window must be committed to the GBA or not.
class inside_window_visible_toggle_action
Toggles if a inside_window must be committed to the GBA or not when the action is updated a given number of times.
template<typename Type>
class intrusive_forward_list
Intrusive forward list implementation.
class intrusive_forward_list_node_type
To be part of an intrusive_forward_list, values must inherit this class.
template<class Type>
class intrusive_list
Intrusive list implementation.
class intrusive_list_node_type
To be part of an intrusive_list, values must inherit this class.
template<typename Type>
class ipool
Base class of pool.
class istring
Base class of string.
class istring_base
Base class of istring.
template<typename Key, typename Value, typename KeyHash, typename KeyEqual>
class iunordered_map
Base class of unordered_map.
template<typename Key, typename KeyHash, typename KeyEqual>
class iunordered_set
Base class of unordered_set.
template<typename Type>
class ivector
Base class of vector.
template<typename Type>
class less
Function object for performing comparisons using the less than operator.
class link_player
Contains the data of a message provided by a player.
class link_state
Stores the state of a communication through the link cable.
template<typename Type, int MaxSize>
class list
List implementation that uses a fixed size buffer.
template<typename Property, class PropertyManager>
class loop_template_action
Modifies the property by delta from a minimum to a maximum. When the property is equal to the given final state, it goes back to its initial state and vice versa.
template<typename Value, typename Property, class PropertyManager>
class loop_value_template_action
Modifies the property of a value by delta from a minimum to a maximum. When the property is equal to the given final state, it goes back to its initial state and vice versa.
class mosaic_attributes
Manages the attributes to commit to the GBA mosaic register.
class mosaic_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes to commit to the GBA mosaic register in each screen horizontal line.
class music_item
Contains the required information to play music.
class music_volume_loop_action
Modifies the volume of the active music from a minimum to a maximum. When the volume is equal to the given final state, it goes back to its initial state and vice versa.
class music_volume_manager
Manages the volume of the active music.
class music_volume_to_action
Modifies the volume of the active music until it has a given state.
class music_volume_toggle_action
Changes the volume of the active music when the action is updated a given number of times.
class nullopt_t
Empty class type used to indicate an optional type with uninitialized state.
template<typename Type>
class optional
Manages an optional contained value (a value that may or may not be present).
class ostringstream
Implements output operations on string based streams.
template<typename Type1, typename Type2>
class pair
Provides a way to store two heterogeneous objects as a single unit.
class point
Defines a two-dimensional point using integer precision.
template<typename Type, int MaxSize>
class pool
Pool implementation that uses a fixed size buffer.
class random
Fast, deterministic random number generator.
class rect
Defines a two-dimensional rectangle using integer precision.
class rect_window
Rectangular window.
class rect_window_bottom_manager
Manages the position of the bottom boundary of a rect_window.
class rect_window_bottom_right_manager
Manages the position of the bottom-right corner of a rect_window.
class rect_window_boundaries_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the boundaries of a rect window in each screen horizontal line.
class rect_window_left_manager
Manages the position of the left boundary of a rect_window.
class rect_window_move_bottom_by_action
Modifies the position of the bottom boundary of a rect_window by a given delta.
class rect_window_move_bottom_loop_action
Modifies the position of the bottom boundary of a rect_window from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class rect_window_move_bottom_right_by_action
Modifies the position of the bottom-right corner of a rect_window by a given delta.
class rect_window_move_bottom_right_loop_action
Modifies the position of the bottom-right corner of a rect_window from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class rect_window_move_bottom_right_to_action
Modifies the position of the bottom-right corner of a rect_window until it has a given state.
class rect_window_move_bottom_right_toggle_action
Changes the position of the bottom-right corner of a rect_window when the action is updated a given number of times.
class rect_window_move_bottom_to_action
Modifies the position of the bottom boundary of a rect_window until it has a given state.
class rect_window_move_bottom_toggle_action
Changes the position of the bottom boundary of a rect_window when the action is updated a given number of times.
class rect_window_move_left_by_action
Modifies the position of the left boundary of a rect_window by a given delta.
class rect_window_move_left_loop_action
Modifies the position of the left boundary of a rect_window from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class rect_window_move_left_to_action
Modifies the position of the left boundary of a rect_window until it has a given state.
class rect_window_move_left_toggle_action
Changes the position of the left boundary of a rect_window when the action is updated a given number of times.
class rect_window_move_right_by_action
Modifies the position of the right boundary of a rect_window by a given delta.
class rect_window_move_right_loop_action
Modifies the position of the right boundary of a rect_window from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class rect_window_move_right_to_action
Modifies the position of the right boundary of a rect_window until it has a given state.
class rect_window_move_right_toggle_action
Changes the position of the right boundary of a rect_window when the action is updated a given number of times.
class rect_window_move_top_by_action
Modifies the position of the top boundary of a rect_window by a given delta.
class rect_window_move_top_left_by_action
Modifies the position of the top-left corner of a rect_window by a given delta.
class rect_window_move_top_left_loop_action
Modifies the position of the top-left corner of a rect_window from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class rect_window_move_top_left_to_action
Modifies the position of the top-left corner of a rect_window until it has a given state.
class rect_window_move_top_left_toggle_action
Changes the position of the top-left corner of a rect_window when the action is updated a given number of times.
class rect_window_move_top_loop_action
Modifies the position of the top boundary of a rect_window from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class rect_window_move_top_to_action
Modifies the position of the top boundary of a rect_window until it has a given state.
class rect_window_move_top_toggle_action
Changes the position of the top boundary of a rect_window when the action is updated a given number of times.
class rect_window_right_manager
Manages the position of the right boundary of a rect_window.
class rect_window_top_left_manager
Manages the position of the top-left corner of a rect_window.
class rect_window_top_manager
Manages the position of the top boundary of a rect_window.
class regular_bg_attributes
Manages the attributes to commit to the GBA register of a regular background.
class regular_bg_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes to commit to the GBA register of a regular background in each screen horizontal line.
class regular_bg_blending_manager
Manages if blending must be applied to a regular_bg_ptr or not.
class regular_bg_blending_toggle_action
Toggles if blending must be applied to a regular_bg_ptr or not when the action is updated a given number of times.
class regular_bg_builder
Creates regular_bg_map_ptr objects with custom attributes.
class regular_bg_item
Contains the required information to generate regular backgrounds and their maps.
class regular_bg_map_cell_info
Manages the properties of a regular background map cell.
class regular_bg_map_item
Contains the required information to generate regular background maps.
class regular_bg_map_ptr
std::shared_ptr like smart pointer that retains shared ownership of a regular background map.
class regular_bg_mosaic_manager
Manages if the mosaic effect must be applied to a regular_bg_ptr or not.
class regular_bg_mosaic_toggle_action
Toggles if the mosaic effect must be applied to a regular_bg_ptr or not when the action is updated a given number of times.
class regular_bg_move_by_action
Modifies the position of a regular_bg_ptr by a given delta.
class regular_bg_move_loop_action
Modifies the position of a regular_bg_ptr from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class regular_bg_move_to_action
Modifies the position of a regular_bg_ptr until it has a given state.
class regular_bg_move_toggle_action
Changes the position of a regular_bg_ptr when the action is updated a given number of times.
class regular_bg_position_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the position of a regular background in each screen horizontal line.
class regular_bg_position_manager
Manages the position of a regular_bg_ptr.
class regular_bg_ptr
std::shared_ptr like smart pointer that retains shared ownership of a regular background.
class regular_bg_tiles_item
Contains the required information to generate regular background tiles.
class regular_bg_tiles_ptr
std::shared_ptr like smart pointer that retains shared ownership of the tiles of a regular background.
class regular_bg_visible_manager
Manages if a regular_bg_ptr must be committed to the GBA or not.
class regular_bg_visible_toggle_action
Toggles if a regular_bg_ptr must be committed to the GBA or not when the action is updated a given number of times.
class rule_of_three_approximation
Approximates a rule of three cross-multiplication (x = (value * multiplier) / divisor).
class rumble_manager
Manages if rumble must be enabled or not.
class rumble_toggle_action
Toggles if rumble must be enabled or not when the action is updated a given number of times.
class size
Defines the size of a two-dimensional object using integer precision.
class sound_item
Contains the required information to play sound effects.
template<typename Type>
class span
Refers to a contiguous sequence of elements with the first element of the sequence at position zero.
class sprite_affine_mat_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes of a sprite_affine_mat_ptr in each screen horizontal line.
class sprite_affine_mat_horizontal_flip_manager
Manages if a sprite_affine_mat_ptr is flipped in its horizontal axis or not.
class sprite_affine_mat_horizontal_flip_toggle_action
Toggles if a sprite_affine_mat_ptr must be flipped in the horizontal axis or not when the action is updated a given number of times.
class sprite_affine_mat_horizontal_scale_loop_action
Modifies the horizontal scale of a sprite_affine_mat_ptr from a minimum to a maximum. When the horizontal scale is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_affine_mat_horizontal_scale_manager
Manages the horizontal scale of a sprite_affine_mat_ptr.
class sprite_affine_mat_horizontal_scale_to_action
Modifies the horizontal scale of a sprite_affine_mat_ptr until it has a given state.
class sprite_affine_mat_horizontal_scale_toggle_action
Changes the horizontal scale of a sprite_affine_mat_ptr when the action is updated a given number of times.
class sprite_affine_mat_horizontal_shear_loop_action
Modifies the horizontal shear of a sprite_affine_mat_ptr from a minimum to a maximum. When the horizontal shear is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_affine_mat_horizontal_shear_manager
Manages the horizontal shear of a sprite_affine_mat_ptr.
class sprite_affine_mat_horizontal_shear_to_action
Modifies the horizontal shear of a sprite_affine_mat_ptr until it has a given state.
class sprite_affine_mat_horizontal_shear_toggle_action
Changes the horizontal shear of a sprite_affine_mat_ptr when the action is updated a given number of times.
class sprite_affine_mat_pa_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the first GBA register of a sprite_affine_mat_ptr in each screen horizontal line.
class sprite_affine_mat_pb_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the second GBA register of a sprite_affine_mat_ptr in each screen horizontal line.
class sprite_affine_mat_pc_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the third GBA register of a sprite_affine_mat_ptr in each screen horizontal line.
class sprite_affine_mat_pd_register_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes or the values to commit to the fourth GBA register of a sprite_affine_mat_ptr in each screen horizontal line.
class sprite_affine_mat_ptr
std::shared_ptr like smart pointer that retains shared ownership of a sprite affine transformation matrix.
class sprite_affine_mat_rotate_by_action
Modifies the rotation angle of a sprite_affine_mat_ptr by delta_rotation_angle. When the rotation angle is over 360, it goes back to 0 and vice versa.
class sprite_affine_mat_rotate_loop_action
Modifies the rotation angle of a sprite_affine_mat_ptr from a minimum to a maximum. When the rotation angle is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_affine_mat_rotate_to_action
Modifies the rotation angle of a sprite_affine_mat_ptr until it has a given state.
class sprite_affine_mat_rotate_toggle_action
Changes the rotation angle of a sprite_affine_mat_ptr when the action is updated a given number of times.
class sprite_affine_mat_rotation_manager
Manages the rotation angle of a sprite_affine_mat_ptr.
class sprite_affine_mat_scale_loop_action
Modifies the scale of a sprite_affine_mat_ptr from a minimum to a maximum. When the scale is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_affine_mat_scale_manager
Manages the scale of a sprite_affine_mat_ptr.
class sprite_affine_mat_scale_to_action
Modifies the scale of a sprite_affine_mat_ptr until it has a given state.
class sprite_affine_mat_scale_toggle_action
Changes the scale of a sprite_affine_mat_ptr when the action is updated a given number of times.
class sprite_affine_mat_shear_loop_action
Modifies the shear of a sprite_affine_mat_ptr from a minimum to a maximum. When the shear is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_affine_mat_shear_manager
Manages the shear of a sprite_affine_mat_ptr.
class sprite_affine_mat_shear_to_action
Modifies the shear of a sprite_affine_mat_ptr until it has a given state.
class sprite_affine_mat_shear_toggle_action
Changes the shear of a sprite_affine_mat_ptr when the action is updated a given number of times.
class sprite_affine_mat_vertical_flip_manager
Manages if a sprite_affine_mat_ptr is flipped in its vertical axis or not.
class sprite_affine_mat_vertical_flip_toggle_action
Toggles if a sprite_affine_mat_ptr must be flipped in the vertical axis or not when the action is updated a given number of times.
class sprite_affine_mat_vertical_scale_loop_action
Modifies the vertical scale of a sprite_affine_mat_ptr from a minimum to a maximum. When the vertical scale is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_affine_mat_vertical_scale_manager
Manages the vertical scale of a sprite_affine_mat_ptr.
class sprite_affine_mat_vertical_scale_to_action
Modifies the vertical scale of a sprite_affine_mat_ptr until it has a given state.
class sprite_affine_mat_vertical_scale_toggle_action
Changes the vertical scale of a sprite_affine_mat_ptr when the action is updated a given number of times.
class sprite_affine_mat_vertical_shear_loop_action
Modifies the vertical shear of a sprite_affine_mat_ptr from a minimum to a maximum. When the vertical shear is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_affine_mat_vertical_shear_manager
Manages the vertical shear of a sprite_affine_mat_ptr.
class sprite_affine_mat_vertical_shear_to_action
Modifies the vertical shear of a sprite_affine_mat_ptr until it has a given state.
class sprite_affine_mat_vertical_shear_toggle_action
Changes the vertical shear of a sprite_affine_mat_ptr when the action is updated a given number of times.
class sprite_affine_second_attributes
Manages the attributes to commit to the second GBA register of an affine sprite (with an attached sprite_affine_mat_ptr).
class sprite_affine_second_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes to commit to the second GBA register of an affine sprite (with an attached sprite_affine_mat_ptr) in each screen horizontal line.
template<int MaxSize>
class sprite_animate_action
Changes the tile set of a sprite_ptr when the action is updated a given number of times.
class sprite_blending_manager
Manages if blending must be applied to a sprite_ptr or not.
class sprite_blending_toggle_action
Toggles if blending must be applied to a sprite_ptr or not when the action is updated a given number of times.
class sprite_builder
Creates sprite_ptr objects with custom attributes.
template<int MaxSize>
class sprite_cached_animate_action
Changes the tile set of a sprite_ptr when the action is updated a given number of times.
class sprite_first_attributes
Manages the attributes to commit to the first GBA register of a sprite.
class sprite_first_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes to commit to the first GBA register of a sprite in each screen horizontal line.
class sprite_font
Contains the required information to generate text sprites.
class sprite_horizontal_flip_manager
Manages if a sprite_ptr is flipped in its horizontal axis or not.
class sprite_horizontal_flip_toggle_action
Toggles if a sprite_ptr must be flipped in the horizontal axis or not when the action is updated a given number of times.
class sprite_horizontal_scale_loop_action
Modifies the horizontal scale of a sprite_ptr from a minimum to a maximum. When the horizontal scale is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_horizontal_scale_manager
Manages the horizontal scale of a sprite_ptr.
class sprite_horizontal_scale_to_action
Modifies the horizontal scale of a sprite_ptr until it has a given state.
class sprite_horizontal_scale_toggle_action
Changes the horizontal scale of a sprite_ptr when the action is updated a given number of times.
class sprite_horizontal_shear_loop_action
Modifies the horizontal shear of a sprite_ptr from a minimum to a maximum. When the horizontal shear is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_horizontal_shear_manager
Manages the horizontal shear of a sprite_ptr.
class sprite_horizontal_shear_to_action
Modifies the horizontal shear of a sprite_ptr until it has a given state.
class sprite_horizontal_shear_toggle_action
Changes the horizontal shear of a sprite_ptr when the action is updated a given number of times.
class sprite_item
Contains the required information to generate sprites.
class sprite_mosaic_manager
Manages if the mosaic effect must be applied to a sprite_ptr or not.
class sprite_mosaic_toggle_action
Toggles if the mosaic effect must be applied to a sprite_ptr or not when the action is updated a given number of times.
class sprite_move_by_action
Modifies the position of a sprite_ptr by a given delta.
class sprite_move_loop_action
Modifies the position of a sprite_ptr from a minimum to a maximum. When the position is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_move_to_action
Modifies the position of a sprite_ptr until it has a given state.
class sprite_move_toggle_action
Changes the position of a sprite_ptr when the action is updated a given number of times.
class sprite_palette_color_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the color of a sprite color palette in each screen horizontal line.
class sprite_palette_fade_loop_action
Modifies the intensity of the fade effect applied to a sprite_palette_ptr from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_palette_fade_manager
Manages the intensity of the fade effect applied to a sprite_palette_ptr.
class sprite_palette_fade_to_action
Modifies the intensity of the fade effect applied to a sprite_palette_ptr until it has a given state.
class sprite_palette_fade_toggle_action
Changes the intensity of the fade effect applied to a sprite_palette_ptr when the action is updated a given number of times.
class sprite_palette_grayscale_loop_action
Modifies the intensity of the grayscale effect applied to a sprite_palette_ptr from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_palette_grayscale_manager
Manages the intensity of the grayscale effect applied to a sprite_palette_ptr.
class sprite_palette_grayscale_to_action
Modifies the intensity of the grayscale effect applied to a sprite_palette_ptr until it has a given state.
class sprite_palette_grayscale_toggle_action
Changes the intensity of the grayscale effect applied to a sprite_palette_ptr when the action is updated a given number of times.
class sprite_palette_inverted_manager
Manages if the colors of a sprite_palette_ptr must be inverted or not.
class sprite_palette_inverted_toggle_action
Toggles if the colors of a sprite_palette_ptr must be inverted or not when the action is updated a given number of times.
class sprite_palette_item
Contains the required information to generate sprite color palettes.
class sprite_palette_ptr
std::shared_ptr like smart pointer that retains shared ownership of a sprite color palette.
class sprite_palette_rotate_by_action
Modifies the number of colors to rotate to the right in a sprite_palette_ptr by delta_count when the action is updated a given number of times. When the property is over the given maximum, it goes back to the given minimum and vice versa.
class sprite_palette_rotate_loop_action
Modifies the number of colors to rotate to the right in a sprite_palette_ptr from a minimum to a maximum. When the number of colors to rotate to the right is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_palette_rotate_manager
Manages the number of colors to rotate to the right in a sprite_palette_ptr.
class sprite_palette_rotate_to_action
Modifies the number of colors to rotate to the right in a sprite_palette_ptr until it has a given state.
class sprite_palette_rotate_toggle_action
Changes the number of colors to rotate to the right in a sprite_palette_ptr when the action is updated a given number of times.
class sprite_palettes_brightness_loop_action
Modifies the brightness of all sprite color palettes from a minimum to a maximum. When the brightness is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_palettes_brightness_manager
Manages the brightness of all sprite color palettes.
class sprite_palettes_brightness_to_action
Modifies the brightness of all sprite color palettes until it has a given state.
class sprite_palettes_brightness_toggle_action
Changes the brightness of all sprite color palettes when the action is updated a given number of times.
class sprite_palettes_contrast_loop_action
Modifies the contrast of all sprite color palettes from a minimum to a maximum. When the contrast is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_palettes_contrast_manager
Manages the contrast of all sprite color palettes.
class sprite_palettes_contrast_to_action
Modifies the contrast of all sprite color palettes until it has a given state.
class sprite_palettes_contrast_toggle_action
Changes the contrast of all sprite color palettes when the action is updated a given number of times.
class sprite_palettes_fade_loop_action
Modifies the intensity of the fade effect applied to all sprite color palettes from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_palettes_fade_manager
Manages the intensity of the fade effect applied to all sprite color palettes.
class sprite_palettes_fade_to_action
Modifies the intensity of the fade effect applied to all sprite color palettes until it has a given state.
class sprite_palettes_fade_toggle_action
Changes the intensity of the fade effect applied to all sprite color palettes when the action is updated a given number of times.
class sprite_palettes_grayscale_loop_action
Modifies the intensity of the grayscale effect applied to all sprite color palettes from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_palettes_grayscale_manager
Manages the intensity of the grayscale effect applied to all sprite color palettes.
class sprite_palettes_grayscale_to_action
Modifies the intensity of the grayscale effect applied to all sprite color palettes until it has a given state.
class sprite_palettes_grayscale_toggle_action
Changes the intensity of the grayscale effect applied to all sprite color palettes when the action is updated a given number of times.
class sprite_palettes_intensity_loop_action
Modifies the intensity of all sprite color palettes from a minimum to a maximum. When the intensity is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_palettes_intensity_manager
Manages the intensity of all sprite color palettes.
class sprite_palettes_intensity_to_action
Modifies the intensity of all sprite color palettes until it has a given state.
class sprite_palettes_intensity_toggle_action
Changes the intensity of all sprite color palettes when the action is updated a given number of times.
class sprite_palettes_inverted_manager
Manages if the colors of all sprite color palettes must be inverted or not.
class sprite_palettes_inverted_toggle_action
Toggles if the colors of all sprite color palettes must be inverted or not when the action is updated a given number of times.
class sprite_position_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the position of a sprite in each screen horizontal line.
class sprite_position_manager
Manages the position of a sprite_ptr.
class sprite_ptr
std::shared_ptr like smart pointer that retains shared ownership of a sprite.
class sprite_regular_second_attributes
Manages the attributes to commit to the second GBA register of a regular sprite (without an attached sprite_affine_mat_ptr).
class sprite_regular_second_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes to commit to the second GBA register of a regular sprite (without an attached sprite_affine_mat_ptr) in each screen horizontal line.
class sprite_rotate_by_action
Modifies the rotation angle of a sprite_ptr by delta_rotation_angle. When the rotation angle is over 360, it goes back to 0 and vice versa.
class sprite_rotate_loop_action
Modifies the rotation angle of a sprite_ptr from a minimum to a maximum. When the rotation angle is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_rotate_to_action
Modifies the rotation angle of a sprite_ptr until it has a given state.
class sprite_rotate_toggle_action
Changes the rotation angle of a sprite_ptr when the action is updated a given number of times.
class sprite_rotation_manager
Manages the rotation angle of a sprite_ptr.
class sprite_scale_loop_action
Modifies the scale of a sprite_ptr from a minimum to a maximum. When the scale is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_scale_manager
Manages the scale of a sprite_ptr.
class sprite_scale_to_action
Modifies the scale of a sprite_ptr until it has a given state.
class sprite_scale_toggle_action
Changes the scale of a sprite_ptr when the action is updated a given number of times.
class sprite_shape_size
Calculates sprite dimensions from its shape and size.
class sprite_shear_loop_action
Modifies the shear of a sprite_ptr from a minimum to a maximum. When the shear is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_shear_manager
Manages the shear of a sprite_ptr.
class sprite_shear_to_action
Modifies the shear of a sprite_ptr until it has a given state.
class sprite_shear_toggle_action
Changes the shear of a sprite_ptr when the action is updated a given number of times.
class sprite_text_generator
Generates sprites containing text from a given sprite_font.
class sprite_third_attributes
Manages the attributes to commit to the third GBA register of a sprite.
class sprite_third_attributes_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the attributes to commit to the third GBA register of a sprite in each screen horizontal line.
class sprite_tiles_item
Contains the required information to generate sprite tiles.
class sprite_tiles_ptr
std::shared_ptr like smart pointer that retains shared ownership of the tiles of a sprite.
class sprite_vertical_flip_manager
Manages if a sprite_ptr is flipped in its vertical axis or not.
class sprite_vertical_flip_toggle_action
Toggles if a sprite_ptr must be flipped in the vertical axis or not when the action is updated a given number of times.
class sprite_vertical_scale_loop_action
Modifies the vertical scale of a sprite_ptr from a minimum to a maximum. When the vertical scale is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_vertical_scale_manager
Manages the vertical scale of a sprite_ptr.
class sprite_vertical_scale_to_action
Modifies the vertical scale of a sprite_ptr until it has a given state.
class sprite_vertical_scale_toggle_action
Changes the vertical scale of a sprite_ptr when the action is updated a given number of times.
class sprite_vertical_shear_loop_action
Modifies the vertical shear of a sprite_ptr from a minimum to a maximum. When the vertical shear is equal to the given final state, it goes back to its initial state and vice versa.
class sprite_vertical_shear_manager
Manages the vertical shear of a sprite_ptr.
class sprite_vertical_shear_to_action
Modifies the vertical shear of a sprite_ptr until it has a given state.
class sprite_vertical_shear_toggle_action
Changes the vertical shear of a sprite_ptr when the action is updated a given number of times.
class sprite_visible_manager
Manages if a sprite_ptr must be committed to the GBA or not.
class sprite_visible_toggle_action
Toggles if a sprite_ptr must be committed to the GBA or not when the action is updated a given number of times.
class sprite_window_manager
Manages if a sprite_ptr must be part of the silhouette of the sprite window or not.
class sprite_window_toggle_action
Toggles if a sprite_ptr must be part of the silhouette of the sprite window or not when the action is updated a given number of times.
class sprites_mosaic_horizontal_stretch_loop_action
Modifies the horizontal stretch of the mosaic applied to the sprites from a minimum to a maximum. When the horizontal stretch is equal to the given final state, it goes back to its initial state and vice versa.
class sprites_mosaic_horizontal_stretch_manager
Manages the horizontal stretch of the mosaic applied to the sprites.
class sprites_mosaic_horizontal_stretch_to_action
Modifies the horizontal stretch of the mosaic applied to the sprites until it has a given state.
class sprites_mosaic_horizontal_stretch_toggle_action
Changes the horizontal stretch of the mosaic applied to the sprites when the action is updated a given number of times.
class sprites_mosaic_stretch_loop_action
Modifies the stretch of the mosaic applied to the sprites from a minimum to a maximum. When the stretch is equal to the given final state, it goes back to its initial state and vice versa.
class sprites_mosaic_stretch_manager
Manages the stretch of the mosaic applied to the sprites.
class sprites_mosaic_stretch_to_action
Modifies the stretch of the mosaic applied to the sprites until it has a given state.
class sprites_mosaic_stretch_toggle_action
Changes the stretch of the mosaic applied to the sprites when the action is updated a given number of times.
class sprites_mosaic_vertical_stretch_loop_action
Modifies the vertical stretch of the mosaic applied to the sprites from a minimum to a maximum. When the vertical stretch is equal to the given final state, it goes back to its initial state and vice versa.
class sprites_mosaic_vertical_stretch_manager
Manages the vertical stretch of the mosaic applied to the sprites.
class sprites_mosaic_vertical_stretch_to_action
Modifies the vertical stretch of the mosaic applied to the sprites until it has a given state.
class sprites_mosaic_vertical_stretch_toggle_action
Changes the vertical stretch of the mosaic applied to the sprites when the action is updated a given number of times.
template<int MaxSize>
class string
String implementation that uses a fixed size buffer.
class string_view
Refers to a constant contiguous sequence of char values.
class tile
Represents a 8x8 block of 16 color pixels.
class timer
Provides a way to calculate elapsed times.
template<typename Property, class PropertyManager>
class to_template_action
Modifies the property until it has a given state.
template<typename Value, typename Property, class PropertyManager>
class to_value_template_action
Modifies the property of a value until it has a given state.
template<typename Property, class PropertyManager>
class toggle_template_action
Changes the property when the action is updated a given number of times.
template<typename Value, typename Property, class PropertyManager>
class toggle_value_template_action
Changes the property of a value when the action is updated a given number of times.
class type_id_t
Unique type ID without RTTI.
template<typename Type, typename Deleter = default_delete<Type>>
class unique_ptr
std::shared_ptr like smart pointer that owns and manages another object through a pointer and disposes of that object when the unique_ptr goes out of scope.
template<typename Key, typename Value, int MaxSize, typename KeyHash, typename KeyEqual>
class unordered_map
Unordered map implementation that uses a fixed size buffer.
template<typename Key, int MaxSize, typename KeyHash, typename KeyEqual>
class unordered_set
Unordered set implementation that uses a fixed size buffer.
class utf8_character
Decodes a single UTF-8 character from a string.
template<typename Type, int MaxSize>
class vector
Vector implementation that uses a fixed size buffer.
class window
Base window class.

Enums

enum class bpp_mode: uint8_t { BPP_4, BPP_8 }
Specifies the available bits per pixel modes.
enum class compression_type: uint8_t { NONE, LZ77, RUN_LENGTH }
Specifies the available compression types.
enum class sprite_double_size_mode: uint8_t { AUTO, ENABLED, DISABLED }
Specifies the area a sprite uses to be drawn when it has an attached sprite_affine_mat_ptr.
enum class sprite_shape: uint8_t { SQUARE, WIDE, TALL }
Valid sprite shapes enum.
enum class sprite_size: uint8_t { SMALL, NORMAL, BIG, HUGE }
Valid sprite sizes enum.

Typedefs

using affine_bg_map_cell = uint8_t
Affine background map cell type alias.
using fixed = fixed_t<12>
Default precision fixed_t alias.
using regular_bg_map_cell = uint16_t
Regular background map cell type alias.
using stringstream = ostringstream
stringstream alias.

Functions

template<int Bytes>
auto aligned(const void* pointer) -> bool constexpr
Indicates if the given pointer is aligned to the given Bytes.
template<int Bytes, typename Type>
auto aligned(const Type& reference) -> bool constexpr
Indicates if the given reference to a Type object is aligned to the given Bytes.
template<typename Type>
auto any_cast(const iany* any) -> const Type*
Performs type-safe access to the contained object of the given iany.
template<typename Type>
auto any_cast(iany* any) -> Type*
Performs type-safe access to the contained object of the given iany.
template<typename Type, typename... Args>
auto make_any(Args && ... args) -> any<sizeof(Type), alignof(Type)>
Creates a any deducing its size and alignment from the given Type.
template<typename Type, int Size>
auto to_array(Type(&base_array)[Size]) -> array<remove_cv_t<Type>, Size> constexpr
Creates a bn::array object from the given built-in array.
template<typename Type, int Size>
auto to_array(Type( && base_array)[Size]) -> array<remove_cv_t<Type>, Size> constexpr
Creates a bn::array object from the given built-in array.
auto malloc(int bytes) -> void*
Allocates size bytes of uninitialized storage in the EWRAM.
void free(void* ptr)
Deallocates the space previously allocated by bn::malloc.
void memcpy(void* destination, const void* source, int bytes)
Copies the given bytes from the object pointed to by source to the object pointed to by destination.
void memset(void* destination, uint8_t value, int bytes)
Copies the given value into each of the first given bytes of the object pointed to by destination.
void memclear(void* destination, int bytes)
Copies the value 0 into each of the first given bytes of the object pointed to by destination.
template<int MaxSize, class... Args>
auto format(const string_view& format, const Args&... args) -> string<MaxSize>
Format the given arguments according to the given format string, and return the result as a string.
template<class... Args>
void format_ref(istring_base& string, const string_view& format, const Args&... args)
Format the given arguments according to the given format string, storing the result in the given string.
template<typename Type>
void hash_combine(const Type& value, unsigned& result) constexpr
Combines the hash of the given value with another hash.
auto array_hash(const void* ptr, int size) -> unsigned constexpr
Calculates the hash of the given plain data array.
template<typename Type>
auto make_hash(const Type& value) -> unsigned constexpr
Returns the hash of the given value.
void log(const istring_base& message)
Prints in one line of text the given message.
template<typename Type>
auto abs(Type value) -> Type constexpr
Returns the absolute value of the given value.
auto sqrt(int value) -> int constexpr
Returns the integer square root of the given value.
template<int Precision>
auto sqrt(fixed_t<Precision> value) -> fixed_t<(Precision+1)/2> constexpr
Returns the fixed point square root of the given value.
template<typename Type>
auto newton_raphson_sqrt(Type value) -> Type constexpr
Returns the square root of the given value using the Newton–Raphson method.
auto sin(fixed_t<16> angle) -> fixed constexpr
Calculates the sine value of an angle.
auto degrees_sin(fixed degrees_angle) -> fixed constexpr
Calculates the sine value of an angle in degrees.
auto lut_sin(int lut_angle) -> fixed constexpr
Calculates the sine value of an angle using a LUT.
auto degrees_lut_sin(fixed degrees_angle) -> fixed constexpr
Calculates the sine value of an angle in degrees using a LUT.
auto cos(fixed_t<16> angle) -> fixed constexpr
Calculates the cosine value of an angle.
auto degrees_cos(fixed degrees_angle) -> fixed constexpr
Calculates the cosine value of an angle in degrees.
auto lut_cos(int lut_angle) -> fixed constexpr
Calculates the cosine value of an angle using a LUT.
auto degrees_lut_cos(fixed degrees_angle) -> fixed constexpr
Calculates the cosine value of an angle in degrees using a LUT.
auto atan2(int y, int x) -> fixed_t<16>
Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.
auto degrees_atan2(int y, int x) -> fixed
Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.
auto lut_reciprocal(int lut_value) -> fixed_t<20> constexpr
Calculates the reciprocal of a value using a LUT.
template<typename Type, class... Args>
auto make_unique(Args && ... args) -> unique_ptr<Type>
Constructs an object and wraps it in a unique_ptr.
template<typename Type, class... Args>
auto make_optional(Args && ... args) -> optional<Type> constexpr
Constructs an object and wraps it in a optional.
template<typename Type>
auto power_of_two(Type value) -> bool constexpr
Indicates if the given value is a power of two or not.
auto calculate_reciprocal_lut_value(int lut_value) -> fixed_t<20> constexpr
Calculates the value to store in reciprocal_lut for the given value.
auto calculate_sin_lut_value(int lut_angle) -> int constexpr
Calculates the value to store in sin_lut for the given angle.
template<typename ... Args>
auto create_sprite_animate_action_once(const sprite_ptr& sprite, int wait_updates, const sprite_tiles_item& tiles_item, Args ... graphics_indexes) -> auto
Generates a sprite_animate_action which loops over the given sprite tile sets only once.
template<typename ... Args>
auto create_sprite_animate_action_once(sprite_ptr&& sprite, int wait_updates, const sprite_tiles_item& tiles_item, Args ... graphics_indexes) -> auto
Generates a sprite_animate_action which loops over the given sprite tile sets only once.
template<typename ... Args>
auto create_sprite_animate_action_forever(const sprite_ptr& sprite, int wait_updates, const sprite_tiles_item& tiles_item, Args ... graphics_indexes) -> auto
Generates a sprite_animate_action which loops over the given sprite tile sets forever.
template<typename ... Args>
auto create_sprite_animate_action_forever(sprite_ptr&& sprite, int wait_updates, const sprite_tiles_item& tiles_item, Args ... graphics_indexes) -> auto
Generates a sprite_animate_action which loops over the given sprite tile sets forever.
template<typename ... Args>
auto create_sprite_cached_animate_action_once(const sprite_ptr& sprite, int wait_updates, const sprite_tiles_item& tiles_item, Args ... graphics_indexes) -> auto
Generates a sprite_cached_animate_action which loops over the given sprite tile sets only once.
template<typename ... Args>
auto create_sprite_cached_animate_action_once(sprite_ptr&& sprite, int wait_updates, const sprite_tiles_item& tiles_item, Args ... graphics_indexes) -> auto
Generates a sprite_cached_animate_action which loops over the given sprite tile sets only once.
template<typename ... Args>
auto create_sprite_cached_animate_action_forever(const sprite_ptr& sprite, int wait_updates, const sprite_tiles_item& tiles_item, Args ... graphics_indexes) -> auto
Generates a sprite_cached_animate_action which loops over the given sprite tile sets forever.
template<typename ... Args>
auto create_sprite_cached_animate_action_forever(sprite_ptr&& sprite, int wait_updates, const sprite_tiles_item& tiles_item, Args ... graphics_indexes) -> auto
Generates a sprite_cached_animate_action which loops over the given sprite tile sets forever.
auto operator<<(ostringstream& stream, char character) -> ostringstream&
Appends an additional character to the given ostringstream.
auto operator<<(ostringstream& stream, const string_view& view) -> ostringstream&
Appends additional characters to the given ostringstream.
auto operator<<(ostringstream& stream, const istring_base& string) -> ostringstream&
Appends additional characters to the given ostringstream.
auto operator<<(ostringstream& stream, const char* char_array_ptr) -> ostringstream&
Appends additional characters to the given ostringstream.
template<int MaxSize>
auto operator<<(ostringstream& stream, char(&char_array)[MaxSize]) -> ostringstream&
Appends additional characters to the given ostringstream.
auto operator<<(ostringstream& stream, bool value) -> ostringstream&
Appends the character representation of the given bool value to the given ostringstream.
auto operator<<(ostringstream& stream, int value) -> ostringstream&
Appends the character representation of the given int value to the given ostringstream.
auto operator<<(ostringstream& stream, long value) -> ostringstream&
Appends the character representation of the given long value to the given ostringstream.
auto operator<<(ostringstream& stream, int64_t value) -> ostringstream&
Appends the character representation of the given int64_t value to the given ostringstream.
auto operator<<(ostringstream& stream, unsigned value) -> ostringstream&
Appends the character representation of the given unsigned value to the given ostringstream.
auto operator<<(ostringstream& stream, unsigned long value) -> ostringstream&
Appends the character representation of the given unsigned long value to the given ostringstream.
auto operator<<(ostringstream& stream, uint64_t value) -> ostringstream&
Appends the character representation of the given uint64_t value to the given ostringstream.
auto operator<<(ostringstream& stream, const void* ptr) -> ostringstream&
Appends the character representation of the given pointer to the given ostringstream.
auto operator<<(ostringstream& stream, const nullptr_t& null_ptr) -> ostringstream&
Appends the character representation of the given null pointer to the given ostringstream.
template<int Precision>
auto operator<<(ostringstream& stream, fixed_t<Precision> value) -> ostringstream&
Appends the character representation of the given fixed point value to the given ostringstream.
template<int MaxSize>
auto make_string(const char(&char_array)[MaxSize]) -> string<MaxSize - 1> constexpr
Creates a string deducing its size from the size of the argument.
template<int MaxSize, typename Type>
auto to_string(const Type& value) -> string<MaxSize>
Converts the given value to a string.
template<typename Type>
auto type_id() -> type_id_t constexpr
Returns the type_id_t of the specified type.
template<typename Type1, typename Type2>
auto make_pair(Type1&& x, Type2&& y) -> pair<typename decay<Type1>::type, typename decay<Type2>::type> constexpr
Creates a pair deducing its types from the types of the arguments.

Variables

nullopt_t nullopt constexpr
Constant of type nullopt_t used to indicate an optional type with uninitialized state.
int reciprocal_lut_size constexpr
Reciprocal LUT size.
const array<fixed_t<20>, reciprocal_lut_size>& reciprocal_lut
Reciprocal LUT.
int sin_lut_size constexpr
Size of the sine LUT of 16bit values in 4.12 format.
const array<int16_t, sin_lut_size>& sin_lut
Sine LUT of 16bit values in 4.12 format.

Typedef documentation

using bn::affine_bg_map_cell = uint8_t

Affine background map cell type alias.

typedef fixed_t<12> bn::fixed
#include <bn_fixed.h>

Default precision fixed_t alias.

using bn::regular_bg_map_cell = uint16_t

Regular background map cell type alias.

using bn::stringstream = ostringstream

stringstream alias.

Function documentation

template<typename Type>
type_id_t bn::type_id() constexpr

Returns the type_id_t of the specified type.

Variable documentation

nullopt_t bn::nullopt constexpr

Constant of type nullopt_t used to indicate an optional type with uninitialized state.