last_pitch(0),
last_yaw(0),
last_keyPressed(0),
+ hotbar_image(""),
+ hotbar_selected_image(""),
m_sneak_node(32767,32767,32767),
m_sneak_node_exists(false),
m_old_node_below(32767,32767,32767),
if(isAttached)
{
setPosition(overridePosition);
+ m_sneak_node_exists = false;
return;
}
{
position += m_speed * dtime;
setPosition(position);
+ m_sneak_node_exists = false;
return;
}
// This should always apply, otherwise there are glitches
assert(d > pos_max_d);
- float player_radius = BS*0.30;
- float player_height = BS*1.55;
-
// Maximum distance over border for sneaking
f32 sneak_max = BS*0.4;
}
}
- /*
- Calculate player collision box (new and old)
- */
- core::aabbox3d<f32> playerbox(
- -player_radius,
- 0.0,
- -player_radius,
- player_radius,
- player_height,
- player_radius
- );
-
float player_stepheight = touching_ground ? (BS*0.6) : (BS*0.2);
v3f accel_f = v3f(0,0,0);
collisionMoveResult result = collisionMoveSimple(env, m_gamedef,
- pos_max_d, playerbox, player_stepheight, dtime,
+ pos_max_d, m_collisionbox, player_stepheight, dtime,
position, m_speed, accel_f);
/*
if(!touching_ground_was && touching_ground){
MtEvent *e = new SimpleTriggerEvent("PlayerRegainGround");
m_gamedef->event()->put(e);
+
+ // Set camera impact value to be used for view bobbing
+ camera_impact = getSpeed().Y * -1;
}
{