entity.get_rot, .set_rot

This commit is contained in:
MihailRis 2024-06-27 05:23:44 +03:00
parent 20ab48ecab
commit f70e923c7c
4 changed files with 20 additions and 3 deletions

View File

@ -1,3 +1,3 @@
{
"hitbox": [0.2, 0.2, 0.2]
"hitbox": [0.2, 0.15, 0.2]
}

View File

@ -8,5 +8,6 @@ function on_hud_open()
local eid = entity.spawn("base:drop")
local throw_force = vec3.mul(player.get_dir(pid), DROP_FORCE)
entity.set_vel(eid, vec3.add(throw_force, vec3.add(pvel, DROP_INIT_VEL)))
entity.set_rot(eid, mat4.rotate({0, 1, 0}, math.random() * 360))
end)
end

View File

@ -45,9 +45,25 @@ static int l_set_vel(lua::State* L) {
return 0;
}
static int l_get_rot(lua::State* L) {
if (auto entity = get_entity(L, 1)) {
return lua::pushmat4(L, entity->getTransform().rot);
}
return 0;
}
static int l_set_rot(lua::State* L) {
if (auto entity = get_entity(L, 1)) {
entity->getTransform().rot = lua::tomat4(L, 2);
}
return 0;
}
const luaL_Reg entitylib [] = {
{"spawn", lua::wrap<l_spawn>},
{"get_vel", lua::wrap<l_get_vel>},
{"set_vel", lua::wrap<l_set_vel>},
{"get_rot", lua::wrap<l_get_rot>},
{"set_rot", lua::wrap<l_set_rot>},
{NULL, NULL}
};

View File

@ -46,9 +46,9 @@ void Entities::updatePhysics(float delta){
1.0f,
true
);
hitbox.linear_damping = hitbox.grounded * 5;
hitbox.linear_damping = hitbox.grounded * 12;
transform.pos = hitbox.position;
transform.rot = glm::rotate(glm::mat4(transform.rot), delta, glm::vec3(0, 1, 0));
//transform.rot = glm::rotate(glm::mat4(transform.rot), delta, glm::vec3(0, 1, 0));
if (hitbox.grounded) {
//hitbox.velocity.y = 10;
}