parse-wormedit: declare hardcoded bytes in unpackf template
[wormy.git] / parse-wormedit
index 81c073418c9d1c11f86e956867ec1bba20e9ed9e..5761a30107a585d2af0f172d9e607c9a05b1fb26 100755 (executable)
@@ -283,9 +283,10 @@ sub read {
                                $_->[13] = $_->[15];  # ctf
                                $_->[15] = 'domination';
                        } for @{ $FORMAT[9] }; # no multifood
                                $_->[13] = $_->[15];  # ctf
                                $_->[15] = 'domination';
                        } for @{ $FORMAT[9] }; # no multifood
-                       push @LEVELFORM, "object$_" => ['C',
+                       push @LEVELFORM, "objects$_" => ['C',
+                               type => "=$_",
                                map {$_ => 'C'} qw(x1 y1 x2 y2)
                                map {$_ => 'C'} qw(x1 y1 x2 y2)
-                       ] for qw(lines boxes);
+                       ] for 2, 3;
                }
                default {
                        die "Unsupported level version $version\n";
                }
                default {
                        die "Unsupported level version $version\n";
@@ -354,8 +355,8 @@ sub read {
                        # add objects until terminator
                        $level->{objects} = [];
                if ($version <= 91) {
                        # add objects until terminator
                        $level->{objects} = [];
                if ($version <= 91) {
-                       push @{ $level->{objects} }, { %$_, type => 2 } for map { $level->{$_} ? @{ $level->{$_} } : () } qw(objectlines);
-                       push @{ $level->{objects} }, { %$_, type => 3 } for map { $level->{$_} ? @{ $level->{$_} } : () } qw(objectboxes);
+                       ref $_ eq 'ARRAY' and push @{ $level->{objects} }, @$_
+                               for map { delete $level->{"objects$_"} } 2, 3;
                        $size += 1 + 4 * scalar @{ $level->{objects} };
                }
                else {
                        $size += 1 + 4 * scalar @{ $level->{objects} };
                }
                else {