Greetings, I discovered torus-trooper recently and I really loved it. Since I enjoyed it, I went on Debian bug tracker to see if there was any bug open so that I can contribute back a bit. I then stumbled accross [1] about the visibility of the level display in the title screen. Indeed, the position of the level display is function of the value of the level itself. It seems this was done in order for the cursor to have a movement when changing the level of a given difficulty (by hitting the up/down arrows). Unfortunetely, this means when the score is too big the level is displayed in an area outside of the windew.
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602808 I thus decided to make a patch for this which I attach to this email. The patch is very simple, it restrict the display to the visible area by pretending the level is never higher than 180. By this I mean a level greater than 180 is displayed as if it's 180, without changing the actual level. As a side effect, when such a situation happen, the cursor will then remain static when trying to select a level between 180 and the current level. Anyway, I thought you might consider applying this patch, or maybe rework it. Best regards, Thomas Preud'homme
Description: Keep level display visible in title screen In title screen, the position of the text showing the level depends on the value of the level itself. The higher is the level, the lower is the text. When the level is too big, the text starts overlapping with the game name and then disappear at the bottom of the screen. This patch gives a maximum position to the level display position. Author: Thomas Preud'homme <[email protected]> Origin: other Bug-Debian: http://bugs.debian.org/602808 Forwarded: no Last-Update: 2012-06-17 --- torus-trooper-0.22.dfsg1.orig/src/abagames/tt/title.d +++ torus-trooper-0.22.dfsg1/src/abagames/tt/title.d @@ -276,11 +276,12 @@ public class TitleManager { } private void calcCursorPos(inout float x, inout float y, int gd, int lv) { + int ml = prefManager.prefData.getMaxLevel(i); x = 460 + gd * 70; y = 90; if (lv > 1) { - y += 30 + lv; - x -= lv * 0.33f; + y += 30 + lv * 180 / ml; + x -= lv * 0.33f * 180 / ml; } }
signature.asc
Description: This is a digitally signed message part.

