-#define GAME_CONTROL_LEVEL_NUMBER 0
-#define GAME_CONTROL_GEMS 1
-#define GAME_CONTROL_INVENTORY 2
-#define GAME_CONTROL_KEY_1 3
-#define GAME_CONTROL_KEY_2 4
-#define GAME_CONTROL_KEY_3 5
-#define GAME_CONTROL_KEY_4 6
-#define GAME_CONTROL_KEY_5 7
-#define GAME_CONTROL_KEY_6 8
-#define GAME_CONTROL_KEY_7 9
-#define GAME_CONTROL_KEY_8 10
-#define GAME_CONTROL_KEY_WHITE 11
-#define GAME_CONTROL_KEY_WHITE_COUNT 12
-#define GAME_CONTROL_SCORE 13
-#define GAME_CONTROL_TIME 14
-#define GAME_CONTROL_TIME_HH 15
-#define GAME_CONTROL_TIME_MM 16
-#define GAME_CONTROL_TIME_SS 17
-#define GAME_CONTROL_DROP_NEXT_1 18
-#define GAME_CONTROL_DROP_NEXT_2 19
-#define GAME_CONTROL_DROP_NEXT_3 20
-#define GAME_CONTROL_DROP_NEXT_4 21
-#define GAME_CONTROL_DROP_NEXT_5 22
-#define GAME_CONTROL_DROP_NEXT_6 23
-#define GAME_CONTROL_DROP_NEXT_7 24
-#define GAME_CONTROL_DROP_NEXT_8 25
-#define GAME_CONTROL_SHIELD_NORMAL 26
-#define GAME_CONTROL_SHIELD_NORMAL_TIME 27
-#define GAME_CONTROL_SHIELD_DEADLY 28
-#define GAME_CONTROL_SHIELD_DEADLY_TIME 29
-#define GAME_CONTROL_EXIT 30
-#define GAME_CONTROL_EM_EXIT 31
-#define GAME_CONTROL_SP_EXIT 32
-#define GAME_CONTROL_STEEL_EXIT 33
-#define GAME_CONTROL_EM_STEEL_EXIT 34
-#define GAME_CONTROL_EMC_MAGIC_BALL 35
-#define GAME_CONTROL_EMC_MAGIC_BALL_SWITCH 36
-#define GAME_CONTROL_LIGHT_SWITCH 37
-#define GAME_CONTROL_LIGHT_SWITCH_TIME 38
-#define GAME_CONTROL_TIMEGATE_SWITCH 39
-#define GAME_CONTROL_TIMEGATE_SWITCH_TIME 40
-#define GAME_CONTROL_SWITCHGATE_SWITCH 41
-#define GAME_CONTROL_EMC_LENSES 42
-#define GAME_CONTROL_EMC_LENSES_TIME 43
-#define GAME_CONTROL_EMC_MAGNIFIER 44
-#define GAME_CONTROL_EMC_MAGNIFIER_TIME 45
-#define GAME_CONTROL_BALLOON_SWITCH 46
-#define GAME_CONTROL_DYNABOMB_NUMBER 47
-#define GAME_CONTROL_DYNABOMB_SIZE 48
-#define GAME_CONTROL_DYNABOMB_POWER 49
-#define GAME_CONTROL_PENGUINS 50
-#define GAME_CONTROL_SOKOBAN_OBJECTS 51
-#define GAME_CONTROL_SOKOBAN_FIELDS 52
-#define GAME_CONTROL_ROBOT_WHEEL 53
-#define GAME_CONTROL_CONVEYOR_BELT_1 54
-#define GAME_CONTROL_CONVEYOR_BELT_1_SWITCH 55
-#define GAME_CONTROL_CONVEYOR_BELT_2 56
-#define GAME_CONTROL_CONVEYOR_BELT_2_SWITCH 57
-#define GAME_CONTROL_CONVEYOR_BELT_3 58
-#define GAME_CONTROL_CONVEYOR_BELT_3_SWITCH 59
-#define GAME_CONTROL_CONVEYOR_BELT_4 60
-#define GAME_CONTROL_CONVEYOR_BELT_4_SWITCH 61
-#define GAME_CONTROL_MAGIC_WALL 62
-#define GAME_CONTROL_MAGIC_WALL_TIME 63
-#define GAME_CONTROL_BD_MAGIC_WALL 64
-#define GAME_CONTROL_DC_MAGIC_WALL 65
-#define GAME_CONTROL_PLAYER_NAME 66
-#define GAME_CONTROL_LEVEL_NAME 67
-#define GAME_CONTROL_LEVEL_AUTHOR 68
-
-#define NUM_GAME_CONTROLS 69
-
-int game_control_value[NUM_GAME_CONTROLS];
-int last_game_control_value[NUM_GAME_CONTROLS];
-
-struct GameControlInfo
+#define GAME_PANEL_LEVEL_NUMBER 0
+#define GAME_PANEL_GEMS 1
+#define GAME_PANEL_INVENTORY_COUNT 2
+#define GAME_PANEL_INVENTORY_FIRST_1 3
+#define GAME_PANEL_INVENTORY_FIRST_2 4
+#define GAME_PANEL_INVENTORY_FIRST_3 5
+#define GAME_PANEL_INVENTORY_FIRST_4 6
+#define GAME_PANEL_INVENTORY_FIRST_5 7
+#define GAME_PANEL_INVENTORY_FIRST_6 8
+#define GAME_PANEL_INVENTORY_FIRST_7 9
+#define GAME_PANEL_INVENTORY_FIRST_8 10
+#define GAME_PANEL_INVENTORY_LAST_1 11
+#define GAME_PANEL_INVENTORY_LAST_2 12
+#define GAME_PANEL_INVENTORY_LAST_3 13
+#define GAME_PANEL_INVENTORY_LAST_4 14
+#define GAME_PANEL_INVENTORY_LAST_5 15
+#define GAME_PANEL_INVENTORY_LAST_6 16
+#define GAME_PANEL_INVENTORY_LAST_7 17
+#define GAME_PANEL_INVENTORY_LAST_8 18
+#define GAME_PANEL_KEY_1 19
+#define GAME_PANEL_KEY_2 20
+#define GAME_PANEL_KEY_3 21
+#define GAME_PANEL_KEY_4 22
+#define GAME_PANEL_KEY_5 23
+#define GAME_PANEL_KEY_6 24
+#define GAME_PANEL_KEY_7 25
+#define GAME_PANEL_KEY_8 26
+#define GAME_PANEL_KEY_WHITE 27
+#define GAME_PANEL_KEY_WHITE_COUNT 28
+#define GAME_PANEL_SCORE 29
+#define GAME_PANEL_HIGHSCORE 30
+#define GAME_PANEL_TIME 31
+#define GAME_PANEL_TIME_HH 32
+#define GAME_PANEL_TIME_MM 33
+#define GAME_PANEL_TIME_SS 34
+#define GAME_PANEL_FRAME 35
+#define GAME_PANEL_SHIELD_NORMAL 36
+#define GAME_PANEL_SHIELD_NORMAL_TIME 37
+#define GAME_PANEL_SHIELD_DEADLY 38
+#define GAME_PANEL_SHIELD_DEADLY_TIME 39
+#define GAME_PANEL_EXIT 40
+#define GAME_PANEL_EMC_MAGIC_BALL 41
+#define GAME_PANEL_EMC_MAGIC_BALL_SWITCH 42
+#define GAME_PANEL_LIGHT_SWITCH 43
+#define GAME_PANEL_LIGHT_SWITCH_TIME 44
+#define GAME_PANEL_TIMEGATE_SWITCH 45
+#define GAME_PANEL_TIMEGATE_SWITCH_TIME 46
+#define GAME_PANEL_SWITCHGATE_SWITCH 47
+#define GAME_PANEL_EMC_LENSES 48
+#define GAME_PANEL_EMC_LENSES_TIME 49
+#define GAME_PANEL_EMC_MAGNIFIER 50
+#define GAME_PANEL_EMC_MAGNIFIER_TIME 51
+#define GAME_PANEL_BALLOON_SWITCH 52
+#define GAME_PANEL_DYNABOMB_NUMBER 53
+#define GAME_PANEL_DYNABOMB_SIZE 54
+#define GAME_PANEL_DYNABOMB_POWER 55
+#define GAME_PANEL_PENGUINS 56
+#define GAME_PANEL_SOKOBAN_OBJECTS 57
+#define GAME_PANEL_SOKOBAN_FIELDS 58
+#define GAME_PANEL_ROBOT_WHEEL 59
+#define GAME_PANEL_CONVEYOR_BELT_1 60
+#define GAME_PANEL_CONVEYOR_BELT_2 61
+#define GAME_PANEL_CONVEYOR_BELT_3 62
+#define GAME_PANEL_CONVEYOR_BELT_4 63
+#define GAME_PANEL_CONVEYOR_BELT_1_SWITCH 64
+#define GAME_PANEL_CONVEYOR_BELT_2_SWITCH 65
+#define GAME_PANEL_CONVEYOR_BELT_3_SWITCH 66
+#define GAME_PANEL_CONVEYOR_BELT_4_SWITCH 67
+#define GAME_PANEL_MAGIC_WALL 68
+#define GAME_PANEL_MAGIC_WALL_TIME 69
+#define GAME_PANEL_GRAVITY_STATE 70
+#define GAME_PANEL_GRAPHIC_1 71
+#define GAME_PANEL_GRAPHIC_2 72
+#define GAME_PANEL_GRAPHIC_3 73
+#define GAME_PANEL_GRAPHIC_4 74
+#define GAME_PANEL_GRAPHIC_5 75
+#define GAME_PANEL_GRAPHIC_6 76
+#define GAME_PANEL_GRAPHIC_7 77
+#define GAME_PANEL_GRAPHIC_8 78
+#define GAME_PANEL_ELEMENT_1 79
+#define GAME_PANEL_ELEMENT_2 80
+#define GAME_PANEL_ELEMENT_3 81
+#define GAME_PANEL_ELEMENT_4 82
+#define GAME_PANEL_ELEMENT_5 83
+#define GAME_PANEL_ELEMENT_6 84
+#define GAME_PANEL_ELEMENT_7 85
+#define GAME_PANEL_ELEMENT_8 86
+#define GAME_PANEL_ELEMENT_COUNT_1 87
+#define GAME_PANEL_ELEMENT_COUNT_2 88
+#define GAME_PANEL_ELEMENT_COUNT_3 89
+#define GAME_PANEL_ELEMENT_COUNT_4 90
+#define GAME_PANEL_ELEMENT_COUNT_5 91
+#define GAME_PANEL_ELEMENT_COUNT_6 92
+#define GAME_PANEL_ELEMENT_COUNT_7 93
+#define GAME_PANEL_ELEMENT_COUNT_8 94
+#define GAME_PANEL_CE_SCORE_1 95
+#define GAME_PANEL_CE_SCORE_2 96
+#define GAME_PANEL_CE_SCORE_3 97
+#define GAME_PANEL_CE_SCORE_4 98
+#define GAME_PANEL_CE_SCORE_5 99
+#define GAME_PANEL_CE_SCORE_6 100
+#define GAME_PANEL_CE_SCORE_7 101
+#define GAME_PANEL_CE_SCORE_8 102
+#define GAME_PANEL_CE_SCORE_1_ELEMENT 103
+#define GAME_PANEL_CE_SCORE_2_ELEMENT 104
+#define GAME_PANEL_CE_SCORE_3_ELEMENT 105
+#define GAME_PANEL_CE_SCORE_4_ELEMENT 106
+#define GAME_PANEL_CE_SCORE_5_ELEMENT 107
+#define GAME_PANEL_CE_SCORE_6_ELEMENT 108
+#define GAME_PANEL_CE_SCORE_7_ELEMENT 109
+#define GAME_PANEL_CE_SCORE_8_ELEMENT 110
+#define GAME_PANEL_PLAYER_NAME 111
+#define GAME_PANEL_LEVEL_NAME 112
+#define GAME_PANEL_LEVEL_AUTHOR 113
+
+#define NUM_GAME_PANEL_CONTROLS 114
+
+struct GamePanelOrderInfo
+{
+ int nr;
+ int sort_priority;
+};
+
+static struct GamePanelOrderInfo game_panel_order[NUM_GAME_PANEL_CONTROLS];
+
+struct GamePanelControlInfo