Files
funnygame/engine/sv_light.cpp
2025-05-26 17:44:50 +03:00

51 lines
918 B
C++

#include "baseentity.h"
#include "cglm/mat4.h"
#include "physics.h"
#include "cglm/cglm.h"
class CLight: public CBaseEntity
{
public:
virtual void Precache ( void ) override;
virtual void Spawn( void ) override;
virtual void Destroy( void ) override;
virtual void Think( float fDelta ) override;
private:
Collider* col;
RigidBodyHandle *m_body;
};
void CLight::Precache()
{
}
void CLight::Spawn()
{
px_collider_params params = {};
params.friction = 0;
col = px_box(1, 1, 1, params);
px_matrix mat = {};
mat.m[0] = 1;
mat.m[4] = 1;
mat.m[9] = 1;
mat.m[15] = 1;
mat.m[3]=-10;
mat.m[11]=10;
px_rigidbody_params param = {};
param.gravity_scale = 1;
m_body=px_rigidbody(px, col, mat, param);
};
void CLight::Destroy()
{
}
void CLight::Think( float fDelta )
{
px_vec3 pos = px_getposition(px, m_body);
V_printf("%p %f %f %f\n",col, pos.m[0], pos.m[1], pos.m[2]);
};
DECLARE_ENTITY(light, CLight)