diff options
author | Robert Müller <robytemueller@gmail.com> | 2022-08-12 20:11:12 +0200 |
---|---|---|
committer | Robert Müller <robytemueller@gmail.com> | 2023-06-16 20:49:40 +0200 |
commit | 369e85b6393410b27582abb1d116c142ced2d2d0 (patch) | |
tree | d3e431ee1dc8f00617c3a0f2b4a14fd6f73431a8 | |
parent | b9e544dbcf0d33a71e4cad87a23e0b9c5ef48089 (diff) |
Fix console completion scrolling with very long entries
-rw-r--r-- | src/game/client/components/console.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/game/client/components/console.cpp b/src/game/client/components/console.cpp index 4aae61daa..074a84bbb 100644 --- a/src/game/client/components/console.cpp +++ b/src/game/client/components/console.cpp @@ -386,9 +386,11 @@ void CGameConsole::PossibleCommandsRenderCallback(int Index, const char *pStr, v Rect.Draw(vec4(229.0f/255.0f,185.0f/255.0f,4.0f/255.0f,0.85f), pInfo->m_pCursor->m_FontSize/3); // scroll when out of sight - if(Rect.x - *pInfo->m_pOffsetChange < 0.0f) + const bool MoveLeft = Rect.x - *pInfo->m_pOffsetChange < 0.0f; + const bool MoveRight = Rect.x + Rect.w - *pInfo->m_pOffsetChange > pInfo->m_Width; + if(MoveLeft && !MoveRight) *pInfo->m_pOffsetChange -= -Rect.x + pInfo->m_Width/4.0f; - else if(Rect.x + Rect.w - *pInfo->m_pOffsetChange > pInfo->m_Width) + else if(!MoveLeft && MoveRight) *pInfo->m_pOffsetChange += Rect.x + Rect.w - pInfo->m_Width + pInfo->m_Width/4.0f; } else |