X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=c5eb3e09d49eee142e7fdf9c0cb835f3c98b7b47;hb=f857fec3082c785b0dd271b6ad1b7642a2ed4e65;hp=4707b4ff1264b4137867189dd452310e047212a1;hpb=bb14567afe79714fc177fdd2d205bc9a7bf3c9b6;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index 4707b4ff..c5eb3e09 100644 --- a/src/editor.c +++ b/src/editor.c @@ -530,15 +530,7 @@ static int random_placement_method = RANDOM_USE_QUANTITY; static int random_placement_background_element = EL_SAND; static boolean random_placement_background_restricted = FALSE; static boolean stick_element_properties_window = FALSE; - -static struct -{ - boolean indestructible; - boolean can_fall; - boolean can_smash; - boolean pushable; - boolean slippery; -} custom_element_properties[NUM_CUSTOM_ELEMENTS]; +static boolean custom_element_properties[NUM_ELEMENT_PROPERTIES]; static struct { @@ -603,7 +595,7 @@ static struct 0, 255, GADGET_ID_LEVEL_TIMESCORE_DOWN, GADGET_ID_LEVEL_TIMESCORE_UP, GADGET_ID_LEVEL_TIMESCORE_TEXT, - &level.score[SC_ZEITBONUS], + &level.score[SC_TIME_BONUS], "score for each 10 seconds left", NULL }, { @@ -857,31 +849,31 @@ static struct { ED_SETTINGS_XPOS, ED_COUNTER_YPOS2(10), GADGET_ID_CUSTOM_INDESTRUCTIBLE, - &custom_element_properties[0].indestructible, + &custom_element_properties[EP_INDESTRUCTIBLE], "indestructible", "element cannot be destroyed" }, { ED_SETTINGS_XPOS, ED_COUNTER_YPOS2(11), GADGET_ID_CUSTOM_CAN_FALL, - &custom_element_properties[0].can_fall, + &custom_element_properties[EP_CAN_FALL], "can fall", "element can fall down" }, { ED_SETTINGS_XPOS, ED_COUNTER_YPOS2(12), GADGET_ID_CUSTOM_CAN_SMASH, - &custom_element_properties[0].can_smash, + &custom_element_properties[EP_CAN_SMASH], "can smash", "element can smash other elements" }, { ED_SETTINGS_XPOS, ED_COUNTER_YPOS2(13), GADGET_ID_CUSTOM_PUSHABLE, - &custom_element_properties[0].pushable, + &custom_element_properties[EP_PUSHABLE], "pushable", "element can be pushed" }, { ED_SETTINGS_XPOS, ED_COUNTER_YPOS2(14), GADGET_ID_CUSTOM_SLIPPERY, - &custom_element_properties[0].slippery, + &custom_element_properties[EP_SLIPPERY], "slippery", "other elements can fall down from it" } }; @@ -2615,7 +2607,7 @@ void CreateLevelEditorGadgets() int old_game_status = game_status; /* setting 'game_status' is needed to get the right fonts for the editor */ - game_status = LEVELED; + game_status = GAME_MODE_EDITOR; ReinitializeElementList(); @@ -2808,67 +2800,20 @@ static void CopyPlayfield(short src[MAX_LEV_FIELDX][MAX_LEV_FIELDY], dst[x][y] = src[x][y]; } -static void CopyCustomElementPropertiesToEditor() +static void CopyCustomElementPropertiesToEditor(int element) { int i; - for (i=0; i < NUM_CUSTOM_ELEMENTS; i++) - { - int element = EL_CUSTOM_START + i; - int properties = Properties1[element]; - - custom_element_properties[i].indestructible = - ((properties & EP_BIT_INDESTRUCTIBLE) != 0 ? TRUE : FALSE); - - custom_element_properties[i].can_fall = - ((properties & EP_BIT_CAN_FALL) != 0 ? TRUE : FALSE); - - custom_element_properties[i].can_smash = - ((properties & EP_BIT_CAN_SMASH) != 0 ? TRUE : FALSE); - - custom_element_properties[i].pushable = - ((properties & EP_BIT_PUSHABLE) != 0 ? TRUE : FALSE); - - custom_element_properties[i].slippery = - ((properties & EP_BIT_SLIPPERY) != 0 ? TRUE : FALSE); - } + for (i=0; i < NUM_ELEMENT_PROPERTIES; i++) + custom_element_properties[i] = HAS_PROPERTY(element, i); } -static void CopyCustomElementPropertiesToGame() +static void CopyCustomElementPropertiesToGame(int element) { int i; - for (i=0; i < NUM_CUSTOM_ELEMENTS; i++) - { - int element = EL_CUSTOM_START + i; - - Properties1[element] = EP_BITMASK_DEFAULT; - - if (custom_element_properties[i].indestructible) - Properties1[element] |= EP_BIT_INDESTRUCTIBLE; - else - Properties1[element] &= ~EP_BIT_INDESTRUCTIBLE; - - if (custom_element_properties[i].can_fall) - Properties1[element] |= EP_BIT_CAN_FALL; - else - Properties1[element] &= ~EP_BIT_CAN_FALL; - - if (custom_element_properties[i].can_smash) - Properties1[element] |= EP_BIT_CAN_SMASH; - else - Properties1[element] &= ~EP_BIT_CAN_SMASH; - - if (custom_element_properties[i].pushable) - Properties1[element] |= EP_BIT_PUSHABLE; - else - Properties1[element] &= ~EP_BIT_PUSHABLE; - - if (custom_element_properties[i].slippery) - Properties1[element] |= EP_BIT_SLIPPERY; - else - Properties1[element] &= ~EP_BIT_SLIPPERY; - } + for (i=0; i < NUM_ELEMENT_PROPERTIES; i++) + SET_PROPERTY(element, i, custom_element_properties[i]); } void DrawLevelEd() @@ -3351,45 +3296,45 @@ static struct char *text; } elements_with_counter[] = { - { EL_EMERALD, &level.score[SC_EDELSTEIN], TEXT_COLLECTING }, - { EL_BD_DIAMOND, &level.score[SC_EDELSTEIN], TEXT_COLLECTING }, - { EL_EMERALD_YELLOW, &level.score[SC_EDELSTEIN], TEXT_COLLECTING }, - { EL_EMERALD_RED, &level.score[SC_EDELSTEIN], TEXT_COLLECTING }, - { EL_EMERALD_PURPLE, &level.score[SC_EDELSTEIN], TEXT_COLLECTING }, - { EL_DIAMOND, &level.score[SC_DIAMANT], TEXT_COLLECTING }, - { EL_BUG_RIGHT, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUG_UP, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUG_LEFT, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUG_DOWN, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BD_BUTTERFLY_RIGHT,&level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BD_BUTTERFLY_UP, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BD_BUTTERFLY_LEFT, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BD_BUTTERFLY_DOWN, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_SPACESHIP_RIGHT, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_SPACESHIP_UP, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_SPACESHIP_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_SPACESHIP_DOWN, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_BD_FIREFLY_RIGHT,&level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_BD_FIREFLY_UP, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_BD_FIREFLY_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_BD_FIREFLY_DOWN, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_YAMYAM, &level.score[SC_MAMPFER], TEXT_SMASHING }, - { EL_DARK_YAMYAM, &level.score[SC_MAMPFER], TEXT_SMASHING }, + { EL_EMERALD, &level.score[SC_EMERALD], TEXT_COLLECTING }, + { EL_BD_DIAMOND, &level.score[SC_EMERALD], TEXT_COLLECTING }, + { EL_EMERALD_YELLOW, &level.score[SC_EMERALD], TEXT_COLLECTING }, + { EL_EMERALD_RED, &level.score[SC_EMERALD], TEXT_COLLECTING }, + { EL_EMERALD_PURPLE, &level.score[SC_EMERALD], TEXT_COLLECTING }, + { EL_DIAMOND, &level.score[SC_DIAMOND], TEXT_COLLECTING }, + { EL_BUG_RIGHT, &level.score[SC_BUG], TEXT_SMASHING }, + { EL_BUG_UP, &level.score[SC_BUG], TEXT_SMASHING }, + { EL_BUG_LEFT, &level.score[SC_BUG], TEXT_SMASHING }, + { EL_BUG_DOWN, &level.score[SC_BUG], TEXT_SMASHING }, + { EL_BD_BUTTERFLY_RIGHT,&level.score[SC_BUG], TEXT_SMASHING }, + { EL_BD_BUTTERFLY_UP, &level.score[SC_BUG], TEXT_SMASHING }, + { EL_BD_BUTTERFLY_LEFT, &level.score[SC_BUG], TEXT_SMASHING }, + { EL_BD_BUTTERFLY_DOWN, &level.score[SC_BUG], TEXT_SMASHING }, + { EL_SPACESHIP_RIGHT, &level.score[SC_SPACESHIP], TEXT_SMASHING }, + { EL_SPACESHIP_UP, &level.score[SC_SPACESHIP], TEXT_SMASHING }, + { EL_SPACESHIP_LEFT, &level.score[SC_SPACESHIP], TEXT_SMASHING }, + { EL_SPACESHIP_DOWN, &level.score[SC_SPACESHIP], TEXT_SMASHING }, + { EL_BD_FIREFLY_RIGHT,&level.score[SC_SPACESHIP], TEXT_SMASHING }, + { EL_BD_FIREFLY_UP, &level.score[SC_SPACESHIP], TEXT_SMASHING }, + { EL_BD_FIREFLY_LEFT, &level.score[SC_SPACESHIP], TEXT_SMASHING }, + { EL_BD_FIREFLY_DOWN, &level.score[SC_SPACESHIP], TEXT_SMASHING }, + { EL_YAMYAM, &level.score[SC_YAMYAM], TEXT_SMASHING }, + { EL_DARK_YAMYAM, &level.score[SC_YAMYAM], TEXT_SMASHING }, { EL_ROBOT, &level.score[SC_ROBOT], TEXT_SMASHING }, { EL_PACMAN_RIGHT, &level.score[SC_PACMAN], TEXT_SMASHING }, { EL_PACMAN_UP, &level.score[SC_PACMAN], TEXT_SMASHING }, { EL_PACMAN_LEFT, &level.score[SC_PACMAN], TEXT_SMASHING }, { EL_PACMAN_DOWN, &level.score[SC_PACMAN], TEXT_SMASHING }, - { EL_NUT, &level.score[SC_KOKOSNUSS], TEXT_CRACKING }, - { EL_DYNAMITE, &level.score[SC_DYNAMIT], TEXT_COLLECTING }, - { EL_KEY_1, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, - { EL_KEY_2, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, - { EL_KEY_3, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, - { EL_KEY_4, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, - { EL_EM_KEY_1_FILE, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, - { EL_EM_KEY_2_FILE, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, - { EL_EM_KEY_3_FILE, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, - { EL_EM_KEY_4_FILE, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, + { EL_NUT, &level.score[SC_NUT], TEXT_CRACKING }, + { EL_DYNAMITE, &level.score[SC_DYNAMITE], TEXT_COLLECTING }, + { EL_KEY_1, &level.score[SC_KEY], TEXT_COLLECTING }, + { EL_KEY_2, &level.score[SC_KEY], TEXT_COLLECTING }, + { EL_KEY_3, &level.score[SC_KEY], TEXT_COLLECTING }, + { EL_KEY_4, &level.score[SC_KEY], TEXT_COLLECTING }, + { EL_EM_KEY_1_FILE, &level.score[SC_KEY], TEXT_COLLECTING }, + { EL_EM_KEY_2_FILE, &level.score[SC_KEY], TEXT_COLLECTING }, + { EL_EM_KEY_3_FILE, &level.score[SC_KEY], TEXT_COLLECTING }, + { EL_EM_KEY_4_FILE, &level.score[SC_KEY], TEXT_COLLECTING }, { EL_AMOEBA_WET, &level.amoeba_speed, TEXT_SPEED }, { EL_AMOEBA_DRY, &level.amoeba_speed, TEXT_SPEED }, { EL_AMOEBA_FULL, &level.amoeba_speed, TEXT_SPEED }, @@ -3461,8 +3406,10 @@ static void DrawPropertiesConfig() else DrawElementContentAreas(); } +#if 1 else if (IS_CUSTOM_ELEMENT(properties_element)) DrawCustomChangedArea(); +#endif } if (IS_GEM(properties_element)) @@ -3480,70 +3427,22 @@ static void DrawPropertiesConfig() if (IS_CUSTOM_ELEMENT(properties_element)) { - int nr = properties_element - EL_CUSTOM_START; - - CopyCustomElementPropertiesToEditor(); - - /* draw checkbutton gadget */ - i = ED_CHECKBUTTON_ID_CUSTOM_INDESTRUCTIBLE; - x = checkbutton_info[i].x + xoffset_right2; - y = checkbutton_info[i].y + yoffset_right2; - - checkbutton_info[i].value = &custom_element_properties[nr].indestructible; - - DrawTextF(x, y, FONT_TEXT_1, checkbutton_info[i].text); - ModifyGadget(level_editor_gadget[checkbutton_info[i].gadget_id], - GDI_CHECKED, *checkbutton_info[i].value, GDI_END); - MapCheckbuttonGadget(i); - - /* draw checkbutton gadget */ - i = ED_CHECKBUTTON_ID_CUSTOM_CAN_FALL; - x = checkbutton_info[i].x + xoffset_right2; - y = checkbutton_info[i].y + yoffset_right2; - - checkbutton_info[i].value = &custom_element_properties[nr].can_fall; - - DrawTextF(x, y, FONT_TEXT_1, checkbutton_info[i].text); - ModifyGadget(level_editor_gadget[checkbutton_info[i].gadget_id], - GDI_CHECKED, *checkbutton_info[i].value, GDI_END); - MapCheckbuttonGadget(i); - - /* draw checkbutton gadget */ - i = ED_CHECKBUTTON_ID_CUSTOM_CAN_SMASH; - x = checkbutton_info[i].x + xoffset_right2; - y = checkbutton_info[i].y + yoffset_right2; - - checkbutton_info[i].value = &custom_element_properties[nr].can_smash; + CopyCustomElementPropertiesToEditor(properties_element); - DrawTextF(x, y, FONT_TEXT_1, checkbutton_info[i].text); - ModifyGadget(level_editor_gadget[checkbutton_info[i].gadget_id], - GDI_CHECKED, *checkbutton_info[i].value, GDI_END); - MapCheckbuttonGadget(i); - - /* draw checkbutton gadget */ - i = ED_CHECKBUTTON_ID_CUSTOM_PUSHABLE; - x = checkbutton_info[i].x + xoffset_right2; - y = checkbutton_info[i].y + yoffset_right2; - - checkbutton_info[i].value = &custom_element_properties[nr].pushable; - - DrawTextF(x, y, FONT_TEXT_1, checkbutton_info[i].text); - ModifyGadget(level_editor_gadget[checkbutton_info[i].gadget_id], - GDI_CHECKED, *checkbutton_info[i].value, GDI_END); - MapCheckbuttonGadget(i); - - /* draw checkbutton gadget */ - i = ED_CHECKBUTTON_ID_CUSTOM_SLIPPERY; - x = checkbutton_info[i].x + xoffset_right2; - y = checkbutton_info[i].y + yoffset_right2; - - checkbutton_info[i].value = &custom_element_properties[nr].slippery; - - DrawTextF(x, y, FONT_TEXT_1, checkbutton_info[i].text); - ModifyGadget(level_editor_gadget[checkbutton_info[i].gadget_id], - GDI_CHECKED, *checkbutton_info[i].value, GDI_END); - MapCheckbuttonGadget(i); + for (i = ED_CHECKBUTTON_ID_CUSTOM_INDESTRUCTIBLE; + i <= ED_CHECKBUTTON_ID_CUSTOM_SLIPPERY; i++) + { + /* draw checkbutton gadget */ + x = checkbutton_info[i].x + xoffset_right2; + y = checkbutton_info[i].y + yoffset_right2; + + DrawTextF(x, y, FONT_TEXT_1, checkbutton_info[i].text); + ModifyGadget(level_editor_gadget[checkbutton_info[i].gadget_id], + GDI_CHECKED, *checkbutton_info[i].value, GDI_END); + MapCheckbuttonGadget(i); + } +#if 1 /* draw selectbox gadget */ i = ED_SELECTBOX_ID_CUSTOM_CHANGE_CAUSE; x = selectbox_info[i].x + xoffset_right2; @@ -3555,6 +3454,7 @@ static void DrawPropertiesConfig() ModifyGadget(level_editor_gadget[selectbox_info[i].gadget_id], GDI_SELECTBOX_INDEX, *selectbox_info[i].index, GDI_END); MapSelectboxGadget(i); +#endif } } @@ -3741,7 +3641,7 @@ static void DrawPropertiesTabulatorGadgets() struct GadgetDesign *gd = &gd_gi->alt_design[GD_BUTTON_UNPRESSED]; int gd_x = gd->x + gd_gi->border.width / 2; int gd_y = gd->y + gd_gi->height - 1; - Pixel line_color = GetPixel(gd->bitmap, gd_x, gd_y); + Pixel tab_color = GetPixel(gd->bitmap, gd_x, gd_y); int id_first = ED_TEXTBUTTON_ID_PROPERTIES_INFO; int id_last = ED_TEXTBUTTON_ID_PROPERTIES_INFO; int i; @@ -3759,28 +3659,75 @@ static void DrawPropertiesTabulatorGadgets() int gadget_id = textbutton_info[i].gadget_id; struct GadgetInfo *gi = level_editor_gadget[gadget_id]; boolean active = (i != edit_mode_properties); - Pixel color = (active ? BLACK_PIXEL : line_color); - /* draw solid or black line below tabulator button */ - FillRectangle(drawto, gi->x, gi->y + gi->height, gi->width, 1, color); + /* draw background line below tabulator button */ + ClearRectangleOnBackground(drawto, gi->x, gi->y + gi->height, gi->width,1); + + /* draw solid line below inactive tabulator buttons */ + if (!active && tab_color != BLACK_PIXEL) /* black => transparent */ + FillRectangle(drawto, gi->x, gi->y + gi->height, gi->width,1, tab_color); ModifyGadget(gi, GDI_ACTIVE, active, GDI_END); MapTextbuttonGadget(i); } /* draw little border line below tabulator buttons */ - FillRectangle(drawto, gd_gi->x, gd_gi->y + gd_gi->height + 1, - 3 * gd_gi->width + 2 * ED_GADGET_DISTANCE, ED_GADGET_DISTANCE, - line_color); + if (tab_color != BLACK_PIXEL) /* black => transparent */ + FillRectangle(drawto, gd_gi->x, gd_gi->y + gd_gi->height + 1, + 3 * gd_gi->width + 2 * ED_GADGET_DISTANCE, + ED_GADGET_DISTANCE, tab_color); } static void DrawPropertiesInfo() { + static struct + { + int value; + char *text; + } + properties[] = + { + /* configurable properties */ + { EP_INDESTRUCTIBLE, "- undestructible" }, + { EP_DIGGABLE, "- diggable" }, + { EP_COLLECTIBLE, "- collectible" }, + { EP_PUSHABLE, "- pushable" }, + { EP_CAN_FALL, "- can fall" }, + { EP_CAN_SMASH, "- can smash other objects" }, + { EP_CAN_MOVE, "- can move" }, + { EP_SLIPPERY, "- slippery for falling objects" }, + { EP_EM_SLIPPERY_WALL, "- slippery for some gems (EM style)" }, + { EP_WALKABLE_OVER, "- player can walk over it" }, + { EP_WALKABLE_INSIDE, "- player can walk inside it" }, + { EP_WALKABLE_UNDER, "- player can walk under it" }, + { EP_PASSABLE_OVER, "- player can pass over it" }, + { EP_PASSABLE_INSIDE, "- player can pass through it" }, + { EP_PASSABLE_UNDER, "- player can pass under it" }, + + /* pre-defined properties */ + { EP_CAN_PASS_MAGIC_WALL, "- can pass magic walls" }, + { EP_DONT_TOUCH, "- deadly when touched" }, + { EP_ENEMY, "- can kill the player" }, + { EP_DONT_GO_TO, "- deadly when walked to" }, + { EP_CAN_EXPLODE, "- can explode" }, + { EP_HAS_CONTENT, "- can contain other elements" }, + + { -1, NULL } + }; char *filename = getElementDescriptionFilename(properties_element); - int num_elements_in_level; + char *percentage_text = "In this level:"; + char *properties_text = "Standard properties:"; float percentage; + int num_elements_in_level; + int num_standard_properties = 0; + int font1_nr = FONT_TEXT_1; + int font2_nr = FONT_TEXT_2; + int font1_width = getFontWidth(font1_nr); + int font2_height = getFontHeight(font2_nr); + int pad_x = ED_SETTINGS_XPOS; + int pad_y = 5 * TILEY; int screen_line = 2; - int x, y; + int i, x, y; num_elements_in_level = 0; for (y=0; y 0) + { + DrawTextF(pad_x, pad_y + screen_line * font2_height, font1_nr, + properties_text); + screen_line++; + + for (i=0; properties[i].value != -1; i++) + { + if (!HAS_PROPERTY(properties_element, properties[i].value)) + continue; + + DrawTextF(pad_x, pad_y + screen_line * font2_height, font2_nr, + properties[i].text); + screen_line++; + } + + screen_line++; + } +#endif PrintInfoText("Description:", FONT_TEXT_1, screen_line); if (PrintElementDescriptionFromFile(filename, screen_line + 1) == 0) @@ -3800,7 +3772,8 @@ static void DrawPropertiesInfo() static void DrawPropertiesAdvanced() { - DrawText(SX + ED_SETTINGS_XPOS, SY + 5 * TILEY, "Coming soon!", FONT_TEXT_1); + DrawText(SX + ED_SETTINGS_XPOS, SY + 5 * TILEY, + "Under construction! :-)", FONT_TEXT_1); } static void DrawPropertiesWindow() @@ -4794,7 +4767,7 @@ static void HandleCheckbuttons(struct GadgetInfo *gi) if (type_id >= ED_CHECKBUTTON_ID_CUSTOM_FIRST && type_id <= ED_CHECKBUTTON_ID_CUSTOM_LAST) - CopyCustomElementPropertiesToGame(); + CopyCustomElementPropertiesToGame(properties_element); } static void HandleControlButtons(struct GadgetInfo *gi) @@ -5067,7 +5040,7 @@ static void HandleControlButtons(struct GadgetInfo *gi) TapeStartRecording(); level_editor_test_game = TRUE; - game_status = PLAYING; + game_status = GAME_MODE_PLAYING; InitGame(); } @@ -5225,7 +5198,7 @@ void HandleEditorGadgetInfoText(void *ptr) char shortcut[MAX_OUTPUT_LINESIZE + 1]; int max_infotext_len = getMaxInfoTextLength(); - if (game_status != LEVELED) + if (game_status != GAME_MODE_EDITOR) return; ClearEditorGadgetInfoText(); @@ -5406,7 +5379,7 @@ void RequestExitLevelEditor(boolean ask_if_level_has_changed) /* CloseDoor(DOOR_CLOSE_ALL); */ - game_status = MAINMENU; + game_status = GAME_MODE_MAIN; DrawMainMenu(); } else