From f2c6c1078e302a8899360223ce2ff2876b977bfa Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Fri, 12 Nov 2010 22:40:24 +0100 Subject: [PATCH] IPv4/v6 indicator in the server list (test) --- gfx/menu/default/icon_ipv4.tga | Bin 0 -> 1200 bytes gfx/menu/default/icon_ipv6.tga | Bin 0 -> 1801 bytes gfx/menu/luminos/icon_ipv4.tga | Bin 0 -> 1200 bytes gfx/menu/luminos/icon_ipv6.tga | Bin 0 -> 1801 bytes gfx/menu/xaw/icon_ipv4.tga | Bin 0 -> 1200 bytes gfx/menu/xaw/icon_ipv6.tga | Bin 0 -> 1801 bytes qcsrc/menu/xonotic/serverlist.c | 49 ++++++++++++++++++++++++++------ 7 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 gfx/menu/default/icon_ipv4.tga create mode 100644 gfx/menu/default/icon_ipv6.tga create mode 100644 gfx/menu/luminos/icon_ipv4.tga create mode 100644 gfx/menu/luminos/icon_ipv6.tga create mode 100644 gfx/menu/xaw/icon_ipv4.tga create mode 100644 gfx/menu/xaw/icon_ipv6.tga diff --git a/gfx/menu/default/icon_ipv4.tga b/gfx/menu/default/icon_ipv4.tga new file mode 100644 index 0000000000000000000000000000000000000000..a7334dd0560259f67c005bcd43f5e526d0e2047b GIT binary patch literal 1200 zcmc&!%Su8~6kSxFU5W=7r{Y8Hul)Xy=2Tq;$1O0*n2Z943aONj8 zF(0S3_Q8u>jV3`y_Pu-Wv(|pya|CvPwL0 zM%uM}wjsr}g5>|O!7{A#Hyeo`M5xFO6$x~mVIx3QqZ(0CRxp*730ilAq6=gQAFFBS z=o!&UDM0IYa)z)mPzy4*M4VF!SA5tCe>)WqWv&5H!h1e*lssAm1sG7`6s@)NO>U5Y z9*`wr;zMkaNh_`p*54ZXEq#_f%lCvhUpfQUMf;+pDdDVk991;q#t7{DjHG?hN{ib0 ziAE4&ls=Fna2iayLn|U`INLpaR%DLvDQ|=?lHd7q9b6a2;8fK7z-J)*lh$rHy1`YH zM$A#?37UBd9q(cIBb^pK&-V;yxF?+yc?AV%dO!n6(Es5`Spg_vg7N_r37R{Wu?%`% zL@83?32KG`x}#P{6G$?`&~Z%55e%R-Ny-o?S(?y42Wtd$VM>&_M&X-iQw!GV@mcx2 Qa#A^}W-bmYhvj{I1GaD;)Bpeg literal 0 HcmV?d00001 diff --git a/gfx/menu/default/icon_ipv6.tga b/gfx/menu/default/icon_ipv6.tga new file mode 100644 index 0000000000000000000000000000000000000000..a61947da785343cbb26660f75a4d2c07399d8f91 GIT binary patch literal 1801 zcmaKtPe>I}6vjX2O_u$&MXLx(x0NetVeo8GAVh*`1PLzMYoHsWO;-Ah{#c2dz&1iI z16NrsawpL)OtHn&g@_9aBgH3i`X!JkN< z8LfOsQw)f>ctuDcBs?>5ge2f)J=B;|JuOpsHXLO&y+f>Sm@HVtmHC&}!2A6qXCo+NxbIOBrqG`Lzk zNrG7)#$~~CnoNWDnt5%v;APFF!F#>)4-Z}|UG|2Sli>1wuVtC#`~KD~ew12l+Q|+u zlAOMsx}AP4aQexH-r`PrTOPWp@RAWe#d*5eMYqaDB-0BMWwb?i$wl+H#iha(+X(+& zGoFJTF5E(R$v;O-}8NIW~p+b8pN4Kb`lSgdn}G<_mpG*cjH_ct_gz0La3Z+)|h8PkxyuoX2cWR{5H za}~)Voq{^(glPy~4L%liJ7%`p1|KHN{e#$VU%cfT7QsuOC2t*c!nDGDI-AKBz@Il} zGv-;osPKFjK?Z?UlSQ3nbSWuwJV;#p2uySqmb^aADsZa*Pvx5&BdCE{FOODleklx^ zFw!TwtVa~r=D!X0vrq}$@JojnZid%DY1RT*{re4hn1Eie9I;&!rj#3h%g0=i3Bp8} t2ow8xkQVHSHf-cKxFU5W=7r{Y8Hul)Xy=2Tq;$1O0*n2Z943aONj8 zF(0S3_Q8u>jV3`y_Pu-Wv(|pya|CvPwL0 zM%uM}wjsr}g5>|O!7{A#Hyeo`M5xFO6$x~mVIx3QqZ(0CRxp*730ilAq6=gQAFFBS z=o!&UDM0IYa)z)mPzy4*M4VF!SA5tCe>)WqWv&5H!h1e*lssAm1sG7`6s@)NO>U5Y z9*`wr;zMkaNh_`p*54ZXEq#_f%lCvhUpfQUMf;+pDdDVk991;q#t7{DjHG?hN{ib0 ziAE4&ls=Fna2iayLn|U`INLpaR%DLvDQ|=?lHd7q9b6a2;8fK7z-J)*lh$rHy1`YH zM$A#?37UBd9q(cIBb^pK&-V;yxF?+yc?AV%dO!n6(Es5`Spg_vg7N_r37R{Wu?%`% zL@83?32KG`x}#P{6G$?`&~Z%55e%R-Ny-o?S(?y42Wtd$VM>&_M&X-iQw!GV@mcx2 Qa#A^}W-bmYhvj{I1GaD;)Bpeg literal 0 HcmV?d00001 diff --git a/gfx/menu/luminos/icon_ipv6.tga b/gfx/menu/luminos/icon_ipv6.tga new file mode 100644 index 0000000000000000000000000000000000000000..a61947da785343cbb26660f75a4d2c07399d8f91 GIT binary patch literal 1801 zcmaKtPe>I}6vjX2O_u$&MXLx(x0NetVeo8GAVh*`1PLzMYoHsWO;-Ah{#c2dz&1iI z16NrsawpL)OtHn&g@_9aBgH3i`X!JkN< z8LfOsQw)f>ctuDcBs?>5ge2f)J=B;|JuOpsHXLO&y+f>Sm@HVtmHC&}!2A6qXCo+NxbIOBrqG`Lzk zNrG7)#$~~CnoNWDnt5%v;APFF!F#>)4-Z}|UG|2Sli>1wuVtC#`~KD~ew12l+Q|+u zlAOMsx}AP4aQexH-r`PrTOPWp@RAWe#d*5eMYqaDB-0BMWwb?i$wl+H#iha(+X(+& zGoFJTF5E(R$v;O-}8NIW~p+b8pN4Kb`lSgdn}G<_mpG*cjH_ct_gz0La3Z+)|h8PkxyuoX2cWR{5H za}~)Voq{^(glPy~4L%liJ7%`p1|KHN{e#$VU%cfT7QsuOC2t*c!nDGDI-AKBz@Il} zGv-;osPKFjK?Z?UlSQ3nbSWuwJV;#p2uySqmb^aADsZa*Pvx5&BdCE{FOODleklx^ zFw!TwtVa~r=D!X0vrq}$@JojnZid%DY1RT*{re4hn1Eie9I;&!rj#3h%g0=i3Bp8} t2ow8xkQVHSHf-cKxFU5W=7r{Y8Hul)Xy=2Tq;$1O0*n2Z943aONj8 zF(0S3_Q8u>jV3`y_Pu-Wv(|pya|CvPwL0 zM%uM}wjsr}g5>|O!7{A#Hyeo`M5xFO6$x~mVIx3QqZ(0CRxp*730ilAq6=gQAFFBS z=o!&UDM0IYa)z)mPzy4*M4VF!SA5tCe>)WqWv&5H!h1e*lssAm1sG7`6s@)NO>U5Y z9*`wr;zMkaNh_`p*54ZXEq#_f%lCvhUpfQUMf;+pDdDVk991;q#t7{DjHG?hN{ib0 ziAE4&ls=Fna2iayLn|U`INLpaR%DLvDQ|=?lHd7q9b6a2;8fK7z-J)*lh$rHy1`YH zM$A#?37UBd9q(cIBb^pK&-V;yxF?+yc?AV%dO!n6(Es5`Spg_vg7N_r37R{Wu?%`% zL@83?32KG`x}#P{6G$?`&~Z%55e%R-Ny-o?S(?y42Wtd$VM>&_M&X-iQw!GV@mcx2 Qa#A^}W-bmYhvj{I1GaD;)Bpeg literal 0 HcmV?d00001 diff --git a/gfx/menu/xaw/icon_ipv6.tga b/gfx/menu/xaw/icon_ipv6.tga new file mode 100644 index 0000000000000000000000000000000000000000..a61947da785343cbb26660f75a4d2c07399d8f91 GIT binary patch literal 1801 zcmaKtPe>I}6vjX2O_u$&MXLx(x0NetVeo8GAVh*`1PLzMYoHsWO;-Ah{#c2dz&1iI z16NrsawpL)OtHn&g@_9aBgH3i`X!JkN< z8LfOsQw)f>ctuDcBs?>5ge2f)J=B;|JuOpsHXLO&y+f>Sm@HVtmHC&}!2A6qXCo+NxbIOBrqG`Lzk zNrG7)#$~~CnoNWDnt5%v;APFF!F#>)4-Z}|UG|2Sli>1wuVtC#`~KD~ew12l+Q|+u zlAOMsx}AP4aQexH-r`PrTOPWp@RAWe#d*5eMYqaDB-0BMWwb?i$wl+H#iha(+X(+& zGoFJTF5E(R$v;O-}8NIW~p+b8pN4Kb`lSgdn}G<_mpG*cjH_ct_gz0La3Z+)|h8PkxyuoX2cWR{5H za}~)Voq{^(glPy~4L%liJ7%`p1|KHN{e#$VU%cfT7QsuOC2t*c!nDGDI-AKBz@Il} zGv-;osPKFjK?Z?UlSQ3nbSWuwJV;#p2uySqmb^aADsZa*Pvx5&BdCE{FOODleklx^ zFw!TwtVa~r=D!X0vrq}$@JojnZid%DY1RT*{re4hn1Eie9I;&!rj#3h%g0=i3Bp8} t2ow8xkQVHSHf-cK= 0) + { + isv4 = 1; + me.seenIPv4 += 1; + } + q = stof(substring(crypto_getencryptlevel(s), 0, 1)); if((q <= 0 && cvar("crypto_aeslevel") >= 3) || (q >= 3 && cvar("crypto_aeslevel") <= 0)) { @@ -628,21 +647,35 @@ void XonoticServerList_drawListBoxItem(entity me, float i, vector absSize, float s = gethostcachestring(SLIST_FIELD_QCSTATUS, i); { vector iconSize; - iconSize_y = 1; - iconSize_x = iconSize_y * (absSize_y / absSize_x); + iconSize_y = me.realFontSize_y * me.iconsSizeFactor; + iconSize_x = me.realFontSize_x * me.iconsSizeFactor; vector iconPos; - iconPos_x = (me.columnIconsSize - 2 * iconSize_x) * 0.5; + iconPos_x = (me.columnIconsSize - 3 * iconSize_x) * 0.5; iconPos_y = (1 - iconSize_y) * 0.5; + if not(me.seenIPv4 && me.seenIPv6) + { + iconPos_x += iconSize_x * 0.5; + } + draw_Picture(iconPos, strcat(SKINGFX_SERVERLIST_ICON, "_pure", ftos(strstrofs(s, ":P0:", 0) >= 0)), iconSize, '1 1 1', 1); iconPos_x += iconSize_x; draw_Picture(iconPos, strcat(SKINGFX_SERVERLIST_ICON, "_aeslevel", ftos(q)), iconSize, '1 1 1', 1); + + iconPos_x += iconSize_x; + if(me.seenIPv4 && me.seenIPv6) + { + if(isv6) + draw_Picture(iconPos, strcat(SKINGFX_SERVERLIST_ICON, "_ipv6"), iconSize, '1 1 1', 1); + else if(isv4) + draw_Picture(iconPos, strcat(SKINGFX_SERVERLIST_ICON, "_ipv4"), iconSize, '1 1 1', 1); + } } s = ftos(p); - draw_Text(me.realUpperMargin * eY + (me.columnPingSize - draw_TextWidth(s, 0, me.realFontSize)) * eX, s, me.realFontSize, theColor, theAlpha, 0); + draw_Text(me.realUpperMargin * eY + (me.columnPingOrigin + me.columnPingSize - draw_TextWidth(s, 0, me.realFontSize)) * eX, s, me.realFontSize, theColor, theAlpha, 0); s = draw_TextShortenToWidth(gethostcachestring(SLIST_FIELD_NAME, i), me.columnNameSize, 0, me.realFontSize); draw_Text(me.realUpperMargin * eY + me.columnNameOrigin * eX, s, me.realFontSize, theColor, theAlpha, 0); s = draw_TextShortenToWidth(gethostcachestring(SLIST_FIELD_MAP, i), me.columnMapSize, 0, me.realFontSize); -- 2.39.2