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();
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;
}
}
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)