Display » H-Blank effects module

They allow to change how things are drawn in each screen horizontal line, since they transfer data to the GBA during each horizontal blanking (H-Blank) period.

For example, with a H-Blank effect you can change the transparent color every screen horizontal line, which is how games like Chrono Trigger fills their menus with a color gradient.

They differ from HDMA in that only a register can be written by a H-Blank effect in each screen horizontal line, but since multiple H-Blank effects can be displayed at the same time, non consecutive registers can be written with them.

They are also higher level than HDMA, so they should be your first option.

Files

file bn_affine_bg_attributes_hbe_ptr.h
file bn_affine_bg_dx_register_hbe_ptr.h
file bn_affine_bg_dy_register_hbe_ptr.h
file bn_affine_bg_mat_attributes_hbe_ptr.h
file bn_affine_bg_pa_register_hbe_ptr.h
file bn_affine_bg_pb_register_hbe_ptr.h
file bn_affine_bg_pc_register_hbe_ptr.h
file bn_affine_bg_pd_register_hbe_ptr.h
file bn_affine_bg_pivot_position_hbe_ptr.h
file bn_backdrop_color_hbe_ptr.h
file bn_bg_palette_color_hbe_ptr.h
file bn_bg_palettes_transparent_color_hbe_ptr.h
file bn_blending_fade_alpha_hbe_ptr.h
file bn_blending_transparency_attributes_hbe_ptr.h
file bn_config_hbes.h
file bn_green_swap_hbe_ptr.h
file bn_hbe_ptr.h
file bn_hbes.h
file bn_mosaic_attributes_hbe_ptr.h
file bn_rect_window_boundaries_hbe_ptr.h
file bn_regular_bg_attributes_hbe_ptr.h
file bn_regular_bg_position_hbe_ptr.h
file bn_sprite_affine_mat_attributes_hbe_ptr.h
file bn_sprite_affine_mat_pa_register_hbe_ptr.h
file bn_sprite_affine_mat_pb_register_hbe_ptr.h
file bn_sprite_affine_mat_pc_register_hbe_ptr.h
file bn_sprite_affine_mat_pd_register_hbe_ptr.h
file bn_sprite_affine_second_attributes_hbe_ptr.h
file bn_sprite_first_attributes_hbe_ptr.h
file bn_sprite_palette_color_hbe_ptr.h
file bn_sprite_position_hbe_ptr.h
file bn_sprite_regular_second_attributes_hbe_ptr.h
file bn_sprite_third_attributes_hbe_ptr.h

Namespaces

namespace bn
Main Butano namespace.
namespace bn::hbes
H-Blank effects related functions.

Classes

class bn::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 bn::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 bn::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 bn::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.
template<>
struct bn::hash<affine_bg_mat_attributes_hbe_ptr>
Hash support for affine_bg_mat_attributes_hbe_ptr.
class bn::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 bn::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 bn::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 bn::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 bn::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 bn::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 bn::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 bn::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 bn::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 bn::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 bn::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 bn::hbe_ptr
std::shared_ptr like smart pointer that retains shared ownership of a H-Blank effect.
template<>
struct bn::hash<hbe_ptr>
Hash support for hbe_ptr.
class bn::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 bn::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 bn::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 bn::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 bn::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.
template<>
struct bn::hash<sprite_affine_mat_attributes_hbe_ptr>
Hash support for sprite_affine_mat_attributes_hbe_ptr.
class bn::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 bn::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 bn::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 bn::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 bn::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.
class bn::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 bn::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 bn::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 bn::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 bn::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.

Defines

#define BN_CFG_HBES_MAX_ITEMS

Define documentation

#define BN_CFG_HBES_MAX_ITEMS

Specifies the maximum number of active H-Blank effects.