1 /*
2 ===========================================================================
3 
4 Return to Castle Wolfenstein single player GPL Source Code
5 Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company.
6 
7 This file is part of the Return to Castle Wolfenstein single player GPL Source Code (“RTCW SP Source Code”).
8 
9 RTCW SP Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13 
14 RTCW SP Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with RTCW SP Source Code.  If not, see <http://www.gnu.org/licenses/>.
21 
22 In addition, the RTCW SP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW SP Source Code.  If not, please request a copy in writing from id Software at the address below.
23 
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
25 
26 ===========================================================================
27 */
28 
29 // bg_local.h -- local definitions for the bg (both games) files
30 
31 #define MIN_WALK_NORMAL 0.7     // can't walk on very steep slopes
32 
33 #define STEPSIZE        18
34 
35 #define JUMP_VELOCITY   270
36 
37 #define TIMER_LAND      130
38 #define TIMER_GESTURE   ( 34 * 66 + 50 )
39 
40 
41 #define OVERCLIP        1.001
42 
43 // all of the locals will be zeroed before each
44 // pmove, just to make damn sure we don't have
45 // any differences when running on client or server
46 typedef struct {
47 	vec3_t forward, right, up;
48 	float frametime;
49 
50 	int msec;
51 
52 	qboolean walking;
53 	qboolean groundPlane;
54 	trace_t groundTrace;
55 
56 	float impactSpeed;
57 
58 	vec3_t previous_origin;
59 	vec3_t previous_velocity;
60 	int previous_waterlevel;
61 
62 	// Ridah, ladders
63 	qboolean ladder;
64 } pml_t;
65 
66 extern pmove_t     *pm;
67 extern pml_t pml;
68 
69 // movement parameters
70 extern float pm_stopspeed;
71 //extern	float	pm_duckScale;
72 
73 //----(SA)	modified
74 extern float pm_waterSwimScale;
75 extern float pm_waterWadeScale;
76 extern float pm_slagSwimScale;
77 
78 extern float pm_accelerate;
79 extern float pm_airaccelerate;
80 extern float pm_wateraccelerate;
81 extern float pm_slagaccelerate;
82 extern float pm_flyaccelerate;
83 
84 extern float pm_friction;
85 extern float pm_waterfriction;
86 extern float pm_slagfriction;
87 extern float pm_flightfriction;
88 
89 //----(SA)	end
90 
91 extern int c_pmove;
92 
93 void PM_AddTouchEnt( int entityNum );
94 void PM_AddEvent( int newEvent );
95 
96 qboolean    PM_SlideMove( qboolean gravity );
97 void        PM_StepSlideMove( qboolean gravity );
98 
99