FS2_Open
Open source remastering of the Freespace 2 engine
neblightning.h File Reference

Go to the source code of this file.

Classes

struct  l_node
 
struct  l_bolt
 
struct  l_section
 
struct  bolt_type
 
struct  storm_type
 

Macros

#define MAX_LIGHTNING_NODES   500
 
#define MAX_LIGHTNING_BOLTS   10
 
#define MAX_BOLT_TYPES_PER_STORM   10
 
#define DEBUG_BOLT   0
 

Typedefs

typedef struct l_node l_node
 
typedef struct l_bolt l_bolt
 
typedef struct l_section l_section
 
typedef struct bolt_type bolt_type
 
typedef struct storm_type storm_type
 

Functions

void nebl_init ()
 
void nebl_level_init ()
 
void nebl_set_storm (char *name)
 
void nebl_render_all ()
 
void nebl_process ()
 
void nebl_bolt (size_t type, vec3d *start, vec3d *strike)
 
int nebl_get_active_bolts ()
 
int nebl_get_active_nodes ()
 
l_nodenebl_new ()
 
void nebl_delete (l_node *lp)
 
void nebl_release (l_node *bolt_head)
 
int nebl_gen (vec3d *left, vec3d *right, float depth, float max_depth, int child, l_node **l_left, l_node **l_right)
 
void nebl_calc_facing_pts_smart (vec3d *top, vec3d *bot, vec3d *fvec, vec3d *pos, float w, float z_add)
 
void nebl_render_section (bolt_type *bi, l_section *a, l_section *b)
 
void nebl_generate_section (bolt_type *bi, float width, l_node *a, l_node *b, l_section *c, l_section *cap, int pinch_a, int pinch_b)
 
void nebl_render (bolt_type *bi, l_node *whee, float width, l_section *prev=NULL)
 
void nebl_jitter (l_bolt *b)
 
size_t nebl_get_bolt_index (char *name)
 
size_t nebl_get_storm_index (char *name)
 

Variables

SCP_vector< storm_typeStorm_types
 
SCP_vector< bolt_typeBolt_types
 
float Nebl_intensity
 

Macro Definition Documentation

#define DEBUG_BOLT   0

Definition at line 25 of file neblightning.h.

#define MAX_BOLT_TYPES_PER_STORM   10

Definition at line 24 of file neblightning.h.

#define MAX_LIGHTNING_BOLTS   10

Definition at line 23 of file neblightning.h.

#define MAX_LIGHTNING_NODES   500

Definition at line 22 of file neblightning.h.

Typedef Documentation

typedef struct bolt_type bolt_type
typedef struct l_bolt l_bolt
typedef struct l_node l_node
typedef struct l_section l_section
typedef struct storm_type storm_type

Function Documentation

void nebl_bolt ( size_t  type,
vec3d start,
vec3d strike 
)

Definition at line 565 of file neblightning.cpp.

void nebl_calc_facing_pts_smart ( vec3d top,
vec3d bot,
vec3d fvec,
vec3d pos,
float  w,
float  z_add 
)

Definition at line 847 of file neblightning.cpp.

void nebl_delete ( l_node lp)

Definition at line 698 of file neblightning.cpp.

int nebl_gen ( vec3d left,
vec3d right,
float  depth,
float  max_depth,
int  child,
l_node **  l_left,
l_node **  l_right 
)

Definition at line 730 of file neblightning.cpp.

void nebl_generate_section ( bolt_type bi,
float  width,
l_node a,
l_node b,
l_section c,
l_section cap,
int  pinch_a,
int  pinch_b 
)

Definition at line 929 of file neblightning.cpp.

int nebl_get_active_bolts ( )

Definition at line 654 of file neblightning.cpp.

int nebl_get_active_nodes ( )

Definition at line 660 of file neblightning.cpp.

size_t nebl_get_bolt_index ( char *  name)

Definition at line 1121 of file neblightning.cpp.

size_t nebl_get_storm_index ( char *  name)

Definition at line 1133 of file neblightning.cpp.

void nebl_init ( )

Definition at line 156 of file neblightning.cpp.

void nebl_jitter ( l_bolt b)

Definition at line 1087 of file neblightning.cpp.

void nebl_level_init ( )

Definition at line 281 of file neblightning.cpp.

l_node* nebl_new ( )

Definition at line 666 of file neblightning.cpp.

void nebl_process ( )

Definition at line 459 of file neblightning.cpp.

void nebl_release ( l_node bolt_head)

Definition at line 711 of file neblightning.cpp.

void nebl_render ( bolt_type bi,
l_node whee,
float  width,
l_section prev = NULL 
)

Definition at line 1030 of file neblightning.cpp.

void nebl_render_all ( )

Definition at line 324 of file neblightning.cpp.

void nebl_render_section ( bolt_type bi,
l_section a,
l_section b 
)

Definition at line 868 of file neblightning.cpp.

void nebl_set_storm ( char *  name)

Definition at line 310 of file neblightning.cpp.

Variable Documentation

SCP_vector<bolt_type> Bolt_types

Definition at line 49 of file neblightning.cpp.

float Nebl_intensity

Definition at line 138 of file neblightning.cpp.

SCP_vector<storm_type> Storm_types

Definition at line 52 of file neblightning.cpp.