--- deliantra/Deliantra-Client/DC/MapWidget.pm 2006/11/07 22:41:27 1.91 +++ deliantra/Deliantra-Client/DC/MapWidget.pm 2006/11/16 19:42:45 1.93 @@ -69,22 +69,12 @@ ::start_game (); } -sub check_lwp($) { - my ($res) = @_; - - $res->is_error - and die $res->status_line; - - $res -} - sub editor_invoke { my $editsup = $::CONN && $::CONN->{editor_support} or return; CFPlus::background { print "preparing editor startup...\n"; - CFPlus::set_proxy; my $server = $editsup->{gameserver} || "default"; $server =~ s/([^a-zA-Z0-9_\-])/sprintf "=%x=", ord $1/ge; @@ -95,19 +85,12 @@ print "map directory is $mapdir\n"; print "lib directory is $libdir\n"; - require LWP::UserAgent; - - my $ua = LWP::UserAgent->new ( - agent => "cfplus $CFPlus::VERSION", - keep_alive => 1, - env_proxy => 1, - timeout => 30, - ); + my $ua = CFPlus::lwp_useragent; for my $file (qw(archetypes crossfire.0)) { my $url = "$editsup->{lib_root}$file"; print "mirroring $url...\n"; - check_lwp $ua->mirror ($url, "$libdir/$file"); + CFPlus::lwp_check $ua->mirror ($url, "$libdir/$file"); printf "%s size %d octets\n", $file, -s "$libdir/$file"; } @@ -122,14 +105,14 @@ # try to get the most recent head revision, what a hack, # this should have been returned while downloading *sigh* - my $log = (check_lwp $ua->get ("$editsup->{cvs_root}/$mapname?view=log&logsort=rev"))->decoded_content; + my $log = (CFPlus::lwp_check $ua->get ("$editsup->{cvs_root}/$mapname?view=log&logsort=rev"))->decoded_content; if ($log =~ /\?rev=(\d+\.\d+)"/) { my $rev = $1; print "downloading revision $rev...\n"; - my $map = (check_lwp $ua->get ("$editsup->{cvs_root}/$mapname?rev=$rev"))->decoded_content; + my $map = (CFPlus::lwp_check $ua->get ("$editsup->{cvs_root}/$mapname?rev=$rev"))->decoded_content; my $meta = { %$editsup, @@ -448,8 +431,8 @@ sub set_magicmap { my ($self, $w, $h, $x, $y, $data) = @_; - $x -= $::MAP->ox + int 0.5 * $::MAP->w; - $y -= $::MAP->oy + int 0.5 * $::MAP->h; + $x -= $::MAP->ox + 1 + int 0.5 * $::MAP->w; + $y -= $::MAP->oy + 1 + int 0.5 * $::MAP->h; $self->{magicmap} = [$x, $y, $w, $h, $data]; @@ -532,8 +515,8 @@ if ($self->{magicmap}) { my ($x, $y, $w, $h, $data) = @{ $self->{magicmap} }; - $x += $::MAP->ox - $sx + int 0.5 * ($::MAP->w - $sw + 1); - $y += $::MAP->oy - $sy + int 0.5 * ($::MAP->h - $sh + 1); + $x += $::MAP->ox + $self->{dx}; + $y += $::MAP->oy + $self->{dy}; glTranslate - $x - 1, - $y - 1; glBindTexture GL_TEXTURE_2D, $magicmap_tex->{name};