main/endlevel.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include "3d.h"
#include "error.h"
#include "gr.h"
#include "palette.h"
#include "iff.h"
#include "mono.h"
#include "texmap.h"
#include "fvi.h"
#include "u_mem.h"
#include "sounds.h"
#include "inferno.h"
#include "endlevel.h"
#include "object.h"
#include "game.h"
#include "gauges.h"
#include "wall.h"
#include "terrain.h"
#include "polyobj.h"
#include "bm.h"
#include "gameseq.h"
#include "newdemo.h"
#include "multi.h"
#include "vclip.h"
#include "fireball.h"
#include "network.h"
#include "text.h"
#include "digi.h"
#include "cfile.h"
#include "compbit.h"
#include "songs.h"
#include "key.h"
#include "joy.h"

Classes

struct  flythrough_data

Defines

#define EL_OFF   0
#define EL_FLYTHROUGH   1
#define EL_LOOKBACK   2
#define EL_OUTSIDE   3
#define EL_STOPPED   4
#define EL_PANNING   5
#define EL_CHASING   6
#define SHORT_SEQUENCE   1
#define FLY_SPEED   i2f(50)
#define FLY_ACCEL   i2f(5)
#define CHASE_TURN_RATE   (0x4000/4)
#define VCLIP_BIG_PLAYER_EXPLOSION   58
#define MIN_D   0x100
#define SATELLITE_DIST   i2f(1024)
#define SATELLITE_WIDTH   satellite_size
#define SATELLITE_HEIGHT   ((satellite_size*9)/4)
#define MAX_STARS   500
#define MAX_FLY_OBJECTS   2
#define DEFAULT_SPEED   i2f(16)
#define MIN_D   0x100
#define MAX_ANGSTEP   0x4000
#define MAX_SLIDE_PER_SEGMENT   0x10000
#define JOY_NULL   15
#define ROT_SPEED   8
#define VEL_SPEED   (15)
#define LINE_LEN   80
#define NUM_VARS   8
#define STATION_DIST   i2f(1024)

Functions

int matt_find_connect_side (int seg0, int seg1)
void generate_starfield ()
void draw_stars ()
int find_exit_side (object *obj)
void do_endlevel_frame ()
void do_endlevel_flythrough (int n)
void start_endlevel_flythrough (int n, object *obj, fix speed)
fixang delta_ang (fixang a, fixang b)
void free_endlevel_data ()
void init_endlevel ()
void start_endlevel_sequence ()
int chase_angles (vms_angvec *cur_angles, vms_angvec *desired_angles)
void stop_endlevel_sequence ()
void get_angs_to_object (vms_angvec *av, vms_vector *targ_pos, vms_vector *cur_pos)
void render_mine (int start_seg_num, fix eye_offset)
void draw_exit_model ()
void render_external_scene (fix eye_offset)
void endlevel_render_mine (fix eye_offset)
void render_endlevel_frame (fix eye_offset)
void compute_segment_center (vms_vector *vp, segment *sp)
fixang interp_angle (fixang dest, fixang src, fixang step)
static vms_angvecangvec_add2_scale (vms_angvec *dest, vms_vector *src, fix s)
int convert_ext (char *dest, char *ext)
void load_endlevel_data (int level_num)

Variables

int Endlevel_sequence = 0
fix player_speed
int transition_segnum
int exit_segnum
objectendlevel_camera
fix cur_fly_speed
fix desired_fly_speed
grs_bitmapsatellite_bitmap
grs_bitmapstation_bitmap
grs_bitmapterrain_bitmap
vms_vector satellite_pos
 !*exit_bitmap,
vms_vector satellite_upvec
int station_modelnum
 !grs_bitmap **exit_bitmap_list[1];
int exit_modelnum
int destroyed_exit_modelnum
vms_vector station_pos = {0xf8c4<<10,0x3c1c<<12,0x372<<10}
vms_vector mine_exit_point
vms_vector mine_ground_exit_point
vms_vector mine_side_exit_point
vms_matrix mine_exit_orient
int outside_mine
grs_bitmap terrain_bm_instance
grs_bitmap satellite_bm_instance
static int cockpit_mode_save
object external_explosion
int ext_expl_playing
int mine_destroyed
fix flash_scale
vms_angvec exit_angles = {-0xa00,0,0}
vms_matrix surface_orient
int endlevel_data_loaded = 0
flythrough_data fly_objects []
objectslew_obj
vms_angvec player_angles
vms_angvec player_dest_angles
vms_angvec camera_desired_angles
vms_angvec camera_cur_angles
fix Render_zoom
vms_vector Viewer_eye
int exit_point_bmx
int exit_point_bmy
fix satellite_size = i2f(400)
vms_vector stars [MAX_STARS]
flythrough_dataflydata
short old_joy_x
short old_joy_y

Define Documentation

#define CHASE_TURN_RATE   (0x4000/4)
 

#define DEFAULT_SPEED   i2f(16)
 

#define EL_CHASING   6
 

#define EL_FLYTHROUGH   1
 

#define EL_LOOKBACK   2
 

#define EL_OFF   0
 

#define EL_OUTSIDE   3
 

#define EL_PANNING   5
 

#define EL_STOPPED   4
 

#define FLY_ACCEL   i2f(5)
 

#define FLY_SPEED   i2f(50)
 

#define JOY_NULL   15
 

#define LINE_LEN   80
 

#define MAX_ANGSTEP   0x4000
 

#define MAX_FLY_OBJECTS   2
 

#define MAX_SLIDE_PER_SEGMENT   0x10000
 

#define MAX_STARS   500
 

#define MIN_D   0x100
 

#define MIN_D   0x100
 

#define NUM_VARS   8
 

#define ROT_SPEED   8
 

#define SATELLITE_DIST   i2f(1024)
 

#define SATELLITE_HEIGHT   ((satellite_size*9)/4)
 

#define SATELLITE_WIDTH   satellite_size
 

#define SHORT_SEQUENCE   1
 

#define STATION_DIST   i2f(1024)
 

#define VCLIP_BIG_PLAYER_EXPLOSION   58
 

#define VEL_SPEED   (15)
 


Function Documentation

static vms_angvec* angvec_add2_scale vms_angvec dest,
vms_vector src,
fix  s
[static]
 

int chase_angles vms_angvec cur_angles,
vms_angvec desired_angles
 

void compute_segment_center vms_vector vp,
segment sp
 

int convert_ext char *  dest,
char *  ext
 

fixang delta_ang fixang  a,
fixang  b
 

void do_endlevel_flythrough int  n  ) 
 

void do_endlevel_frame  ) 
 

void draw_exit_model  ) 
 

void draw_stars  ) 
 

void endlevel_render_mine fix  eye_offset  ) 
 

int find_exit_side object obj  ) 
 

void free_endlevel_data  ) 
 

void generate_starfield  ) 
 

void get_angs_to_object vms_angvec av,
vms_vector targ_pos,
vms_vector cur_pos
 

void init_endlevel  ) 
 

! exit_bitmap = bm_load("steel1.bbm"); ! exit_bitmap_list[0] =

! exit_modelnum = load_polygon_model("exit01.pof",1,exit_bitmap_list,NULL); ! destroyed_exit_modelnum = load_polygon_model("exit01d.pof",1,exit_bitmap_list,NULL);

fixang interp_angle fixang  dest,
fixang  src,
fixang  step
 

void load_endlevel_data int  level_num  ) 
 

int matt_find_connect_side int  seg0,
int  seg1
 

void render_endlevel_frame fix  eye_offset  ) 
 

void render_external_scene fix  eye_offset  ) 
 

void render_mine int  start_seg_num,
fix  eye_offset
 

void start_endlevel_flythrough int  n,
object obj,
fix  speed
 

void start_endlevel_sequence  ) 
 

void stop_endlevel_sequence  ) 
 


Variable Documentation

vms_angvec camera_cur_angles
 

vms_angvec camera_desired_angles
 

int cockpit_mode_save [static]
 

fix cur_fly_speed
 

fix desired_fly_speed
 

int destroyed_exit_modelnum
 

object* endlevel_camera
 

int endlevel_data_loaded = 0
 

int Endlevel_sequence = 0
 

vms_angvec exit_angles = {-0xa00,0,0}
 

int exit_modelnum
 

int exit_point_bmx
 

int exit_point_bmy
 

int exit_segnum
 

int ext_expl_playing
 

object external_explosion
 

fix flash_scale
 

flythrough_data fly_objects
 

flythrough_data* flydata
 

int mine_destroyed
 

vms_matrix mine_exit_orient
 

vms_vector mine_exit_point
 

vms_vector mine_ground_exit_point
 

vms_vector mine_side_exit_point
 

short old_joy_x
 

short old_joy_y
 

int outside_mine
 

vms_angvec player_angles
 

vms_angvec player_dest_angles
 

fix player_speed
 

fix Render_zoom
 

grs_bitmap* satellite_bitmap
 

grs_bitmap satellite_bm_instance
 

vms_vector satellite_pos
 

!*exit_bitmap,

fix satellite_size = i2f(400)
 

vms_vector satellite_upvec
 

object* slew_obj
 

vms_vector stars[MAX_STARS]
 

grs_bitmap * station_bitmap
 

int station_modelnum
 

!grs_bitmap **exit_bitmap_list[1];

vms_vector station_pos = {0xf8c4<<10,0x3c1c<<12,0x372<<10}
 

vms_matrix surface_orient
 

grs_bitmap * terrain_bitmap
 

grs_bitmap terrain_bm_instance
 

int transition_segnum
 

vms_vector Viewer_eye
 


Generated on Mon Aug 28 20:55:32 2006 for D1X-Rebirth by  doxygen 1.4.6