X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fcamera.cpp;h=7cea284bc25538a76a9e93feb644e962ed954c10;hb=ae7bd4f460fdd93934fc0abc9589758a49309bda;hp=9c26e863cd07b54fa660011a52814c9f0d730f62;hpb=798f3091014038f1202da7a6687114dd0003a5ae;p=supertux.git diff --git a/src/object/camera.cpp b/src/object/camera.cpp index 9c26e863c..7cea284bc 100644 --- a/src/object/camera.cpp +++ b/src/object/camera.cpp @@ -77,21 +77,21 @@ public: float dynamic_speed_sm; CameraConfig() { - xmode = 1; - ymode = 1; + xmode = 4; + ymode = 3; target_x = .5f; - target_y = 2.f/3.f; - max_speed_y = 140; - max_speed_x = 130; - clamp_x = 1.f/6.f; - clamp_y = 1.f/6.f; + target_y = .5f; + max_speed_y = 100; + max_speed_x = 100; + clamp_x = 0.1666f; + clamp_y = 0.3f; kirby_rectsize_x = 0.2f; kirby_rectsize_y = 0.34f; - edge_x = 1.f/3.f; - sensitive_x = 1.f/4.f; + edge_x = 0.4f; + sensitive_x = -1; dynamic_max_speed_x = 1.0; dirchange_time = 0.2f; - dynamic_speed_sm = 1.0f; + dynamic_speed_sm = 0.8f; } void load(const std::string& filename) @@ -262,7 +262,12 @@ Camera::update(float elapsed_time) void Camera::reload_config() { - config->load("camera.cfg"); + try { + config->load("camera.cfg"); + } catch(std::exception &e) { + log_debug << "Couldn't load camera.cfg, using defaults (" + << e.what() << ")" << std::endl; + } } float clamp(float val, float min, float max) @@ -305,7 +310,8 @@ Camera::update_scroll_normal(float elapsed_time) { const CameraConfig& config = *(this->config); Player* player = sector->player; - const Vector& player_pos = player->get_bbox().get_middle(); + const Vector& player_pos = Vector(player->get_bbox().get_middle().x, + player->get_bbox().get_bottom()); static Vector last_player_pos = player_pos; Vector player_delta = player_pos - last_player_pos; last_player_pos = player_pos; @@ -404,9 +410,9 @@ Camera::update_scroll_normal(float elapsed_time) float peek_to = 0; float translation_compensation = player_pos.y - translation.y; - if(player->peeking_direction() == ::UP) { + if(player->peeking_direction_y() == ::UP) { peek_to = bottom_edge - translation_compensation; - } else if(player->peeking_direction() == ::DOWN) { + } else if(player->peeking_direction_y() == ::DOWN) { peek_to = top_edge - translation_compensation; } @@ -571,9 +577,9 @@ Camera::update_scroll_normal(float elapsed_time) float peek_to = 0; float translation_compensation = player_pos.x - translation.x; - if(player->peeking_direction() == ::LEFT) { + if(player->peeking_direction_x() == ::LEFT) { peek_to = right_edge - translation_compensation; - } else if(player->peeking_direction() == ::RIGHT) { + } else if(player->peeking_direction_x() == ::RIGHT) { peek_to = left_edge - translation_compensation; }