#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 |
SPRITE * | player |
SPRITE * | enemies [MAX_ENEMIES] |
SPRITE * | boss |
SPRITE * | bullets [MAX_BULLETS] |
SPRITE * | cd [5] |
SPRITE * | jumpdrive [5] |
STATS * | stats |
STATS * | bstats |
ENVIRONMENT * | env |
|
Definition at line 11 of file supercsbros.h. |
|
Definition at line 8 of file supercsbros.h. Referenced by boss_battle(), initialize(), main(), updatemap(), and updateplayer(). |
|
Definition at line 25 of file supercsbros.h. Referenced by loadsounds(), and updatebullet(). |
|
Definition at line 23 of file supercsbros.h. Referenced by get_cd(), get_jumpdrive(), loadsounds(), and updateplayer(). |
|
Definition at line 22 of file supercsbros.h. Referenced by do_jump(), and loadsounds(). |
|
Definition at line 16 of file supercsbros.h. Referenced by check_ground(), checkinput(), restart_level(), and updateplayer(). |
|
Definition at line 15 of file supercsbros.h. Referenced by fire(), loadsprites(), and updatebullets(). |
|
Definition at line 14 of file supercsbros.h. Referenced by loadsprites(), and updatebullet(). |
|
Definition at line 6 of file supercsbros.h. Referenced by initialize(). |
|
Definition at line 21 of file supercsbros.h. Referenced by loadsounds(). |
|
Definition at line 18 of file supercsbros.h. Referenced by do_jump(), fire(), get_cd(), get_jumpdrive(), loadsounds(), updatebullet(), and updateplayer(). |
|
Definition at line 19 of file supercsbros.h. Referenced by do_jump(), fire(), get_cd(), get_jumpdrive(), loadsounds(), updatebullet(), and updateplayer(). |
|
Definition at line 12 of file supercsbros.h. Referenced by draw_crosshair(). |
|
Definition at line 24 of file supercsbros.h. Referenced by fire(), and loadsounds(). |
|
Definition at line 26 of file supercsbros.h. Referenced by loadsounds(). |
|
Definition at line 20 of file supercsbros.h. Referenced by do_jump(), fire(), get_cd(), get_jumpdrive(), loadsounds(), updatebullet(), and updateplayer(). |
|
Definition at line 10 of file supercsbros.h. Referenced by updatescore(), updatestats(), and updatetime(). |
|
Definition at line 7 of file supercsbros.h. Referenced by boss_battle(), initialize(), main(), updatemap(), updateplayer(), and updatetime(). |
|
|
|
|
|
|
|
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.
Here is the call graph for this function: ![]() |
|
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: ![]() |
|
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: ![]() |
|
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 }
|
|
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 }
|
|
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: ![]() |
|
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 }
|
|
|
|
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 }
|
|
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 }
|
|
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 }
|
|
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 }
|
|
Definition at line 795 of file bowler.c. References title_string. 00796 { 00797 set_window_title(title_string); 00798 //loadsounds(); 00799 return; 00800 }
|
|
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: ![]() |
|
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 }
|
|
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: ![]() |
|
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: ![]() |
|
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: ![]() |
|
Definition at line 148 of file bowler.c.
|
|
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 }
|
|
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 }
|
|
|
|
|
|
Definition at line 217 of file bowler.c. References env, and ENVIRONMENT::ticks.
|
|
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: ![]() |
|
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 }
|
|
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: ![]() |
|
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: ![]() |
|
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 }
|
|
|
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 }
|
|
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: ![]() |
|
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 }
|
|
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: ![]() |
|
Definition at line 102 of file supercsbros.h. Referenced by loadsprites(), updatebossstats(), and updatestats(). |
|
Definition at line 74 of file supercsbros.h. Referenced by main_menu(), and show_menu(). |
|
Definition at line 116 of file supercsbros.h. Referenced by loadsprites(), update_enemies(), and updatebullet(). |
|
Definition at line 66 of file supercsbros.h. Referenced by boss_battle(), and loadsprites(). |
|
Definition at line 106 of file supercsbros.h. Referenced by boss_battle(), loadsprites(), and update_enemies(). |
|
Definition at line 123 of file supercsbros.h. Referenced by boss_battle(), checkinput(), end_game(), and updatebullet(). |
|
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(). |
|
Definition at line 107 of file supercsbros.h. Referenced by loadsprites(), and updatebullets(). |
|
Definition at line 117 of file supercsbros.h. Referenced by fire(), loadsprites(), and updatebullets(). |
|
Definition at line 97 of file supercsbros.h. |
|
Definition at line 119 of file supercsbros.h. Referenced by loadsprites(), updateitems(), and updateplayer(). |
|
Definition at line 68 of file supercsbros.h. Referenced by loadsprites(). |
|
Definition at line 108 of file supercsbros.h. Referenced by loadsprites(), and updateitems(). |
|
Definition at line 94 of file supercsbros.h. Referenced by initialize(), main(), restart_level(), and updatetime(). |
|
Definition at line 72 of file supercsbros.h. |
|
Definition at line 112 of file supercsbros.h. |
|
Definition at line 115 of file supercsbros.h. Referenced by loadsprites(), update_enemies(), and updatebullet(). |
|
Definition at line 65 of file supercsbros.h. Referenced by loadsprites(). |
|
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(). |
|
Definition at line 82 of file supercsbros.h. |
|
Definition at line 88 of file supercsbros.h. |
|
Definition at line 80 of file supercsbros.h. Referenced by initializemusic(). |
|
Definition at line 86 of file supercsbros.h. Referenced by initializemusic(). |
|
Definition at line 90 of file supercsbros.h. Referenced by check_ground(), checkinput(), do_jump(), restart_level(), updateplayer(), updatescore(), and updatestats(). |
|
Definition at line 79 of file supercsbros.h. Referenced by initializemusic(). |
|
Definition at line 85 of file supercsbros.h. Referenced by do_jump(), get_cd(), get_jumpdrive(), and initializemusic(). |
|
Definition at line 120 of file supercsbros.h. Referenced by loadsprites(), updateitems(), and updateplayer(). |
|
Definition at line 69 of file supercsbros.h. Referenced by loadsprites(). |
|
Definition at line 109 of file supercsbros.h. Referenced by loadsprites(), and updateitems(). |
|
Definition at line 70 of file supercsbros.h. |
|
Definition at line 110 of file supercsbros.h. |
|
Definition at line 75 of file supercsbros.h. Referenced by initialize(). |
|
Definition at line 91 of file supercsbros.h. Referenced by draw_crosshair(), update_enemies(), updatebullet(), updatebullets(), updateitems(), updatemap(), and updateplayer(). |
|
Definition at line 91 of file supercsbros.h. Referenced by draw_crosshair(), update_enemies(), updatebullet(), updatebullets(), updateitems(), updatemap(), and updateplayer(). |
|
Definition at line 105 of file supercsbros.h. Referenced by loadsprites(), and update_enemies(). |
|
Definition at line 84 of file supercsbros.h. Referenced by checkinput(), and initializemusic(). |
|
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(). |
|
Definition at line 64 of file supercsbros.h. Referenced by loadsprites(). |
|
Definition at line 104 of file supercsbros.h. Referenced by loadsprites(), and updateplayer(). |
|
Definition at line 71 of file supercsbros.h. |
|
Definition at line 111 of file supercsbros.h. |
|
Definition at line 103 of file supercsbros.h. Referenced by loadsprites(), and updatebossstats(). |
|
Definition at line 102 of file supercsbros.h. Referenced by loadsprites(), and updatestats(). |
|
Definition at line 81 of file supercsbros.h. |
|
Definition at line 87 of file supercsbros.h. |
|
Definition at line 27 of file supercsbros.h. Referenced by do_jump(), fire(), get_cd(), get_jumpdrive(), loadsounds(), updatebullet(), and updateplayer(). |
|
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(). |
|
Definition at line 101 of file supercsbros.h. Referenced by boss_battle(), grabframe(), and loadsprites(). |
|
Definition at line 95 of file supercsbros.h. |
|
Definition at line 67 of file supercsbros.h. Referenced by init_freebsd(), init_linux(), init_unix(), and init_win32(). |