Jo Engine
2024.04.28
Jo Sega Saturn Engine
|
Jo Engine Sprite definition and tools. More...
Go to the source code of this file.
Macros | |
#define | JO_NO_GOURAUD_COLOR |
Value used to keep the original color for jo_set_gouraud_shading_colors() More... | |
#define | JO_DEFAULT_BRIGHTNESS |
Default brightness for jo_set_gouraud_shading_brightness() More... | |
#define | JO_MAX_BRIGHTNESS |
Maximum brightness value for jo_set_gouraud_shading_brightness() More... | |
#define | JO_NO_ZOOM |
Value used to keep the original scale. More... | |
Functions | |
void | jo_sprite_draw (const int sprite_id, const jo_pos3D *const pos, const bool centered_style_coordinates, const bool billboard) |
(internal engine usage) More... | |
void | jo_sprite_draw_rotate (const int sprite_id, const jo_pos3D *const pos, const int angle, const bool centered_style_coordinates, const bool billboard) |
(internal engine usage) More... | |
static __jo_force_inline void | __internal_jo_sprite_set_position3D (const int x, const int y, const int z) |
Internal usage don't use it. More... | |
int | jo_get_last_sprite_id (void) |
Get last Sprite Id. More... | |
int | jo_sprite_add (const jo_img *const img) |
Add a sprite. More... | |
int | jo_sprite_add_8bits_image (const jo_img_8bits *const img) |
Add a 8 bits sprite. More... | |
int | jo_sprite_replace (const jo_img *const img, const int sprite_id) |
Replace a sprite. More... | |
void | jo_sprite_free_from (const int sprite_id) |
Free all sprites from the given sprite_id. More... | |
static __jo_force_inline void | jo_sprite_free_all (void) |
Free all sprites. More... | |
int | jo_sprite_name2id (const char *const filename) |
Retrive the Sprite Id from filename based on the four first character in the filename. More... | |
static __jo_force_inline void | jo_sprite_enable_screen_doors_filter (void) |
Activate screen doors filter for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_disable_screen_doors_filter (void) |
Disable screen doors filter for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_enable_half_transparency (void) |
Activate half transparency for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_disable_half_transparency (void) |
Disable half transparency for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_enable_shadow_filter (void) |
Activate shadow filter for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_disable_shadow_filter (void) |
Disable shadow filter for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_enable_dark_filter (void) |
Activate dark filter for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_disable_dark_filter (void) |
Disable dark filter for every sprite displayed after this call. More... | |
void | jo_set_gouraud_shading_colors (const jo_color topleft_color, const jo_color topright_color, const jo_color bottomright_color, const jo_color bottomleft_color) |
Change Gouraud Shading colors. More... | |
static __jo_force_inline void | jo_sprite_enable_gouraud_shading (void) |
Activate Gouraud Shading for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_disable_gouraud_shading (void) |
Disable Gouraud Shading for every sprite displayed after this call. More... | |
void | jo_set_gouraud_shading_brightness (const unsigned char brightness) |
Change Gouraud Shading brightness. More... | |
static __jo_force_inline void | jo_sprite_enable_vertical_flip (void) |
Activate vertical flip for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_disable_vertical_flip (void) |
Disable vertical flip for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_enable_horizontal_flip (void) |
Activate horizontal flip for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_disable_horizontal_flip (void) |
Disable horizontal flip for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_change_sprite_scale (const float scale) |
Change scale for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_change_sprite_scale_xy (const float scale_x, const float scale_y) |
Change scale for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_change_sprite_scale_xy_fixed (const jo_fixed scale_x, const jo_fixed scale_y) |
Change scale for every sprite displayed after this call using fixed number. More... | |
static __jo_force_inline void | jo_sprite_restore_sprite_scale (void) |
Restore default scale for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_set_palette (int palette_id) |
Change palette for every 8 bits sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_draw3D_and_rotate (const int sprite_id, const int x, const int y, const int z, const int angle) |
Display a sprite in 3 dimensional space. More... | |
static __jo_force_inline void | jo_sprite_draw3D (const int sprite_id, const int x, const int y, const int z) |
Display a sprite in 3 dimensional space. More... | |
static __jo_force_inline void | jo_sprite_draw3D_and_rotate2 (const int sprite_id, const int x, const int y, const int z, const int angle) |
Display a sprite in 3 dimensional space. More... | |
static __jo_force_inline void | jo_sprite_draw3D2 (const int sprite_id, const int x, const int y, const int z) |
Display a sprite in 3 dimensional space. More... | |
void | jo_sprite_draw_4p_fixed (const int sprite_id, const jo_pos2D_fixed *const four_points, const jo_fixed z, const bool centered_style_coordinates) |
static __jo_force_inline void | jo_sprite_enable_clipping (bool outside) |
Activate sprite clipping for every sprite displayed after this call. More... | |
static __jo_force_inline void | jo_sprite_disable_clipping (void) |
Disable sprite clipping for every sprite displayed after this call. More... | |
void | jo_sprite_set_clipping_area (const unsigned int x, const unsigned int y, const unsigned int width, const unsigned int height, const int depth) |
Set user clipping area. More... | |
static __jo_force_inline jo_color | jo_sprite_get_pixel_color (const jo_color *const data, const unsigned int x, const unsigned int y, const unsigned int image_width) |
Get a specific pixel color from image bytes. More... | |
static __jo_force_inline unsigned char | jo_sprite_get_pixel_palette_index (const unsigned char *const data, const unsigned int x, const unsigned int y, const unsigned int image_width) |
Get a specific pixel palette index from image bytes. More... | |
static __jo_force_inline bool | jo_sprite_is_pixel_transparent (const jo_color *const data, const unsigned int x, const unsigned int y, const unsigned int image_width) |
Get if a specific pixel is transparent (JO_COLOR_Transparent) in image bytes. More... | |
static __jo_force_inline int | jo_sprite_get_width (const int sprite_id) |
Get sprite width. More... | |
static __jo_force_inline int | jo_sprite_get_height (const int sprite_id) |
Get sprite height. More... | |
static __jo_force_inline void * | jo_sprite_get_raw_data (const int sprite_id) |
Get sprite raw image contents. More... | |
static __jo_force_inline int | jo_sprite_count (void) |
Get sprite count. More... | |
int | jo_sprite_usage_percent (void) |
Get sprite memory usage. More... | |
Variables | |
jo_sprite_attributes | __jo_sprite_attributes |
Current displayed sprite attribute (internal engine usage) More... | |
jo_texture_definition | __jo_sprite_def [JO_MAX_SPRITE] |
(internal engine usage) More... | |
jo_picture_definition | __jo_sprite_pic [JO_MAX_SPRITE] |
(internal engine usage) More... | |
Jo Engine Sprite definition and tools.
#define JO_DEFAULT_BRIGHTNESS |
Default brightness for jo_set_gouraud_shading_brightness()
#define JO_MAX_BRIGHTNESS |
Maximum brightness value for jo_set_gouraud_shading_brightness()
#define JO_NO_GOURAUD_COLOR |
Value used to keep the original color for jo_set_gouraud_shading_colors()
#define JO_NO_ZOOM |
Value used to keep the original scale.
|
static |
Internal usage don't use it.
int jo_get_last_sprite_id | ( | void | ) |
Get last Sprite Id.
void jo_set_gouraud_shading_brightness | ( | const unsigned char | brightness | ) |
Change Gouraud Shading brightness.
brightness | Brightness from 0 to 31 |
void jo_set_gouraud_shading_colors | ( | const jo_color | topleft_color, |
const jo_color | topright_color, | ||
const jo_color | bottomright_color, | ||
const jo_color | bottomleft_color | ||
) |
Change Gouraud Shading colors.
topleft_color | Top left corner color in sprite |
topright_color | Top right corner color in sprite |
bottomright_color | bottom right corner color in sprite |
bottomleft_color | bottom left corner color in sprite |
int jo_sprite_add | ( | const jo_img *const | img | ) |
Add a sprite.
img | Pointer to a 15 bits image struct |
int jo_sprite_add_8bits_image | ( | const jo_img_8bits *const | img | ) |
Add a 8 bits sprite.
img | Pointer to a 8 bits bits image struct |
|
static |
Change scale for every sprite displayed after this call.
scale | Sprite scale |
|
static |
Change scale for every sprite displayed after this call.
scale_x | Horizontal sprite scale |
scale_y | Vertical sprite scale |
|
static |
Change scale for every sprite displayed after this call using fixed number.
scale_x | Horizontal sprite scale |
scale_y | Vertical sprite scale |
|
static |
Get sprite count.
|
static |
Disable sprite clipping for every sprite displayed after this call.
|
static |
Disable dark filter for every sprite displayed after this call.
|
static |
Disable Gouraud Shading for every sprite displayed after this call.
|
static |
Disable half transparency for every sprite displayed after this call.
|
static |
Disable horizontal flip for every sprite displayed after this call.
|
static |
Disable screen doors filter for every sprite displayed after this call.
|
static |
Disable shadow filter for every sprite displayed after this call.
|
static |
Disable vertical flip for every sprite displayed after this call.
void jo_sprite_draw | ( | const int | sprite_id, |
const jo_pos3D *const | pos, | ||
const bool | centered_style_coordinates, | ||
const bool | billboard | ||
) |
(internal engine usage)
|
static |
Display a sprite in 3 dimensional space.
sprite_id | Sprite Id |
x | Horizontal position from the center of the screen |
y | Vertical position from the center of the screen |
z | Z index (depth)) |
|
static |
Display a sprite in 3 dimensional space.
sprite_id | Sprite Id returned by jo_sprite_add(), jo_sprite_add_tga() or jo_sprite_add_image_pack() |
x | Horizontal position from the top left corner |
y | Vertical position from the top left corner |
z | Z index (depth) |
|
static |
Display a sprite in 3 dimensional space.
sprite_id | Sprite Id |
x | Horizontal position from the center of the screen |
y | Vertical position from the center of the screen |
z | Z index (depth) |
angle | Angle (Z axe) |
|
static |
Display a sprite in 3 dimensional space.
sprite_id | Sprite Id returned by jo_sprite_add(), jo_sprite_add_tga() or jo_sprite_add_image_pack() |
x | Horizontal position from the top left corner |
y | Vertical position from the top left corner |
z | Z index (depth) |
angle | Angle (Z axe) |
void jo_sprite_draw_4p_fixed | ( | const int | sprite_id, |
const jo_pos2D_fixed *const | four_points, | ||
const jo_fixed | z, | ||
const bool | centered_style_coordinates | ||
) |
void jo_sprite_draw_rotate | ( | const int | sprite_id, |
const jo_pos3D *const | pos, | ||
const int | angle, | ||
const bool | centered_style_coordinates, | ||
const bool | billboard | ||
) |
(internal engine usage)
|
static |
Activate sprite clipping for every sprite displayed after this call.
outside | Clip everything inside clipping area |
|
static |
Activate dark filter for every sprite displayed after this call.
|
static |
Activate Gouraud Shading for every sprite displayed after this call.
|
static |
Activate half transparency for every sprite displayed after this call.
|
static |
Activate horizontal flip for every sprite displayed after this call.
|
static |
Activate screen doors filter for every sprite displayed after this call.
|
static |
Activate shadow filter for every sprite displayed after this call.
|
static |
Activate vertical flip for every sprite displayed after this call.
|
static |
Free all sprites.
void jo_sprite_free_from | ( | const int | sprite_id | ) |
Free all sprites from the given sprite_id.
sprite_id | Sprite ID to replace |
|
static |
Get sprite height.
sprite_id | Sprite Id returned by jo_sprite_add(), jo_sprite_add_tga() or jo_sprite_add_image_pack() |
|
static |
Get a specific pixel color from image bytes.
data | Bytes (raw image data) |
x | Horizontal ccord in the image |
y | Vertical ccord in the image |
image_width | Image width (in pixels) |
|
static |
Get a specific pixel palette index from image bytes.
data | Bytes (raw image data) |
x | Horizontal ccord in the image |
y | Vertical ccord in the image |
image_width | Image width (in pixels) |
|
static |
Get sprite raw image contents.
sprite_id | Sprite Id returned by jo_sprite_add(), jo_sprite_add_tga() or jo_sprite_add_image_pack() |
|
static |
Get sprite width.
sprite_id | Sprite Id returned by jo_sprite_add(), jo_sprite_add_tga() or jo_sprite_add_image_pack() |
|
static |
Get if a specific pixel is transparent (JO_COLOR_Transparent) in image bytes.
data | Bytes (raw image data) |
x | Horizontal ccord in the image |
y | Vertical ccord in the image |
image_width | Image width (in pixels) |
int jo_sprite_name2id | ( | const char *const | filename | ) |
Retrive the Sprite Id from filename based on the four first character in the filename.
filename | Filename (upper case and shorter as possible like "A.TEX") |
int jo_sprite_replace | ( | const jo_img *const | img, |
const int | sprite_id | ||
) |
Replace a sprite.
img | Pointer to a image struct |
sprite_id | Sprite ID to replace |
|
static |
Restore default scale for every sprite displayed after this call.
void jo_sprite_set_clipping_area | ( | const unsigned int | x, |
const unsigned int | y, | ||
const unsigned int | width, | ||
const unsigned int | height, | ||
const int | depth | ||
) |
Set user clipping area.
x | Horizontal coord from top left corner |
y | Vertical coord from top left corner |
width | Width of the clipping rectangle |
height | Height of the clipping rectangle |
depth | Specifies depth up to which sprites get clipped |
|
static |
Change palette for every 8 bits sprite displayed after this call.
palette_id | Palette id from jo_create_palette() |
int jo_sprite_usage_percent | ( | void | ) |
Get sprite memory usage.
jo_sprite_attributes __jo_sprite_attributes |
Current displayed sprite attribute (internal engine usage)
jo_texture_definition __jo_sprite_def[JO_MAX_SPRITE] |
(internal engine usage)
jo_picture_definition __jo_sprite_pic[JO_MAX_SPRITE] |
(internal engine usage)