Jo Engine
2024.04.28
Jo Sega Saturn Engine
|
Jo Engine Mode7. More...
Go to the source code of this file.
Data Structures | |
struct | jo_mode7_computation_cache |
mode7 internal computation cache struct More... | |
struct | jo_mode7 |
mode7 struct More... | |
Functions | |
bool | jo_init_mode7_for_screen_output (jo_mode7 *const params, const unsigned short tile_width, const unsigned short tile_height) |
Initialize mode 7 effect for direct screen output and pre compute projection. More... | |
void | jo_update_screen_output_coord_for_mode7 (jo_mode7 *const params) |
Update mode 7 computation if output_left or output_right params changed. More... | |
bool | jo_init_mode7_for_image_output (jo_mode7 *params, const unsigned short tile_width, const unsigned short tile_height, jo_img *const output_image) |
Initialize mode 7 effect for image output and pre compute projection. More... | |
void | jo_free_mode7 (jo_mode7 *const params) |
Free mode 7 computation. More... | |
void | jo_do_mode7_floor (const jo_img *const tile, const int cam_x, const int cam_y, const jo_mode7 *const params) |
Draw projection according to the initialized output. More... | |
Jo Engine Mode7.
struct jo_mode7_computation_cache |
mode7 internal computation cache struct
Data Fields | ||
---|---|---|
int * | distance | |
int * | line_dy | |
jo_color * | output | |
unsigned short | output_height | |
unsigned short | output_line_width | |
unsigned short | output_width | |
unsigned short | output_width_div2 | |
unsigned short | output_width_sizeof | |
int | output_y_start | |
int | tile_mask_x | |
int | tile_mask_y |
struct jo_mode7 |
mode7 struct
Data Fields | ||
---|---|---|
jo_mode7_computation_cache | __cache | |
int | horizon | |
unsigned short | output_left | |
unsigned short | output_top | |
int | scale_x | |
int | scale_y | |
int | space_z |
void jo_do_mode7_floor | ( | const jo_img *const | tile, |
const int | cam_x, | ||
const int | cam_y, | ||
const jo_mode7 *const | params | ||
) |
Draw projection according to the initialized output.
tile | Tile image |
cam_x | Camera horizontal position |
cam_y | Camera depth (Z index) position |
params | mode7 structure |
void jo_free_mode7 | ( | jo_mode7 *const | params | ) |
Free mode 7 computation.
params | mode7 structure |
bool jo_init_mode7_for_image_output | ( | jo_mode7 * | params, |
const unsigned short | tile_width, | ||
const unsigned short | tile_height, | ||
jo_img *const | output_image | ||
) |
Initialize mode 7 effect for image output and pre compute projection.
params | mode7 structure |
tile_width | Tile width |
tile_height | Tile height |
output_image | Output image (data can be allocated before) |
bool jo_init_mode7_for_screen_output | ( | jo_mode7 *const | params, |
const unsigned short | tile_width, | ||
const unsigned short | tile_height | ||
) |
Initialize mode 7 effect for direct screen output and pre compute projection.
params | mode7 structure |
tile_width | Tile width |
tile_height | Tile height |
void jo_update_screen_output_coord_for_mode7 | ( | jo_mode7 *const | params | ) |
Update mode 7 computation if output_left or output_right params changed.
params | mode7 structure |