fixed bug with asking to 'discard changes and use level template' if there were no...
[rocksndiamonds.git] / build-scripts / create_element_defs.pl
index d935b3fed230b851a37aaa27a8d21bff7084a159..db4d42a9e806107b4e9a63d3832afae8b1727920 100755 (executable)
@@ -1,9 +1,14 @@
 #!/usr/bin/perl -w
 
 # =============================================================================
-# create_element_defs.pl
+# Rocks'n'Diamonds - McDuffin Strikes Back!
+# -----------------------------------------------------------------------------
+# (c) 1995-2014 by Artsoft Entertainment
+#                  Holger Schemel
+#                  info@artsoft.org
+#                  http://www.artsoft.org/
 # -----------------------------------------------------------------------------
-# 2002-09-19 holger.schemel@mediaways.net
+# create_element_defs.pl
 # =============================================================================
 
 use strict;
@@ -193,7 +198,7 @@ sub contains_image_file
 {
     my ($line) = @_;
 
-    return ($line =~ /\".+\.pcx\"/ ||
+    return ($line =~ /\".+\.png\"/ ||
            $line =~ /UNDEFINED_FILENAME/);
 }
 
@@ -609,7 +614,7 @@ sub print_chars_graphics_list_line
 
        my $tabs_left = get_tabs($left, 6);
 
-       my $right = ($ext eq '' ? $basename . '.pcx' :
+       my $right = ($ext eq '' ? $basename . '.png' :
                     $ext eq '.frames' ? '1' : '0');
 
        if ($ext eq '.xpos')
@@ -748,8 +753,8 @@ sub print_custom_graphics_list
 
            my $tabs_left = get_tabs($left, 6);
 
-           # my $right = ($ext eq '' ? 'RocksElements.pcx' :
-           my $right = ($ext eq '' ? 'RocksCE.pcx' :
+           # my $right = ($ext eq '' ? 'RocksElements.png' :
+           my $right = ($ext eq '' ? 'RocksCE.png' :
                         $ext eq '.frames' ? '1' : '0');
 
            if ($ext eq '.xpos')
@@ -776,8 +781,8 @@ sub print_custom_graphics_list
 
            my $tabs_left = get_tabs($left, 6);
 
-           # my $right = ($ext eq '' ? 'RocksElements.pcx' : '0');
-           my $right = ($ext eq '' ? 'RocksCE.pcx' : '0');
+           # my $right = ($ext eq '' ? 'RocksElements.png' : '0');
+           my $right = ($ext eq '' ? 'RocksCE.png' : '0');
 
            if ($ext eq '.xpos')
            {
@@ -829,8 +834,8 @@ sub print_group_graphics_list
 
            my $tabs_left = get_tabs($left, 6);
 
-           # my $right = ($ext eq '' ? 'RocksDC.pcx' :
-           my $right = ($ext eq '' ? 'RocksCE.pcx' :
+           # my $right = ($ext eq '' ? 'RocksDC.png' :
+           my $right = ($ext eq '' ? 'RocksCE.png' :
                         $ext eq '.frames' ? '1' : '0');
 
            if ($ext eq '.xpos')
@@ -857,8 +862,8 @@ sub print_group_graphics_list
 
            my $tabs_left = get_tabs($left, 6);
 
-           # my $right = ($ext eq '' ? 'RocksDC.pcx' : '0');
-           my $right = ($ext eq '' ? 'RocksCE.pcx' : '0');
+           # my $right = ($ext eq '' ? 'RocksDC.png' : '0');
+           my $right = ($ext eq '' ? 'RocksCE.png' : '0');
 
            if ($ext eq '.xpos')
            {
@@ -2357,10 +2362,13 @@ sub print_image_config_vars
            $var =~ s/^\[player\]\./game.player_/;
            $var =~ s/^\[title_initial\]/title_initial_default/;
            $var =~ s/^\[title\]/title_default/;
+           $var =~ s/^\[titlescreen_initial\]/titlescreen_initial_default/;
+           $var =~ s/^\[titlescreen\]/titlescreen_default/;
            $var =~ s/^\[titlemessage_initial\]/titlemessage_initial_default/;
            $var =~ s/^\[titlemessage\]/titlemessage_default/;
 
-           if ($var =~ /^titlemessage.*(\d)/ ||
+           if ($var =~ /^titlescreen.*(\d)/ ||
+               $var =~ /^titlemessage.*(\d)/ ||
                $var =~ /^game.panel.key_(\d)/ ||
                $var =~ /^game.panel.inventory_first_(\d)/ ||
                $var =~ /^game.panel.inventory_last_(\d)/ ||
@@ -2386,9 +2394,14 @@ sub print_image_config_vars
            # --- some suffix replacements ---
 
            $var =~ s/^(menu\.main\..*)\.chars$/$1.size/;
+           $var =~ s/^(tape\.text\..*)\.chars$/$1.size/;
            $var =~ s/^(game\.panel\..*)\.chars$/$1.size/;
            $var =~ s/^(game\.panel\..*)\.tile_size$/$1.size/;
+           $var =~ s/^(request\.button\..*)\.tile_size$/$1.size/;
            $var =~ s/\.digits$/.size/;
+           $var =~ s/\.2nd_offset$/.offset2/;
+           $var =~ s/\.2nd_xoffset$/.xoffset2/;
+           $var =~ s/\.2nd_yoffset$/.yoffset2/;
            $var =~ s/\.element$/.id/;
            $var =~ s/\.draw_order$/.sort_priority/;
 
@@ -2398,7 +2411,7 @@ sub print_image_config_vars
            $var =~ s/\.([A-Z]+)$/\[GFX_SPECIAL_ARG_$1\]/;
            $var =~ s/\.([A-Z]+)\./\[GFX_SPECIAL_ARG_$1\]./;
 
-           if ($var =~ /^(menu.(enter|leave)_screen)(.[a-z_]+)$/)
+           if ($var =~ /^(menu.(enter|leave|next)_screen)(.[a-z_]+)$/)
            {
                $var = $1 . "[GFX_SPECIAL_ARG_DEFAULT]" . $3;
            }
@@ -2408,12 +2421,23 @@ sub print_image_config_vars
                $var .= "[GFX_SPECIAL_ARG_DEFAULT]";
            }
 
-           if ($var =~ /^(viewport.(playfield|door_[12]))(.[a-z_]+)$/)
+           if ($var =~ /^(viewport.(window|playfield|door_[12]))(.[a-z_]+)$/)
            {
                $var = $1 . "[GFX_SPECIAL_ARG_DEFAULT]" . $3;
            }
 
            print_image_config_var_entry("\"$token\"", "&$var");
+
+           if ($var =~ /^(title)_default/ ||
+               $var =~ /^(title_initial)_default/ ||
+               $var =~ /^(titlescreen.*)\[\d\]/ ||
+               $var =~ /^(titlemessage.*)\[\d\]/)
+           {
+               my $prefix = $1;
+               $var =~ s/^$prefix/${prefix}_first/;
+
+               print_image_config_var_entry("\"$token\"", "&$var");
+           }
        }
     }