// // starfld.h // // Include file for any programs wanting to use starfield functionality. // // richard.cutting@virgin.net // http://www.netyaroze-europe.com/~rcutting // // Please feel free to use this code as you want to for your own non // commercial use but please leave my name in the headers if you do. If // you do use it, extend it or change it then please let me know ! // // Richard Cutting 14 May 1998 // #include #ifndef _STARFLD_H #define _STARFLD_H 1 #define STAR_NO_SCROLL 0 #define STAR_SCROLL_LEFT 1 #define STAR_SCROLL_RIGHT 2 #define STAR_SCROLL_UP 3 #define STAR_SCROLL_DOWN 4 #define USE_BOX 1 #define USE_IMAGE 2 #define USE_SPRITE 3 #define EFFECT_SCROLL 1 #define EFFECT_SUCK 2 #define TO_ORIGIN 1 #define TO_ORIGINAL 2 // Structure used to hold stars. typedef struct tagStar { int orig_x; int orig_y; int x; int y; int z; int speed; int dx; int dy; int x_inc; int y_inc; int error; int index; GsBOXF box; CVECTOR rgb; struct tagStar *next; } StarType; void free_starfield( void ); void initialise_starfield( int method, int flag, int num_stars, int num_planes, int scroll_dir, int change_time, int animate_every_n_frame, int ot_length, u_long timaddr ); void animate_starfield( void ); void render_starfield( void ); void scroll_starfield( void ); void init_suck_stars( int suck_to ); int suck_stars( void ); void starfield_game_start_frig( void ); void flying_through_space( void ); #endif