diff options
author | Stefan O'Rear <stefanor@cox.net> | 2009-11-02 19:01:25 -0800 |
---|---|---|
committer | Stefan O'Rear <stefanor@cox.net> | 2009-11-02 19:01:25 -0800 |
commit | 385b092e89c160e2b22c6ed502988c983940d05c (patch) | |
tree | 520af9d7fb4ef5e2a900b52cb3b2b3d352a7d2d6 /crawl-ref/source/travel.cc | |
parent | 3f3c0139c0eeb94c90b2afad0ba6af493c0f2b08 (diff) | |
download | crawl-ref-385b092e89c160e2b22c6ed502988c983940d05c.tar.gz crawl-ref-385b092e89c160e2b22c6ed502988c983940d05c.zip |
Use G in the overmap to directly change levels
Diffstat (limited to 'crawl-ref/source/travel.cc')
-rw-r--r-- | crawl-ref/source/travel.cc | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/crawl-ref/source/travel.cc b/crawl-ref/source/travel.cc index a8bd3d5174..499f2561df 100644 --- a/crawl-ref/source/travel.cc +++ b/crawl-ref/source/travel.cc @@ -2254,7 +2254,8 @@ static travel_target _prompt_travel_depth(const level_id &id, } } -travel_target prompt_translevel_target(int prompt_flags) +travel_target prompt_translevel_target(int prompt_flags, + std::string& dest_name) { travel_target target; bool to_entrance = false; @@ -2272,7 +2273,7 @@ travel_target prompt_translevel_target(int prompt_flags) { target.p = _find_up_level(); if (target.p.id.depth > 0 && remember_targ) - trans_travel_dest = get_trans_travel_dest(target); + dest_name = get_trans_travel_dest(target); return (target); } @@ -2280,14 +2281,16 @@ travel_target prompt_translevel_target(int prompt_flags) { target.p = _find_down_level(); if (target.p.id.depth > 0 && remember_targ) - trans_travel_dest = get_trans_travel_dest(target); + dest_name = get_trans_travel_dest(target); return (target); } if (branch < 0) { - travel_cache.travel_to_waypoint(-branch - 1); - return target; + target = travel_cache.get_waypoint(-branch - 1); + if (target.p.id.depth > 0 && remember_targ) + dest_name = get_trans_travel_dest(target); + return (target); } target.p.id.branch = static_cast<branch_type>(branch); @@ -2302,7 +2305,7 @@ travel_target prompt_translevel_target(int prompt_flags) } if (target.p.id.depth > -1 && remember_targ) - trans_travel_dest = get_trans_travel_dest(target); + dest_name = get_trans_travel_dest(target); return target; } @@ -2355,11 +2358,8 @@ void start_translevel_travel(bool prompt_for_destination) if (prompt_for_destination) { - // prompt_translevel_target may actually initiate travel directly if - // the user chose a waypoint instead of a branch + depth. As far as - // we're concerned, if the target depth is unset, we need to take no - // further action. - travel_target target = prompt_translevel_target(); + travel_target target = prompt_translevel_target(TPF_DEFAULT_OPTIONS, + trans_travel_dest); if (target.p.id.depth <= 0) return; |