summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Müller <robytemueller@gmail.com>2022-08-12 20:11:12 +0200
committerRobert Müller <robytemueller@gmail.com>2023-06-16 20:49:40 +0200
commit369e85b6393410b27582abb1d116c142ced2d2d0 (patch)
treed3e431ee1dc8f00617c3a0f2b4a14fd6f73431a8
parentb9e544dbcf0d33a71e4cad87a23e0b9c5ef48089 (diff)
Fix console completion scrolling with very long entries
-rw-r--r--src/game/client/components/console.cpp6
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