X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fplayermodel.c;h=e4195617f9d8542f966e7a196b84a57ba3f6b208;hb=20256058c4de97b81ee5aaedaa383a99010752f0;hp=f4f7526f04bd610070fc8a4b738baeb773e6ca0d;hpb=b42a2b0a6c12ccbb208bd8cafb0a8405adbc3ae0;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/playermodel.c b/qcsrc/menu/xonotic/playermodel.c index f4f7526f0..e4195617f 100644 --- a/qcsrc/menu/xonotic/playermodel.c +++ b/qcsrc/menu/xonotic/playermodel.c @@ -47,7 +47,7 @@ void XonoticPlayerModelSelector_configureXonoticPlayerModelSelector(entity me) float sortbuf, glob, i; string fn; - glob = search_begin(get_model_datafilename(string_null, -1, "txt"), TRUE, TRUE); + glob = search_begin(language_filename(get_model_datafilename(string_null, -1, "txt")), TRUE, TRUE); if (glob < 0) return; @@ -77,11 +77,11 @@ void XonoticPlayerModelSelector_configureXonoticPlayerModelSelector(entity me) bufstr_set(me.bufModels, BUFMODELS_COUNT*i+BUFMODELS_SKIN, ftos(get_model_parameters_modelskin)); get_model_parameters_desc = strcat(get_model_parameters_desc, "\n"); if(get_model_parameters_sex) - get_model_parameters_desc = strcat(get_model_parameters_desc, "\nSex: ", get_model_parameters_sex); + get_model_parameters_desc = strcat(get_model_parameters_desc, sprintf("\nSex: %s", get_model_parameters_sex)); if(get_model_parameters_weight) - get_model_parameters_desc = strcat(get_model_parameters_desc, "\nWeight: ", ftos(get_model_parameters_weight), " kg"); + get_model_parameters_desc = strcat(get_model_parameters_desc, sprintf("\nWeight: %g kg", get_model_parameters_weight)); if(get_model_parameters_age) - get_model_parameters_desc = strcat(get_model_parameters_desc, "\nAge: ", ftos(get_model_parameters_age)); + get_model_parameters_desc = strcat(get_model_parameters_desc, sprintf("\nAge: %g", get_model_parameters_age)); while(substring(get_model_parameters_desc, -1, 1) == "\n") get_model_parameters_desc = substring(get_model_parameters_desc, 0, -2); bufstr_set(me.bufModels, BUFMODELS_COUNT*i+BUFMODELS_DESC, get_model_parameters_desc); @@ -99,15 +99,15 @@ void XonoticPlayerModelSelector_destroy(entity me) void XonoticPlayerModelSelector_loadCvars(entity me) { - string skin, model; + string skin, modelname; float i; skin = cvar_string("_cl_playerskin"); - model = cvar_string("_cl_playermodel"); + modelname = cvar_string("_cl_playermodel"); for(i = 0; i < me.numModels; ++i) { - if(bufstr_get(me.bufModels, BUFMODELS_COUNT*i+BUFMODELS_MODEL) == model) + if(bufstr_get(me.bufModels, BUFMODELS_COUNT*i+BUFMODELS_MODEL) == modelname) if(bufstr_get(me.bufModels, BUFMODELS_COUNT*i+BUFMODELS_SKIN) == skin) break; } @@ -137,7 +137,10 @@ void XonoticPlayerModelSelector_go(entity me, float d) me.currentModelDescription = strzone(bufstr_get(me.bufModels, BUFMODELS_COUNT*me.idxModels+BUFMODELS_DESC)); // fix the image - me.src = me.currentModelImage; + if(draw_PictureSize(me.currentModelImage) == '0 0 0') + me.src = "nopreview_player"; + else + me.src = me.currentModelImage; me.updateAspect(me); } @@ -171,18 +174,23 @@ void XonoticPlayerModelSelector_draw(entity me) if (me.numModels <= 0) { - draw_CenterText('0.5 0.5 0', "", me.realFontSize, '1 1 1', 0.6, FALSE); + draw_CenterText('0.5 0.5 0', _(""), me.realFontSize, SKINCOLOR_TEXT, 0.6, FALSE); return; } SUPER(XonoticPlayerModelSelector).draw(me); // draw text on the image, handle \n in the description + + draw_beginBoldFont(); + draw_CenterText('0.5 0 0', me.currentModelTitle, me.realFontSize * (me.titleFontSize / me.fontSize), SKINCOLOR_MODELTITLE, SKINALPHA_MODELTITLE, FALSE); + draw_endBoldFont(); + o = '0.5 1 0' - eY * me.realFontSize_y * ((n = tokenizebyseparator(me.currentModelDescription, "\n")) + 0.5); for(i = 0; i < n; ++i) { - draw_CenterText(o, argv(i), me.realFontSize, '1 1 1', 1, FALSE); + draw_CenterText(o, argv(i), me.realFontSize, SKINCOLOR_TEXT, 1, FALSE); o += eY * me.realFontSize_y; } }