X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=build-scripts%2Fcreate_element_defs.pl;h=bd8cd46d2188af5d826b0b160a381f6007ee3bce;hp=02182e4ed7a1ddf3254bc027fafa70ec9ef15a32;hb=b6d00a8a639220e3589641e843c8594024ce3076;hpb=a8816d6e5319f9ec26a45346b08250f61e95c011 diff --git a/build-scripts/create_element_defs.pl b/build-scripts/create_element_defs.pl index 02182e4e..bd8cd46d 100755 --- a/build-scripts/create_element_defs.pl +++ b/build-scripts/create_element_defs.pl @@ -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; @@ -238,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"; } @@ -254,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 @@ -1069,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; @@ -1096,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') { @@ -1155,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; @@ -1568,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); } @@ -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,19 +2394,24 @@ 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/; $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; } @@ -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"); + } } }