ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/MapWidget.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/MapWidget.pm (file contents):
Revision 1.111 by root, Thu Jul 19 14:54:50 2007 UTC vs.
Revision 1.112 by root, Fri Jul 20 18:42:45 2007 UTC

301 $self->{need_update} = 1; 301 $self->{need_update} = 1;
302 $self->SUPER::update; 302 $self->SUPER::update;
303} 303}
304 304
305my %DIR = ( 305my %DIR = (
306 CFPlus::SDLK_KP5, [0, "stay fire"], 306 ( "," . CFPlus::SDLK_KP5 ), [0, "stay fire"],
307 CFPlus::SDLK_KP8, [1, "north"], 307 ( "," . CFPlus::SDLK_KP8 ), [1, "north"],
308 CFPlus::SDLK_KP9, [2, "northeast"], 308 ( "," . CFPlus::SDLK_KP9 ), [2, "northeast"],
309 CFPlus::SDLK_KP6, [3, "east"], 309 ( "," . CFPlus::SDLK_KP6 ), [3, "east"],
310 CFPlus::SDLK_KP3, [4, "southeast"], 310 ( "," . CFPlus::SDLK_KP3 ), [4, "southeast"],
311 CFPlus::SDLK_KP2, [5, "south"], 311 ( "," . CFPlus::SDLK_KP2 ), [5, "south"],
312 CFPlus::SDLK_KP1, [6, "southwest"], 312 ( "," . CFPlus::SDLK_KP1 ), [6, "southwest"],
313 CFPlus::SDLK_KP4, [7, "west"], 313 ( "," . CFPlus::SDLK_KP4 ), [7, "west"],
314 CFPlus::SDLK_KP7, [8, "northwest"], 314 ( "," . CFPlus::SDLK_KP7 ), [8, "northwest"],
315 315
316 CFPlus::SDLK_UP, [1, "north"], 316 ( "," . CFPlus::SDLK_UP ), [1, "north"],
317 ("1," . CFPlus::SDLK_UP ), [2, "northeast"],
317 CFPlus::SDLK_RIGHT, [3, "east"], 318 ( "," . CFPlus::SDLK_RIGHT), [3, "east"],
319 ("1," . CFPlus::SDLK_RIGHT), [4, "southeast"],
318 CFPlus::SDLK_DOWN, [5, "south"], 320 ( "," . CFPlus::SDLK_DOWN ), [5, "south"],
321 ("1," . CFPlus::SDLK_DOWN ), [6, "southwest"],
319 CFPlus::SDLK_LEFT, [7, "west"], 322 ( "," . CFPlus::SDLK_LEFT ), [7, "west"],
323 ("1," . CFPlus::SDLK_LEFT ), [8, "northwest"],
320); 324);
321 325
322sub invoke_key_down { 326sub invoke_key_down {
323 my ($self, $ev) = @_; 327 my ($self, $ev) = @_;
324 328
367 $self->{completer}->set_prefix ("$::CFG->{say_command} "); 371 $self->{completer}->set_prefix ("$::CFG->{say_command} ");
368 $self->{completer}->show; 372 $self->{completer}->show;
369 } elsif ($uni == ord "'") { 373 } elsif ($uni == ord "'") {
370 $self->{completer}->set_prefix (""); 374 $self->{completer}->set_prefix ("");
371 $self->{completer}->show; 375 $self->{completer}->show;
372 } elsif (exists $DIR{$sym}) { 376 } elsif (my $dir = $DIR{(!!($mod & CFPlus::KMOD_ALT)) . ",$sym"}) {
373 if ($mod & CFPlus::KMOD_SHIFT) { 377 if ($mod & CFPlus::KMOD_SHIFT) {
374 $self->{shft}++; 378 $self->{shft}++;
375 if ($DIR{$sym}[0] != $self->{fire_dir}) { 379 if ($dir->[0] != $self->{fire_dir}) {
376 $::CONN->user_send ("fire $DIR{$sym}[0]"); 380 $::CONN->user_send ("fire $dir->[0]");
377 } 381 }
378 $self->{fire_dir} = $DIR{$sym}[0]; 382 $self->{fire_dir} = $DIR{$sym}[0];
379 } elsif ($mod & CFPlus::KMOD_CTRL) { 383 } elsif ($mod & CFPlus::KMOD_CTRL) {
380 $self->{ctrl}++; 384 $self->{ctrl}++;
381 $::CONN->user_send ("run $DIR{$sym}[0]"); 385 $::CONN->user_send ("run $dir->[0]");
382 } else { 386 } else {
383 $::CONN->user_send ("$DIR{$sym}[1]"); 387 $::CONN->user_send ("$dir->[1]");
384 } 388 }
385 } elsif ((ord 'a') <= $uni && $uni <= (ord 'z')) { 389 } elsif ((ord 'a') <= $uni && $uni <= (ord 'z')) {
386 $self->{completer}->inject_key_down ($ev); 390 $self->{completer}->inject_key_down ($ev);
387 $self->{completer}->show; 391 $self->{completer}->show;
388 } else { 392 } else {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines