]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/auto-super.pl
Merge remote-tracking branch 'origin/samual/serverlist'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / auto-super.pl
index 1685f5357c768c478014a52073e8f102cd8ab9cb..00926d06171631ffa09795dabca5b070658ce7f0 100644 (file)
@@ -4,6 +4,7 @@ my %baseclass = ();
 my %methods = ();
 my %attrs = ();
 my %methodnames = ();
+my %old2new = ();
 
 print STDERR "Scanning...\n";
 for my $f(@ARGV)
@@ -19,7 +20,8 @@ for my $f(@ARGV)
                if(/^\s*METHOD\(([^),]*),\s*([^),]*)/)
                {
                        $methods{$1}{$2} = $1;
-                       $methodnames{"$2$1"} = $f;
+                       $methodnames{"$1"."_"."$2"} = $f;
+                       $old2new{"$2$1"} = "$1"."_"."$2";
                }
                if(/^\s*ATTRIB(?:ARRAY)?\(([^),]*),\s*([^),]*)/)
                {
@@ -67,7 +69,12 @@ for my $f(@ARGV)
        my $base = $classes{$class};
        next if not defined $base;
 
-       my @methods_super = map { [ $_ . $methods{$base}{$_}, "SUPER($class).$_" ]; } keys %{$methods{$base}};
+       for(keys %old2new)
+       {
+               $s =~ s/\b$_\b/$old2new{$_}/g;
+       }
+
+       my @methods_super = map { [ $methods{$base}{$_} . "_" . $_, "SUPER($class).$_" ]; } keys %{$methods{$base}};
        for(@methods_super)
        {
                my ($search, $replace) = @$_;