Jo Engine 2026.11.1
Jo Sega Saturn Engine
Loading...
Searching...
No Matches
physics.h File Reference

Jo Engine File Physics function prototypes. More...

Go to the source code of this file.

Data Structures

struct  jo_sidescroller_physics_params

Functions

static __jo_force_inline void jo_physics_apply_friction (jo_sidescroller_physics_params *physics)
 Friction computation.
static __jo_force_inline void jo_physics_jump (jo_sidescroller_physics_params *physics)
 Jump computation.
static __jo_force_inline void jo_physics_apply_gravity (jo_sidescroller_physics_params *physics)
 Gravity computation.
static __jo_force_inline void jo_physics_accelerate_right (jo_sidescroller_physics_params *physics)
 Acceleration computation when going to the right.
static __jo_force_inline void jo_physics_accelerate_left (jo_sidescroller_physics_params *physics)
 Acceleration computation when going to the left.
static __jo_force_inline void jo_physics_decelerate_left (jo_sidescroller_physics_params *physics)
 Deceleration computation when going to the right.
static __jo_force_inline void jo_physics_decelerate_right (jo_sidescroller_physics_params *physics)
 Deceleration computation when going to the left.
static __jo_force_inline bool jo_physics_is_standing (jo_sidescroller_physics_params *physics)
 Check if we doesn't move.
static __jo_force_inline bool jo_physics_is_almost_standing (jo_sidescroller_physics_params *physics, float tolerance)
 Check if we almost doesn't move.
static __jo_force_inline bool jo_physics_is_going_on_the_right (jo_sidescroller_physics_params *physics)
 Check if we going on the right.
static __jo_force_inline bool jo_physics_is_going_on_the_left (jo_sidescroller_physics_params *physics)
 Check if we going on the left.
static __jo_force_inline bool jo_physics_should_brake (jo_sidescroller_physics_params *physics)
 Check if we should brake depending on the direction.
static __jo_force_inline void jo_physics_init_for_sonic (jo_sidescroller_physics_params *physics)
 Init physics engine for a Sonic like game.

Detailed Description

Jo Engine File Physics function prototypes.

Author
Johannes Fetz
Bug
No known bugs.
Warning
Under development
Todo

Fixed point math

Megaman, Contra Physics


Data Structure Documentation

◆ jo_sidescroller_physics_params

struct jo_sidescroller_physics_params
Data Fields
float acceleration_strength
float air_acceleration_strength
float braking_animation_speed
float deceleration_strength
float friction
float gravity
bool is_in_air
float jump_speed_y
float max_speed
float max_speed_y
float speed
float speed_y

Function Documentation

◆ jo_physics_accelerate_left()

__jo_force_inline void jo_physics_accelerate_left ( jo_sidescroller_physics_params * physics)
static

Acceleration computation when going to the left.

Parameters
physicsSidescroller physics properties

◆ jo_physics_accelerate_right()

__jo_force_inline void jo_physics_accelerate_right ( jo_sidescroller_physics_params * physics)
static

Acceleration computation when going to the right.

Parameters
physicsSidescroller physics properties

◆ jo_physics_apply_friction()

__jo_force_inline void jo_physics_apply_friction ( jo_sidescroller_physics_params * physics)
static

Friction computation.

Parameters
physicsSidescroller physics properties

◆ jo_physics_apply_gravity()

__jo_force_inline void jo_physics_apply_gravity ( jo_sidescroller_physics_params * physics)
static

Gravity computation.

Parameters
physicsSidescroller physics properties

◆ jo_physics_decelerate_left()

__jo_force_inline void jo_physics_decelerate_left ( jo_sidescroller_physics_params * physics)
static

Deceleration computation when going to the right.

Parameters
physicsSidescroller physics properties

◆ jo_physics_decelerate_right()

__jo_force_inline void jo_physics_decelerate_right ( jo_sidescroller_physics_params * physics)
static

Deceleration computation when going to the left.

Parameters
physicsSidescroller physics properties

◆ jo_physics_init_for_sonic()

__jo_force_inline void jo_physics_init_for_sonic ( jo_sidescroller_physics_params * physics)
static

Init physics engine for a Sonic like game.

Parameters
physicsSidescroller physics properties

◆ jo_physics_is_almost_standing()

__jo_force_inline bool jo_physics_is_almost_standing ( jo_sidescroller_physics_params * physics,
float tolerance )
static

Check if we almost doesn't move.

Parameters
physicsSidescroller physics properties
toleranceTolerance
Returns
true if we almost doesn't move otherwise false

◆ jo_physics_is_going_on_the_left()

__jo_force_inline bool jo_physics_is_going_on_the_left ( jo_sidescroller_physics_params * physics)
static

Check if we going on the left.

Parameters
physicsSidescroller physics properties
Returns
true if we going on the left otherwise false

◆ jo_physics_is_going_on_the_right()

__jo_force_inline bool jo_physics_is_going_on_the_right ( jo_sidescroller_physics_params * physics)
static

Check if we going on the right.

Parameters
physicsSidescroller physics properties
Returns
true if we going on the right otherwise false

◆ jo_physics_is_standing()

__jo_force_inline bool jo_physics_is_standing ( jo_sidescroller_physics_params * physics)
static

Check if we doesn't move.

Parameters
physicsSidescroller physics properties
Returns
true if we doesn't move otherwise false

◆ jo_physics_jump()

__jo_force_inline void jo_physics_jump ( jo_sidescroller_physics_params * physics)
static

Jump computation.

Parameters
physicsSidescroller physics properties

◆ jo_physics_should_brake()

__jo_force_inline bool jo_physics_should_brake ( jo_sidescroller_physics_params * physics)
static

Check if we should brake depending on the direction.

Parameters
physicsSidescroller physics properties
Returns
true if we should brake depending on the direction otherwise false