Main Page | Class List | Directories | File List | Class Members | File Members

supercsbros.h File Reference

#include "allegro.h"
#include "mappyal.h"

Include dependency graph for supercsbros.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ENVIRONMENT
struct  SPRITE
struct  STATS

Defines

#define MODE   GFX_AUTODETECT_WINDOWED
#define WIDTH   800
#define HEIGHT   600
#define WHITE   makecol(255,255,255)
#define GRAY   makecol(60,60,60)
#define RED   makecol(200,0,0)
#define MAX_ENEMIES   10
#define MAX_BULLETS   1
#define JUMPIT   1600
#define PAN   128
#define PITCH   1000
#define VOLUME   128
#define NUM_SOUNDS   5
#define JUMP   0
#define ITEM   1
#define SHOOT   2
#define HIT   3
#define villian_Audio   4

Typedefs

typedef ENVIRONMENT ENVIRONMENT
typedef SPRITE SPRITE
typedef STATS STATS

Functions

BITMAP * grabframe ()
void init_win32 ()
void init_freebsd ()
void init_linux ()
void init_unix ()
void init_unknown ()
void updateplayer ()
void checkinput ()
void ticker ()
void updatestats ()
void updatebossstats ()
void restart_level ()
void show_splash ()
void loadsounds ()
void initialize ()
void main_menu ()
void quitgame ()
void settings_menu ()
void updatetime ()
void updatescore ()
void loadsprites ()
void draw_crosshair ()
void do_jump ()
char * OSinit (int number)
void update_enemies ()
void fire ()
void updatesprite (SPRITE *spr)
void updatebullets ()
void updatebullet (SPRITE *spr)
void boss_battle ()
void StartAudio ()
void updateitems ()
void check_ground ()
void end_game ()

Variables

SAMPLE * sounds [NUM_SOUNDS]
char * player_bitmap = "players/stevieanim.bmp"
char * enemy_bitmap1 = "players/misgreenanim.bmp"
char * boss_bitmap = "players/burrisanim.bmp"
char * title_string = "Super CS Brothers"
char * cd_bitmap = "objects/cd.bmp"
char * jumpdrive_bitmap = "objects/jump.bmp"
char * lava_bitmap = "objects/fire.bmp"
char * preend_bitmap = "images/preend.bmp"
char * end_bitmap = "images/end.bmp"
char * bg_file = "images/background.bmp"
char * map_file = "maps/level4.fmp"
char * jump_file = "audio/jump.wav"
char * item_file = "audio/item.wav"
char * shoot_file = "audio/shoot.wav"
char * hit_file = "audio/hit.wav"
SAMPLE * music
SAMPLE * jump_sound
SAMPLE * item_sound
SAMPLE * shoot_sound
SAMPLE * hit_sound
int jump = JUMPIT
int mapxoff
int mapyoff
volatile int counter
volatile int ticks
int buttons
BITMAP * buffer
BITMAP * temp
BITMAP * progress_player
BITMAP * bar
BITMAP * progress_boss
BITMAP * player_images [8]
BITMAP * mis_1_images [8]
BITMAP * boss_images [8]
BITMAP * bullet_image
BITMAP * cd_image
BITMAP * jumpdrive_image
BITMAP * lava_images [3]
BITMAP * preend_image
BITMAP * end_image
SPRITEplayer
SPRITEenemies [MAX_ENEMIES]
SPRITEboss
SPRITEbullets [MAX_BULLETS]
SPRITEcd [5]
SPRITEjumpdrive [5]
STATSstats
STATSbstats
ENVIRONMENTenv


Define Documentation

#define GRAY   makecol(60,60,60)
 

Definition at line 11 of file supercsbros.h.

#define HEIGHT   600
 

Definition at line 8 of file supercsbros.h.

Referenced by boss_battle(), initialize(), main(), updatemap(), and updateplayer().

#define HIT   3
 

Definition at line 25 of file supercsbros.h.

Referenced by loadsounds(), and updatebullet().

#define ITEM   1
 

Definition at line 23 of file supercsbros.h.

Referenced by get_cd(), get_jumpdrive(), loadsounds(), and updateplayer().

#define JUMP   0
 

Definition at line 22 of file supercsbros.h.

Referenced by do_jump(), and loadsounds().

#define JUMPIT   1600
 

Definition at line 16 of file supercsbros.h.

Referenced by check_ground(), checkinput(), restart_level(), and updateplayer().

#define MAX_BULLETS   1
 

Definition at line 15 of file supercsbros.h.

Referenced by fire(), loadsprites(), and updatebullets().

#define MAX_ENEMIES   10
 

Definition at line 14 of file supercsbros.h.

Referenced by loadsprites(), and updatebullet().

#define MODE   GFX_AUTODETECT_WINDOWED
 

Definition at line 6 of file supercsbros.h.

Referenced by initialize().

#define NUM_SOUNDS   5
 

Definition at line 21 of file supercsbros.h.

Referenced by loadsounds().

#define PAN   128
 

Definition at line 18 of file supercsbros.h.

Referenced by do_jump(), fire(), get_cd(), get_jumpdrive(), loadsounds(), updatebullet(), and updateplayer().

#define PITCH   1000
 

Definition at line 19 of file supercsbros.h.

Referenced by do_jump(), fire(), get_cd(), get_jumpdrive(), loadsounds(), updatebullet(), and updateplayer().

#define RED   makecol(200,0,0)
 

Definition at line 12 of file supercsbros.h.

Referenced by draw_crosshair().

#define SHOOT   2
 

Definition at line 24 of file supercsbros.h.

Referenced by fire(), and loadsounds().

#define villian_Audio   4
 

Definition at line 26 of file supercsbros.h.

Referenced by loadsounds().

#define VOLUME   128
 

Definition at line 20 of file supercsbros.h.

Referenced by do_jump(), fire(), get_cd(), get_jumpdrive(), loadsounds(), updatebullet(), and updateplayer().

#define WHITE   makecol(255,255,255)
 

Definition at line 10 of file supercsbros.h.

Referenced by updatescore(), updatestats(), and updatetime().

#define WIDTH   800
 

Definition at line 7 of file supercsbros.h.

Referenced by boss_battle(), initialize(), main(), updatemap(), updateplayer(), and updatetime().


Typedef Documentation

typedef struct ENVIRONMENT ENVIRONMENT
 

typedef struct SPRITE SPRITE
 

typedef struct STATS STATS
 


Function Documentation

void boss_battle  ) 
 

Definition at line 786 of file bowler.c.

