diff --git a/source/code/DialogBox.cpp b/source/code/DialogBox.cpp index 3f6755b..8ef8556 100644 --- a/source/code/DialogBox.cpp +++ b/source/code/DialogBox.cpp @@ -131,6 +131,9 @@ static bool insideRect (int x, int y, int height, int width) { return true; } +// For use with the mouse/gamepad keyboard +int keyboardRowLimit = 20; + void DialogBox::Draw(SDL_Renderer* target) { DrawBackground(globalData.screen); @@ -156,12 +159,11 @@ void DialogBox::Draw(SDL_Renderer* target) { } const sago::SagoSprite& marked = globalData.spriteHolder->GetSprite("i_level_check_box_marked"); for (size_t i = 0; i(i)) { - marked.Draw(target, SDL_GetTicks(), globalData.xsize/2-400+(i%limit)*40-5, globalData.ysize/2+150+(i/limit)*40-5); + marked.Draw(target, SDL_GetTicks(), globalData.xsize/2-400+(i%keyboardRowLimit)*40-5, globalData.ysize/2+150+(i/keyboardRowLimit)*40-5); } sago::SagoTextField& f = gamePadCharFields.at(i); - f.Draw(target, globalData.xsize/2-400+(i%limit)*40, globalData.ysize/2+150+(i/limit)*40); + f.Draw(target, globalData.xsize/2-400+(i%keyboardRowLimit)*40, globalData.ysize/2+150+(i/keyboardRowLimit)*40); } } @@ -203,6 +205,25 @@ void DialogBox::ProcessInput(const SDL_Event& event, bool& processed) { if (insideRect(x+325, y+128, 50, 250)) { isActive = false; } + for (size_t i = 0; iputchar(f.GetText()); + } + } + } + + if (1 /*TODO: Changed to only when mouse moves*/) { + for (size_t i = 0; i