--- deliantra/Deliantra-Client/DC/MapWidget.pm 2006/12/09 22:28:11 1.97 +++ deliantra/Deliantra-Client/DC/MapWidget.pm 2007/04/01 15:08:14 1.102 @@ -12,6 +12,8 @@ our @ISA = CFPlus::UI::Base::; +sub ::T() { 64 } + my $magicmap_tex = new_from_file CFPlus::Texture CFPlus::find_rcfile "magicmap.png", mipmap => 1, wrap => 0, internalformat => GL_ALPHA; @@ -288,8 +290,8 @@ sub size_request { ( - 32 * CFPlus::ceil $::WIDTH / 32, - 32 * CFPlus::ceil $::HEIGHT / 32, + ::T * CFPlus::ceil $::WIDTH / ::T, + ::T * CFPlus::ceil $::HEIGHT / ::T, ) } @@ -325,8 +327,8 @@ $mod &= CFPlus::KMOD_CTRL | CFPlus::KMOD_ALT | CFPlus::KMOD_SHIFT; - if ($uni == ord "\t") { - $::PL_WINDOW->toggle_visibility; + if ($sym == 9) { + ($mod & CFPlus::KMOD_SHIFT ? $::CONSOLE->{window} : $::PL_WINDOW)->toggle_visibility; } elsif ($sym == CFPlus::SDLK_F1 && !$mod) { $::HELP_WINDOW->toggle_visibility; } elsif ($sym == CFPlus::SDLK_F2 && !$mod) { @@ -354,12 +356,14 @@ $::CONN->user_send ($self->{completer}{last_command}) if exists $self->{completer}{last_command}; } elsif (my @macros = CFPlus::Macro::match_event $ev) { - warn "<@macros>\n";#d# $::CONN->macro_send ($_) for @macros; } elsif (($sym == CFPlus::SDLK_KP_PLUS && !$mod) || $uni == ord "+") { $::CONN->user_send ("rotateshoottype +"); } elsif (($sym == CFPlus::SDLK_KP_MINUS && !$mod) || $uni == ord "-") { $::CONN->user_send ("rotateshoottype -"); + } elsif ($uni == ord '!') { + $self->{completer}->set_prefix ("shout "); + $self->{completer}->show; } elsif ($uni == ord '"') { $self->{completer}->set_prefix ("$::CFG->{say_command} "); $self->{completer}->show; @@ -445,7 +449,7 @@ unless $focused || !$::FAST; if (delete $self->{need_update}) { - my $tilesize = $self->{tilesize} = int 32 * $::CFG->{map_scale}; + my $tilesize = $self->{tilesize} = int ::T * $::CFG->{map_scale}; my $sw = $self->{sw} = 1 + CFPlus::ceil $self->{w} / $tilesize; my $sh = $self->{sh} = 1 + CFPlus::ceil $self->{h} / $tilesize; @@ -492,9 +496,9 @@ glTranslate $sx0, $sy0; glScale $::CFG->{map_scale}, $::CFG->{map_scale}; - $::MAP->draw ($dx, $dy, $sw, $sh); + $::MAP->draw ($dx, $dy, $sw, $sh, ::T); - glScale 32, 32; + glScale ::T, ::T; if (my $tex = $self->{fow_texture}) { glEnable GL_TEXTURE_2D; @@ -579,11 +583,11 @@ my ($w, $h) = @$self{qw(w h)}; - my $sw = int $::WIDTH / (32 * $::CFG->{map_scale}) + 0.99; - my $sh = int $::HEIGHT / (32 * $::CFG->{map_scale}) + 0.99; + my $sw = int $::WIDTH / (::T * $::CFG->{map_scale}) + 0.99; + my $sh = int $::HEIGHT / (::T * $::CFG->{map_scale}) + 0.99; - my $sx = int $::CFG->{map_shift_x} / 32; - my $sy = int $::CFG->{map_shift_y} / 32; + my $sx = int $::CFG->{map_shift_x} / ::T; + my $sy = int $::CFG->{map_shift_y} / ::T; my $ox = 0.5 * ($w - $sw); my $oy = 0.5 * ($h - $sh);