Skip to content

Commit 488c97b

Browse files
2000479 | 13 files | M game/bin/built_from_cl.txt, M game/csgo/bin/linuxsteamrt64/libclient_strings.txt, M game/csgo/pak01_dir.txt, M game/csgo/pak01_dir/panorama/layout/mainmenu_play.xml, M game/csgo/pak01_dir/panorama/scripts/rating_emblem.js, M game/csgo/pak01_dir/panorama/styles/leaderboard.css, M game/csgo/pak01_dir/resource/csgo_english.txt, M game/csgo/pak01_dir/scripts/items/items_game.txt, M game/csgo/readonly_tools_asset_info.txt, M game/csgo/steam.inf, ?? game/csgo/pak01_dir/panorama/layout/premier_season_progress.xml, ?? game/csgo/pak01_dir/panorama/scripts/premier_season_progress.js, ?? game/csgo/pak01_dir/panorama/styles/premier_season_progress.css
https://steamdb.info/patchnotes/17177704/
1 parent afc50fa commit 488c97b

13 files changed

+1270
-54
lines changed

game/bin/built_from_cl.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9491664
1+
9497161

game/csgo/bin/linuxsteamrt64/libclient_strings.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8262,6 +8262,7 @@ CBodyGameSystem::NotifyResourceStatusChange[%s] %s (RC=%d,LT=%s)\n
82628262
CBufferString
82638263
CBulletWhizTimer
82648264
CCLCMsg_HltvReplay_t
8265+
CCMelee
82658266
CCSAddonManager
82668267
CCSClientGameStats
82678268
CCSDemoController
@@ -22348,7 +22349,6 @@ Z~wl
2234822349
\f%\f/\f1\fA\f[\f_\fa\fm\fs\fw\f
2234922350
\f7ig
2235022351
\f<<0A1pq
22351-
\fCCMelee
2235222352
\fKS1
2235322353
\fW9c
2235422354
\fXu"L

game/csgo/pak01_dir.txt

+116-38
Large diffs are not rendered by default.

game/csgo/pak01_dir/panorama/layout/mainmenu_play.xml

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<include src="s2r://panorama/styles/csgostyles.vcss_c" />
55
<include src="s2r://panorama/styles/mainmenu.vcss_c" />
66
<include src="s2r://panorama/styles/mainmenu_play.vcss_c" />
7+
<include src="s2r://panorama/styles/leaderboard.vcss_c" />
78
<include src="s2r://panorama/styles/particle_controls.vcss_c" />
89
</styles>
910
<scripts>
@@ -111,7 +112,8 @@
111112
</Panel>
112113
</Panel>
113114
<Panel class="premier-side right">
114-
<Panel class="premier-inner right">
115+
<Panel class="premier-inner right top-bottom-flow">
116+
<Frame id="jsSeasonProgress" class="premier-season-progress" registerforreadyevents="true" src="s2r://panorama/layout/premier_season_progress.vxml_c" />
115117
<Frame id="jsLeaderboard" lbtype="general" class="playmenu--premier__leaderboard" registerforreadyevents="true" src="s2r://panorama/layout/leaderboard.vxml_c" />
116118
</Panel>
117119
</Panel>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!-- xml reconstructed by Source 2 Viewer - https://valveresourceformat.github.io -->
2+
<root>
3+
<styles>
4+
<include src="s2r://panorama/styles/csgostyles.vcss_c" />
5+
<include src="s2r://panorama/styles/mainmenu.vcss_c" />
6+
<include src="s2r://panorama/styles/mainmenu_play.vcss_c" />
7+
<include src="s2r://panorama/styles/leaderboard.vcss_c" />
8+
<include src="s2r://panorama/styles/premier_season_progress.vcss_c" />
9+
</styles>
10+
<scripts>
11+
<include src="s2r://panorama/scripts/common/sessionutil.vts_c" />
12+
<include src="s2r://panorama/scripts/rating_emblem.vts_c" />
13+
<include src="s2r://panorama/scripts/premier_season_progress.vts_c" />
14+
<include src="s2r://panorama/scripts/common/teamcolor.vts_c" />
15+
</scripts>
16+
<Panel class="premier-season-progress">
17+
<Label html="true" class="leaderboard-title-bar__label" text="#season_progress_title">
18+
<TooltipPanel class="horizontal-align-right vertical-center right-margin-medium" tooltip-title="#season_progress_tooltip-title" tooltip="#season_progress_tooltip-body">
19+
<Image src="s2r://panorama/images/icons/ui/info.vsvg" texturewidth="18" textureheight="18" />
20+
</TooltipPanel>
21+
</Label>
22+
<Panel class="premier-season-progress-block">
23+
<Panel class="left-right-flow horizontal-center top-margin-16">
24+
<Frame id="js-highest-rating" src="s2r://panorama/layout/rating_emblem.vxml_c" />
25+
<Label class="premier-season-progress-rank-label stratum-medium-italic" text="#season_progress_high_rank" />
26+
</Panel>
27+
<Panel class="premier-season-progress-bar-container">
28+
<Panel class="top-bottom-flow ">
29+
<Panel class="premier-season-pips-label-container">
30+
<Label class="premier-season-pips-label stratum-regular-condensed" text="#season_progress_bar_title" />
31+
<Label class="premier-season-pips-label stratum-regular-condensed horizontal-align-right" text="#season_wins" />
32+
</Panel>
33+
<Panel id="id-premier-season-pips" class="premier-season-progress-bar" clampfractionalpixelpositions="false" />
34+
</Panel>
35+
<ItemImage id="id-medal-end" class="premier-season-progress-rank-icon" onmouseover="" />
36+
</Panel>
37+
</Panel>
38+
</Panel>
39+
</root>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
"use strict";
2+
/// <reference path="csgo.d.ts" />
3+
/// <reference path="rating_emblem.ts" />
4+
var SeasonProgress;
5+
(function (SeasonProgress) {
6+
function _Init() {
7+
SetRating();
8+
}
9+
function SetRating() {
10+
let elRatingEmblem = $.GetContextPanel().FindChildInLayoutFile('js-highest-rating');
11+
let rating = MyPersonaAPI.GetPipRankHighest("Premier");
12+
let options;
13+
options = {
14+
root_panel: elRatingEmblem,
15+
rating_type: 'Premier',
16+
leaderboard_details: { score: rating },
17+
do_fx: true,
18+
full_details: false,
19+
local_player: true
20+
};
21+
RatingEmblem.SetXuid(options);
22+
_SetProgressBar(rating);
23+
}
24+
SeasonProgress.SetRating = SetRating;
25+
function _SetProgressBar(rating) {
26+
let nWins = MyPersonaAPI.GetPipRankWins("Premier");
27+
let clampedRating = RatingEmblem.GetClampedRating(rating);
28+
let color = clampedRating;
29+
let nBars = nWins > 24 && nWins < 50 ? 1 :
30+
nWins > 49 && nWins < 75 ? 2 :
31+
nWins > 74 && nWins < 100 ? 3 :
32+
nWins > 99 && nWins < 125 ? 4 :
33+
nWins > 124 ? 5 :
34+
0;
35+
nBars = nBars < 5 ? nBars + 1 : 5;
36+
let elPips = $.GetContextPanel().FindChildInLayoutFile('id-premier-season-pips');
37+
elPips.SwitchClass('scale', (nBars === 4) ? 'four-medals' : (nBars === 5) ? 'five-medals' : (nBars === 2) ? 'two-medals' : '');
38+
let nTotalBars = nBars * 25;
39+
let nTotalPips = nTotalBars < 126 ? nTotalBars + 1 : nTotalBars;
40+
let nSinglePipWidth = (nTotalPips < 27) ? 17 :
41+
(nTotalPips > 27 && nTotalPips < 52) ? 7 :
42+
(nTotalPips > 52 && nTotalPips < 77) ? 4 :
43+
(nTotalPips > 77 && nTotalPips < 102) ? 3 :
44+
(nTotalPips > 102 && nTotalPips < 127) ? 2 :
45+
4;
46+
for (let i = 1; i < nTotalPips; i++) {
47+
let elPip = elPips.FindChild('pip-' + i);
48+
if (!elPip) {
49+
elPip = $.CreatePanel('Panel', elPips, 'pip-' + i, { clampfractionalpixelpositions: "false", class: 'premier-season-progress-pip' });
50+
let isMedalPip = (i % 25 === 0 && i !== 0);
51+
elPip.SetHasClass('premier-season-progress-pip-medal', isMedalPip);
52+
if (!isMedalPip)
53+
elPip.style.width = nSinglePipWidth + 'px;';
54+
}
55+
if (i <= nWins) {
56+
elPip.SwitchClass('tier', 'tier-' + color);
57+
}
58+
else {
59+
elPip.SwitchClass('tier', 'tier-none');
60+
}
61+
}
62+
clampedRating = clampedRating < 1 ? 1 : clampedRating + 1;
63+
let itemDef = InventoryAPI.GetItemDefinitionIndexFromDefinitionName('premier season coin s=2 c=' + clampedRating + ' b=' + nBars);
64+
let itemId = InventoryAPI.GetFauxItemIDFromDefAndPaintIndex(itemDef, 0);
65+
$.GetContextPanel().FindChildInLayoutFile('id-medal-end').itemid = itemId;
66+
$.GetContextPanel().SetDialogVariableInt('wins', nWins);
67+
$.GetContextPanel().SetDialogVariableInt('threshold', nBars * 25);
68+
}
69+
function ReadyForDisplay() {
70+
SetRating();
71+
}
72+
SeasonProgress.ReadyForDisplay = ReadyForDisplay;
73+
function UnReadyForDisplay() {
74+
}
75+
SeasonProgress.UnReadyForDisplay = UnReadyForDisplay;
76+
function PipRankUpdate() {
77+
SetRating();
78+
}
79+
SeasonProgress.PipRankUpdate = PipRankUpdate;
80+
{
81+
$.RegisterEventHandler('ReadyForDisplay', $.GetContextPanel(), SeasonProgress.ReadyForDisplay);
82+
$.RegisterEventHandler('UnreadyForDisplay', $.GetContextPanel(), SeasonProgress.UnReadyForDisplay);
83+
$.RegisterForUnhandledEvent('PanoramaComponent_MyPersona_PipRankUpdate', PipRankUpdate);
84+
_Init();
85+
}
86+
})(SeasonProgress || (SeasonProgress = {}));

game/csgo/pak01_dir/panorama/scripts/rating_emblem.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,7 @@ var RatingEmblem;
143143
root_panel.SwitchClass('tier', 'tier-0');
144144
_SetPremierBackgroundImage(root_panel, rating);
145145
if (rating && rating > 0) {
146-
let remappedRating = Math.floor(rating / 1000.00 / 5);
147-
let clampedRating = Math.max(0, Math.min(remappedRating, 6));
146+
let clampedRating = GetClampedRating(rating);
148147
root_panel.SwitchClass('tier', 'tier-' + clampedRating);
149148
colorClassName = 'tier-' + clampedRating;
150149
let arrRating = SplitRating(rating);
@@ -235,6 +234,11 @@ var RatingEmblem;
235234
return bHasRating;
236235
}
237236
RatingEmblem.SetXuid = SetXuid;
237+
function GetClampedRating(rating) {
238+
let remappedRating = Math.floor(rating / 1000.00 / 5);
239+
return Math.max(0, Math.min(remappedRating, 6));
240+
}
241+
RatingEmblem.GetClampedRating = GetClampedRating;
238242
function _SetPremierBackgroundImage(root_panel, rating) {
239243
let bgImage = (rating && rating > 0) ? 'premier_rating_bg_large.svg' : 'premier_rating_bg_large_none.svg';
240244
let elImage = root_panel.FindChildInLayoutFile('jsPremierRatingBg');

game/csgo/pak01_dir/panorama/styles/leaderboard.css

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
.leaderboard-root
1010
{
1111
padding: 12px;
12-
padding-top: 44px;
1312
}
1413

1514
.leaderboard-navbar Label
@@ -347,15 +346,16 @@ DropDownMenu Label.of-interest,.leaderboard-header .DropDownChild.of-interest
347346
{
348347
ignore-parent-flow: true;
349348
margin: 0px;
350-
margin-top: -36px;
349+
z-index: 2;
350+
transform: translateY(4px);
351351
visibility: collapse;
352352
vertical-align: top;
353353
}
354354

355355
#lbNameButton Label
356356
{
357357
text-transform: none;
358-
font-size: 18px;
358+
font-size: 14px;
359359
margin: 5px;
360360
font-weight: medium;
361361
letter-spacing: 0px;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
/* Prettified by Source 2 Viewer - https://valveresourceformat.github.io */
2+
3+
@define prime-panel-right-left-margin: 64px;
4+
.premier-season-progress
5+
{
6+
width: 560px;
7+
padding-top: 12px;
8+
margin-left: prime-panel-right-left-margin;
9+
flow-children: down;
10+
}
11+
12+
.premier-season-progress .premier-season-progress-rank-label
13+
{
14+
font-size: 14px;
15+
}
16+
17+
.premier-season-progress .premier-season-progress-rank-icon
18+
{
19+
height: 42px;
20+
width: 56px;
21+
margin: 0px 4px;
22+
}
23+
24+
.premier-season-progress #id-medal-start
25+
{
26+
opacity: .4;
27+
}
28+
29+
.premier-season-progress #id-medal-end
30+
{
31+
img-shadow: 2px 2px 6px #000000;
32+
}
33+
34+
.premier-season-progress .premier-season-progress-bar-container
35+
{
36+
margin: 8px 0xp;
37+
flow-children: right;
38+
horizontal-align: center;
39+
}
40+
41+
.premier-season-progress .premier-season-progress-bar-container .premier-season-pips-label-container
42+
{
43+
width: 100%;
44+
}
45+
46+
.premier-season-progress .premier-season-progress-bar-container .premier-season-pips-label-container .premier-season-pips-label
47+
{
48+
font-size: 14px;
49+
}
50+
51+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar
52+
{
53+
flow-children: right;
54+
vertical-align: center;
55+
width: 486px;
56+
height: 16px;
57+
transform-origin: 0px 50%;
58+
}
59+
60+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar.two-medals
61+
{
62+
transform: scaleX( 1.05) scaleY( 1.05);
63+
}
64+
65+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar.four-medals
66+
{
67+
transform: scaleX( 1.14) scaleY( 1.2);
68+
}
69+
70+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar.four-medals .premier-season-progress-pip
71+
{
72+
margin-right:1px;
73+
}
74+
75+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar.five-medals
76+
{
77+
transform: scaleX( 1.1) scaleY( 1.1);
78+
}
79+
80+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar.five-medals .premier-season-progress-pip
81+
{
82+
margin-right:1px;
83+
}
84+
85+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip
86+
{
87+
width: fill-parent-flow(1);
88+
transform: translateY(1px);
89+
margin-right:2px;
90+
height: 3px;
91+
background-color: white;
92+
vertical-align: center;
93+
box-shadow: shadowOffset;
94+
}
95+
96+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip.premier-season-progress-pip-medal
97+
{
98+
width: 8px;
99+
height:8px;
100+
margin:4px;
101+
transform: rotateZ( 45deg );
102+
}
103+
104+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip.tier-0
105+
{
106+
wash-color: color-csrating-tier-0;
107+
}
108+
109+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip.tier-1
110+
{
111+
wash-color: color-csrating-tier-1;
112+
}
113+
114+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip.tier-2
115+
{
116+
wash-color: color-csrating-tier-2;
117+
}
118+
119+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip.tier-3
120+
{
121+
wash-color: color-csrating-tier-3;
122+
}
123+
124+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip.tier-4
125+
{
126+
wash-color: color-csrating-tier-4;
127+
}
128+
129+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip.tier-5
130+
{
131+
wash-color: color-csrating-tier-5;
132+
}
133+
134+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip.tier-6
135+
{
136+
wash-color: color-csrating-tier-6;
137+
}
138+
139+
.premier-season-progress .premier-season-progress-bar-container .premier-season-progress-bar .premier-season-progress-pip.tier-none
140+
{
141+
wash-color: rgb(35, 35, 35);
142+
}
143+
144+
.premier-season-progress .premier-season-title-bar
145+
{
146+
width: 1000px;
147+
height: 32px;
148+
vertical-align: top;
149+
padding-top: 4px;
150+
padding-left: 4px;
151+
background-image: url("s2r://panorama/images/icons/ui/premier_title_bg_blank.vsvg");
152+
background-size: 100% 100%;
153+
}
154+
155+
.premier-season-progress #js-highest-rating
156+
{
157+
margin-right: 4px;
158+
ui-scale: 80%;
159+
}
160+
161+
.premier-season-progress-block
162+
{
163+
flow-children: down;
164+
margin-top: 8px;
165+
horizontal-align: center;
166+
background-color: rgba(0, 0, 0, 0.219);
167+
border-radius: 3px;
168+
}
169+

0 commit comments

Comments
 (0)