References battle, boss_bitmap, boss_images, bstats, buffer, checkinput(), SPRITE::collision, end_game(), grabframe(), STATS::health, HEIGHT, STATS::lives, player, stats, temp, update_enemies(), updatebossstats(), updatebullets(), updateitems(), updateplayer(), updatescore(), updatestats(), and WIDTH.

00787 {
00788   remove_timer();
00789   allegro_message("The Battle Begins Now...");
00790   
00791 }

Here is the call graph for this function:

void check_ground  ) 
 

Definition at line 767 of file bowler.c.

References collided(), SPRITE::collision, SPRITE::height, jump, JUMPIT, player, SPRITE::width, SPRITE::x, and SPRITE::y.

Referenced by main().

00768 {
00769   if (jump==JUMPIT) {
00770     if (!collided(player->x + player->width/2, player->y + player->height+5)) {
00771       jump = 0;
00772       player->collision=0;
00773     }
00774   }
00775 }

Here is the call graph for this function:

void checkinput  ) 
 

Definition at line 568 of file bowler.c.

References ENVIRONMENT::audio_enabled, ENVIRONMENT::audio_pan, ENVIRONMENT::audio_pitch, ENVIRONMENT::audio_volume, battle, bstats, collided(), SPRITE::collision, ENVIRONMENT::counter, SPRITE::curframe, ENVIRONMENT::diff_mod, do_jump(), env, fire(), SPRITE::framecount, SPRITE::framedelay, get_cd(), get_jumpdrive(), STATS::health, SPRITE::height, jump, JUMPIT, STATS::lives, SPRITE::maxframe, music, player, restart_level(), SPRITE::rightfacing, stats, SPRITE::width, SPRITE::x, and SPRITE::y.

00569 {
00570   if (key[KEY_1]) {
00571     if (env->audio_enabled)
00572       play_sample(music, env->audio_volume, env->audio_pan, env->audio_pitch, TRUE);
00573   }
00574   if (key[KEY_2]) {
00575     if (env->audio_enabled)
00576       stop_sample(music);
00577   }
00578   if (key[KEY_S]) {
00579     env->counter = 100000;
00580     remove_timer();
00581   }
00582   if (key[KEY_H]) {
00583     stats->health -= (int)(env->diff_mod * 5);
00584     if (stats->health < 0) {
00585       allegro_message("You die.  Your corpse is quickly eaten by a grue.");
00586       stats->lives--;
00587       restart_level();
00588     }
00589   }
00590   if (key[KEY_C]) {
00591     get_cd();
00592   }
00593   if (key[KEY_J]) {
00594     get_jumpdrive();
00595   }
00596   if (key[KEY_W]) {
00597     jump = 45;
00598   }
00599   if (key[KEY_LCONTROL]) {
00600     fire();
00601   }
00602   if (key[KEY_RIGHT]) { 
00603     player->rightfacing = 1; 
00604     player->x+=4; 
00605     if (++player->framecount > player->framedelay) {
00606       player->framecount=0;
00607       if (++player->curframe > player->maxframe)
00608         player->curframe=1;
00609     }
00610   }
00611   else if (key[KEY_LEFT]) { 
00612     player->rightfacing = 0; 
00613     player->x-=4; 
00614     if (++player->framecount > player->framedelay) {
00615       player->framecount=0;
00616       if (++player->curframe > player->maxframe)
00617         player->curframe=1;
00618     }
00619   }
00620   else player->curframe=0;
00621   
00622   if (key[KEY_SPACE]) {
00623     do_jump();
00624   }
00625   return;
00626 }

Here is the call graph for this function:

void do_jump  ) 
 

Definition at line 777 of file bowler.c.

References ENVIRONMENT::audio_enabled, env, JUMP, jump, PAN, PITCH, sounds, and VOLUME.

00778 {
00779   jump=35;
00780   if (env->audio_enabled)
00781     play_sample(sounds[JUMP], VOLUME, PAN, PITCH, FALSE);
00782 }

void draw_crosshair  ) 
 

Definition at line 505 of file bowler.c.

References buffer, SPRITE::height, mapxoff, mapyoff, player, RED, SPRITE::width, SPRITE::x, and SPRITE::y.

00506 {
00507 
00508   //  line (buffer, player->x+player->width/4 - mapxoff, player->y - jump/5 - mapyoff, player->x + 3 * player->width/4 - mapxoff, player->y - jump/5 - mapyoff, RED);
00509   // top left
00510   line(buffer, (player->x - 10 - mapxoff), (player->y - mapyoff), (player->x + 10 - mapxoff), (player->y - mapyoff), RED);
00511   line(buffer, (player->x - mapxoff), (player->y - 10 - mapyoff), (player->x - mapxoff), (player->y + 10 - mapyoff), RED);
00512 
00513   // bottom left
00514   line(buffer, (player->x - 10 - mapxoff), (player->y - mapyoff + player->height), (player->x + 10 - mapxoff), (player->y - mapyoff + player->height), RED);
00515   line(buffer, (player->x - mapxoff), (player->y - 10 - mapyoff + player->height), (player->x - mapxoff), (player->y + 10 - mapyoff + player->height), RED);
00516 
00517   // top right
00518   line(buffer, (player->x - 10 - mapxoff + player->width), (player->y - mapyoff), (player->x + 10 - mapxoff + player->width), (player->y - mapyoff), RED);
00519   line(buffer, (player->x - mapxoff + player->width), (player->y - 10 - mapyoff), (player->x - mapxoff + player->width), (player->y + 10 - mapyoff), RED);
00520 
00521   // bottom right
00522   line(buffer, (player->x - 10 - mapxoff + player->width), (player->y - mapyoff + player->height), (player->x + 10 - mapxoff + player->width), (player->y - mapyoff + player->height), RED);
00523   line(buffer, (player->x - mapxoff + player->width), (player->y - 10 - mapyoff + player->height), (player->x - mapxoff + player->width), (player->y + 10 - mapyoff + player->height), RED);
00524   return;
00525 }

void end_game  ) 
 

Definition at line 876 of file scroller.c.

References bstats, STATS::health, main_menu(), and stats.

Referenced by boss_battle().

00877 {
00878   //int is_same_bitmap(preend_image, end_image);
00879 
00880   if ((bstats->health < 0) && (stats->health > 0)) {
00881     allegro_message("Congratulations!  You win!");
00882   }
00883   else if ((stats->health < 0) && (bstats->health > 0)) {
00884     allegro_message("MORE! MORE! MORE!");
00885   }
00886 
00887   main_menu();
00888   return;
00889 }

Here is the call graph for this function:

void fire  ) 
 

Definition at line 547 of file bowler.c.

References SPRITE::alive, ENVIRONMENT::audio_enabled, bullets, env, SPRITE::height, MAX_BULLETS, PAN, PITCH, player, SPRITE::rightfacing, SHOOT, sounds, VOLUME, SPRITE::x, and SPRITE::y.

00548 {
00549   int n;
00550   for (n=0; n<MAX_BULLETS; n++)
00551     {
00552       if (!bullets[n]->alive)
00553         {
00554           bullets[n]->alive++;
00555           bullets[n]->x = player->x;
00556           bullets[n]->y = player->y + player->height/2;
00557           if (player->rightfacing)
00558             bullets[n]->rightfacing=1;
00559           else
00560             bullets[n]->rightfacing=0;
00561           return;
00562         }
00563     }
00564 }

BITMAP* grabframe  ) 
 

void init_freebsd  ) 
 

Definition at line 12 of file old-scroller.c.

References ENVIRONMENT::audio_enabled, env, and title_string.

Referenced by OSinit().

00013 {
00014   allegro_message("FreeBSD has not yet been tested; some options will be disabled");
00015   env->audio_enabled = FALSE;
00016   set_window_title(title_string);
00017   return;
00018 }

void init_linux  ) 
 

Definition at line 801 of file bowler.c.

References ENVIRONMENT::audio_enabled, env, and title_string.

00802 {
00803   allegro_message("GNU/Linux has not yet been tested; some options will be disabled");
00804   env->audio_enabled = FALSE;
00805   set_window_title(title_string);
00806   return;
00807 }

void init_unix  ) 
 

Definition at line 808 of file bowler.c.

References ENVIRONMENT::audio_enabled, env, and title_string.

00809 {
00810   env->audio_enabled = FALSE;
00811   set_window_title(title_string);
00812   return;
00813 }

void init_unknown  ) 
 

Definition at line 33 of file old-scroller.c.

Referenced by OSinit().

00034 {
00035   allegro_message("Your unknown platform has not been tested yet!\nDanger Will Robinson!");
00036   return;
00037 }

void init_win32  ) 
 

Definition at line 795 of file bowler.c.

References title_string.

00796 {
00797   set_window_title(title_string);
00798   //loadsounds();
00799   return;
00800 }

void initialize  ) 
 

Definition at line 54 of file bowler.c.

References buffer, ENVIRONMENT::counter, ENVIRONMENT::diff_mod, env, STATS::health, HEIGHT, STATS::lives, map_file, MapLoad(), MODE, OSinit(), player, STATS::score, stats, ENVIRONMENT::ticks, WIDTH, SPRITE::x, and SPRITE::y.

00055 {
00056   allegro_init();
00057 
00058   install_timer();
00059   install_keyboard();
00060   install_mouse(); 
00061    
00062   set_color_depth(32);
00063   set_gfx_mode(MODE, WIDTH, HEIGHT, 0, 0);
00064   buffer = create_bitmap (WIDTH, HEIGHT);
00065   clear(buffer);
00066 
00067   enable_hardware_cursor();
00068   select_mouse_cursor(MOUSE_CURSOR_ARROW);
00069   show_mouse(screen);
00070 
00071   if (MapLoad(map_file))
00072     {
00073       allegro_message("Error reading the map file: %s", map_file);
00074       exit(1);
00075     }
00076   player = malloc(sizeof(SPRITE));
00077   stats  = malloc(sizeof(STATS));
00078   env    = malloc(sizeof(ENVIRONMENT));
00079 
00080   stats->health = 25;
00081   stats->score  = 0;
00082   stats->lives  = 3;
00083 
00084   env->counter  = 300;
00085   env->ticks    = 0;
00086   env->diff_mod = 2.00;
00087 
00088   player->x = 0;
00089   player->y = 0;
00090 
00091   OSinit(os_type);
00092   return;
00093 }

Here is the call graph for this function:

void loadsounds  ) 
 

Definition at line 439 of file bowler.c.

References ENVIRONMENT::audio_enabled, env, HIT, ITEM, JUMP, NUM_SOUNDS, PAN, PITCH, SHOOT, sounds, villian_Audio, and VOLUME.

00440 {
00441   /* we might actually want to keep these in a modifiable place, rather than DEFINEs, so we can change them in-game.... */
00442   /*   env->audio_enabled = 1; */
00443   /*   env->audio_pan = 128; */
00444   /*   env->audio_pitch = 1000; */
00445   /*   env->audio_volume = 128; */
00446   if (install_sound(DIGI_AUTODETECT, MIDI_NONE, " ") != 0)
00447     {
00448       allegro_message("Error initializing sound system");
00449       return;
00450     }
00451   
00452   sounds[villian_Audio] = load_sample("villian_Audio.wav");
00453   if (!sounds[villian_Audio])
00454     {
00455       allegro_message("error reading villian_Audio.wav");
00456       return;
00457     }
00458   
00459   sounds[JUMP] = load_sample("jump.wav");
00460   if (!sounds[JUMP])
00461     {
00462       allegro_message("error reading jump.wav");
00463       return;
00464     }
00465   
00466   sounds[ITEM] = load_sample("item.wav");
00467   if (!sounds[ITEM])
00468     {
00469       allegro_message("error reading item.wav");
00470       return;
00471     }
00472   
00473   sounds[SHOOT] = load_sample("shoot.wav");
00474   if (!sounds[SHOOT])
00475     {
00476       allegro_message("error reading shoot.wav");
00477       return;
00478     }
00479   
00480   sounds[HIT] = load_sample("hit.wav");
00481   if (!sounds[HIT])
00482     {
00483       allegro_message("error reading hit.wav");
00484       return;
00485     }
00486   
00487   play_sample(sounds[4], VOLUME, PAN, PITCH, FALSE);
00488   
00489   //free the samples
00490   //for (n=0; n < NUM_SOUNDS; n ++)
00491   //   destroy_sample(sounds[n]);
00492   
00493   //remove_sound();  /* why are we removing the sound driver?  we have to play sound! */
00494 }

void loadsprites  ) 
 

Definition at line 273 of file bowler.c.

