Annotation of quakeworld/client/pmove.h, revision 1.1

1.1     ! root        1: /*
        !             2: Copyright (C) 1996-1997 Id Software, Inc.
        !             3: 
        !             4: This program is free software; you can redistribute it and/or
        !             5: modify it under the terms of the GNU General Public License
        !             6: as published by the Free Software Foundation; either version 2
        !             7: of the License, or (at your option) any later version.
        !             8: 
        !             9: This program is distributed in the hope that it will be useful,
        !            10: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
        !            12: 
        !            13: See the GNU General Public License for more details.
        !            14: 
        !            15: You should have received a copy of the GNU General Public License
        !            16: along with this program; if not, write to the Free Software
        !            17: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
        !            18: 
        !            19: */
        !            20: 
        !            21: typedef struct
        !            22: {
        !            23:        vec3_t  normal;
        !            24:        float   dist;
        !            25: } pmplane_t;
        !            26: 
        !            27: typedef struct
        !            28: {
        !            29:        qboolean        allsolid;       // if true, plane is not valid
        !            30:        qboolean        startsolid;     // if true, the initial point was in a solid area
        !            31:        qboolean        inopen, inwater;
        !            32:        float           fraction;               // time completed, 1.0 = didn't hit anything
        !            33:        vec3_t          endpos;                 // final position
        !            34:        pmplane_t               plane;                  // surface normal at impact
        !            35:        int                     ent;                    // entity the surface is on
        !            36: } pmtrace_t;
        !            37: 
        !            38: 
        !            39: #define        MAX_PHYSENTS    32
        !            40: typedef struct
        !            41: {
        !            42:        vec3_t  origin;
        !            43:        model_t *model;         // only for bsp models
        !            44:        vec3_t  mins, maxs;     // only for non-bsp models
        !            45:        int             info;           // for client or server to identify
        !            46: } physent_t;
        !            47: 
        !            48: 
        !            49: typedef struct
        !            50: {
        !            51:        int             sequence;       // just for debugging prints
        !            52: 
        !            53:        // player state
        !            54:        vec3_t  origin;
        !            55:        vec3_t  angles;
        !            56:        vec3_t  velocity;
        !            57:        int             oldbuttons;
        !            58:        float           waterjumptime;
        !            59:        qboolean        dead;
        !            60:        int             spectator;
        !            61: 
        !            62:        // world state
        !            63:        int             numphysent;
        !            64:        physent_t       physents[MAX_PHYSENTS]; // 0 should be the world
        !            65: 
        !            66:        // input
        !            67:        usercmd_t       cmd;
        !            68: 
        !            69:        // results
        !            70:        int             numtouch;
        !            71:        int             touchindex[MAX_PHYSENTS];
        !            72: } playermove_t;
        !            73: 
        !            74: typedef struct {
        !            75:        float   gravity;
        !            76:        float   stopspeed;
        !            77:        float   maxspeed;
        !            78:        float   spectatormaxspeed;
        !            79:        float   accelerate;
        !            80:        float   airaccelerate;
        !            81:        float   wateraccelerate;
        !            82:        float   friction;
        !            83:        float   waterfriction;
        !            84:        float   entgravity;
        !            85: } movevars_t;
        !            86: 
        !            87: 
        !            88: extern movevars_t              movevars;
        !            89: extern playermove_t    pmove;
        !            90: extern int             onground;
        !            91: extern int             waterlevel;
        !            92: extern int             watertype;
        !            93: 
        !            94: void PlayerMove (void);
        !            95: void Pmove_Init (void);
        !            96: 
        !            97: int PM_HullPointContents (hull_t *hull, int num, vec3_t p);
        !            98: 
        !            99: int PM_PointContents (vec3_t point);
        !           100: qboolean PM_TestPlayerPosition (vec3_t point);
        !           101: pmtrace_t PM_PlayerMove (vec3_t start, vec3_t stop);

unix.superglobalmegacorp.com

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