FS2_Open
Open source remastering of the Freespace 2 engine
physics.h File Reference
#include "math/vecmat.h"

Go to the source code of this file.

Classes

struct  physics_info
 
struct  control_info
 
class  avd_movement
 

Macros

#define PF_ACCELERATES   (1 << 1)
 
#define PF_USE_VEL   (1 << 2)
 
#define PF_AFTERBURNER_ON   (1 << 3)
 
#define PF_SLIDE_ENABLED   (1 << 4)
 
#define PF_REDUCED_DAMP   (1 << 5)
 
#define PF_IN_SHOCKWAVE   (1 << 6)
 
#define PF_DEAD_DAMP   (1 << 7)
 
#define PF_AFTERBURNER_WAIT   (1 << 8)
 
#define PF_CONST_VEL   (1 << 9)
 
#define PF_WARP_IN   (1 << 10)
 
#define PF_SPECIAL_WARP_IN   (1 << 11)
 
#define PF_WARP_OUT   (1 << 12)
 
#define PF_SPECIAL_WARP_OUT   (1 << 13)
 
#define PF_BOOSTER_ON   (1 << 14)
 
#define PF_GLIDING   (1 << 15)
 
#define PF_FORCE_GLIDE   (1 << 16)
 
#define PHYSICS_VIEWER_FRONT   0
 
#define PHYSICS_VIEWER_LEFT   1
 
#define PHYSICS_VIEWER_RIGHT   2
 
#define PHYSICS_VIEWER_REAR   3
 
#define PHYSICS_VIEWER_UP   4
 

Typedefs

typedef struct physics_info physics_info
 
typedef struct control_info control_info
 

Functions

void physics_init (physics_info *pi)
 
void physics_read_flying_controls (matrix *orient, physics_info *pi, control_info *ci, float sim_time, vec3d *wash_rot=NULL)
 
void physics_sim (vec3d *position, matrix *orient, physics_info *pi, float sim_time)
 
void physics_sim_editor (vec3d *position, matrix *orient, physics_info *pi, float sim_time)
 
void physics_sim_vel (vec3d *position, physics_info *pi, float sim_time, matrix *orient)
 
void physics_sim_rot (matrix *orient, physics_info *pi, float sim_time)
 
void physics_apply_whack (vec3d *force, vec3d *pos, physics_info *pi, matrix *orient, float mass)
 
void physics_apply_shock (vec3d *direction_vec, float pressure, physics_info *pi, matrix *orient, vec3d *min, vec3d *max, float radius)
 
void physics_collide_whack (vec3d *impulse, vec3d *delta_rotvel, physics_info *pi, matrix *orient, bool is_landing)
 
int check_rotvel_limit (physics_info *pi)
 
void physics_predict_pos (physics_info *pi, float delta_time, vec3d *predicted_pos)
 
void physics_predict_vel (physics_info *pi, float delta_time, vec3d *predicted_vel)
 
void physics_predict_pos_and_vel (physics_info *pi, float delta_time, vec3d *predicted_vel, vec3d *predicted_pos)
 
void physics_set_viewer (physics_info *p, int dir)
 
void apply_physics (float damping, float desired_vel, float initial_vel, float t, float *new_vel, float *delta_pos)
 

Variables

int physics_paused
 
float Physics_viewer_bank
 

Macro Definition Documentation

#define PF_ACCELERATES   (1 << 1)

Definition at line 18 of file physics.h.

#define PF_AFTERBURNER_ON   (1 << 3)

Definition at line 20 of file physics.h.

#define PF_AFTERBURNER_WAIT   (1 << 8)

Definition at line 25 of file physics.h.

#define PF_BOOSTER_ON   (1 << 14)

Definition at line 31 of file physics.h.

#define PF_CONST_VEL   (1 << 9)

Definition at line 26 of file physics.h.

#define PF_DEAD_DAMP   (1 << 7)

Definition at line 24 of file physics.h.

#define PF_FORCE_GLIDE   (1 << 16)

