OpenMW
Classes | Defines | Enumerations | Functions | Variables
libs/openengine/bullet/pmove.h File Reference
#include <OgreMath.h>
#include <float.h>
#include "trace.h"
#include "physic.hpp"
#include <OgreVector3.h>

Go to the source code of this file.

Classes

struct  playerMove
struct  playerMove::playerStruct
struct  playerMove::playercmd

Defines

#define MAX_CLIP_PLANES   5
#define OVERCLIP   1.001f
#define STEPSIZE   (9)
#define YAW   0
#define PITCH   /*1*/2
#define ROLL   /*2*/1
#define SHORT2ANGLE(x)   ( (x) * (360.0f / 65536.0f) )
#define ANGLE2SHORT(x)   ( (const short)( (x) / (360.0f / 65536.0f) ) )
#define GENTITYNUM_BITS   10
#define MAX_GENTITIES   (1 << GENTITYNUM_BITS)
#define ENTITYNUM_NONE   (MAX_GENTITIES - 1)
#define ENTITYNUM_WORLD   (MAX_GENTITIES - 2)
#define MIN_WALK_NORMAL   .7f
#define PS_PMOVEFRAMECOUNTBITS   6
#define MINS_Z   -24
#define DEFAULT_VIEWHEIGHT   26
#define CROUCH_VIEWHEIGHT   12
#define DEAD_VIEWHEIGHT   (-16)
#define CONTENTS_SOLID   1
#define CONTENTS_LAVA   8
#define CONTENTS_SLIME   16
#define CONTENTS_WATER   32
#define CONTENTS_FOG   64

Enumerations

enum  pmtype_t {
  PM_NORMAL, PM_NOCLIP, PM_SPECTATOR, PM_DEAD,
  PM_FREEZE, PM_INTERMISSION, PM_SPINTERMISSION
}
enum  waterlevel_t { WL_DRYLAND = 0, WL_ANKLE, WL_WAIST, WL_UNDERWATER }

Functions

static const Ogre::Vector3 halfExtentsDefault (14.64f *2, 14.24f *2, 33.25f *2)
void Pmove (playerMove *const pmove)
void Ext_UpdateViewAngles (playerMove *const pm)
void AngleVectors (const Ogre::Vector3 &angles, Ogre::Vector3 *const forward, Ogre::Vector3 *const right, Ogre::Vector3 *const up)

Variables

static const float pm_accelerate = 10.0f
static const float pm_stopspeed = 100.0f
static const float pm_friction = 12.0f
static const float pm_flightfriction = 3.0f
static const float pm_waterfriction = 1.0f
static const float pm_airaccelerate = 1.0f
static const float pm_swimScale = 0.50f
static const float pm_duckScale = 0.25f
static const float pm_flyaccelerate = 8.0f
static const float pm_wateraccelerate = 4.0f

Define Documentation

#define ANGLE2SHORT (   x)    ( (const short)( (x) / (360.0f / 65536.0f) ) )
#define CONTENTS_FOG   64
#define CONTENTS_LAVA   8
#define CONTENTS_SLIME   16
#define CONTENTS_SOLID   1
#define CONTENTS_WATER   32
#define CROUCH_VIEWHEIGHT   12
#define DEAD_VIEWHEIGHT   (-16)
#define DEFAULT_VIEWHEIGHT   26
#define ENTITYNUM_NONE   (MAX_GENTITIES - 1)
#define ENTITYNUM_WORLD   (MAX_GENTITIES - 2)
#define GENTITYNUM_BITS   10
#define MAX_CLIP_PLANES   5
#define MAX_GENTITIES   (1 << GENTITYNUM_BITS)
#define MIN_WALK_NORMAL   .7f
#define MINS_Z   -24
#define OVERCLIP   1.001f
#define PITCH   /*1*/2
#define PS_PMOVEFRAMECOUNTBITS   6
#define ROLL   /*2*/1
#define SHORT2ANGLE (   x)    ( (x) * (360.0f / 65536.0f) )
#define STEPSIZE   (9)
#define YAW   0

Enumeration Type Documentation

enum pmtype_t
Enumerator:
PM_NORMAL 
PM_NOCLIP 
PM_SPECTATOR 
PM_DEAD 
PM_FREEZE 
PM_INTERMISSION 
PM_SPINTERMISSION 
Enumerator:
WL_DRYLAND 
WL_ANKLE 
WL_WAIST 
WL_UNDERWATER 

Function Documentation

void AngleVectors ( const Ogre::Vector3 &  angles,
Ogre::Vector3 *const  forward,
Ogre::Vector3 *const  right,
Ogre::Vector3 *const  up 
)
void Ext_UpdateViewAngles ( playerMove *const  pm)
static const Ogre::Vector3 halfExtentsDefault ( 14.64f *  2,
14.24f *  2,
33.25f *  2 
) [static]
void Pmove ( playerMove *const  pmove)

Variable Documentation

const float pm_accelerate = 10.0f [static]
const float pm_airaccelerate = 1.0f [static]
const float pm_duckScale = 0.25f [static]
const float pm_flightfriction = 3.0f [static]
const float pm_flyaccelerate = 8.0f [static]
const float pm_friction = 12.0f [static]
const float pm_stopspeed = 100.0f [static]
const float pm_swimScale = 0.50f [static]
const float pm_wateraccelerate = 4.0f [static]
const float pm_waterfriction = 1.0f [static]