35#ifndef __JO_EFFECTS_H__
36# define __JO_EFFECTS_H__
38#ifdef JO_COMPILE_WITH_EFFECTS_SUPPORT
76 const int z,
const unsigned short nb_sections);
84#ifdef JO_COMPILE_WITH_3D_SUPPORT
94# define JO_EFFECT_MAX (32)
96# define JO_EFFECT_MAX_FRAMES (4)
99# define JO_EFFECT_HALF_TRANSPARENT (0x01)
101# define JO_EFFECT_STANDING (0x02)
103# define JO_EFFECT_RANDOM_FLIP (0x04)
unsigned char frame_count
Definition effects.h:109
short rise
Definition effects.h:115
unsigned char __pad
Definition effects.h:112
unsigned char flags
Definition effects.h:111
void jo_effect_get_shake(jo_pos3D_fixed *const offset)
Offset of the camera of the shake (add it to the position of the eyes).
jo_vector_fixed intermediate_point_a
Definition effects.h:55
void jo_draw_homing_laser(jo_homing_laser *const homing_laser)
Draw homing laser effect.
void jo_effects_update(void)
Animate the effects, the flash and the shake: once per frame of the game.
jo_vector_fixed intermediate_point_b
Definition effects.h:57
jo_fixed horizontal_thickness
Definition effects.h:60
jo_fixed section_step
Definition effects.h:62
short __pad2
Definition effects.h:116
jo_vector_fixed source
Definition effects.h:53
bool use_intermediate_point_b
Definition effects.h:56
short sprites[(4)]
Definition effects.h:108
void jo_effect_flash(const int r, const int g, const int b, const int frames)
Flash of the screen: the color offset of the VDP2 is added to all the screens, it fades to 0.
void jo_effect_add(const jo_effect_def *const def, const jo_pos3D_fixed *const position, const int delay)
Add an effect.
jo_vector_fixed target
Definition effects.h:58
short size_end
Definition effects.h:114
bool center_sprites_according_to_thickness
Definition effects.h:64
jo_fixed vertical_thickness
Definition effects.h:61
#define JO_EFFECT_MAX_FRAMES
Frames of the animation of an effect at most.
Definition effects.h:96
short size_start
Definition effects.h:113
bool use_intermediate_point_a
Definition effects.h:54
void jo_effects_clear(void)
Remove all the effects, the flash and the shake.
int sprite_id
Definition effects.h:63
jo_fixed length
Definition effects.h:59
bool jo_effect_is_fading(void)
Check if the fade is not finished (see jo_effect_fade()).
int jo_effects_draw(void)
Draw the effects (in the world: the camera matrix is the current matrix, see jo_3d_set_depth_bias()).
void jo_effect_fade(const int darkness, const int frames)
Fade of the screen to black (or back): the color offset of the VDP2 (see jo_effect_flash()).
void jo_effect_shake(const int amount, const int frames)
Shake of the camera.
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.
unsigned char life
Definition effects.h:110
Definition of an effect (shared by the effects of the same kind).
Definition effects.h:107
Homing laser effect definition.
Definition effects.h:52
int jo_fixed
Fixed point Q16.16 number.
Definition types.h:48
3D position using fixed numbers
Definition types.h:92
Vector for 3D computation using fixed number.
Definition types.h:155