References SPRITE::alive, SPRITE::animdir, bar, boss, boss_bitmap, boss_images, bullet_image, bullets, cd, cd_bitmap, cd_image, SPRITE::collision, SPRITE::curframe, enemies, enemy_bitmap1, SPRITE::framecount, SPRITE::framedelay, grabframe(), SPRITE::height, jumpdrive, jumpdrive_bitmap, jumpdrive_image, MAX_BULLETS, MAX_ENEMIES, SPRITE::maxframe, mis_1_images, player, player_bitmap, player_images, progress_boss, progress_player, SPRITE::rightfacing, temp, SPRITE::width, SPRITE::x, SPRITE::xcount, SPRITE::xdelay, SPRITE::xspeed, SPRITE::y, SPRITE::ycount, SPRITE::ydelay, and SPRITE::yspeed.

00274 {
00275   int n;
00276 
00277   // used for health status
00278   temp = load_bitmap("images/progress.bmp", NULL);
00279   progress = grabframe(temp,130,14,0,0,1,0);
00280   bar = grabframe(temp,6,10,130,2,1,0);
00281   destroy_bitmap(temp);
00282 
00283   // Stevie's sprites
00284   temp = load_bitmap(player_bitmap, NULL);
00285   for (n=0; n<8; n++)
00286     player_images[n] = grabframe(temp,50,64,0,0,8,n);
00287   destroy_bitmap(temp);
00288     
00289   player = malloc(sizeof(SPRITE));
00290   player->x = 80;
00291   player->y = 100;
00292   player->curframe=0;
00293   player->framecount=0;
00294   player->framedelay=6;
00295   player->rightfacing=0;
00296   player->maxframe=7;
00297   player->width=player_images[0]->w;
00298   player->height=player_images[0]->h;
00299   player->collision=0;
00300     
00301   temp = load_bitmap(enemy_bitmap1, NULL);
00302   for (n=0; n<8; n++)
00303     mis_1_images[n] = grabframe(temp,50,64,0,0,8,n);
00304   destroy_bitmap(temp);
00305 
00306   for (n=0; n<MAX_ENEMIES; n++)
00307     {
00308       enemies[n] = malloc(sizeof(SPRITE));
00309       enemies[n]->alive = 1;
00310       enemies[n]->width = mis_1_images[0]->w;
00311       enemies[n]->height = mis_1_images[0]->h;
00312       enemies[n]->rightfacing = 0;
00313       enemies[n]->xdelay = 4;
00314       enemies[n]->ydelay = 0;
00315       enemies[n]->xcount = 5;
00316       enemies[n]->ycount = 0;
00317       enemies[n]->xspeed = 0;
00318       enemies[n]->yspeed = 0;
00319       enemies[n]->curframe = 0;
00320       enemies[n]->maxframe = 2;
00321       enemies[n]->framecount = 0;
00322       enemies[n]->framedelay = 10;
00323       enemies[n]->animdir = 1;
00324       //      enemies[n]->jump = JUMPIT;
00325     }
00326   enemies[0]->x = 524;   enemies[0]->y = 287;
00327   enemies[1]->x = 1456;  enemies[1]->y = 127;
00328   enemies[2]->x = 2316;  enemies[2]->y = 286;
00329   enemies[3]->x = 2656;  enemies[3]->y = 286;
00330   enemies[4]->x = 3632;  enemies[4]->y = 158;
00331   enemies[5]->x = 5256;  enemies[5]->y = 446;
00332   enemies[6]->x = 5196;  enemies[6]->y = 254;
00333   enemies[7]->x = 5592;  enemies[7]->y = 254;
00334   enemies[8]->x = 6280;  enemies[8]->y = 319;
00335   enemies[9]->x = 7436;  enemies[9]->y = 190;
00336 
00337   temp = load_bitmap(boss_bitmap, NULL);
00338   for (n=0; n<8; n++)
00339     boss_images[n] = grabframe(temp,50,64,0,0,8,n);
00340   destroy_bitmap(temp);
00341   
00342   boss = malloc(sizeof(SPRITE));
00343   boss->x = 9016 ;
00344   boss->y = 62 ;
00345   boss->curframe = 0;
00346   boss->alive=1;
00347   boss->framecount = 0;
00348   boss->framedelay = 4;
00349   boss->maxframe=7;
00350   boss->width=boss_images[0]->w;
00351   boss->height=boss_images[0]->h;
00352   boss->collision = 0;
00353   boss->rightfacing=0;
00354   //  boss->jump = JUMPIT;
00355 
00356   bullet_image = load_bitmap("objects/ball.pcx", NULL);
00357 
00358   for (n=0; n<MAX_BULLETS; n++) {
00359     bullets[n] = malloc(sizeof(SPRITE));
00360     bullets[n]->alive=0;
00361     bullets[n]->x=0;
00362     bullets[n]->y=0;
00363     bullets[n]->xspeed=6;
00364     bullets[n]->yspeed=0;
00365     bullets[n]->xdelay=0;
00366     bullets[n]->ydelay=0;
00367     bullets[n]->xcount=1;
00368     bullets[n]->ycount=0;
00369     bullets[n]->curframe=0;
00370     bullets[n]->maxframe=0;
00371     bullets[n]->animdir=0;
00372     bullets[n]->framedelay=0;
00373     bullets[n]->framecount=0;
00374     bullets[n]->width=bullet_image->w;
00375     bullets[n]->height=bullet_image->h;
00376   }
00377 
00378 }

Here is the call graph for this function:

void main_menu  ) 
 

Definition at line 95 of file bowler.c.

References bg_file, quitgame(), and settings_menu().

00096 {
00097   int i = 0;
00098   int s = 3;
00099   
00100   BITMAP *bg;
00101   /* in order: start, settings, quit */
00102   BITMAP *menu_items_unselected[3];
00103   BITMAP *menu_items_selected[3];
00104 
00105   bg = load_bitmap(bg_file, NULL);
00106   if (!bg) {
00107     allegro_message("Error loading %s", bg);
00108     return;
00109   }
00110   menu_items_unselected[0] = load_bitmap("menus/start_unselected.pcx", NULL);
00111   menu_items_unselected[1] = load_bitmap("menus/settings_unselected.pcx", NULL);
00112   menu_items_unselected[2] = load_bitmap("menus/quit_unselected.pcx", NULL);
00113   menu_items_selected[0]  = load_bitmap("menus/start_selected.pcx", NULL);
00114   menu_items_selected[1]  = load_bitmap("menus/settings_selected.pcx", NULL);
00115   menu_items_selected[2]  = load_bitmap("menus/quit_selected.pcx", NULL);
00116 
00117   blit(bg, screen, 0, 0, 0, 0, bg->w, bg->h);
00118   for (i=0; i<3; i++) {
00119     blit(menu_items_unselected[i], screen, 0, 0, 300, (200 + i * 64), SCREEN_W-1, SCREEN_H-1);
00120   }
00121 /*   blit(menu_items_selected[s], screen, 0, 0, 300, (200 + s * 64), SCREEN_W-1, SCREEN_H-1); */
00122   
00123   while (1)
00124     {
00125       mouse_b=0;
00126       if ((mouse_x >= 300) && (mouse_x <= 510) && (mouse_y >= 200) && (mouse_y <= 263)) s = 0;
00127       if ((mouse_x >= 300) && (mouse_x <= 510) && (mouse_y >= 264) && (mouse_y <= 327)) s = 1;
00128       if ((mouse_x >= 300) && (mouse_x <= 510) && (mouse_y >= 328) && (mouse_y <= 392)) s = 2;
00129 
00130       /* set selected item based on bounding rectangle */
00131       if (mouse_b & 1) {
00132         switch (s) {
00133         case 0: break;
00134         case 1: 
00135           settings_menu();
00136           blit(bg, screen, 0, 0, 0, 0, bg->w, bg->h);
00137           for (i=0; i<3; i++)
00138             blit(menu_items_unselected[i], screen, 0, 0, 300, (200 + i * 64), SCREEN_W-1, SCREEN_H-1);
00139           break;
00140         case 2: quitgame();
00141         }
00142         if (s == 0) break;
00143       }
00144     }
00145   return;
00146 }

Here is the call graph for this function:

char* OSinit int  number  ) 
 

Definition at line 820 of file bowler.c.

References init_linux(), init_unix(), and init_win32().

00821 {
00822   switch (number)
00823     {
00824     case OSTYPE_WIN3:    /* fallthrough */
00825     case OSTYPE_WIN95:   /*      |      */
00826     case OSTYPE_WIN98:   /*      |      */
00827     case OSTYPE_WINME:   /*      |      */
00828     case OSTYPE_WINNT:   /*     \|/     */
00829     case OSTYPE_WIN2000: /*      '      */
00830     case OSTYPE_WINXP:
00831       init_win32(); 
00832       break;
00833     case OSTYPE_LINUX:
00834       init_linux();
00835       break;
00836     case OSTYPE_UNIX:
00837       init_unix();
00838       break;
00839     }
00840   return "";
00841 }

Here is the call graph for this function:

void quitgame  ) 
 

Definition at line 148 of file bowler.c.

00149 {
00150   exit(0);
00151 }

void restart_level  ) 
 

Definition at line 527 of file bowler.c.

References SPRITE::collision, ENVIRONMENT::counter, env, STATS::health, jump, JUMPIT, STATS::lives, player, STATS::score, stats, SPRITE::x, and SPRITE::y.

00528 {
00529   if (stats->lives > 0)
00530     {
00531       stats->health=25;
00532       env->counter=300;
00533       stats->score=0;
00534       player->x = 80;
00535       player->y = 100;
00536       player->collision=0;
00537       jump = JUMPIT;
00538     }
00539   else
00540     {
00541       allegro_message("Deiner gemütlichkeit is kaput!  Exiting game...\n");
00542       exit(0);
00543     }
00544   return;
00545 }

void settings_menu  ) 
 

Definition at line 153 of file bowler.c.

References ENVIRONMENT::audio_enabled, ENVIRONMENT::diff_mod, and env.

00154 {
00155   int i;
00156   int s = 0;
00157 
00158   BITMAP *settings_bg;
00159   BITMAP *difficulty_level_on[3];
00160   BITMAP *difficulty_level_off[3];
00161   BITMAP *on_unselected, *off_unselected, *done_unselected;
00162   BITMAP *difficulty, *audio;
00163 
00164   settings_bg = load_bitmap("menus/settings_bg.pcx", NULL);
00165   blit(settings_bg, screen, 0, 0, 0, 0, settings_bg->w, settings_bg->h);
00166  
00167   difficulty = load_bitmap("menus/difficulty.pcx", NULL);
00168   audio = load_bitmap("menus/audio.pcx", NULL);
00169   done_unselected = load_bitmap("menus/done_unselected.pcx", NULL);
00170   on_unselected = load_bitmap("menus/on_unselected.pcx", NULL);
00171   off_unselected = load_bitmap("menus/off_unselected.pcx", NULL);
00172 
00173   difficulty_level_off[0] = load_bitmap("menus/a_unselected.pcx", NULL);
00174   difficulty_level_off[1] = load_bitmap("menus/b_unselected.pcx", NULL);
00175   difficulty_level_off[2] = load_bitmap("menus/c_unselected.pcx", NULL);
00176   difficulty_level_on[0]  = load_bitmap("menus/a_selected.pcx", NULL);
00177   difficulty_level_on[1]  = load_bitmap("menus/b_selected.pcx", NULL);
00178   difficulty_level_on[2]  = load_bitmap("menus/c_selected.pcx", NULL);
00179 
00180   blit(difficulty, screen,0, 0, 85, 200, difficulty->w, difficulty->h);
00181   blit(audio, screen, 0, 0, 250, 240, audio->w, audio->h);
00182   blit(done_unselected, screen, 0, 0, 270, 280, done_unselected->w, done_unselected->h);
00183   blit(on_unselected, screen, 0, 0, 410, 240, on_unselected->w, on_unselected->h);
00184   blit(off_unselected, screen, 0, 0, 470, 240, off_unselected->w, off_unselected->h);
00185 
00186   for (i=0; i<3; i++) {
00187     blit(difficulty_level_off[i], screen, 0, 0, (400 + i * 70), 200, SCREEN_W-1, SCREEN_H-1);
00188   }
00189   
00190   while (1)
00191     {
00192        /* which option are we selecting? */
00193       if ((mouse_x >= 400) && (mouse_x <= 460) && (mouse_y >= 200) && (mouse_y <= 240)) s = 0; /* A Option */
00194       if ((mouse_x >= 470) && (mouse_x <= 530) && (mouse_y >= 200) && (mouse_y <= 240)) s = 1; /* B  "     */
00195       if ((mouse_x >= 540) && (mouse_x <= 600) && (mouse_y >= 200) && (mouse_y <= 240)) s = 2; /* C  "     */
00196       if ((mouse_x >= 410) && (mouse_x <= 460) && (mouse_y >= 241) && (mouse_y <= 280)) s = 3; /* Audio on */
00197       if ((mouse_x >= 470) && (mouse_x <= 530) && (mouse_y >= 241) && (mouse_y <= 280)) s = 4; /* Audio off*/
00198       if ((mouse_x >= 270) && (mouse_x <= 375) && (mouse_y >= 280) && (mouse_y <= 320)) s = 5; /* Done     */
00199 
00200       /* set selected item based on bounding rectangle */
00201       if (mouse_b & 1) {
00202         switch (s) {
00203         case 0: env->diff_mod = 0.42;   break; /* A option */
00204         case 1: env->diff_mod = 0.75;   break; /* B  "     */
00205         case 2: env->diff_mod = 1.00;   break; /* C  "     */
00206         case 3: env->audio_enabled = 1; break; 
00207         case 4: env->audio_enabled = 0; break;
00208         case 5: break;                         /* Just one of those days. */
00209         }
00210         if (s == 5) break;
00211       }
00212     }
00213   destroy_bitmap(settings_bg);
00214   return;
00215 }

