From 01024252b50e7f86c3c7c247b6947bfd7b91d9a9 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Sun, 1 May 2016 02:34:06 +0200 Subject: [PATCH] fix editor buttons for 5:4 resolutions --- src/game/editor/editor.cpp | 107 +++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 52 deletions(-) diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index 8b2f6417e..4c2f3c4b4 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -984,7 +984,7 @@ void CEditor::DoToolbar(CUIRect ToolBar) InvokeFileDialog(IStorage::TYPE_SAVE, FILETYPE_MAP, "Save map", "Save", "maps", "", CallbackSaveCopyMap, this); // detail button - TB_Top.VSplitLeft(30.0f, &Button, &TB_Top); + TB_Top.VSplitLeft(40.0f, &Button, &TB_Top); static int s_HqButton = 0; if(DoButton_Editor(&s_HqButton, "HD", m_ShowDetail, &Button, 0, "[ctrl+h] Toggle High Detail") || (Input()->KeyPress(KEY_H) && (Input()->KeyIsPressed(KEY_LCTRL) || Input()->KeyIsPressed(KEY_RCTRL)))) @@ -1017,6 +1017,16 @@ void CEditor::DoToolbar(CUIRect ToolBar) TB_Top.VSplitLeft(5.0f, 0, &TB_Top); + // grid button + TB_Top.VSplitLeft(40.0f, &Button, &TB_Top); + static int s_GridButton = 0; + if(DoButton_Editor(&s_GridButton, "Grid", m_GridActive, &Button, 0, "Toggle Grid")) + { + m_GridActive = !m_GridActive; + } + + TB_Top.VSplitLeft(5.0f, 0, &TB_Top); + // tile info button TB_Top.VSplitLeft(40.0f, &Button, &TB_Top); static int s_TileInfoButton = 0; @@ -1038,7 +1048,7 @@ void CEditor::DoToolbar(CUIRect ToolBar) m_AllowPlaceUnusedTiles = !m_AllowPlaceUnusedTiles; } - TB_Top.VSplitLeft(15.0f, 0, &TB_Top); + TB_Top.VSplitLeft(10.0f, 0, &TB_Top); // zoom group TB_Top.VSplitLeft(30.0f, &Button, &TB_Top); @@ -1106,7 +1116,7 @@ void CEditor::DoToolbar(CUIRect ToolBar) } // rotate buttons - TB_Top.VSplitLeft(15.0f, &Button, &TB_Top); + TB_Top.VSplitLeft(10.0f, &Button, &TB_Top); TB_Top.VSplitLeft(30.0f, &Button, &TB_Top); static int s_RotationAmount = 90; @@ -1139,38 +1149,20 @@ void CEditor::DoToolbar(CUIRect ToolBar) } } - // quad manipulation + // refocus button + TB_Bottom.VSplitLeft(45.0f, &Button, &TB_Bottom); + static int s_RefocusButton = 0; + if(DoButton_Editor(&s_RefocusButton, "Refocus", m_WorldOffsetX&&m_WorldOffsetY?0:-1, &Button, 0, "[HOME] Restore map focus") || (m_EditBoxActive == 0 && Input()->KeyPress(KEY_HOME))) { - // do add button - TB_Top.VSplitLeft(10.0f, &Button, &TB_Top); - TB_Top.VSplitLeft(60.0f, &Button, &TB_Top); - static int s_NewButton = 0; - - CLayerQuads *pQLayer = (CLayerQuads *)GetSelectedLayerType(0, LAYERTYPE_QUADS); - //CLayerTiles *tlayer = (CLayerTiles *)get_selected_layer_type(0, LAYERTYPE_TILES); - if(DoButton_Editor(&s_NewButton, "Add Quad", pQLayer?0:-1, &Button, 0, "Adds a new quad")) - { - if(pQLayer) - { - float Mapping[4]; - CLayerGroup *g = GetSelectedGroup(); - g->Mapping(Mapping); - int AddX = f2fx(Mapping[0] + (Mapping[2]-Mapping[0])/2); - int AddY = f2fx(Mapping[1] + (Mapping[3]-Mapping[1])/2); - - CQuad *q = pQLayer->NewQuad(); - for(int i = 0; i < 5; i++) - { - q->m_aPoints[i].x += AddX; - q->m_aPoints[i].y += AddY; - } - } - } + m_WorldOffsetX = 0; + m_WorldOffsetY = 0; } + TB_Bottom.VSplitLeft(5.0f, 0, &TB_Bottom); + // tile manipulation { - TB_Bottom.VSplitLeft(40.0f, &Button, &TB_Bottom); + TB_Bottom.VSplitLeft(45.0f, &Button, &TB_Bottom); static int s_BorderBut = 0; CLayerTiles *pT = (CLayerTiles *)GetSelectedLayerType(0, LAYERTYPE_TILES); @@ -1183,6 +1175,9 @@ void CEditor::DoToolbar(CUIRect ToolBar) if(pT) DoMapBorder(); } + + TB_Bottom.VSplitLeft(10.0f, &Button, &TB_Bottom); + // do tele button TB_Bottom.VSplitLeft(5.0f, &Button, &TB_Bottom); TB_Bottom.VSplitLeft(60.0f, &Button, &TB_Bottom); @@ -1223,28 +1218,7 @@ void CEditor::DoToolbar(CUIRect ToolBar) } } - TB_Bottom.VSplitLeft(5.0f, 0, &TB_Bottom); - - // refocus button - TB_Bottom.VSplitLeft(50.0f, &Button, &TB_Bottom); - static int s_RefocusButton = 0; - if(DoButton_Editor(&s_RefocusButton, "Refocus", m_WorldOffsetX&&m_WorldOffsetY?0:-1, &Button, 0, "[HOME] Restore map focus") || (m_EditBoxActive == 0 && Input()->KeyPress(KEY_HOME))) - { - m_WorldOffsetX = 0; - m_WorldOffsetY = 0; - } - - TB_Bottom.VSplitLeft(5.0f, 0, &TB_Bottom); - - // grid button - TB_Bottom.VSplitLeft(50.0f, &Button, &TB_Bottom); - static int s_GridButton = 0; - if(DoButton_Editor(&s_GridButton, "Grid", m_GridActive, &Button, 0, "Toggle Grid")) - { - m_GridActive = !m_GridActive; - } - - TB_Bottom.VSplitLeft(30.0f, 0, &TB_Bottom); + TB_Bottom.VSplitLeft(10.0f, 0, &TB_Bottom); // grid zoom TB_Bottom.VSplitLeft(30.0f, &Button, &TB_Bottom); @@ -1294,6 +1268,35 @@ void CEditor::DoToolbar(CUIRect ToolBar) } } + // quad manipulation + { + // do add button + TB_Bottom.VSplitLeft(10.0f, &Button, &TB_Bottom); + TB_Bottom.VSplitLeft(60.0f, &Button, &TB_Bottom); + static int s_NewButton = 0; + + CLayerQuads *pQLayer = (CLayerQuads *)GetSelectedLayerType(0, LAYERTYPE_QUADS); + //CLayerTiles *tlayer = (CLayerTiles *)get_selected_layer_type(0, LAYERTYPE_TILES); + if(DoButton_Editor(&s_NewButton, "Add Quad", pQLayer?0:-1, &Button, 0, "Adds a new quad")) + { + if(pQLayer) + { + float Mapping[4]; + CLayerGroup *g = GetSelectedGroup(); + g->Mapping(Mapping); + int AddX = f2fx(Mapping[0] + (Mapping[2]-Mapping[0])/2); + int AddY = f2fx(Mapping[1] + (Mapping[3]-Mapping[1])/2); + + CQuad *q = pQLayer->NewQuad(); + for(int i = 0; i < 5; i++) + { + q->m_aPoints[i].x += AddX; + q->m_aPoints[i].y += AddY; + } + } + } + } + } static void Rotate(const CPoint *pCenter, CPoint *pPoint, float Rotation)