X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Flanguagelist.c;h=24445786aea98b696c0c1c84b926d6ac29cafc2c;hp=b8b31d9e1a475aefe568f0ca9f2f6a1b3464f241;hb=7f6f6ddf5a60125f13cbc906c5e29faf61310d80;hpb=ceeb7a5d353f9556ccc98e0b3ae12a7f83bf6f55 diff --git a/qcsrc/menu/xonotic/languagelist.c b/qcsrc/menu/xonotic/languagelist.c index b8b31d9e1..24445786a 100644 --- a/qcsrc/menu/xonotic/languagelist.c +++ b/qcsrc/menu/xonotic/languagelist.c @@ -28,8 +28,6 @@ CLASS(XonoticLanguageList) EXTENDS(XonoticListBox) METHOD(XonoticLanguageList, languageParameter, string(entity, float, float)) ATTRIB(XonoticLanguageList, name, string, "languageselector") // change this to make it noninteractive (for first run dialog) - - ATTRIB(XonoticLanguageList, doubleClickCommand, string, "prvm_language \"$_menu_prvm_language\"\nmenu_restart\nmenu_cmd languageselect") ENDCLASS(XonoticLanguageList) entity makeXonoticLanguageList(); @@ -66,14 +64,25 @@ void XonoticLanguageList_drawListBoxItem(entity me, float i, vector absSize, flo draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED); s = me.languageParameter(me, i, LANGPARM_NAME_LOCALIZED); - s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize); - draw_Text(me.realUpperMargin * eY + me.columnNameOrigin * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0); + + vector save_fontscale = draw_fontscale; + float f = draw_CondensedFontFactor(s, FALSE, me.realFontSize, 1); + draw_fontscale_x *= f; + vector fs = me.realFontSize; + fs_x *= f; + draw_Text(me.realUpperMargin * eY + me.columnNameOrigin * eX, s, fs, SKINCOLOR_TEXT, SKINALPHA_TEXT, 0); + draw_fontscale = save_fontscale; p = me.languageParameter(me, i, LANGPARM_PERCENTAGE); if(p != "") { - p = draw_TextShortenToWidth(p, me.columnPercentageSize, 0, me.realFontSize); - draw_Text(me.realUpperMargin * eY + (me.columnPercentageOrigin + (me.columnPercentageSize - draw_TextWidth(p, 0, me.realFontSize))) * eX, p, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0); + vector save_fontscale = draw_fontscale; + float f = draw_CondensedFontFactor(p, FALSE, me.realFontSize, 1); + draw_fontscale_x *= f; + vector fs = me.realFontSize; + fs_x *= f; + draw_Text(me.realUpperMargin * eY + (me.columnPercentageOrigin + (me.columnPercentageSize - draw_TextWidth(p, 0, fs))) * eX, p, fs, SKINCOLOR_TEXT, SKINALPHA_TEXT, 0); + draw_fontscale = save_fontscale; } } @@ -194,7 +203,13 @@ void XonoticLanguageList_getLanguages(entity me) void XonoticLanguageList_setLanguage(entity me) { - localcmd(sprintf("\n%s\n", me.doubleClickCommand)); + if(prvm_language != cvar_string("_menu_prvm_language")) + { + if(!(gamestatus & GAME_CONNECTED)) + localcmd("\nprvm_language \"$_menu_prvm_language\"; menu_restart; menu_cmd languageselect\n"); + else + DialogOpenButton_Click(me, main.languageWarningDialog); + } } string XonoticLanguageList_languageParameter(entity me, float i, float key)