my $text_fnt_c = 'values for font/graphics mapping configuration';
my $text_g2s_c = 'values for gamemode/sound mapping configuration';
my $text_g2m_c = 'values for gamemode/music mapping configuration';
-my $text_var_c = 'values for image and layout parameter configuration';
+my $text_var_c = 'values for graphics and sound parameter configuration';
my $text_act_c = 'values for active states of elements and fonts';
my $num_custom_elements = 256;
$sound =~ s/^/CLASS_/; # add class identifier
}
+ # dirty hack for making "ABC[DEF]" work as a "special" suffix
+ $sound =~ s/([^_])\[/$1_/;
+ $sound =~ s/\[//;
+ $sound =~ s/\]//;
+
$sound = "SND_$sound";
my $define_text = "#define $sound";
my $music = $_;
+ # dirty hack for making "ABC[DEF]" work as a "special" suffix
+ $music =~ s/([^_])\[/$1_/;
+ $music =~ s/\[//;
+ $music =~ s/\]//;
+
$music = "MUS_$music";
my $define_text = "#define $music";
print " },\n";
}
-sub print_image_config_var_entry
+sub print_config_var_entry
{
my ($token, $var) = @_;
print_file_footer($filename_conf_g2m_c);
}
-sub print_image_config_vars
+sub print_config_vars
{
# ---------- read graphic file definitions ----------
$var =~ s/^main\./menu.main./;
$var =~ s/^setup\./menu.setup./;
+ $var =~ s/^scores\./menu.scores./;
$var =~ s/^\[player\]\./game.player_/;
$var =~ s/^\[title_initial\]/title_initial_default/;
$var =~ s/^\[title\]/title_default/;
$var = $1 . "[GFX_SPECIAL_ARG_DEFAULT]" . $3;
}
- print_image_config_var_entry("\"$token\"", "&$var");
+ print_config_var_entry("\"$token\"", "&$var");
if ($var =~ /^(title)_default/ ||
$var =~ /^(title_initial)_default/ ||
my $prefix = $1;
$var =~ s/^$prefix/${prefix}_first/;
- print_image_config_var_entry("\"$token\"", "&$var");
+ print_config_var_entry("\"$token\"", "&$var");
}
}
}
- print_image_config_var_entry('NULL', 'NULL');
+ print_config_var_entry('NULL', 'NULL');
+
+ print "};\n";
+
+ close FILE;
+
+
+ # ---------- read sound file definitions ----------
+
+ $filename = "$src_path/conf_snd.c";
+
+ open(FILE, "$filename") ||
+ fail("cannot open file '$filename' for reading");
+
+ print "struct TokenIntPtrInfo sound_config_vars[] =\n";
+ print "{\n";
+
+ $start_parsing = 0;
+
+ while (<FILE>)
+ {
+ chomp; # cut trailing newline
+
+ if (/CONFIG_VARS_START/) # keyword to start parsing file
+ {
+ $start_parsing = 1;
+ }
+
+ if (!$start_parsing)
+ {
+ next;
+ }
+
+ if (/^\s*\{\s*\"([^\"]+)\"/) # config token found
+ {
+ my $token = $1;
+ my $var = $token;
+
+ print_config_var_entry("\"$token\"", "&$var");
+ }
+ }
+
+ print_config_var_entry('NULL', 'NULL');
print "};\n";
}
elsif ($ARGV[0] eq $filename_conf_var_c)
{
- print_image_config_vars();
+ print_config_vars();
}
elsif ($ARGV[0] eq $filename_conf_act_c)
{