scale => [], # can't have defaults atm
order => [split /\s*,\s*/, $ORDER],
maps => [],
- scale => 1,
+ scalefactor => 1,
bsp_timeout => 0,
vis_timeout => 0,
light_timeout => 0,
}
elsif($_ eq '-scale')
{
- $options->{scale} = (shift @ARGV) || 1;
+ $options->{scalefactor} = @ARGV ? shift(@ARGV) : 1;
$enterflags = 'scale';
}
elsif($_ eq '-novis')
}
elsif($_ eq '-scale_timeout')
{
- $options->{minimap_timeout} = shift @ARGV;
+ $options->{scale_timeout} = shift @ARGV;
}
elsif($_ eq '-order')
{
$mapdir = "/" if $mapdir eq "";
symlink "$mapdir", "$linkdir/data";
-my ($prescale, $postscale) = ($options->{scale} =~ /^([0-9.]+)(?::([0-9.]+))?$/);
+my ($prescale, $postscale) = ($options->{scalefactor} =~ /^([0-9.]+)(?::([0-9.]+))?$/);
+$prescale = 1 if not defined $prescale;
$postscale = 1 if not defined $postscale;
for my $m(@{$options->{maps}})
{
$m =~ s/\.(?:map|bsp)$//;
+
if($prescale != 1)
{
- open my $checkfh, "<", "$m.map"
- or die "open $m.map: $!";
- my $keeplights = 0;
- while(<$checkfh>)
- {
- /^\s*"_keeplights"\s+"1"\s*$/
- or next;
- $keeplights = 1;
- }
- close $checkfh;
- die "$m does not define _keeplights to 1"
- unless $keeplights;
+ unshift @{$options->{bsp}}, "-keeplights";
}
my %shaders = map { m!/([^/.]*)\.shader(?:$)! ? ($1 => 1) : () } glob "../scripts/*.shader";