FS2_Open
Open source remastering of the Freespace 2 engine
neb.cpp File Reference
#include "bmpman/bmpman.h"
#include "cmdline/cmdline.h"
#include "ddsutils/ddsutils.h"
#include "debugconsole/console.h"
#include "freespace2/freespace.h"
#include "jpgutils/jpgutils.h"
#include "mission/missionparse.h"
#include "nebula/neb.h"
#include "object/object.h"
#include "parse/parselo.h"
#include "pcxutils/pcxutils.h"
#include "pngutils/pngutils.h"
#include "render/3d.h"
#include "ship/ship.h"
#include "starfield/starfield.h"
#include "tgautils/tgautils.h"

Go to the source code of this file.

Macros

#define NF_USED   (1<<0)
 
#define NEB_BACKG_FOG_NEAR_GLIDE   2.5f
 
#define NEB_BACKG_FOG_NEAR_D3D   4.5f
 
#define NEB_BACKG_FOG_FAR_GLIDE   10.0f
 
#define NEB_BACKG_FOG_FAR_D3D   10.0f
 
#define ESIZE   32
 
#define PIXEL_INDEX_SMALL(xv, yv)   ( (this_esize * (yv) * gr_screen.bytes_per_pixel) + ((xv) * gr_screen.bytes_per_pixel) )
 

Functions

float neb2_get_alpha_2shell (float inner_radius, float outer_radius, float magic_num, vec3d *v)
 
float neb2_get_alpha_offscreen (float sx, float sy, float incoming_alpha)
 
void neb2_pre_render (camid cid)
 
void neb2_get_eye_pos (vec3d *eye_vector)
 
void neb2_get_eye_orient (matrix *eye_matrix)
 
int neb2_get_bitmap ()
 
void neb2_regen ()
 
void neb2_init ()
 
void neb2_set_detail_level (int level)
 
void neb2_get_fog_color (ubyte *r, ubyte *g, ubyte *b)
 
void neb2_level_init ()
 
void neb2_post_level_init ()
 
void neb2_level_close ()
 
void neb2_render_setup (camid cid)
 
void neb2_page_in ()
 
 DCF (neb_skip,"Toggles culling of objects obscured by nebula")
 
int neb2_skip_render (object *objp, float z_depth)
 
float neb2_get_lod_scale (int objnum)
 
int crossed_border ()
 
void neb2_copy (int xyz, int src, int dest)
 
void neb2_gen_slice (int xyz, int src, vec3d *cube_center)
 
float g3_draw_rotated_bitmap_area (vertex *pnt, float angle, float rad, uint tmap_flags, float area)
 
void neb2_render_player ()
 
void neb2_eye_changed ()
 
void neb2_get_fog_values (float *fnear, float *ffar, object *objp)
 
void neb2_get_adjusted_fog_values (float *fnear, float *ffar, object *objp)
 
float neb2_get_fog_intensity (object *obj)
 
float neb2_get_fog_intensity (vec3d *pos)
 
void neb2_get_pixel (int x, int y, int *r, int *g, int *b)
 
void neb2_get_backg_color (int *r, int *g, int *b)
 
void neb2_set_backg_color (int r, int g, int b)
 
 DCF (neb2,"list nebula console commands")
 
 DCF (neb2_prad,"set cloud poof radius")
 
 DCF (neb2_cdim,"poof cube dimension")
 
 DCF (neb2_cinner,"poof cube inner dimension")
 
 DCF (neb2_couter,"poof cube outer dimension")
 
 DCF (neb2_jitter,"poof jitter")
 
 if ((index >=0)&&(index<=3))
 
 DCF (neb2_select,"Enables/disables a poof bitmap")
 
 DCF (neb2_rot,"set max rotation speed for poofs")
 
 DCF (neb2_ff,"flash fade/sec")
 
 DCF (neb2_mode,"Switches nebula render modes")
 
 DCF (neb2_slices,"Sets how many 'slices' are used in the nebula")
 

Variables

bool Nebula_sexp_used = false
 
int Neb2_render_mode = NEB2_RENDER_NONE
 
char Neb2_poof_filenames [MAX_NEB2_POOFS][MAX_FILENAME_LEN]
 
int Neb2_poofs [MAX_NEB2_POOFS] = { -1, -1, -1, -1, -1, -1 }
 
int Neb2_poof_flags = ( (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) )
 
int Neb2_poof_count = 0
 
