mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-21 10:23:56 +00:00
Better no clip
This commit is contained in:
parent
1ce759af06
commit
5f9056c45d
3 changed files with 9 additions and 6 deletions
|
@ -127,11 +127,11 @@ namespace MWWorld
|
|||
Ogre::Quaternion pitchQuat = pitchNode->getOrientation();
|
||||
Ogre::Quaternion both = yawQuat * pitchQuat;
|
||||
|
||||
playerphysics->ps.viewangles.x = 0;
|
||||
playerphysics->ps.viewangles.x = pitchQuat.getPitch().valueDegrees();
|
||||
playerphysics->ps.viewangles.z = 0;
|
||||
playerphysics->ps.viewangles.y = both.getYaw().valueDegrees() *-1 + 90;
|
||||
playerphysics->ps.viewangles.y = yawQuat.getYaw().valueDegrees() *-1 + 90;
|
||||
|
||||
|
||||
//playerphysics->ps.viewangles.z = both.getPitch().valueDegrees();
|
||||
|
||||
|
||||
if(mFreeFly)
|
||||
|
@ -259,6 +259,7 @@ namespace MWWorld
|
|||
{
|
||||
if(playerphysics->ps.move_type==PM_NOCLIP)
|
||||
playerphysics->ps.move_type=PM_NORMAL;
|
||||
|
||||
else
|
||||
playerphysics->ps.move_type=PM_NOCLIP;
|
||||
for(std::map<std::string,OEngine::Physic::PhysicActor*>::iterator it = mEngine->PhysicActorMap.begin(); it != mEngine->PhysicActorMap.end();it++)
|
||||
|
|
|
@ -632,6 +632,8 @@ float PM_CmdScale(playerMove::playercmd* const cmd)
|
|||
total = sqrtf( (const float)(cmd->forwardmove * cmd->forwardmove
|
||||
+ cmd->rightmove * cmd->rightmove + cmd->upmove * cmd->upmove) );
|
||||
scale = (float)pm->ps.speed * max / ( 127.0f * total );
|
||||
if(pm->ps.move_type == PM_NOCLIP)
|
||||
scale *= 2;
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
@ -1125,7 +1127,7 @@ void AngleVectors( const Ogre::Vector3& angles, Ogre::Vector3* const forward, Og
|
|||
{
|
||||
right->x = (-1 * sr * sp * cy + -1 * cr * -sy);
|
||||
right->y = (-1 * sr * sp * sy + -1 * cr * cy);
|
||||
right->z = 0.0f;//-1 * sp * cp;
|
||||
right->z = 0;
|
||||
}
|
||||
if (up)
|
||||
{
|
||||
|
|
|
@ -55,7 +55,7 @@ static const Ogre::Vector3 halfExtents(14.64f * 2, 14.24f * 2, 33.25f * 2);
|
|||
#define CONTENTS_FOG 64
|
||||
static const float pm_accelerate = 10.0f;
|
||||
static const float pm_stopspeed = 100.0f;
|
||||
static const float pm_friction = 6.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;
|
||||
|
@ -90,7 +90,7 @@ struct playerMove
|
|||
{
|
||||
struct playerStruct
|
||||
{
|
||||
playerStruct() : gravity(800.0f), speed(320.0f), pmove_framecount(20), groundEntityNum(ENTITYNUM_NONE), commandTime(40), move_type(PM_NOCLIP), pm_time(0)
|
||||
playerStruct() : gravity(800.0f), speed(480.0f), pmove_framecount(20), groundEntityNum(ENTITYNUM_NONE), commandTime(40), move_type(PM_NOCLIP), pm_time(0)
|
||||
{
|
||||
origin = Ogre::Vector3(733.164f,900.0f, 839.432f);
|
||||
velocity = Ogre::Vector3(0.0f, 0.0f, 0.0f);
|
||||
|
|
Loading…
Reference in a new issue