Annotation of quake1/render.h, revision 1.1

1.1     ! root        1: 
        !             2: // refresh.h -- public interface to refresh functions
        !             3: 
        !             4: #define        MAXCLIPPLANES   11
        !             5: 
        !             6: #define        TOP_RANGE               16                      // soldier uniform colors
        !             7: #define        BOTTOM_RANGE    96
        !             8: 
        !             9: //=============================================================================
        !            10: 
        !            11: typedef struct efrag_s
        !            12: {
        !            13:        struct mleaf_s          *leaf;
        !            14:        struct efrag_s          *leafnext;
        !            15:        struct entity_s         *entity;
        !            16:        struct efrag_s          *entnext;
        !            17: } efrag_t;
        !            18: 
        !            19: 
        !            20: typedef struct entity_s
        !            21: {
        !            22:        qboolean                                forcelink;              // model changed
        !            23: 
        !            24:        int                                             update_type;
        !            25: 
        !            26:        entity_state_t                  baseline;               // to fill in defaults in updates
        !            27: 
        !            28:        double                                  msgtime;                // time of last update
        !            29:        vec3_t                                  msg_origins[2]; // last two updates (0 is newest)       
        !            30:        vec3_t                                  origin;
        !            31:        vec3_t                                  msg_angles[2];  // last two updates (0 is newest)
        !            32:        vec3_t                                  angles; 
        !            33:        struct model_s                  *model;                 // NULL = no model
        !            34:        struct efrag_s                  *efrag;                 // linked list of efrags
        !            35:        int                                             frame;
        !            36:        float                                   syncbase;               // for client-side animations
        !            37:        byte                                    *colormap;
        !            38:        int                                             effects;                // light, particals, etc
        !            39:        int                                             skinnum;                // for Alias models
        !            40:        int                                             visframe;               // last frame this entity was
        !            41:                                                                                        //  found in an active leaf
        !            42:                                                                                        
        !            43:        int                                             dlightframe;    // dynamic lighting
        !            44:        int                                             dlightbits;
        !            45:        
        !            46: // FIXME: could turn these into a union
        !            47:        int                                             trivial_accept;
        !            48:        struct mnode_s                  *topnode;               // for bmodels, first world node
        !            49:                                                                                        //  that splits bmodel, or NULL if
        !            50:                                                                                        //  not split
        !            51: } entity_t;
        !            52: 
        !            53: // !!! if this is changed, it must be changed in asm_draw.h too !!!
        !            54: typedef struct
        !            55: {
        !            56:        vrect_t         vrect;                          // subwindow in video for refresh
        !            57:                                                                        // FIXME: not need vrect next field here?
        !            58:        vrect_t         aliasvrect;                     // scaled Alias version
        !            59:        int                     vrectright, vrectbottom;        // right & bottom screen coords
        !            60:        int                     aliasvrectright, aliasvrectbottom;      // scaled Alias versions
        !            61:        float           vrectrightedge;                 // rightmost right edge we care about,
        !            62:                                                                                //  for use in edge list
        !            63:        float           fvrectx, fvrecty;               // for floating-point compares
        !            64:        float           fvrectx_adj, fvrecty_adj; // left and top edges, for clamping
        !            65:        int                     vrect_x_adj_shift20;    // (vrect.x + 0.5 - epsilon) << 20
        !            66:        int                     vrectright_adj_shift20; // (vrectright + 0.5 - epsilon) << 20
        !            67:        float           fvrectright_adj, fvrectbottom_adj;
        !            68:                                                                                // right and bottom edges, for clamping
        !            69:        float           fvrectright;                    // rightmost edge, for Alias clamping
        !            70:        float           fvrectbottom;                   // bottommost edge, for Alias clamping
        !            71:        float           horizontalFieldOfView;  // at Z = 1.0, this many X is visible 
        !            72:                                                                                // 2.0 = 90 degrees
        !            73:        float           xOrigin;                        // should probably allways be 0.5
        !            74:        float           yOrigin;                        // between be around 0.3 to 0.5
        !            75: 
        !            76:        vec3_t          vieworg;
        !            77:        vec3_t          viewangles;
        !            78:        
        !            79:        int                     ambientlight;
        !            80: } refdef_t;
        !            81: 
        !            82: 
        !            83: //
        !            84: // refresh
        !            85: //
        !            86: extern int             reinit_surfcache;
        !            87: 
        !            88: 
        !            89: extern refdef_t        r_refdef;
        !            90: extern vec3_t  r_origin, vpn, vright, vup;
        !            91: 
        !            92: extern struct texture_s        *r_notexture_mip;
        !            93: 
        !            94: 
        !            95: void R_Init (void);
        !            96: void R_InitTextures (void);
        !            97: void R_InitEfrags (void);
        !            98: void R_RenderView (void);              // must set r_refdef first
        !            99: void R_ViewChanged (vrect_t *pvrect, int lineadj, float aspect);
        !           100:                                                                // called whenever r_refdef or vid change
        !           101: void R_InitSky (struct texture_s *mt); // called at level load
        !           102: 
        !           103: void R_AddEfrags (entity_t *ent);
        !           104: void R_RemoveEfrags (entity_t *ent);
        !           105: 
        !           106: void R_NewMap (void);
        !           107: 
        !           108: 
        !           109: void R_ParseParticleEffect (void);
        !           110: void R_RunParticleEffect (vec3_t org, vec3_t dir, int color, int count);
        !           111: void R_RocketTrail (vec3_t start, vec3_t end, int type);
        !           112: 
        !           113: void R_EntityParticles (entity_t *ent);
        !           114: void R_BlobExplosion (vec3_t org);
        !           115: void R_ParticleExplosion (vec3_t org);
        !           116: void R_LavaSplash (vec3_t org);
        !           117: void R_TeleportSplash (vec3_t org);
        !           118: 
        !           119: void R_PushDlights (void);
        !           120: 
        !           121: 
        !           122: //
        !           123: // surface cache related
        !           124: //
        !           125: extern int             reinit_surfcache;       // if 1, surface cache is currently empty and
        !           126: extern qboolean        r_cache_thrash; // set if thrashing the surface cache
        !           127: 
        !           128: int    D_SurfaceCacheForRes (int width, int height);
        !           129: void D_FlushCaches (void);
        !           130: void D_DeleteSurfaceCache (void);
        !           131: void D_InitCaches (void *buffer, int size);
        !           132: void R_SetVrect (vrect_t *pvrect, vrect_t *pvrectin, int lineadj);
        !           133: 

unix.superglobalmegacorp.com

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