-#define GAME_CONTROL_LEVEL_NUMBER 0
-#define GAME_CONTROL_GEMS 1
-#define GAME_CONTROL_INVENTORY_COUNT 2
-#define GAME_CONTROL_INVENTORY_FIRST_1 3
-#define GAME_CONTROL_INVENTORY_FIRST_2 4
-#define GAME_CONTROL_INVENTORY_FIRST_3 5
-#define GAME_CONTROL_INVENTORY_FIRST_4 6
-#define GAME_CONTROL_INVENTORY_FIRST_5 7
-#define GAME_CONTROL_INVENTORY_FIRST_6 8
-#define GAME_CONTROL_INVENTORY_FIRST_7 9
-#define GAME_CONTROL_INVENTORY_FIRST_8 10
-#define GAME_CONTROL_INVENTORY_LAST_1 11
-#define GAME_CONTROL_INVENTORY_LAST_2 12
-#define GAME_CONTROL_INVENTORY_LAST_3 13
-#define GAME_CONTROL_INVENTORY_LAST_4 14
-#define GAME_CONTROL_INVENTORY_LAST_5 15
-#define GAME_CONTROL_INVENTORY_LAST_6 16
-#define GAME_CONTROL_INVENTORY_LAST_7 17
-#define GAME_CONTROL_INVENTORY_LAST_8 18
-#define GAME_CONTROL_KEY_1 19
-#define GAME_CONTROL_KEY_2 20
-#define GAME_CONTROL_KEY_3 21
-#define GAME_CONTROL_KEY_4 22
-#define GAME_CONTROL_KEY_5 23
-#define GAME_CONTROL_KEY_6 24
-#define GAME_CONTROL_KEY_7 25
-#define GAME_CONTROL_KEY_8 26
-#define GAME_CONTROL_KEY_WHITE 27
-#define GAME_CONTROL_KEY_WHITE_COUNT 28
-#define GAME_CONTROL_SCORE 29
-#define GAME_CONTROL_TIME 30
-#define GAME_CONTROL_TIME_HH 31
-#define GAME_CONTROL_TIME_MM 32
-#define GAME_CONTROL_TIME_SS 33
-#define GAME_CONTROL_SHIELD_NORMAL 34
-#define GAME_CONTROL_SHIELD_NORMAL_TIME 35
-#define GAME_CONTROL_SHIELD_DEADLY 36
-#define GAME_CONTROL_SHIELD_DEADLY_TIME 37
-#define GAME_CONTROL_EXIT 38
-#define GAME_CONTROL_EMC_MAGIC_BALL 39
-#define GAME_CONTROL_EMC_MAGIC_BALL_SWITCH 40
-#define GAME_CONTROL_LIGHT_SWITCH 41
-#define GAME_CONTROL_LIGHT_SWITCH_TIME 42
-#define GAME_CONTROL_TIMEGATE_SWITCH 43
-#define GAME_CONTROL_TIMEGATE_SWITCH_TIME 44
-#define GAME_CONTROL_SWITCHGATE_SWITCH 45
-#define GAME_CONTROL_EMC_LENSES 46
-#define GAME_CONTROL_EMC_LENSES_TIME 47
-#define GAME_CONTROL_EMC_MAGNIFIER 48
-#define GAME_CONTROL_EMC_MAGNIFIER_TIME 49
-#define GAME_CONTROL_BALLOON_SWITCH 50
-#define GAME_CONTROL_DYNABOMB_NUMBER 51
-#define GAME_CONTROL_DYNABOMB_SIZE 52
-#define GAME_CONTROL_DYNABOMB_POWER 53
-#define GAME_CONTROL_PENGUINS 54
-#define GAME_CONTROL_SOKOBAN_OBJECTS 55
-#define GAME_CONTROL_SOKOBAN_FIELDS 56
-#define GAME_CONTROL_ROBOT_WHEEL 57
-#define GAME_CONTROL_CONVEYOR_BELT_1 58
-#define GAME_CONTROL_CONVEYOR_BELT_1_SWITCH 59
-#define GAME_CONTROL_CONVEYOR_BELT_2 60
-#define GAME_CONTROL_CONVEYOR_BELT_2_SWITCH 61
-#define GAME_CONTROL_CONVEYOR_BELT_3 62
-#define GAME_CONTROL_CONVEYOR_BELT_3_SWITCH 63
-#define GAME_CONTROL_CONVEYOR_BELT_4 64
-#define GAME_CONTROL_CONVEYOR_BELT_4_SWITCH 65
-#define GAME_CONTROL_MAGIC_WALL 66
-#define GAME_CONTROL_MAGIC_WALL_TIME 67
-#define GAME_CONTROL_GRAVITY_STATE 68
-#define GAME_CONTROL_PLAYER_NAME 69
-#define GAME_CONTROL_LEVEL_NAME 70
-#define GAME_CONTROL_LEVEL_AUTHOR 71
-
-#define NUM_GAME_CONTROLS 72
-
-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_TIME 30
+#define GAME_PANEL_TIME_HH 31
+#define GAME_PANEL_TIME_MM 32
+#define GAME_PANEL_TIME_SS 33
+#define GAME_PANEL_SHIELD_NORMAL 34
+#define GAME_PANEL_SHIELD_NORMAL_TIME 35
+#define GAME_PANEL_SHIELD_DEADLY 36
+#define GAME_PANEL_SHIELD_DEADLY_TIME 37
+#define GAME_PANEL_EXIT 38
+#define GAME_PANEL_EMC_MAGIC_BALL 39
+#define GAME_PANEL_EMC_MAGIC_BALL_SWITCH 40
+#define GAME_PANEL_LIGHT_SWITCH 41
+#define GAME_PANEL_LIGHT_SWITCH_TIME 42
+#define GAME_PANEL_TIMEGATE_SWITCH 43
+#define GAME_PANEL_TIMEGATE_SWITCH_TIME 44
+#define GAME_PANEL_SWITCHGATE_SWITCH 45
+#define GAME_PANEL_EMC_LENSES 46
+#define GAME_PANEL_EMC_LENSES_TIME 47
+#define GAME_PANEL_EMC_MAGNIFIER 48
+#define GAME_PANEL_EMC_MAGNIFIER_TIME 49
+#define GAME_PANEL_BALLOON_SWITCH 50
+#define GAME_PANEL_DYNABOMB_NUMBER 51
+#define GAME_PANEL_DYNABOMB_SIZE 52
+#define GAME_PANEL_DYNABOMB_POWER 53
+#define GAME_PANEL_PENGUINS 54
+#define GAME_PANEL_SOKOBAN_OBJECTS 55
+#define GAME_PANEL_SOKOBAN_FIELDS 56
+#define GAME_PANEL_ROBOT_WHEEL 57
+#define GAME_PANEL_CONVEYOR_BELT_1 58
+#define GAME_PANEL_CONVEYOR_BELT_1_SWITCH 59
+#define GAME_PANEL_CONVEYOR_BELT_2 60
+#define GAME_PANEL_CONVEYOR_BELT_2_SWITCH 61
+#define GAME_PANEL_CONVEYOR_BELT_3 62
+#define GAME_PANEL_CONVEYOR_BELT_3_SWITCH 63
+#define GAME_PANEL_CONVEYOR_BELT_4 64
+#define GAME_PANEL_CONVEYOR_BELT_4_SWITCH 65
+#define GAME_PANEL_MAGIC_WALL 66
+#define GAME_PANEL_MAGIC_WALL_TIME 67
+#define GAME_PANEL_GRAVITY_STATE 68
+#define GAME_PANEL_PLAYER_NAME 69
+#define GAME_PANEL_LEVEL_NAME 70
+#define GAME_PANEL_LEVEL_AUTHOR 71
+
+#define NUM_GAME_PANEL_CONTROLS 72
+
+struct GamePanelControlInfo