--- deliantra/server/ext/item-worldmap.ext 2007/07/24 00:26:42 1.11 +++ deliantra/server/ext/item-worldmap.ext 2008/09/19 01:39:45 1.19 @@ -28,7 +28,7 @@ ); my $marker = $ws->new (Face => - face => $ws->{ns}->find_face ("res/map-arrow.png"), + face => $ws->{ns}->need_face ("res/map-arrow"), ); my $children = [$label, $marker]; @@ -70,7 +70,6 @@ has_close_button => 1, on_delete => sub { shift->hide }, on_visibility_change => sub { - warn "VCHANGE <@_>\n";#d# $_[0]{visibility} = $_[1]; update_worldmap $_[0]{ws} if $_[1]; }, @@ -80,7 +79,9 @@ $sw->add (my $canvas = $ws->{canvas} = $ws->new (Canvas => expand => 1)); $ws->{mapface} = $ws->new (Face => - face => $ws->{ns}->find_face ("res/worldmap.jpg"), + size_w => undef, + size_h => undef, + face => $ws->{ns}->need_face ("res/worldmap"), ); $ws->{canvas}->add ($ws->{mapface}); @@ -98,7 +99,7 @@ my $ws = $ns->{ws_worldmap} ||= create_widgets $ns; $ws->{toplevel}->toggle_visibility; } else { - $ns->send_msg ("log", "Your client doesn't support the (required) widget extension. Try CFPlus at http://crossfire.schmorp.de/.", cf::NDI_RED); + $ns->send_msg ("log", "Your client doesn't support the (required) widget extension. Try the deliantra client at http://www.deliantra.net/.", cf::NDI_RED); } cf::override 1; @@ -106,11 +107,10 @@ ; cf::async_ext { - my $schedule_interval = Coro::Event->timer (after => 1); + $Coro::current->{desc} = "worldmap updater"; while () { - $schedule_interval->interval ($WORLDMAP_UPDATE_INTERVAL); - $schedule_interval->next; + Coro::EV::timer_once $WORLDMAP_UPDATE_INTERVAL; cf::get_slot 0.01, -50, "worldmap update";