METHOD(XonoticPlayerModelSelector, saveCvars, void(entity))
METHOD(XonoticPlayerModelSelector, draw, void(entity))
METHOD(XonoticPlayerModelSelector, resizeNotify, void(entity, vector, vector, vector, vector))
+ METHOD(XonoticPlayerModelSelector, showNotify, void(entity))
ATTRIB(XonoticPlayerModelSelector, currentModel, string, string_null)
ATTRIB(XonoticPlayerModelSelector, currentSkin, float, 0)
ATTRIB(XonoticPlayerModelSelector, currentModelImage, string, string_null)
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);
}
if (me.numModels <= 0)
{
- draw_CenterText('0.5 0.5 0', _("<no model found>"), me.realFontSize, '1 1 1', 0.6, FALSE);
+ draw_CenterText('0.5 0.5 0', _("<no model found>"), 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;
}
}
me.realFontSize_y = me.fontSize / absSize_y;
me.realFontSize_x = me.fontSize / absSize_x;
}
+
+void XonoticPlayerModelSelector_showNotify(entity me)
+{
+ me.configureXonoticPlayerModelSelector(me);
+}
#endif