Annotation of quakeworld/client/pmove.h, revision 1.1.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.