--- deliantra/Deliantra-Client/DC/MapWidget.pm 2006/04/19 23:37:49 1.4 +++ deliantra/Deliantra-Client/DC/MapWidget.pm 2006/04/20 21:28:50 1.7 @@ -39,14 +39,14 @@ $self->focus_in; - if ($ev->button == 2) { - my ($ox, $oy) = ($ev->button_x, $ev->button_y); + if ($ev->{button} == 2) { + my ($ox, $oy) = ($ev->{x}, $ev->{y}); my ($bw, $bh) = ($::CFG->{map_shift_x}, $::CFG->{map_shift_y}); $self->{motion} = sub { my ($ev, $x, $y) = @_; - ($x, $y) = ($ev->motion_x, $ev->motion_y); + ($x, $y) = ($ev->{x}, $ev->{y}); $::CFG->{map_shift_x} = $bw + $x - $ox; $::CFG->{map_shift_y} = $bh + $y - $oy; @@ -108,9 +108,9 @@ 3, 3, GL_ALPHA, GL_FLOAT, pack "f*", - 0.1, 0.1, 0.1, - 0.1, 0.2, 0.1, - 0.1, 0.1, 0.1, + 0.05, 0.13, 0.05, + 0.13, 0.30, 0.13, + 0.05, 0.13, 0.05, ); glEnable GL_CONVOLUTION_2D; } @@ -129,7 +129,7 @@ glEnable GL_TEXTURE_2D; glTexEnv GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE; - glColor +($::CFG->{fow_intensity}) x 3, 1; + glColor +($::CFG->{fow_intensity}) x 3, 0.8; $self->{fow_texture}->draw_quad (0, 0, $w * 32, $h * 32); glDisable GL_TEXTURE_2D; @@ -139,8 +139,12 @@ # HACK BEGIN { glTranslate -($sx0 - 32), -($sy0 - 32), 0;#remove + + glTranslate 0, 30; my ($w, $h) = (250, 250); + my ($ox, $oy) = ($::MAP->ox, $::MAP->oy); + glEnable GL_BLEND; glBlendFunc GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA; glEnable GL_TEXTURE_2D; @@ -150,12 +154,23 @@ new CFClient::Texture w => $w, h => $h, - data => $::MAP->mapmap ($w, $h), + data => $::MAP->mapmap (- $w * 0.5, - $h * 0.5, $w, $h), type => $CFClient::GL_VERSION >= 1.2 ? GL_UNSIGNED_INT_8_8_8_8_REV : GL_UNSIGNED_BYTE; - $self->{mapmap_texture}->draw_quad (100, 100); + $self->{mapmap_texture}->draw_quad (0, 0); glDisable GL_TEXTURE_2D; + + glTranslate 0.375, 0.375; + + glColor 1, 1, 0, 1; + glBegin GL_LINE_LOOP; + glVertex $w * 0.5 - $sx , $h * 0.5 - $sy ; + glVertex $w * 0.5 - $sx , $h * 0.5 - $sy + $sh; + glVertex $w * 0.5 - $sx + $sw, $h * 0.5 - $sy + $sh; + glVertex $w * 0.5 - $sx + $sw, $h * 0.5 - $sy ; + glEnd; + glDisable GL_BLEND; } # HACK END @@ -201,8 +216,8 @@ sub key_down { my ($self, $ev) = @_; - my $mod = $ev->key_mod; - my $sym = $ev->key_sym; + my $mod = $ev->{mod}; + my $sym = $ev->{sym}; if ($sym == CFClient::SDLK_KP5) { $::CONN->user_send ("stay fire"); @@ -228,8 +243,8 @@ sub key_up { my ($self, $ev) = @_; - my $mod = $ev->key_mod; - my $sym = $ev->key_sym; + my $mod = $ev->{mod}; + my $sym = $ev->{sym}; if (!($mod & CFClient::KMOD_SHIFT) && delete $self->{shft}) { $::CONN->user_send ("fire_stop");