void show_splash  ) 
 

void StartAudio  ) 
 

void ticker  ) 
 

Definition at line 217 of file bowler.c.

References env, and ENVIRONMENT::ticks.

00218 {
00219   ++env->ticks;
00220   return;
00221 }

void update_enemies  ) 
 

Definition at line 630 of file bowler.c.

References SPRITE::alive, boss, boss_images, buffer, SPRITE::curframe, enemies, mapxoff, mapyoff, mis_1_images, player, updatesprite(), SPRITE::x, SPRITE::xspeed, and SPRITE::y.

00631 {
00632   int n;
00633   
00634   for (n=0; n<10; n++) {
00635     if (enemies[n]->alive) {
00636            if ((enemies[n]->x - player->x - mapxoff) <= 600)
00637              enemies[n]->xspeed = 2;
00638            updatesprite(enemies[n]);
00639            draw_sprite(buffer, mis_1_images[enemies[n]->curframe],
00640                        enemies[n]->x - mapxoff, enemies[n]->y-mapyoff);
00641     }
00642   }
00643   if (boss->alive) {
00644     draw_sprite(buffer, boss_images[boss->curframe], boss->x-mapxoff, boss->y-mapyoff);
00645   } 
00646 }

Here is the call graph for this function:

void updatebossstats  ) 
 

Definition at line 281 of file scroller.c.

References bar, buffer, and progress_boss.

Referenced by boss_battle().

00282 {
00283   int n;
00284   draw_sprite(buffer, progress_boss, SCREEN_W - 150, 17);
00285    
00286   for (n = 0; n < bstats->health; n++) {
00287     draw_sprite(buffer, bar, SCREEN_W - 150 +n*5, 17);
00288   }
00289 }

void updatebullet SPRITE spr  ) 
 

Definition at line 388 of file bowler.c.

References SPRITE::alive, ENVIRONMENT::audio_enabled, boss, bstats, enemies, env, STATS::health, SPRITE::height, HIT, inside(), mapxoff, mapyoff, MAX_ENEMIES, PAN, PITCH, sounds, updatesprite(), VOLUME, SPRITE::width, SPRITE::x, and SPRITE::y.

00389 {
00390     int n,x,y;
00391     int x1,y1,x2,y2;
00392 
00393     updatesprite(spr);
00394 
00395     if (spr->x < mapxoff || spr->x > mapxoff + SCREEN_W)
00396     {
00397         spr->alive = 0;
00398         return;
00399     }
00400 
00401     for (n=0; n<MAX_ENEMIES; n++)
00402     {
00403         if (enemies[n]->alive)
00404         {
00405             //find center of bullet
00406             x = spr->x + spr->width/2 - mapxoff;
00407             y = spr->y + spr->height/2 - mapyoff;
00408 
00409             //get enemy bounding rectangle
00410             x1 = enemies[n]->x - mapxoff;
00411             y1 = enemies[n]->y - mapyoff;
00412             x2 = x1 + enemies[n]->width;
00413             y2 = y1 + enemies[n]->height;
00414 
00415             //check for collisions
00416             if (inside(x, y, x1, y1, x2, y2))
00417             {
00418                 enemies[n]->alive=0;
00419                 spr->alive=0;
00420                 //startexplosion(spr->x+16, spr->y);
00421                 //score+=2;
00422                 //break;
00423             }
00424         }
00425         }
00426 }

Here is the call graph for this function:

void updatebullets  ) 
 

Definition at line 428 of file bowler.c.

References buffer, bullet_image, bullets, mapxoff, mapyoff, MAX_BULLETS, and updatebullet().

00429 {
00430     int n;
00431     for (n=0; n<MAX_BULLETS; n++)
00432         if (bullets[n]->alive)
00433         {
00434           updatebullet(bullets[n]);
00435           draw_sprite(buffer,bullet_image, bullets[n]->x-mapxoff, bullets[n]->y-mapyoff);
00436         }
00437 }

Here is the call graph for this function:

void updateitems  ) 
 

Definition at line 523 of file scroller.c.

References buffer, cd, cd_image, jumpdrive, jumpdrive_image, mapxoff, and mapyoff.

Referenced by boss_battle(), and main().

00524 {
00525   int n;
00526   for (n=0; n<5; n++) {
00527     if (cd[n]->alive) {
00528       draw_sprite(buffer, cd_image, cd[n]->x-mapxoff, cd[n]->y-mapyoff);
00529     }
00530     if (jumpdrive[n]->alive) {
00531       draw_sprite(buffer, jumpdrive_image, jumpdrive[n]->x-mapxoff, jumpdrive[n]->y-mapyoff);
00532     }
00533   }
00534 }

void updateplayer  ) 
 

Definition at line 708 of file bowler.c.

References SPRITE::alive, ENVIRONMENT::audio_enabled, battle, boss_battle(), buffer, cd, collided(), SPRITE::collision, SPRITE::curframe, env, STATS::health, HEIGHT, SPRITE::height, inside(), ITEM, jump, jumpdrive, JUMPIT, STATS::lives, mapblockheight, mapblockwidth, MapDrawBG(), MapDrawFG(), mapheight, mapwidth, mapxoff, mapyoff, SPRITE::oldpx, PAN, PITCH, player, player_images, restart_level(), SPRITE::rightfacing, STATS::score, sounds, stats, updatemap(), updatesprite(), VOLUME, WIDTH, SPRITE::width, SPRITE::x, and SPRITE::y.

