Counter-Strike 2 update

Build 25492732

23 Sept 2026, 23:07 UTC

Official patch notes

Available

Counter-Strike 2 Update
Read patch notes

Technical changes

24 files changed

+301 additions-232 removals
View file changes

Official patch notes

Counter-Strike 2 Update

Published 23 Sept 2026, 23:07 UTC

RUSH

  • Increased the maximum countdown-after-elimination time from 7 seconds to 14 seconds on end rooms and Convoy.

  • The countdown-after-elimination time does not activate in cases where an entire team dies to suicides, team kills, and/or disconnects.

  • Warmup time once all players have connected, freeze time, and technical timeout time are all reduced.

  • Various gap fixes and clipping adjustments.

CROSSHAIR

  • Some additional information about the new crosshair system:

    • The new crosshair thickness and length units are in pixels. In the past, the values were defined with an arbitrary scale and converted to pixels based on display resolution so the same value would result in different pixel counts at different resolutions. With the new settings, if you want a 1-pixel wide crosshair with a bar length of 8 pixels and a gap of 4 pixels, then you would set: thickness = 1, length = 8, and gap = 4.

    • Please be aware that the new crosshair system automatically rescales pixel counts when the display resolution changes. For example, if a crosshair was configured at display resolution 1280x720 with a thickness of 2 pixels and then the display resolution changes to 2560x1440, it will now automatically rescale the thickness to 4 pixels so that it remains proportionally the same as when it was configured.

  • Added option to draw half-outlines. This will only draw the top-left portions of the outline for a crosshair.

  • Fixed a bug preventing 0 gap width from being respected.

  • Added a static square crosshair style

  • Reduced the minimum dynamic spread distance to 64 pixels. The new dynamic crosshair styles will show you the real weapon spread and inaccuracy and the 'Dynamic Spread Limit' setting is a limit on how far the crosshair will spread at maximum inaccuracy and spread. There is a baseline spread distance of 64 pixels which covers the weapons with the largest spread so that players can better understand how accurate they actually are with their equipped weapon.

MISC

  • Fixed a case where left-handed viewmodels would animate incorrectly while silent reloading.

  • Fixed a case where thirdperson player models would animate too fast while silent reloading.

  • Fixed a case where firstperson Dual Berettas would animate incorrectly while reloading.

  • Clan tags now appear in death notices.

Technical changes

Changed files

Showing 20 of 24 tracked files.

