fix display of the welcome text
authorRudolf Polzer <divverent@alientrap.org>
Tue, 18 Jan 2011 17:03:40 +0000 (18:03 +0100)
committerRudolf Polzer <divverent@alientrap.org>
Tue, 18 Jan 2011 17:03:40 +0000 (18:03 +0100)
qcsrc/menu/item/label.c
qcsrc/menu/xonotic/dialog_firstrun.c

index c9f6a5b629b19c42218a45a3d1e5f3291f8701ba..e91668dba9c6d9a0f355457cb119d5666ce497e3 100644 (file)
@@ -74,9 +74,44 @@ void Label_resizeNotify(entity me, vector relOrigin, vector relSize, vector absO
                me.keepspaceLeft = me.marginLeft * me.realFontSize_x;
        if(me.marginRight)
                me.keepspaceRight = me.marginRight * me.realFontSize_x;
-       me.realOrigin_y = 0.5 * (1 - me.realFontSize_y);
 
        me.recalcPosition(me);
+
+       float lines;
+
+       vector dfs;
+       vector fs;
+
+       // set up variables to draw in condensed size, but use hinting for original size
+       fs = me.realFontSize;
+       fs_x *= me.condenseFactor;
+
+       dfs = draw_fontscale;
+       draw_fontscale_x *= me.condenseFactor;
+
+       if(me.allowCut) // FIXME allowCut incompatible with align != 0
+               lines = 1;
+       else if(me.allowWrap) // FIXME allowWrap incompatible with align != 0
+       {
+               getWrappedLine_remaining = me.text;
+               lines = 0;
+               while(getWrappedLine_remaining)
+               {
+                       if (me.allowColors)
+                               getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithColors);
+                       else
+                               getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithoutColors);
+                       ++lines;
+               }
+       }
+       else
+               lines = 1;
+
+       draw_fontscale = dfs;
+
+       me.realOrigin_y = 0.5 * (1 - lines * me.realFontSize_y);
+       if(substring(me.text, 0, 3) == "Wel")
+               print(ftos(me.realOrigin_y), " ", me.text, "\n");
 }
 void Label_configureLabel(entity me, string txt, float sz, float algn)
 {
index 6ad9351b1ccd34d4364780635922a0dc6e84ebe7..9ab7eb6da59d5cd98e8deb84b7daca53b091b319 100644 (file)
@@ -28,11 +28,12 @@ void XonoticFirstRunDialog_fill(entity me)
 {
        entity e;
        entity label, box;
+
        me.TR(me);
-               me.TD(me, 3, 3, e = makeXonoticTextLabel(0, _("Welcome to Xonotic, please select your language preference and enter your player name to get started.  You can change these options later through the menu system.")));
+               me.TD(me, 2, 3, e = makeXonoticTextLabel(0, _("Welcome to Xonotic, please select your language preference and enter your player name to get started.  You can change these options later through the menu system.")));
                e.allowWrap = 1;
        me.TR(me);
-       me.TR(me);
+
        me.TR(me);
                me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Text language:")));
        me.TR(me);