From 4231c290a878b5fb95bffdf78b5486359ce1268f Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sat, 7 Apr 2007 20:05:09 +0200 Subject: [PATCH] rnd-20070407-3-src * added game panel control to display custom element score (globally unique for identical custom elements) either as value or as element * added ".draw_masked" and ".draw_order" to game panel control drawing --- ChangeLog | 5 + src/conf_gfx.c | 176 +++++++++++ src/conf_var.c | 704 +++++++++++++++++++++++++++++++++++++++++++ src/conftime.h | 2 +- src/files.c | 1 + src/game.c | 134 +++++++- src/game.h | 1 + src/libgame/misc.c | 8 +- src/libgame/system.c | 26 ++ src/libgame/system.h | 2 + src/tools.c | 3 +- 11 files changed, 1050 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5fd95852..7a1ef5d8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-04-07 + * added game panel control to display custom element score (globally + unique for identical custom elements) either as value or as element + * added ".draw_masked" and ".draw_order" to game panel control drawing + 2007-04-05 * fixed some general bugs with handling of ".active" elements and fonts diff --git a/src/conf_gfx.c b/src/conf_gfx.c index c5d055c9..f15b8c1d 100644 --- a/src/conf_gfx.c +++ b/src/conf_gfx.c @@ -5493,6 +5493,8 @@ struct ConfigInfo image_config[] = { "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.level_number.draw_masked", "true" }, + { "game.panel.level_number.draw_order", "0" }, { "game.panel.gems.x", "50" }, { "game.panel.gems.y", "54" }, @@ -5500,6 +5502,8 @@ struct ConfigInfo image_config[] = { "game.panel.gems.valign", "top" }, { "game.panel.gems.digits", "3" }, { "game.panel.gems.font", "font.text_2" }, + { "game.panel.gems.draw_masked", "true" }, + { "game.panel.gems.draw_order", "0" }, { "game.panel.inventory_count.x", "50" }, { "game.panel.inventory_count.y", "89" }, @@ -5507,90 +5511,144 @@ struct ConfigInfo image_config[] = { "game.panel.inventory_count.valign", "top" }, { "game.panel.inventory_count.digits", "3" }, { "game.panel.inventory_count.font", "font.text_2" }, + { "game.panel.inventory_count.draw_masked", "true" }, + { "game.panel.inventory_count.draw_order", "0" }, { "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_1.draw_masked", "false" }, + { "game.panel.inventory_first_1.draw_order", "0" }, { "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_2.draw_masked", "false" }, + { "game.panel.inventory_first_2.draw_order", "0" }, { "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_3.draw_masked", "false" }, + { "game.panel.inventory_first_3.draw_order", "0" }, { "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_4.draw_masked", "false" }, + { "game.panel.inventory_first_4.draw_order", "0" }, { "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_5.draw_masked", "false" }, + { "game.panel.inventory_first_5.draw_order", "0" }, { "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_6.draw_masked", "false" }, + { "game.panel.inventory_first_6.draw_order", "0" }, { "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_7.draw_masked", "false" }, + { "game.panel.inventory_first_7.draw_order", "0" }, { "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_first_8.draw_masked", "false" }, + { "game.panel.inventory_first_8.draw_order", "0" }, { "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_1.draw_masked", "false" }, + { "game.panel.inventory_last_1.draw_order", "0" }, { "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_2.draw_masked", "false" }, + { "game.panel.inventory_last_2.draw_order", "0" }, { "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_3.draw_masked", "false" }, + { "game.panel.inventory_last_3.draw_order", "0" }, { "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_4.draw_masked", "false" }, + { "game.panel.inventory_last_4.draw_order", "0" }, { "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_5.draw_masked", "false" }, + { "game.panel.inventory_last_5.draw_order", "0" }, { "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_6.draw_masked", "false" }, + { "game.panel.inventory_last_6.draw_order", "0" }, { "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_7.draw_masked", "false" }, + { "game.panel.inventory_last_7.draw_order", "0" }, { "game.panel.inventory_last_8.x", "-1" }, { "game.panel.inventory_last_8.y", "-1" }, { "game.panel.inventory_last_8.tile_size", "16" }, + { "game.panel.inventory_last_8.draw_masked", "false" }, + { "game.panel.inventory_last_8.draw_order", "0" }, { "game.panel.key_1.x", "18" }, { "game.panel.key_1.y", "123" }, { "game.panel.key_1.tile_size", "16" }, + { "game.panel.key_1.draw_masked", "false" }, + { "game.panel.key_1.draw_order", "0" }, { "game.panel.key_2.x", "34" }, { "game.panel.key_2.y", "123" }, { "game.panel.key_2.tile_size", "16" }, + { "game.panel.key_2.draw_masked", "false" }, + { "game.panel.key_2.draw_order", "0" }, { "game.panel.key_3.x", "50" }, { "game.panel.key_3.y", "123" }, { "game.panel.key_3.tile_size", "16" }, + { "game.panel.key_3.draw_masked", "false" }, + { "game.panel.key_3.draw_order", "0" }, { "game.panel.key_4.x", "66" }, { "game.panel.key_4.y", "123" }, { "game.panel.key_4.tile_size", "16" }, + { "game.panel.key_4.draw_masked", "false" }, + { "game.panel.key_4.draw_order", "0" }, { "game.panel.key_5.x", "-1" }, { "game.panel.key_5.y", "-1" }, { "game.panel.key_5.tile_size", "16" }, + { "game.panel.key_5.draw_masked", "false" }, + { "game.panel.key_5.draw_order", "0" }, { "game.panel.key_6.x", "-1" }, { "game.panel.key_6.y", "-1" }, { "game.panel.key_6.tile_size", "16" }, + { "game.panel.key_6.draw_masked", "false" }, + { "game.panel.key_6.draw_order", "0" }, { "game.panel.key_7.x", "-1" }, { "game.panel.key_7.y", "-1" }, { "game.panel.key_7.tile_size", "16" }, + { "game.panel.key_7.draw_masked", "false" }, + { "game.panel.key_7.draw_order", "0" }, { "game.panel.key_8.x", "-1" }, { "game.panel.key_8.y", "-1" }, { "game.panel.key_8.tile_size", "16" }, + { "game.panel.key_8.draw_masked", "false" }, + { "game.panel.key_8.draw_order", "0" }, { "game.panel.key_white.x", "-1" }, { "game.panel.key_white.y", "-1" }, { "game.panel.key_white.tile_size", "16" }, + { "game.panel.key_white.draw_masked", "false" }, + { "game.panel.key_white.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.key_white_count.font", "font.text_2" }, + { "game.panel.key_white_count.draw_masked", "true" }, + { "game.panel.key_white_count.draw_order", "0" }, { "game.panel.score.x", "50" }, { "game.panel.score.y", "159" }, @@ -5598,6 +5656,8 @@ struct ConfigInfo image_config[] = { "game.panel.score.valign", "top" }, { "game.panel.score.digits", "5" }, { "game.panel.score.font", "font.text_2" }, + { "game.panel.score.draw_masked", "true" }, + { "game.panel.score.draw_order", "0" }, { "game.panel.time.x", "50" }, { "game.panel.time.y", "194" }, @@ -5606,6 +5666,8 @@ struct ConfigInfo image_config[] = { "game.panel.time.digits", "-1" }, { "game.panel.time.font", "font.text_2" }, { "game.panel.time.font_narrow", "font.text_1" }, + { "game.panel.time.draw_masked", "true" }, + { "game.panel.time.draw_order", "0" }, { "game.panel.time_hh.x", "-1" }, { "game.panel.time_hh.y", "-1" }, @@ -5613,96 +5675,136 @@ struct ConfigInfo image_config[] = { "game.panel.time_hh.valign", "top" }, { "game.panel.time_hh.digits", "2" }, { "game.panel.time_hh.font", "font.text_2" }, + { "game.panel.time_hh.draw_masked", "true" }, + { "game.panel.time_hh.draw_order", "0" }, { "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.digits", "2" }, { "game.panel.time_mm.font", "font.text_2" }, + { "game.panel.time_mm.draw_masked", "true" }, + { "game.panel.time_mm.draw_order", "0" }, { "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.digits", "2" }, { "game.panel.time_ss.font", "font.text_2" }, + { "game.panel.time_ss.draw_masked", "true" }, + { "game.panel.time_ss.draw_order", "0" }, { "game.panel.shield_normal.x", "-1" }, { "game.panel.shield_normal.y", "-1" }, { "game.panel.shield_normal.tile_size", "16" }, + { "game.panel.shield_normal.draw_masked", "false" }, + { "game.panel.shield_normal.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.shield_normal_time.font", "font.text_2" }, + { "game.panel.shield_normal_time.draw_masked", "true" }, + { "game.panel.shield_normal_time.draw_order", "0" }, { "game.panel.shield_deadly.x", "-1" }, { "game.panel.shield_deadly.y", "-1" }, { "game.panel.shield_deadly.tile_size", "16" }, + { "game.panel.shield_deadly.draw_masked", "false" }, + { "game.panel.shield_deadly.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.shield_deadly_time.font", "font.text_2" }, + { "game.panel.shield_deadly_time.draw_masked","true" }, + { "game.panel.shield_deadly_time.draw_order", "0" }, { "game.panel.exit.x", "-1" }, { "game.panel.exit.y", "-1" }, { "game.panel.exit.tile_size", "16" }, + { "game.panel.exit.draw_masked", "false" }, + { "game.panel.exit.draw_order", "0" }, { "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.draw_masked", "false" }, + { "game.panel.emc_magic_ball.draw_order", "0" }, { "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.emc_magic_ball_switch.draw_masked", "true" }, + { "game.panel.emc_magic_ball_switch.draw_order", "0" }, { "game.panel.light_switch.x", "-1" }, { "game.panel.light_switch.y", "-1" }, { "game.panel.light_switch.tile_size", "16" }, + { "game.panel.light_switch.draw_masked", "false" }, + { "game.panel.light_switch.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.light_switch_time.font", "font.text_2" }, + { "game.panel.light_switch_time.draw_masked", "true" }, + { "game.panel.light_switch_time.draw_order", "0" }, { "game.panel.timegate_switch.x", "-1" }, { "game.panel.timegate_switch.y", "-1" }, { "game.panel.timegate_switch.tile_size", "16" }, + { "game.panel.timegate_switch.draw_masked", "false" }, + { "game.panel.timegate_switch.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.timegate_switch_time.font", "font.text_2" }, + { "game.panel.timegate_switch_time.draw_masked", "true" }, + { "game.panel.timegate_switch_time.draw_order", "0" }, { "game.panel.switchgate_switch.x", "-1" }, { "game.panel.switchgate_switch.y", "-1" }, { "game.panel.switchgate_switch.tile_size", "16" }, + { "game.panel.switchgate_switch.draw_masked", "false" }, + { "game.panel.switchgate_switch.draw_order", "0" }, { "game.panel.emc_lenses.x", "-1" }, { "game.panel.emc_lenses.y", "-1" }, { "game.panel.emc_lenses.tile_size", "16" }, + { "game.panel.emc_lenses.draw_masked", "false" }, + { "game.panel.emc_lenses.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.emc_lenses_time.font", "font.text_2" }, + { "game.panel.emc_lenses_time.draw_masked", "true" }, + { "game.panel.emc_lenses_time.draw_order", "0" }, { "game.panel.emc_magnifier.x", "-1" }, { "game.panel.emc_magnifier.y", "-1" }, { "game.panel.emc_magnifier.tile_size", "16" }, + { "game.panel.emc_magnifier.draw_masked", "false" }, + { "game.panel.emc_magnifier.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.emc_magnifier_time.font", "font.text_2" }, + { "game.panel.emc_magnifier_time.draw_masked","true" }, + { "game.panel.emc_magnifier_time.draw_order", "0" }, { "game.panel.balloon_switch.x", "-1" }, { "game.panel.balloon_switch.y", "-1" }, { "game.panel.balloon_switch.tile_size", "16" }, + { "game.panel.balloon_switch.draw_masked", "false" }, + { "game.panel.balloon_switch.draw_order", "0" }, { "game.panel.dynabomb_number.x", "-1" }, { "game.panel.dynabomb_number.y", "-1" }, @@ -5710,15 +5812,21 @@ struct ConfigInfo image_config[] = { "game.panel.dynabomb_number.valign", "top" }, { "game.panel.dynabomb_number.digits", "-1" }, { "game.panel.dynabomb_number.font", "font.text_2" }, + { "game.panel.dynabomb_number.draw_masked", "true" }, + { "game.panel.dynabomb_number.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.dynabomb_size.font", "font.text_2" }, + { "game.panel.dynabomb_size.draw_masked", "true" }, + { "game.panel.dynabomb_size.draw_order", "0" }, { "game.panel.dynabomb_power.x", "-1" }, { "game.panel.dynabomb_power.y", "-1" }, { "game.panel.dynabomb_power.tile_size", "16" }, + { "game.panel.dynabomb_power.draw_masked", "false" }, + { "game.panel.dynabomb_power.draw_order", "0" }, { "game.panel.penguins.x", "-1" }, { "game.panel.penguins.y", "-1" }, @@ -5726,6 +5834,8 @@ struct ConfigInfo image_config[] = { "game.panel.penguins.valign", "top" }, { "game.panel.penguins.digits", "-1" }, { "game.panel.penguins.font", "font.text_2" }, + { "game.panel.penguins.draw_masked", "true" }, + { "game.panel.penguins.draw_order", "0" }, { "game.panel.sokoban_objects.x", "-1" }, { "game.panel.sokoban_objects.y", "-1" }, @@ -5733,51 +5843,77 @@ struct ConfigInfo image_config[] = { "game.panel.sokoban_objects.valign", "top" }, { "game.panel.sokoban_objects.digits", "-1" }, { "game.panel.sokoban_objects.font", "font.text_2" }, + { "game.panel.sokoban_objects.draw_masked", "true" }, + { "game.panel.sokoban_objects.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.sokoban_fields.font", "font.text_2" }, + { "game.panel.sokoban_fields.draw_masked", "true" }, + { "game.panel.sokoban_fields.draw_order", "0" }, { "game.panel.robot_wheel.x", "-1" }, { "game.panel.robot_wheel.y", "-1" }, { "game.panel.robot_wheel.tile_size", "16" }, + { "game.panel.robot_wheel.draw_masked", "false" }, + { "game.panel.robot_wheel.draw_order", "0" }, { "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.draw_masked", "false" }, + { "game.panel.conveyor_belt_1.draw_order", "0" }, { "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_1_switch.draw_masked", "false" }, + { "game.panel.conveyor_belt_1_switch.draw_order", "0" }, { "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.draw_masked", "false" }, + { "game.panel.conveyor_belt_2.draw_order", "0" }, { "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_2_switch.draw_masked", "false" }, + { "game.panel.conveyor_belt_2_switch.draw_order", "0" }, { "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.draw_masked", "false" }, + { "game.panel.conveyor_belt_3.draw_order", "0" }, { "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_3_switch.draw_masked", "false" }, + { "game.panel.conveyor_belt_3_switch.draw_order", "0" }, { "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.draw_masked", "false" }, + { "game.panel.conveyor_belt_4.draw_order", "0" }, { "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.conveyor_belt_4_switch.draw_masked", "false" }, + { "game.panel.conveyor_belt_4_switch.draw_order", "0" }, { "game.panel.magic_wall.x", "-1" }, { "game.panel.magic_wall.y", "-1" }, { "game.panel.magic_wall.tile_size", "16" }, + { "game.panel.magic_wall.draw_masked", "false" }, + { "game.panel.magic_wall.draw_order", "0" }, { "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.digits", "-1" }, { "game.panel.magic_wall_time.font", "font.text_2" }, + { "game.panel.magic_wall_time.draw_masked", "true" }, + { "game.panel.magic_wall_time.draw_order", "0" }, { "game.panel.gravity_state.x", "-1" }, { "game.panel.gravity_state.y", "-1" }, @@ -5786,6 +5922,8 @@ struct ConfigInfo image_config[] = { "game.panel.gravity_state.chars", "-1" }, { "game.panel.gravity_state.font", "font.text_1" }, { "game.panel.gravity_state.font_active", "font.text_2" }, + { "game.panel.gravity_state.draw_masked", "true" }, + { "game.panel.gravity_state.draw_order", "0" }, { "game.panel.ce_score_1.x", "-1" }, { "game.panel.ce_score_1.y", "-1" }, @@ -5794,10 +5932,14 @@ struct ConfigInfo image_config[] = { "game.panel.ce_score_1.digits", "-1" }, { "game.panel.ce_score_1.font", "font.text_2" }, { "game.panel.ce_score_1.element", "custom_1" }, + { "game.panel.ce_score_1.draw_masked", "true" }, + { "game.panel.ce_score_1.draw_order", "0" }, { "game.panel.ce_score_1_element.x", "-1" }, { "game.panel.ce_score_1_element.y", "-1" }, { "game.panel.ce_score_1_element.tile_size", "16" }, { "game.panel.ce_score_1_element.element", "custom_1" }, + { "game.panel.ce_score_1_element.draw_masked","false" }, + { "game.panel.ce_score_1_element.draw_order", "0" }, { "game.panel.ce_score_2.x", "-1" }, { "game.panel.ce_score_2.y", "-1" }, { "game.panel.ce_score_2.align", "left" }, @@ -5805,10 +5947,14 @@ struct ConfigInfo image_config[] = { "game.panel.ce_score_2.digits", "-1" }, { "game.panel.ce_score_2.font", "font.text_2" }, { "game.panel.ce_score_2.element", "custom_1" }, + { "game.panel.ce_score_2.draw_masked", "true" }, + { "game.panel.ce_score_2.draw_order", "0" }, { "game.panel.ce_score_2_element.x", "-1" }, { "game.panel.ce_score_2_element.y", "-1" }, { "game.panel.ce_score_2_element.tile_size", "16" }, { "game.panel.ce_score_2_element.element", "custom_1" }, + { "game.panel.ce_score_2_element.draw_masked","false" }, + { "game.panel.ce_score_2_element.draw_order", "0" }, { "game.panel.ce_score_3.x", "-1" }, { "game.panel.ce_score_3.y", "-1" }, { "game.panel.ce_score_3.align", "left" }, @@ -5816,10 +5962,14 @@ struct ConfigInfo image_config[] = { "game.panel.ce_score_3.digits", "-1" }, { "game.panel.ce_score_3.font", "font.text_2" }, { "game.panel.ce_score_3.element", "custom_1" }, + { "game.panel.ce_score_3.draw_masked", "true" }, + { "game.panel.ce_score_3.draw_order", "0" }, { "game.panel.ce_score_3_element.x", "-1" }, { "game.panel.ce_score_3_element.y", "-1" }, { "game.panel.ce_score_3_element.tile_size", "16" }, { "game.panel.ce_score_3_element.element", "custom_1" }, + { "game.panel.ce_score_3_element.draw_masked","false" }, + { "game.panel.ce_score_3_element.draw_order", "0" }, { "game.panel.ce_score_4.x", "-1" }, { "game.panel.ce_score_4.y", "-1" }, { "game.panel.ce_score_4.align", "left" }, @@ -5827,10 +5977,14 @@ struct ConfigInfo image_config[] = { "game.panel.ce_score_4.digits", "-1" }, { "game.panel.ce_score_4.font", "font.text_2" }, { "game.panel.ce_score_4.element", "custom_1" }, + { "game.panel.ce_score_4.draw_masked", "true" }, + { "game.panel.ce_score_4.draw_order", "0" }, { "game.panel.ce_score_4_element.x", "-1" }, { "game.panel.ce_score_4_element.y", "-1" }, { "game.panel.ce_score_4_element.tile_size", "16" }, { "game.panel.ce_score_4_element.element", "custom_1" }, + { "game.panel.ce_score_4_element.draw_masked","false" }, + { "game.panel.ce_score_4_element.draw_order", "0" }, { "game.panel.ce_score_5.x", "-1" }, { "game.panel.ce_score_5.y", "-1" }, { "game.panel.ce_score_5.align", "left" }, @@ -5838,10 +5992,14 @@ struct ConfigInfo image_config[] = { "game.panel.ce_score_5.digits", "-1" }, { "game.panel.ce_score_5.font", "font.text_2" }, { "game.panel.ce_score_5.element", "custom_1" }, + { "game.panel.ce_score_5.draw_masked", "true" }, + { "game.panel.ce_score_5.draw_order", "0" }, { "game.panel.ce_score_5_element.x", "-1" }, { "game.panel.ce_score_5_element.y", "-1" }, { "game.panel.ce_score_5_element.tile_size", "16" }, { "game.panel.ce_score_5_element.element", "custom_1" }, + { "game.panel.ce_score_5_element.draw_masked","false" }, + { "game.panel.ce_score_5_element.draw_order", "0" }, { "game.panel.ce_score_6.x", "-1" }, { "game.panel.ce_score_6.y", "-1" }, { "game.panel.ce_score_6.align", "left" }, @@ -5849,10 +6007,14 @@ struct ConfigInfo image_config[] = { "game.panel.ce_score_6.digits", "-1" }, { "game.panel.ce_score_6.font", "font.text_2" }, { "game.panel.ce_score_6.element", "custom_1" }, + { "game.panel.ce_score_6.draw_masked", "true" }, + { "game.panel.ce_score_6.draw_order", "0" }, { "game.panel.ce_score_6_element.x", "-1" }, { "game.panel.ce_score_6_element.y", "-1" }, { "game.panel.ce_score_6_element.tile_size", "16" }, { "game.panel.ce_score_6_element.element", "custom_1" }, + { "game.panel.ce_score_6_element.draw_masked","false" }, + { "game.panel.ce_score_6_element.draw_order", "0" }, { "game.panel.ce_score_7.x", "-1" }, { "game.panel.ce_score_7.y", "-1" }, { "game.panel.ce_score_7.align", "left" }, @@ -5860,10 +6022,14 @@ struct ConfigInfo image_config[] = { "game.panel.ce_score_7.digits", "-1" }, { "game.panel.ce_score_7.font", "font.text_2" }, { "game.panel.ce_score_7.element", "custom_1" }, + { "game.panel.ce_score_7.draw_masked", "true" }, + { "game.panel.ce_score_7.draw_order", "0" }, { "game.panel.ce_score_7_element.x", "-1" }, { "game.panel.ce_score_7_element.y", "-1" }, { "game.panel.ce_score_7_element.tile_size", "16" }, { "game.panel.ce_score_7_element.element", "custom_1" }, + { "game.panel.ce_score_7_element.draw_masked","false" }, + { "game.panel.ce_score_7_element.draw_order", "0" }, { "game.panel.ce_score_8.x", "-1" }, { "game.panel.ce_score_8.y", "-1" }, { "game.panel.ce_score_8.align", "left" }, @@ -5871,10 +6037,14 @@ struct ConfigInfo image_config[] = { "game.panel.ce_score_8.digits", "-1" }, { "game.panel.ce_score_8.font", "font.text_2" }, { "game.panel.ce_score_8.element", "custom_1" }, + { "game.panel.ce_score_8.draw_masked", "true" }, + { "game.panel.ce_score_8.draw_order", "0" }, { "game.panel.ce_score_8_element.x", "-1" }, { "game.panel.ce_score_8_element.y", "-1" }, { "game.panel.ce_score_8_element.tile_size", "16" }, { "game.panel.ce_score_8_element.element", "custom_1" }, + { "game.panel.ce_score_8_element.draw_masked","false" }, + { "game.panel.ce_score_8_element.draw_order", "0" }, { "game.panel.player_name.x", "-1" }, { "game.panel.player_name.y", "-1" }, @@ -5882,6 +6052,8 @@ struct ConfigInfo image_config[] = { "game.panel.player_name.valign", "top" }, { "game.panel.player_name.chars", "-1" }, { "game.panel.player_name.font", "font.text_2" }, + { "game.panel.player_name.draw_masked", "true" }, + { "game.panel.player_name.draw_order", "0" }, { "game.panel.level_name.x", "-1" }, { "game.panel.level_name.y", "-1" }, @@ -5889,12 +6061,16 @@ struct ConfigInfo image_config[] = { "game.panel.level_name.valign", "top" }, { "game.panel.level_name.chars", "-1" }, { "game.panel.level_name.font", "font.text_2" }, + { "game.panel.level_name.draw_masked", "true" }, + { "game.panel.level_name.draw_order", "0" }, { "game.panel.level_author.x", "-1" }, { "game.panel.level_author.y", "-1" }, { "game.panel.level_author.align", "left" }, { "game.panel.level_author.valign", "top" }, { "game.panel.level_author.chars", "-1" }, { "game.panel.level_author.font", "font.text_2" }, + { "game.panel.level_author.draw_masked", "true" }, + { "game.panel.level_author.draw_order", "0" }, { "game.button.stop.x", "5" }, { "game.button.stop.y", "215" }, diff --git a/src/conf_var.c b/src/conf_var.c index c8cd2f66..57d32a7d 100644 --- a/src/conf_var.c +++ b/src/conf_var.c @@ -1996,6 +1996,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.level_number.font_narrow", &game.panel.level_number.font_alt }, + { + "game.panel.level_number.draw_masked", + &game.panel.level_number.draw_masked + }, + { + "game.panel.level_number.draw_order", + &game.panel.level_number.sort_priority + }, { "game.panel.gems.x", &game.panel.gems.x @@ -2020,6 +2028,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.gems.font", &game.panel.gems.font }, + { + "game.panel.gems.draw_masked", + &game.panel.gems.draw_masked + }, + { + "game.panel.gems.draw_order", + &game.panel.gems.sort_priority + }, { "game.panel.inventory_count.x", &game.panel.inventory_count.x @@ -2044,6 +2060,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_count.font", &game.panel.inventory_count.font }, + { + "game.panel.inventory_count.draw_masked", + &game.panel.inventory_count.draw_masked + }, + { + "game.panel.inventory_count.draw_order", + &game.panel.inventory_count.sort_priority + }, { "game.panel.inventory_first_1.x", &game.panel.inventory_first[0].x @@ -2056,6 +2080,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_first_1.tile_size", &game.panel.inventory_first[0].size }, + { + "game.panel.inventory_first_1.draw_masked", + &game.panel.inventory_first[0].draw_masked + }, + { + "game.panel.inventory_first_1.draw_order", + &game.panel.inventory_first[0].sort_priority + }, { "game.panel.inventory_first_2.x", &game.panel.inventory_first[1].x @@ -2068,6 +2100,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_first_2.tile_size", &game.panel.inventory_first[1].size }, + { + "game.panel.inventory_first_2.draw_masked", + &game.panel.inventory_first[1].draw_masked + }, + { + "game.panel.inventory_first_2.draw_order", + &game.panel.inventory_first[1].sort_priority + }, { "game.panel.inventory_first_3.x", &game.panel.inventory_first[2].x @@ -2080,6 +2120,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_first_3.tile_size", &game.panel.inventory_first[2].size }, + { + "game.panel.inventory_first_3.draw_masked", + &game.panel.inventory_first[2].draw_masked + }, + { + "game.panel.inventory_first_3.draw_order", + &game.panel.inventory_first[2].sort_priority + }, { "game.panel.inventory_first_4.x", &game.panel.inventory_first[3].x @@ -2092,6 +2140,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_first_4.tile_size", &game.panel.inventory_first[3].size }, + { + "game.panel.inventory_first_4.draw_masked", + &game.panel.inventory_first[3].draw_masked + }, + { + "game.panel.inventory_first_4.draw_order", + &game.panel.inventory_first[3].sort_priority + }, { "game.panel.inventory_first_5.x", &game.panel.inventory_first[4].x @@ -2104,6 +2160,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_first_5.tile_size", &game.panel.inventory_first[4].size }, + { + "game.panel.inventory_first_5.draw_masked", + &game.panel.inventory_first[4].draw_masked + }, + { + "game.panel.inventory_first_5.draw_order", + &game.panel.inventory_first[4].sort_priority + }, { "game.panel.inventory_first_6.x", &game.panel.inventory_first[5].x @@ -2116,6 +2180,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_first_6.tile_size", &game.panel.inventory_first[5].size }, + { + "game.panel.inventory_first_6.draw_masked", + &game.panel.inventory_first[5].draw_masked + }, + { + "game.panel.inventory_first_6.draw_order", + &game.panel.inventory_first[5].sort_priority + }, { "game.panel.inventory_first_7.x", &game.panel.inventory_first[6].x @@ -2128,6 +2200,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_first_7.tile_size", &game.panel.inventory_first[6].size }, + { + "game.panel.inventory_first_7.draw_masked", + &game.panel.inventory_first[6].draw_masked + }, + { + "game.panel.inventory_first_7.draw_order", + &game.panel.inventory_first[6].sort_priority + }, { "game.panel.inventory_first_8.x", &game.panel.inventory_first[7].x @@ -2140,6 +2220,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_first_8.tile_size", &game.panel.inventory_first[7].size }, + { + "game.panel.inventory_first_8.draw_masked", + &game.panel.inventory_first[7].draw_masked + }, + { + "game.panel.inventory_first_8.draw_order", + &game.panel.inventory_first[7].sort_priority + }, { "game.panel.inventory_last_1.x", &game.panel.inventory_last[0].x @@ -2152,6 +2240,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_last_1.tile_size", &game.panel.inventory_last[0].size }, + { + "game.panel.inventory_last_1.draw_masked", + &game.panel.inventory_last[0].draw_masked + }, + { + "game.panel.inventory_last_1.draw_order", + &game.panel.inventory_last[0].sort_priority + }, { "game.panel.inventory_last_2.x", &game.panel.inventory_last[1].x @@ -2164,6 +2260,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_last_2.tile_size", &game.panel.inventory_last[1].size }, + { + "game.panel.inventory_last_2.draw_masked", + &game.panel.inventory_last[1].draw_masked + }, + { + "game.panel.inventory_last_2.draw_order", + &game.panel.inventory_last[1].sort_priority + }, { "game.panel.inventory_last_3.x", &game.panel.inventory_last[2].x @@ -2176,6 +2280,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_last_3.tile_size", &game.panel.inventory_last[2].size }, + { + "game.panel.inventory_last_3.draw_masked", + &game.panel.inventory_last[2].draw_masked + }, + { + "game.panel.inventory_last_3.draw_order", + &game.panel.inventory_last[2].sort_priority + }, { "game.panel.inventory_last_4.x", &game.panel.inventory_last[3].x @@ -2188,6 +2300,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_last_4.tile_size", &game.panel.inventory_last[3].size }, + { + "game.panel.inventory_last_4.draw_masked", + &game.panel.inventory_last[3].draw_masked + }, + { + "game.panel.inventory_last_4.draw_order", + &game.panel.inventory_last[3].sort_priority + }, { "game.panel.inventory_last_5.x", &game.panel.inventory_last[4].x @@ -2200,6 +2320,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_last_5.tile_size", &game.panel.inventory_last[4].size }, + { + "game.panel.inventory_last_5.draw_masked", + &game.panel.inventory_last[4].draw_masked + }, + { + "game.panel.inventory_last_5.draw_order", + &game.panel.inventory_last[4].sort_priority + }, { "game.panel.inventory_last_6.x", &game.panel.inventory_last[5].x @@ -2212,6 +2340,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_last_6.tile_size", &game.panel.inventory_last[5].size }, + { + "game.panel.inventory_last_6.draw_masked", + &game.panel.inventory_last[5].draw_masked + }, + { + "game.panel.inventory_last_6.draw_order", + &game.panel.inventory_last[5].sort_priority + }, { "game.panel.inventory_last_7.x", &game.panel.inventory_last[6].x @@ -2224,6 +2360,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_last_7.tile_size", &game.panel.inventory_last[6].size }, + { + "game.panel.inventory_last_7.draw_masked", + &game.panel.inventory_last[6].draw_masked + }, + { + "game.panel.inventory_last_7.draw_order", + &game.panel.inventory_last[6].sort_priority + }, { "game.panel.inventory_last_8.x", &game.panel.inventory_last[7].x @@ -2236,6 +2380,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.inventory_last_8.tile_size", &game.panel.inventory_last[7].size }, + { + "game.panel.inventory_last_8.draw_masked", + &game.panel.inventory_last[7].draw_masked + }, + { + "game.panel.inventory_last_8.draw_order", + &game.panel.inventory_last[7].sort_priority + }, { "game.panel.key_1.x", &game.panel.key[0].x @@ -2248,6 +2400,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_1.tile_size", &game.panel.key[0].size }, + { + "game.panel.key_1.draw_masked", + &game.panel.key[0].draw_masked + }, + { + "game.panel.key_1.draw_order", + &game.panel.key[0].sort_priority + }, { "game.panel.key_2.x", &game.panel.key[1].x @@ -2260,6 +2420,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_2.tile_size", &game.panel.key[1].size }, + { + "game.panel.key_2.draw_masked", + &game.panel.key[1].draw_masked + }, + { + "game.panel.key_2.draw_order", + &game.panel.key[1].sort_priority + }, { "game.panel.key_3.x", &game.panel.key[2].x @@ -2272,6 +2440,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_3.tile_size", &game.panel.key[2].size }, + { + "game.panel.key_3.draw_masked", + &game.panel.key[2].draw_masked + }, + { + "game.panel.key_3.draw_order", + &game.panel.key[2].sort_priority + }, { "game.panel.key_4.x", &game.panel.key[3].x @@ -2284,6 +2460,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_4.tile_size", &game.panel.key[3].size }, + { + "game.panel.key_4.draw_masked", + &game.panel.key[3].draw_masked + }, + { + "game.panel.key_4.draw_order", + &game.panel.key[3].sort_priority + }, { "game.panel.key_5.x", &game.panel.key[4].x @@ -2296,6 +2480,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_5.tile_size", &game.panel.key[4].size }, + { + "game.panel.key_5.draw_masked", + &game.panel.key[4].draw_masked + }, + { + "game.panel.key_5.draw_order", + &game.panel.key[4].sort_priority + }, { "game.panel.key_6.x", &game.panel.key[5].x @@ -2308,6 +2500,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_6.tile_size", &game.panel.key[5].size }, + { + "game.panel.key_6.draw_masked", + &game.panel.key[5].draw_masked + }, + { + "game.panel.key_6.draw_order", + &game.panel.key[5].sort_priority + }, { "game.panel.key_7.x", &game.panel.key[6].x @@ -2320,6 +2520,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_7.tile_size", &game.panel.key[6].size }, + { + "game.panel.key_7.draw_masked", + &game.panel.key[6].draw_masked + }, + { + "game.panel.key_7.draw_order", + &game.panel.key[6].sort_priority + }, { "game.panel.key_8.x", &game.panel.key[7].x @@ -2332,6 +2540,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_8.tile_size", &game.panel.key[7].size }, + { + "game.panel.key_8.draw_masked", + &game.panel.key[7].draw_masked + }, + { + "game.panel.key_8.draw_order", + &game.panel.key[7].sort_priority + }, { "game.panel.key_white.x", &game.panel.key_white.x @@ -2344,6 +2560,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_white.tile_size", &game.panel.key_white.size }, + { + "game.panel.key_white.draw_masked", + &game.panel.key_white.draw_masked + }, + { + "game.panel.key_white.draw_order", + &game.panel.key_white.sort_priority + }, { "game.panel.key_white_count.x", &game.panel.key_white_count.x @@ -2368,6 +2592,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.key_white_count.font", &game.panel.key_white_count.font }, + { + "game.panel.key_white_count.draw_masked", + &game.panel.key_white_count.draw_masked + }, + { + "game.panel.key_white_count.draw_order", + &game.panel.key_white_count.sort_priority + }, { "game.panel.score.x", &game.panel.score.x @@ -2392,6 +2624,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.score.font", &game.panel.score.font }, + { + "game.panel.score.draw_masked", + &game.panel.score.draw_masked + }, + { + "game.panel.score.draw_order", + &game.panel.score.sort_priority + }, { "game.panel.time.x", &game.panel.time.x @@ -2420,6 +2660,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.time.font_narrow", &game.panel.time.font_alt }, + { + "game.panel.time.draw_masked", + &game.panel.time.draw_masked + }, + { + "game.panel.time.draw_order", + &game.panel.time.sort_priority + }, { "game.panel.time_hh.x", &game.panel.time_hh.x @@ -2444,6 +2692,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.time_hh.font", &game.panel.time_hh.font }, + { + "game.panel.time_hh.draw_masked", + &game.panel.time_hh.draw_masked + }, + { + "game.panel.time_hh.draw_order", + &game.panel.time_hh.sort_priority + }, { "game.panel.time_mm.x", &game.panel.time_mm.x @@ -2468,6 +2724,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.time_mm.font", &game.panel.time_mm.font }, + { + "game.panel.time_mm.draw_masked", + &game.panel.time_mm.draw_masked + }, + { + "game.panel.time_mm.draw_order", + &game.panel.time_mm.sort_priority + }, { "game.panel.time_ss.x", &game.panel.time_ss.x @@ -2492,6 +2756,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.time_ss.font", &game.panel.time_ss.font }, + { + "game.panel.time_ss.draw_masked", + &game.panel.time_ss.draw_masked + }, + { + "game.panel.time_ss.draw_order", + &game.panel.time_ss.sort_priority + }, { "game.panel.shield_normal.x", &game.panel.shield_normal.x @@ -2504,6 +2776,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.shield_normal.tile_size", &game.panel.shield_normal.size }, + { + "game.panel.shield_normal.draw_masked", + &game.panel.shield_normal.draw_masked + }, + { + "game.panel.shield_normal.draw_order", + &game.panel.shield_normal.sort_priority + }, { "game.panel.shield_normal_time.x", &game.panel.shield_normal_time.x @@ -2528,6 +2808,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.shield_normal_time.font", &game.panel.shield_normal_time.font }, + { + "game.panel.shield_normal_time.draw_masked", + &game.panel.shield_normal_time.draw_masked + }, + { + "game.panel.shield_normal_time.draw_order", + &game.panel.shield_normal_time.sort_priority + }, { "game.panel.shield_deadly.x", &game.panel.shield_deadly.x @@ -2540,6 +2828,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.shield_deadly.tile_size", &game.panel.shield_deadly.size }, + { + "game.panel.shield_deadly.draw_masked", + &game.panel.shield_deadly.draw_masked + }, + { + "game.panel.shield_deadly.draw_order", + &game.panel.shield_deadly.sort_priority + }, { "game.panel.shield_deadly_time.x", &game.panel.shield_deadly_time.x @@ -2564,6 +2860,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.shield_deadly_time.font", &game.panel.shield_deadly_time.font }, + { + "game.panel.shield_deadly_time.draw_masked", + &game.panel.shield_deadly_time.draw_masked + }, + { + "game.panel.shield_deadly_time.draw_order", + &game.panel.shield_deadly_time.sort_priority + }, { "game.panel.exit.x", &game.panel.exit.x @@ -2576,6 +2880,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.exit.tile_size", &game.panel.exit.size }, + { + "game.panel.exit.draw_masked", + &game.panel.exit.draw_masked + }, + { + "game.panel.exit.draw_order", + &game.panel.exit.sort_priority + }, { "game.panel.emc_magic_ball.x", &game.panel.emc_magic_ball.x @@ -2588,6 +2900,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.emc_magic_ball.tile_size", &game.panel.emc_magic_ball.size }, + { + "game.panel.emc_magic_ball.draw_masked", + &game.panel.emc_magic_ball.draw_masked + }, + { + "game.panel.emc_magic_ball.draw_order", + &game.panel.emc_magic_ball.sort_priority + }, { "game.panel.emc_magic_ball_switch.x", &game.panel.emc_magic_ball_switch.x @@ -2600,6 +2920,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.emc_magic_ball_switch.tile_size", &game.panel.emc_magic_ball_switch.size }, + { + "game.panel.emc_magic_ball_switch.draw_masked", + &game.panel.emc_magic_ball_switch.draw_masked + }, + { + "game.panel.emc_magic_ball_switch.draw_order", + &game.panel.emc_magic_ball_switch.sort_priority + }, { "game.panel.light_switch.x", &game.panel.light_switch.x @@ -2612,6 +2940,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.light_switch.tile_size", &game.panel.light_switch.size }, + { + "game.panel.light_switch.draw_masked", + &game.panel.light_switch.draw_masked + }, + { + "game.panel.light_switch.draw_order", + &game.panel.light_switch.sort_priority + }, { "game.panel.light_switch_time.x", &game.panel.light_switch_time.x @@ -2636,6 +2972,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.light_switch_time.font", &game.panel.light_switch_time.font }, + { + "game.panel.light_switch_time.draw_masked", + &game.panel.light_switch_time.draw_masked + }, + { + "game.panel.light_switch_time.draw_order", + &game.panel.light_switch_time.sort_priority + }, { "game.panel.timegate_switch.x", &game.panel.timegate_switch.x @@ -2648,6 +2992,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.timegate_switch.tile_size", &game.panel.timegate_switch.size }, + { + "game.panel.timegate_switch.draw_masked", + &game.panel.timegate_switch.draw_masked + }, + { + "game.panel.timegate_switch.draw_order", + &game.panel.timegate_switch.sort_priority + }, { "game.panel.timegate_switch_time.x", &game.panel.timegate_switch_time.x @@ -2672,6 +3024,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.timegate_switch_time.font", &game.panel.timegate_switch_time.font }, + { + "game.panel.timegate_switch_time.draw_masked", + &game.panel.timegate_switch_time.draw_masked + }, + { + "game.panel.timegate_switch_time.draw_order", + &game.panel.timegate_switch_time.sort_priority + }, { "game.panel.switchgate_switch.x", &game.panel.switchgate_switch.x @@ -2684,6 +3044,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.switchgate_switch.tile_size", &game.panel.switchgate_switch.size }, + { + "game.panel.switchgate_switch.draw_masked", + &game.panel.switchgate_switch.draw_masked + }, + { + "game.panel.switchgate_switch.draw_order", + &game.panel.switchgate_switch.sort_priority + }, { "game.panel.emc_lenses.x", &game.panel.emc_lenses.x @@ -2696,6 +3064,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.emc_lenses.tile_size", &game.panel.emc_lenses.size }, + { + "game.panel.emc_lenses.draw_masked", + &game.panel.emc_lenses.draw_masked + }, + { + "game.panel.emc_lenses.draw_order", + &game.panel.emc_lenses.sort_priority + }, { "game.panel.emc_lenses_time.x", &game.panel.emc_lenses_time.x @@ -2720,6 +3096,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.emc_lenses_time.font", &game.panel.emc_lenses_time.font }, + { + "game.panel.emc_lenses_time.draw_masked", + &game.panel.emc_lenses_time.draw_masked + }, + { + "game.panel.emc_lenses_time.draw_order", + &game.panel.emc_lenses_time.sort_priority + }, { "game.panel.emc_magnifier.x", &game.panel.emc_magnifier.x @@ -2732,6 +3116,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.emc_magnifier.tile_size", &game.panel.emc_magnifier.size }, + { + "game.panel.emc_magnifier.draw_masked", + &game.panel.emc_magnifier.draw_masked + }, + { + "game.panel.emc_magnifier.draw_order", + &game.panel.emc_magnifier.sort_priority + }, { "game.panel.emc_magnifier_time.x", &game.panel.emc_magnifier_time.x @@ -2756,6 +3148,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.emc_magnifier_time.font", &game.panel.emc_magnifier_time.font }, + { + "game.panel.emc_magnifier_time.draw_masked", + &game.panel.emc_magnifier_time.draw_masked + }, + { + "game.panel.emc_magnifier_time.draw_order", + &game.panel.emc_magnifier_time.sort_priority + }, { "game.panel.balloon_switch.x", &game.panel.balloon_switch.x @@ -2768,6 +3168,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.balloon_switch.tile_size", &game.panel.balloon_switch.size }, + { + "game.panel.balloon_switch.draw_masked", + &game.panel.balloon_switch.draw_masked + }, + { + "game.panel.balloon_switch.draw_order", + &game.panel.balloon_switch.sort_priority + }, { "game.panel.dynabomb_number.x", &game.panel.dynabomb_number.x @@ -2792,6 +3200,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.dynabomb_number.font", &game.panel.dynabomb_number.font }, + { + "game.panel.dynabomb_number.draw_masked", + &game.panel.dynabomb_number.draw_masked + }, + { + "game.panel.dynabomb_number.draw_order", + &game.panel.dynabomb_number.sort_priority + }, { "game.panel.dynabomb_size.x", &game.panel.dynabomb_size.x @@ -2816,6 +3232,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.dynabomb_size.font", &game.panel.dynabomb_size.font }, + { + "game.panel.dynabomb_size.draw_masked", + &game.panel.dynabomb_size.draw_masked + }, + { + "game.panel.dynabomb_size.draw_order", + &game.panel.dynabomb_size.sort_priority + }, { "game.panel.dynabomb_power.x", &game.panel.dynabomb_power.x @@ -2828,6 +3252,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.dynabomb_power.tile_size", &game.panel.dynabomb_power.size }, + { + "game.panel.dynabomb_power.draw_masked", + &game.panel.dynabomb_power.draw_masked + }, + { + "game.panel.dynabomb_power.draw_order", + &game.panel.dynabomb_power.sort_priority + }, { "game.panel.penguins.x", &game.panel.penguins.x @@ -2852,6 +3284,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.penguins.font", &game.panel.penguins.font }, + { + "game.panel.penguins.draw_masked", + &game.panel.penguins.draw_masked + }, + { + "game.panel.penguins.draw_order", + &game.panel.penguins.sort_priority + }, { "game.panel.sokoban_objects.x", &game.panel.sokoban_objects.x @@ -2876,6 +3316,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.sokoban_objects.font", &game.panel.sokoban_objects.font }, + { + "game.panel.sokoban_objects.draw_masked", + &game.panel.sokoban_objects.draw_masked + }, + { + "game.panel.sokoban_objects.draw_order", + &game.panel.sokoban_objects.sort_priority + }, { "game.panel.sokoban_fields.x", &game.panel.sokoban_fields.x @@ -2900,6 +3348,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.sokoban_fields.font", &game.panel.sokoban_fields.font }, + { + "game.panel.sokoban_fields.draw_masked", + &game.panel.sokoban_fields.draw_masked + }, + { + "game.panel.sokoban_fields.draw_order", + &game.panel.sokoban_fields.sort_priority + }, { "game.panel.robot_wheel.x", &game.panel.robot_wheel.x @@ -2912,6 +3368,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.robot_wheel.tile_size", &game.panel.robot_wheel.size }, + { + "game.panel.robot_wheel.draw_masked", + &game.panel.robot_wheel.draw_masked + }, + { + "game.panel.robot_wheel.draw_order", + &game.panel.robot_wheel.sort_priority + }, { "game.panel.conveyor_belt_1.x", &game.panel.conveyor_belt[0].x @@ -2924,6 +3388,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.conveyor_belt_1.tile_size", &game.panel.conveyor_belt[0].size }, + { + "game.panel.conveyor_belt_1.draw_masked", + &game.panel.conveyor_belt[0].draw_masked + }, + { + "game.panel.conveyor_belt_1.draw_order", + &game.panel.conveyor_belt[0].sort_priority + }, { "game.panel.conveyor_belt_1_switch.x", &game.panel.conveyor_belt_switch[0].x @@ -2936,6 +3408,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.conveyor_belt_1_switch.tile_size", &game.panel.conveyor_belt_switch[0].size }, + { + "game.panel.conveyor_belt_1_switch.draw_masked", + &game.panel.conveyor_belt_switch[0].draw_masked + }, + { + "game.panel.conveyor_belt_1_switch.draw_order", + &game.panel.conveyor_belt_switch[0].sort_priority + }, { "game.panel.conveyor_belt_2.x", &game.panel.conveyor_belt[1].x @@ -2948,6 +3428,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.conveyor_belt_2.tile_size", &game.panel.conveyor_belt[1].size }, + { + "game.panel.conveyor_belt_2.draw_masked", + &game.panel.conveyor_belt[1].draw_masked + }, + { + "game.panel.conveyor_belt_2.draw_order", + &game.panel.conveyor_belt[1].sort_priority + }, { "game.panel.conveyor_belt_2_switch.x", &game.panel.conveyor_belt_switch[1].x @@ -2960,6 +3448,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.conveyor_belt_2_switch.tile_size", &game.panel.conveyor_belt_switch[1].size }, + { + "game.panel.conveyor_belt_2_switch.draw_masked", + &game.panel.conveyor_belt_switch[1].draw_masked + }, + { + "game.panel.conveyor_belt_2_switch.draw_order", + &game.panel.conveyor_belt_switch[1].sort_priority + }, { "game.panel.conveyor_belt_3.x", &game.panel.conveyor_belt[2].x @@ -2972,6 +3468,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.conveyor_belt_3.tile_size", &game.panel.conveyor_belt[2].size }, + { + "game.panel.conveyor_belt_3.draw_masked", + &game.panel.conveyor_belt[2].draw_masked + }, + { + "game.panel.conveyor_belt_3.draw_order", + &game.panel.conveyor_belt[2].sort_priority + }, { "game.panel.conveyor_belt_3_switch.x", &game.panel.conveyor_belt_switch[2].x @@ -2984,6 +3488,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.conveyor_belt_3_switch.tile_size", &game.panel.conveyor_belt_switch[2].size }, + { + "game.panel.conveyor_belt_3_switch.draw_masked", + &game.panel.conveyor_belt_switch[2].draw_masked + }, + { + "game.panel.conveyor_belt_3_switch.draw_order", + &game.panel.conveyor_belt_switch[2].sort_priority + }, { "game.panel.conveyor_belt_4.x", &game.panel.conveyor_belt[3].x @@ -2996,6 +3508,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.conveyor_belt_4.tile_size", &game.panel.conveyor_belt[3].size }, + { + "game.panel.conveyor_belt_4.draw_masked", + &game.panel.conveyor_belt[3].draw_masked + }, + { + "game.panel.conveyor_belt_4.draw_order", + &game.panel.conveyor_belt[3].sort_priority + }, { "game.panel.conveyor_belt_4_switch.x", &game.panel.conveyor_belt_switch[3].x @@ -3008,6 +3528,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.conveyor_belt_4_switch.tile_size", &game.panel.conveyor_belt_switch[3].size }, + { + "game.panel.conveyor_belt_4_switch.draw_masked", + &game.panel.conveyor_belt_switch[3].draw_masked + }, + { + "game.panel.conveyor_belt_4_switch.draw_order", + &game.panel.conveyor_belt_switch[3].sort_priority + }, { "game.panel.magic_wall.x", &game.panel.magic_wall.x @@ -3020,6 +3548,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.magic_wall.tile_size", &game.panel.magic_wall.size }, + { + "game.panel.magic_wall.draw_masked", + &game.panel.magic_wall.draw_masked + }, + { + "game.panel.magic_wall.draw_order", + &game.panel.magic_wall.sort_priority + }, { "game.panel.magic_wall_time.x", &game.panel.magic_wall_time.x @@ -3044,6 +3580,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.magic_wall_time.font", &game.panel.magic_wall_time.font }, + { + "game.panel.magic_wall_time.draw_masked", + &game.panel.magic_wall_time.draw_masked + }, + { + "game.panel.magic_wall_time.draw_order", + &game.panel.magic_wall_time.sort_priority + }, { "game.panel.gravity_state.x", &game.panel.gravity_state.x @@ -3072,6 +3616,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.gravity_state.font_active", &game.panel.gravity_state.font_alt }, + { + "game.panel.gravity_state.draw_masked", + &game.panel.gravity_state.draw_masked + }, + { + "game.panel.gravity_state.draw_order", + &game.panel.gravity_state.sort_priority + }, { "game.panel.ce_score_1.x", &game.panel.ce_score[0].x @@ -3100,6 +3652,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_1.element", &game.panel.ce_score[0].id }, + { + "game.panel.ce_score_1.draw_masked", + &game.panel.ce_score[0].draw_masked + }, + { + "game.panel.ce_score_1.draw_order", + &game.panel.ce_score[0].sort_priority + }, { "game.panel.ce_score_1_element.x", &game.panel.ce_score_element[0].x @@ -3116,6 +3676,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_1_element.element", &game.panel.ce_score_element[0].id }, + { + "game.panel.ce_score_1_element.draw_masked", + &game.panel.ce_score_element[0].draw_masked + }, + { + "game.panel.ce_score_1_element.draw_order", + &game.panel.ce_score_element[0].sort_priority + }, { "game.panel.ce_score_2.x", &game.panel.ce_score[1].x @@ -3144,6 +3712,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_2.element", &game.panel.ce_score[1].id }, + { + "game.panel.ce_score_2.draw_masked", + &game.panel.ce_score[1].draw_masked + }, + { + "game.panel.ce_score_2.draw_order", + &game.panel.ce_score[1].sort_priority + }, { "game.panel.ce_score_2_element.x", &game.panel.ce_score_element[1].x @@ -3160,6 +3736,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_2_element.element", &game.panel.ce_score_element[1].id }, + { + "game.panel.ce_score_2_element.draw_masked", + &game.panel.ce_score_element[1].draw_masked + }, + { + "game.panel.ce_score_2_element.draw_order", + &game.panel.ce_score_element[1].sort_priority + }, { "game.panel.ce_score_3.x", &game.panel.ce_score[2].x @@ -3188,6 +3772,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_3.element", &game.panel.ce_score[2].id }, + { + "game.panel.ce_score_3.draw_masked", + &game.panel.ce_score[2].draw_masked + }, + { + "game.panel.ce_score_3.draw_order", + &game.panel.ce_score[2].sort_priority + }, { "game.panel.ce_score_3_element.x", &game.panel.ce_score_element[2].x @@ -3204,6 +3796,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_3_element.element", &game.panel.ce_score_element[2].id }, + { + "game.panel.ce_score_3_element.draw_masked", + &game.panel.ce_score_element[2].draw_masked + }, + { + "game.panel.ce_score_3_element.draw_order", + &game.panel.ce_score_element[2].sort_priority + }, { "game.panel.ce_score_4.x", &game.panel.ce_score[3].x @@ -3232,6 +3832,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_4.element", &game.panel.ce_score[3].id }, + { + "game.panel.ce_score_4.draw_masked", + &game.panel.ce_score[3].draw_masked + }, + { + "game.panel.ce_score_4.draw_order", + &game.panel.ce_score[3].sort_priority + }, { "game.panel.ce_score_4_element.x", &game.panel.ce_score_element[3].x @@ -3248,6 +3856,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_4_element.element", &game.panel.ce_score_element[3].id }, + { + "game.panel.ce_score_4_element.draw_masked", + &game.panel.ce_score_element[3].draw_masked + }, + { + "game.panel.ce_score_4_element.draw_order", + &game.panel.ce_score_element[3].sort_priority + }, { "game.panel.ce_score_5.x", &game.panel.ce_score[4].x @@ -3276,6 +3892,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_5.element", &game.panel.ce_score[4].id }, + { + "game.panel.ce_score_5.draw_masked", + &game.panel.ce_score[4].draw_masked + }, + { + "game.panel.ce_score_5.draw_order", + &game.panel.ce_score[4].sort_priority + }, { "game.panel.ce_score_5_element.x", &game.panel.ce_score_element[4].x @@ -3292,6 +3916,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_5_element.element", &game.panel.ce_score_element[4].id }, + { + "game.panel.ce_score_5_element.draw_masked", + &game.panel.ce_score_element[4].draw_masked + }, + { + "game.panel.ce_score_5_element.draw_order", + &game.panel.ce_score_element[4].sort_priority + }, { "game.panel.ce_score_6.x", &game.panel.ce_score[5].x @@ -3320,6 +3952,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_6.element", &game.panel.ce_score[5].id }, + { + "game.panel.ce_score_6.draw_masked", + &game.panel.ce_score[5].draw_masked + }, + { + "game.panel.ce_score_6.draw_order", + &game.panel.ce_score[5].sort_priority + }, { "game.panel.ce_score_6_element.x", &game.panel.ce_score_element[5].x @@ -3336,6 +3976,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_6_element.element", &game.panel.ce_score_element[5].id }, + { + "game.panel.ce_score_6_element.draw_masked", + &game.panel.ce_score_element[5].draw_masked + }, + { + "game.panel.ce_score_6_element.draw_order", + &game.panel.ce_score_element[5].sort_priority + }, { "game.panel.ce_score_7.x", &game.panel.ce_score[6].x @@ -3364,6 +4012,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_7.element", &game.panel.ce_score[6].id }, + { + "game.panel.ce_score_7.draw_masked", + &game.panel.ce_score[6].draw_masked + }, + { + "game.panel.ce_score_7.draw_order", + &game.panel.ce_score[6].sort_priority + }, { "game.panel.ce_score_7_element.x", &game.panel.ce_score_element[6].x @@ -3380,6 +4036,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_7_element.element", &game.panel.ce_score_element[6].id }, + { + "game.panel.ce_score_7_element.draw_masked", + &game.panel.ce_score_element[6].draw_masked + }, + { + "game.panel.ce_score_7_element.draw_order", + &game.panel.ce_score_element[6].sort_priority + }, { "game.panel.ce_score_8.x", &game.panel.ce_score[7].x @@ -3408,6 +4072,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_8.element", &game.panel.ce_score[7].id }, + { + "game.panel.ce_score_8.draw_masked", + &game.panel.ce_score[7].draw_masked + }, + { + "game.panel.ce_score_8.draw_order", + &game.panel.ce_score[7].sort_priority + }, { "game.panel.ce_score_8_element.x", &game.panel.ce_score_element[7].x @@ -3424,6 +4096,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.ce_score_8_element.element", &game.panel.ce_score_element[7].id }, + { + "game.panel.ce_score_8_element.draw_masked", + &game.panel.ce_score_element[7].draw_masked + }, + { + "game.panel.ce_score_8_element.draw_order", + &game.panel.ce_score_element[7].sort_priority + }, { "game.panel.player_name.x", &game.panel.player_name.x @@ -3448,6 +4128,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.player_name.font", &game.panel.player_name.font }, + { + "game.panel.player_name.draw_masked", + &game.panel.player_name.draw_masked + }, + { + "game.panel.player_name.draw_order", + &game.panel.player_name.sort_priority + }, { "game.panel.level_name.x", &game.panel.level_name.x @@ -3472,6 +4160,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.level_name.font", &game.panel.level_name.font }, + { + "game.panel.level_name.draw_masked", + &game.panel.level_name.draw_masked + }, + { + "game.panel.level_name.draw_order", + &game.panel.level_name.sort_priority + }, { "game.panel.level_author.x", &game.panel.level_author.x @@ -3496,6 +4192,14 @@ struct TokenIntPtrInfo image_config_vars[] = "game.panel.level_author.font", &game.panel.level_author.font }, + { + "game.panel.level_author.draw_masked", + &game.panel.level_author.draw_masked + }, + { + "game.panel.level_author.draw_order", + &game.panel.level_author.sort_priority + }, { "game.button.stop.x", &game.button.stop.x diff --git a/src/conftime.h b/src/conftime.h index 44d63dee..a22a5e5b 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "2007-04-07 17:24" +#define COMPILE_DATE_STRING "2007-04-07 19:50" diff --git a/src/files.c b/src/files.c index 7d32cda8..72603889 100644 --- a/src/files.c +++ b/src/files.c @@ -8389,6 +8389,7 @@ static int get_token_parameter_value(char *token, char *value_raw) } #endif + /* !!! USE CORRECT VALUE TYPE (currently works also for TYPE_BOOLEAN) !!! */ return get_parameter_value(value_raw, suffix, TYPE_INTEGER); } diff --git a/src/game.c b/src/game.c index f7cb0fe1..0d748e5b 100644 --- a/src/game.c +++ b/src/game.c @@ -222,6 +222,14 @@ #define NUM_GAME_PANEL_CONTROLS 88 +struct GamePanelOrderInfo +{ + int nr; + int sort_priority; +}; + +static struct GamePanelOrderInfo game_panel_order[NUM_GAME_PANEL_CONTROLS]; + struct GamePanelControlInfo { int nr; @@ -1892,6 +1900,20 @@ static int get_inventory_element_from_pos(struct PlayerInfo *player, int pos) } } +static int compareGamePanelOrderInfo(const void *object1, const void *object2) +{ + const struct GamePanelOrderInfo *gpo1 = (struct GamePanelOrderInfo *)object1; + const struct GamePanelOrderInfo *gpo2 = (struct GamePanelOrderInfo *)object2; + int compare_result; + + if (gpo1->sort_priority != gpo2->sort_priority) + compare_result = gpo1->sort_priority - gpo2->sort_priority; + else + compare_result = gpo1->nr - gpo2->nr; + + return compare_result; +} + void InitGameControlValues() { int i; @@ -1899,9 +1921,10 @@ void InitGameControlValues() for (i = 0; game_panel_controls[i].nr != -1; i++) { struct GamePanelControlInfo *gpc = &game_panel_controls[i]; + struct GamePanelOrderInfo *gpo = &game_panel_order[i]; + struct TextPosInfo *pos = gpc->pos; int nr = gpc->nr; int type = gpc->type; - struct TextPosInfo *pos = gpc->pos; if (nr != i) { @@ -1925,7 +1948,15 @@ void InitGameControlValues() pos->width = pos->size; pos->height = pos->size; } + + /* fill structure for game panel draw order */ + gpo->nr = gpc->nr; + gpo->sort_priority = pos->sort_priority; } + + /* sort game panel controls according to sort_priority and control number */ + qsort(game_panel_order, NUM_GAME_PANEL_CONTROLS, + sizeof(struct GamePanelOrderInfo), compareGamePanelOrderInfo); } void UpdateGameControlValues() @@ -2094,7 +2125,7 @@ void UpdateGameControlValues() for (i = 0; i < NUM_PANEL_CE_SCORE; i++) { - if (game.panel.ce_score[i].id != EL_UNDEFINED) + if (IS_CUSTOM_ELEMENT(game.panel.ce_score[i].id)) { int ce_score = element_info[game.panel.ce_score[i].id].collect_score; @@ -2131,25 +2162,73 @@ void UpdateGameControlValues() void DisplayGameControlValues() { + boolean redraw_panel = FALSE; int i; + for (i = 0; game_panel_controls[i].nr != -1; i++) + { + struct GamePanelControlInfo *gpc = &game_panel_controls[i]; + + if (PANEL_DEACTIVATED(gpc->pos)) + continue; + + if (gpc->value == gpc->last_value && + gpc->frame == gpc->last_frame) + continue; + + redraw_panel = TRUE; + } + + if (!redraw_panel) + return; + + /* copy default game door content to main double buffer */ + BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto, + DOOR_GFX_PAGEX5, DOOR_GFX_PAGEY1, DXSIZE, DYSIZE, DX, DY); + + /* redraw game control buttons */ +#if 1 + RedrawGameButtons(); +#else + UnmapGameButtons(); + MapGameButtons(); +#endif + game_status = GAME_MODE_PSEUDO_PANEL; +#if 1 + for (i = 0; i < NUM_GAME_PANEL_CONTROLS; i++) +#else for (i = 0; game_panel_controls[i].nr != -1; i++) +#endif { +#if 1 + int nr = game_panel_order[i].nr; + struct GamePanelControlInfo *gpc = &game_panel_controls[nr]; +#else struct GamePanelControlInfo *gpc = &game_panel_controls[i]; int nr = gpc->nr; - int type = gpc->type; +#endif struct TextPosInfo *pos = gpc->pos; + int type = gpc->type; int value = gpc->value; int frame = gpc->frame; +#if 0 int last_value = gpc->last_value; int last_frame = gpc->last_frame; +#endif int size = pos->size; int font = pos->font; + boolean draw_masked = pos->draw_masked; + int mask_mode = (draw_masked ? BLIT_MASKED : BLIT_OPAQUE); + if (PANEL_DEACTIVATED(pos)) + continue; + +#if 0 if (value == last_value && frame == last_frame) continue; +#endif gpc->last_value = value; gpc->last_frame = frame; @@ -2158,9 +2237,6 @@ void DisplayGameControlValues() printf("::: value %d changed from %d to %d\n", nr, last_value, value); #endif - if (PANEL_DEACTIVATED(pos)) - continue; - if (type == TYPE_INTEGER) { if (nr == GAME_PANEL_LEVEL_NUMBER || @@ -2179,6 +2255,7 @@ void DisplayGameControlValues() size = (value < value_change ? size1 : size2); font = (value < value_change ? font1 : font2); +#if 0 /* clear background if value just changed its size (dynamic digits) */ if ((last_value < value_change) != (value < value_change)) { @@ -2192,6 +2269,7 @@ void DisplayGameControlValues() ClearRectangleOnBackground(drawto, PANEL_XPOS(pos), PANEL_YPOS(pos), max_width, max_height); } +#endif } } @@ -2204,7 +2282,8 @@ void DisplayGameControlValues() pos->width = size * getFontWidth(font); #endif - DrawText(PANEL_XPOS(pos), PANEL_YPOS(pos), int2str(value, size), font); + DrawTextExt(drawto, PANEL_XPOS(pos), PANEL_YPOS(pos), + int2str(value, size), font, mask_mode); } else if (type == TYPE_ELEMENT) { @@ -2215,6 +2294,32 @@ void DisplayGameControlValues() int dst_x = PANEL_XPOS(pos); int dst_y = PANEL_YPOS(pos); +#if 1 + if (value != EL_UNDEFINED && value != EL_EMPTY) + { + element = value; + graphic = el2panelimg(value); + + getSizedGraphicSource(graphic, frame, size, &src_bitmap, + &src_x, &src_y); + + width = graphic_info[graphic].width * size / TILESIZE; + height = graphic_info[graphic].height * size / TILESIZE; + + if (draw_masked) + { + SetClipOrigin(src_bitmap, src_bitmap->stored_clip_gc, + dst_x - src_x, dst_y - src_y); + BlitBitmapMasked(src_bitmap, drawto, src_x, src_y, width, height, + dst_x, dst_y); + } + else + { + BlitBitmap(src_bitmap, drawto, src_x, src_y, width, height, + dst_x, dst_y); + } + } +#else if (value == EL_UNDEFINED || value == EL_EMPTY) { element = (last_value == EL_UNDEFINED ? EL_EMPTY : last_value); @@ -2236,6 +2341,7 @@ void DisplayGameControlValues() height = graphic_info[graphic].height * size / TILESIZE; BlitBitmap(src_bitmap, drawto, src_x, src_y, width, height, dst_x, dst_y); +#endif } else if (type == TYPE_STRING) { @@ -2252,6 +2358,7 @@ void DisplayGameControlValues() { int font1 = pos->font; /* (used for normal state) */ int font2 = pos->font_alt; /* (used for active state) */ +#if 0 int size1 = strlen(state_normal); int size2 = strlen(state_active); int width1 = size1 * getFontWidth(font1); @@ -2264,6 +2371,7 @@ void DisplayGameControlValues() /* clear background for values that may have changed its size */ ClearRectangleOnBackground(drawto, PANEL_XPOS(pos), PANEL_YPOS(pos), max_width, max_height); +#endif font = (active ? font2 : font1); } @@ -2285,7 +2393,8 @@ void DisplayGameControlValues() s_cut = getStringCopyN(s, size); - DrawText(PANEL_XPOS(pos), PANEL_YPOS(pos), s_cut, font); + DrawTextExt(drawto, PANEL_XPOS(pos), PANEL_YPOS(pos), + s_cut, font, mask_mode); free(s_cut); } @@ -15430,6 +15539,7 @@ void CreateGameButtons() GDI_DESIGN_PRESSED, gd_bitmap, gd_x2, gd_y1, GDI_ALT_DESIGN_UNPRESSED, gd_bitmap, gd_x1, gd_y2, GDI_ALT_DESIGN_PRESSED, gd_bitmap, gd_x2, gd_y2, + GDI_DIRECT_DRAW, FALSE, GDI_EVENT_MASK, event_mask, GDI_CALLBACK_ACTION, HandleGameButtons, GDI_END); @@ -15465,6 +15575,14 @@ void UnmapGameButtons() UnmapGadget(game_gadget[i]); } +void RedrawGameButtons() +{ + int i; + + for (i = 0; i < NUM_GAME_BUTTONS; i++) + RedrawGadget(game_gadget[i]); +} + static void HandleGameButtons(struct GadgetInfo *gi) { int id = gi->custom_id; diff --git a/src/game.h b/src/game.h index ace61a5b..739c51af 100644 --- a/src/game.h +++ b/src/game.h @@ -339,5 +339,6 @@ boolean CheckEngineSnapshot(); void CreateGameButtons(); void FreeGameButtons(); void UnmapGameButtons(); +void RedrawGameButtons(); #endif diff --git a/src/libgame/misc.c b/src/libgame/misc.c index b93c9bde..cfee3b2d 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -1549,9 +1549,13 @@ int get_integer_from_string(char *s) if (result == -1) { - if (strEqual(s_lower, "false")) + if (strEqual(s_lower, "false") || + strEqual(s_lower, "no") || + strEqual(s_lower, "off")) result = 0; - else if (strEqual(s_lower, "true")) + else if (strEqual(s_lower, "true") || + strEqual(s_lower, "yes") || + strEqual(s_lower, "on")) result = 1; else result = atoi(s); diff --git a/src/libgame/system.c b/src/libgame/system.c index c99010bc..09c804f0 100644 --- a/src/libgame/system.c +++ b/src/libgame/system.c @@ -1023,6 +1023,32 @@ static void CreateScaledBitmaps(Bitmap *old_bitmap, int zoom_factor, old_bitmap->width = new_bitmap->width; old_bitmap->height = new_bitmap->height; +#if 1 + /* !!! THIS URGENTLY NEEDS OPTIMIZATION -- DO NOT CREATE MASKS BEFORE !!! */ + { +#if defined(TARGET_X11) + if (old_bitmap->clip_mask) + XFreePixmap(display, old_bitmap->clip_mask); + + old_bitmap->clip_mask = + Pixmap_to_Mask(old_bitmap->drawable, new_width, new_height); + + XSetClipMask(display, old_bitmap->stored_clip_gc, old_bitmap->clip_mask); +#else + SDL_Surface *old_surface = old_bitmap->surface; + + if (old_bitmap->surface_masked) + SDL_FreeSurface(old_bitmap->surface_masked); + + SDL_SetColorKey(old_surface, SDL_SRCCOLORKEY, + SDL_MapRGB(old_surface->format, 0x00, 0x00, 0x00)); + if ((old_bitmap->surface_masked = SDL_DisplayFormat(old_surface)) ==NULL) + Error(ERR_EXIT, "SDL_DisplayFormat() failed"); + SDL_SetColorKey(old_surface, 0, 0); /* reset transparent pixel */ +#endif + } +#endif + FreeBitmap(new_bitmap); /* this actually frees the _old_ bitmap now */ } diff --git a/src/libgame/system.h b/src/libgame/system.h index 0a306068..99931593 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -1052,6 +1052,8 @@ struct TextPosInfo int align, valign; int size; int font, font_alt; + boolean draw_masked; + int sort_priority; int id; }; diff --git a/src/tools.c b/src/tools.c index e7cd92d5..3ec8d328 100644 --- a/src/tools.c +++ b/src/tools.c @@ -3028,7 +3028,6 @@ boolean Request(char *text, unsigned int req_state) if (game_status == GAME_MODE_PLAYING && local_player->LevelSolved_GameEnd) { HandleGameActions(); - BackToFront(); } else { @@ -3038,6 +3037,8 @@ boolean Request(char *text, unsigned int req_state) Delay(10); } + BackToFront(); + #else DoAnimation(); -- 2.34.1