aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/supernova/msn_def.h2
-rw-r--r--engines/supernova/state.cpp4
2 files changed, 5 insertions, 1 deletions
diff --git a/engines/supernova/msn_def.h b/engines/supernova/msn_def.h
index a8c76a49df..884b467350 100644
--- a/engines/supernova/msn_def.h
+++ b/engines/supernova/msn_def.h
@@ -27,6 +27,8 @@ namespace Supernova {
const int kScreenWidth = 320;
const int kScreenHeight = 200;
+const int kFontWidth = 5;
+const int kFontHeight = 8;
const int kTextSpeed[] = {19, 14, 10, 7, 4};
const int kMsecPerTick = 55;
diff --git a/engines/supernova/state.cpp b/engines/supernova/state.cpp
index 98230c2fb8..28ba850b60 100644
--- a/engines/supernova/state.cpp
+++ b/engines/supernova/state.cpp
@@ -980,12 +980,14 @@ void GameManager::animationOn() {
void GameManager::edit(Common::String &input, int x, int y, uint length) {
bool isEditing = true;
uint cursorIndex = input.size();
+ int overdrawWidth = ((length + 1) * kFontWidth > kScreenWidth - x) ?
+ kScreenWidth - x : (length + 1) * kFontWidth;
while (isEditing) {
_vm->_textCursorX = x;
_vm->_textCursorY = y;
_vm->_textColor = COL_EDIT;
- _vm->renderBox(x, y - 1, 320 - x, 10, HGR_EDIT);
+ _vm->renderBox(x, y - 1, overdrawWidth, 9, HGR_EDIT);
for (uint i = 0; i < input.size(); ++i) {
// Draw char highlight depending on cursor position
if (i == cursorIndex) {