From 29332ea72e67eb7c79e16bbf9b99a3cbd4ab4f27 Mon Sep 17 00:00:00 2001 From: def Date: Mon, 10 Aug 2020 09:27:31 +0200 Subject: [PATCH] Editor: Add ctrl+n for new map, ctrl+a to append map, add hints --- src/game/editor/editor.cpp | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index a3832a90b..b118b1e11 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -4007,7 +4007,7 @@ void CEditor::RenderImages(CUIRect ToolBox, CUIRect View) FontSize--; if(int Result = DoButton_Ex(&m_Map.m_lImages[i], aBuf, Selected, &Slot, - BUTTON_CONTEXT, "Select image", 0, FontSize)) + BUTTON_CONTEXT, "Select image.", 0, FontSize)) { m_SelectedImage = i; @@ -4208,7 +4208,7 @@ void CEditor::RenderSounds(CUIRect ToolBox, CUIRect View) FontSize--; if(int Result = DoButton_Ex(&m_Map.m_lSounds[i], aBuf, Selected, &Slot, - BUTTON_CONTEXT, "Select sound", 0, FontSize)) + BUTTON_CONTEXT, "Select sound.", 0, FontSize)) { m_SelectedSound = i; @@ -5608,7 +5608,7 @@ int CEditor::PopupMenuFile(CEditor *pEditor, CUIRect View, void *pContext) CUIRect Slot; View.HSplitTop(2.0f, &Slot, &View); View.HSplitTop(12.0f, &Slot, &View); - if(pEditor->DoButton_MenuItem(&s_NewMapButton, "New", 0, &Slot, 0, "Creates a new map")) + if(pEditor->DoButton_MenuItem(&s_NewMapButton, "New", 0, &Slot, 0, "Creates a new map (ctrl+n)")) { if(pEditor->HasUnsavedData()) { @@ -5625,7 +5625,7 @@ int CEditor::PopupMenuFile(CEditor *pEditor, CUIRect View, void *pContext) View.HSplitTop(10.0f, &Slot, &View); View.HSplitTop(12.0f, &Slot, &View); - if(pEditor->DoButton_MenuItem(&s_OpenButton, "Load", 0, &Slot, 0, "Opens a map for editing")) + if(pEditor->DoButton_MenuItem(&s_OpenButton, "Load", 0, &Slot, 0, "Opens a map for editing (ctrl+l)")) { if(pEditor->HasUnsavedData()) { @@ -5655,7 +5655,7 @@ int CEditor::PopupMenuFile(CEditor *pEditor, CUIRect View, void *pContext) View.HSplitTop(10.0f, &Slot, &View); View.HSplitTop(12.0f, &Slot, &View); - if(pEditor->DoButton_MenuItem(&s_AppendButton, "Append", 0, &Slot, 0, "Opens a map and adds everything from that map to the current one")) + if(pEditor->DoButton_MenuItem(&s_AppendButton, "Append", 0, &Slot, 0, "Opens a map and adds everything from that map to the current one (ctrl+a)")) { pEditor->InvokeFileDialog(IStorage::TYPE_ALL, FILETYPE_MAP, "Append map", "Append", "maps", "", pEditor->CallbackAppendMap, pEditor); return 1; @@ -5938,6 +5938,28 @@ void CEditor::Render() bool CtrlPressed = Input()->KeyIsPressed(KEY_LCTRL) || Input()->KeyIsPressed(KEY_RCTRL); bool ShiftPressed = Input()->KeyIsPressed(KEY_LSHIFT) || Input()->KeyIsPressed(KEY_RSHIFT); bool AltPressed = Input()->KeyIsPressed(KEY_LALT) || Input()->KeyIsPressed(KEY_RALT); + // ctrl+n to create new map + if(Input()->KeyPress(KEY_N) && CtrlPressed) + { + if(HasUnsavedData()) + { + if(!m_PopupEventWasActivated) + { + m_PopupEventType = POPEVENT_NEW; + m_PopupEventActivated = true; + } + } + else + { + Reset(); + m_aFileName[0] = 0; + } + } + // ctrl+a to append map + if(Input()->KeyPress(KEY_A) && CtrlPressed) + { + InvokeFileDialog(IStorage::TYPE_ALL, FILETYPE_MAP, "Append map", "Append", "maps", "", CallbackAppendMap, this); + } // ctrl+o or ctrl+l to open if((Input()->KeyPress(KEY_O) || Input()->KeyPress(KEY_L)) && CtrlPressed) {