--- deliantra/Deliantra-Client/DC/MapWidget.pm 2008/07/19 20:40:53 1.134 +++ deliantra/Deliantra-Client/DC/MapWidget.pm 2008/07/20 02:55:36 1.136 @@ -433,17 +433,15 @@ #warn "jump ", (max abs $self->{sdx}, abs $self->{sdy}), " ", $spd * $mintime * 1.0;#d# $self->{sdx} = $self->{sdy} = 0; } else { - my $upd = 0; - $spd *= $self->{tilesize} * $diff * 1.0001; # 1.0001 so that we don't accumulate rounding errors the wrong direction my $dx = $self->{sdx} < 0 ? -$spd : $spd; my $dy = $self->{sdy} < 0 ? -$spd : $spd; - if ($self->{sdx} * ($self->{sdx} - $dx) <= 0) { $self->{sdx} = 0 } else { $self->{sdx} -= $dx; $upd = 1 } - if ($self->{sdy} * ($self->{sdy} - $dy) <= 0) { $self->{sdy} = 0 } else { $self->{sdy} -= $dy; $upd = 1 } + if ($self->{sdx} * ($self->{sdx} - $dx) <= 0) { $self->{sdx} = 0 } else { $self->{sdx} -= $dx } + if ($self->{sdy} * ($self->{sdy} - $dy) <= 0) { $self->{sdy} = 0 } else { $self->{sdy} -= $dy } - $self->update if $upd; + $self->update; } } } else { @@ -502,6 +500,7 @@ $::CONN->{player}{tag}, -$self->{sdx}, -$self->{sdy}); + glTranslate -$self->{sdx}, -$self->{sdy}; glScale $self->{tilesize}, $self->{tilesize}; if (my $tex = $self->{fow_texture}) {