char Neb2_bitmap_filenames [MAX_NEB2_BITMAPS][MAX_FILENAME_LEN]
 
int Neb2_bitmap [MAX_NEB2_BITMAPS] = { -1, -1, -1, -1, -1, -1 }
 
int Neb2_bitmap_count = 0
 
char Neb2_texture_name [MAX_FILENAME_LEN] = ""
 
float max_rotation = 3.75f
 
float neb2_flash_fade = 0.3f
 
float Neb_backg_fog_near = NEB_BACKG_FOG_NEAR_GLIDE
 
float Neb_backg_fog_far = NEB_BACKG_FOG_FAR_GLIDE
 
int pneb_tried = 0
 
int pneb_tossed_alpha = 0
 
int pneb_tossed_dot = 0
 
int pneb_tossed_off = 0
 
int neb_tried = 0
 
int neb_tossed_alpha = 0
 
int neb_tossed_dot = 0
 
int neb_tossed_count = 0
 
float Neb2_awacs = -1.0f
 
float Neb2_fog_near_mult = 1.0f
 
float Neb2_fog_far_mult = 1.0f
 
int Neb2_slices = 5
 
cube_poof Neb2_cubes [MAX_CPTS][MAX_CPTS][MAX_CPTS]
 
neb2_detail Neb2_detail [MAX_DETAIL_LEVEL]
 
neb2_detailNd = &Neb2_detail[MAX_DETAIL_LEVEL - 2]
 
int Neb2_background_color [3] = {0, 0, 255}
 
int Neb2_regen = 0
 
int neb_skip_opt = 0
 
vec3d cube_cen
 
int neb_mode = 1
 
int frames_total = 0
 
int frame_count = 0
 
float frame_avg
 
float nNf_near
 
float nNf_far
 
ubyte tpixels [ESIZE *ESIZE *4]
 
int last_esize = -1
 
int this_esize = ESIZE
 
float ex_scale
 
float ey_scale
 
int tbmap = -1
 
int wacky_scheme = 3
 
dc_stuff_intvalue
 
Nd break_y = (float)value
 
Nd break_x = Nd->break_y * gr_screen.aspect
 
dc_stuff_intindex
 
 else
 
dc_stuff_intr
 
dc_stuff_intg
 
dc_stuff_intb
 

Macro Definition Documentation

#define ESIZE   32

Definition at line 1217 of file neb.cpp.

#define NEB_BACKG_FOG_FAR_D3D   10.0f

Definition at line 141 of file neb.cpp.

#define NEB_BACKG_FOG_FAR_GLIDE   10.0f

Definition at line 140 of file neb.cpp.

#define NEB_BACKG_FOG_NEAR_D3D   4.5f

Definition at line 139 of file neb.cpp.

#define NEB_BACKG_FOG_NEAR_GLIDE   2.5f

Definition at line 138 of file neb.cpp.

#define NF_USED   (1<<0)

Definition at line 78 of file neb.cpp.

#define PIXEL_INDEX_SMALL (   xv,
  yv 
)    ( (this_esize * (yv) * gr_screen.bytes_per_pixel) + ((xv) * gr_screen.bytes_per_pixel) )

Definition at line 1291 of file neb.cpp.

Function Documentation

int crossed_border ( )

Definition at line 738 of file neb.cpp.

DCF ( neb_skip  ,
"Toggles culling of objects obscured by nebula"   
)

Definition at line 518 of file neb.cpp.

DCF ( neb2  ,
"list nebula console commands"   
)

Definition at line 1463 of file neb.cpp.

DCF ( neb2_prad  ,
"set cloud poof radius"   
)

Definition at line 1490 of file neb.cpp.

DCF ( neb2_cdim  ,
"poof cube dimension"   
)

Definition at line 1494 of file neb.cpp.

DCF ( neb2_cinner  ,
"poof cube inner dimension"   
)

Definition at line 1499 of file neb.cpp.

DCF ( neb2_couter  ,
"poof cube outer dimension"   
)

Definition at line 1504 of file neb.cpp.

DCF ( neb2_jitter  ,
"poof jitter"   
)

Definition at line 1509 of file neb.cpp.

DCF ( neb2_select  ,
"Enables/disables a poof bitmap  
)

Definition at line 1545 of file neb.cpp.

DCF ( neb2_rot  ,
"set max rotation speed for poofs"   
)

Definition at line 1559 of file neb.cpp.

DCF ( neb2_ff  ,
"flash fade/sec"   
)

