Main Page | Alphabetical List | Data Structures | File List | Globals

global.h

Go to the documentation of this file.
00001 #ifndef MAIN_H
00002 #ifndef GLOBAL_H
00003 #define GLOBAL_H
00004 
00005 #include "config.h"
00006 #include <allegro.h>
00007 #include "almp3.h"
00008 #include "time.h"
00009 #include "global_add.h"
00010 #include "loader.h"
00011 
00015 extern struct
00016 {
00017   struct
00018   {
00019     int port;
00020     int volume;
00021     char *name;
00022   }
00023     output;
00024 }
00025 Options;
00026 
00027 /******************** mp3 is back ******************/
00028 typedef struct {
00029   PACKFILE *f;
00030   ALMP3_MP3STREAM *s;
00031 } MP3FILE;
00032 
00033 extern MP3FILE *mp3 ;
00034 extern int mp3status;
00035 extern int mp3_loop;
00036 /*****************************************/
00037 
00038 /******************* Necessary for the font loader *********/
00039 extern FNTInfo* fontInfo;
00040 extern PALETTE* pal[16];
00041 /******************************************************/
00042 
00043 // global variables
00044 
00045 extern DATAFILE *creditflic ;
00046 extern DATAFILE *fonts_dat ;
00047 extern FONT *small_font ;
00048 
00049 extern MIDI *music ;
00050 
00051 extern SAMPLE *rd1 ;
00052 extern SAMPLE *rd2 ;
00053 extern SAMPLE *rd3 ;
00054 
00055 extern SAMPLE *fight ;
00056 
00057 extern SAMPLE *hit_alwa ;
00058 extern SAMPLE *hit_good ;
00059 
00060 extern SAMPLE *wp_alwa ;
00061 extern SAMPLE *wk_alwa ;
00062 extern SAMPLE *sp_alwa ;
00063 extern SAMPLE *sk_alwa ;
00064 
00065 extern SAMPLE *hit1 ;
00066 extern SAMPLE *hit2 ;
00067 
00068 extern SAMPLE *block_snd ;
00069 
00070 extern SAMPLE *hadoken1 ;
00071 extern SAMPLE *hadoken2 ;
00072 extern SAMPLE *copter1 ;
00073 extern SAMPLE *copter2 ;
00074 extern SAMPLE *dragon1 ;
00075 extern SAMPLE *dragon2 ;
00076 
00077 extern SAMPLE *hadokenx1 ;
00078 extern SAMPLE *hadokenx2 ;
00079 extern SAMPLE *copterx1 ;
00080 extern SAMPLE *copterx2 ;
00081 extern SAMPLE *dragonx1 ;
00082 extern SAMPLE *dragonx2 ;
00083 
00084 extern SAMPLE *done ;
00085 extern SAMPLE *bing ;
00086 extern SAMPLE *buzz ;
00087 
00088 extern SAMPLE *ko_snd ;
00089 
00090 extern SAMPLE *prfct_snd ;
00091 extern SAMPLE *to_snd ;
00092 
00093 extern SAMPLE *argh_snd ;
00094 extern SAMPLE *female_snd ;
00095 
00096 extern BITMAP *virtscreen ;             /* virtual screen                   */
00097 
00098 extern BITMAP *zoomscreen ;
00099 
00100 extern BITMAP *scanliner ;              /* blit screen for scanlines        */
00101 
00102 
00103 extern PALLETE Pal ;
00104 extern PALLETE TPal ;
00105 
00106 extern BITMAP *Title ;
00107 
00108 extern BITMAP *Selecteur1 ;
00109 extern BITMAP *Selecteur2 ;
00110 
00111 extern BITMAP *LBbanner;
00112 extern BITMAP *LBbanner2;
00113 
00114 
00115 extern BITMAP *Bar ;
00116 extern BITMAP *Bar2 ;
00117 
00118 extern BITMAP *Power ;
00119 
00120 extern BITMAP *PBar ;
00121 
00122 extern BITMAP *WImpact[ 11 ] ;
00123 extern BITMAP *SImpact[ 11 ] ;
00124 extern BITMAP *BlockImpact[ 11 ] ;
00125 extern BITMAP *B_Temp ;
00126 
00127 extern BITMAP *Carton_R1 ;
00128 extern BITMAP *Carton_R2 ;
00129 extern BITMAP *Carton_R3 ;
00130 
00131 extern BITMAP *Carton_FT ;
00132 
00133 extern BITMAP *Carton_WN ;
00134 
00135 extern BITMAP *Carton_KO ;
00136 
00137 #if TIMEOVER == 1
00138 BITMAP *Carton_TO ;
00139 #endif
00140 
00141 extern BITMAP *novic0 ;
00142 extern BITMAP *novic1 ;
00143 
00144 extern BITMAP *avic0 ;
00145 extern BITMAP *avic1 ;
00146 
00147 extern BITMAP *Face1 ;
00148 extern BITMAP *Face2 ;
00149 
00150 extern BITMAP *Icon1 ;
00151 extern BITMAP *Icon2 ;
00152 
00153 extern BITMAP *Lock ;
00154 
00155 
00156 extern BITMAP *Bkgd ;
00157 
00158 extern BITMAP *Frgd ;
00159 
00160 /* BITMAPS das caras ao lado da barra de LIFE ! */
00161 
00162 extern BITMAP *tface1;
00163 extern BITMAP *tface2;
00164 
00165 extern char buffer[100];
00166 extern char file2[200];
00167 
00168 extern int opt; /* para as novas opções, intro, display, winner e etc. */
00169 extern int t_clock;
00170 
00171 /* extern BITMAP *Blood ; */
00172 
00173 #if TIMEOVER > 0
00174 BITMAP *B_clock[ 11 ];
00175 #endif
00176 
00177 #if PERFECT == 1
00178 BITMAP *B_prfct;
00179 #endif
00180 
00181 
00182 /******************************************/
00183 struct PLAYER_BMP_STRUCT
00184 {
00185         BITMAP *Static[ 999 ];
00186         BITMAP *Walk[ 999 ];
00187         BITMAP *Single[ 999 ];
00188         BITMAP *Punch[ 999 ];
00189         BITMAP *WPunch[ 999 ];
00190         BITMAP *Kick[ 999 ];
00191         BITMAP *WKick[ 999 ];
00192         BITMAP *Jump[ 999 ];
00193         BITMAP *KO[ 999 ];
00194         BITMAP *Hurt[ 999 ];
00195         BITMAP *GHurt[ 999 ];
00196         BITMAP *AKick[ 999 ];
00197         BITMAP *APunch[ 999 ];
00198         BITMAP *GKick[ 999 ];
00199         BITMAP *GPunch[ 999 ];
00200         BITMAP *FireB[ 999 ];
00201         BITMAP *FBall[ 999 ];
00202         BITMAP *Rush[ 999 ];
00203         BITMAP *SMove[ 999 ];
00204         BITMAP *FireBX[ 999 ];
00205         BITMAP *FBallX[ 999 ];
00206         BITMAP *RushX[ 999 ];
00207         BITMAP *SMoveX[ 999 ];
00208         BITMAP *NMoves[ 999 ][ 999 ];
00209 };
00210 
00211 
00212 struct MOVE
00213 {
00214         int w ;
00215         char nbf, spd ;
00216         int defx , defy ;
00217 };
00218 
00219 struct AMOVE
00220 {
00221         int w ;
00222         char nbf, spd ;
00223         int defx , defy ;
00224 
00225         char hit, dmg ;
00226         int offx , offy ;
00227 };
00228 
00229 struct SMOVE
00230 {
00231         int w ;
00232         char nbf, spd ;
00233         int defx , defy ;
00234 
00235         char hit, dmg ;
00236         int offx , offy ;
00237 
00238         char flg, rot, pix, end, succ, spec, sflg ;
00239         char exec[255] ;
00240         char seq[ 40 ] ;
00241         char nb ;
00242 
00243 };
00244 
00245 struct PLAYER_DATA_STRUCT
00246 {
00247         char flag ;
00248         int height, width ;
00249 
00250         int limoffx , limoffy ;
00251         int limdefx , limdefy ;
00252 
00253         int wimpact_ct ;
00254         int simpact_ct ;
00255         int bimpact_ct ;
00256 
00257         struct MOVE statik ;
00258         struct MOVE walk ;
00259         struct MOVE crouch ;
00260         struct MOVE hurt ;
00261         struct MOVE ghurt ;
00262         struct MOVE jump ;
00263         struct MOVE intro ;
00264         struct MOVE outwin ;
00265         struct MOVE ko ;
00266 
00267         struct AMOVE wpunch ;
00268         struct AMOVE spunch ;
00269         struct AMOVE apunch ;
00270         struct AMOVE gpunch ;
00271         struct AMOVE wkick ;
00272         struct AMOVE skick ;
00273         struct AMOVE gkick ;
00274         struct AMOVE akick ;
00275 
00276         struct SMOVE fireb ;
00277         struct SMOVE fball ;
00278         struct SMOVE rush ;
00279         struct SMOVE smove ;
00280 
00281         struct SMOVE firebx ;
00282         struct SMOVE fballx ;
00283         struct SMOVE rushx ;
00284         struct SMOVE smovex ;
00285 
00286 };
00287 
00288 extern struct PLAYER_BMP_STRUCT Player1 ;
00289 extern struct PLAYER_BMP_STRUCT Player2 ;
00290 
00291 extern struct PLAYER_DATA_STRUCT p1 ;
00292 extern struct PLAYER_DATA_STRUCT p2 ;
00293 
00294 
00295 
00296 
00297 /******************************************/
00298 
00299 extern char animated ;
00300 extern char foreground ;
00301 
00302 extern char bkgd_counter ;
00303 extern char bkgd_delay ;
00304 
00305 extern int bkgdlim ;
00306 extern int zoomsup ;
00307 extern int zoomwidth;
00308 
00309 extern unsigned char j ;
00310 extern int gmode;
00311 extern char diff ;
00312 
00313 
00314 // story variables
00315 extern char story ;
00316 extern int sel1, sel2 ;
00317 extern char debug ;
00318 
00319 // string and key variables
00320 extern char charname [ 1000 ][ 30 ] ;
00321 extern char bkgdname [ 200 ][ 30 ] ;
00322 extern char flcname [ 100 ][ 30 ] ;
00323 
00324 extern int nbchar ;
00325 extern int nbbkgd ;
00326 extern int nbflc ;
00327 
00328 extern char defeated[ 1000 ];
00329 extern char present[ 1000 ];
00330 extern char secretchar[ 1000 ];
00331 
00332 extern int num ;
00333 extern char tilenum[ 4 ] ;
00334 
00335 extern char charn1[ 40 ] ;
00336 extern char charn2[ 40 ] ;
00337 
00338 extern char bkgdnum[ 4 ] ;
00339 
00340 extern char file[ 200 ] ;
00341 extern char passeur[ 100 ] ;
00342 extern char sectn[ 50 ] ;
00343 
00344 extern char temp_strg[ 2 ] ;
00345 
00346 extern char last_char ;
00347 
00348 extern char get_kstatus ( char strg[] ) ;
00349 
00350 extern char check_kstatus1 ( char ctrl_key ) ;
00351 extern char check_kstatus2 ( char ctrl_key ) ;
00352 
00353 extern char last_status1 ;
00354 extern char last_status2 ;
00355 
00356 extern int fball_h1 , fball_h2 ;
00357 extern int fballx_h1 , fballx_h2 ;
00358 
00359 extern char autho_ht1 , autho_ht2 ;
00360 
00361 extern char wimpact_nbf ;
00362 extern char simpact_nbf ;
00363 extern char bimpact_nbf ;
00364 
00365 // control keys variables
00366 
00367 extern int p1_up , p2_up ;
00368 extern int p1_down , p2_down ;
00369 extern int p1_left , p2_left ;
00370 extern int p1_right , p2_right ;
00371 extern int p1_wpunch , p2_wpunch ;
00372 extern int p1_spunch , p2_spunch ;
00373 extern int p1_wkick , p2_wkick ;
00374 extern int p1_skick , p2_skick ;
00375 
00376 // AI variables
00377 
00378 extern int offense , defense ;
00379 
00380 extern char easy_def , easy_off ;
00381 extern char medium_def , medium_off ;
00382 extern char hard_def , hard_off ;
00383 
00384 extern int ai_walkf , ai_walkb ;
00385 extern int ai_static ;
00386 
00387 // misc
00388 
00389 extern int mp3_on ;
00390 
00391 extern int intro_delay ;
00392 
00393 extern int pan;
00394 extern int pitch;
00395 
00396 extern int snd_vol , midi_vol ;
00397 
00398 extern int start_x , start_y ;
00399 
00400 extern int gfmode;
00401 extern int stretch;
00402 
00403 extern int screen_height;
00404 extern int screen_width;
00405 extern int screen_depth;
00406 
00407 extern int full_screen;
00408 extern char autorise ;
00409 
00410 /* Displays, lifebars, clock, powerbars, victory flas etc...*/
00411 
00412 extern int life1, life2 ;
00413 extern int spower1, spower2 ;
00414 extern char vic_flag, vic1, vic2;
00415 
00416 extern int clone;
00417 
00418 // END OF GLOBAL DEFINITIONS
00419 
00420 extern char c ;
00421 extern int cx, cy;                      // Current X and Y position in the bkgd + misc
00422 extern int x, y;                        // Used in for loops  + misc
00423 extern int fx, fy;
00424 extern int ok ;                         // Loop until ok==0
00425 extern int s ;                          // Scroll speed (2 pixels per frame)
00426 extern int misc ;
00427 //long t1, t2,
00428 extern long n;                        // For calculating FPS
00429 
00430 extern int flag ;                     // sprite cycling flags
00431 extern int flag2 ;
00432 
00433 extern char hflag , hflag2 ;
00434 
00435 extern int checkint ;
00436 
00437 
00438 extern char frameskip;
00439 extern char skp_flag;
00440 
00441 extern int sens1 ;                     // jump flags
00442 extern int sens2 ;
00443 extern int i;
00444 extern int g , h , nb ;                     // Miscellaneous variables
00445 
00446 extern char com_block ;
00447 extern char com_gblock ;
00448 
00449 extern char com_walkf ;
00450 extern char com_walkb ;
00451 
00452 extern int spr1x , spr1y ;       // Sprites coordinates
00453 extern int spr2x , spr2y ;
00454 
00455 extern char oldsel1 , oldsel2 ;
00456 extern char last_sel1, last_sel2 ; // INITIALIZING Selection of chars
00457 
00458 extern char p2_sel ;
00459 
00460 extern int angle ;
00461 
00462 extern char bgd ;
00463 
00464 extern int sel_player1 , sel_player2 ;
00465 
00466 extern int alt_color , tcolor , bcolor ;
00467 
00468 extern int sel_bkgd ;
00469 
00470 extern int text_color ;
00471 
00472 extern int deb ;
00473 // extern char round ;
00474 
00475 extern int actual ;                     // actual sprite status
00476 extern int actual2 ;
00477 
00478 extern char ak , ak2 ;          // flag air-kick
00479 extern char apch , apch2 ;      // flag air-punch
00480 
00481 extern char limak , limak2 ;
00482 
00483 extern signed char limp1 , limp2 ;
00484 
00485 extern char nbpar ;
00486 
00487 extern char vsynch ;
00488 
00489 
00490 extern int delayer ;
00491 
00492 // character size info
00493 
00494 extern int sol1 , sol2 ; // INITIALIZING
00495 extern int tol1 , tol2 ;
00496 extern int jump_how1 , jump_how2 ;
00497 
00498 extern int hitfram1, hitfram2 ; // INITIALIZING HIT FRAME
00499 
00500 extern char female1 , female2 ;
00501 
00502 // character animation info
00503 
00504 extern int rush_stop1 , rush_stop2 ;
00505 extern int smove_stop1 , smove_stop2 ;
00506 
00507 extern int rushx_stop1 , rushx_stop2 ;
00508 extern int smovex_stop1 , smovex_stop2 ;
00509 
00510 
00511 extern char damag1 , damag2 ;
00512 
00513 extern char fball1 , fball2 ;
00514 
00515 extern int fb1x , fb2x ; // INITIALIZING FIREBALL X,Y COORDENATES
00516 extern int fb1y , fb2y ; // INITIALIZING FIREBALL X,Y COORDENATES
00517 
00518 extern int fball_cx1 , fball_cx2 ; // INITIALIZING FIREBALL X,Y COORDENATES
00519 extern int fball_cy1 , fball_cy2 ; // INITIALIZING FIREBALL X,Y COORDENATES
00520 
00521 extern char fball_flg1 , fball_flg2 ; // INITIALIZING FIREBALL X,Y COORDENATES
00522 
00523 extern char fballx1 , fballx2 ;
00524 
00525 extern int fbx1x , fbx2x ; // INITIALIZING FIREBALL X,Y COORDENATES
00526 extern int fbx1y , fbx2y ; // INITIALIZING FIREBALL X,Y COORDENATES
00527 
00528 extern int fballx_cx1 , fballx_cx2 ; // INITIALIZING FIREBALL X,Y COORDENATES
00529 extern int fballx_cy1 , fballx_cy2 ; // INITIALIZING FIREBALL X,Y COORDENATES
00530 
00531 extern char fballx_flg1 , fballx_flg2 ; // INITIALIZING FIREBALL FLAGS
00532 
00533 
00534 extern char accel_flag , gfx_flag ;
00535 extern char snd_flag , midi_flag ;
00536 
00537 extern char wind_flag ;
00538 
00539 extern char tnt2 ;
00540 
00541 extern char open1[ 40 ] ;
00542 extern char open2[ 40 ] ;
00543 extern char open3[ 40 ] ;
00544 extern char open4[ 40 ] ;
00545 extern char open5[ 40 ] ;
00546 extern char title[ 20 ] ;
00547 
00548 #if SCREENSHOT > 0
00549 extern void screenshot( void ) ;
00550 #endif
00551 
00552 extern void text_shadow( BITMAP *outbm, FONT *font, char *text, int x, int y, int color );
00553 extern void text_centre_shadow( BITMAP *outbm, FONT *font, char *text, int x, int y, int color );
00554 
00555 //extern char max_nbf1, max_nbf2;
00556 char inverted ;
00557 
00558 #if GAME_DEBUG > 0
00559 extern void __tron__( char *log_mess, char *n_file , int n_line );
00560 #endif
00561 
00562 extern char log_mess[ 80 ];
00563 extern void __error__( char *log_mess, char *n_file , int n_line );
00564 
00565 #endif /* GLOBAL_H */
00566 #endif // MAIN_H

Generated on Thu Jan 13 14:13:03 2005 for KOF91 by  doxygen 1.3.9.1