mirror of
https://github.com/DrBeef/JKXR.git
synced 2025-02-04 06:21:01 +00:00
123 lines
3.4 KiB
C
123 lines
3.4 KiB
C
|
/*
|
||
|
===========================================================================
|
||
|
Copyright (C) 1999 - 2005, Id Software, Inc.
|
||
|
Copyright (C) 2000 - 2013, Raven Software, Inc.
|
||
|
Copyright (C) 2001 - 2013, Activision, Inc.
|
||
|
Copyright (C) 2013 - 2015, OpenJK contributors
|
||
|
|
||
|
This file is part of the OpenJK source code.
|
||
|
|
||
|
OpenJK is free software; you can redistribute it and/or modify it
|
||
|
under the terms of the GNU General Public License version 2 as
|
||
|
published by the Free Software Foundation.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||
|
===========================================================================
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
// bg_local.h -- local definitions for the bg (both games) files
|
||
|
|
||
|
#define MIN_WALK_NORMAL 0.7f // can't walk on very steep slopes
|
||
|
|
||
|
#define TIMER_LAND 130
|
||
|
#define TIMER_GESTURE (34*66+50)
|
||
|
|
||
|
#define OVERCLIP 1.001f
|
||
|
|
||
|
// all of the locals will be zeroed before each
|
||
|
// pmove, just to make damn sure we don't have
|
||
|
// any differences when running on client or server
|
||
|
typedef struct
|
||
|
{
|
||
|
vec3_t forward, right, up;
|
||
|
float frametime;
|
||
|
|
||
|
int msec;
|
||
|
|
||
|
qboolean walking;
|
||
|
qboolean groundPlane;
|
||
|
trace_t groundTrace;
|
||
|
|
||
|
float impactSpeed;
|
||
|
|
||
|
vec3_t previous_origin;
|
||
|
vec3_t previous_velocity;
|
||
|
int previous_waterlevel;
|
||
|
} pml_t;
|
||
|
|
||
|
|
||
|
extern pml_t pml;
|
||
|
|
||
|
// movement parameters
|
||
|
extern float pm_stopspeed;
|
||
|
extern float pm_duckScale;
|
||
|
extern float pm_swimScale;
|
||
|
extern float pm_wadeScale;
|
||
|
|
||
|
extern float pm_accelerate;
|
||
|
extern float pm_airaccelerate;
|
||
|
extern float pm_wateraccelerate;
|
||
|
extern float pm_flyaccelerate;
|
||
|
|
||
|
extern float pm_friction;
|
||
|
extern float pm_waterfriction;
|
||
|
extern float pm_flightfriction;
|
||
|
|
||
|
extern int c_pmove;
|
||
|
|
||
|
extern int forcePowerNeeded[NUM_FORCE_POWER_LEVELS][NUM_FORCE_POWERS];
|
||
|
|
||
|
//PM anim utility functions:
|
||
|
qboolean PM_SaberInParry( int move );
|
||
|
qboolean PM_SaberInKnockaway( int move );
|
||
|
qboolean PM_SaberInReflect( int move );
|
||
|
qboolean PM_SaberInStart( int move );
|
||
|
qboolean PM_InSaberAnim( int anim );
|
||
|
qboolean PM_InKnockDown( playerState_t *ps );
|
||
|
qboolean PM_PainAnim( int anim );
|
||
|
qboolean PM_JumpingAnim( int anim );
|
||
|
qboolean PM_LandingAnim( int anim );
|
||
|
qboolean PM_SpinningAnim( int anim );
|
||
|
qboolean PM_InOnGroundAnim ( int anim );
|
||
|
qboolean PM_InRollComplete( playerState_t *ps, int anim );
|
||
|
|
||
|
int PM_AnimLength( int index, animNumber_t anim );
|
||
|
|
||
|
int PM_GetSaberStance(void);
|
||
|
float PM_GroundDistance(void);
|
||
|
qboolean PM_SomeoneInFront(trace_t *tr);
|
||
|
saberMoveName_t PM_SaberFlipOverAttackMove(void);
|
||
|
saberMoveName_t PM_SaberJumpAttackMove( void );
|
||
|
|
||
|
void PM_ClipVelocity( vec3_t in, vec3_t normal, vec3_t out, float overbounce );
|
||
|
void PM_AddTouchEnt( int entityNum );
|
||
|
void PM_AddEvent( int newEvent );
|
||
|
|
||
|
qboolean PM_SlideMove( qboolean gravity );
|
||
|
void PM_StepSlideMove( qboolean gravity );
|
||
|
|
||
|
void PM_StartTorsoAnim( int anim );
|
||
|
void PM_ContinueLegsAnim( int anim );
|
||
|
void PM_ForceLegsAnim( int anim );
|
||
|
|
||
|
void PM_BeginWeaponChange( int weapon );
|
||
|
void PM_FinishWeaponChange( void );
|
||
|
|
||
|
void PM_SetAnim(int setAnimParts,int anim,int setAnimFlags);
|
||
|
|
||
|
void PM_WeaponLightsaber(void);
|
||
|
void PM_SetSaberMove(short newMove);
|
||
|
|
||
|
void PM_SetForceJumpZStart(float value);
|
||
|
|
||
|
void BG_CycleInven(playerState_t *ps, int direction);
|
||
|
|