Definition at line 33 of file physics.h.

#define PF_GLIDING   (1 << 15)

Definition at line 32 of file physics.h.

#define PF_IN_SHOCKWAVE   (1 << 6)

Definition at line 23 of file physics.h.

#define PF_REDUCED_DAMP   (1 << 5)

Definition at line 22 of file physics.h.

#define PF_SLIDE_ENABLED   (1 << 4)

Definition at line 21 of file physics.h.

#define PF_SPECIAL_WARP_IN   (1 << 11)

Definition at line 28 of file physics.h.

#define PF_SPECIAL_WARP_OUT   (1 << 13)

Definition at line 30 of file physics.h.

#define PF_USE_VEL   (1 << 2)

Definition at line 19 of file physics.h.

#define PF_WARP_IN   (1 << 10)

Definition at line 27 of file physics.h.

#define PF_WARP_OUT   (1 << 12)

Definition at line 29 of file physics.h.

#define PHYSICS_VIEWER_FRONT   0

Definition at line 153 of file physics.h.

#define PHYSICS_VIEWER_LEFT   1

Definition at line 154 of file physics.h.

#define PHYSICS_VIEWER_REAR   3

Definition at line 156 of file physics.h.

#define PHYSICS_VIEWER_RIGHT   2

Definition at line 155 of file physics.h.

#define PHYSICS_VIEWER_UP   4

Definition at line 157 of file physics.h.

Typedef Documentation

typedef struct control_info control_info
typedef struct physics_info physics_info

Function Documentation

void apply_physics ( float  damping,
float  desired_vel,
float  initial_vel,
float  t,
float new_vel,
float delta_pos 
)

Definition at line 108 of file physics.cpp.

int check_rotvel_limit ( physics_info pi)

Definition at line 1064 of file physics.cpp.

void physics_apply_shock ( vec3d direction_vec,
float  pressure,
physics_info pi,
matrix orient,
vec3d min,
vec3d max,
float  radius 
)

Definition at line 907 of file physics.cpp.

void physics_apply_whack ( vec3d force,
vec3d pos,
physics_info pi,
matrix orient,
float  mass 
)

Definition at line 776 of file physics.cpp.

void physics_collide_whack ( vec3d impulse,
vec3d delta_rotvel,
physics_info pi,
matrix orient,
bool  is_landing 
)

Definition at line 1026 of file physics.cpp.

void physics_init ( physics_info pi)

Definition at line 49 of file physics.cpp.

void physics_predict_pos ( physics_info pi,
float  delta_time,
vec3d predicted_pos 
)

Definition at line 394 of file physics.cpp.

void physics_predict_pos_and_vel ( physics_info pi,
float  delta_time,
vec3d predicted_vel,
vec3d predicted_pos 
)

Definition at line 424 of file physics.cpp.

void physics_predict_vel ( physics_info pi,
float  delta_time,
vec3d predicted_vel 
)

Definition at line 407 of file physics.cpp.

void physics_read_flying_controls ( matrix orient,
physics_info pi,
control_info ci,
float  sim_time,
vec3d wash_rot = NULL 
)

Definition at line 449 of file physics.cpp.

void physics_set_viewer ( physics_info p,
int  dir 
)

Definition at line 135 of file physics.cpp.

void physics_sim ( vec3d position,
matrix orient,
physics_info pi,
float  sim_time 
)

Definition at line 364 of file physics.cpp.

void physics_sim_editor ( vec3d position,
matrix orient,
physics_info pi,
float  sim_time 
)

Definition at line 385 of file physics.cpp.

void physics_sim_rot ( matrix orient,
physics_info pi,
float  sim_time 
)

Definition at line 151 of file physics.cpp.

void physics_sim_vel ( vec3d position,
physics_info pi,
float  sim_time,
matrix orient 
)

Definition at line 263 of file physics.cpp.

Variable Documentation

int physics_paused

Definition at line 677 of file object.cpp.

float Physics_viewer_bank

Definition at line 128 of file physics.cpp.