Annotation of quake1/r_local.h, revision 1.1

1.1     ! root        1: // r_local.h -- private refresh defs
        !             2: 
        !             3: #include "r_shared.h"
        !             4: 
        !             5: #define ALIAS_BASE_SIZE_RATIO          (1.0 / 11.0)
        !             6:                                        // normalizing factor so player model works out to about
        !             7:                                        //  1 pixel per triangle
        !             8: 
        !             9: #define BMODEL_FULLY_CLIPPED   0x10 // value returned by R_BmodelCheckBBox ()
        !            10:                                                                         //  if bbox is trivially rejected
        !            11: 
        !            12: //===========================================================================
        !            13: // viewmodel lighting
        !            14: 
        !            15: typedef struct {
        !            16:        int                     ambientlight;
        !            17:        int                     shadelight;
        !            18:        float           *plightvec;
        !            19: } alight_t;
        !            20: 
        !            21: //===========================================================================
        !            22: // clipped bmodel edges
        !            23: 
        !            24: typedef struct bedge_s
        !            25: {
        !            26:        mvertex_t               *v[2];
        !            27:        struct bedge_s  *pnext;
        !            28: } bedge_t;
        !            29: 
        !            30: typedef struct {
        !            31:        float   fv[3];          // viewspace x, y
        !            32: } auxvert_t;
        !            33: 
        !            34: //===========================================================================
        !            35: 
        !            36: extern cvar_t  r_draworder;
        !            37: extern cvar_t  r_speeds;
        !            38: extern cvar_t  r_timegraph;
        !            39: extern cvar_t  r_graphheight;
        !            40: extern cvar_t  r_clearcolor;
        !            41: extern cvar_t  r_waterwarp;
        !            42: extern cvar_t  r_fullbright;
        !            43: extern cvar_t  r_drawentities;
        !            44: extern cvar_t  r_aliasstats;
        !            45: extern cvar_t  r_dspeeds;
        !            46: extern cvar_t  r_drawflat;
        !            47: extern cvar_t  r_ambient;
        !            48: extern cvar_t  r_reportsurfout;
        !            49: extern cvar_t  r_maxsurfs;
        !            50: extern cvar_t  r_numsurfs;
        !            51: extern cvar_t  r_reportedgeout;
        !            52: extern cvar_t  r_maxedges;
        !            53: extern cvar_t  r_numedges;
        !            54: 
        !            55: #define XCENTERING     (1.0 / 2.0)
        !            56: #define YCENTERING     (1.0 / 2.0)
        !            57: 
        !            58: #define CLIP_EPSILON           0.001
        !            59: 
        !            60: #define BACKFACE_EPSILON       0.01
        !            61: 
        !            62: //===========================================================================
        !            63: 
        !            64: #define        DIST_NOT_SET    98765
        !            65: 
        !            66: // !!! if this is changed, it must be changed in asm_draw.h too !!!
        !            67: typedef struct clipplane_s
        !            68: {
        !            69:        vec3_t          normal;
        !            70:        float           dist;
        !            71:        struct          clipplane_s     *next;
        !            72:        byte            leftedge;
        !            73:        byte            rightedge;
        !            74:        byte            reserved[2];
        !            75: } clipplane_t;
        !            76: 
        !            77: extern clipplane_t     view_clipplanes[4];
        !            78: 
        !            79: //=============================================================================
        !            80: 
        !            81: void R_RenderWorld (void);
        !            82: 
        !            83: //=============================================================================
        !            84: 
        !            85: extern mplane_t        screenedge[4];
        !            86: 
        !            87: extern vec3_t  r_origin;
        !            88: 
        !            89: extern vec3_t  r_entorigin;
        !            90: 
        !            91: extern float   screenAspect;
        !            92: extern float   verticalFieldOfView;
        !            93: extern float   xOrigin, yOrigin;
        !            94: 
        !            95: extern int             r_visframecount;
        !            96: 
        !            97: //=============================================================================
        !            98: 
        !            99: extern int     vstartscan;
        !           100: 
        !           101: 
        !           102: void R_ClearPolyList (void);
        !           103: void R_DrawPolyList (void);
        !           104: 
        !           105: //
        !           106: // current entity info
        !           107: //
        !           108: extern qboolean                insubmodel;
        !           109: extern vec3_t                  r_worldmodelorg;
        !           110: 
        !           111: 
        !           112: void R_DrawSprite (void);
        !           113: void R_RenderFace (msurface_t *fa, int clipflags);
        !           114: void R_RenderPoly (msurface_t *fa, int clipflags);
        !           115: void R_RenderBmodelFace (bedge_t *pedges, msurface_t *psurf);
        !           116: void R_TransformPlane (mplane_t *p, float *normal, float *dist);
        !           117: void R_TransformFrustum (void);
        !           118: void R_SetSkyFrame (void);
        !           119: void R_DrawSurfaceBlock16 (void);
        !           120: void R_DrawSurfaceBlock8 (void);
        !           121: texture_t *R_TextureAnimation (texture_t *base);
        !           122: 
        !           123: #if    id386
        !           124: 
        !           125: void R_DrawSurfaceBlock8_mip0 (void);
        !           126: void R_DrawSurfaceBlock8_mip1 (void);
        !           127: void R_DrawSurfaceBlock8_mip2 (void);
        !           128: void R_DrawSurfaceBlock8_mip3 (void);
        !           129: 
        !           130: #endif
        !           131: 
        !           132: void R_GenSkyTile (void *pdest);
        !           133: void R_GenSkyTile16 (void *pdest);
        !           134: void R_Surf8Patch (void);
        !           135: void R_Surf16Patch (void);
        !           136: void R_DrawSubmodelPolygons (model_t *pmodel, int clipflags);
        !           137: void R_DrawSolidClippedSubmodelPolygons (model_t *pmodel);
        !           138: 
        !           139: void R_AddPolygonEdges (emitpoint_t *pverts, int numverts, int miplevel);
        !           140: surf_t *R_GetSurf (void);
        !           141: void R_AliasDrawModel (alight_t *plighting);
        !           142: void R_BeginEdgeFrame (void);
        !           143: void R_ScanEdges (void);
        !           144: void D_DrawSurfaces (void);
        !           145: void R_InsertNewEdges (edge_t *edgestoadd, edge_t *edgelist);
        !           146: void R_StepActiveU (edge_t *pedge);
        !           147: void R_RemoveEdges (edge_t *pedge);
        !           148: 
        !           149: extern void R_Surf8Start (void);
        !           150: extern void R_Surf8End (void);
        !           151: extern void R_Surf16Start (void);
        !           152: extern void R_Surf16End (void);
        !           153: 
        !           154: extern void R_RotateBmodel (void);
        !           155: 
        !           156: extern int     c_faceclip;
        !           157: extern int     r_polycount;
        !           158: extern int     r_wholepolycount;
        !           159: 
        !           160: extern model_t         *cl_worldmodel;
        !           161: 
        !           162: extern int             *pfrustum_indexes[4];
        !           163: 
        !           164: // !!! if this is changed, it must be changed in asm_draw.h too !!!
        !           165: #define        NEAR_CLIP       0.01
        !           166: 
        !           167: extern int                     ubasestep, errorterm, erroradjustup, erroradjustdown;
        !           168: extern int                     vstartscan;
        !           169: 
        !           170: extern fixed16_t       sadjust, tadjust;
        !           171: extern fixed16_t       bbextents, bbextentt;
        !           172: 
        !           173: #define MAXBVERTINDEXES        1000    // new clipped vertices when clipping bmodels
        !           174:                                                                //  to the world BSP
        !           175: extern mvertex_t       *r_ptverts, *r_ptvertsmax;
        !           176: 
        !           177: extern vec3_t                  sbaseaxis[3], tbaseaxis[3];
        !           178: extern float                   entity_rotation[3][3];
        !           179: 
        !           180: extern int             reinit_surfcache;
        !           181: 
        !           182: extern int             r_currentkey;
        !           183: extern int             r_currentbkey;
        !           184: 
        !           185: typedef struct btofpoly_s {
        !           186:        int                     clipflags;
        !           187:        msurface_t      *psurf;
        !           188: } btofpoly_t;
        !           189: 
        !           190: #define MAX_BTOFPOLYS  5000    // FIXME: tune this
        !           191: 
        !           192: extern int                     numbtofpolys;
        !           193: extern btofpoly_t      *pbtofpolys;
        !           194: 
        !           195: void   R_InitTurb (void);
        !           196: void   R_ZDrawSubmodelPolys (model_t *clmodel);
        !           197: 
        !           198: //=========================================================
        !           199: // Alias models
        !           200: //=========================================================
        !           201: 
        !           202: #define MAXALIASVERTS          2000    // TODO: tune this
        !           203: #define ALIAS_Z_CLIP_PLANE     5
        !           204: 
        !           205: extern int                             numverts;
        !           206: extern int                             a_skinwidth;
        !           207: extern mtriangle_t             *ptriangles;
        !           208: extern int                             numtriangles;
        !           209: extern aliashdr_t              *paliashdr;
        !           210: extern mdl_t                   *pmdl;
        !           211: extern float                   leftclip, topclip, rightclip, bottomclip;
        !           212: extern int                             r_acliptype;
        !           213: extern finalvert_t             *pfinalverts;
        !           214: extern auxvert_t               *pauxverts;
        !           215: 
        !           216: qboolean R_AliasCheckBBox (void);
        !           217: 
        !           218: //=========================================================
        !           219: // turbulence stuff
        !           220: 
        !           221: #define        AMP             8*0x10000
        !           222: #define        AMP2    3
        !           223: #define        SPEED   20
        !           224: 
        !           225: //=========================================================
        !           226: // particle stuff
        !           227: 
        !           228: void R_DrawParticles (void);
        !           229: void R_InitParticles (void);
        !           230: void R_ClearParticles (void);
        !           231: void R_ReadPointFile_f (void);
        !           232: void R_SurfacePatch (void);
        !           233: 
        !           234: extern int             r_amodels_drawn;
        !           235: extern edge_t  *auxedges;
        !           236: extern int             r_numallocatededges;
        !           237: extern edge_t  *r_edges, *edge_p, *edge_max;
        !           238: 
        !           239: extern edge_t  *newedges[MAXHEIGHT];
        !           240: extern edge_t  *removeedges[MAXHEIGHT];
        !           241: 
        !           242: extern int     screenwidth;
        !           243: 
        !           244: // FIXME: make stack vars when debugging done
        !           245: extern edge_t  edge_head;
        !           246: extern edge_t  edge_tail;
        !           247: extern edge_t  edge_aftertail;
        !           248: extern int             r_bmodelactive;
        !           249: extern vrect_t *pconupdate;
        !           250: 
        !           251: extern float           aliasxscale, aliasyscale, aliasxcenter, aliasycenter;
        !           252: extern float           r_aliastransition, r_resfudge;
        !           253: 
        !           254: extern int             r_outofsurfaces;
        !           255: extern int             r_outofedges;
        !           256: 
        !           257: extern mvertex_t       *r_pcurrentvertbase;
        !           258: extern int                     r_maxvalidedgeoffset;
        !           259: 
        !           260: void R_AliasClipTriangle (mtriangle_t *ptri);
        !           261: 
        !           262: extern float   r_time1;
        !           263: extern float   dp_time1, dp_time2, db_time1, db_time2, rw_time1, rw_time2;
        !           264: extern float   se_time1, se_time2, de_time1, de_time2, dv_time1, dv_time2;
        !           265: extern int             r_frustum_indexes[4*6];
        !           266: extern int             r_maxsurfsseen, r_maxedgesseen, r_cnumsurfs;
        !           267: extern qboolean        r_surfsonstack;
        !           268: extern cshift_t        cshift_water;
        !           269: extern qboolean        r_dowarpold, r_viewchanged;
        !           270: 
        !           271: extern mleaf_t *r_viewleaf, *r_oldviewleaf;
        !           272: 
        !           273: extern vec3_t  r_emins, r_emaxs;
        !           274: extern mnode_t *r_pefragtopnode;
        !           275: extern int             r_clipflags;
        !           276: extern int             r_dlightframecount;
        !           277: extern qboolean        r_fov_greater_than_90;
        !           278: 
        !           279: void R_StoreEfrags (efrag_t **ppefrag);
        !           280: void R_TimeRefresh_f (void);
        !           281: void R_TimeGraph (void);
        !           282: void R_PrintAliasStats (void);
        !           283: void R_PrintTimes (void);
        !           284: void R_PrintDSpeeds (void);
        !           285: void R_AnimateLight (void);
        !           286: int R_LightPoint (vec3_t p);
        !           287: void R_SetupFrame (void);
        !           288: void R_cshift_f (void);
        !           289: void R_EmitEdge (mvertex_t *pv0, mvertex_t *pv1);
        !           290: void R_ClipEdge (mvertex_t *pv0, mvertex_t *pv1, clipplane_t *clip);
        !           291: void R_SplitEntityOnNode2 (mnode_t *node);
        !           292: void R_MarkLights (dlight_t *light, int bit, mnode_t *node);
        !           293: 

unix.superglobalmegacorp.com

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