24 files+301-232
M
DumpSource2/.stringsignore
+2-2
@@ -4739,7 +4739,7 @@ Crosshair color, red component
47394739 Crosshair follows the weapon's predicted recoil (aim punch)
47404740 Crosshair opacity. 0 = fully transparent, 255 = fully opaque
47414741 Crosshair shown when observing a bot. 0 = show your crosshair, 1 = show your crosshair only when the bot can be taken over (otherwise default), 2 = always show the default crosshair
4742-Crosshair style. 0 = Dynamic Cross, 1 = Dynamic Circle, 2 = Dynamic Cross (Legacy), 3 = Static Circle, 4 = Static Cross, 5 = Static Cross (Shot Feedback), 6 = Dot Only, 7 = Dynamic Quad. Styles 0, 1 and 7 track the weapon's actual inaccuracy.
4742+Crosshair style. 0 = Dynamic Cross, 1 = Dynamic Circle, 2 = Dynamic Cross (Legacy), 3 = Static Circle, 4 = Static Cross, 5 = Static Cross (Shot Feedback), 6 = Dot Only, 7 = Dynamic Quad, 8 = Static Square. Styles 0, 1 and 7 track the weapon's actual inaccuracy.
47434743 Crouch
47444744 Crouch height
47454745 Crouch height of navigating agent capsules if enabled.
@@ -5274,7 +5274,7 @@ Dpad Right
52745274 Dpad Up
52755275 Draw Text
52765276 Draw a bbox\n\tArguments: minx miny miny maxx maxy maxz <lifetime = 10.0> <r g b a>\n
5277-Draw a black outline around the crosshair for better visibility
5277+Draw a black outline around the crosshair for better visibility. 0 = No outline, 1 = Full outline, 2 = Half outline
52785278 Draw a dot at the center of the crosshair
52795279 Draw a line between a rendered joint and its parent.
52805280 Draw alien blood
M
DumpSource2/convars.txt
+4-4
@@ -940,8 +940,8 @@ cl_connectionretrytime_p2p 20 (release)
940940 cl_cq_min_queue 0 (userinfo)
941941 Used by the client to inform the server of their desired queue length. Derived from cl_tickpacket_recvmargin_desired and cl_tickpacket_desired_queuelength
942942
943-cl_crosshair_drawoutline true (clientdll archive per_user)
944- Draw a black outline around the crosshair for better visibility
943+cl_crosshair_drawoutline 1 (min: 0, max: 2, clientdll archive per_user)
944+ Draw a black outline around the crosshair for better visibility. 0 = No outline, 1 = Full outline, 2 = Half outline
945945
946946 cl_crosshair_dynamic_maxdist_splitratio 1 (min: 0, max: 1, clientdll archive per_user)
947947 Style 2 only: how the bar length is divided between inner and outer bars once split. inner = cl_crosshairsize * (1 - ratio), outer = cl_crosshairsize * ratio. [0 - 1]
@@ -1003,8 +1003,8 @@ cl_crosshairdot false (clientdll archive per_user)
10031003 cl_crosshairsize 3.9 (clientdll hidden archive per_user)
10041004 <no description>
10051005
1006-cl_crosshairstyle 7 (min: 0, max: 7, clientdll archive per_user)
1007- Crosshair style. 0 = Dynamic Cross, 1 = Dynamic Circle, 2 = Dynamic Cross (Legacy), 3 = Static Circle, 4 = Static Cross, 5 = Static Cross (Shot Feedback), 6 = Dot Only, 7 = Dynamic Quad. Styles 0, 1 and 7 track the weapon's actual inaccuracy.
1006+cl_crosshairstyle 7 (min: 0, max: 8, clientdll archive per_user)
1007+ Crosshair style. 0 = Dynamic Cross, 1 = Dynamic Circle, 2 = Dynamic Cross (Legacy), 3 = Static Circle, 4 = Static Cross, 5 = Static Cross (Shot Feedback), 6 = Dot Only, 7 = Dynamic Quad, 8 = Static Square. Styles 0, 1 and 7 track the weapon's actual inaccuracy.
10081008
10091009 cl_crosshairthickness 0.6 (clientdll hidden archive per_user)
10101010 <no description>
M
DumpSource2/module_metadata/client.kv3
+1-1
@@ -38957,7 +38957,7 @@
3895738957 name = ""
3895838958 group = "GameStartup"
3895938959 source_file = "src/game/client/cstrike15/panorama/csgo_crosshair.cpp"
38960- source_line = 217
38960+ source_line = 222
3896138961 resources =
3896238962 [
3896338963 resource_name:"materials/dev/csgo_crosshair.vmat",
M
DumpSource2/schemas/animdoclib/CNmGraphDocStateMachineNode.h
+1-1
@@ -305,7 +305,7 @@
305305 // },
306306 // "m_type": "BlendTreeState",
307307 // "m_cloneSourceStateID": "00000000-0000-0000-0000-000000000000",
308-// "m_cloneStateVersion": "dee77ecf-9b40-4a12-b272-50ce1edd9c5d",
308+// "m_cloneStateVersion": "a1ff89e9-d65f-4136-978f-d3a909b6bb5d",
309309 // "m_stateEvents":
310310 // [
311311 // ],
M
game/bin/built_from_cl.txt
+1-1
@@ -1 +1 @@
1-11026656
1+11030009
M
game/bin/win64/panorama_strings.txt
+53-45
@@ -10,18 +10,14 @@
1010 Signature Algorithm:
1111 %60s: %6d (pending %6d)\n
1212 ##%%&&))**,,//1122447788;;==>>@@CCEEFFIIJJLLOOQQRRTTWWXX[[]]^^aabbddgghhkkmmnnppssuuvvyyzz||
13- !"#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$`
13+ !"#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
1414 !"#$%%&'()*+,-../0123456789:;<=>?@ABCDEFGHIJKLLMNOPQRSTUVWXY[]_`bdefhjlnprtvz|~
1515 %4hf
1616 %s%lu (%s0x%lx)\n
1717 ' ) - 3 G M Q _ c e i w }
1818 (%ld unused bits)\n
19- (08@HPX`j0
20- (08@HPXb
21- (08@HPZ0
22- (08@HR
23- (08@J0
24- (0X`hpz
19+ (08@HPXbP@#
20+ (0X`hpzP@#
2521 (INVALID PSS PARAMETERS)\n
2622 (Negative)
2723 (derived from %s)
@@ -266,57 +262,49 @@ $hRh
266262 (!(1(=(?(I(Q([(](a(g(u(
267263 ((long)msg_hdr->msg_len) > 0
268264 (0'yX
269-(1JJ
265+(1nQ
270266 (4?NewFromUnsigned@Integer@v8@@SA?AV?$Local@VInteger@v8@@@2@PEAVIsolate@2@I@Z
271-(54J
267+(54Q
272268 (5Me
273-(5ZJ
274-(5fJ
275269 (5jP
276-(AmJ
270+(95Q
271+(ARQ
277272 (BZq
278273 (D4D
279-(ELJ
280-(I3J
274+(EGQ
281275 (I?Value@External@v8@@QEBAPEAXXZ
282-(IPJ
283-(IcJ
284-(IiJ
276+(ITQ
277+(ImQ
278+(IpQ
279+(IsQ
285280 (NONE)
286-(QaJ
287-(QyJ
281+(Q6Q
282+(QBQ
288283 (U1h
289-(UAJ
290-(UDJ
291-(UeJ
292-(UpJ
284+(YJQ
293285 (ZdOt\n&
294286 (_Assert)
295-(a6J
296-(alJ
297287 (anonymous)
298288 (d4t8
299289 (down)
290+(eEQ
291+(exQ
300292 (fS{ggRcjh
301293 (h`H1pqA
302294 (i/Al
303295 (jvg;
296+(mUQ
304297 (memory)
305-(msJ
306-(mvJ
307-(uOJ
298+(q7Q
299+(q9Q
300+(qAQ
301+(qLQ
308302 (undefined)
309303 (unset)
310304 (unset) w/parent: %s
311-(uuJ
312305 (vQF
313306 (wMww
314-(y4J
315-(y8J
316-(yBJ
317-(yEJ
318-(yUJ
319-(yjJ
307+(ydQ
320308 )!)#)?)G)])e)i)o)u)
321309 )4?NewFromUtf8@String@v8@@SA?AV?$MaybeLocal@VString@v8@@@2@PEAVIsolate@2@PEBDW4NewStringType@2@H@Z
322310 )Ck?B
@@ -992,9 +980,7 @@ $hRh
992980 0123456789
993981 02V8[
994982 05=k
995-08@HR0
996-08@J
997-08B0
983+08@JP@#
998984 08bX
999985 09,h
1000986 0;Q5[
@@ -1042,12 +1028,15 @@ $hRh
10421028 2:pS
10431029 2?Message@TryCatch@v8@@QEBA?AV?$Local@VMessage@v8@@@2@XZ
10441030 2I y)
1045-2Ph%
1031+2PF$
1032+2Pt%
10461033 2Tm=#
10471034 2Uiwp"9
10481035 2Zq)
10491036 2\fWQx
10501037 2\rlhp
1038+2\vp4
1039+2\vpT
10511040 2^pV
10521041 2a"l
10531042 2bT~
@@ -1085,6 +1074,7 @@ $hRh
10851074 4Ch;
10861075 4F0I
10871076 4Mv8
1077+4PC
10881078 4Zis
10891079 4\fPl
10901080 4f h
@@ -1167,19 +1157,19 @@ $hRh
11671157 8<pl
11681158 8= zp
11691159 8??SetInternalFieldCount@ObjectTemplate@v8@@QEAAXH@Z
1170-8@J0
11711160 8A6j
11721161 8GZS
11731162 8SIffK5W
11741163 8TZvrv<
1164+8YeQ
11751165 8\v8!83858A8G8K8S8W8_8e8o8q8}8
11761166 8]Vc2
1177-8a|J
11781167 8ca1
11791168 8dS2
11801169 8pe7?
11811170 8q-S*]X
11821171 8sOy
1172+8}XQ
11831173 9#9%9)9/9=9A9M9[9k9y9}9
11841174 9)PF
11851175 9)jx
@@ -1332,6 +1322,7 @@ $hRh
13321322 ?HAI\t81\t9dcG'
13331323 ?HP4
13341324 ?HasCaught@TryCatch@v8@@QEBA_NXZ
1325+?RGBA8888
13351326 ?VBH;
13361327 ?d86L
13371328 ?dt]X
@@ -1343,6 +1334,7 @@ $hRh
13431334 ?valveextensions.proto
13441335 ?x29
13451336 @!@%@+@1@?@C@E@]@a@g@m@
1337+@08N
13461338 @0pp
13471339 @?SlowGetInternalField@Object@v8@@AEAA?AV?$Local@VData@v8@@@2@H@Z
13481340 @BH]f
@@ -1377,6 +1369,7 @@ A<fP
13771369 A>x8
13781370 A?StackTrace@TryCatch@v8@@QEBA?AV?$MaybeLocal@VValue@v8@@@2@V?$Local@VContext@v8@@@2@@Z
13791371 AA Compromise
1372+AA:p
13801373 AACompromise
13811374 AC2,h
13821375 ACCESS_DESCRIPTION
@@ -1774,6 +1767,7 @@ C3ps
17741767 C6DN
17751768 C7HSY
17761769 C:\buildworker\csgo_rel_win64\build\_build_\panorama\_vpc_panorama\default\win64\_msvc_\Retail\panorama.pdb
1770+C:\buildworker\csgo_rel_win64\build\src\bitmap\floatbitmap.cpp
17771771 C:\buildworker\csgo_rel_win64\build\src\common\jpegloader_common.cpp
17781772 C:\buildworker\csgo_rel_win64\build\src\panorama\basesymbol.cpp
17791773 C:\buildworker\csgo_rel_win64\build\src\panorama\data\imageloader.cpp
@@ -2994,7 +2988,6 @@ GRAPHICSTRING
29942988 GTsW
29952989 GXqN
29962990 GXy{
2997-Ga=UU
29982991 Ga=o
29992992 GamepadInput
30002993 GeneralNames
@@ -3012,6 +3005,7 @@ GetHeight
30123005 GetInterpolatedMaxWidth
30133006 GetInterpolatedScale2DCentered
30143007 GetKeyState
3008+GetProfile_ultrafast
30153009 GetQueueStatus
30163010 GetScriptOrigin
30173011 GetSystemTime
@@ -3047,6 +3041,7 @@ HO8?
30473041 HTMLEscape
30483042 HU>mA$_E*
30493043 HWyn
3044+HY;S
30503045 Hash Algorithm:
30513046 HbAta
30523047 Hc S
@@ -3577,9 +3572,11 @@ P-224
35773572 P-256
35783573 P-384
35793574 P-521
3580-P08@J
3575+P08@JP@#
35813576 P08J
3577+P08N
35823578 P1\t98"
3579+P2P@#
35833580 P5[1
35843581 PAGN_4
35853582 PARAMETERS
@@ -4000,7 +3997,10 @@ RSA_verify
40003997 RSA_verify_ASN1_OCTET_STRING
40013998 RSA_verify_PKCS1_PSS
40023999 RSA_verify_PKCS1_PSS_mgf1
4000+R\fp4
40034001 R\r1>Vp
4002+R\vpH
4003+R\vpT
40044004 R]Di
40054005 R_T5Y
40064006 Rbg.E
@@ -4918,7 +4918,6 @@ XRJ2
49184918 XWY]
49194919 XYD%
49204920 X\tQo
4921-X`hr0
49224921 Xd3h
49234922 XfJ7
49244923 XjfR
@@ -4927,6 +4926,7 @@ Xuub
49274926 XwA0
49284927 Xz"7
49294928 Y-Ny
4929+Y2<S
49304930 Y4i%
49314931 Y93a=7c@
49324932 Y;C;8V
@@ -5120,6 +5120,7 @@ a5<p
51205120 a;Tg
51215121 a@XZ
51225122 aA0k
5123+aBv
51235124 aD/x
51245125 aDSS
51255126 aECDH
@@ -5256,6 +5257,7 @@ asn1 sig parse error
52565257 asn1 unknown field
52575258 associatedDomain
52585259 associatedName
5260+ati_compress_wrapper.dll
52595261 attempt to reuse session in different context
52605262 attrib
52615263 attributes
@@ -6784,6 +6786,7 @@ horizontal-align
67846786 hotpink
67856787 houseIdentifier
67866788 hover
6789+hpzP@#
67876790 hr_H
67886791 hscroll
67896792 hsv-transform
@@ -6793,7 +6796,6 @@ http://
67936796 https
67946797 https proxy request
67956798 https://
6796-hu J
67976799 hue-rotation
67986800 hvL&
67996801 h|gg
@@ -8125,12 +8127,16 @@ p.other
81258127 p.ppBasis
81268128 p.prime
81278129 p.tpBasis
8130+p08@H^
8131+p2P@#
81288132 p2{l
81298133 p4Z3
81308134 p5Z3
81318135 p5\nL,
81328136 p618
81338137 p>?Set@Template@v8@@QEAAXV?$Local@VName@v8@@@2@V?$Local@VData@v8@@@2@W4PropertyAttribute@2@@Z
8138+p>X\nD
8139+p>w\nD
81348140 p@0pqE5tsO?|1
81358141 pChild
81368142 pD4t
@@ -8458,7 +8464,9 @@ rRfKR
84588464 rX&O0
84598465 rZ1VwGf5
84608466 rZPM
8467+r\fpH
84618468 r\vDi
8469+r\vp4
84628470 radial
84638471 radial(
84648472 radialGradient
M
game/bin/win64/panoramauiclient_strings.txt
+3-9
@@ -446,8 +446,7 @@
446446 08@J
447447 08BPb
448448 0x%4.4x
449-2\vpd
450-2\vpdl
449+2\vpl
451450 3?New@Number@v8@@SA?AV?$Local@VNumber@v8@@@2@PEAVIsolate@2@N@Z
452451 3?New@Object@v8@@SA?AV?$Local@VObject@v8@@@2@PEAVIsolate@2@@Z
453452 5butt
@@ -493,7 +492,6 @@
493492 ?GetName@Function@v8@@QEBA?AV?$Local@VValue@v8@@@2@XZ
494493 ?GlobalizeReference@api_internal@v8@@YAPEA_KPEAVIsolate@internal@2@_K@Z
495494 ?HasCaught@TryCatch@v8@@QEBA_NXZ
496-@08N,
497495 @2Pb
498496 @?SlowGetInternalField@Object@v8@@AEAA?AV?$Local@VData@v8@@@2@H@Z
499497 @DebugIndividualStyle
@@ -1117,7 +1115,6 @@ Option_%d
11171115 OverMaxPips
11181116 P08@J
11191117 P08J
1120-P08N,
11211118 P2Pb
11221119 PageDown
11231120 PageLeft
@@ -1192,7 +1189,7 @@ PropertySection
11921189 PropertyTransitionEnd
11931190 RBLegend
11941191 RT_txt
1195-R\fpd
1192+R\vpl
11961193 RadioBox
11971194 RadioButton
11981195 RadioSelected
@@ -1607,8 +1604,8 @@ WindowOffScreen
16071604 WindowOnScreen
16081605 WindowShown
16091606 Wrapper
1607+WriteCompositionLayerJPEG
16101608 WriteCompositionLayerPNG
1611-WriteCompositionLayerPNGScaled
16121609 XInputPad
16131610 X`hrPb
16141611 Y_txt
@@ -1626,7 +1623,6 @@ Y_txt
16261623 `bPb
16271624 `dPb
16281625 a3?New@Array@v8@@SA?AV?$Local@VArray@v8@@@2@PEAVIsolate@2@PEAV?$Local@VValue@v8@@@2@_K@Z
1629-aBv,
16301626 about:blank
16311627 activation
16321628 activation_change_fail
@@ -2130,7 +2126,6 @@ orange
21302126 orangered
21312127 orchid
21322128 otherPanelID, eventToFire
2133-p08@H^,
21342129 p2Pb
21352130 p>?Set@Template@v8@@QEAAXV?$Local@VName@v8@@@2@V?$Local@VData@v8@@@2@W4PropertyAttribute@2@@Z
21362131 padding
@@ -2212,7 +2207,6 @@ pre-transform-rotate2d
22122207 pre-transform-scale2d
22132208 program
22142209 purple
2215-r\vpd
22162210 radial
22172211 radial(
22182212 rebeccapurple
A
game/core/tools/keybindings/curveeditor_key_bindings.txt
+27-0
@@ -0,0 +1,27 @@
1+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
2+{
3+ m_Bindings =
4+ [
5+ { m_Context = "CurveEditor" m_Command = "FrameCurve" m_Input = "F" },
6+ { m_Context = "CurveEditor" m_Command = "DeleteSelection" m_Input = "Del" },
7+ { m_Context = "CurveEditor" m_Command = "DeleteSelection" m_Input = "Backspace" },
8+
9+ { m_Context = "CurveEditor" m_Command = "SelectPoint" m_Input = "LMouse" },
10+ { m_Context = "CurveEditor" m_Command = "MovePoint" m_Input = "LMouse" },
11+ { m_Context = "CurveEditor" m_Command = "ShowMenu" m_Input = "RMouse" },
12+ { m_Context = "CurveEditor" m_Command = "PanView" m_Input = "RMouse" },
13+ { m_Context = "CurveEditor" m_Command = "EditPoint" m_Input = "LMouseDoubleClick" },
14+
15+ { m_Context = "CurveEditor" m_Command = "ZoomIn" m_Input = "MWheelUp" },
16+ { m_Context = "CurveEditor" m_Command = "ZoomOut" m_Input = "MWheelDn" },
17+
18+ { m_Context = "CurveEditor" m_Command = "SelectPoint" m_Input = "Alt+LMouse" },
19+ { m_Context = "CurveEditor" m_Command = "MovePoint" m_Input = "Alt+LMouse" },
20+
21+ { m_Context = "CurveEditor" m_Command = "Noop" m_Input = "MMouse" },
22+
23+ { m_Context = "CurveEditor" m_Command = "ModifierInsertPoint" m_Input = "Shift" },
24+ { m_Context = "CurveEditor" m_Command = "ModifierAxisLock" m_Input = "Alt" },
25+ { m_Context = "CurveEditor" m_Command = "ModifierSelectToggle" m_Input = "Ctrl" },
26+ ]
27+}
M
game/csgo/bin/win64/client_strings.txt
+39-63
@@ -126,11 +126,10 @@
126126 (%lu = 0x%lx)\n
127127 (%u = 0x%x)\n
128128 (+%d more due to usercommand delivery)
129- (08@HPX`jp
129+ (08@HPX`j
130130 (08@HPXb
131- (08@HPZp
131+ (08@HPZ
132132 (08@HR
133- (08@Jp
134133 (0X`hpz
135134 (DEFAULT)
136135 (Dirty Animation)
@@ -152,7 +151,7 @@
152151 <-- Arg '%s'
153152 <-- Retval '%s'
154153 <b>@import</b>
155- A8h
154+ A8x
156155 ACTIVE GROUP
157156 C_PhysPropClientside::Spawn: SetupPhysicsAsModel() failed for %s.\n
158157 FLK
@@ -301,7 +300,6 @@
301300 "4\n CUserMessageLagCompensationError
302301 "4\n!CMsgGCCStrike15_v2_BetaEnrollment
303302 "5\n"CMsgGCCStrike15_v2_MatchmakingStop
304-"5pI
305303 "7\n!CMsgGCToGCIsTrustedServerResponse
306304 "7\n&CMsgGCUserTrackTimePlayedConsecutively
307305 "8\n!CMsgGCToGCBroadcastConsoleCommand
@@ -2601,6 +2599,7 @@ $taser_charge
26012599 &'&)&5&;&?&K&S&Y&e&i&o&{&
26022600 &(optional) Filter by privacy settings.
26032601 &0000
2602+&30R
26042603 &4?NewFromTwoByte@String@v8@@SA?AV?$MaybeLocal@VString@v8@@@2@PEAVIsolate@2@PEBGW4NewStringType@2@H@Z
26052604 &8@Cb
26062605 &<*kk<*kk<*kk<*kk<mo
@@ -2699,6 +2698,7 @@ $taser_charge
26992698 (.CPlayer_SetPerFriendPreferences_Request
27002699 (0'yX
27012700 (0x%08X)'??'
2701+(40~O
27022702 (5Me
27032703 (5jP
27042704 (ACTIVE)
@@ -2998,6 +2998,7 @@ $taser_charge
29982998 ).CPlayer_GetPerFriendPreferences_Response"M
29992999 ).CPlayer_SetCommunityPreferences_Response"+
30003000 ).CPlayer_SetPerFriendPreferences_Response"G
3001+)24(V
30013002 )4?NewFromUtf8@String@v8@@SA?AV?$MaybeLocal@VString@v8@@@2@PEAVIsolate@2@PEBDW4NewStringType@2@H@Z
30023003 )A service for accessing Steam player dataB
30033004 )App Id this file is being published FROM.
@@ -3166,7 +3167,6 @@ $taser_charge
31663167 ,?IsUint32@Value@v8@@QEBA_NXZ
31673168 ,ARu@y6
31683169 ,I?Value@Number@v8@@QEBANXZ
3169-,N`4xF
31703170 ,Reason=
31713171 ,Service for dealing with user-submitted logsB
31723172 ,ShfPQ
@@ -3183,15 +3183,17 @@ $taser_charge
31833183 ,\n\nsv_interp0
31843184 ,\n\nsv_interp1
31853185 ,\n\vvictim_slot
3186+,]p30S
31863187 ,ar_monastery
3188+,d;4HV
31873189 ,fQM(
31883190 ,h11]
31893191 ,hmQ#
31903192 ,kXKlQT
31913193 ,kj8\te
31923194 ,name:
31933195 ,oYR
3194-,sK3`B
3196+,sK3
31953197 ,section=
31963198 ,value:
31973199 - "%s" = "%.2f"\n
@@ -11148,6 +11150,7 @@ $taser_charge
1114811150 .yAu[7
1114911151 /'/)/A/E/K/M/Q/W/o/u/}/
1115011152 /2x1
11153+/3PR
1115111154 /5dJ
1115211155 /?appid=%u
1115311156 /Ede_balkan
@@ -11205,11 +11208,12 @@ $taser_charge
1120511208 0123456789ABCDEF#
1120611209 02V8[
1120711210 05=k
11208-08@HRp
11211+08@HR
1120911212 08@J
11210-08Bp
11213+08B
1121111214 08bX
1121211215 09,h
11216+0:0q#
1121311217 0;Q5[
1121411218 0<cz
1121511219 0M2~@p
@@ -11239,7 +11243,6 @@ $taser_charge
1123911243 0e\r8
1124011244 0pp@5tqE?|sO541
1124111245 0tU+xc:
11242-0v4Q
1124311246 0x%4.4x
1124411247 0x%X
1124511248 0x%X
@@ -11467,7 +11470,6 @@ $taser_charge
1146711470 2026-06-24
1146811471 2026-07-01
1146911472 2048
11470-20k#
1147111473 20t\f
1147211474 20x9
1147311475 2117-ILZV-2837
@@ -11485,6 +11487,7 @@ $taser_charge
1148511487 2Array of text tags to apply to the published file.
1148611488 2I y)
1148711489 2If true, return vote data in the returned details.
11490+2PJ$
1148811491 2Set of published file Ids to retrieve details for.
1148911492 2Tm=#
1149011493 2Uiwp"9
@@ -11509,8 +11512,6 @@ $taser_charge
1150911512 2\n\nline_items
1151011513 2\n\vpreferences
1151111514 2\rlhp
11512-2\vp(T
11513-2\vpt^
1151411515 2^pV
1151511516 2a"l
1151611517 2bT~
@@ -11600,6 +11601,7 @@ $taser_charge
1160011601 4tpD
1160111602 4zj@1;IJ
1160211603 4|2;#GameUI_Retake_Card_LightEmUp,1,1,rifle1,grenade0|2;#GameUI_Retake_Card_Kobe,1,1,rifle1,grenade2|1;#GameUI_Retake_Card_1g,1,1,rifle1,grenade3|1;#GameUI_Retake_Card_DisappearingAct,1,1,rifle1,grenade1|1;#GameUI_Retake_Card_EyesOnTarget,1,1,weapon_aug
11604+4~3`S
1160311605 5'0v2ZP
1160411606 5(EWorkshopFileType) Type of Workshop file to publish.
1160511607 5(Optional) The number of results, per page to return.
@@ -11650,6 +11652,7 @@ $taser_charge
1165011652 6-zeZ
1165111653 6144
1165211654 62$|S)6f
11655+648V
1165311656 64CK\vH
1165411657 666666666666666666666666666666666666666666666666\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.\ssl\s3_enc.c
1165511658 6666666666666666C:\buildworker\csgo_rel_win64\build\src\common\opensslwrapper.cpp
@@ -11730,17 +11733,14 @@ $taser_charge
1173011733 8192
1173111734 8285-YOAZ-6049
1173211735 82\n:XPH
11733-83 B
11736+83pR
1173411737 851Pe
1173511738 8835-KLXV-0292
1173611739 8<pl
1173711740 8= zp
11738-8@Jp
1173911741 8A6j
11740-8B3@B
1174111742 8C:\buildworker\csgo_rel_win64\build\src\panorama\layout\stylepropertyfactory.cpp
1174211743 8Client ID for which to count the number of issued tokens"
11743-8F s
1174411744 8GZS
1174511745 8Gets the list of nicknames this user has for other users
1174611746 8If set, remove from ignore/block list instead of adding "\\n
@@ -11833,14 +11833,14 @@ $taser_charge
1183311833 :eaI
1183411834 :gN(dq
1183511835 :mIR
11836-:m_deathDepth
11836+:m_pos
1183711837 :w4v
1183811838 ;!;#;-;9;E;S;Y;_;q;{;
1183911839 ;"lY7
1184011840 ;5jNf
1184111841 ;83\v\nHBJ7
1184211842 ;<}\v<}\v<}\v<}\vC_TonemapController2
11843-;I4(F
11843+;I4xV
1184411844 ;LGEW
1184511845 ;Qo0
1184611846 ;Subtitles and Captions
@@ -11934,7 +11934,6 @@ $taser_charge
1193411934 <weapon>
1193511935 =!=-=3=7=?=C=o=s=u=y={=
1193611936 =&sf9
11937-=30B
1193811937 == %d Entities Dumped\n
1193911938 == PulseGraphDef ==\n
1194011939 == false\n
@@ -12016,14 +12015,14 @@ $taser_charge
1201612015 ?NmFrameSnapEventMode_t
1201712016 ?ParseEXRHeaderFromMemory() failed! Error message: %s\n
1201812017 ?Sep 21 2026
12019-?Source1LegacyListenEvents_t
1202012018 ?The most recent last-played time the client already knows about"
1202112019 ?VBH;
1202212020 ?\n:k_EMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse
1202312021 ?\n:k_EMsgGCCStrike15_v2_MatchListRequestTournamentPredictions
1202412022 ?\n;GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT
1202512023 ?\n;GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_TINT_AND_DESAT
1202612024 ?\nnexttoken
12025+?\r4PU
1202712026 ?d86L
1202812027 ?dt]X
1202912028 ?expf
@@ -12032,22 +12031,23 @@ $taser_charge
1203212031 ?gwL
1203312032 ?jOb
1203412033 ?m_vecSummaries
12034+?realtime_passthrough
1203512035 ?referer=csgo_client&steamID=%llu
1203612036 ?rendering
1203712037 ?srJO
1203812038 ?tya
1203912039 ?uWS
1204012040 ?x29
1204112041 @!@%@+@1@?@C@E@]@a@g@m@
12042-@08N4Q
1204312042 @0pp
12044-@6p5
12043+@4XV
1204512044 @?SlowGetInternalField@Object@v8@@AEAA?AV?$Local@VData@v8@@@2@H@Z
1204612045 @@CNmFloatCurveEvent
1204712046 @BH]f
1204812047 @DebugIndividualStyle
1204912048 @Determines recharge time for taser. -1 = disabled.
12050-@HPX`hv`V
12049+@HPX`hv
12050+@HV`v
1205112051 @Integer overflow in %s
1205212052 @MfKZ
1205312053 @Pgl
@@ -12065,7 +12065,6 @@ $taser_charge
1206512065 @\n\vserver_type
1206612066 @cl_aggregate_particles
1206712067 @dKb]
12068-@f4Q
1206912068 @fff>fff>fff>fff>
1207012069 @ffffff
1207112070 @i1V
@@ -12076,7 +12075,6 @@ $taser_charge
1207612075 @keyframes
1207712076 @keyframes '%s'\r\n{\r\n
1207812077 @n2w
12079-@n4Q
1208012078 @workshop
1208112079 @zDSteamUnifiedMessages
1208212080 A random value [0.0, 1.0] used to make sure entities are not all in sync
@@ -13199,7 +13197,6 @@ Bounce.Shrapnel
1319913197 Bounce.Wood
1320013198 Box%d
1320113199 BoxAngles
13202-Bpi#
1320313200 Breach
1320413201 BreakCreateParticle
1320513202 BreakPiece
@@ -15323,7 +15320,7 @@ CSGO Vanity Capture
1532315320 CSGO Vanity Overlay View
1532415321 CSGO game instructor
1532515322 CSGO-
15326-CSGO-frCAy-PRXin-PY8Kj-wDTUo-TWAwO
15323+CSGO-y9Qw8-sCzPb-jORFu-ov6L8-GwMXL
1532715324 CSGOApplyLowLatencyVSyncRecommendation
1532815325 CSGOApplyVideoSettings
1532915326 CSGOAspectRatioSelectionChanged
@@ -17083,6 +17080,7 @@ D2I_RSA_NET_2
1708317080 D2I_X509
1708417081 D2I_X509_CINF
1708517082 D2Lb!
17083+D4hV
1708617084 D4tp
1708717085 D514p
1708817086 D@D/lcO+hcK
@@ -18496,7 +18494,6 @@ F+Zb
1849618494 F,mZq
1849718495 F/o4
1849818496 F2M+
18499-F3PB
1850018497 F6tr
1850118498 F7!z
1850218499 F9q'
@@ -21296,7 +21293,7 @@ LOG_MESSAGE
2129621293 LONG
2129721294 LONG_C2I
2129821295 LPVIndex
21299-LS&\nK8
21296+LS&\nK
2130021297 LT[N
2130121298 LT_txt
2130221299 LXKQ
@@ -21555,7 +21552,6 @@ Lunacy
2155521552 M'Ezb
2155621553 M-laO
2155721554 M0 E
21558-M48F
2155921555 MASK:
2156021556 MATCH-
2156121557 MATCHSTATS\t%s, round %d, value %d\n
@@ -22780,14 +22776,11 @@ P-256
2278022776 P-384
2278122777 P-521
2278222778 P08@J
22783-P08J
22784-P08N4Q
22779+P08J@
2278522780 P1\t98"
2278622781 P2P Voice
2278722782 P2P ping to "%s". Timed out after %.2fms\n
22788-P3pB
2278922783 P5[1
22790-P6 L
2279122784 PAGN_4
2279222785 PANORAMA_LAYOUTFILE
2279322786 PARALYZE
@@ -23518,7 +23511,6 @@ Playsoundscape %s:Unknown command %s\n
2351823511 Please specify 0 or 1 with the -stream Parameter\n
2351923512 Pm8A?
2352023513 PmR"H?
23521-Pn4Q
2352223514 Point entity.
2352323515 PointsAnim
2352423516 Policy Qualifier CPS
@@ -23996,12 +23988,9 @@ RT %dx%d %s %s : %d Bytes\n
2399623988 RT_txt
2399723989 RTime32
2399823990 RULESHERE
23999-R\fp(T
2400023991 R\n\rincludekvtags
2400123992 R\r1>Vp
2400223993 R\vp!y
24003-R\vplA
24004-R\vpt^
2400523994 R]Di
2400623995 R_T5Y
2400723996 Rad2 Deg
@@ -25838,6 +25827,7 @@ Soundscape[%d]: %s\n
2583825827 Source
2583925828 Source1LegacyGameEventList_t
2584025829 Source1LegacyGameEvent_t
25830+Source1LegacyListenEvents_t
2584125831 Source2 HTML
2584225832 Source2EntitySystem
2584325833 Source2EntitySystemDeallocator
@@ -27379,7 +27369,6 @@ W'6S`
2737927369 W2Q=
2738027370 W3fp
2738127371 W3i+,
27382-W4XF
2738327372 W>peSp>9
2738427373 WAITING FOR VSCRIPT DEBUGGER CONNECTION -- '-vscriptdebug' was provided on the command line.\n
2738527374 WARNING: Attempted to send a steamworks gamestats row when the steamworks interface was not available!
@@ -27644,8 +27633,8 @@ Wrapper class over g_pDebugOverlay instance
2764427633 WrgoI
2764527634 Write Cached Pose
2764627635 Write error at scanline %lu
27636+WriteCompositionLayerJPEG
2764727637 WriteCompositionLayerPNG
27648-WriteCompositionLayerPNGScaled
2764927638 WriteSmokeDepth
2765027639 WriteSteamRemoteStorageFileAsync failed due to missing ISteamRemoteStorage pointer!\n
2765127640 WriteSteamRemoteStorageFileAsync( "%s" ) -> at %.3f\n
@@ -27822,10 +27811,8 @@ X\n\tTeamStats
2782227811 X\n\vFantasyTeam
2782327812 X\n\vLoadoutItem
2782427813 X\tQo
27825-X`hrp
27814+X`hr
2782627815 Xd3h
27827-Xf v
27828-Xf@w
2782927816 XfJ7
2783027817 XjfR
2783127818 XpDataJSO
@@ -27925,7 +27912,6 @@ Zigzag
2792527912 Zipping %s (%d files)\n
2792627913 ZjLS
2792727914 Zod6
27928-Zpi#
2792927915 Zpwz
2793027916 Z~wl
2793127917 [ ]
@@ -27972,7 +27958,6 @@ Z~wl
2797227958 [-1] -> empty
2797327959 [-1] -> gsn(empty)
2797427960 [-1] -> gsn(null)
27975-[4hF
2797627961 [Additional text in debugoverlay_dashboard]
2797727962 [BREAK]
2797827963 [CC Log %s]: d: %f, ls: %f, %s\n
@@ -28169,7 +28154,6 @@ Z~wl
2816928154 \n2CMsgGCCStrike15_v2_MatchmakingGC2ClientSearchStats
2817028155 \n3CMsgGCCStrike15_v2_ServerNotificationForUserPenalty
2817128156 \n3CPlayer_GetMutualFriendsForIncomingInvites_Response
28172-\n3XA
2817328157 \n5a=Z
2817428158 \n7CMsgGCCStrike15_v2_MatchmakingServerReservationResponse
2817528159 \n:82H
@@ -28179,7 +28163,6 @@ Z~wl
2817928163 \nFinished generating SSTs (%.1f seconds)\n\n
2818028164 \nGameTick_t
2818128165 \nLOADOUT ACTION BATCH #%i\n
28182-\nPlA
2818328166 \nScratch RT Allocations:\n
2818428167 \nSimulating Entities:\n\n
2818528168 \n\fBPE_Teleport
@@ -28831,7 +28814,6 @@ Z~wl
2883128814 \rjwB\t
2883228815 \roKK
2883328816 \rrCj
28834-\rsaving_enabled
2883528817 \rusercmd.proto"\\n
2883628818 \sG7tPD
2883728819 \t Round is in freeze time.\n
@@ -29012,6 +28994,7 @@ Z~wl
2901228994 \ttqE5
2901328995 \t}BzJ88
2901428996 \v#\v)\v-\v?\vG\vQ\vW\v]\ve\vo\v{\v
28997+\v5pY
2901528998 \vBCeA
2901628999 \vGt5
2901729000 \vHCK/
@@ -29021,7 +29004,6 @@ Z~wl
2902129004 \v\vTSG
2902229005 \vj0k
2902329006 \vjC7
29024-\vplA
2902529007 ]1h=bfz
2902629008 ]FhSD}
2902729009 ]GT7]
@@ -29130,6 +29112,7 @@ _xU`u
2913029112 _}eOk
2913129113 `28)fk
2913229114 `3?New@Array@v8@@SA?AV?$Local@VArray@v8@@@2@PEAVIsolate@2@H@Z
29115+`43`R
2913329116 `:zQF
2913429117 `D$daM-l
2913529118 `DZG
@@ -29138,13 +29121,11 @@ _}eOk
2913829121 `ITS
2913929122 `VX:H
2914029123 `\n\rvector_values
29141-`\rP\f0lA
2914229124 `anonymous-namespace'::DynamicLockHelper<struct `anonymous namespace'::SmokeConstantBuffer_t>::Lock
2914329125 `anonymous-namespace'::DynamicLockHelper<struct `anonymous namespace'::SmokeLightProbeVolumeData_t>::Lock
29144-`f4Q
2914529126 `fPw.\vM
2914629127 `h9T~
29147-`n4Q
29128+`ht0~O
2914829129 `o_je
2914929130 `yNT
2915029131 a null shared library handle was used
@@ -29164,7 +29145,6 @@ a:typeparam
2916429145 a;Tg
2916529146 a@XZ
2916629147 aA0k
29167-aBv4Q
2916829148 aD/x
2916929149 aDSS
2917029150 aECDH
@@ -29962,6 +29942,7 @@ bIsPlayingHighlights
2996229942 bJ*h
2996329943 bLocalize
2996429944 bN.l
29945+bPJ$
2996529946 bPb:L7X)
2996629947 bSh&+
2996729948 bSkillgroupDataReady
@@ -35198,6 +35179,7 @@ k+Aq
3519835179 k/sn
3519935180 k0>Z,
3520035181 k26C*
35182+k3 S
3520135183 k8\vD
3520235184 k8fo
3520335185 k8xA
@@ -35710,7 +35692,7 @@ lowprecisionuv1
3571035692 luminaire_anisotropy
3571135693 luminaire_shape
3571235694 luminaire_size
35713-lvR4HF
35695+lvR4
3571435696 m&9W
3571535697 m*Zu
3571635698 m249
@@ -37556,7 +37538,6 @@ p.other
3755637538 p.ppBasis
3755737539 p.prime
3755837540 p.tpBasis
37559-p08@H^4Q
3756037541 p250
3756137542 p2p_ping could not convert "%s" to a CPeerToPeerAddress\n
3756237543 p2p_ping could not ping "%s" because they are an unknown peer\n
@@ -37567,8 +37548,6 @@ p4Z3
3756737548 p5Z3
3756837549 p5\nL,
3756937550 p618
37570-p6pj
37571-p>4Q
3757237551 p>?Set@Template@v8@@QEAAXV?$Local@VName@v8@@@2@V?$Local@VData@v8@@@2@W4PropertyAttribute@2@@Z
3757337552 p@0pqE5tsO?|1
3757437553 pBuffer != nullptr
@@ -38229,7 +38208,6 @@ playtime
3822938208 playtime_2weeks
3823038209 playtime_forever
3823138210 plum
38232-pn4Q
3823338211 point
3823438212 point arithmetic failure
3823538213 point at infinity
@@ -38639,11 +38617,9 @@ rVal
3863938617 rX&O0
3864038618 rZ1VwGf5
3864138619 rZPM
38642-r\fplA
3864338620 r\n\vstart_index
3864438621 r\vDi
3864538622 r\vp!K
38646-r\vp(T
3864738623 r_2PassBuildDraw 0
3864838624 r_2PassBuildDraw 1
3864938625 r_csm_fast_path 0
@@ -38728,7 +38704,6 @@ read_game_titledata
3872838704 readdir
3872938705 ready
3873038706 readyformatch
38731-realtime_passthrough
3873238707 reason for which the panel is shown
3873338708 reason(%lu)
3873438709 reason_code
@@ -40566,6 +40541,7 @@ t(ydU
4056640541 t+RW
4056740542 t0;?ZlP*m
4056840543 t2U
40544+t3@S
4056940545 t4O_
4057040546 t80z
4057140547 tA`KO/3G!\n7h=
@@ -42496,6 +42472,7 @@ y#y&Jb
4249642472 y-offset
4249742473 y0JY
4249842474 y2Cu
42475+y3PS
4249942476 y;w9
4250042477 y>?SetAccessor@ObjectTemplate@v8@@QEAAXV?$Local@VString@v8@@@2@P6AX0AEBV?$PropertyCallbackInfo@VValue@v8@@@2@@ZP6AX0V?$Local@VValue@v8@@@2@AEBV?$PropertyCallbackInfo@X@2@@Z3W4AccessControl@2@W4PropertyAttribute@2@W4SideEffectType@2@8@Z
4250142478 y?iLa
@@ -42555,7 +42532,6 @@ zoom_in_sound
4255542532 zoom_out_sound
4255642533 zoom_sensitivity_ratio_mouse
4255742534 zoomwithuiscale
42558-zpi#
4255942535 zxNIjo
4256042536 zz2K
4256142537 { "limit": %d, "selected": %s, "choices": [ %s { "limit": 0, "label": "#SFUI_Settings_Volatile_Limit_Unlimited" } ] }
M
game/csgo/cfg/gamemode_rush.cfg
+3-3
@@ -49,7 +49,7 @@ mp_defuser_allocation 0
4949 mp_force_pick_time 15
5050 mp_forcecamera 1 // Set to 1 for team only spectating.
5151 mp_free_armor 0
52-mp_freezetime 13
52+mp_freezetime 11
5353 mp_friendlyfire 1
5454 mp_win_panel_display_time 3
5555 mp_respawn_immunitytime -1 // disabling immunity in warmup too for 1v1 fights
@@ -69,9 +69,9 @@ mp_startmoney 800
6969 mp_teamcashawards 1
7070 mp_timelimit 0
7171 mp_technical_timeout_per_team 1
72-mp_technical_timeout_duration_s 120
72+mp_technical_timeout_duration_s 30
7373 mp_warmuptime 120
74-mp_warmuptime_all_players_connected 15
74+mp_warmuptime_all_players_connected 5
7575 mp_warmup_offline_enabled true
7676 mp_weapons_allow_zeus 5
7777 //spec_freeze_panel_extended_time 0
M
game/csgo/pak01_dir.txt
+60-60
@@ -3033,7 +3033,7 @@ animation/graphs/viewmodel/viewmodel_knife.vnmgraph_c CRC:002f223d05 size:8504
30333033 animation/graphs/viewmodel/viewmodel_knife_butterfly.vnmgraph_c CRC:00d8a1d1f2 size:8335
30343034 animation/graphs/viewmodel/viewmodel_knife_karambit.vnmgraph_c CRC:00a460498e size:8333
30353035 animation/graphs/viewmodel/viewmodel_knife_talon.vnmgraph_c CRC:0092514c48 size:8249
3036-animation/graphs/worldmodel/worldmodel.vnmgraph_c CRC:0079dc42ae size:73226
3036+animation/graphs/worldmodel/worldmodel.vnmgraph_c CRC:007953aa79 size:73848
30373037 animation/graphs/worldmodel/worldmodel_grenade.vnmgraph+decoy.vnmgraph_c CRC:008065ce30 size:5313
30383038 animation/graphs/worldmodel/worldmodel_grenade.vnmgraph+flash.vnmgraph_c CRC:00e879d270 size:5315
30393039 animation/graphs/worldmodel/worldmodel_grenade.vnmgraph+he.vnmgraph_c CRC:006f790dc2 size:5311
@@ -3106,7 +3106,7 @@ animation/graphs/worldmodel/worldmodel_locomotion.vnmgraph+rifle.vnmgraph_c CRC:
31063106 animation/graphs/worldmodel/worldmodel_locomotion.vnmgraph_c CRC:0024c9c5f9 size:35272
31073107 animation/skeletons/camera/camera.vnmskel_c CRC:0044922aa0 size:1362
31083108 animation/skeletons/characters/chicken/chicken.vnmskel_c CRC:008e2823de size:8205
3109-animation/skeletons/characters/viewmodel.vnmskel_c CRC:00842ad58c size:7407
3109+animation/skeletons/characters/viewmodel.vnmskel_c CRC:0058eb146b size:7416
31103110 animation/skeletons/characters/worldmodel.vnmskel_c CRC:00fba60dc9 size:7596
31113111 animation/skeletons/egg/pristine_egg_world.vnmskel_c CRC:00eb7efc87 size:1435
31123112 animation/skeletons/weapons/ak47.vnmskel_c CRC:00cbca6aeb size:1707
@@ -3195,7 +3195,7 @@ annotations/official/de_train/de_train_german.json CRC:00adf6c376 size:1908
31953195 annotations/official/de_train/de_train_greek.json CRC:00b39d43e5 size:2747
31963196 annotations/official/de_train/de_train_hungarian.json CRC:000b32abb1 size:1583
31973197 annotations/official/de_train/de_train_indonesian.json CRC:007b0132db size:1440
3198-annotations/official/de_train/de_train_italian.json CRC:00f3b3ddb7 size:1700
3198+annotations/official/de_train/de_train_italian.json CRC:003790cc12 size:1696
31993199 annotations/official/de_train/de_train_japanese.json CRC:0008144687 size:1622
32003200 annotations/official/de_train/de_train_koreana.json CRC:008b5ae519 size:1629
32013201 annotations/official/de_train/de_train_latam.json CRC:0033d75026 size:1756
@@ -7262,7 +7262,7 @@ maps/de_train_camera_nodes.kv3 CRC:00c2db3b8b size:26613
72627262 maps/de_train_retake.txt CRC:0002fee1a2 size:4826
72637263 maps/de_vertigo_camera_nodes.kv3 CRC:003995c8c5 size:16095
72647264 maps/de_vertigo_retake.txt CRC:0041f38891 size:4630
7265-maps/scripts/rush_001.vjs_c CRC:0085a07c2a size:52775
7265+maps/scripts/rush_001.vjs_c CRC:00afc4f931 size:53604
72667266 maps/workshop_compatibility_versions.txt CRC:0041137ecb size:1787
72677267 materials/anubis/anubis_water_canal.vmat_c CRC:0049c034fb size:5916
72687268 materials/anubis/anubis_water_coast.vmat_c CRC:009956d66b size:5916
@@ -38996,7 +38996,7 @@ models/generic/shipping_container_01/shipping_container_01_120x448x136_01_decal_
3899638996 models/generic/shipping_container_01/shipping_container_01_120x448x136_01_interior.vmdl_c CRC:00c9764133 size:25715
3899738997 models/generic/shipping_container_01/shipping_container_01_120x448x136_01_interior_lp.vmdl_c CRC:0031a52f62 size:6598
3899838998 models/generic/shipping_container_01/shipping_container_01_120x448x136_01_lp.vmdl_c CRC:00d3bc648a size:34621
38999-models/generic/shipping_container_01/shipping_container_01_base.vmat_c CRC:00c9be7768 size:4154
38999+models/generic/shipping_container_01/shipping_container_01_base.vmat_c CRC:004b061642 size:4250
3900039000 models/generic/shipping_container_01/shipping_container_01_color_tga_7c5a3f3d.vtex_c CRC:004459aa73 size:5229383
3900139001 models/generic/shipping_container_01/shipping_container_01_door_left_01.vmdl_c CRC:00ef904562 size:146415
3900239002 models/generic/shipping_container_01/shipping_container_01_door_left_01_interior.vmdl_c CRC:00e7c784ab size:9452
@@ -39008,8 +39008,8 @@ models/generic/shipping_container_01/shipping_container_01_door_right_01_lp.vmdl
3900839008 models/generic/shipping_container_01/shipping_container_01_height_tga_52090d97.vtex_c CRC:000b9077a7 size:4307208
3900939009 models/generic/shipping_container_01/shipping_container_01_height_tga_c1a90f74.vtex_c CRC:00f19fce8f size:4307208
3901039010 models/generic/shipping_container_01/shipping_container_01_normal_tga_1dd27e0c.vtex_c CRC:00f58c928b size:5146145
39011-models/generic/shipping_container_01/shipping_container_01_tint_01.vmat_c CRC:00fd15d230 size:6202
39012-models/generic/shipping_container_01/shipping_container_01_tint_wet_01.vmat_c CRC:001881aabf size:5338
39011+models/generic/shipping_container_01/shipping_container_01_tint_01.vmat_c CRC:00957ae75f size:6234
39012+models/generic/shipping_container_01/shipping_container_01_tint_wet_01.vmat_c CRC:005ccd98c2 size:5562
3901339013 models/generic/shipping_container_01/shipping_container_02.vsmart_c CRC:00317163f2 size:2477
3901439014 models/generic/shipping_container_01/shipping_container_decals_01.vmat_c CRC:00a7ab6aeb size:4656
3901539015 models/generic/shipping_container_01/shipping_container_decals_01_base.vmat_c CRC:00762202e8 size:4464
@@ -82990,11 +82990,11 @@ panorama/images/map_icons/screenshots/1080p/de_vertigo_png.vtex_c CRC:00ecb2cae5
8299082990 panorama/images/map_icons/screenshots/1080p/default_psd.vtex_c CRC:002af6eb0a size:735192
8299182991 panorama/images/map_icons/screenshots/1080p/lobby_mapveto_png.vtex_c CRC:003ae0530e size:2973611
8299282992 panorama/images/map_icons/screenshots/1080p/random_png.vtex_c CRC:00c9b15708 size:1397758
82993-panorama/images/map_icons/screenshots/1080p/rush_001_1_png.vtex_c CRC:00ce8984c2 size:3951332
82994-panorama/images/map_icons/screenshots/1080p/rush_001_2_png.vtex_c CRC:004ccebb2d size:3115638
82995-panorama/images/map_icons/screenshots/1080p/rush_001_3_png.vtex_c CRC:0010c4843e size:3281778
82996-panorama/images/map_icons/screenshots/1080p/rush_001_4_png.vtex_c CRC:00a6a3b41a size:4135125
82997-panorama/images/map_icons/screenshots/1080p/rush_001_png.vtex_c CRC:0034b87411 size:3458915
82993+panorama/images/map_icons/screenshots/1080p/rush_001_1_png.vtex_c CRC:00144c8345 size:3959993
82994+panorama/images/map_icons/screenshots/1080p/rush_001_2_png.vtex_c CRC:00c87ba1cc size:3114631
82995+panorama/images/map_icons/screenshots/1080p/rush_001_3_png.vtex_c CRC:00782f72d4 size:3283255
82996+panorama/images/map_icons/screenshots/1080p/rush_001_4_png.vtex_c CRC:00e038c8d3 size:4138488
82997+panorama/images/map_icons/screenshots/1080p/rush_001_png.vtex_c CRC:003555da04 size:3459484
8299882998 panorama/images/map_icons/screenshots/360p/ar_baggage_png.vtex_c CRC:00cd0484bb size:391151
8299982999 panorama/images/map_icons/screenshots/360p/ar_pool_day_png.vtex_c CRC:001c3b8205 size:392022
8300083000 panorama/images/map_icons/screenshots/360p/ar_shoots_night_png.vtex_c CRC:000c086fa5 size:432525
@@ -83021,11 +83021,11 @@ panorama/images/map_icons/screenshots/360p/de_train_png.vtex_c CRC:00b0303a15 si
8302183021 panorama/images/map_icons/screenshots/360p/de_vertigo_png.vtex_c CRC:002128e2fc size:401887
8302283022 panorama/images/map_icons/screenshots/360p/lobby_mapveto_png.vtex_c CRC:000d0b3afe size:378590
8302383023 panorama/images/map_icons/screenshots/360p/random_png.vtex_c CRC:00798bdda7 size:189857
83024-panorama/images/map_icons/screenshots/360p/rush_001_1_png.vtex_c CRC:00b7a77183 size:464099
83025-panorama/images/map_icons/screenshots/360p/rush_001_2_png.vtex_c CRC:0025661a39 size:382987
83026-panorama/images/map_icons/screenshots/360p/rush_001_3_png.vtex_c CRC:002ec26b67 size:389896
83027-panorama/images/map_icons/screenshots/360p/rush_001_4_png.vtex_c CRC:00706e5766 size:456751
83028-panorama/images/map_icons/screenshots/360p/rush_001_png.vtex_c CRC:00c3ccd53b size:400479
83024+panorama/images/map_icons/screenshots/360p/rush_001_1_png.vtex_c CRC:0060ff0eb7 size:464628
83025+panorama/images/map_icons/screenshots/360p/rush_001_2_png.vtex_c CRC:00230b0e53 size:383190
83026+panorama/images/map_icons/screenshots/360p/rush_001_3_png.vtex_c CRC:00a7b21e11 size:390043
83027+panorama/images/map_icons/screenshots/360p/rush_001_4_png.vtex_c CRC:0025526cce size:456429
83028+panorama/images/map_icons/screenshots/360p/rush_001_png.vtex_c CRC:006d19a96f size:400734
8302983029 panorama/images/map_icons/screenshots/720p/ar_baggage_1_png.vtex_c CRC:00ae36c8ee size:1255800
8303083030 panorama/images/map_icons/screenshots/720p/ar_baggage_2_png.vtex_c CRC:00fa598458 size:1325816
8303183031 panorama/images/map_icons/screenshots/720p/ar_baggage_3_png.vtex_c CRC:00731af3d5 size:1473618
@@ -83116,11 +83116,11 @@ panorama/images/map_icons/screenshots/720p/de_vertigo_3_png.vtex_c CRC:0096aace8
8311683116 panorama/images/map_icons/screenshots/720p/de_vertigo_4_png.vtex_c CRC:000acecc69 size:1326127
8311783117 panorama/images/map_icons/screenshots/720p/de_vertigo_png.vtex_c CRC:00daa7a2a4 size:1421824
8311883118 panorama/images/map_icons/screenshots/720p/lobby_mapveto_png.vtex_c CRC:0063d2a35c size:1495312
83119-panorama/images/map_icons/screenshots/720p/rush_001_1_png.vtex_c CRC:0074d2dc20 size:1797993
83120-panorama/images/map_icons/screenshots/720p/rush_001_2_png.vtex_c CRC:00b312a140 size:1438901
83121-panorama/images/map_icons/screenshots/720p/rush_001_3_png.vtex_c CRC:00939802fb size:1494077
83122-panorama/images/map_icons/screenshots/720p/rush_001_4_png.vtex_c CRC:00c84e45e8 size:1844552
83123-panorama/images/map_icons/screenshots/720p/rush_001_png.vtex_c CRC:0001771f13 size:1563097
83119+panorama/images/map_icons/screenshots/720p/rush_001_1_png.vtex_c CRC:0051a564d0 size:1800988
83120+panorama/images/map_icons/screenshots/720p/rush_001_2_png.vtex_c CRC:00eb9d8745 size:1438211
83121+panorama/images/map_icons/screenshots/720p/rush_001_3_png.vtex_c CRC:004318c0eb size:1494230
83122+panorama/images/map_icons/screenshots/720p/rush_001_4_png.vtex_c CRC:00b559676c size:1841896
83123+panorama/images/map_icons/screenshots/720p/rush_001_png.vtex_c CRC:004989af52 size:1561848
8312483124 panorama/images/map_icons/screenshots/rush_hud/101_room_png.vtex_c CRC:00a0ce4258 size:973445
8312583125 panorama/images/map_icons/screenshots/rush_hud/101_ui_ct_png.vtex_c CRC:00e89041c4 size:1862016
8312683126 panorama/images/map_icons/screenshots/rush_hud/101_ui_t_png.vtex_c CRC:00450ce05f size:1784356
@@ -83841,7 +83841,7 @@ panorama/layout/carousel_nav.vxml_c CRC:00112038fb size:1686
8384183841 panorama/layout/change_clantag_playercard_button.vxml_c CRC:00d6d28ecd size:2064
8384283842 panorama/layout/characterbuttons.vxml_c CRC:000f275ffe size:2739
8384383843 panorama/layout/chat.vxml_c CRC:00237fb652 size:2871
83844-panorama/layout/color_picker.vxml_c CRC:0074ff7df9 size:2266
83844+panorama/layout/color_picker.vxml_c CRC:00f6acccb2 size:2252
8384583845 panorama/layout/color_picker_hue.vxml_c CRC:00e3e90302 size:1431
8384683846 panorama/layout/color_picker_saturation_value.vxml_c CRC:00c1757521 size:1464
8384783847 panorama/layout/common/add_major_tokens_anim.vxml_c CRC:007a70bc41 size:2193
@@ -84054,7 +84054,7 @@ panorama/layout/segmented_progress_bar.vxml_c CRC:007bb0de92 size:2280
8405484054 panorama/layout/settings/settings.vxml_c CRC:00c8092b29 size:2548
8405584055 panorama/layout/settings/settings_audio.vxml_c CRC:0005e38b40 size:7866
8405684056 panorama/layout/settings/settings_audio_meter.vxml_c CRC:001f7943db size:1685
84057-panorama/layout/settings/settings_crosshair.vxml_c CRC:001cd7942f size:6423
84057+panorama/layout/settings/settings_crosshair.vxml_c CRC:00fa353b1b size:6517
8405884058 panorama/layout/settings/settings_enum.vxml_c CRC:00e2cd7809 size:1470
8405984059 panorama/layout/settings/settings_game.vxml_c CRC:00afaf5cc0 size:13586
8406084060 panorama/layout/settings/settings_kbmouse.vxml_c CRC:0044d887cf size:8365
@@ -84155,7 +84155,7 @@ panorama/scripts/context_menus/context_menu_lobbies.vts_c CRC:0035f24f2d size:11
8415584155 panorama/scripts/context_menus/context_menu_mainmenu_vanity.vts_c CRC:00b784c97e size:14030
8415684156 panorama/scripts/context_menus/context_menu_navbar_notification.vts_c CRC:008eef9053 size:6030
8415784157 panorama/scripts/context_menus/context_menu_photo_viewer.vts_c CRC:00c001a76f size:5390
84158-panorama/scripts/context_menus/context_menu_playercard.vts_c CRC:0052d50eca size:41630
84158+panorama/scripts/context_menus/context_menu_playercard.vts_c CRC:00adf0b2ae size:42238
8415984159 panorama/scripts/context_menus/context_menu_rewards.vjs_c CRC:00c0c4c3a4 size:2426
8416084160 panorama/scripts/context_menus/context_menu_store_linked_items.vts_c CRC:008bed4793 size:4462
8416184161 panorama/scripts/context_menus/context_menu_vote.vjs_c CRC:00e8a950e7 size:10046
@@ -84225,10 +84225,10 @@ panorama/scripts/particle_controls.vts_c CRC:00ffdfb0fa size:18734
8422584225 panorama/scripts/party.vts_c CRC:005fd5a91a size:23934
8422684226 panorama/scripts/player_stats_card.vts_c CRC:0003cbaa06 size:21550
8422784227 panorama/scripts/playercard.vts_c CRC:00143f3897 size:42670
84228-panorama/scripts/popups/pet_book_pages.vts_c CRC:00e17594c5 size:88414
84228+panorama/scripts/popups/pet_book_pages.vts_c CRC:006c924721 size:88606
8422984229 panorama/scripts/popups/pet_book_turn.vts_c CRC:00456ea59f size:25246
84230-panorama/scripts/popups/pet_photo_library.vts_c CRC:00af24bef7 size:14238
84231-panorama/scripts/popups/pet_photo_tag.vts_c CRC:0065976b67 size:43262
84230+panorama/scripts/popups/pet_photo_library.vts_c CRC:00338fe6d4 size:14270
84231+panorama/scripts/popups/pet_photo_tag.vts_c CRC:00d526defb size:43390
8423284232 panorama/scripts/popups/popup_accept_match.vts_c CRC:00fd27937e size:26894
8423384233 panorama/scripts/popups/popup_acknowledge_item.vts_c CRC:00e75852ed size:32270
8423484234 panorama/scripts/popups/popup_acknowledge_xpgrant.vts_c CRC:005e2f5268 size:4366
@@ -84273,7 +84273,7 @@ panorama/scripts/popups/popup_offers_laptop_interface.vts_c CRC:00a41349e5 size:
8427384273 panorama/scripts/popups/popup_operation_store.vjs_c CRC:00ef18b8f7 size:22561
8427484274 panorama/scripts/popups/popup_pet_book.vts_c CRC:00b3c70d8c size:10814
8427584275 panorama/scripts/popups/popup_pet_event.vts_c CRC:00252d0213 size:26366
84276-panorama/scripts/popups/popup_pet_photobooth.vts_c CRC:005f496541 size:121374
84276+panorama/scripts/popups/popup_pet_photobooth.vts_c CRC:004f0833ce size:123902
8427784277 panorama/scripts/popups/popup_play_gamemodeflags.vjs_c CRC:00bbf76349 size:3537
8427884278 panorama/scripts/popups/popup_premier_pick_ban.vts_c CRC:00dbe4651d size:69902
8427984279 panorama/scripts/popups/popup_prime_status.vts_c CRC:009aca4984 size:2958
@@ -84306,7 +84306,7 @@ panorama/scripts/segmented_progress_bar.vts_c CRC:00575e5e76 size:13566
8430684306 panorama/scripts/settingsmenu.vts_c CRC:004a6a4794 size:17710
8430784307 panorama/scripts/settingsmenu_audiosettings.vts_c CRC:00304c7eab size:3662
8430884308 panorama/scripts/settingsmenu_chatwheel.vts_c CRC:000b1dcc0a size:26910
84309-panorama/scripts/settingsmenu_crosshair.vts_c CRC:00eb4e55ed size:24142
84309+panorama/scripts/settingsmenu_crosshair.vts_c CRC:0056c8e2aa size:24734
8431084310 panorama/scripts/settingsmenu_gamesettings.vts_c CRC:00ace351cc size:6414
8431184311 panorama/scripts/settingsmenu_promoted.vts_c CRC:008dfc62ac size:5822
8431284312 panorama/scripts/settingsmenu_search.vts_c CRC:00c5801a6b size:12158
@@ -84517,7 +84517,7 @@ panorama/styles/popups/popup_operation_store.vcss_c CRC:00877f3a88 size:32565
8451784517 panorama/styles/popups/popup_permissions_settings.vcss_c CRC:0059a383d2 size:3928
8451884518 panorama/styles/popups/popup_pet_book.vcss_c CRC:00d6f8f868 size:26670
8451984519 panorama/styles/popups/popup_pet_event.vcss_c CRC:009fbd0ae4 size:7236
84520-panorama/styles/popups/popup_pet_photobooth.vcss_c CRC:00fb03aa86 size:33558
84520+panorama/styles/popups/popup_pet_photobooth.vcss_c CRC:00301508d9 size:33558
8452184521 panorama/styles/popups/popup_play_gamemodeflags.vcss_c CRC:000e285f8e size:1811
8452284522 panorama/styles/popups/popup_premier_pick_ban.vcss_c CRC:006a0d9155 size:63447
8452384523 panorama/styles/popups/popup_prime_status.vcss_c CRC:003e79e281 size:5978
@@ -87606,36 +87606,36 @@ pulse/csgo_devonly/de_vertigo_script.vpulse_c CRC:00af116e39 size:4860
8760687606 radial_quickinventory.txt CRC:005a0c1bf5 size:1080
8760787607 rebuy.txt CRC:008332da3a size:1688
8760887608 resource/clientscheme.res CRC:00eb299496 size:14136
87609-resource/csgo_brazilian.txt CRC:0079057c47 size:4985304
87610-resource/csgo_bulgarian.txt CRC:00d024092b size:7704257
87611-resource/csgo_czech.txt CRC:008da307a0 size:5057590
87612-resource/csgo_danish.txt CRC:008b72c0e5 size:4965087
87613-resource/csgo_dutch.txt CRC:00882fad7c size:5010851
87614-resource/csgo_english.txt CRC:00f4edbfba size:4874680
87615-resource/csgo_finnish.txt CRC:0039a64508 size:4921598
87616-resource/csgo_french.txt CRC:003d47ad27 size:5212719
87617-resource/csgo_german.txt CRC:00c01efac3 size:5123606
87618-resource/csgo_greek.txt CRC:00595b123d size:7095048
87619-resource/csgo_hungarian.txt CRC:00b578bd56 size:5038399
87620-resource/csgo_indonesian.txt CRC:00195c0a30 size:4688667
87621-resource/csgo_italian.txt CRC:0
This preview is truncated. The source commit contains the complete diff.
M
game/csgo/pak01_dir/maps/scripts/rush_001.js
+26-3
@@ -36,6 +36,7 @@ var _lastRoundsPlayed = 0;
3636 var _teamWins = {};
3737
3838 var _teamEliminated = false;
39+var _legitimateKillsPerTeamThisRound = {};
3940
4041 var ROUNDS_TO_WIN = 8;
4142
@@ -50,6 +51,7 @@ const TEN_SECOND_WARNING_SECONDS = 10;
5051
5152
5253 const COUNTDOWN_TIME_SECONDS = 7;
54+const COUNTDOWN_TIME_END_ROOMS_SECONDS = 14;
5355
5456
5557 const SOUND_CONTROL_GAINED = "poss.gained";
@@ -220,8 +222,15 @@ function RoundTimeMinutesForRoom(roomIndex) {
220222 return (seconds + 0.5) / 60;
221223 }
222224
223-
224-
225+function CountdownTimeSecondsForRoom(roomIndex) {
226+ const seconds = IsFinalRoom(roomIndex) || _roomIds[roomIndex] == DECIDER_ROOM_ID
227+ ? COUNTDOWN_TIME_END_ROOMS_SECONDS
228+ : COUNTDOWN_TIME_SECONDS;
229+
230+ return seconds;
231+}
232+
233+
225234 function MoveSpawnsToRooms(tRoom, ctRoom) {
226235 TeleportEntitiesToTargets(new Map([
227236 ["tspawn1", `t1room.${tRoom}`],
@@ -259,6 +268,7 @@ Instance.OnRoundStart(() => {
259268 ResetTimerBeepState();
260269 _countdownActive = false;
261270 _teamEliminated = false;
271+ _legitimateKillsPerTeamThisRound = {};
262272
263273
264274
@@ -602,16 +612,29 @@ function SetRoomLights(roomIndex, team) {
602612
603613 Instance.OnPlayerKill((event) => {
604614 if (Instance.IsWarmupPeriod()) return;
615+ if (event.player && event.attacker && event.attacker instanceof CSPlayerPawn)
616+ {
617+ const victimTeam = event.player.GetPlayerController().GetTeamNumber();
618+ const killerTeam = event.attacker.GetPlayerController().GetTeamNumber();
619+ if (killerTeam == OtherTeam(victimTeam))
620+ {
621+ _legitimateKillsPerTeamThisRound[killerTeam] = (_legitimateKillsPerTeamThisRound[killerTeam] ?? 0) + 1;
622+ }
623+ }
605624
606625
607626 CheckEliminationRoundEnd();
608627
609628
629+ const owningTeam = _roomStates[_currentRoomIndex];
610630 if (!END_ROUND_ON_TEAM_ELIMINATION && IsTeamEliminated(_roomStates[_currentRoomIndex]) && !_countdownActive)
611631 {
632+ if (_legitimateKillsPerTeamThisRound[OtherTeam(owningTeam)] && _legitimateKillsPerTeamThisRound[OtherTeam(owningTeam)] > 0)
633+ {
612634 _countdownActive = true;
613- const newRoundTime = Math.min(Instance.GetRoundRemainingTime(), COUNTDOWN_TIME_SECONDS);
635+ const newRoundTime = Math.min(Instance.GetRoundRemainingTime(), CountdownTimeSecondsForRoom(_currentRoomIndex));
614636 Instance.SetRoundRemainingTime(newRoundTime);
637+ }
615638 }
616639 });
M
game/csgo/pak01_dir/panorama/layout/color_picker.xml
+2-2
@@ -14,12 +14,12 @@
1414 </Panel>
1515 <Panel class="top-bottom-flow">
1616 <Panel class="color-picker-color-box-container">
17- <Label class="color-picker-value-row__title" text="#settings_new" />
17+ <Label class="color-picker-value-row__title" text="#GameUI_ColorPicker_New" />
1818 <Panel id="color-box-new" class="color-picker-color-box" />
1919 </Panel>
2020 <Panel class="color-picker-color-box-container bottom-margin-16">
2121 <Panel id="color-box-current" class="color-picker-color-box" />
22- <Label class="color-picker-value-row__title" text="#XP_Bonus_RankUp_Old" />
22+ <Label class="color-picker-value-row__title" text="#GameUI_ColorPicker_Current" />
2323 </Panel>
2424 <Panel class="color-picker-value-row">
2525 <Label class="color-picker-value-row__title" text="R" />
M
game/csgo/pak01_dir/panorama/layout/settings/settings_crosshair.xml
+4-2
@@ -34,6 +34,7 @@
3434 <CSGOSettingsEnumDropDown id="XhairStyleDropdown" class="PopupButton White" convar="cl_crosshairstyle" ondropdownselectionchanged="SettingsMenuCrosshairSettings.OnCrosshairStyleChange()">
3535 <Label text="#GameUI_CrosshairStyle4" id="crosshairstyle4" value="4" />
3636 <Label text="#GameUI_CrosshairStyle3" id="crosshairstyle3" value="3" />
37+ <Label text="#GameUI_CrosshairStyle8" id="crosshairstyle8" value="8" />
3738 <Label text="#GameUI_CrosshairStyle6" id="crosshairstyle6" value="6" />
3839 <Label text="#GameUI_CrosshairStyle0" id="crosshairstyle0" value="0" />
3940 <Label text="#GameUI_CrosshairStyle1" id="crosshairstyle1" value="1" />
@@ -53,8 +54,9 @@
5354 <Panel id="XhairOutline" class="SettingsMenuDropdownContainer">
5455 <Label text="#GameUI_CrosshairOutline" class="half-width" />
5556 <CSGOSettingsEnumDropDown class="PopupButton White" convar="cl_crosshair_drawoutline">
56- <Label text="#GameUI_Yes" value="1" id="crosshairoutline0" />
57- <Label text="#GameUI_No" value="0" id="crosshairoutline1" />
57+ <Label text="#GameUI_CrosshairOutline_Full" value="1" id="crosshairoutline0" />
58+ <Label text="#GameUI_CrosshairOutline_Half" value="2" id="crosshairoutline2" />
59+ <Label text="#GameUI_CrosshairOutline_None" value="0" id="crosshairoutline1" />
5860 </CSGOSettingsEnumDropDown>
5961 </Panel>
6062 <Panel class="horizontal-separator" />
M
game/csgo/pak01_dir/panorama/scripts/context_menus/context_menu_playercard.js
+7-2
@@ -94,7 +94,7 @@ var ContextmenuPlayerCard;
9494 icon: 'pet_book',
9595 AvailableForItem: (id) => {
9696 return !GameStateAPI.IsLocalPlayerPlayingMatch() && _IsSelf(id) &&
97- (InventoryAPI.GetPetItemID() !== '' || _RetiredPetBookKeys().length > 0);
97+ (_HatchedPetItemID() !== '' || _RetiredPetBookKeys().length > 0);
9898 },
9999 OnSelected: () => _ShowPetBookMenu(),
100100 },
@@ -352,6 +352,11 @@ var ContextmenuPlayerCard;
352352 function _IsSelf(id) {
353353 return id === MyPersonaAPI.GetXuid();
354354 }
355+ function _HatchedPetItemID() {
356+ const strLivePet = InventoryAPI.GetPetItemID();
357+ const nStage = strLivePet === '' ? 0 : Number(InventoryAPI.GetItemAttributeValue(strLivePet, '{uint32}upgrade level'));
358+ return nStage > 0 ? strLivePet : '';
359+ }
355360 function _RetiredPetBookKeys() {
356361 const strLivePet = InventoryAPI.GetPetItemID();
357362 const strLivePrefix = strLivePet === '' ? '' : '_p' + strLivePet + '_x';
@@ -371,7 +376,7 @@ var ContextmenuPlayerCard;
371376 function _ShowPetBookMenu() {
372377 const elPanel = $.GetContextPanel();
373378 const items = [];
374- if (InventoryAPI.GetPetItemID() !== '') {
379+ if (_HatchedPetItemID() !== '') {
375380 items.push({ label: _LivePetBookLabel(elPanel), jsCallback: _OpenLivePetBook });
376381 }
377382 _RetiredPetBookKeys().forEach((strCloudKey, nIndex) => {
M
game/csgo/pak01_dir/panorama/scripts/popups/pet_book_pages.js
+5-5
@@ -197,8 +197,8 @@ var PetBookPages;
197197 if (_m_strBookKey === '') {
198198 return [];
199199 }
200- return GameInterfaceAPI.FindFiles(PetPhotoTag.LibraryFolder(_m_strBookKey) + '/*.png', 'USRLOCAL')
201- .concat(GameInterfaceAPI.FindFiles(PetPhotoTag.BookFolder(_m_strBookKey) + '/*.png', 'USRLOCAL'));
200+ return GameInterfaceAPI.FindFiles(PetPhotoTag.LibraryFolder(_m_strBookKey) + '/*' + PetPhotoTag.EXT, 'USRLOCAL')
201+ .concat(GameInterfaceAPI.FindFiles(PetPhotoTag.BookFolder(_m_strBookKey) + '/*' + PetPhotoTag.EXT, 'USRLOCAL'));
202202 }
203203 function _BuildShown() {
204204 const aPhotos = _AllPhotos();
@@ -250,7 +250,7 @@ var PetBookPages;
250250 if (_m_strBookKey === '') {
251251 return;
252252 }
253- GameInterfaceAPI.FindFiles(PetPhotoTag.BookFolder(_m_strBookKey) + '/*.png', 'USRLOCAL').forEach(strFileName => {
253+ GameInterfaceAPI.FindFiles(PetPhotoTag.BookFolder(_m_strBookKey) + '/*' + PetPhotoTag.EXT, 'USRLOCAL').forEach(strFileName => {
254254 const place = PetPhotoTag.PlaceOf(strFileName);
255255 if (!place || place.slot === PetPhotoTag.SLOT_UNPLACED) {
256256 return;
@@ -298,10 +298,10 @@ var PetBookPages;
298298 if (_m_strBookKey === '') {
299299 return;
300300 }
301- const aBook = GameInterfaceAPI.FindFiles(PetPhotoTag.BookFolder(_m_strBookKey) + '/*.png', 'USRLOCAL');
301+ const aBook = GameInterfaceAPI.FindFiles(PetPhotoTag.BookFolder(_m_strBookKey) + '/*' + PetPhotoTag.EXT, 'USRLOCAL');
302302 const inBook = {};
303303 aBook.forEach(strFileName => { inBook[PetPhotoTag.CaptureMS(strFileName)] = true; });
304- GameInterfaceAPI.FindFiles(PetPhotoTag.LibraryFolder(_m_strBookKey) + '/*.png', 'USRLOCAL').forEach(strFileName => {
304+ GameInterfaceAPI.FindFiles(PetPhotoTag.LibraryFolder(_m_strBookKey) + '/*' + PetPhotoTag.EXT, 'USRLOCAL').forEach(strFileName => {
305305 if (inBook[PetPhotoTag.CaptureMS(strFileName)]) {
306306 GameInterfaceAPI.DeletePetPhoto(_m_strBookKey, strFileName);
307307 }
M
game/csgo/pak01_dir/panorama/scripts/popups/pet_photo_library.js
+1-1
@@ -56,7 +56,7 @@ var PetPhotoLibrary;
5656 function LoadFromDisk(strPetKey) {
5757 _m_strPetKey = strPetKey;
5858 const aFiles = (strPetKey === '') ? [] :
59- GameInterfaceAPI.FindFiles(PetPhotoTag.LibraryFolder(strPetKey) + '/*.png', 'USRLOCAL');
59+ GameInterfaceAPI.FindFiles(PetPhotoTag.LibraryFolder(strPetKey) + '/*' + PetPhotoTag.EXT, 'USRLOCAL');
6060 aFiles.sort();
6161 aFiles.reverse();
6262 _m_aFiles = aFiles;
M
game/csgo/pak01_dir/panorama/scripts/popups/pet_photo_tag.js
+6-5
@@ -2,6 +2,7 @@
22 /// <reference path="../csgo.d.ts" />
33 var PetPhotoTag;
44 (function (PetPhotoTag) {
5+ PetPhotoTag.EXT = '.jpg';
56 PetPhotoTag.FILTERS = [
67 { id: 0, name: 'normal' },
78 { id: 1, name: 'bw' },
@@ -159,7 +160,7 @@ var PetPhotoTag;
159160 PetPhotoTag.Compose = Compose;
160161 function Parse(strFileName) {
161162 const fields = {};
162- const aTokens = strFileName.replace('.png', '').split('_');
163+ const aTokens = strFileName.replace(PetPhotoTag.EXT, '').split('_');
163164 for (let i = 2; i < aTokens.length; i++) {
164165 if (aTokens[i].length > 1) {
165166 fields[aTokens[i].charAt(0)] = aTokens[i].substring(1);
@@ -168,7 +169,7 @@ var PetPhotoTag;
168169 return fields;
169170 }
170171 function CaptureMS(strFileName) {
171- return strFileName.replace('.png', '').split('_')[1] || '';
172+ return strFileName.replace(PetPhotoTag.EXT, '').split('_')[1] || '';
172173 }
173174 PetPhotoTag.CaptureMS = CaptureMS;
174175 function Aspect(strFileName) {
@@ -235,18 +236,18 @@ var PetPhotoTag;
235236 }
236237 PetPhotoTag.WithFrame = WithFrame;
237238 function _Stem(strFileName) {
238- const aTokens = strFileName.replace('.png', '').split('_');
239+ const aTokens = strFileName.replace(PetPhotoTag.EXT, '').split('_');
239240 const aFields = aTokens.filter((strToken, i) => i >= 2 && PLACE_LETTERS.indexOf(strToken.charAt(0)) < 0);
240241 return aFields.length === 0 ? aTokens[1] : aTokens[1] + '_' + aFields.join('_');
241242 }
242243 function RollName(strFileName) {
243- return 'pet_' + _Stem(strFileName) + '.png';
244+ return 'pet_' + _Stem(strFileName) + PetPhotoTag.EXT;
244245 }
245246 PetPhotoTag.RollName = RollName;
246247 function BookName(strFileName, place, frame) {
247248 return 'book_' + _Stem(strFileName) +
248249 '_k' + place.page + '_y' + place.layout + '_l' + place.slot +
249- _FrameFields(frame === undefined ? PetPhotoTag.FRAME_DEFAULT : frame) + '.png';
250+ _FrameFields(frame === undefined ? PetPhotoTag.FRAME_DEFAULT : frame) + PetPhotoTag.EXT;
250251 }
251252 PetPhotoTag.BookName = BookName;
252253 function _LetterIndex() {
M
game/csgo/pak01_dir/panorama/scripts/popups/popup_pet_photobooth.js
+29-7
@@ -215,6 +215,7 @@ var PopupPetPhotoBooth;
215215 _MakeHeadwearButtons();
216216 _m_cp.FindChildInLayoutFile('id-pet-sticker-search')
217217 .SetPanelEvent('ontextentrychange', UpdateStickerList);
218+ $.RegisterEventHandler('CSGOInventoryItemLoaded', _m_cp.FindChildInLayoutFile('id-pet-sticker-item-list'), _RefreshStickerTile);
218219 _m_cp.FindChildTraverse('id-photo-team-ct').checked = true;
219220 _m_currentStage = _SetupStageMap();
220221 _MakePoseButtons();
@@ -668,6 +669,7 @@ var PopupPetPhotoBooth;
668669 const CAPTURE_VERIFY_SEC = .2;
669670 const CAPTURE_TRIES = 4;
670671 const PHOTO_MAX_LONG_EDGE = 1200;
672+ const PHOTO_JPEG_QUALITY = 95;
671673 const COUNTDOWN_SEC = 3;
672674 function _BTimerMode() { return _m_cp.FindChildInLayoutFile('id-pet-take-picture').checked; }
673675 function _SetShutterEnabled(bEnabled) {
@@ -713,20 +715,20 @@ var PopupPetPhotoBooth;
713715 }
714716 function _WritePhoto() {
715717 _m_captureJob = undefined;
716- const strFileName = 'pet_' + Date.now() + _PhotoMetaTag() + '.png';
718+ const strFileName = 'pet_' + Date.now() + _PhotoMetaTag() + PetPhotoTag.EXT;
717719 _m_lastSavedPhoto = strFileName;
718- _WriteLayerPNG(strFileName);
720+ _WriteLayerJPEG(strFileName);
719721 _m_cp.FindChildInLayoutFile('id-pet-white').TriggerClass('photo-flash');
720722 UiToolkitAPI.PlaySoundEvent('Chicken.Camera.Shoot');
721723 _EndCapture();
722724 _m_verifyJob = $.Schedule(CAPTURE_VERIFY_SEC, () => { _VerifyPhoto(strFileName, 1); });
723725 }
724- function _WriteLayerPNG(strFileName) {
726+ function _WriteLayerJPEG(strFileName) {
725727 const strPath = GameInterfaceAPI.PreparePetPhoto(_m_petId, strFileName);
726728 if (!strPath) {
727729 return;
728730 }
729- _m_elCaptured.WriteCompositionLayerPNGScaled(strPath, 'USRLOCAL', PHOTO_MAX_LONG_EDGE);
731+ _m_elCaptured.WriteCompositionLayerJPEG(strPath, 'USRLOCAL', PHOTO_MAX_LONG_EDGE, PHOTO_JPEG_QUALITY);
730732 }
731733 function _VerifyPhoto(strFileName, nTry) {
732734 _m_verifyJob = undefined;
@@ -735,7 +737,7 @@ var PopupPetPhotoBooth;
735737 return;
736738 }
737739 if (nTry < CAPTURE_TRIES) {
738- _WriteLayerPNG(strFileName);
740+ _WriteLayerJPEG(strFileName);
739741 _m_verifyJob = $.Schedule(CAPTURE_VERIFY_SEC, () => { _VerifyPhoto(strFileName, nTry + 1); });
740742 return;
741743 }
@@ -1189,22 +1191,40 @@ var PopupPetPhotoBooth;
11891191 });
11901192 elPanel.FireEntityInput('post_vanity', 'Disable');
11911193 }
1194+ const STICKER_LIST_FILTER = 'item_definition:sticker';
1195+ const MAX_PLACED_STICKERS = 10;
1196+ const STICKER_DROP_JITTER = 120;
1197+ const _m_placedStickerIds = new Set();
11921198 function UpdateStickerList() {
11931199 const elList = _m_cp.FindChildInLayoutFile('id-pet-sticker-item-list');
11941200 const elSearch = _m_cp.FindChildInLayoutFile('id-pet-sticker-search');
1195- $.DispatchEvent('SetInventoryFilter', elList, 'inv_graphic_art', 'sticker', 'any', 'inv_sort_age', '', elSearch.text);
1201+ $.DispatchEvent('SetInventoryFilter', elList, 'inv_graphic_art', 'sticker', 'any', 'inv_sort_age', STICKER_LIST_FILTER, elSearch.text);
11961202 }
11971203 function _StickerCount() {
11981204 const elList = _m_cp.FindChildInLayoutFile('id-pet-sticker-item-list');
1199- $.DispatchEvent('SetInventoryFilter', elList, 'inv_graphic_art', 'sticker', 'any', 'inv_sort_age', '', '');
1205+ $.DispatchEvent('SetInventoryFilter', elList, 'inv_graphic_art', 'sticker', 'any', 'inv_sort_age', STICKER_LIST_FILTER, '');
12001206 return elList.count;
12011207 }
1208+ function _RefreshStickerTile(elTile) {
1209+ const itemId = elTile.GetAttributeString('itemid', '0');
1210+ elTile.enabled = !_m_placedStickerIds.has(itemId) && _m_placedStickerIds.size < MAX_PLACED_STICKERS;
1211+ }
1212+ function _RefreshStickerTiles() {
1213+ _m_cp.FindChildInLayoutFile('id-pet-sticker-item-list')
1214+ .FindChildrenWithClassTraverse('item-tile').forEach(_RefreshStickerTile);
1215+ }
12021216 let zIndex = 0;
12031217 function OnItemTileActivated(elPanel, itemId) {
1218+ if (_m_placedStickerIds.has(itemId) || _m_placedStickerIds.size >= MAX_PLACED_STICKERS) {
1219+ return;
1220+ }
1221+ _m_placedStickerIds.add(itemId);
1222+ _RefreshStickerTiles();
12041223 CloseSettings();
12051224 const elParent = _m_cp.FindChildInLayoutFile('id-pet-sticker-layer');
12061225 const elDragPanel = $.CreatePanel('DragPanel', elParent, 'id-drag-panel-' + itemId);
12071226 elDragPanel.style.zIndex = ++zIndex + ';';
1227+ elDragPanel.SetDragPosition(Math.random() * STICKER_DROP_JITTER, Math.random() * STICKER_DROP_JITTER);
12081228 const elSticker = $.CreatePanel('Panel', elParent, 'id-sticker-panel-' + itemId, { class: 'placed-sticker-container' });
12091229 elSticker.BLoadLayoutSnippet('sticker');
12101230 const elImage = elSticker.FindChildInLayoutFile('sticker');
@@ -1227,7 +1247,9 @@ var PopupPetPhotoBooth;
12271247 elImage.style.width = elScaleSlider.value + 'px;';
12281248 });
12291249 elSticker.FindChildInLayoutFile('id-sticker-remove').SetPanelEvent('onactivate', () => {
1250+ _m_placedStickerIds.delete(itemId);
12301251 elDragPanel.DeleteAsync(0);
1252+ _RefreshStickerTiles();
12311253 });
12321254 elSticker.SetParent(elDragPanel);
12331255 }
M
game/csgo/pak01_dir/panorama/scripts/settingsmenu_crosshair.js
+7-1
@@ -102,6 +102,12 @@ var SettingsMenuCrosshairSettings;
102102 $("#XhairDynamicSpreadDist").visible = true;
103103 $("#XhairDynamicSpreadDistSeparator").visible = true;
104104 }
105+ else if (nStyle == 8) {
106+ $("#XhairCenterDot").visible = true;
107+ $("#XhairCenterDotSeparator").visible = true;
108+ $("#XhairGap").visible = true;
109+ $("#XhairGapSeparator").visible = true;
110+ }
105111 $("#CrosshairEditorPreview").SetHasClass("dynamic-crosshair", nStyle === 0 || nStyle === 1 || nStyle === 2 || nStyle === 6);
106112 let obsCrosshairs = parseInt(GameInterfaceAPI.GetSettingString('cl_show_observer_crosshair'));
107113 let showObserverBotSetting = (obsCrosshairs === 2);
@@ -158,7 +164,7 @@ var SettingsMenuCrosshairSettings;
158164 }
159165 }
160166 }
161- const k_arrNewCrosshairStyles = [3, 6, 0, 1, 7];
167+ const k_arrNewCrosshairStyles = [3, 6, 0, 1, 7, 8];
162168 const k_arrTaggedCrosshairSettings = [
163169 { id: 'XhairStyle', loc_name: '#GameUI_CrosshairStyle', tag: 'new', loc_tooltip: '#GameUI_CrosshairUpdated_Style' },
164170 { id: 'XhairColorPicker', loc_name: '#GameUI_CrosshairColor', tag: 'updated', loc_tooltip: '#GameUI_CrosshairUpdated_Info' },
Update information⌄
Build
25492732
Associated changelist
39144386
Game version
2000915

Found something incorrect?

Report a missing patch note, incorrect file change, or other problem.