+2007-04-02
+ * added attribute ".tile_size" for element style game panel controls
+
2007-04-01
* added <space> key as additional valid key to use for confirm requester
{ "main.text.first_level.y", "98" },
{ "main.text.first_level.align", "left" },
{ "main.text.first_level.valign", "top" },
+ { "main.text.first_level.digits", "3" },
{ "main.text.first_level.font", "font.text_3" },
{ "main.text.last_level.x", "488" },
{ "main.text.last_level.y", "112" },
{ "main.text.last_level.align", "left" },
{ "main.text.last_level.valign", "top" },
+ { "main.text.last_level.digits", "3" },
{ "main.text.last_level.font", "font.text_3" },
{ "main.text.level_number.x", "352" },
{ "main.text.level_number.y", "96" },
{ "main.text.level_number.align", "left" },
{ "main.text.level_number.valign", "top" },
+ { "main.text.level_number.digits", "3" },
{ "main.text.level_number.font", "font.value_1" },
{ "main.text.level_info_1.x", "272" },
{ "main.text.level_info_1.y", "352" },
{ "main.text.level_year.y", "-1" },
{ "main.text.level_year.align", "left" },
{ "main.text.level_year.valign", "top" },
- { "main.text.level_year.chars", "-1" },
+ { "main.text.level_year.digits", "-1" },
{ "main.text.level_year.font", "font.text_2" },
{ "main.text.level_imported_from.x", "-1" },
{ "main.text.level_imported_from.y", "-1" },
{ "game.panel.level_number.y", "20" },
{ "game.panel.level_number.align", "center" },
{ "game.panel.level_number.valign", "top" },
- { "game.panel.level_number.chars", "-1" },
+ { "game.panel.level_number.digits", "-1" },
{ "game.panel.level_number.font", "font.text_2" },
{ "game.panel.level_number.font_narrow", "font.text_1" },
{ "game.panel.gems.y", "54" },
{ "game.panel.gems.align", "center" },
{ "game.panel.gems.valign", "top" },
- { "game.panel.gems.chars", "3" },
+ { "game.panel.gems.digits", "3" },
{ "game.panel.gems.font", "font.text_2" },
- { "game.panel.inventory.x", "50" },
- { "game.panel.inventory.y", "89" },
- { "game.panel.inventory.align", "center" },
- { "game.panel.inventory.valign", "top" },
- { "game.panel.inventory.chars", "3" },
- { "game.panel.inventory.font", "font.text_2" },
+ { "game.panel.inventory_count.x", "50" },
+ { "game.panel.inventory_count.y", "89" },
+ { "game.panel.inventory_count.align", "center" },
+ { "game.panel.inventory_count.valign", "top" },
+ { "game.panel.inventory_count.digits", "3" },
+ { "game.panel.inventory_count.font", "font.text_2" },
+
+ { "game.panel.inventory_first_1.x", "-1" },
+ { "game.panel.inventory_first_1.y", "-1" },
+ { "game.panel.inventory_first_1.tile_size", "16" },
+ { "game.panel.inventory_first_2.x", "-1" },
+ { "game.panel.inventory_first_2.y", "-1" },
+ { "game.panel.inventory_first_2.tile_size", "16" },
+ { "game.panel.inventory_first_3.x", "-1" },
+ { "game.panel.inventory_first_3.y", "-1" },
+ { "game.panel.inventory_first_3.tile_size", "16" },
+ { "game.panel.inventory_first_4.x", "-1" },
+ { "game.panel.inventory_first_4.y", "-1" },
+ { "game.panel.inventory_first_4.tile_size", "16" },
+ { "game.panel.inventory_first_5.x", "-1" },
+ { "game.panel.inventory_first_5.y", "-1" },
+ { "game.panel.inventory_first_5.tile_size", "16" },
+ { "game.panel.inventory_first_6.x", "-1" },
+ { "game.panel.inventory_first_6.y", "-1" },
+ { "game.panel.inventory_first_6.tile_size", "16" },
+ { "game.panel.inventory_first_7.x", "-1" },
+ { "game.panel.inventory_first_7.y", "-1" },
+ { "game.panel.inventory_first_7.tile_size", "16" },
+ { "game.panel.inventory_first_8.x", "-1" },
+ { "game.panel.inventory_first_8.y", "-1" },
+ { "game.panel.inventory_first_8.tile_size", "16" },
+
+ { "game.panel.inventory_last_1.x", "-1" },
+ { "game.panel.inventory_last_1.y", "-1" },
+ { "game.panel.inventory_last_1.tile_size", "16" },
+ { "game.panel.inventory_last_2.x", "-1" },
+ { "game.panel.inventory_last_2.y", "-1" },
+ { "game.panel.inventory_last_2.tile_size", "16" },
+ { "game.panel.inventory_last_3.x", "-1" },
+ { "game.panel.inventory_last_3.y", "-1" },
+ { "game.panel.inventory_last_3.tile_size", "16" },
+ { "game.panel.inventory_last_4.x", "-1" },
+ { "game.panel.inventory_last_4.y", "-1" },
+ { "game.panel.inventory_last_4.tile_size", "16" },
+ { "game.panel.inventory_last_5.x", "-1" },
+ { "game.panel.inventory_last_5.y", "-1" },
+ { "game.panel.inventory_last_5.tile_size", "16" },
+ { "game.panel.inventory_last_6.x", "-1" },
+ { "game.panel.inventory_last_6.y", "-1" },
+ { "game.panel.inventory_last_6.tile_size", "16" },
+ { "game.panel.inventory_last_7.x", "-1" },
+ { "game.panel.inventory_last_7.y", "-1" },
+ { "game.panel.inventory_last_7.tile_size", "16" },
+ { "game.panel.inventory_last_8.x", "-1" },
+ { "game.panel.inventory_last_8.y", "-1" },
+ { "game.panel.inventory_last_8.tile_size", "16" },
{ "game.panel.key_1.x", "18" },
{ "game.panel.key_1.y", "123" },
+ { "game.panel.key_1.tile_size", "16" },
{ "game.panel.key_2.x", "34" },
{ "game.panel.key_2.y", "123" },
+ { "game.panel.key_2.tile_size", "16" },
{ "game.panel.key_3.x", "50" },
{ "game.panel.key_3.y", "123" },
+ { "game.panel.key_3.tile_size", "16" },
{ "game.panel.key_4.x", "66" },
{ "game.panel.key_4.y", "123" },
+ { "game.panel.key_4.tile_size", "16" },
{ "game.panel.key_5.x", "-1" },
{ "game.panel.key_5.y", "-1" },
+ { "game.panel.key_5.tile_size", "16" },
{ "game.panel.key_6.x", "-1" },
{ "game.panel.key_6.y", "-1" },
+ { "game.panel.key_6.tile_size", "16" },
{ "game.panel.key_7.x", "-1" },
{ "game.panel.key_7.y", "-1" },
+ { "game.panel.key_7.tile_size", "16" },
{ "game.panel.key_8.x", "-1" },
{ "game.panel.key_8.y", "-1" },
+ { "game.panel.key_8.tile_size", "16" },
{ "game.panel.key_white.x", "-1" },
{ "game.panel.key_white.y", "-1" },
+ { "game.panel.key_white.tile_size", "16" },
{ "game.panel.key_white_count.x", "-1" },
{ "game.panel.key_white_count.y", "-1" },
{ "game.panel.key_white_count.align", "left" },
{ "game.panel.key_white_count.valign", "top" },
- { "game.panel.key_white_count.chars", "-1" },
+ { "game.panel.key_white_count.digits", "-1" },
{ "game.panel.key_white_count.font", "font.text_2" },
{ "game.panel.score.x", "50" },
{ "game.panel.score.y", "159" },
{ "game.panel.score.align", "center" },
{ "game.panel.score.valign", "top" },
- { "game.panel.score.chars", "5" },
+ { "game.panel.score.digits", "5" },
{ "game.panel.score.font", "font.text_2" },
{ "game.panel.time.x", "50" },
{ "game.panel.time.y", "194" },
{ "game.panel.time.align", "center" },
{ "game.panel.time.valign", "top" },
- { "game.panel.time.chars", "-1" },
+ { "game.panel.time.digits", "-1" },
{ "game.panel.time.font", "font.text_2" },
{ "game.panel.time.font_narrow", "font.text_1" },
{ "game.panel.time_hh.y", "-1" },
{ "game.panel.time_hh.align", "left" },
{ "game.panel.time_hh.valign", "top" },
- { "game.panel.time_hh.chars", "-1" },
+ { "game.panel.time_hh.digits", "2" },
{ "game.panel.time_hh.font", "font.text_2" },
{ "game.panel.time_mm.x", "-1" },
{ "game.panel.time_mm.y", "-1" },
{ "game.panel.time_mm.align", "left" },
{ "game.panel.time_mm.valign", "top" },
- { "game.panel.time_mm.chars", "-1" },
+ { "game.panel.time_mm.digits", "2" },
{ "game.panel.time_mm.font", "font.text_2" },
{ "game.panel.time_ss.x", "-1" },
{ "game.panel.time_ss.y", "-1" },
{ "game.panel.time_ss.align", "left" },
{ "game.panel.time_ss.valign", "top" },
- { "game.panel.time_ss.chars", "-1" },
+ { "game.panel.time_ss.digits", "2" },
{ "game.panel.time_ss.font", "font.text_2" },
- { "game.panel.drop_next_1.x", "-1" },
- { "game.panel.drop_next_1.y", "-1" },
- { "game.panel.drop_next_2.x", "-1" },
- { "game.panel.drop_next_2.y", "-1" },
- { "game.panel.drop_next_3.x", "-1" },
- { "game.panel.drop_next_3.y", "-1" },
- { "game.panel.drop_next_4.x", "-1" },
- { "game.panel.drop_next_4.y", "-1" },
- { "game.panel.drop_next_5.x", "-1" },
- { "game.panel.drop_next_5.y", "-1" },
- { "game.panel.drop_next_6.x", "-1" },
- { "game.panel.drop_next_6.y", "-1" },
- { "game.panel.drop_next_7.x", "-1" },
- { "game.panel.drop_next_7.y", "-1" },
- { "game.panel.drop_next_8.x", "-1" },
- { "game.panel.drop_next_8.y", "-1" },
-
{ "game.panel.shield_normal.x", "-1" },
{ "game.panel.shield_normal.y", "-1" },
+ { "game.panel.shield_normal.tile_size", "16" },
{ "game.panel.shield_normal_time.x", "-1" },
{ "game.panel.shield_normal_time.y", "-1" },
{ "game.panel.shield_normal_time.align", "left" },
{ "game.panel.shield_normal_time.valign", "top" },
- { "game.panel.shield_normal_time.chars", "-1" },
+ { "game.panel.shield_normal_time.digits", "-1" },
{ "game.panel.shield_normal_time.font", "font.text_2" },
{ "game.panel.shield_deadly.x", "-1" },
{ "game.panel.shield_deadly.y", "-1" },
+ { "game.panel.shield_deadly.tile_size", "16" },
{ "game.panel.shield_deadly_time.x", "-1" },
{ "game.panel.shield_deadly_time.y", "-1" },
{ "game.panel.shield_deadly_time.align", "left" },
{ "game.panel.shield_deadly_time.valign", "top" },
- { "game.panel.shield_deadly_time.chars", "-1" },
+ { "game.panel.shield_deadly_time.digits", "-1" },
{ "game.panel.shield_deadly_time.font", "font.text_2" },
{ "game.panel.exit.x", "-1" },
{ "game.panel.exit.y", "-1" },
+ { "game.panel.exit.tile_size", "16" },
{ "game.panel.em_exit.x", "-1" },
{ "game.panel.em_exit.y", "-1" },
+ { "game.panel.em_exit.tile_size", "16" },
{ "game.panel.sp_exit.x", "-1" },
{ "game.panel.sp_exit.y", "-1" },
+ { "game.panel.sp_exit.tile_size", "16" },
{ "game.panel.steel_exit.x", "-1" },
{ "game.panel.steel_exit.y", "-1" },
+ { "game.panel.steel_exit.tile_size", "16" },
{ "game.panel.em_steel_exit.x", "-1" },
{ "game.panel.em_steel_exit.y", "-1" },
+ { "game.panel.em_steel_exit.tile_size", "16" },
{ "game.panel.emc_magic_ball.x", "-1" },
{ "game.panel.emc_magic_ball.y", "-1" },
+ { "game.panel.emc_magic_ball.tile_size", "16" },
{ "game.panel.emc_magic_ball_switch.x", "-1" },
{ "game.panel.emc_magic_ball_switch.y", "-1" },
+ { "game.panel.emc_magic_ball_switch.tile_size", "16" },
{ "game.panel.light_switch.x", "-1" },
{ "game.panel.light_switch.y", "-1" },
+ { "game.panel.light_switch.tile_size", "16" },
{ "game.panel.light_switch_time.x", "-1" },
{ "game.panel.light_switch_time.y", "-1" },
{ "game.panel.light_switch_time.align", "left" },
{ "game.panel.light_switch_time.valign", "top" },
- { "game.panel.light_switch_time.chars", "-1" },
+ { "game.panel.light_switch_time.digits", "-1" },
{ "game.panel.light_switch_time.font", "font.text_2" },
{ "game.panel.timegate_switch.x", "-1" },
{ "game.panel.timegate_switch.y", "-1" },
+ { "game.panel.timegate_switch.tile_size", "16" },
{ "game.panel.timegate_switch_time.x", "-1" },
{ "game.panel.timegate_switch_time.y", "-1" },
{ "game.panel.timegate_switch_time.align", "left" },
{ "game.panel.timegate_switch_time.valign", "top" },
- { "game.panel.timegate_switch_time.chars", "-1" },
+ { "game.panel.timegate_switch_time.digits", "-1" },
{ "game.panel.timegate_switch_time.font", "font.text_2" },
{ "game.panel.switchgate_switch.x", "-1" },
{ "game.panel.switchgate_switch.y", "-1" },
+ { "game.panel.switchgate_switch.tile_size", "16" },
{ "game.panel.emc_lenses.x", "-1" },
{ "game.panel.emc_lenses.y", "-1" },
+ { "game.panel.emc_lenses.tile_size", "16" },
{ "game.panel.emc_lenses_time.x", "-1" },
{ "game.panel.emc_lenses_time.y", "-1" },
{ "game.panel.emc_lenses_time.align", "left" },
{ "game.panel.emc_lenses_time.valign", "top" },
- { "game.panel.emc_lenses_time.chars", "-1" },
+ { "game.panel.emc_lenses_time.digits", "-1" },
{ "game.panel.emc_lenses_time.font", "font.text_2" },
{ "game.panel.emc_magnifier.x", "-1" },
{ "game.panel.emc_magnifier.y", "-1" },
+ { "game.panel.emc_magnifier.tile_size", "16" },
{ "game.panel.emc_magnifier_time.x", "-1" },
{ "game.panel.emc_magnifier_time.y", "-1" },
{ "game.panel.emc_magnifier_time.align", "left" },
{ "game.panel.emc_magnifier_time.valign", "top" },
- { "game.panel.emc_magnifier_time.chars", "-1" },
+ { "game.panel.emc_magnifier_time.digits", "-1" },
{ "game.panel.emc_magnifier_time.font", "font.text_2" },
{ "game.panel.balloon_switch.x", "-1" },
{ "game.panel.balloon_switch.y", "-1" },
+ { "game.panel.balloon_switch.tile_size", "16" },
{ "game.panel.dynabomb_number.x", "-1" },
{ "game.panel.dynabomb_number.y", "-1" },
{ "game.panel.dynabomb_number.align", "left" },
{ "game.panel.dynabomb_number.valign", "top" },
- { "game.panel.dynabomb_number.chars", "-1" },
+ { "game.panel.dynabomb_number.digits", "-1" },
{ "game.panel.dynabomb_number.font", "font.text_2" },
{ "game.panel.dynabomb_size.x", "-1" },
{ "game.panel.dynabomb_size.y", "-1" },
{ "game.panel.dynabomb_size.align", "left" },
{ "game.panel.dynabomb_size.valign", "top" },
- { "game.panel.dynabomb_size.chars", "-1" },
+ { "game.panel.dynabomb_size.digits", "-1" },
{ "game.panel.dynabomb_size.font", "font.text_2" },
{ "game.panel.dynabomb_power.x", "-1" },
{ "game.panel.dynabomb_power.y", "-1" },
+ { "game.panel.dynabomb_power.tile_size", "16" },
{ "game.panel.penguins.x", "-1" },
{ "game.panel.penguins.y", "-1" },
{ "game.panel.penguins.align", "left" },
{ "game.panel.penguins.valign", "top" },
- { "game.panel.penguins.chars", "-1" },
+ { "game.panel.penguins.digits", "-1" },
{ "game.panel.penguins.font", "font.text_2" },
{ "game.panel.sokoban_objects.x", "-1" },
{ "game.panel.sokoban_objects.y", "-1" },
{ "game.panel.sokoban_objects.align", "left" },
{ "game.panel.sokoban_objects.valign", "top" },
- { "game.panel.sokoban_objects.chars", "-1" },
+ { "game.panel.sokoban_objects.digits", "-1" },
{ "game.panel.sokoban_objects.font", "font.text_2" },
{ "game.panel.sokoban_fields.x", "-1" },
{ "game.panel.sokoban_fields.y", "-1" },
{ "game.panel.sokoban_fields.align", "left" },
{ "game.panel.sokoban_fields.valign", "top" },
- { "game.panel.sokoban_fields.chars", "-1" },
+ { "game.panel.sokoban_fields.digits", "-1" },
{ "game.panel.sokoban_fields.font", "font.text_2" },
{ "game.panel.robot_wheel.x", "-1" },
{ "game.panel.robot_wheel.y", "-1" },
+ { "game.panel.robot_wheel.tile_size", "16" },
{ "game.panel.conveyor_belt_1.x", "-1" },
{ "game.panel.conveyor_belt_1.y", "-1" },
+ { "game.panel.conveyor_belt_1.tile_size", "16" },
{ "game.panel.conveyor_belt_1_switch.x", "-1" },
{ "game.panel.conveyor_belt_1_switch.y", "-1" },
+ { "game.panel.conveyor_belt_1_switch.tile_size", "16" },
{ "game.panel.conveyor_belt_2.x", "-1" },
{ "game.panel.conveyor_belt_2.y", "-1" },
+ { "game.panel.conveyor_belt_2.tile_size", "16" },
{ "game.panel.conveyor_belt_2_switch.x", "-1" },
{ "game.panel.conveyor_belt_2_switch.y", "-1" },
+ { "game.panel.conveyor_belt_2_switch.tile_size", "16" },
{ "game.panel.conveyor_belt_3.x", "-1" },
{ "game.panel.conveyor_belt_3.y", "-1" },
+ { "game.panel.conveyor_belt_3.tile_size", "16" },
{ "game.panel.conveyor_belt_3_switch.x", "-1" },
{ "game.panel.conveyor_belt_3_switch.y", "-1" },
+ { "game.panel.conveyor_belt_3_switch.tile_size", "16" },
{ "game.panel.conveyor_belt_4.x", "-1" },
{ "game.panel.conveyor_belt_4.y", "-1" },
+ { "game.panel.conveyor_belt_4.tile_size", "16" },
{ "game.panel.conveyor_belt_4_switch.x", "-1" },
{ "game.panel.conveyor_belt_4_switch.y", "-1" },
+ { "game.panel.conveyor_belt_4_switch.tile_size", "16" },
{ "game.panel.magic_wall.x", "-1" },
{ "game.panel.magic_wall.y", "-1" },
+ { "game.panel.magic_wall.tile_size", "16" },
{ "game.panel.magic_wall_time.x", "-1" },
{ "game.panel.magic_wall_time.y", "-1" },
{ "game.panel.magic_wall_time.align", "left" },
{ "game.panel.magic_wall_time.valign", "top" },
- { "game.panel.magic_wall_time.chars", "-1" },
+ { "game.panel.magic_wall_time.digits", "-1" },
{ "game.panel.magic_wall_time.font", "font.text_2" },
{ "game.panel.bd_magic_wall.x", "-1" },
{ "game.panel.bd_magic_wall.y", "-1" },
+ { "game.panel.bd_magic_wall.tile_size", "16" },
{ "game.panel.dc_magic_wall.x", "-1" },
{ "game.panel.dc_magic_wall.y", "-1" },
+ { "game.panel.dc_magic_wall.tile_size", "16" },
{ "game.panel.player_name.x", "-1" },
{ "game.panel.player_name.y", "-1" },
"main.text.first_level.valign",
&menu.main.text.first_level.valign
},
+ {
+ "main.text.first_level.digits",
+ &menu.main.text.first_level.size
+ },
{
"main.text.first_level.font",
&menu.main.text.first_level.font
"main.text.last_level.valign",
&menu.main.text.last_level.valign
},
+ {
+ "main.text.last_level.digits",
+ &menu.main.text.last_level.size
+ },
{
"main.text.last_level.font",
&menu.main.text.last_level.font
"main.text.level_number.valign",
&menu.main.text.level_number.valign
},
+ {
+ "main.text.level_number.digits",
+ &menu.main.text.level_number.size
+ },
{
"main.text.level_number.font",
&menu.main.text.level_number.font
},
{
"main.text.level_info_1.chars",
- &menu.main.text.level_info_1.chars
+ &menu.main.text.level_info_1.size
},
{
"main.text.level_info_1.font",
},
{
"main.text.level_info_2.chars",
- &menu.main.text.level_info_2.chars
+ &menu.main.text.level_info_2.size
},
{
"main.text.level_info_2.font",
},
{
"main.text.level_name.chars",
- &menu.main.text.level_name.chars
+ &menu.main.text.level_name.size
},
{
"main.text.level_name.font",
},
{
"main.text.level_author.chars",
- &menu.main.text.level_author.chars
+ &menu.main.text.level_author.size
},
{
"main.text.level_author.font",
&menu.main.text.level_year.valign
},
{
- "main.text.level_year.chars",
- &menu.main.text.level_year.chars
+ "main.text.level_year.digits",
+ &menu.main.text.level_year.size
},
{
"main.text.level_year.font",
},
{
"main.text.level_imported_from.chars",
- &menu.main.text.level_imported_from.chars
+ &menu.main.text.level_imported_from.size
},
{
"main.text.level_imported_from.font",
},
{
"main.text.level_imported_by.chars",
- &menu.main.text.level_imported_by.chars
+ &menu.main.text.level_imported_by.size
},
{
"main.text.level_imported_by.font",
},
{
"main.text.level_tested_by.chars",
- &menu.main.text.level_tested_by.chars
+ &menu.main.text.level_tested_by.size
},
{
"main.text.level_tested_by.font",
&game.panel.level_number.valign
},
{
- "game.panel.level_number.chars",
- &game.panel.level_number.chars
+ "game.panel.level_number.digits",
+ &game.panel.level_number.size
},
{
"game.panel.level_number.font",
&game.panel.gems.valign
},
{
- "game.panel.gems.chars",
- &game.panel.gems.chars
+ "game.panel.gems.digits",
+ &game.panel.gems.size
},
{
"game.panel.gems.font",
&game.panel.gems.font
},
{
- "game.panel.inventory.x",
- &game.panel.inventory.x
+ "game.panel.inventory_count.x",
+ &game.panel.inventory_count.x
+ },
+ {
+ "game.panel.inventory_count.y",
+ &game.panel.inventory_count.y
+ },
+ {
+ "game.panel.inventory_count.align",
+ &game.panel.inventory_count.align
+ },
+ {
+ "game.panel.inventory_count.valign",
+ &game.panel.inventory_count.valign
+ },
+ {
+ "game.panel.inventory_count.digits",
+ &game.panel.inventory_count.size
+ },
+ {
+ "game.panel.inventory_count.font",
+ &game.panel.inventory_count.font
+ },
+ {
+ "game.panel.inventory_first_1.x",
+ &game.panel.inventory_first_1.x
+ },
+ {
+ "game.panel.inventory_first_1.y",
+ &game.panel.inventory_first_1.y
+ },
+ {
+ "game.panel.inventory_first_1.tile_size",
+ &game.panel.inventory_first_1.size
+ },
+ {
+ "game.panel.inventory_first_2.x",
+ &game.panel.inventory_first_2.x
+ },
+ {
+ "game.panel.inventory_first_2.y",
+ &game.panel.inventory_first_2.y
+ },
+ {
+ "game.panel.inventory_first_2.tile_size",
+ &game.panel.inventory_first_2.size
+ },
+ {
+ "game.panel.inventory_first_3.x",
+ &game.panel.inventory_first_3.x
+ },
+ {
+ "game.panel.inventory_first_3.y",
+ &game.panel.inventory_first_3.y
+ },
+ {
+ "game.panel.inventory_first_3.tile_size",
+ &game.panel.inventory_first_3.size
+ },
+ {
+ "game.panel.inventory_first_4.x",
+ &game.panel.inventory_first_4.x
+ },
+ {
+ "game.panel.inventory_first_4.y",
+ &game.panel.inventory_first_4.y
+ },
+ {
+ "game.panel.inventory_first_4.tile_size",
+ &game.panel.inventory_first_4.size
+ },
+ {
+ "game.panel.inventory_first_5.x",
+ &game.panel.inventory_first_5.x
+ },
+ {
+ "game.panel.inventory_first_5.y",
+ &game.panel.inventory_first_5.y
+ },
+ {
+ "game.panel.inventory_first_5.tile_size",
+ &game.panel.inventory_first_5.size
+ },
+ {
+ "game.panel.inventory_first_6.x",
+ &game.panel.inventory_first_6.x
+ },
+ {
+ "game.panel.inventory_first_6.y",
+ &game.panel.inventory_first_6.y
+ },
+ {
+ "game.panel.inventory_first_6.tile_size",
+ &game.panel.inventory_first_6.size
},
{
- "game.panel.inventory.y",
- &game.panel.inventory.y
+ "game.panel.inventory_first_7.x",
+ &game.panel.inventory_first_7.x
},
{
- "game.panel.inventory.align",
- &game.panel.inventory.align
+ "game.panel.inventory_first_7.y",
+ &game.panel.inventory_first_7.y
},
{
- "game.panel.inventory.valign",
- &game.panel.inventory.valign
+ "game.panel.inventory_first_7.tile_size",
+ &game.panel.inventory_first_7.size
},
{
- "game.panel.inventory.chars",
- &game.panel.inventory.chars
+ "game.panel.inventory_first_8.x",
+ &game.panel.inventory_first_8.x
},
{
- "game.panel.inventory.font",
- &game.panel.inventory.font
+ "game.panel.inventory_first_8.y",
+ &game.panel.inventory_first_8.y
+ },
+ {
+ "game.panel.inventory_first_8.tile_size",
+ &game.panel.inventory_first_8.size
+ },
+ {
+ "game.panel.inventory_last_1.x",
+ &game.panel.inventory_last_1.x
+ },
+ {
+ "game.panel.inventory_last_1.y",
+ &game.panel.inventory_last_1.y
+ },
+ {
+ "game.panel.inventory_last_1.tile_size",
+ &game.panel.inventory_last_1.size
+ },
+ {
+ "game.panel.inventory_last_2.x",
+ &game.panel.inventory_last_2.x
+ },
+ {
+ "game.panel.inventory_last_2.y",
+ &game.panel.inventory_last_2.y
+ },
+ {
+ "game.panel.inventory_last_2.tile_size",
+ &game.panel.inventory_last_2.size
+ },
+ {
+ "game.panel.inventory_last_3.x",
+ &game.panel.inventory_last_3.x
+ },
+ {
+ "game.panel.inventory_last_3.y",
+ &game.panel.inventory_last_3.y
+ },
+ {
+ "game.panel.inventory_last_3.tile_size",
+ &game.panel.inventory_last_3.size
+ },
+ {
+ "game.panel.inventory_last_4.x",
+ &game.panel.inventory_last_4.x
+ },
+ {
+ "game.panel.inventory_last_4.y",
+ &game.panel.inventory_last_4.y
+ },
+ {
+ "game.panel.inventory_last_4.tile_size",
+ &game.panel.inventory_last_4.size
+ },
+ {
+ "game.panel.inventory_last_5.x",
+ &game.panel.inventory_last_5.x
+ },
+ {
+ "game.panel.inventory_last_5.y",
+ &game.panel.inventory_last_5.y
+ },
+ {
+ "game.panel.inventory_last_5.tile_size",
+ &game.panel.inventory_last_5.size
+ },
+ {
+ "game.panel.inventory_last_6.x",
+ &game.panel.inventory_last_6.x
+ },
+ {
+ "game.panel.inventory_last_6.y",
+ &game.panel.inventory_last_6.y
+ },
+ {
+ "game.panel.inventory_last_6.tile_size",
+ &game.panel.inventory_last_6.size
+ },
+ {
+ "game.panel.inventory_last_7.x",
+ &game.panel.inventory_last_7.x
+ },
+ {
+ "game.panel.inventory_last_7.y",
+ &game.panel.inventory_last_7.y
+ },
+ {
+ "game.panel.inventory_last_7.tile_size",
+ &game.panel.inventory_last_7.size
+ },
+ {
+ "game.panel.inventory_last_8.x",
+ &game.panel.inventory_last_8.x
+ },
+ {
+ "game.panel.inventory_last_8.y",
+ &game.panel.inventory_last_8.y
+ },
+ {
+ "game.panel.inventory_last_8.tile_size",
+ &game.panel.inventory_last_8.size
},
{
"game.panel.key_1.x",
"game.panel.key_1.y",
&game.panel.key[0].y
},
+ {
+ "game.panel.key_1.tile_size",
+ &game.panel.key[0].size
+ },
{
"game.panel.key_2.x",
&game.panel.key[1].x
"game.panel.key_2.y",
&game.panel.key[1].y
},
+ {
+ "game.panel.key_2.tile_size",
+ &game.panel.key[1].size
+ },
{
"game.panel.key_3.x",
&game.panel.key[2].x
"game.panel.key_3.y",
&game.panel.key[2].y
},
+ {
+ "game.panel.key_3.tile_size",
+ &game.panel.key[2].size
+ },
{
"game.panel.key_4.x",
&game.panel.key[3].x
"game.panel.key_4.y",
&game.panel.key[3].y
},
+ {
+ "game.panel.key_4.tile_size",
+ &game.panel.key[3].size
+ },
{
"game.panel.key_5.x",
&game.panel.key[4].x
"game.panel.key_5.y",
&game.panel.key[4].y
},
+ {
+ "game.panel.key_5.tile_size",
+ &game.panel.key[4].size
+ },
{
"game.panel.key_6.x",
&game.panel.key[5].x
"game.panel.key_6.y",
&game.panel.key[5].y
},
+ {
+ "game.panel.key_6.tile_size",
+ &game.panel.key[5].size
+ },
{
"game.panel.key_7.x",
&game.panel.key[6].x
"game.panel.key_7.y",
&game.panel.key[6].y
},
+ {
+ "game.panel.key_7.tile_size",
+ &game.panel.key[6].size
+ },
{
"game.panel.key_8.x",
&game.panel.key[7].x
"game.panel.key_8.y",
&game.panel.key[7].y
},
+ {
+ "game.panel.key_8.tile_size",
+ &game.panel.key[7].size
+ },
{
"game.panel.key_white.x",
&game.panel.key_white.x
"game.panel.key_white.y",
&game.panel.key_white.y
},
+ {
+ "game.panel.key_white.tile_size",
+ &game.panel.key_white.size
+ },
{
"game.panel.key_white_count.x",
&game.panel.key_white_count.x
&game.panel.key_white_count.valign
},
{
- "game.panel.key_white_count.chars",
- &game.panel.key_white_count.chars
+ "game.panel.key_white_count.digits",
+ &game.panel.key_white_count.size
},
{
"game.panel.key_white_count.font",
&game.panel.score.valign
},
{
- "game.panel.score.chars",
- &game.panel.score.chars
+ "game.panel.score.digits",
+ &game.panel.score.size
},
{
"game.panel.score.font",
&game.panel.time.valign
},
{
- "game.panel.time.chars",
- &game.panel.time.chars
+ "game.panel.time.digits",
+ &game.panel.time.size
},
{
"game.panel.time.font",
&game.panel.time_hh.valign
},
{
- "game.panel.time_hh.chars",
- &game.panel.time_hh.chars
+ "game.panel.time_hh.digits",
+ &game.panel.time_hh.size
},
{
"game.panel.time_hh.font",
&game.panel.time_mm.valign
},
{
- "game.panel.time_mm.chars",
- &game.panel.time_mm.chars
+ "game.panel.time_mm.digits",
+ &game.panel.time_mm.size
},
{
"game.panel.time_mm.font",
&game.panel.time_ss.valign
},
{
- "game.panel.time_ss.chars",
- &game.panel.time_ss.chars
+ "game.panel.time_ss.digits",
+ &game.panel.time_ss.size
},
{
"game.panel.time_ss.font",
&game.panel.time_ss.font
},
- {
- "game.panel.drop_next_1.x",
- &game.panel.drop_next_1.x
- },
- {
- "game.panel.drop_next_1.y",
- &game.panel.drop_next_1.y
- },
- {
- "game.panel.drop_next_2.x",
- &game.panel.drop_next_2.x
- },
- {
- "game.panel.drop_next_2.y",
- &game.panel.drop_next_2.y
- },
- {
- "game.panel.drop_next_3.x",
- &game.panel.drop_next_3.x
- },
- {
- "game.panel.drop_next_3.y",
- &game.panel.drop_next_3.y
- },
- {
- "game.panel.drop_next_4.x",
- &game.panel.drop_next_4.x
- },
- {
- "game.panel.drop_next_4.y",
- &game.panel.drop_next_4.y
- },
- {
- "game.panel.drop_next_5.x",
- &game.panel.drop_next_5.x
- },
- {
- "game.panel.drop_next_5.y",
- &game.panel.drop_next_5.y
- },
- {
- "game.panel.drop_next_6.x",
- &game.panel.drop_next_6.x
- },
- {
- "game.panel.drop_next_6.y",
- &game.panel.drop_next_6.y
- },
- {
- "game.panel.drop_next_7.x",
- &game.panel.drop_next_7.x
- },
- {
- "game.panel.drop_next_7.y",
- &game.panel.drop_next_7.y
- },
- {
- "game.panel.drop_next_8.x",
- &game.panel.drop_next_8.x
- },
- {
- "game.panel.drop_next_8.y",
- &game.panel.drop_next_8.y
- },
{
"game.panel.shield_normal.x",
&game.panel.shield_normal.x
"game.panel.shield_normal.y",
&game.panel.shield_normal.y
},
+ {
+ "game.panel.shield_normal.tile_size",
+ &game.panel.shield_normal.size
+ },
{
"game.panel.shield_normal_time.x",
&game.panel.shield_normal_time.x
&game.panel.shield_normal_time.valign
},
{
- "game.panel.shield_normal_time.chars",
- &game.panel.shield_normal_time.chars
+ "game.panel.shield_normal_time.digits",
+ &game.panel.shield_normal_time.size
},
{
"game.panel.shield_normal_time.font",
"game.panel.shield_deadly.y",
&game.panel.shield_deadly.y
},
+ {
+ "game.panel.shield_deadly.tile_size",
+ &game.panel.shield_deadly.size
+ },
{
"game.panel.shield_deadly_time.x",
&game.panel.shield_deadly_time.x
&game.panel.shield_deadly_time.valign
},
{
- "game.panel.shield_deadly_time.chars",
- &game.panel.shield_deadly_time.chars
+ "game.panel.shield_deadly_time.digits",
+ &game.panel.shield_deadly_time.size
},
{
"game.panel.shield_deadly_time.font",
"game.panel.exit.y",
&game.panel.exit.y
},
+ {
+ "game.panel.exit.tile_size",
+ &game.panel.exit.size
+ },
{
"game.panel.em_exit.x",
&game.panel.em_exit.x
"game.panel.em_exit.y",
&game.panel.em_exit.y
},
+ {
+ "game.panel.em_exit.tile_size",
+ &game.panel.em_exit.size
+ },
{
"game.panel.sp_exit.x",
&game.panel.sp_exit.x
"game.panel.sp_exit.y",
&game.panel.sp_exit.y
},
+ {
+ "game.panel.sp_exit.tile_size",
+ &game.panel.sp_exit.size
+ },
{
"game.panel.steel_exit.x",
&game.panel.steel_exit.x
"game.panel.steel_exit.y",
&game.panel.steel_exit.y
},
+ {
+ "game.panel.steel_exit.tile_size",
+ &game.panel.steel_exit.size
+ },
{
"game.panel.em_steel_exit.x",
&game.panel.em_steel_exit.x
"game.panel.em_steel_exit.y",
&game.panel.em_steel_exit.y
},
+ {
+ "game.panel.em_steel_exit.tile_size",
+ &game.panel.em_steel_exit.size
+ },
{
"game.panel.emc_magic_ball.x",
&game.panel.emc_magic_ball.x
"game.panel.emc_magic_ball.y",
&game.panel.emc_magic_ball.y
},
+ {
+ "game.panel.emc_magic_ball.tile_size",
+ &game.panel.emc_magic_ball.size
+ },
{
"game.panel.emc_magic_ball_switch.x",
&game.panel.emc_magic_ball_switch.x
"game.panel.emc_magic_ball_switch.y",
&game.panel.emc_magic_ball_switch.y
},
+ {
+ "game.panel.emc_magic_ball_switch.tile_size",
+ &game.panel.emc_magic_ball_switch.size
+ },
{
"game.panel.light_switch.x",
&game.panel.light_switch.x
"game.panel.light_switch.y",
&game.panel.light_switch.y
},
+ {
+ "game.panel.light_switch.tile_size",
+ &game.panel.light_switch.size
+ },
{
"game.panel.light_switch_time.x",
&game.panel.light_switch_time.x
&game.panel.light_switch_time.valign
},
{
- "game.panel.light_switch_time.chars",
- &game.panel.light_switch_time.chars
+ "game.panel.light_switch_time.digits",
+ &game.panel.light_switch_time.size
},
{
"game.panel.light_switch_time.font",
"game.panel.timegate_switch.y",
&game.panel.timegate_switch.y
},
+ {
+ "game.panel.timegate_switch.tile_size",
+ &game.panel.timegate_switch.size
+ },
{
"game.panel.timegate_switch_time.x",
&game.panel.timegate_switch_time.x
&game.panel.timegate_switch_time.valign
},
{
- "game.panel.timegate_switch_time.chars",
- &game.panel.timegate_switch_time.chars
+ "game.panel.timegate_switch_time.digits",
+ &game.panel.timegate_switch_time.size
},
{
"game.panel.timegate_switch_time.font",
"game.panel.switchgate_switch.y",
&game.panel.switchgate_switch.y
},
+ {
+ "game.panel.switchgate_switch.tile_size",
+ &game.panel.switchgate_switch.size
+ },
{
"game.panel.emc_lenses.x",
&game.panel.emc_lenses.x
"game.panel.emc_lenses.y",
&game.panel.emc_lenses.y
},
+ {
+ "game.panel.emc_lenses.tile_size",
+ &game.panel.emc_lenses.size
+ },
{
"game.panel.emc_lenses_time.x",
&game.panel.emc_lenses_time.x
&game.panel.emc_lenses_time.valign
},
{
- "game.panel.emc_lenses_time.chars",
- &game.panel.emc_lenses_time.chars
+ "game.panel.emc_lenses_time.digits",
+ &game.panel.emc_lenses_time.size
},
{
"game.panel.emc_lenses_time.font",
"game.panel.emc_magnifier.y",
&game.panel.emc_magnifier.y
},
+ {
+ "game.panel.emc_magnifier.tile_size",
+ &game.panel.emc_magnifier.size
+ },
{
"game.panel.emc_magnifier_time.x",
&game.panel.emc_magnifier_time.x
&game.panel.emc_magnifier_time.valign
},
{
- "game.panel.emc_magnifier_time.chars",
- &game.panel.emc_magnifier_time.chars
+ "game.panel.emc_magnifier_time.digits",
+ &game.panel.emc_magnifier_time.size
},
{
"game.panel.emc_magnifier_time.font",
"game.panel.balloon_switch.y",
&game.panel.balloon_switch.y
},
+ {
+ "game.panel.balloon_switch.tile_size",
+ &game.panel.balloon_switch.size
+ },
{
"game.panel.dynabomb_number.x",
&game.panel.dynabomb_number.x
&game.panel.dynabomb_number.valign
},
{
- "game.panel.dynabomb_number.chars",
- &game.panel.dynabomb_number.chars
+ "game.panel.dynabomb_number.digits",
+ &game.panel.dynabomb_number.size
},
{
"game.panel.dynabomb_number.font",
&game.panel.dynabomb_size.valign
},
{
- "game.panel.dynabomb_size.chars",
- &game.panel.dynabomb_size.chars
+ "game.panel.dynabomb_size.digits",
+ &game.panel.dynabomb_size.size
},
{
"game.panel.dynabomb_size.font",
"game.panel.dynabomb_power.y",
&game.panel.dynabomb_power.y
},
+ {
+ "game.panel.dynabomb_power.tile_size",
+ &game.panel.dynabomb_power.size
+ },
{
"game.panel.penguins.x",
&game.panel.penguins.x
&game.panel.penguins.valign
},
{
- "game.panel.penguins.chars",
- &game.panel.penguins.chars
+ "game.panel.penguins.digits",
+ &game.panel.penguins.size
},
{
"game.panel.penguins.font",
&game.panel.sokoban_objects.valign
},
{
- "game.panel.sokoban_objects.chars",
- &game.panel.sokoban_objects.chars
+ "game.panel.sokoban_objects.digits",
+ &game.panel.sokoban_objects.size
},
{
"game.panel.sokoban_objects.font",
&game.panel.sokoban_fields.valign
},
{
- "game.panel.sokoban_fields.chars",
- &game.panel.sokoban_fields.chars
+ "game.panel.sokoban_fields.digits",
+ &game.panel.sokoban_fields.size
},
{
"game.panel.sokoban_fields.font",
"game.panel.robot_wheel.y",
&game.panel.robot_wheel.y
},
+ {
+ "game.panel.robot_wheel.tile_size",
+ &game.panel.robot_wheel.size
+ },
{
"game.panel.conveyor_belt_1.x",
&game.panel.conveyor_belt_1.x
"game.panel.conveyor_belt_1.y",
&game.panel.conveyor_belt_1.y
},
+ {
+ "game.panel.conveyor_belt_1.tile_size",
+ &game.panel.conveyor_belt_1.size
+ },
{
"game.panel.conveyor_belt_1_switch.x",
&game.panel.conveyor_belt_1_switch.x
"game.panel.conveyor_belt_1_switch.y",
&game.panel.conveyor_belt_1_switch.y
},
+ {
+ "game.panel.conveyor_belt_1_switch.tile_size",
+ &game.panel.conveyor_belt_1_switch.size
+ },
{
"game.panel.conveyor_belt_2.x",
&game.panel.conveyor_belt_2.x
"game.panel.conveyor_belt_2.y",
&game.panel.conveyor_belt_2.y
},
+ {
+ "game.panel.conveyor_belt_2.tile_size",
+ &game.panel.conveyor_belt_2.size
+ },
{
"game.panel.conveyor_belt_2_switch.x",
&game.panel.conveyor_belt_2_switch.x
"game.panel.conveyor_belt_2_switch.y",
&game.panel.conveyor_belt_2_switch.y
},
+ {
+ "game.panel.conveyor_belt_2_switch.tile_size",
+ &game.panel.conveyor_belt_2_switch.size
+ },
{
"game.panel.conveyor_belt_3.x",
&game.panel.conveyor_belt_3.x
"game.panel.conveyor_belt_3.y",
&game.panel.conveyor_belt_3.y
},
+ {
+ "game.panel.conveyor_belt_3.tile_size",
+ &game.panel.conveyor_belt_3.size
+ },
{
"game.panel.conveyor_belt_3_switch.x",
&game.panel.conveyor_belt_3_switch.x
"game.panel.conveyor_belt_3_switch.y",
&game.panel.conveyor_belt_3_switch.y
},
+ {
+ "game.panel.conveyor_belt_3_switch.tile_size",
+ &game.panel.conveyor_belt_3_switch.size
+ },
{
"game.panel.conveyor_belt_4.x",
&game.panel.conveyor_belt_4.x
"game.panel.conveyor_belt_4.y",
&game.panel.conveyor_belt_4.y
},
+ {
+ "game.panel.conveyor_belt_4.tile_size",
+ &game.panel.conveyor_belt_4.size
+ },
{
"game.panel.conveyor_belt_4_switch.x",
&game.panel.conveyor_belt_4_switch.x
"game.panel.conveyor_belt_4_switch.y",
&game.panel.conveyor_belt_4_switch.y
},
+ {
+ "game.panel.conveyor_belt_4_switch.tile_size",
+ &game.panel.conveyor_belt_4_switch.size
+ },
{
"game.panel.magic_wall.x",
&game.panel.magic_wall.x
"game.panel.magic_wall.y",
&game.panel.magic_wall.y
},
+ {
+ "game.panel.magic_wall.tile_size",
+ &game.panel.magic_wall.size
+ },
{
"game.panel.magic_wall_time.x",
&game.panel.magic_wall_time.x
&game.panel.magic_wall_time.valign
},
{
- "game.panel.magic_wall_time.chars",
- &game.panel.magic_wall_time.chars
+ "game.panel.magic_wall_time.digits",
+ &game.panel.magic_wall_time.size
},
{
"game.panel.magic_wall_time.font",
"game.panel.bd_magic_wall.y",
&game.panel.bd_magic_wall.y
},
+ {
+ "game.panel.bd_magic_wall.tile_size",
+ &game.panel.bd_magic_wall.size
+ },
{
"game.panel.dc_magic_wall.x",
&game.panel.dc_magic_wall.x
"game.panel.dc_magic_wall.y",
&game.panel.dc_magic_wall.y
},
+ {
+ "game.panel.dc_magic_wall.tile_size",
+ &game.panel.dc_magic_wall.size
+ },
{
"game.panel.player_name.x",
&game.panel.player_name.x
},
{
"game.panel.player_name.chars",
- &game.panel.player_name.chars
+ &game.panel.player_name.size
},
{
"game.panel.player_name.font",
},
{
"game.panel.level_name.chars",
- &game.panel.level_name.chars
+ &game.panel.level_name.size
},
{
"game.panel.level_name.font",
},
{
"game.panel.level_author.chars",
- &game.panel.level_author.chars
+ &game.panel.level_author.size
},
{
"game.panel.level_author.font",
-#define COMPILE_DATE_STRING "2007-04-01 23:19"
+#define COMPILE_DATE_STRING "2007-04-03 01:38"
#define GAME_CONTROL_LEVEL_NUMBER 0
#define GAME_CONTROL_GEMS 1
-#define GAME_CONTROL_INVENTORY 2
-#define GAME_CONTROL_KEY_1 3
-#define GAME_CONTROL_KEY_2 4
-#define GAME_CONTROL_KEY_3 5
-#define GAME_CONTROL_KEY_4 6
-#define GAME_CONTROL_KEY_5 7
-#define GAME_CONTROL_KEY_6 8
-#define GAME_CONTROL_KEY_7 9
-#define GAME_CONTROL_KEY_8 10
-#define GAME_CONTROL_KEY_WHITE 11
-#define GAME_CONTROL_KEY_WHITE_COUNT 12
-#define GAME_CONTROL_SCORE 13
-#define GAME_CONTROL_TIME 14
-#define GAME_CONTROL_TIME_HH 15
-#define GAME_CONTROL_TIME_MM 16
-#define GAME_CONTROL_TIME_SS 17
-#define GAME_CONTROL_DROP_NEXT_1 18
-#define GAME_CONTROL_DROP_NEXT_2 19
-#define GAME_CONTROL_DROP_NEXT_3 20
-#define GAME_CONTROL_DROP_NEXT_4 21
-#define GAME_CONTROL_DROP_NEXT_5 22
-#define GAME_CONTROL_DROP_NEXT_6 23
-#define GAME_CONTROL_DROP_NEXT_7 24
-#define GAME_CONTROL_DROP_NEXT_8 25
-#define GAME_CONTROL_SHIELD_NORMAL 26
-#define GAME_CONTROL_SHIELD_NORMAL_TIME 27
-#define GAME_CONTROL_SHIELD_DEADLY 28
-#define GAME_CONTROL_SHIELD_DEADLY_TIME 29
-#define GAME_CONTROL_EXIT 30
-#define GAME_CONTROL_EM_EXIT 31
-#define GAME_CONTROL_SP_EXIT 32
-#define GAME_CONTROL_STEEL_EXIT 33
-#define GAME_CONTROL_EM_STEEL_EXIT 34
-#define GAME_CONTROL_EMC_MAGIC_BALL 35
-#define GAME_CONTROL_EMC_MAGIC_BALL_SWITCH 36
-#define GAME_CONTROL_LIGHT_SWITCH 37
-#define GAME_CONTROL_LIGHT_SWITCH_TIME 38
-#define GAME_CONTROL_TIMEGATE_SWITCH 39
-#define GAME_CONTROL_TIMEGATE_SWITCH_TIME 40
-#define GAME_CONTROL_SWITCHGATE_SWITCH 41
-#define GAME_CONTROL_EMC_LENSES 42
-#define GAME_CONTROL_EMC_LENSES_TIME 43
-#define GAME_CONTROL_EMC_MAGNIFIER 44
-#define GAME_CONTROL_EMC_MAGNIFIER_TIME 45
-#define GAME_CONTROL_BALLOON_SWITCH 46
-#define GAME_CONTROL_DYNABOMB_NUMBER 47
-#define GAME_CONTROL_DYNABOMB_SIZE 48
-#define GAME_CONTROL_DYNABOMB_POWER 49
-#define GAME_CONTROL_PENGUINS 50
-#define GAME_CONTROL_SOKOBAN_OBJECTS 51
-#define GAME_CONTROL_SOKOBAN_FIELDS 52
-#define GAME_CONTROL_ROBOT_WHEEL 53
-#define GAME_CONTROL_CONVEYOR_BELT_1 54
-#define GAME_CONTROL_CONVEYOR_BELT_1_SWITCH 55
-#define GAME_CONTROL_CONVEYOR_BELT_2 56
-#define GAME_CONTROL_CONVEYOR_BELT_2_SWITCH 57
-#define GAME_CONTROL_CONVEYOR_BELT_3 58
-#define GAME_CONTROL_CONVEYOR_BELT_3_SWITCH 59
-#define GAME_CONTROL_CONVEYOR_BELT_4 60
-#define GAME_CONTROL_CONVEYOR_BELT_4_SWITCH 61
-#define GAME_CONTROL_MAGIC_WALL 62
-#define GAME_CONTROL_MAGIC_WALL_TIME 63
-#define GAME_CONTROL_BD_MAGIC_WALL 64
-#define GAME_CONTROL_DC_MAGIC_WALL 65
-#define GAME_CONTROL_PLAYER_NAME 66
-#define GAME_CONTROL_LEVEL_NAME 67
-#define GAME_CONTROL_LEVEL_AUTHOR 68
-
-#define NUM_GAME_CONTROLS 69
+#define GAME_CONTROL_INVENTORY_COUNT 2
+#define GAME_CONTROL_INVENTORY_FIRST_1 3
+#define GAME_CONTROL_INVENTORY_FIRST_2 4
+#define GAME_CONTROL_INVENTORY_FIRST_3 5
+#define GAME_CONTROL_INVENTORY_FIRST_4 6
+#define GAME_CONTROL_INVENTORY_FIRST_5 7
+#define GAME_CONTROL_INVENTORY_FIRST_6 8
+#define GAME_CONTROL_INVENTORY_FIRST_7 9
+#define GAME_CONTROL_INVENTORY_FIRST_8 10
+#define GAME_CONTROL_INVENTORY_LAST_1 11
+#define GAME_CONTROL_INVENTORY_LAST_2 12
+#define GAME_CONTROL_INVENTORY_LAST_3 13
+#define GAME_CONTROL_INVENTORY_LAST_4 14
+#define GAME_CONTROL_INVENTORY_LAST_5 15
+#define GAME_CONTROL_INVENTORY_LAST_6 16
+#define GAME_CONTROL_INVENTORY_LAST_7 17
+#define GAME_CONTROL_INVENTORY_LAST_8 18
+#define GAME_CONTROL_KEY_1 19
+#define GAME_CONTROL_KEY_2 20
+#define GAME_CONTROL_KEY_3 21
+#define GAME_CONTROL_KEY_4 22
+#define GAME_CONTROL_KEY_5 23
+#define GAME_CONTROL_KEY_6 24
+#define GAME_CONTROL_KEY_7 25
+#define GAME_CONTROL_KEY_8 26
+#define GAME_CONTROL_KEY_WHITE 27
+#define GAME_CONTROL_KEY_WHITE_COUNT 28
+#define GAME_CONTROL_SCORE 29
+#define GAME_CONTROL_TIME 30
+#define GAME_CONTROL_TIME_HH 31
+#define GAME_CONTROL_TIME_MM 32
+#define GAME_CONTROL_TIME_SS 33
+#define GAME_CONTROL_SHIELD_NORMAL 34
+#define GAME_CONTROL_SHIELD_NORMAL_TIME 35
+#define GAME_CONTROL_SHIELD_DEADLY 36
+#define GAME_CONTROL_SHIELD_DEADLY_TIME 37
+#define GAME_CONTROL_EXIT 38
+#define GAME_CONTROL_EM_EXIT 39
+#define GAME_CONTROL_SP_EXIT 40
+#define GAME_CONTROL_STEEL_EXIT 41
+#define GAME_CONTROL_EM_STEEL_EXIT 42
+#define GAME_CONTROL_EMC_MAGIC_BALL 43
+#define GAME_CONTROL_EMC_MAGIC_BALL_SWITCH 44
+#define GAME_CONTROL_LIGHT_SWITCH 45
+#define GAME_CONTROL_LIGHT_SWITCH_TIME 46
+#define GAME_CONTROL_TIMEGATE_SWITCH 47
+#define GAME_CONTROL_TIMEGATE_SWITCH_TIME 48
+#define GAME_CONTROL_SWITCHGATE_SWITCH 49
+#define GAME_CONTROL_EMC_LENSES 50
+#define GAME_CONTROL_EMC_LENSES_TIME 51
+#define GAME_CONTROL_EMC_MAGNIFIER 52
+#define GAME_CONTROL_EMC_MAGNIFIER_TIME 53
+#define GAME_CONTROL_BALLOON_SWITCH 54
+#define GAME_CONTROL_DYNABOMB_NUMBER 55
+#define GAME_CONTROL_DYNABOMB_SIZE 56
+#define GAME_CONTROL_DYNABOMB_POWER 57
+#define GAME_CONTROL_PENGUINS 58
+#define GAME_CONTROL_SOKOBAN_OBJECTS 59
+#define GAME_CONTROL_SOKOBAN_FIELDS 60
+#define GAME_CONTROL_ROBOT_WHEEL 61
+#define GAME_CONTROL_CONVEYOR_BELT_1 62
+#define GAME_CONTROL_CONVEYOR_BELT_1_SWITCH 63
+#define GAME_CONTROL_CONVEYOR_BELT_2 64
+#define GAME_CONTROL_CONVEYOR_BELT_2_SWITCH 65
+#define GAME_CONTROL_CONVEYOR_BELT_3 66
+#define GAME_CONTROL_CONVEYOR_BELT_3_SWITCH 67
+#define GAME_CONTROL_CONVEYOR_BELT_4 68
+#define GAME_CONTROL_CONVEYOR_BELT_4_SWITCH 69
+#define GAME_CONTROL_MAGIC_WALL 70
+#define GAME_CONTROL_MAGIC_WALL_TIME 71
+#define GAME_CONTROL_BD_MAGIC_WALL 72
+#define GAME_CONTROL_DC_MAGIC_WALL 73
+#define GAME_CONTROL_PLAYER_NAME 74
+#define GAME_CONTROL_LEVEL_NAME 75
+#define GAME_CONTROL_LEVEL_AUTHOR 76
+
+#define NUM_GAME_CONTROLS 77
int game_control_value[NUM_GAME_CONTROLS];
int last_game_control_value[NUM_GAME_CONTROLS];
TYPE_INTEGER,
},
{
- GAME_CONTROL_INVENTORY,
- &game.panel.inventory,
+ GAME_CONTROL_INVENTORY_COUNT,
+ &game.panel.inventory_count,
TYPE_INTEGER,
},
+ {
+ GAME_CONTROL_INVENTORY_FIRST_1,
+ &game.panel.inventory_first_1,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_FIRST_2,
+ &game.panel.inventory_first_2,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_FIRST_3,
+ &game.panel.inventory_first_3,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_FIRST_4,
+ &game.panel.inventory_first_4,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_FIRST_5,
+ &game.panel.inventory_first_5,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_FIRST_6,
+ &game.panel.inventory_first_6,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_FIRST_7,
+ &game.panel.inventory_first_7,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_FIRST_8,
+ &game.panel.inventory_first_8,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_LAST_1,
+ &game.panel.inventory_last_1,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_LAST_2,
+ &game.panel.inventory_last_2,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_LAST_3,
+ &game.panel.inventory_last_3,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_LAST_4,
+ &game.panel.inventory_last_4,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_LAST_5,
+ &game.panel.inventory_last_5,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_LAST_6,
+ &game.panel.inventory_last_6,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_LAST_7,
+ &game.panel.inventory_last_7,
+ TYPE_ELEMENT,
+ },
+ {
+ GAME_CONTROL_INVENTORY_LAST_8,
+ &game.panel.inventory_last_8,
+ TYPE_ELEMENT,
+ },
{
GAME_CONTROL_KEY_1,
&game.panel.key[0],
&game.panel.time_ss,
TYPE_INTEGER,
},
- {
- GAME_CONTROL_DROP_NEXT_1,
- &game.panel.drop_next_1,
- TYPE_ELEMENT,
- },
- {
- GAME_CONTROL_DROP_NEXT_2,
- &game.panel.drop_next_2,
- TYPE_ELEMENT,
- },
- {
- GAME_CONTROL_DROP_NEXT_3,
- &game.panel.drop_next_3,
- TYPE_ELEMENT,
- },
- {
- GAME_CONTROL_DROP_NEXT_4,
- &game.panel.drop_next_4,
- TYPE_ELEMENT,
- },
- {
- GAME_CONTROL_DROP_NEXT_5,
- &game.panel.drop_next_5,
- TYPE_ELEMENT,
- },
- {
- GAME_CONTROL_DROP_NEXT_6,
- &game.panel.drop_next_6,
- TYPE_ELEMENT,
- },
- {
- GAME_CONTROL_DROP_NEXT_7,
- &game.panel.drop_next_7,
- TYPE_ELEMENT,
- },
- {
- GAME_CONTROL_DROP_NEXT_8,
- &game.panel.drop_next_8,
- TYPE_ELEMENT,
- },
{
GAME_CONTROL_SHIELD_NORMAL,
&game.panel.shield_normal,
return key_base_element + key_nr;
}
+static int get_next_drop_element(struct PlayerInfo *player)
+{
+ return (player->inventory_size > 0 ?
+ player->inventory_element[player->inventory_size - 1] :
+ player->inventory_infinite_element != EL_UNDEFINED ?
+ player->inventory_infinite_element :
+ player->dynabombs_left > 0 ?
+ EL_DYNABOMB_PLAYER_1_ACTIVE + player->index_nr :
+ EL_UNDEFINED);
+}
+
+static int get_drop_element_from_pos(struct PlayerInfo *player, int pos)
+{
+ /* pos >= 0: get element from bottom of the stack;
+ pos < 0: get element from top of the stack */
+
+ if (pos < 0)
+ {
+ int min_inventory_size = -pos;
+ int inventory_pos = player->inventory_size - min_inventory_size;
+ int min_dynabombs_left = min_inventory_size - player->inventory_size;
+
+ return (player->inventory_size >= min_inventory_size ?
+ player->inventory_element[inventory_pos] :
+ player->inventory_infinite_element != EL_UNDEFINED ?
+ player->inventory_infinite_element :
+ player->dynabombs_left >= min_dynabombs_left ?
+ EL_DYNABOMB_PLAYER_1_ACTIVE + player->index_nr :
+ EL_UNDEFINED);
+ }
+ else
+ {
+ int min_dynabombs_left = pos + 1;
+ int min_inventory_size = pos + 1 - player->dynabombs_left;
+ int inventory_pos = pos - player->dynabombs_left;
+
+ return (player->inventory_infinite_element != EL_UNDEFINED ?
+ player->inventory_infinite_element :
+ player->dynabombs_left >= min_dynabombs_left ?
+ EL_DYNABOMB_PLAYER_1_ACTIVE + player->index_nr :
+ player->inventory_size >= min_inventory_size ?
+ player->inventory_element[inventory_pos] :
+ EL_UNDEFINED);
+ }
+}
+
void InitGameControlValues()
{
int i;
/* determine panel value width for later calculation of alignment */
if (type == TYPE_INTEGER || type == TYPE_STRING)
- pos->width = pos->chars * getFontWidth(pos->font);
+ {
+ pos->width = pos->size * getFontWidth(pos->font);
+ pos->height = getFontHeight(pos->font);
+ }
else if (type == TYPE_ELEMENT)
- pos->width = MINI_TILESIZE;
+ {
+ pos->width = pos->size;
+ pos->height = pos->size;
+ }
}
}
void UpdateGameControlValues()
{
int i, k;
+ int time = (level.time == 0 ? TimePlayed : TimeLeft);
+ int score = (local_player->LevelSolved ? local_player->score_final :
+ local_player->score);
game_control_value[GAME_CONTROL_LEVEL_NUMBER] = level_nr;
game_control_value[GAME_CONTROL_GEMS] = local_player->gems_still_needed;
- game_control_value[GAME_CONTROL_INVENTORY] = 0;
+ game_control_value[GAME_CONTROL_INVENTORY_COUNT] = 0;
for (i = 0; i < MAX_NUM_KEYS; i++)
game_control_value[GAME_CONTROL_KEY_1 + i] = EL_EMPTY;
game_control_value[GAME_CONTROL_KEY_WHITE] = EL_EMPTY;
game_control_value[GAME_CONTROL_KEY_1 + k] =
get_key_element_from_nr(k);
- game_control_value[GAME_CONTROL_INVENTORY] +=
+ game_control_value[GAME_CONTROL_INVENTORY_COUNT] +=
stored_player[i].inventory_size;
if (stored_player[i].num_white_keys > 0)
game_control_value[GAME_CONTROL_KEY_1 + k] =
get_key_element_from_nr(k);
- game_control_value[GAME_CONTROL_INVENTORY] +=
+ game_control_value[GAME_CONTROL_INVENTORY_COUNT] +=
stored_player[player_nr].inventory_size;
if (stored_player[player_nr].num_white_keys > 0)
stored_player[player_nr].num_white_keys;
}
- game_control_value[GAME_CONTROL_SCORE] = (local_player->LevelSolved ?
- local_player->score_final :
- local_player->score);
+ for (i = 0; i < 8; i++)
+ {
+ game_control_value[GAME_CONTROL_INVENTORY_FIRST_1 + i] =
+ get_drop_element_from_pos(local_player, i);
+ game_control_value[GAME_CONTROL_INVENTORY_LAST_1 + i] =
+ get_drop_element_from_pos(local_player, -i - 1);
+ }
- game_control_value[GAME_CONTROL_TIME] = (level.time == 0 ?
- TimePlayed :
- TimeLeft);
+ game_control_value[GAME_CONTROL_SCORE] = score;
- game_control_value[GAME_CONTROL_TIME_HH] = TapeTime / 3600;
- game_control_value[GAME_CONTROL_TIME_MM] = (TapeTime / 60) % 60;
- game_control_value[GAME_CONTROL_TIME_SS] = TapeTime % 60;
+ game_control_value[GAME_CONTROL_TIME] = time;
- /* !!! TODO !!! */
- for (i = 0; i < 8; i++)
- game_control_value[GAME_CONTROL_DROP_NEXT_1 + i] = EL_UNDEFINED;
+ game_control_value[GAME_CONTROL_TIME_HH] = time / 3600;
+ game_control_value[GAME_CONTROL_TIME_MM] = (time / 60) % 60;
+ game_control_value[GAME_CONTROL_TIME_SS] = time % 60;
game_control_value[GAME_CONTROL_SHIELD_NORMAL] =
(local_player->shield_normal_time_left > 0 ? EL_SHIELD_NORMAL_ACTIVE :
struct TextPosInfo *pos = game_controls[i].pos;
int value = game_control_value[nr];
int last_value = last_game_control_value[nr];
- int chars = pos->chars;
+ int size = pos->size;
int font = pos->font;
if (value == last_value)
{
if (nr == GAME_CONTROL_LEVEL_NUMBER || nr == GAME_CONTROL_TIME)
{
- boolean use_dynamic_chars = (pos->chars == -1 ? TRUE : FALSE);
+ boolean use_dynamic_size = (size == -1 ? TRUE : FALSE);
- if (use_dynamic_chars) /* use dynamic number of chars */
+ if (use_dynamic_size) /* use dynamic number of digits */
{
int value_change = (nr == GAME_CONTROL_LEVEL_NUMBER ? 100 : 1000);
- int chars1 = (nr == GAME_CONTROL_LEVEL_NUMBER ? 2 : 3);
- int chars2 = chars1 + 1;
+ int size1 = (nr == GAME_CONTROL_LEVEL_NUMBER ? 2 : 3);
+ int size2 = size1 + 1;
int font1 = pos->font;
int font2 = pos->font_alt;
- chars = (value < value_change ? chars1 : chars2);
- font = (value < value_change ? font1 : font2);
+ size = (value < value_change ? size1 : size2);
+ font = (value < value_change ? font1 : font2);
- /* clear background if value just changed its size (dynamic chars) */
+ /* clear background if value just changed its size (dynamic digits) */
if ((last_value < value_change) != (value < value_change))
{
- int width1 = chars1 * getFontWidth(font1);
- int width2 = chars2 * getFontWidth(font2);
+ int width1 = size1 * getFontWidth(font1);
+ int width2 = size2 * getFontWidth(font2);
int max_width = MAX(width1, width2);
int max_height = MAX(getFontHeight(font1), getFontHeight(font2));
}
}
- pos->width = chars * getFontWidth(font);
+ pos->width = size * getFontWidth(font);
}
- DrawText(PANEL_XPOS(pos), PANEL_YPOS(pos), int2str(value, chars), font);
+ DrawText(PANEL_XPOS(pos), PANEL_YPOS(pos), int2str(value, size), font);
}
else if (type == TYPE_ELEMENT)
{
int src_y = DOOR_GFX_PAGEY1 + ALIGNED_TEXT_YPOS(pos);
BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto, src_x, src_y,
- MINI_TILEX, MINI_TILEY, dst_x, dst_y);
+ size, size, dst_x, dst_y);
}
else
{
- int graphic = el2edimg(value);
+ int graphic = el2doorimg(value);
- DrawMiniGraphicExt(drawto, dst_x, dst_y, graphic);
+ DrawSizedGraphicExt(drawto, dst_x, dst_y, graphic, size);
}
}
else if (type == TYPE_STRING)
if (s != NULL)
{
- char *s_cut = getStringCopyN(s, pos->chars);
+ char *s_cut = getStringCopyN(s, size);
- DrawText(PANEL_XPOS(pos), PANEL_YPOS(pos), s_cut, pos->font);
+ DrawText(PANEL_XPOS(pos), PANEL_YPOS(pos), s_cut, font);
free(s_cut);
}
int font_nr = FONT_TEXT_2;
#endif
int font_width = getFontWidth(font_nr);
- int chars = pos->chars;
+ int chars = pos->size;
#if 1
return; /* !!! USE NEW STUFF !!! */
void DrawGameValue_Dynamite(int value)
{
- struct TextPosInfo *pos = &game.panel.inventory;
+ struct TextPosInfo *pos = &game.panel.inventory_count;
#if 1
int font_nr = pos->font;
#else
int font_nr = FONT_TEXT_2;
#endif
int font_width = getFontWidth(font_nr);
- int chars = pos->chars;
+ int chars = pos->size;
#if 1
return; /* !!! USE NEW STUFF !!! */
int font_nr = FONT_TEXT_2;
#endif
int font_width = getFontWidth(font_nr);
- int chars = pos->chars;
+ int chars = pos->size;
#if 1
return; /* !!! USE NEW STUFF !!! */
static int last_value = -1;
int chars1 = 3;
int chars2 = 4;
- int chars = pos->chars;
+ int chars = pos->size;
#if 1
int font1_nr = pos->font;
int font2_nr = pos->font_alt;
struct TextPosInfo *pos = &game.panel.level_number;
int chars1 = 2;
int chars2 = 3;
- int chars = pos->chars;
+ int chars = pos->size;
#if 1
int font1_nr = pos->font;
int font2_nr = pos->font_alt;
int font_nr = FONT_TEXT_2;
int xpos = (3 * 14 - 3 * getFontWidth(font_nr)) / 2;
- if (PANEL_DEACTIVATED(game.panel.inventory))
+ if (PANEL_DEACTIVATED(game.panel.inventory_count))
return;
DrawText(DX_DYNAMITE + xpos, DY_DYNAMITE, int2str(value, 3), font_nr);
int dropx = player->jx, dropy = player->jy;
int drop_direction = player->MovDir;
int drop_side = drop_direction;
+#if 1
+ int drop_element = get_next_drop_element(player);
+#else
int drop_element = (player->inventory_size > 0 ?
player->inventory_element[player->inventory_size - 1] :
player->inventory_infinite_element != EL_UNDEFINED ?
player->dynabombs_left > 0 ?
EL_DYNABOMB_PLAYER_1_ACTIVE + player->index_nr :
EL_UNDEFINED);
+#endif
player->is_dropping_pressed = TRUE;
{
struct TextPosInfo level_number;
struct TextPosInfo gems;
- struct TextPosInfo inventory;
+ struct TextPosInfo inventory_count;
+ struct TextPosInfo inventory_first_1;
+ struct TextPosInfo inventory_first_2;
+ struct TextPosInfo inventory_first_3;
+ struct TextPosInfo inventory_first_4;
+ struct TextPosInfo inventory_first_5;
+ struct TextPosInfo inventory_first_6;
+ struct TextPosInfo inventory_first_7;
+ struct TextPosInfo inventory_first_8;
+ struct TextPosInfo inventory_last_1;
+ struct TextPosInfo inventory_last_2;
+ struct TextPosInfo inventory_last_3;
+ struct TextPosInfo inventory_last_4;
+ struct TextPosInfo inventory_last_5;
+ struct TextPosInfo inventory_last_6;
+ struct TextPosInfo inventory_last_7;
+ struct TextPosInfo inventory_last_8;
struct TextPosInfo key[MAX_NUM_KEYS];
struct TextPosInfo key_white;
struct TextPosInfo key_white_count;
struct TextPosInfo time_hh;
struct TextPosInfo time_mm;
struct TextPosInfo time_ss;
- struct TextPosInfo drop_next_1;
- struct TextPosInfo drop_next_2;
- struct TextPosInfo drop_next_3;
- struct TextPosInfo drop_next_4;
- struct TextPosInfo drop_next_5;
- struct TextPosInfo drop_next_6;
- struct TextPosInfo drop_next_7;
- struct TextPosInfo drop_next_8;
struct TextPosInfo shield_normal;
struct TextPosInfo shield_normal_time;
struct TextPosInfo shield_deadly;
int x, y;
int width, height;
int align, valign;
- int chars;
+ int size;
int font, font_alt;
};
/* set main control text values to dynamically determined values */
sprintf(main_text_name, "%s", local_team_mode ? "Team:" : "Name:");
- sprintf(main_text_first_level, "%03d", leveldir_current->first_level);
- sprintf(main_text_last_level, "%03d", leveldir_current->last_level);
- sprintf(main_text_level_number, "%s", int2str(level_nr, 3));
+
+ strcpy(main_text_first_level, int2str(leveldir_current->first_level,
+ menu.main.text.first_level.size));
+ strcpy(main_text_last_level, int2str(leveldir_current->last_level,
+ menu.main.text.last_level.size));
+ strcpy(main_text_level_number, int2str(level_nr,
+ menu.main.text.level_number.size));
main_text_level_year = leveldir_current->year;
main_text_level_imported_from = leveldir_current->imported_from;
#if 1
DrawText(mSX + mci->pos_text->x, mSY + mci->pos_text->y,
- int2str(level_nr, 3), mci->pos_text->font);
+ int2str(level_nr, menu.main.text.level_number.size),
+ mci->pos_text->font);
#else
DrawText(mSX + 11 * 32, mSY + 3 * 32, int2str(level_nr, 3), FONT_VALUE_1);
#endif
sync_frame);
}
+void getSizedGraphicSource(int graphic, Bitmap **bitmap, int *x, int *y,
+ int tilesize_raw)
+{
+ struct
+ {
+ int width_mult, width_div;
+ int height_mult, height_div;
+ }
+ offset_calc[6] =
+ {
+ { 15, 16, 2, 3 }, /* 1 x 1 */
+ { 7, 8, 2, 3 }, /* 2 x 2 */
+ { 3, 4, 2, 3 }, /* 4 x 4 */
+ { 1, 2, 2, 3 }, /* 8 x 8 */
+ { 0, 1, 2, 3 }, /* 16 x 16 */
+ { 0, 1, 0, 1 }, /* 32 x 32 */
+ };
+ int tilesize = MIN(MAX(1, tilesize_raw), TILESIZE);
+ int offset_calc_pos = log_2(tilesize);
+ Bitmap *src_bitmap = graphic_info[graphic].bitmap;
+ int width_mult = offset_calc[offset_calc_pos].width_mult;
+ int width_div = offset_calc[offset_calc_pos].width_div;
+ int height_mult = offset_calc[offset_calc_pos].height_mult;
+ int height_div = offset_calc[offset_calc_pos].height_div;
+ int startx = src_bitmap->width * width_mult / width_div;
+ int starty = src_bitmap->height * height_mult / height_div;
+ int src_x = startx + graphic_info[graphic].src_x * tilesize / TILESIZE;
+ int src_y = starty + graphic_info[graphic].src_y * tilesize / TILESIZE;
+
+ *bitmap = src_bitmap;
+ *x = src_x;
+ *y = src_y;
+}
+
+void getMiniGraphicSource(int graphic, Bitmap **bitmap, int *x, int *y)
+{
+#if 1
+ getSizedGraphicSource(graphic, bitmap, x, y, MINI_TILESIZE);
+#else
+ struct GraphicInfo *g = &graphic_info[graphic];
+ int mini_startx = 0;
+ int mini_starty = g->bitmap->height * 2 / 3;
+
+ *bitmap = g->bitmap;
+ *x = mini_startx + g->src_x / 2;
+ *y = mini_starty + g->src_y / 2;
+#endif
+}
+
inline void getGraphicSourceExt(int graphic, int frame, Bitmap **bitmap,
int *x, int *y, boolean get_backside)
{
BlitBitmapMasked(src_bitmap, d, src_x, src_y, TILEX, TILEY, dst_x, dst_y);
}
-void DrawMiniGraphic(int x, int y, int graphic)
+void DrawSizedGraphic(int x, int y, int graphic, int tilesize)
{
- DrawMiniGraphicExt(drawto, SX + x * MINI_TILEX,SY + y * MINI_TILEY, graphic);
- MarkTileDirty(x / 2, y / 2);
+ DrawSizedGraphicExt(drawto, SX + x * tilesize, SY + y * tilesize, graphic,
+ tilesize);
+ MarkTileDirty(x / tilesize, y / tilesize);
}
-void getMiniGraphicSource(int graphic, Bitmap **bitmap, int *x, int *y)
+void DrawSizedGraphicExt(DrawBuffer *d, int x, int y, int graphic, int tilesize)
{
- struct GraphicInfo *g = &graphic_info[graphic];
- int mini_startx = 0;
- int mini_starty = g->bitmap->height * 2 / 3;
+ Bitmap *src_bitmap;
+ int src_x, src_y;
- *bitmap = g->bitmap;
- *x = mini_startx + g->src_x / 2;
- *y = mini_starty + g->src_y / 2;
+ getSizedGraphicSource(graphic, &src_bitmap, &src_x, &src_y, tilesize);
+ BlitBitmap(src_bitmap, d, src_x, src_y, tilesize, tilesize, x, y);
+}
+
+void DrawMiniGraphic(int x, int y, int graphic)
+{
+ DrawMiniGraphicExt(drawto, SX + x * MINI_TILEX,SY + y * MINI_TILEY, graphic);
+ MarkTileDirty(x / 2, y / 2);
}
void DrawMiniGraphicExt(DrawBuffer *d, int x, int y, int graphic)
BackToFront();
}
-void getPreviewGraphicSource(int graphic, Bitmap **bitmap, int *x, int *y,
- int tilesize)
-{
- struct
- {
- int width_mult, width_div;
- int height_mult, height_div;
-#if 1
- }
- offset_calc[6] =
-#else
- offset_calc[4] =
-#endif
- {
- { 0, 1, 0, 1 },
- { 0, 1, 2, 3 },
- { 1, 2, 2, 3 },
- { 3, 4, 2, 3 },
-#if 1
- { 7, 8, 2, 3 },
- { 15, 16, 2, 3 },
-#endif
- };
-#if 1
- int offset_calc_pos = (tilesize < MICRO_TILESIZE / 4 ||
- tilesize > TILESIZE ? 5 : 5 - log_2(tilesize));
-#else
- int offset_calc_pos = (tilesize < MICRO_TILESIZE || tilesize > TILESIZE ? 3 :
- 5 - log_2(tilesize));
-#endif
- Bitmap *src_bitmap = graphic_info[graphic].bitmap;
- int width_mult = offset_calc[offset_calc_pos].width_mult;
- int width_div = offset_calc[offset_calc_pos].width_div;
- int height_mult = offset_calc[offset_calc_pos].height_mult;
- int height_div = offset_calc[offset_calc_pos].height_div;
- int mini_startx = src_bitmap->width * width_mult / width_div;
- int mini_starty = src_bitmap->height * height_mult / height_div;
- int src_x = mini_startx + graphic_info[graphic].src_x * tilesize / TILESIZE;
- int src_y = mini_starty + graphic_info[graphic].src_y * tilesize / TILESIZE;
-
- *bitmap = src_bitmap;
- *x = src_x;
- *y = src_y;
-}
-
void DrawPreviewElement(int dst_x, int dst_y, int element, int tilesize)
{
Bitmap *src_bitmap;
int src_x, src_y;
int graphic = el2preimg(element);
- getPreviewGraphicSource(graphic, &src_bitmap, &src_x, &src_y, tilesize);
+ getSizedGraphicSource(graphic, &src_bitmap, &src_x, &src_y, tilesize);
BlitBitmap(src_bitmap, drawto, src_x, src_y, tilesize, tilesize, dst_x,dst_y);
}
#endif
#if 1
- if (pos->chars != -1)
- max_len_label_text = pos->chars;
+ if (pos->size != -1)
+ max_len_label_text = pos->size;
#endif
for (i = 0; i < max_len_label_text; i++)
#endif
#if 1
- if (pos->chars != -1)
- max_len_label_text = pos->chars;
+ if (pos->size != -1)
+ max_len_label_text = pos->size;
#endif
strncpy(label_text, leveldir_current->name, max_len_label_text);
return element_info[element].special_graphic[GFX_SPECIAL_ARG_PREVIEW];
}
+int el2doorimg(int element)
+{
+ element = GFX_ELEMENT(element);
+
+ return element_info[element].special_graphic[GFX_SPECIAL_ARG_DOOR];
+}
+
int font2baseimg(int font_nr)
{
return font_info[font_nr].special_graphic[GFX_SPECIAL_ARG_DEFAULT];
void DrawPlayerField(int, int);
void DrawPlayer(struct PlayerInfo *);
+void getSizedGraphicSource(int, Bitmap **, int *, int *, int);
+void getMiniGraphicSource(int, Bitmap **, int *, int *);
void getGraphicSourceExt(int, int, Bitmap **, int *, int *, boolean);
void getGraphicSource(int, int, Bitmap **, int *, int *);
void DrawGraphic(int, int, int, int);
void DrawGraphicThruMask(int, int, int, int);
void DrawGraphicThruMaskExt(DrawBuffer *, int, int, int, int);
+void DrawSizedGraphic(int, int, int, int);
+void DrawSizedGraphicExt(DrawBuffer *, int, int, int, int);
void DrawMiniGraphic(int, int, int);
-void getMiniGraphicSource(int, Bitmap **, int *, int *);
void DrawMiniGraphicExt(DrawBuffer *, int, int, int);
void DrawScreenElementExt(int, int, int, int, int, int, int);
int el2img(int);
int el2edimg(int);
int el2preimg(int);
+int el2doorimg(int);
int font2baseimg(int);
int getBeltNrFromBeltElement(int);