X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=8af84590b36f2a9325874e90a7aa471fa55927ba;hb=f0b6478bb680e2d2dc3369eefc9173b9656f7c0b;hp=d7e5016a54a7a71c0ea09416b53841db89fd4ac3;hpb=055f4e73fec400660f72d49bb1d4191cc98344de;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index d7e5016a..8af84590 100644 --- a/src/screens.c +++ b/src/screens.c @@ -2168,10 +2168,10 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) else if (pos == MAIN_CONTROL_EDITOR) { if (leveldir_current->readonly && - !strEqual(setup.player_name, "Artsoft")) - Request("This level is read only!", REQ_CONFIRM); + setup.editor.show_read_only_warning) + Request("This level is read-only!", REQ_CONFIRM | REQ_STAY_OPEN); - CloseDoor(DOOR_CLOSE_2); + CloseDoor(DOOR_CLOSE_ALL); SetGameStatus(GAME_MODE_EDITOR); @@ -4258,19 +4258,13 @@ static void HandleTypeNameExt(boolean initialize, Key key) name[xpos] = 0; } - else if (key == KSYM_Return) + else if (key == KSYM_Return || key == KSYM_Escape) { - StopTextInput(); + boolean changed = (key == KSYM_Return); - setTypeNameValues(name, pos, TRUE); - - active = FALSE; - } - else if (key == KSYM_Escape) - { StopTextInput(); - setTypeNameValues(name, pos, FALSE); + setTypeNameValues(name, pos, changed); active = FALSE; } @@ -6735,6 +6729,8 @@ static struct TokenInfo setup_info_editor[] = #endif { TYPE_SWITCH, &setup.editor.show_element_token, "Show element token:" }, { TYPE_EMPTY, NULL, "" }, + { TYPE_SWITCH, &setup.editor.show_read_only_warning, "Show read-only warning:" }, + { TYPE_EMPTY, NULL, "" }, { TYPE_LEAVE_MENU, execSetupMain, "Back" }, { 0, NULL, NULL }