fixed graphical bugs caused by commit f77bbb8f and 1b4dc759
[rocksndiamonds.git] / build-scripts / create_element_defs.pl
index a2d92d3521bcac1204c6ab83c7ca1774cba1be98..bd8cd46d2188af5d826b0b160a381f6007ee3bce 100755 (executable)
@@ -243,12 +243,12 @@ sub print_file_header
     close FILE;
 
     print "\n";
-    print "/* ----- $text_auto ----- */\n";
+    print "// ------- $text_auto -------\n";
     print "\n";
     print "#ifndef $filename_def\n";
     print "#define $filename_def\n";
     print "\n";
-    print "/* $comment */\n";
+    print "// $comment\n";
     print "\n";
 }
 
@@ -259,7 +259,7 @@ sub print_file_footer
     $filename_def =~ s/\./_/;
 
     print "\n";
-    print "#endif      /* $filename_def */\n";
+    print "#endif      // $filename_def\n";
 }
 
 sub get_tabs
@@ -1074,7 +1074,7 @@ sub get_known_action_definitions
        chomp;                          # cut trailing newline
 
        # process line with action definition
-       if (/^\#define ACTION_([A-Z0-9_]+)\s/)
+       if (/^  ACTION_([A-Z0-9_]+)[, ]/)
        {
            $known_action{$1} = 1;
 
@@ -1101,7 +1101,7 @@ sub get_known_special_arg_definitions
        chomp;                          # cut trailing newline
 
        # process line with special arg definition
-       if (/^\#define GFX_SPECIAL_ARG_([A-Z0-9_]+)\s/)
+       if (/^  GFX_SPECIAL_ARG_([A-Z0-9_]+)[, ]/)
        {
            if ($1 eq 'CRUMBLED')
            {
@@ -1160,7 +1160,7 @@ sub get_known_font_definitions
        chomp;                          # cut trailing newline
 
        # process line with font definition
-       if (/^\#define (FONT_[A-Z0-9_]+)\s/)
+       if (/^  (FONT_[A-Z0-9_]+)[, ]/)
        {
            $known_font{$1} = 1;
 
@@ -1573,7 +1573,7 @@ sub print_element_to_graphic_list
        {
            print_element_to_graphic_entry($element_without_action,
                                           $gfx_action,
-                                          '-1',
+                                          $gfx_direction,
                                           $gfx_crumbled,
                                           $graphic);
        }
@@ -2362,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)/ ||
@@ -2403,12 +2406,12 @@ sub print_image_config_vars
            $var =~ s/\.draw_order$/.sort_priority/;
 
            $var =~ s/\.font_[a-z]+$/.font_alt/;
-           $var =~ s/\.INFO\[([A-Z]+)\]$/_info\[GFX_SPECIAL_ARG_INFO_$1\]/;
-           $var =~ s/\.SETUP\[([A-Z0-9_]+)\]$/_setup\[GFX_SPECIAL_ARG_SETUP_$1\]/;
+           $var =~ s/\.INFO\[([A-Z]+)\](.*)$/_info\[GFX_SPECIAL_ARG_INFO_$1\]$2/;
+           $var =~ s/\.SETUP\[([A-Z0-9_]+)\](.*)$/_setup\[GFX_SPECIAL_ARG_SETUP_$1\]$2/;
            $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;
            }
@@ -2418,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");
+           }
        }
     }