Definition at line 1564 of file neb.cpp.

DCF ( neb2_mode  ,
"Switches nebula render modes"   
)

Definition at line 1569 of file neb.cpp.

DCF ( neb2_slices  ,
"Sets how many 'slices' are used in the nebula"   
)

Definition at line 1601 of file neb.cpp.

float g3_draw_rotated_bitmap_area ( vertex pnt,
float  angle,
float  rad,
uint  tmap_flags,
float  area 
)

Definition at line 1069 of file 3ddraw.cpp.

if ( (index >=0)&&(index<=3)  )

Definition at line 1538 of file neb.cpp.

void neb2_copy ( int  xyz,
int  src,
int  dest 
)

Definition at line 772 of file neb.cpp.

void neb2_eye_changed ( )

Definition at line 1111 of file neb.cpp.

void neb2_gen_slice ( int  xyz,
int  src,
vec3d cube_center 
)

Definition at line 804 of file neb.cpp.

void neb2_get_adjusted_fog_values ( float fnear,
float ffar,
object objp 
)

Definition at line 1170 of file neb.cpp.

float neb2_get_alpha_2shell ( float  inner_radius,
float  outer_radius,
float  magic_num,
vec3d v 
)

Definition at line 647 of file neb.cpp.

float neb2_get_alpha_offscreen ( float  sx,
float  sy,
float  incoming_alpha 
)

Definition at line 685 of file neb.cpp.

void neb2_get_backg_color ( int r,
int g,
int b 
)

Definition at line 1400 of file neb.cpp.

int neb2_get_bitmap ( )

Definition at line 1428 of file neb.cpp.

void neb2_get_eye_orient ( matrix eye_matrix)

Definition at line 1422 of file neb.cpp.

void neb2_get_eye_pos ( vec3d eye_vector)

Definition at line 1416 of file neb.cpp.

void neb2_get_fog_color ( ubyte r,
ubyte g,
ubyte b 
)

Definition at line 319 of file neb.cpp.

float neb2_get_fog_intensity ( object obj)

Definition at line 1185 of file neb.cpp.

float neb2_get_fog_intensity ( vec3d pos)

Definition at line 1202 of file neb.cpp.

void neb2_get_fog_values ( float fnear,
float ffar,
object objp 
)

Definition at line 1136 of file neb.cpp.

float neb2_get_lod_scale ( int  objnum)

Definition at line 614 of file neb.cpp.

void neb2_get_pixel ( int  x,
int  y,
int r,
int g,
int b 
)

Definition at line 1292 of file neb.cpp.

void neb2_init ( )

Definition at line 250 of file neb.cpp.

void neb2_level_close ( )

Definition at line 432 of file neb.cpp.

void neb2_level_init ( )

Definition at line 326 of file neb.cpp.

void neb2_page_in ( )

Definition at line 502 of file neb.cpp.

void neb2_post_level_init ( )

Definition at line 332 of file neb.cpp.

void neb2_pre_render ( camid  cid)

Definition at line 1230 of file neb.cpp.

void neb2_regen ( )

Definition at line 890 of file neb.cpp.

void neb2_render_player ( )

Definition at line 925 of file neb.cpp.

void neb2_render_setup ( camid  cid)

Definition at line 464 of file neb.cpp.

void neb2_set_backg_color ( int  r,
int  g,
int  b 
)

Definition at line 1408 of file neb.cpp.

void neb2_set_detail_level ( int  level)

Definition at line 301 of file neb.cpp.

int neb2_skip_render ( object objp,
float  z_depth 
)

Definition at line 527 of file neb.cpp.

Variable Documentation

Definition at line 1613 of file neb.cpp.

Nd break_x = Nd->break_y * gr_screen.aspect

Definition at line 1531 of file neb.cpp.

Nd break_y = (float)value

Definition at line 1530 of file neb.cpp.

vec3d cube_cen

Definition at line 736 of file neb.cpp.

