1 package Data::StarCraft::Tileset;
8 my ($class, $filename) = @_;
9 my $self = bless {}, $class;
10 open my $groupfile, '<', "$filename.cv5" or return;
11 $self->readgroups($groupfile);
13 # vr4 = minitile sprites
20 my ($fh, $size, $seek) = @_;
21 seek $fh, $seek, 0 if $seek;
22 read($fh, my $in, $size) eq $size or return undef;
31 while (defined (my $line = $self->_read($fh, 52))) {
32 my @data = unpack "vCC v24", $line;
34 build => $data[1] & 0xF0,
35 height => $data[2] & 0xF,
38 $self->{group}->[$id] = \%row;
39 push @tilemap, $_ for @data[11..26];
42 $self->{tile} = \@tilemap;
44 # index (ground_height unknown4 buildable unknown3) u6 u7 u8 u9 u10 u11 u12 u13
45 # 1 (ground_height unknown4 buildable unknown3) 35 0 doodad_group 0 58 6 6 0