diff --git a/src/game.c b/src/game.c index 69ca31b1..35c720a6 100644 --- a/src/game.c +++ b/src/game.c @@ -188,7 +188,7 @@ INTERNAL void game_update(void) entity_enable_prop(e, ENTITY_PROP_PLAYER_CONTROLLED); e->player_max_speed = 5.f; - e->player_acceleration = 20.0f; + e->player_acceleration = 15.0f; player_ent = e; @@ -357,8 +357,9 @@ break_animation: struct v2 look_pos = L.tick.player_focus; struct v2 look_dir = v2_sub(ent->rel_trs.t, look_pos); look_dir = v2_norm(look_dir); - f32 r = math_atan2(look_dir.y, look_dir.x); - ent->rel_trs.r = -r; + if (!v2_eq(look_dir, V2(0, 0))) { + ent->rel_trs.r = -math_atan2(look_dir.y, look_dir.x); + } } /* ========================== * diff --git a/src/user.c b/src/user.c index 67b28e1d..c1c299c0 100644 --- a/src/user.c +++ b/src/user.c @@ -443,6 +443,8 @@ INTERNAL void user_update(void) /* Zoom camera/view */ f32 zoom_rate = 2; + f32 zoom_min = 1.f / 128.f; + f32 zoom_max = 1.f * 128.f; f32 new_zoom = L.world_view.zoom; for (u32 i = 0; i < zooms_abs; ++i) { if (dir > 0) { @@ -450,6 +452,7 @@ INTERNAL void user_update(void) } else { new_zoom *= 1.0f / zoom_rate; } + new_zoom = clamp_f32(new_zoom, zoom_min, zoom_max); } struct v2 old_mouse = view_mouse_pos(L.world_view);