update datacenters
var will need to be updated as well, flags have changed
|
Before Width: | Height: | Size: 378 KiB After Width: | Height: | Size: 357 KiB |
@@ -1,51 +1,49 @@
|
|||||||
<svg width="751" height="200" viewBox="0 0 751 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="751" height="200" viewBox="0 0 751 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<g filter="url(#filter0_di_614_456)">
|
<g filter="url(#filter0_di_1_4736)">
|
||||||
<path d="M289.32 128.8V132H256.2V128.8H264.76L258.04 108H235.88L229.08 128.8H237.24V132H219.8V128.8H225.24L245 68H264.12L283.88 128.8H289.32ZM257 104.8L246.92 73.92L236.92 104.8H257ZM382.494 128.8V132H364.734L358.094 125.36V87.2H352.494L346.894 92.8V128.8H351.694V132H328.494V87.2H322.894L317.294 92.8V128.8H322.094V132H292.494V128.8H298.894V87.2H292.494V84H309.854L315.534 89.6L321.134 84H339.454L345.134 89.6L350.734 84H368.654L376.094 91.44V128.8H382.494ZM396.299 132L389.659 125.36V113.04L396.299 106.4H416.859V87.2H408.459V100H391.659V90.64L398.299 84H428.619L435.259 90.64V128.8H441.659V132H423.499L418.699 127.12L413.819 132H396.299ZM408.459 109.6V128.8H412.059L416.859 124V109.6H408.459ZM472.897 128.8V132H456.337L448.897 124.56V64.8H443.297V61.6H459.857L467.297 69.04V128.8H472.897ZM528.069 84V144.56L520.629 152H485.109L478.469 145.36V136H496.469V148.8H509.669V123.36L505.829 127.2H486.309L478.869 119.76V91.44L486.309 84H505.829L511.509 89.6L517.109 84H528.069ZM509.669 118.4V92.8L504.069 87.2H496.869V124H504.069L509.669 118.4ZM543.487 132L536.847 125.36V113.04L543.487 106.4H564.047V87.2H555.647V100H538.847V90.64L545.487 84H575.807L582.447 90.64V128.8H588.847V132H570.687L565.887 127.12L561.007 132H543.487ZM555.647 109.6V128.8H559.247L564.047 124V109.6H555.647ZM682.884 128.8V132H665.124L658.484 125.36V87.2H652.884L647.284 92.8V128.8H652.084V132H628.884V87.2H623.284L617.684 92.8V128.8H622.484V132H592.884V128.8H599.284V87.2H592.884V84H610.244L615.924 89.6L621.524 84H639.844L645.524 89.6L651.124 84H669.044L676.484 91.44V128.8H682.884Z" fill="url(#paint0_linear_614_456)"/>
|
<path d="M289.32 128.8V132H256.2V128.8H264.76L258.04 108H235.88L229.08 128.8H237.24V132H219.8V128.8H225.24L245 68H264.12L283.88 128.8H289.32ZM257 104.8L246.92 73.92L236.92 104.8H257ZM382.494 128.8V132H364.734L358.094 125.36V87.2H352.494L346.894 92.8V128.8H351.694V132H328.494V87.2H322.894L317.294 92.8V128.8H322.094V132H292.494V128.8H298.894V87.2H292.494V84H309.854L315.534 89.6L321.134 84H339.454L345.134 89.6L350.734 84H368.654L376.094 91.44V128.8H382.494ZM396.299 132L389.659 125.36V113.04L396.299 106.4H416.859V87.2H408.459V100H391.659V90.64L398.299 84H428.619L435.259 90.64V128.8H441.659V132H423.499L418.699 127.12L413.819 132H396.299ZM408.459 109.6V128.8H412.059L416.859 124V109.6H408.459ZM472.897 128.8V132H456.337L448.897 124.56V64.8H443.297V61.6H459.857L467.297 69.04V128.8H472.897ZM528.069 84V144.56L520.629 152H485.109L478.469 145.36V136H496.469V148.8H509.669V123.36L505.829 127.2H486.309L478.869 119.76V91.44L486.309 84H505.829L511.509 89.6L517.109 84H528.069ZM509.669 118.4V92.8L504.069 87.2H496.869V124H504.069L509.669 118.4ZM543.487 132L536.847 125.36V113.04L543.487 106.4H564.047V87.2H555.647V100H538.847V90.64L545.487 84H575.807L582.447 90.64V128.8H588.847V132H570.687L565.887 127.12L561.007 132H543.487ZM555.647 109.6V128.8H559.247L564.047 124V109.6H555.647ZM682.884 128.8V132H665.124L658.484 125.36V87.2H652.884L647.284 92.8V128.8H652.084V132H628.884V87.2H623.284L617.684 92.8V128.8H622.484V132H592.884V128.8H599.284V87.2H592.884V84H610.244L615.924 89.6L621.524 84H639.844L645.524 89.6L651.124 84H669.044L676.484 91.44V128.8H682.884Z" fill="url(#paint0_linear_1_4736)"/>
|
||||||
</g>
|
</g>
|
||||||
<g filter="url(#filter1_di_614_456)">
|
<g filter="url(#filter1_di_1_4736)">
|
||||||
<path d="M115 76.6004L88 123.399H142L151 139H61L106 61L115 76.6004ZM133 107.8H115L124 92.2001L133 107.8Z" fill="url(#paint1_linear_614_456)"/>
|
<path d="M115 76.6004L88 123.399H142L151 139H61L106 61L115 76.6004ZM133 107.8H115L124 92.2001L133 107.8Z" fill="url(#paint1_linear_1_4736)"/>
|
||||||
</g>
|
</g>
|
||||||
<defs>
|
<defs>
|
||||||
<filter id="filter0_di_614_456" x="209.8" y="51.6" width="483.084" height="110.4" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
<filter id="filter0_di_1_4736" x="209.8" y="51.6" width="483.084" height="110.4" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
<feOffset/>
|
<feOffset/>
|
||||||
<feGaussianBlur stdDeviation="5"/>
|
<feGaussianBlur stdDeviation="5"/>
|
||||||
<feComposite in2="hardAlpha" operator="out"/>
|
<feComposite in2="hardAlpha" operator="out"/>
|
||||||
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_614_456"/>
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1_4736"/>
|
||||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_614_456" result="shape"/>
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1_4736" result="shape"/>
|
||||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
<feOffset/>
|
<feOffset/>
|
||||||
<feGaussianBlur stdDeviation="2.5"/>
|
<feGaussianBlur stdDeviation="2.5"/>
|
||||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||||
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_614_456"/>
|
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_1_4736"/>
|
||||||
</filter>
|
</filter>
|
||||||
<filter id="filter1_di_614_456" x="51" y="51" width="110" height="98" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
<filter id="filter1_di_1_4736" x="51" y="51" width="110" height="98" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
<feOffset/>
|
<feOffset/>
|
||||||
<feGaussianBlur stdDeviation="5"/>
|
<feGaussianBlur stdDeviation="5"/>
|
||||||
<feComposite in2="hardAlpha" operator="out"/>
|
<feComposite in2="hardAlpha" operator="out"/>
|
||||||
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_614_456"/>
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1_4736"/>
|
||||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_614_456" result="shape"/>
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1_4736" result="shape"/>
|
||||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
<feOffset/>
|
<feOffset/>
|
||||||
<feGaussianBlur stdDeviation="2.5"/>
|
<feGaussianBlur stdDeviation="2.5"/>
|
||||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||||
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_614_456"/>
|
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_1_4736"/>
|
||||||
</filter>
|
</filter>
|
||||||
<linearGradient id="paint0_linear_614_456" x1="453" y1="61.5" x2="453" y2="152" gradientUnits="userSpaceOnUse">
|
<linearGradient id="paint0_linear_1_4736" x1="453" y1="61.5" x2="453" y2="152" gradientUnits="userSpaceOnUse">
|
||||||
<stop/>
|
<stop offset="0.0001" stop-color="#AF96FF"/>
|
||||||
<stop offset="0.5" stop-color="#AF96FF"/>
|
|
||||||
<stop offset="1" stop-color="white"/>
|
<stop offset="1" stop-color="white"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="paint1_linear_614_456" x1="106.36" y1="61" x2="106.36" y2="138.817" gradientUnits="userSpaceOnUse">
|
<linearGradient id="paint1_linear_1_4736" x1="106.36" y1="61" x2="106.36" y2="138.817" gradientUnits="userSpaceOnUse">
|
||||||
<stop/>
|
<stop offset="0.0001" stop-color="#AF96FF"/>
|
||||||
<stop offset="0.5" stop-color="#AF96FF"/>
|
|
||||||
<stop offset="1" stop-color="white"/>
|
<stop offset="1" stop-color="white"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 91 KiB |
@@ -1,27 +1,26 @@
|
|||||||
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<g filter="url(#filter0_di_608_858)">
|
<g filter="url(#filter0_di_1_4726)">
|
||||||
<path d="M113 67.6514L75.5 132.603H150.5L163 154.254H38L100.5 46L113 67.6514ZM138 110.952H113L125.5 89.3018L138 110.952Z" fill="url(#paint0_linear_608_858)"/>
|
<path d="M113 67.6514L75.5 132.603H150.5L163 154.254H38L100.5 46L113 67.6514ZM138 110.952H113L125.5 89.3018L138 110.952Z" fill="url(#paint0_linear_1_4726)"/>
|
||||||
</g>
|
</g>
|
||||||
<defs>
|
<defs>
|
||||||
<filter id="filter0_di_608_858" x="28" y="36" width="145" height="128.254" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
<filter id="filter0_di_1_4726" x="28" y="36" width="145" height="128.254" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
<feOffset/>
|
<feOffset/>
|
||||||
<feGaussianBlur stdDeviation="5"/>
|
<feGaussianBlur stdDeviation="5"/>
|
||||||
<feComposite in2="hardAlpha" operator="out"/>
|
<feComposite in2="hardAlpha" operator="out"/>
|
||||||
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_608_858"/>
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1_4726"/>
|
||||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_608_858" result="shape"/>
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1_4726" result="shape"/>
|
||||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
<feOffset/>
|
<feOffset/>
|
||||||
<feGaussianBlur stdDeviation="2.5"/>
|
<feGaussianBlur stdDeviation="2.5"/>
|
||||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||||
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_608_858"/>
|
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_1_4726"/>
|
||||||
</filter>
|
</filter>
|
||||||
<linearGradient id="paint0_linear_608_858" x1="101" y1="46" x2="101" y2="154" gradientUnits="userSpaceOnUse">
|
<linearGradient id="paint0_linear_1_4726" x1="101" y1="46" x2="101" y2="154" gradientUnits="userSpaceOnUse">
|
||||||
<stop/>
|
<stop offset="0.0001" stop-color="#AF96FF"/>
|
||||||
<stop offset="0.5" stop-color="#AF96FF"/>
|
|
||||||
<stop offset="1" stop-color="white"/>
|
<stop offset="1" stop-color="white"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 309 KiB After Width: | Height: | Size: 287 KiB |
@@ -1,27 +1,26 @@
|
|||||||
<svg width="600" height="200" viewBox="0 0 600 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="600" height="200" viewBox="0 0 600 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<g filter="url(#filter0_di_614_431)">
|
<g filter="url(#filter0_di_1_4730)">
|
||||||
<path d="M138.32 128.8V132H105.2V128.8H113.76L107.04 108H84.88L78.08 128.8H86.24V132H68.8V128.8H74.24L94 68H113.12L132.88 128.8H138.32ZM106 104.8L95.92 73.92L85.92 104.8H106ZM231.494 128.8V132H213.734L207.094 125.36V87.2H201.494L195.894 92.8V128.8H200.694V132H177.494V87.2H171.894L166.294 92.8V128.8H171.094V132H141.494V128.8H147.894V87.2H141.494V84H158.854L164.534 89.6L170.134 84H188.454L194.134 89.6L199.734 84H217.654L225.094 91.44V128.8H231.494ZM245.299 132L238.659 125.36V113.04L245.299 106.4H265.859V87.2H257.459V100H240.659V90.64L247.299 84H277.619L284.259 90.64V128.8H290.659V132H272.499L267.699 127.12L262.819 132H245.299ZM257.459 109.6V128.8H261.059L265.859 124V109.6H257.459ZM321.897 128.8V132H305.337L297.897 124.56V64.8H292.297V61.6H308.857L316.297 69.04V128.8H321.897ZM377.069 84V144.56L369.629 152H334.109L327.469 145.36V136H345.469V148.8H358.669V123.36L354.829 127.2H335.309L327.869 119.76V91.44L335.309 84H354.829L360.509 89.6L366.109 84H377.069ZM358.669 118.4V92.8L353.069 87.2H345.869V124H353.069L358.669 118.4ZM392.487 132L385.847 125.36V113.04L392.487 106.4H413.047V87.2H404.647V100H387.847V90.64L394.487 84H424.807L431.447 90.64V128.8H437.847V132H419.687L414.887 127.12L410.007 132H392.487ZM404.647 109.6V128.8H408.247L413.047 124V109.6H404.647ZM531.884 128.8V132H514.124L507.484 125.36V87.2H501.884L496.284 92.8V128.8H501.084V132H477.884V87.2H472.284L466.684 92.8V128.8H471.484V132H441.884V128.8H448.284V87.2H441.884V84H459.244L464.924 89.6L470.524 84H488.844L494.524 89.6L500.124 84H518.044L525.484 91.44V128.8H531.884Z" fill="url(#paint0_linear_614_431)"/>
|
<path d="M138.32 128.8V132H105.2V128.8H113.76L107.04 108H84.88L78.08 128.8H86.24V132H68.8V128.8H74.24L94 68H113.12L132.88 128.8H138.32ZM106 104.8L95.92 73.92L85.92 104.8H106ZM231.494 128.8V132H213.734L207.094 125.36V87.2H201.494L195.894 92.8V128.8H200.694V132H177.494V87.2H171.894L166.294 92.8V128.8H171.094V132H141.494V128.8H147.894V87.2H141.494V84H158.854L164.534 89.6L170.134 84H188.454L194.134 89.6L199.734 84H217.654L225.094 91.44V128.8H231.494ZM245.299 132L238.659 125.36V113.04L245.299 106.4H265.859V87.2H257.459V100H240.659V90.64L247.299 84H277.619L284.259 90.64V128.8H290.659V132H272.499L267.699 127.12L262.819 132H245.299ZM257.459 109.6V128.8H261.059L265.859 124V109.6H257.459ZM321.897 128.8V132H305.337L297.897 124.56V64.8H292.297V61.6H308.857L316.297 69.04V128.8H321.897ZM377.069 84V144.56L369.629 152H334.109L327.469 145.36V136H345.469V148.8H358.669V123.36L354.829 127.2H335.309L327.869 119.76V91.44L335.309 84H354.829L360.509 89.6L366.109 84H377.069ZM358.669 118.4V92.8L353.069 87.2H345.869V124H353.069L358.669 118.4ZM392.487 132L385.847 125.36V113.04L392.487 106.4H413.047V87.2H404.647V100H387.847V90.64L394.487 84H424.807L431.447 90.64V128.8H437.847V132H419.687L414.887 127.12L410.007 132H392.487ZM404.647 109.6V128.8H408.247L413.047 124V109.6H404.647ZM531.884 128.8V132H514.124L507.484 125.36V87.2H501.884L496.284 92.8V128.8H501.084V132H477.884V87.2H472.284L466.684 92.8V128.8H471.484V132H441.884V128.8H448.284V87.2H441.884V84H459.244L464.924 89.6L470.524 84H488.844L494.524 89.6L500.124 84H518.044L525.484 91.44V128.8H531.884Z" fill="url(#paint0_linear_1_4730)"/>
|
||||||
</g>
|
</g>
|
||||||
<defs>
|
<defs>
|
||||||
<filter id="filter0_di_614_431" x="58.7998" y="51.6" width="483.084" height="110.4" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
<filter id="filter0_di_1_4730" x="58.8" y="51.6" width="483.084" height="110.4" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
<feOffset/>
|
<feOffset/>
|
||||||
<feGaussianBlur stdDeviation="5"/>
|
<feGaussianBlur stdDeviation="5"/>
|
||||||
<feComposite in2="hardAlpha" operator="out"/>
|
<feComposite in2="hardAlpha" operator="out"/>
|
||||||
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_614_431"/>
|
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1_4730"/>
|
||||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_614_431" result="shape"/>
|
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1_4730" result="shape"/>
|
||||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||||
<feOffset/>
|
<feOffset/>
|
||||||
<feGaussianBlur stdDeviation="2.5"/>
|
<feGaussianBlur stdDeviation="2.5"/>
|
||||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||||
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
<feColorMatrix type="matrix" values="0 0 0 0 0.686275 0 0 0 0 0.588235 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_614_431"/>
|
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_1_4730"/>
|
||||||
</filter>
|
</filter>
|
||||||
<linearGradient id="paint0_linear_614_431" x1="302" y1="61.5" x2="302" y2="152" gradientUnits="userSpaceOnUse">
|
<linearGradient id="paint0_linear_1_4730" x1="302" y1="61.5" x2="302" y2="152" gradientUnits="userSpaceOnUse">
|
||||||
<stop/>
|
<stop offset="0.0001" stop-color="#AF96FF"/>
|
||||||
<stop offset="0.5" stop-color="#AF96FF"/>
|
|
||||||
<stop offset="1" stop-color="white"/>
|
<stop offset="1" stop-color="white"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
@@ -1257,6 +1257,7 @@
|
|||||||
<ClInclude Include="src\SDK\Definitions\Interfaces\IGameMovement.h" />
|
<ClInclude Include="src\SDK\Definitions\Interfaces\IGameMovement.h" />
|
||||||
<ClInclude Include="src\SDK\Definitions\Interfaces\IInput.h" />
|
<ClInclude Include="src\SDK\Definitions\Interfaces\IInput.h" />
|
||||||
<ClInclude Include="src\SDK\Definitions\Interfaces\IKeyValuesSystem.h" />
|
<ClInclude Include="src\SDK\Definitions\Interfaces\IKeyValuesSystem.h" />
|
||||||
|
<ClInclude Include="src\SDK\Definitions\Interfaces\ILocalize.h" />
|
||||||
<ClInclude Include="src\SDK\Definitions\Interfaces\IPanel.h" />
|
<ClInclude Include="src\SDK\Definitions\Interfaces\IPanel.h" />
|
||||||
<ClInclude Include="src\SDK\Definitions\Interfaces\IStudioRender.h" />
|
<ClInclude Include="src\SDK\Definitions\Interfaces\IStudioRender.h" />
|
||||||
<ClInclude Include="src\SDK\Definitions\Interfaces\IUniformRandomStream.h" />
|
<ClInclude Include="src\SDK\Definitions\Interfaces\IUniformRandomStream.h" />
|
||||||
|
|||||||
@@ -580,6 +580,7 @@
|
|||||||
<ClInclude Include="src\SDK\Definitions\Misc\CRangeCheckedVar.h" />
|
<ClInclude Include="src\SDK\Definitions\Misc\CRangeCheckedVar.h" />
|
||||||
<ClInclude Include="src\Features\Visuals\Groups\Groups.h" />
|
<ClInclude Include="src\Features\Visuals\Groups\Groups.h" />
|
||||||
<ClInclude Include="src\SDK\Definitions\Interfaces\IFileSystem.h" />
|
<ClInclude Include="src\SDK\Definitions\Interfaces\IFileSystem.h" />
|
||||||
|
<ClInclude Include="src\SDK\Definitions\Interfaces\ILocalize.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="cpp.hint" />
|
<None Include="cpp.hint" />
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
#include "../SDK/SDK.h"
|
#include "../SDK/SDK.h"
|
||||||
|
|
||||||
static void POPID_ToString(SteamNetworkingPOPID popID, char* out)
|
// we could maybe use tf_datacenter_ping_interval?
|
||||||
|
|
||||||
|
static void PopIdName(SteamNetworkingPOPID popID, char* out)
|
||||||
{
|
{
|
||||||
out[0] = static_cast<char>(popID >> 16);
|
out[0] = static_cast<char>(popID >> 16);
|
||||||
out[1] = static_cast<char>(popID >> 8);
|
out[1] = static_cast<char>(popID >> 8);
|
||||||
@@ -13,39 +15,38 @@ static inline int GetDatacenter(uint32_t uHash)
|
|||||||
{
|
{
|
||||||
switch (uHash)
|
switch (uHash)
|
||||||
{
|
{
|
||||||
case FNV1A::Hash32Const("atl"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_ATL;
|
case FNV1A::Hash32Const("atl"): return Vars::Misc::Queueing::ForceRegionsEnum::ATL;
|
||||||
case FNV1A::Hash32Const("ord"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_ORD;
|
case FNV1A::Hash32Const("ord"): return Vars::Misc::Queueing::ForceRegionsEnum::ORD;
|
||||||
case FNV1A::Hash32Const("dfw"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_DFW;
|
case FNV1A::Hash32Const("dfw"): return Vars::Misc::Queueing::ForceRegionsEnum::DFW;
|
||||||
case FNV1A::Hash32Const("lax"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_LAX;
|
case FNV1A::Hash32Const("lax"): return Vars::Misc::Queueing::ForceRegionsEnum::LAX;
|
||||||
case FNV1A::Hash32Const("eat"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_EAT;
|
case FNV1A::Hash32Const("sea"):
|
||||||
case FNV1A::Hash32Const("jfk"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_JFK;
|
case FNV1A::Hash32Const("eat"): return Vars::Misc::Queueing::ForceRegionsEnum::SEA;
|
||||||
case FNV1A::Hash32Const("sea"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_SEA;
|
case FNV1A::Hash32Const("iad"): return Vars::Misc::Queueing::ForceRegionsEnum::IAD;
|
||||||
case FNV1A::Hash32Const("iad"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_IAD;
|
case FNV1A::Hash32Const("ams"):
|
||||||
case FNV1A::Hash32Const("ams"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_AMS;
|
case FNV1A::Hash32Const("ams4"): return Vars::Misc::Queueing::ForceRegionsEnum::AMS;
|
||||||
case FNV1A::Hash32Const("fra"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_FRA;
|
case FNV1A::Hash32Const("fsn"): return Vars::Misc::Queueing::ForceRegionsEnum::FSN;
|
||||||
case FNV1A::Hash32Const("hel"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_HEL;
|
case FNV1A::Hash32Const("fra"): return Vars::Misc::Queueing::ForceRegionsEnum::FRA;
|
||||||
case FNV1A::Hash32Const("lhr"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_LHR;
|
case FNV1A::Hash32Const("hel"): return Vars::Misc::Queueing::ForceRegionsEnum::HEL;
|
||||||
case FNV1A::Hash32Const("mad"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_MAD;
|
case FNV1A::Hash32Const("lhr"): return Vars::Misc::Queueing::ForceRegionsEnum::LHR;
|
||||||
case FNV1A::Hash32Const("par"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_PAR;
|
case FNV1A::Hash32Const("mad"): return Vars::Misc::Queueing::ForceRegionsEnum::MAD;
|
||||||
case FNV1A::Hash32Const("sto"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_STO;
|
case FNV1A::Hash32Const("par"): return Vars::Misc::Queueing::ForceRegionsEnum::PAR;
|
||||||
case FNV1A::Hash32Const("sto2"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_STO;
|
case FNV1A::Hash32Const("sto"):
|
||||||
case FNV1A::Hash32Const("vie"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_VIE;
|
case FNV1A::Hash32Const("sto2"): return Vars::Misc::Queueing::ForceRegionsEnum::STO;
|
||||||
case FNV1A::Hash32Const("waw"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_WAW;
|
case FNV1A::Hash32Const("vie"): return Vars::Misc::Queueing::ForceRegionsEnum::VIE;
|
||||||
case FNV1A::Hash32Const("eze"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_EZE;
|
case FNV1A::Hash32Const("waw"): return Vars::Misc::Queueing::ForceRegionsEnum::WAW;
|
||||||
case FNV1A::Hash32Const("lim"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_LIM;
|
case FNV1A::Hash32Const("eze"): return Vars::Misc::Queueing::ForceRegionsEnum::EZE;
|
||||||
case FNV1A::Hash32Const("scl"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_SCL;
|
case FNV1A::Hash32Const("lim"): return Vars::Misc::Queueing::ForceRegionsEnum::LIM;
|
||||||
case FNV1A::Hash32Const("gru"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_GRU;
|
case FNV1A::Hash32Const("scl"): return Vars::Misc::Queueing::ForceRegionsEnum::SCL;
|
||||||
case FNV1A::Hash32Const("bom2"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_BOM2;
|
case FNV1A::Hash32Const("gru"): return Vars::Misc::Queueing::ForceRegionsEnum::GRU;
|
||||||
case FNV1A::Hash32Const("maa"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_MAA;
|
case FNV1A::Hash32Const("maa2"): return Vars::Misc::Queueing::ForceRegionsEnum::MAA;
|
||||||
case FNV1A::Hash32Const("dxb"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_DXB;
|
case FNV1A::Hash32Const("dxb"): return Vars::Misc::Queueing::ForceRegionsEnum::DXB;
|
||||||
case FNV1A::Hash32Const("hkg"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_HKG;
|
case FNV1A::Hash32Const("hkg"): return Vars::Misc::Queueing::ForceRegionsEnum::HKG;
|
||||||
case FNV1A::Hash32Const("maa2"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_MAA2;
|
case FNV1A::Hash32Const("bom2"): return Vars::Misc::Queueing::ForceRegionsEnum::BOM;
|
||||||
case FNV1A::Hash32Const("bom"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_BOM;
|
case FNV1A::Hash32Const("seo"): return Vars::Misc::Queueing::ForceRegionsEnum::SEO;
|
||||||
case FNV1A::Hash32Const("seo"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_SEO;
|
case FNV1A::Hash32Const("sgp"): return Vars::Misc::Queueing::ForceRegionsEnum::SGP;
|
||||||
case FNV1A::Hash32Const("sgp"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_SGP;
|
case FNV1A::Hash32Const("tyo"): return Vars::Misc::Queueing::ForceRegionsEnum::TYO;
|
||||||
case FNV1A::Hash32Const("tyo"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_TYO;
|
case FNV1A::Hash32Const("syd"): return Vars::Misc::Queueing::ForceRegionsEnum::SYD;
|
||||||
case FNV1A::Hash32Const("syd"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_SYD;
|
case FNV1A::Hash32Const("jnb"): return Vars::Misc::Queueing::ForceRegionsEnum::JNB;
|
||||||
case FNV1A::Hash32Const("jnb"): return Vars::Misc::Queueing::ForceRegionsEnum::DC_JNB;
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -62,9 +63,9 @@ MAKE_HOOK(ISteamNetworkingUtils_GetPingToDataCenter, U::Memory.GetVirtual(I::Ste
|
|||||||
if (!Vars::Misc::Queueing::ForceRegions.Value || iReturn < 0)
|
if (!Vars::Misc::Queueing::ForceRegions.Value || iReturn < 0)
|
||||||
return iReturn;
|
return iReturn;
|
||||||
|
|
||||||
char popIDName[5];
|
char sPopID[5];
|
||||||
POPID_ToString(popID, popIDName);
|
PopIdName(popID, sPopID);
|
||||||
if (auto uDatacenter = GetDatacenter(FNV1A::Hash32(popIDName)))
|
if (auto uDatacenter = GetDatacenter(FNV1A::Hash32(sPopID)))
|
||||||
return Vars::Misc::Queueing::ForceRegions.Value & uDatacenter ? 1 : 1000;
|
return Vars::Misc::Queueing::ForceRegions.Value & uDatacenter ? 1 : 1000;
|
||||||
|
|
||||||
return iReturn;
|
return iReturn;
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Interface.h"
|
||||||
|
|
||||||
|
typedef unsigned long StringIndex_t;
|
||||||
|
|
||||||
|
class KeyValues;
|
||||||
|
|
||||||
|
class ILocalize
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual bool AddFile(const char* fileName, const char* pPathID = NULL, bool bIncludeFallbackSearchPaths = false) = 0;
|
||||||
|
virtual void RemoveAll() = 0;
|
||||||
|
virtual wchar_t* Find(char const* tokenName) = 0;
|
||||||
|
virtual StringIndex_t FindIndex(const char* tokenName) = 0;
|
||||||
|
virtual const char* GetNameByIndex(StringIndex_t index) = 0;
|
||||||
|
virtual wchar_t* GetValueByIndex(StringIndex_t index) = 0;
|
||||||
|
virtual StringIndex_t GetFirstStringIndex() = 0;
|
||||||
|
virtual StringIndex_t GetNextStringIndex(StringIndex_t index) = 0;
|
||||||
|
virtual void AddString(const char* tokenName, wchar_t* unicodeString, const char* fileName) = 0;
|
||||||
|
virtual void SetValueByIndex(StringIndex_t index, wchar_t* newValue) = 0;
|
||||||
|
virtual bool SaveToFile(const char* fileName) = 0;
|
||||||
|
virtual int GetLocalizationFileCount() = 0;
|
||||||
|
virtual const char* GetLocalizationFileName(int index) = 0;
|
||||||
|
virtual const char* GetFileNameByIndex(StringIndex_t index) = 0;
|
||||||
|
virtual void ReloadLocalizationFiles() = 0;
|
||||||
|
virtual const char* FindAsUTF8(const char* pchTokenName) = 0;
|
||||||
|
virtual void ConstructString(wchar_t* unicodeOutput, int unicodeBufferSizeInBytes, const char* tokenName, KeyValues* localizationVariables) = 0;
|
||||||
|
virtual void ConstructString(wchar_t* unicodeOutput, int unicodeBufferSizeInBytes, StringIndex_t unlocalizedTextSymbol, KeyValues* localizationVariables) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
MAKE_INTERFACE_VERSION(ILocalize, Localize, "vgui2.dll", "VGUI_Localize005");
|
||||||
@@ -747,45 +747,42 @@ namespace Vars
|
|||||||
|
|
||||||
SUBNAMESPACE_BEGIN(Queueing)
|
SUBNAMESPACE_BEGIN(Queueing)
|
||||||
CVarEnum(ForceRegions, "Force regions", 0b0, DROPDOWN_MULTI, nullptr, // i'm not sure all of these are actually used for tf2 servers
|
CVarEnum(ForceRegions, "Force regions", 0b0, DROPDOWN_MULTI, nullptr, // i'm not sure all of these are actually used for tf2 servers
|
||||||
VA_LIST("Atlanta", "Chicago", "Texas", "Los Angeles", "Moses Lake", "New York", "Seattle", "Virginia", "##Divider", "Amsterdam", "Frankfurt", "Helsinki", "London", "Madrid", "Paris", "Stockholm", "Vienna", "Warsaw", "##Divider", "Buenos Aires", "Lima", "Santiago", "Sao Paulo", "##Divider", "Bombay", "Chennai", "Dubai", "Hong Kong", "Madras", "Mumbai", "Seoul", "Singapore", "Tokyo", "Sydney", "##Divider", "Johannesburg"),
|
VA_LIST("Atlanta", "Chicago", "Dallas", "Los Angeles", "Seattle", "Virginia", "##Divider", "Amsterdam", "Falkenstein", "Frankfurt", "Helsinki", "London", "Madrid", "Paris", "Stockholm", "Vienna", "Warsaw", "##Divider", "Buenos Aires", "Lima", "Santiago", "Sao Paulo", "##Divider", "Chennai", "Dubai", "Hong Kong", "Mumbai", "Seoul", "Singapore", "Tokyo", "##Divider", "Sydney", "##Divider", "Johannesburg"),
|
||||||
// North America
|
// North America
|
||||||
DC_ATL = 1 << 0, // Atlanta
|
ATL = 1 << 0, // Atlanta
|
||||||
DC_ORD = 1 << 1, // Chicago
|
ORD = 1 << 1, // Chicago
|
||||||
DC_DFW = 1 << 2, // Texas
|
DFW = 1 << 2, // Dallas
|
||||||
DC_LAX = 1 << 3, // Los Angeles
|
LAX = 1 << 3, // Los Angeles
|
||||||
DC_EAT = 1 << 4, // Moses Lake
|
SEA = 1 << 4, // Seattle (+DC_EAT?)
|
||||||
DC_JFK = 1 << 5, // New York
|
IAD = 1 << 5, // Virginia
|
||||||
DC_SEA = 1 << 6, // Seattle
|
|
||||||
DC_IAD = 1 << 7, // Virginia
|
|
||||||
// Europe
|
// Europe
|
||||||
DC_AMS = 1 << 8, // Amsterdam
|
AMS = 1 << 6, // Amsterdam
|
||||||
DC_FRA = 1 << 9, // Frankfurt
|
FSN = 1 << 7, // Falkenstein
|
||||||
DC_HEL = 1 << 10, // Helsinki
|
FRA = 1 << 8, // Frankfurt
|
||||||
DC_LHR = 1 << 11, // London
|
HEL = 1 << 9, // Helsinki
|
||||||
DC_MAD = 1 << 12, // Madrid
|
LHR = 1 << 10, // London
|
||||||
DC_PAR = 1 << 13, // Paris
|
MAD = 1 << 11, // Madrid
|
||||||
DC_STO = 1 << 14, /*& DC_STO2*/ // Stockholm
|
PAR = 1 << 12, // Paris
|
||||||
DC_VIE = 1 << 15, // Vienna
|
STO = 1 << 13, // Stockholm
|
||||||
DC_WAW = 1 << 16, // Warsaw
|
VIE = 1 << 14, // Vienna
|
||||||
|
WAW = 1 << 15, // Warsaw
|
||||||
// South America
|
// South America
|
||||||
DC_EZE = 1 << 17, // Buenos Aires
|
EZE = 1 << 16, // Buenos Aires
|
||||||
DC_LIM = 1 << 18, // Lima
|
LIM = 1 << 17, // Lima
|
||||||
DC_SCL = 1 << 19, // Santiago
|
SCL = 1 << 18, // Santiago
|
||||||
DC_GRU = 1 << 20, // Sao Paulo
|
GRU = 1 << 19, // Sao Paulo
|
||||||
// Asia
|
// Asia
|
||||||
DC_BOM2 = 1 << 21, // Bombay
|
MAA = 1 << 20, // Chennai
|
||||||
DC_MAA = 1 << 22, // Chennai
|
DXB = 1 << 21, // Dubai
|
||||||
DC_DXB = 1 << 23, // Dubai
|
HKG = 1 << 22, // Hong Kong
|
||||||
DC_HKG = 1 << 24, // Hong Kong
|
BOM = 1 << 23, // Mumbai
|
||||||
DC_MAA2 = 1 << 25, // Madras
|
SEO = 1 << 24, // Seoul
|
||||||
DC_BOM = 1 << 26, // Mumbai
|
SGP = 1 << 25, // Singapore
|
||||||
DC_SEO = 1 << 27, // Seoul
|
TYO = 1 << 26, // Tokyo
|
||||||
DC_SGP = 1 << 28, // Singapore
|
|
||||||
DC_TYO = 1 << 29, // Tokyo
|
|
||||||
// Australia
|
// Australia
|
||||||
DC_SYD = 1 << 30, // Sydney
|
SYD = 1 << 27, // Sydney
|
||||||
// Africa
|
// Africa
|
||||||
DC_JNB = 1 << 31, // Johannesburg
|
JNB = 1 << 28, // Johannesburg
|
||||||
);
|
);
|
||||||
CVar(FreezeQueue, "Freeze queue", false);
|
CVar(FreezeQueue, "Freeze queue", false);
|
||||||
CVar(AutoCasualQueue, "Auto casual queue", false);
|
CVar(AutoCasualQueue, "Auto casual queue", false);
|
||||||
|
|||||||