ReC98/th01/main/shape.hpp

39 lines
1.2 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Blits the hardcoded diamond, star, or snowflake sprites in the given [col]
// to the given position.
void shape8x8_diamond_put(screen_x_t left, vram_y_t top, int col);
void shape8x8_star_put(screen_x_t left, vram_y_t top, int col);
void shape8x8_flake_put(screen_x_t left, vram_y_t top, int col);
// Blits the given [cel] of the hardcoded invincibility sprites to the given
// position.
void shape8x8_invincibility_put(screen_x_t left, vram_y_t top, int cel);
// Attempts to unblit a 8×8 sprite, but ends up unblitting a 16×8 rectangle
// instead.
#define shape8x8_sloppy_unput(left, top) \
egc_copy_rect_1_to_0_16(left, top, 16, 8);
void shape_ellipse_arc_put(
screen_x_t center_x,
vram_y_t center_y,
pixel_t radius_x,
pixel_t radius_y,
int col,
unsigned char angle_step,
unsigned char angle_start,
unsigned char angle_end
);
// Makes a sloppy attempt at restoring the pixels along the given ellipse arc
// from VRAM page 1, but ends up restoring horizontal 16×1 lines along that
// arc.
void shape_ellipse_arc_sloppy_unput(
screen_x_t center_x,
vram_y_t center_y,
pixel_t radius_x,
pixel_t radius_y,
unsigned char angle_step,
unsigned char angle_start,
unsigned char angle_end
);