Annotation of quakeworld/client/glquake2.h, revision 1.1.1.1

1.1       root        1: // disable data conversion warnings
                      2: 
                      3: #pragma warning(disable : 4244)     // MIPS
                      4: #pragma warning(disable : 4136)     // X86
                      5: #pragma warning(disable : 4051)     // ALPHA
                      6:   
                      7: #include <windows.h>
                      8: 
                      9: #include <gl\gl.h>
                     10: #include <gl\glu.h>
                     11: 
                     12: void GL_BeginRendering (int *x, int *y, int *width, int *height);
                     13: void GL_EndRendering (void);
                     14: 
                     15: 
                     16: // Function prototypes for the Texture Object Extension routines
                     17: typedef GLboolean (APIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *,
                     18:                     const GLboolean *);
                     19: typedef void (APIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint);
                     20: typedef void (APIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *);
                     21: typedef void (APIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *);
                     22: typedef GLboolean (APIENTRY *ISTEXFUNCPTR)(GLuint);
                     23: typedef void (APIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *,
                     24:                     const GLclampf *);
                     25: typedef void (APIENTRY *TEXSUBIMAGEPTR)(int, int, int, int, int, int, int, int, void *);
                     26: 
                     27: extern BINDTEXFUNCPTR bindTexFunc;
                     28: extern DELTEXFUNCPTR delTexFunc;
                     29: extern TEXSUBIMAGEPTR TexSubImage2DFunc;
                     30: 
                     31: extern int texture_extension_number;
                     32: extern int             texture_mode;
                     33: 
                     34: extern float   gldepthmin, gldepthmax;
                     35: 
                     36: void GL_Upload32 (unsigned *data, int width, int height,  qboolean mipmap, qboolean alpha, qboolean modulate);
                     37: void GL_Upload8 (byte *data, int width, int height,  qboolean mipmap, qboolean alpha, qboolean modulate);
                     38: int GL_LoadTexture (char *identifier, int width, int height, byte *data, int mipmap, int alpha, int modulate);
                     39: int GL_FindTexture (char *identifier);
                     40: 
                     41: typedef struct
                     42: {
                     43:        float   x, y, z;
                     44:        float   s, t;
                     45:        float   r, g, b;
                     46: } glvert_t;
                     47: 
                     48: extern glvert_t glv;
                     49: 
                     50: extern int glx, gly, glwidth, glheight;
                     51: 
                     52: extern PROC glArrayElementEXT;
                     53: extern PROC glColorPointerEXT;
                     54: extern PROC glTexturePointerEXT;
                     55: extern PROC glVertexPointerEXT;
                     56: 
                     57: 
                     58: // r_local.h -- private refresh defs
                     59: 
                     60: #define MAXALIASVERTS          2000    // TODO: tune this
                     61: 
                     62: #define ALIAS_BASE_SIZE_RATIO          (1.0 / 11.0)
                     63:                                        // normalizing factor so player model works out to about
                     64:                                        //  1 pixel per triangle
                     65: #define        MAX_LBM_HEIGHT          480
                     66: 
                     67: #define TILE_SIZE              128             // size of textures generated by R_GenTiledSurf
                     68: 
                     69: #define SKYSHIFT               7
                     70: #define        SKYSIZE                 (1 << SKYSHIFT)
                     71: #define SKYMASK                        (SKYSIZE - 1)
                     72: 
                     73: #define BACKFACE_EPSILON       0.01
                     74: 
                     75: 
                     76: void R_TimeRefresh_f (void);
                     77: void R_ReadPointFile_f (void);
                     78: texture_t *R_TextureAnimation (texture_t *base);
                     79: 
                     80: typedef struct surfcache_s
                     81: {
                     82:        struct surfcache_s      *next;
                     83:        struct surfcache_s      **owner;                // NULL is an empty chunk of memory
                     84:        int                                     lightadj[MAXLIGHTMAPS]; // checked for strobe flush
                     85:        int                                     dlight;
                     86:        int                                     size;           // including header
                     87:        unsigned                        width;
                     88:        unsigned                        height;         // DEBUG only needed for debug
                     89:        float                           mipscale;
                     90:        struct texture_s        *texture;       // checked for animating textures
                     91:        byte                            data[4];        // width*height elements
                     92: } surfcache_t;
                     93: 
                     94: 
                     95: typedef struct
                     96: {
                     97:        pixel_t         *surfdat;       // destination for generated surface
                     98:        int                     rowbytes;       // destination logical width in bytes
                     99:        msurface_t      *surf;          // description for surface to generate
                    100:        fixed8_t        lightadj[MAXLIGHTMAPS];
                    101:                                                        // adjust for lightmap levels for dynamic lighting
                    102:        texture_t       *texture;       // corrected for animating textures
                    103:        int                     surfmip;        // mipmapped ratio of surface texels / world pixels
                    104:        int                     surfwidth;      // in mipmapped texels
                    105:        int                     surfheight;     // in mipmapped texels
                    106: } drawsurf_t;
                    107: 
                    108: 
                    109: typedef enum {
                    110:        pt_static, pt_grav, pt_slowgrav, pt_fire, pt_explode, pt_explode2, pt_blob, pt_blob2
                    111: } ptype_t;
                    112: 
                    113: // !!! if this is changed, it must be changed in d_ifacea.h too !!!
                    114: typedef struct particle_s
                    115: {
                    116: // driver-usable fields
                    117:        vec3_t          org;
                    118:        float           color;
                    119: // drivers never touch the following fields
                    120:        struct particle_s       *next;
                    121:        vec3_t          vel;
                    122:        float           ramp;
                    123:        float           die;
                    124:        ptype_t         type;
                    125: } particle_t;
                    126: 
                    127: 
                    128: //====================================================
                    129: 
                    130: 
                    131: extern entity_t        r_worldentity;
                    132: extern qboolean        r_cache_thrash;         // compatability
                    133: extern vec3_t          modelorg, r_entorigin;
                    134: extern entity_t        *currententity;
                    135: extern int                     r_visframecount;        // ??? what difs?
                    136: extern int                     r_framecount;
                    137: extern mplane_t        frustum[4];
                    138: extern int             c_brush_polys, c_alias_polys;
                    139: 
                    140: 
                    141: //
                    142: // view origin
                    143: //
                    144: extern vec3_t  vup;
                    145: extern vec3_t  vpn;
                    146: extern vec3_t  vright;
                    147: extern vec3_t  r_origin;
                    148: 
                    149: //
                    150: // screen size info
                    151: //
                    152: extern refdef_t        r_refdef;
                    153: extern mleaf_t         *r_viewleaf, *r_oldviewleaf;
                    154: extern texture_t       *r_notexture_mip;
                    155: extern int             d_lightstylevalue[256]; // 8.8 fraction of base light value
                    156: 
                    157: extern qboolean        envmap;
                    158: extern int     currenttexture;
                    159: extern int     particletexture;
                    160: extern int     playertextures;
                    161: 
                    162: extern int     skytexturenum;          // index in cl.loadmodel, not gl texture object
                    163: 
                    164: extern cvar_t  r_drawentities;
                    165: extern cvar_t  r_drawworld;
                    166: extern cvar_t  r_drawviewmodel;
                    167: extern cvar_t  r_speeds;
                    168: extern cvar_t  r_waterwarp;
                    169: extern cvar_t  r_fullbright;
                    170: extern cvar_t  r_lightmap;
                    171: extern cvar_t  r_shadows;
                    172: extern cvar_t  r_dynamic;
                    173: 
                    174: extern cvar_t  gl_clear;
                    175: extern cvar_t  gl_cull;
                    176: extern cvar_t  gl_poly;
                    177: extern cvar_t  gl_texsort;
                    178: extern cvar_t  gl_smoothmodels;
                    179: extern cvar_t  gl_affinemodels;
                    180: extern cvar_t  gl_fogblend;
                    181: extern cvar_t  gl_polyblend;
                    182: extern cvar_t  gl_keeptjunctions;
                    183: extern cvar_t  gl_reporttjunctions;
                    184: 
                    185: extern int             gl_lightmap_format;
                    186: extern int             gl_solid_format;
                    187: extern int             gl_alpha_format;
                    188: 
                    189: void R_TranslatePlayerSkin (int playernum);
                    190: void GL_Bind (int texnum);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.