different stuff in physics

This commit is contained in:
2026-03-18 18:41:28 +02:00
parent b56d85f95d
commit 79ceac1005
8 changed files with 223 additions and 18 deletions

View File

@@ -13,19 +13,37 @@ void C_MOBAPlayer::Spawn()
BaseClass::Spawn();
SetThink(Think);
SetScale(1);
vCameraPos = {0,0,-20};
};
void C_MOBAPlayer::Think( float fDelta )
{
<<<<<<< HEAD
C_MOBAPlayer *pEntity = (C_MOBAPlayer*)UTIL_GetLocalPlayer();
<<<<<<< HEAD
=======
=======
C_MOBAPlayer *pPlayerEntity = (C_MOBAPlayer*)UTIL_GetLocalPlayer();
<<<<<<< HEAD
>>>>>>> c251089 (different stuff in physics)
>>>>>>> a2652ed (merges)
m_vMovementVector.z = m_bIsForward - m_bIsBack;
m_vMovementVector.x = m_bIsLeft - m_bIsRight;
if (pEntity == this)
=======
m_vMovementVector.z = m_bIsBack - m_bIsForward;
m_vMovementVector.x = m_bIsRight - m_bIsLeft;
if (pPlayerEntity == this)
>>>>>>> 83e8198 (different stuff in physics)
{
Vector vCameraPos;
vCameraPos = GetAbsOrigin();
vCameraPos.z = 20;
vCameraPos.y+=3;
g_pWorldRenderer->SetCameraPosition(vCameraPos);
}
BaseClass::Think(fDelta);

View File

@@ -228,6 +228,13 @@ void CFunnyWorldRenderer::Frame( float fDelta )
glm_mat4_identity(matCamera);
glm_mat4_identity(matCamera2);
glm_translate(matCamera2, m_vPos);
<<<<<<< HEAD
=======
<<<<<<< HEAD
=======
glm_mat4_inv(matCamera2, matCamera2);
>>>>>>> c251089 (different stuff in physics)
>>>>>>> a2652ed (merges)
glm_perspective(glm_rad(75), uWidth/(float)uHeight, 0.01, 10000, matCamera);
glm_mul(matCamera, matCamera2, matCamera);
m_pViewBufferData = (ViewBuffer_t*)m_pViewBuffer->Map();

View File

@@ -3,14 +3,35 @@
#include "entitysystem.h"
CMOBAPlayer::CMOBAPlayer()
{
m_hCuboid = g_pPhysics->CreateBall({1});
}
CMOBAPlayer::~CMOBAPlayer()
{
}
void CMOBAPlayer::Spawn()
{
CBaseEntity::Spawn();
<<<<<<< HEAD
=======
<<<<<<< HEAD
>>>>>>> a2652ed (merges)
SetPhysics(k_EPhysics_Static);
SetModel("game/core/models/sphere.fmdl");
SetScale(1);
SetAbsOrigin({0,-14.5, 0});
<<<<<<< HEAD
=======
=======
SetModel("game/core/models/sphere.fmdl");
SetScale(1);
SetAbsOrigin({0,-11.5, 0});
>>>>>>> c251089 (different stuff in physics)
>>>>>>> a2652ed (merges)
SetThink(Think);
};
@@ -26,7 +47,18 @@ void CMOBAPlayer::Think( float fDelta )
vPosition.x += m_vMovementVector.x*fDelta*5;
vPosition.z += m_vMovementVector.z*fDelta*5;
<<<<<<< HEAD
SetAbsOrigin(vPosition);
<<<<<<< HEAD
=======
=======
CastResult_t result = g_pPhysicsWorld->ShapeCast(m_hCuboid, {0,0,0,1}, vPosition, {vPosition.x, vPosition.y, -100});
if (result.m_bIsHit)
SetAbsOrigin(result.m_vCollisionPoint);
else
SetAbsOrigin(vPosition);
>>>>>>> c251089 (different stuff in physics)
>>>>>>> a2652ed (merges)
};
LINK_ENTITY_TO_CLASS(player, CMOBAPlayer)

View File

@@ -10,10 +10,14 @@ public:
DECLARE_DATADESC();
DECLARE_SERVERCLASS()
CMOBAPlayer();
virtual ~CMOBAPlayer();
virtual void Spawn( void ) override;
void Think( float fDelta );
private:
Vector m_vMovementVector = {};
HShape m_hCuboid = NULL;
};
#endif