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.8 by root, Sat Apr 22 21:47:45 2006 UTC vs.
Revision 1.10 by root, Mon Apr 24 03:19:42 2006 UTC

80 80
81 if (delete $self->{need_update}) { 81 if (delete $self->{need_update}) {
82 glNewList $self->{list}; 82 glNewList $self->{list};
83 83
84 if ($::MAP) { 84 if ($::MAP) {
85 my $sw = int $::WIDTH / 32; 85 my $sw = int $::WIDTH / (32 * $::CFG->{map_scale});
86 my $sh = int $::HEIGHT / 32; 86 my $sh = int $::HEIGHT / (32 * $::CFG->{map_scale});
87 87
88 glScale $::CFG->{map_scale}, $::CFG->{map_scale};
89
88 my $sx = $::CFG->{map_shift_x}; my $sx0 = $sx & 31; $sx = ($sx - $sx0) / 32; 90 my $sx = $::CFG->{map_shift_x} / $::CFG->{map_scale}; my $sx0 = $sx & 31; $sx = ($sx - $sx0) / 32;
89 my $sy = $::CFG->{map_shift_y}; my $sy0 = $sy & 31; $sy = ($sy - $sy0) / 32; 91 my $sy = $::CFG->{map_shift_y} / $::CFG->{map_scale}; my $sy0 = $sy & 31; $sy = ($sy - $sy0) / 32;
90 92
91 glTranslate $sx0 - 32, $sy0 - 32, 0; 93 glTranslate $sx0 - 32, $sy0 - 32, 0;
92 94
93 my ($w, $h, $data) = $::MAP->draw ($sx, $sy, 0, 0, $sw + 1, $sh + 1); 95 my ($w, $h, $data) = $::MAP->draw ($sx, $sy, 0, 0, $sw + 1, $sh + 1);
94 96
349 $self->emit (execute => $self->{select}); 351 $self->emit (execute => $self->{select});
350 $self->emit ("close"); 352 $self->emit ("close");
351 } 353 }
352 } elsif ($ev->{sym} == 27) { 354 } elsif ($ev->{sym} == 27) {
353 $self->emit ("close"); 355 $self->emit ("close");
354 } elsif ($ev->{unicode}) { 356 } elsif ((chr $ev->{unicode}) =~ /^[[:alpha:]]$/) {
355 $self->{search} .= chr $ev->{unicode}; 357 $self->{search} .= chr $ev->{unicode};
356 $self->update_labels; 358 $self->update_labels;
357 } 359 }
360
361 length $self->{search}
362 or $self->emit ("close");
358} 363}
359 364
3601 3651

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines