+ elsif(/^-S(.*)=(.*)$/)
+ {
+ my $from = $1;
+ my $to = $2;
+ our @replaced = ();
+ my @l = DecodeLump $bsp[$lumpid{textures}]->[2], qw/name=a64 flags=V contents=V/;
+ for(0..@l-1)
+ {
+ next if $replaced[$_];
+ if($l[$_]->{name} eq $from)
+ {
+ $replaced[$_] = 1;
+ $l[$_]->{name} = $to;
+ }
+ }
+ $bsp[$lumpid{textures}]->[2] = EncodeLump \@l, qw/name=a64 flags=V contents=V/;
+ }
+ elsif(/^-S$/)
+ {
+ for(DecodeLump $bsp[$lumpid{textures}]->[2], qw/name=a64 flags=V contents=V/)
+ {
+ print "$_->{name}\n";
+ }
+ }