00709 {
00710   if (jump != JUMPIT) /* if jump != JUMPIT */
00711     {
00712       if (!(collided(player->x, player->y - jump/5) || collided(player->x + player->width / 2, player->y - jump/5) || collided(player->x + player->width, player->y - jump/5)) ||
00713           collided(player->x, player->y + player->height/2) || collided(player->x + player->width, player->y + player->height/2) || 
00714           collided(player->x, player->height) || collided(player->x + player->width, player->y))
00715         {
00716           player->y -= jump/5;
00717           jump--;
00718         }
00719       else {
00720         jump = 0;
00721         player->collision = 1;
00722       }
00723     }
00724   
00725   if (jump<0)
00726     {
00727       if (collided(player->x + player->width/2, player->y + player->height) || collided(player->x + player->width/2, player->y))
00728         {
00729           player->collision=1;
00730           jump = JUMPIT;
00731           while (collided(player->x + player->width/2,  player->y + player->height))
00732             player->y -= 2;  /* in case we get stuck, push player back up */
00733         }
00734     }
00735 
00736   if (player->x == 8600)
00737     boss_battle();
00738   updatesprite(player);
00739   updatemap();
00740 
00741   if (player->rightfacing) 
00742     draw_sprite(buffer, player_images[player->curframe], 
00743                 (player->x-mapxoff), (player->y-mapyoff+1));
00744   else 
00745     draw_sprite_h_flip(buffer, player_images[player->curframe], 
00746                        (player->x-mapxoff), (player->y-mapyoff));
00747   return;
00748 }

Here is the call graph for this function:

void updatescore  ) 
 

Definition at line 235 of file bowler.c.

References buffer, jump, STATS::lives, STATS::score, stats, and WHITE.

00236 {
00237   textprintf_ex(buffer, font, 15, 5, WHITE, -1,"Score: %d", stats->score);
00238   textprintf_ex(buffer, font, 105, 5, WHITE, -1, "Lives: %d", stats->lives);
00239   textprintf_ex(buffer, font, 210, 5, WHITE, -1, "Jump: %d", jump);
00240   return;
00241 }

void updatesprite SPRITE spr  ) 
 

Definition at line 648 of file bowler.c.

References SPRITE::animdir, collided(), SPRITE::collision, SPRITE::curframe, SPRITE::framecount, SPRITE::framedelay, SPRITE::height, SPRITE::maxframe, SPRITE::oldpx, SPRITE::rightfacing, SPRITE::width, SPRITE::x, SPRITE::xcount, SPRITE::xdelay, SPRITE::xspeed, and SPRITE::y.

00649 {
00650 
00651   if(!spr->rightfacing) { 
00652     if (collided(spr->x, spr->y + spr->height) || collided(spr->x, spr->y+5)) {
00653       spr->collision=1;
00654       spr->x = spr->oldpx; 
00655     }
00656   }
00657   else { 
00658     if (collided(spr->x + spr->width, spr->y + spr->height) || collided(spr->x + spr->width, spr->y+5)) {
00659       spr->collision=1;
00660       spr->x = spr->oldpx;  /* make sure to set oldpx for all sprites! */
00661     }
00662   }      
00663 
00664 
00665   if (spr->xcount > spr->xdelay) {
00666     if (spr->rightfacing)
00667       spr->x += spr->xspeed;
00668     else
00669       spr->x -= spr->xspeed;
00670   }
00671   
00672   if (++spr->framecount > spr->framedelay) {
00673     spr->framecount = 0;
00674     if (spr->animdir == -1) {
00675       if (--spr->curframe < 0)
00676         spr->curframe = spr->maxframe;
00677     }
00678     else if (spr->animdir == 1) {
00679       if (++spr->curframe > spr->maxframe)
00680         spr->curframe = 0;
00681     }
00682   }
00683 }

Here is the call graph for this function:

void updatestats  ) 
 

Definition at line 243 of file bowler.c.

References bar, buffer, SPRITE::collision, ENVIRONMENT::diff_mod, env, jump, player, progress_player, SPRITE::rightfacing, WHITE, SPRITE::x, and SPRITE::y.

00244 {
00245   int n;
00246   draw_sprite(buffer, progress, 14, 15);
00247    
00248   for (n = 0; n < stats->health; n++) {
00249     draw_sprite(buffer, bar, 15+n*5, 17);
00250   }
00251   textprintf_ex(buffer, font, 300, 5, WHITE, -1, "Player->x: %d", player->x);
00252   textprintf_ex(buffer, font, 450, 5, WHITE, -1, "Player->y: %d", player->y);
00253   textprintf_ex(buffer, font, 300, 20, WHITE, -1, "Difficulty Modifier: %3f", env->diff_mod);
00254   textprintf_ex(buffer, font, 300, 45, WHITE, -1, "Rightfacing: %d", player->rightfacing);
00255   if (jump < 0) {textprintf_ex(buffer, font, 400, 300, WHITE, -1, "FALLING!");}
00256   if (player->collision) {textprintf_ex(buffer, font, 400, 315, WHITE, -1, "Collision!!");}
00257 }

void updatetime  ) 
 

Definition at line 223 of file bowler.c.

References ENVIRONMENT::counter, env, restart_level(), WHITE, and WIDTH.

00224 {
00225   if (env->counter > 0)
00226     textprintf_ex(screen, font, (WIDTH-100), 5, WHITE, -1, "Time: %d", env->counter);
00227   else
00228     {
00229       allegro_message("You've run out of time.  We should do someting now...like restart the level!\n");
00230       restart_level();
00231     }
00232   return;
00233 }

Here is the call graph for this function:


Variable Documentation

BITMAP * bar
 

Definition at line 102 of file supercsbros.h.

Referenced by loadsprites(), updatebossstats(), and updatestats().

char* bg_file = "images/background.bmp"
 

Definition at line 74 of file supercsbros.h.

Referenced by main_menu(), and show_menu().

SPRITE* boss
 

Definition at line 116 of file supercsbros.h.

Referenced by loadsprites(), update_enemies(), and updatebullet().

char* boss_bitmap = "players/burrisanim.bmp"
 

Definition at line 66 of file supercsbros.h.

Referenced by boss_battle(), and loadsprites().

BITMAP* boss_images[8]
 

Definition at line 106 of file supercsbros.h.

Referenced by boss_battle(), loadsprites(), and update_enemies().

STATS* bstats
 

Definition at line 123 of file supercsbros.h.

Referenced by boss_battle(), checkinput(), end_game(), and updatebullet().

BITMAP* buffer
 

Definition at line 100 of file supercsbros.h.

