summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/travel.cc
diff options
context:
space:
mode:
authorStefan O'Rear <stefanor@cox.net>2009-11-02 19:01:25 -0800
committerStefan O'Rear <stefanor@cox.net>2009-11-02 19:01:25 -0800
commit385b092e89c160e2b22c6ed502988c983940d05c (patch)
tree520af9d7fb4ef5e2a900b52cb3b2b3d352a7d2d6 /crawl-ref/source/travel.cc
parent3f3c0139c0eeb94c90b2afad0ba6af493c0f2b08 (diff)
downloadcrawl-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.cc22
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;