else
Initial value:
{
dc_printf("Invalid smooth mode %i", index)
GLuint index
Definition: Glext.h:5608
void dc_printf(const char *format,...)
Prints the given char string to the debug console.
Definition: console.cpp:358

Definition at line 1540 of file neb.cpp.

float ex_scale

Definition at line 1221 of file neb.cpp.

float ey_scale

Definition at line 1221 of file neb.cpp.

float frame_avg

Definition at line 924 of file neb.cpp.

int frame_count = 0

Definition at line 923 of file neb.cpp.

int frames_total = 0

Definition at line 922 of file neb.cpp.

Definition at line 1612 of file neb.cpp.

Initial value:
{
int index
GLuint index
Definition: Glext.h:5608

Definition at line 1537 of file neb.cpp.

int last_esize = -1

Definition at line 1219 of file neb.cpp.

float max_rotation = 3.75f

Definition at line 80 of file neb.cpp.

Definition at line 213 of file neb.cpp.

float Neb2_awacs = -1.0f

Definition at line 156 of file neb.cpp.

Neb2_background_color[2] = {0, 0, 255}

Definition at line 215 of file neb.cpp.

int Neb2_bitmap[MAX_NEB2_BITMAPS] = { -1, -1, -1, -1, -1, -1 }

Definition at line 71 of file neb.cpp.

int Neb2_bitmap_count = 0

Definition at line 72 of file neb.cpp.

char Neb2_bitmap_filenames[MAX_NEB2_BITMAPS][MAX_FILENAME_LEN]
Initial value:
= {
"", "", "", "", "", ""
}

Definition at line 68 of file neb.cpp.

Definition at line 165 of file neb.cpp.

Definition at line 167 of file neb.cpp.

float neb2_flash_fade = 0.3f

Definition at line 81 of file neb.cpp.

float Neb2_fog_far_mult = 1.0f

Definition at line 160 of file neb.cpp.

float Neb2_fog_near_mult = 1.0f

Definition at line 159 of file neb.cpp.

int Neb2_poof_count = 0

Definition at line 65 of file neb.cpp.

char Neb2_poof_filenames[MAX_NEB2_POOFS][MAX_FILENAME_LEN]
Initial value:
= {
"", "", "", "", "", ""
}

Definition at line 60 of file neb.cpp.

int Neb2_poof_flags = ( (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) )

Definition at line 64 of file neb.cpp.

int Neb2_poofs[MAX_NEB2_POOFS] = { -1, -1, -1, -1, -1, -1 }

Definition at line 63 of file neb.cpp.

int Neb2_regen = 0

Definition at line 217 of file neb.cpp.

int Neb2_render_mode = NEB2_RENDER_NONE

Definition at line 57 of file neb.cpp.

int Neb2_slices = 5

Definition at line 163 of file neb.cpp.

char Neb2_texture_name[MAX_FILENAME_LEN] = ""

Definition at line 75 of file neb.cpp.

float Neb_backg_fog_far = NEB_BACKG_FOG_FAR_GLIDE

Definition at line 143 of file neb.cpp.

float Neb_backg_fog_near = NEB_BACKG_FOG_NEAR_GLIDE

Definition at line 142 of file neb.cpp.

int neb_mode = 1

Definition at line 921 of file neb.cpp.

int neb_skip_opt = 0

Definition at line 517 of file neb.cpp.

int neb_tossed_alpha = 0

Definition at line 151 of file neb.cpp.

int neb_tossed_count = 0

Definition at line 153 of file neb.cpp.

int neb_tossed_dot = 0

Definition at line 152 of file neb.cpp.

int neb_tried = 0

Definition at line 150 of file neb.cpp.

bool Nebula_sexp_used = false

Definition at line 34 of file neb.cpp.

float nNf_far

Definition at line 1183 of file neb.cpp.

float nNf_near

Definition at line 1183 of file neb.cpp.

int pneb_tossed_alpha = 0

Definition at line 147 of file neb.cpp.

int pneb_tossed_dot = 0

Definition at line 148 of file neb.cpp.

int pneb_tossed_off = 0

Definition at line 149 of file neb.cpp.

int pneb_tried = 0

Definition at line 146 of file neb.cpp.

Initial value:
{
int r, g, b
dc_stuff_int & r
Definition: neb.cpp:1611
GLboolean GLboolean GLboolean b
Definition: Glext.h:5781
dc_stuff_int & g
Definition: neb.cpp:1612

Definition at line 1611 of file neb.cpp.

int tbmap = -1

Definition at line 1222 of file neb.cpp.

int this_esize = ESIZE

Definition at line 1220 of file neb.cpp.

ubyte tpixels[ESIZE *ESIZE *4]

Definition at line 1218 of file neb.cpp.

Initial value:
{
int value
GLsizei const GLfloat * value
Definition: Glext.h:5646

Definition at line 1529 of file neb.cpp.

int wacky_scheme = 3

Definition at line 1288 of file neb.cpp.