Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

bg_local.h (2279B)


      1 /*
      2 ===========================================================================
      3 Copyright (C) 1999-2005 Id Software, Inc.
      4 
      5 This file is part of Quake III Arena source code.
      6 
      7 Quake III Arena source code is free software; you can redistribute it
      8 and/or modify it under the terms of the GNU General Public License as
      9 published by the Free Software Foundation; either version 2 of the License,
     10 or (at your option) any later version.
     11 
     12 Quake III Arena source code is distributed in the hope that it will be
     13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 GNU General Public License for more details.
     16 
     17 You should have received a copy of the GNU General Public License
     18 along with Foobar; if not, write to the Free Software
     19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     20 ===========================================================================
     21 */
     22 //
     23 // bg_local.h -- local definitions for the bg (both games) files
     24 
     25 #define	MIN_WALK_NORMAL	0.7f		// can't walk on very steep slopes
     26 
     27 #define	STEPSIZE		18
     28 
     29 #define	JUMP_VELOCITY	270
     30 
     31 #define	TIMER_LAND		130
     32 #define	TIMER_GESTURE	(34*66+50)
     33 
     34 #define	OVERCLIP		1.001f
     35 
     36 // all of the locals will be zeroed before each
     37 // pmove, just to make damn sure we don't have
     38 // any differences when running on client or server
     39 typedef struct {
     40 	vec3_t		forward, right, up;
     41 	float		frametime;
     42 
     43 	int			msec;
     44 
     45 	qboolean	walking;
     46 	qboolean	groundPlane;
     47 	trace_t		groundTrace;
     48 
     49 	float		impactSpeed;
     50 
     51 	vec3_t		previous_origin;
     52 	vec3_t		previous_velocity;
     53 	int			previous_waterlevel;
     54 } pml_t;
     55 
     56 extern	pmove_t		*pm;
     57 extern	pml_t		pml;
     58 
     59 // movement parameters
     60 extern	float	pm_stopspeed;
     61 extern	float	pm_duckScale;
     62 extern	float	pm_swimScale;
     63 extern	float	pm_wadeScale;
     64 
     65 extern	float	pm_accelerate;
     66 extern	float	pm_airaccelerate;
     67 extern	float	pm_wateraccelerate;
     68 extern	float	pm_flyaccelerate;
     69 
     70 extern	float	pm_friction;
     71 extern	float	pm_waterfriction;
     72 extern	float	pm_flightfriction;
     73 
     74 extern	int		c_pmove;
     75 
     76 void PM_ClipVelocity( vec3_t in, vec3_t normal, vec3_t out, float overbounce );
     77 void PM_AddTouchEnt( int entityNum );
     78 void PM_AddEvent( int newEvent );
     79 
     80 qboolean	PM_SlideMove( qboolean gravity );
     81 void		PM_StepSlideMove( qboolean gravity );
     82 
     83