diff options
| author | oy <Tom_Adams@web.de> | 2011-08-16 21:35:00 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2011-08-16 21:35:00 +0200 |
| commit | 2708256186b7f568e6ce6c34e161bf0d2d349096 (patch) | |
| tree | 2ae0546376604648389d020c481745490423c4b6 /src | |
| parent | f36cc57bdd4837f6f148e6d83e6a5185b1328b7d (diff) | |
| download | zcatch-2708256186b7f568e6ce6c34e161bf0d2d349096.tar.gz zcatch-2708256186b7f568e6ce6c34e161bf0d2d349096.zip | |
fixed quad selection via envelope preview
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/editor/editor.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index 41553808..2c3aa550 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -1501,6 +1501,7 @@ void CEditor::DoQuadEnvPoint(CQuad *pQuad, int QIndex, int PIndex) float wy = UI()->MouseWorldY(); CEnvelope *pEnvelope = m_Map.m_lEnvelopes[pQuad->m_PosEnv]; void *pID = &pEnvelope->m_lPoints[PIndex]; + static int s_ActQIndex = -1; // get pivot float CenterX = fx2f(pQuad->m_aPoints[4].x)+fx2f(pEnvelope->m_lPoints[PIndex].m_aValues[0]); @@ -1508,10 +1509,13 @@ void CEditor::DoQuadEnvPoint(CQuad *pQuad, int QIndex, int PIndex) float dx = (CenterX - wx)/m_WorldZoom; float dy = (CenterY - wy)/m_WorldZoom; - if(dx*dx+dy*dy < 50) + if(dx*dx+dy*dy < 50.0f && UI()->ActiveItem() == 0) + { UI()->SetHotItem(pID); + s_ActQIndex = QIndex; + } - if(UI()->ActiveItem() == pID) + if(UI()->ActiveItem() == pID && s_ActQIndex == QIndex) { if(s_Operation == OP_MOVE) { @@ -1554,7 +1558,7 @@ void CEditor::DoQuadEnvPoint(CQuad *pQuad, int QIndex, int PIndex) Graphics()->SetColor(1.0f, 1.0f, 1.0f, 1.0f); } - else if(UI()->HotItem() == pID) + else if(UI()->HotItem() == pID && s_ActQIndex == QIndex) { ms_pUiGotContext = pID; |