use format59; # and then do some alterations to its contents

$genie::versionNumber = "VER 5.7";

# Remove some bits
niceSplice(\@genie::main_header, "header_numcivs", ());
niceSplice(\@genie::main_header, "header_unknown0$_", ()) for 1..4;

# Change some names' lengths
niceSplice(\@genie::sound_item_data, "sound_%%_item_**_name",
  [ 'sound_0%%\b', 'sound_%%_item_**_name' => 'Z13' ]
);
niceSplice(\@genie::graphic_data, "graphic_%%_name1",
  [ 'graphic_00%%\b\b', 'graphic_%%_name1' => 'Z21' ],
);
niceSplice(\@genie::graphic_data, "graphic_%%_name2",
  [ 'graphic_00%%\b\b', 'graphic_%%_name2' => 'Z13' ],
);

niceSplice(\@genie::terrain_data, "terrain_%%_name1",
  [ 'terrain_data', 'terrain_%%_name1' => 'Z13' ],
);
niceSplice(\@genie::terrain_data, "terrain_%%_name2",
  [ 'terrain_data', 'terrain_%%_name2' => 'Z13' ],
);
niceSplice(\@genie::terrain_data, "terrain_%%_unknown03",
  [ 'terrain_data', 'terrain_%%_unknown03' => 's191' ],
);

@genie::bigunknown = (
  [ 'unknown', 'unknown' => 'x84458' ], # goes up to unit count
);

niceSplice(\@genie::civ_data, "civ_%%_unknown03");
niceSplice(\@genie::civ_data, "civ_%%_name2");

foreach my $s (qw(10 20 25 30 60 70 80)) {
  niceSplice($genie::unit_options[$s], "civ_%%_unit_**_name2_length");
  niceSplice($genie::unit_options[$s], "civ_%%_unit_**_name2");
  niceSplice($genie::unit_options[$s], "civ_%%_unit_**_unitline_id");
  niceSplice($genie::unit_options[$s], "civ_%%_unit_**_mintechlevel");
}


#niceSplice(\@genie::techage_head, "techage_unknown02",
#  [ 'techage', 'techage_unknown02' => 'c52' ],
#);
#niceSplice(\@genie::techage_head, "techage_unknown03",
#  [ 'techage', 'techage_unknown03' => 'l156' ],
#);

@genie::techage_head = (
  [ 'techage', 'techage_unknown01' => 's8' ],
  [ 'techage', 'techage_unknown02' => 'c52' ],
  [ 'techage', 'techage_unknown03' => 'l155' ],
);
@genie::techage_item = (
  [ 'techage_0%%\b', 'techage_%%_unknown01' => 'l' ],
  [ 'techage_0%%\b', 'techage_%%_unknown02' => 'c2' ],
  [ 'techage_0%%\b', 'techage_%%_unknown03' => 's' ],
  [ 'techage_0%%\b', 'techage_%%_unknown04' => 'l' ],
  [ 'techage_0%%\b', 'techage_%%_unknown05' => 'l4' ],
  [ 'techage_0%%\b', 'techage_%%_unknown06' => 'l6' ],
  [ 'techage_0%%\b', 'techage_%%_unknown07' => 'c2' ],
  [ 'techage_0%%\b', 'techage_%%_unknown08' => 's' ],
  [ 'techage_0%%\b', 'techage_%%_unknown09' => 'l' ],
  [ 'techage_0%%\b', 'techage_%%_unknown10' => 'c2' ],
  [ 'techage_0%%\b', 'techage_%%_unknown11' => 's' ],
  [ 'techage_0%%\b', 'techage_%%_unknown12' => 'l2' ],
);


$genie::version = 5.7;

sub niceSplice {
  my ($array, $replace, @new) = @_;
  for my $item (0..$#$array) {
    if ($array->[$item][1] eq $replace) {
      splice @$array, $item, 1, @new;
      return;
    }
  }
  die "Cannot find $replace to replace!";
}

1;