Referenced by boss_battle(), draw_crosshair(), initialize(), main(), update_enemies(), updatebossstats(), updatebullets(), updateitems(), updatemap(), updateplayer(), updatescore(), and updatestats().

BITMAP* bullet_image
 

Definition at line 107 of file supercsbros.h.

Referenced by loadsprites(), and updatebullets().

SPRITE* bullets[MAX_BULLETS]
 

Definition at line 117 of file supercsbros.h.

Referenced by fire(), loadsprites(), and updatebullets().

int buttons
 

Definition at line 97 of file supercsbros.h.

SPRITE* cd[5]
 

Definition at line 119 of file supercsbros.h.

Referenced by loadsprites(), updateitems(), and updateplayer().

char* cd_bitmap = "objects/cd.bmp"
 

Definition at line 68 of file supercsbros.h.

Referenced by loadsprites().

BITMAP* cd_image
 

Definition at line 108 of file supercsbros.h.

Referenced by loadsprites(), and updateitems().

volatile int counter
 

Definition at line 94 of file supercsbros.h.

Referenced by initialize(), main(), restart_level(), and updatetime().

char* end_bitmap = "images/end.bmp"
 

Definition at line 72 of file supercsbros.h.

BITMAP* end_image
 

Definition at line 112 of file supercsbros.h.

SPRITE* enemies[MAX_ENEMIES]
 

Definition at line 115 of file supercsbros.h.

Referenced by loadsprites(), update_enemies(), and updatebullet().

char* enemy_bitmap1 = "players/misgreenanim.bmp"
 

Definition at line 65 of file supercsbros.h.

Referenced by loadsprites().

ENVIRONMENT* env
 

Definition at line 124 of file supercsbros.h.

Referenced by checkinput(), do_jump(), fire(), get_cd(), get_jumpdrive(), init_freebsd(), init_linux(), init_unix(), initialize(), initializemusic(), loadsounds(), main(), restart_level(), settings_menu(), ticker(), updatebullet(), updateplayer(), updatestats(), and updatetime().

char* hit_file = "audio/hit.wav"
 

Definition at line 82 of file supercsbros.h.

SAMPLE* hit_sound
 

Definition at line 88 of file supercsbros.h.

char* item_file = "audio/item.wav"
 

Definition at line 80 of file supercsbros.h.

Referenced by initializemusic().

SAMPLE* item_sound
 

Definition at line 86 of file supercsbros.h.

Referenced by initializemusic().

int jump = JUMPIT
 

Definition at line 90 of file supercsbros.h.

Referenced by check_ground(), checkinput(), do_jump(), restart_level(), updateplayer(), updatescore(), and updatestats().

char* jump_file = "audio/jump.wav"
 

Definition at line 79 of file supercsbros.h.

Referenced by initializemusic().

SAMPLE* jump_sound
 

Definition at line 85 of file supercsbros.h.

Referenced by do_jump(), get_cd(), get_jumpdrive(), and initializemusic().

SPRITE* jumpdrive[5]
 

Definition at line 120 of file supercsbros.h.

Referenced by loadsprites(), updateitems(), and updateplayer().

char* jumpdrive_bitmap = "objects/jump.bmp"
 

Definition at line 69 of file supercsbros.h.

Referenced by loadsprites().

BITMAP* jumpdrive_image
 

Definition at line 109 of file supercsbros.h.

Referenced by loadsprites(), and updateitems().

char* lava_bitmap = "objects/fire.bmp"
 

Definition at line 70 of file supercsbros.h.

BITMAP* lava_images[3]
 

Definition at line 110 of file supercsbros.h.

char* map_file = "maps/level4.fmp"
 

Definition at line 75 of file supercsbros.h.

Referenced by initialize().

int mapxoff
 

Definition at line 91 of file supercsbros.h.

Referenced by draw_crosshair(), update_enemies(), updatebullet(), updatebullets(), updateitems(), updatemap(), and updateplayer().

int mapyoff
 

Definition at line 91 of file supercsbros.h.

Referenced by draw_crosshair(), update_enemies(), updatebullet(), updatebullets(), updateitems(), updatemap(), and updateplayer().

BITMAP* mis_1_images[8]
 

Definition at line 105 of file supercsbros.h.

Referenced by loadsprites(), and update_enemies().

SAMPLE* music
 

Definition at line 84 of file supercsbros.h.

Referenced by checkinput(), and initializemusic().

SPRITE* player
 

Definition at line 114 of file supercsbros.h.

Referenced by boss_battle(), check_ground(), checkinput(), draw_crosshair(), fire(), initialize(), loadsprites(), main(), restart_level(), update_enemies(), updatemap(), updateplayer(), updatescore(), and updatestats().

char* player_bitmap = "players/stevieanim.bmp"
 

Definition at line 64 of file supercsbros.h.

Referenced by loadsprites().

BITMAP* player_images[8]
 

Definition at line 104 of file supercsbros.h.

Referenced by loadsprites(), and updateplayer().

char* preend_bitmap = "images/preend.bmp"
 

Definition at line 71 of file supercsbros.h.

BITMAP* preend_image
 

Definition at line 111 of file supercsbros.h.

BITMAP* progress_boss
 

Definition at line 103 of file supercsbros.h.

Referenced by loadsprites(), and updatebossstats().

BITMAP* progress_player
 

Definition at line 102 of file supercsbros.h.

Referenced by loadsprites(), and updatestats().

char* shoot_file = "audio/shoot.wav"
 

Definition at line 81 of file supercsbros.h.

SAMPLE* shoot_sound
 

Definition at line 87 of file supercsbros.h.

SAMPLE* sounds[NUM_SOUNDS]
 

Definition at line 27 of file supercsbros.h.

Referenced by do_jump(), fire(), get_cd(), get_jumpdrive(), loadsounds(), updatebullet(), and updateplayer().

STATS* stats
 

Definition at line 122 of file supercsbros.h.

Referenced by boss_battle(), checkinput(), collided(), end_game(), get_cd(), get_jumpdrive(), initialize(), restart_level(), updateplayer(), and updatescore().

BITMAP* temp
 

Definition at line 101 of file supercsbros.h.

Referenced by boss_battle(), grabframe(), and loadsprites().

volatile int ticks
 

Definition at line 95 of file supercsbros.h.

Referenced by main(), and ticker().

char* title_string = "Super CS Brothers"
 

Definition at line 67 of file supercsbros.h.

Referenced by init_freebsd(), init_linux(), init_unix(), and init_win32().


Generated on Wed Jul 5 09:05:35 2006 for Super CS Brothers by  doxygen 1.4.4