From 385b092e89c160e2b22c6ed502988c983940d05c Mon Sep 17 00:00:00 2001 From: Stefan O'Rear Date: Mon, 2 Nov 2009 19:01:25 -0800 Subject: Use G in the overmap to directly change levels --- crawl-ref/source/travel.cc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'crawl-ref/source/travel.cc') 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); @@ -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; -- cgit v1.2.3-54-g00ecf