X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fplayerlist.qc;h=c6033050ae6f45d9157b042039788773b67afa72;hb=a37048a6daf3238416bb08f870cad260b6dd92b8;hp=c60b34e380755073ebcd0f9203e38cfe82d6ab1e;hpb=d99a102842ced06e6e1a0c9358c07c3b64523968;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/playerlist.qc b/qcsrc/menu/xonotic/playerlist.qc index c60b34e38..c6033050a 100644 --- a/qcsrc/menu/xonotic/playerlist.qc +++ b/qcsrc/menu/xonotic/playerlist.qc @@ -1,24 +1,6 @@ -#ifdef INTERFACE -CLASS(XonoticPlayerList) EXTENDS(XonoticListBox) - ATTRIB(XonoticPlayerList, rowsPerItem, float, 1) - METHOD(XonoticPlayerList, resizeNotify, void(entity, vector, vector, vector, vector)) - METHOD(XonoticPlayerList, drawListBoxItem, void(entity, float, vector, float)) - ATTRIB(XonoticPlayerList, realFontSize, vector, '0 0 0') - ATTRIB(XonoticPlayerList, columnNameOrigin, float, 0) - ATTRIB(XonoticPlayerList, columnNameSize, float, 0) - ATTRIB(XonoticPlayerList, columnScoreOrigin, float, 0) - ATTRIB(XonoticPlayerList, columnScoreSize, float, 0) - ATTRIB(XonoticPlayerList, realUpperMargin, float, 0) - ATTRIB(XonoticPlayerList, origin, vector, '0 0 0') - ATTRIB(XonoticPlayerList, itemAbsSize, vector, '0 0 0') - METHOD(XonoticPlayerList, setPlayerList, void(entity, string)) - METHOD(XonoticPlayerList, getPlayerList, string(entity, float, float)) - ATTRIB(XonoticPlayerList, playerList, float, -1) -ENDCLASS(XonoticPlayerList) -entity makeXonoticPlayerList(); -#endif - -#ifdef IMPLEMENTATION +#include "playerlist.qh" + +.float realUpperMargin2; const float PLAYERPARM_SCORE = 0; const float PLAYERPARM_PING = 1; @@ -29,14 +11,14 @@ const float PLAYERPARM_COUNT = 4; entity makeXonoticPlayerList() { entity me; - me = spawnXonoticPlayerList(); + me = NEW(XonoticPlayerList); me.configureXonoticListBox(me); return me; } void XonoticPlayerList_setPlayerList(entity me, string plist) { - float buf,i,n; + int buf,i,n; string s; buf = buf_create(); @@ -79,19 +61,19 @@ void XonoticPlayerList_resizeNotify(entity me, vector relOrigin, vector relSize, me.itemAbsSize = '0 0 0'; SUPER(XonoticPlayerList).resizeNotify(me, relOrigin, relSize, absOrigin, absSize); - me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize_y * me.itemHeight)); - me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize_x * (1 - me.controlWidth))); - me.realUpperMargin = 0.5 * (1 - me.realFontSize_y); + me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize.y * me.itemHeight)); + me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize.x * (1 - me.controlWidth))); + me.realUpperMargin = 0.5 * (1 - me.realFontSize.y); // this list does 1 char left and right margin - me.columnScoreSize = 5 * me.realFontSize_x; - me.columnNameSize = 1 - 3 * me.realFontSize_x - me.columnScoreSize; + me.columnScoreSize = 5 * me.realFontSize.x; + me.columnNameSize = 1 - 3 * me.realFontSize.x - me.columnScoreSize; - me.columnNameOrigin = me.realFontSize_x; - me.columnScoreOrigin = me.columnNameOrigin + me.columnNameSize + me.realFontSize_x; + me.columnNameOrigin = me.realFontSize.x; + me.columnScoreOrigin = me.columnNameOrigin + me.columnNameSize + me.realFontSize.x; } -void XonoticPlayerList_drawListBoxItem(entity me, float i, vector absSize, float isSelected) +void XonoticPlayerList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused) { string s; string score; @@ -124,7 +106,7 @@ void XonoticPlayerList_drawListBoxItem(entity me, float i, vector absSize, float if((t = strstrofs(score, ",", 0)) >= 0) score = substring(score, 0, t); - if(stof(score) == -666) + if(stof(score) == FRAGS_SPECTATOR) score = _("spectator"); } @@ -134,5 +116,3 @@ void XonoticPlayerList_drawListBoxItem(entity me, float i, vector absSize, float score = draw_TextShortenToWidth(score, me.columnScoreSize, 0, me.realFontSize); draw_Text(me.realUpperMargin2 * eY + (me.columnScoreOrigin + 1.00 * (me.columnScoreSize - draw_TextWidth(score, 1, me.realFontSize))) * eX, score, me.realFontSize, rgb, 1, 0); } - -#endif