Jo Engine  2023.08.26
Jo Sega Saturn Engine
Data Structures | Functions
effects.h File Reference

Jo Engine Function prototypes special effects (Laser beam, etc) More...

Go to the source code of this file.

Data Structures

struct  jo_homing_laser
 Homing laser effect definition. More...
 

Functions

void jo_init_homing_laser (jo_homing_laser *const homing_laser, const int sprite_id, const unsigned short thickness, const int z, const unsigned short nb_sections)
 Init jo_homing_laser struct. More...
 
void jo_draw_homing_laser (jo_homing_laser *const homing_laser)
 Draw homing laser effect. More...
 

Detailed Description

Jo Engine Function prototypes special effects (Laser beam, etc)

Author
Johannes Fetz
Bug:
No known bugs.

Data Structure Documentation

◆ jo_homing_laser

struct jo_homing_laser

Homing laser effect definition.

Data Fields
bool center_sprites_according_to_thickness
jo_fixed horizontal_thickness
jo_vector_fixed intermediate_point_a
jo_vector_fixed intermediate_point_b
jo_fixed length
jo_fixed section_step
jo_vector_fixed source
int sprite_id
jo_vector_fixed target
bool use_intermediate_point_a
bool use_intermediate_point_b
jo_fixed vertical_thickness

Function Documentation

◆ jo_draw_homing_laser()

void jo_draw_homing_laser ( jo_homing_laser *const  homing_laser)

Draw homing laser effect.

Parameters
homing_laserHoming laser definition
Remarks
source, intermediate_point_a, intermediate_point_b, target and length must be set before this call

◆ jo_init_homing_laser()

void jo_init_homing_laser ( jo_homing_laser *const  homing_laser,
const int  sprite_id,
const unsigned short  thickness,
const int  z,
const unsigned short  nb_sections 
)

Init jo_homing_laser struct.

Parameters
homing_laserHoming laser definition
sprite_idSprite ID
thicknessHorizontal Laser thickness (1 to 256)
zDefault z index (500 for example)
nb_sectionsNumber of section in the curve aka smoothness (4 to 64 and must be a multiple of 2).
Remarks
nb_sections=20 Should be enough for most case