rnd-20070407-3-src
authorHolger Schemel <info@artsoft.org>
Sat, 7 Apr 2007 18:05:09 +0000 (20:05 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:55:29 +0000 (10:55 +0200)
* 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
src/conf_gfx.c
src/conf_var.c
src/conftime.h
src/files.c
src/game.c
src/game.h
src/libgame/misc.c
src/libgame/system.c
src/libgame/system.h
src/tools.c

index 5fd9585209c18d2f5ce717475b9a1e0c501eee1d..7a1ef5d8eb10b9b12257474e74479545dcf2eddc 100644 (file)
--- 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
 
index c5d055c9ca2f18675adb3eb07445dbb22ecb722b..f15b8c1dda94cdf855a8ba506093596630e9f272 100644 (file)
@@ -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"                   },
index c8cd2f663c87928963a1b9b270f281d26a6e069e..57d32a7df9aa057c4046f3d0e052d854f6667395 100644 (file)
@@ -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
index 44d63deed1a5f8af0c3460ff3d4f85a13787a231..a22a5e5b9673360e4b781cd662a3a003d2d2fa01 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2007-04-07 17:24"
+#define COMPILE_DATE_STRING "2007-04-07 19:50"
index 7d32cda82ebe2ee5137a39c078fa91f7a13f26dc..72603889acbf17cf5a076801d63a9ddb541950ea 100644 (file)
@@ -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);
 }
 
index f7cb0fe154c970a3e8484c50516e9c303abfc869..0d748e5b5330707b58f95191ce497807248ac60b 100644 (file)
 
 #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;
index ace61a5b14884658f9253b36bca9b5b43510c819..739c51af641874b495fde459637e27435e7a5676 100644 (file)
@@ -339,5 +339,6 @@ boolean CheckEngineSnapshot();
 void CreateGameButtons();
 void FreeGameButtons();
 void UnmapGameButtons();
+void RedrawGameButtons();
 
 #endif
index b93c9bdeea4ee03056530b61aeced0a1c8d0d978..cfee3b2de339d5a5eb4029605b6fd8074e0e6fd1 100644 (file)
@@ -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);
index c99010bc9bde7fde6a77e2f7f8451fc8790f8ade..09c804f06a4a3f6687266356e41b9d4672ffdbf8 100644 (file)
@@ -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 */
 }
 
index 0a306068fd4428651977f151339dc924212cf2bd..999315935061e2848a37ede786be9b22e6e32aea 100644 (file)
@@ -1052,6 +1052,8 @@ struct TextPosInfo
   int align, valign;
   int size;
   int font, font_alt;
+  boolean draw_masked;
+  int sort_priority;
   int id;
 };
 
index e7cd92d525a5b0ab66ec0ecd93c81d583affc5c3..3ec8d328d1dca951c9d7e00bd77749cd0652e9d7 100644 (file)
@@ -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();