diff --git a/doc/fixes34.4 b/doc/fixes34.4 index b259db9e3..ae92a2a22 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -450,6 +450,8 @@ X11: fix typo in mouse click sanity check; result might have pointed to unix/Qt: saved games were not found if nethack was built with prefixes in use FreeBSD: compilation problems on FreeBSD 6.1 linux: compile support for TIOCGWINSZ by default +#if CLIPPING: during teleport or hurtle, re-clip the map immediately instead + of waiting until hero's next move General New Features diff --git a/src/dothrow.c b/src/dothrow.c index 54bbeb6e8..cc94a5c2b 100644 --- a/src/dothrow.c +++ b/src/dothrow.c @@ -604,8 +604,7 @@ hurtle_step(arg, x, y) ox = u.ux; oy = u.uy; - u.ux = x; - u.uy = y; + u_on_newpos(x, y); /* set u., u.usteed->; cliparound(); */ newsym(ox, oy); /* update old position */ vision_recalc(1); /* update for new position */ flush_screen(1); diff --git a/src/teleport.c b/src/teleport.c index 67870a820..d32a3a7a4 100644 --- a/src/teleport.c +++ b/src/teleport.c @@ -303,8 +303,7 @@ boolean allow_drag; } /* must set u.ux, u.uy after drag_ball(), which may need to know the old position if allow_drag is true... */ - u.ux = nux; - u.uy = nuy; + u_on_newpos(nux, nuy); /* set u., usteed->; cliparound() */ fill_pit(u.ux0, u.uy0); if (ball_active) { if (!ball_still_in_range && !allow_drag) @@ -312,13 +311,6 @@ boolean allow_drag; } initrack(); /* teleports mess up tracking monsters without this */ update_player_regions(); -#ifdef STEED - /* Move your steed, too */ - if (u.usteed) { - u.usteed->mx = nux; - u.usteed->my = nuy; - } -#endif /* * Make sure the hero disappears from the old location. This will * not happen if she is teleported within sight of her previous