Annotation of talos/src/talos.h, revision 1.1.1.1

1.1       nick        1: /*
                      2:  * Froggix 
                      3:  *
                      4:  * Nicholas DeClario 2009
                      5:  * <nick@declario.com>
                      6:  *
                      7:  * This program is distributed under the GNU Public License
                      8:  *   <Insert GNU license blurb here>
                      9:  */
                     10: 
                     11: 
                     12: /*
                     13:  * Our pretty standard includes
                     14:  */
                     15: #include <stdio.h>
                     16: #include <stdlib.h>
                     17: #include <unistd.h>
                     18: #include <time.h>
                     19: 
                     20: #include <SDL.h>
                     21: #include <SDL_mixer.h>
                     22: #include <SDL_image.h>
                     23: #include <SDL_ttf.h>
                     24: 
                     25: /* 
                     26:  * Set some basic definitions
                     27:  */
                     28: #define VER "$Id$";
                     29: #define TITLE "Unnamed Side-Scroller"
                     30: #define SCREEN_WIDTH 640
                     31: #define SCREEN_HEIGHT 480
                     32: #define FALSE 0
                     33: #define TRUE 1
                     34: #define LIVES 3
                     35: #define COLORKEY 255, 0, 255
                     36: #define BGCOLOR 0, 0, 0
                     37: #define TALOS_START_X 290
                     38: #define TALOS_START_Y 425
                     39: #define UP 1
                     40: #define DOWN 2
                     41: #define LEFT 3
                     42: #define RIGHT 4
                     43: #define X 0
                     44: #define Y 1
                     45: #define FRAME 24
                     46: #define HFRAME 12
                     47: 
                     48: /* Point table */
                     49: #define HIGH_SCORE 4630
                     50: 
                     51: /* baddies */
                     52: #define VEHICLE 0
                     53: #define LOG 1
                     54: #define TURTLE 2
                     55: #define GATOR 3
                     56: #define SNAKE 4
                     57: #define BEAVER 5
                     58: 
                     59: /* Turtles */
                     60: #define DIVE_START_TIME 50
                     61: #define DIVE_PHASE_TIME 20
                     62: #define MAX_TURTLES 9
                     63: #define TURTLE_ANIM_TIME 5
                     64: 
                     65: /* Vehicles */
                     66: #define MAX_VEHICLES 40
                     67: 
                     68: 
                     69: /*
                     70:  * Froggers dstruct
                     71:  */
                     72: typedef struct {
                     73:        int placement[2];
                     74:        int oldPlacement[2];
                     75:        int direction;
                     76:        int location; 
                     77:        int hopCount;
                     78:        int currentRow;
                     79:        int alive;
                     80:        int riding;
                     81:        int ridingIdx;
                     82:        int ridingType;
                     83:        int talosger;   /* Are we talosger or bonus talos */
                     84:        int deathType;
                     85:        int deathCount;
                     86: 
                     87:        SDL_Rect src;
                     88:        SDL_Rect dst;
                     89: 
                     90:        Mix_Chunk *s_hop;
                     91:        Mix_Chunk *s_squash;
                     92:        Mix_Chunk *s_splash;
                     93:        Mix_Chunk *s_extra;
                     94: } talosgerObj;
                     95: 
                     96: /*
                     97:  * Vehicles
                     98:  */
                     99: typedef struct {
                    100:        int placement[2];
                    101:        int oldPlacement[2];
                    102:        int direction;  // LEFT or RIGHT
                    103:        int row;        // row
                    104:        int speed;      // How fast are we traveling
                    105:        int level;      // Must be >= this level to display
                    106:                
                    107:        SDL_Rect src;
                    108: } vehicleObj;
                    109: 
                    110: int keyEvents( SDL_Event event );
                    111: int mySDLInit( void );
                    112: void beginGame( void );
                    113: int loadMedia( void );
                    114: int heartbeat( void );
                    115: int updateGameState( void );
                    116: void checkFly( void );
                    117: void checkGator( void );
                    118: void configGameScreen( void );
                    119: void drawGameScreen( void );
                    120: void drawBackground( void );
                    121: int getRowPixel ( int row );
                    122: int collisionRow ( void );
                    123: int freeFrog( int score );
                    124: int collideFrogger ( int x, int y, int h, int w );
                    125: void checkFroggerBorder( void );
                    126: void levelUp( void );
                    127: int checkGoals( void );
                    128: void talosgerReset( void );
                    129: void moveFrogger( void );
                    130: void ridingFrogger( );
                    131: void drawTitleScreen( void );
                    132: void drawPauseScreen( void );
                    133: void drawGameOver( void );
                    134: int drawDeathSequence( int deathType );
                    135: int checkTimer( void );
                    136: void drawScore( int high, int score );
                    137: void drawNumbers( int num, int x, int y );
                    138: void drawGoals( void );
                    139: void drawTimer( int length );
                    140: void drawLives( int lives );
                    141: void drawLevel( int level );
                    142: void drawWood( void );
                    143: void drawTurtles( void );
                    144: void drawVehicles( void );
                    145: void drawImage(SDL_Surface *srcimg, int sx, int sy, int sw, int sh, SDL_Surface *dstimg, int dx, int dy, int alpha );
                    146: void playSound( Mix_Chunk *sound );
                    147: void setFullScreenMode( void );
                    148: 
                    149: int flyTimer = 0;
                    150: int gatorTimer = 0;
                    151: int level = 0;
                    152: int playing = 0;
                    153: int lives = 0;
                    154: int players = 0;
                    155: int score = 0;
                    156: int givenFreeFrog = 0;
                    157: int hScore = HIGH_SCORE;
                    158: int redraw_all = 0;
                    159: int fullscreen = 0;
                    160: int drawBG = 0;
                    161: int goDelay;
                    162: float timeLeft;
                    163: talosgerObj talosger;
                    164: 
                    165: Mix_Chunk  *s_freeFrog;
                    166: SDL_Surface *gfx;
                    167: SDL_Surface *background; // This is the talosger back drop
                    168: SDL_Rect backgroundRect;
                    169: SDL_Surface *titleSurface; // Title 'Froggix' image
                    170: SDL_Surface *screen; //This pointer will reference the backbuffer 
                    171: SDL_Rect leftBorderRect;
                    172: SDL_Rect rightBorderRect;
                    173: TTF_Font *font;
                    174: 
                    175: int debugBorder = 0;
                    176: 
                    177: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>