… | |
… | |
514 | glTranslate $sx0, $sy0; |
514 | glTranslate $sx0, $sy0; |
515 | glScale $::CFG->{map_scale}, $::CFG->{map_scale}; |
515 | glScale $::CFG->{map_scale}, $::CFG->{map_scale}; |
516 | glTranslate DC::ceil $self->{sdx}, DC::ceil $self->{sdy}; |
516 | glTranslate DC::ceil $self->{sdx}, DC::ceil $self->{sdy}; |
517 | |
517 | |
518 | $::MAP->draw ($dx, $dy, $sw, $sh, |
518 | $::MAP->draw ($dx, $dy, $sw, $sh, |
519 | $self->{tilesize}, |
519 | ($self->{tilesize}) x 2, |
520 | $::CONN->{player}{tag}, |
520 | $::CONN->{player}{tag}, |
521 | -$self->{sdx}, -$self->{sdy}); |
521 | -$self->{sdx}, -$self->{sdy}); |
522 | |
522 | |
523 | glScale $self->{tilesize}, $self->{tilesize}; |
523 | glScale $self->{tilesize}, $self->{tilesize}; |
524 | |
524 | |
… | |
… | |
611 | |
611 | |
612 | use common::sense; |
612 | use common::sense; |
613 | |
613 | |
614 | our @ISA = DC::UI::Base::; |
614 | our @ISA = DC::UI::Base::; |
615 | |
615 | |
616 | use Time::HiRes qw(time); |
|
|
617 | use DC::OpenGL; |
616 | use DC::OpenGL; |
618 | |
617 | |
619 | sub size_request { |
618 | sub size_request { |
620 | ($::HEIGHT * 0.2, $::HEIGHT * 0.2) |
619 | ($::HEIGHT * 0.2, $::HEIGHT * 0.2) |
621 | } |
620 | } |
622 | |
621 | |
623 | sub refresh_hook { |
622 | sub refresh_hook { |
624 | my ($self) = @_; |
623 | my ($self) = @_; |
625 | |
624 | |
626 | if ($::MAP && $self->{texture_atime} < time) { |
625 | if ($::MAP && $self->{texture_atime} < EV::now) { |
627 | my ($w, $h) = @$self{qw(w h)}; |
626 | my ($w, $h) = @$self{qw(w h)}; |
628 | |
627 | |
629 | return unless $w && $h; |
628 | return unless $w && $h; |
630 | |
629 | |
631 | my $sw = int $::WIDTH / ($::MAPWIDGET->{tilesize} * $::CFG->{map_scale}) + 0.99; |
630 | my $sw = int $::WIDTH / ($::MAPWIDGET->{tilesize} * $::CFG->{map_scale}) + 0.99; |
… | |
… | |
646 | $self->{sh} = $sh; |
645 | $self->{sh} = $sh; |
647 | |
646 | |
648 | $self->{x0} = $x0; |
647 | $self->{x0} = $x0; |
649 | $self->{y0} = $y0; |
648 | $self->{y0} = $y0; |
650 | |
649 | |
651 | $self->{texture_atime} = time + 1/3; |
650 | $self->{texture_atime} = EV::now + 1/2; |
652 | |
651 | |
653 | $self->{texture} = |
652 | $self->{texture} = |
654 | new DC::Texture |
653 | new DC::Texture |
655 | w => $w, |
654 | w => $w, |
656 | h => $h, |
655 | h => $h, |