1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-27 17:28:41 +00:00

Improved Player Physics

This commit is contained in:
MirceaKitsune 2013-02-08 22:54:01 +02:00 committed by darkrose
parent 86b906d015
commit df3c925b3c
10 changed files with 295 additions and 109 deletions

View file

@ -108,8 +108,8 @@ public:
m_speed = speed;
}
// Y direction is ignored
void accelerate(v3f target_speed, f32 max_increase);
void accelerateHorizontal(v3f target_speed, f32 max_increase);
void accelerateVertical(v3f target_speed, f32 max_increase);
v3f getPosition()
{
@ -196,17 +196,32 @@ public:
bool touching_ground;
// This oscillates so that the player jumps a bit above the surface
bool in_water;
bool in_liquid;
// This is more stable and defines the maximum speed of the player
bool in_water_stable;
bool in_liquid_stable;
// Gets the viscosity of water to calculate friction
u8 liquid_viscosity;
bool is_climbing;
bool swimming_up;
bool swimming_vertical;
bool camera_barely_in_ceiling;
u8 light;
Inventory inventory;
f32 movement_acceleration_default;
f32 movement_acceleration_air;
f32 movement_acceleration_fast;
f32 movement_speed_walk;
f32 movement_speed_crouch;
f32 movement_speed_fast;
f32 movement_speed_climb;
f32 movement_speed_jump;
f32 movement_liquid_fluidity;
f32 movement_liquid_fluidity_smooth;
f32 movement_liquid_sink;
f32 movement_gravity;
u16 hp;
float hurt_tilt_timer;