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

Comparing deliantra/Deliantra/Deliantra/Tilecache.pm (file contents):
Revision 1.10 by root, Thu Feb 23 15:47:51 2006 UTC vs.
Revision 1.11 by root, Thu Feb 23 16:12:58 2006 UTC

28 my %cache; 28 my %cache;
29 29
30 my $idx = 0; 30 my $idx = 0;
31 31
32 for my $name (sort keys %$tile) { 32 for my $name (sort keys %$tile) {
33 my $tile = $cache{$name} = {};
34
35 my ($fh, $filename) = File::Temp::tempfile; 33 my ($fh, $filename) = File::Temp::tempfile;
36 print $fh $tile->{$name}; 34 print $fh $tile->{$name};
37 close $fh; 35 close $fh;
38 my $pb = new_from_file Gtk2::Gdk::Pixbuf $filename; 36 my $pb = new_from_file Gtk2::Gdk::Pixbuf $filename;
39 unlink $filename; 37 unlink $filename;
40 38
41 $tile->{pb} = $pb; 39 my $tile = $cache{$name} = {
42 $tile->{idx} = $idx; 40 pb => $pb,
41 idx => $idx,
43 $tile->{w} = int $pb->get_width / TILESIZE; 42 w => int $pb->get_width / TILESIZE,
44 $tile->{h} = int $pb->get_height / TILESIZE; 43 h => int $pb->get_height / TILESIZE,
44 };
45
45 46
46 $idx += $tile->{w} * $tile->{h}; 47 $idx += $tile->{w} * $tile->{h};
47 } 48 }
48 49
49 my $pb = new Gtk2::Gdk::Pixbuf "rgb", 1, 8, 64 * TILESIZE, TILESIZE * int +($idx + 63) / 64; 50 my $pb = new Gtk2::Gdk::Pixbuf "rgb", 1, 8, 64 * TILESIZE, TILESIZE * int +($idx + 63) / 64;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines