bn namespace

Main Butano namespace.

Namespaces

namespace assert
Assert related functions.
namespace audio
Audio related functions.
namespace backdrop
Backdrop 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 color_effect
Color effects related functions.
namespace colors
Some constant colors from TONC.
namespace core
Core related functions.
namespace display
Display related functions.
namespace dmg_music
DMG music 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 jingle
Direct Sound jingles related functions.
namespace keypad
Keypad related functions.
namespace link
Link communication related functions.
namespace memory
Memory related functions.
namespace music
Direct Sound 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

template<int MaxSize>
class affine_bg_animate_action
Changes the map of an affine_bg_ptr when the action is updated a given number of times.
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_bottom_manager
Manages if an affine_bg_ptr must be part of the blending bottom layer or not.
class affine_bg_blending_bottom_toggle_action
Toggles if an affine_bg_ptr is part of the blending bottom layer or not when the action is updated a given number of times.
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_blending_top_manager
Manages if an affine_bg_ptr must be part of the blending top layer or not.
class affine_bg_blending_top_toggle_action
Toggles if an affine_bg_ptr is part of the blending top layer 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.
template<int MaxSize>
class affine_bg_cached_animate_action
Changes the map of an affine_bg_ptr when the action is updated a given number of times.
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
std::any like container with a fixed size buffer.
template<typename Type, int Size>
class array
std::array like container.
template<typename Type>
class array<Type, 0>
Empty array template specialization.
class backdrop_blending_bottom_enabled_manager
Manages if the backdrop must be part of the blending bottom layer or not.
class backdrop_blending_bottom_enabled_toggle_action
Toggles if the backdrop is part of the blending bottom layer or not when the action is updated a given number of times.
class backdrop_color_hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect which changes the backdrop color in each screen horizontal line.
class best_fit_allocator
Manages a chunk of memory with a best fit allocation strategy.
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_hue_shift_loop_action
Modifies the intensity of the hue shift 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_hue_shift_manager
Manages the intensity of the hue shift effect applied to a bg_palette_ptr.
class bg_palette_hue_shift_to_action
Modifies the intensity of the hue shift effect applied to a bg_palette_ptr until it has a given state.
class bg_palette_hue_shift_toggle_action
Changes the intensity of the hue shift 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_hue_shift_loop_action
Modifies the intensity of the hue shift 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_hue_shift_manager
Manages the intensity of the hue shift effect applied to all background color palettes.
class bg_palettes_hue_shift_to_action
Modifies the intensity of the hue shift effect applied to all background color palettes until it has a given state.
class bg_palettes_hue_shift_toggle_action
Changes the intensity of the hue shift 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
std::bitset like container.
class bitset_ref
ibitset implementation which manages an external elements array.
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 layer 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 layer.
class blending_transparency_bottom_weight_to_action
Modifies the weight of the transparency blending for the bottom layer until it has a given state.
class blending_transparency_bottom_weight_toggle_action
Changes the weight of the transparency blending for the bottom layer 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 layer 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 layer.
class blending_transparency_top_weight_to_action
Modifies the weight of the transparency blending for the top layer until it has a given state.
class blending_transparency_top_weight_toggle_action
Changes the weight of the transparency blending for the top layer 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).
class core_lock
All Butano subsystems (including interrupts and HDMA) are disabled as long as an object of this class is active.
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.
class date
Manages a date represented by year, month, month day and week day.
template<typename Type>
struct default_delete
Default deleter.
template<typename Type, int MaxSize>
class deque
A std::deque like container with a fixed size buffer.
class dmg_music_item
Contains the required information to play DMG music.
class dmg_music_position
Contains the required information to specify the position of an active DMG music.
class dmg_music_volume_loop_action
Modifies the volume of the active DMG 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 dmg_music_volume_manager
Manages the volume of the active DMG music.
class dmg_music_volume_to_action
Modifies the volume of the active DMG music until it has a given state.
class dmg_music_volume_toggle_action
Changes the volume of the active DMG music when the action is updated a given number of times.
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.
template<int Precision>
class fixed_point_t
Defines a two-dimensional point using fixed point precision.
template<int Precision>
class fixed_rect_t
Defines a two-dimensional rectangle using fixed point precision and a center point as position.
template<int Precision>
class fixed_size_t
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
std::forward_list like container with a fixed size buffer.
template<int MaxElementSize, int MaxSize>
class generic_pool
igeneric_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<dmg_music_item>
Hash support for dmg_music_item.
template<>
struct hash<dmg_music_position>
Hash support for dmg_music_position.
template<>
struct hash<double>
Hash support for double.
template<int Precision>
struct hash<fixed_point_t<Precision>>
Hash support for fixed_point_t.
template<int Precision>
struct hash<fixed_rect_t<Precision>>
Hash support for fixed_rect_t.
template<int Precision>
struct hash<fixed_size_t<Precision>>
Hash support for fixed_size_t.
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>
Hash support for istring.
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_handle>
Hash support for sound_handle.
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<int MaxSize>
struct hash<string<MaxSize>>
Hash support for string.
template<>
struct hash<string_view>
Hash support for string_view.
template<int Precision>
struct hash<top_left_fixed_rect_t<Precision>>
Hash support for top_left_fixed_rect_t.
template<>
struct hash<top_left_rect>
Hash support for top_left_rect.
template<typename Type>
struct hash<Type*>
Hash support for pointers.
template<>
struct hash<type_id_t>
Hash support for type_id_t.
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 iaffine_bg_animate_action
Base class of bn::affine_bg_animate_action.
class iaffine_bg_cached_animate_action
Base class of bn::affine_bg_cached_animate_action.
class iany
Base class of bn::any.
class ibitset
Base class of bn::bitset.
template<typename Type>
class ideque
Base class of bn::deque.
template<typename Type>
class iforward_list
Base class of bn::forward_list.
template<int MaxElementSize>
class igeneric_pool
Base class of generic_pool.
class igeneric_pool_base
Base class of igeneric_pool.
template<typename Type>
class ilist
Base class of bn::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
std::forward_list like container that doesn't contain values, it just references them.
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
std::list like container that doesn't contain values, it just references them.
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 bn::pool.
class iregular_bg_animate_action
Base class of bn::regular_bg_animate_action.
class iregular_bg_cached_animate_action
Base class of bn::regular_bg_cached_animate_action.
class isprite_animate_action
Base class of bn::sprite_animate_action.
class isprite_cached_animate_action
Base class of bn::sprite_cached_animate_action.
class istring
Base class of bn::string.
class istring_base
Base class of bn::istring.
template<typename Key, typename Value, typename KeyHash, typename KeyEqual>
class iunordered_map
Base class of bn::unordered_map.
template<typename Key, typename KeyHash, typename KeyEqual>
class iunordered_set
Base class of bn::unordered_set.
template<typename Type>
class ivector
Base class of bn::vector.
class jingle_volume_loop_action
Modifies the volume of the active Direct Sound jingle 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 jingle_volume_manager
Manages the volume of the active Direct Sound jingle.
class jingle_volume_to_action
Modifies the volume of the active Direct Sound jingle until it has a given state.
class jingle_volume_toggle_action
Changes the volume of the active Direct Sound jingle when the action is updated a given number of times.
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
std::list like container with 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 Direct Sound music.
class music_pitch_loop_action
Modifies the pitch of the active Direct Sound music from a minimum to a maximum. When the pitch is equal to the given final state, it goes back to its initial state and vice versa.
class music_pitch_manager
Manages the pitch of the active Direct Sound music.
class music_pitch_to_action
Modifies the pitch of the active Direct Sound music until it has a given state.
class music_pitch_toggle_action
Changes the pitch of the active Direct Sound music when the action is updated a given number of times.
class music_tempo_loop_action
Modifies the tempo of the active Direct Sound music from a minimum to a maximum. When the tempo is equal to the given final state, it goes back to its initial state and vice versa.
class music_tempo_manager
Manages the tempo of the active Direct Sound music.
class music_tempo_to_action
Modifies the tempo of the active Direct Sound music until it has a given state.
class music_tempo_toggle_action
Changes the tempo of the active Direct Sound music when the action is updated a given number of times.
class music_volume_loop_action
Modifies the volume of the active Direct Sound 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 Direct Sound music.
class music_volume_to_action
Modifies the volume of the active Direct Sound music until it has a given state.
class music_volume_toggle_action
Changes the volume of the active Direct Sound 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
std::optional like container.
class ostringstream
Implements output operations on string based streams.
class point
Defines a two-dimensional point using integer precision.
template<typename Type, int MaxSize>
class pool
bn::ipool implementation that uses a fixed size buffer.
class random
Fast, deterministic random number generator.
class rect
Defines a two-dimensional rectangle using integer precision and a center point as position.
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.
template<int MaxSize>
class regular_bg_animate_action
Changes the map of a regular_bg_ptr when the action is updated a given number of times.
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_bottom_manager
Manages if a regular_bg_ptr must be part of the blending bottom layer or not.
class regular_bg_blending_bottom_toggle_action
Toggles if a regular_bg_ptr is part of the blending bottom layer or not when the action is updated a given number of times.
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_blending_top_manager
Manages if a regular_bg_ptr must be part of the blending top layer or not.
class regular_bg_blending_top_toggle_action
Toggles if a regular_bg_ptr is part of the blending top layer 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.
template<int MaxSize>
class regular_bg_cached_animate_action
Changes the map of a regular_bg_ptr when the action is updated a given number of times.
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 seed_random
Deterministic random number generator with a public, configurable seed.
class size
Defines the size of a two-dimensional object using integer precision.
class sound_handle
Sound effect handle.
class sound_item
Contains the required information to play sound effects.
class sound_master_volume_loop_action
Modifies the master volume of all sound effects 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 sound_master_volume_manager
Manages the master volume of all sound effects.
class sound_master_volume_to_action
Modifies the master volume of all sound effects until it has a given state.
class sound_master_volume_toggle_action
Changes the master volume of all sound effects when the action is updated a given number of times.
class sound_panning_loop_action
Modifies the panning of a sound effect from a minimum to a maximum. When the panning is equal to the given final state, it goes back to its initial state and vice versa.
class sound_panning_manager
Manages the panning of a sound effect.
class sound_panning_to_action
Modifies the panning of a sound effect until it has a given state.
class sound_panning_toggle_action
Changes the panning of a sound effect when the action is updated a given number of times.
class sound_speed_loop_action
Modifies the speed of a sound effect from a minimum to a maximum. When the speed is equal to the given final state, it goes back to its initial state and vice versa.
class sound_speed_manager
Manages the speed of a sound effect.
class sound_speed_to_action
Modifies the speed of a sound effect until it has a given state.
class sound_speed_toggle_action
Changes the speed of a sound effect when the action is updated a given number of times.
template<typename Type>
class span
std::span like container.
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_hue_shift_loop_action
Modifies the intensity of the hue shift 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_hue_shift_manager
Manages the intensity of the hue shift effect applied to a sprite_palette_ptr.
class sprite_palette_hue_shift_to_action
Modifies the intensity of the hue shift effect applied to a sprite_palette_ptr until it has a given state.
class sprite_palette_hue_shift_toggle_action
Changes the intensity of the hue shift 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_hue_shift_loop_action
Modifies the intensity of the hue shift 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_hue_shift_manager
Manages the intensity of the hue shift effect applied to all sprite color palettes.
class sprite_palettes_hue_shift_to_action
Modifies the intensity of the hue shift effect applied to all sprite color palettes until it has a given state.
class sprite_palettes_hue_shift_toggle_action
Changes the intensity of the hue shift 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_blending_bottom_enabled_manager
Manages if the sprite layer must be part of the blending bottom layer or not.
class sprites_blending_bottom_enabled_toggle_action
Toggles if the sprite layer is part of the blending bottom layer 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.
class sprites_visible_manager
Manages if the sprite layer must be shown or not.
class sprites_visible_toggle_action
Toggles if the sprite layer must be shown or not when the action is updated a given number of times.
template<int MaxSize>
class string
std::string like container with a fixed size buffer.
class string_view
Refers to a constant contiguous sequence of char values.
class system_font
Contains information of the font used to show assert and profiling messages.
class tile
Represents a 8x8 block of 16 color pixels.
class time
Defines a clock time, which it can express as the numbers of hours, minutes and seconds since midnight.
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.
template<int Precision>
class top_left_fixed_rect_t
Defines a two-dimensional rectangle using fixed point precision and a top-left point as position.
class top_left_rect
Defines a two-dimensional rectangle using integer precision and a top-left point as position.
class type_id_t
Unique type ID without RTTI.
template<typename Type, typename Deleter>
class unique_ptr
std::unique_ptr like container.
template<typename Key, typename Value, int MaxSize, typename KeyHash, typename KeyEqual>
class unordered_map
std::unordered_map like container with a fixed size buffer.
template<typename Key, int MaxSize, typename KeyHash, typename KeyEqual>
class unordered_set
std::unordered_set like container with a fixed size buffer.
class utf8_character
Decodes a single UTF-8 character from a string.
template<const span<const utf8_character>& Utf8Characters>
class utf8_characters_map
Maps a list of UTF-8 characters to their position in the list.
class utf8_characters_map_ref
Maps a list of UTF-8 characters to their position in the list.
template<typename Type, int MaxSize>
class vector
std::vector like container with a fixed size buffer.
class window
Base window class.

Enums

enum class affine_bg_big_map_canvas_size: uint8_t { NORMAL, BIG, HUGE }
Available affine background map canvas sizes enum.
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, HUFFMAN }
Specifies the available compression types.
enum class dmg_music_master_volume: uint8_t { QUARTER, HALF, FULL }
Specifies the available DMG music master volume levels.
enum class dmg_music_type: uint8_t { GBT_PLAYER, VGM }
Specifies the available DMG music 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 fixed_point = fixed_point_t<12>
Default precision fixed_point_t alias.
using fixed_rect = fixed_rect_t<12>
Default precision fixed_rect_t alias.
using fixed_size = fixed_size_t<12>
Default precision fixed_size_t alias.
using regular_bg_map_cell = uint16_t
Regular background map cell type alias.
using stringstream = ostringstream
stringstream alias.
using top_left_fixed_rect = top_left_fixed_rect_t<12>
Default precision top_left_fixed_rect_t alias.
using vblank_callback_type = void(*)()
V-Blank callback type alias.

Functions

template<typename ... Args>
auto create_affine_bg_animate_action_once(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_animate_action which loops over the given affine_bg maps only once.
template<typename ... Args>
auto create_affine_bg_animate_action_once(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_animate_action which loops over the given affine_bg maps only once.
template<typename ... Args>
auto create_affine_bg_animate_action_forever(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_animate_action which loops over the given affine_bg maps forever.
template<typename ... Args>
auto create_affine_bg_animate_action_forever(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_animate_action which loops over the given affine_bg maps forever.
template<typename ... Args>
auto create_affine_bg_cached_animate_action_once(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.
template<typename ... Args>
auto create_affine_bg_cached_animate_action_once(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps only once.
template<typename ... Args>
auto create_affine_bg_cached_animate_action_forever(const affine_bg_ptr& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.
template<typename ... Args>
auto create_affine_bg_cached_animate_action_forever(affine_bg_ptr&& affine_bg, int wait_updates, const affine_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates an affine_bg_cached_animate_action which loops over the given affine_bg maps forever.
template<int Bytes>
auto aligned(const void* pointer) -> bool
Indicates if the given void pointer is aligned to the given Bytes.
template<int Bytes, typename Type>
auto aligned(const Type* pointer) -> bool
Indicates if the given Type pointer 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 an 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 uninitialized storage in EWRAM.
auto calloc(int num, int bytes) -> void*
Allocates storage in EWRAM for an array of num objects of bytes size and initializes all bytes in it to zero.
auto realloc(void* ptr, int new_bytes) -> void*
Reallocates the given storage in the EWRAM.
void free(void* ptr)
Deallocates the storage previously allocated by bn::malloc, bn::calloc or bn::realloc.
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<typename Type>
auto erase(ideque<Type>& deque, const Type& value) -> ideque<Type>::size_type
Erases all elements from a ideque that are equal to the specified value.
template<typename Type, class Pred>
auto erase_if(ideque<Type>& deque, const Pred& pred) -> ideque<Type>::size_type
Erases all elements from a ideque that satisfy the specified predicate.
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>
auto erase(iforward_list<Type>& list, const Type& value) -> iforward_list<Type>::size_type
Erases all elements from a iforward_list that are equal to the specified value.
template<typename Type, class Pred>
auto erase_if(iforward_list<Type>& list, const Pred& pred) -> iforward_list<Type>::size_type
Erases all elements from a iforward_list that satisfy the specified predicate.
template<typename EnumType>
requires(is_enum_v<EnumType>) struct hash< EnumType >
Hash support for enums.
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.
template<typename Type>
auto erase(intrusive_forward_list<Type>& list, const Type& value) -> intrusive_forward_list<Type>::size_type
Erases all elements from a intrusive_forward_list that are equal to the specified value.
template<typename Type, class Pred>
auto erase_if(intrusive_forward_list<Type>& list, const Pred& pred) -> intrusive_forward_list<Type>::size_type
Erases all elements from a intrusive_forward_list that satisfy the specified predicate.
template<typename Type>
auto erase(intrusive_list<Type>& list, const Type& value) -> intrusive_list<Type>::size_type
Erases all elements from a intrusive_list that are equal to the specified value.
template<typename Type, class Pred>
auto erase_if(intrusive_list<Type>& list, const Pred& pred) -> intrusive_list<Type>::size_type
Erases all elements from a intrusive_list that satisfy the specified predicate.
template<typename Type>
auto erase(ilist<Type>& list, const Type& value) -> ilist<Type>::size_type
Erases all elements from a ilist that are equal to the specified value.
template<typename Type, class Pred>
auto erase_if(ilist<Type>& list, const Pred& pred) -> ilist<Type>::size_type
Erases all elements from a ilist that satisfy the specified predicate.
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) -> BN_CONST int constexpr
Returns the integer square root of the given value.
template<int Precision>
auto sqrt(fixed_t<Precision> value) -> BN_CONST fixed_t<(Precision+1)/2> constexpr
Returns the fixed point square root of the given value.
template<int Precision>
auto unsafe_sqrt(fixed_t<Precision> value) -> BN_CONST fixed_t<Precision> constexpr
Returns the fixed point square root of the given value without trying to avoid overflow.
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 sin_and_cos(fixed_t<16> angle) -> pair<fixed, fixed> constexpr
Calculates the sine and the cosine values of an angle.
auto degrees_sin_and_cos(fixed degrees_angle) -> pair<fixed, fixed> constexpr
Calculates the sine and the cosine values of an angle in degrees.
auto lut_sin_and_cos(int lut_angle) -> pair<fixed, fixed> constexpr
Calculates the sine and the cosine values value of an angle using a LUT.
auto degrees_lut_sin_and_cos(fixed degrees_angle) -> pair<fixed, fixed> constexpr
Calculates the sine and the cosine values of an angle in degrees using a LUT.
auto atan2(int y, int x) -> BN_CONST 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) -> BN_CONST fixed
Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.
auto diamond_angle(int y, int x) -> fixed_t<16> constexpr
Computes an approximation of the arc tangent of y/x using the signs of arguments to determine the correct quadrant.
auto degrees_diamond_angle(int y, int x) -> fixed constexpr
Computes an approximation of 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_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.
template<int Precision = 20>
auto calculate_reciprocal_lut_value(int lut_value) -> fixed_t<Precision> constexpr
Calculates the value to store in a reciprocal LUT for the given value.
template<typename ... Args>
auto create_regular_bg_animate_action_once(const regular_bg_ptr& regular_bg, int wait_updates, const regular_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates a regular_bg_animate_action which loops over the given regular_bg maps only once.
template<typename ... Args>
auto create_regular_bg_animate_action_once(regular_bg_ptr&& regular_bg, int wait_updates, const regular_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates a regular_bg_animate_action which loops over the given regular_bg maps only once.
template<typename ... Args>
auto create_regular_bg_animate_action_forever(const regular_bg_ptr& regular_bg, int wait_updates, const regular_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates a regular_bg_animate_action which loops over the given regular_bg maps forever.
template<typename ... Args>
auto create_regular_bg_animate_action_forever(regular_bg_ptr&& regular_bg, int wait_updates, const regular_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates a regular_bg_animate_action which loops over the given regular_bg maps forever.
template<typename ... Args>
auto create_regular_bg_cached_animate_action_once(const regular_bg_ptr& regular_bg, int wait_updates, const regular_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates a regular_bg_cached_animate_action which loops over the given regular_bg maps only once.
template<typename ... Args>
auto create_regular_bg_cached_animate_action_once(regular_bg_ptr&& regular_bg, int wait_updates, const regular_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates a regular_bg_cached_animate_action which loops over the given regular_bg maps only once.
template<typename ... Args>
auto create_regular_bg_cached_animate_action_forever(const regular_bg_ptr& regular_bg, int wait_updates, const regular_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates a regular_bg_cached_animate_action which loops over the given regular_bg maps forever.
template<typename ... Args>
auto create_regular_bg_cached_animate_action_forever(regular_bg_ptr&& regular_bg, int wait_updates, const regular_bg_map_item& map_item, Args ... map_indexes) -> auto
Generates a regular_bg_cached_animate_action which loops over the given regular_bg maps forever.
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.
auto erase(istring& string, char value) -> istring::size_type constexpr
Erases all characters from a istring that are equal to the specified one.
template<class Pred>
auto erase_if(istring& string, const Pred& pred) -> istring::size_type constexpr
Erases all characters from a istring that satisfy the specified predicate.
template<typename Type>
auto type_id() -> type_id_t constexpr
Returns the type_id_t of the specified type.
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, typename Value, typename KeyHash, typename KeyEqual, class Pred>
auto erase_if(iunordered_map<Type, Value, KeyHash, KeyEqual>& map, const Pred& pred) -> iunordered_map<Type, Value, KeyHash, KeyEqual>::size_type
Erases all elements from a iunordered_map that satisfy the specified predicate.
template<typename Key, typename KeyHash, typename KeyEqual, class Pred>
auto erase_if(iunordered_set<Key, KeyHash, KeyEqual>& set, const Pred& pred) -> iunordered_set<Key, KeyHash, KeyEqual>::size_type
Erases all elements from a iunordered_set that satisfy the specified predicate.
template<typename Type>
auto erase(ivector<Type>& vector, const Type& value) -> ivector<Type>::size_type
Erases all elements from a ivector that are equal to the specified value.
template<typename Type, class Pred>
auto erase_if(ivector<Type>& vector, const Pred& pred) -> ivector<Type>::size_type
Erases all elements from a ivector that satisfy the specified predicate.

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 20bit LUT size.
const array<fixed_t<20>, reciprocal_lut_size>& reciprocal_lut
Reciprocal 20bit LUT.
int reciprocal_16_lut_size constexpr
Reciprocal 16bit LUT size.
const array<uint16_t, reciprocal_16_lut_size>& reciprocal_16_lut
Reciprocal 16bit 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.

using bn::fixed = fixed_t<12>

Default precision fixed_t alias.

using bn::fixed_point = fixed_point_t<12>

Default precision fixed_point_t alias.

using bn::fixed_rect = fixed_rect_t<12>

Default precision fixed_rect_t alias.

using bn::fixed_size = fixed_size_t<12>

Default precision fixed_size_t alias.

using bn::regular_bg_map_cell = uint16_t

Regular background map cell type alias.

using bn::stringstream = ostringstream

stringstream alias.

using bn::vblank_callback_type = void(*)()

V-Blank callback type alias.

Function documentation

#include <bn_deque.h>
template<typename Type>
ideque<Type>::size_type bn::erase(ideque<Type>& deque, const Type& value)

Erases all elements from a ideque that are equal to the specified value.

Parameters
deque ideque from which to erase.
value Element to erase.
Returns Number of erased elements.

#include <bn_deque.h>
template<typename Type, class Pred>
ideque<Type>::size_type bn::erase_if(ideque<Type>& deque, const Pred& pred)

Erases all elements from a ideque that satisfy the specified predicate.

Parameters
deque ideque from which to erase.
pred Unary predicate which returns true if the element should be erased.
Returns Number of erased elements.

template<typename Type>
iforward_list<Type>::size_type bn::erase(iforward_list<Type>& list, const Type& value)

Erases all elements from a iforward_list that are equal to the specified value.

Parameters
list iforward_list from which to erase.
value Element to erase.
Returns Number of erased elements.

template<typename Type, class Pred>
iforward_list<Type>::size_type bn::erase_if(iforward_list<Type>& list, const Pred& pred)

Erases all elements from a iforward_list that satisfy the specified predicate.

Parameters
list iforward_list from which to erase.
pred Unary predicate which returns true if the element should be erased.
Returns Number of erased elements.

template<typename Type>
intrusive_forward_list<Type>::size_type bn::erase(intrusive_forward_list<Type>& list, const Type& value)

Erases all elements from a intrusive_forward_list that are equal to the specified value.

Parameters
list intrusive_forward_list from which to erase.
value Element to erase.
Returns Number of erased elements.

template<typename Type, class Pred>
intrusive_forward_list<Type>::size_type bn::erase_if(intrusive_forward_list<Type>& list, const Pred& pred)

Erases all elements from a intrusive_forward_list that satisfy the specified predicate.

Parameters
list intrusive_forward_list from which to erase.
pred Unary predicate which returns true if the element should be erased.
Returns Number of erased elements.

template<typename Type>
intrusive_list<Type>::size_type bn::erase(intrusive_list<Type>& list, const Type& value)

Erases all elements from a intrusive_list that are equal to the specified value.

Parameters
list intrusive_list from which to erase.
value Element to erase.
Returns Number of erased elements.

template<typename Type, class Pred>
intrusive_list<Type>::size_type bn::erase_if(intrusive_list<Type>& list, const Pred& pred)

Erases all elements from a intrusive_list that satisfy the specified predicate.

Parameters
list intrusive_list from which to erase.
pred Unary predicate which returns true if the element should be erased.
Returns Number of erased elements.

#include <bn_list.h>
template<typename Type>
ilist<Type>::size_type bn::erase(ilist<Type>& list, const Type& value)

Erases all elements from a ilist that are equal to the specified value.

Parameters
list ilist from which to erase.
value Element to erase.
Returns Number of erased elements.

#include <bn_list.h>
template<typename Type, class Pred>
ilist<Type>::size_type bn::erase_if(ilist<Type>& list, const Pred& pred)

Erases all elements from a ilist that satisfy the specified predicate.

Parameters
list ilist from which to erase.
pred Unary predicate which returns true if the element should be erased.
Returns Number of erased elements.

istring::size_type bn::erase(istring& string, char value) constexpr
#include <bn_string.h>

Erases all characters from a istring that are equal to the specified one.

Parameters
string istring from which to erase.
value Character to erase.
Returns Number of erased characters.

#include <bn_string.h>
template<class Pred>
istring::size_type bn::erase_if(istring& string, const Pred& pred) constexpr

Erases all characters from a istring that satisfy the specified predicate.

Parameters
string istring from which to erase.
pred Unary predicate which returns true if the character should be erased.
Returns Number of erased characters.

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

Returns the type_id_t of the specified type.

template<typename Type, typename Value, typename KeyHash, typename KeyEqual, class Pred>
iunordered_map<Type, Value, KeyHash, KeyEqual>::size_type bn::erase_if(iunordered_map<Type, Value, KeyHash, KeyEqual>& map, const Pred& pred)

Erases all elements from a iunordered_map that satisfy the specified predicate.

Parameters
map iunordered_map from which to erase.
pred Unary predicate which returns ​true if the element should be erased.
Returns Number of erased elements.

Unlike std::unordered_map, it doesn't offer pointer stability.

template<typename Key, typename KeyHash, typename KeyEqual, class Pred>
iunordered_set<Key, KeyHash, KeyEqual>::size_type bn::erase_if(iunordered_set<Key, KeyHash, KeyEqual>& set, const Pred& pred)

Erases all elements from a iunordered_set that satisfy the specified predicate.

Parameters
set iunordered_set from which to erase.
pred Unary predicate which returns ​true if the element should be erased.
Returns Number of erased elements.

Unlike std::unordered_set, it doesn't offer pointer stability.

#include <bn_vector.h>
template<typename Type>
ivector<Type>::size_type bn::erase(ivector<Type>& vector, const Type& value)

Erases all elements from a ivector that are equal to the specified value.

Parameters
vector ivector from which to erase.
value Element to erase.
Returns Number of erased elements.

#include <bn_vector.h>
template<typename Type, class Pred>
ivector<Type>::size_type bn::erase_if(ivector<Type>& vector, const Pred& pred)

Erases all elements from a ivector that satisfy the specified predicate.

Parameters
vector ivector from which to erase.
pred Unary predicate which returns true if the element should be erased.
Returns Number of erased elements.

Variable documentation

nullopt_t bn::nullopt constexpr

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