diff options
Diffstat (limited to 'src/game/editor/layer_tiles.cpp')
| -rw-r--r-- | src/game/editor/layer_tiles.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/game/editor/layer_tiles.cpp b/src/game/editor/layer_tiles.cpp index 5662613c..eb78a23d 100644 --- a/src/game/editor/layer_tiles.cpp +++ b/src/game/editor/layer_tiles.cpp @@ -473,7 +473,19 @@ int CLayerTiles::RenderProperties(CUIRect *pToolBox) m_Color.a = NewVal&0xff; } if(Prop == PROP_COLOR_ENV) - m_ColorEnv = clamp(NewVal-1, -1, m_pEditor->m_Map.m_lEnvelopes.size()-1); + { + int Index = clamp(NewVal-1, -1, m_pEditor->m_Map.m_lEnvelopes.size()-1); + int Step = (Index-m_ColorEnv)%2; + if(Step != 0) + { + for(; Index >= -1 && Index < m_pEditor->m_Map.m_lEnvelopes.size(); Index += Step) + if(Index == -1 || m_pEditor->m_Map.m_lEnvelopes[Index]->m_Channels == 4) + { + m_ColorEnv = Index; + break; + } + } + } if(Prop == PROP_COLOR_ENV_OFFSET) m_ColorEnvOffset = NewVal; |