CS2 Updates
This website provides updates, news, and insider information about Counter-Strike, including game updates, patches, and changes.
Show raw JSON
{
"generated_at_utc": "2026-11-13T14:09:51.308Z",
"source": {
"owner": "SteamDatabase",
"repo": "GameTracking-CS2"
},
"last_updates": [
{
"event_id": "gh:82e2b9d",
"detected_at_utc": "2026-11-13T14:09:49.904Z",
"commit_date_utc": "2026-11-11T23:05:21Z",
"commit": {
"sha": "82e2b9d62cc97f1358c68a220a4a392c9e41c509",
"short": "82e2b9d",
"message": "2000943 | 130 files | M\tDumpSource2/.stringsignore, M\tDumpSource2/commands.txt, M\tDumpSource2/convars.txt, M\tDumpSource2/entities/client.fgd, M\tDumpSource2/entities/server.fgd, M\tDumpSource2/module_metadata/client/resource_manifests.txt, M\tDumpSource2/network/client.txt, M\tDumpSource2/network/server.txt, M\tDumpSource2/schemas/client/CMapInfo.h, M\tDumpSource2/schemas/client/CNmAimCSNode__CDefinition.h, M\tDumpSource2/schemas/client/C_Hostage.h, M\tDumpSource2/schemas/client/EventClientPollNetworking_t.h, M\tDumpSource2/schemas/modtools/CNmGraphDocAimCSNode.h, M\tDumpSource2/schemas/server/CMapInfo.h, M\tProtobufs/netmessages.proto, M\tProtobufs/source2_steam_stats.proto, M\tgame/bin/built_from_cl.txt, M\tgame/bin/win64/animationsystem_strings.txt, M\tgame/bin/win64/csgocfg.exe_strings.txt, M\tgame/bin/win64/engine2_strings.txt, M\tgame/bin/win64/gfsdk_aftermath_lib.x64_strings.txt, M\tgame/bin/win64/materialsystem2_strings.txt, M\tgame/bin/win64/networksystem_strings.txt, M\tgame/bin/win64/panorama_strings.txt, M\tgame/bin/win64/rendersystemdx11_",
"url": "https://github.com/SteamTracking/GameTracking-CS2/commit/82e2b9d62cc97f1358c68a220a4a392c9e41c509"
},
"classification": {
"tags": [
"scripts",
"ui",
"localization",
"assets",
"misc",
"content-change"
],
"important_files": [
"game/csgo/pak01_dir/panorama/layout/settings/settings_video.xml",
"game/csgo/pak01_dir/resource/csgo_english.txt",
"game/csgo/pak01_dir/scripts/ai/retakes/bt_config.kv3",
"game/csgo/pak01_dir/scripts/ai/retakes/bt_default.kv3",
"game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_defuse_planted_bomb.kv3",
"game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_hide_near_planted_bomb.kv3",
"game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_hold_near_planted_bomb.kv3",
"game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_watch_approach_points.kv3"
]
},
"ai_summary": "Localization/resources update (game/csgo/pak01_dir/resource/csgo_english.txt).",
"stats": {
"files_changed": 130,
"additions": 11334,
"deletions": 9250
},
"files": [
{
"filename": "DumpSource2/.stringsignore",
"status": "modified",
"additions": 66,
"deletions": 18,
"changes": 84,
"patch": "@@ -4840,6 +4840,7 @@ Clear all watches from the game debug overlay\n Clear buffered logging\n Clear console output from all views.\n Clear console output.\n+Clear per-entity decode change callback stats\n Clear the list of deferred soundevents for loading.\n Clear the list of files that have been opened.\n Clear the pause state of the server.\n@@ -5878,8 +5879,8 @@ Draws line between two 3D Points.\\n\\tGreen if no collision\\n\\tRed is collides wi\n Draws the current weapon's true inaccuracy + spread radius around the crosshair\n Draws the overview map\n Drive (dB)\n+Drop a client if processing their messages consumes more than N ms of CPU time *PER SECOND*, sustained (token bucket fill rate)\n Drop a client if processing their messages consumes more than N ms of CPU time in a burst (token bucket capacity)\n-Drop a client if processing their messages consumes more than N ms of CPU time per second, sustained (token bucket fill rate)\n Drop defuser on player death\n Drop every Nth fragment\n Drop healthshot on player death\n@@ -7172,6 +7173,13 @@ From Player\n From Rotations\n From Velocity\n From World\n+Frost on players, weapons and chickens: -1 = the map's (info_map_parameters frostenabled), 0 = off, 1 = on (outdoors; melts indoors)\n+Frost: barrel heat per shot (1 = hot enough to clear the whole barrel)\n+Frost: distance under cover (no sky) over which the cold fades out (indoors)\n+Frost: seconds after a molotov is lit before its rag starts to heat (the flame shows a moment after)\n+Frost: seconds for a hot barrel to cool down\n+Frost: seconds for a lit molotov's rag to reach full heat\n+Frost: where the barrel heat sits, from the shell eject (0) to the muzzle (1)\n Frozen\n Full 3-Axis Rotation\n Full Density Blend Weight\n@@ -7359,6 +7367,7 @@ Gameplay State High\n Gameplay State Low\n Gamma-correct vertex colors\n Gate\n+GatherSendProxyResults only walks struct and array fields, skipping scalar fields.\n Gaussian\n General\n General purpose timer. use 'stopwatch' to toggle or explicitly call 'stopwatch start' and/or 'stopwatch stop'.\n@@ -8711,6 +8720,7 @@ Less aggressive fade out. The object will not fade out until it is smaller on sc\n LessThan\n LessThanEqual\n LessonPanelLayoutFileTypes_t\n+Let demo playback and the game rules start, dump and stop the vprof lite profiler on their own. The vprof_lite_start, vprof_lite_stop and vprof_lite_dump commands set this to 0 so that a script can drive the profiler itself.\n Level Override\n Level Volume\n Level of validation for nav system. Higher will be slower.\n@@ -9192,8 +9202,9 @@ Max number of broadcast http requests in flight. If there is a network issue, th\n Max number of broadcast1 http requests in flight. If there is a network issue, the requests may start piling up, degrading server performance. If more than the specified number of requests are in flight, the new requests are dropped.\n Max number of entities to transmit to player\n Max number of kills for a single multikill event\n-Max number of messages that can be queued in a netchan receive buffer for an ordinary connection from a client.\n Max number of samples per triangle. Higher is more quality/slower.\n+Max number of source engine messages an ordinary client connection may put in a single network frame. Exceeding this disconnects the client.\n+Max number of source engine messages that can be queued in a netchan receive buffer for an ordinary connection from a client.\n Max number of ticks to simulate per frame, after which simulation will start to slow down compared to real time.\n Max number of timeouts each team can have per OT after all OT timeouts got added.\n Max number of times a player may purchase any weapon per match\n@@ -9234,6 +9245,7 @@ Maximum depth of smart prop evaluation stack during evaluation.\n Maximum distance flames can spread from their initial ignition point\n Maximum distance flames can spread from their initial ignition point for an incendiary\n Maximum distance to transmit footstep sound effects.\n+Maximum duration the client clock is allowed to drift from server snapshots, before the client snaps its clock to the latest server snapshot received\n Maximum gain any HRTF could have during volume normalization.\n Maximum lag compensation in seconds\n Maximum length\n@@ -9253,7 +9265,6 @@ Maximum number of probes to create when baking custom data (occlusion).\n Maximum number of probes to create when baking paths.\n Maximum number of probes to create when baking reverb.\n Maximum number of ragdolls to show (-1 disables limit)\n-Maximum number of ticks the clock is allowed to drift before the client snaps its clock to the server's.\n Maximum number of undo levels\n Maximum of how hard the hostage is pushed away from physics objects.\n Maximum of how hard the player is pushed away from physics objects.\n@@ -11185,6 +11196,7 @@ PanoramaUIClient001\n PanoramaUIEngine001\n PanoramaVideoPlayer\n Parallalelize Filter\n+Parallax occlusion mapping (Advanced Video setting): 0 = off, 1 = on\n ParamSpanSample_t\n ParamSpan_t\n Parameter\n@@ -11438,7 +11450,7 @@ Play a broadcast\n Play a demo and report performance info.\n Play a demo, report performance info, and then exit\n Play a note from a specified sampler\n-Play a recorded demo file (.dem ).\n+Play a recorded demo file (.dem ). Options: start=<tick> end=<tick> timescale=<float> (run with no arguments for details).\n Play a sound at a specified volume.\n Play a sound.\n Play demos in demo sequence.\n@@ -11636,6 +11648,7 @@ Print out broadcast status\n Print out hltv events\n Print out information on existing particle systems\n Print out number of active projected textures\n+Print per-entity decode change callback stats\n Print simple description of prediction copy fields for entindex\n Print something every time we predict a command\n Print spew related to server clock and ticking\n@@ -12067,7 +12080,6 @@ Recursion Branch Split Scale\n Recursion Depth\n RecvProxy_Jumped\n RecvProxy_PatchEconIndices\n-RecvProxy_Rescued\n RecvProxy_VoteOption\n RecvProxy_VoteType\n Recvmargin-based usercommand pacing will not speed up or slow down command pacing by more than N% compared to realtime\n@@ -12961,6 +12973,9 @@ Secondary_Mode\n Seconds after client connect during which extra frames are buffered to prevent non-delta'd update\n Seconds between drowning ticks\n Seconds between full frame embeddeds\n+Seconds for the melted frost to dry\n+Seconds indoors for full frost to melt\n+Seconds outdoors for frost to grow to full\n Seconds to fade the ChickensObscuredLayer mix layer in and out.\n Seed (negative values=randomize)\n Seed Input Var\n@@ -13058,11 +13073,14 @@ Server queue reservation\n Server tags. Used to provide extra information to clients when they're browsing for servers. Separate tags with a comma.\n Server will listen for direct UDP connections on the configured port. This can be turned off to only listen for P2P/SDR connections.\n Server will not allow the client to buffer up more than N ms of commands.\n-Server will not buffer more than N kb from connected clients\n-Server will not buffer more than N messages from connected clients\n-Server will reject message larger than N kb\n-Server will reject packets with more than N segments\n+Server will reject uncompressed Source engine frame larger than N kb. Also sets limit on SteamNetworkingSockets message size\n Server will stop generating substitute commands if client hasn't sent one, after N in a row\n+Server: SteamNetworkingSockets will not buffer more than N kb from a connection that does not yet have a netchan\n+Server: SteamNetworkingSockets will not buffer more than N kb from connected clients\n+Server: SteamNetworkingSockets will not buffer more than N messages from a connection that does not yet have a netchan\n+Server: SteamNetworkingSockets will not buffer more than N messages from connected clients\n+Server: SteamNetworkingSockets will reject packets with more than N message segments\n+Server: max SteamNetworkingSockets message size in kb accepted from a connection that does not yet have a netchan\n ServerAuthoritative\n ServerAuthoritativeWeaponSlot_t\n ServerLog\n@@ -15926,8 +15944,8 @@ Walk\n Warmup time to use when all players have connected. 0 to disable.\n Warmup time to use when the match will be cancelled (eg. due to a live VAC ban).\n Warn if lag compensated head hitbox position doesn't match that on client.\n+Warn if processing messages from a client consumes more than N ms of CPU time *PER SECOND*, sustained (token bucket fill rate)\n Warn if processing messages from a client consumes more than N ms of CPU time in a burst (token bucket capacity)\n-Warn if processing messages from a client consumes more than N ms of CPU time per second, sustained (token bucket fill rate)\n Warp Orientation\n Warp Position\n Warp Section Tag\n@@ -16002,6 +16020,7 @@ When a player disconnects, kill them first (triggering item drops, stats, etc.)\n When a source has source-specific DSP, this can be used as an additional mix stage for the listener reverb amount.\n When an animgraph is reloaded, should the underlying system restore all params?\n When an asset is being recompiled the dependents will be recompiled only as needed, otherwise the original recompile mode will be passed on.\n+When an entity is decoded from a baseline plus a wire delta, merge the two and decode once (true), or decode the baseline and then the delta as two passes (false, the old behaviour, which can invoke change callbacks with baseline values for an entity that already exists).\n When computing respondents for a 'THEN ANY' rule, all rule-matching scores within this much of the best score will be considered.\n When computing the transform at each path point ensure that there is no roll around the path relative to the up direction. This prevents objects from tilting side to side while still allowing them to tilt along the path (unlike Use Fixed Up which does not allow them to tilt along the path).\n When condensing late commands. Should we compress multiple moves of button presses into the target move?\n@@ -17100,7 +17119,7 @@ cl_clock_recvmargin_timeconstant_slowdown\n cl_clock_recvmargin_timeconstant_speedup\n cl_clock_recvmargin_window\n cl_clockdbg\n-cl_clockdrift_max_ticks\n+cl_clockdrift_max_secs\n cl_clutch_mode\n cl_color\n cl_connectionretrytime_p2p\n@@ -17394,6 +17413,7 @@ cl_new_user_phase\n cl_obs_interp_enable\n cl_obs_interp_speed\n cl_observed_bot_crosshair\n+cl_packetentities_merge_before_decode\n cl_paintkit_override\n cl_panel_freeze_time_after_press\n cl_parallel_readpacketentities\n@@ -19368,6 +19388,7 @@ fresnel warp texture\n friction\n friction_scale\n friendlyname\n+frostenabled\n fs_async_threads\n fs_clear_open_duplicate_times\n fs_dump_open_duplicate_times\n@@ -23229,6 +23250,7 @@ m_bFreezePeriod\n m_bFreezeTargetState\n m_bFreezeTransitionActive\n m_bFreshStartThisRound\n+m_bFrostEnabled\n m_bFrozen\n m_bFullbright\n m_bGPUCullSkybox\n@@ -25593,7 +25615,6 @@ m_flDampedValue\n m_flDamping\n m_flDampingRatio\n m_flDangerousTime\n-m_flDeadOrRescuedTime\n m_flDealtDamageToEnemyMostRecentTimestamp\n m_flDeathCamTilt\n m_flDeathDestroyTime\n@@ -27243,6 +27264,7 @@ m_flTraceRadius\n m_flTraceTolerance\n m_flTracerDuration\n m_flTrajectoryTrailEffectCreationTime\n+m_flTransitionBlendTimeSeconds\n m_flTransitionDurationSeconds\n m_flTransitionPenalty\n m_flTransitionSourcePathLocation\n@@ -33556,6 +33578,8 @@ net_compresspackets_minsize\n net_connections_stats\n net_culloptimization\n net_debug_to_file\n+net_decode_callback_queue_stats_clear\n+net_decode_callback_queue_stats_dump\n net_detailed_canpacket_log\n net_fakeclear\n net_fakejitter\n@@ -33564,7 +33588,17 @@ net_fakeloss\n net_fakestatus\n net_filelogging\n net_fs_showindirections\n-net_limit_sv_recv_max_message_size_kb\n+net_gather_child_fields_only\n+net_limit_sv_listen_max_message_size_kb\n+net_limit_sv_listen_recvbuffer_kb\n+net_limit_sv_listen_recvbuffer_msg\n+net_limit_sv_message_process_time_ms_drop_burst\n+net_limit_sv_message_process_time_ms_drop_rate_per_sec\n+net_limit_sv_message_process_time_ms_warn_burst\n+net_limit_sv_message_process_time_ms_warn_rate_per_sec\n+net_limit_sv_recv_chan_buffer_messages\n+net_limit_sv_recv_chan_msgs_per_frame\n+net_limit_sv_recv_max_frame_size_kb\n net_limit_sv_recv_segments_per_packet\n net_limit_sv_recvbuffer_kb\n net_limit_sv_recvbuffer_msg\n@@ -34552,6 +34586,16 @@ r_csgo_enable_tonemapping\n r_csgo_enable_translucent_screen_space\n r_csgo_enable_volume_fog\n r_csgo_firstpersonlegs_nearz_offset\n+r_csgo_frost_dry_time\n+r_csgo_frost_force\n+r_csgo_frost_grow_time\n+r_csgo_frost_heat_barrel_position\n+r_csgo_frost_heat_cool_time\n+r_csgo_frost_heat_light_delay\n+r_csgo_frost_heat_light_time\n+r_csgo_frost_heat_per_shot\n+r_csgo_frost_indoor_distance\n+r_csgo_frost_melt_time\n r_csgo_fsr_enable_mip_bias\n r_csgo_fsr_rcas_sharpness\n r_csgo_fsr_upsample\n@@ -34593,6 +34637,7 @@ r_csgo_no_shader_resolve\n r_csgo_opaquerefract_viewmodel_depthcopy\n r_csgo_opaquerefract_viewmodel_quality\n r_csgo_outline_glow_scaledenom\n+r_csgo_parallax\n r_csgo_player_occlusion_query\n r_csgo_player_occlusion_query_debug\n r_csgo_postprocess_enable\n@@ -36784,10 +36829,6 @@ sv_mover_maxslope\n sv_mover_pogodampingratio\n sv_mover_pogofrequency\n sv_mute_players_with_social_penalties\n-sv_net_client_message_process_time_ms_drop_burst\n-sv_net_client_message_process_time_ms_drop_rate\n-sv_net_client_message_process_time_ms_warn_burst\n-sv_net_client_message_process_time_ms_warn_rate\n sv_netprof_delta_sharing_temp\n sv_networkvar_log_fullchanges\n sv_networkvar_perfieldtracking\n@@ -36852,7 +36893,6 @@ sv_rcon_maxfailures\n sv_rcon_minfailures\n sv_rcon_minfailuretime\n sv_record_item_time_data\n-sv_recvbuf_messages\n sv_regeneration_force_on\n sv_regeneration_wait_time\n sv_region\n@@ -37631,6 +37671,7 @@ vertical_align\n videocfg_ao_detail\n videocfg_fsr_detail\n videocfg_hdr_detail\n+videocfg_parallax_detail\n videocfg_particle_detail\n videocfg_shadow_quality\n videocfg_texture_detail\n@@ -37752,6 +37793,13 @@ vprof_dump_counters\n vprof_generate_report\n vprof_generate_report_budget\n vprof_generate_report_hierarchy\n+vprof_lite_auto\n+vprof_lite_dump\n+vprof_lite_dump [filename] [stop=1]\\nWrite the vprof lite budget group statistics as CSV, then stop the profiler and clear its data.\\nstop=0 leaves the profiler running with its data. The default filename is vprof_lite.csv in the mod directory;\\nan absolute path is used as given. Sets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.\n+vprof_lite_start\n+vprof_lite_start [clear=1]\\nStart the vprof lite profiler, clearing any data it holds. clear=0 keeps the data and continues adding to it.\\nSets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.\n+vprof_lite_stop\n+vprof_lite_stop [clear=1]\\nStop the vprof lite profiler and clear its data. clear=0 keeps the data, for engine_frametime_print_report or vprof_lite_dump.\\nSets vprof_lite_auto 0, so the game will not start the profiler on its own.\n vprof_loadhitstore_scale\n vprof_off\n vprof_on"
},
{
"filename": "DumpSource2/commands.txt",
"status": "modified",
"additions": 23,
"deletions": 1,
"changes": 24,
"patch": "@@ -2357,6 +2357,12 @@ net_channels (release)\n net_connections_stats (release)\n \tPrint detailed network statistics for each network connection\n \n+net_decode_callback_queue_stats_clear (developmentonly defensive)\n+\tClear per-entity decode change callback stats\n+\n+net_decode_callback_queue_stats_dump (developmentonly defensive)\n+\tPrint per-entity decode change callback stats\n+\n net_fakeclear (release)\n \tClear all simulated network conditions\n \n@@ -2576,7 +2582,7 @@ playcast (release)\n \tPlay a broadcast\n \n playdemo (release)\n-\tPlay a recorded demo file (.dem ).\n+\tPlay a recorded demo file (.dem ). Options: start=<tick> end=<tick> timescale=<float> (run with no arguments for details).\n \n player_ping (gamedll client_can_execute)\n \tCreates a ping notification where the player is looking.\n@@ -3818,6 +3824,22 @@ vprof_generate_report_budget (developmentonly defensive)\n vprof_generate_report_hierarchy (developmentonly defensive)\n \tGenerate a report to the console.\n \n+vprof_lite_dump (developmentonly defensive)\n+\tvprof_lite_dump [filename] [stop=1]\n+\tWrite the vprof lite budget group statistics as CSV, then stop the profiler and clear its data.\n+\tstop=0 leaves the profiler running with its data. The default filename is vprof_lite.csv in the mod directory;\n+\tan absolute path is used as given. Sets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.\n+\n+vprof_lite_start (developmentonly defensive)\n+\tvprof_lite_start [clear=1]\n+\tStart the vprof lite profiler, clearing any data it holds. clear=0 keeps the data and continues adding to it.\n+\tSets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.\n+\n+vprof_lite_stop (developmentonly defensive)\n+\tvprof_lite_stop [clear=1]\n+\tStop the vprof lite profiler and clear its data. clear=0 keeps the data, for engine_frametime_print_report or vprof_lite_dump.\n+\tSets vprof_lite_auto 0, so the game will not start the profiler on its own.\n+\n vprof_loadhitstore_scale (developmentonly hidden)\n \tScale used when displaying load-hit-stores (0 = use default)\n "
},
{
"filename": "DumpSource2/convars.txt",
"status": "modified",
"additions": 80,
"deletions": 23,
"changes": 103,
"patch": "@@ -982,8 +982,8 @@ cl_clock_recvmargin_window 4 (developmentonly)\n cl_clockdbg false (developmentonly defensive)\n \t<no description>\n \n-cl_clockdrift_max_ticks 3 (min: 0, hidden release)\n-\tMaximum number of ticks the clock is allowed to drift before the client snaps its clock to the server's.\n+cl_clockdrift_max_secs 0.125 (min: 0, hidden release)\n+\tMaximum duration the client clock is allowed to drift from server snapshots, before the client snaps its clock to the latest server snapshot received\n \n cl_clutch_mode false (clientdll release)\n \tSilence voice and other distracting sounds until the end of round or next death.\n@@ -1654,6 +1654,9 @@ cl_obs_interp_speed 1 (min: 0.25, max: 2.5, clientdll archive)\n cl_observed_bot_crosshair 2 (clientdll archive release)\n \tCrosshair 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\n \n+cl_packetentities_merge_before_decode true (developmentonly defensive)\n+\tWhen an entity is decoded from a baseline plus a wire delta, merge the two and decode once (true), or decode the baseline and then the delta as two passes (false, the old behaviour, which can invoke change callbacks with baseline values for an entity that already exists).\n+\n cl_paintkit_override \"\" (clientdll cheat release)\n \t<no description>\n \n@@ -4675,7 +4678,7 @@ lservercfgfile \"listenserver.cfg\" (developmentonly gamedll defensive)\n lua_assert_on_error false (developmentonly defensive)\n \t<no description>\n \n-lua_is_currently_executing false (hidden dontrecord release flag_36)\n+lua_is_currently_executing false (hidden dontrecord release vconsole_no_change_notify)\n \t<no description>\n \n lua_shipping_assert_on_error false (developmentonly defensive)\n@@ -6573,17 +6576,47 @@ net_filelogging false (developmentonly)\n net_fs_showindirections false (developmentonly)\n \t<no description>\n \n-net_limit_sv_recv_max_message_size_kb 32 (release)\n-\tServer will reject message larger than N kb\n+net_gather_child_fields_only false (release)\n+\tGatherSendProxyResults only walks struct and array fields, skipping scalar fields.\n+\n+net_limit_sv_listen_max_message_size_kb 3 (release)\n+\tServer: max SteamNetworkingSockets message size in kb accepted from a connection that does not yet have a netchan\n+\n+net_limit_sv_listen_recvbuffer_kb 16 (release)\n+\tServer: SteamNetworkingSockets will not buffer more than N kb from a connection that does not yet have a netchan\n+\n+net_limit_sv_listen_recvbuffer_msg 4 (release)\n+\tServer: SteamNetworkingSockets will not buffer more than N messages from a connection that does not yet have a netchan\n+\n+net_limit_sv_message_process_time_ms_drop_burst 300 (release)\n+\tDrop a client if processing their messages consumes more than N ms of CPU time in a burst (token bucket capacity)\n+\n+net_limit_sv_message_process_time_ms_drop_rate_per_sec 500 (release)\n+\tDrop a client if processing their messages consumes more than N ms of CPU time *PER SECOND*, sustained (token bucket fill rate)\n+\n+net_limit_sv_message_process_time_ms_warn_burst 50 (release)\n+\tWarn if processing messages from a client consumes more than N ms of CPU time in a burst (token bucket capacity)\n+\n+net_limit_sv_message_process_time_ms_warn_rate_per_sec 150 (release)\n+\tWarn if processing messages from a client consumes more than N ms of CPU time *PER SECOND*, sustained (token bucket fill rate)\n+\n+net_limit_sv_recv_chan_buffer_messages 1000 (release)\n+\tMax number of source engine messages that can be queued in a netchan receive buffer for an ordinary connection from a client.\n+\n+net_limit_sv_recv_chan_msgs_per_frame 500 (release)\n+\tMax number of source engine messages an ordinary client connection may put in a single network frame. Exceeding this disconnects the client.\n+\n+net_limit_sv_recv_max_frame_size_kb 64 (release)\n+\tServer will reject uncompressed Source engine frame larger than N kb. Also sets limit on SteamNetworkingSockets message size\n \n net_limit_sv_recv_segments_per_packet 50 (release)\n-\tServer will reject packets with more than N segments\n+\tServer: SteamNetworkingSockets will reject packets with more than N message segments\n \n net_limit_sv_recvbuffer_kb 128 (release)\n-\tServer will not buffer more than N kb from connected clients\n+\tServer: SteamNetworkingSockets will not buffer more than N kb from connected clients\n \n net_limit_sv_recvbuffer_msg 100 (release)\n-\tServer will not buffer more than N messages from connected clients\n+\tServer: SteamNetworkingSockets will not buffer more than N messages from connected clients\n \n net_log_processing false (developmentonly defensive)\n \tLog network processing\n@@ -7620,6 +7653,36 @@ r_csgo_enable_volume_fog false (developmentonly clientdll)\n r_csgo_firstpersonlegs_nearz_offset 0.1 (developmentonly clientdll)\n \t<no description>\n \n+r_csgo_frost_dry_time 20 (developmentonly clientdll)\n+\tSeconds for the melted frost to dry\n+\n+r_csgo_frost_force -1 (developmentonly clientdll)\n+\tFrost on players, weapons and chickens: -1 = the map's (info_map_parameters frostenabled), 0 = off, 1 = on (outdoors; melts indoors)\n+\n+r_csgo_frost_grow_time 10 (developmentonly clientdll)\n+\tSeconds outdoors for frost to grow to full\n+\n+r_csgo_frost_heat_barrel_position 0.33 (developmentonly clientdll)\n+\tFrost: where the barrel heat sits, from the shell eject (0) to the muzzle (1)\n+\n+r_csgo_frost_heat_cool_time 20 (developmentonly clientdll)\n+\tFrost: seconds for a hot barrel to cool down\n+\n+r_csgo_frost_heat_light_delay 1 (developmentonly clientdll)\n+\tFrost: seconds after a molotov is lit before its rag starts to heat (the flame shows a moment after)\n+\n+r_csgo_frost_heat_light_time 10 (developmentonly clientdll)\n+\tFrost: seconds for a lit molotov's rag to reach full heat\n+\n+r_csgo_frost_heat_per_shot 0.05 (developmentonly clientdll)\n+\tFrost: barrel heat per shot (1 = hot enough to clear the whole barrel)\n+\n+r_csgo_frost_indoor_distance 128 (developmentonly clientdll)\n+\tFrost: distance under cover (no sky) over which the cold fades out (indoors)\n+\n+r_csgo_frost_melt_time 10 (developmentonly clientdll)\n+\tSeconds indoors for full frost to melt\n+\n r_csgo_fsr_enable_mip_bias true (developmentonly clientdll defensive)\n \tApply negative mip bias when rendering with FSR.\n \n@@ -7743,6 +7806,9 @@ r_csgo_opaquerefract_viewmodel_quality 1 (developmentonly clientdll)\n r_csgo_outline_glow_scaledenom 1 (developmentonly clientdll cheat)\n \t<no description>\n \n+r_csgo_parallax 1 (developmentonly clientdll defensive)\n+\tParallax occlusion mapping (Advanced Video setting): 0 = off, 1 = on\n+\n r_csgo_player_occlusion_query true (developmentonly clientdll)\n \t<no description>\n \n@@ -11454,18 +11520,6 @@ sv_mover_pogofrequency 10 (developmentonly gamedll clientdll notify replicated d\n sv_mute_players_with_social_penalties true (developmentonly gamedll defensive)\n \t<no description>\n \n-sv_net_client_message_process_time_ms_drop_burst 500 (release)\n-\tDrop a client if processing their messages consumes more than N ms of CPU time in a burst (token bucket capacity)\n-\n-sv_net_client_message_process_time_ms_drop_rate 200 (release)\n-\tDrop a client if processing their messages consumes more than N ms of CPU time per second, sustained (token bucket fill rate)\n-\n-sv_net_client_message_process_time_ms_warn_burst 50 (release)\n-\tWarn if processing messages from a client consumes more than N ms of CPU time in a burst (token bucket capacity)\n-\n-sv_net_client_message_process_time_ms_warn_rate 5 (release)\n-\tWarn if processing messages from a client consumes more than N ms of CPU time per second, sustained (token bucket fill rate)\n-\n sv_netprof_delta_sharing_temp false (release)\n \tTemp counter for measuring performance impact of some network changes. To be removed by the end of Sept 2026\n \n@@ -11652,9 +11706,6 @@ sv_rcon_minfailuretime 30 (min: 1, developmentonly defensive)\n sv_record_item_time_data false (gamedll release)\n \tTurn on recording of per player item time data into the server log.\n \n-sv_recvbuf_messages 1024 (developmentonly defensive)\n-\tMax number of messages that can be queued in a netchan receive buffer for an ordinary connection from a client.\n-\n sv_regeneration_force_on false (gamedll cheat)\n \tCheat to test regenerative health systems\n \n@@ -12687,6 +12738,9 @@ videocfg_fsr_detail 0 (developmentonly clientdll defensive)\n videocfg_hdr_detail -1 (developmentonly clientdll defensive)\n \t<no description>\n \n+videocfg_parallax_detail 0 (developmentonly clientdll defensive)\n+\t<no description>\n+\n videocfg_particle_detail 1 (developmentonly clientdll defensive)\n \t<no description>\n \n@@ -12900,6 +12954,9 @@ vprof_counters 0 (developmentonly defensive)\n vprof_counters_show_minmax false (developmentonly defensive)\n \t<no description>\n \n+vprof_lite_auto true (release)\n+\tLet demo playback and the game rules start, dump and stop the vprof lite profiler on their own. The vprof_lite_start, vprof_lite_stop and vprof_lite_dump commands set this to 0 so that a script can drive the profiler itself.\n+\n vprof_scope_entity_clientthink false (developmentonly clientdll hidden defensive)\n \tDoes nothing whatsoever.\n "
},
{
"filename": "DumpSource2/entities/client.fgd",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -1815,6 +1815,7 @@\n \tenvpuddlerippledirection(float) // FIELD_FLOAT32 m_flEnvPuddleRippleDirection\n \tenvwetnesscoverage(float) // FIELD_FLOAT32 m_flEnvWetnessCoverage\n \tenvwetnessdryingamount(float) // FIELD_FLOAT32 m_flEnvWetnessDryingAmount\n+\tfrostenabled(boolean) // FIELD_BOOLEAN m_bFrostEnabled\n \tinput FireWinCondition(integer) // PVAL_INT param\n ]\n "
},
{
"filename": "DumpSource2/entities/server.fgd",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -3108,6 +3108,7 @@\n \tenvpuddlerippledirection(float) // FIELD_FLOAT32 m_flEnvPuddleRippleDirection\n \tenvwetnesscoverage(float) // FIELD_FLOAT32 m_flEnvWetnessCoverage\n \tenvwetnessdryingamount(float) // FIELD_FLOAT32 m_flEnvWetnessDryingAmount\n+\tfrostenabled(boolean) // FIELD_BOOLEAN m_bFrostEnabled\n \tinput FireWinCondition(integer) // PVAL_INT param\n ]\n "
},
{
"filename": "DumpSource2/module_metadata/client/resource_manifests.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -278,7 +278,7 @@ GameStartup \"RenderingPipelineCsgoManifest\" // src/game/client/cstrike15/renderi\n \tmaterials/dev/water_droplets.vtex\n \tmaterials/dev/water_waves.vtex\n \tmaterials/dev/water_flowing.vtex\n-\tmaterials/dev/snow_sparkle.vtex\n+\tmaterials/dev/frost.vtex\n \tmaterials/dev/rain_ripples.vtex\n \tmaterials/dev/custom_cubemap_001.vtex\n \tmaterials/dev/overlay_smoke.vmat"
},
{
"filename": "DumpSource2/network/client.txt",
"status": "modified",
"additions": 2,
"deletions": 3,
"changes": 5,
"patch": "@@ -58,7 +58,6 @@ CBaseFilter\n CBasePlayerController\n \tinclude by name: m_pEntity, m_flSimulationTime, m_flCreateTime, m_iTeamNum, m_nNextThinkTick, m_fFlags\n \tinclude by user group: LocalPlayerExclusive, LocalPlayerAndPredictorsExclusive\n-\toverrides: m_nNextThinkTick userGroup LocalPlayerAndPredictorsExclusive\n \tuser group proxies: LocalPlayerExclusive, LocalTeamExclusive, LocalPlayerAndObserversExclusive, LocalPlayerAndPredictorsExclusive\n \treplay compat fields: m_skeletonInstance\\.m_vecOrigin\\..*| OnReplayCompat_GameSceneNodeOriginAngles\n \tuint32 m_nTickBase (priority: 1; user groups: LocalPlayerAndPredictorsExclusive)\n@@ -994,7 +993,7 @@ C_BasePlayerPawn\n \texclude by name: m_pWeaponServices, m_pItemServices, m_pAutoaimServices, m_pObserverServices, m_pWaterServices, m_pUseServices, m_pFlashlightServices, m_pMovementServices\n \tinclude by user group: Player, Water, LocalPlayerExclusive, LocalPlayerAndPredictorsExclusive\n \texclude by user group: FogController\n-\toverrides: CNetworkOriginCellCoordQuantizedVector::m_vecX bitCount 32, CNetworkOriginCellCoordQuantizedVector::m_vecY bitCount 32, CNetworkOriginCellCoordQuantizedVector::m_vecZ bitCount 32, m_lifeState changeCallback OnLifeStateChanged, m_nNextThinkTick userGroup LocalPlayerAndPredictorsExclusive\n+\toverrides: CNetworkOriginCellCoordQuantizedVector::m_vecX bitCount 32, CNetworkOriginCellCoordQuantizedVector::m_vecY bitCount 32, CNetworkOriginCellCoordQuantizedVector::m_vecZ bitCount 32, m_lifeState changeCallback OnLifeStateChanged\n \tuser group proxies: LocalPlayerExclusive\n \tCPlayer_WeaponServices * m_pWeaponServices\n \tCPlayer_ItemServices * m_pItemServices\n@@ -1829,7 +1828,7 @@ C_Hostage\n \tCHandle< CBaseEntity> m_leader (sent as: ehandle)\n \tCountdownTimer m_reuseTimer\n \tVector m_vel\n-\tbool m_isRescued (change callbacks: RecvProxy_Rescued)\n+\tbool m_isRescued\n \tbool m_jumpedThisFrame (change callbacks: RecvProxy_Jumped)\n \tint m_nHostageState (change callbacks: OnHostageStateChanged)\n \tbool m_bHandsHaveBeenCut"
},
{
"filename": "DumpSource2/network/server.txt",
"status": "modified",
"additions": 0,
"deletions": 1,
"changes": 1,
"patch": "@@ -273,7 +273,6 @@ CBasePlatTrain\n CBasePlayerController\n \tinclude by name: m_pEntity, m_flSimulationTime, m_flCreateTime, m_iTeamNum, m_nNextThinkTick, m_fFlags\n \tinclude by user group: LocalPlayerExclusive, LocalPlayerAndPredictorsExclusive\n-\toverrides: m_nNextThinkTick userGroup LocalPlayerAndPredictorsExclusive\n \tuser group proxies: LocalPlayerExclusive, LocalTeamExclusive, LocalPlayerAndObserversExclusive, LocalPlayerAndPredictorsExclusive\n \tnetwork class\n \tuint32 m_nTickBase (priority: 1; user groups: LocalPlayerAndPredictorsExclusive)"
},
{
"filename": "DumpSource2/schemas/client/CMapInfo.h",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -15,4 +15,5 @@ class CMapInfo : public C_PointEntity\n \tfloat32 m_flEnvPuddleRippleDirection;\n \tfloat32 m_flEnvWetnessCoverage;\n \tfloat32 m_flEnvWetnessDryingAmount;\n+\tbool m_bFrostEnabled;\n };"
},
{
"filename": "DumpSource2/schemas/client/CNmAimCSNode__CDefinition.h",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -12,4 +12,5 @@ class CNmAimCSNode::CDefinition : public CNmPassthroughNode::CDefinition\n \tfloat32 m_flHandIKBlendInTimeSeconds;\n \tfloat32 m_flActionBlendTimeSeconds;\n \tfloat32 m_flPlantingBlendTimeSeconds;\n+\tfloat32 m_flTransitionBlendTimeSeconds;\n };"
},
{
"filename": "DumpSource2/schemas/client/C_Hostage.h",
"status": "modified",
"additions": 0,
"deletions": 1,
"changes": 1,
"patch": "@@ -14,7 +14,6 @@ class C_Hostage : public C_BaseCombatCharacter\n \tGameTime_t m_flRescueStartTime;\n \tGameTime_t m_flGrabSuccessTime;\n \tGameTime_t m_flDropStartTime;\n-\tGameTime_t m_flDeadOrRescuedTime;\n \tCountdownTimer m_blinkTimer;\n \tVectorWS m_lookAt;\n \tCountdownTimer m_lookAroundTimer;"
},
{
"filename": "DumpSource2/schemas/client/EventClientPollNetworking_t.h",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -2,4 +2,5 @@\n class EventClientPollNetworking_t\n {\n \tint32 m_nTickCount;\n+\tint32 m_nTotalTicks;\n };"
},
{
"filename": "DumpSource2/schemas/modtools/CNmGraphDocAimCSNode.h",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -4,4 +4,5 @@ class CNmGraphDocAimCSNode : public CNmGraphDocFlowNode\n \tfloat32 m_flActionBlendTimeSeconds; // = 0.4\n \tfloat32 m_flHandIKBlendInTimeSeconds; // = 0.3\n \tfloat32 m_flPlantingBlendTimeSeconds; // = 0.2\n+\tfloat32 m_flTransitionBlendTimeSeconds; // = 0.3\n };"
},
{
"filename": "DumpSource2/schemas/server/CMapInfo.h",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -15,4 +15,5 @@ class CMapInfo : public CPointEntity\n \tfloat32 m_flEnvPuddleRippleDirection;\n \tfloat32 m_flEnvWetnessCoverage;\n \tfloat32 m_flEnvWetnessDryingAmount;\n+\tbool m_bFrostEnabled;\n };"
},
{
"filename": "Protobufs/netmessages.proto",
"status": "modified",
"additions": 2,
"deletions": 1,
"changes": 3,
"patch": "@@ -418,9 +418,10 @@ message CSVCMsg_CreateStringTable {\n \toptional int32 user_data_size_bits = 5;\n \toptional int32 flags = 6;\n \toptional bytes string_data = 7;\n-\toptional int32 uncompressed_size = 8;\n \toptional bool data_compressed = 9;\n \toptional bool using_varint_bitcounts = 10;\n+\n+\treserved 8;\n }\n \n message CSVCMsg_UpdateStringTable {"
},
{
"filename": "Protobufs/source2_steam_stats.proto",
"status": "modified",
"additions": 4,
"deletions": 0,
"changes": 4,
"patch": "@@ -24,6 +24,9 @@ message CMsgSource2SystemSpecs {\n \toptional string cpu_brand = 2;\n \toptional uint32 cpu_model = 3;\n \toptional uint32 cpu_num_physical = 4;\n+\toptional uint32 cpu_num_logical = 5;\n+\toptional uint32 cpu_num_performance = 6;\n+\toptional uint32 cpu_num_efficiency = 7;\n \toptional uint32 ram_physical_total_mb = 21;\n \toptional string gpu_rendersystem_dll_name = 41;\n \toptional uint32 gpu_vendor_id = 42;\n@@ -34,6 +37,7 @@ message CMsgSource2SystemSpecs {\n \toptional uint32 gpu_texture_memory_size_mb = 47;\n \toptional uint32 backbuffer_width = 51;\n \toptional uint32 backbuffer_height = 52;\n+\toptional uint32 thread_pool_workers = 61;\n }\n \n message CMsgSource2VProfLiteReportItem {"
},
{
"filename": "game/bin/built_from_cl.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -1 +1 @@\n-11206685\n+11228763"
},
{
"filename": "game/bin/win64/animationsystem_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -2586,6 +2586,7 @@ Cant find specified effector bone ID ('%s') for two bone IK\n Ceiling - round float up to nearest integer)\n Ceiling Float\n Chain Lookat\n+Chain Lookat Task - Trying to perform a chain lookat on top of an additive pose, this is not allowed!\n Check Requirement\n Check Type\n Check if any element of 'a' compares equal to 'element'."
},
{
"filename": "game/bin/win64/csgocfg.exe_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -167,7 +167,7 @@\n .CRT$XIAC\n .fgd\n /e,/select,\"\n-15:32:27\n+09:24:20\n 1AcceptIfItemPicked()\n 1OnAccept()\n 1OnAddonDoubleClicked()"
},
{
"filename": "game/bin/win64/engine2_strings.txt",
"status": "modified",
"additions": 71,
"deletions": 121,
"changes": 192,
"patch": "@@ -624,7 +624,6 @@ $tI(knN\n %s ProcessBaselineAck: null frame snapshot (%d)\\n\n %s Received SpawnGroup_LoadCompleted on client '%s'\\n\n %s Unload\\n\n-%s [%d]\n %s [%s from %d to %d - %d entities]\n %s [%s]\n %s allocation count overflow\n@@ -799,6 +798,7 @@ $tI(knN\n ' in trial: \"\n '%s' already awaiting full update\\n\n '%s' is malformed\\n\n+'%s' is not a boolean; use %s=0 or %s=1\\n\n (%d,%d)\n (*MARK) must have an argument\n (*VERB) not recognized\n@@ -864,6 +864,7 @@ $tI(knN\n , clipping_threshold: \n , compression_gain_db: \n , crest_factor_margin: \n+, data cleared\n , enable_digital_adaptive: \n , enable_limiter: \n , enforce_high_pass_filtering: \n@@ -873,6 +874,8 @@ $tI(knN\n , ignored.\n , initial_gain_db: \n , initial_level: \n+, keeping data\n+, keeping existing data\n , level: \n , localization %s\n , max_gain_change_db_per_second: \n@@ -1693,7 +1696,6 @@ $tI(knN\n .?AVCHLTVFrame@@\n .?AVCHLTVServer@@\n .?AVCHLTVServerAsync@@\n-.?AVCHiddenFieldValuePrinter@@\n .?AVCHostStateMgr@@\n .?AVCHostSubscribeForProfileEvents@@\n .?AVCHttpCallback@CHLTVBroadcast@@\n@@ -1715,7 +1717,6 @@ $tI(knN\n .?AVCLambdaJob@?1???$QueueJobWithFlags@V<lambda_1>@?BK@??ServerBeginSimulate@CNetworkGameServerBase@@UEAAXAEBUEventServerBeginSimulate_t@@@Z@@IThreadPool@@QEAA?AV?$CSmartPtr@VCThreadedJob@@VCRefCountAccessor@@@@PEBDW4JobPriority_t@@I$$QEAV<lambda_1>@?BK@??ServerBeginSimulate@CNetworkGameServerBase@@UEAAXAEBUEventServerBeginSimulate_t@@@Z@@Z@\n .?AVCLambdaJob@?1???$QueueJobWithFlags@V<lambda_1>@?L@??LaunchAsyncBeginRenderingViewsJob@CRenderService@@UEAAXAEBUEventClientPreOutput_t@@_N@Z@@IThreadPool@@QEAA?AV?$CSmartPtr@VCThreadedJob@@VCRefCountAccessor@@@@PEBDW4JobPriority_t@@I$$QEAV<lambda_1>@?L@??LaunchAsyncBeginRenderingViewsJob@CRenderService@@UEAAXAEBUEventClientPreOutput_t@@_N@Z@@Z@\n .?AVCLambdaJob@?1???$QueueJobWithFlags@V<lambda_2>@?BA@??LaunchAsyncBeginRenderingViewsJob@CRenderService@@UEAAXAEBUEventClientPreOutput_t@@_N@Z@@IThreadPool@@QEAA?AV?$CSmartPtr@VCThreadedJob@@VCRefCountAccessor@@@@PEBDW4JobPriority_t@@I$$QEAV<lambda_2>@?BA@??LaunchAsyncBeginRenderingViewsJob@CRenderService@@UEAAXAEBUEventClientPreOutput_t@@_N@Z@@Z@\n-.?AVCLambdaJob@?1???$QueueJobWithFlags@V<lambda_3>@?BJ@??ProcessReadPacketEntitiesWorkItems@CNetworkGameClient@@AEAAXW4RPEStatType_t@@AEAVCEntityReadInfo@@@Z@@IThreadPool@@QEAA?AV?$CSmartPtr@VCThreadedJob@@VCRefCountAccessor@@@@PEBDW4JobPriority_t@@I$$QEAV<lambda_3>@?BJ@??ProcessReadPacketEntitiesWorkItems@CNetworkGameClient@@AEAAXW4RPEStatType_t@@AEAVCEntityReadInfo@@@Z@@Z@\n .?AVCLoadAutoCompletionFunctor@@\n .?AVCLoadSpawnGroupsPrerequisite@@\n .?AVCLoadStartupResourcePrerequisite@@\n@@ -1836,71 +1837,6 @@ $tI(knN\n .?AVCPipedCommandLogRedirector@@\n .?AVCPlayDemoClientPrerequisite@@\n .?AVCPostConnectCallback@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$03VCNETMsg_Tick@@$0BA@$0A@$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$04VCNETMsg_StringCmd@@$08$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$05VCNETMsg_SetConVar@@$08$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$06VCNETMsg_SignonState@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$07VCNETMsg_SpawnGroup_Load@@$0P@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$08VCNETMsg_SpawnGroup_ManifestUpdate@@$0P@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VC2S_CONNECTION_Message@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VC2S_CONNECT_Message@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VNetMessageConnectionClosed@@$0L@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VNetMessageConnectionCrashed@@$0L@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VNetMessageSplitscreenUserChanged@@$0L@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BA@VCBidirMsg_RebroadcastGameEvent@@$04$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BB@VCBidirMsg_RebroadcastSource@@$04$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BD@VCBidirMsg_PredictionEvent@@$0A@$0A@$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BE@VCCLCMsg_ClientInfo@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BF@VCCLCMsg_Move@@$07$0A@$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BG@VCCLCMsg_VoiceData@@$05$0A@$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BH@VCCLCMsg_BaselineAck@@$0BA@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJ@VCCLCMsg_RespondCvarValue@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BL@VCCLCMsg_LoadingProgress@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BM@VCCLCMsg_SplitPlayerConnect@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BO@VCCLCMsg_SplitPlayerDisconnect@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BP@VCCLCMsg_ServerStatus@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CB@VCCLCMsg_RequestPause@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CC@V?$CBaseCmdKeyValues@VCCLCMsg_CmdKeyValues@@@@$08$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CD@VCCLCMsg_RconServerDetails@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CE@VCCLCMsg_HltvReplay@@$0BB@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CF@VCCLCMsg_Diagnostic@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CI@VCSVCMsg_ServerInfo@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CJ@VCSVCMsg_FlattenedSerializerWrapper@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CK@VCSVCMsg_ClassInfo@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CL@VCSVCMsg_SetPause@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CM@VCSVCMsg_CreateStringTable@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CN@VCSVCMsg_UpdateStringTable@@$06$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CO@VCSVCMsg_VoiceInit@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0CP@VCSVCMsg_VoiceData@@$05$0A@$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DA@VCSVCMsg_Print@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DB@VCSVCMsg_Sounds@@$03$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DC@VCSVCMsg_SetView@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DD@VCSVCMsg_ClearAllStringTables@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DE@V?$CBaseCmdKeyValues@VCSVCMsg_CmdKeyValues@@@@$08$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DG@VCSVCMsg_SplitScreen@@$09$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DH@VCSVCMsg_PacketEntities@@$0?0$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DI@VCSVCMsg_Prefetch@@$03$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DJ@VCSVCMsg_Menu@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DK@VCSVCMsg_GetCvarValue@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DL@VCSVCMsg_StopSound@@$03$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DM@VCSVCMsg_PeerList@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DN@VCSVCMsg_PacketReliable@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DO@VCSVCMsg_HLTVStatus@@$0A@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0DP@VCSVCMsg_ServerSteamID@@$0A@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EAAAAAAA@VNetMessagePacketStart@@$0L@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EAAAAAAB@VNetMessagePacketEnd@@$0L@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EG@VCSVCMsg_FullFrameSplit@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EH@VCSVCMsg_RconServerDetails@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EI@VCSVCMsg_UserMessage@@$0N@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EK@VCSVCMsg_HltvReplay@@$0BB@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EL@VCCLCMsg_HltvFixupOperatorTick@@$0BB@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EM@VCSVCMsg_UserCommands@@$0BB@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EN@VCSVCMsg_NextMsgPredicted@@$0BB@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0EO@VCSVCMsg_EncryptedData@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0L@VCNETMsg_SpawnGroup_SetCreationTick@@$0P@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0M@VCNETMsg_SpawnGroup_Unload@@$0P@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0N@VCNETMsg_SpawnGroup_LoadCompleted@@$0P@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0P@VCNETMsg_DebugOverlay@@$0BA@$00$0A@@@\n .?AVCPulseCell_Base@@\n .?AVCPulseCell_BaseFlow@@\n .?AVCPulseCell_BaseRequirement@@\n@@ -2199,7 +2135,6 @@ $tI(knN\n .?AVIPrerequisiteRegistry@@\n .?AVIPrintChangedConvarsWriter@@\n .?AVIProceduralLayerRenderer@@\n-.?AVIProtobufBinding@@\n .?AVIPulseCellDebugInfo@@\n .?AVIPulseInstanceLoadAPI@@\n .?AVIPulseInstanceSaveAPI@@\n@@ -2452,6 +2387,7 @@ $tI(knN\n 00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\n 0123456789abcdef\n 0123456789abcdefghijklmnopqrstuvwxyz\n+09:25:33\n 0: run all send jobs on main thread; 1: send jobs run asynchronously (except on dedicated server); 2: send jobs asynchronously; 3: send jobs run in parallel but block to not overlap the next tick; 4: main server clients' send jobs run in parallel, then HLTV server jobs; this approximately matches pre-async profile for a single HLTV server configuration\n 0=Off, 1=Surface Wireframe, 2=Transparent Wireframe\n 0=Off, 1=Visualize trace from camera, 2=Visualize occlusion, 3=Visualize far field trace from camera\n@@ -2465,7 +2401,6 @@ $tI(knN\n 1#SNAN\n 1.2.11\n 127.0.0.1\n-15:35:28\n 1:1: Tokens : ( T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | TOK_COLON | OPEN_BRACE | CLOSE_BRACE | OPEN_PAREN | CLOSE_PAREN | OPEN_BRACKET | CLOSE_BRACKET | SEMICOLON | OP_EQUAL | COMMA | DOUBLE_AND | NEGATIVE_TOK | DOUBLE_OR | LITERAL_TRUE | LITERAL_FALSE | POS_INTLITERAL | POS_FLOATLITERAL | SCOPE_QUALIFIER | ID | DOUBLE_QUOTED_STRING | SINGLE_QUOTED_STRING | SINGLE_LINE_COMMENT | ML_COMMENT | WS | UNRECOGNIZED );\n 200000\n 3$EE\\f\n@@ -2695,7 +2630,6 @@ $tI(knN\n ?GetType@netadr_t@@QEBA?AW4netadrtype_t@@XZ\n ?GetUint64@KeyValues@@QEBA_KPEBD_K@Z\n ?HandlerQueueHeartBeat@MiniDumpStandardData_t@@QEBAXXZ\n-?HaveWriteLock_BlockReadsNow@CThreadRWLock_FastRead@@QEAAX_N@Z\n ?InitEmpty@CStrAutoEncode@@AEAAXXZ\n ?Insert@CBufferString@@QEAAPEBDHPEBDH_N@Z\n ?InternalPop@CTSListBase@@AEAAPEAUTSLNodeBase_t@@XZ\n@@ -2758,7 +2692,6 @@ $tI(knN\n ?ReadAsBinary@KeyValues@@QEAA_NAEAVCUtlBuffer@@@Z\n ?RecursiveSaveToFile@KeyValues@@QEBAXAEAVCUtlBuffer@@H_N1@Z\n ?RegisterEventListener_Base@CEventDispatcher_Base@@IEAAXAEBVCUtlAbstractDelegate@@I_NAEAV?$CUtlVector@UEventListenerInfo_t@CEventDispatcher_Base@@HV?$CUtlVectorMemory_Growable@UEventListenerInfo_t@CEventDispatcher_Base@@H$0A@@@@@HPEBD@Z\n-?Relinquish@CBufferString@@QEAAPEADW4EAllocationOption_t@1@@Z\n ?Remove@CUtlString@@QEBA?AV1@PEBD_N@Z\n ?RemoveAll@CUtlSymbolTable@@QEAAXXZ\n ?RemoveAt@CBufferString@@QEAAPEBDHH@Z\n@@ -3218,10 +3151,9 @@ Bulgarian\n By default, player must ack delta ticks in order. How to enforce it: 2 = kick all clients, 1 = kick only TV clients, 0 = do not kick.\n By default, player must maintain a reliable connection to Steam servers. When player Steam session drops, enforce it: 2 = instantly kick, 1 = kick at next spawn, 0 = do not kick.\n Bypass secure challenge on TV port\n-C2S_CONNECTION_Message_t::GetProtobufBinding()->WriteToBuffer failed\\n\n+C2S_CONNECTION_Message_t::WriteSizeAndBodyToBuffer failed\\n\n C:\\buildworker\\csgo_rel_win64\\build\\_build_\\engine2\\_vpc_engine2\\default\\win64\\_msvc_\\Retail\\engine2.pdb\n C:\\buildworker\\csgo_rel_win64\\build\\src\\bitmap\\floatbitmap.cpp\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\common\\protobuf_helpers.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\basespawngroup.h\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\cl_demo.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\cl_ents_parse.cpp\n@@ -3243,22 +3175,22 @@ C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\loopmoderemoteconnect.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\looptypeclientserver.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkclientservice.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclient.cpp\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclient.cpp:2666\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclient.cpp:3674\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclient.cpp:4458\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclient.cpp:4754\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclient.cpp:2681\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclient.cpp:3706\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclient.cpp:4550\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclient.cpp:4846\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclientbase.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclientbase.cpp:2819\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclientbase.cpp:4519\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameclientbase.cpp:4561\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserver.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserver.cpp:1053\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:3085\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:5769\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:5835\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:5924\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:5930\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:3086\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:5764\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:5830\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:5919\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkgameserverbase.cpp:5925\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkp2pservice.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkserverservice.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\engine2\\networkstringtable.cpp\n@@ -3547,7 +3479,6 @@ CHLTVClientState::ProcessClassInfo: expecting to re-create serializers from serv\n CHLTVClientState::SendPacket\n CHLTVDemoRecorder::CullSpawnGroups culling message %s, spawngroup %s was never created\\n\n CHLTVDemoRecorder::CullSpawnGroups culling message at %d unable to unserialize. %s\\n\n-CHLTVDemoRecorder::CullSpawnGroups culling message at unknown handle\\n\n CHLTVDemoRecorder::ParseMessage: Failed to serialize message\\n\n CHLTVDemoRecorder::WriteFrame\n CHLTVDemoRecorder::WriteFrame: Failed to serialize CNETMsg_Tick_t\\n\n@@ -3717,6 +3648,7 @@ CNetworkGameClient::InternalProcessPacketEntities\n CNetworkGameClient::OnPreserveEntity\n CNetworkGameClient::ProcessClassInfo: create on client %s\\n\n CNetworkGameClient::ProcessClassInfo: creating client serializers from local server serializers (crc %u, server api %s)\\n\n+CNetworkGameClient::ProcessClassInfo: failed to parse cached CSVCMsg_FlattenedSerializer_t: %s\\n\n CNetworkGameClient::ProcessClassInfo: parsing serializers from cache due to matching crc %u\\n\n CNetworkGameClient::ProcessTick( -1 ), ignoring during demo playback\\n\n CNetworkGameClient::SendMoveInternal: Send delayed due to !CanPacket, tick=%d\\n\n@@ -3745,8 +3677,8 @@ CNetworkGameServerBase::ConnectClient( name='%s', remote='%s' )\\n\n CNetworkGameServerBase::ReplyConnection\n CNetworkGameServerBase::SetServerState (%s -> %s)\\n\n CNetworkP2PService\n-CNetworkP2PService::InternalBroadcastP2PNetMessage: SerializeAbstract for message %s failed!\\n\n-CNetworkP2PService::InternalBroadcastP2PNetMessage: SerializeAbstract for message %s overflowed!\\n\n+CNetworkP2PService::InternalBroadcastP2PNetMessage: Serialize for message %s failed!\\n\n+CNetworkP2PService::InternalBroadcastP2PNetMessage: Serialize for message %s overflowed!\\n\n CNetworkP2PService::UpdatePeerConnectionStatus\n CNetworkSerializerClassInfo::Get( %s ) failed!\\n\n CNetworkServerCreatePrerequisites\n@@ -3768,7 +3700,8 @@ CNetworkServerSpawnGroup_WaitForChildSpawnGroups\n CNetworkServerSpawnGroup_WaitForClients\n CNetworkServerSpawnGroup_WaitForOwnerSpawnGroupPrerequisite\n CNetworkStringTable::AddString: client added string which server didn't put into table (consider SetAllowClientSideAddString?): %s %s\\n\n-CNetworkStringTableClient::ParseUpdate: message too large (%d bytes > %d).\n+CNetworkStringTableClient::ParseUpdate: bogus user data size (%d bytes, max %d).\n+CNetworkStringTableClient::ParseUpdate: failed to decompress user data for table %s\n CNetworkStringTableContainer::CreateStringTable\n CNetworkStringTableContainer::CreateStringTable with nullptr table name!\n CNetworkStringTableContainer::DirectUpdate\n@@ -3951,8 +3884,8 @@ CUtlLeanVectorBase<struct UtlLinkedListElem_t<struct CSequentialPrerequisite::Pr\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class CUtlSymbolLarge,class CEntityNameList *,class CDefLess<class CUtlSymbolLarge>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class INetworkClientService::CEventIDManager_RelayedClientMessage::EventID_t,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<class INetworkClientService::CEventIDManager_RelayedClientMessage::EventID_t>,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class IPeerGroupHandler::CEventIDManager_IPeerGroupHandler::EventID_t,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<class IPeerGroupHandler::CEventIDManager_IPeerGroupHandler::EventID_t>,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity\n-CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class IProtobufBinding const *,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<class IProtobufBinding const *>,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class SchemaMetaInfoHandle_t<class CSchemaClassInfo>,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<class SchemaMetaInfoHandle_t<class CSchemaClassInfo> >,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity\n+CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<struct NetMessageHandle_t__ *,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<struct NetMessageHandle_t__ *>,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<unsigned int,class CNetworkClientSpawnGroup *,class CDefLess<unsigned int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<unsigned int,class CNetworkServerSpawnGroup *,class CDefLess<unsigned int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<unsigned int,class CPVS *,class CDefLess<unsigned int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n@@ -4280,6 +4213,7 @@ CreateInterface\n CreateNewThreadPool\n CreateProcessA\n CreateSimpleThread\n+CreateStringTable @%d: failed to decompress string table data for %s\\n\n CreateStringTable @%d\\n\n CreateThread\n CreateThreadpoolWork\n@@ -4356,7 +4290,7 @@ DeclareCurrentThreadIsMainThread\n DeclareCurrentThreadIsSecondaryMainThread\n DecodeClassBaseline\n DecodeClassBaseline: NULL instance baseline table\n-DecodeDemoNetMessage Failed to parse message\\n\n+DecodeDemoNetMessage Failed to parse message %s: %s\\n\n DecodePointer\n DecreaseAverage\n DecreaseRate\n@@ -4634,6 +4568,7 @@ EnumValueOptions\n Enums must contain at least one value.\n Error\n Error - No tick marked\\n\n+Error - Not currently playing back a demo. To start playback at a tick, use playdemo <file> start=<tick>.\\n\n Error - Not currently playing back a demo.\\n\n Error in bitbuf [%s]: buffer overrun. Debug in bitbuf_errorhandler.cpp\\n\n Error in bitbuf [%s]: out of range value. Debug in bitbuf_errorhandler.cpp\\n\n@@ -4705,7 +4640,6 @@ EventSetTime_t\n EventSimpleLoopFrameUpdate_t\n EventSimulate_t\n EventSplitScreenStateChanged_t\n-Events\n Exceeds Maximum Package Depth\n Excess render blocks detected at block \n Excessive frame time of %.2fms (due to '%s') clamped. Acting as if the frame only took %.2fms\\n\n@@ -4866,6 +4800,7 @@ Failed to start recording movie: %s.*: %s\\n\n Failed to successfully serialize connect message\n Failed to update on remove script entity %s of type %s: script entity instance is null\\n\n Failed to write file %s, configFileType %d, nSlot %d\\n\n+Failed to write vprof lite report to %s\\n\n Failure\n False\n February\n@@ -4981,6 +4916,7 @@ Force full sendtable sending path.\n Force uncompressed update\n Force user input to this split screen player.\n ForceFixedAppIds\n+ForceUseBuildVersion\n Forced by cvar\\n\n Forcing engine to render for the next %d frames\\n\n FormatMessageA\n@@ -5047,7 +4983,6 @@ GRU1\n Gain change detected at block \n GainController2;\n Game\n-Game Engine\n Game Server is not running\\n\n Game Time\n Game Time %s, Mod \"%s\", Map \"%s\"\\n\n@@ -5086,7 +5021,6 @@ Generate a report to the console based on budget group.\n Generate a report to the console.\n Generate an assert to test shipping assertion code\n Generated Panorama Layout XSD in %0.2f seconds.\n-Generic\n Georgian\n German\n Get Integer Attribute\n@@ -5275,7 +5209,6 @@ Highest unlocked game chapter.\n Highlight expensive physics objects\n Highlight expensive physics objects strength\n Hiragana\n-Hltv Replay\n Hltv Replay Failure: cannot find stash %d\\n\n Hltv Replay failure: HLTV frame is not ready\\n\n Hltv Replay failure: Hltv replay is not enabled\\n\n@@ -5432,7 +5365,7 @@ Invalid JPEG file structure: SOS before SOF\n Invalid JPEG file structure: missing SOS marker\n Invalid JPEG file structure: two SOF markers\n Invalid JPEG file structure: two SOI markers\n-Invalid S2C_CONNECTION packet\n+Invalid S2C_CONNECTION packet: %s\n Invalid SOS parameters for sequential JPEG\n Invalid Steam key size\n Invalid argument\n@@ -5566,6 +5499,7 @@ LeavePVS\n LegacyGameUI001\n LegacyUserSettingsPathID\n Lepcha\n+Let demo playback and the game rules start, dump and stop the vprof lite profiler on their own. The vprof_lite_start, vprof_lite_stop and vprof_lite_dump commands set this to 0 so that a script can drive the profiler itself.\n LevelLoad\n Lexer encountered %d error(s)\n Limbu\n@@ -5590,6 +5524,7 @@ LoadAppSystems: appSystems Load(finish)\n LoadAppSystems: finished\n LoadAppSystems: pre game/client services %f msec\n LoadAppSystems: %d modAppSystems took %f msec\n+LoadDataTablesFromBuffer: failed to parse CSVCMsg_FlattenedSerializer_t: %s\\n\n LoadDemoClassInfos: can't allocate %d C_ServerClassInfos.\\n\n LoadDemoClassInfos: invalid class index (%d).\\n\n LoadImageA\n@@ -5771,13 +5706,12 @@ Max SourceTV spectator bandwidth rate allowed, 0 == unlimited\n Max bandwidth rate allowed on server, 0 == unlimited\n Max number of broadcast http requests in flight. If there is a network issue, the requests may start piling up, degrading server performance. If more than the specified number of requests are in flight, the new requests are dropped.\n Max number of broadcast1 http requests in flight. If there is a network issue, the requests may start piling up, degrading server performance. If more than the specified number of requests are in flight, the new requests are dropped.\n-Max number of messages that can be queued in a netchan receive buffer for an ordinary connection from a client.\n Max number of ticks to simulate per frame, after which simulation will start to slow down compared to real time.\n Max number of times a user can fail rcon authentication before being banned\n Maximum allowable entity delta size over unreliable delivery.\n Maximum amount of minutes to save history (0 is unlimited).\n Maximum client number on SourceTV server.\n-Maximum number of ticks the clock is allowed to drift before the client snaps its clock to the server's.\n+Maximum duration the client clock is allowed to drift from server snapshots, before the client snaps its clock to the latest server snapshot received\n Maximum queries per second to respond to from a single IP address.\n Maximum queries per second to respond to from anywhere.\n Maximum replay time in seconds\n@@ -5848,7 +5782,6 @@ MountAddonSearchPaths: Failed to find CONTENTADDONS search path.\\n\n Mounting addon '%s'\\n\n Mouse\n Mouse Control\n-Move\n Moves the camera position + orientation to the named entity\n Moves the camera position + orientation to the specified position\n Movie\n@@ -5958,8 +5891,8 @@ No such device\n No such device or address\n No such file or directory\n No such process\n-No vprof lite data available?\\n\n No vprof lite data recorded\\n\n+No vprof lite data to write to %s\\n\n NoDefaultModPath\n NoKeyBindings\n NoLicenseOrExpired\n@@ -5973,6 +5906,7 @@ Not a JPEG file: starts with 0x%02x 0x%02x\n Not a SourceTV proxy\n Not a directory\n Not creating socket NS_HLTV due to -nohltv command line option.\\n\n+Not currently playing back a demo. demo_timescale will take effect when playback starts\\n\n Not enough space\n Not implemented yet\n Not logged into Steam, Steam auth will fail\\n\n@@ -5981,7 +5915,7 @@ Not saving user configuration because host_readconfig_ignore_userconfig is set.\\\n Not supported.\n Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. Therefore, \"\n Note: should use \"addip\" instead of \"banip\".\\n\n-Nov 2 2026\n+Nov 11 2026\n November\n Now recording to \"%s\", immediate mode, recorded length so far is %s.\\n\n Now recording to \"%s\", recorded length so far is %s.\\n\n@@ -6073,6 +6007,7 @@ OneofOptions\n Online %s, FPS %.1f, Version %i (%s)\\n\n Only DXT1/DXT5 online texture compression supported.\\n\n Only SourceTV Master can record demos instantly.\\n\n+Only one filename is allowed; got '%s' and '%s'\\n\n Only one instance of the game can be running at one time.\n Opaque Handle\n Open a VConsole subtool.\n@@ -6207,10 +6142,6 @@ Particle Object\n ParticleSystemMgr003\n PatchVersion\n PathRemoveFileSpecA\n-Path_AddToTail failed for read only CFieldPath\n-Path_AddToTail failed, depth already == DEFAULT_MAX_PATH_DEPTH(%d)\n-Path_PopLast failed for read only CFieldPath\n-Path_SetCount failed, depth already == DEFAULT_MAX_PATH_DEPTH(%d)\n Pause\n Pause the cursor at this point.\n Paused: %s\n@@ -6352,7 +6283,7 @@ Platform the engine is running on.\n Play a broadcast\n Play a demo and report performance info.\n Play a demo, report performance info, and then exit\n-Play a recorded demo file (.dem ).\n+Play a recorded demo file (.dem ). Options: start=<tick> end=<tick> timescale=<float> (run with no arguments for details).\n Play demos in demo sequence.\n Play for N ticks (default=1) and then pause.\n Play next demo in sequence.\n@@ -6426,8 +6357,6 @@ Proceed Elegantly.\n Proceed Immediately.\n ProcesPacketEntitiesWorkItems_Combined\n ProcesPacketEntitiesWorkItems_Combined_Sort\n-ProcesPacketEntitiesWorkItems_Decode\n-ProcesPacketEntitiesWorkItems_ReadFieldList\n Process in-process voice chat microphone audio with the WebRTC audio processing module (requires voice_in_process).\n Process priority: %s, main thread priority: %s\\n\n Process32First\n@@ -6437,6 +6366,7 @@ ProcessBC6HResults\n ProcessBaselineAck: invalid packed entity bit (%i)\\n\n ProcessClassInfo: can't allocate %d C_ServerClassInfos.\\n\n ProcessClassInfo: invalid class index (%d).\\n\n+ProcessCreateStringTable(%s): failed to decompress string table data\\n\\n\n ProcessReadPacketEntitiesWorkItems\n ProcessServerInfo failed\n ProcessServerInfo( %s : %s : #%d ) - client requesting connection abort!\\n\n@@ -6857,7 +6787,7 @@ SV: Setting game load failed flag.\\n\n SV: Spawn Server: %s: [%s]\\n\n SV: Spawn Server: %s\\n\n SV: SpawnServer WriteClassInfosAndSerializesToBuffer %s.\\n\n-SV: Unable to parse C2S_CONNECT_Message_t payload from '%s'\\n\n+SV: Unable to parse C2S_CONNECT_Message_t payload from '%s': %s\\n\n SV: VAC secure mode disabled.\\n\n SV: VAC secure mode is activated.\\n\n SV: WriteBaselines: %20.20s wrote %6d bytes [%36.36s], headroom %6d bytes\\n\n@@ -7110,6 +7040,8 @@ Sets the server to shutdown when all games have completed\n Setting %s=%d\\n\n Setting cl_ticks_warning_level=0 due to %s=false\\n\n Setting main thread priority to %d\\n\n+Setting vprof_lite_auto 0, quitting after playback\\n\n+Setting vprof_lite_auto 0: the game will no longer start, dump or stop the vprof lite profiler on its own\\n\n Settings\n Shavian\n Shooting\n@@ -7167,7 +7099,7 @@ Skipping unknown demo command %d\\n\n Skips the current demo playback to the marked tick\n Skips to a tick in demo.\n Skips to location in demo.\n-Slamming client tick to server tick. abs( server tick %d - client tick %d = %d ) > ( cl_clockdrift_max_ticks %d + sim ticks %d = %d )\\n\n+Slamming client tick to server tick. abs( server tick %d - client tick %d = %d ) > ( cl_clockdrift_max_ticks %.1f + sim ticks %d + jitter margin %.1f = %d )\\n\n Slams viewport size to a specified value.\n Sleep\n SleepAfterMainLoop\n@@ -7193,7 +7125,6 @@ SoundOpSystemEdit001\n SoundService_001\n SoundSystem/SteamAudioEnabled\n SoundSystem001\n-Sounds\n Source2 - Warning\n Source2 Benchmark Results\\n\\n\n Source2 Client\n@@ -7256,7 +7187,6 @@ Spawn\n Spawn Group %d creation sequence %d create tick %d\\n\n Spawn Group %d manifest update (create tick %d)\\n\n Spawn Group %d unload at tick %d ignored\\n\n-Spawn Groups\n Spawn group %s precache manifest overflow: this spawn group will not precache correctly on networked clients.\\n\n SpawnGroup\n Specified too high an adapter number on the command line (%d/%d)!\\n\n@@ -7374,8 +7304,6 @@ StrReplaceChar\n StreamPutOverflow\n StretchBlt\n String\n-String Command\n-String Table\n String field\n String literals cannot cross line boundaries.\n String tables user data bits restricted to %i bits, requested %i is too large\\n\n@@ -7584,11 +7512,12 @@ Tried to register an input value %s with the same name as a concommand/convar!\\n\n Tried to register the same input value %s twice!\\n\n Tried to write clouded file, but we don't have Steam interfaces? Probably bug with order of initialization, or trying to run without steam\\n\n True\n+TrueViewLookAhead activating aggressive slowdown. [%.1f %.1f] -> [%.1f %.1f] [pred_offset buffer_ticks]\\n\n+TrueViewLookAhead activating tick gobble. [%.1f %.1f] -> [%.1f %.1f] [pred_offset buffer_ticks]\\n\n TrueViewLookAhead: aggressive fixup deactivated, desired margin reached\\n\n TrueViewLookAhead: aggressive slowdown deactivated, desired margin reached\\n\n-TrueViewLookAhead: aggressive slowdown stopped; max number of adjustments reached\\n\n-TrueViewLookAhead: changed %d -> %d. Activating tick gobble to get in sync\\n\n-TrueViewLookAhead: changed %d cmds, %.1f ticks -> %d cmds %.1f ticks. Activating aggressive local sim slowdown until we get back sync\\n\n+TrueViewLookAhead: aggressive slowdown engaged to gain %.1fms of margin (up to %.1fms)\\n\n+TrueViewLookAhead: aggressive slowdown stopped; desired margin not reached in time!\\n\n TrueViewLookAhead: gobble canceled, desired margin reached\\n\n TrueViewLookAhead: gobbling. Current tick is %d, we have received a message for tick %d. Processing all messages up to %d now\\n\n TrueViewLookAhead: no excess ticks from server to gobble\\n\n@@ -7691,6 +7620,7 @@ Unbind a key.\n Unbind all keys.\n Under memory limit. Limit is %llu but current usage is %llu.\\n\n Unepxected spawn group %d, %d was expected.\\n\n+Unexpected argument '%s'; options are given as %s=<0|1>\\n\n Unexpected authentication protocol %i!\n Unexpected character\n Unexpected character '%c' (0x%02X)\n@@ -7719,8 +7649,10 @@ Unknown loop type encountered in loop \"%s\"!\\n\n Unknown message in DemoSpawnGroups %d.\\n\n Unknown message in SpawnGroups %d.\\n\n Unknown net message %d!\\n\n+Unknown option '%s'; the only option is %s=<0|1>\\n\n Unknown option '%s'\\n\n Unknown property %s\n+Unknown spawn group message in GetSpawnGroupHandleFromMessage!\\n\n Unknown variable %s\n Unknown variety of crash. You have now failed to crash. I hope you're happy.\\n\n Unknown vtune option.\\n\n@@ -7796,7 +7728,6 @@ Use this to tell Steam to relaunch the app right after existing\n UsecCmdLatency\n Used by the client to inform the server of their desired queue length. Derived from cl_tickpacket_recvmargin_desired and cl_tickpacket_desired_queuelength\n User %s is %s member of clan %s\\n\n-User Messages\n User command %d recv on server %s, tick %d, margin %.1fms. (%s) frame time=%.1fms, LastCommandRecv=%d, LastCommandExecuted=%d\\n\n UserDataFixedSize exceeds size %d needs room for %d bits\\n\n UserSettingsFileEx\n@@ -7979,7 +7910,6 @@ VisBuilder_001\n VisSystemDebug\n Visibility %s.\\n\n Visual C++ CRT: Not enough memory to complete call to strerror.\n-Voice\n Voice/WebRTC: ERL %.1f dB ERLE %.1f dB delay %d ms voice %d frames capture %u render %u\\n\n Voice: WebRTC audio processing could not be initialized; microphone audio will not be echo cancelled.\\n\n Voice: WebRTC audio processing enabled (aec %d, ns %d level %d, agc %d, hpf %d).\\n\n@@ -8194,6 +8124,7 @@ Wednesday\n When > 0, sets the mode whereas players see delayed replay, and are segregated into a domain of chat and voice separate from the alive players\n When VConsole is in the foreground, don't trigger engine_no_focus_sleep behavior\n When VConsole is in the foreground, force all engine & tools to render\n+When an entity is decoded from a baseline plus a wire delta, merge the two and decode once (true), or decode the baseline and then the delta as two passes (false, the old behaviour, which can invoke change callbacks with baseline values for an entity that already exists).\n When connecting to local listen server (for example, using the 'map' command), default to loopback=false, which connects to '127.0.0.1' instead of 'loopback'. This uses the network stack so that fake lag/loss can be simulated.\n When enabled, changes in tv_enable convars cause immediate startup or shutdown of hltv server\n When enabled, game server will quit immediately via syscall instead of running host states shutdown sequence\n@@ -8283,9 +8214,9 @@ Writing configuration for slot %d\\n\n Writing memory stats to %s\\n\n Writing memory stats to file memstats.txt\\n\n Writing perf stats...\n-Writing vprof lite report to %s\\n\n Wrong JPEG library version: library is %d, caller expects %d\n Wrote vis errors to %s\\n\n+Wrote vprof lite report to %s\\n\n Wrote_Screenshot\n X-Origin-Auth\n X-Origin-Auth header of the broadcast POSTs\n@@ -8352,10 +8283,10 @@ Zpm\"U\n [mirror]\n [packed = true] can only be specified for repeated primitive fields.\n [player %d]: Key \"%s\" is not bound.\\n\n-[removed]\n [s%5d c%5d t%6.3f] ApplyClockDrift correcting %d -> %d\\n\n [s%5d c%5d t%6.3f] ClientAdvanceTick %d -> %d. %d of %d this frame\\n\n [s%5d c%5d t%6.3f] ClientFrameSimulate %.3f\\n\n+[s%5d c%5d t%6.3f] ClientPollNetworking client tick += %d -> %d\\n\n [s%5d c%5d t%6.3f] ClientPollNetworking\\n\n [s%5d c%5d t%6.3f] ClientProcessNetworking post ProcessSocketMessages\\n\n [s%5d c%5d t%6.3f] ProcessPacketEntities start tick %d\\n\n@@ -8790,7 +8721,7 @@ cl_clock_recvmargin_timeconstant_slowdown\n cl_clock_recvmargin_timeconstant_speedup\n cl_clock_recvmargin_window\n cl_clockdbg\n-cl_clockdrift_max_ticks\n+cl_clockdrift_max_secs\n cl_connectionretrytime_p2p\n cl_cq_min_queue\n cl_debug_build_recvmargin_min\n@@ -8810,6 +8741,7 @@ cl_language\n cl_log_tick\n cl_log_tick_skips\n cl_net_printsummary\n+cl_packetentities_merge_before_decode\n cl_parallel_readpacketentities\n cl_parallel_readpacketentities_threshold\n cl_playback_screenshots\n@@ -9000,6 +8932,7 @@ demo_pauseatservertick\n demo_quitafterplayback\n demo_recordcommands\n demo_resume\n+demo_skip\n demo_step_tick\n demo_timescale\n demo_togglepause\n@@ -9052,6 +8985,7 @@ dxlevel,\n e+000\n e.g.: startmovie testmovie jpg wav jpeg_qality 75 framerate 30\\n\n e.g.: playdemo replays/foo jpg wav framerate 30\\n\n+e.g.: playdemo replays/foo start=2m end=+120s timescale=4\\n\n echo\n echoln\n edem\n@@ -9983,6 +9917,8 @@ playcast: Packet tick %d size %u\\n\n playdemo\n playdemo %s\\n\n playdemo <demoname> [\\n\n+playdemo: option '%s' needs a value, e.g. %s=2m\\n\n+playdemo: unknown option '%s'. Options are start=<tick>, end=<tick>, timescale=<float>.\\n\n player\n player0_using_joystick\n player_network_lag_avg\n@@ -10360,6 +10296,8 @@ stackstats_dump usage:\\n\\tstackstats_dump %s [\"filename\"]\\n\n stackstats_dump usage:\\n\\tstackstats_dump struct [\"filename\"]. There's a single instance registered, auto-picking: %s\\n\n standalone_vad_->AddAudio(resampled_ptr, length) == 0\n standalone_vad_->GetActivity(&chunkwise_voice_probabilities_[0], chunkwise_voice_probabilities_.size()) >= 0\n+start\n+start=<tick> and end=<tick> play a range (tick syntax as for timedemo_start/timedemo_end) and write timedemo_profile.csv at the end\\n\n startdemos\n startdemos: %i demo(s) in loop\\n\n startmovie\n@@ -10489,7 +10427,6 @@ sv_rcon_log\n sv_rcon_maxfailures\n sv_rcon_minfailures\n sv_rcon_minfailuretime\n-sv_recvbuf_messages\n sv_region\n sv_replay_group_id\n sv_replaysdir\n@@ -10576,6 +10513,8 @@ timedemo_start\n timedemoquit\n timeout\n times_to_fire\n+timescale\n+timescale=<float> sets the replay speed, as demo_timescale does\\n\n title_pw\n toggle\n toggle: Cannot parse value \"%s\" as boolean!\\n\n@@ -10862,13 +10801,24 @@ vpcf\n vphysics2\n vpks\n vpks/\n+vprof lite profiler running%s\\n\n+vprof lite profiler stopped%s\\n\n+vprof lite profiler stopped, data cleared\\n\n vprof_all_threads\n vprof_counters\n vprof_counters_show_minmax\n vprof_dump_counters\n vprof_generate_report\n vprof_generate_report_budget\n vprof_generate_report_hierarchy\n+vprof_lite.csv\n+vprof_lite_auto\n+vprof_lite_dump\n+vprof_lite_dump [filename] [stop=1]\\nWrite the vprof lite budget group statistics as CSV, then stop the profiler and clear its data.\\nstop=0 leaves the profiler running with its data. The default filename is vprof_lite.csv in the mod directory;\\nan absolute path is used as given. Sets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.\n+vprof_lite_start\n+vprof_lite_start [clear=1]\\nStart the vprof lite profiler, clearing any data it holds. clear=0 keeps the data and continues adding to it.\\nSets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.\n+vprof_lite_stop\n+vprof_lite_stop [clear=1]\\nStop the vprof lite profiler and clear its data. clear=0 keeps the data, for engine_frametime_print_report or vprof_lite_dump.\\nSets vprof_lite_auto 0, so the game will not start the profiler on its own.\n vprof_loadhitstore_scale\n vprof_off\n vprof_on"
},
{
"filename": "game/bin/win64/gfsdk_aftermath_lib.x64_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -2357,6 +2357,7 @@ Error_OutOfMemory\n Escape sequence did not encode a valid character.\n Escape sequence terminated prematurely.\n Escape sequence was neither a valid property nor a valid character class name.\n+Events\n Evicted\n EvictedToDisk\n Exceeded nested brace limit."
},
{
"filename": "game/bin/win64/materialsystem2_strings.txt",
"status": "modified",
"additions": 8,
"deletions": 8,
"changes": 16,
"patch": "@@ -260,9 +260,9 @@ CMaterial2::GetVertexShaderInputSignature(780): Error! Material \"%s\" doesn't hav\n CMaterial2::GetVertexShaderInputSignature(812): Error! Material \"%s\" doesn't have a CVsInputSignatureVector!\\n\n CMaterial2::GetVertexShaderInputSignature(830): Error! Material \"%s\" has invalid signature index %d!\\n\n CMaterial2::LoadShadersAndSetupModes(1662): Error creating shader %s for material %s!\\n\n-CMaterialMode::ComputeWorkItemsToSetupStaticCombosForMode(2956): Failed call to FindOrCreateStaticComboDataInCache()!\\n\n-CMaterialMode::FindOrLoadVfx(2475): DxSupportLevel %d not supported!\\n\n-CMaterialSystem2::DynamicShaderCompile_UnloadAllMaterials(1067): ERROR!!! Shaders not freed before shader reload! (See spew above)\\n\\n\n+CMaterialMode::ComputeWorkItemsToSetupStaticCombosForMode(2958): Failed call to FindOrCreateStaticComboDataInCache()!\\n\n+CMaterialMode::FindOrLoadVfx(2477): DxSupportLevel %d not supported!\\n\n+CMaterialSystem2::DynamicShaderCompile_UnloadAllMaterials(1069): ERROR!!! Shaders not freed before shader reload! (See spew above)\\n\\n\n CMaterialSystem2::FrameUpdate\n CMaterialSystem2::GetErrorMaterial(505): GetErrorMaterial() called when m_pMaterialTypeManager == NULL!\\n\n CMaterialSystem2::Init(153): ERROR! Empty shader mode string found! Use \"Default\" instead!\\n\n@@ -427,9 +427,9 @@ MakeOrthonormalForward\n MakeOrthonormalRight\n Malgun Gothic\n Marlett\n-MatPrintShaderInfo(3492): Error reading index!\\n\n-MatPrintShaders(3209): pVfx == NULL!\\n\n-MatPrintShaders(3258): pVfx == NULL!\\n\n+MatPrintShaderInfo(3494): Error reading index!\\n\n+MatPrintShaders(3211): pVfx == NULL!\\n\n+MatPrintShaders(3260): pVfx == NULL!\\n\n MatUtilsRenderMesh\n MatUtilsRenderOutlinedRect\n MatUtilsRenderPrimitives\n@@ -713,8 +713,8 @@ WARNING: Invalid resource version (%d): %s\\n\n \\nCMaterial2::LoadShadersAndSetupModes(1748): Error creating shader %s for material %s!\\n\n \\nCMaterial2::LoadShadersAndSetupModes(1753): Error creating shader %s and cannot load error.vfx instead!\\n\n \\nCMaterial2::LoadShadersAndSetupModes(1763): Error creating static combos for shader %s and error.vfx instead!\\n\n-\\nCMaterialMode::ComputeRenderablePassesForContextInternal(3373): All bad! The error material failed in dynamic shader compile!\\n\n-\\nCMaterialMode::CreateCommandBuffer(4281): Find a graphics programmer! Trying to bind a \"%s\" shader that doesn't exist! for %s\\n\n+\\nCMaterialMode::ComputeRenderablePassesForContextInternal(3375): All bad! The error material failed in dynamic shader compile!\\n\n+\\nCMaterialMode::CreateCommandBuffer(4283): Find a graphics programmer! Trying to bind a \"%s\" shader that doesn't exist! for %s\\n\n \\nInitDynamicShaderCompileDLL(119): ERROR! Can't load vfx_dx dll, dynamic shader compile unavailable!\\n\n \\nMS,\\nVS_MS_RTX\n \\nPS_RENDER_STATE"
},
{
"filename": "game/bin/win64/networksystem_strings.txt",
"status": "modified",
"additions": 67,
"deletions": 44,
"changes": 111,
"patch": "@@ -6,7 +6,7 @@\n Percentage. . : %9s%9s\\n\n % 3d % 8d [%8.3f %%]\\n\n %i: culled %-20s: %s -> %s (%s)\\n\n- %s has flag %s\\n\n+ %s%2d: %d\\n\n %s: %dms via %s (front=%dms, back=%dms)%s\\n\n %s: %dms via direct route\\n\n %s: %dms\\n\n@@ -35,13 +35,13 @@\n polymorphic\\n\n ptr to %s [%u]\n serializer(%s)\n-!m_NetworkChangeTagCallback.IsEmpty()\n+!s_NetworkChangeTagCallback.IsEmpty()\n %%%d.%ds \n %%s \n %-10s % 5d no fastpath because field %s %s changed the array size from %d to %d\\n\n %-10s % 5d no fastpath because field %s base depth is too large (pointer metadata change?)\\n\n %-10s % 5d no fastpath because field %s not resolvable\\n\n-%-10s %d %s: %s at offset %d, 0x%p array %s struct %s: index %d array size %d in %s\\n\n+%-10s %d %s: %s at offset %d, 0x%p array of structs: index %d array size %d in %s\\n\n %-5d %-20s : [%-5d -> %-5d] %-5s bits: %-32s %-80s : '%s' %s\n %-64.64s has %d CFlattendSerializer permutations\\n\n %-75s %-75s offset %10.10s %9.9s %s\n@@ -53,6 +53,8 @@\n %20.20s %s is variant %d/%d of %s\\n\n %20.20s omit %d types for %s [convar net_max_polymorphic_spew=%d]\\n\n %20.20s omit %s variants, already spewed\\n\n+%5d%7d%7d%7d %s\\n\n+%5s%7s%7s%7s %s\\n\n %60.60s %15.15s %24.24s %10.10s\\n\n %60.60s %15.15s %24s %10d \n %8.3f: %s: ParseMessagesDemo UNRELIABLE %d bytes\\n\n@@ -65,6 +67,7 @@\n %d [%s,%s] %s\n %d [0x%x]\n %d bits\n+%d bytes is too big.\n %d of %d empty (%.3f %%)\\n\n %d structs not using DECLARE_NETWORKVAR_STRUCT_NOT_IN_NETWORK_UTLVECTOR_EMBEDDED, consider porting fields to use CNetworkVars!\\n\n %d total.\\n\n@@ -88,6 +91,7 @@\n %s Gathering field offsets in %s\\n\n %s SendMessages %s failed with EResult %d\\n\n %s [%d fields]\\n\n+%s [%d]\n %s [%u]\n %s ambiguous, field exists in serializer '%s' field %d\\n\n %s does not support allocation from networking\\n\n@@ -134,7 +138,7 @@\n %s: shrinking removes delegate [0x%p]\\n\n %s: timing out, last received %f [%.2f seconds ago]\\n\n %s: unable to find serializer named %s\\n\n-%s::%s has more than one MNetworkChangeCallback that requires passing network value into handler, this is unsupported\\n\n+%s::%s encoder mismatch, local '%s' vs. remote '%s', using local\\n\n %s::%s was in the original serializer at offset %u but that offset isn't in the ignore list!!!\\n\n %s::%s:%u (%s ) already encountered at %s::%s:%u (%s)\n %s:Inbound net frame %d dropped\\n\n@@ -212,24 +216,20 @@\n .?AV?$_Node_str@D@std@@\n .?AV?$collate@D@std@@\n .?AVCCLCMsg_RconServerDetails_t@@\n-.?AVCDecodeSerializerStack@@\n-.?AVCDeltaCalculator@@\n .?AVCDeltaFieldPathTracer@@\n .?AVCEncodeSerializerStack@@\n .?AVCFieldShadowSpewCollector@@\n .?AVCFlattenedSerializerReadFieldListListener@@\n .?AVCFlattenedSerializers@@\n+.?AVCHiddenFieldValuePrinter@@\n .?AVCNETMsg_SplitScreenUser_t@@\n .?AVCNetChan@@\n .?AVCNetWhyFieldExcludedFunctor@@\n .?AVCNetworkEncodingStats@@\n .?AVCNetworkFieldChangedEventQueue@@\n .?AVCNetworkFieldSerializerAllocator@@\n .?AVCNetworkMessages@@\n-.?AVCNetworkSerializerPB@@\n .?AVCNetworkSystem@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$02VCNETMsg_SplitScreenUser@@$0L@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0A@VCNETMsg_NOP@@$0L@$00$0A@@@\n .?AVCSchemaRegistration_networksystem@@\n .?AVCSerializedEntities@@\n .?AVCSerializerStack@@\n@@ -241,12 +241,10 @@\n .?AVINetworkEncodingStats@@\n .?AVINetworkFieldChangedEventQueue@@\n .?AVINetworkFieldSerializerAllocator@@\n-.?AVINetworkMessageInternal@@\n .?AVINetworkMessages@@\n .?AVINetworkSystem@@\n .?AVINode@CFieldPathHuffmanEncoder@@\n .?AVISerializedEntities@@\n-.?AVISerializedEntityErrorSpewHook@@\n .?AVInternalNode@CFieldPathHuffmanEncoder@@\n .?AVLeafNode@CFieldPathHuffmanEncoder@@\n .?AVNetMessageConnectionClosed_t@@\n@@ -271,7 +269,6 @@\n 0 bit issue, spot 2\n 0 bit issue, spot 3\n 0 bit issue, spot 4\n-7;eZ\\r\n ::Storage_t\n Accepting Steam Net connection %s\\n\n AckSeqNum\n@@ -289,6 +286,8 @@ Average Backing Raw Paths : %8.3f\\n\n Average Data Bytes : %8.3f bytes\\n\n Average Memory Usage Per Entity : %8.3f bytes\\n\n Average Number of Field Paths : %8.3f\\n\n+AvgSz\n+BUG! Failed to read from buffer after checking size?\n BetaUniverse\n BufType\n Buffer overflow\n@@ -301,16 +300,18 @@ BuildMergedSerializedEntity: problem writing %s: %d bits [%d to %d] is < 1 bit\n BuildOutputString: change %s to %d\\n\n BytesWire\n C:\\buildworker\\csgo_rel_win64\\build\\_build_\\networksystem\\_vpc_networksystem\\default\\win64\\_msvc_\\Retail\\networksystem.pdb\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\common\\protobuf_helpers.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\networksystem\\flattenedserializer.cpp\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\networksystem\\flattenedserializer_encode.cpp\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\networksystem\\flattenedserializer_setup_gamecode.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\networksystem\\flattenedserializers.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\networksystem\\netchan.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\networksystem\\networkmessages.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\networksystem\\networkserializer.cpp\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\networksystem\\networkserializerregistry.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\networksystem\\networksystem.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\public\\networksystem\\serializedentity.h\n CBuildNetworkSerializerHierarchyOrder::ComputeDepth\n-CDeltaCalculator::ErrorMsg %s %d\\n\n-CDeltaCalculator::ErrorMsg: %s\\n\n CDeltaCalculator::FieldCalcDelta fromBits\n CDeltaCalculator::FieldCalcDelta toBits\n CEntitySystem::BuildEntityNetworking (%s build of %s) took %.3f msecs for %d out of %d classes\\n\n@@ -321,7 +322,7 @@ CFlattenedSerializer::ApplyOverrides_R\n CFlattenedSerializer::BuildDeltaProperties using %d bytes for encoding %d/%s\\n\n CFlattenedSerializer::BuildHierarchy_R\n CFlattenedSerializer::BuildOverrideField: Problem initializing replacement field %s::%s\\n\n-CFlattenedSerializer::Decode\n+CFlattenedSerializer::DecodeSerializedEntity\n CFlattenedSerializer::DumpSerializedEntityToConsole\n CFlattenedSerializer::Encode failure for entity %d\\n\n CFlattenedSerializer::Encode overflow failure for entity %d max size is %d bytes\\n\n@@ -353,9 +354,8 @@ CMergedEntityOffsetBuilder::Expecting at least one bit in offset\n CNetChan::BUF_RELIABLE\n CNetChan::BUF_UNRELIABLE\n CNetChan::BUF_VOICE\n-CNetChan::ParseMessages\n CNetChan::ProcessMessages\n-CNetChan::SendNetMessage: SerializeAbstract for message %s failed!\\n\n+CNetChan::SendNetMessage: Failed to serialize %s\\n\n CNetChan::SendNetMessage: Trying to send message %s, which is an invalid category for this channel!\\n\n CNetChan::SendNetMessage: Unable to send message %s, buffer is full!\\n\n CNetChan::Setup for %s\\n\n@@ -364,27 +364,14 @@ CNetSerializerStrongHandle::Serialize\n CNetSerializerStrongHandle::Unserialize\n CNetworkFieldChangedEventQueue::QueueChange: ran out of scratch data space!!!\\n\n CNetworkFieldChangedEventQueue::QueueReplayCompatFieldChange\n-CNetworkMessages::AllocateAndCopyConstructNetMessageAbstract unable to allocate unknown message type!\\n\n-CNetworkMessages::ComputeOrderForPriority\n CNetworkMessages::ConfirmAllMessageHandlersInstalled\n-CNetworkMessages::DeallocateUnserializedMessage unable to deallocate unknown message type!\\n\n CNetworkMessages::FindOrCreateGroupId\n CNetworkMessages::FindOrCreateGroupId: Too many network groups!\\n\n-CNetworkMessages::FindOrCreateNetMessage\n CNetworkMessages::FindOrCreateNetMessage: It is illegal to register new net messages after serialization!\\n\n-CNetworkMessages::FindOrCreateNetMessage: Message %s is expected to have already been registered!\\n\n-CNetworkMessages::InitNetworkChangeTag\n-CNetworkMessages::InitNetworkChangeTag - missing m_NetworkChangeTagCallback, should have been installed by CEntitySystem::Init call to g_pNetworkMessages->RegisterNetworkChangeTagCallback!\n-CNetworkMessages::RegisterFieldChangeCallbackPriority\n-CNetworkMessages::RegisterNetworkArrayFieldSerializer\n-CNetworkMessages::RegisterNetworkFieldChangeCallbackInternal\n-CNetworkMessages::RegisterNetworkFieldSerializer\n CNetworkMessages::Serialize attempted to serialize a non-serializeable message [%s]!\\n\n CNetworkSerializer: Unable to find network encoder named %s!\\n\n CNetworkSerializer::AssignSharedChangeCallbackIndex\n CNetworkSerializer::DetermineFieldSerializerGroup\n-CNetworkSystem::BufferToBufferDecompress with improperly sized dest buffer (%u in, %llu needed)\\n\n-CNetworkSystem::BufferToBufferDecompress with improperly sized dest buffer (%u in, %u needed)\\n\n CNetworkSystem::CleanupDebugOutputFunction()\\n\n CNetworkSystem::CloseAllSockets()\\n\n CNetworkSystem::GetPacket\n@@ -427,16 +414,17 @@ CUtlLeanVectorBase<struct UtlLinkedListElem_t<struct CNetworkFieldChangedEventQu\n CUtlLeanVectorBase<struct UtlLinkedListElem_t<struct CNetworkFieldPointerAllocationQueueInfo_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<int,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CNetChan::SplitPlayer_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n-CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<int,class INetworkMessageInternal *,class CDefLess<int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<int,int,class CDefLess<int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n+CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<int,struct NetMessageInfo_t *,class CDefLess<int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct OverrideWork_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity\n CUtlLeanVectorImpl<class CUtlLeanVectorBase<struct CUtlHashMap<class CFieldPath,class CDTIField,class CDefEquals<class CFieldPath>,struct DefaultHashFunctor<class CFieldPath>,int>::HashBucket_t,int,class CMemAllocAllocator>,struct CUtlHashMap<class CFieldPath,class CDTIField,class CDefEquals<class CFieldPath>,struct DefaultHashFunctor<class CFieldPath>,int>::HashBucket_t,int>::AddMultipleToTail\n CUtlLeanVectorImpl<class CUtlLeanVectorBase<struct CUtlHashMap<class CSerializerHandle_t<class CFlattenedSerializer>,class CDTISerializerInfo *,class CDefEquals<class CSerializerHandle_t<class CFlattenedSerializer> >,struct DefaultHashFunctor<class CSerializerHandle_t<class CFlattenedSerializer> >,int>::HashBucket_t,int,class CMemAllocAllocator>,struct CUtlHashMap<class CSerializerHandle_t<class CFlattenedSerializer>,class CDTISerializerInfo *,class CDefEquals<class CSerializerHandle_t<class CFlattenedSerializer> >,struct DefaultHashFunctor<class CSerializerHandle_t<class CFlattenedSerializer> >,int>::HashBucket_t,int>::AddMultipleToTail\n CUtlLeanVectorImpl<class CUtlLeanVectorBase<struct CUtlHashMap<unsigned int,int,class CDefEquals<unsigned int>,struct DefaultHashFunctor<unsigned int>,int>::HashBucket_t,int,class CMemAllocAllocator>,struct CUtlHashMap<unsigned int,int,class CDefEquals<unsigned int>,struct DefaultHashFunctor<unsigned int>,int>::HashBucket_t,int>::AddMultipleToTail\n+CUtlLeanVectorImpl<class CUtlLeanVectorBase<struct ChangeCallback_t,int,class CMemAllocAllocator>,struct ChangeCallback_t,int>::InsertBeforeGetPtr\n CUtlLeanVectorImpl<class CUtlLeanVectorFixedGrowableBase<struct CFieldPath::Path_t,6,int,class CMemAllocAllocator>,struct CFieldPath::Path_t,int>::AddMultipleToTail\n CUtlLeanVectorImpl<class CUtlLeanVectorFixedGrowableBase<unsigned int,3,int,class CMemAllocAllocator>,unsigned int,int>::AddMultipleToTail\n-CUtlSortVector<int,class CNetworkMessages::CPriorityLess,class CUtlVector<int,int,class CUtlVectorMemory_Growable<int,int,0> > >::Find\n-CUtlSortVector<int,class CNetworkMessages::CPriorityLess,class CUtlVector<int,int,class CUtlVectorMemory_Growable<int,int,0> > >::InsertIfNotFound\n+CUtlSortVector<int,class CPriorityLess,class CUtlVector<int,int,class CUtlVectorMemory_Growable<int,int,0> > >::Find\n+CUtlSortVector<int,class CPriorityLess,class CUtlVector<int,int,class CUtlVectorMemory_Growable<int,int,0> > >::InsertIfNotFound\n CacheableConnectionExpired\n CalcDelta\n Can't ConnectLoopback between socket %d and %d, not enough slots\\n\n@@ -456,6 +444,7 @@ Cannot use priority equal to NETWORK_FIELD_CHANGE_DEFAULT_PRIORITY!\\n\n Capture active, %s samples written\\nnet_captureculldata stop to stop the capture\\n\n Checking for missing CNetworkVar* declarations\\n\n Class,Field,Field Path,Decode Count,Total Bits,Avg Bits,Total Index Bits,Avg Index Bits,Priority,=SUM(E:E),Full Name,Notes\\n\n+Client Messages\n CloseSocket\n CloseSteamNetConnection handle #%u (userdata %d)%s\\n\n Closing '%s' P2P listen socket\\n\n@@ -472,6 +461,8 @@ Couldn't resolve offset %u in %s at path (%d = '%s')\\n\n CreateHostedDedicatedServerListenSocket for socket '%s' failed /+/ port %u vport %d\\n\n CreateReplayCompatSerializerFromMeta creating fake serializer for %s\\n\n Created poll group for socket '%s'\\n\n+DECODE FAILED\n+DISCARD array size\n DTI %s\\n\n DTI reset\\n\n DTI: can't Flush(), no data to write.\\n\n@@ -491,7 +482,7 @@ Encountered 2 fields \"%s\" and \"%s\" in struct \"%s\" using the same change callback\n Encountered message with an invalid network category! [net message %s]\n End of stream\n Error installing message handlers into a net channel: missing handlers in channel %s!\\n\n-Error parsing message type %d (%s)\n+Error parsing message type %d (%s): %s\n Error processing network message %s! Channel is closing!\\n\n Error! Failed to WSAStartup! err = %d.\\n\n Error: Components count + networkable data type must be the same for all instances of network field serializer (%s)!\\n\n@@ -502,10 +493,10 @@ EstablishCacheableSharedNetConnection(%s) failed\\n\n EstablishNewSteamNetConnection ConnectByIPv4Address(%s) failed\\n\n EstablishNewSteamNetConnection ConnectP2P(%s) failed\\n\n Established cacheable shared Steam Net Connection to '%s'\\n\n+Events\n Exceeded max number proxies in CFlattenedSerializer::BuildHierarchy()\n Executing queued command: '%s'\\n\n Expected AVG or PROFILE argument\\n\n-Expecting NetMessageInfo_t::m_pProtobufBinding to be non-NULL\n Extra connection [%s]:\\n\n FAKE array size\n FAKE pointer\n@@ -515,6 +506,7 @@ Failed to create poll group for socket '%s'?\\n\n Failed to install message handler for message %s in channel %s!\\n\n Failed to open P2P network socket '%s'\\n\n Failed to open UDP network socket '%s'\\n\n+Failed to parse %s. %s\\n\n Failed to set SteamNetworkingSockets option '%s'\\n\n Failed to start listening for SDR on port %d. Waiting and will retry\\n\n FakeJitter\n@@ -530,10 +522,11 @@ Field %s::%s specified an unknown field change callback %s!\\n\n Field names match, but types do not to match %s::%s local type is '%s' vs. remote type is '%s'\\n\n FieldPathEncodeFinish\n FlattenedSerializerField_t::FindPolymorphicFieldInfoByCodegenBinding\n+Frame too large (%d bytes uncompressed), limit is %s=%d\n+Game Engine\n GatherAllFieldOffsets_R: local offset of %s::%s %u is too large (%u max)\\n\n GatherSendProxyResults\n GetBitRange( %d -> %d ) end is before or same as start\\n\n-GetPathData failed for read only CFieldPath\n Got ISteamNetworkingSockets user interfaces from standalone lib\\n\n Got ISteamNetworkingSockets user interfaces from steam client\\n\n Got message on poll group for socket %s, but cannot find connection in table?\n@@ -544,6 +537,8 @@ HParticleSystemDefinitionStrong\n HPostProcessingStrong\n HRenderTextureStrong\n HVDataResourceStrong\n+History: %s\\n\n+Hltv Replay\n IND)ind)\"\n INetChannel::SetCategories: Network category wasn't registered!\\n\n INetworkSystem::RegisterNetworkCategory: Attempted to register category %u twice (debug name: %s and %s)\\n\n@@ -563,6 +558,7 @@ JitterMS\n Kind\n LastSeqNum\n Latency. . . . . . . . : %7dms%7dms%7dms net_fakelag\\n\n+Lead byte(s) encode invalid size %d. (%d bytes remaining)\n Leaked channel %s remote %s\\n\n Loss . . . . . . . . . : %8.2f%%%8.2f%%%9s net_fakeloss\\n\n MNetworkBitCount\n@@ -580,10 +576,13 @@ MNetworkSerializer\n MNetworkUserGroup\n MNetworkVarTypeOverride is referring to an unknown class name %s in class %s\\n\n MakeSerializersMatchByMeta failed for %s\\n\n+Max struct change callbacks queued at one level, per entity decode (inline capacity %d):\\n\n+MaxSz\n Measured RTT to %d SDR points of presence.\\n\n Merge\n Message of type (%s) %d size %d exceeded maximum message size %d; allowing as per %s=%d\\n\n Message of type (%s) %d size %d exceeded maximum message size %d; rejecting.\\n\n+MinSz\n Multiple steam net connections from %s\\n\n NETWORK_FIELD_CHANGED_ARRAY_NO_VALUE\n NETWORK_FIELD_CHANGED_ARRAY_WITH_VALUE\n@@ -600,7 +599,7 @@ NETWORK_FIELD_HIGHEST_PRIORITY\n NETWORK_FIELD_LOWEST_PRIORITY\n Net graph %s\\n\n Net status for host %s:\\n\n-NetChan %s ProcessMessages has exhausted its CPU time warning budget. %dms to process %d messages this call. (Current message type: '%s')\\n\n+NetChan %s ProcessMessages excessive CPU usage. %dms to process %d messages this call. (Current message type: '%s', drop budget remaining: %.1fms)\\n\n NetChanFlowIncomingAck\n NetChanRecv\n NetChanRecvMisdelivery\n@@ -612,14 +611,23 @@ NetChanTransmitReliable\n NetChanTransmitUnreliable\n NetChannel '%s':\\n\n NetMessage '%s' still using auto-assigned, has to generate id from name CUtlStringToken hashcode = %d\\n\n+NetSerializers_ComputeOrderForPriority\n+NetSerializers_InitNetworkChangeTag\n+NetSerializers_InitNetworkChangeTag - missing s_NetworkChangeTagCallback, should have been installed by CEntitySystem::Init call to g_pNetworkMessages->RegisterNetworkChangeTagCallback!\n+NetSerializers_RegisterFieldChangeCallbackPriority\n+NetSerializers_RegisterNetworkArrayFieldSerializer\n+NetSerializers_RegisterNetworkFieldChangeCallback\n+NetSerializers_RegisterNetworkFieldSerializer\n+Net_BufferToBufferDecompress: decompressed size %llu exceeds NET_MAX_PAYLOAD\\n\n+Net_BufferToBufferDecompress: malformed compressed data\\n\n+Net_BufferToBufferDecompress: uncompressed size %llu exceeds NET_MAX_PAYLOAD\\n\n Netchan '%s' closed unexpectedly: %s\\n\n Netchan [%s] already associated with hconn #%u, but now we are getting messages on new hconn #%u using the same 'from' address\\n\n Netchan queued message new high water mark reached by %s at %d messages\\n\n Network System Initialized\\n\n Network field tried to use a priority that has not been registered!\\n\n Network socket '%s' opened on port %d\\n\n NetworkConfigLimits\n-NetworkMessages::FindOrCreateNetMessage: Message %s is of size %d in leaf code, but protobuf object is size %lld, the added fields should be placed into object derived from protobuf and then CNetMessagePB references that\\n\n NetworkReplayCompatField_t %s::%s on field '%s' is using possibly bogus this pointer from class %s!\\n\n NetworkSystem\n NetworkSystem/CreateListenSocketP2P\n@@ -652,8 +660,6 @@ PACKET_STATUS_DROPPED\n PACKET_STATUS_INVALID\n PACKET_STATUS_NORMAL\n PACKET_STATUS_OUT_OF_ORDER\n-Path_Remove failed for read only CFieldPath\n-Path_RemoveAll failed for read only CFieldPath\n Peer To Peer\n PlusFour\n PlusN\n@@ -672,6 +678,7 @@ PopOnePlusN\n PopOnePlusOne\n ProcessOverride encountered unknown directive NetworkOverrideType_t(%d)\\n\n Processing\n+Protobuf parse failed\n PublicUniverse\n PushN\n PushNAndNonTopographical\n@@ -708,6 +715,7 @@ Recv\n RecvMarginMS\n RegisterNetMessageHandlerAbstract: Attempted to register a message handler for a message which is not valid for this category of channel [message %s]!\\n\n RegisterNetMessageHandlerAbstract: Must call StartRegisteringMessageHandlers before, and FinishRegisteringMessageHandlers after [message %s]!\\n\n+Reliable payload expands to %d bytes, limit is %d\n ReliableNetSize\n ReliableSize\n RemoveArrayElementsOutsideOfArrayMetadataBounds: %s [ent %d] removing change '%s' for field %s (value '%s') on array that has metadata with only %d array elements!\\n\n@@ -731,6 +739,7 @@ Socket '%s' bound to '%s' [%s]:\\n\n Socket '%s' listening for %s on port %d:\\n\n Socket '%s' listening for SDR on port %d virtual port %d\\n\n Socket layer initialized: \\n\n+Spawn Groups\n Steam Net connection %s %s, reason %d: %s\\n\n Steam supporting smaller max routable packet than engine expecting (%d vs %d)\\n\n SteamAPI_GetHSteamPipe\n@@ -755,11 +764,14 @@ SteamNetworkingSockets not yet initialized. Queuing command '%s'\\n\n SteamNetworkingSockets_LibV12\n SteamNetworkingUtils_LibV4\n Stopping capture, %s samples written\\n\n+String Command\n+String Table\n Summary of connection [%s]:\\n\n TCP/UDP Disabled.\\n\n The 'sdr' console command has been renamed to 'net_option'. Please update your scripts\\n\n TimeTable\n Too many incoming messages on channel (%s) %d remain queued, limit per-frame is %d.\\n\n+Too many messages in one frame (%d), limit is %s=%d\n Too many proxies for serializer %s.\n Too many queued messages (%d)\n Too many queued messages on channel (%s) %d queued, limit is %d.\\n\n@@ -777,6 +789,7 @@ Unknown message type %u\n Unreasonable reliable nUncompressedSize (%d).\n Unreasonable unreliable nUncompressedSize (%d).\n Unreliable header too small\n+Unreliable payload expands to %d bytes, limit is %d\n UnreliableNetSize\n UnreliableSize\n Unserialized nonresident asset %s status [%d]\n@@ -785,6 +798,7 @@ Usage: net_option <setting> [<value>]\\n\n Usage:\\nnet_fakejitter [send|recv] AVG [PCT] [MAX]\\nnet_fakejitter [send|recv] PROFILE\\n\\nsend|recv If present, applies the changes to the specified direction only.\\nAVG Mean delay, for packets that are jittered, in ms. The random\\n delay is chosen using the exponential distribution.\\nPCT Percentage of packets (0...100) that will receive a random delay.\\nMAX Clamp random jitter delay to MAX ms.\\nPROFILE One of: off, low, med, high, huge\\n\\nUse net_fakestatus to display current simulated network conditions.\\n\n UsecEngineLatency\n UsecLocalLatency\n+User Messages\n Using Valve ICE implementation\\n\n VERBOSE_BITCOUNT\n VERBOSE_ENDBIT\n@@ -804,10 +818,12 @@ ValidateSerializedEntity: metadata incorrect entry for %s [%d expected %d]\\n\n ValidateSerializedEntity: missing metadata entry for %s\\n\n Valve.Source.Net\n VectorWS\n+Voice\n WriteFields\n WriteToBuffer Message %s is not initialized! Probably missing required fields!\\n\n Writing %d bits for path %s of serializer %s entity %d, this will fail to parse\\n\n [ Net Message Info: %s ]\\n\n+[ T-%.1fms %d msgs %.1fms ]\n [%s] DISCONNECTING. ProcessMessages has exhausted its CPU time budget. %dms to process %d messages this call. (Current message type: '%s')\\n\n [%s] Queued message count %d exceeds limit of %s=%d. Allowing due to engine_frametime_warnings_enable=false\\n\n [%s] high frame misdelivery %.1f%%, %d/%d of %d frames dropped/reordered, %.0fms ping, %.0fms peak jitter\\n\n@@ -817,7 +833,16 @@ Writing %d bits for path %s of serializer %s entity %d, this will fail to parse\\\n [Group]\n [Name]\n [context entity 0x%p]\n+[ent %d] Decode path %s has polymorphic type id %u for pointer %s::%s [%d], which has %d types. Rejecting the rest of the entity.\\n\n+[ent %d] Decode path %s is %d deep under array of primitives %s::%s [%d], expected exactly one level (the element index). Rejecting the rest of the entity.\\n\n+[ent %d] Decode path %s is %d deep under primitive field %s::%s [%d], expected to end at the field. Rejecting the rest of the entity.\\n\n+[ent %d] Decode path %s is below null element %d of array of pointers %s::%s [%d]. Discarding its fields.\\n\n+[ent %d] Decode path %s names embedded substruct %s::%s [%d] directly, which is useless. Ignoring this field path.\\n\n+[ent %d] Decode path %s names field %d of %s, which has %d fields. Rejecting the rest of the entity.\\n\n+[ent %d] Decode path %s repeats array of structs %s::%s [%d]. Rejecting the rest of the entity.\\n\n+[ent %d] Field %s::%s [%d] is a pointer to a primitive, which is not a supported combination of features. Rejecting the rest of the entity.\\n\n [opaque]\n+[removed]\n \\nNon-networkables\\n\\n\n \\rBytes\n \\tCannotBeNetworked = %s\\n\n@@ -874,7 +899,6 @@ decode\n decoding FAKE\n deleted\n delta >= 1u\n-delta_error\n depth %2d: %d serializers\\n\n drop\n dropped\n@@ -922,7 +946,6 @@ inpacket.message\n invalid!\n invalid_address\n latency_seconds\n-m_bCanStillRegisterCallbackPriorities\n m_nSharedChangeCallbackCount must be <= EncounteredSharedChangedCallbackBitVec_t::knFixedBitSize\n mark all recursively (%s)\n marked %s by user group %s\n@@ -933,7 +956,7 @@ marked by nobase\n marked by user group\n matrix3x4_t\n matrix3x4a_t\n-nIndex != m_priorityToOrderMap.InvalidIndex()\n+nIndex != s_priorityToOrderMap.InvalidIndex()\n nPriority != NETWORK_FIELD_CHANGE_DEFAULT_PRIORITY\n name,type,offset\n net_fakeclear: Cleared simulated network conditions\\n\n@@ -1000,13 +1023,13 @@ regex_error(error_syntax)\n reliable\n reliable_bits\n render_interpolation_fraction\n+s_bCanStillRegisterCallbackPriorities\n sent\n sentinel\n serializer,permutations\n server_framerate\n server_framerate_stddev\n showing permutations for %s\\n\n-shutdown\n single permutation\n skip\n steamappid"
},
{
"filename": "game/bin/win64/panorama_strings.txt",
"status": "modified",
"additions": 0,
"deletions": 1,
"changes": 1,
"patch": "@@ -5462,7 +5462,6 @@ file://{resources}/default_keybinds.cfg\n file://{resources}/keybinds.cfg\n file://{resources}/window_keybinds.cfg\n filename too big\n-fill\n fill \n fill-opacity\n fill-parent-flow"
},
{
"filename": "game/bin/win64/rendersystemdx11_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -828,6 +828,7 @@ FindOrCreateTexture: Texture scope is unspecified!\\n\n FindOrCreateTexture: Texture usage is unspecified!\\n\n Floating point \"Predictor\" not supported with %d data format\n ForceHardwareSync\n+ForceLoadShader: invalid shader loading state %d, shader %p has likely been freed\\n\n FormatMessageW\n Found %d streaming textures in array, but in-flight count is %d\\n\n Found registry key %ls in %ls"
},
{
"filename": "game/bin/win64/resourcecompiler_strings.txt",
"status": "modified",
"additions": 2,
"deletions": 3,
"changes": 5,
"patch": "@@ -9020,7 +9020,7 @@ $key:FloatBitmap_t\n /vpk.privatekey.vdf\n /vpk.publickey.vdf\n 0123456789)\"\n-15:37:26\n+09:29:58\n 1:1: Tokens : ( PLUS | MINUS | MUL | DIV | COMMA | LPAREN | RPAREN | EQUALS | PERCENT | INT | FLOAT | ID | ML_COMMENT | SL_COMMENT | NL | WS );\n 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | BOOLLITERAL | ID | INTEGERLITERAL | HEXINTEGERLITERAL | FLOATLITERAL | COMMENT | WS );\n 241:1: FLOAT : ( ( MINUS )? ( DIGIT )+ '.' ( DIGIT )* ( EXP )? ( FLOATSUFFIX )? | ( MINUS )? ( DIGIT )+ ( EXP )? ( FLOATSUFFIX )? | ( MINUS )? '.' ( DIGIT )+ ( EXP )? ( FLOATSUFFIX )? );\n@@ -16041,7 +16041,6 @@ nParentIdx != NM_INVALID_INDEX\n nPriority\n nServerLOD\n nX=%? nY=%?\n-nXAO\n name_delta\n namespace\n navProperty_\n@@ -16198,7 +16197,7 @@ pathing_visibility_threshold\n pathingcoeffs\n pathingeq\n pathingmixlevel\n-pc64 Nov 2 2026 15:37:25\n+pc64 Nov 11 2026 09:30:19\n perchannel\n permissive_panorama_compiles\n permitrepeats"
},
{
"filename": "game/bin/win64/resourceinfo.exe_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -7243,7 +7243,7 @@ x509_req\n x509_store\n x931\n yS/h\n-z0?g\\f\n+z0?g\\r\n zlVO\n zlib compression\n zone"
},
{
"filename": "game/bin/win64/soundsystem_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -1594,6 +1594,7 @@ Event Type: STEP\\n\n Event VSNDS:\\n\n Event: %f pattern: %f glob: %f loops: %i\\n\n Event: %s\\n\n+Events\n Exponential\n Exponential Ramp\n Extra taps"
},
{
"filename": "game/bin/win64/steamnetworkingsockets_strings.txt",
"status": "modified",
"additions": 61,
"deletions": 19,
"changes": 80,
"patch": "@@ -496,6 +496,7 @@\n .?AVSymmetricCryptContextBase@@\n .cnf\n .conf\n+.fptable\n .include\n /%d%+d\n 0123456789\n@@ -758,6 +759,7 @@ Assertion Failed: !m_pNextTaskInQueue\n Assertion Failed: !m_pParentListenSocket\n Assertion Failed: !m_pPartner\n Assertion Failed: !m_pPartner->m_fakeIPRefRemote.IsValid()\n+Assertion Failed: !m_pPendingSTUNRequest\n Assertion Failed: !m_pPollGroup\n Assertion Failed: !m_pPollGroup->m_vecConnections.HasElement( this )\n Assertion Failed: !m_pPrevTaskForTarget\n@@ -880,8 +882,11 @@ Assertion Failed: a.m_adr == m_adr\n Assertion Failed: a.m_eProtocol == m_eProtocol\n Assertion Failed: a.m_pServer == nullptr\n Assertion Failed: a.port()\n+Assertion Failed: addr.GetType() == k_EIPTypeV4\n+Assertion Failed: addr.GetType() == k_EIPTypeV6\n Assertion Failed: addr.IsFakeIP()\n Assertion Failed: addrFakeIP.GetFakeIPType() == k_ESteamNetworkingFakeIPType_GlobalIPv4\n+Assertion Failed: addrPeer.GetType() == k_EIPTypeV6\n Assertion Failed: adr.GetType() == k_EIPTypeV4\n Assertion Failed: adr.HasIP()\n Assertion Failed: alt.m_nPenalty == k_nSDRAltAddressPenalty_PingOnly\n@@ -894,6 +899,7 @@ Assertion Failed: bStillInQueue == ( pSeg->m_pMsg->m_links.m_pQueue != nullptr )\n Assertion Failed: bStillInQueue || pSeg->m_pMsg->m_links.m_pNext == nullptr\n Assertion Failed: bStillInQueue || pSeg->m_pMsg->m_linksSecondaryQueue.m_pNext == nullptr\n Assertion Failed: begin <= end\n+Assertion Failed: bestRoute.m_idxViaCluster >= 0\n Assertion Failed: bucket.m_nMinPing <= bucket.m_nMaxPing\n Assertion Failed: bucket.m_nPingCount > 0\n Assertion Failed: buf[0] >= '0' && buf[0] <= '9'\n@@ -991,6 +997,7 @@ Assertion Failed: g_vecSharedClusterDataInConfigOrder.size() == m_vecClusters.si\n Assertion Failed: gapFilled->first < gapFilled->second\n Assertion Failed: gapFilled->first <= nSegBegin\n Assertion Failed: gapFilled->second > nSegBegin\n+Assertion Failed: h->first < h->second.m_nEnd\n Assertion Failed: hAPICall != k_uAPICallInvalid\n Assertion Failed: has_element( m_vecLinkedConnections, pConn )\n Assertion Failed: identity.m_cbSize <= sizeof( identity.m_genericBytes )\n@@ -1044,13 +1051,15 @@ Assertion Failed: len( m_vecAvailableTransports ) == i\n Assertion Failed: len( m_vecLinkedConnections ) == ( ( m_pConnection != nullptr ) ? 1 : 0 )\n Assertion Failed: links.m_pNext == nullptr\n Assertion Failed: links.m_pPrev == nullptr\n+Assertion Failed: localAddr.GetType() == k_EIPTypeV6\n Assertion Failed: lookup.m_nFirstShell > 0\n Assertion Failed: m->m_conn == m_hConnectionSelf\n Assertion Failed: m.m_nIndirectPing >= 0\n Assertion Failed: m_CertStatus.m_eAvail != k_ESteamNetworkingAvailability_NeverTried\n Assertion Failed: m_CertStatus.m_eAvail == k_ESteamNetworkingAvailability_Current\n Assertion Failed: m_Put >= 0\n Assertion Failed: m_TotalElements != InvalidIndex()\n+Assertion Failed: m_addrTURNServer.IsValid()\n Assertion Failed: m_arMarker[n-1].m_nID != m_arMarker[n].m_nID\n Assertion Failed: m_bConnectionInitiatedRemotely\n Assertion Failed: m_bCryptKeysValid\n@@ -1110,6 +1119,7 @@ Assertion Failed: m_idxServerMigrationTarget == -1\n Assertion Failed: m_info.m_cbPkt < sizeof(m_pkt)\n Assertion Failed: m_itNextInFlightPacketToTimeout != it\n Assertion Failed: m_itNextInFlightPacketToTimeout == m_mapInFlightPacketsByPktNum.end()\n+Assertion Failed: m_itPendingAck->second.m_nEnd == INT64_MAX\n Assertion Failed: m_keyPrivate.IsValid()\n Assertion Failed: m_keyPublic.IsValid()\n Assertion Failed: m_listReadyRetryReliableRange[ relSeg.m_hStatusOrRetry ] == hSeg\n@@ -1219,7 +1229,6 @@ Assertion Failed: m_pktNumInFlight == 0 && m_eActivityLevel == ELinkActivityLeve\n Assertion Failed: m_queueIndex == -1\n Assertion Failed: m_queueIndex >= 0\n Assertion Failed: m_queueRecvMessages.empty()\n-Assertion Failed: m_receiverState.m_itPendingAck->second.m_nEnd == INT64_MAX\n Assertion Failed: m_receiverState.m_itPendingNack->first < nExpectedNextPktNum\n Assertion Failed: m_response.m_nStatusCode >= 0\n Assertion Failed: m_routeSelector.m_vecClusters.size() == g_vecSharedClusterDataInConfigOrder.size()\n@@ -1283,6 +1292,7 @@ Assertion Failed: m_vecAvailableTransports.empty()\n Assertion Failed: m_vecConnections.Count() == i\n Assertion Failed: m_vecFakeIPRef.empty()\n Assertion Failed: m_vecLinkedConnections.empty()\n+Assertion Failed: m_vecPendingPeerRequests.empty()\n Assertion Failed: m_vecRoutes.empty()\n Assertion Failed: m_vecServers.empty()\n Assertion Failed: marker.m_nIndirectPing >= 0 && marker.m_nIndirectPing <= SteamNetworkPingLocationInternal_t::k_nMaxReasonablePing\n@@ -1367,6 +1377,7 @@ Assertion Failed: nPktNum > 0\n Assertion Failed: nPktNum > 0 && nPktNum < TLinkStatsTracker::m_nMaxRecvPktNum\n Assertion Failed: nPktNum >= 0\n Assertion Failed: nPktNumAckBegin >= 0\n+Assertion Failed: nPktNumBeforeSentinelGap <= m_statsEndToEnd.m_nMaxRecvPktNum\n Assertion Failed: nPktNumNackBegin >= 0\n Assertion Failed: nRawScore >= 0\n Assertion Failed: nReasonCode == k_ESteamNetConnectionEnd_Misc_P2P_Rendezvous\n@@ -1525,6 +1536,8 @@ Assertion Failed: pTask->m_eTaskState == CQueuedTask::k_ETaskState_ReadyToDelete\n Assertion Failed: pTask->m_pTarget == nullptr\n Assertion Failed: pTask->m_pTarget == this\n Assertion Failed: pThis->m_nReplyTimeoutsSinceLastRecv == 0\n+Assertion Failed: pThisPair->m_nState != kICECandidatePairState_InProgress\n+Assertion Failed: pThisPair->m_nState == kICECandidatePairState_InProgress\n Assertion Failed: pTransport\n Assertion Failed: pTransport && pTransport->m_listRelaySessions.IsEmpty()\n Assertion Failed: pVal->m_pInherit\n@@ -1559,6 +1572,7 @@ Assertion Failed: r.m_nSortScoreLocal < 9999\n Assertion Failed: r.pop_id() == c.m_pConfig->m_id\n Assertion Failed: relInfo.m_nSentReliableSegRefCount > 0\n Assertion Failed: relSeg.m_nRefCount > 0\n+Assertion Failed: remoteCandidate.m_addr.GetType() == k_EIPTypeV4\n Assertion Failed: result != 0\n Assertion Failed: result == -1\n Assertion Failed: route.m_idxClusterLocal == pClusterData->m_idxInConfig\n@@ -1854,13 +1868,16 @@ C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steam\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_connections.cpp\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_connections.h\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_ice_client.cpp\n-C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_lowlevel.cpp\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_lowlevel.h\n+C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_lowlevel_misc.cpp\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_p2p.cpp\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_p2p.h\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_p2p_ice.cpp\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_snp.cpp\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_snp.h\n+C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_socketthread.cpp\n+C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_spew.cpp\n+C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_taskqueue.cpp\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\clientlib\\steamnetworkingsockets_udp.cpp\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\sdr\\steamdatagram_internal.h\n C:\\buildworker\\sdr_public_win64\\build\\src\\steamnetworkingsockets\\sdr\\steamdatagram_network_config.cpp\n@@ -2112,16 +2129,13 @@ CSteamNetworkingICESession::GatherInterfaces\n CSteamNetworkingICESession::OnPacketReceived\n CSteamNetworkingICESession::Think\n CSteamNetworkingICESession::Think_TestPeerConnectivity\n-CSteamNetworkingICESession::UpdateHostCandidates\n CSteamNetworkingMessages::BHandleNewIncomingConnection\n CSteamNetworkingMessages::DestroySession\n CSteamNetworkingMessages::FindOrCreateChannel\n CSteamNetworkingMessages::FreeResources\n CSteamNetworkingSockets::Destroy\n CSteamNetworkingSockets::KillConnections\n CSteamNetworkingSocketsSDR::Destroy\n-CSteamNetworkingSocketsSTUNRequest::CreatePeerConnectivityCheckRequest\n-CSteamNetworkingSocketsSTUNRequest::SendBindRequest\n CSteamNetworkingSocketsSTUNRequest::Think\n CSteamNetworkingSocketsSteamBase::BInitSteamBase\n CSteamNetworkingUtils::CSteamNetworkingUtils\n@@ -2299,7 +2313,6 @@ ConvertInterfaceGuidToLuid\n ConvertInterfaceGuidToLuid failed 0x%x\n ConvertInterfaceLuidToIndex\n ConvertInterfaceLuidToIndex failed 0x%x\n-Could not bind to %s. %s\\n\n Could not find secondary wifi adapter, even though wlan_intf_opcode_secondary_sta_synchronized_connections returned %u items\n CreateEvent() call failed. Error code 0x%08x.\n CreateFakeUDPPort\n@@ -2750,7 +2763,6 @@ Failed to negotiate mutually-agreeable cipher\n Failed to parse %s value %s\n Failed to parse '%s'. %s\\n\n Failed to parse JSON %s\n-Failed to parse address '%s' as an IP address.\n Failed to parse authorized client identity. %s\n Failed to parse gameserver identity. %s\n Failed to parse result JSON. Line %d, offset %d: %s\n@@ -2797,12 +2809,15 @@ FakeUDPSession::Think\n Fatal Assertion Failed: (uint8 *)pEncryptedDataAndTag + cbEncryptedWithoutTag == pOut\n Fatal Assertion Failed: EVP_DecryptInit_ex( ctx, nullptr, nullptr, nullptr, (const uint8*)pIV ) == 1\n Fatal Assertion Failed: EVP_DigestFinal(ctx.ctx, *pOutDigest, &digest_len) == 1\n+Fatal Assertion Failed: EVP_DigestFinal(ctx.ctx, *pOutputDigest, &digest_len) == 1\n+Fatal Assertion Failed: EVP_DigestInit_ex(ctx.ctx, EVP_md5(), 0) == 1\n Fatal Assertion Failed: EVP_DigestInit_ex(ctx.ctx, EVP_sha256(), 0) == 1\n Fatal Assertion Failed: EVP_DigestInit_ex(mdctx.ctx, digest, 0) == 1\n Fatal Assertion Failed: EVP_DigestSign( ctx, (unsigned char *)pSignatureOut, &siglen, (const unsigned char *)pData, cbData ) == 1\n Fatal Assertion Failed: EVP_DigestSignFinal(mdctx.ctx, *pOutputDigest, &needed) == 1\n Fatal Assertion Failed: EVP_DigestSignInit( ctx, nullptr, nullptr, nullptr, pkey ) == 1\n Fatal Assertion Failed: EVP_DigestSignInit(mdctx.ctx, 0, digest, 0, pkey.ctx) == 1\n+Fatal Assertion Failed: EVP_DigestUpdate(ctx.ctx, pData, cbData) == 1\n Fatal Assertion Failed: EVP_DigestUpdate(ctx.ctx, pInput, cbInput) == 1\n Fatal Assertion Failed: EVP_DigestUpdate(mdctx.ctx,pubData,cubData) == 1\n Fatal Assertion Failed: EVP_DigestVerifyInit( ctx, nullptr, nullptr, nullptr, pkey ) == 1\n@@ -2831,6 +2846,7 @@ Field=\n FinalizeLocalCrypto\n FindServerDataForCluster\n Flags indicate presence of TimeSincePrev, but no room for it. Stats message size %d, packet size %d\n+FlsGetValue2\n FlushMessagesOnConnection\n For best results, preload the config. (See SDR_NETWORK_CONFIG env var)\\n\n Found existing connection [%s]. Only one symmetric connection can be active at a time.\n@@ -2907,12 +2923,10 @@ GetTickCount64\n Giving up on %s after %d consecutive ping timeouts\n Giving up waiting for DualWifi adapter to be ready for secondary address access to %s. (We waited ~%.1fs)\\n\n Got SDR network config. %s\n-Got a rendezvous candidate at \"%s\"\\n\n Got callback for wrong request?\n Got cert for %s from Steam\\n\n Got incoming FakeIP connection request when we already had a connection. This could legit happen due to race condition we aren't handling right now.\n Got incoming messages session connection request when we already had a connection. This could happen legit, but we aren't handling it right now.\n-Got remote candidate '%s'\\n\n HKDF\n HMAC\n HMAC DSTU Gost 34311-95\n@@ -2942,6 +2956,30 @@ IANA\n ICC or token signature\n ICE connection dropped after successful negotiation\n ICE not enabled by local user options\n+ICE selected candidate %s -> %s -> %s.\n+ICE selected candidate %s -> %s.\n+ICE: Could not bind to %s, skipping interface. %s\\n\n+ICE: Dropping Data Indication from %s: not our TURN server (%s).\\n\n+ICE: Dropping Data Indication from TURN: missing peer-address or data attribute.\\n\n+ICE: Dropping STUN message 0x%x from %s.\\n\n+ICE: Dropping STUN response 0x%x from %s: attribute parse or integrity failure.\\n\n+ICE: Dropping binding request: USERNAME length %u exceeds max %u.\n+ICE: Dropping binding request: attribute parse or integrity failure.\\n\n+ICE: Dropping peer candidate with invalid address %s\\n\n+ICE: Host candidate has invalid address %s - gathering bug\n+ICE: Incoming binding request from %s to %s.\\n\\n\n+ICE: Incorrect username length; at least %d expected, got %d.\n+ICE: Incorrect username: got '%s' expected '%s'.\n+ICE: Invalid username; no : found in %s\n+ICE: Local interface %s removed\\n\n+ICE: Role conflict -- we are Controlled but peer also sent ICE-CONTROLLED.\\n\n+ICE: Role conflict -- we are Controlling but peer also sent ICE-CONTROLLING.\\n\n+ICE: STUN request 0x%x to %s timed out.\\n\n+ICE: STUN server %s gave us invalid reflexive address %s -- ignoring\\n\n+ICE: Sending a STUN binding response to %s from %s.\n+ICE: TURN Refresh timed out for %s -- tearing down relay allocation\\n\n+ICE: TURN server %s gave us invalid relay address %s -- ignoring allocation\\n\n+ICE: TURN server %s sent 401, retrying with long-term credentials for user '%s'.\\n\n ID%llu\n IDEA-CBC\n IDEA-CFB\n@@ -3016,15 +3054,12 @@ Ignoring unknown control message %d from %s\n Ignoring unsolicited/spoofed/late packet from %s.\n Ignoring weird timestamp %llu in ChallengeReply, current time is %llu.\\n\n Ignoring weird timestamp %llu in ConnectOK, current time is %llu, remote delay was %lld.\\n\n-Incoming binding request from %s to %s.\\n\\n\n Incorrect challenge. Could be spoofed.\n Incorrect client challenge / connection ID %x in RouterPingReply from %s. Reply could be spoofed, ignoring.\n Incorrect connection ID\n Incorrect connection ID, when we do have a connection for this address. Could be spoofed, ignoring.\n Incorrect connection ID. Message is stale or could be spoofed, ignoring.\n Incorrect routing secret. (Packet spam, or relay using routing secret from previous server instance).\n-Incorrect username length; at least %d expected, got %d.\n-Incorrect username: got '%s' expected '%s'.\n Independent\n Inherit all\n Inhibit Policy Mapping\n@@ -3051,6 +3086,7 @@ International Organizations\n Invalid 25519 key type\n Invalid AES-GCM key size\n Invalid DH key\n+Invalid IP type %d\n Invalid LocalVirtualPort %d\n Invalid P2P_Transport_ICE_Implementation value\n Invalid SDR_PRIVATE_KEY or SDR_CERT. %s\n@@ -3088,7 +3124,6 @@ Invalid routing blob (%d bytes)\n Invalid signature\n Invalid signature length\n Invalid state %d\n-Invalid username; no : found in %s\n Invalidating cached routes when we shouldn't! %s\n Invalidity Date\n Iphlpapi.dll\n@@ -3269,6 +3304,7 @@ Nack count of %llu<<3 is crazy\n Nack range underflow, end=%lld, num=%lld\n NagleTime\n Name lookup for \"%s\" failed - %s\\n\n+Nesting depth limit (%d) exceeded\n Netscape\n Netscape Base Url\n Netscape CA Policy Url\n@@ -3682,9 +3718,11 @@ PUBLIC KEY\n Packet is %d bytes, must be padded to at least %d bytes.\n Packet is too small\n Packet of size %d is too small.\n+PacketGaps map not increasing\n PacketTraceMaxBytes\n Parse failure. Length=%d, data begins %s\n Payload exceeded max size of %d\\n\n+Peer connectivity-check pair already has a request in flight\n Peer is running old software and needs to be udpated\n Peer is running old software and needs to be updated. (V%u, >=V%u is required)\n Peer is using old protocol and cannot receive multiple lanes\n@@ -4085,6 +4123,7 @@ STEAMNETWORKINGSOCKETS_LOG_FILE\n STEAMNETWORKINGSOCKETS_LOG_LEVEL\n STORE lib\n STORE routines\n+STUN USERNAME exceeds RFC limit\n SXNET\n SXNETID\n SXNET_add_id_INTEGER\n@@ -4124,7 +4163,6 @@ Sender sent reliable stream pos using %llx mod %llx, expected next %llx\\n\n Sender tried to send on invalid lane %d; max is %d\n Sending ConnectRequest for ConnectionID %u to %s via primary relay %s.\\n\n Sending NoConnection to %s: { %s }\\n\n-Sending a STUN response to %s from %s.\n Sending ping probe to %s in %s\\n\n Sent ack %u not pending. %d: %u %u %u %u %u\n Serialized inline stats message (%s) is %d bytes, still won't fit, ever after clearing connection quality stats? %s\n@@ -4232,7 +4270,7 @@ SteamServerConnectFailure_t\n SteamServersConnected_t\n SteamServersDisconnected_t\n SteamnetworkingSockets service thread waited %dms for lock! This directly adds to network latency! It could be a bug, but it's usually caused by general performance problem such as thread starvation or a debug output handler taking too long.\n-Stray data packet from host with no connection. Ignoring.\n+Stray data packet from host with no connection.\n Strong Extranet ID\n Subject Information Access\n Superseded\n@@ -4285,6 +4323,7 @@ TS_TST_INFO_set_serial\n TS_TST_INFO_set_time\n TS_TST_INFO_set_tsa\n TS_VERIFY_CTX_new\n+TURN server address not in m_vecTURNServers\n TYPE=\n Taking global lock while already holding lock '%s'\n Taking lock '%s' and then '%s', while not holding the global lock\n@@ -4321,8 +4360,10 @@ TimeoutInitial\n To use symmetric connect, remote identity must be specified\n Told peer to stop acking up to %lld, but latest packet we have sent is %lld\n Too late!\n+Too many chunks to send via TURN relay (max 3)\n Too many connections.\n Too many ephemeral FakeUDP ports.\\n\n+Too many extra attrs for TURN request\n Trailer Field: 0x\n TransportChangeConfirm\n Tried to connect request, but crypt not ready\n@@ -4436,8 +4477,8 @@ Unsupported key type %d\n Unsupported protocol %d\n Unterminated string\n Until we obtain the config, we will not be able to accept clients!\\n\n+Untracked STUN retransmit type 0x%x\n Unused\n-UseCandidate was set!\n Using cert from SDR_PRIVATE_KEY and SDR_CERT environment vars\\n\n VIDEOTEXSTRING\n VISIBLESTRING\n@@ -4711,12 +4752,14 @@ ZUINT64\n [%s] End-to-end sequence number is duplicate or old, or fails to decrypt, but relay sequence number is OK?\n [%s] Expecting %d acks! %04x=%lld %04x=%lld %04x=%lld ... %04x=%lld %04x=%lld %04x=%lld\n [%s] Failed crypto init in ConnectOK packet. %s\n+[%s] Failed to parse remote candidate '%s'\\n\n [%s] Failed to send end-to-end stats msg to primary relay %s to confirm end-to-end connectivity\n [%s] Failed to set option %d while implicitly accepting. Ignoring failure!\n [%s] Forgetting relay session %s. Last communication was %.1f seconds ago\n [%s] Front ping %d is greater than measured end-to-end ping %d.\\n\n [%s] Got P2P signal from %s. Wrong connection type!\\n\n [%s] Got P2P signal from wrong remote identity '%s'\\n\n+[%s] Got remote candidate '%s'\\n\n [%s] Got valid end-to-end packet (%s) via %s. Leaving finding route, entering connected state.\n [%s] Guessed ICE failure to be %d: %s\\n\n [%s] ICE already failed (%d %s) while changing role to server. We won't try again.\n@@ -4914,14 +4957,14 @@ ZUINT64\n \\n%*sZone: %s, User: \n \\nBytes\n \\nExtraInfo\n-\\n\\nSelected candidate %s -> %s.\\n\\n\n \\n\\tIPSec/IKE/Oakley curve #3 over a 155 bit binary field.\\n\\tNot suitable for ECDSA.\\n\\tQuestionable extension field!\n \\n\\tIPSec/IKE/Oakley curve #4 over a 185 bit binary field.\\n\\tNot suitable for ECDSA.\\n\\tQuestionable extension field!\n \\nkhT\n \\rSize\n \\tLane\n \\vssh-ed25519\n _OPENSSL_isservice\n+__preserve_none\n a null shared library handle was used\n a2d_ASN1_OBJECT\n a2i_ASN1_INTEGER\n@@ -6956,7 +6999,7 @@ lastUpdate\n lcO/<1\\r=,!\\r-@@@\n length too long\n level_add_node\n-lib Apr 29 2026 21:22:22\n+lib Aug 5 2026 18:42:40\n lib(%lu)\n linebuffer_ctrl\n linebuffer_new\n@@ -8061,7 +8104,6 @@ steamnetworkingsockets_messages.proto\n steamnetworkingsockets_messages_certs.proto\n steamnetworkingsockets_messages_udp.proto\n stop_waiting offset\n-stop_waiting past sentinel gap\n stop_waiting pktNum %llu offset %llu\n store init error\n str:"
},
{
"filename": "game/bin/win64/tier0_strings.txt",
"status": "modified",
"additions": 3,
"deletions": 2,
"changes": 5,
"patch": "@@ -430,6 +430,7 @@ $xmm9\n ( %u: max procs %u, active proc %u, active mask 0x%llx )\n ( cubGap & 15 ) == 0\n (%d,%d)\n+(-AVX512) \n (Missing)\n (None)\n (Unaccounted)\n@@ -774,7 +775,6 @@ $xmm9\n ;BIb?\n ;srv*http://symbols/windows\n <!-- kv3 encoding:%s:version{%s} format:%s:version{%s} -->\\n\n-<!-- schema \n </link>\n </script>\n << NULL >>\\n\n@@ -4652,6 +4652,7 @@ Outflow_NPCUseScriptedAbility\n Outflow_Simultaneous\n OutputDebugStringA\n OverrideQuantizedFloatEncoderAlias\n+P(YX\n P4_EXTRACT_CMD=p4.exe print -o %srcsrvtrg% -q \"//%var3%#%var4%\"\\n\n P4_EXTRACT_TARGET=%targ%\\%var2%\\%fnbksl%(%var3%)\\%var4%\\%fnfile%(%var1%)\\n\n PARTICLE_DEPTH_FEATHERING_OFF\n@@ -7967,6 +7968,7 @@ modf\n moredetailed\n moveto\n multiplayer_break\n+n<!-- schema \n nBits != 32\n nInterruptability\n nMax\n@@ -7975,7 +7977,6 @@ nOffset < m_nAllocationSize\n nOverrideCPField\n nSwitchValue\n nTries < 10000000\n-n\\f\"pA3Q\n name\n nan(ind)\n nan(snan)"
},
{
"filename": "game/bin/win64/tools/met_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -235,12 +235,12 @@\n // THIS FILE IS AUTO-GENERATED\\n\n //-------------------------------------------------\\n\n 0123456789)\"\n+09:24:45\n 0=Wrap,1=Mirror,2=Clamp,3=Border,4=MirrorOnce\n 1 texel = %1px\n 1/%1x\n 1/2/3\n 128 x 128\n-15:35:57\n 1:1 current mip\n 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | BOOLLITERAL | ID | INTEGERLITERAL | HEXINTEGERLITERAL | FLOATLITERAL | COMMENT | WS );\n 1AboutAction()"
},
{
"filename": "game/bin/win64/vconsole2.exe_strings.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -481,12 +481,12 @@ $B0B\n .vsky\n .webp\n 0.0.0.0\n+09:24:06\n+09:25:01\n 0BCDEFGHIJKLMNOPQRSTUVWXYZ1BCDEFGHIJKLMNOPQRSTUVWXYZ2BCDEFGHIJKLMNOPQRSTUVWXYZ3BCDEFGHIJKLMNOPQRSTUVWXYZ4BCDEFGHIJKLMNOPQRSTUVWXYZ\\n\n 0x%llx\n 127.0.0.0\n 127.0.0.1:%d\n-15:33:14\n-15:33:36\n 172.16.0.0\n 1AboutAction()\n 1NextFrame()"
},
{
"filename": "game/bin/win64/video64_strings.txt",
"status": "modified",
"additions": 0,
"deletions": 1,
"changes": 1,
"patch": "@@ -10618,7 +10618,6 @@ time not ascii format\n time stamp routines\n time syscall error\n timeStamping\n-timescale\n timestampsign\n tinet\n tls illegal exporter label"
},
{
"filename": "game/bin/win64/vrad3_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -2307,7 +2307,7 @@ path_trace_triangles_gpu\n path_trace_triangles_gpu_init\n path_trace_triangles_gpu_shutdown\n path_trajectory\n-pc64 Nov 2 2026 15:32:44\n+pc64 Nov 11 2026 09:24:00\n physicsSimplificationError\n physicsSimplificationOverride\n pinEnabled"
},
{
"filename": "game/core/shaders_vulkan_dir/shaders/vfx/copytexture.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -113,7 +113,7 @@ PS\n \tTexture3D g_tCopyColor < Attribute(\"CustomTexture1\"); SrgbRead(true); >;\n \tTexture2D g_tDepthTexture < Attribute(\"CustomTexture0\"); SrgbRead(false); >;\n \tfloat3 g_vColorTint < Default3(1, 1, 1); Attribute(\"ColorTint\"); UiType(VectorText); >;\n-\tfloat4 g_vScaleAndBias < Default2(0, 1); Attribute(\"ScaleAndBias\"); UiType(VectorText); >;\n+\tfloat4 g_vScaleAndBias < Default4(0, 1, 0, 1); Attribute(\"ScaleAndBias\"); UiType(VectorText); >;\n \t\n \t// Color\n \tCreateInputTexture2D(TextureColorWarp3D, Srgb, 8, \"\", \"_z000\", \"Color,10/Color Warp\", Default4(1, 1, 1, 1));"
},
{
"filename": "game/core/shaders_vulkan_dir/shaders/vfx/generic.slang",
"status": "modified",
"additions": 3,
"deletions": 3,
"changes": 6,
"patch": "@@ -299,9 +299,9 @@ PS\n \tCreateInputTexture2D(TextureGlossiness, Linear, 8, \"\", \"_gloss\", \"Lighting,30/Gloss,20/10\", Default4(0.5, 0.5, 0.5, 0));\n \tCreateInputTexture2D(TextureMetalness, Linear, 8, \"\", \"_metal\", \"Lighting,30/Metalness,30/10\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureReflectance, Linear, 8, \"\", \"_refl\", \"Lighting,30/Reflectance,10/10\", Default4(0.1, 0.1, 0.1, 0));\n-\tfloat2 g_vGlossinessRange < Default(0); UiType(VectorText); UiGroup(\"Lighting,30/Gloss/20\"); >;\n-\tfloat2 g_vMetalnessRange < Default(0); UiType(VectorText); UiGroup(\"Lighting,30/Metalness/20\"); >;\n-\tfloat2 g_vReflectanceRange < Default(0); UiType(VectorText); UiGroup(\"Lighting,30/Reflectance/20\"); >;\n+\tfloat2 g_vGlossinessRange < Default2(0, 1); UiType(VectorText); UiGroup(\"Lighting,30/Gloss/20\"); >;\n+\tfloat2 g_vMetalnessRange < Default2(0, 1); UiType(VectorText); UiGroup(\"Lighting,30/Metalness/20\"); >;\n+\tfloat2 g_vReflectanceRange < Default2(0, 1); UiType(VectorText); UiGroup(\"Lighting,30/Reflectance/20\"); >;\n \t\n \t// Normal Map\n \tCreateInputTexture2D(TextureNormal, Linear, 8, \"NormalizeNormals\", \"_normal\", \"Normal Map,20\", Default4(0.5, 0.5, 1, 0));"
},
{
"filename": "game/core/shaders_vulkan_dir/shaders/vfx/panorama.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -110,7 +110,7 @@ PS\n \tTexture2D g_tTexture2 < Attribute(\"Texture2\"); SrgbRead(false); >;\n \tTexture2D g_tTexture3 < Attribute(\"Texture3\"); SrgbRead(false); >;\n \tTexture2D g_tTexture4 < Attribute(\"Texture4\"); SrgbRead(false); >;\n-\tfloat2 g_vBlurMultiplyVec < Default(0); Attribute(\"BlurMultiplyVec\"); UiType(VectorText); >;\n+\tfloat2 g_vBlurMultiplyVec < Default2(0, 1); Attribute(\"BlurMultiplyVec\"); UiType(VectorText); >;\n \t\n \t\n \t// Variant parameters"
},
{
"filename": "game/core/shaders_vulkan_dir/shaders/vfx/refract.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -175,7 +175,7 @@ PS\n \tTexture2D g_tNormal < Channel(RGBA, MipNormal(TextureNormal), Linear); OutputFormat(DXT5); SrgbRead(false); >;\n \tTexture2D g_tNormal2 < Channel(RGBA, MipNormal(TextureNormal2), Linear); OutputFormat(DXT5); SrgbRead(false); >;\n \tTexture2D g_tRefractTint < Channel(RGBA, MipNormal(TextureTintTexture), Linear); OutputFormat(DXT5); SrgbRead(false); >;\n-\tfloat4 g_vFBCopyTextureRect < Default2(0, 0); Attribute(\"FrameBufferCopyRectangle\"); UiType(VectorText); >;\n+\tfloat4 g_vFBCopyTextureRect < Default4(0, 0, 1, 1); Attribute(\"FrameBufferCopyRectangle\"); UiType(VectorText); >;\n \t\n \t// Refraction\n \tCreateInputTexture2D(TextureNormal, Linear, 8, \"\", \"_normal\", \"Refraction\", Default4(0.5, 0.5, 1, 0));"
},
{
"filename": "game/core/shaders_vulkan_dir/shaders/vfx/test.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -272,7 +272,7 @@ PS\n \t[[vk::constant_id(0)]] int g_nGPUVendorID < UiType(Slider); Expression(S_GPU_VENDOR_ID); >;\n \tint g_nValue < UiType(Slider); >;\n \tTexture2D g_tColor < Channel(RGB, Box(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >;\n-\tfloat3 g_vModulationColor2 < Default(0); UiType(Color); >;\n+\tfloat3 g_vModulationColor2 < Default2(0, 1); UiType(Color); >;\n \tfloat3 g_vModulationColor3 < Default3(1, 1, 0.5); UiType(Color); >;\n \t\n \t// Color"
},
{
"filename": "game/core/shaders_vulkan_dir/shaders/vfx/tools_sprite.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -307,7 +307,7 @@ PS\n \tTexture2D g_tColorA < Channel(RGB, Box(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >;\n \tTexture2D g_tColorB < Channel(RGB, AlphaWeighted(TextureColor, TextureTranslucency), Srgb); Channel(A, PreserveCoverage(TextureTranslucency), Linear); OutputFormat(DXT5); SrgbRead(true); >;\n \tTexture2D g_tColorC < Channel(RGBA, Box(TextureColor), Srgb); OutputFormat(DXT5); SrgbRead(true); >;\n-\tfloat4 g_vBorderColor < Default(0); Attribute(\"BorderColor\"); UiType(VectorText); >;\n+\tfloat4 g_vBorderColor < Default4(0, 0, 0, 1); Attribute(\"BorderColor\"); UiType(VectorText); >;\n \t\n \t// Color\n \tCreateInputTexture2D(TextureColor, Srgb, 8, \"\", \"_color\", \"Color\", Default4(1, 1, 1, 0));"
},
{
"filename": "game/core/shaders_vulkan_dir/shaders/vfx/tools_wireframe.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -68,7 +68,7 @@ VS\n \t\n \t// Override Color\n \tfloat g_OverrideColorFactor < UiType(Slider); UiGroup(\"Override Color\"); >;\n-\tfloat4 g_vOverrideColor < Default(0); UiType(Color); UiGroup(\"Override Color\"); Expression(SrgbGammaToLinear(this)); >;\n+\tfloat4 g_vOverrideColor < Default4(0, 0, 0, 1); UiType(Color); UiGroup(\"Override Color\"); Expression(SrgbGammaToLinear(this)); >;\n \t\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n \t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup"
},
{
"filename": "game/csgo/bin/win64/client_strings.txt",
"status": "modified",
"additions": 34,
"deletions": 154,
"changes": 188,
"patch": "@@ -2106,6 +2106,7 @@ $taser_charge\n %s PARAMETERS\n %s PRIVATE KEY\n %s Tick\n+%s [%d]\n %s [%s%s%s]###%p\n %s algorithm \"%s\" unsupported\\n\n %s at %.0f %.0f %0.f uses model %s, which has an invalid prop_data type. DELETED.\\n\n@@ -2538,6 +2539,7 @@ $taser_charge\n (%0.2f): %s\n (%d) Dynamic prop %s (model %s): no sequence named:%s\\n\n (%d) Name: %s (%s)\n+(%f, %f, %f)\n (%s)Found new peer %u\\n\n (%s)Keeping existing peer %u\\n\n (%s,%s)\n@@ -7892,6 +7894,7 @@ $taser_charge\n .?AVCHeatMap@@\n .?AVCHelpRequestLogs_UploadUserApplicationLog_Request@@\n .?AVCHelpRequestLogs_UploadUserApplicationLog_Response@@\n+.?AVCHiddenFieldValuePrinter@@\n .?AVCHistogramReadback@@\n .?AVCHistogramRenderer@@\n .?AVCHitboxComponent@@\n@@ -8609,139 +8612,6 @@ $taser_charge\n .?AVCProtoBufMsgMemoryPoolBase@GCSDK@@\n .?AVCProtoBufNetPacket@GCSDK@@\n .?AVCProtoBufSharedObjectBase@GCSDK@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BAA@VCP2P_TextMessage@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BAB@VCP2P_Voice@@$05$01$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BAC@VCP2P_Ping@@$0A@$00$0A@@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BBI@V?$CBaseCmdKeyValues@VCClientMsg_CustomGameEvent@@@@$0O@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BBJ@V?$CBaseCmdKeyValues@VCClientMsg_CustomGameEventBounce@@@@$0O@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BBK@VCClientMsg_ClientUIEvent@@$0O@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BCN@VCCSUsrMsg_VGUIMenu@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BDN@VCCSUsrMsg_SendAudio@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BDO@VCCSUsrMsg_RawAudio@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEB@VCCSUsrMsg_Damage@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEC@VCCSUsrMsg_RadioText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BED@VCCSUsrMsg_HintText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEE@VCCSUsrMsg_KeyHintText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEF@VCCSUsrMsg_ProcessSpottedEntityUpdate@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEH@VCCSUsrMsg_AdjustMoney@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEK@VCCSUsrMsg_KillCam@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEO@VCCSUsrMsg_MatchEndConditions@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEP@VCCSUsrMsg_DisconnectToLobby@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFA@VCCSUsrMsg_PlayerStatsUpdate@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFJ@VCCSUsrMsg_CallVoteFailed@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFK@VCCSUsrMsg_VoteStart@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFL@VCCSUsrMsg_VotePass@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFM@VCCSUsrMsg_VoteFailed@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFN@VCCSUsrMsg_VoteSetup@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFO@VCCSUsrMsg_ServerRankRevealAll@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFP@VCCSUsrMsg_SendLastKillerDamageToClient@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGA@VCCSUsrMsg_ServerRankUpdate@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGJ@VCCSUsrMsg_SendPlayerItemDrops@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGK@VCCSUsrMsg_RoundBackupFilenames@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGL@VCCSUsrMsg_SendPlayerItemFound@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGM@VCCSUsrMsg_ReportHit@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGN@VCCSUsrMsg_XpUpdate@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGO@VCCSUsrMsg_QuestProgress@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGP@VCCSUsrMsg_ScoreLeaderboardData@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHA@VCCSUsrMsg_PlayerDecalDigitalSignature@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHB@VCCSUsrMsg_WeaponSound@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHC@VCCSUsrMsg_UpdateScreenHealthBar@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHD@VCCSUsrMsg_EntityOutlineHighlight@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHE@VCCSUsrMsg_SSUI@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHF@VCCSUsrMsg_SurvivalStats@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHG@VCCSUsrMsg_DisconnectToLobby@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHH@VCCSUsrMsg_EndOfMatchAllPlayersData@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHI@VCCSUsrMsg_PostRoundDamageReport@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHL@VCCSUsrMsg_RoundEndReportData@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHM@VCCSUsrMsg_CurrentRoundOdds@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHN@VCCSUsrMsg_DeepStats@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHP@VCCSUsrMsg_ShootInfo@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BID@VCCSUsrMsg_RecurringMissionSchema@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BIE@VCCSUsrMsg_SendPlayerLoadout@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BIF@VCCSUsrMsg_WeaponMagDrop@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJA@VCMsgTEEffectDispatch@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJB@VCMsgTEArmorRicochet@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJC@VCMsgTEBeamEntPoint@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJD@VCMsgTEBeamEnts@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJE@VCMsgTEBeamPoints@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJF@VCMsgTEBeamRing@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJI@VCMsgTEBubbles@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJJ@VCMsgTEBubbleTrail@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJK@VCMsgTEDecal@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJL@VCMsgTEWorldDecal@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJM@VCMsgTEEnergySplash@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJN@VCMsgTEFizz@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJP@VCMsgTEGlowSprite@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKA@VCMsgTEImpact@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKB@VCMsgTEMuzzleFlash@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKC@VCMsgTEBloodStream@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKD@VCMsgTEExplosion@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKE@VCMsgTEDust@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKF@VCMsgTELargeFunnel@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKG@VCMsgTESparks@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKH@VCMsgTEPhysicsProp@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKK@VCMsgTESmoke@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BME@VCMsgTEFireBullets@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BMF@VCMsgPlayerBulletHit@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GF@VCUserMessageAchievementEvent@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GI@VCUserMessageCurrentTimescale@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GJ@VCUserMessageDesiredTimescale@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GK@VCUserMessageFade@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GO@VCUserMessageHudMsg@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GP@VCUserMessageHudText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HB@VCUserMessageColoredText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HC@VCUserMessageRequestState@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HD@VCUserMessageResetHUD@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HE@VCUserMessageRumble@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HF@VCUserMessageSayText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HG@VCUserMessageSayText2@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HH@VCUserMessageSayTextChannel@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HI@VCUserMessageShake@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HJ@VCUserMessageShakeDir@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HK@VCUserMessageWaterShake@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HM@VCUserMessageTextMsg@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HN@VCUserMessageScreenTilt@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IA@VCUserMessageVoiceMask@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IC@VCUserMessageSendAudio@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0ID@VCUserMessageItemPickup@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IE@VCUserMessageAmmoDenied@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IG@VCUserMessageShowMenu@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IH@VCUserMessageCreditsMsg@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IJ@VCEntityMessageScreenOverlay@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IL@VCEntityMessagePropagateForce@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IM@VCEntityMessageDoSpark@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IO@VCUserMessageCloseCaptionPlaceholder@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IP@VCUserMessageCameraTransition@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JA@VCUserMessageAudioParameter@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JB@VCUserMsg_ParticleManager@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JC@VCUserMsg_HudError@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JE@V?$CBaseCmdKeyValues@VCUserMsg_CustomGameEvent@@@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JG@VCUserMessageHapticsManagerPulse@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JH@VCUserMessageHapticsManagerEffect@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JJ@VCUserMessageUpdateCssClasses@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JK@VCUserMessageServerFrameTime@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JL@VCUserMessageLagCompensationError@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JM@VCUserMessageRequestDllStatus@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JN@VCUserMessageRequestUtilAction@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KA@VCUserMessageRequestInventory@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KC@VCUserMessageRequestDiagnostic@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KF@VCUserMessage_NotifyResponseFound@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KG@VCUserMessage_PlayResponseConditional@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KK@VCUserMessageRemoteServerResponse@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MJ@VCMsgPlaceDecalEvent@@$0M@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MK@VCMsgClearWorldDecalsEvent@@$0M@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0ML@VCMsgClearEntityDecalsEvent@@$0M@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MM@VCMsgClearDecalsForEntityEvent@@$0M@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MN@VCMsgSource1LegacyGameEventList@@$09$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MO@VCMsgSource1LegacyListenEvents@@$09$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MP@VCMsgSource1LegacyGameEvent@@$04$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NA@VCMsgSosStartSoundEvent@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NB@VCMsgSosStopSoundEvent@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NC@VCMsgSosSetSoundEventParams@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0ND@VCMsgSosSetLibraryStackFields@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NE@VCMsgSosStopSoundEventHash@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NF@VCMsgClothStiffenAnimEvent@@$04$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NG@VCMsgClothEffectAnimEvent@@$04$00$00@@\n .?AVCPsdBufferFile@@\n .?AVCPublishedFile_GetDetails_Request@@\n .?AVCPublishedFile_GetDetails_Response@@\n@@ -8825,7 +8695,6 @@ $taser_charge\n .?AVCReadOnlyBlackboardView@@\n .?AVCRecipientFilter@@\n .?AVCRecordingList@@\n-.?AVCRefCount@GCSDK@@\n .?AVCReliableBroadcastRecipientFilter@@\n .?AVCReloadMatchFilter@@\n .?AVCRenderComponent@@\n@@ -10699,7 +10568,7 @@ $taser_charge\n :BAD OBJECT\n :Blowfish part of OpenSSL 1.0.2j 26 Sep 2016\n :EXTERNAL TYPE %s\\n\n-;<}\\v<}\\v<}\\v<}\\venv_tonemap_controller\n+;<}\\v<}\\v<}\\v<}\\vC_TonemapController2\n ;sv_pausable;sv_cheats\n <!-- dmx encoding keyvalues2_noids 4 format vtex 1 -->\\n\"CDmeVtex\"\\n{\\n\\t\"m_inputTextureArray\" \"element_array\"\\n\\t[\\n\n <!-- dmx encoding keyvalues2_noids 4 format vtex 1 -->\\n\"CDmeVtex\"\\n{\\n\\t\"m_inputTextureArray\" \"element_array\"\\n\\t[\\n\\t\\t\"CDmeInputTexture\"\\n\\t\\t{\\n\\t\\t\\t\"m_name\" \"string\" \"TextureAmbientOcclusion\"\\n\\t\\t\\t\"m_fileName\" \"string\" \"$TEXTURE_REPLACEMENT_TOKEN\"\\n\\t\\t\\t\"m_colorSpace\" \"string\" \"linear\"\\n\\t\\t\\t\"m_fileExt\" \"string\" \"ao\"\\n\\t\\t\\t\"m_nMinBitsPerChannel\" \"int\" \"8\"\\n\\t\\t\\t\"m_typeString\" \"string\" \"2D\"\\n\\t\\t\\t\"m_imageProcessorArray\" \"element_array\"\\n\\t\\t\\t[\\n\\t\\t\\t\\t\"CDmeImageProcessor\"\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\"m_algorithm\" \"string\" \"None\"\\n\\t\\t\\t\\t\\t\"m_stringArg\" \"string\" \"\"\\n\\t\\t\\t\\t\\t\"m_vFloat4Arg\" \"vector4\" \"0 0 0 0\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t]\\n\\t\\t\\t\"m_bPassThroughToCompiledVtex\" \"bool\" \"0\"\\n\\t\\t\\t\"m_n3DSliceCount\" \"int\" \"-1\"\\n\\t\\t\\t\"m_n3DSliceWidth\" \"int\" \"-1\"\\n\\t\\t\\t\"m_n3DSliceHeight\" \"int\" \"-1\"\\n\\t\\t}\\n\\t]\\n\\t\"m_outputTypeString\" \"string\" \"2D\"\\n\\t\"m_outputFormat\" \"string\" \"ATI1N\"\\n\\t\"m_outputClearColor\" \"vector4\" \"0 0 0 0\"\\n\\t\"m_nOutputMinDimension\" \"int\" \"0\"\\n\\t\"m_nOutputMaxDimension\" \"int\" \"0\"\\n\\t\"m_nOutputDimensionReduce\" \"int\" \"0\"\\n\\t\"m_textureOutputChannelArray\" \"element_array\"\\n\\t[\\n\\t\\t\"CDmeTextureOutputChannel\"\\n\\t\\t{\\n\\t\\t\\t\"m_srcChannels\" \"string\" \"r\"\\n\\t\\t\\t\"m_dstChannels\" \"string\" \"r\"\\n\\t\\t\\t\"m_mipAlgorithm\" \"CDmeImageProcessor\"\\n\\t\\t\\t{\\n\\t\\t\\t\\t\"m_algorithm\" \"string\" \"\"\\n\\t\\t\\t\\t\"m_stringArg\" \"string\" \"\"\\n\\t\\t\\t\\t\"m_vFloat4Arg\" \"vector4\" \"0 0 0 0\"\\n\\t\\t\\t}\\n\\t\\t\\t\"m_outputColorSpace\" \"string\" \"linear\"\\n\\t\\t\\t\"m_inputTextureArray\" \"string_array\"\\n\\t\\t\\t[\\n\\t\\t\\t\\t\"TextureAmbientOcclusion\"\\n\\t\\t\\t]\\n\\t\\t}\\n\\t]\\n\\t\"m_vClamp\" \"vector3\" \"0 0 0\"\\n\\t\"m_bNoLod\" \"bool\" \"0\"\\n\\t\"m_bHiddenAssetFlag\" \"bool\" \"0\"\\n\\t\"m_bNormalizeRange\" \"bool\" \"0\"\\n\\t\"m_nDisplayRectWidth\" \"int\" \"0\"\\n\\t\"m_nDisplayRectHeight\" \"int\" \"0\"\\n\\t\"m_nMotionVectorsMaxDistanceInPixels\" \"int\" \"0\"\\n}\\n\n@@ -11201,7 +11070,6 @@ AddTimedStyle\n AddToTeamSelectPlayerList\n AddVelocity\n AddViewsToSceneSystem\n-AddWorkItem\n Added TrueView prediction for player slot %d (%s)\\n\n Added keyframe: pos=%f %f %f\\n\n Added prediction for player slot %d (%s)\\n\n@@ -12008,6 +11876,7 @@ C:\\buildworker\\csgo_rel_win64\\build\\src\\animlib\\tasksystem\\animtasksystem.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\animlib\\tasksystem\\tasks\\animtask_chainlookat.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\bitmap\\tinyexr_impl.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\common\\crypto.cpp\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\common\\protobuf_helpers.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\compositematerialslib\\compositematerialmanager.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\entity2\\entity2_networking.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\entity2\\entitykeyvalues.cpp\n@@ -12017,7 +11886,7 @@ C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\client\\c_basecombatcharacter.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\client\\c_baseentity.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\client\\c_baselesson.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\client\\c_baseplayerpawn.cpp\n-C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\client\\c_baseplayerpawn.cpp:1620\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\client\\c_baseplayerpawn.cpp:1621\n C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\client\\c_effects.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\client\\c_entitydissolve.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\client\\c_func_monitor.cpp\n@@ -13292,7 +13161,7 @@ CNetworkUtlVectorBase< uint8, NetworkVar_m_networkAnimTiming , -1, int >\n CNetworkedQuantizedFloat\n CNetworkedQuantizedFloat: called before encoder initialized, use DECLARE_NETWORK_QUANTIZED_FLOAT_NETWORKVAR or DECLARE_NETWORK_QUANTIZED_FLOAT to make sure the encoder is initialized;\\n\n CNewParticleEffect::DetectChanges\n-CNmAimCSTask::TrySetupSolverData\n+CNmAimCSTask::TrySetupBoneIndices\n CNmBoneMaskTaskList::GenerateBoneMask\n CNmChainLookatNode::CDefinition::InstantiateNode\n CNmChainLookatTask::CNmChainLookatTask\n@@ -13708,7 +13577,7 @@ CRenderGameSystem::OnClientPreOutputParallelWithServer\n CRenderGameSystem::OnClientPreOutputParallelWithServer(), C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\shared\\rendergamesystem.cpp:1265\n CRenderGameSystem::OnClientPreOutputParallelWithServer(1365): \n CRenderingPipelineCS2Shadows\n-CRenderingPipelineCsgo::AddLayersToView(11295): \n+CRenderingPipelineCsgo::AddLayersToView(11300): \n CResourceName\n CResourceNameTyped\n CResourcePrecacherGameSystem\n@@ -14747,6 +14616,7 @@ Certified server denied\n Certified server required\n Cessation Of Operation\n Chain Lookat\n+Chain Lookat Task - Trying to perform a chain lookat on top of an additive pose, this is not allowed!\n Change FOV\n ChangeGameUIState: %s -> %s\\n\n ChangeTeammateColor\n@@ -14855,7 +14725,6 @@ Clearing old .sav file %s\\n\n Client \n Client Game\n Client Main World:\n-Client Messages\n Client Restore Server State\n Client Scene Entity %d - Frame(%d)\\n\n Client Soundscape data dump:\\n\n@@ -14872,8 +14741,6 @@ Client not allowed to do this action\n Client not authenticated by server\n Client registered for tournament team '%s' (%s-%s-%u)\\n\n Client session ID (%s).\\n\n-Client tick %d (%d) last exec cmd %d, predicting %d commands %d..%d\\n\n-Client tick %d + %.2f final predicted tick %d + %.2f, offset = %.3f seconds, %.2f ticks\\n\n Client update required\n Client-ID\n ClientCreateMoveFirst\n@@ -16839,7 +16706,9 @@ Failed to load workshop compatibility versions. Demo files on old maps may not w\n Failed to open file\n Failed to open file handle to process chunk file \\n\n Failed to pack %s to vpk\\n\n+Failed to parse %s: %s\\n\n Failed to parse %s\\n\n+Failed to parse Source1LegacyGameEventList_t: %s\\n\n Failed to parse and set new panel event for %s=\"%s\"\\n\n Failed to parse channel info.\\n\n Failed to parse cubemap fog curve (%s).\\n\n@@ -18186,6 +18055,7 @@ Graffiti tint name duplicate: #%d %s\\n\n Grail\n GrandFinal\n Graph\n+Graph '%s' references resource '%s', which is not loaded\\n\n Graph Parameter Name\n Graph1\n Graph2\n@@ -20525,6 +20395,7 @@ P-384\n P-521\n P2P ping to \"%s\". Timed out after %.2fms\\n\n PANORAMA_LAYOUTFILE\n+PARALLAX DETAIL\\t %d \\t\\t\\t\\t\\t\\n\n PARALYZE\n PARAMETER NAME: %s | OPTIONAL: %s, TYPE: %s, BOUND: %s\\n\n PARAMETERS\n@@ -20961,6 +20832,9 @@ PanoramaUI.Lobby.GotInvited\n PanoramaWorldPanelGenerateMips\n PanoramaWorldPanelSystem\n Paper\n+ParallaxDetail\n+ParallaxPanel\n+ParallaxSeparator\n Parameter [%s=%s] \n Parameterized Clip Selector: Failed to select a valid option!\n Parameterized Selector: Failed to select a valid option!\n@@ -21264,6 +21138,7 @@ PostDataUpdate\n PostEntityPacketReceived\n PostNetworkDataReceived\n PostNetworkDataReceived tick %d, ack %d cmds\n+PostNetworkDataReceived: LastProcessedCommandNumber=%d, LastServerSnapshotTick=%d\\n\n PostPanoramaRenderingPipeline\n Pre Generation KVs\n PreGraphUpdate\n@@ -22896,7 +22771,6 @@ SetDragPosition\n SetDragRotateRadius\n SetDragRotateYawLimit\n SetDraggable\n-SetEvent()\n SetExternalAnimgraphResource\n SetFlashlightAmount\n SetFlashlightColor\n@@ -24086,7 +23960,6 @@ Thread \"%s\" (ID %llu) failed to shut down\n Thread32First\n Thread32Next\n ThreadPoolOptionsChanged\n-ThreadingMain\n Threshholding\n Thrill\n Thunder\n@@ -24294,20 +24167,19 @@ Triggered by app when the user's workshop subscriptions are updated\n Triggers the creation of entities in a manually-completed spawn group\n TrueSight spectating prediction changing %d->%d for player slot %d?\\n\n TrueView active for slot %d\\n\n-TrueView adjust timing: Client tick %d + %.2f, desired offset %.3f sec = %.2f ticks, desired final predicted tick %d + %.2f\\n\n-TrueView cached command %d executed on tick %d. Client tick = %d, offset %d\\n\n+TrueView cached command %d executed on tick %d. Client tick = %d, offset %d, prediction offset %.2f\\n\n TrueView can't determine last executed command number on server from command lookahead. Desired tick %d (%d ahead).\\n\n+TrueView command stream for slot %d resumed after a gap. Restarting.\\n\n TrueView could not bracket view angles at tick %.2f. Last command created %d.\\n\n-TrueView could not determine prediction time offset at sim tick %d. Using 0.\\n\n+TrueView could not determine prediction time offset at sim tick %d. Not predicting.\\n\n TrueView found no newly executed command for slot %d in %d consecutive snapshots. Snapshot tick %d, last executed command %d, last created command %d.\\n\n TrueView inactive\\n\n TrueView last created command %d for slot %d is out of range of last executed command %d. Resetting last executed command.\\n\n TrueView not available: demo player cannot peek packets\\n\n TrueView not predicting slot %d: controller has no pawn\\n\n TrueView not running any commands: target tick %d, last snapshot tick %d\\n\n TrueView predicted no commands this frame. Last executed %d, last created %d, finish command %d, target tick %d.\\n\n-TrueView target tick %d is behind last snapshot tick %d?\\n\n-TrueView target time going in reverse [ %d + %.3f ] -> [ %d + %.3f ]\n+TrueView target tick %d is behind last snapshot tick %d\\n\n TrueViewDeadOnServer\n TrueViewDeadOnServerChanged\n Truncated header.\n@@ -25353,7 +25225,6 @@ Zipping %s (%d files)\\n\n [OnTickPetBookRebuild: %s] Failed to upload %d bytes to cloud file: %s\\n\n [RETURN R%d]\n [RETURN]\n-[TrueView %d] m_taiaTrueSpectateTargetTime=%d+%.3f player.m_nLastExecutedCommandNumber=%d nFirstEarlyPredictionCommand=%d\\n\n [Wearables] Creating new wearable (%d)\n [disabled] \n [dt %5.2f] velocity: %s\n@@ -25369,15 +25240,22 @@ Zipping %s (%d files)\\n\n [not bound]\n [null]\n [object@%p]\n+[removed]\n [signon]\n [spacer]\n [symbol %d]\n+[t%d f%d] Client tick [%d + %.2f] final predicted tick [%d + %.2f], offset = %.3f seconds, %.2f ticks\\n\n+[t%d f%d] Prediction done, tick base %d, last predicted cmd %d\\n\n+[t%d f%d] TrueView adjust timing: Client tick [%d + %.2f], desired offset %.3f sec = %.2f ticks, desired final predicted tick [%d + %.2f]\\n\n+[t%d f%d] TrueView m_taiaTrueSpectateTargetTime=%d+%.3f player.m_nLastExecutedCommandNumber=%d nFirstEarlyPredictionCommand=%d\\n\n+[t%d f%d] TrueView target time going in reverse [ %d + %.3f ] -> [ %d + %.3f ]\\n\n+[t%d f%d] origin %s, eye pos %s, eye angles %s\\n\n+[t%d f%d] server snapshot %d last exec cmd %d, predicting %d commands %d..%d\\n\n [unknown entity]\n [{\"event_id\":\n \\%02X\n \\U%04lX\n \\W%08lX\n-\\fB33\n \\n Not After : \n \\n Public key OCSP hash: \n \\n [%d: huff+mtf \n@@ -27138,6 +27016,8 @@ classic\n classname is\n classname missing from entity!\\n\n classname_global_index\n+clavicle_L\n+clavicle_R\n clay\n clean\n cleanup method function failed\n@@ -28060,7 +27940,6 @@ demo-tick\n demo-tick-max\n demo-time\n demo-time-max\n-demo_skip\n demo_start\n demo_stop\n demo_timescale %f\n@@ -31616,6 +31495,7 @@ materials/dev/downsample_depth.vmat\n materials/dev/downsample_depth_cs.vmat\n materials/dev/downsample_outlineglows.vmat\n materials/dev/error_compmat.vtex\n+materials/dev/frost.vtex\n materials/dev/gaussian_bloom_blur.vmat\n materials/dev/generalfilter_alphablended.vmat\n materials/dev/glow_health_color.vmat\n@@ -31643,7 +31523,6 @@ materials/dev/smoke_volume.vmat\n materials/dev/smoke_volume_depth.vmat\n materials/dev/smoke_volume_lpv.vmat\n materials/dev/smoke_volume_mask.vmat\n-materials/dev/snow_sparkle.vtex\n materials/dev/update_visnode_visibility.vmat\n materials/dev/upsample.vmat\n materials/dev/upsample_fsr.vmat\n@@ -34443,6 +34322,7 @@ setting.r_character_decal_resolution\n setting.r_csgo_cmaa_enable\n setting.r_csgo_fsr_upsample\n setting.r_csgo_mboit_force_mixed_resolution\n+setting.r_csgo_parallax\n setting.r_low_latency\n setting.r_particle_cables_cast_shadows\n setting.r_particle_max_detail_level\n@@ -34461,6 +34341,7 @@ setting.videocfg_ao_detail\n setting.videocfg_dynamic_shadows\n setting.videocfg_fsr_detail\n setting.videocfg_hdr_detail\n+setting.videocfg_parallax_detail\n setting.videocfg_particle_detail\n setting.videocfg_shadow_quality\n setting.videocfg_texture_detail\n@@ -35377,7 +35258,6 @@ timeouts_remaining\n timer\n timer_time\n timerangeindays\n-timescale\n timeslice\n timestamp\n timestamp=%d&stat_value=%.3f&stat_index=%d&percentile=%.2f"
},
{
"filename": "game/csgo/bin/win64/host_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -106,7 +106,7 @@ DotaMapUtils001\n EconVData001\n Entry %s was not found in surfaceproperties_footsteps.txt\\n\n Error loading %s: %s\\n\n-FaN\"\\v\n+FaN\"\\f\n Failed to open file: %s\\n\n FoliageAnimation\n Game System %s is defined twice!\\n"
},
{
"filename": "game/csgo/bin/win64/matchmaking_strings.txt",
"status": "modified",
"additions": 0,
"deletions": 3,
"changes": 3,
"patch": "@@ -285,7 +285,6 @@ $%llx\n APPSYSTEM: In ConnectGameInterfaces(), s_nRegistrationCount is %d!\\n\n APPSYSTEM: In ConnectGameInterfaces(), tried to use different connection modes!\\n\n APPSYSTEM: In ReconnectGameInterface(), tried to use different connection modes!\\n\n-AddWorkItem\n Adding player %llu to team %d\\n\n AllowSecureServers\n Attempted a typeid of nullptr pointer!\n@@ -596,7 +595,6 @@ Server/reservationid\n Server/server\n Server/xuid\n SessionSearch\n-SetEvent()\n Settings data:\\n\n SetupSteamRankingConfiguration\n SharedObjectCache for %s (%d types):\\n\n@@ -647,7 +645,6 @@ TeamSearchResult::Dedicated\n TeamSearchResult::ListenClient\n TeamSearchResult::ListenHost\n Thread \"%s\" (ID %llu) failed to shut down\n-ThreadingMain\n TimeoutJob\n TitleSettings\n Trying to send message type %d before GC connection established. This is guaranteed to fail.\\n"
},
{
"filename": "game/csgo/bin/win64/modtools_strings.txt",
"status": "modified",
"additions": 14,
"deletions": 4,
"changes": 18,
"patch": "@@ -1251,6 +1251,7 @@ $modelname$_surface\n .?AUCAttr_m_flTraceRadius@?1??GetStaticAttributes@CModelDocFoot@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@\n .?AUCAttr_m_flTracksConstantThreshold@?1??GetStaticAttributes@CModelDocAclParameters@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@\n .?AUCAttr_m_flTracksPrecision@?1??GetStaticAttributes@CModelDocAclParameters@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@\n+.?AUCAttr_m_flTransitionBlendTimeSeconds@?1??GetAttributeTable_Impl@CNmGraphDocAimCSNode@@SAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@\n .?AUCAttr_m_flTranslationConstantThreshold@?1??GetStaticAttributes@CModelDocAclParameters@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@\n .?AUCAttr_m_flTranslationIgnoreThreshold@?1??GetStaticAttributes@CModelDocAnimConstraintRbf@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@\n .?AUCAttr_m_flTranslationWeight@?1??GetStaticAttributes@CModelDocAnimIkLockLocal@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@\n@@ -9176,7 +9177,6 @@ $modelname$_surface\n <pair_a> \n <pair_b> \n <unnamed>\n->fff>\n @%s%s\n @%s_lookFrame_0\n @%s_lookFrame_1\n@@ -9241,7 +9241,6 @@ Accent frame of the gesture/posture, unused\n AclParameters\n Action Blend Time Seconds\n Action Blend Time: %.2fs\n-Action Weight: %.2f\n Activation Distance\n Active By Default\n ActiveArea\n@@ -10130,7 +10129,7 @@ CModelMaterialGroupName\n CModelMesh Index Buffer\n CModelMeshRenderData::BuildVertexBuffersForMaterialGroups(732): \n CModelMeshVertexBuffer\n-CNmAimCSTask::TrySetupSolverData\n+CNmAimCSTask::TrySetupBoneIndices\n CNmBoneMaskTaskList::GenerateBoneMask\n CNmChainLookatNode::CDefinition::InstantiateNode\n CNmChainLookatTask::CNmChainLookatTask\n@@ -10307,6 +10306,7 @@ Center vertices relative to the origin using average vertex position. Optionally\n Chain Length\n Chain Length: %d\n Chain Lookat\n+Chain Lookat Task - Trying to perform a chain lookat on top of an additive pose, this is not allowed!\n Chain Rotation Weight\n Chain Weights\n Changes how the cycle time is computed. Mainly used with autolayer.\\nShould not be used with AnimGraph.\n@@ -11062,6 +11062,7 @@ Event ID\n Event ID: %s\n Event ID: Invalid\n Event IDs\n+Events\n Events Ignored\n Exact\n Exclude Bones With Exact Flags\n@@ -11433,6 +11434,7 @@ Has Stray Radius\n Has Up Frame\n Has World Collision\n Has Yaw Constraint\n+Head Lookat Weight: %.2f\n Health Override\n Heat\n Heel Land Frame\n@@ -12565,6 +12567,7 @@ Planarconfig tag value assumed incorrect, assuming data is contig instead of chu\n Planarize\n Plane Primitive\n Planting Blend Time Seconds\n+Planting Blend Time: %.2fs\n Planting Disable Multiplier: %.2f\n Plastic\n Plasticity\n@@ -13100,6 +13103,8 @@ Soft Link\n Softbody\n Software\n Solver Settings\n+Solver Transition Blend Time: %.2fs\n+Solver Transition Weight: %.2f\n Some events have invalid characters in their IDs\n Some events have unset IDs\n Some events have unset event classes\n@@ -13458,6 +13463,7 @@ Transform Bindpose Bone\n Transform Bindpose Bone [%s]\n Transform Vertices\n Transforms the animation by the specified values\n+Transition Blend Time Seconds\n Transition Conduit\n Transition Event Condition\n Translate the overall model by the specified vector.\n@@ -13677,6 +13683,7 @@ Warp Z\n Warp event is not allowed to be within the first or last frame!\n Wavelength\n Weapon Action\n+Weapon Action Weight: %.2f\n Weapon Category\n Weapon Constraint\n Weapon Drop\n@@ -13784,7 +13791,6 @@ Zero input vector for info node!\n [anim]\n [cloth] | [procedural]\n [procedural]\n-\\fB33\n \\n***ASSERT FAILED*** Image data section has too many channels (%d).\n \\n***ASSERT FAILED*** Pointer is null.\n \\n***ERROR*** [DecompressRle] Malformed RLE data encountered\n@@ -13966,6 +13972,8 @@ applicable_to\n apply_fast_sweep\n applymodelspacetranslation\n are_effects_mutually_exclude\n+arm_lower_L\n+arm_lower_R\n arm_upper_L\n arm_upper_R\n assetTag\n@@ -14128,6 +14136,8 @@ choices\n choreoanchorclass\n chunkCount\n clamp\n+clavicle_L\n+clavicle_R\n clear_rest_of_selection\n clear_selection\n close_outline_at_hard_edges"
},
{
"filename": "game/csgo/bin/win64/server_strings.txt",
"status": "modified",
"additions": 14,
"deletions": 142,
"changes": 156,
"patch": "@@ -1157,6 +1157,7 @@ $tH@T\\tI\n %s PRIVATE KEY\n %s Tactical Timeouts remaining was %d, \n %s Tick\n+%s [%d]\n %s [%s%s%s]###%p\n %s [%u]\n %s algorithm \"%s\" unsupported\\n\n@@ -6073,6 +6074,7 @@ $tH@T\\tI\n .?AVCHLTVDirector@@\n .?AVCHandleDummy@@\n .?AVCHandleTest@@\n+.?AVCHiddenFieldValuePrinter@@\n .?AVCHitboxComponent@@\n .?AVCHitboxSystem@@\n .?AVCHitgroupDisableListSaveRestoreOps@@\n@@ -6870,138 +6872,6 @@ $tH@T\\tI\n .?AVCProtoBufMsgMemoryPoolBase@GCSDK@@\n .?AVCProtoBufNetPacket@GCSDK@@\n .?AVCProtoBufSharedObjectBase@GCSDK@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BBI@V?$CBaseCmdKeyValues@VCClientMsg_CustomGameEvent@@@@$0O@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BBJ@V?$CBaseCmdKeyValues@VCClientMsg_CustomGameEventBounce@@@@$0O@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BBK@VCClientMsg_ClientUIEvent@@$0O@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BCN@VCCSUsrMsg_VGUIMenu@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BDN@VCCSUsrMsg_SendAudio@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BDO@VCCSUsrMsg_RawAudio@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEB@VCCSUsrMsg_Damage@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEC@VCCSUsrMsg_RadioText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BED@VCCSUsrMsg_HintText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEE@VCCSUsrMsg_KeyHintText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEF@VCCSUsrMsg_ProcessSpottedEntityUpdate@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEH@VCCSUsrMsg_AdjustMoney@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEK@VCCSUsrMsg_KillCam@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEO@VCCSUsrMsg_MatchEndConditions@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BEP@VCCSUsrMsg_DisconnectToLobby@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFA@VCCSUsrMsg_PlayerStatsUpdate@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFJ@VCCSUsrMsg_CallVoteFailed@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFK@VCCSUsrMsg_VoteStart@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFL@VCCSUsrMsg_VotePass@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFM@VCCSUsrMsg_VoteFailed@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFN@VCCSUsrMsg_VoteSetup@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFO@VCCSUsrMsg_ServerRankRevealAll@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BFP@VCCSUsrMsg_SendLastKillerDamageToClient@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGA@VCCSUsrMsg_ServerRankUpdate@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGJ@VCCSUsrMsg_SendPlayerItemDrops@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGK@VCCSUsrMsg_RoundBackupFilenames@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGL@VCCSUsrMsg_SendPlayerItemFound@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGM@VCCSUsrMsg_ReportHit@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGN@VCCSUsrMsg_XpUpdate@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGO@VCCSUsrMsg_QuestProgress@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BGP@VCCSUsrMsg_ScoreLeaderboardData@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHA@VCCSUsrMsg_PlayerDecalDigitalSignature@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHB@VCCSUsrMsg_WeaponSound@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHC@VCCSUsrMsg_UpdateScreenHealthBar@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHD@VCCSUsrMsg_EntityOutlineHighlight@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHE@VCCSUsrMsg_SSUI@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHF@VCCSUsrMsg_SurvivalStats@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHG@VCCSUsrMsg_DisconnectToLobby@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHH@VCCSUsrMsg_EndOfMatchAllPlayersData@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHI@VCCSUsrMsg_PostRoundDamageReport@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHL@VCCSUsrMsg_RoundEndReportData@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHM@VCCSUsrMsg_CurrentRoundOdds@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHN@VCCSUsrMsg_DeepStats@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BHP@VCCSUsrMsg_ShootInfo@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BIB@VCCSUsrMsg_CounterStrafe@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BID@VCCSUsrMsg_RecurringMissionSchema@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BIE@VCCSUsrMsg_SendPlayerLoadout@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BIF@VCCSUsrMsg_WeaponMagDrop@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BIG@VCCSUsrMsg_CustomHudClicked@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJA@VCMsgTEEffectDispatch@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJB@VCMsgTEArmorRicochet@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJC@VCMsgTEBeamEntPoint@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJD@VCMsgTEBeamEnts@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJE@VCMsgTEBeamPoints@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJF@VCMsgTEBeamRing@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJI@VCMsgTEBubbles@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJJ@VCMsgTEBubbleTrail@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJK@VCMsgTEDecal@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJL@VCMsgTEWorldDecal@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJM@VCMsgTEEnergySplash@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJN@VCMsgTEFizz@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BJP@VCMsgTEGlowSprite@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKA@VCMsgTEImpact@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKB@VCMsgTEMuzzleFlash@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKC@VCMsgTEBloodStream@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKD@VCMsgTEExplosion@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKE@VCMsgTEDust@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKF@VCMsgTELargeFunnel@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKG@VCMsgTESparks@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKH@VCMsgTEPhysicsProp@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BKK@VCMsgTESmoke@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BME@VCMsgTEFireBullets@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0BMF@VCMsgPlayerBulletHit@@$04$0A@$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GF@VCUserMessageAchievementEvent@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GI@VCUserMessageCurrentTimescale@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GJ@VCUserMessageDesiredTimescale@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GK@VCUserMessageFade@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GO@VCUserMessageHudMsg@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0GP@VCUserMessageHudText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HB@VCUserMessageColoredText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HC@VCUserMessageRequestState@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HD@VCUserMessageResetHUD@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HE@VCUserMessageRumble@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HF@VCUserMessageSayText@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HG@VCUserMessageSayText2@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HH@VCUserMessageSayTextChannel@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HI@VCUserMessageShake@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HJ@VCUserMessageShakeDir@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HK@VCUserMessageWaterShake@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HM@VCUserMessageTextMsg@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0HN@VCUserMessageScreenTilt@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IA@VCUserMessageVoiceMask@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IC@VCUserMessageSendAudio@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0ID@VCUserMessageItemPickup@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IE@VCUserMessageAmmoDenied@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IG@VCUserMessageShowMenu@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IH@VCUserMessageCreditsMsg@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IJ@VCEntityMessageScreenOverlay@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IL@VCEntityMessagePropagateForce@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IM@VCEntityMessageDoSpark@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IO@VCUserMessageCloseCaptionPlaceholder@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0IP@VCUserMessageCameraTransition@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JA@VCUserMessageAudioParameter@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JB@VCUserMsg_ParticleManager@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JC@VCUserMsg_HudError@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JE@V?$CBaseCmdKeyValues@VCUserMsg_CustomGameEvent@@@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JG@VCUserMessageHapticsManagerPulse@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JH@VCUserMessageHapticsManagerEffect@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JJ@VCUserMessageUpdateCssClasses@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JK@VCUserMessageServerFrameTime@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JL@VCUserMessageLagCompensationError@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JM@VCUserMessageRequestDllStatus@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0JN@VCUserMessageRequestUtilAction@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KA@VCUserMessageRequestInventory@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KC@VCUserMessageRequestDiagnostic@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KF@VCUserMessage_NotifyResponseFound@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KG@VCUserMessage_PlayResponseConditional@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0KK@VCUserMessageRemoteServerResponse@@$0N@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MJ@VCMsgPlaceDecalEvent@@$0M@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MK@VCMsgClearWorldDecalsEvent@@$0M@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0ML@VCMsgClearEntityDecalsEvent@@$0M@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MM@VCMsgClearDecalsForEntityEvent@@$0M@$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MN@VCMsgSource1LegacyGameEventList@@$09$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MO@VCMsgSource1LegacyListenEvents@@$09$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0MP@VCMsgSource1LegacyGameEvent@@$04$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NA@VCMsgSosStartSoundEvent@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NB@VCMsgSosStopSoundEvent@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NC@VCMsgSosSetSoundEventParams@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0ND@VCMsgSosSetLibraryStackFields@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NE@VCMsgSosStopSoundEventHash@@$03$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NF@VCMsgClothStiffenAnimEvent@@$04$00$00@@\n-.?AVCProtobufBinding@?$CNetMessagePB@$0NG@VCMsgClothEffectAnimEvent@@$04$00$00@@\n .?AVCPulseAPIExtensionRegistrationContext@@\n .?AVCPulseBlackboardViewFromGraphInstance@@\n .?AVCPulseCell_ApplyAnimGraphParam@@\n@@ -7101,7 +6971,6 @@ $tH@T\\tI\n .?AVCReadyForMatchIssue@@\n .?AVCRecipientFilter@@\n .?AVCRectLight@@\n-.?AVCRefCount@GCSDK@@\n .?AVCReliableBroadcastRecipientFilter@@\n .?AVCReliableSingleUserRecipientFilter@@\n .?AVCReloadMatchFilter@@\n@@ -8811,7 +8680,6 @@ AddTeamMoney\n AddTeamScore\n AddVelocity\n AddViewsToSceneSystem\n-AddWorkItem\n Added area %d. ( to go there: setpos %f %f %f )\\n\n Additive Blend\n Additive Blend (Masked): %.2f%%\n@@ -9340,6 +9208,7 @@ C:\\buildworker\\csgo_rel_win64\\build\\src\\animlib\\tasksystem\\animbonemasktask.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\animlib\\tasksystem\\animtaskposepool.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\animlib\\tasksystem\\animtasksystem.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\animlib\\tasksystem\\tasks\\animtask_chainlookat.cpp\n+C:\\buildworker\\csgo_rel_win64\\build\\src\\common\\protobuf_helpers.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\entity2\\entity2_networking.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\entity2\\entitykeyvalues.cpp\n C:\\buildworker\\csgo_rel_win64\\build\\src\\entity2\\entitysystem.cpp\n@@ -9527,7 +9396,7 @@ CAnimGraphControllerManager::CreateAndBindController\n CAnimGraphControllerManager::CreateControllerToGraphBindings\n CAnimGraphControllerManager::PreGraphUpdate\n CAnimGraphGameSystem::OnServerPrePackEntities\n-CAnimGraphGameSystem::OnServerPrePackEntities(), C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\shared\\animgraph_gamesystem.cpp:2434\n+CAnimGraphGameSystem::OnServerPrePackEntities(), C:\\buildworker\\csgo_rel_win64\\build\\src\\game\\shared\\animgraph_gamesystem.cpp:2436\n CAnimGraphGameSystem::PreUpdateAnimGraphAnimations\n CAnimGraphParamAutoResetRef\n CAnimGraphParamRef\n@@ -11318,7 +11187,7 @@ CNetworkUtlVectorEmbedded: successfully late-resolved 0x%p in entity %d:%s to %s\n CNetworkUtlVectorFull\n CNetworkedQuantizedFloat\n CNetworkedQuantizedFloat: called before encoder initialized, use DECLARE_NETWORK_QUANTIZED_FLOAT_NETWORKVAR or DECLARE_NETWORK_QUANTIZED_FLOAT to make sure the encoder is initialized;\\n\n-CNmAimCSTask::TrySetupSolverData\n+CNmAimCSTask::TrySetupBoneIndices\n CNmBoneMaskTaskList::GenerateBoneMask\n CNmChainLookatNode::CDefinition::InstantiateNode\n CNmChainLookatTask::CNmChainLookatTask\n@@ -12830,6 +12699,7 @@ Certificate Sign\n Certificate:\\n\n Cessation Of Operation\n Chain Lookat\n+Chain Lookat Task - Trying to perform a chain lookat on top of an additive pose, this is not allowed!\n Change FOV\n Change Level\n Change Opvar Value\n@@ -12897,7 +12767,6 @@ ClearDecalsForEntityEvent_t\n ClearEntityDecalsEvent_t\n ClearWorldDecalsEvent_t\n Clearing old .sav file %s\\n\n-Client Messages\n ClientCommand\n ClientGamePrecache_server\n ClientJob_EMsgGCCStrike15_v2_GC2ServerReservationUpdate\n@@ -14234,6 +14103,7 @@ Event.HostageRescued\n EventID\n EventLog\n EventQueue\n+Events\n Exception during CompileModule\\n%s\\n at (%s:%d:%d)\\n\n Exception during Evaluate\\n%s\\n\n Exception during InstantiateModule\\n%s\\n\n@@ -17049,7 +16919,6 @@ PassthroughCaller: %s\n Path Discarded Immediately\n Path segment [%d/%d] has no area\n PathFind_NavAreaBuildPath\n-Path_RemoveAll failed for read only CFieldPath\n Pathfind to leader failed.\\n\n PathfindGeneric\n PathfindGeneric - failed\n@@ -17585,7 +17454,7 @@ ReadyForMatch\n Reasons\n Recast\n Recast: \n-Received %d perf samples from player %d '%s'\n+Received %d perf samples from player %d '%s'\\n\n Received client welcome from GC.\\n\n Received method callback. Handle: %llu. Context: %llu. EResult: %d. Response Size: %d.\\n\n Received new item acknowledgement: %s\\n\n@@ -18836,7 +18705,6 @@ SetDialogVariableStringForPlayer\n SetDistanceToReachMaxSpeed [distance=%.2f time=%.2f]\n SetDistanceToReachZeroSpeed [distance=%.2f time=%.2f]\n SetEntityName\n-SetEvent()\n SetExternalAnimgraphResource\n SetEyeAngles\n SetFloat(name, val) : sets the value of the convar to the float.\n@@ -19493,7 +19361,6 @@ This is the overall duration. If -1 timer will continue forever. During this dur\n Thread \"%s\" (ID %llu) failed to shut down\n Thread32First\n Thread32Next\n-ThreadingMain\n ThreeEnemiesLeft\n Throwing smoke grenade!\n Ticks: %d (%d)\n@@ -19939,6 +19806,7 @@ VisMon: RESET\\n\n VisMon: Starting at element: %d\\n\n VisMon: Time: %f - Tracking %d Entities. (Max:%d)\\n\n VisibilityMonitor\n+Voice\n VoiceBank\n VoicePitch\n Volume Matches Event Ramp\n@@ -20564,11 +20432,11 @@ Zero input vector for info node!\n [net] %s\n [none]\n [null]\n+[removed]\n [unknown entity]\n \\%02X\n \\U%04lX\n \\W%08lX\n-\\fB33\n \\n Not After : \n \\n Public key OCSP hash: \n \\n at %s (%s:%d:%d)\n@@ -21106,6 +20974,8 @@ arealist\n arg%d\n arg2 lt arg3\n argument is not a number\n+arm_lower_L\n+arm_lower_R\n arm_upper_L\n arm_upper_R\n armor\n@@ -21736,6 +21606,8 @@ class_usage\n classdefidx:\n classic\n classname missing from entity!\\n\n+clavicle_L\n+clavicle_R\n cleanup method function failed\n clear_group\n clearance"
},
{
"filename": "game/csgo/cfg/gamemode_retakecasual.cfg",
"status": "modified",
"additions": 2,
"deletions": 0,
"changes": 2,
"patch": "@@ -99,6 +99,8 @@ mp_default_team_winner_no_objective\t\t\t\t\t-1\t\t// 2 == CTs, 3 == Ts\n //sv_occlude_players\t\t\t\t\t\t\t\t1\n //occlusion_test_async\t\t\t\t\t\t\t\t1\n \n+mp_bot_ai_bt\t\t\t\t\t\t\t\t\t\t\"scripts/ai/retakes/bt_default.kv3\"\n+\n spec_replay_enable\t\t\t\t\t\t\t\t0\n mp_round_restart_delay\t\t\t\t\t\t\t\t3\n "
},
{
"filename": "game/csgo/csgo.fgd",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -1415,6 +1415,7 @@\n \tenvpuddlerippledirection(float) : \"Environment Puddle Ripple Direction\" : \"0\" : \"Rotates the puddle ripples (0 to 1, i.e. 0.5 is reversed, 0.25 is 90 degrees).\"\n \tenvwetnesscoverage(float) : \"Environment Wetness Coverage\" : \"1\" : \"How wet the environment was before drying.\"\n \tenvwetnessdryingamount(float) : \"Environment Wetness Drying Amount\" : \"0\" : \"How much the environment dried out.\"\n+\tfrostenabled(boolean) : \"Player frost enabled\" : 0 : \"Players, weapons and chickens frost over outdoors (traces to the sky), and melt indoors.\"\n \tinput FireWinCondition(integer) : \"Fires win conditions for the win.\"\n \t\n ]"
},
{
"filename": "game/csgo/gameinfo.gi",
"status": "modified",
"additions": 12,
"deletions": 1,
"changes": 13,
"patch": "@@ -9,6 +9,7 @@\n \n \tFileSystem\n \t{\n+\t\tForceUseBuildVersion\t1\n \t\tSteamAppId\t\t\t\t710\t\t\t// This will mount all the GCFs we need (240=CS:S, 220=HL2).\n \t\tSearchPaths\n \t\t{\n@@ -130,7 +131,16 @@\n \t\t\"r_add_views_in_pre_output\"\t\t\"1\"\n \n \t\t// Limits\n-\t\t\"sv_recvbuf_messages\" \"500\"\n+\t\t\"net_limit_sv_recvbuffer_kb\" \"128\"\n+\t\t\"net_limit_sv_recvbuffer_msg\" \"100\"\n+\t\t\"net_limit_sv_recv_max_frame_size_kb\" \"40\"\n+\t\t\"net_limit_sv_recv_chan_buffer_messages\" \"500\"\n+\t\t\"net_limit_sv_recv_chan_msgs_per_frame\" \"250\"\n+\t\t\"net_limit_sv_message_process_time_ms_warn_burst\" \"20\"\n+\t\t\"net_limit_sv_message_process_time_ms_warn_rate_per_sec\" \"128\" // 2ms/tick\n+\t\t\"net_limit_sv_message_process_time_ms_drop_burst\" \"200\"\n+\t\t\"net_limit_sv_message_process_time_ms_drop_rate_per_sec\" \"256\" // 4ms/tick\n+\t\t\"net_message_size_enforce\" \"2\"\n \n \t\t// Nav fixups\n \t\t\"nav_path_fixup_climb_up_segments\" \"1\"\n@@ -276,6 +286,7 @@\n \t\t\"cq_buffer_bloat_msecs_max\" \"64\"\n \n \t\t\"cl_interp_ag2_for_non_ag2_entities\"\t\"0\"\n+\t\t\"cl_interp_parallel\"\t\t\t\"1\"\n \n \t\t\"r_skip_precache_validation_check\" \"1\"\n "
},
{
"filename": "game/csgo/pak01_dir.txt",
"status": "modified",
"additions": 184,
"deletions": 175,
"changes": 359,
"patch": "@@ -2171,46 +2171,46 @@ animation/anims/world/pistol/_default_pistol/walk_sw_pistol.vnmclip_c CRC:00ea41\n animation/anims/world/pistol/_default_pistol/walk_w_fwd_pistol.vnmclip_c CRC:00104820e2 size:8594\n animation/anims/world/pistol/_default_pistol/walk_w_mir_pistol.vnmclip_c CRC:00740a3272 size:9019\n animation/anims/world/pistol/_default_pistol/walk_w_pistol.vnmclip_c CRC:006e0a2d7d size:9640\n-animation/anims/world/pistol/pistol_cz75a/draw2_crouch_cz75a.vnmclip_c CRC:00fdac71e2 size:21134\n-animation/anims/world/pistol/pistol_cz75a/draw2_cz75a.vnmclip_c CRC:0047d79d49 size:24396\n-animation/anims/world/pistol/pistol_cz75a/draw_crouch_cz75a.vnmclip_c CRC:00e64e1113 size:24998\n-animation/anims/world/pistol/pistol_cz75a/draw_cz75a.vnmclip_c CRC:008409008c size:26801\n+animation/anims/world/pistol/pistol_cz75a/draw2_crouch_cz75a.vnmclip_c CRC:008c49b167 size:21134\n+animation/anims/world/pistol/pistol_cz75a/draw2_cz75a.vnmclip_c CRC:00e6bf33f7 size:24500\n+animation/anims/world/pistol/pistol_cz75a/draw_crouch_cz75a.vnmclip_c CRC:00421bdd4e size:24998\n+animation/anims/world/pistol/pistol_cz75a/draw_cz75a.vnmclip_c CRC:0052065328 size:26799\n animation/anims/world/pistol/pistol_cz75a/idle_crouch_cz75a.vnmclip+non_additive.vnmclip_c CRC:0095a88ce3 size:4562\n animation/anims/world/pistol/pistol_cz75a/idle_crouch_cz75a.vnmclip_c CRC:0080bb81b7 size:4178\n animation/anims/world/pistol/pistol_cz75a/idle_cz75a.vnmclip+non_additive.vnmclip_c CRC:00e05afd0a size:4574\n animation/anims/world/pistol/pistol_cz75a/idle_cz75a.vnmclip_c CRC:00d173c7f4 size:3846\n-animation/anims/world/pistol/pistol_cz75a/reload2_crouch_cz75a.vnmclip_c CRC:0065298e6e size:30784\n-animation/anims/world/pistol/pistol_cz75a/reload2_crouch_cz75a_silent.vnmclip_c CRC:0085e4368d size:30800\n-animation/anims/world/pistol/pistol_cz75a/reload2_cz75a.vnmclip_c CRC:00469ab3f5 size:33552\n-animation/anims/world/pistol/pistol_cz75a/reload2_cz75a_silent.vnmclip_c CRC:00b5fef242 size:33552\n+animation/anims/world/pistol/pistol_cz75a/reload2_crouch_cz75a.vnmclip_c CRC:00db64b333 size:30783\n+animation/anims/world/pistol/pistol_cz75a/reload2_crouch_cz75a_silent.vnmclip_c CRC:002ae20d9a size:30799\n+animation/anims/world/pistol/pistol_cz75a/reload2_cz75a.vnmclip_c CRC:001e252bc4 size:33551\n+animation/anims/world/pistol/pistol_cz75a/reload2_cz75a_silent.vnmclip_c CRC:009fc54fcb size:33551\n animation/anims/world/pistol/pistol_cz75a/reload2_empty_crouch_cz75a.vnmclip_c CRC:00701c0443 size:24549\n animation/anims/world/pistol/pistol_cz75a/reload2_empty_cz75a.vnmclip_c CRC:00adbd83dd size:26806\n-animation/anims/world/pistol/pistol_cz75a/reload_crouch_cz75a.vnmclip_c CRC:00c9f86b11 size:29807\n-animation/anims/world/pistol/pistol_cz75a/reload_crouch_cz75a_silent.vnmclip_c CRC:00126aa2ea size:29823\n-animation/anims/world/pistol/pistol_cz75a/reload_cz75a.vnmclip_c CRC:0005129c13 size:32367\n-animation/anims/world/pistol/pistol_cz75a/reload_cz75a_silent.vnmclip_c CRC:00cb1e548b size:32367\n+animation/anims/world/pistol/pistol_cz75a/reload_crouch_cz75a.vnmclip_c CRC:00a7aec517 size:29806\n+animation/anims/world/pistol/pistol_cz75a/reload_crouch_cz75a_silent.vnmclip_c CRC:002e0693b0 size:29822\n+animation/anims/world/pistol/pistol_cz75a/reload_cz75a.vnmclip_c CRC:0007510275 size:32366\n+animation/anims/world/pistol/pistol_cz75a/reload_cz75a_silent.vnmclip_c CRC:00ad181578 size:32366\n animation/anims/world/pistol/pistol_cz75a/reload_empty_crouch_cz75a.vnmclip_c CRC:00c4bbca89 size:28535\n animation/anims/world/pistol/pistol_cz75a/reload_empty_cz75a.vnmclip_c CRC:00f8cf3f4c size:28056\n animation/anims/world/pistol/pistol_cz75a/shoot_cz75.vnmclip+non_additive.vnmclip_c CRC:005f0e57f6 size:9584\n animation/anims/world/pistol/pistol_cz75a/shoot_cz75.vnmclip_c CRC:00a72f6894 size:8576\n animation/anims/world/pistol/pistol_cz75a/shoot_empty_cz75.vnmclip+non_additive.vnmclip_c CRC:00b055435b size:9512\n animation/anims/world/pistol/pistol_cz75a/shoot_empty_cz75.vnmclip_c CRC:00804a57de size:8509\n-animation/anims/world/pistol/pistol_deagle/draw_crouch_deagle.vnmclip_c CRC:00fa0db667 size:15579\n-animation/anims/world/pistol/pistol_deagle/draw_deagle.vnmclip_c CRC:005fd785a3 size:15729\n+animation/anims/world/pistol/pistol_deagle/draw_crouch_deagle.vnmclip_c CRC:008239c49e size:15576\n+animation/anims/world/pistol/pistol_deagle/draw_deagle.vnmclip_c CRC:00fc360ee5 size:15726\n animation/anims/world/pistol/pistol_deagle/idle_crouch_deagle.vnmclip+non_additive.vnmclip_c CRC:00d3f770b9 size:4557\n animation/anims/world/pistol/pistol_deagle/idle_crouch_deagle.vnmclip_c CRC:00f7b4c9fd size:4189\n animation/anims/world/pistol/pistol_deagle/idle_deagle.vnmclip+non_additive.vnmclip_c CRC:00994a05bc size:4580\n animation/anims/world/pistol/pistol_deagle/idle_deagle.vnmclip_c CRC:00ced1d061 size:4183\n-animation/anims/world/pistol/pistol_deagle/reload_crouch_deagle.vnmclip_c CRC:00d2ae9509 size:22484\n-animation/anims/world/pistol/pistol_deagle/reload_crouch_deagle_silent.vnmclip_c CRC:00e87b52a4 size:22484\n-animation/anims/world/pistol/pistol_deagle/reload_deagle.vnmclip_c CRC:00fe44e4dd size:22912\n-animation/anims/world/pistol/pistol_deagle/reload_deagle_silent.vnmclip_c CRC:0097557012 size:22928\n-animation/anims/world/pistol/pistol_deagle/reload_empty_crouch_deagle.vnmclip_c CRC:00621977b3 size:26917\n+animation/anims/world/pistol/pistol_deagle/reload_crouch_deagle.vnmclip_c CRC:00a8eb5fa0 size:22485\n+animation/anims/world/pistol/pistol_deagle/reload_crouch_deagle_silent.vnmclip_c CRC:00883a75e6 size:22485\n+animation/anims/world/pistol/pistol_deagle/reload_deagle.vnmclip_c CRC:0038c195b3 size:22912\n+animation/anims/world/pistol/pistol_deagle/reload_deagle_silent.vnmclip_c CRC:002523e07e size:22928\n+animation/anims/world/pistol/pistol_deagle/reload_empty_crouch_deagle.vnmclip_c CRC:00d231f827 size:26917\n animation/anims/world/pistol/pistol_deagle/reload_empty_deagle.vnmclip_c CRC:00d44fc733 size:27989\n animation/anims/world/pistol/pistol_deagle/shoot_deagle.vnmclip+non_additive.vnmclip_c CRC:0069fd4c29 size:9475\n animation/anims/world/pistol/pistol_deagle/shoot_deagle.vnmclip_c CRC:0029fb40b1 size:8728\n-animation/anims/world/pistol/pistol_elite/draw_crouch_elite.vnmclip_c CRC:008418b939 size:16360\n-animation/anims/world/pistol/pistol_elite/draw_elite.vnmclip_c CRC:00ccf9a431 size:16029\n+animation/anims/world/pistol/pistol_elite/draw_crouch_elite.vnmclip_c CRC:009ce165e8 size:16357\n+animation/anims/world/pistol/pistol_elite/draw_elite.vnmclip_c CRC:00e9f71850 size:16028\n animation/anims/world/pistol/pistol_elite/idle_crouch_elite.vnmclip+non_additive.vnmclip_c CRC:00a1697b96 size:5137\n animation/anims/world/pistol/pistol_elite/idle_crouch_elite.vnmclip_c CRC:00d68ad74b size:4990\n animation/anims/world/pistol/pistol_elite/idle_elite.vnmclip+non_additive.vnmclip_c CRC:00594725b7 size:5139\n@@ -2227,22 +2227,22 @@ animation/anims/world/pistol/pistol_elite/shoot_right1_elite.vnmclip+non_additiv\n animation/anims/world/pistol/pistol_elite/shoot_right1_elite.vnmclip_c CRC:005dfb0686 size:6125\n animation/anims/world/pistol/pistol_elite/shoot_rightlast_elite.vnmclip+non_additive.vnmclip_c CRC:00a92e080a size:7161\n animation/anims/world/pistol/pistol_elite/shoot_rightlast_elite.vnmclip_c CRC:00ef0bb74a size:5170\n-animation/anims/world/pistol/pistol_fiveseven/draw_crouch_fiveseven.vnmclip_c CRC:009fe09595 size:16678\n-animation/anims/world/pistol/pistol_fiveseven/draw_fiveseven.vnmclip_c CRC:004a11faa1 size:16823\n+animation/anims/world/pistol/pistol_fiveseven/draw_crouch_fiveseven.vnmclip_c CRC:005e4e8b00 size:16696\n+animation/anims/world/pistol/pistol_fiveseven/draw_fiveseven.vnmclip_c CRC:0036485288 size:16821\n animation/anims/world/pistol/pistol_fiveseven/idle_crouch_fiveseven.vnmclip+non_additive.vnmclip_c CRC:00406510c3 size:4584\n animation/anims/world/pistol/pistol_fiveseven/idle_crouch_fiveseven.vnmclip_c CRC:00e85df5b3 size:3873\n animation/anims/world/pistol/pistol_fiveseven/idle_fiveseven.vnmclip+non_additive.vnmclip_c CRC:00bb1f78ee size:4573\n animation/anims/world/pistol/pistol_fiveseven/idle_fiveseven.vnmclip_c CRC:007f548b31 size:3810\n-animation/anims/world/pistol/pistol_fiveseven/reload_crouch_fiveseven.vnmclip_c CRC:009c2c3f20 size:29347\n-animation/anims/world/pistol/pistol_fiveseven/reload_crouch_fiveseven_silent.vnmclip_c CRC:007e4060fe size:29347\n+animation/anims/world/pistol/pistol_fiveseven/reload_crouch_fiveseven.vnmclip_c CRC:00eaf1d989 size:29347\n+animation/anims/world/pistol/pistol_fiveseven/reload_crouch_fiveseven_silent.vnmclip_c CRC:0097798fbd size:29347\n animation/anims/world/pistol/pistol_fiveseven/reload_empty_crouch_fiveseven.vnmclip_c CRC:008c976616 size:21186\n animation/anims/world/pistol/pistol_fiveseven/reload_empty_fiveseven.vnmclip_c CRC:00365b301d size:21442\n-animation/anims/world/pistol/pistol_fiveseven/reload_fiveseven.vnmclip_c CRC:00ebd0cf1b size:30024\n-animation/anims/world/pistol/pistol_fiveseven/reload_fiveseven_silent.vnmclip_c CRC:00d161a75e size:30040\n+animation/anims/world/pistol/pistol_fiveseven/reload_fiveseven.vnmclip_c CRC:00855a2a52 size:30024\n+animation/anims/world/pistol/pistol_fiveseven/reload_fiveseven_silent.vnmclip_c CRC:007893e3af size:30040\n animation/anims/world/pistol/pistol_fiveseven/shoot_fiveseven.vnmclip+non_additive.vnmclip_c CRC:00f81c0342 size:9373\n animation/anims/world/pistol/pistol_fiveseven/shoot_fiveseven.vnmclip_c CRC:00f29873c0 size:8387\n-animation/anims/world/pistol/pistol_glock/draw_crouch_glock.vnmclip_c CRC:003b9ee0a1 size:16727\n-animation/anims/world/pistol/pistol_glock/draw_glock.vnmclip_c CRC:00f71fc3f0 size:16696\n+animation/anims/world/pistol/pistol_glock/draw_crouch_glock.vnmclip_c CRC:0096d93dd0 size:16724\n+animation/anims/world/pistol/pistol_glock/draw_glock.vnmclip_c CRC:00cd278793 size:16699\n animation/anims/world/pistol/pistol_glock/idle_crouch_glock.vnmclip+non_additive.vnmclip_c CRC:000a39ae26 size:4570\n animation/anims/world/pistol/pistol_glock/idle_crouch_glock.vnmclip_c CRC:002ef727da size:4209\n animation/anims/world/pistol/pistol_glock/idle_glock.vnmclip+non_additive.vnmclip_c CRC:009fd4e306 size:4576\n@@ -2255,22 +2255,22 @@ animation/anims/world/pistol/pistol_glock/reload_glock.vnmclip_c CRC:00a05e03c3\n animation/anims/world/pistol/pistol_glock/reload_glock_silent.vnmclip_c CRC:0048730161 size:24030\n animation/anims/world/pistol/pistol_glock/shoot_glock.vnmclip+non_additive.vnmclip_c CRC:00c2eb968b size:9318\n animation/anims/world/pistol/pistol_glock/shoot_glock.vnmclip_c CRC:004a979a8e size:8394\n-animation/anims/world/pistol/pistol_hkp2000/draw_crouch_hkp.vnmclip_c CRC:00ba9d6458 size:13764\n-animation/anims/world/pistol/pistol_hkp2000/draw_hkp.vnmclip_c CRC:009e6c9ec2 size:14024\n+animation/anims/world/pistol/pistol_hkp2000/draw_crouch_hkp.vnmclip_c CRC:000ef0bbcd size:13759\n+animation/anims/world/pistol/pistol_hkp2000/draw_hkp.vnmclip_c CRC:00e7710213 size:14021\n animation/anims/world/pistol/pistol_hkp2000/idle_crouch_hkp.vnmclip+non_additive.vnmclip_c CRC:00b9a9da4f size:4588\n animation/anims/world/pistol/pistol_hkp2000/idle_crouch_hkp.vnmclip_c CRC:005844c4c9 size:3854\n animation/anims/world/pistol/pistol_hkp2000/idle_hkp.vnmclip+non_additive.vnmclip_c CRC:00c5340311 size:4562\n animation/anims/world/pistol/pistol_hkp2000/idle_hkp.vnmclip_c CRC:0011e8f334 size:3820\n-animation/anims/world/pistol/pistol_hkp2000/reload_crouch_hkp.vnmclip_c CRC:00317eefa8 size:23111\n+animation/anims/world/pistol/pistol_hkp2000/reload_crouch_hkp.vnmclip_c CRC:00f2351a42 size:23111\n animation/anims/world/pistol/pistol_hkp2000/reload_crouch_hkp_silent.vnmclip_c CRC:0038027856 size:23111\n animation/anims/world/pistol/pistol_hkp2000/reload_empty_crouch_hkp.vnmclip_c CRC:00b0b94348 size:23332\n animation/anims/world/pistol/pistol_hkp2000/reload_empty_hkp.vnmclip_c CRC:003c906952 size:24379\n-animation/anims/world/pistol/pistol_hkp2000/reload_hkp.vnmclip_c CRC:00b7f27536 size:23026\n-animation/anims/world/pistol/pistol_hkp2000/reload_hkp_silent.vnmclip_c CRC:00c3bd5c41 size:23026\n+animation/anims/world/pistol/pistol_hkp2000/reload_hkp.vnmclip_c CRC:0035f8b901 size:23025\n+animation/anims/world/pistol/pistol_hkp2000/reload_hkp_silent.vnmclip_c CRC:00bdf47baa size:23041\n animation/anims/world/pistol/pistol_hkp2000/shoot_hkp.vnmclip+non_additive.vnmclip_c CRC:001d3d00de size:9460\n animation/anims/world/pistol/pistol_hkp2000/shoot_hkp.vnmclip_c CRC:00246a8018 size:8437\n-animation/anims/world/pistol/pistol_p250/draw_crouch_p250.vnmclip_c CRC:00b3e39359 size:16490\n-animation/anims/world/pistol/pistol_p250/draw_p250.vnmclip_c CRC:002124c8c5 size:16671\n+animation/anims/world/pistol/pistol_p250/draw_crouch_p250.vnmclip_c CRC:002569adf0 size:16490\n+animation/anims/world/pistol/pistol_p250/draw_p250.vnmclip_c CRC:00cd3e9a76 size:16676\n animation/anims/world/pistol/pistol_p250/idle_crouch_p250.vnmclip+non_additive.vnmclip_c CRC:00ae48a9e9 size:4560\n animation/anims/world/pistol/pistol_p250/idle_crouch_p250.vnmclip_c CRC:00d0665a4d size:4000\n animation/anims/world/pistol/pistol_p250/idle_p250.vnmclip+non_additive.vnmclip_c CRC:00b97d36d6 size:4581\n@@ -2283,10 +2283,10 @@ animation/anims/world/pistol/pistol_p250/reload_p250.vnmclip_c CRC:0060b88d1b si\n animation/anims/world/pistol/pistol_p250/reload_p250_silent.vnmclip_c CRC:00dafe3bac size:30193\n animation/anims/world/pistol/pistol_p250/shoot_p250.vnmclip+non_additive.vnmclip_c CRC:00c09db906 size:9309\n animation/anims/world/pistol/pistol_p250/shoot_p250.vnmclip_c CRC:0096dca4e1 size:8295\n-animation/anims/world/pistol/pistol_revolver/draw2_crouch_revolver.vnmclip_c CRC:00dedf370d size:17859\n-animation/anims/world/pistol/pistol_revolver/draw2_revolver.vnmclip_c CRC:00341030af size:18092\n-animation/anims/world/pistol/pistol_revolver/draw_crouch_revolver.vnmclip_c CRC:00858b699d size:16065\n-animation/anims/world/pistol/pistol_revolver/draw_revolver.vnmclip_c CRC:003dc8910f size:16314\n+animation/anims/world/pistol/pistol_revolver/draw2_crouch_revolver.vnmclip_c CRC:0051b5ba43 size:17862\n+animation/anims/world/pistol/pistol_revolver/draw2_revolver.vnmclip_c CRC:00b3639022 size:18095\n+animation/anims/world/pistol/pistol_revolver/draw_crouch_revolver.vnmclip_c CRC:00be145989 size:16070\n+animation/anims/world/pistol/pistol_revolver/draw_revolver.vnmclip_c CRC:0076bbfe22 size:16317\n animation/anims/world/pistol/pistol_revolver/idle_crouch_revolver.vnmclip+non_additive.vnmclip_c CRC:00a6a66b02 size:5071\n animation/anims/world/pistol/pistol_revolver/idle_crouch_revolver.vnmclip_c CRC:00b010ebd6 size:4688\n animation/anims/world/pistol/pistol_revolver/idle_revolver.vnmclip+non_additive.vnmclip_c CRC:00d245fa93 size:5115\n@@ -2299,16 +2299,16 @@ animation/anims/world/pistol/pistol_revolver/shoot_alt_revolver.vnmclip+non_addi\n animation/anims/world/pistol/pistol_revolver/shoot_alt_revolver.vnmclip_c CRC:002d900e71 size:13664\n animation/anims/world/pistol/pistol_revolver/shoot_revolver.vnmclip+non_additive.vnmclip_c CRC:00d7e81056 size:9384\n animation/anims/world/pistol/pistol_revolver/shoot_revolver.vnmclip_c CRC:00c6d027de size:8115\n-animation/anims/world/pistol/pistol_taser/draw_crouch_taser.vnmclip_c CRC:00f98af2af size:16055\n-animation/anims/world/pistol/pistol_taser/draw_taser.vnmclip_c CRC:00121e435c size:15909\n+animation/anims/world/pistol/pistol_taser/draw_crouch_taser.vnmclip_c CRC:009b17626c size:16052\n+animation/anims/world/pistol/pistol_taser/draw_taser.vnmclip_c CRC:00ec1a69d2 size:15907\n animation/anims/world/pistol/pistol_taser/idle_crouch_taser.vnmclip+non_additive.vnmclip_c CRC:003978e04d size:4567\n animation/anims/world/pistol/pistol_taser/idle_crouch_taser.vnmclip_c CRC:003ac85604 size:4218\n animation/anims/world/pistol/pistol_taser/idle_taser.vnmclip+non_additive.vnmclip_c CRC:0071aa4d24 size:4582\n animation/anims/world/pistol/pistol_taser/idle_taser.vnmclip_c CRC:003a456313 size:4231\n animation/anims/world/pistol/pistol_taser/shoot_taser.vnmclip+non_additive.vnmclip_c CRC:00024eaa51 size:9073\n animation/anims/world/pistol/pistol_taser/shoot_taser.vnmclip_c CRC:00c5d60b61 size:8078\n-animation/anims/world/pistol/pistol_tec9/draw_crouch_tec9.vnmclip_c CRC:00d7472dbf size:16995\n-animation/anims/world/pistol/pistol_tec9/draw_tec9.vnmclip_c CRC:000c9263ba size:16831\n+animation/anims/world/pistol/pistol_tec9/draw_crouch_tec9.vnmclip_c CRC:0055de9520 size:16993\n+animation/anims/world/pistol/pistol_tec9/draw_tec9.vnmclip_c CRC:00f20ece79 size:16831\n animation/anims/world/pistol/pistol_tec9/idle_crouch_tec9.vnmclip+non_additive.vnmclip_c CRC:00361fd0ca size:4558\n animation/anims/world/pistol/pistol_tec9/idle_crouch_tec9.vnmclip_c CRC:00c0c3bb2b size:4375\n animation/anims/world/pistol/pistol_tec9/idle_tec9.vnmclip+non_additive.vnmclip_c CRC:009ac4804b size:4565\n@@ -2319,8 +2319,8 @@ animation/anims/world/pistol/pistol_tec9/reload_tec9.vnmclip_c CRC:00d6151d02 si\n animation/anims/world/pistol/pistol_tec9/reload_tec9_silent.vnmclip_c CRC:00b3223879 size:33238\n animation/anims/world/pistol/pistol_tec9/shoot_tec9.vnmclip+non_additive.vnmclip_c CRC:00b8ee937b size:7350\n animation/anims/world/pistol/pistol_tec9/shoot_tec9.vnmclip_c CRC:0041de4e0e size:6271\n-animation/anims/world/pistol/pistol_usp/draw_crouch_pistol.vnmclip_c CRC:0069db1ad6 size:16809\n-animation/anims/world/pistol/pistol_usp/draw_usp.vnmclip_c CRC:000f3b8680 size:17117\n+animation/anims/world/pistol/pistol_usp/draw_crouch_pistol.vnmclip_c CRC:00532f8257 size:16807\n+animation/anims/world/pistol/pistol_usp/draw_usp.vnmclip_c CRC:008bdacef9 size:17115\n animation/anims/world/pistol/pistol_usp/idle_crouch_usp.vnmclip+non_additive.vnmclip_c CRC:00d8791597 size:4982\n animation/anims/world/pistol/pistol_usp/idle_crouch_usp.vnmclip_c CRC:00eb502f9b size:3010\n animation/anims/world/pistol/pistol_usp/idle_usp.vnmclip+non_additive.vnmclip_c CRC:001730c190 size:4972\n@@ -2530,44 +2530,44 @@ animation/anims/world/rifle/_default_rifle/walk_sw_rifle.vnmclip_c CRC:00d722a24\n animation/anims/world/rifle/_default_rifle/walk_w_fwd_rifle.vnmclip_c CRC:000e8701b1 size:8368\n animation/anims/world/rifle/_default_rifle/walk_w_mir_rifle.vnmclip_c CRC:0087cdaca5 size:8649\n animation/anims/world/rifle/_default_rifle/walk_w_rifle.vnmclip_c CRC:00ff2021a9 size:9777\n-animation/anims/world/rifle/rifle_ak/draw_ak.vnmclip_c CRC:00097a591f size:15548\n-animation/anims/world/rifle/rifle_ak/draw_crouch_ak.vnmclip_c CRC:00e6b28ad6 size:16839\n+animation/anims/world/rifle/rifle_ak/draw_ak.vnmclip_c CRC:00fdea3dc9 size:15551\n+animation/anims/world/rifle/rifle_ak/draw_crouch_ak.vnmclip_c CRC:00c680363e size:16840\n animation/anims/world/rifle/rifle_ak/idle_ak.vnmclip+non_additive.vnmclip_c CRC:00cd0f48bc size:4581\n animation/anims/world/rifle/rifle_ak/idle_ak.vnmclip_c CRC:00ec4a3b7f size:4222\n animation/anims/world/rifle/rifle_ak/idle_crouch_ak.vnmclip+non_additive.vnmclip_c CRC:00b3b14bfe size:4575\n animation/anims/world/rifle/rifle_ak/idle_crouch_ak.vnmclip_c CRC:0017fdc3df size:4433\n-animation/anims/world/rifle/rifle_ak/reload_ak.vnmclip_c CRC:0087f4fcac size:23759\n+animation/anims/world/rifle/rifle_ak/reload_ak.vnmclip_c CRC:00164452c3 size:23759\n animation/anims/world/rifle/rifle_ak/reload_ak_silent.vnmclip_c CRC:009d7c96ac size:23759\n-animation/anims/world/rifle/rifle_ak/reload_crouch_ak.vnmclip_c CRC:00d58e2490 size:23719\n-animation/anims/world/rifle/rifle_ak/reload_crouch_ak_silent.vnmclip_c CRC:00c03a0594 size:23735\n+animation/anims/world/rifle/rifle_ak/reload_crouch_ak.vnmclip_c CRC:00b18af1db size:23826\n+animation/anims/world/rifle/rifle_ak/reload_crouch_ak_silent.vnmclip_c CRC:00b77aa910 size:23842\n animation/anims/world/rifle/rifle_ak/shoot_ak.vnmclip+non_additive.vnmclip_c CRC:003a26deb2 size:9686\n animation/anims/world/rifle/rifle_ak/shoot_ak.vnmclip_c CRC:009f945a62 size:8597\n-animation/anims/world/rifle/rifle_aug/draw_aug.vnmclip_c CRC:00e7734bc7 size:17341\n-animation/anims/world/rifle/rifle_aug/draw_crouch_aug.vnmclip_c CRC:0076da91f5 size:17013\n+animation/anims/world/rifle/rifle_aug/draw_aug.vnmclip_c CRC:0073b85497 size:17341\n+animation/anims/world/rifle/rifle_aug/draw_crouch_aug.vnmclip_c CRC:001c56db6a size:17013\n animation/anims/world/rifle/rifle_aug/idle_aug.vnmclip+non_additive.vnmclip_c CRC:0060b6cd4c size:4579\n animation/anims/world/rifle/rifle_aug/idle_aug.vnmclip_c CRC:001228edc4 size:4282\n animation/anims/world/rifle/rifle_aug/idle_crouch_aug.vnmclip+non_additive.vnmclip_c CRC:0063ff4c5c size:4559\n animation/anims/world/rifle/rifle_aug/idle_crouch_aug.vnmclip_c CRC:0059b270f9 size:4442\n-animation/anims/world/rifle/rifle_aug/reload_aug.vnmclip_c CRC:00ec6fc2e5 size:30131\n-animation/anims/world/rifle/rifle_aug/reload_aug_silent.vnmclip_c CRC:0052086ecc size:30135\n-animation/anims/world/rifle/rifle_aug/reload_crouch_aug.vnmclip_c CRC:0091f9ac68 size:31993\n-animation/anims/world/rifle/rifle_aug/reload_crouch_aug_silent.vnmclip_c CRC:008d80c61d size:32013\n+animation/anims/world/rifle/rifle_aug/reload_aug.vnmclip_c CRC:0011030246 size:30131\n+animation/anims/world/rifle/rifle_aug/reload_aug_silent.vnmclip_c CRC:0008403c47 size:30131\n+animation/anims/world/rifle/rifle_aug/reload_crouch_aug.vnmclip_c CRC:001a7e2ad3 size:31993\n+animation/anims/world/rifle/rifle_aug/reload_crouch_aug_silent.vnmclip_c CRC:00abc6e00f size:32009\n animation/anims/world/rifle/rifle_aug/shoot_aug.vnmclip+non_additive.vnmclip_c CRC:000bc03afd size:15249\n animation/anims/world/rifle/rifle_aug/shoot_aug.vnmclip_c CRC:0003ea45b9 size:14049\n-animation/anims/world/rifle/rifle_awp/draw_awp.vnmclip_c CRC:008e0606b4 size:19262\n-animation/anims/world/rifle/rifle_awp/draw_crouch_awp.vnmclip_c CRC:0024e58db4 size:18457\n+animation/anims/world/rifle/rifle_awp/draw_awp.vnmclip_c CRC:00d7a4d173 size:19262\n+animation/anims/world/rifle/rifle_awp/draw_crouch_awp.vnmclip_c CRC:00138149ef size:18457\n animation/anims/world/rifle/rifle_awp/idle_awp.vnmclip+non_additive.vnmclip_c CRC:00390bf1e0 size:4550\n animation/anims/world/rifle/rifle_awp/idle_awp.vnmclip_c CRC:00221054aa size:4217\n animation/anims/world/rifle/rifle_awp/idle_crouch_awp.vnmclip+non_additive.vnmclip_c CRC:000f09a9e4 size:4564\n animation/anims/world/rifle/rifle_awp/idle_crouch_awp.vnmclip_c CRC:0098739854 size:4442\n animation/anims/world/rifle/rifle_awp/reload_awp.vnmclip_c CRC:0067fb6668 size:38965\n animation/anims/world/rifle/rifle_awp/reload_awp_silent.vnmclip_c CRC:00e01a3c09 size:38981\n-animation/anims/world/rifle/rifle_awp/reload_crouch_awp.vnmclip_c CRC:000111ddcd size:39447\n-animation/anims/world/rifle/rifle_awp/reload_crouch_awp_silent.vnmclip_c CRC:001a49f88f size:39447\n+animation/anims/world/rifle/rifle_awp/reload_crouch_awp.vnmclip_c CRC:00f84593a8 size:39446\n+animation/anims/world/rifle/rifle_awp/reload_crouch_awp_silent.vnmclip_c CRC:00d088e297 size:39446\n animation/anims/world/rifle/rifle_awp/shoot_awp.vnmclip+non_additive.vnmclip_c CRC:00d9962cc0 size:17190\n animation/anims/world/rifle/rifle_awp/shoot_awp.vnmclip_c CRC:008d36d2a6 size:16103\n-animation/anims/world/rifle/rifle_bizon/draw_bizon.vnmclip_c CRC:008bff5198 size:16757\n-animation/anims/world/rifle/rifle_bizon/draw_crouch_bizon.vnmclip_c CRC:0090c07434 size:17734\n+animation/anims/world/rifle/rifle_bizon/draw_bizon.vnmclip_c CRC:00ab073bf1 size:16758\n+animation/anims/world/rifle/rifle_bizon/draw_crouch_bizon.vnmclip_c CRC:0034800e59 size:17735\n animation/anims/world/rifle/rifle_bizon/idle_bizon.vnmclip+non_additive.vnmclip_c CRC:00c177c220 size:4566\n animation/anims/world/rifle/rifle_bizon/idle_bizon.vnmclip_c CRC:0063cecf63 size:4266\n animation/anims/world/rifle/rifle_bizon/idle_crouch_bizon.vnmclip+non_additive.vnmclip_c CRC:00fc3c4c9f size:4577\n@@ -2578,8 +2578,8 @@ animation/anims/world/rifle/rifle_bizon/reload_crouch_bizon.vnmclip_c CRC:005fa3\n animation/anims/world/rifle/rifle_bizon/reload_crouch_bizon_silent.vnmclip_c CRC:001965e84b size:24952\n animation/anims/world/rifle/rifle_bizon/shoot_bizon.vnmclip+non_additive.vnmclip_c CRC:009e841c24 size:10729\n animation/anims/world/rifle/rifle_bizon/shoot_bizon.vnmclip_c CRC:00bce48118 size:9968\n-animation/anims/world/rifle/rifle_famas/draw_crouch_famas.vnmclip_c CRC:005141e5c0 size:16708\n-animation/anims/world/rifle/rifle_famas/draw_famas.vnmclip_c CRC:00515a9c5a size:16123\n+animation/anims/world/rifle/rifle_famas/draw_crouch_famas.vnmclip_c CRC:004f01bbaa size:16702\n+animation/anims/world/rifle/rifle_famas/draw_famas.vnmclip_c CRC:00183746c6 size:16126\n animation/anims/world/rifle/rifle_famas/idle_crouch_famas.vnmclip+non_additive.vnmclip_c CRC:00cf5b007e size:4574\n animation/anims/world/rifle/rifle_famas/idle_crouch_famas.vnmclip_c CRC:007a7f33a5 size:4456\n animation/anims/world/rifle/rifle_famas/idle_famas.vnmclip+non_additive.vnmclip_c CRC:002148d3af size:4554\n@@ -2590,20 +2590,20 @@ animation/anims/world/rifle/rifle_famas/reload_famas.vnmclip_c CRC:00195b4e21 si\n animation/anims/world/rifle/rifle_famas/reload_famas_silent.vnmclip_c CRC:00973360b9 size:41324\n animation/anims/world/rifle/rifle_famas/shoot_famas.vnmclip+non_additive.vnmclip_c CRC:00c16bdb87 size:13932\n animation/anims/world/rifle/rifle_famas/shoot_famas.vnmclip_c CRC:00068e08d0 size:12949\n-animation/anims/world/rifle/rifle_g3sg1/draw_crouch_g3sg1.vnmclip_c CRC:009ff7711f size:17236\n-animation/anims/world/rifle/rifle_g3sg1/draw_g3sg1.vnmclip_c CRC:00e50ba6b1 size:17620\n+animation/anims/world/rifle/rifle_g3sg1/draw_crouch_g3sg1.vnmclip_c CRC:008269db24 size:17233\n+animation/anims/world/rifle/rifle_g3sg1/draw_g3sg1.vnmclip_c CRC:006535c122 size:17615\n animation/anims/world/rifle/rifle_g3sg1/idle_crouch_g3sg1.vnmclip+non_additive.vnmclip_c CRC:009e05bff3 size:4560\n animation/anims/world/rifle/rifle_g3sg1/idle_crouch_g3sg1.vnmclip_c CRC:00c563c203 size:4454\n animation/anims/world/rifle/rifle_g3sg1/idle_g3sg1.vnmclip+non_additive.vnmclip_c CRC:006437c398 size:4569\n animation/anims/world/rifle/rifle_g3sg1/idle_g3sg1.vnmclip_c CRC:00b9dc3b50 size:4253\n-animation/anims/world/rifle/rifle_g3sg1/reload_crouch_g3sg1.vnmclip_c CRC:00051376f5 size:43527\n-animation/anims/world/rifle/rifle_g3sg1/reload_crouch_g3sg1_silent.vnmclip_c CRC:00ef99672e size:43527\n+animation/anims/world/rifle/rifle_g3sg1/reload_crouch_g3sg1.vnmclip_c CRC:004a4adb88 size:43529\n+animation/anims/world/rifle/rifle_g3sg1/reload_crouch_g3sg1_silent.vnmclip_c CRC:00633f4809 size:43529\n animation/anims/world/rifle/rifle_g3sg1/reload_g3sg1.vnmclip_c CRC:00e26a8855 size:39751\n animation/anims/world/rifle/rifle_g3sg1/reload_g3sg1_silent.vnmclip_c CRC:0011001e67 size:39767\n animation/anims/world/rifle/rifle_g3sg1/shoot_g3sg1.vnmclip+non_additive.vnmclip_c CRC:00ed3e1359 size:11371\n animation/anims/world/rifle/rifle_g3sg1/shoot_g3sg1.vnmclip_c CRC:001b332e12 size:10319\n-animation/anims/world/rifle/rifle_galilar/draw_crouch_galilar.vnmclip_c CRC:00a4790940 size:17375\n-animation/anims/world/rifle/rifle_galilar/draw_galilar.vnmclip_c CRC:006c357a60 size:16480\n+animation/anims/world/rifle/rifle_galilar/draw_crouch_galilar.vnmclip_c CRC:00dd7bf73f size:17377\n+animation/anims/world/rifle/rifle_galilar/draw_galilar.vnmclip_c CRC:00753be752 size:16479\n animation/anims/world/rifle/rifle_galilar/idle_crouch_galilar.vnmclip+non_additive.vnmclip_c CRC:00567da3c5 size:4574\n animation/anims/world/rifle/rifle_galilar/idle_crouch_galilar.vnmclip_c CRC:00d0ce9287 size:4405\n animation/anims/world/rifle/rifle_galilar/idle_galilar.vnmclip+non_additive.vnmclip_c CRC:00053ca687 size:4575\n@@ -2614,16 +2614,16 @@ animation/anims/world/rifle/rifle_galilar/reload_galilar.vnmclip_c CRC:007edfa8e\n animation/anims/world/rifle/rifle_galilar/reload_galilar_silent.vnmclip_c CRC:00064d0caa size:36690\n animation/anims/world/rifle/rifle_galilar/shoot_galilar.vnmclip+non_additive.vnmclip_c CRC:009b1495e0 size:13167\n animation/anims/world/rifle/rifle_galilar/shoot_galilar.vnmclip_c CRC:009fa743bb size:12148\n-animation/anims/world/rifle/rifle_m249/draw_crouch_m249.vnmclip_c CRC:00fec3b9a7 size:15499\n-animation/anims/world/rifle/rifle_m249/draw_m249.vnmclip_c CRC:00b587170e size:14892\n+animation/anims/world/rifle/rifle_m249/draw_crouch_m249.vnmclip_c CRC:00b8048c30 size:15499\n+animation/anims/world/rifle/rifle_m249/draw_m249.vnmclip_c CRC:00aa553137 size:14889\n animation/anims/world/rifle/rifle_m249/idle_crouch_m249.vnmclip+non_additive.vnmclip_c CRC:008005a391 size:4572\n animation/anims/world/rifle/rifle_m249/idle_crouch_m249.vnmclip_c CRC:00b083e949 size:4370\n animation/anims/world/rifle/rifle_m249/idle_m249.vnmclip+non_additive.vnmclip_c CRC:00104e679b size:4568\n animation/anims/world/rifle/rifle_m249/idle_m249.vnmclip_c CRC:00d3d1b94e size:3824\n animation/anims/world/rifle/rifle_m249/reload_crouch_m249.vnmclip_c CRC:0030f23352 size:157661\n animation/anims/world/rifle/rifle_m249/reload_crouch_m249_silent.vnmclip_c CRC:00099c1469 size:157677\n-animation/anims/world/rifle/rifle_m249/reload_m249.vnmclip_c CRC:00322078d9 size:157142\n-animation/anims/world/rifle/rifle_m249/reload_m249_silent.vnmclip_c CRC:00c16ec416 size:157142\n+animation/anims/world/rifle/rifle_m249/reload_m249.vnmclip_c CRC:009ace7576 size:157144\n+animation/anims/world/rifle/rifle_m249/reload_m249_silent.vnmclip_c CRC:00cd516f45 size:157144\n animation/anims/world/rifle/rifle_m249/shoot_m249.vnmclip+non_additive.vnmclip_c CRC:0015c65e40 size:13235\n animation/anims/world/rifle/rifle_m249/shoot_m249.vnmclip_c CRC:0027636ef1 size:12238\n animation/anims/world/rifle/rifle_m4a1_silencer/draw_crouch_m4a1s.vnmclip_c CRC:0086bf96d7 size:18976\n@@ -2632,10 +2632,10 @@ animation/anims/world/rifle/rifle_m4a1_silencer/idle_crouch_m4a1s.vnmclip+non_ad\n animation/anims/world/rifle/rifle_m4a1_silencer/idle_crouch_m4a1s.vnmclip_c CRC:0033db17d2 size:2584\n animation/anims/world/rifle/rifle_m4a1_silencer/idle_m4a1s.vnmclip+non_additive.vnmclip_c CRC:005a18191a size:4559\n animation/anims/world/rifle/rifle_m4a1_silencer/idle_m4a1s.vnmclip_c CRC:00a157a4cb size:2619\n-animation/anims/world/rifle/rifle_m4a1_silencer/reload_crouch_m4a1s.vnmclip_c CRC:0073671963 size:36239\n-animation/anims/world/rifle/rifle_m4a1_silencer/reload_crouch_m4a1s_silent.vnmclip_c CRC:00f8cc2ebb size:36239\n-animation/anims/world/rifle/rifle_m4a1_silencer/reload_m4a1s.vnmclip_c CRC:007278e994 size:24387\n-animation/anims/world/rifle/rifle_m4a1_silencer/reload_m4a1s_silent.vnmclip_c CRC:0041a33a38 size:24387\n+animation/anims/world/rifle/rifle_m4a1_silencer/reload_crouch_m4a1s.vnmclip_c CRC:00f603de44 size:36239\n+animation/anims/world/rifle/rifle_m4a1_silencer/reload_crouch_m4a1s_silent.vnmclip_c CRC:00a508b8a5 size:36239\n+animation/anims/world/rifle/rifle_m4a1_silencer/reload_m4a1s.vnmclip_c CRC:005e0cf11f size:24387\n+animation/anims/world/rifle/rifle_m4a1_silencer/reload_m4a1s_silent.vnmclip_c CRC:000ccb678f size:24387\n animation/anims/world/rifle/rifle_m4a1_silencer/shoot_m4a1s.vnmclip+non_additive.vnmclip_c CRC:001c9eebcf size:7594\n animation/anims/world/rifle/rifle_m4a1_silencer/shoot_m4a1s.vnmclip_c CRC:00997ed68e size:6654\n animation/anims/world/rifle/rifle_m4a1_silencer/silencer_attach_m4a1s.vnmclip_c CRC:00493e23da size:47561\n@@ -2646,22 +2646,22 @@ animation/anims/world/rifle/rifle_m4a4/idle_crouch_m4a4.vnmclip+non_additive.vnm\n animation/anims/world/rifle/rifle_m4a4/idle_crouch_m4a4.vnmclip_c CRC:003e544df8 size:4337\n animation/anims/world/rifle/rifle_m4a4/idle_m4a4.vnmclip+non_additive.vnmclip_c CRC:000cebd135 size:4553\n animation/anims/world/rifle/rifle_m4a4/idle_m4a4.vnmclip_c CRC:007d9a6155 size:4082\n-animation/anims/world/rifle/rifle_m4a4/reload_crouch_m4a4.vnmclip_c CRC:005bf7a556 size:29231\n-animation/anims/world/rifle/rifle_m4a4/reload_crouch_m4a4_silent.vnmclip_c CRC:0019c4739a size:29231\n-animation/anims/world/rifle/rifle_m4a4/reload_m4a4.vnmclip_c CRC:00e1d589fb size:29080\n-animation/anims/world/rifle/rifle_m4a4/reload_m4a4_silent.vnmclip_c CRC:000824ee17 size:29080\n+animation/anims/world/rifle/rifle_m4a4/reload_crouch_m4a4.vnmclip_c CRC:0071986696 size:29232\n+animation/anims/world/rifle/rifle_m4a4/reload_crouch_m4a4_silent.vnmclip_c CRC:00abb616dc size:29232\n+animation/anims/world/rifle/rifle_m4a4/reload_m4a4.vnmclip_c CRC:00dcacc1e8 size:29080\n+animation/anims/world/rifle/rifle_m4a4/reload_m4a4_silent.vnmclip_c CRC:00ead03f13 size:29080\n animation/anims/world/rifle/rifle_m4a4/shoot_m4a4.vnmclip+non_additive.vnmclip_c CRC:00f1df64b7 size:7393\n animation/anims/world/rifle/rifle_m4a4/shoot_m4a4.vnmclip_c CRC:0000cca6b6 size:6473\n-animation/anims/world/rifle/rifle_mac10/draw_crouch_mac10.vnmclip_c CRC:00b1447e13 size:18036\n-animation/anims/world/rifle/rifle_mac10/draw_mac10.vnmclip_c CRC:0015f139b9 size:17362\n+animation/anims/world/rifle/rifle_mac10/draw_crouch_mac10.vnmclip_c CRC:00dabca20f size:18033\n+animation/anims/world/rifle/rifle_mac10/draw_mac10.vnmclip_c CRC:00490d8d86 size:17360\n animation/anims/world/rifle/rifle_mac10/idle_crouch_mac10.vnmclip+non_additive.vnmclip_c CRC:00cd493405 size:4570\n animation/anims/world/rifle/rifle_mac10/idle_crouch_mac10.vnmclip_c CRC:00ccb1f835 size:4465\n animation/anims/world/rifle/rifle_mac10/idle_mac10.vnmclip+non_additive.vnmclip_c CRC:00aabec4ee size:4572\n animation/anims/world/rifle/rifle_mac10/idle_mac10.vnmclip_c CRC:00e9058773 size:4279\n-animation/anims/world/rifle/rifle_mac10/reload__crouch_mac10.vnmclip_c CRC:00faacabcb size:29065\n-animation/anims/world/rifle/rifle_mac10/reload__crouch_mac10_silent.vnmclip_c CRC:0014dc5052 size:29081\n-animation/anims/world/rifle/rifle_mac10/reload_mac10.vnmclip_c CRC:000486ba2c size:28952\n-animation/anims/world/rifle/rifle_mac10/reload_mac10_silent.vnmclip_c CRC:00524016c1 size:28952\n+animation/anims/world/rifle/rifle_mac10/reload__crouch_mac10.vnmclip_c CRC:00a4f08312 size:29065\n+animation/anims/world/rifle/rifle_mac10/reload__crouch_mac10_silent.vnmclip_c CRC:00a68dcd33 size:29081\n+animation/anims/world/rifle/rifle_mac10/reload_mac10.vnmclip_c CRC:000f10af1d size:28953\n+animation/anims/world/rifle/rifle_mac10/reload_mac10_silent.vnmclip_c CRC:003ffa0937 size:28953\n animation/anims/world/rifle/rifle_mac10/shoot_mac10.vnmclip+non_additive.vnmclip_c CRC:007bfaed3b size:11564\n animation/anims/world/rifle/rifle_mac10/shoot_mac10.vnmclip_c CRC:00e48376fc size:10458\n animation/anims/world/rifle/rifle_mag7/draw_crouch_mag7.vnmclip_c CRC:00069a534e size:15218\n@@ -2670,10 +2670,10 @@ animation/anims/world/rifle/rifle_mag7/idle_crouch_mag7.vnmclip+non_additive.vnm\n animation/anims/world/rifle/rifle_mag7/idle_crouch_mag7.vnmclip_c CRC:00b8a729a1 size:4462\n animation/anims/world/rifle/rifle_mag7/idle_mag7.vnmclip+non_additive.vnmclip_c CRC:00ae298a6a size:4557\n animation/anims/world/rifle/rifle_mag7/idle_mag7.vnmclip_c CRC:006ba70d6b size:4262\n-animation/anims/world/rifle/rifle_mag7/reload_crouch_mag7.vnmclip_c CRC:006ccec109 size:22809\n-animation/anims/world/rifle/rifle_mag7/reload_crouch_mag7_silent.vnmclip_c CRC:0053d936ed size:22825\n-animation/anims/world/rifle/rifle_mag7/reload_mag7.vnmclip_c CRC:0092e4a390 size:24459\n-animation/anims/world/rifle/rifle_mag7/reload_mag7_silent.vnmclip_c CRC:00f4756b75 size:24459\n+animation/anims/world/rifle/rifle_mag7/reload_crouch_mag7.vnmclip_c CRC:00641b2846 size:22809\n+animation/anims/world/rifle/rifle_mag7/reload_crouch_mag7_silent.vnmclip_c CRC:00caa69eaf size:22825\n+animation/anims/world/rifle/rifle_mag7/reload_mag7.vnmclip_c CRC:00ca583cd3 size:24458\n+animation/anims/world/rifle/rifle_mag7/reload_mag7_silent.vnmclip_c CRC:00a265f1e6 size:24458\n animation/anims/world/rifle/rifle_mag7/shoot_mag7.vnmclip+non_additive.vnmclip_c CRC:0095f58b4b size:9645\n animation/anims/world/rifle/rifle_mag7/shoot_mag7.vnmclip_c CRC:00cd5fc271 size:8757\n animation/anims/world/rifle/rifle_mp5sd/draw2_crouch_mp5sd.vnmclip_c CRC:00daea6add size:14026\n@@ -2684,50 +2684,50 @@ animation/anims/world/rifle/rifle_mp5sd/idle_crouch_mp5sd.vnmclip+non_additive.v\n animation/anims/world/rifle/rifle_mp5sd/idle_crouch_mp5sd.vnmclip_c CRC:003051dd7a size:4476\n animation/anims/world/rifle/rifle_mp5sd/idle_mp5sd.vnmclip+non_additive.vnmclip_c CRC:00577f156e size:4560\n animation/anims/world/rifle/rifle_mp5sd/idle_mp5sd.vnmclip_c CRC:007b606235 size:4385\n-animation/anims/world/rifle/rifle_mp5sd/reload_crouch_mp5sd.vnmclip_c CRC:00e04f8a64 size:27026\n-animation/anims/world/rifle/rifle_mp5sd/reload_crouch_mp5sd_silent.vnmclip_c CRC:003cade9da size:27026\n+animation/anims/world/rifle/rifle_mp5sd/reload_crouch_mp5sd.vnmclip_c CRC:004d682fef size:27027\n+animation/anims/world/rifle/rifle_mp5sd/reload_crouch_mp5sd_silent.vnmclip_c CRC:0049895c5a size:27027\n animation/anims/world/rifle/rifle_mp5sd/reload_mp5sd.vnmclip_c CRC:00186f4d71 size:26868\n animation/anims/world/rifle/rifle_mp5sd/reload_mp5sd_silent.vnmclip_c CRC:005e632582 size:26868\n animation/anims/world/rifle/rifle_mp5sd/shoot_mp5sd.vnmclip+non_additive.vnmclip_c CRC:00f4d5dfab size:7364\n animation/anims/world/rifle/rifle_mp5sd/shoot_mp5sd.vnmclip_c CRC:00c706bb9a size:6298\n-animation/anims/world/rifle/rifle_mp7/draw_crouch_mp7.vnmclip_c CRC:0075efe275 size:15109\n-animation/anims/world/rifle/rifle_mp7/draw_mp7.vnmclip_c CRC:00cdca8f80 size:15383\n+animation/anims/world/rifle/rifle_mp7/draw_crouch_mp7.vnmclip_c CRC:009129ef47 size:15106\n+animation/anims/world/rifle/rifle_mp7/draw_mp7.vnmclip_c CRC:0035a59f76 size:15380\n animation/anims/world/rifle/rifle_mp7/idle_crouch_mp7.vnmclip+non_additive.vnmclip_c CRC:00ba66fbc5 size:4552\n animation/anims/world/rifle/rifle_mp7/idle_crouch_mp7.vnmclip_c CRC:0046bc6dca size:4432\n animation/anims/world/rifle/rifle_mp7/idle_mp7.vnmclip+non_additive.vnmclip_c CRC:001f283bbe size:4531\n animation/anims/world/rifle/rifle_mp7/idle_mp7.vnmclip_c CRC:00ebd1c4ba size:4397\n-animation/anims/world/rifle/rifle_mp7/reload_crouch_mp7.vnmclip_c CRC:00bbee420c size:28735\n-animation/anims/world/rifle/rifle_mp7/reload_crouch_mp7_silent.vnmclip_c CRC:0068100372 size:28735\n-animation/anims/world/rifle/rifle_mp7/reload_mp7.vnmclip_c CRC:00a07b4070 size:28540\n-animation/anims/world/rifle/rifle_mp7/reload_mp7_silent.vnmclip_c CRC:002e906e18 size:28556\n+animation/anims/world/rifle/rifle_mp7/reload_crouch_mp7.vnmclip_c CRC:004c7a3674 size:28735\n+animation/anims/world/rifle/rifle_mp7/reload_crouch_mp7_silent.vnmclip_c CRC:00fadebd4e size:28735\n+animation/anims/world/rifle/rifle_mp7/reload_mp7.vnmclip_c CRC:00a07dfdd9 size:28540\n+animation/anims/world/rifle/rifle_mp7/reload_mp7_silent.vnmclip_c CRC:00fc099247 size:28556\n animation/anims/world/rifle/rifle_mp7/shoot_mp7.vnmclip+non_additive.vnmclip_c CRC:001a15c5d1 size:9508\n animation/anims/world/rifle/rifle_mp7/shoot_mp7.vnmclip_c CRC:00e57e39ee size:8888\n-animation/anims/world/rifle/rifle_mp9/draw__crouch_mp9.vnmclip_c CRC:002a638eaa size:16336\n-animation/anims/world/rifle/rifle_mp9/draw_mp9.vnmclip_c CRC:00318888bd size:16854\n+animation/anims/world/rifle/rifle_mp9/draw__crouch_mp9.vnmclip_c CRC:00713e77f3 size:16336\n+animation/anims/world/rifle/rifle_mp9/draw_mp9.vnmclip_c CRC:0081e80e34 size:16854\n animation/anims/world/rifle/rifle_mp9/idle_crouch_mp9.vnmclip+non_additive.vnmclip_c CRC:001bdf4c89 size:4576\n animation/anims/world/rifle/rifle_mp9/idle_crouch_mp9.vnmclip_c CRC:007789dcf4 size:4475\n animation/anims/world/rifle/rifle_mp9/idle_mp9.vnmclip+non_additive.vnmclip_c CRC:00d9f0a4e2 size:4569\n animation/anims/world/rifle/rifle_mp9/idle_mp9.vnmclip_c CRC:00a0059a5b size:4269\n-animation/anims/world/rifle/rifle_mp9/reload_crouch_mp9.vnmclip_c CRC:00d3a5a6e9 size:25862\n-animation/anims/world/rifle/rifle_mp9/reload_crouch_mp9_silent.vnmclip_c CRC:0049da522c size:25862\n-animation/anims/world/rifle/rifle_mp9/reload_mp9.vnmclip_c CRC:0066a86d8d size:26123\n-animation/anims/world/rifle/rifle_mp9/reload_mp9_silent.vnmclip_c CRC:00020952ab size:26139\n+animation/anims/world/rifle/rifle_mp9/reload_crouch_mp9.vnmclip_c CRC:009a9d7102 size:25862\n+animation/anims/world/rifle/rifle_mp9/reload_crouch_mp9_silent.vnmclip_c CRC:008c02e690 size:25862\n+animation/anims/world/rifle/rifle_mp9/reload_mp9.vnmclip_c CRC:0055b6b7b3 size:26124\n+animation/anims/world/rifle/rifle_mp9/reload_mp9_silent.vnmclip_c CRC:00bb198516 size:26140\n animation/anims/world/rifle/rifle_mp9/shoot_mp9.vnmclip+non_additive.vnmclip_c CRC:00c5acc74e size:9787\n animation/anims/world/rifle/rifle_mp9/shoot_mp9.vnmclip_c CRC:00d297b6b4 size:8803\n-animation/anims/world/rifle/rifle_negev/draw_crouch_negev.vnmclip_c CRC:0020ed3cfd size:17904\n-animation/anims/world/rifle/rifle_negev/draw_negev.vnmclip_c CRC:0052203ce2 size:16309\n+animation/anims/world/rifle/rifle_negev/draw_crouch_negev.vnmclip_c CRC:00b636c99f size:17903\n+animation/anims/world/rifle/rifle_negev/draw_negev.vnmclip_c CRC:0043e10aea size:16310\n animation/anims/world/rifle/rifle_negev/idle_crouch_negev.vnmclip+non_additive.vnmclip_c CRC:00598ad530 size:4567\n animation/anims/world/rifle/rifle_negev/idle_crouch_negev.vnmclip_c CRC:00a25246a7 size:4472\n animation/anims/world/rifle/rifle_negev/idle_negev.vnmclip+non_additive.vnmclip_c CRC:0049ea56ab size:4560\n animation/anims/world/rifle/rifle_negev/idle_negev.vnmclip_c CRC:0045d9a1e8 size:4278\n-animation/anims/world/rifle/rifle_negev/reload_crouch_negev.vnmclip_c CRC:00db19c56d size:106953\n-animation/anims/world/rifle/rifle_negev/reload_crouch_negev_silent.vnmclip_c CRC:0000b1d101 size:106969\n-animation/anims/world/rifle/rifle_negev/reload_negev.vnmclip_c CRC:001719b36b size:106415\n-animation/anims/world/rifle/rifle_negev/reload_negev_silent.vnmclip_c CRC:00fc6b54f0 size:106415\n+animation/anims/world/rifle/rifle_negev/reload_crouch_negev.vnmclip_c CRC:00d0f11191 size:106955\n+animation/anims/world/rifle/rifle_negev/reload_crouch_negev_silent.vnmclip_c CRC:0015e8f62c size:106971\n+animation/anims/world/rifle/rifle_negev/reload_negev.vnmclip_c CRC:000f1c2b4b size:106416\n+animation/anims/world/rifle/rifle_negev/reload_negev_silent.vnmclip_c CRC:000fcd58f1 size:106416\n animation/anims/world/rifle/rifle_negev/shoot_negev.vnmclip+non_additive.vnmclip_c CRC:0020229954 size:20223\n animation/anims/world/rifle/rifle_negev/shoot_negev.vnmclip_c CRC:00fd67bb97 size:19070\n-animation/anims/world/rifle/rifle_nova/draw_crouch_nova.vnmclip_c CRC:009f4e5fda size:13104\n-animation/anims/world/rifle/rifle_nova/draw_nova.vnmclip_c CRC:0022fc514f size:13425\n+animation/anims/world/rifle/rifle_nova/draw_crouch_nova.vnmclip_c CRC:001dfa3361 size:13105\n+animation/anims/world/rifle/rifle_nova/draw_nova.vnmclip_c CRC:0028d26ebf size:13426\n animation/anims/world/rifle/rifle_nova/idle_crouch_nova.vnmclip+non_additive.vnmclip_c CRC:00fd90dbbc size:4577\n animation/anims/world/rifle/rifle_nova/idle_crouch_nova.vnmclip_c CRC:0033c49b6a size:4450\n animation/anims/world/rifle/rifle_nova/idle_nova.vnmclip+non_additive.vnmclip_c CRC:00a66d1057 size:4576\n@@ -2738,16 +2738,16 @@ animation/anims/world/rifle/rifle_nova/reload_nova.vnmclip_c CRC:000818f5a8 size\n animation/anims/world/rifle/rifle_nova/reload_nova_silent.vnmclip_c CRC:003df945b5 size:20914\n animation/anims/world/rifle/rifle_nova/shoot_nova.vnmclip+non_additive.vnmclip_c CRC:000b71642f size:9854\n animation/anims/world/rifle/rifle_nova/shoot_nova.vnmclip_c CRC:005ec69ba3 size:8671\n-animation/anims/world/rifle/rifle_p90/draw_crouch_p90.vnmclip_c CRC:0079064230 size:16737\n-animation/anims/world/rifle/rifle_p90/draw_p90.vnmclip_c CRC:001d3a0164 size:17155\n+animation/anims/world/rifle/rifle_p90/draw_crouch_p90.vnmclip_c CRC:005d6c1888 size:16737\n+animation/anims/world/rifle/rifle_p90/draw_p90.vnmclip_c CRC:0083e3cb43 size:17155\n animation/anims/world/rifle/rifle_p90/idle_crouch_p90.vnmclip+non_additive.vnmclip_c CRC:00e05854a6 size:4578\n animation/anims/world/rifle/rifle_p90/idle_crouch_p90.vnmclip_c CRC:003ede180b size:4479\n animation/anims/world/rifle/rifle_p90/idle_p90.vnmclip+non_additive.vnmclip_c CRC:00d2ebce33 size:4559\n animation/anims/world/rifle/rifle_p90/idle_p90.vnmclip_c CRC:002c78f996 size:4288\n-animation/anims/world/rifle/rifle_p90/reload_crouch_p90.vnmclip_c CRC:006d5b1e8d size:35373\n-animation/anims/world/rifle/rifle_p90/reload_crouch_p90_silent.vnmclip_c CRC:00f6bf86bc size:35389\n-animation/anims/world/rifle/rifle_p90/reload_p90.vnmclip_c CRC:0069672f2f size:35369\n-animation/anims/world/rifle/rifle_p90/reload_p90_silent.vnmclip_c CRC:00ad890452 size:35369\n+animation/anims/world/rifle/rifle_p90/reload_crouch_p90.vnmclip_c CRC:007f4dc41d size:35373\n+animation/anims/world/rifle/rifle_p90/reload_crouch_p90_silent.vnmclip_c CRC:003fef6d53 size:35389\n+animation/anims/world/rifle/rifle_p90/reload_p90.vnmclip_c CRC:000cfabc85 size:35369\n+animation/anims/world/rifle/rifle_p90/reload_p90_silent.vnmclip_c CRC:00f2f70454 size:35369\n animation/anims/world/rifle/rifle_p90/shoot_p90.vnmclip+non_additive.vnmclip_c CRC:001789d867 size:13689\n animation/anims/world/rifle/rifle_p90/shoot_p90.vnmclip_c CRC:005a339bcf size:12682\n animation/anims/world/rifle/rifle_sawedoff/draw_crouch_sawedoff.vnmclip_c CRC:00639df0a7 size:16699\n@@ -2756,69 +2756,69 @@ animation/anims/world/rifle/rifle_sawedoff/idle_crouch_sawedoff.vnmclip+non_addi\n animation/anims/world/rifle/rifle_sawedoff/idle_crouch_sawedoff.vnmclip_c CRC:00132a892a size:4452\n animation/anims/world/rifle/rifle_sawedoff/idle_sawedoff.vnmclip+non_additive.vnmclip_c CRC:00878ec4e3 size:4574\n animation/anims/world/rifle/rifle_sawedoff/idle_sawedoff.vnmclip_c CRC:00e20d955c size:4253\n-animation/anims/world/rifle/rifle_sawedoff/reload_crouch_sawedoff.vnmclip_c CRC:0088fb6e2e size:17922\n-animation/anims/world/rifle/rifle_sawedoff/reload_crouch_sawedoff_silent.vnmclip_c CRC:00094792d7 size:17922\n-animation/anims/world/rifle/rifle_sawedoff/reload_sawedoff.vnmclip_c CRC:002f30fe56 size:17765\n-animation/anims/world/rifle/rifle_sawedoff/reload_sawedoff_silent.vnmclip_c CRC:00d5467ccb size:17765\n+animation/anims/world/rifle/rifle_sawedoff/reload_crouch_sawedoff.vnmclip_c CRC:00d34f2891 size:17925\n+animation/anims/world/rifle/rifle_sawedoff/reload_crouch_sawedoff_silent.vnmclip_c CRC:0066ddb12f size:17925\n+animation/anims/world/rifle/rifle_sawedoff/reload_sawedoff.vnmclip_c CRC:005652c566 size:17762\n+animation/anims/world/rifle/rifle_sawedoff/reload_sawedoff_silent.vnmclip_c CRC:008efa0537 size:17778\n animation/anims/world/rifle/rifle_sawedoff/shoot_sawedoff.vnmclip+non_additive.vnmclip_c CRC:00db987845 size:9812\n animation/anims/world/rifle/rifle_sawedoff/shoot_sawedoff.vnmclip_c CRC:008ad1a310 size:8846\n-animation/anims/world/rifle/rifle_scar/draw_crouch_scar20.vnmclip_c CRC:008d827eee size:13515\n-animation/anims/world/rifle/rifle_scar/draw_scar20.vnmclip_c CRC:0092b2b949 size:13115\n+animation/anims/world/rifle/rifle_scar/draw_crouch_scar20.vnmclip_c CRC:00307501b8 size:13502\n+animation/anims/world/rifle/rifle_scar/draw_scar20.vnmclip_c CRC:0090ff3414 size:13112\n animation/anims/world/rifle/rifle_scar/idle_crouch_scar20.vnmclip+non_additive.vnmclip_c CRC:00223d85bf size:4564\n animation/anims/world/rifle/rifle_scar/idle_crouch_scar20.vnmclip_c CRC:009eab1ae6 size:4447\n animation/anims/world/rifle/rifle_scar/idle_scar20.vnmclip+non_additive.vnmclip_c CRC:00bdf98c6a size:4566\n animation/anims/world/rifle/rifle_scar/idle_scar20.vnmclip_c CRC:003282e2b3 size:4244\n-animation/anims/world/rifle/rifle_scar/reload_crouch_scar20.vnmclip_c CRC:003a53774c size:28611\n-animation/anims/world/rifle/rifle_scar/reload_crouch_scar20_silent.vnmclip_c CRC:00cb3e15dd size:28611\n-animation/anims/world/rifle/rifle_scar/reload_scar20.vnmclip_c CRC:00792520b6 size:30344\n-animation/anims/world/rifle/rifle_scar/reload_scar20_silent.vnmclip_c CRC:00005e8d90 size:30344\n+animation/anims/world/rifle/rifle_scar/reload_crouch_scar20.vnmclip_c CRC:00506cd7f5 size:28611\n+animation/anims/world/rifle/rifle_scar/reload_crouch_scar20_silent.vnmclip_c CRC:00bb2d2de1 size:28611\n+animation/anims/world/rifle/rifle_scar/reload_scar20.vnmclip_c CRC:00cc6418f4 size:30344\n+animation/anims/world/rifle/rifle_scar/reload_scar20_silent.vnmclip_c CRC:001837e245 size:30344\n animation/anims/world/rifle/rifle_scar/shoot_scar20.vnmclip+non_additive.vnmclip_c CRC:0063da594a size:11692\n animation/anims/world/rifle/rifle_scar/shoot_scar20.vnmclip_c CRC:004a5377a6 size:10384\n-animation/anims/world/rifle/rifle_sg556/draw_crouch_sg556.vnmclip_c CRC:00c0d381bd size:13524\n-animation/anims/world/rifle/rifle_sg556/draw_sg556.vnmclip_c CRC:00400cec9c size:13958\n+animation/anims/world/rifle/rifle_sg556/draw_crouch_sg556.vnmclip_c CRC:005111e677 size:13524\n+animation/anims/world/rifle/rifle_sg556/draw_sg556.vnmclip_c CRC:0029da185a size:13958\n animation/anims/world/rifle/rifle_sg556/idle_crouch_sg556.vnmclip+non_additive.vnmclip_c CRC:00110d3cea size:4574\n animation/anims/world/rifle/rifle_sg556/idle_crouch_sg556.vnmclip_c CRC:00f995cbcc size:4443\n animation/anims/world/rifle/rifle_sg556/idle_sg556.vnmclip+non_additive.vnmclip_c CRC:000e3fdec2 size:4564\n animation/anims/world/rifle/rifle_sg556/idle_sg556.vnmclip_c CRC:00310ab755 size:4409\n-animation/anims/world/rifle/rifle_sg556/reload_crouch_sg556.vnmclip_c CRC:002765af11 size:25249\n-animation/anims/world/rifle/rifle_sg556/reload_crouch_sg556_silent.vnmclip_c CRC:00a7981c5b size:25265\n-animation/anims/world/rifle/rifle_sg556/reload_sg556.vnmclip_c CRC:00daf51dce size:24867\n-animation/anims/world/rifle/rifle_sg556/reload_sg556_silent.vnmclip_c CRC:00877dd825 size:24867\n+animation/anims/world/rifle/rifle_sg556/reload_crouch_sg556.vnmclip_c CRC:00f3a1e3d9 size:25248\n+animation/anims/world/rifle/rifle_sg556/reload_crouch_sg556_silent.vnmclip_c CRC:008cc45ab7 size:25264\n+animation/anims/world/rifle/rifle_sg556/reload_sg556.vnmclip_c CRC:0043e9fa93 size:24866\n+animation/anims/world/rifle/rifle_sg556/reload_sg556_silent.vnmclip_c CRC:00b2846984 size:24866\n animation/anims/world/rifle/rifle_sg556/shoot_sg556.vnmclip+non_additive.vnmclip_c CRC:00e46754b4 size:10377\n animation/anims/world/rifle/rifle_sg556/shoot_sg556.vnmclip_c CRC:0094e6208f size:9404\n animation/anims/world/rifle/rifle_ssg08/draw_crouch_ssg08.vnmclip_c CRC:007d07ec12 size:16969\n-animation/anims/world/rifle/rifle_ssg08/draw_ssg08.vnmclip_c CRC:003531547e size:17140\n+animation/anims/world/rifle/rifle_ssg08/draw_ssg08.vnmclip_c CRC:00e6d92766 size:17139\n animation/anims/world/rifle/rifle_ssg08/idle_crouch_ssg08.vnmclip+non_additive.vnmclip_c CRC:001d9a6444 size:4568\n animation/anims/world/rifle/rifle_ssg08/idle_crouch_ssg08.vnmclip_c CRC:008df02f66 size:4392\n animation/anims/world/rifle/rifle_ssg08/idle_ssg08.vnmclip+non_additive.vnmclip_c CRC:00e7265579 size:4575\n animation/anims/world/rifle/rifle_ssg08/idle_ssg08.vnmclip_c CRC:00daafce8a size:4143\n-animation/anims/world/rifle/rifle_ssg08/reload_crouch_ssg08.vnmclip_c CRC:00f0d70361 size:33732\n-animation/anims/world/rifle/rifle_ssg08/reload_crouch_ssg08_silent.vnmclip_c CRC:00b432a0cd size:33748\n-animation/anims/world/rifle/rifle_ssg08/reload_ssg08.vnmclip_c CRC:004b8251d0 size:33217\n-animation/anims/world/rifle/rifle_ssg08/reload_ssg08_silent.vnmclip_c CRC:00192591d7 size:33217\n+animation/anims/world/rifle/rifle_ssg08/reload_crouch_ssg08.vnmclip_c CRC:00bdd298c3 size:33732\n+animation/anims/world/rifle/rifle_ssg08/reload_crouch_ssg08_silent.vnmclip_c CRC:00f7ad95bc size:33748\n+animation/anims/world/rifle/rifle_ssg08/reload_ssg08.vnmclip_c CRC:003e70b4f3 size:33217\n+animation/anims/world/rifle/rifle_ssg08/reload_ssg08_silent.vnmclip_c CRC:00558bdf80 size:33217\n animation/anims/world/rifle/rifle_ssg08/shoot_ssg08.vnmclip+non_additive.vnmclip_c CRC:00aa8b00a1 size:18630\n animation/anims/world/rifle/rifle_ssg08/shoot_ssg08.vnmclip_c CRC:003d1becb2 size:17769\n-animation/anims/world/rifle/rifle_ump45/draw_crouch_ump45.vnmclip_c CRC:009dadc2c8 size:17118\n-animation/anims/world/rifle/rifle_ump45/draw_ump45.vnmclip_c CRC:0080790016 size:17503\n+animation/anims/world/rifle/rifle_ump45/draw_crouch_ump45.vnmclip_c CRC:00370c8565 size:17114\n+animation/anims/world/rifle/rifle_ump45/draw_ump45.vnmclip_c CRC:00a2d3aee1 size:17503\n animation/anims/world/rifle/rifle_ump45/idle_crouch_ump45.vnmclip+non_additive.vnmclip_c CRC:0040b79059 size:4580\n animation/anims/world/rifle/rifle_ump45/idle_crouch_ump45.vnmclip_c CRC:001cc0fab4 size:4450\n animation/anims/world/rifle/rifle_ump45/idle_ump45.vnmclip+non_additive.vnmclip_c CRC:0095b7d3ba size:4550\n animation/anims/world/rifle/rifle_ump45/idle_ump45.vnmclip_c CRC:00bb3bfdb2 size:4430\n-animation/anims/world/rifle/rifle_ump45/reload_crouch_ump45.vnmclip_c CRC:000adaf2b9 size:30926\n-animation/anims/world/rifle/rifle_ump45/reload_crouch_ump45_silent.vnmclip_c CRC:003d87c479 size:30926\n-animation/anims/world/rifle/rifle_ump45/reload_ump45.vnmclip_c CRC:005efdad2d size:30855\n-animation/anims/world/rifle/rifle_ump45/reload_ump45_silent.vnmclip_c CRC:00a7ffc259 size:30855\n+animation/anims/world/rifle/rifle_ump45/reload_crouch_ump45.vnmclip_c CRC:0004952794 size:30927\n+animation/anims/world/rifle/rifle_ump45/reload_crouch_ump45_silent.vnmclip_c CRC:000c1af705 size:30927\n+animation/anims/world/rifle/rifle_ump45/reload_ump45.vnmclip_c CRC:005194008b size:30856\n+animation/anims/world/rifle/rifle_ump45/reload_ump45_silent.vnmclip_c CRC:00277179a6 size:30856\n animation/anims/world/rifle/rifle_ump45/shoot_ump45.vnmclip+non_additive.vnmclip_c CRC:00767f56c7 size:11385\n animation/anims/world/rifle/rifle_ump45/shoot_ump45.vnmclip_c CRC:004569bf32 size:10361\n-animation/anims/world/rifle/rifle_xm1014/draw_crouch_xm1014.vnmclip_c CRC:0096f80a10 size:11406\n-animation/anims/world/rifle/rifle_xm1014/draw_xm1014.vnmclip_c CRC:005eb31210 size:11615\n+animation/anims/world/rifle/rifle_xm1014/draw_crouch_xm1014.vnmclip_c CRC:00d4dd8308 size:11409\n+animation/anims/world/rifle/rifle_xm1014/draw_xm1014.vnmclip_c CRC:00efec21ca size:11615\n animation/anims/world/rifle/rifle_xm1014/idle_crouch_xm1014.vnmclip+non_additive.vnmclip_c CRC:00b770bc92 size:4896\n animation/anims/world/rifle/rifle_xm1014/idle_crouch_xm1014.vnmclip_c CRC:0078e4f517 size:4877\n animation/anims/world/rifle/rifle_xm1014/idle_xm1014.vnmclip+non_additive.vnmclip_c CRC:003fdad468 size:4898\n animation/anims/world/rifle/rifle_xm1014/idle_xm1014.vnmclip_c CRC:00daa71b1b size:4622\n animation/anims/world/rifle/rifle_xm1014/reload_crouch_xm1014.vnmclip_c CRC:00f44a4597 size:19028\n animation/anims/world/rifle/rifle_xm1014/reload_crouch_xm1014_silent.vnmclip_c CRC:007abc64c4 size:19044\n-animation/anims/world/rifle/rifle_xm1014/reload_xm1014.vnmclip_c CRC:002b142038 size:19379\n+animation/anims/world/rifle/rifle_xm1014/reload_xm1014.vnmclip_c CRC:00ca8a7cfc size:19379\n animation/anims/world/rifle/rifle_xm1014/reload_xm1014_silent.vnmclip_c CRC:002b7ad3e1 size:19379\n animation/anims/world/rifle/rifle_xm1014/shoot_xm1014.vnmclip+non_additive.vnmclip_c CRC:00db565ebe size:9457\n animation/anims/world/rifle/rifle_xm1014/shoot_xm1014.vnmclip_c CRC:003f942730 size:8407\n@@ -3139,7 +3139,7 @@ animation/graphs/viewmodel/viewmodel_knife.vnmgraph_c CRC:002f223d05 size:8504\n animation/graphs/viewmodel/viewmodel_knife_butterfly.vnmgraph_c CRC:00d8a1d1f2 size:8335\n animation/graphs/viewmodel/viewmodel_knife_karambit.vnmgraph_c CRC:00a460498e size:8333\n animation/graphs/viewmodel/viewmodel_knife_talon.vnmgraph_c CRC:0092514c48 size:8249\n-animation/graphs/worldmodel/worldmodel.vnmgraph_c CRC:00bb1317bb size:73481\n+animation/graphs/worldmodel/worldmodel.vnmgraph_c CRC:00ebc8f863 size:73496\n animation/graphs/worldmodel/worldmodel_grenade.vnmgraph+decoy.vnmgraph_c CRC:008065ce30 size:5313\n animation/graphs/worldmodel/worldmodel_grenade.vnmgraph+flash.vnmgraph_c CRC:00e879d270 size:5315\n animation/graphs/worldmodel/worldmodel_grenade.vnmgraph+he.vnmgraph_c CRC:006f790dc2 size:5311\n@@ -3326,11 +3326,11 @@ cfg/moddefaults.txt CRC:0068b076c6 size:315510\n cfg/survival/coop/coop_sirocco_missions.kv3 CRC:00bd783c4a size:8518\n cfg/survival/coop/dzcooptest_missions.kv3 CRC:00d63215ed size:5899\n cfg/survival/survival_config.kv3 CRC:0034a09936 size:30113\n-cfg/video_defaults_0.txt CRC:009c72f446 size:467\n-cfg/video_defaults_1.txt CRC:0008f0936a size:468\n-cfg/video_defaults_2.txt CRC:005439d79a size:468\n-cfg/video_defaults_3.txt CRC:007a888e0e size:477\n-cfg/video_version.txt CRC:00ff3ce713 size:197\n+cfg/video_defaults_0.txt CRC:00877dcf55 size:510\n+cfg/video_defaults_1.txt CRC:00009efb39 size:511\n+cfg/video_defaults_2.txt CRC:0051fcad97 size:511\n+cfg/video_defaults_3.txt CRC:003ba1472c size:520\n+cfg/video_version.txt CRC:00594beca7 size:197\n characters/models/ctm_diver/ctm_diver_varianta.vmdl_c CRC:00086fed19 size:4818\n characters/models/ctm_diver/ctm_diver_variantb.vmdl_c CRC:00eb02f675 size:4818\n characters/models/ctm_diver/ctm_diver_variantc.vmdl_c CRC:00b5d9ff51 size:4818\n@@ -16795,6 +16795,7 @@ materials/dev/dof2.vmat_c CRC:00c942e8ea size:1516\n materials/dev/downsample_outlineglows.vmat_c CRC:00446ffccc size:1306\n materials/dev/film_grain_noise_tga_ee035d08.vtex_c CRC:00fb5bcc34 size:34784\n materials/dev/friendly_crosshair_icon_psd_66512e34.vtex_c CRC:00506e3570 size:18480\n+materials/dev/frost.vtex_c CRC:000dc5f403 size:1400232\n materials/dev/generate_decal_normals.vmat_c CRC:00cc728db2 size:1584\n materials/dev/glow_health_color.vmat_c CRC:00af2f9c86 size:3056\n materials/dev/glow_health_color_vmat_g_tcolor_37753f91.vtex_c CRC:00b53b1e0e size:1968\n@@ -84434,7 +84435,7 @@ panorama/layout/settings/settings_promoted.vxml_c CRC:00680b88f2 size:2157\n panorama/layout/settings/settings_search.vxml_c CRC:00656a9fbc size:2302\n panorama/layout/settings/settings_slider.vxml_c CRC:00271e714b size:1988\n panorama/layout/settings/settings_steaminput.vxml_c CRC:00e643d64a size:5018\n-panorama/layout/settings/settings_video.vxml_c CRC:00177cb05e size:7903\n+panorama/layout/settings/settings_video.vxml_c CRC:00a566c7fe size:8015\n panorama/layout/shielddamagealert.vxml_c CRC:00444e5974 size:1592\n panorama/layout/simple_player_tile.vxml_c CRC:00b16a2ced size:1709\n panorama/layout/slider_toggle.vxml_c CRC:0051cab4e4 size:1596\n@@ -87985,31 +87986,31 @@ resource/csgo_bulgarian.txt CRC:00ad431afd size:7759343\n resource/csgo_czech.txt CRC:005482a707 size:5097565\n resource/csgo_danish.txt CRC:00bb321d04 size:5004038\n resource/csgo_dutch.txt CRC:0045192cf1 size:5049873\n-resource/csgo_english.txt CRC:00e83600df size:4879039\n-resource/csgo_finnish.txt CRC:00a79f8c2b size:4960818\n+resource/csgo_english.txt CRC:00e80a07c7 size:4879236\n+resource/csgo_finnish.txt CRC:002fc7ab9d size:4960817\n resource/csgo_french.txt CRC:002433e025 size:5254990\n-resource/csgo_german.txt CRC:008c76453f size:5165453\n-resource/csgo_greek.txt CRC:00a68efa30 size:7151367\n+resource/csgo_german.txt CRC:00b7318010 size:5165419\n+resource/csgo_greek.txt CRC:003592854b size:7152191\n resource/csgo_hungarian.txt CRC:000a1961a8 size:5078957\n resource/csgo_indonesian.txt CRC:0023f7fd61 size:4729593\n-resource/csgo_italian.txt CRC:0019309189 size:5178719\n+resource/csgo_italian.txt CRC:0001be6bca size:5178719\n resource/csgo_japanese.txt CRC:007c931b86 size:5333463\n-resource/csgo_koreana.txt CRC:007c56bde5 size:5096798\n+resource/csgo_koreana.txt CRC:004c2ea4f8 size:5097080\n resource/csgo_latam.txt CRC:00430502d0 size:5188734\n resource/csgo_norwegian.txt CRC:001049104e size:4925063\n-resource/csgo_polish.txt CRC:0048f2bc13 size:5321400\n+resource/csgo_polish.txt CRC:00f548da8d size:5322005\n resource/csgo_portuguese.txt CRC:00bf8fe57b size:5060318\n-resource/csgo_romanian.txt CRC:00f8a9b880 size:5271518\n-resource/csgo_russian.txt CRC:0089b5889a size:6563734\n-resource/csgo_schinese.txt CRC:007b74ea72 size:4931452\n+resource/csgo_romanian.txt CRC:00999ead8f size:5271569\n+resource/csgo_russian.txt CRC:00e74335d2 size:6564323\n+resource/csgo_schinese.txt CRC:002d1fa173 size:4931866\n resource/csgo_schinese_pw.txt CRC:0083fe268a size:15645\n resource/csgo_spanish.txt CRC:00deb972b5 size:5160188\n resource/csgo_swedish.txt CRC:00b4c12d74 size:5032375\n-resource/csgo_tchinese.txt CRC:00f44e6b58 size:4627815\n-resource/csgo_thai.txt CRC:00826d1c7b size:8128621\n+resource/csgo_tchinese.txt CRC:00e8efb69c size:4628387\n+resource/csgo_thai.txt CRC:0079d7968d size:8129614\n resource/csgo_turkish.txt CRC:00cabf481a size:5165905\n resource/csgo_ukrainian.txt CRC:003ac03c61 size:6621798\n-resource/csgo_vietnamese.txt CRC:00ee4d1e19 size:5450532\n+resource/csgo_vietnamese.txt CRC:007aea5525 size:5451149\n resource/game.gameevents CRC:0090de10bc size:9837\n resource/halflife2.vfont CRC:00b064848c size:58000\n resource/mod.gameevents CRC:0035ddf423 size:20770\n@@ -88098,6 +88099,12 @@ scripts/ai/practice/modules/newplayer_dust2_01/bt_t_5.kv3 CRC:00f8f036c3 size:61\n scripts/ai/practice/modules/newplayer_dust2_01/bt_takeover_strategy.kv3 CRC:00a42346ef size:1427\n scripts/ai/practice/modules/newplayer_dust2_01/bt_wait.kv3 CRC:00a764ca22 size:295\n scripts/ai/practice/newplayer_dust2_01.kv3 CRC:005756f767 size:8887\n+scripts/ai/retakes/bt_config.kv3 CRC:0067e7fe47 size:17972\n+scripts/ai/retakes/bt_default.kv3 CRC:000f58389f size:3897\n+scripts/ai/retakes/modules/bt_defuse_planted_bomb.kv3 CRC:0080a2708c size:1259\n+scripts/ai/retakes/modules/bt_hide_near_planted_bomb.kv3 CRC:0088fd0792 size:3180\n+scripts/ai/retakes/modules/bt_hold_near_planted_bomb.kv3 CRC:00b91d97cf size:988\n+scripts/ai/retakes/modules/bt_watch_approach_points.kv3 CRC:00b7703534 size:489\n scripts/ai/rush/bt_config.kv3 CRC:0067e7fe47 size:17972\n scripts/ai/rush/bt_default.kv3 CRC:00a81d754f size:4520\n scripts/camera_data.json CRC:00b8437a11 size:1887\n@@ -135581,7 +135588,8 @@ weapons/models/bizon/weapon_smg_bizon_mag.vmdl_c CRC:0015b02247 size:75366\n weapons/models/c4/defuse_multimeter.vmdl_c CRC:0007a5ff05 size:37678\n weapons/models/c4/materials/c4_ao_tga_bb64a00d.vtex_c CRC:009ea6f6e8 size:1562328\n weapons/models/c4/materials/c4_color_psd_75da6dec.vtex_c CRC:0044656af2 size:4287764\n-weapons/models/c4/materials/c4_digits_psd_52746c2d.vtex_c CRC:008f08827c size:77606\n+weapons/models/c4/materials/c4_digits_mask_psd_3de339d1.vtex_c CRC:0050f6267a size:45808\n+weapons/models/c4/materials/c4_digits_psd_f79d8a5b.vtex_c CRC:00f5905449 size:62459\n weapons/models/c4/materials/c4_led_selfillum_psd_d8363a2a.vtex_c CRC:00d7344b97 size:46702\n weapons/models/c4/materials/c4_normal_tga_389762e7.vtex_c CRC:001fe768f2 size:1317004\n weapons/models/c4/materials/c4_normal_tga_4e48d437.vtex_c CRC:00c3a1128e size:4914548\n@@ -135603,9 +135611,10 @@ weapons/models/c4/materials/defuse_multimeter_color_psd_93513db5.vtex_c CRC:0088\n weapons/models/c4/materials/defuse_multimeter_rough_tga_4ee97d61.vtex_c CRC:0041a8839e size:229308\n weapons/models/c4/materials/stickers/weapon_c4_sticker_mask_psd_a9cf6509.vtex_c CRC:0005f9ce48 size:16785\n weapons/models/c4/materials/weapon_c4.vmat_c CRC:0078b6f155 size:7204\n-weapons/models/c4/materials/weapon_c4_digits.vmat_c CRC:0092001150 size:3956\n+weapons/models/c4/materials/weapon_c4_digits.vmat_c CRC:00a850ca82 size:4660\n+weapons/models/c4/materials/weapon_c4_digits_vmat_g_tcolor_6dc78c9e.vtex_c CRC:000a0f569e size:2000\n weapons/models/c4/materials/weapon_c4_digits_vmat_g_tmetalness_5818ca09.vtex_c CRC:00702fc683 size:2256\n-weapons/models/c4/weapon_c4.vmdl_c CRC:006f816ff5 size:470164\n+weapons/models/c4/weapon_c4.vmdl_c CRC:00d9190618 size:468916\n weapons/models/cz75a/materials/composite_inputs/weapon_pist_cz75a_cavity_psd_ffc5ea6f.vtex_c CRC:0083759f3e size:706616\n weapons/models/cz75a/materials/composite_inputs/weapon_pist_cz75a_composite_inputs.vmat_c CRC:00cab58bff size:3929\n weapons/models/cz75a/materials/composite_inputs/weapon_pist_cz75a_masks_png_bb8e5559.vtex_c CRC:00c8d75ff0 size:188419\n@@ -136442,7 +136451,7 @@ weapons/paints/community/community_37/p90_deathgaze.vcompmat_c CRC:009016d88e si\n weapons/paints/community/community_37/sawedoff_fusion.vcompmat_c CRC:00135969c4 size:5812\n weapons/paints/community/community_37/ump_fragment.vcompmat_c CRC:009bc9c301 size:5833\n weapons/paints/community/community_37/usps_silent_boy.vcompmat_c CRC:00a4c87d7a size:5907\n-weapons/paints/legacy/_shared_paint_generic.vcompmat_c CRC:002dccc7cf size:3038\n+weapons/paints/legacy/_shared_paint_generic.vcompmat_c CRC:0008e69648 size:3096\n weapons/paints/legacy/aa_ancient_brown.vcompmat_c CRC:00a92f27e9 size:1681\n weapons/paints/legacy/aa_awp_fade.vcompmat_c CRC:0094e96f18 size:1612\n weapons/paints/legacy/aa_desert_bloom_bright.vcompmat_c CRC:00cb8b3cb9 size:1704"
},
{
"filename": "game/csgo/pak01_dir/cfg/video_defaults_0.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -12,6 +12,7 @@\n \t\"setting.videocfg_texture_detail\"\t\t\t\"0\"\n \t\"setting.videocfg_particle_detail\"\t\t\t\"0\"\n \t\"setting.videocfg_ao_detail\"\t\t\t\t\"0\"\n+\t\"setting.videocfg_parallax_detail\"\t\t\t\"0\"\n \t\"setting.videocfg_hdr_detail\"\t\t\t\t\"3\"\n \t\"setting.videocfg_fsr_detail\"\t\t\t\t\"3\"\n "
},
{
"filename": "game/csgo/pak01_dir/cfg/video_defaults_1.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -12,6 +12,7 @@\n \t\"setting.videocfg_texture_detail\"\t\t\t\"1\"\n \t\"setting.videocfg_particle_detail\"\t\t\t\"1\"\n \t\"setting.videocfg_ao_detail\"\t\t\t\t\"0\"\n+\t\"setting.videocfg_parallax_detail\"\t\t\t\"0\"\n \t\"setting.videocfg_hdr_detail\"\t\t\t\t\"3\"\n \t\"setting.videocfg_fsr_detail\"\t\t\t\t\"2\"\n "
},
{
"filename": "game/csgo/pak01_dir/cfg/video_defaults_2.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -12,6 +12,7 @@\n \t\"setting.videocfg_texture_detail\"\t\t\t\"2\"\n \t\"setting.videocfg_particle_detail\"\t\t\t\"2\"\n \t\"setting.videocfg_ao_detail\"\t\t\t\t\"2\"\n+\t\"setting.videocfg_parallax_detail\"\t\t\t\"1\"\n \t\"setting.videocfg_hdr_detail\"\t\t\t\t\"-1\"\n \t\"setting.videocfg_fsr_detail\"\t\t\t\t\"0\"\n "
},
{
"filename": "game/csgo/pak01_dir/cfg/video_defaults_3.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -12,6 +12,7 @@\n \t\"setting.videocfg_texture_detail\"\t\t\t\"2\"\n \t\"setting.videocfg_particle_detail\"\t\t\t\"3\"\n \t\"setting.videocfg_ao_detail\"\t\t\t\t\"3\"\n+\t\"setting.videocfg_parallax_detail\"\t\t\t\"1\"\n \t\"setting.videocfg_hdr_detail\"\t\t\t\t\"-1\"\n \t\"setting.videocfg_fsr_detail\"\t\t\t\t\"0\"\n "
},
{
"filename": "game/csgo/pak01_dir/cfg/video_version.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -1,5 +1,5 @@\n // Bump the version number to force auto config to be re-run so that the local settings will be re-generated from the appropriate video_defaults_#.txt\n \"video_version.txt\"\n {\n-\t\"Version\"\t\t\"16\"\n+\t\"Version\"\t\t\"17\"\n }"
},
{
"filename": "game/csgo/pak01_dir/panorama/layout/settings/settings_video.xml",
"status": "modified",
"additions": 8,
"deletions": 0,
"changes": 8,
"patch": "@@ -253,6 +253,14 @@\n \t\t\t\t\t\t\t\t\t\t</CSGOSettingsEnumDropDown>\n \t\t\t\t\t\t\t\t\t</TooltipPanel>\n \t\t\t\t\t\t\t\t\t<Panel class=\"horizontal-separator\" />\n+\t\t\t\t\t\t\t\t\t<TooltipPanel class=\"SettingsMenuDropdownContainer\" tooltip=\"#SFUI_Settings_Parallax_Info\" id=\"ParallaxPanel\">\n+\t\t\t\t\t\t\t\t\t\t<Label text=\"#SFUI_Settings_Parallax\" class=\"half-width\" />\n+\t\t\t\t\t\t\t\t\t\t<CSGOSettingsEnumDropDown onuserinputsubmit=\"SettingsMenuShared.VideoSettingsEnableDiscard()\" oninputsubmit=\"CSGOVideoChanged('')\" class=\"PopupButton White\" id=\"ParallaxDetail\">\n+\t\t\t\t\t\t\t\t\t\t\t<Label text=\"#SFUI_Settings_Disabled\" value=\"0\" id=\"parallax0\" />\n+\t\t\t\t\t\t\t\t\t\t\t<Label text=\"#SFUI_Settings_Enabled\" value=\"1\" id=\"parallax1\" />\n+\t\t\t\t\t\t\t\t\t\t</CSGOSettingsEnumDropDown>\n+\t\t\t\t\t\t\t\t\t</TooltipPanel>\n+\t\t\t\t\t\t\t\t\t<Panel class=\"horizontal-separator\" id=\"ParallaxSeparator\" />\n \t\t\t\t\t\t\t\t\t<TooltipPanel class=\"SettingsMenuDropdownContainer\" tooltip=\"#SFUI_Settings_HDR_Info\">\n \t\t\t\t\t\t\t\t\t\t<Label text=\"#SFUI_Settings_HDR\" class=\"half-width\" />\n \t\t\t\t\t\t\t\t\t\t<CSGOSettingsEnumDropDown onuserinputsubmit=\"SettingsMenuShared.VideoSettingsEnableDiscard()\" oninputsubmit=\"CSGOVideoChanged('')\" class=\"PopupButton White\" id=\"HDR\">"
},
{
"filename": "game/csgo/pak01_dir/resource/csgo_english.txt",
"status": "modified",
"additions": 2,
"deletions": 0,
"changes": 2,
"patch": "@@ -44560,6 +44560,8 @@\n \n \t\t\"SFUI_Settings_AOProxy\"\t\t\t\t\"Ambient Occlusion\"\n \t\t\"SFUI_Settings_AOProxy_Info\"\t\t\"Calculate lighting using Ambient Occlusion. Enabling Ambient Occlusion can degrade graphics performance.\"\n+\t\t\"SFUI_Settings_Parallax\"\t\t\t\"Parallax Occlusion Mapping\"\n+\t\t\"SFUI_Settings_Parallax_Info\"\t\t\"Gives some surfaces, such as snow, real looking depth. Enabling it can degrade graphics performance.\"\n \n \t\t\"SFUI_Settings_FSR\"\t\t\t\t\t\"FidelityFX Super Resolution\"\n \t\t\"SFUI_Settings_FSR_Info\"\t\t\t\"FidelityFX Super Resolution may improve performance by rendering at reduced resolution and upscaling using a high-quality spatial technique.\""
},
{
"filename": "game/csgo/pak01_dir/scripts/ai/retakes/bt_config.kv3",
"status": "added",
"additions": 453,
"deletions": 0,
"changes": 453,
"patch": "@@ -0,0 +1,453 @@\n+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->\n+{\n+\tdefault =\n+\t{\n+\t\taim_target_acquisition_lerp_time = 0.7\n+\t\taim_target_acquisition_lerp_time_deviation = 0.1\n+\t\taim_target_acquisition_angle_penalty = 7.0\n+\t\taim_target_acquisition_angle_penalty_deviation = 2.0\n+\t\taim_target_acquisition_angle_penalty_reduction_ratio = 0.3\n+\t\taim_target_acquisition_angle_tolerance = 1.0\n+\t\taim_target_acquisition_angle_lerp_bias = 0.75\n+\t\taim_target_tracking_lerp_time = 0.1\n+\t\taim_target_tracking_lerp_time_deviation = 0.05\n+\t\taim_target_tracking_focus_interval = 0.07\n+\t\taim_target_tracking_focus_interval_deviation = 0.02\n+\t\taim_target_tracking_angle_lerp_bias = 0.35\n+\t\taim_ready_angle_tolerance = 3.0\n+\t\taim_new_target_angle_tolerance = 30.0\n+\t\taim_max_duration = 0.9\n+\t\taim_max_duration_deviation = 0.3\n+\t\taim_punch_angle_reaction_chance = 0.5\n+\n+\t\tlook_around_awareness_yaw_range = 50\n+\t\tlook_around_awareness_pitch_range = 10\n+\t\tlook_around_focus_interval = 0.7\n+\t\tlook_around_focus_interval_deviation = 0.2\n+\t\tlook_around_lerp_time = 0.3\n+\t\tlook_around_lerp_time_deviation = 0.05\n+\t\tlook_around_lerp_bias = 0.5\n+\n+\t\treaction_time = 0.4\n+\n+\t\tcombat_crouch_chance = 0.1\n+\t\tcombat_dodge_command_duration = 1.2\n+\t\tcombat_dodge_command_duration_deviation = 0.2\n+\n+\t\tattack =\n+\t\t[\n+\t\t\t// duration, duration deviation, cadence, cooldown, cooldown deviation\n+\n+\t\t\t// KNIFE\t\t\t\t\t\t\t\t\tPISTOL\t\t\t\t\t\t\t\t\tSUBMACHINEGUN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ 0.95, 0.25, 0.5, 0.15, 0.05 ],\t\t[ 0.42, 0.07, 0.0, 0.15, 0.05 ],\n+\t\t\t// RIFLE\t\t\t\t\t\t\t\t\tSHOTGUN\t\t\t\t\t\t\t\t\tSNIPER_RIFLE\n+\t\t\t[ 0.22, 0.07, 0.0, 0.45, 0.15 ],\t\t\t[ 0.3, 0.0, 0.0, 0.95, 0.25 ],\t\t\t[ 0.22, 0.07, 0.0, 2.0, 0.0 ],\n+\t\t\t// MACHINEGUN\t\t\t\t\t\t\t\tC4\t\t\t\t\t\t\t\t\t\tTASER\n+\t\t\t[ 0.75, 0.15, 0.0, 0.3, 0.1 ],\t\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// GRENADE\t\t\t\t\t\t\t\t\tEQUIPMENT\t\t\t\t\t\t\t\tSTACKABLEITEM\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// UNKNOWN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ]\n+\t\t]\n+\t}\n+\tlow =\n+\t{\n+\t\taim_target_acquisition_lerp_time = 0.5\n+\t\taim_target_acquisition_lerp_time_deviation = 0.1\n+\t\taim_target_acquisition_angle_penalty = 5\n+\t\taim_target_acquisition_angle_penalty_deviation = 1.5\n+\t\taim_target_acquisition_angle_penalty_reduction_ratio = 0.8\n+\t\taim_target_acquisition_angle_tolerance = 1.0\n+\t\taim_target_acquisition_angle_lerp_bias = 0.5\n+\t\taim_target_tracking_lerp_time = 0.65\n+\t\taim_target_tracking_lerp_time_deviation = 0.1\n+\t\taim_target_tracking_focus_interval = 0.35\n+\t\taim_target_tracking_focus_interval_deviation = 0.1\n+\t\taim_target_tracking_angle_lerp_bias = 0.5\n+\t\taim_ready_angle_tolerance = 3.0\n+\t\taim_new_target_angle_tolerance = 30.0\n+\t\taim_max_duration = 1.1\n+\t\taim_max_duration_deviation = 0.3\n+\t\taim_punch_angle_reaction_chance = 0.35\n+\n+\t\tlook_around_awareness_yaw_range = 60\n+\t\tlook_around_awareness_pitch_range = 20\n+\t\tlook_around_focus_interval = 0.9\n+\t\tlook_around_focus_interval_deviation = 0.4\n+\t\tlook_around_lerp_time = 0.6\n+\t\tlook_around_lerp_time_deviation = 0.1\n+\t\tlook_around_lerp_bias = 0.25\n+\n+\t\treaction_time = 0.5\n+\n+\t\tcombat_crouch_chance = 0\n+\t\tcombat_dodge_command_duration = 2.2\n+\t\tcombat_dodge_command_duration_deviation = 0.3\n+\n+\t\tattack =\n+\t\t[\n+\t\t\t// duration, duration deviation, cadence, cooldown, cooldown deviation\n+\n+\t\t\t// KNIFE\t\t\t\t\t\t\t\t\tPISTOL\t\t\t\t\t\t\t\t\tSUBMACHINEGUN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ 0.95, 0.25, 0.6, 0.15, 0.05 ],\t\t[ 0.75, 0.15, 0.0, 0.25, 0.05 ],\n+\t\t\t// RIFLE\t\t\t\t\t\t\t\t\tSHOTGUN\t\t\t\t\t\t\t\t\tSNIPER_RIFLE\n+\t\t\t[ 0.95, 0.25, 0.0, 0.75, 0.15 ],\t\t\t[ 0.3, 0.0, 0.0, 0.8, 0.0 ],\t\t\t[ 0.22, 0.07, 0.0, 2.0, 0.0 ],\n+\t\t\t// MACHINEGUN\t\t\t\t\t\t\t\tC4\t\t\t\t\t\t\t\t\t\tTASER\n+\t\t\t[ 1.45, 0.25, 0.0, 0.8, 0.1 ],\t\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// GRENADE\t\t\t\t\t\t\t\t\tEQUIPMENT\t\t\t\t\t\t\t\tSTACKABLEITEM\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// UNKNOWN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ]\n+\t\t]\n+\t}\n+\tfair =\n+\t{\n+\t\taim_target_acquisition_lerp_time = 0.45\n+\t\taim_target_acquisition_lerp_time_deviation = 0.1\n+\t\taim_target_acquisition_angle_penalty = 5\n+\t\taim_target_acquisition_angle_penalty_deviation = 1.5\n+\t\taim_target_acquisition_angle_penalty_reduction_ratio = 0.7\n+\t\taim_target_acquisition_angle_tolerance = 1.0\n+\t\taim_target_acquisition_angle_lerp_bias = 0.5\n+\t\taim_target_tracking_lerp_time = 0.55\n+\t\taim_target_tracking_lerp_time_deviation = 0.1\n+\t\taim_target_tracking_focus_interval = 0.3\n+\t\taim_target_tracking_focus_interval_deviation = 0.05\n+\t\taim_target_tracking_angle_lerp_bias = 0.5\n+\t\taim_ready_angle_tolerance = 3.0\n+\t\taim_new_target_angle_tolerance = 30.0\n+\t\taim_max_duration = 1.1\n+\t\taim_max_duration_deviation = 0.3\n+\t\taim_punch_angle_reaction_chance = 0.5\n+\n+\t\tlook_around_awareness_yaw_range = 60\n+\t\tlook_around_awareness_pitch_range = 20\n+\t\tlook_around_focus_interval = 0.9\n+\t\tlook_around_focus_interval_deviation = 0.4\n+\t\tlook_around_lerp_time = 0.55\n+\t\tlook_around_lerp_time_deviation = 0.1\n+\t\tlook_around_lerp_bias = 0.25\n+\n+\t\treaction_time = 0.5\n+\n+\t\tcombat_crouch_chance = 0.05\n+\t\tcombat_dodge_command_duration = 1.3\n+\t\tcombat_dodge_command_duration_deviation = 0.2\n+\n+\t\tattack =\n+\t\t[\n+\t\t\t// duration, duration deviation, cadence, cooldown, cooldown deviation\n+\n+\t\t\t// KNIFE\t\t\t\t\t\t\t\t\tPISTOL\t\t\t\t\t\t\t\t\tSUBMACHINEGUN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ 0.9, 0.2, 0.6, 0.15, 0.05 ],\t\t\t[ 0.42, 0.08, 0.0, 0.15, 0.05 ],\n+\t\t\t// RIFLE\t\t\t\t\t\t\t\t\tSHOTGUN\t\t\t\t\t\t\t\t\tSNIPER_RIFLE\n+\t\t\t[ 0.95, 0.25, 0.0, 0.65, 0.15 ],\t\t\t[ 0.3, 0.0, 0.0, 0.65, 0.0 ],\t\t\t[ 0.22, 0.07, 0.0, 2.0, 0.0 ],\n+\t\t\t// MACHINEGUN\t\t\t\t\t\t\t\tC4\t\t\t\t\t\t\t\t\t\tTASER\n+\t\t\t[ 1.05, 0.15, 0.0, 0.65, 0.15 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// GRENADE\t\t\t\t\t\t\t\t\tEQUIPMENT\t\t\t\t\t\t\t\tSTACKABLEITEM\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// UNKNOWN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ]\n+\t\t]\n+\t}\n+\tnormal =\n+\t{\n+\t\taim_target_acquisition_lerp_time = 0.4\n+\t\taim_target_acquisition_lerp_time_deviation = 0.1\n+\t\taim_target_acquisition_angle_penalty = 5\n+\t\taim_target_acquisition_angle_penalty_deviation = 1.5\n+\t\taim_target_acquisition_angle_penalty_reduction_ratio = 0.6\n+\t\taim_target_acquisition_angle_tolerance = 1.0\n+\t\taim_target_acquisition_angle_lerp_bias = 0.5\n+\t\taim_target_tracking_lerp_time = 0.5\n+\t\taim_target_tracking_lerp_time_deviation = 0.1\n+\t\taim_target_tracking_focus_interval = 0.275\n+\t\taim_target_tracking_focus_interval_deviation = 0.05\n+\t\taim_target_tracking_angle_lerp_bias = 0.5\n+\t\taim_ready_angle_tolerance = 3.0\n+\t\taim_new_target_angle_tolerance = 30.0\n+\t\taim_max_duration = 1.1\n+\t\taim_max_duration_deviation = 0.3\n+\t\taim_punch_angle_reaction_chance = 0.55\n+\n+\t\tlook_around_awareness_yaw_range = 60\n+\t\tlook_around_awareness_pitch_range = 20\n+\t\tlook_around_focus_interval = 0.85\n+\t\tlook_around_focus_interval_deviation = 0.4\n+\t\tlook_around_lerp_time = 0.5\n+\t\tlook_around_lerp_time_deviation = 0.05\n+\t\tlook_around_lerp_bias = 0.25\n+\n+\t\treaction_time = 0.4\n+\n+\t\tcombat_crouch_chance = 0.1\n+\t\tcombat_dodge_command_duration = 1.2\n+\t\tcombat_dodge_command_duration_deviation = 0.2\n+\n+\t\tattack =\n+\t\t[\n+\t\t\t// duration, duration deviation, cadence, cooldown, cooldown deviation\n+\n+\t\t\t// KNIFE\t\t\t\t\t\t\t\t\tPISTOL\t\t\t\t\t\t\t\t\tSUBMACHINEGUN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ 0.95, 0.25, 0.5, 0.15, 0.05 ],\t\t[ 0.42, 0.07, 0.0, 0.15, 0.05 ],\n+\t\t\t// RIFLE\t\t\t\t\t\t\t\t\tSHOTGUN\t\t\t\t\t\t\t\t\tSNIPER_RIFLE\n+\t\t\t[ 0.22, 0.07, 0.0, 0.45, 0.15 ],\t\t\t[ 0.3, 0.0, 0.0, 0.95, 0.25 ],\t\t\t[ 0.22, 0.07, 0.0, 2.0, 0.0 ],\n+\t\t\t// MACHINEGUN\t\t\t\t\t\t\t\tC4\t\t\t\t\t\t\t\t\t\tTASER\n+\t\t\t[ 0.75, 0.15, 0.0, 0.3, 0.1 ],\t\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// GRENADE\t\t\t\t\t\t\t\t\tEQUIPMENT\t\t\t\t\t\t\t\tSTACKABLEITEM\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// UNKNOWN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ]\n+\t\t]\n+\t}\n+\ttough =\n+\t{\n+\t\taim_target_acquisition_lerp_time = 0.375\n+\t\taim_target_acquisition_lerp_time_deviation = 0.1\n+\t\taim_target_acquisition_angle_penalty = 5\n+\t\taim_target_acquisition_angle_penalty_deviation = 1.5\n+\t\taim_target_acquisition_angle_penalty_reduction_ratio = 0.6\n+\t\taim_target_acquisition_angle_tolerance = 1.0\n+\t\taim_target_acquisition_angle_lerp_bias = 0.5\n+\t\taim_target_tracking_lerp_time = 0.475\n+\t\taim_target_tracking_lerp_time_deviation = 0.1\n+\t\taim_target_tracking_focus_interval = 0.25\n+\t\taim_target_tracking_focus_interval_deviation = 0.05\n+\t\taim_target_tracking_angle_lerp_bias = 0.5\n+\t\taim_ready_angle_tolerance = 3.0\n+\t\taim_new_target_angle_tolerance = 30.0\n+\t\taim_max_duration = 1.1\n+\t\taim_max_duration_deviation = 0.3\n+\t\taim_punch_angle_reaction_chance = 0.6\n+\n+\t\tlook_around_awareness_yaw_range = 60\n+\t\tlook_around_awareness_pitch_range = 20\n+\t\tlook_around_focus_interval = 0.85\n+\t\tlook_around_focus_interval_deviation = 0.4\n+\t\tlook_around_lerp_time = 0.45\n+\t\tlook_around_lerp_time_deviation = 0.05\n+\t\tlook_around_lerp_bias = 0.25\n+\n+\t\treaction_time = 0.35\n+\n+\t\tcombat_crouch_chance = 0.12\n+\t\tcombat_dodge_command_duration = 1.05\n+\t\tcombat_dodge_command_duration_deviation = 0.25\n+\n+\t\tattack =\n+\t\t[\n+\t\t\t// duration, duration deviation, cadence, cooldown, cooldown deviation\n+\n+\t\t\t// KNIFE\t\t\t\t\t\t\t\t\tPISTOL\t\t\t\t\t\t\t\t\tSUBMACHINEGUN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ 0.95, 0.25, 0.45, 0.125, 0.025 ],\t\t[ 0.4, 0.1, 0.0, 0.175, 0.025 ],\n+\t\t\t// RIFLE\t\t\t\t\t\t\t\t\tSHOTGUN\t\t\t\t\t\t\t\t\tSNIPER_RIFLE\n+\t\t\t[ 0.225, 0.075, 0.0, 0.32, 0.12 ],\t\t\t[ 0.3, 0.0, 0.0, 0.55, 0.1 ],\t\t\t[ 0.22, 0.07, 0.0, 2.0, 0.0 ],\n+\t\t\t// MACHINEGUN\t\t\t\t\t\t\t\tC4\t\t\t\t\t\t\t\t\t\tTASER\n+\t\t\t[ 0.85, 0.25, 0.0, 0.3, 0.1 ],\t\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// GRENADE\t\t\t\t\t\t\t\t\tEQUIPMENT\t\t\t\t\t\t\t\tSTACKABLEITEM\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// UNKNOWN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ]\n+\t\t]\n+\t}\n+\thard =\n+\t{\n+\t\taim_target_acquisition_lerp_time = 0.35\n+\t\taim_target_acquisition_lerp_time_deviation = 0.1\n+\t\taim_target_acquisition_angle_penalty = 5\n+\t\taim_target_acquisition_angle_penalty_deviation = 1.5\n+\t\taim_target_acquisition_angle_penalty_reduction_ratio = 0.55\n+\t\taim_target_acquisition_angle_tolerance = 1.0\n+\t\taim_target_acquisition_angle_lerp_bias = 0.45\n+\t\taim_target_tracking_lerp_time = 0.45\n+\t\taim_target_tracking_lerp_time_deviation = 0.1\n+\t\taim_target_tracking_focus_interval = 0.2\n+\t\taim_target_tracking_focus_interval_deviation = 0.05\n+\t\taim_target_tracking_angle_lerp_bias = 0.5\n+\t\taim_ready_angle_tolerance = 3.0\n+\t\taim_new_target_angle_tolerance = 30.0\n+\t\taim_max_duration = 1.1\n+\t\taim_max_duration_deviation = 0.3\n+\t\taim_punch_angle_reaction_chance = 0.65\n+\n+\t\tlook_around_awareness_yaw_range = 60\n+\t\tlook_around_awareness_pitch_range = 20\n+\t\tlook_around_focus_interval = 0.8\n+\t\tlook_around_focus_interval_deviation = 0.3\n+\t\tlook_around_lerp_time = 0.4\n+\t\tlook_around_lerp_time_deviation = 0.05\n+\t\tlook_around_lerp_bias = 0.25\n+\n+\t\treaction_time = 0.3\n+\n+\t\tcombat_crouch_chance = 0.22\n+\t\tcombat_dodge_command_duration = 0.95\n+\t\tcombat_dodge_command_duration_deviation = 0.25\n+\n+\t\tattack =\n+\t\t[\n+\t\t\t// duration, duration deviation, cadence, cooldown, cooldown deviation\n+\n+\t\t\t// KNIFE\t\t\t\t\t\t\t\t\tPISTOL\t\t\t\t\t\t\t\t\tSUBMACHINEGUN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ 0.95, 0.25, 0.4, 0.1, 0.0 ],\t\t\t[ 0.4, 0.1, 0.0, 0.175, 0.025 ],\n+\t\t\t// RIFLE\t\t\t\t\t\t\t\t\tSHOTGUN\t\t\t\t\t\t\t\t\tSNIPER_RIFLE\n+\t\t\t[ 0.225, 0.075, 0.0, 0.25, 0.05 ],\t\t\t[ 0.3, 0.0, 0.0, 0.375, 0.075 ],\t\t[ 0.22, 0.07, 0.0, 2.0, 0.0 ],\n+\t\t\t// MACHINEGUN\t\t\t\t\t\t\t\tC4\t\t\t\t\t\t\t\t\t\tTASER\n+\t\t\t[ 0.9, 0.3, 0.0, 0.275, 0.075 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// GRENADE\t\t\t\t\t\t\t\t\tEQUIPMENT\t\t\t\t\t\t\t\tSTACKABLEITEM\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// UNKNOWN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ]\n+\t\t]\n+\t}\n+\tvery_hard =\n+\t{\n+\t\taim_target_acquisition_lerp_time = 0.3\n+\t\taim_target_acquisition_lerp_time_deviation = 0.1\n+\t\taim_target_acquisition_angle_penalty = 5\n+\t\taim_target_acquisition_angle_penalty_deviation = 1.5\n+\t\taim_target_acquisition_angle_penalty_reduction_ratio = 0.45\n+\t\taim_target_acquisition_angle_tolerance = 1.0\n+\t\taim_target_acquisition_angle_lerp_bias = 0.3\n+\t\taim_target_tracking_lerp_time = 0.4\n+\t\taim_target_tracking_lerp_time_deviation = 0.1\n+\t\taim_target_tracking_focus_interval = 0.2\n+\t\taim_target_tracking_focus_interval_deviation = 0.05\n+\t\taim_target_tracking_angle_lerp_bias = 0.5\n+\t\taim_ready_angle_tolerance = 3.0\n+\t\taim_new_target_angle_tolerance = 30.0\n+\t\taim_max_duration = 1.1\n+\t\taim_max_duration_deviation = 0.3\n+\t\taim_punch_angle_reaction_chance = 0.7\n+\n+\t\tlook_around_awareness_yaw_range = 60\n+\t\tlook_around_awareness_pitch_range = 20\n+\t\tlook_around_focus_interval = 0.7\n+\t\tlook_around_focus_interval_deviation = 0.2\n+\t\tlook_around_lerp_time = 0.35\n+\t\tlook_around_lerp_time_deviation = 0.05\n+\t\tlook_around_lerp_bias = 0.25\n+\n+\t\treaction_time = 0.25\n+\n+\t\tcombat_crouch_chance = 0.22\n+\t\tcombat_dodge_command_duration = 0.95\n+\t\tcombat_dodge_command_duration_deviation = 0.15\n+\n+\t\tattack =\n+\t\t[\n+\t\t\t// duration, duration deviation, cadence, cooldown, cooldown deviation\n+\n+\t\t\t// KNIFE\t\t\t\t\t\t\t\t\tPISTOL\t\t\t\t\t\t\t\t\tSUBMACHINEGUN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ 0.95, 0.25, 0.35, 0.05, 0.0 ],\t\t[ 0.4, 0.1, 0.0, 0.175, 0.025 ],\n+\t\t\t// RIFLE\t\t\t\t\t\t\t\t\tSHOTGUN\t\t\t\t\t\t\t\t\tSNIPER_RIFLE\n+\t\t\t[ 0.225, 0.075, 0.0, 0.2, 0.05 ],\t\t\t[ 0.3, 0.0, 0.0, 0.3, 0.05 ],\t\t\t[ 0.22, 0.07, 0.0, 2.0, 0.0 ],\n+\t\t\t// MACHINEGUN\t\t\t\t\t\t\t\tC4\t\t\t\t\t\t\t\t\t\tTASER\n+\t\t\t[ 0.9, 0.3, 0.0, 0.25, 0.05 ],\t\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// GRENADE\t\t\t\t\t\t\t\t\tEQUIPMENT\t\t\t\t\t\t\t\tSTACKABLEITEM\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// UNKNOWN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ]\n+\t\t]\n+\t}\n+\texpert =\n+\t{\n+\t\taim_target_acquisition_lerp_time = 0.25\n+\t\taim_target_acquisition_lerp_time_deviation = 0.1\n+\t\taim_target_acquisition_angle_penalty = 5\n+\t\taim_target_acquisition_angle_penalty_deviation = 1.5\n+\t\taim_target_acquisition_angle_penalty_reduction_ratio = 0.35\n+\t\taim_target_acquisition_angle_tolerance = 1.0\n+\t\taim_target_acquisition_angle_lerp_bias = 0.3\n+\t\taim_target_tracking_lerp_time = 0.3\n+\t\taim_target_tracking_lerp_time_deviation = 0.1\n+\t\taim_target_tracking_focus_interval = 0.15\n+\t\taim_target_tracking_focus_interval_deviation = 0.05\n+\t\taim_target_tracking_angle_lerp_bias = 0.5\n+\t\taim_ready_angle_tolerance = 3.0\n+\t\taim_new_target_angle_tolerance = 30.0\n+\t\taim_max_duration = 1.1\n+\t\taim_max_duration_deviation = 0.3\n+\t\taim_punch_angle_reaction_chance = 0.75\n+\n+\t\tlook_around_awareness_yaw_range = 60\n+\t\tlook_around_awareness_pitch_range = 20\n+\t\tlook_around_focus_interval = 0.6\n+\t\tlook_around_focus_interval_deviation = 0.2\n+\t\tlook_around_lerp_time = 0.25\n+\t\tlook_around_lerp_time_deviation = 0.05\n+\t\tlook_around_lerp_bias = 0.25\n+\n+\t\treaction_time = 0.2\n+\n+\t\tcombat_crouch_chance = 0.33\n+\t\tcombat_dodge_command_duration = 0.95\n+\t\tcombat_dodge_command_duration_deviation = 0.15\n+\n+\t\tattack =\n+\t\t[\n+\t\t\t// duration, duration deviation, cadence, cooldown, cooldown deviation\n+\n+\t\t\t// KNIFE\t\t\t\t\t\t\t\t\tPISTOL\t\t\t\t\t\t\t\t\tSUBMACHINEGUN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ 0.95, 0.25, 0.25, 0.05, 0.0 ],\t\t[ 0.425, 0.075, 0.0, 0.125, 0.025 ],\n+\t\t\t// RIFLE\t\t\t\t\t\t\t\t\tSHOTGUN\t\t\t\t\t\t\t\t\tSNIPER_RIFLE\n+\t\t\t[ 0.225, 0.075, 0.0, 0.15, 0.05 ],\t\t\t[ 0.3, 0.0, 0.0, 0.25, 0.05 ],\t\t\t[ 0.22, 0.07, 0.0, 2.0, 0.0 ],\n+\t\t\t// MACHINEGUN\t\t\t\t\t\t\t\tC4\t\t\t\t\t\t\t\t\t\tTASER\n+\t\t\t[ 0.9, 0.3, 0.0, 0.15, 0.05 ],\t\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// GRENADE\t\t\t\t\t\t\t\t\tEQUIPMENT\t\t\t\t\t\t\t\tSTACKABLEITEM\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// UNKNOWN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ]\n+\t\t]\n+\t}\n+\telite =\n+\t{\n+\t\taim_target_acquisition_lerp_time = 0.15\n+\t\taim_target_acquisition_lerp_time_deviation = 0.05\n+\t\taim_target_acquisition_angle_penalty = 4\n+\t\taim_target_acquisition_angle_penalty_deviation = 1.5\n+\t\taim_target_acquisition_angle_penalty_reduction_ratio = 0.2\n+\t\taim_target_acquisition_angle_tolerance = 1.0\n+\t\taim_target_acquisition_angle_lerp_bias = 0.3\n+\t\taim_target_tracking_lerp_time = 0.15\n+\t\taim_target_tracking_lerp_time_deviation = 0.1\n+\t\taim_target_tracking_focus_interval = 0.06\n+\t\taim_target_tracking_focus_interval_deviation = 0.03\n+\t\taim_target_tracking_angle_lerp_bias = 0.3\n+\t\taim_ready_angle_tolerance = 3.0\n+\t\taim_new_target_angle_tolerance = 30.0\n+\t\taim_max_duration = 1.1\n+\t\taim_max_duration_deviation = 0.3\n+\t\taim_punch_angle_reaction_chance = 0.95\n+\n+\t\tlook_around_awareness_yaw_range = 60\n+\t\tlook_around_awareness_pitch_range = 20\n+\t\tlook_around_focus_interval = 0.4\n+\t\tlook_around_focus_interval_deviation = 0.2\n+\t\tlook_around_lerp_time = 0.15\n+\t\tlook_around_lerp_time_deviation = 0.05\n+\t\tlook_around_lerp_bias = 0.25\n+\n+\t\treaction_time = 0.12\n+\n+\t\tcombat_crouch_chance = 0.33\n+\t\tcombat_dodge_command_duration = 0.95\n+\t\tcombat_dodge_command_duration_deviation = 0.15\n+\n+\t\tattack =\n+\t\t[\n+\t\t\t// duration, duration deviation, cadence, cooldown, cooldown deviation\n+\n+\t\t\t// KNIFE\t\t\t\t\t\t\t\t\tPISTOL\t\t\t\t\t\t\t\t\tSUBMACHINEGUN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ 0.95, 0.25, 0.2, 0.05, 0.0 ],\t\t\t[ 0.425, 0.075, 0.0, 0.125, 0.025 ],\n+\t\t\t// RIFLE\t\t\t\t\t\t\t\t\tSHOTGUN\t\t\t\t\t\t\t\t\tSNIPER_RIFLE\n+\t\t\t[ 0.155, 0.035, 0.0, 0.15, 0.05 ],\t\t\t[ 0.3, 0.0, 0.0, 0.25, 0.05 ],\t\t\t[ 0.22, 0.07, 0.0, 2.0, 0.0 ],\n+\t\t\t// MACHINEGUN\t\t\t\t\t\t\t\tC4\t\t\t\t\t\t\t\t\t\tTASER\n+\t\t\t[ 0.9, 0.3, 0.0, 0.15, 0.05 ],\t\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// GRENADE\t\t\t\t\t\t\t\t\tEQUIPMENT\t\t\t\t\t\t\t\tSTACKABLEITEM\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ],\n+\t\t\t// UNKNOWN\n+\t\t\t[ -1.0, -1.0, -1.0, -1.0, -1.0 ]\n+\t\t]\n+\t}\n+}"
},
{
"filename": "game/csgo/pak01_dir/scripts/ai/retakes/bt_default.kv3",
"status": "added",
"additions": 156,
"deletions": 0,
"changes": 156,
"patch": "@@ -0,0 +1,156 @@\n+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->\n+// Retakes bots. CTs defuse and push the site, Ts hide around the bomb.\n+{\n+\tconfig = \"scripts/ai/retakes/bt_config.kv3\"\n+\troot =\n+\t{\n+\t\ttype = \"decorator_bot_service\"\n+\t\tmemory_to_expire =\n+\t\t[\n+\t\t\t{\n+\t\t\t\tkey = \"ShortTermAttackMemory\"\n+\t\t\t\ttime = 0.7\n+\t\t\t\tdistance = 0\n+\t\t\t},\n+\t\t\t{\n+\t\t\t\tkey = \"LongTermMemory\"\n+\t\t\t\ttime = 10\n+\t\t\t\tdistance = 500\n+\t\t\t},\n+\t\t\t{\n+\t\t\t\tkey = \"ShortTermInvestigateMemory\"\n+\t\t\t\ttime = 3\n+\t\t\t\tdistance = 200\n+\t\t\t}\n+\t\t]\n+\t\tchild =\n+\t\t{\n+\t\t\ttype = \"parallel\"\n+\t\t\tchildren =\n+\t\t\t[\n+\t\t\t\t{\n+\t\t\t\t\ttype = \"decorator_repeat\"\n+\t\t\t\t\tchild =\n+\t\t\t\t\t{\n+\t\t\t\t\t\ttype = \"parallel\"\n+\t\t\t\t\t\tchildren =\n+\t\t\t\t\t\t[\n+\t\t\t\t\t\t\t// memorize enemies through vision\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\tfile = \"scripts/ai/modules/bt_memorize_enemies_vision.kv3\"\n+\t\t\t\t\t\t\t\tname = \"MemorizeEnemiesVision\"\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t// memorize noises happening right now\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\tfile = \"scripts/ai/modules/bt_memorize_noises.kv3\"\n+\t\t\t\t\t\t\t\tname = \"MemorizeNoises\"\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t// record the nearest memorized event to investigate\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\tfile = \"scripts/ai/modules/bt_memorize_nearest_investigation.kv3\"\n+\t\t\t\t\t\t\t\tname = \"MemorizeNearestInvestigation\"\n+\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t]\n+\t\t\t\t\t}\n+\t\t\t\t},\n+\t\t\t\t{\n+\t\t\t\t\ttype = \"decorator_repeat\"\n+\t\t\t\t\tchild =\n+\t\t\t\t\t{\n+\t\t\t\t\t\ttype = \"selector\"\n+\t\t\t\t\t\tchildren =\n+\t\t\t\t\t\t[\n+\t\t\t\t\t\t\t// face the damage source if we're taking damage\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"decorator_sensor\"\n+\t\t\t\t\t\t\t\tentity_type_filter = \"DAMAGE\"\n+\t\t\t\t\t\t\t\toutput = \"Damage\"\n+\t\t\t\t\t\t\t\tpriority = 0\n+\t\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\ttype = \"condition_is_empty\"\n+\t\t\t\t\t\t\t\t\tinput = \"Damage\"\n+\t\t\t\t\t\t\t\t\tnegated = 1\n+\t\t\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\t\ttype = \"action_aim\"\n+\t\t\t\t\t\t\t\t\t\tinput = \"Damage\"\n+\t\t\t\t\t\t\t\t\t\tacquire_only = 1\n+\t\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t// Else: attack if we see an enemy\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\tfile = \"scripts/ai/modules/bt_attack.kv3\"\n+\t\t\t\t\t\t\t\tname = \"Attack\"\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t// Else: one CT goes for the defuse\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"condition_is_equal\"\n+\t\t\t\t\t\t\t\tsource = \"TeamName\"\n+\t\t\t\t\t\t\t\tdestination = \"'CT'\"\n+\t\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\t\tfile = \"scripts/ai/retakes/modules/bt_defuse_planted_bomb.kv3\"\n+\t\t\t\t\t\t\t\t\tname = \"DefusePlantedBomb\"\n+\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t// Else: Ts take cover around the bomb\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"condition_is_equal\"\n+\t\t\t\t\t\t\t\tsource = \"TeamName\"\n+\t\t\t\t\t\t\t\tdestination = \"'T'\"\n+\t\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\t\tfile = \"scripts/ai/retakes/modules/bt_hide_near_planted_bomb.kv3\"\n+\t\t\t\t\t\t\t\t\tname = \"HideNearPlantedBomb\"\n+\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t// Else: CTs push onto the site\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"condition_is_equal\"\n+\t\t\t\t\t\t\t\tsource = \"TeamName\"\n+\t\t\t\t\t\t\t\tdestination = \"'CT'\"\n+\t\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\t\tfile = \"scripts/ai/retakes/modules/bt_hold_near_planted_bomb.kv3\"\n+\t\t\t\t\t\t\t\t\tname = \"HoldNearPlantedBomb\"\n+\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t// Else: investigate the closest memorized event\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\tfile = \"scripts/ai/modules/bt_investigate_closest_memorized_event.kv3\"\n+\t\t\t\t\t\t\t\tname = \"InvestigateClosestMemorizedEvent\"\n+\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t// Else: hunt. Only reached with no bomb, like warmup.\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"sequencer\"\n+\t\t\t\t\t\t\t\tchildren =\n+\t\t\t\t\t\t\t\t[\n+\t\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\t\ttype = \"decorator_random_approach_point\"\n+\t\t\t\t\t\t\t\t\t\toutput = \"TargetHuntArea\"\n+\t\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\t\ttype = \"action_move_to\"\n+\t\t\t\t\t\t\t\t\t\tdestination = \"TargetHuntArea\"\n+\t\t\t\t\t\t\t\t\t\tmovement_type = \"BT_ACTION_MOVETO_RUN\"\n+\t\t\t\t\t\t\t\t\t\troute_type = \"BT_ACTION_MOVETO_FASTEST_ROUTE\"\n+\t\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t\t]\n+\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t]\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t]\n+\t\t}\n+\t}\n+}"
},
{
"filename": "game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_defuse_planted_bomb.kv3",
"status": "added",
"additions": 53,
"deletions": 0,
"changes": 53,
"patch": "@@ -0,0 +1,53 @@\n+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->\n+// Run to the planted bomb anywhere on the map and hold use on it. One bot at a time.\n+{\n+\ttype = \"decorator_sensor\"\n+\tentity_type_filter = \"CLASSNAME\"\n+\tclass_name = \"planted_c4\"\n+\toutput = \"PlantedBomb\"\n+\tpriority = 1\n+\tchild =\n+\t{\n+\t\ttype = \"condition_is_empty\"\n+\t\tinput = \"PlantedBomb\"\n+\t\tnegated = 1\n+\t\tchild =\n+\t\t{\n+\t\t\ttype = \"decorator_try_lock\"\n+\t\t\tdomain = \"'DefusePlantedBomb'\"\n+\t\t\tchild =\n+\t\t\t{\n+\t\t\t\ttype = \"sequencer\"\n+\t\t\t\tchildren =\n+\t\t\t\t[\n+\t\t\t\t\t{\n+\t\t\t\t\t\ttype = \"action_move_to\"\n+\t\t\t\t\t\tdestination = \"PlantedBomb\"\n+\t\t\t\t\t\tmovement_type = \"BT_ACTION_MOVETO_RUN\"\n+\t\t\t\t\t\troute_type = \"BT_ACTION_MOVETO_FASTEST_ROUTE\"\n+\t\t\t\t\t\tthreat = \"NearestThreatMemory\"\n+\t\t\t\t\t\tnearest_area_distance_threshold = 20\n+\t\t\t\t\t\tarrival_epsilon = 35\n+\t\t\t\t\t},\n+\t\t\t\t\t{\n+\t\t\t\t\t\ttype = \"action_look_at\"\n+\t\t\t\t\t\tinput_location = \"PlantedBomb\"\n+\t\t\t\t\t},\n+\t\t\t\t\t{\n+\t\t\t\t\t\ttype = \"action_wait\"\n+\t\t\t\t\t\twait_time_min = 0.25\n+\t\t\t\t\t\twait_time_max = 0.25\n+\t\t\t\t\t},\n+\t\t\t\t\t// keep pressing use so the defuse doesn't cancel\n+\t\t\t\t\t{\n+\t\t\t\t\t\ttype = \"decorator_repeat\"\n+\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t{\n+\t\t\t\t\t\t\ttype = \"action_use\"\n+\t\t\t\t\t\t}\n+\t\t\t\t\t}\n+\t\t\t\t]\n+\t\t\t}\n+\t\t}\n+\t}\n+}"
},
{
"filename": "game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_hide_near_planted_bomb.kv3",
"status": "added",
"additions": 124,
"deletions": 0,
"changes": 124,
"patch": "@@ -0,0 +1,124 @@\n+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->\n+// Move to a random spot near the planted bomb, then take the nearest free hiding spot and watch where enemies could come from.\n+{\n+\ttype = \"decorator_sensor\"\n+\tentity_type_filter = \"CLASSNAME\"\n+\tclass_name = \"planted_c4\"\n+\toutput = \"PlantedBomb\"\n+\tpriority = 1\n+\tchild =\n+\t{\n+\t\ttype = \"condition_is_empty\"\n+\t\tinput = \"PlantedBomb\"\n+\t\tnegated = 1\n+\t\tchild =\n+\t\t{\n+\t\t\ttype = \"sequencer\"\n+\t\t\tchildren =\n+\t\t\t[\n+\t\t\t\t{\n+\t\t\t\t\ttype = \"action_choose_random_waypoint_within_radius\"\n+\t\t\t\t\torigin = \"PlantedBomb\"\n+\t\t\t\t\tradius = 500\n+\t\t\t\t\toutput = \"BombHoldSpot\"\n+\t\t\t\t},\n+\t\t\t\t{\n+\t\t\t\t\ttype = \"action_move_to\"\n+\t\t\t\t\tdestination = \"BombHoldSpot\"\n+\t\t\t\t\tmovement_type = \"BT_ACTION_MOVETO_RUN\"\n+\t\t\t\t\troute_type = \"BT_ACTION_MOVETO_FASTEST_ROUTE\"\n+\t\t\t\t\tthreat = \"NearestThreatMemory\"\n+\t\t\t\t},\n+\t\t\t\t{\n+\t\t\t\t\ttype = \"selector\"\n+\t\t\t\t\tchildren =\n+\t\t\t\t\t[\n+\t\t\t\t\t\t// take cover at the closest hiding spot nobody is in\n+\t\t\t\t\t\t{\n+\t\t\t\t\t\t\ttype = \"sequencer\"\n+\t\t\t\t\t\t\tchildren =\n+\t\t\t\t\t\t\t[\n+\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\ttype = \"action_hide\"\n+\t\t\t\t\t\t\t\t\tmax_range = 400\n+\t\t\t\t\t\t\t\t\toutput = \"BombHidingSpot\"\n+\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\ttype = \"action_move_to\"\n+\t\t\t\t\t\t\t\t\tdestination = \"BombHidingSpot\"\n+\t\t\t\t\t\t\t\t\tmovement_type = \"BT_ACTION_MOVETO_RUN\"\n+\t\t\t\t\t\t\t\t\troute_type = \"BT_ACTION_MOVETO_FASTEST_ROUTE\"\n+\t\t\t\t\t\t\t\t\tthreat = \"NearestThreatMemory\"\n+\t\t\t\t\t\t\t\t\tarrival_epsilon = 20\n+\t\t\t\t\t\t\t\t},\n+\t\t\t\t\t\t\t\t// only stay if no teammate got here first\n+\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\ttype = \"decorator_sensor\"\n+\t\t\t\t\t\t\t\t\tentity_type_filter = \"PLAYERS\"\n+\t\t\t\t\t\t\t\t\tteam_filter = \"SAME\"\n+\t\t\t\t\t\t\t\t\tshape =\n+\t\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\t\ttype = \"sensor_shape_sphere\"\n+\t\t\t\t\t\t\t\t\t\tradius = 80\n+\t\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t\t\toutput = \"TeammatesAtSpot\"\n+\t\t\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\t\ttype = \"condition_is_empty\"\n+\t\t\t\t\t\t\t\t\t\tinput = \"TeammatesAtSpot\"\n+\t\t\t\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\t\t\ttype = \"decorator_repeat\"\n+\t\t\t\t\t\t\t\t\t\t\tamount = 4\n+\t\t\t\t\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\t\t\t\t\tfile = \"scripts/ai/retakes/modules/bt_watch_approach_points.kv3\"\n+\t\t\t\t\t\t\t\t\t\t\t\tname = \"WatchApproachPoints\"\n+\t\t\t\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t]\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t// Else: a teammate already has this spot, leave so we pick another one\n+\t\t\t\t\t\t{\n+\t\t\t\t\t\t\ttype = \"decorator_sensor\"\n+\t\t\t\t\t\t\tentity_type_filter = \"PLAYERS\"\n+\t\t\t\t\t\t\tteam_filter = \"SAME\"\n+\t\t\t\t\t\t\tshape =\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"sensor_shape_sphere\"\n+\t\t\t\t\t\t\t\tradius = 80\n+\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\toutput = \"TeammatesAtSpot\"\n+\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"condition_is_empty\"\n+\t\t\t\t\t\t\t\tinput = \"TeammatesAtSpot\"\n+\t\t\t\t\t\t\t\tnegated = 1\n+\t\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\t\ttype = \"action_wait\"\n+\t\t\t\t\t\t\t\t\twait_time_min = 0.1\n+\t\t\t\t\t\t\t\t\twait_time_max = 0.1\n+\t\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t// Else: no hiding spot nearby, watch from here for a bit\n+\t\t\t\t\t\t{\n+\t\t\t\t\t\t\ttype = \"decorator_repeat\"\n+\t\t\t\t\t\t\tamount = 2\n+\t\t\t\t\t\t\tchild =\n+\t\t\t\t\t\t\t{\n+\t\t\t\t\t\t\t\ttype = \"subtree\"\n+\t\t\t\t\t\t\t\tfile = \"scripts/ai/retakes/modules/bt_watch_approach_points.kv3\"\n+\t\t\t\t\t\t\t\tname = \"WatchApproachPoints\"\n+\t\t\t\t\t\t\t}\n+\t\t\t\t\t\t}\n+\t\t\t\t\t]\n+\t\t\t\t}\n+\t\t\t]\n+\t\t}\n+\t}\n+}"
},
{
"filename": "game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_hold_near_planted_bomb.kv3",
"status": "added",
"additions": 40,
"deletions": 0,
"changes": 40,
"patch": "@@ -0,0 +1,40 @@\n+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->\n+// Move to a random spot near the planted bomb and hold it for a few seconds, then pick a new spot.\n+{\n+\ttype = \"decorator_sensor\"\n+\tentity_type_filter = \"CLASSNAME\"\n+\tclass_name = \"planted_c4\"\n+\toutput = \"PlantedBomb\"\n+\tpriority = 1\n+\tchild =\n+\t{\n+\t\ttype = \"condition_is_empty\"\n+\t\tinput = \"PlantedBomb\"\n+\t\tnegated = 1\n+\t\tchild =\n+\t\t{\n+\t\t\ttype = \"sequencer\"\n+\t\t\tchildren =\n+\t\t\t[\n+\t\t\t\t{\n+\t\t\t\t\ttype = \"action_choose_random_waypoint_within_radius\"\n+\t\t\t\t\torigin = \"PlantedBomb\"\n+\t\t\t\t\tradius = 500\n+\t\t\t\t\toutput = \"BombHoldSpot\"\n+\t\t\t\t},\n+\t\t\t\t{\n+\t\t\t\t\ttype = \"action_move_to\"\n+\t\t\t\t\tdestination = \"BombHoldSpot\"\n+\t\t\t\t\tmovement_type = \"BT_ACTION_MOVETO_RUN\"\n+\t\t\t\t\troute_type = \"BT_ACTION_MOVETO_FASTEST_ROUTE\"\n+\t\t\t\t\tthreat = \"NearestThreatMemory\"\n+\t\t\t\t},\n+\t\t\t\t{\n+\t\t\t\t\ttype = \"action_wait\"\n+\t\t\t\t\twait_time_min = 3\n+\t\t\t\t\twait_time_max = 6\n+\t\t\t\t}\n+\t\t\t]\n+\t\t}\n+\t}\n+}"
},
{
"filename": "game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_watch_approach_points.kv3",
"status": "added",
"additions": 21,
"deletions": 0,
"changes": 21,
"patch": "@@ -0,0 +1,21 @@\n+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->\n+// Face a spot enemies could come from and watch it for a few seconds.\n+{\n+\ttype = \"sequencer\"\n+\tchildren =\n+\t[\n+\t\t{\n+\t\t\ttype = \"decorator_random_approach_point\"\n+\t\t\toutput = \"WatchPoint\"\n+\t\t},\n+\t\t{\n+\t\t\ttype = \"action_look_at\"\n+\t\t\tinput_location = \"WatchPoint\"\n+\t\t},\n+\t\t{\n+\t\t\ttype = \"action_wait\"\n+\t\t\twait_time_min = 2\n+\t\t\twait_time_max = 4\n+\t\t}\n+\t]\n+}"
},
{
"filename": "game/csgo/readonly_tools_asset_info.txt",
"status": "modified",
"additions": 4,
"deletions": 1,
"changes": 5,
"patch": "@@ -106658,7 +106658,6 @@ materials/de_inferno/ground/inferno_stone_floor_08_ao_tga_961ee77e.vtex\n materials/de_inferno/ground/inferno_stone_floor_08_color_tga_199a7503.vtex\n materials/trim/concrete_trim_02_ao_tga_68704a36.vtex\n materials/trim/concrete_trim_02_color_tga_971de7c0.vtex\n-weapons/models/c4/materials/c4_digits_psd_52746c2d.vtex\n weapons/models/c4/materials/weapon_c4_digits_vmat_g_tmetalness_5818ca09.vtex\n weapons/models/shared/shells/shotgun/mag7_bullet_color_psd_29ec1a9d.vtex\n maps/ar_shoots_night.vmap\n@@ -134924,3 +134923,7 @@ panorama/layout/hud/hudmutators.vxml\n panorama/styles/hud/hudmutators.vcss\n sounds/graphs/bighead_pitch.vsnd\n panorama/images/econ/keychains/bud2025/kc_bud2025_png.vtex\n+materials/dev/frost.vtex\n+weapons/models/c4/materials/c4_digits_mask_psd_3de339d1.vtex\n+weapons/models/c4/materials/c4_digits_psd_f79d8a5b.vtex\n+weapons/models/c4/materials/weapon_c4_digits_vmat_g_tcolor_6dc78c9e.vtex"
},
{
"filename": "game/csgo/shaders_pc_dir.txt",
"status": "modified",
"additions": 199,
"deletions": 199,
"changes": 398,
"patch": "@@ -1,10 +1,10 @@\n shaders/vfx/bilateral_upsample.ini CRC:0000000000 size:0\n-shaders/vfx/bilateral_upsample_pc_50_features.vcs CRC:0034e7463f size:1746\n-shaders/vfx/bilateral_upsample_pc_50_ps.vcs CRC:00e1ae0d6b size:2684\n+shaders/vfx/bilateral_upsample_pc_50_features.vcs CRC:006c4f6911 size:1762\n+shaders/vfx/bilateral_upsample_pc_50_ps.vcs CRC:00042818cd size:2684\n shaders/vfx/bilateral_upsample_pc_50_vs.vcs CRC:00f096d35d size:2526\n shaders/vfx/bloom_cs.ini CRC:0000000000 size:0\n-shaders/vfx/bloom_cs_pc_50_cs.vcs CRC:003c640dc0 size:9081\n-shaders/vfx/bloom_cs_pc_50_features.vcs CRC:008fd509b8 size:2018\n+shaders/vfx/bloom_cs_pc_50_cs.vcs CRC:00db01272e size:9081\n+shaders/vfx/bloom_cs_pc_50_features.vcs CRC:0074832d4b size:2018\n shaders/vfx/blur.ini CRC:0000000000 size:0\n shaders/vfx/blur_pc_50_features.vcs CRC:001ea646d8 size:2098\n shaders/vfx/blur_pc_50_ps.vcs CRC:0080a05570 size:14418\n@@ -18,10 +18,10 @@ shaders/vfx/bomb_blast_pc_50_features.vcs CRC:007c0852a7 size:1682\n shaders/vfx/bomb_blast_pc_50_ps.vcs CRC:001870c92e size:2718\n shaders/vfx/bomb_blast_pc_50_vs.vcs CRC:00d87cc785 size:2253\n shaders/vfx/cables.ini CRC:0000000000 size:0\n-shaders/vfx/cables_pc_50_features.vcs CRC:001ff5763c size:4690\n-shaders/vfx/cables_pc_50_ps.vcs CRC:0038710ee4 size:256518\n-shaders/vfx/cables_pc_50_psrs.vcs CRC:00ebbb81fb size:3266\n-shaders/vfx/cables_pc_50_vs.vcs CRC:0076b3ef42 size:22671\n+shaders/vfx/cables_pc_50_features.vcs CRC:00006c1e1c size:4690\n+shaders/vfx/cables_pc_50_ps.vcs CRC:000e95ec88 size:256463\n+shaders/vfx/cables_pc_50_psrs.vcs CRC:00b935a061 size:3282\n+shaders/vfx/cables_pc_50_vs.vcs CRC:00f307b471 size:22671\n shaders/vfx/cs_color_picker.ini CRC:0000000000 size:0\n shaders/vfx/cs_color_picker_pc_50_features.vcs CRC:00b8399ca8 size:1394\n shaders/vfx/cs_color_picker_pc_50_ps.vcs CRC:00532d7d2a size:1843\n@@ -31,25 +31,25 @@ shaders/vfx/csgo_alpha_immunity_pc_50_features.vcs CRC:0028b20085 size:1698\n shaders/vfx/csgo_alpha_immunity_pc_50_ps.vcs CRC:00b932a9b1 size:1937\n shaders/vfx/csgo_alpha_immunity_pc_50_vs.vcs CRC:009d972d06 size:1935\n shaders/vfx/csgo_beachfoam.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_beachfoam_pc_50_features.vcs CRC:00a69a0c5d size:3282\n-shaders/vfx/csgo_beachfoam_pc_50_ps.vcs CRC:00bd3c0ca7 size:4373\n-shaders/vfx/csgo_beachfoam_pc_50_psrs.vcs CRC:00a641f69c size:1826\n-shaders/vfx/csgo_beachfoam_pc_50_vs.vcs CRC:001bdb8e1b size:10066\n+shaders/vfx/csgo_beachfoam_pc_50_features.vcs CRC:00d55e96ba size:3298\n+shaders/vfx/csgo_beachfoam_pc_50_ps.vcs CRC:00e9d92dda size:4373\n+shaders/vfx/csgo_beachfoam_pc_50_psrs.vcs CRC:0024b3b21e size:1826\n+shaders/vfx/csgo_beachfoam_pc_50_vs.vcs CRC:00f256386b size:10066\n shaders/vfx/csgo_black_unlit.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_black_unlit_pc_50_features.vcs CRC:006b997500 size:2658\n-shaders/vfx/csgo_black_unlit_pc_50_ps.vcs CRC:00db0acfad size:3782\n-shaders/vfx/csgo_black_unlit_pc_50_psrs.vcs CRC:000a9a08e4 size:1794\n-shaders/vfx/csgo_black_unlit_pc_50_vs.vcs CRC:00b4f45add size:5438\n+shaders/vfx/csgo_black_unlit_pc_50_features.vcs CRC:00e6ea9e1c size:2658\n+shaders/vfx/csgo_black_unlit_pc_50_ps.vcs CRC:00d062960d size:3782\n+shaders/vfx/csgo_black_unlit_pc_50_psrs.vcs CRC:005a2ae455 size:1794\n+shaders/vfx/csgo_black_unlit_pc_50_vs.vcs CRC:004a5323fa size:5454\n shaders/vfx/csgo_character.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_character_pc_50_features.vcs CRC:00f06dd1c3 size:8978\n-shaders/vfx/csgo_character_pc_50_ps.vcs CRC:000bbac0ac size:189827159\n-shaders/vfx/csgo_character_pc_50_psrs.vcs CRC:00b02597dd size:3474\n-shaders/vfx/csgo_character_pc_50_vs.vcs CRC:0055266743 size:1087605\n+shaders/vfx/csgo_character_pc_50_features.vcs CRC:008eefeaa7 size:9010\n+shaders/vfx/csgo_character_pc_50_ps.vcs CRC:005a31661e size:207470863\n+shaders/vfx/csgo_character_pc_50_psrs.vcs CRC:00fc9939ed size:3474\n+shaders/vfx/csgo_character_pc_50_vs.vcs CRC:0006510e27 size:1122552\n shaders/vfx/csgo_complex.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_complex_pc_50_features.vcs CRC:002c54617b size:7442\n-shaders/vfx/csgo_complex_pc_50_ps.vcs CRC:00c7b99669 size:28492560\n+shaders/vfx/csgo_complex_pc_50_features.vcs CRC:002361cfa7 size:7458\n+shaders/vfx/csgo_complex_pc_50_ps.vcs CRC:00788902eb size:28676540\n shaders/vfx/csgo_complex_pc_50_psrs.vcs CRC:0052229d16 size:3186\n-shaders/vfx/csgo_complex_pc_50_vs.vcs CRC:0077bd33e4 size:253601\n+shaders/vfx/csgo_complex_pc_50_vs.vcs CRC:002bdb8f50 size:253636\n shaders/vfx/csgo_composite_generic.ini CRC:0000000000 size:0\n shaders/vfx/csgo_composite_generic_pc_50_features.vcs CRC:0056569b3f size:1778\n shaders/vfx/csgo_composite_generic_pc_50_ps.vcs CRC:004276e0a8 size:2028\n@@ -71,103 +71,103 @@ shaders/vfx/csgo_crosshair_pc_50_features.vcs CRC:00f12acb43 size:1730\n shaders/vfx/csgo_crosshair_pc_50_ps.vcs CRC:00ec3b135b size:3493\n shaders/vfx/csgo_crosshair_pc_50_vs.vcs CRC:004ff0a9c9 size:1438\n shaders/vfx/csgo_customglove.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_customglove_pc_50_features.vcs CRC:0004c59a8b size:11538\n-shaders/vfx/csgo_customglove_pc_50_ps.vcs CRC:0067b422db size:38190\n+shaders/vfx/csgo_customglove_pc_50_features.vcs CRC:004931493e size:11538\n+shaders/vfx/csgo_customglove_pc_50_ps.vcs CRC:00d78330d8 size:38190\n shaders/vfx/csgo_customglove_pc_50_vs.vcs CRC:003c0a3fbf size:3732\n shaders/vfx/csgo_customglove_preview.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_customglove_preview_pc_50_features.vcs CRC:002c379f80 size:9714\n-shaders/vfx/csgo_customglove_preview_pc_50_ps.vcs CRC:00f807d88f size:66324\n-shaders/vfx/csgo_customglove_preview_pc_50_psrs.vcs CRC:009b036760 size:1874\n-shaders/vfx/csgo_customglove_preview_pc_50_vs.vcs CRC:009109a76d size:12642\n+shaders/vfx/csgo_customglove_preview_pc_50_features.vcs CRC:00cf860234 size:9714\n+shaders/vfx/csgo_customglove_preview_pc_50_ps.vcs CRC:005b883d0c size:66365\n+shaders/vfx/csgo_customglove_preview_pc_50_psrs.vcs CRC:0076bdde45 size:1874\n+shaders/vfx/csgo_customglove_preview_pc_50_vs.vcs CRC:007fe752e7 size:12656\n shaders/vfx/csgo_customweapon.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_customweapon_pc_50_features.vcs CRC:00f5faa539 size:6642\n-shaders/vfx/csgo_customweapon_pc_50_ps.vcs CRC:00bf16439b size:2369483\n+shaders/vfx/csgo_customweapon_pc_50_features.vcs CRC:00d0dbb0d1 size:6642\n+shaders/vfx/csgo_customweapon_pc_50_ps.vcs CRC:0066543773 size:2369483\n shaders/vfx/csgo_customweapon_pc_50_vs.vcs CRC:00aef77df3 size:3926\n shaders/vfx/csgo_decal_renderer.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_decal_renderer_pc_50_features.vcs CRC:00ad4c4fd7 size:1986\n-shaders/vfx/csgo_decal_renderer_pc_50_ps.vcs CRC:002caf0993 size:2311\n-shaders/vfx/csgo_decal_renderer_pc_50_vs.vcs CRC:00898d6700 size:4014\n+shaders/vfx/csgo_decal_renderer_pc_50_features.vcs CRC:00205d1ed4 size:1986\n+shaders/vfx/csgo_decal_renderer_pc_50_ps.vcs CRC:00c9bee2cb size:2311\n+shaders/vfx/csgo_decal_renderer_pc_50_vs.vcs CRC:009f750384 size:4014\n shaders/vfx/csgo_decalmodulate.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_decalmodulate_pc_50_features.vcs CRC:00512501a2 size:3426\n-shaders/vfx/csgo_decalmodulate_pc_50_ps.vcs CRC:00eafa1455 size:3743\n-shaders/vfx/csgo_decalmodulate_pc_50_psrs.vcs CRC:00c3bbd8e9 size:1890\n-shaders/vfx/csgo_decalmodulate_pc_50_vs.vcs CRC:00a96d1538 size:15536\n+shaders/vfx/csgo_decalmodulate_pc_50_features.vcs CRC:006f5f0fb8 size:3426\n+shaders/vfx/csgo_decalmodulate_pc_50_ps.vcs CRC:0031250161 size:3743\n+shaders/vfx/csgo_decalmodulate_pc_50_psrs.vcs CRC:007c80e187 size:1906\n+shaders/vfx/csgo_decalmodulate_pc_50_vs.vcs CRC:005bab6986 size:15536\n shaders/vfx/csgo_depth_only.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_depth_only_pc_50_features.vcs CRC:00dc9a4723 size:3218\n-shaders/vfx/csgo_depth_only_pc_50_ps.vcs CRC:00ae9f5104 size:4588\n-shaders/vfx/csgo_depth_only_pc_50_vs.vcs CRC:0026d0d00d size:9367\n+shaders/vfx/csgo_depth_only_pc_50_features.vcs CRC:00690fd609 size:3234\n+shaders/vfx/csgo_depth_only_pc_50_ps.vcs CRC:00da61265c size:4604\n+shaders/vfx/csgo_depth_only_pc_50_vs.vcs CRC:00ebcbccf1 size:9367\n shaders/vfx/csgo_dronecam.ini CRC:0000000000 size:0\n shaders/vfx/csgo_dronecam_pc_50_features.vcs CRC:00c669bb55 size:1778\n shaders/vfx/csgo_dronecam_pc_50_ps.vcs CRC:0064da1316 size:2617\n shaders/vfx/csgo_dronecam_pc_50_vs.vcs CRC:0080ed5afd size:1419\n shaders/vfx/csgo_effects.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_effects_pc_50_features.vcs CRC:0030264a33 size:4210\n-shaders/vfx/csgo_effects_pc_50_ps.vcs CRC:00fdbf6300 size:85300\n-shaders/vfx/csgo_effects_pc_50_psrs.vcs CRC:00e60f45eb size:2242\n-shaders/vfx/csgo_effects_pc_50_vs.vcs CRC:00a4824733 size:12391\n+shaders/vfx/csgo_effects_pc_50_features.vcs CRC:0013a5d2c7 size:4226\n+shaders/vfx/csgo_effects_pc_50_ps.vcs CRC:004f3dc82d size:85300\n+shaders/vfx/csgo_effects_pc_50_psrs.vcs CRC:00153d4526 size:2242\n+shaders/vfx/csgo_effects_pc_50_vs.vcs CRC:00ba26d49a size:12391\n shaders/vfx/csgo_environment.ini CRC:0000000000 size:0\n shaders/vfx/csgo_environment_blend.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_environment_blend_pc_50_features.vcs CRC:00628a172a size:10802\n-shaders/vfx/csgo_environment_blend_pc_50_ps.vcs CRC:00a1f5b123 size:16771460\n-shaders/vfx/csgo_environment_blend_pc_50_psrs.vcs CRC:009b0d6923 size:2498\n-shaders/vfx/csgo_environment_blend_pc_50_vs.vcs CRC:00a98781f0 size:262853\n-shaders/vfx/csgo_environment_pc_50_features.vcs CRC:004cc5e42a size:6402\n-shaders/vfx/csgo_environment_pc_50_ps.vcs CRC:00e08c6423 size:586762\n-shaders/vfx/csgo_environment_pc_50_psrs.vcs CRC:005fcd929b size:2450\n-shaders/vfx/csgo_environment_pc_50_vs.vcs CRC:0020d390c7 size:108674\n+shaders/vfx/csgo_environment_blend_pc_50_features.vcs CRC:00b4ff75e4 size:11298\n+shaders/vfx/csgo_environment_blend_pc_50_ps.vcs CRC:00f90093db size:76670919\n+shaders/vfx/csgo_environment_blend_pc_50_psrs.vcs CRC:001472f002 size:2722\n+shaders/vfx/csgo_environment_blend_pc_50_vs.vcs CRC:007d04cd5e size:468956\n+shaders/vfx/csgo_environment_pc_50_features.vcs CRC:00c59ec509 size:6834\n+shaders/vfx/csgo_environment_pc_50_ps.vcs CRC:005275f316 size:2487759\n+shaders/vfx/csgo_environment_pc_50_psrs.vcs CRC:004ac0f75e size:2594\n+shaders/vfx/csgo_environment_pc_50_vs.vcs CRC:009a2a7cfe size:192935\n shaders/vfx/csgo_eyeball.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_eyeball_pc_50_features.vcs CRC:000f2dfa98 size:3922\n-shaders/vfx/csgo_eyeball_pc_50_ps.vcs CRC:00df4e7bc8 size:67003\n-shaders/vfx/csgo_eyeball_pc_50_psrs.vcs CRC:00b0972c53 size:1650\n-shaders/vfx/csgo_eyeball_pc_50_vs.vcs CRC:00f96baefc size:16917\n+shaders/vfx/csgo_eyeball_pc_50_features.vcs CRC:0016b98da6 size:3922\n+shaders/vfx/csgo_eyeball_pc_50_ps.vcs CRC:00e11218f9 size:66492\n+shaders/vfx/csgo_eyeball_pc_50_psrs.vcs CRC:00072dbbdc size:1650\n+shaders/vfx/csgo_eyeball_pc_50_vs.vcs CRC:00326c6a8e size:16917\n shaders/vfx/csgo_flashbang_overlay.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_flashbang_overlay_pc_50_features.vcs CRC:00969e232f size:3506\n-shaders/vfx/csgo_flashbang_overlay_pc_50_ps.vcs CRC:00da6182a6 size:3441\n-shaders/vfx/csgo_flashbang_overlay_pc_50_psrs.vcs CRC:00c63abcc9 size:1810\n-shaders/vfx/csgo_flashbang_overlay_pc_50_vs.vcs CRC:006f2f92dd size:10955\n+shaders/vfx/csgo_flashbang_overlay_pc_50_features.vcs CRC:00629c8b47 size:3506\n+shaders/vfx/csgo_flashbang_overlay_pc_50_ps.vcs CRC:00eb33329b size:3457\n+shaders/vfx/csgo_flashbang_overlay_pc_50_psrs.vcs CRC:00cf9557be size:1810\n+shaders/vfx/csgo_flashbang_overlay_pc_50_vs.vcs CRC:00a9beece1 size:10955\n shaders/vfx/csgo_foliage.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_foliage_pc_50_features.vcs CRC:0024e6305a size:6546\n-shaders/vfx/csgo_foliage_pc_50_ps.vcs CRC:00bfdccfd6 size:1780494\n+shaders/vfx/csgo_foliage_pc_50_features.vcs CRC:00e75ed1a3 size:6562\n+shaders/vfx/csgo_foliage_pc_50_ps.vcs CRC:00298e50c4 size:1792798\n shaders/vfx/csgo_foliage_pc_50_psrs.vcs CRC:0031f2542c size:2338\n-shaders/vfx/csgo_foliage_pc_50_vs.vcs CRC:002c7e7ad5 size:181743\n+shaders/vfx/csgo_foliage_pc_50_vs.vcs CRC:00da5d427f size:181749\n shaders/vfx/csgo_glass.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_glass_pc_50_features.vcs CRC:00d2842b3d size:4402\n-shaders/vfx/csgo_glass_pc_50_ps.vcs CRC:003ea7ff8c size:331042\n+shaders/vfx/csgo_glass_pc_50_features.vcs CRC:00fbb549d6 size:4418\n+shaders/vfx/csgo_glass_pc_50_ps.vcs CRC:000f3b36cc size:331042\n shaders/vfx/csgo_glass_pc_50_psrs.vcs CRC:005ac685d9 size:2818\n-shaders/vfx/csgo_glass_pc_50_vs.vcs CRC:0025c5aa41 size:103464\n+shaders/vfx/csgo_glass_pc_50_vs.vcs CRC:00949969fc size:103526\n shaders/vfx/csgo_grenade_camera.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_grenade_camera_pc_50_features.vcs CRC:000c7874cb size:1890\n-shaders/vfx/csgo_grenade_camera_pc_50_ps.vcs CRC:00d4fdb943 size:2964\n+shaders/vfx/csgo_grenade_camera_pc_50_features.vcs CRC:006a5f3554 size:1890\n+shaders/vfx/csgo_grenade_camera_pc_50_ps.vcs CRC:00fe98941f size:2964\n shaders/vfx/csgo_grenade_camera_pc_50_vs.vcs CRC:0005d6a808 size:1408\n shaders/vfx/csgo_legs_prepass.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_legs_prepass_pc_50_features.vcs CRC:004e844ea8 size:3074\n-shaders/vfx/csgo_legs_prepass_pc_50_ps.vcs CRC:007aeda789 size:2033\n-shaders/vfx/csgo_legs_prepass_pc_50_vs.vcs CRC:00a04b38b1 size:14653\n+shaders/vfx/csgo_legs_prepass_pc_50_features.vcs CRC:00bc7d148c size:3074\n+shaders/vfx/csgo_legs_prepass_pc_50_ps.vcs CRC:007fdbbe6a size:2033\n+shaders/vfx/csgo_legs_prepass_pc_50_vs.vcs CRC:0081c22f2e size:14666\n shaders/vfx/csgo_lightmapped_4wayblend.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_lightmapped_4wayblend_pc_50_features.vcs CRC:006c1c09f3 size:4594\n-shaders/vfx/csgo_lightmapped_4wayblend_pc_50_ps.vcs CRC:007ea53fa7 size:388193\n-shaders/vfx/csgo_lightmapped_4wayblend_pc_50_psrs.vcs CRC:003c1c6177 size:2050\n-shaders/vfx/csgo_lightmapped_4wayblend_pc_50_vs.vcs CRC:00a217c744 size:46838\n+shaders/vfx/csgo_lightmapped_4wayblend_pc_50_features.vcs CRC:006c523e22 size:4594\n+shaders/vfx/csgo_lightmapped_4wayblend_pc_50_ps.vcs CRC:000552caf2 size:389420\n+shaders/vfx/csgo_lightmapped_4wayblend_pc_50_psrs.vcs CRC:00fe2f5b08 size:2050\n+shaders/vfx/csgo_lightmapped_4wayblend_pc_50_vs.vcs CRC:001d0e662e size:46836\n shaders/vfx/csgo_lightmappedgeneric.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_lightmappedgeneric_pc_50_features.vcs CRC:00ab338200 size:7010\n-shaders/vfx/csgo_lightmappedgeneric_pc_50_ps.vcs CRC:00d42aecf8 size:11580019\n-shaders/vfx/csgo_lightmappedgeneric_pc_50_psrs.vcs CRC:00d26d1ffd size:3986\n-shaders/vfx/csgo_lightmappedgeneric_pc_50_vs.vcs CRC:00766cc456 size:464239\n+shaders/vfx/csgo_lightmappedgeneric_pc_50_features.vcs CRC:007da3545b size:7042\n+shaders/vfx/csgo_lightmappedgeneric_pc_50_ps.vcs CRC:008c2aea61 size:11648526\n+shaders/vfx/csgo_lightmappedgeneric_pc_50_psrs.vcs CRC:0054e765df size:4002\n+shaders/vfx/csgo_lightmappedgeneric_pc_50_vs.vcs CRC:00f77e68b5 size:648944\n shaders/vfx/csgo_moondome.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_moondome_pc_50_features.vcs CRC:004b2fc1ab size:3634\n-shaders/vfx/csgo_moondome_pc_50_ps.vcs CRC:00ca9ad03d size:4945\n-shaders/vfx/csgo_moondome_pc_50_psrs.vcs CRC:009f55912f size:1762\n-shaders/vfx/csgo_moondome_pc_50_vs.vcs CRC:001bdb8e1b size:10066\n+shaders/vfx/csgo_moondome_pc_50_features.vcs CRC:0020f98436 size:3650\n+shaders/vfx/csgo_moondome_pc_50_ps.vcs CRC:007dda1bc9 size:4945\n+shaders/vfx/csgo_moondome_pc_50_psrs.vcs CRC:00e49eec17 size:1762\n+shaders/vfx/csgo_moondome_pc_50_vs.vcs CRC:00f256386b size:10066\n shaders/vfx/csgo_panolayer_rt.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_panolayer_rt_pc_50_features.vcs CRC:00a63eaa01 size:1858\n-shaders/vfx/csgo_panolayer_rt_pc_50_ps.vcs CRC:00cea846d3 size:2459\n-shaders/vfx/csgo_panolayer_rt_pc_50_psrs.vcs CRC:00bcb37f20 size:1586\n-shaders/vfx/csgo_panolayer_rt_pc_50_vs.vcs CRC:004f3c6ce2 size:1419\n+shaders/vfx/csgo_panolayer_rt_pc_50_features.vcs CRC:00c1759f92 size:1858\n+shaders/vfx/csgo_panolayer_rt_pc_50_ps.vcs CRC:00a8cd3e0c size:2475\n+shaders/vfx/csgo_panolayer_rt_pc_50_psrs.vcs CRC:0029a0cc5e size:1586\n+shaders/vfx/csgo_panolayer_rt_pc_50_vs.vcs CRC:00bce22fb9 size:1419\n shaders/vfx/csgo_projected_decals.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_projected_decals_pc_50_features.vcs CRC:0000663690 size:5362\n-shaders/vfx/csgo_projected_decals_pc_50_ps.vcs CRC:001cd181b2 size:38518294\n-shaders/vfx/csgo_projected_decals_pc_50_psrs.vcs CRC:002ab260b2 size:2786\n-shaders/vfx/csgo_projected_decals_pc_50_vs.vcs CRC:005e3ce8d5 size:9438\n+shaders/vfx/csgo_projected_decals_pc_50_features.vcs CRC:00d8e93893 size:5362\n+shaders/vfx/csgo_projected_decals_pc_50_ps.vcs CRC:00ca835ab8 size:38861312\n+shaders/vfx/csgo_projected_decals_pc_50_psrs.vcs CRC:00ad2bd92b size:2786\n+shaders/vfx/csgo_projected_decals_pc_50_vs.vcs CRC:001a6ee55c size:9438\n shaders/vfx/csgo_refract.ini CRC:0000000000 size:0\n shaders/vfx/csgo_refract_pc_50_features.vcs CRC:00743561c0 size:2530\n shaders/vfx/csgo_refract_pc_50_ps.vcs CRC:00eee6c25d size:9649\n@@ -178,34 +178,34 @@ shaders/vfx/csgo_screenspace_zone_pc_50_ps.vcs CRC:0042a3d8e9 size:3579\n shaders/vfx/csgo_screenspace_zone_pc_50_vs.vcs CRC:0080ed5afd size:1419\n shaders/vfx/csgo_simple.ini CRC:0000000000 size:0\n shaders/vfx/csgo_simple_2way_blend.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_simple_2way_blend_pc_50_features.vcs CRC:0057a7c390 size:4754\n-shaders/vfx/csgo_simple_2way_blend_pc_50_ps.vcs CRC:0099bfdb09 size:213121\n+shaders/vfx/csgo_simple_2way_blend_pc_50_features.vcs CRC:00ca6d9747 size:4770\n+shaders/vfx/csgo_simple_2way_blend_pc_50_ps.vcs CRC:006e297b57 size:214804\n shaders/vfx/csgo_simple_2way_blend_pc_50_psrs.vcs CRC:0090fd3cc3 size:1826\n-shaders/vfx/csgo_simple_2way_blend_pc_50_vs.vcs CRC:0019225be2 size:27921\n+shaders/vfx/csgo_simple_2way_blend_pc_50_vs.vcs CRC:00325aecc7 size:27921\n shaders/vfx/csgo_simple_3layer_parallax.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_simple_3layer_parallax_pc_50_features.vcs CRC:00d9b4c117 size:4946\n-shaders/vfx/csgo_simple_3layer_parallax_pc_50_ps.vcs CRC:00afc01a69 size:3090430\n+shaders/vfx/csgo_simple_3layer_parallax_pc_50_features.vcs CRC:004f50c607 size:4962\n+shaders/vfx/csgo_simple_3layer_parallax_pc_50_ps.vcs CRC:00812de13f size:3100480\n shaders/vfx/csgo_simple_3layer_parallax_pc_50_psrs.vcs CRC:0051d20c11 size:1890\n-shaders/vfx/csgo_simple_3layer_parallax_pc_50_vs.vcs CRC:008fdae558 size:25434\n+shaders/vfx/csgo_simple_3layer_parallax_pc_50_vs.vcs CRC:00b270a088 size:25436\n shaders/vfx/csgo_simple_liquid.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_simple_liquid_pc_50_features.vcs CRC:00eba0f1b9 size:5810\n-shaders/vfx/csgo_simple_liquid_pc_50_ps.vcs CRC:00a17d45fa size:1003783\n-shaders/vfx/csgo_simple_liquid_pc_50_psrs.vcs CRC:009897a715 size:1826\n-shaders/vfx/csgo_simple_liquid_pc_50_vs.vcs CRC:00e8bef575 size:41959\n-shaders/vfx/csgo_simple_pc_50_features.vcs CRC:00fb3b70e4 size:4754\n-shaders/vfx/csgo_simple_pc_50_ps.vcs CRC:00bce484ff size:314662\n+shaders/vfx/csgo_simple_liquid_pc_50_features.vcs CRC:005ba47738 size:5874\n+shaders/vfx/csgo_simple_liquid_pc_50_ps.vcs CRC:00b2e7db99 size:1119447\n+shaders/vfx/csgo_simple_liquid_pc_50_psrs.vcs CRC:007031f32d size:1842\n+shaders/vfx/csgo_simple_liquid_pc_50_vs.vcs CRC:0081f2cd4d size:43667\n+shaders/vfx/csgo_simple_pc_50_features.vcs CRC:0026fefa0a size:4754\n+shaders/vfx/csgo_simple_pc_50_ps.vcs CRC:00be0541d6 size:316365\n shaders/vfx/csgo_simple_pc_50_psrs.vcs CRC:001a21352e size:2082\n-shaders/vfx/csgo_simple_pc_50_vs.vcs CRC:00d3cec24c size:27531\n+shaders/vfx/csgo_simple_pc_50_vs.vcs CRC:002b6e0499 size:27542\n shaders/vfx/csgo_static_overlay.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_static_overlay_pc_50_features.vcs CRC:00ef4dc224 size:7666\n-shaders/vfx/csgo_static_overlay_pc_50_ps.vcs CRC:00d49c87a1 size:550765\n-shaders/vfx/csgo_static_overlay_pc_50_psrs.vcs CRC:0044b08142 size:2610\n-shaders/vfx/csgo_static_overlay_pc_50_vs.vcs CRC:00a5a24102 size:164188\n+shaders/vfx/csgo_static_overlay_pc_50_features.vcs CRC:009e159750 size:7698\n+shaders/vfx/csgo_static_overlay_pc_50_ps.vcs CRC:00bfe17d30 size:566088\n+shaders/vfx/csgo_static_overlay_pc_50_psrs.vcs CRC:000e222ab4 size:2610\n+shaders/vfx/csgo_static_overlay_pc_50_vs.vcs CRC:0049c8b951 size:174537\n shaders/vfx/csgo_textile_layer.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_textile_layer_pc_50_features.vcs CRC:001e279830 size:7170\n-shaders/vfx/csgo_textile_layer_pc_50_ps.vcs CRC:006ca73be9 size:63755\n-shaders/vfx/csgo_textile_layer_pc_50_psrs.vcs CRC:00ace63e8c size:1858\n-shaders/vfx/csgo_textile_layer_pc_50_vs.vcs CRC:00349ea552 size:11757\n+shaders/vfx/csgo_textile_layer_pc_50_features.vcs CRC:0097e0b483 size:7170\n+shaders/vfx/csgo_textile_layer_pc_50_ps.vcs CRC:00db4e4125 size:63816\n+shaders/vfx/csgo_textile_layer_pc_50_psrs.vcs CRC:00ff9799e7 size:1858\n+shaders/vfx/csgo_textile_layer_pc_50_vs.vcs CRC:00f643c4db size:11790\n shaders/vfx/csgo_tools_shading_complexity.ini CRC:0000000000 size:0\n shaders/vfx/csgo_tools_shading_complexity_pc_50_features.vcs CRC:00d8a30b64 size:2114\n shaders/vfx/csgo_tools_shading_complexity_pc_50_ps.vcs CRC:00eecda73b size:2577\n@@ -219,39 +219,39 @@ shaders/vfx/csgo_ui_texture_attribute_pc_50_features.vcs CRC:003dc34fc4 size:161\n shaders/vfx/csgo_ui_texture_attribute_pc_50_ps.vcs CRC:00431b2656 size:1848\n shaders/vfx/csgo_ui_texture_attribute_pc_50_vs.vcs CRC:003c1853ee size:1867\n shaders/vfx/csgo_unlitgeneric.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_unlitgeneric_pc_50_features.vcs CRC:00f0929503 size:4770\n-shaders/vfx/csgo_unlitgeneric_pc_50_ps.vcs CRC:00e7bf9e46 size:76959\n-shaders/vfx/csgo_unlitgeneric_pc_50_psrs.vcs CRC:0073277f05 size:3314\n-shaders/vfx/csgo_unlitgeneric_pc_50_vs.vcs CRC:00318acf7e size:103921\n+shaders/vfx/csgo_unlitgeneric_pc_50_features.vcs CRC:00bd0c721d size:4770\n+shaders/vfx/csgo_unlitgeneric_pc_50_ps.vcs CRC:00b017f336 size:76959\n+shaders/vfx/csgo_unlitgeneric_pc_50_psrs.vcs CRC:00b75836fd size:3314\n+shaders/vfx/csgo_unlitgeneric_pc_50_vs.vcs CRC:00fc810b1f size:103921\n shaders/vfx/csgo_vertexlitgeneric.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_vertexlitgeneric_pc_50_features.vcs CRC:004e1f5a12 size:6658\n-shaders/vfx/csgo_vertexlitgeneric_pc_50_ps.vcs CRC:0066457772 size:12667234\n+shaders/vfx/csgo_vertexlitgeneric_pc_50_features.vcs CRC:00544d2abe size:6642\n+shaders/vfx/csgo_vertexlitgeneric_pc_50_ps.vcs CRC:003304b993 size:12755930\n shaders/vfx/csgo_vertexlitgeneric_pc_50_psrs.vcs CRC:00db85377a size:3106\n-shaders/vfx/csgo_vertexlitgeneric_pc_50_vs.vcs CRC:008bc35408 size:126928\n+shaders/vfx/csgo_vertexlitgeneric_pc_50_vs.vcs CRC:00b12fdf01 size:126943\n shaders/vfx/csgo_volume_viewer.ini CRC:0000000000 size:0\n shaders/vfx/csgo_volume_viewer_pc_50_features.vcs CRC:00bdb2e588 size:1794\n shaders/vfx/csgo_volume_viewer_pc_50_ps.vcs CRC:00600c6a33 size:2179\n shaders/vfx/csgo_volume_viewer_pc_50_vs.vcs CRC:0029500299 size:2659\n shaders/vfx/csgo_water.ini CRC:0000000000 size:0\n shaders/vfx/csgo_water_fancy.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_water_fancy_pc_50_features.vcs CRC:00c2275326 size:6162\n-shaders/vfx/csgo_water_fancy_pc_50_ps.vcs CRC:001bbe3d34 size:3503468\n-shaders/vfx/csgo_water_fancy_pc_50_psrs.vcs CRC:00e4b067b7 size:2018\n-shaders/vfx/csgo_water_fancy_pc_50_vs.vcs CRC:00ca1229b6 size:19579\n-shaders/vfx/csgo_water_pc_50_features.vcs CRC:000cad1c3a size:5138\n-shaders/vfx/csgo_water_pc_50_ps.vcs CRC:0001291e1b size:2221212\n-shaders/vfx/csgo_water_pc_50_psrs.vcs CRC:0087a55d56 size:1954\n-shaders/vfx/csgo_water_pc_50_vs.vcs CRC:0093c11494 size:20601\n+shaders/vfx/csgo_water_fancy_pc_50_features.vcs CRC:00262edc14 size:6162\n+shaders/vfx/csgo_water_fancy_pc_50_ps.vcs CRC:00d8ff36ee size:3578730\n+shaders/vfx/csgo_water_fancy_pc_50_psrs.vcs CRC:0004f79ddd size:2034\n+shaders/vfx/csgo_water_fancy_pc_50_vs.vcs CRC:003f8c14d3 size:19595\n+shaders/vfx/csgo_water_pc_50_features.vcs CRC:004373abbd size:5138\n+shaders/vfx/csgo_water_pc_50_ps.vcs CRC:0073b9f700 size:2220610\n+shaders/vfx/csgo_water_pc_50_psrs.vcs CRC:00c6817183 size:1954\n+shaders/vfx/csgo_water_pc_50_vs.vcs CRC:000cee3c23 size:20601\n shaders/vfx/csgo_weapon.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_weapon_pc_50_features.vcs CRC:00bd645c36 size:10418\n-shaders/vfx/csgo_weapon_pc_50_ps.vcs CRC:002e0f201d size:19658921\n-shaders/vfx/csgo_weapon_pc_50_psrs.vcs CRC:006d9cbaa5 size:2354\n-shaders/vfx/csgo_weapon_pc_50_vs.vcs CRC:00d4d49014 size:44923\n+shaders/vfx/csgo_weapon_pc_50_features.vcs CRC:00df9602ca size:10466\n+shaders/vfx/csgo_weapon_pc_50_ps.vcs CRC:0004b6fdc7 size:22231269\n+shaders/vfx/csgo_weapon_pc_50_psrs.vcs CRC:00f3d4d37e size:2354\n+shaders/vfx/csgo_weapon_pc_50_vs.vcs CRC:0006aef284 size:46901\n shaders/vfx/csgo_weapon_sticker.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_weapon_sticker_pc_50_features.vcs CRC:00ee8f2ca3 size:4898\n-shaders/vfx/csgo_weapon_sticker_pc_50_ps.vcs CRC:008449e6cd size:68340\n-shaders/vfx/csgo_weapon_sticker_pc_50_psrs.vcs CRC:00080c9adc size:1586\n-shaders/vfx/csgo_weapon_sticker_pc_50_vs.vcs CRC:00242d0cb8 size:12898\n+shaders/vfx/csgo_weapon_sticker_pc_50_features.vcs CRC:002cac1c3b size:4898\n+shaders/vfx/csgo_weapon_sticker_pc_50_ps.vcs CRC:00e5a10529 size:68746\n+shaders/vfx/csgo_weapon_sticker_pc_50_psrs.vcs CRC:00a6a7b43d size:1586\n+shaders/vfx/csgo_weapon_sticker_pc_50_vs.vcs CRC:00a0703155 size:12901\n shaders/vfx/deferred_particle_shadows.ini CRC:0000000000 size:0\n shaders/vfx/deferred_particle_shadows_pc_50_features.vcs CRC:00d44879f1 size:1682\n shaders/vfx/deferred_particle_shadows_pc_50_ps.vcs CRC:009a835a77 size:2992\n@@ -288,15 +288,15 @@ shaders/vfx/generate_decal_normals_pc_50_features.vcs CRC:00069b1c3e size:1554\n shaders/vfx/generate_decal_normals_pc_50_ps.vcs CRC:00839562e3 size:1895\n shaders/vfx/generate_decal_normals_pc_50_vs.vcs CRC:002d1a35e9 size:1419\n shaders/vfx/generic.ini CRC:0000000000 size:0\n-shaders/vfx/generic_pc_50_features.vcs CRC:00a49ee6d7 size:5010\n-shaders/vfx/generic_pc_50_ps.vcs CRC:007f5b5de9 size:1297216\n-shaders/vfx/generic_pc_50_psrs.vcs CRC:005f693504 size:3442\n-shaders/vfx/generic_pc_50_vs.vcs CRC:002e662204 size:31137\n+shaders/vfx/generic_pc_50_features.vcs CRC:0016f89f37 size:5026\n+shaders/vfx/generic_pc_50_ps.vcs CRC:00eb817a41 size:1307310\n+shaders/vfx/generic_pc_50_psrs.vcs CRC:00896ac5fa size:3442\n+shaders/vfx/generic_pc_50_vs.vcs CRC:00b0e71d64 size:31181\n shaders/vfx/grasstile.ini CRC:0000000000 size:0\n-shaders/vfx/grasstile_pc_50_features.vcs CRC:00707fe2e8 size:3490\n-shaders/vfx/grasstile_pc_50_ps.vcs CRC:00a35ed17b size:51526\n-shaders/vfx/grasstile_pc_50_psrs.vcs CRC:00f2d803fd size:2002\n-shaders/vfx/grasstile_pc_50_vs.vcs CRC:00b31ffdcb size:6278\n+shaders/vfx/grasstile_pc_50_features.vcs CRC:00b51f5d59 size:3490\n+shaders/vfx/grasstile_pc_50_ps.vcs CRC:00277696d8 size:52151\n+shaders/vfx/grasstile_pc_50_psrs.vcs CRC:0076620160 size:2002\n+shaders/vfx/grasstile_pc_50_vs.vcs CRC:00ebdb67c8 size:6278\n shaders/vfx/grasstile_preview.ini CRC:0000000000 size:0\n shaders/vfx/grasstile_preview_pc_50_features.vcs CRC:00f9a2db40 size:2162\n shaders/vfx/grasstile_preview_pc_50_ps.vcs CRC:00c1526de5 size:2785\n@@ -306,44 +306,44 @@ shaders/vfx/healthboost_pc_50_features.vcs CRC:00f1c7615b size:1794\n shaders/vfx/healthboost_pc_50_ps.vcs CRC:00cc385ef6 size:2308\n shaders/vfx/healthboost_pc_50_vs.vcs CRC:00ea0f5927 size:1353\n shaders/vfx/histogram_cs.ini CRC:0000000000 size:0\n-shaders/vfx/histogram_cs_pc_50_cs.vcs CRC:0087c15044 size:8723\n-shaders/vfx/histogram_cs_pc_50_features.vcs CRC:004748ea81 size:1730\n+shaders/vfx/histogram_cs_pc_50_cs.vcs CRC:006ee143a1 size:8723\n+shaders/vfx/histogram_cs_pc_50_features.vcs CRC:0054363111 size:1730\n shaders/vfx/inferno.ini CRC:0000000000 size:0\n-shaders/vfx/inferno_pc_50_features.vcs CRC:00e8a32a48 size:1858\n-shaders/vfx/inferno_pc_50_ps.vcs CRC:0020e63fb1 size:2955\n-shaders/vfx/inferno_pc_50_vs.vcs CRC:007e4883ac size:2274\n+shaders/vfx/inferno_pc_50_features.vcs CRC:00a2f47759 size:1858\n+shaders/vfx/inferno_pc_50_ps.vcs CRC:007219e50e size:2955\n+shaders/vfx/inferno_pc_50_vs.vcs CRC:003dbfc764 size:2290\n shaders/vfx/legacy_sniper_scope.ini CRC:0000000000 size:0\n shaders/vfx/legacy_sniper_scope_pc_50_features.vcs CRC:000ec34ac7 size:1714\n shaders/vfx/legacy_sniper_scope_pc_50_ps.vcs CRC:00122e834a size:2967\n shaders/vfx/legacy_sniper_scope_pc_50_vs.vcs CRC:00ea0f5927 size:1353\n shaders/vfx/lpv_debug_grid.ini CRC:0000000000 size:0\n-shaders/vfx/lpv_debug_grid_pc_50_features.vcs CRC:001f4ea574 size:2786\n-shaders/vfx/lpv_debug_grid_pc_50_gs.vcs CRC:0073fb9e1d size:3622\n-shaders/vfx/lpv_debug_grid_pc_50_ps.vcs CRC:00bbe14152 size:45414\n-shaders/vfx/lpv_debug_grid_pc_50_vs.vcs CRC:00179f8e7d size:2513\n+shaders/vfx/lpv_debug_grid_pc_50_features.vcs CRC:003b1f5f43 size:2786\n+shaders/vfx/lpv_debug_grid_pc_50_gs.vcs CRC:00a9eb3df9 size:3622\n+shaders/vfx/lpv_debug_grid_pc_50_ps.vcs CRC:00f3bd2331 size:45306\n+shaders/vfx/lpv_debug_grid_pc_50_vs.vcs CRC:00ca4b87d5 size:2513\n shaders/vfx/luminaire.ini CRC:0000000000 size:0\n-shaders/vfx/luminaire_pc_50_features.vcs CRC:000c8a8a01 size:2370\n-shaders/vfx/luminaire_pc_50_ps.vcs CRC:005477504a size:6420\n-shaders/vfx/luminaire_pc_50_psrs.vcs CRC:00c073b324 size:2018\n-shaders/vfx/luminaire_pc_50_vs.vcs CRC:005761c2b8 size:5422\n+shaders/vfx/luminaire_pc_50_features.vcs CRC:00659c1803 size:2370\n+shaders/vfx/luminaire_pc_50_ps.vcs CRC:009b665347 size:6420\n+shaders/vfx/luminaire_pc_50_psrs.vcs CRC:00200a1e43 size:2018\n+shaders/vfx/luminaire_pc_50_vs.vcs CRC:00b020b50b size:5422\n shaders/vfx/mboit_mixed_combine.ini CRC:0000000000 size:0\n-shaders/vfx/mboit_mixed_combine_pc_50_features.vcs CRC:00687315fc size:1954\n-shaders/vfx/mboit_mixed_combine_pc_50_ps.vcs CRC:008ce3b2ce size:4764\n+shaders/vfx/mboit_mixed_combine_pc_50_features.vcs CRC:006e6a68e8 size:1954\n+shaders/vfx/mboit_mixed_combine_pc_50_ps.vcs CRC:00456cd2a6 size:4764\n shaders/vfx/mboit_mixed_combine_pc_50_vs.vcs CRC:00627195be size:2506\n shaders/vfx/mboit_mixed_upsample.ini CRC:0000000000 size:0\n-shaders/vfx/mboit_mixed_upsample_pc_50_cs.vcs CRC:00b9d86274 size:7650\n-shaders/vfx/mboit_mixed_upsample_pc_50_features.vcs CRC:00d01e8f59 size:2018\n+shaders/vfx/mboit_mixed_upsample_pc_50_cs.vcs CRC:00c1d69fc1 size:7650\n+shaders/vfx/mboit_mixed_upsample_pc_50_features.vcs CRC:00cd5dd0e3 size:2018\n shaders/vfx/mboitfinal.ini CRC:0000000000 size:0\n-shaders/vfx/mboitfinal_pc_50_features.vcs CRC:003b53f60e size:1954\n-shaders/vfx/mboitfinal_pc_50_ps.vcs CRC:00da5098d9 size:5142\n+shaders/vfx/mboitfinal_pc_50_features.vcs CRC:00f06fac64 size:1970\n+shaders/vfx/mboitfinal_pc_50_ps.vcs CRC:00e30898c9 size:5158\n shaders/vfx/mboitfinal_pc_50_vs.vcs CRC:00559a2a7c size:2996\n shaders/vfx/outlines.ini CRC:0000000000 size:0\n shaders/vfx/outlines_pc_50_features.vcs CRC:00e6864a88 size:1778\n shaders/vfx/outlines_pc_50_ps.vcs CRC:00af708a6e size:2745\n shaders/vfx/outlines_pc_50_vs.vcs CRC:0058323fb8 size:1360\n shaders/vfx/overlay_smoke.ini CRC:0000000000 size:0\n-shaders/vfx/overlay_smoke_pc_50_features.vcs CRC:00e84b3e90 size:1746\n-shaders/vfx/overlay_smoke_pc_50_ps.vcs CRC:0078c01ce7 size:2646\n+shaders/vfx/overlay_smoke_pc_50_features.vcs CRC:00c8282e48 size:1762\n+shaders/vfx/overlay_smoke_pc_50_ps.vcs CRC:00733181dd size:2646\n shaders/vfx/overlay_smoke_pc_50_vs.vcs CRC:00dc9157c8 size:1438\n shaders/vfx/panorama_alpha.ini CRC:0000000000 size:0\n shaders/vfx/panorama_alpha_pc_50_features.vcs CRC:00900fc740 size:1682\n@@ -362,69 +362,69 @@ shaders/vfx/player_visibility_stencil_proxy_pc_50_features.vcs CRC:00fb953c16 si\n shaders/vfx/player_visibility_stencil_proxy_pc_50_ps.vcs CRC:00de86fb1f size:1576\n shaders/vfx/player_visibility_stencil_proxy_pc_50_vs.vcs CRC:00b1aacfdd size:2452\n shaders/vfx/post_process.ini CRC:0000000000 size:0\n-shaders/vfx/post_process_pc_50_features.vcs CRC:000d231024 size:2578\n-shaders/vfx/post_process_pc_50_ps.vcs CRC:00b7b5cd9b size:70997\n-shaders/vfx/post_process_pc_50_vs.vcs CRC:00055984f8 size:1419\n+shaders/vfx/post_process_pc_50_features.vcs CRC:00bee159b8 size:2578\n+shaders/vfx/post_process_pc_50_ps.vcs CRC:00c104c042 size:71013\n+shaders/vfx/post_process_pc_50_vs.vcs CRC:000f93f89e size:1419\n shaders/vfx/reconstruct_normals.ini CRC:0000000000 size:0\n shaders/vfx/reconstruct_normals_pc_50_features.vcs CRC:0037fa53d2 size:1506\n shaders/vfx/reconstruct_normals_pc_50_ps.vcs CRC:00a5e6318e size:2862\n shaders/vfx/reconstruct_normals_pc_50_vs.vcs CRC:00364cbcfb size:1413\n shaders/vfx/screenparticlescombine.ini CRC:0000000000 size:0\n-shaders/vfx/screenparticlescombine_pc_50_features.vcs CRC:002c516485 size:1666\n-shaders/vfx/screenparticlescombine_pc_50_ps.vcs CRC:00348524a1 size:1939\n+shaders/vfx/screenparticlescombine_pc_50_features.vcs CRC:009adb1abc size:1666\n+shaders/vfx/screenparticlescombine_pc_50_ps.vcs CRC:00a9842c30 size:1939\n shaders/vfx/screenparticlescombine_pc_50_vs.vcs CRC:00baed8259 size:1431\n shaders/vfx/simple.ini CRC:0000000000 size:0\n-shaders/vfx/simple_pc_50_features.vcs CRC:00da37a5cf size:4498\n-shaders/vfx/simple_pc_50_ps.vcs CRC:001c8778f1 size:50980\n-shaders/vfx/simple_pc_50_psrs.vcs CRC:0002da3ae8 size:1794\n-shaders/vfx/simple_pc_50_vs.vcs CRC:00d7453a50 size:15263\n+shaders/vfx/simple_pc_50_features.vcs CRC:00ab692aa6 size:4498\n+shaders/vfx/simple_pc_50_ps.vcs CRC:005ffc5588 size:51149\n+shaders/vfx/simple_pc_50_psrs.vcs CRC:00f71bc38a size:1794\n+shaders/vfx/simple_pc_50_vs.vcs CRC:0088c44746 size:15267\n shaders/vfx/sky.ini CRC:0000000000 size:0\n shaders/vfx/sky_occluder.ini CRC:0000000000 size:0\n shaders/vfx/sky_occluder_pc_50_features.vcs CRC:0045563b9b size:1858\n shaders/vfx/sky_occluder_pc_50_ps.vcs CRC:0007c6fc0e size:2287\n shaders/vfx/sky_occluder_pc_50_vs.vcs CRC:005291a3af size:2734\n-shaders/vfx/sky_pc_50_features.vcs CRC:00ff614270 size:2498\n-shaders/vfx/sky_pc_50_ps.vcs CRC:00b811f548 size:6044\n-shaders/vfx/sky_pc_50_vs.vcs CRC:00d1e97a99 size:2791\n+shaders/vfx/sky_pc_50_features.vcs CRC:00b0889679 size:2498\n+shaders/vfx/sky_pc_50_ps.vcs CRC:00478cb7b8 size:6044\n+shaders/vfx/sky_pc_50_vs.vcs CRC:0026963613 size:2791\n shaders/vfx/skybox_blur.ini CRC:0000000000 size:0\n shaders/vfx/skybox_blur_pc_50_features.vcs CRC:00a3bfa04a size:1634\n shaders/vfx/skybox_blur_pc_50_ps.vcs CRC:006a2ac5d5 size:2333\n shaders/vfx/skybox_blur_pc_50_vs.vcs CRC:009a7ddc87 size:1359\n shaders/vfx/smoke_volume.ini CRC:0000000000 size:0\n shaders/vfx/smoke_volume_cs.ini CRC:0000000000 size:0\n-shaders/vfx/smoke_volume_cs_pc_50_cs.vcs CRC:00c480fd0d size:129865\n-shaders/vfx/smoke_volume_cs_pc_50_features.vcs CRC:003f5eb89f size:2754\n+shaders/vfx/smoke_volume_cs_pc_50_cs.vcs CRC:00b59cda56 size:129865\n+shaders/vfx/smoke_volume_cs_pc_50_features.vcs CRC:005881135e size:2754\n shaders/vfx/smoke_volume_depth.ini CRC:0000000000 size:0\n-shaders/vfx/smoke_volume_depth_pc_50_features.vcs CRC:0060802cd6 size:1922\n-shaders/vfx/smoke_volume_depth_pc_50_ps.vcs CRC:00576e49bb size:6256\n-shaders/vfx/smoke_volume_depth_pc_50_vs.vcs CRC:006dc8aea2 size:1477\n+shaders/vfx/smoke_volume_depth_pc_50_features.vcs CRC:00cbfe814c size:1922\n+shaders/vfx/smoke_volume_depth_pc_50_ps.vcs CRC:006ebba90d size:6256\n+shaders/vfx/smoke_volume_depth_pc_50_vs.vcs CRC:00c8d2e31d size:1477\n shaders/vfx/smoke_volume_lpv.ini CRC:0000000000 size:0\n-shaders/vfx/smoke_volume_lpv_pc_50_cs.vcs CRC:00ad83226c size:8236\n-shaders/vfx/smoke_volume_lpv_pc_50_features.vcs CRC:006c33fd9e size:1810\n+shaders/vfx/smoke_volume_lpv_pc_50_cs.vcs CRC:00647a7535 size:8236\n+shaders/vfx/smoke_volume_lpv_pc_50_features.vcs CRC:00c25e9dd6 size:1810\n shaders/vfx/smoke_volume_mask.ini CRC:0000000000 size:0\n-shaders/vfx/smoke_volume_mask_pc_50_features.vcs CRC:00a0da20ff size:1874\n-shaders/vfx/smoke_volume_mask_pc_50_ps.vcs CRC:0092024552 size:10866\n+shaders/vfx/smoke_volume_mask_pc_50_features.vcs CRC:0095b56c66 size:1874\n+shaders/vfx/smoke_volume_mask_pc_50_ps.vcs CRC:00fff9d1ad size:10866\n shaders/vfx/smoke_volume_mask_pc_50_vs.vcs CRC:007d56cdff size:2724\n-shaders/vfx/smoke_volume_pc_50_features.vcs CRC:0030d99bd1 size:2786\n-shaders/vfx/smoke_volume_pc_50_ps.vcs CRC:003522e4b4 size:151934\n-shaders/vfx/smoke_volume_pc_50_vs.vcs CRC:00158ed5d4 size:2244\n+shaders/vfx/smoke_volume_pc_50_features.vcs CRC:00933b6135 size:2786\n+shaders/vfx/smoke_volume_pc_50_ps.vcs CRC:0062b11dc6 size:151934\n+shaders/vfx/smoke_volume_pc_50_vs.vcs CRC:002bfdd311 size:2260\n shaders/vfx/solidcolor.ini CRC:0000000000 size:0\n shaders/vfx/solidcolor_pc_50_features.vcs CRC:001b30fdb8 size:2290\n shaders/vfx/solidcolor_pc_50_ps.vcs CRC:006868f938 size:3120\n shaders/vfx/solidcolor_pc_50_vs.vcs CRC:00018bd3f6 size:8001\n shaders/vfx/spritecard.ini CRC:0000000000 size:0\n-shaders/vfx/spritecard_pc_50_features.vcs CRC:004ddbc204 size:3458\n-shaders/vfx/spritecard_pc_50_ps.vcs CRC:0000fb5eba size:2274965\n-shaders/vfx/spritecard_pc_50_vs.vcs CRC:001a104e3a size:1130172\n+shaders/vfx/spritecard_pc_50_features.vcs CRC:00b91f52ab size:3458\n+shaders/vfx/spritecard_pc_50_ps.vcs CRC:0008438141 size:2269250\n+shaders/vfx/spritecard_pc_50_vs.vcs CRC:00cbf55fe0 size:1131766\n shaders/vfx/tools_solid.ini CRC:0000000000 size:0\n-shaders/vfx/tools_solid_pc_50_features.vcs CRC:000aea73e0 size:1826\n-shaders/vfx/tools_solid_pc_50_ps.vcs CRC:00db19f4eb size:2958\n-shaders/vfx/tools_solid_pc_50_vs.vcs CRC:0041e0b95e size:3868\n+shaders/vfx/tools_solid_pc_50_features.vcs CRC:00e381840a size:1826\n+shaders/vfx/tools_solid_pc_50_ps.vcs CRC:007babeb8e size:2958\n+shaders/vfx/tools_solid_pc_50_vs.vcs CRC:00179080a0 size:3868\n shaders/vfx/tools_wireframe.ini CRC:0000000000 size:0\n-shaders/vfx/tools_wireframe_pc_50_features.vcs CRC:00ca3bdfb2 size:2194\n-shaders/vfx/tools_wireframe_pc_50_gs.vcs CRC:002dc0269f size:3253\n-shaders/vfx/tools_wireframe_pc_50_ps.vcs CRC:0032e21a12 size:4244\n-shaders/vfx/tools_wireframe_pc_50_vs.vcs CRC:0003ecbe88 size:13189\n+shaders/vfx/tools_wireframe_pc_50_features.vcs CRC:00ceed6095 size:2194\n+shaders/vfx/tools_wireframe_pc_50_gs.vcs CRC:0018cb8385 size:3253\n+shaders/vfx/tools_wireframe_pc_50_ps.vcs CRC:008887a885 size:4244\n+shaders/vfx/tools_wireframe_pc_50_vs.vcs CRC:00d3c4362b size:13189\n shaders/vfx/upsample.ini CRC:0000000000 size:0\n shaders/vfx/upsample_pc_50_features.vcs CRC:007910fb4a size:1554\n shaders/vfx/upsample_pc_50_ps.vcs CRC:000dafda7a size:1834"
},
{
"filename": "game/csgo/shaders_vulkan_dir.txt",
"status": "modified",
"additions": 233,
"deletions": 233,
"changes": 466,
"patch": "@@ -1,10 +1,10 @@\n shaders/vfx/bilateral_upsample.ini CRC:0000000000 size:0\n-shaders/vfx/bilateral_upsample_vulkan_50_features.vcs CRC:0034e7463f size:1746\n-shaders/vfx/bilateral_upsample_vulkan_50_ps.vcs CRC:007268d31b size:3399\n+shaders/vfx/bilateral_upsample_vulkan_50_features.vcs CRC:006c4f6911 size:1762\n+shaders/vfx/bilateral_upsample_vulkan_50_ps.vcs CRC:004520b06b size:3399\n shaders/vfx/bilateral_upsample_vulkan_50_vs.vcs CRC:008ce38aea size:2180\n shaders/vfx/bloom_cs.ini CRC:0000000000 size:0\n-shaders/vfx/bloom_cs_vulkan_50_cs.vcs CRC:002fc6f99e size:9179\n-shaders/vfx/bloom_cs_vulkan_50_features.vcs CRC:008fd509b8 size:2018\n+shaders/vfx/bloom_cs_vulkan_50_cs.vcs CRC:00a2b0bcb2 size:9165\n+shaders/vfx/bloom_cs_vulkan_50_features.vcs CRC:0074832d4b size:2018\n shaders/vfx/blur.ini CRC:0000000000 size:0\n shaders/vfx/blur_vulkan_50_features.vcs CRC:001ea646d8 size:2098\n shaders/vfx/blur_vulkan_50_ps.vcs CRC:00ee532d85 size:14512\n@@ -18,10 +18,10 @@ shaders/vfx/bomb_blast_vulkan_50_features.vcs CRC:00626f06ee size:1730\n shaders/vfx/bomb_blast_vulkan_50_ps.vcs CRC:00b3a844da size:3535\n shaders/vfx/bomb_blast_vulkan_50_vs.vcs CRC:006dfb6be5 size:1999\n shaders/vfx/cables.ini CRC:0000000000 size:0\n-shaders/vfx/cables_vulkan_50_features.vcs CRC:004d766b28 size:4770\n-shaders/vfx/cables_vulkan_50_ps.vcs CRC:003d82aa0f size:468151\n-shaders/vfx/cables_vulkan_50_psrs.vcs CRC:00ebbb81fb size:3266\n-shaders/vfx/cables_vulkan_50_vs.vcs CRC:000be2f528 size:24522\n+shaders/vfx/cables_vulkan_50_features.vcs CRC:00ab9038a5 size:4770\n+shaders/vfx/cables_vulkan_50_ps.vcs CRC:00be5fca2d size:469626\n+shaders/vfx/cables_vulkan_50_psrs.vcs CRC:00b935a061 size:3282\n+shaders/vfx/cables_vulkan_50_vs.vcs CRC:001c096931 size:24522\n shaders/vfx/cs_color_picker.ini CRC:0000000000 size:0\n shaders/vfx/cs_color_picker_vulkan_50_features.vcs CRC:00b8399ca8 size:1394\n shaders/vfx/cs_color_picker_vulkan_50_ps.vcs CRC:00d06198b4 size:2156\n@@ -31,30 +31,30 @@ shaders/vfx/csgo_alpha_immunity_vulkan_50_features.vcs CRC:0028b20085 size:1698\n shaders/vfx/csgo_alpha_immunity_vulkan_50_ps.vcs CRC:00bba81630 size:2112\n shaders/vfx/csgo_alpha_immunity_vulkan_50_vs.vcs CRC:009570e692 size:2025\n shaders/vfx/csgo_beachfoam.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_beachfoam_vulkan_50_features.vcs CRC:0042459477 size:3362\n-shaders/vfx/csgo_beachfoam_vulkan_50_ps.vcs CRC:0059bcc5ae size:5679\n-shaders/vfx/csgo_beachfoam_vulkan_50_psrs.vcs CRC:00a641f69c size:1826\n-shaders/vfx/csgo_beachfoam_vulkan_50_vs.vcs CRC:007124f218 size:9567\n+shaders/vfx/csgo_beachfoam_vulkan_50_features.vcs CRC:00eddccc46 size:3362\n+shaders/vfx/csgo_beachfoam_vulkan_50_ps.vcs CRC:00dad110f1 size:5696\n+shaders/vfx/csgo_beachfoam_vulkan_50_psrs.vcs CRC:0024b3b21e size:1826\n+shaders/vfx/csgo_beachfoam_vulkan_50_vs.vcs CRC:00e9cdc158 size:9567\n shaders/vfx/csgo_black_unlit.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_black_unlit_vulkan_50_features.vcs CRC:00d81e1a69 size:2722\n-shaders/vfx/csgo_black_unlit_vulkan_50_ps.vcs CRC:0066be1a67 size:7780\n-shaders/vfx/csgo_black_unlit_vulkan_50_psrs.vcs CRC:000a9a08e4 size:1794\n-shaders/vfx/csgo_black_unlit_vulkan_50_vs.vcs CRC:0036bfea6d size:4252\n+shaders/vfx/csgo_black_unlit_vulkan_50_features.vcs CRC:0060b58227 size:2738\n+shaders/vfx/csgo_black_unlit_vulkan_50_ps.vcs CRC:0005bcdbdc size:7778\n+shaders/vfx/csgo_black_unlit_vulkan_50_psrs.vcs CRC:005a2ae455 size:1794\n+shaders/vfx/csgo_black_unlit_vulkan_50_vs.vcs CRC:004dc685f2 size:4268\n shaders/vfx/csgo_character.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_character_vulkan_50_features.vcs CRC:0077791be4 size:8834\n-shaders/vfx/csgo_character_vulkan_50_ps.vcs CRC:009d642f4c size:303670574\n-shaders/vfx/csgo_character_vulkan_50_psrs.vcs CRC:00a3d5d6ad size:3442\n-shaders/vfx/csgo_character_vulkan_50_vs.vcs CRC:00cb74521e size:1093042\n+shaders/vfx/csgo_character_vulkan_50_features.vcs CRC:00ae484612 size:8850\n+shaders/vfx/csgo_character_vulkan_50_ps.vcs CRC:002718ee14 size:330897636\n+shaders/vfx/csgo_character_vulkan_50_psrs.vcs CRC:008ca7d3f2 size:3442\n+shaders/vfx/csgo_character_vulkan_50_vs.vcs CRC:006906d9d6 size:1119517\n shaders/vfx/csgo_complex.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_complex_vulkan_50_features.vcs CRC:00630bac82 size:7266\n-shaders/vfx/csgo_complex_vulkan_50_ps.vcs CRC:00aeb3e3ec size:38046739\n+shaders/vfx/csgo_complex_vulkan_50_features.vcs CRC:00890420a7 size:7266\n+shaders/vfx/csgo_complex_vulkan_50_ps.vcs CRC:00553e8768 size:38256682\n shaders/vfx/csgo_complex_vulkan_50_psrs.vcs CRC:00492a4b95 size:3218\n-shaders/vfx/csgo_complex_vulkan_50_vs.vcs CRC:00b1df1fd8 size:226190\n-shaders/vfx/csgo_complex_vulkan_60_features.vcs CRC:009e37806b size:7314\n-shaders/vfx/csgo_complex_vulkan_60_ps.vcs CRC:00aeb3e3ec size:38046739\n+shaders/vfx/csgo_complex_vulkan_50_vs.vcs CRC:00de035e9e size:226230\n+shaders/vfx/csgo_complex_vulkan_60_features.vcs CRC:004222c157 size:7346\n+shaders/vfx/csgo_complex_vulkan_60_ps.vcs CRC:00553e8768 size:38256682\n shaders/vfx/csgo_complex_vulkan_60_psrs.vcs CRC:00492a4b95 size:3218\n-shaders/vfx/csgo_complex_vulkan_60_rtx.vcs CRC:00c671f06f size:33684546\n-shaders/vfx/csgo_complex_vulkan_60_vs.vcs CRC:00b1df1fd8 size:226190\n+shaders/vfx/csgo_complex_vulkan_60_rtx.vcs CRC:00aa19b314 size:33683976\n+shaders/vfx/csgo_complex_vulkan_60_vs.vcs CRC:00de035e9e size:226230\n shaders/vfx/csgo_composite_generic.ini CRC:0000000000 size:0\n shaders/vfx/csgo_composite_generic_vulkan_50_features.vcs CRC:0056569b3f size:1778\n shaders/vfx/csgo_composite_generic_vulkan_50_ps.vcs CRC:008b5c42bc size:2225\n@@ -77,125 +77,125 @@ shaders/vfx/csgo_crosshair_vulkan_50_ps.vcs CRC:00ca2b509e size:5056\n shaders/vfx/csgo_crosshair_vulkan_50_vs.vcs CRC:0088663ff7 size:1836\n shaders/vfx/csgo_customglove.ini CRC:0000000000 size:0\n shaders/vfx/csgo_customglove_preview.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_customglove_preview_vulkan_50_features.vcs CRC:00af9139ca size:9810\n-shaders/vfx/csgo_customglove_preview_vulkan_50_ps.vcs CRC:00e94cf300 size:146188\n-shaders/vfx/csgo_customglove_preview_vulkan_50_psrs.vcs CRC:009b036760 size:1874\n-shaders/vfx/csgo_customglove_preview_vulkan_50_vs.vcs CRC:0006f49962 size:11346\n-shaders/vfx/csgo_customglove_vulkan_50_features.vcs CRC:00c3279f1f size:11618\n-shaders/vfx/csgo_customglove_vulkan_50_ps.vcs CRC:0097d23de7 size:73153\n+shaders/vfx/csgo_customglove_preview_vulkan_50_features.vcs CRC:0097345d89 size:9810\n+shaders/vfx/csgo_customglove_preview_vulkan_50_ps.vcs CRC:006f04de3f size:146028\n+shaders/vfx/csgo_customglove_preview_vulkan_50_psrs.vcs CRC:0076bdde45 size:1874\n+shaders/vfx/csgo_customglove_preview_vulkan_50_vs.vcs CRC:009adc1288 size:11346\n+shaders/vfx/csgo_customglove_vulkan_50_features.vcs CRC:00d8c41934 size:11618\n+shaders/vfx/csgo_customglove_vulkan_50_ps.vcs CRC:0017d1223e size:73172\n shaders/vfx/csgo_customglove_vulkan_50_vs.vcs CRC:007eb65bcc size:4297\n shaders/vfx/csgo_customweapon.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_customweapon_vulkan_50_features.vcs CRC:00d51eb813 size:6722\n-shaders/vfx/csgo_customweapon_vulkan_50_ps.vcs CRC:00c2affc82 size:5830324\n+shaders/vfx/csgo_customweapon_vulkan_50_features.vcs CRC:00a1837ffb size:6722\n+shaders/vfx/csgo_customweapon_vulkan_50_ps.vcs CRC:001f3bf62e size:5830414\n shaders/vfx/csgo_customweapon_vulkan_50_vs.vcs CRC:00f53b5243 size:4126\n shaders/vfx/csgo_decal_renderer.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_decal_renderer_vulkan_50_features.vcs CRC:00fc08a890 size:2050\n-shaders/vfx/csgo_decal_renderer_vulkan_50_ps.vcs CRC:001f7f2202 size:2655\n-shaders/vfx/csgo_decal_renderer_vulkan_50_vs.vcs CRC:00bfe26b8b size:4346\n-shaders/vfx/csgo_decal_renderer_vulkan_60_features.vcs CRC:00fc08a890 size:2050\n-shaders/vfx/csgo_decal_renderer_vulkan_60_ps.vcs CRC:001f7f2202 size:2655\n-shaders/vfx/csgo_decal_renderer_vulkan_60_vs.vcs CRC:00bfe26b8b size:4346\n+shaders/vfx/csgo_decal_renderer_vulkan_50_features.vcs CRC:002135ce4f size:2050\n+shaders/vfx/csgo_decal_renderer_vulkan_50_ps.vcs CRC:00ad311429 size:2659\n+shaders/vfx/csgo_decal_renderer_vulkan_50_vs.vcs CRC:003923c6e6 size:4346\n+shaders/vfx/csgo_decal_renderer_vulkan_60_features.vcs CRC:002135ce4f size:2050\n+shaders/vfx/csgo_decal_renderer_vulkan_60_ps.vcs CRC:00ad311429 size:2659\n+shaders/vfx/csgo_decal_renderer_vulkan_60_vs.vcs CRC:003923c6e6 size:4346\n shaders/vfx/csgo_decalmodulate.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_decalmodulate_vulkan_50_features.vcs CRC:00faaad0e8 size:3490\n-shaders/vfx/csgo_decalmodulate_vulkan_50_ps.vcs CRC:00aa7c7b98 size:5100\n-shaders/vfx/csgo_decalmodulate_vulkan_50_psrs.vcs CRC:00c3bbd8e9 size:1890\n-shaders/vfx/csgo_decalmodulate_vulkan_50_vs.vcs CRC:001717093e size:10809\n+shaders/vfx/csgo_decalmodulate_vulkan_50_features.vcs CRC:00c666124f size:3490\n+shaders/vfx/csgo_decalmodulate_vulkan_50_ps.vcs CRC:004b9e3fad size:5115\n+shaders/vfx/csgo_decalmodulate_vulkan_50_psrs.vcs CRC:007c80e187 size:1906\n+shaders/vfx/csgo_decalmodulate_vulkan_50_vs.vcs CRC:003451da03 size:10809\n shaders/vfx/csgo_depth_only.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_depth_only_vulkan_50_features.vcs CRC:0002f5c58c size:3330\n-shaders/vfx/csgo_depth_only_vulkan_50_ps.vcs CRC:00f96d8bcb size:5996\n-shaders/vfx/csgo_depth_only_vulkan_50_vs.vcs CRC:007d069b1d size:8045\n+shaders/vfx/csgo_depth_only_vulkan_50_features.vcs CRC:00d2e8d035 size:3330\n+shaders/vfx/csgo_depth_only_vulkan_50_ps.vcs CRC:00432726d2 size:5993\n+shaders/vfx/csgo_depth_only_vulkan_50_vs.vcs CRC:00521597e3 size:8042\n shaders/vfx/csgo_dronecam.ini CRC:0000000000 size:0\n shaders/vfx/csgo_dronecam_vulkan_50_features.vcs CRC:00c669bb55 size:1778\n shaders/vfx/csgo_dronecam_vulkan_50_ps.vcs CRC:00dc35e479 size:2912\n shaders/vfx/csgo_dronecam_vulkan_50_vs.vcs CRC:0058e8989f size:1446\n shaders/vfx/csgo_effects.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_effects_vulkan_50_features.vcs CRC:006fdb163e size:4290\n-shaders/vfx/csgo_effects_vulkan_50_ps.vcs CRC:008c800f8d size:144310\n-shaders/vfx/csgo_effects_vulkan_50_psrs.vcs CRC:00e60f45eb size:2242\n-shaders/vfx/csgo_effects_vulkan_50_vs.vcs CRC:009cff39ef size:10181\n+shaders/vfx/csgo_effects_vulkan_50_features.vcs CRC:0011102306 size:4290\n+shaders/vfx/csgo_effects_vulkan_50_ps.vcs CRC:00ab01f065 size:144444\n+shaders/vfx/csgo_effects_vulkan_50_psrs.vcs CRC:00153d4526 size:2242\n+shaders/vfx/csgo_effects_vulkan_50_vs.vcs CRC:00d17fbaf7 size:10181\n shaders/vfx/csgo_environment.ini CRC:0000000000 size:0\n shaders/vfx/csgo_environment_blend.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_environment_blend_vulkan_50_features.vcs CRC:0043310d45 size:10706\n-shaders/vfx/csgo_environment_blend_vulkan_50_ps.vcs CRC:00b6d813c9 size:27563582\n-shaders/vfx/csgo_environment_blend_vulkan_50_psrs.vcs CRC:00ad09f764 size:2530\n-shaders/vfx/csgo_environment_blend_vulkan_50_vs.vcs CRC:007bfca819 size:188644\n-shaders/vfx/csgo_environment_blend_vulkan_60_features.vcs CRC:00b201becc size:10770\n-shaders/vfx/csgo_environment_blend_vulkan_60_ps.vcs CRC:00b6d813c9 size:27563582\n-shaders/vfx/csgo_environment_blend_vulkan_60_psrs.vcs CRC:00ad09f764 size:2530\n-shaders/vfx/csgo_environment_blend_vulkan_60_rtx.vcs CRC:00dd9a5a9a size:5354941\n-shaders/vfx/csgo_environment_blend_vulkan_60_vs.vcs CRC:007bfca819 size:188644\n-shaders/vfx/csgo_environment_vulkan_50_features.vcs CRC:00341957b3 size:6338\n-shaders/vfx/csgo_environment_vulkan_50_ps.vcs CRC:00374df898 size:836237\n-shaders/vfx/csgo_environment_vulkan_50_psrs.vcs CRC:00858646dd size:2466\n-shaders/vfx/csgo_environment_vulkan_50_vs.vcs CRC:00bf6a438d size:44071\n-shaders/vfx/csgo_environment_vulkan_60_features.vcs CRC:0079ec8e43 size:6402\n-shaders/vfx/csgo_environment_vulkan_60_ps.vcs CRC:00374df898 size:836237\n-shaders/vfx/csgo_environment_vulkan_60_psrs.vcs CRC:00858646dd size:2466\n-shaders/vfx/csgo_environment_vulkan_60_rtx.vcs CRC:00c8cdb234 size:283892\n-shaders/vfx/csgo_environment_vulkan_60_vs.vcs CRC:00bf6a438d size:44071\n+shaders/vfx/csgo_environment_blend_vulkan_50_features.vcs CRC:003f5aa638 size:11170\n+shaders/vfx/csgo_environment_blend_vulkan_50_ps.vcs CRC:005bdad6e6 size:115972608\n+shaders/vfx/csgo_environment_blend_vulkan_50_psrs.vcs CRC:00abb56a27 size:2786\n+shaders/vfx/csgo_environment_blend_vulkan_50_vs.vcs CRC:003065f4ae size:328208\n+shaders/vfx/csgo_environment_blend_vulkan_60_features.vcs CRC:003cfdb60a size:11250\n+shaders/vfx/csgo_environment_blend_vulkan_60_ps.vcs CRC:005bdad6e6 size:115972608\n+shaders/vfx/csgo_environment_blend_vulkan_60_psrs.vcs CRC:00abb56a27 size:2786\n+shaders/vfx/csgo_environment_blend_vulkan_60_rtx.vcs CRC:00a39a5822 size:7607916\n+shaders/vfx/csgo_environment_blend_vulkan_60_vs.vcs CRC:003065f4ae size:328208\n+shaders/vfx/csgo_environment_vulkan_50_features.vcs CRC:0060e5d2fc size:6722\n+shaders/vfx/csgo_environment_vulkan_50_ps.vcs CRC:0039e0e408 size:3254315\n+shaders/vfx/csgo_environment_vulkan_50_psrs.vcs CRC:0018a9c272 size:2610\n+shaders/vfx/csgo_environment_vulkan_50_vs.vcs CRC:009377eede size:74760\n+shaders/vfx/csgo_environment_vulkan_60_features.vcs CRC:006fd1c78f size:6834\n+shaders/vfx/csgo_environment_vulkan_60_ps.vcs CRC:0039e0e408 size:3254315\n+shaders/vfx/csgo_environment_vulkan_60_psrs.vcs CRC:0018a9c272 size:2610\n+shaders/vfx/csgo_environment_vulkan_60_rtx.vcs CRC:00bcc7849d size:387892\n+shaders/vfx/csgo_environment_vulkan_60_vs.vcs CRC:009377eede size:74760\n shaders/vfx/csgo_eyeball.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_eyeball_vulkan_50_features.vcs CRC:0064906348 size:4018\n-shaders/vfx/csgo_eyeball_vulkan_50_ps.vcs CRC:00d0f7c0dd size:82717\n-shaders/vfx/csgo_eyeball_vulkan_50_psrs.vcs CRC:00b0972c53 size:1650\n-shaders/vfx/csgo_eyeball_vulkan_50_vs.vcs CRC:0051aae988 size:17919\n+shaders/vfx/csgo_eyeball_vulkan_50_features.vcs CRC:005ec2c0ef size:4018\n+shaders/vfx/csgo_eyeball_vulkan_50_ps.vcs CRC:006432aaa9 size:82567\n+shaders/vfx/csgo_eyeball_vulkan_50_psrs.vcs CRC:00072dbbdc size:1650\n+shaders/vfx/csgo_eyeball_vulkan_50_vs.vcs CRC:00416b81a3 size:17919\n shaders/vfx/csgo_flashbang_overlay.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_flashbang_overlay_vulkan_50_features.vcs CRC:003f6af5d8 size:3570\n-shaders/vfx/csgo_flashbang_overlay_vulkan_50_ps.vcs CRC:0065eef858 size:3872\n-shaders/vfx/csgo_flashbang_overlay_vulkan_50_psrs.vcs CRC:00c63abcc9 size:1810\n-shaders/vfx/csgo_flashbang_overlay_vulkan_50_vs.vcs CRC:0013a96568 size:11088\n+shaders/vfx/csgo_flashbang_overlay_vulkan_50_features.vcs CRC:00970522e2 size:3586\n+shaders/vfx/csgo_flashbang_overlay_vulkan_50_ps.vcs CRC:00fd5fca89 size:3892\n+shaders/vfx/csgo_flashbang_overlay_vulkan_50_psrs.vcs CRC:00cf9557be size:1810\n+shaders/vfx/csgo_flashbang_overlay_vulkan_50_vs.vcs CRC:0049a12716 size:11088\n shaders/vfx/csgo_foliage.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_foliage_vulkan_50_features.vcs CRC:001b04a572 size:6514\n-shaders/vfx/csgo_foliage_vulkan_50_ps.vcs CRC:00ef5d5256 size:2184977\n+shaders/vfx/csgo_foliage_vulkan_50_features.vcs CRC:008ba3926a size:6514\n+shaders/vfx/csgo_foliage_vulkan_50_ps.vcs CRC:00fecfed27 size:2184374\n shaders/vfx/csgo_foliage_vulkan_50_psrs.vcs CRC:00be28e494 size:2386\n-shaders/vfx/csgo_foliage_vulkan_50_vs.vcs CRC:007ff23472 size:174138\n-shaders/vfx/csgo_foliage_vulkan_60_features.vcs CRC:00d0d3c917 size:6578\n-shaders/vfx/csgo_foliage_vulkan_60_ps.vcs CRC:00ef5d5256 size:2184977\n+shaders/vfx/csgo_foliage_vulkan_50_vs.vcs CRC:001e5428b8 size:174151\n+shaders/vfx/csgo_foliage_vulkan_60_features.vcs CRC:00fa09b6f2 size:6610\n+shaders/vfx/csgo_foliage_vulkan_60_ps.vcs CRC:00fecfed27 size:2184374\n shaders/vfx/csgo_foliage_vulkan_60_psrs.vcs CRC:00be28e494 size:2386\n-shaders/vfx/csgo_foliage_vulkan_60_rtx.vcs CRC:004e8182ae size:175658\n-shaders/vfx/csgo_foliage_vulkan_60_vs.vcs CRC:007ff23472 size:174138\n+shaders/vfx/csgo_foliage_vulkan_60_rtx.vcs CRC:0067697b04 size:175693\n+shaders/vfx/csgo_foliage_vulkan_60_vs.vcs CRC:001e5428b8 size:174151\n shaders/vfx/csgo_glass.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_glass_vulkan_50_features.vcs CRC:0095195879 size:4306\n-shaders/vfx/csgo_glass_vulkan_50_ps.vcs CRC:0080be49e6 size:494986\n+shaders/vfx/csgo_glass_vulkan_50_features.vcs CRC:000df7f838 size:4306\n+shaders/vfx/csgo_glass_vulkan_50_ps.vcs CRC:00e2a4264c size:495012\n shaders/vfx/csgo_glass_vulkan_50_psrs.vcs CRC:006950f0be size:2866\n-shaders/vfx/csgo_glass_vulkan_50_vs.vcs CRC:006772c139 size:91019\n+shaders/vfx/csgo_glass_vulkan_50_vs.vcs CRC:00040c7782 size:91019\n shaders/vfx/csgo_grenade_camera.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_grenade_camera_vulkan_50_features.vcs CRC:000c7874cb size:1890\n-shaders/vfx/csgo_grenade_camera_vulkan_50_ps.vcs CRC:0040f1b4ad size:3525\n+shaders/vfx/csgo_grenade_camera_vulkan_50_features.vcs CRC:006a5f3554 size:1890\n+shaders/vfx/csgo_grenade_camera_vulkan_50_ps.vcs CRC:00456a1056 size:3524\n shaders/vfx/csgo_grenade_camera_vulkan_50_vs.vcs CRC:00559fe5e5 size:1460\n shaders/vfx/csgo_legs_prepass.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_legs_prepass_vulkan_50_features.vcs CRC:00122f60a9 size:3138\n-shaders/vfx/csgo_legs_prepass_vulkan_50_ps.vcs CRC:002aa98770 size:2343\n-shaders/vfx/csgo_legs_prepass_vulkan_50_vs.vcs CRC:0065787d44 size:12409\n+shaders/vfx/csgo_legs_prepass_vulkan_50_features.vcs CRC:001c12d94c size:3138\n+shaders/vfx/csgo_legs_prepass_vulkan_50_ps.vcs CRC:0072c655ee size:2343\n+shaders/vfx/csgo_legs_prepass_vulkan_50_vs.vcs CRC:00b938db09 size:12409\n shaders/vfx/csgo_lightmapped_4wayblend.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_features.vcs CRC:00c2af0c78 size:4674\n-shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_ps.vcs CRC:00511aaecc size:450955\n-shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_psrs.vcs CRC:003c1c6177 size:2050\n-shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_vs.vcs CRC:00ae1bfebe size:39241\n+shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_features.vcs CRC:0015411f6f size:4690\n+shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_ps.vcs CRC:0055dd51d6 size:453810\n+shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_psrs.vcs CRC:00fe2f5b08 size:2050\n+shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_vs.vcs CRC:0010a1f81e size:39257\n shaders/vfx/csgo_lightmappedgeneric.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_lightmappedgeneric_vulkan_50_features.vcs CRC:00ba156f4f size:6882\n-shaders/vfx/csgo_lightmappedgeneric_vulkan_50_ps.vcs CRC:00749f620d size:16761023\n-shaders/vfx/csgo_lightmappedgeneric_vulkan_50_psrs.vcs CRC:00f92984a4 size:4050\n-shaders/vfx/csgo_lightmappedgeneric_vulkan_50_vs.vcs CRC:00bceb2d3f size:391702\n-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_features.vcs CRC:00dd6e7ab1 size:6946\n-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_ps.vcs CRC:00749f620d size:16761023\n-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_psrs.vcs CRC:00f92984a4 size:4050\n-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_rtx.vcs CRC:008c3098ce size:1503471\n-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_vs.vcs CRC:00bceb2d3f size:391702\n+shaders/vfx/csgo_lightmappedgeneric_vulkan_50_features.vcs CRC:00bea036be size:6914\n+shaders/vfx/csgo_lightmappedgeneric_vulkan_50_ps.vcs CRC:00fd25f014 size:16875416\n+shaders/vfx/csgo_lightmappedgeneric_vulkan_50_psrs.vcs CRC:00491764d5 size:4050\n+shaders/vfx/csgo_lightmappedgeneric_vulkan_50_vs.vcs CRC:005b4144a5 size:552509\n+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_features.vcs CRC:004cccb30a size:6994\n+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_ps.vcs CRC:00fd25f014 size:16875416\n+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_psrs.vcs CRC:00491764d5 size:4050\n+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_rtx.vcs CRC:003c0c4fd4 size:1503539\n+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_vs.vcs CRC:005b4144a5 size:552509\n shaders/vfx/csgo_moondome.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_moondome_vulkan_50_features.vcs CRC:00a89e5da9 size:3730\n-shaders/vfx/csgo_moondome_vulkan_50_ps.vcs CRC:00a0f8a1ef size:9076\n-shaders/vfx/csgo_moondome_vulkan_50_psrs.vcs CRC:009f55912f size:1762\n-shaders/vfx/csgo_moondome_vulkan_50_vs.vcs CRC:007124f218 size:9567\n+shaders/vfx/csgo_moondome_vulkan_50_features.vcs CRC:008c5895b0 size:3730\n+shaders/vfx/csgo_moondome_vulkan_50_ps.vcs CRC:0018cdd32d size:9094\n+shaders/vfx/csgo_moondome_vulkan_50_psrs.vcs CRC:00e49eec17 size:1762\n+shaders/vfx/csgo_moondome_vulkan_50_vs.vcs CRC:00e9cdc158 size:9567\n shaders/vfx/csgo_panolayer_rt.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_panolayer_rt_vulkan_50_features.vcs CRC:005bac7ecc size:1922\n-shaders/vfx/csgo_panolayer_rt_vulkan_50_ps.vcs CRC:00c470dd4b size:2655\n-shaders/vfx/csgo_panolayer_rt_vulkan_50_psrs.vcs CRC:00bcb37f20 size:1586\n-shaders/vfx/csgo_panolayer_rt_vulkan_50_vs.vcs CRC:0093e19af8 size:1780\n+shaders/vfx/csgo_panolayer_rt_vulkan_50_features.vcs CRC:00f9456bca size:1922\n+shaders/vfx/csgo_panolayer_rt_vulkan_50_ps.vcs CRC:0064d32410 size:2655\n+shaders/vfx/csgo_panolayer_rt_vulkan_50_psrs.vcs CRC:0029a0cc5e size:1586\n+shaders/vfx/csgo_panolayer_rt_vulkan_50_vs.vcs CRC:00360851bc size:1780\n shaders/vfx/csgo_projected_decals.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_projected_decals_vulkan_50_features.vcs CRC:0063b1a152 size:5442\n-shaders/vfx/csgo_projected_decals_vulkan_50_ps.vcs CRC:00b3fd9ae1 size:50148908\n-shaders/vfx/csgo_projected_decals_vulkan_50_psrs.vcs CRC:002ab260b2 size:2786\n-shaders/vfx/csgo_projected_decals_vulkan_50_vs.vcs CRC:005efb3ea1 size:8706\n+shaders/vfx/csgo_projected_decals_vulkan_50_features.vcs CRC:0071b927ee size:5442\n+shaders/vfx/csgo_projected_decals_vulkan_50_ps.vcs CRC:00c156ca58 size:50519683\n+shaders/vfx/csgo_projected_decals_vulkan_50_psrs.vcs CRC:00ad2bd92b size:2786\n+shaders/vfx/csgo_projected_decals_vulkan_50_vs.vcs CRC:005d7d90f8 size:8706\n shaders/vfx/csgo_refract.ini CRC:0000000000 size:0\n shaders/vfx/csgo_refract_vulkan_50_features.vcs CRC:00b4d537c6 size:2594\n shaders/vfx/csgo_refract_vulkan_50_ps.vcs CRC:00929c3f67 size:21805\n@@ -206,39 +206,39 @@ shaders/vfx/csgo_screenspace_zone_vulkan_50_ps.vcs CRC:00e209cae1 size:4696\n shaders/vfx/csgo_screenspace_zone_vulkan_50_vs.vcs CRC:0058e8989f size:1446\n shaders/vfx/csgo_simple.ini CRC:0000000000 size:0\n shaders/vfx/csgo_simple_2way_blend.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_simple_2way_blend_vulkan_50_features.vcs CRC:003af486ec size:4722\n-shaders/vfx/csgo_simple_2way_blend_vulkan_50_ps.vcs CRC:007591ecb8 size:305198\n+shaders/vfx/csgo_simple_2way_blend_vulkan_50_features.vcs CRC:0061a58d0c size:4738\n+shaders/vfx/csgo_simple_2way_blend_vulkan_50_ps.vcs CRC:009575da12 size:306675\n shaders/vfx/csgo_simple_2way_blend_vulkan_50_psrs.vcs CRC:0013b79f0e size:1874\n-shaders/vfx/csgo_simple_2way_blend_vulkan_50_vs.vcs CRC:006f726b68 size:24693\n-shaders/vfx/csgo_simple_2way_blend_vulkan_60_features.vcs CRC:002f614caa size:4802\n-shaders/vfx/csgo_simple_2way_blend_vulkan_60_ps.vcs CRC:007591ecb8 size:305198\n+shaders/vfx/csgo_simple_2way_blend_vulkan_50_vs.vcs CRC:0062360dd3 size:24693\n+shaders/vfx/csgo_simple_2way_blend_vulkan_60_features.vcs CRC:00c56b620c size:4818\n+shaders/vfx/csgo_simple_2way_blend_vulkan_60_ps.vcs CRC:009575da12 size:306675\n shaders/vfx/csgo_simple_2way_blend_vulkan_60_psrs.vcs CRC:0013b79f0e size:1874\n-shaders/vfx/csgo_simple_2way_blend_vulkan_60_rtx.vcs CRC:0041e04343 size:69804\n-shaders/vfx/csgo_simple_2way_blend_vulkan_60_vs.vcs CRC:006f726b68 size:24693\n+shaders/vfx/csgo_simple_2way_blend_vulkan_60_rtx.vcs CRC:0002d65eb6 size:69822\n+shaders/vfx/csgo_simple_2way_blend_vulkan_60_vs.vcs CRC:0062360dd3 size:24693\n shaders/vfx/csgo_simple_3layer_parallax.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_features.vcs CRC:00126a679b size:4866\n-shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_ps.vcs CRC:001da3c613 size:3191670\n+shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_features.vcs CRC:006b3cd645 size:4866\n+shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_ps.vcs CRC:0096efe05f size:3190570\n shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_psrs.vcs CRC:00ec6ef90d size:1938\n-shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_vs.vcs CRC:00d1b9d962 size:21931\n+shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_vs.vcs CRC:0068bf135b size:21948\n shaders/vfx/csgo_simple_liquid.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_simple_liquid_vulkan_50_features.vcs CRC:00d51ad92c size:5890\n-shaders/vfx/csgo_simple_liquid_vulkan_50_ps.vcs CRC:00e86b59df size:1418572\n-shaders/vfx/csgo_simple_liquid_vulkan_50_psrs.vcs CRC:009897a715 size:1826\n-shaders/vfx/csgo_simple_liquid_vulkan_50_vs.vcs CRC:004ccc6e87 size:32154\n-shaders/vfx/csgo_simple_vulkan_50_features.vcs CRC:00a1a7b65f size:4658\n-shaders/vfx/csgo_simple_vulkan_50_ps.vcs CRC:00c9e1f0ac size:275662\n+shaders/vfx/csgo_simple_liquid_vulkan_50_features.vcs CRC:0027957c27 size:5954\n+shaders/vfx/csgo_simple_liquid_vulkan_50_ps.vcs CRC:009825e0fe size:1574032\n+shaders/vfx/csgo_simple_liquid_vulkan_50_psrs.vcs CRC:007031f32d size:1842\n+shaders/vfx/csgo_simple_liquid_vulkan_50_vs.vcs CRC:008fc54866 size:34264\n+shaders/vfx/csgo_simple_vulkan_50_features.vcs CRC:00186205c6 size:4658\n+shaders/vfx/csgo_simple_vulkan_50_ps.vcs CRC:009d3a6e10 size:279137\n shaders/vfx/csgo_simple_vulkan_50_psrs.vcs CRC:00ca11e680 size:2130\n-shaders/vfx/csgo_simple_vulkan_50_vs.vcs CRC:004c6c5454 size:24231\n+shaders/vfx/csgo_simple_vulkan_50_vs.vcs CRC:00ff5cdbe3 size:24231\n shaders/vfx/csgo_static_overlay.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_static_overlay_vulkan_50_features.vcs CRC:007155fe1d size:7554\n-shaders/vfx/csgo_static_overlay_vulkan_50_ps.vcs CRC:0095e7c840 size:841185\n-shaders/vfx/csgo_static_overlay_vulkan_50_psrs.vcs CRC:00a626d5f8 size:2610\n-shaders/vfx/csgo_static_overlay_vulkan_50_vs.vcs CRC:004abdc0fd size:128425\n+shaders/vfx/csgo_static_overlay_vulkan_50_features.vcs CRC:00af09c8a6 size:7602\n+shaders/vfx/csgo_static_overlay_vulkan_50_ps.vcs CRC:00afe553cd size:854052\n+shaders/vfx/csgo_static_overlay_vulkan_50_psrs.vcs CRC:003f43c7fb size:2610\n+shaders/vfx/csgo_static_overlay_vulkan_50_vs.vcs CRC:009893a3c6 size:134940\n shaders/vfx/csgo_textile_layer.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_textile_layer_vulkan_50_features.vcs CRC:00e3765279 size:7250\n-shaders/vfx/csgo_textile_layer_vulkan_50_ps.vcs CRC:0093df54b3 size:125181\n-shaders/vfx/csgo_textile_layer_vulkan_50_psrs.vcs CRC:00ace63e8c size:1858\n-shaders/vfx/csgo_textile_layer_vulkan_50_vs.vcs CRC:007ab564b2 size:9519\n+shaders/vfx/csgo_textile_layer_vulkan_50_features.vcs CRC:00755aa189 size:7250\n+shaders/vfx/csgo_textile_layer_vulkan_50_ps.vcs CRC:00b3a793c0 size:125192\n+shaders/vfx/csgo_textile_layer_vulkan_50_psrs.vcs CRC:00ff9799e7 size:1858\n+shaders/vfx/csgo_textile_layer_vulkan_50_vs.vcs CRC:00804173a2 size:9519\n shaders/vfx/csgo_tools_shading_complexity.ini CRC:0000000000 size:0\n shaders/vfx/csgo_tools_shading_complexity_vulkan_50_features.vcs CRC:000efc205f size:2178\n shaders/vfx/csgo_tools_shading_complexity_vulkan_50_ps.vcs CRC:00f71e4a5f size:2958\n@@ -252,44 +252,44 @@ shaders/vfx/csgo_ui_texture_attribute_vulkan_50_features.vcs CRC:003dc34fc4 size\n shaders/vfx/csgo_ui_texture_attribute_vulkan_50_ps.vcs CRC:00763abeb6 size:1951\n shaders/vfx/csgo_ui_texture_attribute_vulkan_50_vs.vcs CRC:00895145c7 size:1913\n shaders/vfx/csgo_unlitgeneric.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_unlitgeneric_vulkan_50_features.vcs CRC:00b6a22217 size:4834\n-shaders/vfx/csgo_unlitgeneric_vulkan_50_ps.vcs CRC:00195aa765 size:165657\n-shaders/vfx/csgo_unlitgeneric_vulkan_50_psrs.vcs CRC:0073277f05 size:3314\n-shaders/vfx/csgo_unlitgeneric_vulkan_50_vs.vcs CRC:008ffd87ab size:82692\n+shaders/vfx/csgo_unlitgeneric_vulkan_50_features.vcs CRC:009e0021fb size:4834\n+shaders/vfx/csgo_unlitgeneric_vulkan_50_ps.vcs CRC:0001fb23f8 size:165660\n+shaders/vfx/csgo_unlitgeneric_vulkan_50_psrs.vcs CRC:00b75836fd size:3314\n+shaders/vfx/csgo_unlitgeneric_vulkan_50_vs.vcs CRC:007e8fb39b size:82692\n shaders/vfx/csgo_vertexlitgeneric.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_vertexlitgeneric_vulkan_50_features.vcs CRC:001f291976 size:6450\n-shaders/vfx/csgo_vertexlitgeneric_vulkan_50_ps.vcs CRC:00f6dd496e size:17416926\n+shaders/vfx/csgo_vertexlitgeneric_vulkan_50_features.vcs CRC:004d5c9722 size:6466\n+shaders/vfx/csgo_vertexlitgeneric_vulkan_50_ps.vcs CRC:007280ca98 size:17528271\n shaders/vfx/csgo_vertexlitgeneric_vulkan_50_psrs.vcs CRC:00fd658c92 size:3170\n-shaders/vfx/csgo_vertexlitgeneric_vulkan_50_vs.vcs CRC:0055600e60 size:111435\n-shaders/vfx/csgo_vertexlitgeneric_vulkan_60_features.vcs CRC:005df5ce66 size:6562\n-shaders/vfx/csgo_vertexlitgeneric_vulkan_60_ps.vcs CRC:00f6dd496e size:17416926\n+shaders/vfx/csgo_vertexlitgeneric_vulkan_50_vs.vcs CRC:00b54e216a size:111447\n+shaders/vfx/csgo_vertexlitgeneric_vulkan_60_features.vcs CRC:008793b1be size:6578\n+shaders/vfx/csgo_vertexlitgeneric_vulkan_60_ps.vcs CRC:007280ca98 size:17528271\n shaders/vfx/csgo_vertexlitgeneric_vulkan_60_psrs.vcs CRC:00fd658c92 size:3170\n-shaders/vfx/csgo_vertexlitgeneric_vulkan_60_rtx.vcs CRC:00b4fbabc0 size:1640900\n-shaders/vfx/csgo_vertexlitgeneric_vulkan_60_vs.vcs CRC:0055600e60 size:111435\n+shaders/vfx/csgo_vertexlitgeneric_vulkan_60_rtx.vcs CRC:00afa4f05b size:1640912\n+shaders/vfx/csgo_vertexlitgeneric_vulkan_60_vs.vcs CRC:00b54e216a size:111447\n shaders/vfx/csgo_volume_viewer.ini CRC:0000000000 size:0\n shaders/vfx/csgo_volume_viewer_vulkan_50_features.vcs CRC:00bdb2e588 size:1794\n shaders/vfx/csgo_volume_viewer_vulkan_50_ps.vcs CRC:004f16297b size:2623\n shaders/vfx/csgo_volume_viewer_vulkan_50_vs.vcs CRC:003ad5dbf7 size:2212\n shaders/vfx/csgo_water.ini CRC:0000000000 size:0\n shaders/vfx/csgo_water_fancy.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_water_fancy_vulkan_50_features.vcs CRC:00648c3eb7 size:6322\n-shaders/vfx/csgo_water_fancy_vulkan_50_ps.vcs CRC:005390fc96 size:4973780\n-shaders/vfx/csgo_water_fancy_vulkan_50_psrs.vcs CRC:00e4b067b7 size:2018\n-shaders/vfx/csgo_water_fancy_vulkan_50_vs.vcs CRC:009a0b3788 size:16890\n-shaders/vfx/csgo_water_vulkan_50_features.vcs CRC:0026f8c27f size:5234\n-shaders/vfx/csgo_water_vulkan_50_ps.vcs CRC:00dc7d753b size:3613802\n-shaders/vfx/csgo_water_vulkan_50_psrs.vcs CRC:0087a55d56 size:1954\n-shaders/vfx/csgo_water_vulkan_50_vs.vcs CRC:009b3981a9 size:18177\n+shaders/vfx/csgo_water_fancy_vulkan_50_features.vcs CRC:00817ab090 size:6322\n+shaders/vfx/csgo_water_fancy_vulkan_50_ps.vcs CRC:00bdaab92d size:5071389\n+shaders/vfx/csgo_water_fancy_vulkan_50_psrs.vcs CRC:0004f79ddd size:2034\n+shaders/vfx/csgo_water_fancy_vulkan_50_vs.vcs CRC:00526dcdb7 size:16890\n+shaders/vfx/csgo_water_vulkan_50_features.vcs CRC:0055be0083 size:5234\n+shaders/vfx/csgo_water_vulkan_50_ps.vcs CRC:00dca082c4 size:3626960\n+shaders/vfx/csgo_water_vulkan_50_psrs.vcs CRC:00c6817183 size:1954\n+shaders/vfx/csgo_water_vulkan_50_vs.vcs CRC:009a223088 size:18177\n shaders/vfx/csgo_weapon.ini CRC:0000000000 size:0\n shaders/vfx/csgo_weapon_sticker.ini CRC:0000000000 size:0\n-shaders/vfx/csgo_weapon_sticker_vulkan_50_features.vcs CRC:0013c0cbd5 size:4978\n-shaders/vfx/csgo_weapon_sticker_vulkan_50_ps.vcs CRC:00397cdafc size:112221\n-shaders/vfx/csgo_weapon_sticker_vulkan_50_psrs.vcs CRC:00080c9adc size:1586\n-shaders/vfx/csgo_weapon_sticker_vulkan_50_vs.vcs CRC:00d62fc43b size:11231\n-shaders/vfx/csgo_weapon_vulkan_50_features.vcs CRC:00b2403e78 size:10370\n-shaders/vfx/csgo_weapon_vulkan_50_ps.vcs CRC:00d6d02736 size:26972306\n-shaders/vfx/csgo_weapon_vulkan_50_psrs.vcs CRC:0013979893 size:2402\n-shaders/vfx/csgo_weapon_vulkan_50_vs.vcs CRC:00278060e0 size:40405\n+shaders/vfx/csgo_weapon_sticker_vulkan_50_features.vcs CRC:00cd71f0e6 size:4978\n+shaders/vfx/csgo_weapon_sticker_vulkan_50_ps.vcs CRC:003586b006 size:112369\n+shaders/vfx/csgo_weapon_sticker_vulkan_50_psrs.vcs CRC:00a6a7b43d size:1586\n+shaders/vfx/csgo_weapon_sticker_vulkan_50_vs.vcs CRC:0092514444 size:11231\n+shaders/vfx/csgo_weapon_vulkan_50_features.vcs CRC:0002d95f9c size:10418\n+shaders/vfx/csgo_weapon_vulkan_50_ps.vcs CRC:00d907281e size:28726062\n+shaders/vfx/csgo_weapon_vulkan_50_psrs.vcs CRC:005296c6b7 size:2402\n+shaders/vfx/csgo_weapon_vulkan_50_vs.vcs CRC:00c1b53691 size:42656\n shaders/vfx/deferred_particle_shadows.ini CRC:0000000000 size:0\n shaders/vfx/deferred_particle_shadows_vulkan_50_features.vcs CRC:00d44879f1 size:1682\n shaders/vfx/deferred_particle_shadows_vulkan_50_ps.vcs CRC:00fe14e2e6 size:4683\n@@ -329,62 +329,62 @@ shaders/vfx/generate_decal_normals_vulkan_60_features.vcs CRC:008ef1de8c size:16\n shaders/vfx/generate_decal_normals_vulkan_60_ps.vcs CRC:00f73eb457 size:2266\n shaders/vfx/generate_decal_normals_vulkan_60_vs.vcs CRC:00cfe35899 size:1782\n shaders/vfx/generic.ini CRC:0000000000 size:0\n-shaders/vfx/generic_vulkan_50_features.vcs CRC:00af504ec0 size:5074\n-shaders/vfx/generic_vulkan_50_ps.vcs CRC:00382b4727 size:1942579\n-shaders/vfx/generic_vulkan_50_psrs.vcs CRC:005f693504 size:3442\n-shaders/vfx/generic_vulkan_50_vs.vcs CRC:006b80d3bb size:25929\n+shaders/vfx/generic_vulkan_50_features.vcs CRC:00011ca969 size:5074\n+shaders/vfx/generic_vulkan_50_ps.vcs CRC:000fd1f725 size:1958547\n+shaders/vfx/generic_vulkan_50_psrs.vcs CRC:00896ac5fa size:3442\n+shaders/vfx/generic_vulkan_50_vs.vcs CRC:00ac19044a size:25929\n shaders/vfx/grasstile.ini CRC:0000000000 size:0\n shaders/vfx/grasstile_preview.ini CRC:0000000000 size:0\n shaders/vfx/grasstile_preview_vulkan_50_features.vcs CRC:00f9a2db40 size:2162\n shaders/vfx/grasstile_preview_vulkan_50_ps.vcs CRC:004836e56f size:3129\n shaders/vfx/grasstile_preview_vulkan_50_vs.vcs CRC:0032b6d08f size:3078\n-shaders/vfx/grasstile_vulkan_50_features.vcs CRC:00d221cc8a size:3570\n-shaders/vfx/grasstile_vulkan_50_ps.vcs CRC:00e40995d0 size:75770\n-shaders/vfx/grasstile_vulkan_50_psrs.vcs CRC:00f2d803fd size:2002\n-shaders/vfx/grasstile_vulkan_50_vs.vcs CRC:00d924400b size:5973\n+shaders/vfx/grasstile_vulkan_50_features.vcs CRC:0000d5f45d size:3570\n+shaders/vfx/grasstile_vulkan_50_ps.vcs CRC:00f16bf391 size:75914\n+shaders/vfx/grasstile_vulkan_50_psrs.vcs CRC:0076620160 size:2002\n+shaders/vfx/grasstile_vulkan_50_vs.vcs CRC:00ae681e47 size:5973\n shaders/vfx/healthboost.ini CRC:0000000000 size:0\n shaders/vfx/healthboost_vulkan_50_features.vcs CRC:00f1c7615b size:1794\n shaders/vfx/healthboost_vulkan_50_ps.vcs CRC:005e08f5b6 size:2714\n shaders/vfx/healthboost_vulkan_50_vs.vcs CRC:00c1fbcedf size:1361\n shaders/vfx/histogram_cs.ini CRC:0000000000 size:0\n-shaders/vfx/histogram_cs_vulkan_50_cs.vcs CRC:002e1a9d88 size:8124\n-shaders/vfx/histogram_cs_vulkan_50_features.vcs CRC:004748ea81 size:1730\n+shaders/vfx/histogram_cs_vulkan_50_cs.vcs CRC:00207b81ce size:8121\n+shaders/vfx/histogram_cs_vulkan_50_features.vcs CRC:0054363111 size:1730\n shaders/vfx/inferno.ini CRC:0000000000 size:0\n-shaders/vfx/inferno_vulkan_50_features.vcs CRC:009b120da5 size:1906\n-shaders/vfx/inferno_vulkan_50_ps.vcs CRC:00966f858f size:3842\n-shaders/vfx/inferno_vulkan_50_vs.vcs CRC:00db5abfc4 size:2052\n+shaders/vfx/inferno_vulkan_50_features.vcs CRC:0001da3dbd size:1906\n+shaders/vfx/inferno_vulkan_50_ps.vcs CRC:00f4959e41 size:3843\n+shaders/vfx/inferno_vulkan_50_vs.vcs CRC:00bf809968 size:2052\n shaders/vfx/legacy_sniper_scope.ini CRC:0000000000 size:0\n shaders/vfx/legacy_sniper_scope_vulkan_50_features.vcs CRC:000ec34ac7 size:1714\n shaders/vfx/legacy_sniper_scope_vulkan_50_ps.vcs CRC:00876bcd38 size:3614\n shaders/vfx/legacy_sniper_scope_vulkan_50_vs.vcs CRC:00c1fbcedf size:1361\n shaders/vfx/lpv_debug_grid.ini CRC:0000000000 size:0\n-shaders/vfx/lpv_debug_grid_vulkan_50_features.vcs CRC:00c23c50ad size:2866\n-shaders/vfx/lpv_debug_grid_vulkan_50_gs.vcs CRC:00fec36cb7 size:5120\n-shaders/vfx/lpv_debug_grid_vulkan_50_ps.vcs CRC:0088b58588 size:56580\n-shaders/vfx/lpv_debug_grid_vulkan_50_vs.vcs CRC:004fae1338 size:2420\n+shaders/vfx/lpv_debug_grid_vulkan_50_features.vcs CRC:006c35ddc0 size:2866\n+shaders/vfx/lpv_debug_grid_vulkan_50_gs.vcs CRC:0084578ad4 size:5120\n+shaders/vfx/lpv_debug_grid_vulkan_50_ps.vcs CRC:00dd31bc74 size:56834\n+shaders/vfx/lpv_debug_grid_vulkan_50_vs.vcs CRC:00996c1a1f size:2436\n shaders/vfx/luminaire.ini CRC:0000000000 size:0\n-shaders/vfx/luminaire_vulkan_50_features.vcs CRC:0095d621bc size:2418\n-shaders/vfx/luminaire_vulkan_50_ps.vcs CRC:00a62b4315 size:10950\n-shaders/vfx/luminaire_vulkan_50_psrs.vcs CRC:00c073b324 size:2018\n-shaders/vfx/luminaire_vulkan_50_vs.vcs CRC:00f73b149c size:4236\n+shaders/vfx/luminaire_vulkan_50_features.vcs CRC:00cced6d93 size:2418\n+shaders/vfx/luminaire_vulkan_50_ps.vcs CRC:006b637d50 size:10948\n+shaders/vfx/luminaire_vulkan_50_psrs.vcs CRC:00200a1e43 size:2018\n+shaders/vfx/luminaire_vulkan_50_vs.vcs CRC:009a68c550 size:4236\n shaders/vfx/mboit_mixed_combine.ini CRC:0000000000 size:0\n-shaders/vfx/mboit_mixed_combine_vulkan_50_features.vcs CRC:00687315fc size:1954\n-shaders/vfx/mboit_mixed_combine_vulkan_50_ps.vcs CRC:0089c389e4 size:6981\n+shaders/vfx/mboit_mixed_combine_vulkan_50_features.vcs CRC:006e6a68e8 size:1954\n+shaders/vfx/mboit_mixed_combine_vulkan_50_ps.vcs CRC:00121c3fe9 size:6983\n shaders/vfx/mboit_mixed_combine_vulkan_50_vs.vcs CRC:000e7b0f60 size:2155\n shaders/vfx/mboit_mixed_upsample.ini CRC:0000000000 size:0\n-shaders/vfx/mboit_mixed_upsample_vulkan_50_cs.vcs CRC:000a1844df size:9755\n-shaders/vfx/mboit_mixed_upsample_vulkan_50_features.vcs CRC:00d01e8f59 size:2018\n+shaders/vfx/mboit_mixed_upsample_vulkan_50_cs.vcs CRC:00ecfe3acd size:9757\n+shaders/vfx/mboit_mixed_upsample_vulkan_50_features.vcs CRC:00cd5dd0e3 size:2018\n shaders/vfx/mboitfinal.ini CRC:0000000000 size:0\n-shaders/vfx/mboitfinal_vulkan_50_features.vcs CRC:003b53f60e size:1954\n-shaders/vfx/mboitfinal_vulkan_50_ps.vcs CRC:00017d32e3 size:9368\n+shaders/vfx/mboitfinal_vulkan_50_features.vcs CRC:00f06fac64 size:1970\n+shaders/vfx/mboitfinal_vulkan_50_ps.vcs CRC:00065dd963 size:9392\n shaders/vfx/mboitfinal_vulkan_50_vs.vcs CRC:00a4e324be size:2418\n shaders/vfx/outlines.ini CRC:0000000000 size:0\n shaders/vfx/outlines_vulkan_50_features.vcs CRC:00e6864a88 size:1778\n shaders/vfx/outlines_vulkan_50_ps.vcs CRC:00ed69fa1e size:3151\n shaders/vfx/outlines_vulkan_50_vs.vcs CRC:0070b74c32 size:1363\n shaders/vfx/overlay_smoke.ini CRC:0000000000 size:0\n-shaders/vfx/overlay_smoke_vulkan_50_features.vcs CRC:00e84b3e90 size:1746\n-shaders/vfx/overlay_smoke_vulkan_50_ps.vcs CRC:00448b7c4b size:3367\n+shaders/vfx/overlay_smoke_vulkan_50_features.vcs CRC:00c8282e48 size:1762\n+shaders/vfx/overlay_smoke_vulkan_50_ps.vcs CRC:001cd1c1a6 size:3383\n shaders/vfx/overlay_smoke_vulkan_50_vs.vcs CRC:0086da6292 size:1487\n shaders/vfx/panorama_alpha.ini CRC:0000000000 size:0\n shaders/vfx/panorama_alpha_vulkan_50_features.vcs CRC:00900fc740 size:1682\n@@ -403,69 +403,69 @@ shaders/vfx/player_visibility_vulkan_50_features.vcs CRC:00abc5486a size:1666\n shaders/vfx/player_visibility_vulkan_50_ps.vcs CRC:001e023bb5 size:4336\n shaders/vfx/player_visibility_vulkan_50_vs.vcs CRC:00c1fbcedf size:1361\n shaders/vfx/post_process.ini CRC:0000000000 size:0\n-shaders/vfx/post_process_vulkan_50_features.vcs CRC:009d0e5047 size:2626\n-shaders/vfx/post_process_vulkan_50_ps.vcs CRC:00421ab223 size:83220\n-shaders/vfx/post_process_vulkan_50_vs.vcs CRC:009e956b0b size:1782\n+shaders/vfx/post_process_vulkan_50_features.vcs CRC:0021bc2813 size:2626\n+shaders/vfx/post_process_vulkan_50_ps.vcs CRC:0098f6e429 size:83313\n+shaders/vfx/post_process_vulkan_50_vs.vcs CRC:007737dc89 size:1782\n shaders/vfx/reconstruct_normals.ini CRC:0000000000 size:0\n shaders/vfx/reconstruct_normals_vulkan_50_features.vcs CRC:000efbe6a8 size:1570\n shaders/vfx/reconstruct_normals_vulkan_50_ps.vcs CRC:00c2808e1e size:4012\n shaders/vfx/reconstruct_normals_vulkan_50_vs.vcs CRC:001992f1a7 size:1786\n shaders/vfx/screenparticlescombine.ini CRC:0000000000 size:0\n-shaders/vfx/screenparticlescombine_vulkan_50_features.vcs CRC:002c516485 size:1666\n-shaders/vfx/screenparticlescombine_vulkan_50_ps.vcs CRC:001daac2a0 size:2012\n+shaders/vfx/screenparticlescombine_vulkan_50_features.vcs CRC:009adb1abc size:1666\n+shaders/vfx/screenparticlescombine_vulkan_50_ps.vcs CRC:00b8080669 size:2029\n shaders/vfx/screenparticlescombine_vulkan_50_vs.vcs CRC:0074449250 size:1458\n shaders/vfx/simple.ini CRC:0000000000 size:0\n-shaders/vfx/simple_vulkan_50_features.vcs CRC:00ac84f53e size:4578\n-shaders/vfx/simple_vulkan_50_ps.vcs CRC:009e05dde6 size:63444\n-shaders/vfx/simple_vulkan_50_psrs.vcs CRC:0002da3ae8 size:1794\n-shaders/vfx/simple_vulkan_50_vs.vcs CRC:00a27efe8f size:13504\n+shaders/vfx/simple_vulkan_50_features.vcs CRC:00fa6e0c09 size:4594\n+shaders/vfx/simple_vulkan_50_ps.vcs CRC:00bbfc3df4 size:63730\n+shaders/vfx/simple_vulkan_50_psrs.vcs CRC:00f71bc38a size:1794\n+shaders/vfx/simple_vulkan_50_vs.vcs CRC:0094cd530d size:13504\n shaders/vfx/sky.ini CRC:0000000000 size:0\n shaders/vfx/sky_occluder.ini CRC:0000000000 size:0\n shaders/vfx/sky_occluder_vulkan_50_features.vcs CRC:00b9463b7b size:1906\n shaders/vfx/sky_occluder_vulkan_50_ps.vcs CRC:003d8eaf4b size:2472\n shaders/vfx/sky_occluder_vulkan_50_vs.vcs CRC:00d7967a62 size:2477\n-shaders/vfx/sky_vulkan_50_features.vcs CRC:002ad8e7b9 size:2546\n-shaders/vfx/sky_vulkan_50_ps.vcs CRC:008d4f3ff1 size:8518\n-shaders/vfx/sky_vulkan_50_vs.vcs CRC:00f5d3112e size:2582\n+shaders/vfx/sky_vulkan_50_features.vcs CRC:00f19f1684 size:2546\n+shaders/vfx/sky_vulkan_50_ps.vcs CRC:00a1b3b08e size:8523\n+shaders/vfx/sky_vulkan_50_vs.vcs CRC:0071f346e6 size:2582\n shaders/vfx/skybox_blur.ini CRC:0000000000 size:0\n shaders/vfx/skybox_blur_vulkan_50_features.vcs CRC:00f4ea76f3 size:1682\n shaders/vfx/skybox_blur_vulkan_50_ps.vcs CRC:0021222f9a size:3035\n shaders/vfx/skybox_blur_vulkan_50_vs.vcs CRC:006ba482df size:1714\n shaders/vfx/smoke_volume.ini CRC:0000000000 size:0\n shaders/vfx/smoke_volume_cs.ini CRC:0000000000 size:0\n-shaders/vfx/smoke_volume_cs_vulkan_50_cs.vcs CRC:006d2b124c size:83641\n-shaders/vfx/smoke_volume_cs_vulkan_50_features.vcs CRC:001879429c size:2818\n+shaders/vfx/smoke_volume_cs_vulkan_50_cs.vcs CRC:001bfdf0dd size:83652\n+shaders/vfx/smoke_volume_cs_vulkan_50_features.vcs CRC:008956127a size:2818\n shaders/vfx/smoke_volume_depth.ini CRC:0000000000 size:0\n-shaders/vfx/smoke_volume_depth_vulkan_50_features.vcs CRC:001a185323 size:1986\n-shaders/vfx/smoke_volume_depth_vulkan_50_ps.vcs CRC:00a3a2405a size:8935\n-shaders/vfx/smoke_volume_depth_vulkan_50_vs.vcs CRC:0094621042 size:1847\n+shaders/vfx/smoke_volume_depth_vulkan_50_features.vcs CRC:001973bbb7 size:1986\n+shaders/vfx/smoke_volume_depth_vulkan_50_ps.vcs CRC:009809773b size:8935\n+shaders/vfx/smoke_volume_depth_vulkan_50_vs.vcs CRC:00c1856984 size:1847\n shaders/vfx/smoke_volume_lpv.ini CRC:0000000000 size:0\n-shaders/vfx/smoke_volume_lpv_vulkan_50_cs.vcs CRC:008545a720 size:6928\n-shaders/vfx/smoke_volume_lpv_vulkan_50_features.vcs CRC:0013496ad0 size:1874\n+shaders/vfx/smoke_volume_lpv_vulkan_50_cs.vcs CRC:0080cf3ac5 size:6915\n+shaders/vfx/smoke_volume_lpv_vulkan_50_features.vcs CRC:0008726eae size:1874\n shaders/vfx/smoke_volume_mask.ini CRC:0000000000 size:0\n-shaders/vfx/smoke_volume_mask_vulkan_50_features.vcs CRC:007988eb16 size:1938\n-shaders/vfx/smoke_volume_mask_vulkan_50_ps.vcs CRC:008c10c0ec size:14823\n+shaders/vfx/smoke_volume_mask_vulkan_50_features.vcs CRC:0061e23565 size:1938\n+shaders/vfx/smoke_volume_mask_vulkan_50_ps.vcs CRC:008102629a size:14823\n shaders/vfx/smoke_volume_mask_vulkan_50_vs.vcs CRC:002c907541 size:2513\n-shaders/vfx/smoke_volume_vulkan_50_features.vcs CRC:0008faf5a6 size:2834\n-shaders/vfx/smoke_volume_vulkan_50_ps.vcs CRC:0052768f85 size:108497\n-shaders/vfx/smoke_volume_vulkan_50_vs.vcs CRC:0020d3f43d size:1996\n+shaders/vfx/smoke_volume_vulkan_50_features.vcs CRC:00ec76af46 size:2834\n+shaders/vfx/smoke_volume_vulkan_50_ps.vcs CRC:00c9593361 size:108493\n+shaders/vfx/smoke_volume_vulkan_50_vs.vcs CRC:00db7af8e5 size:1996\n shaders/vfx/solidcolor.ini CRC:0000000000 size:0\n shaders/vfx/solidcolor_vulkan_50_features.vcs CRC:000d8add19 size:2354\n shaders/vfx/solidcolor_vulkan_50_ps.vcs CRC:005897b7c9 size:3678\n shaders/vfx/solidcolor_vulkan_50_vs.vcs CRC:00bdeb7d83 size:6716\n shaders/vfx/spritecard.ini CRC:0000000000 size:0\n-shaders/vfx/spritecard_vulkan_50_features.vcs CRC:00204379dd size:3506\n-shaders/vfx/spritecard_vulkan_50_ps.vcs CRC:0057bdbe59 size:5797501\n-shaders/vfx/spritecard_vulkan_50_vs.vcs CRC:00201c5139 size:2676898\n+shaders/vfx/spritecard_vulkan_50_features.vcs CRC:0077f06edf size:3506\n+shaders/vfx/spritecard_vulkan_50_ps.vcs CRC:0098c5fa31 size:5794368\n+shaders/vfx/spritecard_vulkan_50_vs.vcs CRC:0038f47bcf size:2675839\n shaders/vfx/tools_solid.ini CRC:0000000000 size:0\n-shaders/vfx/tools_solid_vulkan_50_features.vcs CRC:00fd9702fa size:1874\n-shaders/vfx/tools_solid_vulkan_50_ps.vcs CRC:0009d8c9b6 size:3843\n-shaders/vfx/tools_solid_vulkan_50_vs.vcs CRC:0057e9726b size:3736\n+shaders/vfx/tools_solid_vulkan_50_features.vcs CRC:00aa1bc0ce size:1874\n+shaders/vfx/tools_solid_vulkan_50_ps.vcs CRC:008c90504f size:3843\n+shaders/vfx/tools_solid_vulkan_50_vs.vcs CRC:00c5b7b866 size:3736\n shaders/vfx/tools_wireframe.ini CRC:0000000000 size:0\n-shaders/vfx/tools_wireframe_vulkan_50_features.vcs CRC:00d0ea8792 size:2258\n-shaders/vfx/tools_wireframe_vulkan_50_gs.vcs CRC:00677475ee size:4552\n-shaders/vfx/tools_wireframe_vulkan_50_ps.vcs CRC:00849a87b2 size:6008\n-shaders/vfx/tools_wireframe_vulkan_50_vs.vcs CRC:00db7e33ec size:13428\n+shaders/vfx/tools_wireframe_vulkan_50_features.vcs CRC:004a52f9ab size:2258\n+shaders/vfx/tools_wireframe_vulkan_50_gs.vcs CRC:008797a26d size:4552\n+shaders/vfx/tools_wireframe_vulkan_50_ps.vcs CRC:00c955fdcd size:6008\n+shaders/vfx/tools_wireframe_vulkan_50_vs.vcs CRC:003a8733a8 size:13428\n shaders/vfx/upsample.ini CRC:0000000000 size:0\n shaders/vfx/upsample_vulkan_50_features.vcs CRC:007910fb4a size:1554\n shaders/vfx/upsample_vulkan_50_ps.vcs CRC:0010a0e68d size:1887"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/bilateral_upsample.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -143,7 +143,7 @@ PS\n \t float PerViewConstantBuffer_t_1_m1 : packoffset(c23.y);\n \t};\n \t\n-\tSamplerState g_sPointClamp : register(s18, space1);\n+\tSamplerState g_sPointClamp : register(s19, space1);\n \tTexture2D<float4> g_tInputDepthHiRes : register(t32, space1);\n \tTexture2D<float4> g_tInputTexture : register(t30, space1);\n \t"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/bloom_cs.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -89,7 +89,7 @@ CS\n \tlayout(set = 0) uniform _1146 _Globals_;\n \t\n \tlayout(set = 0, binding = 30) uniform texture2D g_tInputDownSample;\n-\tlayout(set = 0, binding = 15) uniform sampler g_sBilinearClamp;\n+\tlayout(set = 0, binding = 16) uniform sampler g_sBilinearClamp;\n \tlayout(set = 0, binding = 158) uniform writeonly image2D g_tOutput;\n \t\n \tvoid main()"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/cables.slang",
"status": "modified",
"additions": 162,
"deletions": 151,
"changes": 313,
"patch": "@@ -453,7 +453,7 @@ PS\n \tTexture2D g_tShadowDepthBufferDepth < Attribute(\"ShadowDepthBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tSsao < Attribute(\"SSAOOcclusionFactor\"); SrgbRead(false); >;\n \tTexture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat3 g_vSelfIllumTintScaled < UiType(VectorText); Expression(pow(2,g_flSelfIllumBrightness).x*g_flSelfIllumScale.x*SrgbGammaToLinear(g_vSelfIllumTint.xyz)); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \tfloat4 g_vShadingComplexity < Source(ShadingComplexity); UiType(VectorText); >;\n@@ -530,12 +530,12 @@ PS\n \t#endif\n \t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _1948\n+\tstruct _2200\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _2158\n+\tstruct _2410\n \t{\n \t vec4 _m0[4];\n \t};\n@@ -551,12 +551,12 @@ PS\n \t vec4 _m6;\n \t};\n \t\n-\tstruct _2685\n+\tstruct _587\n \t{\n \t _1677 _m0[128];\n \t};\n \t\n-\tstruct _1058\n+\tstruct _2174\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -623,15 +623,15 @@ PS\n \t\n \tlayout(set = 1) uniform _2806 PerViewConstantBufferCsgo_t;\n \t\n-\tstruct _1398\n+\tstruct _678\n \t{\n \t vec4 _m0;\n \t vec4 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n \t vec4 _m4;\n-\t _1948 _m5;\n-\t _2158 _m6;\n+\t _2200 _m5;\n+\t _2410 _m6;\n \t vec4 _m7;\n \t vec4 _m8;\n \t vec4 _m9;\n@@ -640,7 +640,7 @@ PS\n \t uvec4 _m12;\n \t vec4 _m13;\n \t vec4 _m14;\n-\t _2685 _m15;\n+\t _587 _m15;\n \t vec4 _m16;\n \t vec4 _m17;\n \t int _m18;\n@@ -650,11 +650,11 @@ PS\n \t float _m22;\n \t float _m23;\n \t float _m24;\n-\t _1058 _m25;\n-\t _2158 _m26;\n+\t _2174 _m25;\n+\t _2410 _m26;\n \t};\n \t\n-\tlayout(set = 3) uniform _1398 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _678 PerViewLightingConstantBufferGpu_t;\n \t\n \tstruct _1194\n \t{\n@@ -677,23 +677,23 @@ PS\n \t} g_BarnLights_1;\n \t\n \tlayout(set = 1, binding = 43) uniform texture2D g_tColor;\n-\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfigAllowGlobalMipBias;\n+\tlayout(set = 1, binding = 21) uniform sampler g_sUserConfigAllowGlobalMipBias;\n \tlayout(set = 1, binding = 54) uniform texture2D g_tAmbientOcclusion;\n-\tlayout(set = 1, binding = 19) uniform sampler g_sUserConfig;\n+\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfig;\n \tlayout(set = 1, binding = 52) uniform texture2D g_tNormal;\n \tlayout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sCookieSampler;\n \tlayout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;\n-\tlayout(set = 1, binding = 18) uniform sampler g_sPointClamp;\n+\tlayout(set = 1, binding = 19) uniform sampler g_sPointClamp;\n \tlayout(set = 1, binding = 39) uniform texture2D g_tSsao;\n-\tlayout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 50) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n \tlayout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;\n-\tlayout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;\n+\tlayout(set = 1, binding = 16) uniform sampler g_sBilinearClamp;\n \tlayout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n \t\n@@ -804,162 +804,173 @@ PS\n \t {\n \t _21711 = _21710;\n \t }\n-\t float _21712;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n-\t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n-\t {\n-\t _13136 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n-\t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n-\t vec3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n-\t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n+\t float _12504;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n \t {\n-\t vec2 _7045;\n-\t vec2 _7046;\n-\t vec2 _7735;\n-\t float _8969;\n-\t float _8970;\n-\t float _15996;\n-\t float _17299;\n-\t vec2 _18870;\n-\t vec4 _20581;\n-\t vec4 _22023;\n-\t float _23727;\n-\t do\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n-\t _22023 = PerViewLightingConstantBufferGpu_t._m1;\n-\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n-\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n-\t _18870 = vec2(_17299, _15996);\n-\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n-\t _7045 = vec2(_8969, _15996);\n-\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n-\t _7046 = vec2(_17299, _8970);\n-\t _7735 = vec2(_8969, _8970);\n-\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n-\t bool _12885;\n-\t if (_15310 == 0.0)\n-\t {\n-\t _12885 = true;\n-\t }\n-\t else\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n \t {\n-\t _12885 = _15310 == 1.0;\n+\t _13136 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n \t }\n-\t if (_12885)\n+\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n \t {\n-\t _23727 = _15310;\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n+\t vec3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n \t break;\n \t }\n-\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t float _12502;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13136 < 1.0)\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n+\t }\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t vec2 _7045;\n+\t vec2 _7046;\n+\t vec2 _7735;\n+\t float _8969;\n+\t float _8970;\n+\t float _15996;\n+\t float _17299;\n+\t vec2 _18870;\n+\t vec4 _20581;\n+\t vec4 _22023;\n+\t float _23727;\n+\t do\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n-\t vec3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t float _12501;\n-\t do\n+\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n+\t _22023 = PerViewLightingConstantBufferGpu_t._m1;\n+\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n+\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n+\t _18870 = vec2(_17299, _15996);\n+\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n+\t _7045 = vec2(_8969, _15996);\n+\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n+\t _7046 = vec2(_17299, _8970);\n+\t _7735 = vec2(_8969, _8970);\n+\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n+\t bool _12885;\n+\t if (_15310 == 0.0)\n \t {\n-\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n-\t bool _12886;\n-\t if (_15311 == 0.0)\n-\t {\n-\t _12886 = true;\n-\t }\n-\t else\n-\t {\n-\t _12886 = _15311 == 1.0;\n-\t }\n-\t if (_12886)\n+\t _12885 = true;\n+\t }\n+\t else\n+\t {\n+\t _12885 = _15310 == 1.0;\n+\t }\n+\t if (_12885)\n+\t {\n+\t _23727 = _15310;\n+\t break;\n+\t }\n+\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22023.y);\n+\t break;\n+\t } while(false);\n+\t float _12502;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13136 < 1.0)\n+\t {\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n+\t vec3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t float _12501;\n+\t do\n \t {\n-\t _12501 = _15311;\n+\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n+\t bool _12886;\n+\t if (_15311 == 0.0)\n+\t {\n+\t _12886 = true;\n+\t }\n+\t else\n+\t {\n+\t _12886 = _15311 == 1.0;\n+\t }\n+\t if (_12886)\n+\t {\n+\t _12501 = _15311;\n+\t break;\n+\t }\n+\t _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y);\n \t break;\n-\t }\n-\t _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t _7934 = _12501;\n+\t } while(false);\n+\t _7934 = _12501;\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12502 = mix(_7934, _23727, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12502 = _23727;\n \t }\n-\t _12502 = mix(_7934, _23727, _13136);\n+\t _19363 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _23727;\n+\t _19363 = 1.0;\n \t }\n-\t _19363 = _12502;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0;\n-\t }\n-\t float _13279 = mix(_19363, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n-\t float _12503;\n-\t if (_24465.y)\n-\t {\n-\t _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t float _13279 = mix(_19363, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n+\t float _12503;\n+\t if (_24465.y)\n+\t {\n+\t _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12503 = _13279;\n+\t }\n+\t _12504 = _12503;\n \t }\n \t else\n \t {\n-\t _12503 = _13279;\n+\t _12504 = 1.0;\n \t }\n-\t _21712 = _12503;\n+\t _12320 = _12504;\n \t }\n \t else\n \t {\n-\t _21712 = 1.0;\n+\t _12320 = 1.0;\n \t }\n \t vec3 _9716;\n \t vec3 _24878;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21712) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n \t float _11797 = max(0.0, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz));\n \t vec2 _9840 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));\n@@ -974,7 +985,7 @@ PS\n \t float _16150 = _9850 + 1.0;\n \t float _6835 = (_16150 * _16150) * 0.125;\n \t float _19569 = 1.0 - _6835;\n-\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21712).xyz;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz;\n \t _9716 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808);\n \t _24878 = (((_22995 + ((vec3(1.0) - _22995) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_11797 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _11797).xyz * _16808;\n \t }\n@@ -1175,7 +1186,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12504;\n+\t vec3 _12505;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -1191,7 +1202,7 @@ PS\n \t vec3 _20491 = _14081;\n \t _20491.x = _20564.x;\n \t _20491.y = _20564.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -1200,9 +1211,9 @@ PS\n \t vec3 _20490 = _13791;\n \t _20490.x = _20563.x;\n \t _20490.y = _20563.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12504;\n+\t _21548 = _12505;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n@@ -1230,8 +1241,8 @@ PS\n \t do\n \t {\n \t float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t vec2 _14615 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n-\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n+\t vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n+\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n \t bool _12888;\n \t if (_15312 == 0.0)\n \t {\n@@ -1246,7 +1257,7 @@ PS\n \t _24972 = _15312;\n \t break;\n \t }\n-\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14615, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n+\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n \t break;\n \t } while(false);\n \t vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_beachfoam.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -229,7 +229,7 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tColor : register(t51, space1);\n-\tSamplerState g_sUserConfigAllowGlobalMipBias : register(s20, space1);\n+\tSamplerState g_sUserConfigAllowGlobalMipBias : register(s21, space1);\n \t\n \tstatic float4 input_2;\n \tstatic float4 output_0;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_black_unlit.slang",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -228,7 +228,7 @@ PS\n \t[[layer_constant]] ExternalDescriptorSet g_lightBinnerGpuSet < Source(ExternalDescSet); Attribute(\"g_lightBinnerGpuSet\"); >;\n \tint g_nToolsVisMode < Attribute(\"g_nToolsVisMode\"); UiType(Slider); >;\n \tTextureCube g_tFogCubeTexture < Attribute(\"CubemapFogTexture\"); SrgbRead(true); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Fog\n@@ -262,7 +262,7 @@ PS\n \t};\n \t\n \tTextureCube<float4> g_tFogCubeTexture : register(t42, space1);\n-\tSamplerState g_sTrilinearClamp : register(s17, space1);\n+\tSamplerState g_sTrilinearClamp : register(s18, space1);\n \t\n \tstatic float3 input_0;\n \tstatic float4 output_0;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_character.slang",
"status": "modified",
"additions": 652,
"deletions": 458,
"changes": 1110,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_complex.slang",
"status": "modified",
"additions": 110,
"deletions": 99,
"changes": 209,
"patch": "@@ -426,7 +426,7 @@ PS\n \tTexture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >;\n \tTexture2D g_tTransmissiveColor < Channel(RGB, Box(TextureTransmissiveColor), Srgb); OutputFormat(BC7); SrgbRead(true); >;\n \tfloat4 g_vDetailNormalStrengthOffsetScale < UiType(VectorText); Expression(float4(0,0,1-g_flDetailNormalStrength,g_flDetailNormalStrength)); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat3 g_vSelfIllumTintScaled < UiType(VectorText); Expression(pow(2,g_flSelfIllumBrightness).x*g_flSelfIllumScale.x*SrgbGammaToLinear(g_vSelfIllumTint.xyz)); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n@@ -513,17 +513,17 @@ PS\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n \t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n \t\n-\tstruct _2872\n+\tstruct _113\n \t{\n \t float4 _m0[3];\n \t};\n \t\n-\tstruct _71\n+\tstruct _323\n \t{\n \t float4 _m0[4];\n \t};\n \t\n-\tstruct _2139\n+\tstruct _244\n \t{\n \t column_major float4x4 _m0[4];\n \t};\n@@ -562,20 +562,20 @@ PS\n \tcbuffer _Globals_ : register(b0, space1)\n \t{\n \t uint _Globals_1_g_tColor : packoffset(c0);\n-\t uint _Globals_1_g_sTrilinearWrap : packoffset(c3.w);\n-\t uint _Globals_1_g_sTrilinearClamp : packoffset(c4);\n-\t uint _Globals_1_g_sPointClamp : packoffset(c4.y);\n-\t uint _Globals_1_g_sUserConfig : packoffset(c5);\n-\t uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c5.y);\n-\t uint _Globals_1_g_sCookieSampler : packoffset(c5.w);\n-\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c6);\n-\t int _Globals_1_g_bFogEnabled : packoffset(c6.z);\n-\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c6.w);\n-\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c7);\n-\t float _Globals_1_g_flReflectance : packoffset(c7.y);\n-\t uint _Globals_1_g_tNormal : packoffset(c11);\n-\t uint _Globals_1_g_tAmbientOcclusion : packoffset(c11.w);\n-\t float _Globals_1_g_flMetalness : packoffset(c12);\n+\t uint _Globals_1_g_sTrilinearWrap : packoffset(c4);\n+\t uint _Globals_1_g_sTrilinearClamp : packoffset(c4.y);\n+\t uint _Globals_1_g_sPointClamp : packoffset(c4.z);\n+\t uint _Globals_1_g_sUserConfig : packoffset(c5.y);\n+\t uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c5.z);\n+\t uint _Globals_1_g_sCookieSampler : packoffset(c6);\n+\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c6.y);\n+\t int _Globals_1_g_bFogEnabled : packoffset(c6.w);\n+\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c7);\n+\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c7.y);\n+\t float _Globals_1_g_flReflectance : packoffset(c7.z);\n+\t uint _Globals_1_g_tNormal : packoffset(c11.y);\n+\t uint _Globals_1_g_tAmbientOcclusion : packoffset(c12);\n+\t float _Globals_1_g_flMetalness : packoffset(c12.y);\n \t};\n \t\n \tcbuffer PerViewConstantBufferCsgo_t : register(b3, space1)\n@@ -605,8 +605,8 @@ PS\n \t\n \tcbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3)\n \t{\n-\t _2872 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n-\t _71 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n+\t _113 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n+\t _323 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);\n@@ -623,8 +623,8 @@ PS\n \t float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y);\n \t float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z);\n \t float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);\n-\t _2139 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);\n-\t _71 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);\n+\t _244 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);\n+\t _323 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);\n \t uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996);\n \t uint PerViewLightingConstantBufferGpu_t_1_m21 : packoffset(c1996.y);\n \t};\n@@ -810,99 +810,110 @@ PS\n \t {\n \t _21710 = 1.0f;\n \t }\n-\t float _21711;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735);\n+\t float _12320;\n \t [branch]\n-\t if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)\n+\t if (_8634 > 0.0f)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t float3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12503;\n+\t [branch]\n+\t if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))\n-\t {\n-\t _13136 = 1.0f;\n-\t _14975 = 0.0f.xxx;\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t float3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float3 _19470 = float3(_12779, _18322.yz);\n-\t float2 _24804 = _19470.xy;\n-\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);\n-\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;\n-\t float3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))\n+\t {\n+\t _13136 = 1.0f;\n+\t _14975 = 0.0f.xxx;\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])\n+\t {\n+\t float3 _19470 = float3(_12779, _18322.yz);\n+\t float2 _24804 = _19470.xy;\n+\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);\n+\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;\n+\t float3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));\n-\t float _12501;\n-\t [branch]\n-\t if (_13136 < 1.0f)\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))\n+\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));\n+\t float _12501;\n+\t [branch]\n+\t if (_13136 < 1.0f)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));\n-\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;\n-\t float3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));\n+\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;\n+\t float3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0f;\n+\t }\n+\t _12501 = lerp(_7934, _18270, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0f;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = lerp(_7934, _18270, _13136);\n+\t _19363 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _19363 = 1.0f;\n \t }\n-\t _19363 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0f;\n-\t }\n-\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));\n-\t float _12502;\n-\t if (_24465.y)\n-\t {\n-\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));\n+\t float _12502;\n+\t if (_24465.y)\n+\t {\n+\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t }\n+\t else\n+\t {\n+\t _12502 = _13279;\n+\t }\n+\t _12503 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _13279;\n+\t _12503 = 1.0f;\n \t }\n-\t _21711 = _12502;\n+\t _12320 = _12503;\n \t }\n \t else\n \t {\n-\t _21711 = 1.0f;\n+\t _12320 = 1.0f;\n \t }\n \t float3 _9716;\n \t float3 _24878;\n \t [branch]\n-\t if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735) * _21711) > 0.0f)\n+\t if ((_8634 * _12320) > 0.0f)\n \t {\n \t bool3 _19899 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;\n \t float _11797 = max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz));\n@@ -914,7 +925,7 @@ PS\n \t float _25211 = _9850 * _9850;\n \t float _19095 = _25211 * _25211;\n \t float _15346 = ((_12386 * _12386) * (_19095 - 1.0f)) + 1.0f;\n-\t float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21711).xyz;\n+\t float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _12320).xyz;\n \t _9716 = ((_12351.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0f) + 2.0f)))).xyz * _11797).xyz * _16808;\n \t _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (_11797.xxx.xyz * _16808);\n \t }\n@@ -1117,7 +1128,7 @@ PS\n \t }\n \t else\n \t {\n-\t float3 _12503;\n+\t float3 _12504;\n \t if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f)\n \t {\n \t float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);\n@@ -1133,7 +1144,7 @@ PS\n \t float3 _20492 = _14081;\n \t _20492.x = _20564.x;\n \t _20492.y = _20564.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;\n \t }\n \t else\n \t {\n@@ -1142,9 +1153,9 @@ PS\n \t float3 _20491 = _13791;\n \t _20491.x = _20563.x;\n \t _20491.y = _20563.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;\n \t }\n-\t _21548 = _12503;\n+\t _21548 = _12504;\n \t }\n \t if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z)))\n \t {\n@@ -1190,9 +1201,9 @@ PS\n \t float _19211 = max(0.0f, dot(_11179.xyz, _12282));\n \t float _9851 = _9841.x;\n \t float _25212 = _9851 * _9851;\n-\t float _19097 = _25212 * _25212;\n-\t float _15348 = ((_12387 * _12387) * (_19097 - 1.0f)) + 1.0f;\n-\t _13212 = _13138.xyz + (((_12351.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);\n+\t float _19096 = _25212 * _25212;\n+\t float _15348 = ((_12387 * _12387) * (_19096 - 1.0f)) + 1.0f;\n+\t _13212 = _13138.xyz + (((_12351.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);\n \t _15670 = _16325.xyz + (_11798.xxx.xyz * _22671.xyz);\n \t break;\n \t } while(false);\n@@ -1827,8 +1838,8 @@ RTX\n \tvoid main()\n \t{\n \t uint _452 = g_instanceBuffer._member0[uint(gl_InstanceID)].nMaterialData;\n-\t uint _497 = g_MaterialData_1._member0[(_452 + 28u) / 4u];\n-\t uint _496 = g_MaterialData_1._member0[(_452 + 32u) / 4u];\n+\t uint _497 = g_MaterialData_1._member0[(_452 + 32u) / 4u];\n+\t uint _496 = g_MaterialData_1._member0[(_452 + 36u) / 4u];\n \t vec4 _495 = vec4(g_MaterialData_3._member0[(_452 + 144u) / 4u], g_MaterialData_3._member0[(_452 + 148u) / 4u], g_MaterialData_3._member0[(_452 + 152u) / 4u], g_MaterialData_3._member0[(_452 + 156u) / 4u]);\n \t vec4 _494 = vec4(g_MaterialData_3._member0[(_452 + 160u) / 4u], g_MaterialData_3._member0[(_452 + 164u) / 4u], g_MaterialData_3._member0[(_452 + 168u) / 4u], g_MaterialData_3._member0[(_452 + 172u) / 4u]);\n \t vec2 _493 = vec2(g_MaterialData_3._member0[(_452 + 176u) / 4u], g_MaterialData_3._member0[(_452 + 180u) / 4u]);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_customglove.slang",
"status": "modified",
"additions": 25,
"deletions": 25,
"changes": 50,
"patch": "@@ -349,7 +349,7 @@ PS\n \tCreateInputTexture2D(TextureGrime1, Srgb, 8, \"\", \"_color\", \"Material1/Grime,6/1\", Default4(0.5, 0.5, 0.5, 0));\n \tCreateInputTexture2D(TextureSubstrateAlbedo1, Srgb, 8, \"\", \"_color\", \"Material1/Substrate Layer,2/1\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceAlbedo1, Srgb, 8, \"\", \"_color\", \"Material1/Surface Layer,1/1\", Default4(1, 1, 1, 0));\n-\tfloat2 g_vDamageLevels1 < Default(0); UiType(VectorText); UiGroup(\"Material1,1/Detail Damage/1\"); >;\n+\tfloat2 g_vDamageLevels1 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material1,1/Detail Damage/1\"); >;\n \tCreateInputTexture2D(TextureSubstrateTintMask1, Linear, 8, \"\", \"_tintmask\", \"Material1/Substrate Layer/2\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceTintMask1, Linear, 8, \"\", \"_tintmask\", \"Material1/Surface Layer/2\", Default4(1, 1, 1, 0));\n \tfloat g_fCurvaturePower1 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup(\"Material1/Detail Damage/2\"); >;\n@@ -373,16 +373,16 @@ PS\n \tCreateInputTexture2D(TextureDetailNormal1, Linear, 8, \"\", \"_detailnormal\", \"Material1/Normal/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tCreateInputTexture2D(TextureGrunge1, Linear, 8, \"\", \"_grunge\", \"Material1/Grunge/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageMetalness1 < UiType(Slider); UiGroup(\"Material1/Detail Damage/10\"); >;\n-\tfloat2 g_vSurfaceGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/10\"); >;\n+\tfloat2 g_vSurfaceGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/10\"); >;\n \tCreateInputTexture2D(TextureDamageNormal1, Linear, 8, \"\", \"_damagenormal\", \"Material1/Normal/11\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageCloth1 < UiType(Slider); UiGroup(\"Material1/Detail Damage/11\"); UiVisibility(F_CLOTH_SHADING); >;\n \tfloat g_fDamageHeightBlendSoftness1 < Default(0.01); UiType(Slider); UiGroup(\"Material1/Damage Height/11\"); Expression(max(this,.001)); >;\n \tfloat g_fDetailGrunge1 < Range(0, 2); UiType(Slider); UiGroup(\"Material1/Grunge/11\"); >;\n \tfloat g_fDetailScale1 < Default(4); Range(-10, 10); UiType(Slider); UiGroup(\"Material1/Detail/11\"); >;\n-\tfloat2 g_vSubstrateGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/11\"); >;\n+\tfloat2 g_vSubstrateGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/11\"); >;\n \tfloat g_fDetailNormalContrast1 < Default(1); Range(0, 8); UiType(Slider); UiGroup(\"Material1/Normal/12\"); >;\n \tfloat g_fDetailRoughnessContrast1 < Range(-1, 1); UiType(Slider); UiGroup(\"Material1/Detail/12\"); >;\n-\tfloat2 g_vDamageMinMax1 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material1/Damage Height/12\"); >;\n+\tfloat2 g_vDamageMinMax1 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material1/Damage Height/12\"); >;\n \tfloat g_fDetailRoughnessBrightness1 < Default(1); Range(0, 10); UiType(Slider); UiGroup(\"Material1/Detail/13\"); >;\n \tfloat g_fWearBleaching1 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup(\"Material1/Wear Edge/13\"); >;\n \tfloat g_fDetailAnisotropyScalar1 < Range(-1, 1); UiType(Slider); UiGroup(\"Material1/Detail/14\"); >;\n@@ -429,12 +429,12 @@ PS\n \tCreateInputTexture2D(TextureSubstrateMetalness1, Srgb, 8, \"\", \"_metal\", \"Material1/Substrate Layer/40\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureSurfaceMetalness1, Linear, 8, \"\", \"_metal\", \"Material1/Surface Layer/40\", Default4(0, 0, 0, 0));\n \tfloat g_fDamageBevelRoughnessBrightness1 < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Material1/Damage Bevel/40\"); >;\n-\tfloat2 g_vSurfaceBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup(\"Material1/Burnishing/40\"); >;\n+\tfloat2 g_vSurfaceBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material1/Burnishing/40\"); >;\n \tCreateInputTexture2D(TextureSubstrateClothMask1, Srgb, 8, \"\", \"_mask\", \"Material1/Substrate Layer/41\", \"materials/default/default_black_mask.tga\");\n \tCreateInputTexture2D(TextureSurfaceClothMask1, Linear, 8, \"\", \"_mask\", \"Material1/Surface Layer/41\", \"materials/default/default_black_mask.tga\");\n \tfloat g_fDamageBevelAnisotropy1 < UiType(Slider); UiGroup(\"Material1/Damage Bevel/41\"); >;\n \tfloat g_fDamageNormalEdgeWidth1 < Default(1); Range(0, 8); UiType(Slider); UiGroup(\"Material1,1/Wear Edge/41\"); >;\n-\tfloat2 g_vSubstrateBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup(\"Material1/Burnishing/41\"); >;\n+\tfloat2 g_vSubstrateBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material1/Burnishing/41\"); >;\n \tfloat g_fDamageEdgeRoughness1 < Default(0.8); UiType(Slider); UiGroup(\"Material1/Wear Edge/42\"); >;\n \tfloat g_fDamageEdgeMetalness1 < UiType(Slider); UiGroup(\"Material1/Wear Edge/43\"); >;\n \tfloat g_fDamageBevelMetalness1 < UiType(Slider); UiGroup(\"Material1/Damage Bevel/50\"); >;\n@@ -447,7 +447,7 @@ PS\n \tCreateInputTexture2D(TextureGrime2, Srgb, 8, \"\", \"_color\", \"Material2/Grime,6/1\", Default4(0.5, 0.5, 0.5, 0));\n \tCreateInputTexture2D(TextureSubstrateAlbedo2, Srgb, 8, \"\", \"_color\", \"Material2/Substrate Layer,2/1\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceAlbedo2, Srgb, 8, \"\", \"_color\", \"Material2/Surface Layer,1/1\", Default4(1, 1, 1, 0));\n-\tfloat2 g_vDamageLevels2 < Default(0); UiType(VectorText); UiGroup(\"Material2/Detail Damage/1\"); >;\n+\tfloat2 g_vDamageLevels2 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material2/Detail Damage/1\"); >;\n \tCreateInputTexture2D(TextureSubstrateTintMask2, Linear, 8, \"\", \"_tintmask\", \"Material2/Substrate Layer/2\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceTintMask2, Linear, 8, \"\", \"_tintmask\", \"Material2/Surface Layer/2\", Default4(1, 1, 1, 0));\n \tfloat g_fCurvaturePower2 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup(\"Material2/Detail Damage/2\"); >;\n@@ -471,16 +471,16 @@ PS\n \tCreateInputTexture2D(TextureDetailNormal2, Linear, 8, \"\", \"_detailnormal\", \"Material2/Normal/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tCreateInputTexture2D(TextureGrunge2, Linear, 8, \"\", \"_grunge\", \"Material2/Grunge/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageMetalness2 < UiType(Slider); UiGroup(\"Material2/Detail Damage/10\"); >;\n-\tfloat2 g_vSurfaceGrimeMinMax2 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material2/Grime/10\"); >;\n+\tfloat2 g_vSurfaceGrimeMinMax2 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material2/Grime/10\"); >;\n \tCreateInputTexture2D(TextureDamageNormal2, Linear, 8, \"\", \"_damagenormal\", \"Material2/Normal/11\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageCloth2 < UiType(Slider); UiGroup(\"Material2/Detail Damage/11\"); UiVisibility(F_CLOTH_SHADING); >;\n \tfloat g_fDamageHeightBlendSoftness2 < Default(0.01); UiType(Slider); UiGroup(\"Material2/Damage Height/11\"); Expression(max(this,.001)); >;\n \tfloat g_fDetailGrunge2 < Range(0, 2); UiType(Slider); UiGroup(\"Material2/Grunge/11\"); >;\n \tfloat g_fDetailScale2 < Default(4); Range(-10, 10); UiType(Slider); UiGroup(\"Material2/Detail/11\"); >;\n-\tfloat2 g_vSubstrateGrimeMinMax2 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material2/Grime/11\"); >;\n+\tfloat2 g_vSubstrateGrimeMinMax2 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material2/Grime/11\"); >;\n \tfloat g_fDetailNormalContrast2 < Default(1); Range(0, 8); UiType(Slider); UiGroup(\"Material2/Normal/12\"); >;\n \tfloat g_fDetailRoughnessContrast2 < Range(-1, 1); UiType(Slider); UiGroup(\"Material2/Detail/12\"); >;\n-\tfloat2 g_vDamageMinMax2 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material2/Damage Height/12\"); >;\n+\tfloat2 g_vDamageMinMax2 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material2/Damage Height/12\"); >;\n \tfloat g_fDetailRoughnessBrightness2 < Default(1); Range(0, 10); UiType(Slider); UiGroup(\"Material2/Detail/13\"); >;\n \tfloat g_fWearBleaching2 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup(\"Material2/Grunge/13\"); >;\n \tfloat g_fDetailAnisotropyScalar2 < Range(-1, 1); UiType(Slider); UiGroup(\"Material2/Detail/14\"); >;\n@@ -521,11 +521,11 @@ PS\n \tCreateInputTexture2D(TextureSubstrateMetalness2, Srgb, 8, \"\", \"_metal\", \"Material2/Substrate Layer/40\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureSurfaceMetalness2, Linear, 8, \"\", \"_metal\", \"Material2/Surface Layer/40\", Default4(0, 0, 0, 0));\n \tfloat g_fDamageBevelRoughnessBrightness2 < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Material2/Damage Bevel/40\"); >;\n-\tfloat2 g_vSurfaceBurnishingMinMax2 < Default(0); UiType(VectorText); UiGroup(\"Material2/Burnishing/40\"); >;\n+\tfloat2 g_vSurfaceBurnishingMinMax2 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material2/Burnishing/40\"); >;\n \tCreateInputTexture2D(TextureSubstrateClothMask2, Srgb, 8, \"\", \"_mask\", \"Material2/Substrate Layer/41\", \"materials/default/default_black_mask.tga\");\n \tCreateInputTexture2D(TextureSurfaceClothMask2, Linear, 8, \"\", \"_mask\", \"Material2/Surface Layer/41\", \"materials/default/default_black_mask.tga\");\n \tfloat g_fDamageBevelAnisotropy2 < UiType(Slider); UiGroup(\"Material2/Damage Bevel/41\"); >;\n-\tfloat2 g_vSubstrateBurnishingMinMax2 < Default(0); UiType(VectorText); UiGroup(\"Material2/Burnishing/41\"); >;\n+\tfloat2 g_vSubstrateBurnishingMinMax2 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material2/Burnishing/41\"); >;\n \tfloat g_fDamageBevelMetalness2 < UiType(Slider); UiGroup(\"Material2/Damage Bevel/50\"); >;\n \tfloat g_fDamageBevelCloth2 < UiType(Slider); UiGroup(\"Material2/Damage Bevel/60\"); >;\n \tbool g_bDamageBevelBlendToSubstrate2 < UiType(CheckBox); UiGroup(\"Material2/Damage Bevel/80\"); >;\n@@ -536,7 +536,7 @@ PS\n \tCreateInputTexture2D(TextureGrime3, Srgb, 8, \"\", \"_color\", \"Material3/Grime,6/1\", Default4(0.5, 0.5, 0.5, 0));\n \tCreateInputTexture2D(TextureSubstrateAlbedo3, Srgb, 8, \"\", \"_color\", \"Material3/Substrate Layer,2/1\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceAlbedo3, Srgb, 8, \"\", \"_color\", \"Material3/Surface Layer,1/1\", Default4(1, 1, 1, 0));\n-\tfloat2 g_vDamageLevels3 < Default(0); UiType(VectorText); UiGroup(\"Material3/Detail Damage/1\"); >;\n+\tfloat2 g_vDamageLevels3 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material3/Detail Damage/1\"); >;\n \tCreateInputTexture2D(TextureSubstrateTintMask3, Linear, 8, \"\", \"_tintmask\", \"Material3/Substrate Layer/2\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceTintMask3, Linear, 8, \"\", \"_tintmask\", \"Material3/Surface Layer/2\", Default4(1, 1, 1, 0));\n \tfloat g_fCurvaturePower3 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup(\"Material3/Detail Damage/2\"); >;\n@@ -560,16 +560,16 @@ PS\n \tCreateInputTexture2D(TextureDetailNormal3, Linear, 8, \"\", \"_detailnormal\", \"Material3/Normal/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tCreateInputTexture2D(TextureGrunge3, Linear, 8, \"\", \"_grunge\", \"Material3/Grunge/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageMetalness3 < UiType(Slider); UiGroup(\"Material3/Detail Damage/10\"); >;\n-\tfloat2 g_vSurfaceGrimeMinMax3 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material3/Grime/10\"); >;\n+\tfloat2 g_vSurfaceGrimeMinMax3 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material3/Grime/10\"); >;\n \tCreateInputTexture2D(TextureDamageNormal3, Linear, 8, \"\", \"_damagenormal\", \"Material3/Normal/11\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageCloth3 < UiType(Slider); UiGroup(\"Material3/Detail Damage/11\"); UiVisibility(F_CLOTH_SHADING); >;\n \tfloat g_fDamageHeightBlendSoftness3 < Default(0.01); UiType(Slider); UiGroup(\"Material3/Damage Height/11\"); Expression(max(this,.001)); >;\n \tfloat g_fDetailGrunge3 < Range(0, 2); UiType(Slider); UiGroup(\"Material3/Grunge/11\"); >;\n \tfloat g_fDetailScale3 < Default(4); Range(-10, 10); UiType(Slider); UiGroup(\"Material3/Detail/11\"); >;\n-\tfloat2 g_vSubstrateGrimeMinMax3 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material3/Grime/11\"); >;\n+\tfloat2 g_vSubstrateGrimeMinMax3 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material3/Grime/11\"); >;\n \tfloat g_fDetailNormalContrast3 < Default(1); Range(0, 8); UiType(Slider); UiGroup(\"Material3/Normal/12\"); >;\n \tfloat g_fDetailRoughnessContrast3 < Range(-1, 1); UiType(Slider); UiGroup(\"Material3/Detail/12\"); >;\n-\tfloat2 g_vDamageMinMax3 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material3/Damage Height/12\"); >;\n+\tfloat2 g_vDamageMinMax3 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material3/Damage Height/12\"); >;\n \tfloat g_fDetailRoughnessBrightness3 < Default(1); Range(0, 10); UiType(Slider); UiGroup(\"Material3/Detail/13\"); >;\n \tfloat g_fWearBleaching3 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup(\"Material3/Wear Edge/13\"); >;\n \tfloat g_fDetailAnisotropyScalar3 < Range(-1, 1); UiType(Slider); UiGroup(\"Material3/Detail/14\"); >;\n@@ -611,11 +611,11 @@ PS\n \tCreateInputTexture2D(TextureSubstrateMetalness3, Srgb, 8, \"\", \"_metal\", \"Material3/Substrate Layer/40\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureSurfaceMetalness3, Linear, 8, \"\", \"_metal\", \"Material3/Surface Layer/40\", Default4(0, 0, 0, 0));\n \tfloat g_fDamageBevelRoughnessBrightness3 < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Material3/Damage Bevel/40\"); >;\n-\tfloat2 g_vSurfaceBurnishingMinMax3 < Default(0); UiType(VectorText); UiGroup(\"Material3/Burnishing/40\"); >;\n+\tfloat2 g_vSurfaceBurnishingMinMax3 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material3/Burnishing/40\"); >;\n \tCreateInputTexture2D(TextureSubstrateClothMask3, Srgb, 8, \"\", \"_mask\", \"Material3/Substrate Layer/41\", \"materials/default/default_black_mask.tga\");\n \tCreateInputTexture2D(TextureSurfaceClothMask3, Linear, 8, \"\", \"_mask\", \"Material3/Surface Layer/41\", \"materials/default/default_black_mask.tga\");\n \tfloat g_fDamageBevelAnisotropy3 < UiType(Slider); UiGroup(\"Material3/Damage Bevel/41\"); >;\n-\tfloat2 g_vSubstrateBurnishingMinMax3 < Default(0); UiType(VectorText); UiGroup(\"Material3/Burnishing/41\"); >;\n+\tfloat2 g_vSubstrateBurnishingMinMax3 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material3/Burnishing/41\"); >;\n \tfloat g_fDamageBevelMetalness3 < UiType(Slider); UiGroup(\"Material3/Damage Bevel/50\"); >;\n \tfloat g_fDamageBevelCloth3 < UiType(Slider); UiGroup(\"Material3/Damage Bevel/60\"); >;\n \tbool g_bDamageBevelBlendToSubstrate3 < UiType(CheckBox); UiGroup(\"Material3/Damage Bevel/80\"); >;\n@@ -626,7 +626,7 @@ PS\n \tCreateInputTexture2D(TextureGrime4, Srgb, 8, \"\", \"_color\", \"Material4/Grime,6/1\", Default4(0.5, 0.5, 0.5, 0));\n \tCreateInputTexture2D(TextureSubstrateAlbedo4, Srgb, 8, \"\", \"_color\", \"Material4/Substrate Layer,2/1\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceAlbedo4, Srgb, 8, \"\", \"_color\", \"Material4/Surface Layer/1\", Default4(1, 1, 1, 0));\n-\tfloat2 g_vDamageLevels4 < Default(0); UiType(VectorText); UiGroup(\"Material4/Detail Damage/1\"); >;\n+\tfloat2 g_vDamageLevels4 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material4/Detail Damage/1\"); >;\n \tCreateInputTexture2D(TextureSubstrateTintMask4, Linear, 8, \"\", \"_tintmask\", \"Material4/Substrate Layer/2\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceTintMask4, Linear, 8, \"\", \"_tintmask\", \"Material4/Surface Layer/2\", Default4(1, 1, 1, 0));\n \tfloat g_fCurvaturePower4 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup(\"Material4/Detail Damage/2\"); >;\n@@ -650,16 +650,16 @@ PS\n \tCreateInputTexture2D(TextureDetailNormal4, Linear, 8, \"\", \"_detailnormal\", \"Material4/Normal/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tCreateInputTexture2D(TextureGrunge4, Linear, 8, \"\", \"_grunge\", \"Material4/Grunge/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageMetalness4 < UiType(Slider); UiGroup(\"Material4/Detail Damage/10\"); >;\n-\tfloat2 g_vSurfaceGrimeMinMax4 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material4/Grime/10\"); >;\n+\tfloat2 g_vSurfaceGrimeMinMax4 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material4/Grime/10\"); >;\n \tCreateInputTexture2D(TextureDamageNormal4, Linear, 8, \"\", \"_damagenormal\", \"Material4/Normal/11\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageCloth4 < UiType(Slider); UiGroup(\"Material4/Detail Damage/11\"); UiVisibility(F_CLOTH_SHADING); >;\n \tfloat g_fDamageHeightBlendSoftness4 < Default(0.01); UiType(Slider); UiGroup(\"Material4/Damage Height/11\"); Expression(max(this,.001)); >;\n \tfloat g_fDetailGrunge4 < Range(0, 2); UiType(Slider); UiGroup(\"Material4/Grunge/11\"); >;\n \tfloat g_fDetailScale4 < Default(4); Range(-10, 10); UiType(Slider); UiGroup(\"Material4/Detail/11\"); >;\n-\tfloat2 g_vSubstrateGrimeMinMax4 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material4/Grime/11\"); >;\n+\tfloat2 g_vSubstrateGrimeMinMax4 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material4/Grime/11\"); >;\n \tfloat g_fDetailNormalContrast4 < Default(1); Range(0, 8); UiType(Slider); UiGroup(\"Material4/Normal/12\"); >;\n \tfloat g_fDetailRoughnessContrast4 < Range(-1, 1); UiType(Slider); UiGroup(\"Material4/Detail/12\"); >;\n-\tfloat2 g_vDamageMinMax4 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material4/Damage Height/12\"); >;\n+\tfloat2 g_vDamageMinMax4 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material4/Damage Height/12\"); >;\n \tfloat g_fDetailRoughnessBrightness4 < Default(1); Range(0, 10); UiType(Slider); UiGroup(\"Material4/Detail/13\"); >;\n \tfloat g_fWearBleaching4 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup(\"Material4/Wear Edge/13\"); >;\n \tfloat g_fDetailAnisotropyScalar4 < Range(-1, 1); UiType(Slider); UiGroup(\"Material4/Detail/14\"); >;\n@@ -702,11 +702,11 @@ PS\n \tCreateInputTexture2D(TextureSubstrateMetalness4, Srgb, 8, \"\", \"_metal\", \"Material4/Substrate Layer/40\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureSurfaceMetalness4, Linear, 8, \"\", \"_metal\", \"Material4/Surface Layer/40\", Default4(0, 0, 0, 0));\n \tfloat g_fDamageBevelRoughnessBrightness4 < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Material4/Damage Bevel/40\"); >;\n-\tfloat2 g_vSurfaceBurnishingMinMax4 < Default(0); UiType(VectorText); UiGroup(\"Material4/Burnishing/40\"); >;\n+\tfloat2 g_vSurfaceBurnishingMinMax4 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material4/Burnishing/40\"); >;\n \tCreateInputTexture2D(TextureSubstrateClothMask4, Srgb, 8, \"\", \"_mask\", \"Material4/Substrate Layer/41\", \"materials/default/default_black_mask.tga\");\n \tCreateInputTexture2D(TextureSurfaceClothMask4, Linear, 8, \"\", \"_mask\", \"Material4/Surface Layer/41\", \"materials/default/default_black_mask.tga\");\n \tfloat g_fDamageBevelAnisotropy4 < UiType(Slider); UiGroup(\"Material4/Damage Bevel/41\"); >;\n-\tfloat2 g_vSubstrateBurnishingMinMax4 < Default(0); UiType(VectorText); UiGroup(\"Material4/Burnishing/41\"); >;\n+\tfloat2 g_vSubstrateBurnishingMinMax4 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material4/Burnishing/41\"); >;\n \tfloat g_fDamageBevelMetalness4 < UiType(Slider); UiGroup(\"Material4/Damage Bevel/50\"); >;\n \tfloat g_fDamageBevelCloth4 < UiType(Slider); UiGroup(\"Material4/Damage Bevel/60\"); >;\n \tbool g_bDamageBevelBlendToSubstrate4 < UiType(CheckBox); UiGroup(\"Material4/Damage Bevel/80\"); >;\n@@ -969,7 +969,7 @@ PS\n \tlayout(set = 1) uniform _2422 _Globals_;\n \t\n \tlayout(set = 1, binding = 37) uniform texture2D g_tLayerMask;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 30) uniform texture2D g_tSurface;\n \tlayout(set = 1, binding = 33) uniform texture2D g_tDetail1;\n \tlayout(set = 1, binding = 39) uniform texture2D g_tDetail2;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_customglove_preview.slang",
"status": "modified",
"additions": 191,
"deletions": 180,
"changes": 371,
"patch": "@@ -417,7 +417,7 @@ PS\n \tTexture2D g_tSurfaceProperties3 < Channel(R, Box3(TextureSurfaceAmbientOcclusion3), Linear); Channel(G, Box(TextureSurfaceMetalness3), Linear); Channel(B, Box(TextureSurfaceClothMask3), Linear); Channel(A, Box(TextureSurfaceHeight3), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tSurfaceProperties4 < Channel(R, Box3(TextureSurfaceAmbientOcclusion4), Linear); Channel(G, Box(TextureSurfaceMetalness4), Linear); Channel(B, Box(TextureSurfaceClothMask4), Linear); Channel(A, Box(TextureSurfaceHeight4), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tTintId < Channel(RGB, None(TextureObjectTintId), Linear); OutputFormat(R8_UNORM); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Material1\n@@ -439,10 +439,10 @@ PS\n \tfloat g_fSurfaceColorSaturation1 < Default(1); Range(0, 4); UiType(Slider); UiGroup(\"Material1/Surface Layer/7\"); >;\n \tfloat g_fSubstrateColorBrightness1 < Default(1); Range(-8, 8); UiType(Slider); UiGroup(\"Material1/Substrate Layer/8\"); >;\n \tfloat g_fSurfaceColorBrightness1 < Default(1); Range(-8, 8); UiType(Slider); UiGroup(\"Material1/Surface Layer/8\"); >;\n-\tfloat2 g_vSurfaceGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/10\"); >;\n+\tfloat2 g_vSurfaceGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/10\"); >;\n \tfloat g_fDamageHeightBlendSoftness1 < Default(0.01); UiType(Slider); UiGroup(\"Material1/Damage Height/11\"); Expression(max(this,.001)); >;\n-\tfloat2 g_vSubstrateGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/11\"); >;\n-\tfloat2 g_vDamageMinMax1 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material1/Damage Height/12\"); >;\n+\tfloat2 g_vSubstrateGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/11\"); >;\n+\tfloat2 g_vDamageMinMax1 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material1/Damage Height/12\"); >;\n \tfloat g_fBurnishingGrime1 < Default(0.5); UiType(Slider); UiGroup(\"Material1/Grime/20\"); >;\n \tfloat3 g_vBurnishingColorTint1 < Default3(1, 1, 1); UiType(Color); UiGroup(\"Material1/Burnishing,5/20\"); >;\n \tfloat3 g_vDamageBevelColorTint1 < Default3(1, 1, 1); UiType(Color); UiGroup(\"Material1/Damage Bevel,4/20\"); >;\n@@ -478,11 +478,11 @@ PS\n \tCreateInputTexture2D(TextureSubstrateMetalness1, Srgb, 8, \"\", \"_metal\", \"Material1/Substrate Layer/40\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureSurfaceMetalness1, Linear, 8, \"\", \"_metal\", \"Material1/Surface Layer/40\", Default4(0, 0, 0, 0));\n \tfloat g_fDamageBevelRoughnessBrightness1 < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Material1/Damage Bevel/40\"); >;\n-\tfloat2 g_vSurfaceBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup(\"Material1/Burnishing/40\"); >;\n+\tfloat2 g_vSurfaceBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material1/Burnishing/40\"); >;\n \tCreateInputTexture2D(TextureSubstrateClothMask1, Srgb, 8, \"\", \"_mask\", \"Material1/Substrate Layer/41\", \"materials/default/default_black_mask.tga\");\n \tCreateInputTexture2D(TextureSurfaceClothMask1, Linear, 8, \"\", \"_mask\", \"Material1/Surface Layer/41\", \"materials/default/default_black_mask.tga\");\n \tfloat g_fDamageBevelAnisotropy1 < UiType(Slider); UiGroup(\"Material1/Damage Bevel/41\"); >;\n-\tfloat2 g_vSubstrateBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup(\"Material1/Burnishing/41\"); >;\n+\tfloat2 g_vSubstrateBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material1/Burnishing/41\"); >;\n \tfloat g_fDamageBevelMetalness1 < UiType(Slider); UiGroup(\"Material1/Damage Bevel/50\"); >;\n \tfloat g_fDamageBevelCloth1 < UiType(Slider); UiGroup(\"Material1/Damage Bevel/60\"); >;\n \tbool g_bDamageBevelBlendToSubstrate1 < UiType(CheckBox); UiGroup(\"Material1/Damage Bevel/80\"); >;\n@@ -506,10 +506,10 @@ PS\n \tfloat g_fSurfaceColorSaturation2 < Default(1); Range(0, 4); UiType(Slider); UiGroup(\"Material2/Surface Layer/7\"); >;\n \tfloat g_fSubstrateColorBrightness2 < Default(1); Range(-8, 8); UiType(Slider); UiGroup(\"Material2/Substrate Layer/8\"); >;\n \tfloat g_fSurfaceColorBrightness2 < Default(1); Range(-8, 8); UiType(Slider); UiGroup(\"Material2/Surface Layer/8\"); >;\n-\tfloat2 g_vSurfaceGrimeMinMax2 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material2/Grime/10\"); >;\n+\tfloat2 g_vSurfaceGrimeMinMax2 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material2/Grime/10\"); >;\n \tfloat g_fDamageHeightBlendSoftness2 < Default(0.01); UiType(Slider); UiGroup(\"Material2/Damage Height/11\"); Expression(max(this,.001)); >;\n-\tfloat2 g_vSubstrateGrimeMinMax2 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material2/Grime/11\"); >;\n-\tfloat2 g_vDamageMinMax2 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material2/Damage Height/12\"); >;\n+\tfloat2 g_vSubstrateGrimeMinMax2 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material2/Grime/11\"); >;\n+\tfloat2 g_vDamageMinMax2 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material2/Damage Height/12\"); >;\n \tfloat g_fBurnishingGrime2 < Default(0.5); UiType(Slider); UiGroup(\"Material2/Grime/20\"); >;\n \tfloat3 g_vBurnishingColorTint2 < Default3(1, 1, 1); UiType(Color); UiGroup(\"Material2/Burnishing,5/20\"); >;\n \tfloat3 g_vDamageBevelColorTint2 < Default3(1, 1, 1); UiType(Color); UiGroup(\"Material2/Damage Bevel,4/20\"); >;\n@@ -537,11 +537,11 @@ PS\n \tCreateInputTexture2D(TextureSubstrateMetalness2, Srgb, 8, \"\", \"_metal\", \"Material2/Substrate Layer/40\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureSurfaceMetalness2, Linear, 8, \"\", \"_metal\", \"Material2/Surface Layer/40\", Default4(0, 0, 0, 0));\n \tfloat g_fDamageBevelRoughnessBrightness2 < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Material2/Damage Bevel/40\"); >;\n-\tfloat2 g_vSurfaceBurnishingMinMax2 < Default(0); UiType(VectorText); UiGroup(\"Material2/Burnishing/40\"); >;\n+\tfloat2 g_vSurfaceBurnishingMinMax2 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material2/Burnishing/40\"); >;\n \tCreateInputTexture2D(TextureSubstrateClothMask2, Srgb, 8, \"\", \"_mask\", \"Material2/Substrate Layer/41\", \"materials/default/default_black_mask.tga\");\n \tCreateInputTexture2D(TextureSurfaceClothMask2, Linear, 8, \"\", \"_mask\", \"Material2/Surface Layer/41\", \"materials/default/default_black_mask.tga\");\n \tfloat g_fDamageBevelAnisotropy2 < UiType(Slider); UiGroup(\"Material2/Damage Bevel/41\"); >;\n-\tfloat2 g_vSubstrateBurnishingMinMax2 < Default(0); UiType(VectorText); UiGroup(\"Material2/Burnishing/41\"); >;\n+\tfloat2 g_vSubstrateBurnishingMinMax2 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material2/Burnishing/41\"); >;\n \tfloat g_fDamageBevelMetalness2 < UiType(Slider); UiGroup(\"Material2/Damage Bevel/50\"); >;\n \tfloat g_fDamageBevelCloth2 < UiType(Slider); UiGroup(\"Material2/Damage Bevel/60\"); >;\n \tbool g_bDamageBevelBlendToSubstrate2 < UiType(CheckBox); UiGroup(\"Material2/Damage Bevel/80\"); >;\n@@ -565,10 +565,10 @@ PS\n \tfloat g_fSurfaceColorSaturation3 < Default(1); Range(0, 4); UiType(Slider); UiGroup(\"Material3/Surface Layer/7\"); >;\n \tfloat g_fSubstrateColorBrightness3 < Default(1); Range(-8, 8); UiType(Slider); UiGroup(\"Material3/Substrate Layer/8\"); >;\n \tfloat g_fSurfaceColorBrightness3 < Default(1); Range(-8, 8); UiType(Slider); UiGroup(\"Material3/Surface Layer/8\"); >;\n-\tfloat2 g_vSurfaceGrimeMinMax3 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material3/Grime/10\"); >;\n+\tfloat2 g_vSurfaceGrimeMinMax3 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material3/Grime/10\"); >;\n \tfloat g_fDamageHeightBlendSoftness3 < Default(0.01); UiType(Slider); UiGroup(\"Material3/Damage Height/11\"); Expression(max(this,.001)); >;\n-\tfloat2 g_vSubstrateGrimeMinMax3 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material3/Grime/11\"); >;\n-\tfloat2 g_vDamageMinMax3 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material3/Damage Height/12\"); >;\n+\tfloat2 g_vSubstrateGrimeMinMax3 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material3/Grime/11\"); >;\n+\tfloat2 g_vDamageMinMax3 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material3/Damage Height/12\"); >;\n \tfloat g_fBurnishingGrime3 < Default(0.5); UiType(Slider); UiGroup(\"Material3/Grime/20\"); >;\n \tfloat3 g_vBurnishingColorTint3 < Default3(1, 1, 1); UiType(Color); UiGroup(\"Material3/Burnishing,5/20\"); >;\n \tfloat3 g_vDamageBevelColorTint3 < Default3(1, 1, 1); UiType(Color); UiGroup(\"Material3/Damage Bevel,4/20\"); >;\n@@ -596,11 +596,11 @@ PS\n \tCreateInputTexture2D(TextureSubstrateMetalness3, Srgb, 8, \"\", \"_metal\", \"Material3/Substrate Layer/40\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureSurfaceMetalness3, Linear, 8, \"\", \"_metal\", \"Material3/Surface Layer/40\", Default4(0, 0, 0, 0));\n \tfloat g_fDamageBevelRoughnessBrightness3 < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Material3/Damage Bevel/40\"); >;\n-\tfloat2 g_vSurfaceBurnishingMinMax3 < Default(0); UiType(VectorText); UiGroup(\"Material3/Burnishing/40\"); >;\n+\tfloat2 g_vSurfaceBurnishingMinMax3 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material3/Burnishing/40\"); >;\n \tCreateInputTexture2D(TextureSubstrateClothMask3, Srgb, 8, \"\", \"_mask\", \"Material3/Substrate Layer/41\", \"materials/default/default_black_mask.tga\");\n \tCreateInputTexture2D(TextureSurfaceClothMask3, Linear, 8, \"\", \"_mask\", \"Material3/Surface Layer/41\", \"materials/default/default_black_mask.tga\");\n \tfloat g_fDamageBevelAnisotropy3 < UiType(Slider); UiGroup(\"Material3/Damage Bevel/41\"); >;\n-\tfloat2 g_vSubstrateBurnishingMinMax3 < Default(0); UiType(VectorText); UiGroup(\"Material3/Burnishing/41\"); >;\n+\tfloat2 g_vSubstrateBurnishingMinMax3 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material3/Burnishing/41\"); >;\n \tfloat g_fDamageBevelMetalness3 < UiType(Slider); UiGroup(\"Material3/Damage Bevel/50\"); >;\n \tfloat g_fDamageBevelCloth3 < UiType(Slider); UiGroup(\"Material3/Damage Bevel/60\"); >;\n \tbool g_bDamageBevelBlendToSubstrate3 < UiType(CheckBox); UiGroup(\"Material3/Damage Bevel/80\"); >;\n@@ -624,10 +624,10 @@ PS\n \tfloat g_fSurfaceColorSaturation4 < Default(1); Range(0, 4); UiType(Slider); UiGroup(\"Material4/Surface Layer/7\"); >;\n \tfloat g_fSubstrateColorBrightness4 < Default(1); Range(-8, 8); UiType(Slider); UiGroup(\"Material4/Substrate Layer/8\"); >;\n \tfloat g_fSurfaceColorBrightness4 < Default(1); Range(-8, 8); UiType(Slider); UiGroup(\"Material4/Surface Layer/8\"); >;\n-\tfloat2 g_vSurfaceGrimeMinMax4 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material4/Grime/10\"); >;\n+\tfloat2 g_vSurfaceGrimeMinMax4 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material4/Grime/10\"); >;\n \tfloat g_fDamageHeightBlendSoftness4 < Default(0.01); UiType(Slider); UiGroup(\"Material4/Damage Height/11\"); Expression(max(this,.001)); >;\n-\tfloat2 g_vSubstrateGrimeMinMax4 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material4/Grime/11\"); >;\n-\tfloat2 g_vDamageMinMax4 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material4/Damage Height/12\"); >;\n+\tfloat2 g_vSubstrateGrimeMinMax4 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material4/Grime/11\"); >;\n+\tfloat2 g_vDamageMinMax4 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material4/Damage Height/12\"); >;\n \tfloat g_fBurnishingGrime4 < Default(0.5); UiType(Slider); UiGroup(\"Material4/Grime/20\"); >;\n \tfloat3 g_vBurnishingColorTint4 < Default3(1, 1, 1); UiType(Color); UiGroup(\"Material4/Burnishing,5/20\"); >;\n \tfloat3 g_vDamageBevelColorTint4 < Default3(1, 1, 1); UiType(Color); UiGroup(\"Material4/Damage Bevel,4/20\"); >;\n@@ -655,11 +655,11 @@ PS\n \tCreateInputTexture2D(TextureSubstrateMetalness4, Srgb, 8, \"\", \"_metal\", \"Material4/Substrate Layer/40\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureSurfaceMetalness4, Linear, 8, \"\", \"_metal\", \"Material4/Surface Layer/40\", Default4(0, 0, 0, 0));\n \tfloat g_fDamageBevelRoughnessBrightness4 < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Material4/Damage Bevel/40\"); >;\n-\tfloat2 g_vSurfaceBurnishingMinMax4 < Default(0); UiType(VectorText); UiGroup(\"Material4/Burnishing/40\"); >;\n+\tfloat2 g_vSurfaceBurnishingMinMax4 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material4/Burnishing/40\"); >;\n \tCreateInputTexture2D(TextureSubstrateClothMask4, Srgb, 8, \"\", \"_mask\", \"Material4/Substrate Layer/41\", \"materials/default/default_black_mask.tga\");\n \tCreateInputTexture2D(TextureSurfaceClothMask4, Linear, 8, \"\", \"_mask\", \"Material4/Surface Layer/41\", \"materials/default/default_black_mask.tga\");\n \tfloat g_fDamageBevelAnisotropy4 < UiType(Slider); UiGroup(\"Material4/Damage Bevel/41\"); >;\n-\tfloat2 g_vSubstrateBurnishingMinMax4 < Default(0); UiType(VectorText); UiGroup(\"Material4/Burnishing/41\"); >;\n+\tfloat2 g_vSubstrateBurnishingMinMax4 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material4/Burnishing/41\"); >;\n \tfloat g_fDamageBevelMetalness4 < UiType(Slider); UiGroup(\"Material4/Damage Bevel/50\"); >;\n \tfloat g_fDamageBevelCloth4 < UiType(Slider); UiGroup(\"Material4/Damage Bevel/60\"); >;\n \tbool g_bDamageBevelBlendToSubstrate4 < UiType(CheckBox); UiGroup(\"Material4/Damage Bevel/80\"); >;\n@@ -734,12 +734,12 @@ PS\n \t#endif\n \t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _2872\n+\tstruct _113\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _71\n+\tstruct _323\n \t{\n \t vec4 _m0[4];\n \t};\n@@ -755,12 +755,12 @@ PS\n \t vec4 _m6;\n \t};\n \t\n-\tstruct _193\n+\tstruct _1106\n \t{\n \t _1677 _m0[128];\n \t};\n \t\n-\tstruct _2139\n+\tstruct _244\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -962,15 +962,15 @@ PS\n \t\n \tlayout(set = 1) uniform _2806 PerViewConstantBufferCsgo_t;\n \t\n-\tstruct _854\n+\tstruct _134\n \t{\n \t vec4 _m0;\n \t vec4 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n \t vec4 _m4;\n-\t _2872 _m5;\n-\t _71 _m6;\n+\t _113 _m5;\n+\t _323 _m6;\n \t vec4 _m7;\n \t vec4 _m8;\n \t vec4 _m9;\n@@ -979,7 +979,7 @@ PS\n \t uvec4 _m12;\n \t vec4 _m13;\n \t vec4 _m14;\n-\t _193 _m15;\n+\t _1106 _m15;\n \t vec4 _m16;\n \t vec4 _m17;\n \t int _m18;\n@@ -989,11 +989,11 @@ PS\n \t float _m22;\n \t float _m23;\n \t float _m24;\n-\t _2139 _m25;\n-\t _71 _m26;\n+\t _244 _m25;\n+\t _323 _m26;\n \t};\n \t\n-\tlayout(set = 3) uniform _854 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _134 PerViewLightingConstantBufferGpu_t;\n \t\n \tstruct _1194\n \t{\n@@ -1016,7 +1016,7 @@ PS\n \t} g_BarnLights_1;\n \t\n \tlayout(set = 1, binding = 85) uniform texture2D g_tLayerId;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 52) uniform texture2D g_tSurfaceNormal1;\n \tlayout(set = 1, binding = 55) uniform texture2D g_tSubstrateNormal1;\n \tlayout(set = 1, binding = 60) uniform texture2D g_tSurfaceNormal2;\n@@ -1055,18 +1055,18 @@ PS\n \tlayout(set = 1, binding = 14) uniform sampler g_sAniso;\n \tlayout(set = 1, binding = 83) uniform texture2D g_tNormal;\n \tlayout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sCookieSampler;\n \tlayout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;\n-\tlayout(set = 1, binding = 18) uniform sampler g_sPointClamp;\n+\tlayout(set = 1, binding = 19) uniform sampler g_sPointClamp;\n \tlayout(set = 1, binding = 39) uniform texture2D g_tSsao;\n-\tlayout(set = 1, binding = 19) uniform sampler g_sUserConfig;\n-\tlayout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfig;\n+\tlayout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n \tlayout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;\n-\tlayout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;\n+\tlayout(set = 1, binding = 16) uniform sampler g_sBilinearClamp;\n \tlayout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n \t\n@@ -2668,162 +2668,173 @@ PS\n \t {\n \t _21721 = _21720;\n \t }\n-\t float _21722;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13151;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n-\t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n-\t {\n-\t _13151 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18348 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n-\t float _12779 = _18348.x;\n-\t if (max(abs(_12779), abs(_18348.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n-\t {\n-\t vec3 _19470 = vec3(_12779, _18348.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n-\t vec3 _20489 = _19470;\n-\t _20489.x = _20561.x;\n-\t _20489.y = _20561.y;\n-\t _13151 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20489;\n-\t _10191 = _13039;\n-\t break;\n-\t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n+\t float _12505;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n \t {\n-\t vec2 _7045;\n-\t vec2 _7046;\n-\t vec2 _7735;\n-\t float _8969;\n-\t float _8970;\n-\t float _15997;\n-\t float _17375;\n-\t vec2 _18870;\n-\t vec4 _20581;\n-\t vec4 _22023;\n-\t float _23727;\n-\t do\n+\t int _23989;\n+\t int _10191;\n+\t float _13151;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float _21472 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n-\t _22023 = PerViewLightingConstantBufferGpu_t._m1;\n-\t _17375 = PerViewLightingConstantBufferGpu_t._m2.z;\n-\t _15997 = PerViewLightingConstantBufferGpu_t._m3.z;\n-\t _18870 = vec2(_17375, _15997);\n-\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n-\t _7045 = vec2(_8969, _15997);\n-\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n-\t _7046 = vec2(_17375, _8970);\n-\t _7735 = vec2(_8969, _8970);\n-\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21472), 0.0)).xyzw, vec4(0.25));\n-\t bool _12915;\n-\t if (_15310 == 0.0)\n-\t {\n-\t _12915 = true;\n-\t }\n-\t else\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n \t {\n-\t _12915 = _15310 == 1.0;\n+\t _13151 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n \t }\n-\t if (_12915)\n+\t vec4 _18348 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n+\t float _12779 = _18348.x;\n+\t if (max(abs(_12779), abs(_18348.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n \t {\n-\t _23727 = _15310;\n+\t vec3 _19470 = vec3(_12779, _18348.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n+\t vec3 _20489 = _19470;\n+\t _20489.x = _20561.x;\n+\t _20489.y = _20561.y;\n+\t _13151 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20489;\n+\t _10191 = _13039;\n \t break;\n \t }\n-\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17375, 0.0)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15997)).xy, _21472), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21472), 0.0) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t float _12502;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13151 < 1.0)\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n+\t }\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7990;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t vec2 _7045;\n+\t vec2 _7046;\n+\t vec2 _7735;\n+\t float _8969;\n+\t float _8970;\n+\t float _15997;\n+\t float _17375;\n+\t vec2 _18870;\n+\t vec4 _20581;\n+\t vec4 _22023;\n+\t float _23727;\n+\t do\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n-\t vec3 _20490;\n-\t _20490.x = _20562.x;\n-\t _20490.y = _20562.y;\n-\t float _12501;\n-\t do\n+\t float _21472 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n+\t _22023 = PerViewLightingConstantBufferGpu_t._m1;\n+\t _17375 = PerViewLightingConstantBufferGpu_t._m2.z;\n+\t _15997 = PerViewLightingConstantBufferGpu_t._m3.z;\n+\t _18870 = vec2(_17375, _15997);\n+\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n+\t _7045 = vec2(_8969, _15997);\n+\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n+\t _7046 = vec2(_17375, _8970);\n+\t _7735 = vec2(_8969, _8970);\n+\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21472), 0.0)).xyzw, vec4(0.25));\n+\t bool _12915;\n+\t if (_15310 == 0.0)\n \t {\n-\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n-\t bool _12916;\n-\t if (_15311 == 0.0)\n-\t {\n-\t _12916 = true;\n-\t }\n-\t else\n-\t {\n-\t _12916 = _15311 == 1.0;\n-\t }\n-\t if (_12916)\n+\t _12915 = true;\n+\t }\n+\t else\n+\t {\n+\t _12915 = _15310 == 1.0;\n+\t }\n+\t if (_12915)\n+\t {\n+\t _23727 = _15310;\n+\t break;\n+\t }\n+\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17375, 0.0)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15997)).xy, _21472), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21472), 0.0) * _22023.y);\n+\t break;\n+\t } while(false);\n+\t float _12502;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13151 < 1.0)\n+\t {\n+\t float _7991;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n+\t vec3 _20490;\n+\t _20490.x = _20562.x;\n+\t _20490.y = _20562.y;\n+\t float _12501;\n+\t do\n \t {\n-\t _12501 = _15311;\n+\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n+\t bool _12916;\n+\t if (_15311 == 0.0)\n+\t {\n+\t _12916 = true;\n+\t }\n+\t else\n+\t {\n+\t _12916 = _15311 == 1.0;\n+\t }\n+\t if (_12916)\n+\t {\n+\t _12501 = _15311;\n+\t break;\n+\t }\n+\t _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(_17375, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(0.0, _15997)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20490.xy, _20322), 0.0) * _22023.y);\n \t break;\n-\t }\n-\t _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(_17375, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(0.0, _15997)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20490.xy, _20322), 0.0) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t _7990 = _12501;\n+\t } while(false);\n+\t _7991 = _12501;\n+\t }\n+\t else\n+\t {\n+\t _7991 = 1.0;\n+\t }\n+\t _12502 = mix(_7991, _23727, _13151);\n \t }\n \t else\n \t {\n-\t _7990 = 1.0;\n+\t _12502 = _23727;\n \t }\n-\t _12502 = mix(_7990, _23727, _13151);\n+\t _19363 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _23727;\n+\t _19363 = 1.0;\n \t }\n-\t _19363 = _12502;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0;\n-\t }\n-\t float _13279 = mix(_19363, 1.0, saturate((distance(_12292.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n-\t float _12503;\n-\t if (_24465.y)\n-\t {\n-\t _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t float _13279 = mix(_19363, 1.0, saturate((distance(_12292.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n+\t float _12503;\n+\t if (_24465.y)\n+\t {\n+\t _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12503 = _13279;\n+\t }\n+\t _12505 = _12503;\n \t }\n \t else\n \t {\n-\t _12503 = _13279;\n+\t _12505 = 1.0;\n \t }\n-\t _21722 = _12503;\n+\t _12320 = _12505;\n \t }\n \t else\n \t {\n-\t _21722 = 1.0;\n+\t _12320 = 1.0;\n \t }\n \t vec3 _9717;\n \t vec3 _24892;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21722) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n \t float _11797 = max(0.0, dot(_24283.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz));\n \t vec2 _9842 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));\n@@ -2854,7 +2865,7 @@ PS\n \t {\n \t _11621 = _18393;\n \t }\n-\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21722).xyz;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz;\n \t _9717 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808);\n \t _24892 = (((_22315 + ((vec3(1.0) - _22315) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * _11621).xyz * _11797).xyz * _16808;\n \t }\n@@ -3055,7 +3066,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12505;\n+\t vec3 _12506;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -3066,12 +3077,12 @@ PS\n \t vec3 _20479 = vec4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz;\n \t vec3 _23614 = _17795.xyz;\n \t vec3 _12176 = ((_20479 * g_BarnLights_1._m0[_12608]._m5.w) + (_23614 * _15156)) + cross(_23614, _20479);\n-\t vec3 _14156 = vec3(vec2(atan(_12176.y, -_12176.x) * 0.15915493667125701904296875, acos(_12176.z) * 0.3183098733425140380859375), -g_BarnLights_1._m0[_12608]._m4.w);\n-\t vec2 _20564 = (_14156.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;\n-\t vec3 _20492 = _14156;\n+\t vec3 _14157 = vec3(vec2(atan(_12176.y, -_12176.x) * 0.15915493667125701904296875, acos(_12176.z) * 0.3183098733425140380859375), -g_BarnLights_1._m0[_12608]._m4.w);\n+\t vec2 _20564 = (_14157.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;\n+\t vec3 _20492 = _14157;\n \t _20492.x = _20564.x;\n \t _20492.y = _20564.y;\n-\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;\n+\t _12506 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -3080,9 +3091,9 @@ PS\n \t vec3 _20491 = _13791;\n \t _20491.x = _20563.x;\n \t _20491.y = _20563.y;\n-\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;\n+\t _12506 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12505;\n+\t _21548 = _12506;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n@@ -3110,8 +3121,8 @@ PS\n \t do\n \t {\n \t float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n-\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n+\t vec2 _14617 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n+\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n \t bool _12918;\n \t if (_15312 == 0.0)\n \t {\n@@ -3126,7 +3137,7 @@ PS\n \t _24972 = _15312;\n \t break;\n \t }\n-\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n+\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14617, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n \t break;\n \t } while(false);\n \t vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);\n@@ -3162,8 +3173,8 @@ PS\n \t SPIRV_CROSS_BRANCH\n \t if (_14878)\n \t {\n-\t float _9254 = dot(_9843.xy, vec2(0.5));\n-\t float _20830 = max(_9254 * _9254, 9.9999997473787516355514526367188e-06);\n+\t float _9253 = dot(_9843.xy, vec2(0.5));\n+\t float _20830 = max(_9253 * _9253, 9.9999997473787516355514526367188e-06);\n \t float _21402 = saturate(_25074 + 0.001000000047497451305389404296875);\n \t _11622 = mix(_18395, ((((2.0 + (1.0 / _20830)) * pow(1.0 - (_7801 * _7801), 0.5 / _20830)) / ((_11798 + _21402) - (_11798 * _21402))) * 0.124999918043613433837890625) * _11798, _7397);\n \t }\n@@ -3218,8 +3229,8 @@ PS\n \t }\n \t float _23616 = PerViewLightingConstantBufferGpu_t._m14.y * sqrt(_17751);\n \t float _17389 = _17751 * _17751;\n-\t float _20712 = saturate(1.0 - _17389);\n-\t vec3 _25271 = normalize(mix(_19630, reflect(_10145.xyz, _19630.xyz).xyz, vec3(_20712 * (sqrt(_20712) + _17389))));\n+\t float _20711 = saturate(1.0 - _17389);\n+\t vec3 _25271 = normalize(mix(_19630, reflect(_10145.xyz, _19630.xyz).xyz, vec3(_20711 * (sqrt(_20711) + _17389))));\n \t uvec2 _6814 = uvec2(_18180.xy - PerViewConstantBuffer_t._m0.xy) >> _7709;\n \t uint _19949 = PerViewLightingConstantBufferGpu_t._m11.y + (((_6814.y * PerViewLightingConstantBufferGpu_t._m12.y) + _6814.x) * PerViewLightingConstantBufferGpu_t._m11.z);\n \t uint _23394 = PerViewLightingConstantBufferGpu_t._m11.x + (uint(clamp(_6864 * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m11.z);\n@@ -3325,7 +3336,7 @@ PS\n \t }\n \t float _20784 = max(0.0, dot(_16992, _13505));\n \t vec4 _11487 = textureLod(sampler2DArray(g_tBRDFLookup, g_sBilinearClamp), vec3((vec2(_17751, sqrt(1.0 - _20784)) * 0.984375) + vec2(0.0078125), 1.0).xyz, 0.0);\n-\t vec3 _19001 = mix(_11487.xxx, _11487.yyy, _12351);\n+\t vec3 _19002 = mix(_11487.xxx, _11487.yyy, _12351);\n \t float _10020;\n \t vec3 _23472;\n \t SPIRV_CROSS_BRANCH\n@@ -3335,12 +3346,12 @@ PS\n \t float _22187 = max(_17389, 9.9999997473787516355514526367188e-06);\n \t float _21363 = saturate(_20784 + 0.001000000047497451305389404296875);\n \t _10020 = 1.0 - _7397;\n-\t _23472 = mix(_19001, _12351 * ((((2.0 + (1.0 / _22187)) * pow(1.0 - (_7173 * _7173), 0.5 / _22187)) / ((1.0 + _21363) - _21363)) * 0.124999918043613433837890625), vec3(_7397));\n+\t _23472 = mix(_19002, _12351 * ((((2.0 + (1.0 / _22187)) * pow(1.0 - (_7173 * _7173), 0.5 / _22187)) / ((1.0 + _21363) - _21363)) * 0.124999918043613433837890625), vec3(_7397));\n \t }\n \t else\n \t {\n \t _10020 = 1.0;\n-\t _23472 = _19001;\n+\t _23472 = _19002;\n \t }\n \t float _8850 = 1.0 - _11487.y;\n \t vec3 _15517 = _12351 + ((vec3(1.0) - _12351) * vec3(0.0476190485060214996337890625));"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_customweapon.slang",
"status": "modified",
"additions": 5,
"deletions": 5,
"changes": 10,
"patch": "@@ -891,10 +891,10 @@ PS\n \tfloat g_fOverlayMetalness < UiType(Slider); UiGroup(\"Paint Inputs/Lighting/22\"); >;\n \tfloat g_fOverlayStrength < Default(1); UiType(Slider); UiGroup(\"Paint Inputs/Overlay/22\"); >;\n \tfloat g_flCaseHardeningRampOffset < UiType(Slider); UiGroup(\"Paint Inputs/Pattern/22\"); >;\n-\tfloat3 g_vHalftonePatternLevels < Default2(0, 0.5); Range2(-10, 0, 10, 1); UiType(VectorText); UiGroup(\"Paint Inputs/Pattern/22\"); Expression(float3(-this.x,-1.4427*log(max(.0001,1-this.y)),2-this.z)); >;\n+\tfloat3 g_vHalftonePatternLevels < Default3(0, 0.5, 1); Range2(-10, 0, 10, 1); UiType(VectorText); UiGroup(\"Paint Inputs/Pattern/22\"); Expression(float3(-this.x,-1.4427*log(max(.0001,1-this.y)),2-this.z)); >;\n \tfloat g_fOverlayMaterialStrength < Default(1); UiType(Slider); UiGroup(\"Paint Inputs/Overlay/23\"); >;\n-\tfloat4 g_vCaseHardening < Default(0); UiType(VectorText); UiGroup(\"Paint Inputs/Pattern/23\"); >;\n-\tfloat2 g_vHalftoneThresholds < Default(0); UiType(VectorText); UiGroup(\"Paint Inputs/Pattern/23\"); >;\n+\tfloat4 g_vCaseHardening < Default2(0, 1); UiType(VectorText); UiGroup(\"Paint Inputs/Pattern/23\"); >;\n+\tfloat2 g_vHalftoneThresholds < Default2(0, 1); UiType(VectorText); UiGroup(\"Paint Inputs/Pattern/23\"); >;\n \tfloat g_fOverlayBrightness < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Paint Inputs/Overlay/24\"); >;\n \tfloat g_flHalftoneRotationOffsetA < Range(-360, 360); UiType(Slider); UiGroup(\"Paint Inputs/Pattern/24\"); >;\n \tfloat g_fOverlayDurability < UiType(Slider); UiGroup(\"Paint Inputs/Overlay/25\"); Expression(1-this); >;\n@@ -1377,10 +1377,10 @@ PS\n \tlayout(set = 1) uniform _2733 _Globals_;\n \t\n \tlayout(set = 1, binding = 30) uniform texture2D g_tAmbientOcclusion;\n-\tlayout(set = 1, binding = 23) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 24) uniform sampler g_sTrilinearClamp;\n \tlayout(set = 1, binding = 31) uniform texture2D g_tMasks;\n \tlayout(set = 1, binding = 38) uniform texture2D g_tWear;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 39) uniform texture2D g_tGrunge;\n \tlayout(set = 1, binding = 35) uniform texture2D g_tMetalness;\n \tlayout(set = 1, binding = 34) uniform texture2D g_tColor;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_decal_renderer.slang",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -186,9 +186,9 @@ PS\n \t// Static combos: S_SUPPORTS_DECALS\n \t\n \tTexture2D<float4> g_tPreviousRT : register(t30, space1);\n-\tSamplerState AddressU_Clamp_AddressV_Clamp : register(s21, space1);\n+\tSamplerState AddressU_Clamp_AddressV_Clamp : register(s22, space1);\n \tTexture2D<float4> g_tDecals : register(t31, space1);\n-\tSamplerState g_sTrilinearClamp : register(s17, space1);\n+\tSamplerState g_sTrilinearClamp : register(s18, space1);\n \t\n \tstatic float4 input_1;\n \tstatic float3 input_2;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_decalmodulate.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -259,7 +259,7 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tColor : register(t43, space1);\n-\tSamplerState g_sUserConfigAllowGlobalMipBias : register(s20, space1);\n+\tSamplerState g_sUserConfigAllowGlobalMipBias : register(s21, space1);\n \t\n \tstatic float4 input_2;\n \tstatic float4 input_3;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_effects.slang",
"status": "modified",
"additions": 4,
"deletions": 4,
"changes": 8,
"patch": "@@ -327,7 +327,7 @@ PS\n \tTexture2D g_tSceneDepth < Attribute(\"SceneDepth\"); SrgbRead(false); >;\n \tTexture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >;\n \tTexture2D g_tZeroth_Moment < Attribute(\"zeroth_moment\"); SrgbRead(true); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Color\n@@ -427,13 +427,13 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tColor : register(t51, space1);\n-\tSamplerState g_sUserConfigAllowGlobalMipBias : register(s20, space1);\n+\tSamplerState g_sUserConfigAllowGlobalMipBias : register(s21, space1);\n \tTexture2D<float4> g_tMask1 : register(t52, space1);\n-\tSamplerState g_sUserConfig : register(s19, space1);\n+\tSamplerState g_sUserConfig : register(s20, space1);\n \tTexture2D<float4> g_tMask2 : register(t53, space1);\n \tTexture2D<float4> g_tMask3 : register(t54, space1);\n \tTextureCube<float4> g_tFogCubeTexture : register(t42, space1);\n-\tSamplerState g_sTrilinearClamp : register(s17, space1);\n+\tSamplerState g_sTrilinearClamp : register(s18, space1);\n \t\n \tstatic bool gl_FrontFacing;\n \tstatic float3 input_0;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_environment.slang",
"status": "modified",
"additions": 1688,
"deletions": 1492,
"changes": 3180,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_environment_blend.slang",
"status": "modified",
"additions": 2073,
"deletions": 1854,
"changes": 3927,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_eyeball.slang",
"status": "modified",
"additions": 163,
"deletions": 152,
"changes": 315,
"patch": "@@ -432,7 +432,7 @@ PS\n \tTexture2D g_tParticleShadowBuffer < Attribute(\"ParticleShadowBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tShadowDepthBufferDepth < Attribute(\"ShadowDepthBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tSsao < Attribute(\"SSAOOcclusionFactor\"); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Color\n@@ -484,12 +484,12 @@ PS\n \t#endif\n \t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _2914\n+\tstruct _155\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _113\n+\tstruct _365\n \t{\n \t vec4 _m0[4];\n \t};\n@@ -505,12 +505,12 @@ PS\n \t vec4 _m6;\n \t};\n \t\n-\tstruct _2264\n+\tstruct _166\n \t{\n \t _1677 _m0[128];\n \t};\n \t\n-\tstruct _2326\n+\tstruct _430\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -592,15 +592,15 @@ PS\n \t\n \tlayout(set = 1) uniform _1194 PerViewConstantBuffer_t;\n \t\n-\tstruct _735\n+\tstruct _15\n \t{\n \t vec4 _m0;\n \t vec4 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n \t vec4 _m4;\n-\t _2914 _m5;\n-\t _113 _m6;\n+\t _155 _m5;\n+\t _365 _m6;\n \t vec4 _m7;\n \t vec4 _m8;\n \t vec4 _m9;\n@@ -609,7 +609,7 @@ PS\n \t uvec4 _m12;\n \t vec4 _m13;\n \t vec4 _m14;\n-\t _2264 _m15;\n+\t _166 _m15;\n \t vec4 _m16;\n \t vec4 _m17;\n \t int _m18;\n@@ -619,11 +619,11 @@ PS\n \t float _m22;\n \t float _m23;\n \t float _m24;\n-\t _2326 _m25;\n-\t _113 _m26;\n+\t _430 _m25;\n+\t _365 _m26;\n \t};\n \t\n-\tlayout(set = 3) uniform _735 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _15 PerViewLightingConstantBufferGpu_t;\n \t\n \tlayout(set = 3, binding = 30, std430) readonly buffer g_CullBits\n \t{\n@@ -636,25 +636,25 @@ PS\n \t} g_BarnLights_1;\n \t\n \tlayout(set = 1, binding = 51) uniform texture2D g_tColor;\n-\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfigAllowGlobalMipBias;\n+\tlayout(set = 1, binding = 21) uniform sampler g_sUserConfigAllowGlobalMipBias;\n \tlayout(set = 1, binding = 53) uniform texture2D g_tEyeMask1;\n \tlayout(set = 1, binding = 14) uniform sampler g_sAniso;\n \tlayout(set = 1, binding = 52) uniform texture2D g_tEyeAlbedo1;\n-\tlayout(set = 1, binding = 25) uniform sampler AddressU_Mirror_AddressV_Mirror_Filter_Anisotropic_MaxAniso_8;\n+\tlayout(set = 1, binding = 26) uniform sampler AddressU_Mirror_AddressV_Mirror_Filter_Anisotropic_MaxAniso_8;\n \tlayout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sCookieSampler;\n \tlayout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;\n-\tlayout(set = 1, binding = 18) uniform sampler g_sPointClamp;\n+\tlayout(set = 1, binding = 19) uniform sampler g_sPointClamp;\n \tlayout(set = 1, binding = 39) uniform texture2D g_tSsao;\n-\tlayout(set = 1, binding = 19) uniform sampler g_sUserConfig;\n-\tlayout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfig;\n+\tlayout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n \tlayout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;\n-\tlayout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;\n+\tlayout(set = 1, binding = 16) uniform sampler g_sBilinearClamp;\n \tlayout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n \t\n@@ -921,162 +921,173 @@ PS\n \t {\n \t _21711 = _21710;\n \t }\n-\t float _21712;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12885.xyz);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13139;\n-\t vec3 _14977;\n-\t int _13040 = 0;\n-\t for (;;)\n-\t {\n-\t if (!(_13040 < PerViewLightingConstantBufferGpu_t._m18))\n-\t {\n-\t _13139 = 1.0;\n-\t _14977 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13040];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13040])\n-\t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13040].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13040].xy;\n-\t vec3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13139 = saturate(_22193.x * _22193.y);\n-\t _14977 = _20488;\n-\t _10191 = _13040;\n-\t break;\n-\t }\n-\t _23989 = _13040 + 1;\n-\t _13040 = _23989;\n-\t continue;\n-\t }\n-\t float _19364;\n-\t if (_10191 >= 0)\n+\t float _12505;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n \t {\n-\t vec2 _7045;\n-\t vec2 _7046;\n-\t vec2 _7735;\n-\t float _8969;\n-\t float _8970;\n-\t float _15996;\n-\t float _17299;\n-\t vec2 _18870;\n-\t vec4 _20581;\n-\t vec4 _22023;\n-\t float _23727;\n-\t do\n+\t int _23989;\n+\t int _10191;\n+\t float _13139;\n+\t vec3 _14977;\n+\t int _13040 = 0;\n+\t for (;;)\n \t {\n-\t float _21452 = saturate(_14977.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n-\t _22023 = PerViewLightingConstantBufferGpu_t._m1;\n-\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n-\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n-\t _18870 = vec2(_17299, _15996);\n-\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n-\t _7045 = vec2(_8969, _15996);\n-\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n-\t _7046 = vec2(_17299, _8970);\n-\t _7735 = vec2(_8969, _8970);\n-\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n-\t bool _12887;\n-\t if (_15310 == 0.0)\n+\t if (!(_13040 < PerViewLightingConstantBufferGpu_t._m18))\n \t {\n-\t _12887 = true;\n-\t }\n-\t else\n-\t {\n-\t _12887 = _15310 == 1.0;\n+\t _13139 = 1.0;\n+\t _14977 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n \t }\n-\t if (_12887)\n+\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13040];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13040])\n \t {\n-\t _23727 = _15310;\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13040].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13040].xy;\n+\t vec3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13139 = saturate(_22193.x * _22193.y);\n+\t _14977 = _20488;\n+\t _10191 = _13040;\n \t break;\n \t }\n-\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14977.xy, _21452), 0.0) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t float _12503;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13139 < 1.0)\n+\t _23989 = _13040 + 1;\n+\t _13040 = _23989;\n+\t continue;\n+\t }\n+\t float _19364;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t vec2 _7045;\n+\t vec2 _7046;\n+\t vec2 _7735;\n+\t float _8969;\n+\t float _8970;\n+\t float _15996;\n+\t float _17299;\n+\t vec2 _18870;\n+\t vec4 _20581;\n+\t vec4 _22023;\n+\t float _23727;\n+\t do\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n-\t vec3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t float _12502;\n-\t do\n+\t float _21452 = saturate(_14977.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n+\t _22023 = PerViewLightingConstantBufferGpu_t._m1;\n+\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n+\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n+\t _18870 = vec2(_17299, _15996);\n+\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n+\t _7045 = vec2(_8969, _15996);\n+\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n+\t _7046 = vec2(_17299, _8970);\n+\t _7735 = vec2(_8969, _8970);\n+\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n+\t bool _12887;\n+\t if (_15310 == 0.0)\n \t {\n-\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n-\t bool _12888;\n-\t if (_15311 == 0.0)\n-\t {\n-\t _12888 = true;\n-\t }\n-\t else\n-\t {\n-\t _12888 = _15311 == 1.0;\n-\t }\n-\t if (_12888)\n+\t _12887 = true;\n+\t }\n+\t else\n+\t {\n+\t _12887 = _15310 == 1.0;\n+\t }\n+\t if (_12887)\n+\t {\n+\t _23727 = _15310;\n+\t break;\n+\t }\n+\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14977.xy, _21452), 0.0) * _22023.y);\n+\t break;\n+\t } while(false);\n+\t float _12503;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13139 < 1.0)\n+\t {\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n+\t vec3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t float _12502;\n+\t do\n \t {\n-\t _12502 = _15311;\n+\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n+\t bool _12888;\n+\t if (_15311 == 0.0)\n+\t {\n+\t _12888 = true;\n+\t }\n+\t else\n+\t {\n+\t _12888 = _15311 == 1.0;\n+\t }\n+\t if (_12888)\n+\t {\n+\t _12502 = _15311;\n+\t break;\n+\t }\n+\t _12502 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y);\n \t break;\n-\t }\n-\t _12502 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t _7934 = _12502;\n+\t } while(false);\n+\t _7934 = _12502;\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12503 = mix(_7934, _23727, _13139);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12503 = _23727;\n \t }\n-\t _12503 = mix(_7934, _23727, _13139);\n+\t _19364 = _12503;\n \t }\n \t else\n \t {\n-\t _12503 = _23727;\n+\t _19364 = 1.0;\n \t }\n-\t _19364 = _12503;\n-\t }\n-\t else\n-\t {\n-\t _19364 = 1.0;\n-\t }\n-\t float _13279 = mix(_19364, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n-\t float _12504;\n-\t if (_24465.y)\n-\t {\n-\t _12504 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t float _13279 = mix(_19364, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n+\t float _12504;\n+\t if (_24465.y)\n+\t {\n+\t _12504 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12504 = _13279;\n+\t }\n+\t _12505 = _12504;\n \t }\n \t else\n \t {\n-\t _12504 = _13279;\n+\t _12505 = 1.0;\n \t }\n-\t _21712 = _12504;\n+\t _12320 = _12505;\n \t }\n \t else\n \t {\n-\t _21712 = 1.0;\n+\t _12320 = 1.0;\n \t }\n \t vec3 _13174;\n \t vec3 _16054;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12885.xyz) * _21712) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n \t float _11797 = max(0.0, dot(_12885.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz));\n \t vec2 _9840 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));\n@@ -1091,7 +1102,7 @@ PS\n \t float _16150 = _9850 + 1.0;\n \t float _6835 = (_16150 * _16150) * 0.125;\n \t float _19569 = 1.0 - _6835;\n-\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21712).xyz;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz;\n \t _13174 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808);\n \t _16054 = (((_22995 + ((vec3(1.0) - _22995) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_11797 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _11797).xyz * _16808;\n \t }\n@@ -1289,7 +1300,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12505;\n+\t vec3 _12506;\n \t if (g_BarnLights_1._m0[_12609]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12609]._m5.xyz, g_BarnLights_1._m0[_12609]._m5.w);\n@@ -1305,7 +1316,7 @@ PS\n \t vec3 _20492 = _14081;\n \t _20492.x = _20564.x;\n \t _20492.y = _20564.y;\n-\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;\n+\t _12506 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -1314,9 +1325,9 @@ PS\n \t vec3 _20491 = _13791;\n \t _20491.x = _20563.x;\n \t _20491.y = _20563.y;\n-\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;\n+\t _12506 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12505;\n+\t _21548 = _12506;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n@@ -1344,8 +1355,8 @@ PS\n \t do\n \t {\n \t float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t vec2 _14615 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12609]._m8.zw, g_BarnLights_1._m0[_12609]._m8.xy), _19629.z).xy;\n-\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n+\t vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12609]._m8.zw, g_BarnLights_1._m0[_12609]._m8.xy), _19629.z).xy;\n+\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n \t bool _12890;\n \t if (_15312 == 0.0)\n \t {\n@@ -1360,7 +1371,7 @@ PS\n \t _24972 = _15312;\n \t break;\n \t }\n-\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14615, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n+\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n \t break;\n \t } while(false);\n \t vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12609]._m12);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_flashbang_overlay.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -277,7 +277,7 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tFlashbangFrame : register(t53, space1);\n-\tSamplerState g_sPointClamp : register(s18, space1);\n+\tSamplerState g_sPointClamp : register(s19, space1);\n \t\n \tstatic float4 gl_FragCoord;\n \tstatic float4 output_0;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_foliage.slang",
"status": "modified",
"additions": 440,
"deletions": 438,
"changes": 878,
"patch": "@@ -148,7 +148,7 @@ VS\n \tfloat g_flSpatialIncoherence < Default(0.1); UiType(Slider); UiGroup(\"Foliage UV Animation\"); >;\n \t\n \t// SPIR-V reflection failed for backend HLSL:\n-\t// cbuffer ID 5618 (name: _Globals_), member index 3 (name: g_vColorTint) cannot be expressed with either HLSL packing layout or packoffset.\n+\t// cbuffer ID 5618 (name: _Globals_), member index 0 (name: g_vTexCoordXform0) cannot be expressed with either HLSL packing layout or packoffset.\n \t//\n \t// Re-attempting reflection with the GLSL backend.\n \t\n@@ -395,7 +395,7 @@ PS\n \tTexture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >;\n \tTexture2D g_tTransmissiveColor < Channel(RGB, Box(TextureTransmissiveColor), Srgb); OutputFormat(BC7); SrgbRead(true); >;\n \tTexture2D g_tUvMotionMask < Channel(RGBA, Box(FoliageUvAnimation), Linear); OutputFormat(BC7); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \tfloat4 g_vShadingComplexity < Source(ShadingComplexity); UiType(VectorText); >;\n \t\n@@ -474,226 +474,242 @@ PS\n \t// Variant parameters\n \tTexture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >;\n \t\n+\t// SPIR-V reflection failed for backend HLSL:\n+\t// cbuffer ID 5618 (name: _Globals_), member index 18 (name: g_mTextureColorAdjust) cannot be expressed with either HLSL packing layout or packoffset.\n+\t//\n+\t// Re-attempting reflection with the GLSL backend.\n+\t\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n-\t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n+\t// SPIR-V source, GLSL reflection with SPIRV-Cross by KhronosGroup\n+\t\n+\t#version 460\n+\t#if defined(GL_EXT_control_flow_attributes)\n+\t#extension GL_EXT_control_flow_attributes : require\n+\t#define SPIRV_CROSS_FLATTEN [[flatten]]\n+\t#define SPIRV_CROSS_BRANCH [[dont_flatten]]\n+\t#define SPIRV_CROSS_UNROLL [[unroll]]\n+\t#define SPIRV_CROSS_LOOP [[dont_unroll]]\n+\t#else\n+\t#define SPIRV_CROSS_FLATTEN\n+\t#define SPIRV_CROSS_BRANCH\n+\t#define SPIRV_CROSS_UNROLL\n+\t#define SPIRV_CROSS_LOOP\n+\t#endif\n+\t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _1289\n+\tstruct _1541\n \t{\n-\t float4 _m0[3];\n+\t vec4 _m0[3];\n \t};\n \t\n-\tstruct _1499\n+\tstruct _1751\n \t{\n-\t float4 _m0[4];\n+\t vec4 _m0[4];\n \t};\n \t\n-\tstruct _2441\n+\tstruct _546\n \t{\n-\t column_major float4x4 _m0[4];\n+\t mat4 _m0[4];\n \t};\n \t\n \tstruct _200\n \t{\n-\t column_major float4x4 _m0;\n-\t column_major float4x4 _m1;\n-\t float4 _m2;\n-\t float4 _m3;\n-\t float4 _m4;\n-\t float4 _m5;\n-\t float3 _m6;\n+\t mat4 _m0;\n+\t mat4 _m1;\n+\t vec4 _m2;\n+\t vec4 _m3;\n+\t vec4 _m4;\n+\t vec4 _m5;\n+\t vec3 _m6;\n \t uint _m7;\n-\t float4 _m8;\n-\t float4 _m9;\n-\t float4 _m10;\n+\t vec4 _m8;\n+\t vec4 _m9;\n+\t vec4 _m10;\n \t float _m11;\n \t float _m12;\n \t uint _m13;\n \t int _m14;\n-\t column_major float4x3 _m15;\n-\t float4 _m16;\n-\t float4 _m17;\n-\t float4 _m18;\n-\t float4 _m19;\n-\t float4 _m20;\n-\t float3 _m21;\n+\t mat4x3 _m15;\n+\t vec4 _m16;\n+\t vec4 _m17;\n+\t vec4 _m18;\n+\t vec4 _m19;\n+\t vec4 _m20;\n+\t vec3 _m21;\n \t float _m22;\n-\t column_major float4x4 _m23;\n+\t mat4 _m23;\n \t};\n \t\n-\tstatic float3 _4;\n-\tstatic float4 _5;\n+\tvec3 _4;\n+\tvec4 _5;\n \t\n-\tcbuffer _Globals_ : register(b0, space1)\n+\tstruct _920\n \t{\n-\t uint _Globals_1_g_tColor : packoffset(c0);\n-\t uint _Globals_1_g_sTrilinearWrap : packoffset(c0.w);\n-\t uint _Globals_1_g_sTrilinearClamp : packoffset(c1);\n-\t uint _Globals_1_g_sPointClamp : packoffset(c1.y);\n-\t uint _Globals_1_g_sUserConfig : packoffset(c2);\n-\t uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2.y);\n-\t uint _Globals_1_g_sCookieSampler : packoffset(c2.w);\n-\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c3);\n-\t int _Globals_1_g_bFogEnabled : packoffset(c3.z);\n-\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c3.w);\n-\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c4);\n-\t float _Globals_1_g_flReflectance : packoffset(c4.y);\n-\t uint _Globals_1_g_tNormal : packoffset(c8);\n-\t uint _Globals_1_g_tAmbientOcclusion : packoffset(c8.w);\n-\t float _Globals_1_g_flVertexAmbientOcclusionAmount : packoffset(c11);\n-\t float _Globals_1_g_flVertexAmbientOcclusionPower : packoffset(c11.y);\n-\t float _Globals_1_g_flHeightGradientAmount : packoffset(c11.z);\n-\t float _Globals_1_g_flHeightGradientPower : packoffset(c11.w);\n-\t column_major float4x4 _Globals_1_g_mTextureColorAdjust : packoffset(c14);\n-\t float _Globals_1_g_fTextureRoughnessContrast : packoffset(c30.y);\n-\t float _Globals_1_g_fTextureRoughnessBrightness : packoffset(c30.z);\n-\t float _Globals_1_g_fTextureNormalContrast : packoffset(c31);\n+\t uint g_tColor;\n+\t uint g_sTrilinearWrap;\n+\t uint g_sTrilinearClamp;\n+\t uint g_sPointClamp;\n+\t uint g_sUserConfig;\n+\t uint g_sUserConfigAllowGlobalMipBias;\n+\t uint g_sCookieSampler;\n+\t uint g_tShadowDepthBufferCmpSampler;\n+\t int g_bFogEnabled;\n+\t int g_bDontFlipBackfaceNormals;\n+\t int g_bRenderBackfaceNormals;\n+\t float g_flReflectance;\n+\t uint g_tNormal;\n+\t uint g_tAmbientOcclusion;\n+\t float g_flVertexAmbientOcclusionAmount;\n+\t float g_flVertexAmbientOcclusionPower;\n+\t float g_flHeightGradientAmount;\n+\t float g_flHeightGradientPower;\n+\t mat4 g_mTextureColorAdjust;\n+\t float g_fTextureRoughnessContrast;\n+\t float g_fTextureRoughnessBrightness;\n+\t float g_fTextureNormalContrast;\n \t};\n \t\n-\tcbuffer PerViewConstantBufferCsgo_t : register(b3, space1)\n+\tlayout(set = 1) uniform _920 _Globals_;\n+\t\n+\tstruct _1374\n \t{\n-\t int4 PerViewConstantBufferCsgo_t_1_m0 : packoffset(c1);\n-\t int4 PerViewConstantBufferCsgo_t_1_m1 : packoffset(c2);\n-\t int4 PerViewConstantBufferCsgo_t_1_m2 : packoffset(c3);\n-\t uint PerViewConstantBufferCsgo_t_1_m3 : packoffset(c4.z);\n-\t uint PerViewConstantBufferCsgo_t_1_m4 : packoffset(c4.w);\n-\t uint PerViewConstantBufferCsgo_t_1_m5 : packoffset(c5);\n-\t uint PerViewConstantBufferCsgo_t_1_m6 : packoffset(c5.z);\n-\t uint PerViewConstantBufferCsgo_t_1_m7 : packoffset(c6.z);\n-\t column_major float4x4 PerViewConstantBufferCsgo_t_1_m8 : packoffset(c12);\n-\t float2 PerViewConstantBufferCsgo_t_1_m9 : packoffset(c16);\n-\t float PerViewConstantBufferCsgo_t_1_m10 : packoffset(c16.z);\n-\t float4 PerViewConstantBufferCsgo_t_1_m11 : packoffset(c23);\n-\t float4 PerViewConstantBufferCsgo_t_1_m12 : packoffset(c24);\n-\t float4 PerViewConstantBufferCsgo_t_1_m13 : packoffset(c25);\n-\t float4 PerViewConstantBufferCsgo_t_1_m14 : packoffset(c26);\n-\t float4 PerViewConstantBufferCsgo_t_1_m15 : packoffset(c27);\n-\t float4 PerViewConstantBufferCsgo_t_1_m16 : packoffset(c28);\n-\t column_major float4x4 PerViewConstantBufferCsgo_t_1_m17 : packoffset(c29);\n-\t float4 PerViewConstantBufferCsgo_t_1_m18 : packoffset(c33);\n-\t float4 PerViewConstantBufferCsgo_t_1_m19 : packoffset(c34);\n-\t float4 PerViewConstantBufferCsgo_t_1_m20 : packoffset(c35);\n+\t ivec4 _m0;\n+\t ivec4 _m1;\n+\t ivec4 _m2;\n+\t uint _m3;\n+\t uint _m4;\n+\t uint _m5;\n+\t uint _m6;\n+\t uint _m7;\n+\t mat4 _m8;\n+\t vec2 _m9;\n+\t float _m10;\n+\t vec4 _m11;\n+\t vec4 _m12;\n+\t vec4 _m13;\n+\t vec4 _m14;\n+\t vec4 _m15;\n+\t vec4 _m16;\n+\t mat4 _m17;\n+\t vec4 _m18;\n+\t vec4 _m19;\n+\t vec4 _m20;\n \t};\n \t\n-\tcbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3)\n+\tlayout(set = 1) uniform _1374 PerViewConstantBufferCsgo_t;\n+\t\n+\tstruct _1768\n \t{\n-\t _1289 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n-\t _1499 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);\n-\t uint4 PerViewLightingConstantBufferGpu_t_1_m5 : packoffset(c19);\n-\t uint4 PerViewLightingConstantBufferGpu_t_1_m6 : packoffset(c22);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m7 : packoffset(c23);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m8 : packoffset(c24);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m9 : packoffset(c1945);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m10 : packoffset(c1946);\n-\t int PerViewLightingConstantBufferGpu_t_1_m11 : packoffset(c1953);\n-\t float PerViewLightingConstantBufferGpu_t_1_m12 : packoffset(c1953.z);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m13 : packoffset(c1954);\n-\t float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955);\n-\t float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y);\n-\t float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z);\n-\t float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);\n-\t _2441 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);\n-\t _1499 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);\n-\t uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996);\n-\t uint PerViewLightingConstantBufferGpu_t_1_m21 : packoffset(c1996.y);\n+\t _1541 _m0;\n+\t _1751 _m1;\n+\t vec4 _m2;\n+\t vec4 _m3;\n+\t vec4 _m4;\n+\t uvec4 _m5;\n+\t uvec4 _m6;\n+\t vec4 _m7;\n+\t vec4 _m8;\n+\t vec4 _m9;\n+\t vec4 _m10;\n+\t int _m11;\n+\t float _m12;\n+\t vec4 _m13;\n+\t float _m14;\n+\t float _m15;\n+\t float _m16;\n+\t float _m17;\n+\t _546 _m18;\n+\t _1751 _m19;\n+\t uint _m20;\n+\t uint _m21;\n \t};\n \t\n-\tcbuffer PerViewConstantBuffer_t : register(b1, space1)\n+\tlayout(set = 3) uniform _1768 PerViewLightingConstantBufferGpu_t;\n+\t\n+\tstruct _1194\n \t{\n-\t float2 PerViewConstantBuffer_t_1_m0 : packoffset(c20);\n-\t float2 PerViewConstantBuffer_t_1_m1 : packoffset(c20.z);\n-\t float4 PerViewConstantBuffer_t_1_m2 : packoffset(c22);\n-\t float3 PerViewConstantBuffer_t_1_m3 : packoffset(c26);\n+\t vec2 _m0;\n+\t vec2 _m1;\n+\t vec4 _m2;\n+\t vec3 _m3;\n \t};\n \t\n-\tByteAddressBuffer g_CullBits : register(t30, space3);\n-\tByteAddressBuffer g_BarnLights : register(t31, space3);\n-\tTexture2D<float4> g_bindless_Texture2D_float4[65536] : register(t46, space4);\n-\tSamplerState g_bindless_Sampler[2048] : register(s29, space4);\n-\tSamplerComparisonState g_bindless_Sampler_1[2048] : register(s29, space4);\n-\tTexture3D<float4> g_bindless_Texture3D_float4[65536] : register(t46, space4);\n-\tTextureCubeArray<float4> g_bindless_TextureCubeArray_float4[65536] : register(t46, space4);\n-\tTextureCube<float4> g_bindless_TextureCube_float4[65536] : register(t46, space4);\n-\t\n-\tstatic float4 gl_FragCoord;\n-\tstatic bool gl_FrontFacing;\n-\tstatic float4 input_0;\n-\tstatic float3 input_1;\n-\tstatic float3 input_2;\n-\tstatic float4 input_3;\n-\tstatic float4 input_4;\n-\tstatic float3 input_5;\n-\tstatic float4 input_6;\n-\tstatic float4 output_0;\n-\t\n-\tstruct PS_INPUT\n+\tlayout(set = 1) uniform _1194 PerViewConstantBuffer_t;\n+\t\n+\tlayout(set = 3, binding = 30, std430) readonly buffer g_CullBits\n \t{\n-\t float4 input_0 : TEXCOORD0;\n-\t float3 input_1 : TEXCOORD1;\n-\t float3 input_2 : TEXCOORD2;\n-\t float4 input_3 : TEXCOORD3;\n-\t centroid float4 input_4 : TEXCOORD4;\n-\t centroid float3 input_5 : TEXCOORD5;\n-\t float4 input_6 : TEXCOORD6;\n-\t float4 gl_FragCoord : SV_Position;\n-\t bool gl_FrontFacing : SV_IsFrontFace;\n-\t};\n+\t uint _m0[];\n+\t} g_CullBits_1;\n \t\n-\tstruct PS_OUTPUT\n+\tlayout(set = 3, binding = 31, std430) readonly buffer g_BarnLights\n \t{\n-\t float4 output_0 : SV_Target0;\n-\t};\n+\t layout(row_major) _200 _m0[];\n+\t} g_BarnLights_1;\n+\t\n+\tlayout(set = 4, binding = 46) uniform texture2D g_bindless_Texture2D_float4[65536];\n+\tlayout(set = 4, binding = 29) uniform sampler g_bindless_Sampler[2048];\n+\tlayout(set = 4, binding = 29) uniform samplerShadow g_bindless_Sampler_1[2048];\n+\tlayout(set = 4, binding = 46) uniform texture3D g_bindless_Texture3D_float4[65536];\n+\tlayout(set = 4, binding = 46) uniform textureCubeArray g_bindless_TextureCubeArray_float4[65536];\n+\tlayout(set = 4, binding = 46) uniform textureCube g_bindless_TextureCube_float4[65536];\n+\t\n+\tlayout(location = 0) in vec4 input_0;\n+\tlayout(location = 1) in vec3 input_1;\n+\tlayout(location = 2) in vec3 input_2;\n+\tlayout(location = 3) in vec4 input_3;\n+\tlayout(location = 4) centroid in vec4 input_4;\n+\tlayout(location = 5) centroid in vec3 input_5;\n+\tlayout(location = 6) in vec4 input_6;\n+\tlayout(location = 0) out vec4 output_0;\n \t\n-\tvoid MainPs_inner()\n+\tvoid main()\n \t{\n-\t float4 _11408 = gl_FragCoord;\n-\t _11408.w = 1.0f / _11408.w;\n-\t float4 _24079 = clamp(input_0, 0.001000000047497451305389404296875f.xxxx, 1.0f.xxxx);\n-\t float3 _21709;\n-\t if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375f)\n+\t vec4 _11408 = gl_FragCoord;\n+\t _11408.w = 1.0 / _11408.w;\n+\t vec4 _24079 = clamp(input_0, vec4(0.001000000047497451305389404296875), vec4(1.0));\n+\t vec3 _21709;\n+\t if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375)\n \t {\n \t _21709 = input_5.xyz;\n \t }\n \t else\n \t {\n \t _21709 = input_2.xyz;\n \t }\n-\t bool _14874 = _Globals_1_g_bRenderBackfaceNormals != 0;\n+\t bool _14874 = _Globals_.g_bRenderBackfaceNormals != 0;\n \t bool _12885;\n \t if (_14874)\n \t {\n-\t _12885 = _Globals_1_g_bDontFlipBackfaceNormals == 0;\n+\t _12885 = _Globals_.g_bDontFlipBackfaceNormals == 0;\n \t }\n \t else\n \t {\n \t _12885 = false;\n \t }\n-\t float3 _10251;\n-\t [branch]\n+\t vec3 _10251;\n+\t SPIRV_CROSS_BRANCH\n \t if (_12885)\n \t {\n-\t _10251 = _21709 * (gl_FrontFacing ? 1.0f : (-1.0f));\n+\t _10251 = _21709 * (gl_FrontFacing ? 1.0 : (-1.0));\n \t }\n \t else\n \t {\n \t _10251 = _21709;\n \t }\n-\t float3 _24347 = normalize(_10251);\n-\t float3 _10061 = input_1 + PerViewConstantBufferCsgo_t_1_m20.xyz;\n-\t float4 _19334 = g_bindless_Texture2D_float4[_Globals_1_g_tColor].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfigAllowGlobalMipBias], input_3.xy);\n-\t float4 _19068 = g_bindless_Texture2D_float4[_Globals_1_g_tAmbientOcclusion].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], float2(input_3.xy).xy);\n-\t float4 _19372 = g_bindless_Texture2D_float4[_Globals_1_g_tNormal].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], input_3.xy);\n+\t vec3 _24347 = normalize(_10251);\n+\t vec3 _10061 = input_1 + PerViewConstantBufferCsgo_t._m20.xyz;\n+\t vec4 _19334 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColor], g_bindless_Sampler[_Globals_.g_sUserConfigAllowGlobalMipBias]), input_3.xy);\n+\t vec4 _19068 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tAmbientOcclusion], g_bindless_Sampler[_Globals_.g_sUserConfig]), vec2(input_3.xy).xy);\n+\t vec4 _19372 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tNormal], g_bindless_Sampler[_Globals_.g_sUserConfig]), input_3.xy);\n \t float _16000 = _19372.x;\n \t float _19720 = _19372.y;\n-\t float _16783 = (_16000 + _19720) - 1.00392162799835205078125f;\n+\t float _16783 = (_16000 + _19720) - 1.00392162799835205078125;\n \t float _11176 = _16000 - _19720;\n-\t float3 _8418 = normalize(float3(float2(_16783, _11176), (1.0f - abs(_16783)) - abs(_11176)));\n+\t vec3 _8418 = normalize(vec3(vec2(_16783, _11176), (1.0 - abs(_16783)) - abs(_11176)));\n \t bool _12886;\n \t if (_14874)\n \t {\n-\t _12886 = _Globals_1_g_bDontFlipBackfaceNormals == 0;\n+\t _12886 = _Globals_.g_bDontFlipBackfaceNormals == 0;\n \t }\n \t else\n \t {\n@@ -708,12 +724,12 @@ PS\n \t {\n \t _24327 = false;\n \t }\n-\t float3 _12631 = input_2.xyz * (_24327 ? (-1.0f) : 1.0f);\n-\t float _23240 = (input_6.w > 0.0f) ? 1.0f : (-1.0f);\n-\t float3 _14435 = cross(_12631.xyz, input_6.xyz) * _23240;\n-\t bool4 _24464 = bool4(PerViewConstantBufferCsgo_t_1_m2.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m2.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m2.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m2.w != int4(0, 0, 0, 0).w);\n+\t vec3 _12631 = input_2.xyz * (_24327 ? (-1.0) : 1.0);\n+\t float _23240 = (input_6.w > 0.0) ? 1.0 : (-1.0);\n+\t vec3 _14435 = cross(_12631.xyz, input_6.xyz) * _23240;\n+\t bvec4 _24464 = notEqual(PerViewConstantBufferCsgo_t._m2, ivec4(0));\n \t bool _20058 = _24464.w;\n-\t float3 _7424;\n+\t vec3 _7424;\n \t if (_20058)\n \t {\n \t _7424 = -_14435;\n@@ -722,31 +738,31 @@ PS\n \t {\n \t _7424 = _14435;\n \t }\n-\t float3 _20480;\n+\t vec3 _20480;\n \t if (!_24327)\n \t {\n-\t float3 _7482 = _8418;\n+\t vec3 _7482 = _8418;\n \t _7482.y = -_8418.y;\n \t _20480 = _7482;\n \t }\n \t else\n \t {\n \t _20480 = _8418;\n \t }\n-\t float3 _8357 = _Globals_1_g_flReflectance.xxx;\n-\t float3 _21710;\n-\t [branch]\n-\t if (_Globals_1_g_fTextureNormalContrast != 1.0f)\n+\t vec3 _8357 = vec3(_Globals_.g_flReflectance);\n+\t vec3 _21710;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_Globals_.g_fTextureNormalContrast != 1.0)\n \t {\n-\t float2 _8828 = _20480.yx * _Globals_1_g_fTextureNormalContrast;\n+\t vec2 _8828 = _20480.yx * _Globals_.g_fTextureNormalContrast;\n \t float _16674 = _8828.x;\n-\t float3 _8673 = _20480;\n+\t vec3 _8673 = _20480;\n \t _8673.y = _16674;\n \t _8673.x = _8828.y;\n \t bool _12887;\n \t if (_14874)\n \t {\n-\t _12887 = _Globals_1_g_bDontFlipBackfaceNormals == 0;\n+\t _12887 = _Globals_.g_bDontFlipBackfaceNormals == 0;\n \t }\n \t else\n \t {\n@@ -761,9 +777,9 @@ PS\n \t {\n \t _24328 = false;\n \t }\n-\t float3 _9739 = input_2.xyz * (_24328 ? (-1.0f) : 1.0f);\n-\t float3 _24682 = cross(_9739.xyz, input_6.xyz) * _23240;\n-\t float3 _7425;\n+\t vec3 _9739 = input_2.xyz * (_24328 ? (-1.0) : 1.0);\n+\t vec3 _24682 = cross(_9739.xyz, input_6.xyz) * _23240;\n+\t vec3 _7425;\n \t if (_20058)\n \t {\n \t _7425 = -_24682;\n@@ -772,10 +788,10 @@ PS\n \t {\n \t _7425 = _24682;\n \t }\n-\t float3 _20481;\n+\t vec3 _20481;\n \t if (!_24328)\n \t {\n-\t float3 _16556 = _8673;\n+\t vec3 _16556 = _8673;\n \t _16556.y = -_16674;\n \t _20481 = _16556;\n \t }\n@@ -789,234 +805,241 @@ PS\n \t {\n \t _21710 = normalize((((input_6.xyz * _20480.x).xyz + (_7424.xyz * _20480.y)).xyz + (_12631.xyz * _20480.z)).xyz);\n \t }\n-\t bool3 _15080 = all(bool3(true, true, true)).xxx;\n-\t float3 _17892 = float3(_15080.x ? _21710.x : 1.0f.xxx.x, _15080.y ? _21710.y : 1.0f.xxx.y, _15080.z ? _21710.z : 1.0f.xxx.z);\n-\t float3 _10560 = _24347.xyz;\n-\t float3 _11099 = ddx(_10560);\n-\t float3 _9175 = ddy(_10560);\n-\t float3 _10347 = _11099.xyz;\n-\t float3 _12420 = _9175.xyz;\n-\t float2 _21813 = max(clamp((((_19372.zz - 0.5f.xx) * _Globals_1_g_fTextureRoughnessContrast) + 0.5f.xx).xy * _Globals_1_g_fTextureRoughnessBrightness, 0.0f.xx, 1.0f.xx).xy, pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125f).xx);\n-\t float3 _15598 = -_24347;\n-\t float4 _23875 = float4(_21710.xyz, 1.0f);\n-\t bool4 _24465 = bool4(PerViewConstantBufferCsgo_t_1_m0.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m0.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m0.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m0.w != int4(0, 0, 0, 0).w);\n+\t vec3 _17892 = mix(vec3(1.0), _21710, bvec3(all(bvec3(true))));\n+\t vec3 _10560 = _24347.xyz;\n+\t vec3 _11099 = dFdx(_10560);\n+\t vec3 _9175 = dFdy(_10560);\n+\t vec3 _10347 = _11099.xyz;\n+\t vec3 _12420 = _9175.xyz;\n+\t vec2 _21813 = max(saturate((((_19372.zz - vec2(0.5)) * _Globals_.g_fTextureRoughnessContrast) + vec2(0.5)).xy * _Globals_.g_fTextureRoughnessBrightness).xy, vec2(pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125)));\n+\t vec3 _15598 = -_24347;\n+\t vec4 _23875 = vec4(_21710.xyz, 1.0);\n+\t bvec4 _24465 = notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0));\n \t float _21711;\n \t if (_24465.x)\n \t {\n-\t float3 _11394 = _24347.xyz;\n-\t float2 _11086 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t_1_m10) * PerViewConstantBufferCsgo_t_1_m9.xy) + (PerViewConstantBufferCsgo_t_1_m9.xy * 0.5f)).xy;\n-\t float4 _18418 = g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m5].GatherRed(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _11086).xyzw - _11408.zzzz;\n+\t vec3 _11394 = _24347.xyz;\n+\t vec2 _11086 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t._m10) * PerViewConstantBufferCsgo_t._m9.xy) + (PerViewConstantBufferCsgo_t._m9.xy * 0.5)).xy;\n+\t vec4 _18418 = textureGather(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m5], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _11086).xyzw - _11408.zzzz;\n \t float _18579 = _18418.w;\n \t float _12013 = _18418.z;\n \t bool _12285 = abs(_12013) < _18579;\n-\t float2 _23168;\n+\t vec2 _23168;\n \t if (_12285)\n \t {\n-\t _23168 = float2(PerViewConstantBufferCsgo_t_1_m9.x, 0.0f);\n+\t _23168 = vec2(PerViewConstantBufferCsgo_t._m9.x, 0.0);\n \t }\n \t else\n \t {\n-\t _23168 = 0.0f.xx;\n+\t _23168 = vec2(0.0);\n \t }\n \t float _20965 = _12285 ? _12013 : _18579;\n \t float _15372 = _18418.x;\n \t bool _12286 = abs(_15372) < _20965;\n-\t float2 _23169;\n+\t vec2 _23169;\n \t if (_12286)\n \t {\n-\t _23169 = float2(0.0f, PerViewConstantBufferCsgo_t_1_m9.y);\n+\t _23169 = vec2(0.0, PerViewConstantBufferCsgo_t._m9.y);\n \t }\n \t else\n \t {\n \t _23169 = _23168;\n \t }\n-\t bool2 _13083 = (abs(_18418.y) < (_12286 ? _15372 : _20965)).xx;\n-\t float4 _10010 = normalize(float4(PerViewLightingConstantBufferGpu_t_1_m2.x * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[0].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.y * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[1].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.z * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[2].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.w * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[3].xy, 0.25f))), 0.5f, 0.5f)));\n-\t float4 _13232 = max(float4(dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[3].xyz, _11394)).xyzw, 0.0f.xxxx) * normalize(clamp(((_10010 - max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)).xxxx) + 0.20000000298023223876953125f.xxxx) * 5.0f.xxxx, 0.0f.xxxx, 1.0f.xxxx));\n-\t _21711 = (1.0f / (dot(_13232, 1.0f.xxxx) + PerViewLightingConstantBufferGpu_t_1_m3.x)) * (PerViewLightingConstantBufferGpu_t_1_m3.x + dot(_13232, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m4].SampleLevel(g_bindless_Sampler[_Globals_1_g_sPointClamp], (_11086 + float2(_13083.x ? PerViewConstantBufferCsgo_t_1_m9.xy.x : _23169.x, _13083.y ? PerViewConstantBufferCsgo_t_1_m9.xy.y : _23169.y).xy).xy, 0.0f)));\n+\t vec4 _10010 = normalize(vec4(PerViewLightingConstantBufferGpu_t._m2.x * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[0].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.y * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[1].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.z * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[2].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.w * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[3].xy, 0.25))), 0.5, 0.5)));\n+\t vec4 _13232 = max(vec4(dot(PerViewLightingConstantBufferGpu_t._m1._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[3].xyz, _11394)).xyzw, vec4(0.0)) * normalize(saturate(((_10010 - vec4(max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)))) + vec4(0.20000000298023223876953125)) * vec4(5.0)));\n+\t _21711 = (1.0 / (dot(_13232, vec4(1.0)) + PerViewLightingConstantBufferGpu_t._m3.x)) * (PerViewLightingConstantBufferGpu_t._m3.x + dot(_13232, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], g_bindless_Sampler[_Globals_.g_sPointClamp]), (_11086 + mix(_23169, PerViewConstantBufferCsgo_t._m9.xy, bvec2(abs(_18418.y) < (_12286 ? _15372 : _20965))).xy).xy, 0.0)));\n \t }\n \t else\n \t {\n-\t _21711 = 1.0f;\n+\t _21711 = 1.0;\n \t }\n-\t float _21712;\n-\t [branch]\n-\t if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _21710.xyz);\n+\t float _12320;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t float3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12503;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m11 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t _13136 = 1.0f;\n-\t _14975 = 0.0f.xxx;\n-\t _10191 = -1;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))\n+\t {\n+\t _13136 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])\n+\t {\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;\n+\t vec3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_1.xyz, 1.0f));\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float3 _19470 = float3(_12779, _18322.yz);\n-\t float2 _24804 = _19470.xy;\n-\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);\n-\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;\n-\t float3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n-\t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));\n-\t float _12501;\n-\t [branch]\n-\t if (_13136 < 1.0f)\n-\t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))\n+\t float _18270 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t float _12501;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13136 < 1.0)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_1.xyz, 1.0f));\n-\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;\n-\t float3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;\n+\t vec3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t _7934 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12501 = mix(_7934, _18270, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0f;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = lerp(_7934, _18270, _13136);\n+\t _19363 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _19363 = 1.0;\n \t }\n-\t _19363 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0f;\n-\t }\n-\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));\n-\t float _12502;\n-\t if (_24465.y)\n-\t {\n-\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t float _13279 = mix(_19363, 1.0, saturate((distance(_10061.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));\n+\t float _12502;\n+\t if (_24465.y)\n+\t {\n+\t _12502 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12502 = _13279;\n+\t }\n+\t _12503 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _13279;\n+\t _12503 = 1.0;\n \t }\n-\t _21712 = _12502;\n+\t _12320 = _12503;\n \t }\n \t else\n \t {\n-\t _21712 = 1.0f;\n+\t _12320 = 1.0;\n \t }\n-\t float3 _9716;\n-\t float3 _24878;\n-\t [branch]\n-\t if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _21710.xyz) * _21712) > 0.0f)\n+\t vec3 _9716;\n+\t vec3 _24878;\n+\t SPIRV_CROSS_BRANCH\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n-\t bool3 _19899 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;\n-\t float _11797 = max(0.0f, dot(_21710.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz));\n-\t float2 _9840 = max(_21813, PerViewLightingConstantBufferGpu_t_1_m9.w.xx);\n-\t float3 _12281 = normalize(PerViewLightingConstantBufferGpu_t_1_m9.xyz + (-normalize(_10061.xyz - PerViewConstantBuffer_t_1_m3.xyz)).xyz).xyz;\n-\t float _12386 = dot(_12281, float3(_19899.x ? _21710.xyz.x : _17892.x, _19899.y ? _21710.xyz.y : _17892.y, _19899.z ? _21710.xyz.z : _17892.z).xyz);\n-\t float _19210 = max(0.0f, dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _12281));\n+\t float _11797 = max(0.0, dot(_21710.xyz, PerViewLightingConstantBufferGpu_t._m9.xyz));\n+\t vec2 _9840 = max(_21813, vec2(PerViewLightingConstantBufferGpu_t._m9.w));\n+\t vec3 _12281 = normalize(PerViewLightingConstantBufferGpu_t._m9.xyz + (-normalize(_10061.xyz - PerViewConstantBuffer_t._m3.xyz)).xyz).xyz;\n+\t float _12386 = dot(_12281, mix(_17892, _21710.xyz, bvec3(all(equal(_17892, vec3(1.0))))).xyz);\n+\t float _19210 = max(0.0, dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _12281));\n \t float _9850 = _9840.x;\n \t float _25211 = _9850 * _9850;\n \t float _19095 = _25211 * _25211;\n-\t float _15346 = ((_12386 * _12386) * (_19095 - 1.0f)) + 1.0f;\n-\t float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21712).xyz;\n-\t _9716 = ((_8357.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0f) + 2.0f)))).xyz * _11797).xyz * _16808;\n-\t _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (_11797.xxx.xyz * _16808);\n+\t float _15346 = ((_12386 * _12386) * (_19095 - 1.0)) + 1.0;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _12320).xyz;\n+\t _9716 = ((_8357.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0) + 2.0)))).xyz * _11797).xyz * _16808;\n+\t _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(_11797).xyz * _16808);\n \t }\n \t else\n \t {\n-\t _9716 = 0.0f.xxx;\n-\t _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;\n+\t _9716 = vec3(0.0);\n+\t _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz;\n \t }\n-\t bool4 _24466 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w);\n+\t bvec4 _24466 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0));\n \t bool _20060 = _24466.x;\n-\t float4 _19364;\n+\t vec4 _19364;\n \t if (_20060)\n \t {\n-\t float4 _18621 = mul(PerViewConstantBufferCsgo_t_1_m8, float4(_10061.xyz, 1.0f).xyzw);\n+\t vec4 _18621 = vec4(_10061.xyz, 1.0).xyzw * PerViewConstantBufferCsgo_t._m8;\n \t float _20176 = _18621.w;\n-\t float2 _11414 = _18621.xy / _20176.xx;\n-\t float4 _6651;\n-\t _6651.x = clamp(((_11414.x + 1.0f) * PerViewConstantBuffer_t_1_m1.x) * 0.5f, 0.0f, PerViewConstantBuffer_t_1_m1.x - 1.0f);\n-\t _6651.y = clamp(((1.0f - _11414.y) * PerViewConstantBuffer_t_1_m1.y) * 0.5f, 0.0f, PerViewConstantBuffer_t_1_m1.y - 1.0f);\n+\t vec2 _11414 = _18621.xy / vec2(_20176);\n+\t vec4 _6651;\n+\t _6651.x = clamp(((_11414.x + 1.0) * PerViewConstantBuffer_t._m1.x) * 0.5, 0.0, PerViewConstantBuffer_t._m1.x - 1.0);\n+\t _6651.y = clamp(((1.0 - _11414.y) * PerViewConstantBuffer_t._m1.y) * 0.5, 0.0, PerViewConstantBuffer_t._m1.y - 1.0);\n \t _6651.w = _20176;\n \t _19364 = _6651;\n \t }\n \t else\n \t {\n \t _19364 = _11408;\n \t }\n-\t uint2 _12083 = uint2(_19364.xy - PerViewConstantBuffer_t_1_m0.xy) >> PerViewLightingConstantBufferGpu_t_1_m6.x.xx;\n-\t uint _10838 = PerViewLightingConstantBufferGpu_t_1_m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m5.z);\n-\t uint _23393 = PerViewLightingConstantBufferGpu_t_1_m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m7.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m7.y)) * PerViewLightingConstantBufferGpu_t_1_m5.z);\n-\t float3 _13137;\n-\t float3 _16324;\n+\t uvec2 _12083 = uvec2(_19364.xy - PerViewConstantBuffer_t._m0.xy) >> uvec2(PerViewLightingConstantBufferGpu_t._m6.x);\n+\t uint _10838 = PerViewLightingConstantBufferGpu_t._m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m5.z);\n+\t uint _23393 = PerViewLightingConstantBufferGpu_t._m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m7.x, 0.0, PerViewLightingConstantBufferGpu_t._m7.y)) * PerViewLightingConstantBufferGpu_t._m5.z);\n+\t vec3 _13137;\n+\t vec3 _16324;\n \t _13137 = _9716;\n \t _16324 = _24878;\n \t uint _21567;\n-\t float3 _13138;\n-\t float3 _16325;\n+\t vec3 _13138;\n+\t vec3 _16325;\n \t uint _17017 = 0u;\n \t for (;;)\n \t {\n-\t if (!(_17017 < PerViewLightingConstantBufferGpu_t_1_m5.z))\n+\t if (!(_17017 < PerViewLightingConstantBufferGpu_t._m5.z))\n \t {\n \t break;\n \t }\n-\t uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _17017) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _17017) * 4 + 0));\n+\t uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _17017] & g_CullBits_1._m0[_23393 + _17017]);\n \t _13138 = _13137;\n \t _16325 = _16324;\n \t uint _20344;\n-\t float3 _13212;\n-\t float3 _15670;\n+\t vec3 _13212;\n+\t vec3 _15670;\n \t uint _17018 = _14475;\n \t for (;;)\n \t {\n \t if (!(_17018 != 0u))\n \t {\n \t break;\n \t }\n-\t int _12608 = int(firstbitlow(_17018) + (_17017 * 32u));\n+\t int _12608 = int(uint(findLSB(_17018)) + (_17017 * 32u));\n \t _20344 = _17018 & (_17018 - 1u);\n \t do\n \t {\n-\t float4x4 _14097 = float4x4(g_BarnLights.Load<float>(_12608 * 480 + 0), g_BarnLights.Load<float>(_12608 * 480 + 16), g_BarnLights.Load<float>(_12608 * 480 + 32), g_BarnLights.Load<float>(_12608 * 480 + 48), g_BarnLights.Load<float>(_12608 * 480 + 4), g_BarnLights.Load<float>(_12608 * 480 + 20), g_BarnLights.Load<float>(_12608 * 480 + 36), g_BarnLights.Load<float>(_12608 * 480 + 52), g_BarnLights.Load<float>(_12608 * 480 + 8), g_BarnLights.Load<float>(_12608 * 480 + 24), g_BarnLights.Load<float>(_12608 * 480 + 40), g_BarnLights.Load<float>(_12608 * 480 + 56), g_BarnLights.Load<float>(_12608 * 480 + 12), g_BarnLights.Load<float>(_12608 * 480 + 28), g_BarnLights.Load<float>(_12608 * 480 + 44), g_BarnLights.Load<float>(_12608 * 480 + 60));\n-\t float4 _24893 = mul(float4(input_1.xyz, 1.0f), _14097);\n-\t float3 _10521 = _24893.xyz / _24893.w.xxx;\n-\t float4 _22905;\n+\t vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(input_1.xyz, 1.0);\n+\t vec3 _10521 = _24893.xyz / vec3(_24893.w);\n+\t vec4 _22905;\n \t _22905.x = _10521.x;\n \t _22905.y = _10521.y;\n \t float _21776 = _10521.z;\n \t _22905.z = _21776;\n-\t float3 _21642 = _22905.xyz;\n+\t vec3 _21642 = _22905.xyz;\n \t bool _7426;\n-\t if (all(bool3(_22905.xyz.x > float3(-1.0f, -1.0f, 0.0f).x, _22905.xyz.y > float3(-1.0f, -1.0f, 0.0f).y, _22905.xyz.z > float3(-1.0f, -1.0f, 0.0f).z)))\n+\t if (all(greaterThan(_22905.xyz, vec3(-1.0, -1.0, 0.0))))\n \t {\n-\t _7426 = all(bool3(_22905.xyz.x < 1.0f.xxx.x, _22905.xyz.y < 1.0f.xxx.y, _22905.xyz.z < 1.0f.xxx.z));\n+\t _7426 = all(lessThan(_22905.xyz, vec3(1.0)));\n \t }\n \t else\n \t {\n@@ -1029,113 +1052,111 @@ PS\n \t }\n \t else\n \t {\n-\t float4x3 _16509 = float4x3(g_BarnLights.Load<float>(_12608 * 480 + 272), g_BarnLights.Load<float>(_12608 * 480 + 288), g_BarnLights.Load<float>(_12608 * 480 + 304), g_BarnLights.Load<float>(_12608 * 480 + 276), g_BarnLights.Load<float>(_12608 * 480 + 292), g_BarnLights.Load<float>(_12608 * 480 + 308), g_BarnLights.Load<float>(_12608 * 480 + 280), g_BarnLights.Load<float>(_12608 * 480 + 296), g_BarnLights.Load<float>(_12608 * 480 + 312), g_BarnLights.Load<float>(_12608 * 480 + 284), g_BarnLights.Load<float>(_12608 * 480 + 300), g_BarnLights.Load<float>(_12608 * 480 + 316));\n-\t float3 _6368 = abs(mul(float4(input_1.xyz, 1.0f), _16509).xyz);\n-\t _12888 = !all(bool3(_6368.x <= 1.0f.xxx.x, _6368.y <= 1.0f.xxx.y, _6368.z <= 1.0f.xxx.z));\n+\t _12888 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(input_1.xyz, 1.0)).xyz), vec3(1.0)));\n \t }\n \t if (_12888)\n \t {\n \t _13212 = _13138;\n \t _15670 = _16325;\n \t break;\n \t }\n-\t float _23572 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;\n-\t float _18492 = (2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) * g_BarnLights.Load<float4>(_12608 * 480 + 176).z;\n-\t float _14805 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).x;\n-\t float _9058 = _14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;\n-\t float _17330 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).w;\n-\t float _19825 = _17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z;\n-\t float3 _16268 = float3(_9058 - _19825, (1.0f - (_14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).x)) - _18492, (_23572 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) + (_17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).x)) * g_BarnLights.Load<float3>(_12608 * 480 + 192).z;\n+\t float _23572 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;\n+\t float _18492 = (2.0 * g_BarnLights_1._m0[_12608]._m5.z) * g_BarnLights_1._m0[_12608]._m5.z;\n+\t float _14805 = 2.0 * g_BarnLights_1._m0[_12608]._m5.x;\n+\t float _9058 = _14805 * g_BarnLights_1._m0[_12608]._m5.y;\n+\t float _17330 = 2.0 * g_BarnLights_1._m0[_12608]._m5.w;\n+\t float _19825 = _17330 * g_BarnLights_1._m0[_12608]._m5.z;\n+\t vec3 _16268 = vec3(_9058 - _19825, (1.0 - (_14805 * g_BarnLights_1._m0[_12608]._m5.x)) - _18492, (_23572 * g_BarnLights_1._m0[_12608]._m5.z) + (_17330 * g_BarnLights_1._m0[_12608]._m5.x)) * g_BarnLights_1._m0[_12608]._m6.z;\n \t float _21316;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 144).z > 0.0f)\n+\t if (g_BarnLights_1._m0[_12608]._m3.z > 0.0)\n \t {\n-\t _21316 = min(1.0f, _21776 * g_BarnLights.Load<float4>(_12608 * 480 + 144).z);\n+\t _21316 = min(1.0, _21776 * g_BarnLights_1._m0[_12608]._m3.z);\n \t }\n \t else\n \t {\n-\t _21316 = 1.0f;\n+\t _21316 = 1.0;\n \t }\n \t float _19667;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 144).w > 0.0f)\n+\t if (g_BarnLights_1._m0[_12608]._m3.w > 0.0)\n \t {\n-\t _19667 = _21316 * min(1.0f, (1.0f - _21776) * g_BarnLights.Load<float4>(_12608 * 480 + 144).w);\n+\t _19667 = _21316 * min(1.0, (1.0 - _21776) * g_BarnLights_1._m0[_12608]._m3.w);\n \t }\n \t else\n \t {\n \t _19667 = _21316;\n \t }\n-\t float3 _11179;\n+\t vec3 _11179;\n \t float _11633;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 128).w != 0.0f)\n+\t if (g_BarnLights_1._m0[_12608]._m2.w != 0.0)\n \t {\n-\t float3 _10017 = g_BarnLights.Load<float4>(_12608 * 480 + 128).xyz - input_1.xyz;\n+\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - input_1.xyz;\n \t float _18345 = dot(_10017, _10017);\n \t float _17647 = sqrt(_18345);\n-\t float3 _12302 = _10017 - _16268;\n-\t float3 _10210;\n+\t vec3 _12302 = _10017 - _16268;\n+\t vec3 _10210;\n \t do\n \t {\n-\t float3 _20229 = (_10017 + _16268) - _12302;\n+\t vec3 _20229 = (_10017 + _16268) - _12302;\n \t float _25105 = dot(-_12302, _20229);\n-\t if (_25105 <= 0.0f)\n+\t if (_25105 <= 0.0)\n \t {\n \t _10210 = _12302;\n \t break;\n \t }\n \t else\n \t {\n-\t _10210 = _12302 + (_20229 * min(1.0f, _25105 / dot(_20229, _20229)));\n+\t _10210 = _12302 + (_20229 * min(1.0, _25105 / dot(_20229, _20229)));\n \t break;\n \t }\n \t break; // unreachable workaround\n \t } while(false);\n-\t _11179 = _10017 / _17647.xxx;\n-\t _11633 = ((_19667 * (g_BarnLights.Load<float4>(_12608 * 480 + 128).w / max(_18345, g_BarnLights.Load<float4>(_12608 * 480 + 128).w))) * saturate(g_BarnLights.Load<float4>(_12608 * 480 + 144).x + (g_BarnLights.Load<float4>(_12608 * 480 + 144).y * _17647))) * saturate(g_BarnLights.Load<float3>(_12608 * 480 + 192).x + (g_BarnLights.Load<float3>(_12608 * 480 + 192).y * dot(float3((1.0f - (_23572 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y)) - _18492, _9058 + _19825, (_14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) - (_17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y)), normalize(_10210))));\n+\t _11179 = _10017 / vec3(_17647);\n+\t _11633 = ((_19667 * (g_BarnLights_1._m0[_12608]._m2.w / max(_18345, g_BarnLights_1._m0[_12608]._m2.w))) * saturate(g_BarnLights_1._m0[_12608]._m3.x + (g_BarnLights_1._m0[_12608]._m3.y * _17647))) * saturate(g_BarnLights_1._m0[_12608]._m6.x + (g_BarnLights_1._m0[_12608]._m6.y * dot(vec3((1.0 - (_23572 * g_BarnLights_1._m0[_12608]._m5.y)) - _18492, _9058 + _19825, (_14805 * g_BarnLights_1._m0[_12608]._m5.z) - (_17330 * g_BarnLights_1._m0[_12608]._m5.y)), normalize(_10210))));\n \t }\n \t else\n \t {\n-\t _11179 = g_BarnLights.Load<float4>(_12608 * 480 + 128).xyz;\n+\t _11179 = g_BarnLights_1._m0[_12608]._m2.xyz;\n \t _11633 = _19667;\n \t }\n-\t float3 _17828 = (g_BarnLights.Load<float4>(_12608 * 480 + 160).xyz * 1.0f).xyz * _11633;\n+\t vec3 _17828 = (g_BarnLights_1._m0[_12608]._m4.xyz * 1.0).xyz * _11633;\n \t bool _24419;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 208).z > 0.0f)\n+\t if (g_BarnLights_1._m0[_12608]._m8.z > 0.0)\n \t {\n \t _24419 = !_20060;\n \t }\n \t else\n \t {\n \t _24419 = false;\n \t }\n-\t float3 _21548;\n-\t [branch]\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w == 0.0f)\n+\t vec3 _21548;\n+\t SPIRV_CROSS_BRANCH\n+\t if (g_BarnLights_1._m0[_12608]._m4.w == 0.0)\n \t {\n \t float _10342;\n \t do\n \t {\n-\t float2 _22154 = abs(_22905.xy);\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 224).z == 0.0f)\n+\t vec2 _22154 = abs(_22905.xy);\n+\t if (g_BarnLights_1._m0[_12608]._m9.z == 0.0)\n \t {\n-\t _10342 = smoothstep(1.0f, g_BarnLights.Load<float4>(_12608 * 480 + 224).x, _22154.x) * smoothstep(1.0f, g_BarnLights.Load<float4>(_12608 * 480 + 224).y, _22154.y);\n+\t _10342 = smoothstep(1.0, g_BarnLights_1._m0[_12608]._m9.x, _22154.x) * smoothstep(1.0, g_BarnLights_1._m0[_12608]._m9.y, _22154.y);\n \t break;\n \t }\n \t else\n \t {\n \t float _11473 = _22154.x;\n-\t float _15266 = 2.0f / g_BarnLights.Load<float4>(_12608 * 480 + 224).z;\n+\t float _15266 = 2.0 / g_BarnLights_1._m0[_12608]._m9.z;\n \t float _15019 = _22154.y;\n-\t float _23041 = (-0.5f) * g_BarnLights.Load<float4>(_12608 * 480 + 224).z;\n-\t float _11981 = (g_BarnLights.Load<float4>(_12608 * 480 + 224).x * g_BarnLights.Load<float4>(_12608 * 480 + 224).y) * pow(max(pow(g_BarnLights.Load<float4>(_12608 * 480 + 224).y * _11473, _15266) + pow(g_BarnLights.Load<float4>(_12608 * 480 + 224).x * _15019, _15266), 1.1754943508222875079687365372222e-38f), _23041);\n-\t float _16524 = pow(max(pow(_11473, _15266) + pow(_15019, _15266), 1.1754943508222875079687365372222e-38f), _23041);\n+\t float _23041 = (-0.5) * g_BarnLights_1._m0[_12608]._m9.z;\n+\t float _11981 = (g_BarnLights_1._m0[_12608]._m9.x * g_BarnLights_1._m0[_12608]._m9.y) * pow(max(pow(g_BarnLights_1._m0[_12608]._m9.y * _11473, _15266) + pow(g_BarnLights_1._m0[_12608]._m9.x * _15019, _15266), 1.1754943508222875079687365372222e-38), _23041);\n+\t float _16524 = pow(max(pow(_11473, _15266) + pow(_15019, _15266), 1.1754943508222875079687365372222e-38), _23041);\n \t if (_11981 < _16524)\n \t {\n-\t _10342 = smoothstep(_16524, _11981, 1.0f);\n+\t _10342 = smoothstep(_16524, _11981, 1.0);\n \t break;\n \t }\n \t else\n \t {\n-\t _10342 = float(_16524 > 1.0f);\n+\t _10342 = float(_16524 > 1.0);\n \t break;\n \t }\n \t break; // unreachable workaround\n@@ -1146,49 +1167,49 @@ PS\n \t }\n \t else\n \t {\n-\t float3 _12503;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f)\n+\t vec3 _12504;\n+\t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n-\t float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);\n-\t float4 _19008 = _17795.xyzw * float4(-1.0f, -1.0f, -1.0f, 1.0f);\n-\t float3 _24989 = _19008.xyz;\n-\t float3 _23629 = float4((-_11179).xyz, 0.0f).xyz;\n+\t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n+\t vec4 _19008 = _17795.xyzw * vec4(-1.0, -1.0, -1.0, 1.0);\n+\t vec3 _24989 = _19008.xyz;\n+\t vec3 _23629 = vec4((-_11179).xyz, 0.0).xyz;\n \t float _15156 = -dot(_23629, _24989);\n-\t float3 _20479 = float4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz;\n-\t float3 _23592 = _17795.xyz;\n-\t float3 _12170 = ((_20479 * g_BarnLights.Load<float4>(_12608 * 480 + 176).w) + (_23592 * _15156)) + cross(_23592, _20479);\n-\t float3 _14081 = float3(float2(atan2(_12170.y, -_12170.x) * 0.15915493667125701904296875f, acos(_12170.z) * 0.3183098733425140380859375f), -g_BarnLights.Load<float4>(_12608 * 480 + 160).w);\n-\t float2 _20564 = (_14081.xy * g_BarnLights.Load<float4>(_12608 * 480 + 224).zw) + g_BarnLights.Load<float4>(_12608 * 480 + 224).xy;\n-\t float3 _20492 = _14081;\n+\t vec3 _20479 = vec4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz;\n+\t vec3 _23592 = _17795.xyz;\n+\t vec3 _12170 = ((_20479 * g_BarnLights_1._m0[_12608]._m5.w) + (_23592 * _15156)) + cross(_23592, _20479);\n+\t vec3 _14081 = vec3(vec2(atan(_12170.y, -_12170.x) * 0.15915493667125701904296875, acos(_12170.z) * 0.3183098733425140380859375), -g_BarnLights_1._m0[_12608]._m4.w);\n+\t vec2 _20564 = (_14081.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;\n+\t vec3 _20492 = _14081;\n \t _20492.x = _20564.x;\n \t _20492.y = _20564.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20492.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n-\t float3 _13791 = float3(mad(_22905.xy, float2(0.5f, -0.5f), 0.5f.xx), g_BarnLights.Load<float4>(_12608 * 480 + 160).w);\n-\t float2 _20563 = (_13791.xy * g_BarnLights.Load<float4>(_12608 * 480 + 224).zw) + g_BarnLights.Load<float4>(_12608 * 480 + 224).xy;\n-\t float3 _20491 = _13791;\n+\t vec3 _13791 = vec3(fma(_22905.xy, vec2(0.5, -0.5), vec2(0.5)), g_BarnLights_1._m0[_12608]._m4.w);\n+\t vec2 _20563 = (_13791.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;\n+\t vec3 _20491 = _13791;\n \t _20491.x = _20563.x;\n \t _20491.y = _20563.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20491.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12503;\n+\t _21548 = _12504;\n \t }\n-\t if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z)))\n+\t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n \t _13212 = _13138;\n \t _15670 = _16325;\n \t break;\n \t }\n-\t float3 _22671;\n+\t vec3 _22671;\n \t if (_24419)\n \t {\n-\t float3 _19629;\n-\t if ((g_BarnLights.Load<uint>(_12608 * 480 + 264) & 4u) != 0u)\n+\t vec3 _19629;\n+\t if ((g_BarnLights_1._m0[_12608]._m13 & 4u) != 0u)\n \t {\n-\t float2 _6281 = _22905.yx * float2(1.0f, -1.0f);\n-\t float3 _23714 = _21642;\n+\t vec2 _6281 = _22905.yx * vec2(1.0, -1.0);\n+\t vec3 _23714 = _21642;\n \t _23714.x = _6281.x;\n \t _23714.y = _6281.y;\n \t _19629 = _23714;\n@@ -1197,9 +1218,8 @@ PS\n \t {\n \t _19629 = _21642;\n \t }\n-\t float3 _20482 = _21548.xyz * lerp(1.0f, g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], float3(mad(_19629.xy, g_BarnLights.Load<float4>(_12608 * 480 + 208).zw, g_BarnLights.Load<float4>(_12608 * 480 + 208).xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t_1_m12)), g_BarnLights.Load<float>(_12608 * 480 + 260));\n-\t float3 _16449 = _20482.xyz;\n-\t if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z)))\n+\t vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0), g_BarnLights_1._m0[_12608]._m12);\n+\t if (all(equal(_20482.xyz, vec3(0.0))))\n \t {\n \t _13212 = _13138;\n \t _15670 = _16325;\n@@ -1211,18 +1231,17 @@ PS\n \t {\n \t _22671 = _21548;\n \t }\n-\t bool3 _19900 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;\n-\t float _11798 = max(0.0f, dot(_21710.xyz, _11179.xyz));\n-\t float2 _9841 = max(_21813, g_BarnLights.Load<float>(_12608 * 480 + 256).xx);\n-\t float3 _12282 = normalize(_11179.xyz + (-normalize(_10061.xyz - PerViewConstantBuffer_t_1_m3.xyz)).xyz).xyz;\n-\t float _12387 = dot(_12282, float3(_19900.x ? _21710.xyz.x : _17892.x, _19900.y ? _21710.xyz.y : _17892.y, _19900.z ? _21710.xyz.z : _17892.z).xyz);\n-\t float _19211 = max(0.0f, dot(_11179.xyz, _12282));\n+\t float _11798 = max(0.0, dot(_21710.xyz, _11179.xyz));\n+\t vec2 _9841 = max(_21813, vec2(g_BarnLights_1._m0[_12608]._m11));\n+\t vec3 _12282 = normalize(_11179.xyz + (-normalize(_10061.xyz - PerViewConstantBuffer_t._m3.xyz)).xyz).xyz;\n+\t float _12387 = dot(_12282, mix(_17892, _21710.xyz, bvec3(all(equal(_17892, vec3(1.0))))).xyz);\n+\t float _19211 = max(0.0, dot(_11179.xyz, _12282));\n \t float _9851 = _9841.x;\n \t float _25212 = _9851 * _9851;\n-\t float _19097 = _25212 * _25212;\n-\t float _15348 = ((_12387 * _12387) * (_19097 - 1.0f)) + 1.0f;\n-\t _13212 = _13138.xyz + (((_8357.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);\n-\t _15670 = _16325.xyz + (_11798.xxx.xyz * _22671.xyz);\n+\t float _19096 = _25212 * _25212;\n+\t float _15348 = ((_12387 * _12387) * (_19096 - 1.0)) + 1.0;\n+\t _13212 = _13138.xyz + (((_8357.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);\n+\t _15670 = _16325.xyz + (vec3(_11798).xyz * _22671.xyz);\n \t break;\n \t } while(false);\n \t _13138 = _13212;\n@@ -1236,85 +1255,85 @@ PS\n \t _17017 = _21567;\n \t continue;\n \t }\n-\t float _17172 = dot(_21813.xy, 0.5f.xx);\n-\t float3 _6253 = _17892.xyz;\n-\t float3 _17138 = normalize(_10061.xyz - PerViewConstantBuffer_t_1_m3.xyz);\n+\t float _17172 = dot(_21813.xy, vec2(0.5));\n+\t vec3 _6253 = _17892.xyz;\n+\t vec3 _17138 = normalize(_10061.xyz - PerViewConstantBuffer_t._m3.xyz);\n \t float _17225 = _17172 * _17172;\n-\t float _20711 = saturate(1.0f - _17225);\n-\t float4 _15343 = (float4(-1.0f, -0.0274999998509883880615234375f, -0.572000026702880859375f, 0.02199999988079071044921875f) * _17172) + float4(1.0f, 0.0425000004470348358154296875f, 1.03999996185302734375f, -0.039999999105930328369140625f);\n+\t float _20711 = saturate(1.0 - _17225);\n+\t vec4 _15343 = (vec4(-1.0, -0.0274999998509883880615234375, -0.572000026702880859375, 0.02199999988079071044921875) * _17172) + vec4(1.0, 0.0425000004470348358154296875, 1.03999996185302734375, -0.039999999105930328369140625);\n \t float _21215 = _15343.x;\n-\t float2 _24572 = (float2(-1.03999996185302734375f, 1.03999996185302734375f) * ((min(_21215 * _21215, exp2((-9.27999973297119140625f) * max(0.0f, dot((-_17138).xyz, _6253)))) * _21215) + _15343.y)) + _15343.zw;\n+\t vec2 _24572 = (vec2(-1.03999996185302734375, 1.03999996185302734375) * ((min(_21215 * _21215, exp2((-9.27999973297119140625) * max(0.0, dot((-_17138).xyz, _6253)))) * _21215) + _15343.y)) + _15343.zw;\n \t float _20339 = _24572.y;\n-\t float2 _11427 = float2(_20339, _24572.x + _20339);\n-\t float3 _8745 = float3(dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[2].xyzw, _23875)).xyz;\n-\t float3 _16991 = _16324.xyz + _8745;\n-\t float3 _20418 = (_21711 * (_19068.x * lerp(1.0f, pow(_24079.w, _Globals_1_g_flVertexAmbientOcclusionPower), _Globals_1_g_flVertexAmbientOcclusionAmount))).xxx.xyz;\n-\t float3 _22686 = (_16324.xyz + (_8745 * _20418).xyz) * ((float3(max(float4(mul(_Globals_1_g_mTextureColorAdjust, float4(float4((_19334.xyz * input_4.xyz).xyz, 1.0f).xyz, 1.0f)).xyz, 1.0f), 0.0f.xxxx).xyz).xyz * 1.0f) * (lerp(0.0f, pow(_24079.x, _Globals_1_g_flHeightGradientPower), _Globals_1_g_flHeightGradientAmount) + 1.0f)).xyz;\n-\t float4 _11205 = float4(_22686, _19334.w);\n+\t vec2 _11427 = vec2(_20339, _24572.x + _20339);\n+\t vec3 _8745 = vec3(dot(PerViewLightingConstantBufferGpu_t._m0._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m0._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m0._m0[2].xyzw, _23875)).xyz;\n+\t vec3 _16991 = _16324.xyz + _8745;\n+\t vec3 _20418 = vec3(_21711 * (_19068.x * mix(1.0, pow(_24079.w, _Globals_.g_flVertexAmbientOcclusionPower), _Globals_.g_flVertexAmbientOcclusionAmount))).xyz;\n+\t vec3 _22686 = (_16324.xyz + (_8745 * _20418).xyz) * ((vec3(max(vec4((vec4(vec4((_19334.xyz * input_4.xyz).xyz, 1.0).xyz, 1.0) * _Globals_.g_mTextureColorAdjust).xyz, 1.0), vec4(0.0)).xyz).xyz * 1.0) * (mix(0.0, pow(_24079.x, _Globals_.g_flHeightGradientPower), _Globals_.g_flHeightGradientAmount) + 1.0)).xyz;\n+\t vec4 _11205 = vec4(_22686, _19334.w);\n \t _11205.x = _22686.x;\n \t _11205.y = _22686.y;\n \t _11205.z = _22686.z;\n-\t float3 _15752 = _11205.xyz + (_13137.xyz * _20418).xyz;\n-\t float4 _20490 = _11205;\n+\t vec3 _15752 = _11205.xyz + (_13137.xyz * _20418).xyz;\n+\t vec4 _20490 = _11205;\n \t _20490.x = _15752.x;\n \t _20490.y = _15752.y;\n \t _20490.z = _15752.z;\n-\t float3 _15734 = _20490.xyz + ((((lerp(_11427.xxx, _11427.yyy, _8357) * g_bindless_TextureCubeArray_float4[PerViewConstantBufferCsgo_t_1_m7].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], float4(normalize(lerp(_6253, reflect(_17138.xyz, _17892.xyz).xyz, (_20711 * (sqrt(_20711) + _17225)).xxx)), 0.0f), PerViewLightingConstantBufferGpu_t_1_m8.y * sqrt(_17172)).xyz).xyz * (normalize(_16991 + 0.001000000047497451305389404296875f.xxx) * clamp(length(_16991), 0.0f, 1.75f))).xyz * (1.0f.xxx + (normalize(_8745 + 0.001000000047497451305389404296875f.xxx) * 0.5f))).xyz * _20418).xyz;\n-\t float4 _13888 = _20490;\n+\t vec3 _15734 = _20490.xyz + ((((mix(_11427.xxx, _11427.yyy, _8357) * textureLod(samplerCubeArray(g_bindless_TextureCubeArray_float4[PerViewConstantBufferCsgo_t._m7], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), vec4(normalize(mix(_6253, reflect(_17138.xyz, _17892.xyz).xyz, vec3(_20711 * (sqrt(_20711) + _17225)))), 0.0), PerViewLightingConstantBufferGpu_t._m8.y * sqrt(_17172)).xyz).xyz * (normalize(_16991 + vec3(0.001000000047497451305389404296875)) * clamp(length(_16991), 0.0, 1.75))).xyz * (vec3(1.0) + (normalize(_8745 + vec3(0.001000000047497451305389404296875)) * 0.5))).xyz * _20418).xyz;\n+\t vec4 _13888 = _20490;\n \t _13888.x = _15734.x;\n \t _13888.y = _15734.y;\n \t _13888.z = _15734.z;\n-\t float4 _6805;\n-\t if (_Globals_1_g_bFogEnabled != 0)\n+\t vec4 _6805;\n+\t if (_Globals_.g_bFogEnabled != 0)\n \t {\n-\t float3 _21493;\n-\t float3 _22956 = _10061.xyz - PerViewConstantBuffer_t_1_m3.xyz;\n-\t float3 _9057 = _22956.xyz;\n-\t float3 _19340;\n+\t vec3 _21493;\n+\t vec3 _22956 = _10061.xyz - PerViewConstantBuffer_t._m3.xyz;\n+\t vec3 _9057 = _22956.xyz;\n+\t vec3 _19340;\n \t do\n \t {\n \t _21493 = _22956.xyz;\n \t bool _12889;\n-\t if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t_1_m14.x)\n+\t if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t._m14.x)\n \t {\n-\t _12889 = (_10061.z * PerViewConstantBufferCsgo_t_1_m14.z) < PerViewConstantBufferCsgo_t_1_m14.y;\n+\t _12889 = (_10061.z * PerViewConstantBufferCsgo_t._m14.z) < PerViewConstantBufferCsgo_t._m14.y;\n \t }\n \t else\n \t {\n \t _12889 = false;\n \t }\n-\t [branch]\n+\t SPIRV_CROSS_BRANCH\n \t if (_12889)\n \t {\n-\t float2 _9342 = clamp(PerViewConstantBufferCsgo_t_1_m11.xy + (PerViewConstantBufferCsgo_t_1_m11.zw * float2(length(_21493), _10061.z)), 0.0f.xx, 1.0f.xx);\n-\t float _12872 = (pow(_9342.x, PerViewConstantBufferCsgo_t_1_m12.x) * pow(_9342.y, PerViewConstantBufferCsgo_t_1_m12.y)) * PerViewConstantBufferCsgo_t_1_m13.w;\n-\t _19340 = lerp(_13888.xyz, float4(PerViewConstantBufferCsgo_t_1_m13.xyz, _12872).xyz, _12872.xxx);\n+\t vec2 _9342 = saturate(PerViewConstantBufferCsgo_t._m11.xy + (PerViewConstantBufferCsgo_t._m11.zw * vec2(length(_21493), _10061.z)));\n+\t float _12872 = (pow(_9342.x, PerViewConstantBufferCsgo_t._m12.x) * pow(_9342.y, PerViewConstantBufferCsgo_t._m12.y)) * PerViewConstantBufferCsgo_t._m13.w;\n+\t _19340 = mix(_13888.xyz, vec4(PerViewConstantBufferCsgo_t._m13.xyz, _12872).xyz, vec3(_12872));\n \t break;\n \t }\n \t _19340 = _13888.xyz;\n \t break;\n \t } while(false);\n-\t float4 _23944 = _13888;\n+\t vec4 _23944 = _13888;\n \t _23944.x = _19340.x;\n \t _23944.y = _19340.y;\n \t _23944.z = _19340.z;\n-\t float3 _19341;\n+\t vec3 _19341;\n \t do\n \t {\n \t bool _12890;\n-\t if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t_1_m18.x)\n+\t if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t._m18.x)\n \t {\n-\t _12890 = (PerViewConstantBufferCsgo_t_1_m18.z * _10061.z) < PerViewConstantBufferCsgo_t_1_m18.y;\n+\t _12890 = (PerViewConstantBufferCsgo_t._m18.z * _10061.z) < PerViewConstantBufferCsgo_t._m18.y;\n \t }\n \t else\n \t {\n \t _12890 = false;\n \t }\n \t if (_12890)\n \t {\n-\t float _14602 = saturate(pow(max(0.0f, (length(_21493) * PerViewConstantBufferCsgo_t_1_m15.y) + PerViewConstantBufferCsgo_t_1_m15.x), PerViewConstantBufferCsgo_t_1_m15.w)) * saturate(pow(max(0.0f, (_10061.z * PerViewConstantBufferCsgo_t_1_m16.y) + PerViewConstantBufferCsgo_t_1_m16.x), PerViewConstantBufferCsgo_t_1_m16.z));\n-\t float _8892 = saturate(_14602) * PerViewConstantBufferCsgo_t_1_m18.w;\n-\t _19341 = lerp(_23944.xyz, float4((g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t_1_m3].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], normalize(mul(float4(_9057, 0.0f), PerViewConstantBufferCsgo_t_1_m17).xyz).xyz, PerViewConstantBufferCsgo_t_1_m16.w * saturate(1.0f - (_14602 * PerViewConstantBufferCsgo_t_1_m15.z))) * PerViewConstantBufferCsgo_t_1_m19.x).xyz, _8892).xyz, _8892.xxx);\n+\t float _14602 = saturate(pow(max(0.0, (length(_21493) * PerViewConstantBufferCsgo_t._m15.y) + PerViewConstantBufferCsgo_t._m15.x), PerViewConstantBufferCsgo_t._m15.w)) * saturate(pow(max(0.0, (_10061.z * PerViewConstantBufferCsgo_t._m16.y) + PerViewConstantBufferCsgo_t._m16.x), PerViewConstantBufferCsgo_t._m16.z));\n+\t float _8892 = saturate(_14602) * PerViewConstantBufferCsgo_t._m18.w;\n+\t _19341 = mix(_23944.xyz, vec4((textureLod(samplerCube(g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t._m3], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), normalize((PerViewConstantBufferCsgo_t._m17 * vec4(_9057, 0.0)).xyz).xyz, PerViewConstantBufferCsgo_t._m16.w * saturate(1.0 - (_14602 * PerViewConstantBufferCsgo_t._m15.z))) * PerViewConstantBufferCsgo_t._m19.x).xyz, _8892).xyz, vec3(_8892));\n \t break;\n \t }\n \t _19341 = _23944.xyz;\n@@ -1332,23 +1351,6 @@ PS\n \t output_0 = _6805;\n \t}\n \t\n-\tPS_OUTPUT MainPs(PS_INPUT stage_input)\n-\t{\n-\t gl_FragCoord = stage_input.gl_FragCoord;\n-\t gl_FragCoord.w = 1.0 / gl_FragCoord.w;\n-\t gl_FrontFacing = stage_input.gl_FrontFacing;\n-\t input_0 = stage_input.input_0;\n-\t input_1 = stage_input.input_1;\n-\t input_2 = stage_input.input_2;\n-\t input_3 = stage_input.input_3;\n-\t input_4 = stage_input.input_4;\n-\t input_5 = stage_input.input_5;\n-\t input_6 = stage_input.input_6;\n-\t MainPs_inner();\n-\t PS_OUTPUT stage_output;\n-\t stage_output.output_0 = output_0;\n-\t return stage_output;\n-\t}\n \t\n \t// --------- SPIRV -> HLSL end --------- \n \t\n@@ -1751,8 +1753,8 @@ RTX\n \tvoid main()\n \t{\n \t uint _549 = g_instanceBuffer._member0[uint(gl_InstanceID)].nMaterialData;\n-\t uint _604 = g_MaterialData_1._member0[(_549 + 28u) / 4u];\n-\t uint _603 = g_MaterialData_1._member0[(_549 + 32u) / 4u];\n+\t uint _604 = g_MaterialData_1._member0[(_549 + 32u) / 4u];\n+\t uint _603 = g_MaterialData_1._member0[(_549 + 36u) / 4u];\n \t vec4 _602 = vec4(g_MaterialData_3._member0[(_549 + 112u) / 4u], g_MaterialData_3._member0[(_549 + 116u) / 4u], g_MaterialData_3._member0[(_549 + 120u) / 4u], g_MaterialData_3._member0[(_549 + 124u) / 4u]);\n \t vec4 _601 = vec4(g_MaterialData_3._member0[(_549 + 128u) / 4u], g_MaterialData_3._member0[(_549 + 132u) / 4u], g_MaterialData_3._member0[(_549 + 136u) / 4u], g_MaterialData_3._member0[(_549 + 140u) / 4u]);\n \t vec2 _600 = vec2(g_MaterialData_3._member0[(_549 + 144u) / 4u], g_MaterialData_3._member0[(_549 + 148u) / 4u]);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_glass.slang",
"status": "modified",
"additions": 17,
"deletions": 17,
"changes": 34,
"patch": "@@ -312,14 +312,14 @@ PS\n \tTexture2D g_tGlassDust < Channel(RGB, ArtistDefinedOrAlphaWeighted(GlassMaskColor, GlassMaskTranslucency), Srgb); Channel(A, Box(GlassMaskTranslucency), Linear); OutputFormat(BC7); SrgbRead(true); >;\n \tTexture2D g_tGlassTintColor < Channel(RGB, Box(GlassTintColor), Srgb); Channel(A, Box(GlassMaskTransmission), Linear); OutputFormat(BC7); SrgbRead(true); >;\n \tTexture2D g_tNormal < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormal, TextureRoughness), Linear); OutputFormat(BC7); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Glass\n \tCreateInputTexture2D(GlassTintColor, Srgb, 8, \"\", \"_color\", \"Glass,10/Tint,30/10\", \"materials/default/default_tint_color.tga\");\n \tCreateInputTexture2D(GlassMaskColor, Srgb, 8, \"\", \"_color\", \"Glass,10/Mask,10/20\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(GlassMaskTranslucency, Linear, 8, \"\", \"_trans\", \"Glass,10/Mask,10/30\", Default4(0, 0, 0, 0));\n-\tfloat2 g_flTranslucencyRemap < Default(0); UiType(VectorText); UiGroup(\"Glass,10/Mask,10/30\"); >;\n+\tfloat2 g_flTranslucencyRemap < Default2(0, 1); UiType(VectorText); UiGroup(\"Glass,10/Mask,10/30\"); >;\n \tCreateInputTexture2D(GlassMaskTransmission, Linear, 8, \"\", \"_mask\", \"Glass,10/Mask,10/40\", Default4(1, 1, 1, 0));\n \t\n \t// Normal\n@@ -347,17 +347,17 @@ PS\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n \t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n \t\n-\tstruct _1696\n+\tstruct _1822\n \t{\n \t float4 _m0[3];\n \t};\n \t\n-\tstruct _1709\n+\tstruct _1835\n \t{\n \t float4 _m0[4];\n \t};\n \t\n-\tstruct _360\n+\tstruct _918\n \t{\n \t column_major float4x4 _m0[4];\n \t};\n@@ -400,15 +400,15 @@ PS\n \t uint _Globals_1_g_tGlassDust : packoffset(c0.w);\n \t float2 _Globals_1_g_flTranslucencyRemap : packoffset(c1);\n \t float _Globals_1_g_flModelTintAmount : packoffset(c1.z);\n-\t uint _Globals_1_g_sTrilinearWrap : packoffset(c2.y);\n-\t uint _Globals_1_g_sTrilinearClamp : packoffset(c2.z);\n-\t uint _Globals_1_g_sUserConfig : packoffset(c3.z);\n-\t uint _Globals_1_g_sCookieSampler : packoffset(c4.y);\n-\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c4.z);\n-\t int _Globals_1_g_bFogEnabled : packoffset(c5);\n-\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c5.y);\n-\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c5.z);\n-\t float _Globals_1_g_flReflectance : packoffset(c5.w);\n+\t uint _Globals_1_g_sTrilinearWrap : packoffset(c2.z);\n+\t uint _Globals_1_g_sTrilinearClamp : packoffset(c2.w);\n+\t uint _Globals_1_g_sUserConfig : packoffset(c3.w);\n+\t uint _Globals_1_g_sCookieSampler : packoffset(c4.z);\n+\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c4.w);\n+\t int _Globals_1_g_bFogEnabled : packoffset(c5.y);\n+\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c5.z);\n+\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c5.w);\n+\t float _Globals_1_g_flReflectance : packoffset(c6);\n \t};\n \t\n \tcbuffer PerViewConstantBufferCsgo_t : register(b3, space1)\n@@ -442,7 +442,7 @@ PS\n \t\n \tcbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3)\n \t{\n-\t _1696 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n+\t _1822 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c18);\n \t uint4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c19);\n \t uint4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c22);\n@@ -458,8 +458,8 @@ PS\n \t float PerViewLightingConstantBufferGpu_t_1_m13 : packoffset(c1955.y);\n \t float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955.z);\n \t float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.w);\n-\t _360 PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1956);\n-\t _1709 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1988);\n+\t _918 PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1956);\n+\t _1835 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1988);\n \t uint PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1996);\n \t uint PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1996.y);\n \t};"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_grenade_camera.slang",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -110,9 +110,9 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tCameraTexture : register(t30, space1);\n-\tSamplerState DefaultSamplerState_0 : register(s21, space1);\n+\tSamplerState DefaultSamplerState_0 : register(s22, space1);\n \tTexture2D<float4> g_tJumpThrowIcon : register(t31, space1);\n-\tSamplerState g_sBilinearClamp : register(s15, space1);\n+\tSamplerState g_sBilinearClamp : register(s16, space1);\n \t\n \tstatic float2 input_0;\n \tstatic float4 output_0;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_lightmapped_4wayblend.slang",
"status": "modified",
"additions": 108,
"deletions": 97,
"changes": 205,
"patch": "@@ -299,7 +299,7 @@ PS\n \tTexture2D g_tParticleShadowBuffer < Attribute(\"ParticleShadowBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tShadowDepthBufferDepth < Attribute(\"ShadowDepthBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tSsao < Attribute(\"SSAOOcclusionFactor\"); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Detail\n@@ -371,17 +371,17 @@ PS\n \t#endif\n \t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _1654\n+\tstruct _1906\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _1864\n+\tstruct _2116\n \t{\n \t vec4 _m0[4];\n \t};\n \t\n-\tstruct _2767\n+\tstruct _872\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -452,10 +452,10 @@ PS\n \t\n \tlayout(set = 1) uniform _1574 _Globals_;\n \t\n-\tstruct _1920\n+\tstruct _2326\n \t{\n-\t _1654 _m0;\n-\t _1864 _m1;\n+\t _1906 _m0;\n+\t _2116 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n \t vec4 _m4;\n@@ -471,11 +471,11 @@ PS\n \t float _m14;\n \t float _m15;\n \t float _m16;\n-\t _2767 _m17;\n-\t _1864 _m18;\n+\t _872 _m17;\n+\t _2116 _m18;\n \t};\n \t\n-\tlayout(set = 3) uniform _1920 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _2326 PerViewLightingConstantBufferGpu_t;\n \t\n \tstruct _1194\n \t{\n@@ -498,12 +498,12 @@ PS\n \t} g_BarnLights_1;\n \t\n \tlayout(set = 1, binding = 43) uniform texture2D g_tColor;\n-\tlayout(set = 1, binding = 19) uniform sampler g_sUserConfig;\n+\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfig;\n \tlayout(set = 1, binding = 46) uniform texture2D g_tLayer2Color;\n \tlayout(set = 1, binding = 49) uniform texture2D g_tLayer3Color;\n \tlayout(set = 1, binding = 52) uniform texture2D g_tLayer4Color;\n \tlayout(set = 1, binding = 45) uniform texture2D g_tLayer1AmbientOcclusion;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 48) uniform texture2D g_tLayer2AmbientOcclusion;\n \tlayout(set = 1, binding = 51) uniform texture2D g_tLayer3AmbientOcclusion;\n \tlayout(set = 1, binding = 54) uniform texture2D g_tLayer4AmbientOcclusion;\n@@ -512,13 +512,13 @@ PS\n \tlayout(set = 1, binding = 50) uniform texture2D g_tLayer3NormalRoughness;\n \tlayout(set = 1, binding = 53) uniform texture2D g_tLayer4NormalRoughness;\n \tlayout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sCookieSampler;\n \tlayout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;\n-\tlayout(set = 1, binding = 18) uniform sampler g_sPointClamp;\n-\tlayout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 19) uniform sampler g_sPointClamp;\n+\tlayout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 61) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n \t\n@@ -616,104 +616,115 @@ PS\n \t {\n \t _21709 = 1.0;\n \t }\n-\t float _21710;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m8.xyz, _24735);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m10 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12503;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m10 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m10))\n-\t {\n-\t _13136 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m17._m0[_13039];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m12[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m14)) + vec2(PerViewLightingConstantBufferGpu_t._m13));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m18._m0[_13039].xy;\n-\t vec3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m10))\n+\t {\n+\t _13136 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m17._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m12[_13039])\n+\t {\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m14)) + vec2(PerViewLightingConstantBufferGpu_t._m13));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m18._m0[_13039].xy;\n+\t vec3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0);\n-\t float _12501;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13136 < 1.0)\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m10 - 1))\n+\t float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0);\n+\t float _12501;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13136 < 1.0)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m17._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m18._m0[_15335].xy;\n-\t vec3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0);\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m10 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m17._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m18._m0[_15335].xy;\n+\t vec3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0);\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12501 = mix(_7934, _18270, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = mix(_7934, _18270, _13136);\n+\t _19363 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _19363 = 1.0;\n \t }\n-\t _19363 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0;\n-\t }\n-\t float _13279 = mix(_19363, 1.0, saturate((distance(_11095.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m16) + PerViewLightingConstantBufferGpu_t._m15));\n-\t float _12502;\n-\t if (_24465.y)\n-\t {\n-\t _12502 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t float _13279 = mix(_19363, 1.0, saturate((distance(_11095.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m16) + PerViewLightingConstantBufferGpu_t._m15));\n+\t float _12502;\n+\t if (_24465.y)\n+\t {\n+\t _12502 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12502 = _13279;\n+\t }\n+\t _12503 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _13279;\n+\t _12503 = 1.0;\n \t }\n-\t _21710 = _12502;\n+\t _12320 = _12503;\n \t }\n \t else\n \t {\n-\t _21710 = 1.0;\n+\t _12320 = 1.0;\n \t }\n-\t vec3 _21711;\n+\t vec3 _21710;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m8.xyz, _24735) * _21710) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n-\t _21711 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(max(0.0, dot(_14995.xyz, PerViewLightingConstantBufferGpu_t._m8.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m9.xyz * _21710).xyz);\n+\t _21710 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(max(0.0, dot(_14995.xyz, PerViewLightingConstantBufferGpu_t._m8.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m9.xyz * _12320).xyz);\n \t }\n \t else\n \t {\n-\t _21711 = PerViewLightingConstantBufferGpu_t._m4.xyz;\n+\t _21710 = PerViewLightingConstantBufferGpu_t._m4.xyz;\n \t }\n \t bvec4 _24466 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0));\n \t bool _20060 = _24466.x;\n@@ -737,7 +748,7 @@ PS\n \t uint _10838 = PerViewLightingConstantBufferGpu_t._m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m5.z);\n \t uint _23393 = PerViewLightingConstantBufferGpu_t._m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m7.x, 0.0, PerViewLightingConstantBufferGpu_t._m7.y)) * PerViewLightingConstantBufferGpu_t._m5.z);\n \t vec3 _13155;\n-\t _13155 = _21711;\n+\t _13155 = _21710;\n \t uint _21567;\n \t vec3 _13156;\n \t uint _16208 = 0u;\n@@ -750,7 +761,7 @@ PS\n \t uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _16208] & g_CullBits_1._m0[_23393 + _16208]);\n \t _13156 = _13155;\n \t uint _20344;\n-\t vec3 _12504;\n+\t vec3 _12505;\n \t uint _16209 = _14475;\n \t for (;;)\n \t {\n@@ -790,7 +801,7 @@ PS\n \t }\n \t if (_12885)\n \t {\n-\t _12504 = _13156;\n+\t _12505 = _13156;\n \t break;\n \t }\n \t float _23571 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;\n@@ -900,7 +911,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12503;\n+\t vec3 _12504;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -916,7 +927,7 @@ PS\n \t vec3 _20491 = _14081;\n \t _20491.x = _20564.x;\n \t _20491.y = _20564.y;\n-\t _12503 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -925,13 +936,13 @@ PS\n \t vec3 _20490 = _13791;\n \t _20490.x = _20563.x;\n \t _20490.y = _20563.y;\n-\t _12503 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12503;\n+\t _21548 = _12504;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n-\t _12504 = _13156;\n+\t _12505 = _13156;\n \t break;\n \t }\n \t vec3 _19630;\n@@ -953,7 +964,7 @@ PS\n \t vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0), g_BarnLights_1._m0[_12608]._m12);\n \t if (all(equal(_20482.xyz, vec3(0.0))))\n \t {\n-\t _12504 = _13156;\n+\t _12505 = _13156;\n \t break;\n \t }\n \t _19630 = _20482;\n@@ -962,10 +973,10 @@ PS\n \t {\n \t _19630 = _21548;\n \t }\n-\t _12504 = _13156.xyz + (vec3(max(0.0, dot(_14995.xyz, _11179.xyz))).xyz * _19630.xyz);\n+\t _12505 = _13156.xyz + (vec3(max(0.0, dot(_14995.xyz, _11179.xyz))).xyz * _19630.xyz);\n \t break;\n \t } while(false);\n-\t _13156 = _12504;\n+\t _13156 = _12505;\n \t _16209 = _20344;\n \t continue;\n \t }"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_lightmappedgeneric.slang",
"status": "modified",
"additions": 198,
"deletions": 205,
"changes": 403,
"patch": "@@ -89,8 +89,10 @@ VS\n \tStaticCombo( S_FANCY_BLENDING, F_FANCY_BLENDING!=0 );\n \tStaticCombo( S_DETAILTEXTURE, F_DETAILTEXTURE );\n \tStaticCombo( S_TEXTURETRANSFORMS, F_TEXTURETRANSFORMS );\n+\tStaticCombo( S_OVERLAY, F_OVERLAY );\n \tStaticComboRule( Requires( S_SPECULAR_DIRECT, S_SPECULAR_INDIRECT ) );\n \tStaticComboRule( Requires( S_DETAILTEXTURE==2, S_LAYERS==1 ) );\n+\tStaticComboRule( Allow1( S_OVERLAY, S_LAYERS ) );\n \tDynamicCombo( D_COMPRESSED_NORMALS_AND_TANGENTS, 0..1 );\n \tDynamicCombo( D_CS_VERTEX_ANIMATION, 0..1 );\n \tDynamicCombo( D_BAKED_LIGHTING_FROM_VERTEX_STREAM, 0..1 );\n@@ -176,8 +178,18 @@ VS\n \tfloat g_flVertexColorOpacityScale < Default(1); UiType(Slider); UiGroup(\"Color, 10/25\"); >;\n \tfloat g_flModelTintAmount < Default(1); UiType(Slider); UiGroup(\"Color,10/30\"); >;\n \t\n+\t// Overlay\n+\tfloat g_flOverlayLift < Range(0, 2); UiType(Slider); UiGroup(\"Overlay,90/Lift,10/10\"); >;\n+\t\n+\t// SPIR-V reflection failed for backend HLSL:\n+\t// cbuffer ID 5618 (name: _Globals_), member index 0 (name: g_vColorTint) cannot be expressed with either HLSL packing layout or packoffset.\n+\t//\n+\t// Re-attempting reflection with the GLSL backend.\n+\t\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n-\t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n+\t// SPIR-V source, GLSL reflection with SPIRV-Cross by KhronosGroup\n+\t\n+\t#version 460\n \t\n \tstruct _1125\n \t{\n@@ -193,94 +205,83 @@ VS\n \t\n \tstruct _1119\n \t{\n-\t row_major float3x4 _m0;\n+\t mat3x4 _m0;\n \t};\n \t\n-\tByteAddressBuffer g_instanceBuffer : register(t32, space4);\n-\tByteAddressBuffer g_transformBuffer : register(t30, space4);\n-\tcbuffer PerViewConstantBuffer_t : register(b1, space0)\n+\tlayout(set = 4, binding = 32, std430) readonly buffer g_instanceBuffer\n \t{\n-\t column_major float4x4 PerViewConstantBuffer_t_1_m0 : packoffset(c0);\n-\t float4 PerViewConstantBuffer_t_1_m1 : packoffset(c24);\n-\t};\n+\t _1125 _m0[];\n+\t} g_instanceBuffer_1;\n \t\n-\tcbuffer _Globals_ : register(b0, space0)\n+\tlayout(set = 4, binding = 30, std430) readonly buffer g_transformBuffer\n \t{\n-\t float3 _Globals_1_g_vColorTint : packoffset(c4.y);\n-\t float _Globals_1_g_flVertexColorOpacityScale : packoffset(c5);\n-\t float _Globals_1_g_flModelTintAmount : packoffset(c5.y);\n-\t};\n+\t _1119 _m0[];\n+\t} g_transformBuffer_1;\n \t\n-\tcbuffer PerViewConstantBufferCsgo_t : register(b3, space0)\n+\tstruct _1224\n \t{\n-\t float4 PerViewConstantBufferCsgo_t_1_m0 : packoffset(c35);\n+\t mat4 _m0;\n+\t vec4 _m1;\n \t};\n \t\n+\tlayout(set = 0) uniform _1224 PerViewConstantBuffer_t;\n \t\n-\tstatic float4 gl_Position;\n-\tstatic float3 vPositionOs;\n-\tstatic float2 vTexCoord;\n-\tstatic float3 vNormalOs;\n-\tstatic float4 vTangentUOs_flTangentVSign;\n-\tstatic uint4 vBlendIndices;\n-\tstatic uint nInstanceIdx;\n-\tstatic float3 output_0;\n-\tstatic float3 output_1;\n-\tstatic float4 output_2;\n-\tstatic float4 output_3;\n-\tstatic float4 output_4;\n-\tstatic uint output_5;\n-\t\n-\tstruct VS_INPUT\n+\tstruct _1042\n \t{\n-\t float3 vPositionOs : POSITION0;\n-\t float2 vTexCoord : TEXCOORD0;\n-\t float3 vNormalOs : NORMAL0;\n-\t float4 vTangentUOs_flTangentVSign : TANGENT0;\n-\t uint4 vBlendIndices : BLENDINDICES0;\n-\t uint nInstanceIdx : TEXCOORD13;\n+\t vec3 g_vColorTint;\n+\t float g_flVertexColorOpacityScale;\n+\t float g_flModelTintAmount;\n \t};\n \t\n-\tstruct PS_INPUT\n+\tlayout(set = 0) uniform _1042 _Globals_;\n+\t\n+\tstruct _1017\n \t{\n-\t float3 output_0 : TEXCOORD0;\n-\t float3 output_1 : TEXCOORD1;\n-\t float4 output_2 : TEXCOORD2;\n-\t centroid float4 output_3 : TEXCOORD3;\n-\t float4 output_4 : TEXCOORD4;\n-\t nointerpolation uint output_5 : TEXCOORD5;\n-\t float4 gl_Position : SV_Position;\n+\t vec4 _m0;\n \t};\n \t\n-\tvoid MainVs_inner()\n+\tlayout(set = 0) uniform _1017 PerViewConstantBufferCsgo_t;\n+\t\n+\tlayout(location = 0) in vec3 vPositionOs;\n+\tlayout(location = 1) in vec2 vTexCoord;\n+\tlayout(location = 2) in vec3 vNormalOs;\n+\tlayout(location = 3) in vec4 vTangentUOs_flTangentVSign;\n+\tlayout(location = 4) in uvec4 vBlendIndices;\n+\tlayout(location = 5) in uint nInstanceIdx;\n+\tlayout(location = 0) out vec3 output_0;\n+\tlayout(location = 1) out vec3 output_1;\n+\tlayout(location = 2) out vec4 output_2;\n+\tlayout(location = 3) centroid out vec4 output_3;\n+\tlayout(location = 4) out vec4 output_4;\n+\tlayout(location = 5) flat out uint output_5;\n+\t\n+\tvoid main()\n \t{\n-\t uint _13771 = (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 20) >> uint(16)) & 15u;\n+\t uint _13771 = (g_instanceBuffer_1._m0[nInstanceIdx]._m5 >> uint(16)) & 15u;\n \t uint _21785;\n \t if (_13771 == 1u)\n \t {\n-\t _21785 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) + (2u + vBlendIndices.x);\n+\t _21785 = g_instanceBuffer_1._m0[nInstanceIdx]._m1 + (2u + vBlendIndices.x);\n \t }\n \t else\n \t {\n-\t _21785 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4);\n+\t _21785 = g_instanceBuffer_1._m0[nInstanceIdx]._m1;\n \t }\n-\t float3x4 _12618 = float3x4(g_transformBuffer.Load<float4>(_21785 * 48 + 0), g_transformBuffer.Load<float4>(_21785 * 48 + 16), g_transformBuffer.Load<float4>(_21785 * 48 + 32));\n-\t float3 _21709;\n+\t vec3 _21709;\n \t if (_13771 > 0u)\n \t {\n-\t float3x4 _25207 = float3x4(g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 0), g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 16), g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 32));\n-\t _21709 = _25207[0].z.xxx;\n+\t _21709 = vec3(g_transformBuffer_1._m0[g_instanceBuffer_1._m0[nInstanceIdx]._m1]._m0[0].z);\n \t }\n \t else\n \t {\n-\t _21709 = 1.0f.xxx;\n+\t _21709 = vec3(1.0);\n \t }\n-\t float4 _23812 = float4(uint4(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 255u, (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 65280u) >> uint(8), (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 16711680u) >> uint(16), (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 4278190080u) >> uint(24))) * 0.0039215688593685626983642578125f.xxxx;\n-\t float3 _6253 = _23812.xyz;\n-\t float3 _17828 = _6253 * 0.077399380505084991455078125f.xxx;\n-\t float3 _7676 = pow((_6253 * 0.947867333889007568359375f.xxx) + 0.052132703363895416259765625f.xxx, 2.400000095367431640625f.xxx);\n+\t vec4 _23812 = vec4(uvec4(g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 255u, (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 65280u) >> uint(8), (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 16711680u) >> uint(16), (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 4278190080u) >> uint(24))) * vec4(0.0039215688593685626983642578125);\n+\t vec3 _6253 = _23812.xyz;\n+\t vec3 _17828 = _6253 * vec3(0.077399380505084991455078125);\n+\t vec3 _7676 = pow((_6253 * vec3(0.947867333889007568359375)) + vec3(0.052132703363895416259765625), vec3(2.400000095367431640625));\n \t float _21354;\n-\t if (_23812.x <= 0.040449999272823333740234375f)\n+\t if (_23812.x <= 0.040449999272823333740234375)\n \t {\n \t _21354 = _17828.x;\n \t }\n@@ -289,7 +290,7 @@ VS\n \t _21354 = _7676.x;\n \t }\n \t float _21355;\n-\t if (_23812.y <= 0.040449999272823333740234375f)\n+\t if (_23812.y <= 0.040449999272823333740234375)\n \t {\n \t _21355 = _17828.y;\n \t }\n@@ -298,7 +299,7 @@ VS\n \t _21355 = _7676.y;\n \t }\n \t float _17978;\n-\t if (_23812.z <= 0.040449999272823333740234375f)\n+\t if (_23812.z <= 0.040449999272823333740234375)\n \t {\n \t _17978 = _17828.z;\n \t }\n@@ -307,41 +308,22 @@ VS\n \t _17978 = _7676.z;\n \t }\n \t float _7654 = _23812.w;\n-\t float _16337 = _7654 * g_instanceBuffer.Load<float>(nInstanceIdx * 32 + 28);\n-\t float3 _12151 = mul(_12618, float4(vPositionOs.xyz * _21709.xyz, 1.0f));\n-\t float4 _18237 = mul(PerViewConstantBuffer_t_1_m0, (float4(_12151.xyz, 1.0f) + (PerViewConstantBuffer_t_1_m1 * 1.0f)).xyzw);\n-\t float4 _9337 = vTexCoord.xyxy;\n+\t float _16337 = _7654 * g_instanceBuffer_1._m0[nInstanceIdx]._m7;\n+\t vec3 _12151 = vec4(vPositionOs.xyz * _21709.xyz, 1.0) * g_transformBuffer_1._m0[_21785]._m0;\n+\t vec4 _18237 = (vec4(_12151.xyz, 1.0) + (PerViewConstantBuffer_t._m1 * 1.0)).xyzw * PerViewConstantBuffer_t._m0;\n+\t vec4 _9337 = vTexCoord.xyxy;\n \t _9337.z = vTexCoord.x;\n \t _9337.w = vTexCoord.y;\n-\t output_0 = _12151.xyz - PerViewConstantBufferCsgo_t_1_m0.xyz;\n-\t output_1 = normalize(mul(_12618, float4(vNormalOs.xyz, 0.0f)));\n+\t output_0 = _12151.xyz - PerViewConstantBufferCsgo_t._m0.xyz;\n+\t output_1 = normalize(vec4(vNormalOs.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0);\n \t output_2 = _9337;\n-\t output_3 = float4(float4(lerp(1.0f.xxx, float4(_21354, _21355, _17978, _7654).xyz, _Globals_1_g_flModelTintAmount.xxx), _16337).xyz * _Globals_1_g_vColorTint.xyz, _16337 * _Globals_1_g_flVertexColorOpacityScale);\n-\t output_4 = float4(normalize(mul(_12618, float4(vTangentUOs_flTangentVSign.xyz, 0.0f))), vTangentUOs_flTangentVSign.w);\n-\t output_5 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 20) & 65535u;\n+\t output_3 = vec4(vec4(mix(vec3(1.0), vec4(_21354, _21355, _17978, _7654).xyz, vec3(_Globals_.g_flModelTintAmount)), _16337).xyz * _Globals_.g_vColorTint.xyz, _16337 * _Globals_.g_flVertexColorOpacityScale);\n+\t output_4 = vec4(normalize(vec4(vTangentUOs_flTangentVSign.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0), vTangentUOs_flTangentVSign.w);\n+\t output_5 = g_instanceBuffer_1._m0[nInstanceIdx]._m5 & 65535u;\n \t _18237.y = -_18237.y;\n \t gl_Position = _18237;\n \t}\n \t\n-\tPS_INPUT MainVs(VS_INPUT stage_input)\n-\t{\n-\t vPositionOs = stage_input.vPositionOs;\n-\t vTexCoord = stage_input.vTexCoord;\n-\t vNormalOs = stage_input.vNormalOs;\n-\t vTangentUOs_flTangentVSign = stage_input.vTangentUOs_flTangentVSign;\n-\t vBlendIndices = stage_input.vBlendIndices;\n-\t nInstanceIdx = stage_input.nInstanceIdx;\n-\t MainVs_inner();\n-\t PS_INPUT stage_output;\n-\t stage_output.gl_Position = gl_Position;\n-\t stage_output.output_0 = output_0;\n-\t stage_output.output_1 = output_1;\n-\t stage_output.output_2 = output_2;\n-\t stage_output.output_3 = output_3;\n-\t stage_output.output_4 = output_4;\n-\t stage_output.output_5 = output_5;\n-\t return stage_output;\n-\t}\n \t\n \t// --------- SPIRV -> HLSL end --------- \n \t\n@@ -433,7 +415,7 @@ PS\n \tTexture2D g_tLayer2Color < Channel(RGB, ArtistDefined(TextureLayer2Color), Srgb); OutputFormat(DXT1); SrgbRead(true); >;\n \tTexture2D g_tLayer2Detail < Channel(RGB, Box(TextureLayer2Detail), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tLayer2NormalRoughness < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureLayer2Normal, TextureLayer2Roughness), Linear); OutputFormat(BC7); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Blend Modulation\n@@ -499,17 +481,17 @@ PS\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n \t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n \t\n-\tstruct _2494\n+\tstruct _2746\n \t{\n \t float4 _m0[3];\n \t};\n \t\n-\tstruct _2704\n+\tstruct _2956\n \t{\n \t float4 _m0[4];\n \t};\n \t\n-\tstruct _465\n+\tstruct _1581\n \t{\n \t column_major float4x4 _m0[4];\n \t};\n@@ -547,20 +529,20 @@ PS\n \t\n \tcbuffer _Globals_ : register(b0, space1)\n \t{\n-\t uint _Globals_1_g_sTrilinearWrap : packoffset(c0.z);\n-\t uint _Globals_1_g_sTrilinearClamp : packoffset(c0.w);\n-\t uint _Globals_1_g_sPointClamp : packoffset(c1);\n-\t uint _Globals_1_g_sUserConfig : packoffset(c1.w);\n-\t uint _Globals_1_g_tColor : packoffset(c2.y);\n-\t uint _Globals_1_g_tLayer1NormalRoughness : packoffset(c2.z);\n-\t uint _Globals_1_g_tLayer1AmbientOcclusion : packoffset(c2.w);\n-\t float3 _Globals_1_g_vLayer1Tint : packoffset(c3);\n-\t uint _Globals_1_g_sCookieSampler : packoffset(c4.z);\n-\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c4.w);\n-\t int _Globals_1_g_bFogEnabled : packoffset(c5.y);\n-\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c5.z);\n-\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c5.w);\n-\t float _Globals_1_g_flMetalness : packoffset(c10);\n+\t uint _Globals_1_g_sTrilinearWrap : packoffset(c0.w);\n+\t uint _Globals_1_g_sTrilinearClamp : packoffset(c1);\n+\t uint _Globals_1_g_sPointClamp : packoffset(c1.y);\n+\t uint _Globals_1_g_sUserConfig : packoffset(c2);\n+\t uint _Globals_1_g_tColor : packoffset(c2.z);\n+\t uint _Globals_1_g_tLayer1NormalRoughness : packoffset(c2.w);\n+\t uint _Globals_1_g_tLayer1AmbientOcclusion : packoffset(c3);\n+\t float3 _Globals_1_g_vLayer1Tint : packoffset(c3.y);\n+\t uint _Globals_1_g_sCookieSampler : packoffset(c4.w);\n+\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c5);\n+\t int _Globals_1_g_bFogEnabled : packoffset(c5.z);\n+\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c5.w);\n+\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c6);\n+\t float _Globals_1_g_flMetalness : packoffset(c10.y);\n \t};\n \t\n \tcbuffer PerViewConstantBufferCsgo_t : register(b3, space1)\n@@ -589,8 +571,8 @@ PS\n \t\n \tcbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3)\n \t{\n-\t _2494 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n-\t _2704 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n+\t _2746 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n+\t _2956 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);\n@@ -606,8 +588,8 @@ PS\n \t float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955.y);\n \t float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.z);\n \t float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.w);\n-\t _465 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1956);\n-\t _2704 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1988);\n+\t _1581 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1956);\n+\t _2956 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1988);\n \t uint PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1996);\n \t uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996.y);\n \t};\n@@ -771,104 +753,115 @@ PS\n \t {\n \t _21709 = 1.0f;\n \t }\n-\t float _21710;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m8.xyz, _24735);\n+\t float _12320;\n \t [branch]\n-\t if (PerViewLightingConstantBufferGpu_t_1_m10 != 0)\n+\t if (_8634 > 0.0f)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t float3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12503;\n+\t [branch]\n+\t if (PerViewLightingConstantBufferGpu_t_1_m10 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m10))\n-\t {\n-\t _13136 = 1.0f;\n-\t _14975 = 0.0f.xxx;\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_13039], float4(input_0.xyz, 1.0f));\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m12[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t float3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float3 _19470 = float3(_12779, _18322.yz);\n-\t float2 _24804 = _19470.xy;\n-\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m14.xx) + PerViewLightingConstantBufferGpu_t_1_m13.xx, 0.0f.xx, 1.0f.xx);\n-\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].xy;\n-\t float3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m10))\n+\t {\n+\t _13136 = 1.0f;\n+\t _14975 = 0.0f.xxx;\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_13039], float4(input_0.xyz, 1.0f));\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m12[_13039])\n+\t {\n+\t float3 _19470 = float3(_12779, _18322.yz);\n+\t float2 _24804 = _19470.xy;\n+\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m14.xx) + PerViewLightingConstantBufferGpu_t_1_m13.xx, 0.0f.xx, 1.0f.xx);\n+\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].xy;\n+\t float3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m11));\n-\t float _12501;\n-\t [branch]\n-\t if (_13136 < 1.0f)\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m10 - 1))\n+\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m11));\n+\t float _12501;\n+\t [branch]\n+\t if (_13136 < 1.0f)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_15335], float4(input_0.xyz, 1.0f));\n-\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].xy;\n-\t float3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m11));\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m10 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_15335], float4(input_0.xyz, 1.0f));\n+\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].xy;\n+\t float3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m11));\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0f;\n+\t }\n+\t _12501 = lerp(_7934, _18270, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0f;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = lerp(_7934, _18270, _13136);\n+\t _19363 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _19363 = 1.0f;\n \t }\n-\t _19363 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0f;\n-\t }\n-\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m16) + PerViewLightingConstantBufferGpu_t_1_m15));\n-\t float _12502;\n-\t if (_24465.y)\n-\t {\n-\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m16) + PerViewLightingConstantBufferGpu_t_1_m15));\n+\t float _12502;\n+\t if (_24465.y)\n+\t {\n+\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t }\n+\t else\n+\t {\n+\t _12502 = _13279;\n+\t }\n+\t _12503 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _13279;\n+\t _12503 = 1.0f;\n \t }\n-\t _21710 = _12502;\n+\t _12320 = _12503;\n \t }\n \t else\n \t {\n-\t _21710 = 1.0f;\n+\t _12320 = 1.0f;\n \t }\n-\t float3 _21711;\n+\t float3 _21710;\n \t [branch]\n-\t if ((dot(PerViewLightingConstantBufferGpu_t_1_m8.xyz, _24735) * _21710) > 0.0f)\n+\t if ((_8634 * _12320) > 0.0f)\n \t {\n-\t _21711 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m8.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m9.xyz * _21710).xyz);\n+\t _21710 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m8.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m9.xyz * _12320).xyz);\n \t }\n \t else\n \t {\n-\t _21711 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;\n+\t _21710 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;\n \t }\n \t bool4 _24466 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w);\n \t bool _20060 = _24466.x;\n@@ -892,7 +885,7 @@ PS\n \t uint _10838 = PerViewLightingConstantBufferGpu_t_1_m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m5.z);\n \t uint _23393 = PerViewLightingConstantBufferGpu_t_1_m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m7.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m7.y)) * PerViewLightingConstantBufferGpu_t_1_m5.z);\n \t float3 _13155;\n-\t _13155 = _21711;\n+\t _13155 = _21710;\n \t uint _21567;\n \t float3 _13156;\n \t uint _16208 = 0u;\n@@ -905,7 +898,7 @@ PS\n \t uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _16208) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _16208) * 4 + 0));\n \t _13156 = _13155;\n \t uint _20344;\n-\t float3 _12504;\n+\t float3 _12505;\n \t uint _16209 = _14475;\n \t for (;;)\n \t {\n@@ -948,7 +941,7 @@ PS\n \t }\n \t if (_12887)\n \t {\n-\t _12504 = _13156;\n+\t _12505 = _13156;\n \t break;\n \t }\n \t float _23571 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;\n@@ -1058,7 +1051,7 @@ PS\n \t }\n \t else\n \t {\n-\t float3 _12503;\n+\t float3 _12504;\n \t if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f)\n \t {\n \t float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);\n@@ -1074,7 +1067,7 @@ PS\n \t float3 _20491 = _14081;\n \t _20491.x = _20564.x;\n \t _20491.y = _20564.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20491.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20491.xyz, 0.0f).xyz;\n \t }\n \t else\n \t {\n@@ -1083,13 +1076,13 @@ PS\n \t float3 _20490 = _13791;\n \t _20490.x = _20563.x;\n \t _20490.y = _20563.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20490.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20490.xyz, 0.0f).xyz;\n \t }\n-\t _21548 = _12503;\n+\t _21548 = _12504;\n \t }\n \t if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z)))\n \t {\n-\t _12504 = _13156;\n+\t _12505 = _13156;\n \t break;\n \t }\n \t float3 _19630;\n@@ -1112,7 +1105,7 @@ PS\n \t float3 _16449 = _20482.xyz;\n \t if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z)))\n \t {\n-\t _12504 = _13156;\n+\t _12505 = _13156;\n \t break;\n \t }\n \t _19630 = _20482;\n@@ -1121,10 +1114,10 @@ PS\n \t {\n \t _19630 = _21548;\n \t }\n-\t _12504 = _13156.xyz + (max(0.0f, dot(_14786.xyz, _11179.xyz)).xxx.xyz * _19630.xyz);\n+\t _12505 = _13156.xyz + (max(0.0f, dot(_14786.xyz, _11179.xyz)).xxx.xyz * _19630.xyz);\n \t break;\n \t } while(false);\n-\t _13156 = _12504;\n+\t _13156 = _12505;\n \t _16209 = _20344;\n \t continue;\n \t }\n@@ -1405,10 +1398,10 @@ RTX\n \tStaticCombo( S_FANCY_BLENDING, F_FANCY_BLENDING!=0 );\n \tStaticCombo( S_DETAILTEXTURE, F_DETAILTEXTURE );\n \tStaticCombo( S_TEXTURETRANSFORMS, F_TEXTURETRANSFORMS );\n+\tStaticCombo( S_OVERLAY, F_OVERLAY );\n \tStaticCombo( S_ALPHA_TEST, F_ALPHA_TEST );\n \tStaticCombo( S_TRANSLUCENT, F_TRANSLUCENT );\n \tStaticCombo( S_DETAILBLENDMODE, F_DETAILBLENDMODE );\n-\tStaticCombo( S_OVERLAY, F_OVERLAY );\n \tStaticCombo( S_METALNESS_TEXTURE, F_METALNESS_TEXTURE );\n \tStaticCombo( S_SHADER_QUALITY, 0..1 );\n \tStaticComboRule( Requires( S_MODE_TOOLS_VIS, S_SHADER_QUALITY ) );\n@@ -1726,9 +1719,9 @@ RTX\n \t vec3 _479 = vec3(g_MaterialData_1._member0[_442 / 4u], g_MaterialData_1._member0[(_442 + 4u) / 4u], g_MaterialData_1._member0[(_442 + 8u) / 4u]);\n \t float _478 = g_MaterialData_1._member0[(_442 + 12u) / 4u];\n \t float _477 = g_MaterialData_1._member0[(_442 + 16u) / 4u];\n-\t uint _476 = g_MaterialData_3._member0[(_442 + 48u) / 4u];\n-\t uint _475 = g_MaterialData_3._member0[(_442 + 56u) / 4u];\n-\t uint _474 = g_MaterialData_3._member0[(_442 + 60u) / 4u];\n+\t uint _476 = g_MaterialData_3._member0[(_442 + 52u) / 4u];\n+\t uint _475 = g_MaterialData_3._member0[(_442 + 60u) / 4u];\n+\t uint _474 = g_MaterialData_3._member0[(_442 + 64u) / 4u];\n \t vec3 _473 = vec3(g_MaterialData_1._member0[(_442 + 80u) / 4u], g_MaterialData_1._member0[(_442 + 84u) / 4u], g_MaterialData_1._member0[(_442 + 88u) / 4u]);\n \t bool _472 = g_MaterialData_5._member0[(_442 + 96u) / 4u] != 0;\n \t bool _471 = g_MaterialData_5._member0[(_442 + 104u) / 4u] != 0;\n@@ -2840,7 +2833,10 @@ RTX\n \tBoolAttribute(SupportsMappingDimensions, true);\n \tBoolAttribute(renderbackfaces, F_RENDER_BACKFACES ? 1 : 0);\n \t\n-\t#if (S_SHADER_QUALITY == 0)\n+\t#if (S_LAYERS == 0)\n+\t\tTextureAttribute(LightSim_Opacity_A, g_tColor);\n+\t#endif\n+\t#if (S_DETAILBLENDMODE == 1)\n \t\tTextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color);\n \t\tTextureAttribute(RepresentativeTexture2, g_tLayer2Color);\n \t\tBoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);\n@@ -2850,7 +2846,7 @@ RTX\n \t\tTextureAttribute(RepresentativeTexture2, g_tLayer2Color);\n \t\tBoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);\n \t#endif\n-\t#if (S_DETAILBLENDMODE == 1)\n+\t#if (S_TRANSLUCENT == 0)\n \t\tTextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color);\n \t\tTextureAttribute(RepresentativeTexture2, g_tLayer2Color);\n \t\tBoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);\n@@ -2866,28 +2862,25 @@ RTX\n \t#if (S_ALPHA_TEST == 0)\n \t\tBoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);\n \t#endif\n-\t#if (S_OVERLAY == 0)\n+\t#if (S_SHADER_QUALITY == 0)\n \t\tTextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color);\n \t\tTextureAttribute(RepresentativeTexture2, g_tLayer2Color);\n \t\tBoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);\n \t#endif\n-\t#if (S_LAYERS == 0)\n+\t#if (S_DETAILBLENDMODE == 0)\n \t\tTextureAttribute(LightSim_Opacity_A, g_tColor);\n \t#endif\n-\t#if (S_SPECULAR_INDIRECT == 0)\n+\t#if (S_LAYERS == 1)\n \t\tTextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color);\n \t\tTextureAttribute(RepresentativeTexture2, g_tLayer2Color);\n \t\tBoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);\n \t#endif\n-\t#if (S_LAYERS == 1)\n+\t#if (S_SPECULAR_INDIRECT == 0)\n \t\tTextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color);\n \t\tTextureAttribute(RepresentativeTexture2, g_tLayer2Color);\n \t\tBoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);\n \t#endif\n-\t#if (S_DETAILBLENDMODE == 0)\n-\t\tTextureAttribute(LightSim_Opacity_A, g_tColor);\n-\t#endif\n-\t#if (S_TRANSLUCENT == 0)\n+\t#if (S_OVERLAY == 0)\n \t\tTextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color);\n \t\tTextureAttribute(RepresentativeTexture2, g_tLayer2Color);\n \t\tBoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_moondome.slang",
"status": "modified",
"additions": 3,
"deletions": 3,
"changes": 6,
"patch": "@@ -218,7 +218,7 @@ PS\n \tTexture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >;\n \tTextureCube g_tCubeMap < Channel(RGB, Box(TextureCubeMap), Srgb); OutputFormat(RGBA8888); SrgbRead(true); >;\n \tTextureCube g_tFogCubeTexture < Attribute(\"CubemapFogTexture\"); SrgbRead(true); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Color\n@@ -268,11 +268,11 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tColor : register(t52, space1);\n-\tSamplerState g_sUserConfig : register(s20, space1);\n+\tSamplerState g_sUserConfig : register(s21, space1);\n \tTextureCube<float4> g_tCubeMap : register(t43, space1);\n \tSamplerState Filter_Anisotropic_MaxAniso_8 : register(s14, space1);\n \tTextureCube<float4> g_tFogCubeTexture : register(t42, space1);\n-\tSamplerState g_sTrilinearClamp : register(s18, space1);\n+\tSamplerState g_sTrilinearClamp : register(s19, space1);\n \t\n \tstatic float3 input_0;\n \tstatic float4 input_2;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_projected_decals.slang",
"status": "modified",
"additions": 111,
"deletions": 100,
"changes": 211,
"patch": "@@ -79,7 +79,7 @@ VS\n \tTexture2D g_tSheetTexture < Attribute(\"SheetTexture\"); SrgbRead(false); >;\n \t[[layer_constant]] StructuredBuffer g_transformBuffer < Attribute(\"TransformBuffer\"); >;\n \tfloat4 g_vSheetSequenceAndSizes < Source(TextureSheetData); SourceArg(g_tColor) UiType(VectorText); >;\n-\tfloat4 g_vShrinkWrapBB_01 < Default(0); UiType(VectorText); >;\n+\tfloat4 g_vShrinkWrapBB_01 < Default4(0, 0, 0, 1); UiType(VectorText); >;\n \tfloat4 g_vShrinkWrapBB_23 < Default3(1, 1, 1); UiType(VectorText); >;\n \t\n \t// Color\n@@ -322,7 +322,7 @@ PS\n \tfloat2 g_vCutoffBiasScale < UiType(VectorText); Expression(float2(cos(.017453*min(180,g_flCutoffAngle+g_flCutoffAngleSoftness)),1/(cos(.017453*g_flCutoffAngle)-cos(.017453*min(180,g_flCutoffAngle+g_flCutoffAngleSoftness))))); >;\n \tfloat3 g_vDarkMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.1,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.1,.4,1.08).y)),2-float3(-.1,.4,1.08).z)); >;\n \tfloat3 g_vEmissiveTintScaled < UiType(VectorText); Expression(pow(2,g_flEmissiveBrightness).x*SrgbGammaToLinear(g_vEmissiveTint.xyz)); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat3 g_vMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.45,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.45,.4,1.08).y)),2-float3(-.45,.4,1.08).z)); >;\n \tfloat2 g_vRoughness < UiType(VectorText); Expression(max(.01,1-g_flGlossiness).x); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n@@ -434,17 +434,17 @@ PS\n \t mat3x4 _m0;\n \t};\n \t\n-\tstruct _1008\n+\tstruct _1302\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _1470\n+\tstruct _1764\n \t{\n \t vec4 _m0[4];\n \t};\n \t\n-\tstruct _592\n+\tstruct _1894\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -538,9 +538,9 @@ PS\n \t\n \tlayout(set = 1) uniform _1288 PerViewConstantBufferCsgo_t;\n \t\n-\tstruct _2267\n+\tstruct _1586\n \t{\n-\t _1008 _m0;\n+\t _1302 _m0;\n \t vec4 _m1;\n \t uvec4 _m2;\n \t uvec4 _m3;\n@@ -554,11 +554,11 @@ PS\n \t float _m11;\n \t float _m12;\n \t float _m13;\n-\t _592 _m14;\n-\t _1470 _m15;\n+\t _1894 _m14;\n+\t _1764 _m15;\n \t};\n \t\n-\tlayout(set = 3) uniform _2267 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _1586 PerViewLightingConstantBufferGpu_t;\n \t\n \tlayout(set = 3, binding = 30, std430) readonly buffer g_CullBits\n \t{\n@@ -571,17 +571,17 @@ PS\n \t} g_BarnLights_1;\n \t\n \tlayout(set = 1, binding = 46) uniform texture2D g_tSceneDepth;\n-\tlayout(set = 1, binding = 21) uniform sampler AddressU_Clamp_AddressV_Clamp;\n+\tlayout(set = 1, binding = 22) uniform sampler AddressU_Clamp_AddressV_Clamp;\n \tlayout(set = 1, binding = 43) uniform texture2D g_tColor;\n-\tlayout(set = 1, binding = 23) uniform sampler DefaultSamplerState_0;\n+\tlayout(set = 1, binding = 24) uniform sampler DefaultSamplerState_0;\n \tlayout(set = 1, binding = 45) uniform texture2D g_tAmbientOcclusion;\n-\tlayout(set = 1, binding = 27) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 28) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 53) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n-\tlayout(set = 1, binding = 26) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 27) uniform sampler g_sCookieSampler;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n \t\n \tlayout(location = 2) flat in uint input_2;\n@@ -765,105 +765,115 @@ PS\n \t _21785 = _21103;\n \t }\n \t vec4 _22272 = vec4(_20808, 1.0);\n-\t vec3 _6607 = _11403.xyz;\n-\t float _21710;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m5.xyz, _20808);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m7 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13137;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12504;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m7 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m7))\n-\t {\n-\t _13137 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(_11403.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_13039];\n-\t float _12780 = _18322.x;\n-\t if (max(abs(_12780), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m9[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13137;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t vec3 _19470 = vec3(_12780, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m11)) + vec2(PerViewLightingConstantBufferGpu_t._m10));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m15._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_13039].xy;\n-\t vec3 _20489 = _19470;\n-\t _20489.x = _20561.x;\n-\t _20489.y = _20561.y;\n-\t _13137 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20489;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m7))\n+\t {\n+\t _13137 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t vec4 _18322 = vec4(_11403.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_13039];\n+\t float _12780 = _18322.x;\n+\t if (max(abs(_12780), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m9[_13039])\n+\t {\n+\t vec3 _19470 = vec3(_12780, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m11)) + vec2(PerViewLightingConstantBufferGpu_t._m10));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m15._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_13039].xy;\n+\t vec3 _20489 = _19470;\n+\t _20489.x = _20561.x;\n+\t _20489.y = _20561.y;\n+\t _13137 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20489;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);\n-\t float _12502;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13137 < 1.0)\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m7 - 1))\n+\t float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);\n+\t float _12502;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13137 < 1.0)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(_11403.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m15._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_15335].xy;\n-\t vec3 _20490;\n-\t _20490.x = _20562.x;\n-\t _20490.y = _20562.y;\n-\t _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20490.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m7 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(_11403.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m15._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_15335].xy;\n+\t vec3 _20490;\n+\t _20490.x = _20562.x;\n+\t _20490.y = _20562.y;\n+\t _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20490.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12502 = mix(_7934, _18270, _13137);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12502 = _18270;\n \t }\n-\t _12502 = mix(_7934, _18270, _13137);\n+\t _19363 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _18270;\n+\t _19363 = 1.0;\n \t }\n-\t _19363 = _12502;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0;\n-\t }\n-\t float _12513 = mix(_19363, 1.0, saturate((distance(_18121.xyz, PerViewConstantBuffer_t._m7) * PerViewLightingConstantBufferGpu_t._m13) + PerViewLightingConstantBufferGpu_t._m12));\n-\t float _12503;\n-\t if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).y)\n-\t {\n-\t _12503 = min(_12513, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_24832.xy * PerViewConstantBuffer_t._m6.xy).xy, 0.0).z);\n+\t float _12513 = mix(_19363, 1.0, saturate((distance(_18121.xyz, PerViewConstantBuffer_t._m7) * PerViewLightingConstantBufferGpu_t._m13) + PerViewLightingConstantBufferGpu_t._m12));\n+\t float _12503;\n+\t if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).y)\n+\t {\n+\t _12503 = min(_12513, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_24832.xy * PerViewConstantBuffer_t._m6.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12503 = _12513;\n+\t }\n+\t _12504 = _12503;\n \t }\n \t else\n \t {\n-\t _12503 = _12513;\n+\t _12504 = 1.0;\n \t }\n-\t _21710 = _12503;\n+\t _12320 = _12504;\n \t }\n \t else\n \t {\n-\t _21710 = 1.0;\n+\t _12320 = 1.0;\n \t }\n-\t vec3 _21711;\n+\t vec3 _21710;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m5.xyz, _20808) * _21710) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n-\t _21711 = PerViewLightingConstantBufferGpu_t._m1.xyz + (vec3(max(0.0, dot(_20808, PerViewLightingConstantBufferGpu_t._m5.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m6.xyz * _21710).xyz);\n+\t _21710 = PerViewLightingConstantBufferGpu_t._m1.xyz + (vec3(max(0.0, dot(_20808, PerViewLightingConstantBufferGpu_t._m5.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m6.xyz * _12320).xyz);\n \t }\n \t else\n \t {\n-\t _21711 = PerViewLightingConstantBufferGpu_t._m1.xyz;\n+\t _21710 = PerViewLightingConstantBufferGpu_t._m1.xyz;\n \t }\n \t bvec4 _24465 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0));\n \t bool _20059 = _24465.x;\n@@ -887,7 +897,7 @@ PS\n \t uint _10838 = PerViewLightingConstantBufferGpu_t._m2.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m3.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m2.z);\n \t uint _23393 = PerViewLightingConstantBufferGpu_t._m2.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m4.x, 0.0, PerViewLightingConstantBufferGpu_t._m4.y)) * PerViewLightingConstantBufferGpu_t._m2.z);\n \t vec3 _13155;\n-\t _13155 = _21711;\n+\t _13155 = _21710;\n \t uint _21567;\n \t vec3 _13156;\n \t uint _16208 = 0u;\n@@ -900,7 +910,7 @@ PS\n \t uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _16208] & g_CullBits_1._m0[_23393 + _16208]);\n \t _13156 = _13155;\n \t uint _20344;\n-\t vec3 _12506;\n+\t vec3 _12509;\n \t uint _16209 = _14475;\n \t for (;;)\n \t {\n@@ -912,6 +922,7 @@ PS\n \t _20344 = _16209 & (_16209 - 1u);\n \t do\n \t {\n+\t vec3 _14644 = _11403.xyz;\n \t vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(_11403.xyz, 1.0);\n \t vec3 _10521 = _24893.xyz / vec3(_24893.w);\n \t vec4 _22912;\n@@ -936,11 +947,11 @@ PS\n \t }\n \t else\n \t {\n-\t _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_6607, 1.0)).xyz), vec3(1.0)));\n+\t _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_14644, 1.0)).xyz), vec3(1.0)));\n \t }\n \t if (_12885)\n \t {\n-\t _12506 = _13156;\n+\t _12509 = _13156;\n \t break;\n \t }\n \t float _23571 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;\n@@ -972,7 +983,7 @@ PS\n \t float _11633;\n \t if (g_BarnLights_1._m0[_12608]._m2.w != 0.0)\n \t {\n-\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _6607;\n+\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _14644;\n \t float _18345 = dot(_10017, _10017);\n \t float _17647 = sqrt(_18345);\n \t vec3 _12302 = _10017 - _16268;\n@@ -1050,7 +1061,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12504;\n+\t vec3 _12505;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -1066,7 +1077,7 @@ PS\n \t vec3 _20492 = _14081;\n \t _20492.x = _20565.x;\n \t _20492.y = _20565.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -1075,13 +1086,13 @@ PS\n \t vec3 _20491 = _13791;\n \t _20491.x = _20564.x;\n \t _20491.y = _20564.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12504;\n+\t _21548 = _12505;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n-\t _12506 = _13156;\n+\t _12509 = _13156;\n \t break;\n \t }\n \t vec3 _20940;\n@@ -1103,7 +1114,7 @@ PS\n \t vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(vec3(fma(_19630.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19630.z).xy, saturate(_19630.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0), g_BarnLights_1._m0[_12608]._m12);\n \t if (all(equal(_20482.xyz, vec3(0.0))))\n \t {\n-\t _12506 = _13156;\n+\t _12509 = _13156;\n \t break;\n \t }\n \t _20940 = _20482;\n@@ -1112,10 +1123,10 @@ PS\n \t {\n \t _20940 = _21548;\n \t }\n-\t _12506 = _13156.xyz + (vec3(max(0.0, dot(_20808, _11180.xyz))).xyz * _20940.xyz);\n+\t _12509 = _13156.xyz + (vec3(max(0.0, dot(_20808, _11180.xyz))).xyz * _20940.xyz);\n \t break;\n \t } while(false);\n-\t _13156 = _12506;\n+\t _13156 = _12509;\n \t _16209 = _20344;\n \t continue;\n \t }"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_refract.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -187,7 +187,7 @@ PS\n \tTexture2D g_tNormal < Channel(RGBA, MipNormal(TextureNormal), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tNormal2 < Channel(RGBA, MipNormal(TextureNormal2), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tRefractTint < Channel(RGBA, MipNormal(TextureTintTexture), Linear); OutputFormat(BC7); SrgbRead(false); >;\n-\tfloat4 g_vFBCopyTextureRect < Default2(0, 0); Attribute(\"FrameBufferCopyRectangle\"); UiType(VectorText); >;\n+\tfloat4 g_vFBCopyTextureRect < Default4(0, 0, 1, 1); Attribute(\"FrameBufferCopyRectangle\"); UiType(VectorText); >;\n \t\n \t// Refraction\n \tCreateInputTexture2D(TextureNormal, Linear, 8, \"\", \"_normal\", \"Refraction\", Default4(0.5, 0.5, 1, 0));"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_simple.slang",
"status": "modified",
"additions": 108,
"deletions": 97,
"changes": 205,
"patch": "@@ -313,7 +313,7 @@ PS\n \tTexture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); Channel(A, Box(TextureMetalness), Linear); OutputFormat(BC7); SrgbRead(true); >;\n \tTexture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); Channel(A, Box(TextureAmbientOcclusion), Linear); OutputFormat(BC7); SrgbRead(true); >;\n \tTexture2D g_tNormal < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormal, TextureRoughness), Linear); OutputFormat(BC7); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Ambient Occlusion\n@@ -348,17 +348,17 @@ PS\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n \t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n \t\n-\tstruct _2578\n+\tstruct _2830\n \t{\n \t float4 _m0[3];\n \t};\n \t\n-\tstruct _2788\n+\tstruct _30\n \t{\n \t float4 _m0[4];\n \t};\n \t\n-\tstruct _837\n+\tstruct _1953\n \t{\n \t column_major float4x4 _m0[4];\n \t};\n@@ -397,20 +397,20 @@ PS\n \tcbuffer _Globals_ : register(b0, space1)\n \t{\n \t uint _Globals_1_g_tColor : packoffset(c0);\n-\t uint _Globals_1_g_sTrilinearWrap : packoffset(c0.w);\n-\t uint _Globals_1_g_sTrilinearClamp : packoffset(c1);\n-\t uint _Globals_1_g_sPointClamp : packoffset(c1.y);\n-\t uint _Globals_1_g_sUserConfig : packoffset(c2);\n-\t uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2.y);\n-\t uint _Globals_1_g_sCookieSampler : packoffset(c2.w);\n-\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c3);\n-\t int _Globals_1_g_bFogEnabled : packoffset(c3.z);\n-\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c3.w);\n-\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c4);\n-\t float _Globals_1_g_flReflectance : packoffset(c4.y);\n-\t uint _Globals_1_g_tNormal : packoffset(c8);\n-\t uint _Globals_1_g_tAmbientOcclusion : packoffset(c8.w);\n-\t float _Globals_1_g_flMetalness : packoffset(c9);\n+\t uint _Globals_1_g_sTrilinearWrap : packoffset(c1);\n+\t uint _Globals_1_g_sTrilinearClamp : packoffset(c1.y);\n+\t uint _Globals_1_g_sPointClamp : packoffset(c1.z);\n+\t uint _Globals_1_g_sUserConfig : packoffset(c2.y);\n+\t uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2.z);\n+\t uint _Globals_1_g_sCookieSampler : packoffset(c3);\n+\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c3.y);\n+\t int _Globals_1_g_bFogEnabled : packoffset(c3.w);\n+\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c4);\n+\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c4.y);\n+\t float _Globals_1_g_flReflectance : packoffset(c4.z);\n+\t uint _Globals_1_g_tNormal : packoffset(c8.y);\n+\t uint _Globals_1_g_tAmbientOcclusion : packoffset(c9);\n+\t float _Globals_1_g_flMetalness : packoffset(c9.y);\n \t};\n \t\n \tcbuffer PerViewConstantBufferCsgo_t : register(b3, space1)\n@@ -440,8 +440,8 @@ PS\n \t\n \tcbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3)\n \t{\n-\t _2578 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n-\t _2788 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n+\t _2830 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n+\t _30 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);\n@@ -458,8 +458,8 @@ PS\n \t float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y);\n \t float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z);\n \t float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);\n-\t _837 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);\n-\t _2788 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);\n+\t _1953 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);\n+\t _30 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);\n \t uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996);\n \t uint PerViewLightingConstantBufferGpu_t_1_m21 : packoffset(c1996.y);\n \t};\n@@ -645,99 +645,110 @@ PS\n \t {\n \t _21710 = 1.0f;\n \t }\n-\t float _21711;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735);\n+\t float _12320;\n \t [branch]\n-\t if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)\n+\t if (_8634 > 0.0f)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t float3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12503;\n+\t [branch]\n+\t if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))\n-\t {\n-\t _13136 = 1.0f;\n-\t _14975 = 0.0f.xxx;\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t float3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float3 _19470 = float3(_12779, _18322.yz);\n-\t float2 _24804 = _19470.xy;\n-\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);\n-\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;\n-\t float3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))\n+\t {\n+\t _13136 = 1.0f;\n+\t _14975 = 0.0f.xxx;\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])\n+\t {\n+\t float3 _19470 = float3(_12779, _18322.yz);\n+\t float2 _24804 = _19470.xy;\n+\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);\n+\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;\n+\t float3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));\n-\t float _12501;\n-\t [branch]\n-\t if (_13136 < 1.0f)\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))\n+\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));\n+\t float _12501;\n+\t [branch]\n+\t if (_13136 < 1.0f)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));\n-\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;\n-\t float3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));\n+\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;\n+\t float3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0f;\n+\t }\n+\t _12501 = lerp(_7934, _18270, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0f;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = lerp(_7934, _18270, _13136);\n+\t _19363 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _19363 = 1.0f;\n \t }\n-\t _19363 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0f;\n-\t }\n-\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));\n-\t float _12502;\n-\t if (_24465.y)\n-\t {\n-\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));\n+\t float _12502;\n+\t if (_24465.y)\n+\t {\n+\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t }\n+\t else\n+\t {\n+\t _12502 = _13279;\n+\t }\n+\t _12503 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _13279;\n+\t _12503 = 1.0f;\n \t }\n-\t _21711 = _12502;\n+\t _12320 = _12503;\n \t }\n \t else\n \t {\n-\t _21711 = 1.0f;\n+\t _12320 = 1.0f;\n \t }\n \t float3 _9716;\n \t float3 _24878;\n \t [branch]\n-\t if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735) * _21711) > 0.0f)\n+\t if ((_8634 * _12320) > 0.0f)\n \t {\n \t bool3 _19899 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;\n \t float _11797 = max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz));\n@@ -749,7 +760,7 @@ PS\n \t float _25211 = _9850 * _9850;\n \t float _19095 = _25211 * _25211;\n \t float _15346 = ((_12386 * _12386) * (_19095 - 1.0f)) + 1.0f;\n-\t float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21711).xyz;\n+\t float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _12320).xyz;\n \t _9716 = ((_12351.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0f) + 2.0f)))).xyz * _11797).xyz * _16808;\n \t _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (_11797.xxx.xyz * _16808);\n \t }\n@@ -952,7 +963,7 @@ PS\n \t }\n \t else\n \t {\n-\t float3 _12503;\n+\t float3 _12504;\n \t if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f)\n \t {\n \t float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);\n@@ -968,7 +979,7 @@ PS\n \t float3 _20492 = _14081;\n \t _20492.x = _20564.x;\n \t _20492.y = _20564.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;\n \t }\n \t else\n \t {\n@@ -977,9 +988,9 @@ PS\n \t float3 _20491 = _13791;\n \t _20491.x = _20563.x;\n \t _20491.y = _20563.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;\n \t }\n-\t _21548 = _12503;\n+\t _21548 = _12504;\n \t }\n \t if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z)))\n \t {\n@@ -1025,9 +1036,9 @@ PS\n \t float _19211 = max(0.0f, dot(_11179.xyz, _12282));\n \t float _9851 = _9841.x;\n \t float _25212 = _9851 * _9851;\n-\t float _19097 = _25212 * _25212;\n-\t float _15348 = ((_12387 * _12387) * (_19097 - 1.0f)) + 1.0f;\n-\t _13212 = _13138.xyz + (((_12351.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);\n+\t float _19096 = _25212 * _25212;\n+\t float _15348 = ((_12387 * _12387) * (_19096 - 1.0f)) + 1.0f;\n+\t _13212 = _13138.xyz + (((_12351.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);\n \t _15670 = _16325.xyz + (_11798.xxx.xyz * _22671.xyz);\n \t break;\n \t } while(false);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_simple_2way_blend.slang",
"status": "modified",
"additions": 423,
"deletions": 418,
"changes": 841,
"patch": "@@ -313,7 +313,7 @@ PS\n \tTexture2D g_tNormalA < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormalA, TextureRoughnessA), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tNormalB < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormalB, TextureRoughnessB), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tTintMask < Channel(R, Box(TextureTintMaskA), Linear); Channel(G, Box(TextureTintMaskB), Linear); OutputFormat(ATI2N); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Material A\n@@ -352,451 +352,476 @@ PS\n \tTexture2D g_tColorA < Channel(RGB, Box(TextureColorA), Srgb); OutputFormat(DXT1); SrgbRead(true); >;\n \tTexture2D g_tColorB < Channel(RGB, Box(TextureColorB), Srgb); OutputFormat(DXT1); SrgbRead(true); >;\n \t\n+\t// SPIR-V reflection failed for backend HLSL:\n+\t// cbuffer ID 5618 (name: _Globals_), member index 6 (name: g_vTexCoordScale2) cannot be expressed with either HLSL packing layout or packoffset.\n+\t//\n+\t// Re-attempting reflection with the GLSL backend.\n+\t\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n-\t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n+\t// SPIR-V source, GLSL reflection with SPIRV-Cross by KhronosGroup\n+\t\n+\t#version 460\n+\t#if defined(GL_EXT_control_flow_attributes)\n+\t#extension GL_EXT_control_flow_attributes : require\n+\t#define SPIRV_CROSS_FLATTEN [[flatten]]\n+\t#define SPIRV_CROSS_BRANCH [[dont_flatten]]\n+\t#define SPIRV_CROSS_UNROLL [[unroll]]\n+\t#define SPIRV_CROSS_LOOP [[dont_unroll]]\n+\t#else\n+\t#define SPIRV_CROSS_FLATTEN\n+\t#define SPIRV_CROSS_BRANCH\n+\t#define SPIRV_CROSS_UNROLL\n+\t#define SPIRV_CROSS_LOOP\n+\t#endif\n+\t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _2242\n+\tstruct _2494\n \t{\n-\t float4 _m0[3];\n+\t vec4 _m0[3];\n \t};\n \t\n-\tstruct _2452\n+\tstruct _2704\n \t{\n-\t float4 _m0[4];\n+\t vec4 _m0[4];\n \t};\n \t\n-\tstruct _2360\n+\tstruct _465\n \t{\n-\t column_major float4x4 _m0[4];\n+\t mat4 _m0[4];\n \t};\n \t\n \tstruct _200\n \t{\n-\t column_major float4x4 _m0;\n-\t column_major float4x4 _m1;\n-\t float4 _m2;\n-\t float4 _m3;\n-\t float4 _m4;\n-\t float4 _m5;\n-\t float3 _m6;\n+\t mat4 _m0;\n+\t mat4 _m1;\n+\t vec4 _m2;\n+\t vec4 _m3;\n+\t vec4 _m4;\n+\t vec4 _m5;\n+\t vec3 _m6;\n \t uint _m7;\n-\t float4 _m8;\n-\t float4 _m9;\n-\t float4 _m10;\n+\t vec4 _m8;\n+\t vec4 _m9;\n+\t vec4 _m10;\n \t float _m11;\n \t float _m12;\n \t uint _m13;\n \t int _m14;\n-\t column_major float4x3 _m15;\n-\t float4 _m16;\n-\t float4 _m17;\n-\t float4 _m18;\n-\t float4 _m19;\n-\t float4 _m20;\n-\t float3 _m21;\n+\t mat4x3 _m15;\n+\t vec4 _m16;\n+\t vec4 _m17;\n+\t vec4 _m18;\n+\t vec4 _m19;\n+\t vec4 _m20;\n+\t vec3 _m21;\n \t float _m22;\n-\t column_major float4x4 _m23;\n+\t mat4 _m23;\n \t};\n \t\n-\tstatic float4 _3;\n-\tstatic float3 _4;\n+\tvec4 _3;\n+\tvec3 _4;\n \t\n-\tcbuffer _Globals_ : register(b0, space1)\n+\tstruct _1571\n \t{\n-\t uint _Globals_1_g_sTrilinearWrap : packoffset(c0.z);\n-\t uint _Globals_1_g_sTrilinearClamp : packoffset(c0.w);\n-\t uint _Globals_1_g_sPointClamp : packoffset(c1);\n-\t uint _Globals_1_g_sUserConfig : packoffset(c1.w);\n-\t float _Globals_1_g_flMetalnessA : packoffset(c3);\n-\t float _Globals_1_g_flMetalnessB : packoffset(c3.y);\n-\t float2 _Globals_1_g_vTexCoordScale2 : packoffset(c3.z);\n-\t uint _Globals_1_g_tColorA : packoffset(c4);\n-\t uint _Globals_1_g_tColorB : packoffset(c4.y);\n-\t uint _Globals_1_g_tNormalA : packoffset(c4.z);\n-\t uint _Globals_1_g_tNormalB : packoffset(c4.w);\n-\t uint _Globals_1_g_tMask : packoffset(c5);\n-\t uint _Globals_1_g_sCookieSampler : packoffset(c5.z);\n-\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c5.w);\n-\t int _Globals_1_g_bFogEnabled : packoffset(c6.y);\n-\t float _Globals_1_g_flReflectance : packoffset(c7);\n+\t uint g_sTrilinearWrap;\n+\t uint g_sTrilinearClamp;\n+\t uint g_sPointClamp;\n+\t uint g_sUserConfig;\n+\t float g_flMetalnessA;\n+\t float g_flMetalnessB;\n+\t vec2 g_vTexCoordScale2;\n+\t uint g_tColorA;\n+\t uint g_tColorB;\n+\t uint g_tNormalA;\n+\t uint g_tNormalB;\n+\t uint g_tMask;\n+\t uint g_sCookieSampler;\n+\t uint g_tShadowDepthBufferCmpSampler;\n+\t int g_bFogEnabled;\n+\t float g_flReflectance;\n \t};\n \t\n-\tcbuffer PerViewConstantBufferCsgo_t : register(b3, space1)\n+\tlayout(set = 1) uniform _1571 _Globals_;\n+\t\n+\tstruct _1374\n \t{\n-\t int4 PerViewConstantBufferCsgo_t_1_m0 : packoffset(c1);\n-\t int4 PerViewConstantBufferCsgo_t_1_m1 : packoffset(c2);\n-\t int4 PerViewConstantBufferCsgo_t_1_m2 : packoffset(c3);\n-\t uint PerViewConstantBufferCsgo_t_1_m3 : packoffset(c4.z);\n-\t uint PerViewConstantBufferCsgo_t_1_m4 : packoffset(c4.w);\n-\t uint PerViewConstantBufferCsgo_t_1_m5 : packoffset(c5);\n-\t uint PerViewConstantBufferCsgo_t_1_m6 : packoffset(c5.z);\n-\t uint PerViewConstantBufferCsgo_t_1_m7 : packoffset(c6.z);\n-\t column_major float4x4 PerViewConstantBufferCsgo_t_1_m8 : packoffset(c12);\n-\t float2 PerViewConstantBufferCsgo_t_1_m9 : packoffset(c16);\n-\t float PerViewConstantBufferCsgo_t_1_m10 : packoffset(c16.z);\n-\t float4 PerViewConstantBufferCsgo_t_1_m11 : packoffset(c23);\n-\t float4 PerViewConstantBufferCsgo_t_1_m12 : packoffset(c24);\n-\t float4 PerViewConstantBufferCsgo_t_1_m13 : packoffset(c25);\n-\t float4 PerViewConstantBufferCsgo_t_1_m14 : packoffset(c26);\n-\t float4 PerViewConstantBufferCsgo_t_1_m15 : packoffset(c27);\n-\t float4 PerViewConstantBufferCsgo_t_1_m16 : packoffset(c28);\n-\t column_major float4x4 PerViewConstantBufferCsgo_t_1_m17 : packoffset(c29);\n-\t float4 PerViewConstantBufferCsgo_t_1_m18 : packoffset(c33);\n-\t float4 PerViewConstantBufferCsgo_t_1_m19 : packoffset(c34);\n-\t float4 PerViewConstantBufferCsgo_t_1_m20 : packoffset(c35);\n+\t ivec4 _m0;\n+\t ivec4 _m1;\n+\t ivec4 _m2;\n+\t uint _m3;\n+\t uint _m4;\n+\t uint _m5;\n+\t uint _m6;\n+\t uint _m7;\n+\t mat4 _m8;\n+\t vec2 _m9;\n+\t float _m10;\n+\t vec4 _m11;\n+\t vec4 _m12;\n+\t vec4 _m13;\n+\t vec4 _m14;\n+\t vec4 _m15;\n+\t vec4 _m16;\n+\t mat4 _m17;\n+\t vec4 _m18;\n+\t vec4 _m19;\n+\t vec4 _m20;\n \t};\n \t\n-\tcbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3)\n+\tlayout(set = 1) uniform _1374 PerViewConstantBufferCsgo_t;\n+\t\n+\tstruct _838\n \t{\n-\t _2242 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n-\t _2452 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);\n-\t uint4 PerViewLightingConstantBufferGpu_t_1_m5 : packoffset(c19);\n-\t uint4 PerViewLightingConstantBufferGpu_t_1_m6 : packoffset(c22);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m7 : packoffset(c23);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m8 : packoffset(c24);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m9 : packoffset(c1945);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m10 : packoffset(c1946);\n-\t int PerViewLightingConstantBufferGpu_t_1_m11 : packoffset(c1953);\n-\t float PerViewLightingConstantBufferGpu_t_1_m12 : packoffset(c1953.z);\n-\t float4 PerViewLightingConstantBufferGpu_t_1_m13 : packoffset(c1954);\n-\t float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955);\n-\t float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y);\n-\t float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z);\n-\t float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);\n-\t _2360 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);\n-\t _2452 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);\n-\t uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996);\n-\t uint PerViewLightingConstantBufferGpu_t_1_m21 : packoffset(c1996.y);\n+\t _2494 _m0;\n+\t _2704 _m1;\n+\t vec4 _m2;\n+\t vec4 _m3;\n+\t vec4 _m4;\n+\t uvec4 _m5;\n+\t uvec4 _m6;\n+\t vec4 _m7;\n+\t vec4 _m8;\n+\t vec4 _m9;\n+\t vec4 _m10;\n+\t int _m11;\n+\t float _m12;\n+\t vec4 _m13;\n+\t float _m14;\n+\t float _m15;\n+\t float _m16;\n+\t float _m17;\n+\t _465 _m18;\n+\t _2704 _m19;\n+\t uint _m20;\n+\t uint _m21;\n \t};\n \t\n-\tcbuffer PerViewConstantBuffer_t : register(b1, space1)\n+\tlayout(set = 3) uniform _838 PerViewLightingConstantBufferGpu_t;\n+\t\n+\tstruct _1194\n \t{\n-\t float2 PerViewConstantBuffer_t_1_m0 : packoffset(c20);\n-\t float2 PerViewConstantBuffer_t_1_m1 : packoffset(c20.z);\n-\t float4 PerViewConstantBuffer_t_1_m2 : packoffset(c22);\n-\t float3 PerViewConstantBuffer_t_1_m3 : packoffset(c26);\n+\t vec2 _m0;\n+\t vec2 _m1;\n+\t vec4 _m2;\n+\t vec3 _m3;\n \t};\n \t\n-\tByteAddressBuffer g_CullBits : register(t30, space3);\n-\tByteAddressBuffer g_BarnLights : register(t31, space3);\n-\tTexture2D<float4> g_bindless_Texture2D_float4[65536] : register(t46, space4);\n-\tSamplerState g_bindless_Sampler[2048] : register(s29, space4);\n-\tSamplerComparisonState g_bindless_Sampler_1[2048] : register(s29, space4);\n-\tTexture3D<float4> g_bindless_Texture3D_float4[65536] : register(t46, space4);\n-\tTextureCubeArray<float4> g_bindless_TextureCubeArray_float4[65536] : register(t46, space4);\n-\tTextureCube<float4> g_bindless_TextureCube_float4[65536] : register(t46, space4);\n-\t\n-\tstatic float4 gl_FragCoord;\n-\tstatic float4 input_0;\n-\tstatic float3 input_1;\n-\tstatic float3 input_2;\n-\tstatic float4 input_3;\n-\tstatic float4 input_4;\n-\tstatic float3 input_5;\n-\tstatic float4 input_6;\n-\tstatic float4 output_0;\n-\t\n-\tstruct PS_INPUT\n+\tlayout(set = 1) uniform _1194 PerViewConstantBuffer_t;\n+\t\n+\tlayout(set = 3, binding = 30, std430) readonly buffer g_CullBits\n \t{\n-\t float4 input_0 : TEXCOORD0;\n-\t float3 input_1 : TEXCOORD1;\n-\t float3 input_2 : TEXCOORD2;\n-\t float4 input_3 : TEXCOORD3;\n-\t centroid float4 input_4 : TEXCOORD4;\n-\t centroid float3 input_5 : TEXCOORD5;\n-\t float4 input_6 : TEXCOORD6;\n-\t float4 gl_FragCoord : SV_Position;\n-\t};\n+\t uint _m0[];\n+\t} g_CullBits_1;\n \t\n-\tstruct PS_OUTPUT\n+\tlayout(set = 3, binding = 31, std430) readonly buffer g_BarnLights\n \t{\n-\t float4 output_0 : SV_Target0;\n-\t};\n+\t layout(row_major) _200 _m0[];\n+\t} g_BarnLights_1;\n+\t\n+\tlayout(set = 4, binding = 46) uniform texture2D g_bindless_Texture2D_float4[65536];\n+\tlayout(set = 4, binding = 29) uniform sampler g_bindless_Sampler[2048];\n+\tlayout(set = 4, binding = 29) uniform samplerShadow g_bindless_Sampler_1[2048];\n+\tlayout(set = 4, binding = 46) uniform texture3D g_bindless_Texture3D_float4[65536];\n+\tlayout(set = 4, binding = 46) uniform textureCubeArray g_bindless_TextureCubeArray_float4[65536];\n+\tlayout(set = 4, binding = 46) uniform textureCube g_bindless_TextureCube_float4[65536];\n+\t\n+\tlayout(location = 0) in vec4 input_0;\n+\tlayout(location = 1) in vec3 input_1;\n+\tlayout(location = 2) in vec3 input_2;\n+\tlayout(location = 3) in vec4 input_3;\n+\tlayout(location = 4) centroid in vec4 input_4;\n+\tlayout(location = 5) centroid in vec3 input_5;\n+\tlayout(location = 6) in vec4 input_6;\n+\tlayout(location = 0) out vec4 output_0;\n \t\n-\tvoid MainPs_inner()\n+\tvoid main()\n \t{\n-\t float4 _11408 = gl_FragCoord;\n-\t _11408.w = 1.0f / _11408.w;\n-\t float3 _21709;\n-\t if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375f)\n+\t vec4 _11408 = gl_FragCoord;\n+\t _11408.w = 1.0 / _11408.w;\n+\t vec3 _21709;\n+\t if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375)\n \t {\n \t _21709 = input_5.xyz;\n \t }\n \t else\n \t {\n \t _21709 = input_2.xyz;\n \t }\n-\t float3 _20700 = normalize(_21709);\n-\t float3 _7715 = input_1 + PerViewConstantBufferCsgo_t_1_m20.xyz;\n-\t float2 _11085 = (input_3.xy * _Globals_1_g_vTexCoordScale2.xy).xy;\n-\t float4 _21762 = g_bindless_Texture2D_float4[_Globals_1_g_tNormalA].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], input_3.xy);\n-\t float4 _21763 = g_bindless_Texture2D_float4[_Globals_1_g_tNormalB].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], _11085);\n-\t float4 _19372 = g_bindless_Texture2D_float4[_Globals_1_g_tMask].Sample(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _11085);\n+\t vec3 _20700 = normalize(_21709);\n+\t vec3 _7715 = input_1 + PerViewConstantBufferCsgo_t._m20.xyz;\n+\t vec2 _11085 = (input_3.xy * _Globals_.g_vTexCoordScale2.xy).xy;\n+\t vec4 _21762 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tNormalA], g_bindless_Sampler[_Globals_.g_sUserConfig]), input_3.xy);\n+\t vec4 _21763 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tNormalB], g_bindless_Sampler[_Globals_.g_sUserConfig]), _11085);\n+\t vec4 _19372 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tMask], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _11085);\n \t float _16038 = _19372.x;\n-\t float _24575 = smoothstep(max(0.0f, _16038 - input_0.w), min(1.0f, _16038 + input_0.w), input_0.x);\n-\t float3 _21122 = g_bindless_Texture2D_float4[_Globals_1_g_tColorA].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], input_3.xy).xyz * input_4.xyz;\n-\t float4 _23714;\n+\t float _24575 = smoothstep(max(0.0, _16038 - input_0.w), min(1.0, _16038 + input_0.w), input_0.x);\n+\t vec3 _21122 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColorA], g_bindless_Sampler[_Globals_.g_sUserConfig]), input_3.xy).xyz * input_4.xyz;\n+\t vec4 _23714;\n \t _23714.x = _21122.x;\n \t _23714.y = _21122.y;\n \t _23714.z = _21122.z;\n-\t float3 _20313 = g_bindless_Texture2D_float4[_Globals_1_g_tColorB].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], _11085).xyz * input_4.xyz;\n-\t float4 _23715;\n+\t vec3 _20313 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColorB], g_bindless_Sampler[_Globals_.g_sUserConfig]), _11085).xyz * input_4.xyz;\n+\t vec4 _23715;\n \t _23715.x = _20313.x;\n \t _23715.y = _20313.y;\n \t _23715.z = _20313.z;\n-\t float4 _8489 = lerp(_21762.xyzw, _21763.xyzw, _24575.xxxx);\n-\t float _14051 = lerp(_Globals_1_g_flMetalnessA, _Globals_1_g_flMetalnessB, _24575);\n-\t float3 _11217 = lerp(_23714.xyz, _23715.xyz, _24575.xxx).xyz;\n-\t float3 _25153 = lerp(_Globals_1_g_flReflectance.xxx.xyz, _11217, _14051.xxx);\n+\t vec4 _8489 = mix(_21762.xyzw, _21763.xyzw, vec4(_24575));\n+\t float _14051 = mix(_Globals_.g_flMetalnessA, _Globals_.g_flMetalnessB, _24575);\n+\t vec3 _11217 = mix(_23714.xyz, _23715.xyz, vec3(_24575)).xyz;\n+\t vec3 _25153 = mix(vec3(_Globals_.g_flReflectance).xyz, _11217, vec3(_14051));\n \t float _10782 = _8489.x;\n \t float _17303 = _8489.y;\n-\t float _16783 = (_10782 + _17303) - 1.00392162799835205078125f;\n+\t float _16783 = (_10782 + _17303) - 1.00392162799835205078125;\n \t float _11176 = _10782 - _17303;\n-\t float3 _23372 = normalize(float3(float2(_16783, _11176), (1.0f - abs(_16783)) - abs(_11176)));\n-\t float3 _20024 = input_2.xyz * 1.0f;\n-\t float3 _14435 = cross(_20024.xyz, input_6.xyz) * ((input_6.w > 0.0f) ? 1.0f : (-1.0f));\n-\t float3 _20195;\n-\t if (bool4(PerViewConstantBufferCsgo_t_1_m2.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m2.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m2.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m2.w != int4(0, 0, 0, 0).w).w)\n+\t vec3 _23372 = normalize(vec3(vec2(_16783, _11176), (1.0 - abs(_16783)) - abs(_11176)));\n+\t vec3 _20024 = input_2.xyz * 1.0;\n+\t vec3 _14435 = cross(_20024.xyz, input_6.xyz) * ((input_6.w > 0.0) ? 1.0 : (-1.0));\n+\t vec3 _20195;\n+\t if (notEqual(PerViewConstantBufferCsgo_t._m2, ivec4(0)).w)\n \t {\n \t _20195 = -_14435;\n \t }\n \t else\n \t {\n \t _20195 = _14435;\n \t }\n-\t float3 _19740 = normalize((((input_6.xyz * _23372.x).xyz + (_20195.xyz * (-_23372.y))).xyz + (_20024.xyz * _23372.z)).xyz);\n-\t bool3 _10679 = all(bool3(true, true, true)).xxx;\n-\t float3 _17892 = float3(_10679.x ? _19740.x : 1.0f.xxx.x, _10679.y ? _19740.y : 1.0f.xxx.y, _10679.z ? _19740.z : 1.0f.xxx.z);\n-\t float3 _10560 = _20700.xyz;\n-\t float3 _11099 = ddx(_10560);\n-\t float3 _9175 = ddy(_10560);\n-\t float3 _10347 = _11099.xyz;\n-\t float3 _12420 = _9175.xyz;\n-\t float2 _21815 = max(_8489.z.xx.xy, pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125f).xx);\n-\t float3 _15598 = -_20700;\n-\t float3 _24735 = _19740.xyz;\n-\t float4 _23875 = float4(_24735, 1.0f);\n-\t bool4 _24465 = bool4(PerViewConstantBufferCsgo_t_1_m0.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m0.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m0.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m0.w != int4(0, 0, 0, 0).w);\n+\t vec3 _19740 = normalize((((input_6.xyz * _23372.x).xyz + (_20195.xyz * (-_23372.y))).xyz + (_20024.xyz * _23372.z)).xyz);\n+\t vec3 _17892 = mix(vec3(1.0), _19740, bvec3(all(bvec3(true))));\n+\t vec3 _10560 = _20700.xyz;\n+\t vec3 _11099 = dFdx(_10560);\n+\t vec3 _9175 = dFdy(_10560);\n+\t vec3 _10347 = _11099.xyz;\n+\t vec3 _12420 = _9175.xyz;\n+\t vec2 _21815 = max(vec2(_8489.z).xy, vec2(pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125)));\n+\t vec3 _15598 = -_20700;\n+\t vec3 _24735 = _19740.xyz;\n+\t vec4 _23875 = vec4(_24735, 1.0);\n+\t bvec4 _24465 = notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0));\n \t float _21710;\n \t if (_24465.x)\n \t {\n-\t float3 _11394 = _20700.xyz;\n-\t float2 _11086 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t_1_m10) * PerViewConstantBufferCsgo_t_1_m9.xy) + (PerViewConstantBufferCsgo_t_1_m9.xy * 0.5f)).xy;\n-\t float4 _18418 = g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m5].GatherRed(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _11086).xyzw - _11408.zzzz;\n+\t vec3 _11394 = _20700.xyz;\n+\t vec2 _11086 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t._m10) * PerViewConstantBufferCsgo_t._m9.xy) + (PerViewConstantBufferCsgo_t._m9.xy * 0.5)).xy;\n+\t vec4 _18418 = textureGather(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m5], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _11086).xyzw - _11408.zzzz;\n \t float _18579 = _18418.w;\n \t float _12013 = _18418.z;\n \t bool _12285 = abs(_12013) < _18579;\n-\t float2 _23168;\n+\t vec2 _23168;\n \t if (_12285)\n \t {\n-\t _23168 = float2(PerViewConstantBufferCsgo_t_1_m9.x, 0.0f);\n+\t _23168 = vec2(PerViewConstantBufferCsgo_t._m9.x, 0.0);\n \t }\n \t else\n \t {\n-\t _23168 = 0.0f.xx;\n+\t _23168 = vec2(0.0);\n \t }\n \t float _20965 = _12285 ? _12013 : _18579;\n \t float _15372 = _18418.x;\n \t bool _12286 = abs(_15372) < _20965;\n-\t float2 _23169;\n+\t vec2 _23169;\n \t if (_12286)\n \t {\n-\t _23169 = float2(0.0f, PerViewConstantBufferCsgo_t_1_m9.y);\n+\t _23169 = vec2(0.0, PerViewConstantBufferCsgo_t._m9.y);\n \t }\n \t else\n \t {\n \t _23169 = _23168;\n \t }\n-\t bool2 _13083 = (abs(_18418.y) < (_12286 ? _15372 : _20965)).xx;\n-\t float4 _10010 = normalize(float4(PerViewLightingConstantBufferGpu_t_1_m2.x * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[0].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.y * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[1].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.z * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[2].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.w * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[3].xy, 0.25f))), 0.5f, 0.5f)));\n-\t float4 _13232 = max(float4(dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[3].xyz, _11394)).xyzw, 0.0f.xxxx) * normalize(clamp(((_10010 - max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)).xxxx) + 0.20000000298023223876953125f.xxxx) * 5.0f.xxxx, 0.0f.xxxx, 1.0f.xxxx));\n-\t _21710 = (1.0f / (dot(_13232, 1.0f.xxxx) + PerViewLightingConstantBufferGpu_t_1_m3.x)) * (PerViewLightingConstantBufferGpu_t_1_m3.x + dot(_13232, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m4].SampleLevel(g_bindless_Sampler[_Globals_1_g_sPointClamp], (_11086 + float2(_13083.x ? PerViewConstantBufferCsgo_t_1_m9.xy.x : _23169.x, _13083.y ? PerViewConstantBufferCsgo_t_1_m9.xy.y : _23169.y).xy).xy, 0.0f)));\n+\t vec4 _10010 = normalize(vec4(PerViewLightingConstantBufferGpu_t._m2.x * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[0].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.y * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[1].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.z * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[2].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.w * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[3].xy, 0.25))), 0.5, 0.5)));\n+\t vec4 _13232 = max(vec4(dot(PerViewLightingConstantBufferGpu_t._m1._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[3].xyz, _11394)).xyzw, vec4(0.0)) * normalize(saturate(((_10010 - vec4(max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)))) + vec4(0.20000000298023223876953125)) * vec4(5.0)));\n+\t _21710 = (1.0 / (dot(_13232, vec4(1.0)) + PerViewLightingConstantBufferGpu_t._m3.x)) * (PerViewLightingConstantBufferGpu_t._m3.x + dot(_13232, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], g_bindless_Sampler[_Globals_.g_sPointClamp]), (_11086 + mix(_23169, PerViewConstantBufferCsgo_t._m9.xy, bvec2(abs(_18418.y) < (_12286 ? _15372 : _20965))).xy).xy, 0.0)));\n \t }\n \t else\n \t {\n-\t _21710 = 1.0f;\n+\t _21710 = 1.0;\n \t }\n-\t float _21711;\n-\t [branch]\n-\t if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735);\n+\t float _12320;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t float3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12503;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m11 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))\n-\t {\n-\t _13136 = 1.0f;\n-\t _14975 = 0.0f.xxx;\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_1.xyz, 1.0f));\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float3 _19470 = float3(_12779, _18322.yz);\n-\t float2 _24804 = _19470.xy;\n-\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);\n-\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;\n-\t float3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))\n+\t {\n+\t _13136 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])\n+\t {\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;\n+\t vec3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));\n-\t float _12501;\n-\t [branch]\n-\t if (_13136 < 1.0f)\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))\n+\t float _18270 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t float _12501;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13136 < 1.0)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_1.xyz, 1.0f));\n-\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;\n-\t float3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;\n+\t vec3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t _7934 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12501 = mix(_7934, _18270, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0f;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = lerp(_7934, _18270, _13136);\n+\t _19363 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _19363 = 1.0;\n \t }\n-\t _19363 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0f;\n-\t }\n-\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_7715.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));\n-\t float _12502;\n-\t if (_24465.y)\n-\t {\n-\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t float _13279 = mix(_19363, 1.0, saturate((distance(_7715.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));\n+\t float _12502;\n+\t if (_24465.y)\n+\t {\n+\t _12502 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12502 = _13279;\n+\t }\n+\t _12503 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _13279;\n+\t _12503 = 1.0;\n \t }\n-\t _21711 = _12502;\n+\t _12320 = _12503;\n \t }\n \t else\n \t {\n-\t _21711 = 1.0f;\n+\t _12320 = 1.0;\n \t }\n-\t float3 _9716;\n-\t float3 _24878;\n-\t [branch]\n-\t if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735) * _21711) > 0.0f)\n+\t vec3 _9716;\n+\t vec3 _24878;\n+\t SPIRV_CROSS_BRANCH\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n-\t bool3 _19899 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;\n-\t float _11797 = max(0.0f, dot(_19740.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz));\n-\t float2 _9840 = max(_21815, PerViewLightingConstantBufferGpu_t_1_m9.w.xx);\n-\t float3 _12281 = normalize(PerViewLightingConstantBufferGpu_t_1_m9.xyz + (-normalize(_7715.xyz - PerViewConstantBuffer_t_1_m3.xyz)).xyz).xyz;\n-\t float _12386 = dot(_12281, float3(_19899.x ? _24735.x : _17892.x, _19899.y ? _24735.y : _17892.y, _19899.z ? _24735.z : _17892.z).xyz);\n-\t float _19210 = max(0.0f, dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _12281));\n+\t float _11797 = max(0.0, dot(_19740.xyz, PerViewLightingConstantBufferGpu_t._m9.xyz));\n+\t vec2 _9840 = max(_21815, vec2(PerViewLightingConstantBufferGpu_t._m9.w));\n+\t vec3 _12281 = normalize(PerViewLightingConstantBufferGpu_t._m9.xyz + (-normalize(_7715.xyz - PerViewConstantBuffer_t._m3.xyz)).xyz).xyz;\n+\t float _12386 = dot(_12281, mix(_17892, _24735, bvec3(all(equal(_17892, vec3(1.0))))).xyz);\n+\t float _19210 = max(0.0, dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _12281));\n \t float _9850 = _9840.x;\n \t float _25211 = _9850 * _9850;\n \t float _19095 = _25211 * _25211;\n-\t float _15346 = ((_12386 * _12386) * (_19095 - 1.0f)) + 1.0f;\n-\t float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21711).xyz;\n-\t _9716 = ((_25153.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0f) + 2.0f)))).xyz * _11797).xyz * _16808;\n-\t _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (_11797.xxx.xyz * _16808);\n+\t float _15346 = ((_12386 * _12386) * (_19095 - 1.0)) + 1.0;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _12320).xyz;\n+\t _9716 = ((_25153.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0) + 2.0)))).xyz * _11797).xyz * _16808;\n+\t _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(_11797).xyz * _16808);\n \t }\n \t else\n \t {\n-\t _9716 = 0.0f.xxx;\n-\t _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;\n+\t _9716 = vec3(0.0);\n+\t _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz;\n \t }\n-\t bool4 _24466 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w);\n+\t bvec4 _24466 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0));\n \t bool _20060 = _24466.x;\n-\t float4 _19364;\n+\t vec4 _19364;\n \t if (_20060)\n \t {\n-\t float4 _18621 = mul(PerViewConstantBufferCsgo_t_1_m8, float4(_7715.xyz, 1.0f).xyzw);\n+\t vec4 _18621 = vec4(_7715.xyz, 1.0).xyzw * PerViewConstantBufferCsgo_t._m8;\n \t float _20176 = _18621.w;\n-\t float2 _11414 = _18621.xy / _20176.xx;\n-\t float4 _6651;\n-\t _6651.x = clamp(((_11414.x + 1.0f) * PerViewConstantBuffer_t_1_m1.x) * 0.5f, 0.0f, PerViewConstantBuffer_t_1_m1.x - 1.0f);\n-\t _6651.y = clamp(((1.0f - _11414.y) * PerViewConstantBuffer_t_1_m1.y) * 0.5f, 0.0f, PerViewConstantBuffer_t_1_m1.y - 1.0f);\n+\t vec2 _11414 = _18621.xy / vec2(_20176);\n+\t vec4 _6651;\n+\t _6651.x = clamp(((_11414.x + 1.0) * PerViewConstantBuffer_t._m1.x) * 0.5, 0.0, PerViewConstantBuffer_t._m1.x - 1.0);\n+\t _6651.y = clamp(((1.0 - _11414.y) * PerViewConstantBuffer_t._m1.y) * 0.5, 0.0, PerViewConstantBuffer_t._m1.y - 1.0);\n \t _6651.w = _20176;\n \t _19364 = _6651;\n \t }\n \t else\n \t {\n \t _19364 = _11408;\n \t }\n-\t uint2 _12083 = uint2(_19364.xy - PerViewConstantBuffer_t_1_m0.xy) >> PerViewLightingConstantBufferGpu_t_1_m6.x.xx;\n-\t uint _10838 = PerViewLightingConstantBufferGpu_t_1_m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m5.z);\n-\t uint _23393 = PerViewLightingConstantBufferGpu_t_1_m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m7.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m7.y)) * PerViewLightingConstantBufferGpu_t_1_m5.z);\n-\t float3 _13137;\n-\t float3 _16324;\n+\t uvec2 _12083 = uvec2(_19364.xy - PerViewConstantBuffer_t._m0.xy) >> uvec2(PerViewLightingConstantBufferGpu_t._m6.x);\n+\t uint _10838 = PerViewLightingConstantBufferGpu_t._m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m5.z);\n+\t uint _23393 = PerViewLightingConstantBufferGpu_t._m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m7.x, 0.0, PerViewLightingConstantBufferGpu_t._m7.y)) * PerViewLightingConstantBufferGpu_t._m5.z);\n+\t vec3 _13137;\n+\t vec3 _16324;\n \t _13137 = _9716;\n \t _16324 = _24878;\n \t uint _21567;\n-\t float3 _13138;\n-\t float3 _16325;\n+\t vec3 _13138;\n+\t vec3 _16325;\n \t uint _17017 = 0u;\n \t for (;;)\n \t {\n-\t if (!(_17017 < PerViewLightingConstantBufferGpu_t_1_m5.z))\n+\t if (!(_17017 < PerViewLightingConstantBufferGpu_t._m5.z))\n \t {\n \t break;\n \t }\n-\t uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _17017) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _17017) * 4 + 0));\n+\t uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _17017] & g_CullBits_1._m0[_23393 + _17017]);\n \t _13138 = _13137;\n \t _16325 = _16324;\n \t uint _20344;\n-\t float3 _13212;\n-\t float3 _15670;\n+\t vec3 _13212;\n+\t vec3 _15670;\n \t uint _17018 = _14475;\n \t for (;;)\n \t {\n \t if (!(_17018 != 0u))\n \t {\n \t break;\n \t }\n-\t int _12608 = int(firstbitlow(_17018) + (_17017 * 32u));\n+\t int _12608 = int(uint(findLSB(_17018)) + (_17017 * 32u));\n \t _20344 = _17018 & (_17018 - 1u);\n \t do\n \t {\n-\t float4x4 _14097 = float4x4(g_BarnLights.Load<float>(_12608 * 480 + 0), g_BarnLights.Load<float>(_12608 * 480 + 16), g_BarnLights.Load<float>(_12608 * 480 + 32), g_BarnLights.Load<float>(_12608 * 480 + 48), g_BarnLights.Load<float>(_12608 * 480 + 4), g_BarnLights.Load<float>(_12608 * 480 + 20), g_BarnLights.Load<float>(_12608 * 480 + 36), g_BarnLights.Load<float>(_12608 * 480 + 52), g_BarnLights.Load<float>(_12608 * 480 + 8), g_BarnLights.Load<float>(_12608 * 480 + 24), g_BarnLights.Load<float>(_12608 * 480 + 40), g_BarnLights.Load<float>(_12608 * 480 + 56), g_BarnLights.Load<float>(_12608 * 480 + 12), g_BarnLights.Load<float>(_12608 * 480 + 28), g_BarnLights.Load<float>(_12608 * 480 + 44), g_BarnLights.Load<float>(_12608 * 480 + 60));\n-\t float4 _24893 = mul(float4(input_1.xyz, 1.0f), _14097);\n-\t float3 _10521 = _24893.xyz / _24893.w.xxx;\n-\t float4 _22905;\n+\t vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(input_1.xyz, 1.0);\n+\t vec3 _10521 = _24893.xyz / vec3(_24893.w);\n+\t vec4 _22905;\n \t _22905.x = _10521.x;\n \t _22905.y = _10521.y;\n \t float _21778 = _10521.z;\n \t _22905.z = _21778;\n-\t float3 _21642 = _22905.xyz;\n+\t vec3 _21642 = _22905.xyz;\n \t bool _7424;\n-\t if (all(bool3(_22905.xyz.x > float3(-1.0f, -1.0f, 0.0f).x, _22905.xyz.y > float3(-1.0f, -1.0f, 0.0f).y, _22905.xyz.z > float3(-1.0f, -1.0f, 0.0f).z)))\n+\t if (all(greaterThan(_22905.xyz, vec3(-1.0, -1.0, 0.0))))\n \t {\n-\t _7424 = all(bool3(_22905.xyz.x < 1.0f.xxx.x, _22905.xyz.y < 1.0f.xxx.y, _22905.xyz.z < 1.0f.xxx.z));\n+\t _7424 = all(lessThan(_22905.xyz, vec3(1.0)));\n \t }\n \t else\n \t {\n@@ -809,113 +834,111 @@ PS\n \t }\n \t else\n \t {\n-\t float4x3 _16509 = float4x3(g_BarnLights.Load<float>(_12608 * 480 + 272), g_BarnLights.Load<float>(_12608 * 480 + 288), g_BarnLights.Load<float>(_12608 * 480 + 304), g_BarnLights.Load<float>(_12608 * 480 + 276), g_BarnLights.Load<float>(_12608 * 480 + 292), g_BarnLights.Load<float>(_12608 * 480 + 308), g_BarnLights.Load<float>(_12608 * 480 + 280), g_BarnLights.Load<float>(_12608 * 480 + 296), g_BarnLights.Load<float>(_12608 * 480 + 312), g_BarnLights.Load<float>(_12608 * 480 + 284), g_BarnLights.Load<float>(_12608 * 480 + 300), g_BarnLights.Load<float>(_12608 * 480 + 316));\n-\t float3 _6368 = abs(mul(float4(input_1.xyz, 1.0f), _16509).xyz);\n-\t _12885 = !all(bool3(_6368.x <= 1.0f.xxx.x, _6368.y <= 1.0f.xxx.y, _6368.z <= 1.0f.xxx.z));\n+\t _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(input_1.xyz, 1.0)).xyz), vec3(1.0)));\n \t }\n \t if (_12885)\n \t {\n \t _13212 = _13138;\n \t _15670 = _16325;\n \t break;\n \t }\n-\t float _23572 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;\n-\t float _18492 = (2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) * g_BarnLights.Load<float4>(_12608 * 480 + 176).z;\n-\t float _14805 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).x;\n-\t float _9058 = _14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;\n-\t float _17330 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).w;\n-\t float _19825 = _17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z;\n-\t float3 _16268 = float3(_9058 - _19825, (1.0f - (_14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).x)) - _18492, (_23572 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) + (_17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).x)) * g_BarnLights.Load<float3>(_12608 * 480 + 192).z;\n+\t float _23572 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;\n+\t float _18492 = (2.0 * g_BarnLights_1._m0[_12608]._m5.z) * g_BarnLights_1._m0[_12608]._m5.z;\n+\t float _14805 = 2.0 * g_BarnLights_1._m0[_12608]._m5.x;\n+\t float _9058 = _14805 * g_BarnLights_1._m0[_12608]._m5.y;\n+\t float _17330 = 2.0 * g_BarnLights_1._m0[_12608]._m5.w;\n+\t float _19825 = _17330 * g_BarnLights_1._m0[_12608]._m5.z;\n+\t vec3 _16268 = vec3(_9058 - _19825, (1.0 - (_14805 * g_BarnLights_1._m0[_12608]._m5.x)) - _18492, (_23572 * g_BarnLights_1._m0[_12608]._m5.z) + (_17330 * g_BarnLights_1._m0[_12608]._m5.x)) * g_BarnLights_1._m0[_12608]._m6.z;\n \t float _21316;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 144).z > 0.0f)\n+\t if (g_BarnLights_1._m0[_12608]._m3.z > 0.0)\n \t {\n-\t _21316 = min(1.0f, _21778 * g_BarnLights.Load<float4>(_12608 * 480 + 144).z);\n+\t _21316 = min(1.0, _21778 * g_BarnLights_1._m0[_12608]._m3.z);\n \t }\n \t else\n \t {\n-\t _21316 = 1.0f;\n+\t _21316 = 1.0;\n \t }\n \t float _19667;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 144).w > 0.0f)\n+\t if (g_BarnLights_1._m0[_12608]._m3.w > 0.0)\n \t {\n-\t _19667 = _21316 * min(1.0f, (1.0f - _21778) * g_BarnLights.Load<float4>(_12608 * 480 + 144).w);\n+\t _19667 = _21316 * min(1.0, (1.0 - _21778) * g_BarnLights_1._m0[_12608]._m3.w);\n \t }\n \t else\n \t {\n \t _19667 = _21316;\n \t }\n-\t float3 _11179;\n+\t vec3 _11179;\n \t float _11633;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 128).w != 0.0f)\n+\t if (g_BarnLights_1._m0[_12608]._m2.w != 0.0)\n \t {\n-\t float3 _10017 = g_BarnLights.Load<float4>(_12608 * 480 + 128).xyz - input_1.xyz;\n+\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - input_1.xyz;\n \t float _18345 = dot(_10017, _10017);\n \t float _17647 = sqrt(_18345);\n-\t float3 _12302 = _10017 - _16268;\n-\t float3 _10210;\n+\t vec3 _12302 = _10017 - _16268;\n+\t vec3 _10210;\n \t do\n \t {\n-\t float3 _20229 = (_10017 + _16268) - _12302;\n+\t vec3 _20229 = (_10017 + _16268) - _12302;\n \t float _25105 = dot(-_12302, _20229);\n-\t if (_25105 <= 0.0f)\n+\t if (_25105 <= 0.0)\n \t {\n \t _10210 = _12302;\n \t break;\n \t }\n \t else\n \t {\n-\t _10210 = _12302 + (_20229 * min(1.0f, _25105 / dot(_20229, _20229)));\n+\t _10210 = _12302 + (_20229 * min(1.0, _25105 / dot(_20229, _20229)));\n \t break;\n \t }\n \t break; // unreachable workaround\n \t } while(false);\n-\t _11179 = _10017 / _17647.xxx;\n-\t _11633 = ((_19667 * (g_BarnLights.Load<float4>(_12608 * 480 + 128).w / max(_18345, g_BarnLights.Load<float4>(_12608 * 480 + 128).w))) * saturate(g_BarnLights.Load<float4>(_12608 * 480 + 144).x + (g_BarnLights.Load<float4>(_12608 * 480 + 144).y * _17647))) * saturate(g_BarnLights.Load<float3>(_12608 * 480 + 192).x + (g_BarnLights.Load<float3>(_12608 * 480 + 192).y * dot(float3((1.0f - (_23572 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y)) - _18492, _9058 + _19825, (_14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) - (_17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y)), normalize(_10210))));\n+\t _11179 = _10017 / vec3(_17647);\n+\t _11633 = ((_19667 * (g_BarnLights_1._m0[_12608]._m2.w / max(_18345, g_BarnLights_1._m0[_12608]._m2.w))) * saturate(g_BarnLights_1._m0[_12608]._m3.x + (g_BarnLights_1._m0[_12608]._m3.y * _17647))) * saturate(g_BarnLights_1._m0[_12608]._m6.x + (g_BarnLights_1._m0[_12608]._m6.y * dot(vec3((1.0 - (_23572 * g_BarnLights_1._m0[_12608]._m5.y)) - _18492, _9058 + _19825, (_14805 * g_BarnLights_1._m0[_12608]._m5.z) - (_17330 * g_BarnLights_1._m0[_12608]._m5.y)), normalize(_10210))));\n \t }\n \t else\n \t {\n-\t _11179 = g_BarnLights.Load<float4>(_12608 * 480 + 128).xyz;\n+\t _11179 = g_BarnLights_1._m0[_12608]._m2.xyz;\n \t _11633 = _19667;\n \t }\n-\t float3 _17828 = (g_BarnLights.Load<float4>(_12608 * 480 + 160).xyz * 1.0f).xyz * _11633;\n+\t vec3 _17828 = (g_BarnLights_1._m0[_12608]._m4.xyz * 1.0).xyz * _11633;\n \t bool _24419;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 208).z > 0.0f)\n+\t if (g_BarnLights_1._m0[_12608]._m8.z > 0.0)\n \t {\n \t _24419 = !_20060;\n \t }\n \t else\n \t {\n \t _24419 = false;\n \t }\n-\t float3 _21548;\n-\t [branch]\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w == 0.0f)\n+\t vec3 _21548;\n+\t SPIRV_CROSS_BRANCH\n+\t if (g_BarnLights_1._m0[_12608]._m4.w == 0.0)\n \t {\n \t float _10342;\n \t do\n \t {\n-\t float2 _22154 = abs(_22905.xy);\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 224).z == 0.0f)\n+\t vec2 _22154 = abs(_22905.xy);\n+\t if (g_BarnLights_1._m0[_12608]._m9.z == 0.0)\n \t {\n-\t _10342 = smoothstep(1.0f, g_BarnLights.Load<float4>(_12608 * 480 + 224).x, _22154.x) * smoothstep(1.0f, g_BarnLights.Load<float4>(_12608 * 480 + 224).y, _22154.y);\n+\t _10342 = smoothstep(1.0, g_BarnLights_1._m0[_12608]._m9.x, _22154.x) * smoothstep(1.0, g_BarnLights_1._m0[_12608]._m9.y, _22154.y);\n \t break;\n \t }\n \t else\n \t {\n \t float _11473 = _22154.x;\n-\t float _15266 = 2.0f / g_BarnLights.Load<float4>(_12608 * 480 + 224).z;\n+\t float _15266 = 2.0 / g_BarnLights_1._m0[_12608]._m9.z;\n \t float _15018 = _22154.y;\n-\t float _23041 = (-0.5f) * g_BarnLights.Load<float4>(_12608 * 480 + 224).z;\n-\t float _11981 = (g_BarnLights.Load<float4>(_12608 * 480 + 224).x * g_BarnLights.Load<float4>(_12608 * 480 + 224).y) * pow(max(pow(g_BarnLights.Load<float4>(_12608 * 480 + 224).y * _11473, _15266) + pow(g_BarnLights.Load<float4>(_12608 * 480 + 224).x * _15018, _15266), 1.1754943508222875079687365372222e-38f), _23041);\n-\t float _16524 = pow(max(pow(_11473, _15266) + pow(_15018, _15266), 1.1754943508222875079687365372222e-38f), _23041);\n+\t float _23041 = (-0.5) * g_BarnLights_1._m0[_12608]._m9.z;\n+\t float _11981 = (g_BarnLights_1._m0[_12608]._m9.x * g_BarnLights_1._m0[_12608]._m9.y) * pow(max(pow(g_BarnLights_1._m0[_12608]._m9.y * _11473, _15266) + pow(g_BarnLights_1._m0[_12608]._m9.x * _15018, _15266), 1.1754943508222875079687365372222e-38), _23041);\n+\t float _16524 = pow(max(pow(_11473, _15266) + pow(_15018, _15266), 1.1754943508222875079687365372222e-38), _23041);\n \t if (_11981 < _16524)\n \t {\n-\t _10342 = smoothstep(_16524, _11981, 1.0f);\n+\t _10342 = smoothstep(_16524, _11981, 1.0);\n \t break;\n \t }\n \t else\n \t {\n-\t _10342 = float(_16524 > 1.0f);\n+\t _10342 = float(_16524 > 1.0);\n \t break;\n \t }\n \t break; // unreachable workaround\n@@ -926,49 +949,49 @@ PS\n \t }\n \t else\n \t {\n-\t float3 _12503;\n-\t if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f)\n+\t vec3 _12504;\n+\t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n-\t float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);\n-\t float4 _19008 = _17795.xyzw * float4(-1.0f, -1.0f, -1.0f, 1.0f);\n-\t float3 _24989 = _19008.xyz;\n-\t float3 _23629 = float4((-_11179).xyz, 0.0f).xyz;\n+\t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n+\t vec4 _19008 = _17795.xyzw * vec4(-1.0, -1.0, -1.0, 1.0);\n+\t vec3 _24989 = _19008.xyz;\n+\t vec3 _23629 = vec4((-_11179).xyz, 0.0).xyz;\n \t float _15156 = -dot(_23629, _24989);\n-\t float3 _20479 = float4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz;\n-\t float3 _23592 = _17795.xyz;\n-\t float3 _12170 = ((_20479 * g_BarnLights.Load<float4>(_12608 * 480 + 176).w) + (_23592 * _15156)) + cross(_23592, _20479);\n-\t float3 _14081 = float3(float2(atan2(_12170.y, -_12170.x) * 0.15915493667125701904296875f, acos(_12170.z) * 0.3183098733425140380859375f), -g_BarnLights.Load<float4>(_12608 * 480 + 160).w);\n-\t float2 _20564 = (_14081.xy * g_BarnLights.Load<float4>(_12608 * 480 + 224).zw) + g_BarnLights.Load<float4>(_12608 * 480 + 224).xy;\n-\t float3 _20492 = _14081;\n+\t vec3 _20479 = vec4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz;\n+\t vec3 _23592 = _17795.xyz;\n+\t vec3 _12170 = ((_20479 * g_BarnLights_1._m0[_12608]._m5.w) + (_23592 * _15156)) + cross(_23592, _20479);\n+\t vec3 _14081 = vec3(vec2(atan(_12170.y, -_12170.x) * 0.15915493667125701904296875, acos(_12170.z) * 0.3183098733425140380859375), -g_BarnLights_1._m0[_12608]._m4.w);\n+\t vec2 _20564 = (_14081.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;\n+\t vec3 _20492 = _14081;\n \t _20492.x = _20564.x;\n \t _20492.y = _20564.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20492.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n-\t float3 _13791 = float3(mad(_22905.xy, float2(0.5f, -0.5f), 0.5f.xx), g_BarnLights.Load<float4>(_12608 * 480 + 160).w);\n-\t float2 _20563 = (_13791.xy * g_BarnLights.Load<float4>(_12608 * 480 + 224).zw) + g_BarnLights.Load<float4>(_12608 * 480 + 224).xy;\n-\t float3 _20491 = _13791;\n+\t vec3 _13791 = vec3(fma(_22905.xy, vec2(0.5, -0.5), vec2(0.5)), g_BarnLights_1._m0[_12608]._m4.w);\n+\t vec2 _20563 = (_13791.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;\n+\t vec3 _20491 = _13791;\n \t _20491.x = _20563.x;\n \t _20491.y = _20563.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20491.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12503;\n+\t _21548 = _12504;\n \t }\n-\t if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z)))\n+\t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n \t _13212 = _13138;\n \t _15670 = _16325;\n \t break;\n \t }\n-\t float3 _22671;\n+\t vec3 _22671;\n \t if (_24419)\n \t {\n-\t float3 _19629;\n-\t if ((g_BarnLights.Load<uint>(_12608 * 480 + 264) & 4u) != 0u)\n+\t vec3 _19629;\n+\t if ((g_BarnLights_1._m0[_12608]._m13 & 4u) != 0u)\n \t {\n-\t float2 _6281 = _22905.yx * float2(1.0f, -1.0f);\n-\t float3 _23716 = _21642;\n+\t vec2 _6281 = _22905.yx * vec2(1.0, -1.0);\n+\t vec3 _23716 = _21642;\n \t _23716.x = _6281.x;\n \t _23716.y = _6281.y;\n \t _19629 = _23716;\n@@ -977,9 +1000,8 @@ PS\n \t {\n \t _19629 = _21642;\n \t }\n-\t float3 _20482 = _21548.xyz * lerp(1.0f, g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], float3(mad(_19629.xy, g_BarnLights.Load<float4>(_12608 * 480 + 208).zw, g_BarnLights.Load<float4>(_12608 * 480 + 208).xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t_1_m12)), g_BarnLights.Load<float>(_12608 * 480 + 260));\n-\t float3 _16449 = _20482.xyz;\n-\t if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z)))\n+\t vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0), g_BarnLights_1._m0[_12608]._m12);\n+\t if (all(equal(_20482.xyz, vec3(0.0))))\n \t {\n \t _13212 = _13138;\n \t _15670 = _16325;\n@@ -991,18 +1013,17 @@ PS\n \t {\n \t _22671 = _21548;\n \t }\n-\t bool3 _19900 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;\n-\t float _11798 = max(0.0f, dot(_19740.xyz, _11179.xyz));\n-\t float2 _9841 = max(_21815, g_BarnLights.Load<float>(_12608 * 480 + 256).xx);\n-\t float3 _12282 = normalize(_11179.xyz + (-normalize(_7715.xyz - PerViewConstantBuffer_t_1_m3.xyz)).xyz).xyz;\n-\t float _12387 = dot(_12282, float3(_19900.x ? _24735.x : _17892.x, _19900.y ? _24735.y : _17892.y, _19900.z ? _24735.z : _17892.z).xyz);\n-\t float _19211 = max(0.0f, dot(_11179.xyz, _12282));\n+\t float _11798 = max(0.0, dot(_19740.xyz, _11179.xyz));\n+\t vec2 _9841 = max(_21815, vec2(g_BarnLights_1._m0[_12608]._m11));\n+\t vec3 _12282 = normalize(_11179.xyz + (-normalize(_7715.xyz - PerViewConstantBuffer_t._m3.xyz)).xyz).xyz;\n+\t float _12387 = dot(_12282, mix(_17892, _24735, bvec3(all(equal(_17892, vec3(1.0))))).xyz);\n+\t float _19211 = max(0.0, dot(_11179.xyz, _12282));\n \t float _9851 = _9841.x;\n \t float _25212 = _9851 * _9851;\n-\t float _19097 = _25212 * _25212;\n-\t float _15348 = ((_12387 * _12387) * (_19097 - 1.0f)) + 1.0f;\n-\t _13212 = _13138.xyz + (((_25153.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);\n-\t _15670 = _16325.xyz + (_11798.xxx.xyz * _22671.xyz);\n+\t float _19096 = _25212 * _25212;\n+\t float _15348 = ((_12387 * _12387) * (_19096 - 1.0)) + 1.0;\n+\t _13212 = _13138.xyz + (((_25153.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);\n+\t _15670 = _16325.xyz + (vec3(_11798).xyz * _22671.xyz);\n \t break;\n \t } while(false);\n \t _13138 = _13212;\n@@ -1016,86 +1037,86 @@ PS\n \t _17017 = _21567;\n \t continue;\n \t }\n-\t float _17172 = dot(_21815.xy, 0.5f.xx);\n-\t float3 _6253 = _17892.xyz;\n-\t float3 _17138 = normalize(_7715.xyz - PerViewConstantBuffer_t_1_m3.xyz);\n+\t float _17172 = dot(_21815.xy, vec2(0.5));\n+\t vec3 _6253 = _17892.xyz;\n+\t vec3 _17138 = normalize(_7715.xyz - PerViewConstantBuffer_t._m3.xyz);\n \t float _17225 = _17172 * _17172;\n-\t float _20711 = saturate(1.0f - _17225);\n-\t float4 _15343 = (float4(-1.0f, -0.0274999998509883880615234375f, -0.572000026702880859375f, 0.02199999988079071044921875f) * _17172) + float4(1.0f, 0.0425000004470348358154296875f, 1.03999996185302734375f, -0.039999999105930328369140625f);\n+\t float _20711 = saturate(1.0 - _17225);\n+\t vec4 _15343 = (vec4(-1.0, -0.0274999998509883880615234375, -0.572000026702880859375, 0.02199999988079071044921875) * _17172) + vec4(1.0, 0.0425000004470348358154296875, 1.03999996185302734375, -0.039999999105930328369140625);\n \t float _21215 = _15343.x;\n-\t float2 _24572 = (float2(-1.03999996185302734375f, 1.03999996185302734375f) * ((min(_21215 * _21215, exp2((-9.27999973297119140625f) * max(0.0f, dot((-_17138).xyz, _6253)))) * _21215) + _15343.y)) + _15343.zw;\n+\t vec2 _24572 = (vec2(-1.03999996185302734375, 1.03999996185302734375) * ((min(_21215 * _21215, exp2((-9.27999973297119140625) * max(0.0, dot((-_17138).xyz, _6253)))) * _21215) + _15343.y)) + _15343.zw;\n \t float _20339 = _24572.y;\n-\t float2 _11427 = float2(_20339, _24572.x + _20339);\n-\t float3 _8745 = float3(dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[2].xyzw, _23875)).xyz;\n-\t float3 _16991 = _16324.xyz + _8745;\n-\t float3 _20418 = _21710.xxx.xyz;\n-\t float3 _22686 = (_16324.xyz + (_8745 * _20418).xyz) * (_11217 * (1.0f - _14051)).xyz;\n+\t vec2 _11427 = vec2(_20339, _24572.x + _20339);\n+\t vec3 _8745 = vec3(dot(PerViewLightingConstantBufferGpu_t._m0._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m0._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m0._m0[2].xyzw, _23875)).xyz;\n+\t vec3 _16991 = _16324.xyz + _8745;\n+\t vec3 _20418 = vec3(_21710).xyz;\n+\t vec3 _22686 = (_16324.xyz + (_8745 * _20418).xyz) * (_11217 * (1.0 - _14051)).xyz;\n \t float _12931 = _22686.x;\n-\t float4 _11203 = float4(_12931, _22686.yz, input_4.w);\n+\t vec4 _11203 = vec4(_12931, _22686.yz, input_4.w);\n \t _11203.x = _12931;\n \t _11203.y = _22686.y;\n \t _11203.z = _22686.z;\n-\t float3 _15752 = _11203.xyz + (_13137.xyz * _20418).xyz;\n-\t float4 _20490 = _11203;\n+\t vec3 _15752 = _11203.xyz + (_13137.xyz * _20418).xyz;\n+\t vec4 _20490 = _11203;\n \t _20490.x = _15752.x;\n \t _20490.y = _15752.y;\n \t _20490.z = _15752.z;\n-\t float3 _15734 = _20490.xyz + ((((lerp(_11427.xxx, _11427.yyy, _25153) * g_bindless_TextureCubeArray_float4[PerViewConstantBufferCsgo_t_1_m7].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], float4(normalize(lerp(_6253, reflect(_17138.xyz, _17892.xyz).xyz, (_20711 * (sqrt(_20711) + _17225)).xxx)), 0.0f), PerViewLightingConstantBufferGpu_t_1_m8.y * sqrt(_17172)).xyz).xyz * (normalize(_16991 + 0.001000000047497451305389404296875f.xxx) * clamp(length(_16991), 0.0f, 1.75f))).xyz * (1.0f.xxx + (normalize(_8745 + 0.001000000047497451305389404296875f.xxx) * 0.5f))).xyz * _20418).xyz;\n-\t float4 _13888 = _20490;\n+\t vec3 _15734 = _20490.xyz + ((((mix(_11427.xxx, _11427.yyy, _25153) * textureLod(samplerCubeArray(g_bindless_TextureCubeArray_float4[PerViewConstantBufferCsgo_t._m7], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), vec4(normalize(mix(_6253, reflect(_17138.xyz, _17892.xyz).xyz, vec3(_20711 * (sqrt(_20711) + _17225)))), 0.0), PerViewLightingConstantBufferGpu_t._m8.y * sqrt(_17172)).xyz).xyz * (normalize(_16991 + vec3(0.001000000047497451305389404296875)) * clamp(length(_16991), 0.0, 1.75))).xyz * (vec3(1.0) + (normalize(_8745 + vec3(0.001000000047497451305389404296875)) * 0.5))).xyz * _20418).xyz;\n+\t vec4 _13888 = _20490;\n \t _13888.x = _15734.x;\n \t _13888.y = _15734.y;\n \t _13888.z = _15734.z;\n-\t float4 _6805;\n-\t if (_Globals_1_g_bFogEnabled != 0)\n+\t vec4 _6805;\n+\t if (_Globals_.g_bFogEnabled != 0)\n \t {\n-\t float3 _21493;\n-\t float3 _22956 = _7715.xyz - PerViewConstantBuffer_t_1_m3.xyz;\n-\t float3 _9057 = _22956.xyz;\n-\t float3 _19340;\n+\t vec3 _21493;\n+\t vec3 _22956 = _7715.xyz - PerViewConstantBuffer_t._m3.xyz;\n+\t vec3 _9057 = _22956.xyz;\n+\t vec3 _19340;\n \t do\n \t {\n \t _21493 = _22956.xyz;\n \t bool _12886;\n-\t if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t_1_m14.x)\n+\t if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t._m14.x)\n \t {\n-\t _12886 = (_7715.z * PerViewConstantBufferCsgo_t_1_m14.z) < PerViewConstantBufferCsgo_t_1_m14.y;\n+\t _12886 = (_7715.z * PerViewConstantBufferCsgo_t._m14.z) < PerViewConstantBufferCsgo_t._m14.y;\n \t }\n \t else\n \t {\n \t _12886 = false;\n \t }\n-\t [branch]\n+\t SPIRV_CROSS_BRANCH\n \t if (_12886)\n \t {\n-\t float2 _9342 = clamp(PerViewConstantBufferCsgo_t_1_m11.xy + (PerViewConstantBufferCsgo_t_1_m11.zw * float2(length(_21493), _7715.z)), 0.0f.xx, 1.0f.xx);\n-\t float _12872 = (pow(_9342.x, PerViewConstantBufferCsgo_t_1_m12.x) * pow(_9342.y, PerViewConstantBufferCsgo_t_1_m12.y)) * PerViewConstantBufferCsgo_t_1_m13.w;\n-\t _19340 = lerp(_13888.xyz, float4(PerViewConstantBufferCsgo_t_1_m13.xyz, _12872).xyz, _12872.xxx);\n+\t vec2 _9342 = saturate(PerViewConstantBufferCsgo_t._m11.xy + (PerViewConstantBufferCsgo_t._m11.zw * vec2(length(_21493), _7715.z)));\n+\t float _12872 = (pow(_9342.x, PerViewConstantBufferCsgo_t._m12.x) * pow(_9342.y, PerViewConstantBufferCsgo_t._m12.y)) * PerViewConstantBufferCsgo_t._m13.w;\n+\t _19340 = mix(_13888.xyz, vec4(PerViewConstantBufferCsgo_t._m13.xyz, _12872).xyz, vec3(_12872));\n \t break;\n \t }\n \t _19340 = _13888.xyz;\n \t break;\n \t } while(false);\n-\t float4 _23944 = _13888;\n+\t vec4 _23944 = _13888;\n \t _23944.x = _19340.x;\n \t _23944.y = _19340.y;\n \t _23944.z = _19340.z;\n-\t float3 _19341;\n+\t vec3 _19341;\n \t do\n \t {\n \t bool _12887;\n-\t if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t_1_m18.x)\n+\t if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t._m18.x)\n \t {\n-\t _12887 = (PerViewConstantBufferCsgo_t_1_m18.z * _7715.z) < PerViewConstantBufferCsgo_t_1_m18.y;\n+\t _12887 = (PerViewConstantBufferCsgo_t._m18.z * _7715.z) < PerViewConstantBufferCsgo_t._m18.y;\n \t }\n \t else\n \t {\n \t _12887 = false;\n \t }\n \t if (_12887)\n \t {\n-\t float _14602 = saturate(pow(max(0.0f, (length(_21493) * PerViewConstantBufferCsgo_t_1_m15.y) + PerViewConstantBufferCsgo_t_1_m15.x), PerViewConstantBufferCsgo_t_1_m15.w)) * saturate(pow(max(0.0f, (_7715.z * PerViewConstantBufferCsgo_t_1_m16.y) + PerViewConstantBufferCsgo_t_1_m16.x), PerViewConstantBufferCsgo_t_1_m16.z));\n-\t float _8892 = saturate(_14602) * PerViewConstantBufferCsgo_t_1_m18.w;\n-\t _19341 = lerp(_23944.xyz, float4((g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t_1_m3].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], normalize(mul(float4(_9057, 0.0f), PerViewConstantBufferCsgo_t_1_m17).xyz).xyz, PerViewConstantBufferCsgo_t_1_m16.w * saturate(1.0f - (_14602 * PerViewConstantBufferCsgo_t_1_m15.z))) * PerViewConstantBufferCsgo_t_1_m19.x).xyz, _8892).xyz, _8892.xxx);\n+\t float _14602 = saturate(pow(max(0.0, (length(_21493) * PerViewConstantBufferCsgo_t._m15.y) + PerViewConstantBufferCsgo_t._m15.x), PerViewConstantBufferCsgo_t._m15.w)) * saturate(pow(max(0.0, (_7715.z * PerViewConstantBufferCsgo_t._m16.y) + PerViewConstantBufferCsgo_t._m16.x), PerViewConstantBufferCsgo_t._m16.z));\n+\t float _8892 = saturate(_14602) * PerViewConstantBufferCsgo_t._m18.w;\n+\t _19341 = mix(_23944.xyz, vec4((textureLod(samplerCube(g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t._m3], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), normalize((PerViewConstantBufferCsgo_t._m17 * vec4(_9057, 0.0)).xyz).xyz, PerViewConstantBufferCsgo_t._m16.w * saturate(1.0 - (_14602 * PerViewConstantBufferCsgo_t._m15.z))) * PerViewConstantBufferCsgo_t._m19.x).xyz, _8892).xyz, vec3(_8892));\n \t break;\n \t }\n \t _19341 = _23944.xyz;\n@@ -1113,22 +1134,6 @@ PS\n \t output_0 = _6805;\n \t}\n \t\n-\tPS_OUTPUT MainPs(PS_INPUT stage_input)\n-\t{\n-\t gl_FragCoord = stage_input.gl_FragCoord;\n-\t gl_FragCoord.w = 1.0 / gl_FragCoord.w;\n-\t input_0 = stage_input.input_0;\n-\t input_1 = stage_input.input_1;\n-\t input_2 = stage_input.input_2;\n-\t input_3 = stage_input.input_3;\n-\t input_4 = stage_input.input_4;\n-\t input_5 = stage_input.input_5;\n-\t input_6 = stage_input.input_6;\n-\t MainPs_inner();\n-\t PS_OUTPUT stage_output;\n-\t stage_output.output_0 = output_0;\n-\t return stage_output;\n-\t}\n \t\n \t// --------- SPIRV -> HLSL end --------- \n \t\n@@ -1438,8 +1443,8 @@ RTX\n \t vec2 _567 = vec2(g_MaterialData_1._member0[(_523 + 144u) / 4u], g_MaterialData_1._member0[(_523 + 148u) / 4u]);\n \t vec3 _566 = vec3(g_MaterialData_1._member0[(_523 + 208u) / 4u], g_MaterialData_1._member0[(_523 + 212u) / 4u], g_MaterialData_1._member0[(_523 + 216u) / 4u]);\n \t float _565 = g_MaterialData_1._member0[(_523 + 220u) / 4u];\n-\t uint _564 = g_MaterialData_3._member0[(_523 + 236u) / 4u];\n-\t uint _563 = g_MaterialData_3._member0[(_523 + 256u) / 4u];\n+\t uint _564 = g_MaterialData_3._member0[(_523 + 240u) / 4u];\n+\t uint _563 = g_MaterialData_3._member0[(_523 + 260u) / 4u];\n \t float _562 = g_MaterialData_1._member0[(_523 + 284u) / 4u];\n \t float _561 = g_MaterialData_1._member0[(_523 + 288u) / 4u];\n \t vec2 _560 = vec2(g_MaterialData_1._member0[(_523 + 296u) / 4u], g_MaterialData_1._member0[(_523 + 300u) / 4u]);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_simple_3layer_parallax.slang",
"status": "modified",
"additions": 98,
"deletions": 87,
"changes": 185,
"patch": "@@ -83,7 +83,7 @@ VS\n \tfloat2 g_vTexCoordScrollSpeed < Range2(-10, -10, 10, 10); UiType(VectorText); UiGroup(\"Color/70\"); >;\n \t\n \t// SPIR-V reflection failed for backend HLSL:\n-\t// cbuffer ID 5618 (name: _Globals_), member index 0 (name: g_vTexCoordXform0) cannot be expressed with either HLSL packing layout or packoffset.\n+\t// cbuffer ID 5618 (name: _Globals_), member index 3 (name: g_vColorTint) cannot be expressed with either HLSL packing layout or packoffset.\n \t//\n \t// Re-attempting reflection with the GLSL backend.\n \t\n@@ -298,7 +298,7 @@ PS\n \tTexture2D g_tNormal < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormal, TextureRoughness), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >;\n \tTexture2D g_tTransmissiveMask < Channel(R, ArtistDefined(TextureTransmissiveMask), Srgb); OutputFormat(ATI1N); SrgbRead(true); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Ambient Occlusion\n@@ -362,7 +362,7 @@ PS\n \tTexture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >;\n \t\n \t// SPIR-V reflection failed for backend HLSL:\n-\t// cbuffer ID 5618 (name: _Globals_), member index 11 (name: g_vLayer2EmissiveTint) cannot be expressed with either HLSL packing layout or packoffset.\n+\t// cbuffer ID 5618 (name: _Globals_), member index 5 (name: g_vLayer1EmissiveTint) cannot be expressed with either HLSL packing layout or packoffset.\n \t//\n \t// Re-attempting reflection with the GLSL backend.\n \t\n@@ -384,17 +384,17 @@ PS\n \t#endif\n \t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _2746\n+\tstruct _2998\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _2956\n+\tstruct _197\n \t{\n \t vec4 _m0[4];\n \t};\n \t\n-\tstruct _1581\n+\tstruct _2697\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -504,10 +504,10 @@ PS\n \t\n \tlayout(set = 1) uniform _1194 PerViewConstantBuffer_t;\n \t\n-\tstruct _2611\n+\tstruct _1373\n \t{\n-\t _2746 _m0;\n-\t _2956 _m1;\n+\t _2998 _m0;\n+\t _197 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n \t vec4 _m4;\n@@ -524,13 +524,13 @@ PS\n \t float _m15;\n \t float _m16;\n \t float _m17;\n-\t _1581 _m18;\n-\t _2956 _m19;\n+\t _2697 _m18;\n+\t _197 _m19;\n \t uint _m20;\n \t uint _m21;\n \t};\n \t\n-\tlayout(set = 3) uniform _2611 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _1373 PerViewLightingConstantBufferGpu_t;\n \t\n \tlayout(set = 3, binding = 30, std430) readonly buffer g_CullBits\n \t{\n@@ -707,99 +707,110 @@ PS\n \t {\n \t _21710 = 1.0;\n \t }\n-\t float _21711;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m11 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12503;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m11 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))\n-\t {\n-\t _13136 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;\n-\t vec3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))\n+\t {\n+\t _13136 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])\n+\t {\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;\n+\t vec3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _18423;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n-\t float _12501;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13136 < 1.0)\n+\t float _18423;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))\n+\t float _18270 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t float _12501;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13136 < 1.0)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;\n-\t vec3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t _7934 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;\n+\t vec3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t _7934 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12501 = mix(_7934, _18270, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = mix(_7934, _18270, _13136);\n+\t _18423 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _18423 = 1.0;\n \t }\n-\t _18423 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _18423 = 1.0;\n-\t }\n-\t float _13279 = mix(_18423, 1.0, saturate((distance(_10061.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));\n-\t float _12502;\n-\t if (_24465.y)\n-\t {\n-\t _12502 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t float _13279 = mix(_18423, 1.0, saturate((distance(_10061.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));\n+\t float _12502;\n+\t if (_24465.y)\n+\t {\n+\t _12502 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12502 = _13279;\n+\t }\n+\t _12503 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _13279;\n+\t _12503 = 1.0;\n \t }\n-\t _21711 = _12502;\n+\t _12320 = _12503;\n \t }\n \t else\n \t {\n-\t _21711 = 1.0;\n+\t _12320 = 1.0;\n \t }\n \t vec3 _9716;\n \t vec3 _24878;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735) * _21711) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n \t float _11797 = max(0.0, dot(_13532.xyz, PerViewLightingConstantBufferGpu_t._m9.xyz));\n \t vec2 _9840 = max(_21813, vec2(PerViewLightingConstantBufferGpu_t._m9.w));\n@@ -810,7 +821,7 @@ PS\n \t float _25211 = _9850 * _9850;\n \t float _19095 = _25211 * _25211;\n \t float _15346 = ((_12386 * _12386) * (_19095 - 1.0)) + 1.0;\n-\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _21711).xyz;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _12320).xyz;\n \t _9716 = ((_12351.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0) + 2.0)))).xyz * _11797).xyz * _16808;\n \t _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(_11797).xyz * _16808);\n \t }\n@@ -1010,7 +1021,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12503;\n+\t vec3 _12504;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -1026,7 +1037,7 @@ PS\n \t vec3 _20493 = _14081;\n \t _20493.x = _20564.x;\n \t _20493.y = _20564.y;\n-\t _12503 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20493.xyz, 0.0).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20493.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -1035,9 +1046,9 @@ PS\n \t vec3 _20492 = _13791;\n \t _20492.x = _20563.x;\n \t _20492.y = _20563.y;\n-\t _12503 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20492.xyz, 0.0).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20492.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12503;\n+\t _21548 = _12504;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n@@ -1081,9 +1092,9 @@ PS\n \t float _19211 = max(0.0, dot(_11179.xyz, _12282));\n \t float _9851 = _9841.x;\n \t float _25212 = _9851 * _9851;\n-\t float _19097 = _25212 * _25212;\n-\t float _15348 = ((_12387 * _12387) * (_19097 - 1.0)) + 1.0;\n-\t _13212 = _13138.xyz + (((_12351.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);\n+\t float _19096 = _25212 * _25212;\n+\t float _15348 = ((_12387 * _12387) * (_19096 - 1.0)) + 1.0;\n+\t _13212 = _13138.xyz + (((_12351.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);\n \t _15670 = _16326.xyz + (vec3(_11798).xyz * _22671.xyz);\n \t break;\n \t } while(false);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_simple_liquid.slang",
"status": "modified",
"additions": 840,
"deletions": 603,
"changes": 1443,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_static_overlay.slang",
"status": "modified",
"additions": 125,
"deletions": 79,
"changes": 204,
"patch": "@@ -123,20 +123,16 @@ VS\n \tint g_nScaleTexCoordUByModelScaleAxis < Range4(0, 0, 0, 0, 3, 3, 3, 3); UiOptions(\"0=None,1=UV.u * model.x,2=UV.u * model.y,3=UV.u * model.z\"); UiType(Enum); UiGroup(\"Color/80\"); >;\n \tint g_nScaleTexCoordVByModelScaleAxis < Range4(0, 0, 0, 0, 3, 3, 3, 3); UiOptions(\"0=None,1=UV.v * model.x,2=UV.v * model.y,3=UV.v * model.z\"); UiType(Enum); UiGroup(\"Color/90\"); >;\n \t\n+\t// Overlay\n+\tfloat g_flOverlayLift < Range(0, 2); UiType(Slider); UiGroup(\"Overlay,90/Lift,10/10\"); >;\n+\t\n \t// Material1\n \tint g_nUVSet1 < Default(1); Range4(0, 0, 0, 0, 2, 2, 2, 2); UiOptions(\"0=Biplanar,1=UV1,2=UV2\"); UiType(Enum); UiGroup(\"Material1/Texture Coordinates,34/1\"); >;\n \tfloat2 g_vTexCoordScale1 < Default2(1, 1); Range2(0, 0, 100, 100); Attribute(\"0=X,1=Y\"); UiType(VectorText); UiGroup(\"Material1/Texture Transform,35/2\"); >;\n \tfloat g_flTexCoordRotation1 < Range(-360, 360); UiType(Slider); UiGroup(\"Material1/Texture Transform,35/13\"); UiVisibility(1); >;\n \t\n-\t// SPIR-V reflection failed for backend HLSL:\n-\t// cbuffer ID 5618 (name: _Globals_), member index 0 (name: g_vTexCoordXform0) cannot be expressed with either HLSL packing layout or packoffset.\n-\t//\n-\t// Re-attempting reflection with the GLSL backend.\n-\t\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n-\t// SPIR-V source, GLSL reflection with SPIRV-Cross by KhronosGroup\n-\t\n-\t#version 460\n+\t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n \t\n \tstruct _1125\n \t{\n@@ -152,88 +148,101 @@ VS\n \t\n \tstruct _1119\n \t{\n-\t mat3x4 _m0;\n+\t row_major float3x4 _m0;\n \t};\n \t\n-\tlayout(set = 4, binding = 32, std430) readonly buffer g_instanceBuffer\n+\tByteAddressBuffer g_instanceBuffer : register(t32, space4);\n+\tByteAddressBuffer g_transformBuffer : register(t30, space4);\n+\tcbuffer PerViewConstantBuffer_t : register(b1, space0)\n \t{\n-\t _1125 _m0[];\n-\t} g_instanceBuffer_1;\n+\t column_major float4x4 PerViewConstantBuffer_t_1_m0 : packoffset(c0);\n+\t float PerViewConstantBuffer_t_1_m1 : packoffset(c18.w);\n+\t float4 PerViewConstantBuffer_t_1_m2 : packoffset(c24);\n+\t float3 PerViewConstantBuffer_t_1_m3 : packoffset(c26);\n+\t};\n \t\n-\tlayout(set = 4, binding = 30, std430) readonly buffer g_transformBuffer\n+\tcbuffer _Globals_ : register(b0, space0)\n \t{\n-\t _1119 _m0[];\n-\t} g_transformBuffer_1;\n+\t float4 _Globals_1_g_vTexCoordXform0 : packoffset(c31);\n+\t float4 _Globals_1_g_vTexCoordXform1 : packoffset(c32);\n+\t float2 _Globals_1_g_vTexCoordScrollSpeed : packoffset(c33);\n+\t float3 _Globals_1_g_vColorTint : packoffset(c36.y);\n+\t float _Globals_1_g_flModelTintAmount : packoffset(c37);\n+\t float _Globals_1_g_flOverlayLift : packoffset(c37.z);\n+\t};\n \t\n-\tstruct _1340\n+\tcbuffer PerViewConstantBufferCsgo_t : register(b3, space0)\n \t{\n-\t mat4 _m0;\n-\t float _m1;\n-\t vec4 _m2;\n-\t vec3 _m3;\n+\t float4 PerViewConstantBufferCsgo_t_1_m0 : packoffset(c35);\n \t};\n \t\n-\tlayout(set = 0) uniform _1340 PerViewConstantBuffer_t;\n \t\n-\tstruct _1234\n+\tstatic float4 gl_Position;\n+\tstatic float3 vPositionOs;\n+\tstatic float2 vTexCoord;\n+\tstatic float3 vNormalOs;\n+\tstatic uint4 vBlendIndices;\n+\tstatic uint nInstanceIdx;\n+\tstatic float3 output_0;\n+\tstatic float3 output_1;\n+\tstatic float4 output_2;\n+\tstatic float3 output_3;\n+\tstatic float3 output_4;\n+\tstatic float4 output_5;\n+\tstatic float4 output_6;\n+\tstatic uint output_7;\n+\t\n+\tstruct VS_INPUT\n \t{\n-\t vec4 g_vTexCoordXform0;\n-\t vec4 g_vTexCoordXform1;\n-\t vec2 g_vTexCoordScrollSpeed;\n-\t vec3 g_vColorTint;\n-\t float g_flModelTintAmount;\n+\t float3 vPositionOs : POSITION0;\n+\t float2 vTexCoord : TEXCOORD0;\n+\t float3 vNormalOs : NORMAL0;\n+\t uint4 vBlendIndices : BLENDINDICES0;\n+\t uint nInstanceIdx : TEXCOORD13;\n \t};\n \t\n-\tlayout(set = 0) uniform _1234 _Globals_;\n-\t\n-\tstruct _1017\n+\tstruct PS_INPUT\n \t{\n-\t vec4 _m0;\n+\t float3 output_0 : TEXCOORD0;\n+\t float3 output_1 : TEXCOORD1;\n+\t float4 output_2 : TEXCOORD2;\n+\t float3 output_3 : TEXCOORD3;\n+\t float3 output_4 : TEXCOORD4;\n+\t float4 output_5 : TEXCOORD5;\n+\t centroid float4 output_6 : TEXCOORD6;\n+\t nointerpolation uint output_7 : TEXCOORD7;\n+\t float4 gl_Position : SV_Position;\n \t};\n \t\n-\tlayout(set = 0) uniform _1017 PerViewConstantBufferCsgo_t;\n-\t\n-\tlayout(location = 0) in vec3 vPositionOs;\n-\tlayout(location = 1) in vec2 vTexCoord;\n-\tlayout(location = 2) in vec3 vNormalOs;\n-\tlayout(location = 3) in uvec4 vBlendIndices;\n-\tlayout(location = 4) in uint nInstanceIdx;\n-\tlayout(location = 0) out vec3 output_0;\n-\tlayout(location = 1) out vec3 output_1;\n-\tlayout(location = 2) out vec4 output_2;\n-\tlayout(location = 3) out vec3 output_3;\n-\tlayout(location = 4) out vec3 output_4;\n-\tlayout(location = 5) out vec4 output_5;\n-\tlayout(location = 6) centroid out vec4 output_6;\n-\tlayout(location = 7) flat out uint output_7;\n-\t\n-\tvoid main()\n+\tvoid MainVs_inner()\n \t{\n-\t uint _13771 = (g_instanceBuffer_1._m0[nInstanceIdx]._m5 >> uint(16)) & 15u;\n+\t uint _13771 = (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 20) >> uint(16)) & 15u;\n \t uint _21785;\n \t if (_13771 == 1u)\n \t {\n-\t _21785 = g_instanceBuffer_1._m0[nInstanceIdx]._m1 + (2u + vBlendIndices.x);\n+\t _21785 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) + (2u + vBlendIndices.x);\n \t }\n \t else\n \t {\n-\t _21785 = g_instanceBuffer_1._m0[nInstanceIdx]._m1;\n+\t _21785 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4);\n \t }\n-\t vec3 _21709;\n+\t float3x4 _12618 = float3x4(g_transformBuffer.Load<float4>(_21785 * 48 + 0), g_transformBuffer.Load<float4>(_21785 * 48 + 16), g_transformBuffer.Load<float4>(_21785 * 48 + 32));\n+\t float3 _21709;\n \t if (_13771 > 0u)\n \t {\n-\t _21709 = vec3(g_transformBuffer_1._m0[g_instanceBuffer_1._m0[nInstanceIdx]._m1]._m0[0].z);\n+\t float3x4 _25207 = float3x4(g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 0), g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 16), g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 32));\n+\t _21709 = _25207[0].z.xxx;\n \t }\n \t else\n \t {\n-\t _21709 = vec3(1.0);\n+\t _21709 = 1.0f.xxx;\n \t }\n-\t vec4 _23812 = vec4(uvec4(g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 255u, (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 65280u) >> uint(8), (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 16711680u) >> uint(16), (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 4278190080u) >> uint(24))) * vec4(0.0039215688593685626983642578125);\n-\t vec3 _6253 = _23812.xyz;\n-\t vec3 _17828 = _6253 * vec3(0.077399380505084991455078125);\n-\t vec3 _7676 = pow((_6253 * vec3(0.947867333889007568359375)) + vec3(0.052132703363895416259765625), vec3(2.400000095367431640625));\n+\t float4 _23812 = float4(uint4(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 255u, (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 65280u) >> uint(8), (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 16711680u) >> uint(16), (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 4278190080u) >> uint(24))) * 0.0039215688593685626983642578125f.xxxx;\n+\t float3 _6253 = _23812.xyz;\n+\t float3 _17828 = _6253 * 0.077399380505084991455078125f.xxx;\n+\t float3 _7676 = pow((_6253 * 0.947867333889007568359375f.xxx) + 0.052132703363895416259765625f.xxx, 2.400000095367431640625f.xxx);\n \t float _21354;\n-\t if (_23812.x <= 0.040449999272823333740234375)\n+\t if (_23812.x <= 0.040449999272823333740234375f)\n \t {\n \t _21354 = _17828.x;\n \t }\n@@ -242,7 +251,7 @@ VS\n \t _21354 = _7676.x;\n \t }\n \t float _21355;\n-\t if (_23812.y <= 0.040449999272823333740234375)\n+\t if (_23812.y <= 0.040449999272823333740234375f)\n \t {\n \t _21355 = _17828.y;\n \t }\n@@ -251,7 +260,7 @@ VS\n \t _21355 = _7676.y;\n \t }\n \t float _17978;\n-\t if (_23812.z <= 0.040449999272823333740234375)\n+\t if (_23812.z <= 0.040449999272823333740234375f)\n \t {\n \t _17978 = _17828.z;\n \t }\n@@ -260,33 +269,69 @@ VS\n \t _17978 = _7676.z;\n \t }\n \t float _7654 = _23812.w;\n-\t vec3 _12151 = vec4(vPositionOs.xyz * _21709.xyz, 1.0) * g_transformBuffer_1._m0[_21785]._m0;\n-\t vec4 _18237 = (vec4(_12151.xyz, 1.0) + (PerViewConstantBuffer_t._m2 * 1.0)).xyzw * PerViewConstantBuffer_t._m0;\n-\t vec4 _9360 = vTexCoord.xyxy;\n-\t _9360.x = dot(vTexCoord.xy, _Globals_.g_vTexCoordXform0.xy) + _Globals_.g_vTexCoordXform0.w;\n-\t _9360.y = dot(vTexCoord.xy, _Globals_.g_vTexCoordXform1.xy) + _Globals_.g_vTexCoordXform1.w;\n-\t vec2 _22490 = _9360.xy + (_Globals_.g_vTexCoordScrollSpeed.xy * PerViewConstantBuffer_t._m1);\n-\t vec4 _20488 = _9360;\n+\t float3 _11179 = normalize(mul(_12618, float4(vNormalOs.xyz, 0.0f)));\n+\t float3 _12151 = mul(_12618, float4(vPositionOs.xyz * _21709.xyz, 1.0f));\n+\t float4 _21447 = PerViewConstantBuffer_t_1_m2 * 1.0f;\n+\t float4 _13706 = vTexCoord.xyxy;\n+\t _13706.x = dot(vTexCoord.xy, _Globals_1_g_vTexCoordXform0.xy) + _Globals_1_g_vTexCoordXform0.w;\n+\t _13706.y = dot(vTexCoord.xy, _Globals_1_g_vTexCoordXform1.xy) + _Globals_1_g_vTexCoordXform1.w;\n+\t float2 _22490 = _13706.xy + (_Globals_1_g_vTexCoordScrollSpeed.xy * PerViewConstantBuffer_t_1_m1);\n+\t float4 _20488 = _13706;\n \t _20488.x = _22490.x;\n \t _20488.y = _22490.y;\n-\t vec4 _11399 = vec4(mix(vec3(1.0), vec4(_21354, _21355, _17978, _7654).xyz, vec3(_Globals_.g_flModelTintAmount)), _7654 * g_instanceBuffer_1._m0[nInstanceIdx]._m7);\n-\t vec3 _13062 = _11399.xyz * _Globals_.g_vColorTint.xyz;\n-\t vec4 _23714 = _11399;\n+\t float4 _11399 = float4(lerp(1.0f.xxx, float4(_21354, _21355, _17978, _7654).xyz, _Globals_1_g_flModelTintAmount.xxx), _7654 * g_instanceBuffer.Load<float>(nInstanceIdx * 32 + 28));\n+\t float3 _13062 = _11399.xyz * _Globals_1_g_vColorTint.xyz;\n+\t float4 _23714 = _11399;\n \t _23714.x = _13062.x;\n \t _23714.y = _13062.y;\n \t _23714.z = _13062.z;\n+\t float4 _19363;\n+\t if (_Globals_1_g_flOverlayLift > 0.0f)\n+\t {\n+\t float3 _6847 = _12151.xyz;\n+\t float3 _18449 = normalize(PerViewConstantBuffer_t_1_m3.xyz - _6847);\n+\t float4 _18277 = mul(PerViewConstantBuffer_t_1_m0, (float4(_6847, 1.0f) + _21447).xyzw);\n+\t float4 _8847 = mul(PerViewConstantBuffer_t_1_m0, (float4((_6847 + (_18449 * ((_Globals_1_g_flOverlayLift * 1.5f) / max(dot(_11179.xyz, _18449), 0.300000011920928955078125f)))).xyz, 1.0f) + _21447).xyzw);\n+\t _18277.z = (_8847.z / _8847.w) * _18277.w;\n+\t _19363 = _18277;\n+\t }\n+\t else\n+\t {\n+\t _19363 = mul(PerViewConstantBuffer_t_1_m0, (float4(_12151.xyz, 1.0f) + _21447).xyzw);\n+\t }\n \t output_0 = _12151;\n-\t output_1 = _12151 - PerViewConstantBuffer_t._m3.xyz;\n+\t output_1 = _12151 - PerViewConstantBuffer_t_1_m3.xyz;\n \t output_2 = _20488;\n-\t output_3 = _12151.xyz - PerViewConstantBufferCsgo_t._m0.xyz;\n-\t output_4 = normalize(vec4(vNormalOs.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0);\n+\t output_3 = _12151.xyz - PerViewConstantBufferCsgo_t_1_m0.xyz;\n+\t output_4 = _11179;\n \t output_5 = _20488;\n \t output_6 = _23714;\n-\t output_7 = g_instanceBuffer_1._m0[nInstanceIdx]._m5 & 65535u;\n-\t _18237.y = -_18237.y;\n-\t gl_Position = _18237;\n+\t output_7 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 20) & 65535u;\n+\t float4 _20857 = _19363;\n+\t _20857.y = -_19363.y;\n+\t gl_Position = _20857;\n \t}\n \t\n+\tPS_INPUT MainVs(VS_INPUT stage_input)\n+\t{\n+\t vPositionOs = stage_input.vPositionOs;\n+\t vTexCoord = stage_input.vTexCoord;\n+\t vNormalOs = stage_input.vNormalOs;\n+\t vBlendIndices = stage_input.vBlendIndices;\n+\t nInstanceIdx = stage_input.nInstanceIdx;\n+\t MainVs_inner();\n+\t PS_INPUT stage_output;\n+\t stage_output.gl_Position = gl_Position;\n+\t stage_output.output_0 = output_0;\n+\t stage_output.output_1 = output_1;\n+\t stage_output.output_2 = output_2;\n+\t stage_output.output_3 = output_3;\n+\t stage_output.output_4 = output_4;\n+\t stage_output.output_5 = output_5;\n+\t stage_output.output_6 = output_6;\n+\t stage_output.output_7 = output_7;\n+\t return stage_output;\n+\t}\n \t\n \t// --------- SPIRV -> HLSL end --------- \n \t\n@@ -397,7 +442,7 @@ PS\n \tfloat3 g_vAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.045,.4,1.15).x,-1.4427*log(max(.0001,1-float3(-.045,.4,1.15).y)),2-float3(-.045,.4,1.15).z)); >;\n \tfloat3 g_vBiplanarTexCoordScale < UiType(VectorText); Expression(1/64*float3(-1,1,-1)); >;\n \tfloat3 g_vDarkMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.1,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.1,.4,1.08).y)),2-float3(-.1,.4,1.08).z)); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat3 g_vMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.45,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.45,.4,1.08).y)),2-float3(-.45,.4,1.08).z)); >;\n \tfloat4 g_vNormalXform_1 < UiType(VectorText); Expression(v0 = g_flTexCoordRotation1*3.1415927/180;\n \t\tv1 = cos(v0);\n@@ -430,7 +475,7 @@ PS\n \tCreateInputTexture2D(TextureAmbientOcclusion1, Linear, 8, \"\", \"_ao\", \"Material1/Lighting,20/20\", Default4(1, 1, 1, 0));\n \tfloat g_fTextureColorContrast1 < Default(1); Range(0, 4); UiType(Slider); UiGroup(\"Material1/Color Correction/20\"); >;\n \tfloat g_flHeightMapScale1 < Default(1); Range(-4, 4); UiType(Slider); UiGroup(\"Material1/Height/20\"); >;\n-\tfloat3 g_vAmbientOcclusionLevels1 < Default2(0, 0.5); Range(-1, 1); Attribute(\"0=Option 1,1=Option 2,2=Option 3\"); UiType(VectorText); UiGroup(\"Material1/Lighting/21\"); Expression(float3(-this.x,-1.4427*log(max(.0001,1-this.y)),2-this.z)); >;\n+\tfloat3 g_vAmbientOcclusionLevels1 < Default3(0, 0.5, 1); Range(-1, 1); Attribute(\"0=Option 1,1=Option 2,2=Option 3\"); UiType(VectorText); UiGroup(\"Material1/Lighting/21\"); Expression(float3(-this.x,-1.4427*log(max(.0001,1-this.y)),2-this.z)); >;\n \tCreateInputTexture2D(TextureMetalness1, Linear, 8, \"\", \"_metal\", \"Material1/Lighting/30\", Default4(0, 0, 0, 0));\n \tfloat g_fTextureColorSaturation1 < Default(1); Range(0, 4); UiType(Slider); UiGroup(\"Material1/Color Correction/30\"); >;\n \tfloat g_flHeightMapZeroPoint1 < Default(0.5); UiType(Slider); UiGroup(\"Material1/Height/30\"); >;\n@@ -451,6 +496,7 @@ PS\n \t// Lighting\n \tCreateInputTexture2D(TextureMetalness, Linear, 8, \"\", \"_metal\", \"Lighting,30/Metalness,30/10\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureRoughness, Linear, 8, \"Inverse\", \"_rough\", \"Lighting,30/Roughness,20/10\", Default4(0.5, 0.5, 0.5, 0));\n+\tbool g_bSnow < UiType(CheckBox); UiGroup(\"Lighting/Snow,90/10\"); >;\n \tfloat g_fTextureRoughnessContrast < Default(1); Range(0, 4); UiType(Slider); UiGroup(\"Lighting/Roughness/11\"); >;\n \tfloat g_fTextureRoughnessBrightness < Default(1); Range(0, 4); UiType(Slider); UiGroup(\"Lighting/Roughness/12\"); >;\n \tbool g_bMaskRoughnessAdjustmentsByTintMask < UiType(CheckBox); UiGroup(\"Lighting/Roughness/13\"); UiVisibility(F_TINT_MASK==1); >;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_textile_layer.slang",
"status": "modified",
"additions": 180,
"deletions": 169,
"changes": 349,
"patch": "@@ -334,7 +334,7 @@ PS\n \tTexture2D g_tSurface1 < Channel(RGB, ArtistDefined(TextureSurfaceAlbedo1), Srgb); Channel(A, Box(TextureSurfaceTintMask1), Linear); OutputFormat(BC7); SrgbRead(true); >;\n \tTexture2D g_tSurfaceNormal1 < Channel(RGBA, HemiOctAnisoRoughness(TextureSurfaceNormal1, TextureSurfaceRoughness1), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tSurfaceProperties1 < Channel(R, Box3(TextureSurfaceAmbientOcclusion1), Linear); Channel(G, Box(TextureSurfaceMetalness1), Linear); Channel(B, Box(TextureSurfaceClothMask1), Linear); Channel(A, Box(TextureSurfaceHeight1), Linear); OutputFormat(BC7); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vGrungeTexCoordXform0 < UiType(VectorText); Expression(v0 = g_fGrungeTexCoordRotation*3.14159/180;\n \t\tv1 = cos(v0);\n \t\tv2 = sin(v0);\n@@ -385,7 +385,7 @@ PS\n \tCreateInputTexture2D(TextureGrime1, Srgb, 8, \"\", \"_color\", \"Material1/Grime,6/1\", Default4(0.5, 0.5, 0.5, 0));\n \tCreateInputTexture2D(TextureSubstrateAlbedo1, Srgb, 8, \"\", \"_color\", \"Material1/Substrate Layer,2/1\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceAlbedo1, Srgb, 8, \"\", \"_color\", \"Material1/Surface Layer,1/1\", Default4(1, 1, 1, 0));\n-\tfloat2 g_vDamageLevels1 < Default(0); UiType(VectorText); UiGroup(\"Material1,1/Detail Damage/1\"); >;\n+\tfloat2 g_vDamageLevels1 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material1,1/Detail Damage/1\"); >;\n \tCreateInputTexture2D(TextureSubstrateTintMask1, Linear, 8, \"\", \"_tintmask\", \"Material1/Substrate Layer/2\", Default4(1, 1, 1, 0));\n \tCreateInputTexture2D(TextureSurfaceTintMask1, Linear, 8, \"\", \"_tintmask\", \"Material1/Surface Layer/2\", Default4(1, 1, 1, 0));\n \tfloat g_fCurvaturePower1 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup(\"Material1/Detail Damage/2\"); >;\n@@ -409,16 +409,16 @@ PS\n \tCreateInputTexture2D(TextureDetailNormal1, Linear, 8, \"\", \"_detailnormal\", \"Material1/Normal/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tCreateInputTexture2D(TextureGrunge1, Linear, 8, \"\", \"_grunge\", \"Material1/Grunge/10\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageMetalness1 < UiType(Slider); UiGroup(\"Material1/Detail Damage/10\"); >;\n-\tfloat2 g_vSurfaceGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/10\"); >;\n+\tfloat2 g_vSurfaceGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/10\"); >;\n \tCreateInputTexture2D(TextureDamageNormal1, Linear, 8, \"\", \"_damagenormal\", \"Material1/Normal/11\", Default4(0.5, 0.5, 0.5, 0.5));\n \tfloat g_fDamageCloth1 < UiType(Slider); UiGroup(\"Material1/Detail Damage/11\"); UiVisibility(F_CLOTH_SHADING); >;\n \tfloat g_fDamageHeightBlendSoftness1 < Default(0.01); UiType(Slider); UiGroup(\"Material1/Damage Height/11\"); Expression(max(this,.001)); >;\n \tfloat g_fDetailGrunge1 < Range(0, 2); UiType(Slider); UiGroup(\"Material1/Grunge/11\"); >;\n \tfloat g_fDetailScale1 < Default(4); Range(-10, 10); UiType(Slider); UiGroup(\"Material1/Detail/11\"); >;\n-\tfloat2 g_vSubstrateGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/11\"); >;\n+\tfloat2 g_vSubstrateGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup(\"Material1/Grime/11\"); >;\n \tfloat g_fDetailNormalContrast1 < Default(1); Range(0, 8); UiType(Slider); UiGroup(\"Material1/Normal/12\"); >;\n \tfloat g_fDetailRoughnessContrast1 < Range(-1, 1); UiType(Slider); UiGroup(\"Material1/Detail/12\"); >;\n-\tfloat2 g_vDamageMinMax1 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material1/Damage Height/12\"); >;\n+\tfloat2 g_vDamageMinMax1 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup(\"Material1/Damage Height/12\"); >;\n \tfloat g_fDetailRoughnessBrightness1 < Default(1); Range(0, 10); UiType(Slider); UiGroup(\"Material1/Detail/13\"); >;\n \tfloat g_fWearBleaching1 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup(\"Material1/Wear Edge/13\"); >;\n \tfloat g_fDetailAnisotropyScalar1 < Range(-1, 1); UiType(Slider); UiGroup(\"Material1/Detail/14\"); >;\n@@ -459,12 +459,12 @@ PS\n \tCreateInputTexture2D(TextureSubstrateMetalness1, Srgb, 8, \"\", \"_metal\", \"Material1/Substrate Layer/40\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureSurfaceMetalness1, Linear, 8, \"\", \"_metal\", \"Material1/Surface Layer/40\", Default4(0, 0, 0, 0));\n \tfloat g_fDamageBevelRoughnessBrightness1 < Default(1); Range(0, 2); UiType(Slider); UiGroup(\"Material1/Damage Bevel/40\"); >;\n-\tfloat2 g_vSurfaceBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup(\"Material1/Burnishing/40\"); >;\n+\tfloat2 g_vSurfaceBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material1/Burnishing/40\"); >;\n \tCreateInputTexture2D(TextureSubstrateClothMask1, Srgb, 8, \"\", \"_mask\", \"Material1/Substrate Layer/41\", \"materials/default/default_black_mask.tga\");\n \tCreateInputTexture2D(TextureSurfaceClothMask1, Linear, 8, \"\", \"_mask\", \"Material1/Surface Layer/41\", \"materials/default/default_black_mask.tga\");\n \tfloat g_fDamageBevelAnisotropy1 < UiType(Slider); UiGroup(\"Material1/Damage Bevel/41\"); >;\n \tfloat g_fDamageNormalEdgeWidth1 < Default(1); Range(0, 8); UiType(Slider); UiGroup(\"Material1,1/Wear Edge/41\"); >;\n-\tfloat2 g_vSubstrateBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup(\"Material1/Burnishing/41\"); >;\n+\tfloat2 g_vSubstrateBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup(\"Material1/Burnishing/41\"); >;\n \tfloat g_fDamageEdgeRoughness1 < Default(0.8); UiType(Slider); UiGroup(\"Material1/Wear Edge/42\"); >;\n \tfloat g_fDamageEdgeMetalness1 < UiType(Slider); UiGroup(\"Material1/Wear Edge/43\"); >;\n \tfloat g_fDamageBevelMetalness1 < UiType(Slider); UiGroup(\"Material1/Damage Bevel/50\"); >;\n@@ -527,14 +527,14 @@ PS\n \t#endif\n \t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tconst vec2 _724[4] = vec2[](vec2(-1.0), vec2(-1.0, 1.0), vec2(1.0), vec2(1.0, -1.0));\n+\tconst vec2 _790[4] = vec2[](vec2(-1.0), vec2(-1.0, 1.0), vec2(1.0), vec2(1.0, -1.0));\n \t\n-\tstruct _1906\n+\tstruct _2158\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _2116\n+\tstruct _2368\n \t{\n \t vec4 _m0[4];\n \t};\n@@ -550,12 +550,12 @@ PS\n \t vec4 _m6;\n \t};\n \t\n-\tstruct _2033\n+\tstruct _2946\n \t{\n \t _1677 _m0[128];\n \t};\n \t\n-\tstruct _872\n+\tstruct _1988\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -659,15 +659,15 @@ PS\n \t\n \tlayout(set = 1) uniform _2806 PerViewConstantBufferCsgo_t;\n \t\n-\tstruct _1552\n+\tstruct _832\n \t{\n \t vec4 _m0;\n \t vec4 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n \t vec4 _m4;\n-\t _1906 _m5;\n-\t _2116 _m6;\n+\t _2158 _m5;\n+\t _2368 _m6;\n \t vec4 _m7;\n \t vec4 _m8;\n \t vec4 _m9;\n@@ -676,7 +676,7 @@ PS\n \t uvec4 _m12;\n \t vec4 _m13;\n \t vec4 _m14;\n-\t _2033 _m15;\n+\t _2946 _m15;\n \t vec4 _m16;\n \t vec4 _m17;\n \t int _m18;\n@@ -686,11 +686,11 @@ PS\n \t float _m22;\n \t float _m23;\n \t float _m24;\n-\t _872 _m25;\n-\t _2116 _m26;\n+\t _1988 _m25;\n+\t _2368 _m26;\n \t};\n \t\n-\tlayout(set = 3) uniform _1552 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _832 PerViewLightingConstantBufferGpu_t;\n \t\n \tstruct _1194\n \t{\n@@ -721,19 +721,19 @@ PS\n \tlayout(set = 1, binding = 55) uniform texture2D g_tDetailNormal1;\n \tlayout(set = 1, binding = 56) uniform texture2D g_tDamageNormal1;\n \tlayout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sCookieSampler;\n \tlayout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;\n-\tlayout(set = 1, binding = 18) uniform sampler g_sPointClamp;\n+\tlayout(set = 1, binding = 19) uniform sampler g_sPointClamp;\n \tlayout(set = 1, binding = 39) uniform texture2D g_tSsao;\n-\tlayout(set = 1, binding = 19) uniform sampler g_sUserConfig;\n-\tlayout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfig;\n+\tlayout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n \tlayout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;\n-\tlayout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;\n+\tlayout(set = 1, binding = 16) uniform sampler g_sBilinearClamp;\n \tlayout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n \t\n@@ -983,8 +983,8 @@ PS\n \t {\n \t break;\n \t }\n-\t float _24694 = _19034 - smoothstep(_Globals_.g_vDamageLevels1.x, _Globals_.g_vDamageLevels1.y, saturate((texture(sampler2D(g_tGrunge1, g_sAniso), (_15902 + (((_724[_17017] * 0.0009765625) * _Globals_.g_fDamageNormalEdgeWidth1) * 2.0)).xy).w * _21912) + _20765) * _Globals_.g_fWearProgress);\n-\t _10648 = _13136.xy - (_724[_17017] * _24694);\n+\t float _24694 = _19034 - smoothstep(_Globals_.g_vDamageLevels1.x, _Globals_.g_vDamageLevels1.y, saturate((texture(sampler2D(g_tGrunge1, g_sAniso), (_15902 + (((_790[_17017] * 0.0009765625) * _Globals_.g_fDamageNormalEdgeWidth1) * 2.0)).xy).w * _21912) + _20765) * _Globals_.g_fWearProgress);\n+\t _10648 = _13136.xy - (_790[_17017] * _24694);\n \t _14733 = _16324 + abs(_24694);\n \t _18386 = _17017 + 1;\n \t _13136 = _10648;\n@@ -1091,162 +1091,173 @@ PS\n \t {\n \t _21711 = _21710;\n \t }\n-\t float _21712;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13137;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n-\t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n-\t {\n-\t _13137 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n-\t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n-\t vec3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13137 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n-\t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n+\t float _12504;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n \t {\n-\t vec2 _7045;\n-\t vec2 _7046;\n-\t vec2 _7735;\n-\t float _8969;\n-\t float _8970;\n-\t float _15996;\n-\t float _17299;\n-\t vec2 _18870;\n-\t vec4 _20581;\n-\t vec4 _22024;\n-\t float _23727;\n-\t do\n+\t int _23989;\n+\t int _10191;\n+\t float _13137;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n-\t _22024 = PerViewLightingConstantBufferGpu_t._m1;\n-\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n-\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n-\t _18870 = vec2(_17299, _15996);\n-\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n-\t _7045 = vec2(_8969, _15996);\n-\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n-\t _7046 = vec2(_17299, _8970);\n-\t _7735 = vec2(_8969, _8970);\n-\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n-\t bool _12887;\n-\t if (_15310 == 0.0)\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n \t {\n-\t _12887 = true;\n-\t }\n-\t else\n-\t {\n-\t _12887 = _15310 == 1.0;\n+\t _13137 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n \t }\n-\t if (_12887)\n+\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n \t {\n-\t _23727 = _15310;\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n+\t vec3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13137 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n \t break;\n \t }\n-\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22024.y);\n-\t break;\n-\t } while(false);\n-\t float _12502;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13137 < 1.0)\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n+\t }\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t vec2 _7045;\n+\t vec2 _7046;\n+\t vec2 _7735;\n+\t float _8969;\n+\t float _8970;\n+\t float _15996;\n+\t float _17299;\n+\t vec2 _18870;\n+\t vec4 _20581;\n+\t vec4 _22024;\n+\t float _23727;\n+\t do\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n-\t vec3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t float _12501;\n-\t do\n+\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n+\t _22024 = PerViewLightingConstantBufferGpu_t._m1;\n+\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n+\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n+\t _18870 = vec2(_17299, _15996);\n+\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n+\t _7045 = vec2(_8969, _15996);\n+\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n+\t _7046 = vec2(_17299, _8970);\n+\t _7735 = vec2(_8969, _8970);\n+\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n+\t bool _12887;\n+\t if (_15310 == 0.0)\n \t {\n-\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n-\t bool _12888;\n-\t if (_15311 == 0.0)\n-\t {\n-\t _12888 = true;\n-\t }\n-\t else\n-\t {\n-\t _12888 = _15311 == 1.0;\n-\t }\n-\t if (_12888)\n+\t _12887 = true;\n+\t }\n+\t else\n+\t {\n+\t _12887 = _15310 == 1.0;\n+\t }\n+\t if (_12887)\n+\t {\n+\t _23727 = _15310;\n+\t break;\n+\t }\n+\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22024.y);\n+\t break;\n+\t } while(false);\n+\t float _12502;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13137 < 1.0)\n+\t {\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n+\t vec3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t float _12501;\n+\t do\n \t {\n-\t _12501 = _15311;\n+\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n+\t bool _12888;\n+\t if (_15311 == 0.0)\n+\t {\n+\t _12888 = true;\n+\t }\n+\t else\n+\t {\n+\t _12888 = _15311 == 1.0;\n+\t }\n+\t if (_12888)\n+\t {\n+\t _12501 = _15311;\n+\t break;\n+\t }\n+\t _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22024.y);\n \t break;\n-\t }\n-\t _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22024.y);\n-\t break;\n-\t } while(false);\n-\t _7934 = _12501;\n+\t } while(false);\n+\t _7934 = _12501;\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12502 = mix(_7934, _23727, _13137);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12502 = _23727;\n \t }\n-\t _12502 = mix(_7934, _23727, _13137);\n+\t _19363 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _23727;\n+\t _19363 = 1.0;\n \t }\n-\t _19363 = _12502;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0;\n-\t }\n-\t float _13279 = mix(_19363, 1.0, saturate((distance(_10829.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n-\t float _12503;\n-\t if (_24465.y)\n-\t {\n-\t _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t float _13279 = mix(_19363, 1.0, saturate((distance(_10829.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n+\t float _12503;\n+\t if (_24465.y)\n+\t {\n+\t _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12503 = _13279;\n+\t }\n+\t _12504 = _12503;\n \t }\n \t else\n \t {\n-\t _12503 = _13279;\n+\t _12504 = 1.0;\n \t }\n-\t _21712 = _12503;\n+\t _12320 = _12504;\n \t }\n \t else\n \t {\n-\t _21712 = 1.0;\n+\t _12320 = 1.0;\n \t }\n \t vec3 _9716;\n \t vec3 _24878;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21712) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n \t float _11797 = max(0.0, dot(_14995.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz));\n \t vec2 _9840 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));\n@@ -1257,8 +1268,8 @@ PS\n \t float _25073 = max(0.0, dot(_19012, _21889));\n \t float _9850 = _9840.x;\n \t float _25211 = _9850 * _9850;\n-\t float _19097 = _12386 * _12386;\n-\t float _24198 = _25211 / ((_19097 * ((_25211 * _25211) - 1.0)) + 1.0);\n+\t float _19096 = _12386 * _12386;\n+\t float _24198 = _25211 / ((_19096 * ((_25211 * _25211) - 1.0)) + 1.0);\n \t float _16150 = _9850 + 1.0;\n \t float _6835 = (_16150 * _16150) * 0.125;\n \t float _19569 = 1.0 - _6835;\n@@ -1270,13 +1281,13 @@ PS\n \t float _6597 = dot(_9840.xy, vec2(0.5));\n \t float _20791 = max(_6597 * _6597, 9.9999997473787516355514526367188e-06);\n \t float _21401 = saturate(_25073 + 0.001000000047497451305389404296875);\n-\t _11621 = mix(_21624, ((((2.0 + (1.0 / _20791)) * pow(1.0 - _19097, 0.5 / _20791)) / ((_11797 + _21401) - (_11797 * _21401))) * 0.124999918043613433837890625) * _11797, _11543);\n+\t _11621 = mix(_21624, ((((2.0 + (1.0 / _20791)) * pow(1.0 - _19096, 0.5 / _20791)) / ((_11797 + _21401) - (_11797 * _21401))) * 0.124999918043613433837890625) * _11797, _11543);\n \t }\n \t else\n \t {\n \t _11621 = _21624;\n \t }\n-\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21712).xyz;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz;\n \t _9716 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808);\n \t _24878 = (((_17639.xyz + ((vec3(1.0) - _17639.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * _11621).xyz * _11797).xyz * _16808;\n \t }\n@@ -1477,7 +1488,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12504;\n+\t vec3 _12505;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -1493,7 +1504,7 @@ PS\n \t vec3 _20491 = _14081;\n \t _20491.x = _20564.x;\n \t _20491.y = _20564.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -1502,9 +1513,9 @@ PS\n \t vec3 _20490 = _13791;\n \t _20490.x = _20563.x;\n \t _20490.y = _20563.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12504;\n+\t _21548 = _12505;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n@@ -1532,8 +1543,8 @@ PS\n \t do\n \t {\n \t float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n-\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n+\t vec2 _14617 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n+\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n \t bool _12890;\n \t if (_15312 == 0.0)\n \t {\n@@ -1548,7 +1559,7 @@ PS\n \t _24972 = _15312;\n \t break;\n \t }\n-\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n+\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14617, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n \t break;\n \t } while(false);\n \t vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);\n@@ -1573,8 +1584,8 @@ PS\n \t float _25074 = max(0.0, dot(_19014, _21890));\n \t float _9851 = _9841.x;\n \t float _25212 = _9851 * _9851;\n-\t float _19098 = _12387 * _12387;\n-\t float _24199 = _25212 / ((_19098 * ((_25212 * _25212) - 1.0)) + 1.0);\n+\t float _19097 = _12387 * _12387;\n+\t float _24199 = _25212 / ((_19097 * ((_25212 * _25212) - 1.0)) + 1.0);\n \t float _16151 = _9851 + 1.0;\n \t float _6836 = (_16151 * _16151) * 0.125;\n \t float _19571 = 1.0 - _6836;\n@@ -1586,7 +1597,7 @@ PS\n \t float _6598 = dot(_9841.xy, vec2(0.5));\n \t float _20792 = max(_6598 * _6598, 9.9999997473787516355514526367188e-06);\n \t float _21402 = saturate(_25074 + 0.001000000047497451305389404296875);\n-\t _11622 = mix(_21625, ((((2.0 + (1.0 / _20792)) * pow(1.0 - _19098, 0.5 / _20792)) / ((_11798 + _21402) - (_11798 * _21402))) * 0.124999918043613433837890625) * _11798, _11543);\n+\t _11622 = mix(_21625, ((((2.0 + (1.0 / _20792)) * pow(1.0 - _19097, 0.5 / _20792)) / ((_11798 + _21402) - (_11798 * _21402))) * 0.124999918043613433837890625) * _11798, _11543);\n \t }\n \t else\n \t {\n@@ -1624,12 +1635,12 @@ PS\n \t _10287 = _22447;\n \t }\n \t float _17751 = dot(_11004.xy, vec2(0.5));\n-\t vec3 _6521 = _17892.xyz;\n+\t vec3 _6520 = _17892.xyz;\n \t vec3 _19081 = _17892.xyz;\n \t float _23572 = PerViewLightingConstantBufferGpu_t._m14.y * sqrt(_17751);\n \t float _17225 = _17751 * _17751;\n \t float _20711 = saturate(1.0 - _17225);\n-\t vec3 _25271 = normalize(mix(_6521, reflect(_10145.xyz, _19081).xyz, vec3(_20711 * (sqrt(_20711) + _17225))));\n+\t vec3 _25271 = normalize(mix(_6520, reflect(_10145.xyz, _19081).xyz, vec3(_20711 * (sqrt(_20711) + _17225))));\n \t uvec2 _6814 = uvec2(_18180.xy - PerViewConstantBuffer_t._m0.xy) >> _7663;\n \t uint _19949 = PerViewLightingConstantBufferGpu_t._m11.y + (((_6814.y * PerViewLightingConstantBufferGpu_t._m12.y) + _6814.x) * PerViewLightingConstantBufferGpu_t._m11.z);\n \t uint _23394 = PerViewLightingConstantBufferGpu_t._m11.x + (uint(clamp(_6864 * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m11.z);\n@@ -1734,15 +1745,15 @@ PS\n \t continue;\n \t }\n \t vec3 _20869 = _19257.xyz;\n-\t float _20784 = max(0.0, dot(_20869, _6521));\n+\t float _20784 = max(0.0, dot(_20869, _6520));\n \t vec4 _11487 = textureLod(sampler2DArray(g_tBRDFLookup, g_sBilinearClamp), vec3((vec2(_17751, sqrt(1.0 - _20784)) * 0.984375) + vec2(0.0078125), 1.0).xyz, 0.0);\n \t vec3 _18985 = mix(_11487.xxx, _11487.yyy, _17639);\n \t float _10020;\n \t vec3 _23440;\n \t SPIRV_CROSS_BRANCH\n \t if (_14874)\n \t {\n-\t float _7173 = dot(normalize(_6521 + _20869).xyz, _6521);\n+\t float _7173 = dot(normalize(_6520 + _20869).xyz, _6520);\n \t float _22187 = max(_17225, 9.9999997473787516355514526367188e-06);\n \t float _21363 = saturate(_20784 + 0.001000000047497451305389404296875);\n \t _10020 = 1.0 - _11543;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_unlitgeneric.slang",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -382,9 +382,9 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tColor : register(t51, space1);\n-\tSamplerState g_sUserConfigAllowGlobalMipBias : register(s20, space1);\n+\tSamplerState g_sUserConfigAllowGlobalMipBias : register(s21, space1);\n \tTextureCube<float4> g_tFogCubeTexture : register(t42, space1);\n-\tSamplerState g_sTrilinearClamp : register(s17, space1);\n+\tSamplerState g_sTrilinearClamp : register(s18, space1);\n \t\n \tstatic float4 input_2;\n \tstatic float4 input_3;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_vertexlitgeneric.slang",
"status": "modified",
"additions": 122,
"deletions": 111,
"changes": 233,
"patch": "@@ -390,7 +390,7 @@ PS\n \tTexture2D g_tNormal < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormal, TextureRoughness), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tSelfIllumMask < Channel(RGB, Box(TextureSelfIllumMask), Srgb); OutputFormat(DXT1); SrgbRead(true); >;\n \tTexture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat3 g_vSelfIllumTintScaled < UiType(VectorText); Expression(pow(2,g_flSelfIllumBrightness).x*g_flSelfIllumScale.x*SrgbGammaToLinear(g_vSelfIllumTint.xyz)); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n@@ -460,17 +460,17 @@ PS\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n \t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n \t\n-\tstruct _2620\n+\tstruct _2872\n \t{\n \t float4 _m0[3];\n \t};\n \t\n-\tstruct _2830\n+\tstruct _71\n \t{\n \t float4 _m0[4];\n \t};\n \t\n-\tstruct _1023\n+\tstruct _2139\n \t{\n \t column_major float4x4 _m0[4];\n \t};\n@@ -508,22 +508,22 @@ PS\n \t\n \tcbuffer _Globals_ : register(b0, space1)\n \t{\n-\t uint _Globals_1_g_sTrilinearWrap : packoffset(c0.z);\n-\t uint _Globals_1_g_sTrilinearClamp : packoffset(c0.w);\n-\t uint _Globals_1_g_sPointClamp : packoffset(c1);\n-\t uint _Globals_1_g_sUserConfig : packoffset(c1.w);\n-\t uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2);\n-\t uint _Globals_1_g_sCookieSampler : packoffset(c2.z);\n-\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c2.w);\n-\t int _Globals_1_g_bFogEnabled : packoffset(c3.y);\n-\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c3.z);\n-\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c3.w);\n-\t uint _Globals_1_g_tColor : packoffset(c7.w);\n-\t uint _Globals_1_g_tNormal : packoffset(c8);\n-\t uint _Globals_1_g_tAmbientOcclusion : packoffset(c8.w);\n-\t float _Globals_1_g_flAmbientOcclusionScale : packoffset(c9);\n-\t uint _Globals_1_g_tMetalness : packoffset(c9.y);\n-\t float _Globals_1_g_flInverseBlendTint : packoffset(c9.z);\n+\t uint _Globals_1_g_sTrilinearWrap : packoffset(c0.w);\n+\t uint _Globals_1_g_sTrilinearClamp : packoffset(c1);\n+\t uint _Globals_1_g_sPointClamp : packoffset(c1.y);\n+\t uint _Globals_1_g_sUserConfig : packoffset(c2);\n+\t uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2.y);\n+\t uint _Globals_1_g_sCookieSampler : packoffset(c2.w);\n+\t uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c3);\n+\t int _Globals_1_g_bFogEnabled : packoffset(c3.z);\n+\t int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c3.w);\n+\t int _Globals_1_g_bRenderBackfaceNormals : packoffset(c4);\n+\t uint _Globals_1_g_tColor : packoffset(c8);\n+\t uint _Globals_1_g_tNormal : packoffset(c8.y);\n+\t uint _Globals_1_g_tAmbientOcclusion : packoffset(c9);\n+\t float _Globals_1_g_flAmbientOcclusionScale : packoffset(c9.y);\n+\t uint _Globals_1_g_tMetalness : packoffset(c9.z);\n+\t float _Globals_1_g_flInverseBlendTint : packoffset(c9.w);\n \t};\n \t\n \tcbuffer PerViewConstantBufferCsgo_t : register(b3, space1)\n@@ -552,8 +552,8 @@ PS\n \t\n \tcbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3)\n \t{\n-\t _2620 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n-\t _2830 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n+\t _2872 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);\n+\t _71 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);\n@@ -569,8 +569,8 @@ PS\n \t float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955.y);\n \t float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.z);\n \t float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.w);\n-\t _1023 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1956);\n-\t _2830 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1988);\n+\t _2139 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1956);\n+\t _71 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1988);\n \t uint PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1996);\n \t uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996.y);\n \t};\n@@ -748,104 +748,115 @@ PS\n \t {\n \t _21710 = 1.0f;\n \t }\n-\t float _21711;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m8.xyz, _24735);\n+\t float _12320;\n \t [branch]\n-\t if (PerViewLightingConstantBufferGpu_t_1_m10 != 0)\n+\t if (_8634 > 0.0f)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t float3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12503;\n+\t [branch]\n+\t if (PerViewLightingConstantBufferGpu_t_1_m10 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m10))\n-\t {\n-\t _13136 = 1.0f;\n-\t _14975 = 0.0f.xxx;\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_13039], float4(input_1.xyz, 1.0f));\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m12[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t float3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float3 _19470 = float3(_12779, _18322.yz);\n-\t float2 _24804 = _19470.xy;\n-\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m14.xx) + PerViewLightingConstantBufferGpu_t_1_m13.xx, 0.0f.xx, 1.0f.xx);\n-\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].xy;\n-\t float3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m10))\n+\t {\n+\t _13136 = 1.0f;\n+\t _14975 = 0.0f.xxx;\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_13039], float4(input_1.xyz, 1.0f));\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m12[_13039])\n+\t {\n+\t float3 _19470 = float3(_12779, _18322.yz);\n+\t float2 _24804 = _19470.xy;\n+\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m14.xx) + PerViewLightingConstantBufferGpu_t_1_m13.xx, 0.0f.xx, 1.0f.xx);\n+\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].xy;\n+\t float3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m11));\n-\t float _12501;\n-\t [branch]\n-\t if (_13136 < 1.0f)\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m10 - 1))\n+\t float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m11));\n+\t float _12501;\n+\t [branch]\n+\t if (_13136 < 1.0f)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_15335], float4(input_1.xyz, 1.0f));\n-\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].xy;\n-\t float3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m11));\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m10 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_15335], float4(input_1.xyz, 1.0f));\n+\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].xy;\n+\t float3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m11));\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0f;\n+\t }\n+\t _12501 = lerp(_7934, _18270, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0f;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = lerp(_7934, _18270, _13136);\n+\t _19363 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _19363 = 1.0f;\n \t }\n-\t _19363 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0f;\n-\t }\n-\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m16) + PerViewLightingConstantBufferGpu_t_1_m15));\n-\t float _12502;\n-\t if (_24465.y)\n-\t {\n-\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m16) + PerViewLightingConstantBufferGpu_t_1_m15));\n+\t float _12502;\n+\t if (_24465.y)\n+\t {\n+\t _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t }\n+\t else\n+\t {\n+\t _12502 = _13279;\n+\t }\n+\t _12503 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _13279;\n+\t _12503 = 1.0f;\n \t }\n-\t _21711 = _12502;\n+\t _12320 = _12503;\n \t }\n \t else\n \t {\n-\t _21711 = 1.0f;\n+\t _12320 = 1.0f;\n \t }\n-\t float3 _21712;\n+\t float3 _21711;\n \t [branch]\n-\t if ((dot(PerViewLightingConstantBufferGpu_t_1_m8.xyz, _24735) * _21711) > 0.0f)\n+\t if ((_8634 * _12320) > 0.0f)\n \t {\n-\t _21712 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m8.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m9.xyz * _21711).xyz);\n+\t _21711 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m8.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m9.xyz * _12320).xyz);\n \t }\n \t else\n \t {\n-\t _21712 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;\n+\t _21711 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;\n \t }\n \t bool4 _24466 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w);\n \t bool _20060 = _24466.x;\n@@ -869,7 +880,7 @@ PS\n \t uint _10838 = PerViewLightingConstantBufferGpu_t_1_m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m5.z);\n \t uint _23393 = PerViewLightingConstantBufferGpu_t_1_m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m7.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m7.y)) * PerViewLightingConstantBufferGpu_t_1_m5.z);\n \t float3 _13155;\n-\t _13155 = _21712;\n+\t _13155 = _21711;\n \t uint _21567;\n \t float3 _13156;\n \t uint _16208 = 0u;\n@@ -882,7 +893,7 @@ PS\n \t uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _16208) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _16208) * 4 + 0));\n \t _13156 = _13155;\n \t uint _20344;\n-\t float3 _12504;\n+\t float3 _12505;\n \t uint _16209 = _14475;\n \t for (;;)\n \t {\n@@ -925,7 +936,7 @@ PS\n \t }\n \t if (_12887)\n \t {\n-\t _12504 = _13156;\n+\t _12505 = _13156;\n \t break;\n \t }\n \t float _23571 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;\n@@ -1035,7 +1046,7 @@ PS\n \t }\n \t else\n \t {\n-\t float3 _12503;\n+\t float3 _12504;\n \t if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f)\n \t {\n \t float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);\n@@ -1051,7 +1062,7 @@ PS\n \t float3 _20491 = _14081;\n \t _20491.x = _20564.x;\n \t _20491.y = _20564.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20491.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20491.xyz, 0.0f).xyz;\n \t }\n \t else\n \t {\n@@ -1060,13 +1071,13 @@ PS\n \t float3 _20490 = _13791;\n \t _20490.x = _20563.x;\n \t _20490.y = _20563.y;\n-\t _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20490.xyz, 0.0f).xyz;\n+\t _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20490.xyz, 0.0f).xyz;\n \t }\n-\t _21548 = _12503;\n+\t _21548 = _12504;\n \t }\n \t if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z)))\n \t {\n-\t _12504 = _13156;\n+\t _12505 = _13156;\n \t break;\n \t }\n \t float3 _19630;\n@@ -1089,7 +1100,7 @@ PS\n \t float3 _16449 = _20482.xyz;\n \t if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z)))\n \t {\n-\t _12504 = _13156;\n+\t _12505 = _13156;\n \t break;\n \t }\n \t _19630 = _20482;\n@@ -1098,10 +1109,10 @@ PS\n \t {\n \t _19630 = _21548;\n \t }\n-\t _12504 = _13156.xyz + (max(0.0f, dot(_14786.xyz, _11179.xyz)).xxx.xyz * _19630.xyz);\n+\t _12505 = _13156.xyz + (max(0.0f, dot(_14786.xyz, _11179.xyz)).xxx.xyz * _19630.xyz);\n \t break;\n \t } while(false);\n-\t _13156 = _12504;\n+\t _13156 = _12505;\n \t _16209 = _20344;\n \t continue;\n \t }\n@@ -1712,12 +1723,12 @@ RTX\n \t vec4 _509 = vec4(g_MaterialData_1._member0[(_471 + 288u) / 4u], g_MaterialData_1._member0[(_471 + 292u) / 4u], g_MaterialData_1._member0[(_471 + 296u) / 4u], g_MaterialData_1._member0[(_471 + 300u) / 4u]);\n \t bool _508 = g_MaterialData_3._member0[(_471 + 308u) / 4u] != 0;\n \t bool _507 = g_MaterialData_3._member0[(_471 + 312u) / 4u] != 0;\n-\t uint _506 = g_MaterialData_5._member0[(_471 + 348u) / 4u];\n-\t uint _505 = g_MaterialData_5._member0[(_471 + 352u) / 4u];\n-\t uint _504 = g_MaterialData_5._member0[(_471 + 356u) / 4u];\n-\t uint _503 = g_MaterialData_5._member0[(_471 + 360u) / 4u];\n-\t uint _502 = g_MaterialData_5._member0[(_471 + 380u) / 4u];\n-\t float _501 = g_MaterialData_1._member0[(_471 + 384u) / 4u];\n+\t uint _506 = g_MaterialData_5._member0[(_471 + 352u) / 4u];\n+\t uint _505 = g_MaterialData_5._member0[(_471 + 356u) / 4u];\n+\t uint _504 = g_MaterialData_5._member0[(_471 + 360u) / 4u];\n+\t uint _503 = g_MaterialData_5._member0[(_471 + 364u) / 4u];\n+\t uint _502 = g_MaterialData_5._member0[(_471 + 384u) / 4u];\n+\t float _501 = g_MaterialData_1._member0[(_471 + 388u) / 4u];\n \t uvec3 _601;\n \t do\n \t {"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_water.slang",
"status": "modified",
"additions": 4,
"deletions": 4,
"changes": 8,
"patch": "@@ -344,7 +344,7 @@ PS\n \tTexture2D g_tSceneDepth < Attribute(\"FramebufferDepthTexture\"); SrgbRead(false); >;\n \tTexture2D g_tShadowDepthBufferDepth < Attribute(\"ShadowDepthBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tSsao < Attribute(\"SSAOOcclusionFactor\"); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat2 g_vRoughness < UiType(VectorText); Expression(max(.01,1-g_flGlossiness).x); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n@@ -392,7 +392,7 @@ PS\n \t// Specular\n \tfloat g_flReflectionPower < Default(1); Range(0.01, 10); UiType(Slider); UiGroup(\"Specular\"); >;\n \tfloat3 g_vReflectionColor < Default3(1, 1, 1); UiType(Color); UiGroup(\"Specular\"); Expression(SrgbGammaToLinear(this)); >;\n-\tfloat3 g_vReflectionDir < Default(0); Range3(-1, -1, -1, 1, 1, 1); UiType(VectorText); UiGroup(\"Specular\"); >;\n+\tfloat3 g_vReflectionDir < Default3(0, 0, 1); Range3(-1, -1, -1, 1, 1, 1); UiType(VectorText); UiGroup(\"Specular\"); >;\n \t\n \t// Refractions\n \tfloat g_flRefractionAmount < Default(1); UiType(Slider); UiGroup(\"Refractions\"); >;\n@@ -503,9 +503,9 @@ PS\n \t uint _m0[];\n \t} g_CullBits_1;\n \t\n-\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 19) uniform sampler g_sTrilinearClamp;\n \tlayout(set = 1, binding = 53) uniform texture2D g_tNormal;\n-\tlayout(set = 1, binding = 27) uniform sampler DefaultSamplerState_0;\n+\tlayout(set = 1, binding = 28) uniform sampler DefaultSamplerState_0;\n \tlayout(set = 1, binding = 55) uniform texture2D g_tSceneDepth;\n \tlayout(set = 1, binding = 14) uniform sampler AddressU_Clamp_AddressV_Clamp_Filter_MinMagMipPoint;\n \tlayout(set = 1, binding = 41) uniform textureCubeArray g_tFallbackCubemap;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_water_fancy.slang",
"status": "modified",
"additions": 116,
"deletions": 105,
"changes": 221,
"patch": "@@ -324,7 +324,7 @@ PS\n \tTexture2D g_tWaterEffectsMap < Attribute(\"WaterEffectsTexture\"); SrgbRead(false); >;\n \tTexture2D g_tWavesNormalHeight < Channel(RG, Box(TextureWavesNormal), Linear); Channel(B, Box(TextureWavesHeight), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tTexture2D g_tZerothMoment < Attribute(\"zeroth_moment\"); SrgbRead(true); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat2 g_vRoughness < UiType(VectorText); Expression(max(.01,1-g_flGlossiness).x); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \tfloat4 g_vViewportExtentsTs < Attribute(\"ViewportExtents\"); UiType(VectorText); >;\n@@ -646,18 +646,18 @@ PS\n \tlayout(set = 1, binding = 59) uniform texture2D g_tZerothMoment;\n \tlayout(set = 1, binding = 30) uniform texture2D g_tBlueNoise;\n \tlayout(set = 1, binding = 56) uniform texture2D g_tWavesNormalHeight;\n-\tlayout(set = 1, binding = 28) uniform sampler DefaultSamplerState_0;\n+\tlayout(set = 1, binding = 29) uniform sampler DefaultSamplerState_0;\n \tlayout(set = 1, binding = 55) uniform texture2D g_tFoam;\n-\tlayout(set = 1, binding = 19) uniform sampler g_sUserConfig;\n+\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfig;\n \tlayout(set = 1, binding = 53) uniform texture2D g_tDebris;\n-\tlayout(set = 1, binding = 27) uniform sampler DefaultSamplerState_0_1;\n+\tlayout(set = 1, binding = 28) uniform sampler DefaultSamplerState_0_1;\n \tlayout(set = 1, binding = 54) uniform texture2D g_tDebrisNormal;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sCookieSampler;\n-\tlayout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n \tlayout(set = 1, binding = 60) uniform texture2D g_tMoitFinal;\n@@ -863,7 +863,7 @@ PS\n \t float _21881 = _20669.z;\n \t float _12091 = _19338.z;\n \t float _13724 = _19777.x;\n-\t float _4812 = max(_12091, _21881) + (sin(_13724) * 0.125);\n+\t float _20633 = saturate(max(_12091, _21881) + (sin(_13724) * 0.125));\n \t float _16487 = saturate(_13154 * (1.0 + (_11187 * 0.480000019073486328125)));\n \t float _8031 = pow(_13151.z, 1.5);\n \t vec2 _17162 = ((((_13940 / vec2(_Globals_.g_flDebrisScale)) + ((_9431 * _Globals_.g_flDebrisWobble) * (1.0 - _7010))) + ((_5201.xy * ((1.0 + ((sin(_13151.z * 50.0) * 4.0) * saturate(0.100000001490116119384765625 - _8031))) * _8031)) * 0.100000001490116119384765625)) + ((_3085 * (0.100000001490116119384765625 + _13151.z)) * 0.0199999995529651641845703125)).xy;\n@@ -880,7 +880,7 @@ PS\n \t vec3 _8674;\n \t _8674.x = _11003.x;\n \t _8674.y = _11003.y;\n-\t float _12904 = saturate((((_16487 * _4812) * 0.25) + (saturate(_16487 - (1.0 - _4812)) * 0.75)) - _4500);\n+\t float _12904 = saturate((((_16487 * _20633) * 0.25) + (saturate(_16487 - (1.0 - _20633)) * 0.75)) - _4500);\n \t float _11140 = mix(_15224, (_11187 * 30.0) + _3542, _4500);\n \t bool _10979 = !_20058;\n \t vec3 _10932;\n@@ -949,101 +949,111 @@ PS\n \t float _3039 = (saturate((1.0 - _6806) + _19396) * saturate(1.0 - (_12904 * 4.0))) * (1.0 - _9206);\n \t vec3 _13711 = input_2.xyz + (((-_11306) * (vec3(_11140 * (-1.0)) + (((mix(_19777.xxx, vec3(_19777.xy, 0.0), vec3(0.100000001490116119384765625)) * 90.0) * pow(_3039, 2.0)) + vec3(_Globals_.g_flWaterPlaneOffset)))) * mix(1.0, _6655 * 2.0, 0.75));\n \t vec4 _23875 = vec4(_9982.xyz, 1.0);\n-\t vec3 _6606 = _13711.xyz;\n-\t float _25086;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m5.xyz, _9982.xyz);\n+\t float _24801;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m7 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13139;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12504;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m7 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m7))\n-\t {\n-\t _13139 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(_13711.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_13039];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m9[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13139;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24805 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24805) * vec2(PerViewLightingConstantBufferGpu_t._m11)) + vec2(PerViewLightingConstantBufferGpu_t._m10));\n-\t vec2 _20561 = (_24805 * PerViewLightingConstantBufferGpu_t._m15._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_13039].xy;\n-\t vec3 _20491 = _19470;\n-\t _20491.x = _20561.x;\n-\t _20491.y = _20561.y;\n-\t _13139 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20491;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m7))\n+\t {\n+\t _13139 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t vec4 _18322 = vec4(_13711.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m9[_13039])\n+\t {\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24805 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24805) * vec2(PerViewLightingConstantBufferGpu_t._m11)) + vec2(PerViewLightingConstantBufferGpu_t._m10));\n+\t vec2 _20561 = (_24805 * PerViewLightingConstantBufferGpu_t._m15._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_13039].xy;\n+\t vec3 _20491 = _19470;\n+\t _20491.x = _20561.x;\n+\t _20491.y = _20561.y;\n+\t _13139 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20491;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _7258;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);\n-\t float _12501;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13139 < 1.0)\n+\t float _7258;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m7 - 1))\n+\t float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);\n+\t float _12501;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13139 < 1.0)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19672 = vec4(_13711.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_15335];\n-\t vec2 _20562 = (_19672.xy * PerViewLightingConstantBufferGpu_t._m15._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_15335].xy;\n-\t vec3 _20492;\n-\t _20492.x = _20562.x;\n-\t _20492.y = _20562.y;\n-\t _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20492.xy, saturate(_19672.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m7 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19672 = vec4(_13711.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_15335];\n+\t vec2 _20562 = (_19672.xy * PerViewLightingConstantBufferGpu_t._m15._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_15335].xy;\n+\t vec3 _20492;\n+\t _20492.x = _20562.x;\n+\t _20492.y = _20562.y;\n+\t _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20492.xy, saturate(_19672.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12501 = mix(_7934, _18270, _13139);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = mix(_7934, _18270, _13139);\n+\t _7258 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _7258 = 1.0;\n \t }\n-\t _7258 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _7258 = 1.0;\n-\t }\n-\t float _15295 = mix(_7258, 1.0, saturate((distance(_24633.xyz, PerViewConstantBuffer_t._m5) * PerViewLightingConstantBufferGpu_t._m13) + PerViewLightingConstantBufferGpu_t._m12));\n-\t float _12503;\n-\t if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).y)\n-\t {\n-\t _12503 = min(_15295, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_21640.xy * PerViewConstantBuffer_t._m4.xy).xy, 0.0).z);\n+\t float _15295 = mix(_7258, 1.0, saturate((distance(_24633.xyz, PerViewConstantBuffer_t._m5) * PerViewLightingConstantBufferGpu_t._m13) + PerViewLightingConstantBufferGpu_t._m12));\n+\t float _12503;\n+\t if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).y)\n+\t {\n+\t _12503 = min(_15295, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_21640.xy * PerViewConstantBuffer_t._m4.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12503 = _15295;\n+\t }\n+\t _12504 = _12503;\n \t }\n \t else\n \t {\n-\t _12503 = _15295;\n+\t _12504 = 1.0;\n \t }\n-\t _25086 = _12503;\n+\t _24801 = _12504;\n \t }\n \t else\n \t {\n-\t _25086 = 1.0;\n+\t _24801 = 1.0;\n \t }\n-\t float _12256 = mix(_25086, 1.0, _3039 * 0.5);\n+\t float _15858 = mix(_24801, 1.0, _3039 * 0.5);\n \t vec3 _21709;\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m5.xyz, _9982.xyz) * _12256) > 0.0)\n+\t if ((_8634 * _15858) > 0.0)\n \t {\n-\t _21709 = PerViewLightingConstantBufferGpu_t._m1.xyz + (vec3(max(0.0, dot(_9982.xyz, PerViewLightingConstantBufferGpu_t._m5.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m6.xyz * _12256).xyz);\n+\t _21709 = PerViewLightingConstantBufferGpu_t._m1.xyz + (vec3(max(0.0, dot(_9982.xyz, PerViewLightingConstantBufferGpu_t._m5.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m6.xyz * _15858).xyz);\n \t }\n \t else\n \t {\n@@ -1084,7 +1094,7 @@ PS\n \t uint _14476 = subgroupOr(g_CullBits_1._m0[_10838 + _16208] & g_CullBits_1._m0[_23393 + _16208]);\n \t _13156 = _13155;\n \t uint _20344;\n-\t vec3 _12505;\n+\t vec3 _12506;\n \t uint _16209 = _14476;\n \t for (;;)\n \t {\n@@ -1096,6 +1106,7 @@ PS\n \t _20344 = _16209 & (_16209 - 1u);\n \t do\n \t {\n+\t vec3 _14644 = _13711.xyz;\n \t vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(_13711.xyz, 1.0);\n \t vec3 _10521 = _24893.xyz / vec3(_24893.w);\n \t vec4 _22905;\n@@ -1120,11 +1131,11 @@ PS\n \t }\n \t else\n \t {\n-\t _12886 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_6606, 1.0)).xyz), vec3(1.0)));\n+\t _12886 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_14644, 1.0)).xyz), vec3(1.0)));\n \t }\n \t if (_12886)\n \t {\n-\t _12505 = _13156;\n+\t _12506 = _13156;\n \t break;\n \t }\n \t float _23571 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;\n@@ -1156,7 +1167,7 @@ PS\n \t float _11633;\n \t if (g_BarnLights_1._m0[_12608]._m2.w != 0.0)\n \t {\n-\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _6606;\n+\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _14644;\n \t float _18345 = dot(_10017, _10017);\n \t float _17648 = sqrt(_18345);\n \t vec3 _12302 = _10017 - _16268;\n@@ -1234,7 +1245,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12504;\n+\t vec3 _12505;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -1250,7 +1261,7 @@ PS\n \t vec3 _20494 = _14081;\n \t _20494.x = _20564.x;\n \t _20494.y = _20564.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20494.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20494.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -1259,13 +1270,13 @@ PS\n \t vec3 _20493 = _13791;\n \t _20493.x = _20563.x;\n \t _20493.y = _20563.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20493.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20493.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12504;\n+\t _21548 = _12505;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n-\t _12505 = _13156;\n+\t _12506 = _13156;\n \t break;\n \t }\n \t vec3 _19630;\n@@ -1287,7 +1298,7 @@ PS\n \t vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0), g_BarnLights_1._m0[_12608]._m12);\n \t if (all(equal(_20482.xyz, vec3(0.0))))\n \t {\n-\t _12505 = _13156;\n+\t _12506 = _13156;\n \t break;\n \t }\n \t _19630 = _20482;\n@@ -1296,10 +1307,10 @@ PS\n \t {\n \t _19630 = _21548;\n \t }\n-\t _12505 = _13156.xyz + (vec3(max(0.0, dot(_9982.xyz, _11179.xyz))).xyz * _19630.xyz);\n+\t _12506 = _13156.xyz + (vec3(max(0.0, dot(_9982.xyz, _11179.xyz))).xyz * _19630.xyz);\n \t break;\n \t } while(false);\n-\t _13156 = _12505;\n+\t _13156 = _12506;\n \t _16209 = _20344;\n \t continue;\n \t }\n@@ -1340,43 +1351,43 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12510;\n+\t vec3 _12511;\n \t if (_17518 == 1.0)\n \t {\n-\t _12510 = vec3(_9493, 0.75, 0.0);\n+\t _12511 = vec3(_9493, 0.75, 0.0);\n \t }\n \t else\n \t {\n-\t vec3 _12509;\n+\t vec3 _12510;\n \t if (_17518 == 2.0)\n \t {\n-\t _12509 = vec3(0.0, 0.75, _14751);\n+\t _12510 = vec3(0.0, 0.75, _14751);\n \t }\n \t else\n \t {\n-\t vec3 _12508;\n+\t vec3 _12509;\n \t if (_17518 == 3.0)\n \t {\n-\t _12508 = vec3(0.0, _9493, 0.75);\n+\t _12509 = vec3(0.0, _9493, 0.75);\n \t }\n \t else\n \t {\n-\t vec3 _12506;\n+\t vec3 _12508;\n \t if (_17518 == 4.0)\n \t {\n-\t _12506 = vec3(_14751, 0.0, 0.75);\n+\t _12508 = vec3(_14751, 0.0, 0.75);\n \t }\n \t else\n \t {\n-\t _12506 = vec3(0.75, 0.0, _9493);\n+\t _12508 = vec3(0.75, 0.0, _9493);\n \t }\n-\t _12508 = _12506;\n+\t _12509 = _12508;\n \t }\n-\t _12509 = _12508;\n+\t _12510 = _12509;\n \t }\n-\t _12510 = _12509;\n+\t _12511 = _12510;\n \t }\n-\t _21710 = _12510;\n+\t _21710 = _12511;\n \t }\n \t _17843.x = _20158.x;\n \t _17843.y = _20158.y;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_weapon.slang",
"status": "modified",
"additions": 581,
"deletions": 355,
"changes": 936,
"patch": "@@ -76,8 +76,8 @@ struct VS_INPUT\n {\n \tfloat4 vBlendIndices : BLENDINDICES0 < Semantic( BlendIndices ); >; // D_CS_VERTEX_ANIMATION=0, S_MODE_TOOLS_VIS=1\n \tfloat4 vPerVertexLighting : COLOR1 < Semantic( PerVertexLighting ); >; // D_BAKED_LIGHTING_FROM_VERTEX_STREAM=1\n-\tuint4 nPackedFrame : NORMAL0 < Semantic( CompressedTangentFrame ); >; \n-\tfloat4 vNormalOs : NORMAL0 < Semantic( Normal ); >; \n+\tuint4 nPackedFrame : NORMAL0 < Semantic( CompressedTangentFrame ); >; // D_COMPRESSED_NORMALS_AND_TANGENTS=1\n+\tfloat4 vNormalOs : NORMAL0 < Semantic( Normal ); >; // D_COMPRESSED_NORMALS_AND_TANGENTS=0\n \tfloat3 vPositionOs : POSITION0 < Semantic( PosXyz ); >; \n \tfloat4 vTangentUOs_flTangentVSign : TANGENT0 < Semantic( TangentU_SignV ); >; \n \tfloat2 vLightmapUV : TEXCOORD3 < Semantic( LightmapUV ); >; // D_BAKED_LIGHTING_FROM_LIGHTMAP=1\n@@ -242,11 +242,12 @@ VS\n \tlayout(location = 0) out vec3 output_0;\n \tlayout(location = 1) out vec3 output_1;\n \tlayout(location = 2) out vec3 output_2;\n-\tlayout(location = 3) out vec4 output_3;\n-\tlayout(location = 4) centroid out vec4 output_4;\n-\tlayout(location = 5) centroid out vec3 output_5;\n-\tlayout(location = 6) out vec4 output_6;\n-\tlayout(location = 7) flat out uint output_7;\n+\tlayout(location = 3) out vec3 output_3;\n+\tlayout(location = 4) out vec4 output_4;\n+\tlayout(location = 5) centroid out vec4 output_5;\n+\tlayout(location = 6) centroid out vec3 output_6;\n+\tlayout(location = 7) out vec4 output_7;\n+\tlayout(location = 8) flat out uint output_8;\n \t\n \tvoid main()\n \t{\n@@ -357,13 +358,14 @@ VS\n \t vec4 _10630 = _22186;\n \t _10630.z = _22186.z + _Globals_.g_flZBias;\n \t output_0 = vPositionOs;\n-\t output_1 = _10020.xyz - PerViewConstantBufferCsgo_t._m0.xyz;\n-\t output_2 = _11179;\n-\t output_3 = vec4(_13593.xy + (_Globals_.g_vTexCoordScrollSpeed.xy * PerViewConstantBuffer_t._m1), vTexCoord2);\n-\t output_4 = _23714;\n-\t output_5 = _11179;\n-\t output_6 = vec4(normalize(vec4(vTangentUOs_flTangentVSign.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0), vTangentUOs_flTangentVSign.w);\n-\t output_7 = g_instanceBuffer_1._m0[nInstanceIdx]._m5 & 65535u;\n+\t output_1 = vNormalOs;\n+\t output_2 = _10020.xyz - PerViewConstantBufferCsgo_t._m0.xyz;\n+\t output_3 = _11179;\n+\t output_4 = vec4(_13593.xy + (_Globals_.g_vTexCoordScrollSpeed.xy * PerViewConstantBuffer_t._m1), vTexCoord2);\n+\t output_5 = _23714;\n+\t output_6 = _11179;\n+\t output_7 = vec4(normalize(vec4(vTangentUOs_flTangentVSign.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0), vTangentUOs_flTangentVSign.w);\n+\t output_8 = g_instanceBuffer_1._m0[nInstanceIdx]._m5 & 65535u;\n \t _10630.y = -_22186.y;\n \t gl_Position = _10630;\n \t}\n@@ -497,7 +499,9 @@ PS\n \tTexture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >;\n \tfloat3 g_vAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.045,.4,1.15).x,-1.4427*log(max(.0001,1-float3(-.045,.4,1.15).y)),2-float3(-.045,.4,1.15).z)); >;\n \tfloat3 g_vDarkMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.1,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.1,.4,1.08).y)),2-float3(-.1,.4,1.08).z)); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat4 g_vFrostHeatPosOsAndAmount < Attribute(\"FrostHeatPosOsAndAmount\"); UiType(VectorText); >;\n+\tfloat4 g_vFrostState < Attribute(\"FrostState\"); UiType(VectorText); >;\n \tfloat3 g_vHoloAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.05,.35,1.15).x,-1.4427*log(max(.0001,1-float3(-.05,.35,1.15).y)),2-float3(-.05,.35,1.15).z)); >;\n \tfloat4 g_vInvTextureDim < Source(InvTextureDim); SourceArg(g_tBGRefract) UiType(VectorText); >;\n \tfloat4 g_vKeychainGhostHandData < Attribute(\"KeychainGhostHandData\"); UiType(VectorText); >;\n@@ -700,7 +704,7 @@ PS\n \tfloat g_flIridescentStrength < Default(0.75); UiType(Slider); UiGroup(\"Lighting/SFX/Iridescence\"); UiVisibility(F_IRIDESCENCE==1); >;\n \tfloat g_flPearlescentScale < Range(-120, 120); UiType(Slider); UiGroup(\"Lighting/SFX/Perlescence/10\"); UiVisibility(F_IRIDESCENCE==1); >;\n \tfloat g_flMetalnessTransitionBias < Default(2); Range(0.001, 3); UiType(Slider); UiGroup(\"Lighting,30/Metalness,50/10\"); >;\n-\tfloat2 g_vMetalnessRemapRange < Default(0); UiType(VectorText); UiGroup(\"Lighting,30/Metalness,40/10\"); >;\n+\tfloat2 g_vMetalnessRemapRange < Default2(0, 1); UiType(VectorText); UiGroup(\"Lighting,30/Metalness,40/10\"); >;\n \tCreateInputTexture2D(TextureMetalness1, Linear, 8, \"\", \"_metal\", \"Lighting,30/Metalness,30/11\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureRoughness1, Linear, 8, \"Inverse\", \"_rough\", \"Lighting,30/Roughness,20/11\", Default4(0.5, 0.5, 0.5, 0));\n \tfloat g_fTextureRoughnessContrast < Default(1); Range(0, 4); UiType(Slider); UiGroup(\"Lighting/Roughness/11\"); >;\n@@ -755,7 +759,7 @@ PS\n \tTexture2D g_tMetalness < Channel(R, BoxInverse(TextureRoughness1), Linear); Channel(G, Box(TextureMetalness1), Linear); Channel(B, Box(TextureSfxMask1), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \t\n \t// SPIR-V reflection failed for backend HLSL:\n-\t// cbuffer ID 5618 (name: _Globals_), member index 26 (name: g_cInvulnerabilityColor) cannot be expressed with either HLSL packing layout or packoffset.\n+\t// cbuffer ID 5618 (name: _Globals_), member index 21 (name: g_vFrostState) cannot be expressed with either HLSL packing layout or packoffset.\n \t//\n \t// Re-attempting reflection with the GLSL backend.\n \t\n@@ -775,16 +779,16 @@ PS\n \t#define SPIRV_CROSS_UNROLL\n \t#define SPIRV_CROSS_LOOP\n \t#endif\n-\t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t#extension GL_EXT_samplerless_texture_functions : require\n+\t#extension GL_KHR_shader_subgroup_arithmetic : require\n \tlayout(early_fragment_tests) in;\n \t\n-\tstruct _1373\n+\tstruct _953\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _992\n+\tstruct _2184\n \t{\n \t vec4 _m0[4];\n \t};\n@@ -801,12 +805,12 @@ PS\n \t vec4 _m7;\n \t};\n \t\n-\tstruct _920\n+\tstruct _576\n \t{\n \t _1753 _m0[128];\n \t};\n \t\n-\tstruct _1056\n+\tstruct _743\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -842,7 +846,7 @@ PS\n \tvec4 _4;\n \tvec3 _5;\n \t\n-\tstruct _856\n+\tstruct _1975\n \t{\n \t float g_flFogModificationAmount;\n \t uint g_tColor;\n@@ -865,6 +869,8 @@ PS\n \t float g_flMetalnessTransitionBias;\n \t float g_flRainExposureToSkyWetness;\n \t float g_flRainExposureLocalTimer;\n+\t vec4 g_vFrostState;\n+\t vec4 g_vFrostHeatPosOsAndAmount;\n \t int bIridescence;\n \t float g_flIridescentScale;\n \t float g_flIridescentStrength;\n@@ -875,9 +881,9 @@ PS\n \t float g_flPearlescentScale;\n \t};\n \t\n-\tlayout(set = 1) uniform _856 _Globals_;\n+\tlayout(set = 1) uniform _1975 _Globals_;\n \t\n-\tstruct _2595\n+\tstruct _254\n \t{\n \t ivec4 _m0;\n \t ivec4 _m1;\n@@ -891,52 +897,55 @@ PS\n \t uint _m9;\n \t uint _m10;\n \t uint _m11;\n-\t float _m12;\n+\t uint _m12;\n \t float _m13;\n-\t ivec2 _m14;\n-\t mat4 _m15;\n-\t vec2 _m16;\n-\t float _m17;\n-\t vec4 _m18;\n+\t float _m14;\n+\t ivec2 _m15;\n+\t mat4 _m16;\n+\t vec2 _m17;\n+\t float _m18;\n \t vec4 _m19;\n \t vec4 _m20;\n \t vec4 _m21;\n \t vec4 _m22;\n \t vec4 _m23;\n-\t mat4 _m24;\n-\t vec4 _m25;\n+\t vec4 _m24;\n+\t mat4 _m25;\n \t vec4 _m26;\n \t vec4 _m27;\n-\t float _m28;\n+\t vec4 _m28;\n \t float _m29;\n-\t vec4 _m30;\n+\t float _m30;\n+\t float _m31;\n+\t vec4 _m32;\n \t};\n \t\n-\tlayout(set = 1) uniform _2595 PerViewConstantBufferCsgo_t;\n+\tlayout(set = 1) uniform _254 PerViewConstantBufferCsgo_t;\n \t\n-\tstruct _1616\n+\tstruct _1732\n \t{\n \t float _m0;\n-\t vec2 _m1;\n+\t float _m1;\n \t vec2 _m2;\n-\t vec4 _m3;\n-\t float _m4;\n-\t vec4 _m5;\n-\t vec3 _m6;\n+\t vec2 _m3;\n+\t vec4 _m4;\n+\t float _m5;\n+\t vec4 _m6;\n \t vec3 _m7;\n+\t vec3 _m8;\n \t};\n \t\n-\tlayout(set = 1) uniform _1616 PerViewConstantBuffer_t;\n+\tlayout(set = 1) uniform _1732 PerViewConstantBuffer_t;\n \t\n-\tstruct _790\n+\tstruct _2375\n \t{\n \t vec4 _m0;\n \t vec4 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n \t vec4 _m4;\n-\t _1373 _m5;\n-\t _992 _m6;\n+\t _953 _m5;\n+\t _2184 _m6;\n \t vec4 _m7;\n \t vec4 _m8;\n \t vec4 _m9;\n@@ -945,7 +954,7 @@ PS\n \t uvec4 _m12;\n \t vec4 _m13;\n \t vec4 _m14;\n-\t _920 _m15;\n+\t _576 _m15;\n \t vec4 _m16;\n \t vec4 _m17;\n \t int _m18;\n@@ -955,13 +964,13 @@ PS\n \t float _m22;\n \t float _m23;\n \t float _m24;\n-\t _1056 _m25;\n-\t _992 _m26;\n+\t _743 _m25;\n+\t _2184 _m26;\n \t uint _m27;\n \t uint _m28;\n \t};\n \t\n-\tlayout(set = 3) uniform _790 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _2375 PerViewLightingConstantBufferGpu_t;\n \t\n \tlayout(set = 3, binding = 30, std430) readonly buffer g_CullBits\n \t{\n@@ -984,17 +993,30 @@ PS\n \tlayout(location = 0) in vec3 input_0;\n \tlayout(location = 1) in vec3 input_1;\n \tlayout(location = 2) in vec3 input_2;\n-\tlayout(location = 3) in vec4 input_3;\n-\tlayout(location = 4) centroid in vec4 input_4;\n-\tlayout(location = 5) centroid in vec3 input_5;\n-\tlayout(location = 6) in vec4 input_6;\n+\tlayout(location = 3) in vec3 input_3;\n+\tlayout(location = 4) in vec4 input_4;\n+\tlayout(location = 5) centroid in vec4 input_5;\n+\tlayout(location = 6) centroid in vec3 input_6;\n+\tlayout(location = 7) in vec4 input_7;\n \tlayout(location = 0) out vec4 output_0;\n \t\n \tvoid main()\n \t{\n \t vec4 _11408 = gl_FragCoord;\n \t _11408.w = 1.0 / _11408.w;\n-\t float _12497 = _Globals_.g_flRainExposureToSkyWetness * PerViewConstantBufferCsgo_t._m13;\n+\t float _11313;\n+\t if (PerViewConstantBufferCsgo_t._m31 > 1.9900000095367431640625)\n+\t {\n+\t _11313 = step(0.5, fract(PerViewConstantBuffer_t._m0 * 0.5));\n+\t }\n+\t else\n+\t {\n+\t _11313 = (PerViewConstantBufferCsgo_t._m31 > 0.9900000095367431640625) ? 0.0 : 1.0;\n+\t }\n+\t float _23147 = _Globals_.g_vFrostState.x * _11313;\n+\t float _21267 = _Globals_.g_vFrostState.y * _11313;\n+\t float _13654 = _Globals_.g_vFrostState.z * _11313;\n+\t float _12497 = _Globals_.g_flRainExposureToSkyWetness * PerViewConstantBufferCsgo_t._m14;\n \t bool _15436 = _12497 > 0.0;\n \t float _13136;\n \t vec2 _13998;\n@@ -1003,10 +1025,10 @@ PS\n \t vec4 _23261;\n \t if (_15436)\n \t {\n-\t vec3 _10413 = input_1 + PerViewConstantBufferCsgo_t._m27.xyz;\n-\t vec2 _18197 = input_3.xy * 2.5;\n+\t vec3 _10413 = input_2 + PerViewConstantBufferCsgo_t._m28.xyz;\n+\t vec2 _18197 = input_4.xy * 2.5;\n \t vec2 _20826;\n-\t if ((length(cross(vec3(dFdx(input_3.xy), 0.0), vec3(dFdy(input_3.xy), 0.0))) / max(9.9999997473787516355514526367188e-05, length(cross(dFdx(_10413), dFdy(_10413))))) < 0.00200000009499490261077880859375)\n+\t if ((length(cross(vec3(dFdx(input_4.xy), 0.0), vec3(dFdy(input_4.xy), 0.0))) / max(9.9999997473787516355514526367188e-05, length(cross(dFdx(_10413), dFdy(_10413))))) < 0.00200000009499490261077880859375)\n \t {\n \t _20826 = _18197 * 3.0;\n \t }\n@@ -1019,8 +1041,8 @@ PS\n \t _8562.y = -_8562.y;\n \t float _7729 = _20877.w;\n \t float _12471 = _20877.z + (input_0.x * 0.00999999977648258209228515625);\n-\t float _10538 = saturate((((_12497 * 0.25) - fract(_12471 + (((_Globals_.g_flRainExposureLocalTimer * 0.100000001490116119384765625) * PerViewConstantBufferCsgo_t._m12) * PerViewConstantBufferCsgo_t._m12))) * 5.0) / (PerViewConstantBufferCsgo_t._m13 + 0.001000000047497451305389404296875)) * saturate((input_2.z + 0.75) * 4.0);\n-\t vec2 _13861 = input_3.xy + (((_8562.xy * (-0.0199999995529651641845703125)) * _10538) * _7729);\n+\t float _10538 = saturate((((_12497 * 0.25) - fract(_12471 + (((_Globals_.g_flRainExposureLocalTimer * 0.100000001490116119384765625) * PerViewConstantBufferCsgo_t._m13) * PerViewConstantBufferCsgo_t._m13))) * 5.0) / (PerViewConstantBufferCsgo_t._m14 + 0.001000000047497451305389404296875)) * saturate((input_3.z + 0.75) * 4.0);\n+\t vec2 _13861 = input_4.xy + (((_8562.xy * (-0.0199999995529651641845703125)) * _10538) * _7729);\n \t vec4 _20488;\n \t _20488.x = _13861.x;\n \t _20488.y = _13861.y;\n@@ -1036,16 +1058,16 @@ PS\n \t _16305 = 0.0;\n \t _17114 = 0.0;\n \t _13998 = vec2(0.0);\n-\t _23261 = input_3;\n+\t _23261 = input_4;\n \t }\n \t vec3 _21709;\n-\t if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375)\n+\t if (dot(input_3.xyz, input_3.xyz) >= 1.0099999904632568359375)\n \t {\n-\t _21709 = input_5.xyz;\n+\t _21709 = input_6.xyz;\n \t }\n \t else\n \t {\n-\t _21709 = input_2.xyz;\n+\t _21709 = input_3.xyz;\n \t }\n \t bool _14874 = _Globals_.g_bRenderBackfaceNormals != 0;\n \t bool _12885;\n@@ -1068,9 +1090,9 @@ PS\n \t _10251 = _21709;\n \t }\n \t vec3 _24347 = normalize(_10251);\n-\t vec3 _10061 = input_1 + PerViewConstantBufferCsgo_t._m27.xyz;\n+\t vec3 _10061 = input_2 + PerViewConstantBufferCsgo_t._m28.xyz;\n \t vec4 _19680 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColor], g_bindless_Sampler[_Globals_.g_sUserConfigAllowGlobalMipBias]), _23261.xy);\n-\t vec3 _21103 = _19680.xyz * input_4.xyz;\n+\t vec3 _21103 = _19680.xyz * input_5.xyz;\n \t vec4 _19068 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tAmbientOcclusion], g_bindless_Sampler[_Globals_.g_sUserConfig]), vec2(_23261.xy).xy);\n \t float _17476 = _19068.x;\n \t vec4 _21760 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tMetalness], g_bindless_Sampler[_Globals_.g_sUserConfig]), _23261.xy);\n@@ -1102,9 +1124,9 @@ PS\n \t {\n \t _24327 = false;\n \t }\n-\t vec3 _12631 = input_2.xyz * (_24327 ? (-1.0) : 1.0);\n-\t float _23240 = (input_6.w > 0.0) ? 1.0 : (-1.0);\n-\t vec3 _14435 = cross(_12631.xyz, input_6.xyz) * _23240;\n+\t vec3 _12631 = input_3.xyz * (_24327 ? (-1.0) : 1.0);\n+\t float _23240 = (input_7.w > 0.0) ? 1.0 : (-1.0);\n+\t vec3 _14435 = cross(_12631.xyz, input_7.xyz) * _23240;\n \t bvec4 _24464 = notEqual(PerViewConstantBufferCsgo_t._m3, ivec4(0));\n \t bool _20058 = _24464.w;\n \t vec3 _7424;\n@@ -1127,7 +1149,7 @@ PS\n \t {\n \t _20480 = _8418;\n \t }\n-\t vec3 _7054 = normalize((((input_6.xyz * _20480.x).xyz + (_7424.xyz * _20480.y)).xyz + (_12631.xyz * _20480.z)).xyz);\n+\t vec3 _7054 = normalize((((input_7.xyz * _20480.x).xyz + (_7424.xyz * _20480.y)).xyz + (_12631.xyz * _20480.z)).xyz);\n \t vec3 _6616;\n \t vec3 _13137;\n \t float _13694;\n@@ -1143,7 +1165,7 @@ PS\n \t float _22907 = _18483 * _16305;\n \t _13137 = mix(_21103, pow(_21103, vec3(1.60000002384185791015625)) * 0.60000002384185791015625, vec3(_23650));\n \t _16306 = mix(_13746.xy, vec2(0.100000001490116119384765625), vec2(_17476 * saturate(((_22907 * 4.0) + ((((cos((_17114 + (_Globals_.g_flRainExposureLocalTimer * 0.20000000298023223876953125)) * 6.28318500518798828125) * 0.5) + 0.5) * _20709) * 0.20000000298023223876953125)) + (_12497 * 0.4000000059604644775390625))));\n-\t _17115 = mix(normalize(mix(_24347, _7054, vec3(1.0 + (_23650 * 1.5)))), normalize((((input_6.xyz * _13998.x).xyz + (_7424.xyz * _13998.y)).xyz + (_24347.xyz * _8927)).xyz), vec3(_18483));\n+\t _17115 = mix(normalize(mix(_24347, _7054, vec3(1.0 + (_23650 * 1.5)))), normalize((((input_7.xyz * _13998.x).xyz + (_7424.xyz * _13998.y)).xyz + (_24347.xyz * _8927)).xyz), vec3(_18483));\n \t _13694 = saturate(_22907 * 2.0);\n \t _6616 = mix(_20480, vec3(_13998.xy, _8927) * vec3(-1.0, -1.0, 1.0), vec3(_18483 * 0.25));\n \t }\n@@ -1159,7 +1181,7 @@ PS\n \t SPIRV_CROSS_BRANCH\n \t if (_Globals_.g_flPearlescentScale != 0.0)\n \t {\n-\t float _21433 = (_Globals_.g_flPearlescentScale * (1.0 - dot(normalize(PerViewConstantBuffer_t._m6.xyz - _10061.xyz), _7054))) * _24590;\n+\t float _21433 = (_Globals_.g_flPearlescentScale * (1.0 - dot(normalize(PerViewConstantBuffer_t._m7.xyz - _10061.xyz), _7054))) * _24590;\n \t float _15271 = cos(_21433);\n \t float _12935;\n \t do\n@@ -1199,8 +1221,8 @@ PS\n \t {\n \t _24328 = false;\n \t }\n-\t vec3 _9739 = input_2.xyz * (_24328 ? (-1.0) : 1.0);\n-\t vec3 _24682 = cross(_9739.xyz, input_6.xyz) * _23240;\n+\t vec3 _9739 = input_3.xyz * (_24328 ? (-1.0) : 1.0);\n+\t vec3 _24682 = cross(_9739.xyz, input_7.xyz) * _23240;\n \t vec3 _7425;\n \t if (_20058)\n \t {\n@@ -1221,13 +1243,15 @@ PS\n \t {\n \t _20481 = _7866;\n \t }\n-\t vec3 _14786 = normalize((((input_6.xyz * _20481.x).xyz + (_7425.xyz * _20481.y)).xyz + (_9739.xyz * _20481.z)).xyz);\n+\t vec3 _14786 = normalize((((input_7.xyz * _20481.x).xyz + (_7425.xyz * _20481.y)).xyz + (_9739.xyz * _20481.z)).xyz);\n+\t float _18787 = 1.0 - _20079;\n+\t vec3 _8219 = _20195.xyz * pow(_18787, _Globals_.g_flMetalnessTransitionBias);\n \t vec3 _17328 = mix(vec3(0.0199999995529651641845703125), _20195.xyz, vec3(_20079));\n-\t vec3 _22671;\n+\t vec3 _12904;\n \t SPIRV_CROSS_BRANCH\n \t if (_Globals_.bIridescence != 0)\n \t {\n-\t vec3 _24006 = normalize(PerViewConstantBuffer_t._m6.xyz - _10061.xyz);\n+\t vec3 _24006 = normalize(PerViewConstantBuffer_t._m7.xyz - _10061.xyz);\n \t float _22128 = fract(((dot(_24006, _24347) + dot(_24006, PerViewLightingConstantBufferGpu_t._m16.xyz)) * _Globals_.g_flIridescentScale) + _Globals_.g_flIridescentHueShift) * 6.0;\n \t float _17518 = floor(_22128);\n \t float _18832 = _22128 - _17518;\n@@ -1280,37 +1304,212 @@ PS\n \t vec4 _22046 = vec4(_17328.xyz, 1.0);\n \t float _24323 = dot(_22046.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125));\n \t vec3 _9577 = normalize(max(_19648.xyz, vec3(0.001000000047497451305389404296875)));\n-\t _22671 = saturate(mix(_22046.xyz, (_9577 * min(_24323 / dot(_9577.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)), (3.0 * _24323) * max(_19648.x, max(_19648.y, _19648.z)))).xyz, vec3(_Globals_.g_flIridescentStrength * _24590)));\n+\t _12904 = saturate(mix(_22046.xyz, (_9577 * min(_24323 / dot(_9577.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)), (3.0 * _24323) * max(_19648.x, max(_19648.y, _19648.z)))).xyz, vec3(_Globals_.g_flIridescentStrength * _24590)));\n \t }\n \t else\n \t {\n-\t _22671 = _17328;\n+\t _12904 = _17328;\n \t }\n-\t vec3 _17892 = mix(_17115, _14786, bvec3(all(equal(_17115, vec3(1.0)))));\n+\t vec3 _9737;\n+\t float _7578;\n+\t float _13141;\n+\t vec3 _15879;\n+\t vec3 _16308;\n+\t vec3 _17116;\n+\t vec3 _17117;\n+\t vec2 _17118;\n+\t do\n+\t {\n+\t _9737 = _10061.xyz;\n+\t vec3 _18130 = dFdx(_9737);\n+\t vec3 _7243 = dFdy(_9737);\n+\t vec2 _8396 = dFdx(_23261.xy);\n+\t vec2 _9068 = dFdy(_23261.xy);\n+\t bool _12888;\n+\t if (_23147 <= 0.0)\n+\t {\n+\t _12888 = _13654 <= 0.0;\n+\t }\n+\t else\n+\t {\n+\t _12888 = false;\n+\t }\n+\t SPIRV_CROSS_BRANCH\n+\t if (_12888)\n+\t {\n+\t _13141 = 0.0;\n+\t _16308 = _8219;\n+\t _17116 = _12904;\n+\t _17117 = _14786;\n+\t _17118 = _16306;\n+\t _15879 = _17115;\n+\t _7578 = 0.0;\n+\t break;\n+\t }\n+\t vec3 _13995 = -normalize(_10061.xyz - PerViewConstantBuffer_t._m7.xyz);\n+\t float _19347 = saturate(max((_16306.y - 0.75) * 4.0, 0.0));\n+\t float _12353 = sqrt(abs((_8396.x * _9068.y) - (_8396.y * _9068.x)) / max(length(cross(_18130, _7243)), 9.9999999392252902907785028219223e-09));\n+\t float _12407 = exp2(round(log2(0.25 / max(_12353, 9.9999999747524270787835121154785e-07))));\n+\t float _21040 = _12407 * 0.125;\n+\t vec4 _13138 = textureGrad(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m12], g_bindless_Sampler[_Globals_.g_sAniso]), (_23261.xy * _21040) + vec2(0.37000000476837158203125), _8396 * _21040, _9068 * _21040);\n+\t float _19245 = _13138.z;\n+\t float _13139;\n+\t float _13151;\n+\t float _23341;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_23147 < _21267)\n+\t {\n+\t float _6204 = saturate((_19245 * 0.699999988079071044921875) + (_18787 * 0.300000011920928955078125));\n+\t float _9730 = saturate((saturate(1.0 - (_23147 / max(_21267, 9.9999997473787516355514526367188e-05))) - (_6204 * 0.60000002384185791015625)) * 2.5000002384185791015625);\n+\t float _10372 = _21267 * (1.0 - _9730);\n+\t _13139 = (1.0 - saturate(((1.0 - saturate(_13654 / max(_21267 - _23147, 0.001000000047497451305389404296875))) - (saturate(_6204 + (_19347 * 0.4000000059604644775390625)) * 0.60000002384185791015625)) * 2.5000002384185791015625)) * (_21267 - _10372);\n+\t _13151 = saturate(_9730 * 3.0);\n+\t _23341 = _10372;\n+\t }\n+\t else\n+\t {\n+\t _13139 = _13654;\n+\t _13151 = _Globals_.g_vFrostState.w;\n+\t _23341 = _23147;\n+\t }\n+\t float _23381;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_Globals_.g_vFrostHeatPosOsAndAmount.w > 0.0)\n+\t {\n+\t _23381 = (_Globals_.g_vFrostHeatPosOsAndAmount.w * (1.0 - smoothstep(0.0, 20.0 * mix(0.25, 1.0, _Globals_.g_vFrostHeatPosOsAndAmount.w), distance(input_0.xyz, _Globals_.g_vFrostHeatPosOsAndAmount.xyz)))) * mix(0.5, 1.0, _20079);\n+\t }\n+\t else\n+\t {\n+\t _23381 = 0.0;\n+\t }\n+\t bool _12889;\n+\t if (_23381 > 0.0)\n+\t {\n+\t _12889 = _21267 > 0.0;\n+\t }\n+\t else\n+\t {\n+\t _12889 = false;\n+\t }\n+\t float _11921;\n+\t float _13140;\n+\t float _19857;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_12889)\n+\t {\n+\t float _13023 = saturate(_23381 * 20.0);\n+\t float _20747 = min(_23341, _21267 * (1.0 - _13023));\n+\t _13140 = max(_13151, saturate(_13023 * 3.0));\n+\t _11921 = max(_13139, _21267 - _20747) * (1.0 - smoothstep(0.20000000298023223876953125, 0.4000000059604644775390625, _23381));\n+\t _19857 = _20747;\n+\t }\n+\t else\n+\t {\n+\t _13140 = _13151;\n+\t _11921 = _13139;\n+\t _19857 = _23341;\n+\t }\n+\t float _17489 = saturate(1.0 - (_19857 / max(_21267, 9.9999997473787516355514526367188e-05)));\n+\t float _8688 = saturate(_11921 / max(_21267 - _19857, 0.001000000047497451305389404296875));\n+\t float _23533 = _12407 * exp2((-0.25) + ((_17489 * mix(0.60000002384185791015625, 1.0, 1.0 - _8688)) * 3.0));\n+\t vec3 _12420 = _24347.xyz;\n+\t vec4 _12684 = textureGrad(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m12], g_bindless_Sampler[_Globals_.g_sAniso]), ((_23261.xy + ((vec2(dot(_13995, input_7.xyz), dot(_13995, _7425.xyz)) / vec2(max(dot(_13995, _12420), 0.25))) * ((-0.00999999977648258209228515625) * _12353))) * _12407) * mat2(vec2(0.798635542392730712890625, -0.6018149852752685546875), vec2(0.6018149852752685546875, 0.798635542392730712890625)), (_8396 * _23533) * mat2(vec2(0.798635542392730712890625, -0.6018149852752685546875), vec2(0.6018149852752685546875, 0.798635542392730712890625)), (_9068 * _23533) * mat2(vec2(0.798635542392730712890625, -0.6018149852752685546875), vec2(0.6018149852752685546875, 0.798635542392730712890625)));\n+\t vec2 _12795 = mat2(vec2(0.798635542392730712890625, -0.6018149852752685546875), vec2(0.6018149852752685546875, 0.798635542392730712890625)) * ((_12684.xy * 2.0) - vec2(1.0));\n+\t vec3 _22529 = _14786.xyz;\n+\t float _22007 = saturate(length(_22529 - _12420));\n+\t float _10634 = saturate(((mix(1.0, _22007, 0.4000000059604644775390625) * pow(_17476, 16.0)) * mix(1.0, saturate(normalize(input_1.xyz).z), 0.20000000298023223876953125)) + 0.199999988079071044921875);\n+\t float _23701 = (_17476 * _17476) * (1.0 - _22007);\n+\t float _12211 = mix(saturate(mix(_10634, _10634 * _12684.z, 0.60000002384185791015625) + ((_19245 - 0.5) * 0.300000011920928955078125)), saturate((_10634 * mix(1.0, _19245, 0.20000000298023223876953125)) * mix(0.699999988079071044921875, 1.0, _23701)), _19347) - 1.0;\n+\t float _18331 = _12211 + (_19857 * 0.4600000083446502685546875);\n+\t float _7308 = saturate(_18331 * mix(8.0, 2.5, _19347));\n+\t float _23574 = _12211 + (_21267 * 0.4600000083446502685546875);\n+\t float _12274 = mix(_7308, max(_7308, saturate(_23574 * 2.5)), _19347);\n+\t float _19452 = saturate(_18331 * 2.5);\n+\t float _16589;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_11921 > 0.0)\n+\t {\n+\t _16589 = saturate(saturate(_23574 * 4.0) - saturate(_18331 * 4.0));\n+\t }\n+\t else\n+\t {\n+\t _16589 = 0.0;\n+\t }\n+\t uvec2 _10892 = uvec2(textureSize(g_bindless_Texture2D_float4[_Globals_.g_tColor], int(0u)));\n+\t vec2 _19999 = vec2(ivec2(int(_10892.x), int(_10892.y)));\n+\t float _11189 = log2(max(max(length(_8396 * _19999), length(_9068 * _19999)), 9.9999999747524270787835121154785e-07));\n+\t float _19321 = dot(textureLod(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColor], g_bindless_Sampler[_Globals_.g_sAniso]), _23261.xy, max(log2(max(_19999.x, _19999.y) * 0.015625), _11189 + 2.0)).xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125));\n+\t float _6721 = (mix(0.800000011920928955078125, 1.0, _20079) * 0.5) + (1.7999999523162841796875 * saturate((abs(_19321 - dot(textureLod(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColor], g_bindless_Sampler[_Globals_.g_sAniso]), _23261.xy, _11189).xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))) / max(_19321, 0.001000000047497451305389404296875)) * 2.0));\n+\t float _20622 = 1.0 - _19347;\n+\t float _14198 = _12274 * _6721;\n+\t float _25171 = smoothstep(0.0, 0.100000001490116119384765625, _17489);\n+\t float _17785 = ((max(_16589, _14198 * _13140) * _8688) * _6721) * _25171;\n+\t vec2 _14970 = mix(_16306.xy, vec2(0.07999999821186065673828125), vec2(_17785 * (1.0 - (_19347 * 0.60000002384185791015625))));\n+\t vec3 _8752;\n+\t vec2 _13945;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_17785 > 0.0)\n+\t {\n+\t vec3 _11314;\n+\t if (all(equal(_17115, vec3(1.0))))\n+\t {\n+\t _11314 = _22529;\n+\t }\n+\t else\n+\t {\n+\t _11314 = _17115.xyz;\n+\t }\n+\t float _19765 = ((saturate(((_12684.z - 1.0) + _8688) * 6.0) * _17785) * _20622) * _25171;\n+\t vec3 _15199 = normalize(vec3(_12795 * 2.5, 1.0));\n+\t _8752 = normalize(mix(normalize(mix(_11314, _12420, vec3((_17785 * 0.5) * _20622))), normalize((((input_7.xyz * _15199.x).xyz + (_7425.xyz * _15199.y)).xyz + (_24347.xyz * _15199.z)).xyz), vec3(_19765)));\n+\t _13945 = mix(_14970.xy, vec2(0.0500000007450580596923828125), vec2(_19765));\n+\t }\n+\t else\n+\t {\n+\t _8752 = _17115;\n+\t _13945 = _14970;\n+\t }\n+\t float _13876 = saturate((((((_12274 * mix(mix(0.0199999995529651641845703125, 0.0, _19347), 1.0, max(_19452 * _19452, mix(saturate(length(_12795) * 3.0), _12684.w, _19347)))) * mix(0.300000011920928955078125, 2.7000000476837158203125 * mix(0.5, 1.0, _23701), _19347)) * (0.75 + pow(1.0 - saturate(dot(_22529, _13995)), 3.0))) * mix(1.0, saturate(((_12684.w * 0.5) + 0.5) - _17489), _19347)) * _6721) * mix(1.0, 0.3499999940395355224609375, _13140 * _20622));\n+\t float _14683 = _13876 * mix(0.00999999977648258209228515625, 0.0500000007450580596923828125, _19347);\n+\t vec3 _15522 = dFdxFine(_9737);\n+\t vec3 _20236 = cross(dFdyFine(_9737), _22529);\n+\t float _23342 = dot(_15522, _20236);\n+\t vec3 _24600 = normalize((_22529 * abs(_23342)) - (((_20236 * dFdxFine(_14683)) + (cross(_22529, _15522) * dFdyFine(_14683))) * float(int(sign(_23342)))));\n+\t vec3 _10798 = normalize(vec3(_12795, 1.0));\n+\t float _10451 = max(0.0, (_13876 * _19452) * 0.5);\n+\t _13141 = (_10451 > 0.0) ? (-0.20000000298023223876953125) : 0.0;\n+\t _16308 = mix((_8219.xyz * mix(1.0, mix(0.800000011920928955078125, 0.550000011920928955078125, _19347), _17785)).xyz, vec3(0.800000011920928955078125, 0.86000001430511474609375, 0.920000016689300537109375), vec3(_13876));\n+\t _17116 = mix(_12904.xyz, vec3(0.0199999995529651641845703125), vec3(_13876 * 0.60000002384185791015625));\n+\t _17117 = normalize(mix(_24600.xyz, normalize((((input_7.xyz * _10798.x).xyz + (_7425.xyz * _10798.y)).xyz + (_24600.xyz * _10798.z)).xyz), vec3(_14198 * (1.0 - (_19347 * 0.89999997615814208984375)))));\n+\t _17118 = mix(_13945.xy, vec2(mix(0.4000000059604644775390625, 0.119999997317790985107421875, _13140)), vec2(_14198 * mix(0.5, 1.0, _19452)));\n+\t _15879 = _8752;\n+\t _7578 = _10451;\n+\t break;\n+\t } while(false);\n+\t vec3 _17892 = mix(_15879, _17117, bvec3(all(equal(_15879, vec3(1.0)))));\n \t vec3 _10560 = _24347.xyz;\n \t vec3 _11099 = dFdx(_10560);\n \t vec3 _9175 = dFdy(_10560);\n \t vec3 _10347 = _11099.xyz;\n-\t vec3 _12420 = _9175.xyz;\n-\t vec2 _11004 = max(_16306.xy, vec2(pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125)));\n+\t vec3 _12422 = _9175.xyz;\n+\t vec2 _11004 = max(_17118.xy, vec2(pow(saturate(max(dot(_10347, _10347), dot(_12422, _12422))), 0.333000004291534423828125)));\n \t vec3 _10170 = -_24347;\n-\t vec3 _24735 = _14786.xyz;\n-\t vec4 _23875 = vec4(_24735, 1.0);\n+\t vec4 _23875 = vec4(_17117.xyz, 1.0);\n \t vec3 _18708 = vec3(dot(PerViewLightingConstantBufferGpu_t._m5._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m5._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m5._m0[2].xyzw, _23875));\n \t bvec4 _24465 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0));\n \t float _21710;\n \t if (_24465.x)\n \t {\n \t vec3 _11394 = _24347.xyz;\n-\t vec2 _11087 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t._m17) * PerViewConstantBufferCsgo_t._m16.xy) + (PerViewConstantBufferCsgo_t._m16.xy * 0.5)).xy;\n+\t vec2 _11087 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t._m18) * PerViewConstantBufferCsgo_t._m17.xy) + (PerViewConstantBufferCsgo_t._m17.xy * 0.5)).xy;\n \t vec4 _18418 = textureGather(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m8], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _11087).xyzw - _11408.zzzz;\n \t float _18579 = _18418.w;\n \t float _12013 = _18418.z;\n \t bool _12285 = abs(_12013) < _18579;\n \t vec2 _23168;\n \t if (_12285)\n \t {\n-\t _23168 = vec2(PerViewConstantBufferCsgo_t._m16.x, 0.0);\n+\t _23168 = vec2(PerViewConstantBufferCsgo_t._m17.x, 0.0);\n \t }\n \t else\n \t {\n@@ -1322,15 +1521,15 @@ PS\n \t vec2 _23169;\n \t if (_12286)\n \t {\n-\t _23169 = vec2(0.0, PerViewConstantBufferCsgo_t._m16.y);\n+\t _23169 = vec2(0.0, PerViewConstantBufferCsgo_t._m17.y);\n \t }\n \t else\n \t {\n \t _23169 = _23168;\n \t }\n \t vec4 _10010 = normalize(vec4(PerViewLightingConstantBufferGpu_t._m7.x * fma(dot(_10170, normalize(vec3(PerViewLightingConstantBufferGpu_t._m6._m0[0].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m7.y * fma(dot(_10170, normalize(vec3(PerViewLightingConstantBufferGpu_t._m6._m0[1].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m7.z * fma(dot(_10170, normalize(vec3(PerViewLightingConstantBufferGpu_t._m6._m0[2].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m7.w * fma(dot(_10170, normalize(vec3(PerViewLightingConstantBufferGpu_t._m6._m0[3].xy, 0.25))), 0.5, 0.5)));\n \t vec4 _13232 = max(vec4(dot(PerViewLightingConstantBufferGpu_t._m6._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m6._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m6._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m6._m0[3].xyz, _11394)).xyzw, vec4(0.0)) * normalize(saturate(((_10010 - vec4(max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)))) + vec4(0.20000000298023223876953125)) * vec4(5.0)));\n-\t _21710 = (1.0 / (dot(_13232, vec4(1.0)) + PerViewLightingConstantBufferGpu_t._m8.x)) * (PerViewLightingConstantBufferGpu_t._m8.x + dot(_13232, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m7], g_bindless_Sampler[_Globals_.g_sPointClamp]), (_11087 + mix(_23169, PerViewConstantBufferCsgo_t._m16.xy, bvec2(abs(_18418.y) < (_12286 ? _15372 : _20965))).xy).xy, 0.0)));\n+\t _21710 = (1.0 / (dot(_13232, vec4(1.0)) + PerViewLightingConstantBufferGpu_t._m8.x)) * (PerViewLightingConstantBufferGpu_t._m8.x + dot(_13232, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m7], g_bindless_Sampler[_Globals_.g_sPointClamp]), (_11087 + mix(_23169, PerViewConstantBufferCsgo_t._m17.xy, bvec2(abs(_18418.y) < (_12286 ? _15372 : _20965))).xy).xy, 0.0)));\n \t }\n \t else\n \t {\n@@ -1339,187 +1538,198 @@ PS\n \t float _21711;\n \t if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).w)\n \t {\n-\t _21711 = _21710 * textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m9], g_bindless_Sampler[_Globals_.g_sUserConfig]), (_11408.xy * PerViewConstantBuffer_t._m3.xy).xy, 0.0).x;\n+\t _21711 = _21710 * textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m9], g_bindless_Sampler[_Globals_.g_sUserConfig]), (_11408.xy * PerViewConstantBuffer_t._m4.xy).xy, 0.0).x;\n \t }\n \t else\n \t {\n \t _21711 = _21710;\n \t }\n-\t float _21712;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _17117.xyz);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n+\t if (_8634 > _13141)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13138;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12508;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n-\t {\n-\t _13138 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n+\t int _23989;\n+\t int _10191;\n+\t float _13142;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n-\t vec3 _20489 = _19470;\n-\t _20489.x = _20561.x;\n-\t _20489.y = _20561.y;\n-\t _13138 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20489;\n-\t _10191 = _13039;\n-\t break;\n-\t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n-\t {\n-\t vec2 _7045;\n-\t vec2 _7046;\n-\t vec2 _7735;\n-\t float _8969;\n-\t float _8970;\n-\t float _15996;\n-\t float _17299;\n-\t vec2 _18870;\n-\t vec4 _20581;\n-\t vec4 _24370;\n-\t uint _24711;\n-\t float _23727;\n-\t do\n-\t {\n-\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n-\t _24370 = PerViewLightingConstantBufferGpu_t._m1;\n-\t _24711 = _Globals_.g_tShadowDepthBufferCmpSampler;\n-\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n-\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n-\t _18870 = vec2(_17299, _15996);\n-\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n-\t _7045 = vec2(_8969, _15996);\n-\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n-\t _7046 = vec2(_17299, _8970);\n-\t _7735 = vec2(_8969, _8970);\n-\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n-\t bool _12888;\n-\t if (_15310 == 0.0)\n-\t {\n-\t _12888 = true;\n-\t }\n-\t else\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n \t {\n-\t _12888 = _15310 == 1.0;\n+\t _13142 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n \t }\n-\t if (_12888)\n+\t vec4 _18322 = vec4(input_2.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n \t {\n-\t _23727 = _15310;\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n+\t vec3 _20489 = _19470;\n+\t _20489.x = _20561.x;\n+\t _20489.y = _20561.y;\n+\t _13142 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20489;\n+\t _10191 = _13039;\n \t break;\n \t }\n-\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _24370.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3(_14975.xy, _21452), 0.0) * _24370.y);\n-\t break;\n-\t } while(false);\n-\t float _12506;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13138 < 1.0)\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n+\t }\n+\t float _21712;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t vec2 _7045;\n+\t vec2 _7046;\n+\t vec2 _7735;\n+\t float _8969;\n+\t float _8970;\n+\t float _15996;\n+\t float _17299;\n+\t vec2 _18870;\n+\t vec4 _20581;\n+\t vec4 _24369;\n+\t uint _24711;\n+\t float _23727;\n+\t do\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n-\t vec3 _20490;\n-\t _20490.x = _20562.x;\n-\t _20490.y = _20562.y;\n-\t float _12505;\n-\t do\n+\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n+\t _24369 = PerViewLightingConstantBufferGpu_t._m1;\n+\t _24711 = _Globals_.g_tShadowDepthBufferCmpSampler;\n+\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n+\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n+\t _18870 = vec2(_17299, _15996);\n+\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n+\t _7045 = vec2(_8969, _15996);\n+\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n+\t _7046 = vec2(_17299, _8970);\n+\t _7735 = vec2(_8969, _8970);\n+\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n+\t bool _12890;\n+\t if (_15310 == 0.0)\n \t {\n-\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n-\t bool _12889;\n-\t if (_15311 == 0.0)\n-\t {\n-\t _12889 = true;\n-\t }\n-\t else\n-\t {\n-\t _12889 = _15311 == 1.0;\n-\t }\n-\t if (_12889)\n+\t _12890 = true;\n+\t }\n+\t else\n+\t {\n+\t _12890 = _15310 == 1.0;\n+\t }\n+\t if (_12890)\n+\t {\n+\t _23727 = _15310;\n+\t break;\n+\t }\n+\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _24369.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3(_14975.xy, _21452), 0.0) * _24369.y);\n+\t break;\n+\t } while(false);\n+\t float _12506;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13142 < 1.0)\n+\t {\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_2.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n+\t vec3 _20490;\n+\t _20490.x = _20562.x;\n+\t _20490.y = _20562.y;\n+\t float _12505;\n+\t do\n \t {\n-\t _12505 = _15311;\n+\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n+\t bool _12891;\n+\t if (_15311 == 0.0)\n+\t {\n+\t _12891 = true;\n+\t }\n+\t else\n+\t {\n+\t _12891 = _15311 == 1.0;\n+\t }\n+\t if (_12891)\n+\t {\n+\t _12505 = _15311;\n+\t break;\n+\t }\n+\t _12505 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _24369.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3(_20490.xy, _20322), 0.0) * _24369.y);\n \t break;\n-\t }\n-\t _12505 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _24370.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3(_20490.xy, _20322), 0.0) * _24370.y);\n-\t break;\n-\t } while(false);\n-\t _7934 = _12505;\n+\t } while(false);\n+\t _7934 = _12505;\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12506 = mix(_7934, _23727, _13142);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12506 = _23727;\n \t }\n-\t _12506 = mix(_7934, _23727, _13138);\n+\t _21712 = _12506;\n \t }\n \t else\n \t {\n-\t _12506 = _23727;\n+\t _21712 = 1.0;\n \t }\n-\t _19363 = _12506;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0;\n-\t }\n-\t float _13279 = mix(_19363, 1.0, saturate((distance(_10061.xyz, PerViewConstantBuffer_t._m6) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n-\t float _12507;\n-\t if (_24465.y)\n-\t {\n-\t _12507 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m10], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m3.xy).xy, 0.0).z);\n+\t float _13279 = mix(_21712, 1.0, saturate((distance(_9737, PerViewConstantBuffer_t._m7) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n+\t float _12507;\n+\t if (_24465.y)\n+\t {\n+\t _12507 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m10], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m4.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12507 = _13279;\n+\t }\n+\t _12508 = _12507;\n \t }\n \t else\n \t {\n-\t _12507 = _13279;\n+\t _12508 = 1.0;\n \t }\n-\t _21712 = _12507;\n+\t _12320 = _12508;\n \t }\n \t else\n \t {\n-\t _21712 = 1.0;\n+\t _12320 = 1.0;\n \t }\n \t vec3 _9716;\n \t vec3 _24878;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21712) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n-\t vec3 _15460 = mix(_17892, _24735, bvec3(all(equal(_17892, vec3(1.0)))));\n-\t float _13811 = max(0.0, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz));\n+\t vec3 _15460 = mix(_17892, _17117.xyz, bvec3(all(equal(_17892, vec3(1.0)))));\n+\t float _13811 = max(0.0, dot(_17117.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz));\n \t vec3 _17874 = vec3(_13811);\n \t vec3 _18223;\n \t if (_13694 > 0.0)\n \t {\n \t float _8780 = dot(_15460, PerViewLightingConstantBufferGpu_t._m16.xyz);\n \t float _8124 = saturate(_13694);\n-\t _18223 = mix(_17874.xyz, vec3((((0.5 + (_13811 * 0.5)) + pow(1.0 - saturate(_8780), 4.0)) * saturate((_8780 + 0.20000000298023223876953125) * 4.0)) * saturate(mix(dot(mix(_24735, _15460, vec3(10.0)), PerViewLightingConstantBufferGpu_t._m16.xyz), 1.0, _8124))), vec3(_8124));\n+\t _18223 = mix(_17874.xyz, vec3((((0.5 + (_13811 * 0.5)) + pow(1.0 - saturate(_8780), 4.0)) * saturate((_8780 + 0.20000000298023223876953125) * 4.0)) * saturate(mix(dot(mix(_17117.xyz, _15460, vec3(10.0)), PerViewLightingConstantBufferGpu_t._m16.xyz), 1.0, _8124))), vec3(_8124));\n \t }\n \t else\n \t {\n \t _18223 = _17874;\n \t }\n \t vec2 _17301 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));\n-\t vec3 _21889 = (-normalize(_10061.xyz - PerViewConstantBuffer_t._m6.xyz)).xyz;\n+\t vec3 _21889 = (-normalize(_10061.xyz - PerViewConstantBuffer_t._m7.xyz)).xyz;\n \t vec3 _12281 = normalize(PerViewLightingConstantBufferGpu_t._m16.xyz + _21889).xyz;\n \t vec3 _19012 = _15460.xyz;\n \t float _12386 = dot(_12281, _19012);\n@@ -1529,9 +1739,9 @@ PS\n \t float _16150 = _9850 + 1.0;\n \t float _6835 = (_16150 * _16150) * 0.125;\n \t float _19569 = 1.0 - _6835;\n-\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21712).xyz;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz;\n \t _9716 = PerViewLightingConstantBufferGpu_t._m9.xyz + (_18223.xyz * _16808);\n-\t _24878 = (((_22671.xyz + ((vec3(1.0) - _22671.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_13811 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _13811).xyz * _16808;\n+\t _24878 = (((_17116.xyz + ((vec3(1.0) - _17116.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_13811 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _13811).xyz * _16808;\n \t }\n \t else\n \t {\n@@ -1540,32 +1750,32 @@ PS\n \t }\n \t bvec4 _24467 = notEqual(PerViewConstantBufferCsgo_t._m2, ivec4(0));\n \t bool _20061 = _24467.x;\n-\t vec4 _19364;\n+\t vec4 _19363;\n \t if (_20061)\n \t {\n-\t vec4 _18621 = vec4(_10061.xyz, 1.0).xyzw * PerViewConstantBufferCsgo_t._m15;\n+\t vec4 _18621 = vec4(_9737, 1.0).xyzw * PerViewConstantBufferCsgo_t._m16;\n \t float _20176 = _18621.w;\n \t vec2 _11414 = _18621.xy / vec2(_20176);\n \t vec4 _6651;\n-\t _6651.x = clamp(((_11414.x + 1.0) * PerViewConstantBuffer_t._m2.x) * 0.5, 0.0, PerViewConstantBuffer_t._m2.x - 1.0);\n-\t _6651.y = clamp(((1.0 - _11414.y) * PerViewConstantBuffer_t._m2.y) * 0.5, 0.0, PerViewConstantBuffer_t._m2.y - 1.0);\n+\t _6651.x = clamp(((_11414.x + 1.0) * PerViewConstantBuffer_t._m3.x) * 0.5, 0.0, PerViewConstantBuffer_t._m3.x - 1.0);\n+\t _6651.y = clamp(((1.0 - _11414.y) * PerViewConstantBuffer_t._m3.y) * 0.5, 0.0, PerViewConstantBuffer_t._m3.y - 1.0);\n \t _6651.w = _20176;\n-\t _19364 = _6651;\n+\t _19363 = _6651;\n \t }\n \t else\n \t {\n-\t _19364 = _11408;\n+\t _19363 = _11408;\n \t }\n \t uvec2 _7663 = uvec2(PerViewLightingConstantBufferGpu_t._m12.x);\n-\t uvec2 _12083 = uvec2(_19364.xy - PerViewConstantBuffer_t._m1.xy) >> _7663;\n+\t uvec2 _12083 = uvec2(_19363.xy - PerViewConstantBuffer_t._m2.xy) >> _7663;\n \t uint _10838 = PerViewLightingConstantBufferGpu_t._m10.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m12.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m10.z);\n-\t uint _23393 = PerViewLightingConstantBufferGpu_t._m10.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m10.z);\n-\t vec3 _13139;\n+\t uint _23393 = PerViewLightingConstantBufferGpu_t._m10.x + (uint(clamp(_19363.w * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m10.z);\n+\t vec3 _13143;\n \t vec3 _16324;\n-\t _13139 = _9716;\n+\t _13143 = _9716;\n \t _16324 = _24878;\n \t uint _21567;\n-\t vec3 _13140;\n+\t vec3 _13144;\n \t vec3 _16325;\n \t uint _17017 = 0u;\n \t for (;;)\n@@ -1575,8 +1785,8 @@ PS\n \t break;\n \t }\n \t uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _17017] & g_CullBits_1._m0[_23393 + _17017]);\n-\t _13140 = _16324;\n-\t _16325 = _13139;\n+\t _13144 = _16324;\n+\t _16325 = _13143;\n \t uint _20344;\n \t vec3 _13212;\n \t vec3 _15670;\n@@ -1591,7 +1801,7 @@ PS\n \t _20344 = _17018 & (_17018 - 1u);\n \t do\n \t {\n-\t vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(input_1.xyz, 1.0);\n+\t vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(input_2.xyz, 1.0);\n \t vec3 _10521 = _24893.xyz / vec3(_24893.w);\n \t vec4 _22905;\n \t _22905.x = _10521.x;\n@@ -1608,18 +1818,18 @@ PS\n \t {\n \t _7426 = false;\n \t }\n-\t bool _12890;\n+\t bool _12892;\n \t if (!_7426)\n \t {\n-\t _12890 = true;\n+\t _12892 = true;\n \t }\n \t else\n \t {\n-\t _12890 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(input_1.xyz, 1.0)).xyz), vec3(1.0)));\n+\t _12892 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(input_2.xyz, 1.0)).xyz), vec3(1.0)));\n \t }\n-\t if (_12890)\n+\t if (_12892)\n \t {\n-\t _13212 = _13140;\n+\t _13212 = _13144;\n \t _15670 = _16325;\n \t break;\n \t }\n@@ -1652,7 +1862,7 @@ PS\n \t float _11633;\n \t if (g_BarnLights_1._m0[_12608]._m2.w != 0.0)\n \t {\n-\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - input_1.xyz;\n+\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - input_2.xyz;\n \t float _18345 = dot(_10017, _10017);\n \t float _17647 = sqrt(_18345);\n \t vec3 _20958 = _10017 - _16268;\n@@ -1730,7 +1940,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12508;\n+\t vec3 _12509;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -1746,7 +1956,7 @@ PS\n \t vec3 _20492 = _14081;\n \t _20492.x = _20564.x;\n \t _20492.y = _20564.y;\n-\t _12508 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m28], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20492.xyz, 0.0).xyz;\n+\t _12509 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m28], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20492.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -1755,13 +1965,13 @@ PS\n \t vec3 _20491 = _13791;\n \t _20491.x = _20563.x;\n \t _20491.y = _20563.y;\n-\t _12508 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m28], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20491.xyz, 0.0).xyz;\n+\t _12509 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m28], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20491.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12508;\n+\t _21548 = _12509;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n-\t _13212 = _13140;\n+\t _13212 = _13144;\n \t _15670 = _16325;\n \t break;\n \t }\n@@ -1772,10 +1982,10 @@ PS\n \t if ((g_BarnLights_1._m0[_12608]._m13 & 4u) != 0u)\n \t {\n \t vec2 _6281 = _22905.yx * vec2(1.0, -1.0);\n-\t vec3 _23714 = _21642;\n-\t _23714.x = _6281.x;\n-\t _23714.y = _6281.y;\n-\t _19629 = _23714;\n+\t vec3 _23715 = _21642;\n+\t _23715.x = _6281.x;\n+\t _23715.y = _6281.y;\n+\t _19629 = _23715;\n \t }\n \t else\n \t {\n@@ -1784,30 +1994,30 @@ PS\n \t float _24972;\n \t do\n \t {\n-\t float _21462 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t float _21464 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);\n \t vec2 _10393 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n-\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21462), 0.0)).xyzw, vec4(0.25));\n-\t bool _12891;\n+\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21464), 0.0)).xyzw, vec4(0.25));\n+\t bool _12893;\n \t if (_15312 == 0.0)\n \t {\n-\t _12891 = true;\n+\t _12893 = true;\n \t }\n \t else\n \t {\n-\t _12891 = _15312 == 1.0;\n+\t _12893 = _15312 == 1.0;\n \t }\n-\t if (_12891)\n+\t if (_12893)\n \t {\n \t _24972 = _15312;\n \t break;\n \t }\n-\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21462), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_10393, _21462), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n+\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21464), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_10393, _21464), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n \t break;\n \t } while(false);\n \t vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);\n \t if (all(equal(_19878.xyz, vec3(0.0))))\n \t {\n-\t _13212 = _13140;\n+\t _13212 = _13144;\n \t _15670 = _16325;\n \t break;\n \t }\n@@ -1817,22 +2027,22 @@ PS\n \t {\n \t _21549 = _21548;\n \t }\n-\t vec3 _15462 = mix(_17892, _24735, bvec3(all(equal(_17892, vec3(1.0)))));\n-\t float _13812 = max(0.0, dot(_14786.xyz, _11179.xyz));\n+\t vec3 _15462 = mix(_17892, _17117.xyz, bvec3(all(equal(_17892, vec3(1.0)))));\n+\t float _13812 = max(0.0, dot(_17117.xyz, _11179.xyz));\n \t vec3 _17875 = vec3(_13812);\n \t vec3 _18224;\n \t if (_13694 > 0.0)\n \t {\n \t float _8781 = dot(_15462, _11179.xyz);\n \t float _8125 = saturate(_13694);\n-\t _18224 = mix(_17875.xyz, vec3((((0.5 + (_13812 * 0.5)) + pow(1.0 - saturate(_8781), 4.0)) * saturate((_8781 + 0.20000000298023223876953125) * 4.0)) * saturate(mix(dot(mix(_24735, _15462, vec3(10.0)), _11179.xyz), 1.0, _8125))), vec3(_8125));\n+\t _18224 = mix(_17875.xyz, vec3((((0.5 + (_13812 * 0.5)) + pow(1.0 - saturate(_8781), 4.0)) * saturate((_8781 + 0.20000000298023223876953125) * 4.0)) * saturate(mix(dot(mix(_17117.xyz, _15462, vec3(10.0)), _11179.xyz), 1.0, _8125))), vec3(_8125));\n \t }\n \t else\n \t {\n \t _18224 = _17875;\n \t }\n \t vec2 _17302 = max(_11004, vec2(g_BarnLights_1._m0[_12608]._m11));\n-\t vec3 _21890 = (-normalize(_10061.xyz - PerViewConstantBuffer_t._m6.xyz)).xyz;\n+\t vec3 _21890 = (-normalize(_10061.xyz - PerViewConstantBuffer_t._m7.xyz)).xyz;\n \t vec3 _12282 = normalize(_11179.xyz + _21890).xyz;\n \t vec3 _19014 = _15462.xyz;\n \t float _12387 = dot(_12282, _19014);\n@@ -1842,190 +2052,206 @@ PS\n \t float _16151 = _9851 + 1.0;\n \t float _6836 = (_16151 * _16151) * 0.125;\n \t float _19571 = 1.0 - _6836;\n-\t _13212 = _13140.xyz + ((((_22671.xyz + ((vec3(1.0) - _22671.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(_11179.xyz, _12282))), 5.0))) * ((_24199 * _24199) / ((4.0 * ((_13812 * _19571) + _6836)) * ((max(0.0, dot(_19014, _21890)) * _19571) + _6836)))).xyz * _13812).xyz * _21549.xyz);\n+\t _13212 = _13144.xyz + ((((_17116.xyz + ((vec3(1.0) - _17116.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(_11179.xyz, _12282))), 5.0))) * ((_24199 * _24199) / ((4.0 * ((_13812 * _19571) + _6836)) * ((max(0.0, dot(_19014, _21890)) * _19571) + _6836)))).xyz * _13812).xyz * _21549.xyz);\n \t _15670 = _16325.xyz + (_18224.xyz * _21549.xyz);\n \t break;\n \t } while(false);\n-\t _13140 = _13212;\n+\t _13144 = _13212;\n \t _16325 = _15670;\n \t _17018 = _20344;\n \t continue;\n \t }\n \t _21567 = _17017 + 1u;\n-\t _13139 = _16325;\n-\t _16324 = _13140;\n+\t _13143 = _16325;\n+\t _16324 = _13144;\n \t _17017 = _21567;\n \t continue;\n \t }\n-\t vec3 _10145 = normalize(_10061.xyz - PerViewConstantBuffer_t._m6.xyz);\n+\t vec3 _10145 = normalize(_10061.xyz - PerViewConstantBuffer_t._m7.xyz);\n \t vec3 _19257 = -_10145;\n \t float _17138 = _11004.x + _11004.y;\n \t float _19582 = _17138 * _17138;\n \t float _17751 = dot(_11004.xy, vec2(0.5));\n \t vec3 _6520 = _17892.xyz;\n \t vec3 _19081 = _17892.xyz;\n-\t float _12853 = PerViewLightingConstantBufferGpu_t._m14.y * sqrt(_17751);\n-\t vec3 _11901 = _10061.xyz;\n+\t float _12587 = PerViewLightingConstantBufferGpu_t._m14.y * sqrt(_17751);\n \t vec3 _11008;\n \t vec4 _14444;\n-\t if (PerViewConstantBufferCsgo_t._m29 != 0.0)\n+\t if (PerViewConstantBufferCsgo_t._m30 != 0.0)\n \t {\n-\t float _9642 = dot(vec4(((_11901 + PerViewConstantBuffer_t._m5.xyz) + ((-PerViewConstantBuffer_t._m7) * PerViewConstantBufferCsgo_t._m29)).xyz, 1.0), vec4(PerViewConstantBuffer_t._m7.xyz, dot((PerViewConstantBuffer_t._m5.xyz + PerViewConstantBuffer_t._m6.xyz).xyz + (PerViewConstantBuffer_t._m7.xyz * PerViewConstantBuffer_t._m4), PerViewConstantBuffer_t._m7.xyz)));\n+\t float _9642 = dot(vec4(((_9737 + PerViewConstantBuffer_t._m6.xyz) + ((-PerViewConstantBuffer_t._m8) * PerViewConstantBufferCsgo_t._m30)).xyz, 1.0), vec4(PerViewConstantBuffer_t._m8.xyz, dot((PerViewConstantBuffer_t._m6.xyz + PerViewConstantBuffer_t._m7.xyz).xyz + (PerViewConstantBuffer_t._m8.xyz * PerViewConstantBuffer_t._m5), PerViewConstantBuffer_t._m8.xyz)));\n \t vec3 _21713;\n \t if (_9642 <= 0.0)\n \t {\n \t _21713 = _10061;\n \t }\n \t else\n \t {\n-\t _21713 = _11901 + ((-PerViewConstantBuffer_t._m7.xyz) * _9642);\n+\t _21713 = _9737 + ((-PerViewConstantBuffer_t._m8.xyz) * _9642);\n \t }\n-\t vec4 _19975 = vec4(_21713.xyz, 1.0) * PerViewConstantBufferCsgo_t._m15;\n+\t vec4 _19975 = vec4(_21713.xyz, 1.0) * PerViewConstantBufferCsgo_t._m16;\n \t float _20177 = _19975.w;\n \t vec2 _11415 = _19975.xy / vec2(_20177);\n \t vec4 _6652;\n-\t _6652.x = clamp(((_11415.x + 1.0) * PerViewConstantBuffer_t._m2.x) * 0.5, 0.0, PerViewConstantBuffer_t._m2.x - 1.0);\n-\t _6652.y = clamp(((1.0 - _11415.y) * PerViewConstantBuffer_t._m2.y) * 0.5, 0.0, PerViewConstantBuffer_t._m2.y - 1.0);\n+\t _6652.x = clamp(((_11415.x + 1.0) * PerViewConstantBuffer_t._m3.x) * 0.5, 0.0, PerViewConstantBuffer_t._m3.x - 1.0);\n+\t _6652.y = clamp(((1.0 - _11415.y) * PerViewConstantBuffer_t._m3.y) * 0.5, 0.0, PerViewConstantBuffer_t._m3.y - 1.0);\n \t _6652.w = _20177;\n \t _11008 = _21713;\n \t _14444 = _6652;\n \t }\n \t else\n \t {\n-\t _11008 = _11901;\n+\t _11008 = _9737;\n \t _14444 = _11408.xyzw;\n \t }\n \t float _22047 = _17751 * _17751;\n \t float _20711 = saturate(1.0 - _22047);\n \t vec3 _25271 = normalize(mix(_6520, reflect(_10145.xyz, _19081).xyz, vec3(_20711 * (sqrt(_20711) + _22047))));\n-\t uvec2 _6815 = uvec2(_14444.xy - PerViewConstantBuffer_t._m1.xy) >> _7663;\n+\t uvec2 _6815 = uvec2(_14444.xy - PerViewConstantBuffer_t._m2.xy) >> _7663;\n \t uint _12130 = PerViewLightingConstantBufferGpu_t._m11.y + (((_6815.y * PerViewLightingConstantBufferGpu_t._m12.y) + _6815.x) * PerViewLightingConstantBufferGpu_t._m11.z);\n \t uint _23394 = PerViewLightingConstantBufferGpu_t._m11.x + (uint(clamp(_14444.w * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m11.z);\n-\t vec4 _13141;\n-\t float _16308;\n-\t vec3 _17116;\n-\t _13141 = vec4(0.0);\n-\t _16308 = 0.00999999977648258209228515625;\n-\t _17116 = vec3(0.0);\n+\t vec4 _13145;\n+\t float _16309;\n+\t vec3 _17119;\n+\t _13145 = vec4(0.0);\n+\t _16309 = 0.00999999977648258209228515625;\n+\t _17119 = vec3(0.0);\n \t uint _8896;\n-\t vec4 _13144;\n+\t vec4 _13148;\n \t vec3 _14891;\n-\t float _16310;\n+\t float _16311;\n \t bool _18360;\n \t uint _17020 = 0u;\n \t bool _17133 = false;\n \t for (;;)\n \t {\n-\t bool _12892;\n+\t bool _12894;\n \t if (_17020 < PerViewLightingConstantBufferGpu_t._m11.z)\n \t {\n-\t _12892 = !_17133;\n+\t _12894 = !_17133;\n \t }\n \t else\n \t {\n-\t _12892 = false;\n+\t _12894 = false;\n \t }\n-\t if (!_12892)\n+\t if (!_12894)\n \t {\n \t break;\n \t }\n \t uint _14476 = subgroupOr(g_CullBits_1._m0[_12130 + _17020] & g_CullBits_1._m0[_23394 + _17020]);\n-\t vec3 _13142;\n-\t vec4 _16309;\n-\t _13142 = _17116;\n-\t _16309 = _13141;\n+\t vec3 _13146;\n+\t vec4 _16310;\n+\t _13146 = _17119;\n+\t _16310 = _13145;\n \t uint _10156;\n-\t vec3 _13143;\n+\t vec3 _13147;\n \t vec4 _16381;\n \t float _16479;\n \t uint _17021 = _14476;\n-\t float _17134 = _16308;\n+\t float _17134 = _16309;\n \t for (;;)\n \t {\n \t if (!(_17021 != 0u))\n \t {\n-\t _13144 = _16309;\n-\t _16310 = _17134;\n-\t _14891 = _13142;\n+\t _13148 = _16310;\n+\t _16311 = _17134;\n+\t _14891 = _13146;\n \t _18360 = _17133;\n \t break;\n \t }\n \t uint _18154 = uint(findLSB(_17021));\n \t int _12609 = int(_18154 + (_17020 * 32u));\n \t _10156 = _17021 & (_17021 - 1u);\n-\t vec3 _7748 = (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m0 * vec4(_11008.xyz, 1.0)).xyz;\n-\t vec3 _8793 = saturate((_7748 - PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1) * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m5.xyz);\n-\t vec3 _19651 = saturate((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m3 - _7748) * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m5.xyz);\n+\t vec3 _7750 = (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m0 * vec4(_11008.xyz, 1.0)).xyz;\n+\t vec3 _8793 = saturate((_7750 - PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1) * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m5.xyz);\n+\t vec3 _19651 = saturate((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m3 - _7750) * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m5.xyz);\n \t float _17265 = min(min(_8793.x, min(_8793.y, _8793.z)), min(_19651.x, min(_19651.y, _19651.z)));\n \t if (_17265 == 0.0)\n \t {\n-\t _13143 = _13142;\n-\t _16381 = _16309;\n+\t _13147 = _13146;\n+\t _16381 = _16310;\n \t _16479 = _17134;\n-\t _13142 = _13143;\n-\t _16309 = _16381;\n+\t _13146 = _13147;\n+\t _16310 = _16381;\n \t _17134 = _16479;\n \t _17021 = _10156;\n \t continue;\n \t }\n \t vec3 _19630;\n-\t if (PerViewConstantBufferCsgo_t._m28 != 0.0)\n+\t if (PerViewConstantBufferCsgo_t._m29 != 0.0)\n \t {\n \t vec3 _19779 = PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1 + ((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m3 - PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1) * 0.5);\n-\t _19630 = ((_7748 - _19779) * PerViewConstantBufferCsgo_t._m28) + _19779;\n+\t _19630 = ((_7750 - _19779) * PerViewConstantBufferCsgo_t._m29) + _19779;\n \t }\n \t else\n \t {\n-\t _19630 = _7748;\n+\t _19630 = _7750;\n \t }\n \t vec3 _7648 = (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m0 * vec4(_25271.xyz, 0.0)).xyz;\n \t vec3 _11253 = max(((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m3.xyz - _19630.xyz) / _7648).xyz, ((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1.xyz - _19630.xyz) / _7648).xyz);\n \t float _11076 = ((_17265 * _17265) * (((-2.0) * _17265) + 3.0)) * (1.0 - _17134);\n \t float _13713 = _17134 + _11076;\n-\t vec3 _15431 = _13142 + ((textureLod(samplerCubeArray(g_bindless_TextureCubeArray[PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m4], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), vec4(mix(_19630.xyz + (_7648 * abs(min(_11253.x, min(_11253.y, _11253.z)))), _7648, vec3(_17751)).xyz, float(PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m2)), _12853).xyz * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m6) * _11076);\n-\t vec4 _7460 = _16309 + (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m7 * _11076);\n+\t vec3 _15431 = _13146 + ((textureLod(samplerCubeArray(g_bindless_TextureCubeArray[PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m4], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), vec4(mix(_19630.xyz + (_7648 * abs(min(_11253.x, min(_11253.y, _11253.z)))), _7648, vec3(_17751)).xyz, float(PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m2)), _12587).xyz * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m6) * _11076);\n+\t vec4 _7460 = _16310 + (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m7 * _11076);\n \t if (_13713 > 0.9900000095367431640625)\n \t {\n-\t _13144 = _7460;\n-\t _16310 = _13713;\n+\t _13148 = _7460;\n+\t _16311 = _13713;\n \t _14891 = _15431;\n \t _18360 = true;\n \t break;\n \t }\n-\t _13143 = _15431;\n+\t _13147 = _15431;\n \t _16381 = _7460;\n \t _16479 = _13713;\n-\t _13142 = _13143;\n-\t _16309 = _16381;\n+\t _13146 = _13147;\n+\t _16310 = _16381;\n \t _17134 = _16479;\n \t _17021 = _10156;\n \t continue;\n \t }\n \t _8896 = _17020 + 1u;\n-\t _13141 = _13144;\n-\t _16308 = _16310;\n-\t _17116 = _14891;\n+\t _13145 = _13148;\n+\t _16309 = _16311;\n+\t _17119 = _14891;\n \t _17133 = _18360;\n \t _17020 = _8896;\n \t continue;\n \t }\n \t vec4 _11487 = textureLod(sampler2DArray(g_bindless_Texture2DArray_float4[PerViewConstantBufferCsgo_t._m5], g_bindless_Sampler[_Globals_.g_sBilinearClamp]), vec3((vec2(_17751, sqrt(1.0 - max(0.0, dot(_19257.xyz, _6520)))) * 0.984375) + vec2(0.0078125), 1.0).xyz, 0.0);\n-\t vec3 _7300 = mix(_11487.xxx, _11487.yyy, _22671);\n+\t vec3 _7300 = mix(_11487.xxx, _11487.yyy, _17116);\n \t float _21809 = 1.0 - _11487.y;\n-\t vec3 _15517 = _22671 + ((vec3(1.0) - _22671) * vec3(0.0476190485060214996337890625));\n+\t vec3 _15517 = _17116 + ((vec3(1.0) - _17116) * vec3(0.0476190485060214996337890625));\n \t vec3 _23208 = ((_7300 * _15517) / (vec3(1.0) - (_15517 * _21809))) * _21809;\n \t vec3 _13436 = vec3(_21711 * _17476).xyz;\n-\t vec3 _22686 = (_13139.xyz + ((_18708 * (vec3(1.0) - (_7300 + _23208))).xyz * _13436).xyz) * (_20195.xyz * pow(1.0 - _20079, _Globals_.g_flMetalnessTransitionBias)).xyz;\n-\t vec4 _11205 = vec4(_22686, input_4.w);\n-\t _11205.x = _22686.x;\n+\t vec3 _22437 = (_18708 * (vec3(1.0) - (_7300 + _23208))).xyz * _13436;\n+\t vec3 _9982;\n+\t vec3 _22798;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_7578 > 0.0)\n+\t {\n+\t float _17864 = saturate(_8634);\n+\t float _10543 = saturate((_8634 + 0.20000000298023223876953125) * 0.833333313465118408203125) * 0.833333313465118408203125;\n+\t _9982 = mix(_22437, mix(pow(_22437, vec3(1.39999997615814208984375, 0.60000002384185791015625, 0.449999988079071044921875)), _22437, vec3(saturate(_17476 * 0.75))), vec3(_7578));\n+\t _22798 = _13143 + ((PerViewLightingConstantBufferGpu_t._m17.xyz * (_12320 * _7578)) * (((vec3(min(_10543, _17864)) + (vec3(0.5, 0.75, 1.0) * max(_10543 - _17864, 0.0))) * mix(1.0, (0.63999998569488525390625 * pow(1.36000001430511474609375 + (1.2000000476837158203125 * dot(_19257, PerViewLightingConstantBufferGpu_t._m16.xyz)), -1.5)) * (1.32679998874664306640625 + (_17864 * (2.138000011444091796875 + (_17864 * (1.677700042724609375 + (_17864 * (-0.361699998378753662109375))))))), 0.300000011920928955078125)) - vec3(_17864)));\n+\t }\n+\t else\n+\t {\n+\t _9982 = _22437;\n+\t _22798 = _13143;\n+\t }\n+\t vec3 _22686 = (_22798.xyz + _9982.xyz) * _16308.xyz;\n+\t float _12931 = _22686.x;\n+\t vec4 _11205 = vec4(_12931, _22686.yz, input_5.w);\n+\t _11205.x = _12931;\n \t _11205.y = _22686.y;\n \t _11205.z = _22686.z;\n-\t vec3 _15752 = _11205.xyz + ((_16324 * (vec3(1.0) + (_22671 * ((0.125 * (_19582 * _19582)) * saturate(dot(_17892, _19257)))))).xyz * _13436).xyz;\n+\t vec3 _15752 = _11205.xyz + ((_16324 * (vec3(1.0) + (_17116 * ((0.125 * (_19582 * _19582)) * saturate(dot(_17892, _19257)))))).xyz * _13436).xyz;\n \t vec4 _20493 = _11205;\n \t _20493.x = _15752.x;\n \t _20493.y = _15752.y;\n \t _20493.z = _15752.z;\n-\t vec3 _15733 = _20493.xyz + ((((_17116 / vec3(_16308)).xyz * min(dot(_18708.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)) / dot(vec4(_19081, 1.0), (_13141 / vec4(_16308)).xyzw), max((_17751 * PerViewLightingConstantBufferGpu_t._m4.x) + PerViewLightingConstantBufferGpu_t._m4.y, 1.0))).xyz * (_7300 + _23208)).xyz * _13436).xyz;\n+\t vec3 _15733 = _20493.xyz + ((((_17119 / vec3(_16309)).xyz * min(dot(_18708.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)) / dot(vec4(_19081, 1.0), (_13145 / vec4(_16309)).xyzw), max((_17751 * PerViewLightingConstantBufferGpu_t._m4.x) + PerViewLightingConstantBufferGpu_t._m4.y, 1.0))).xyz * (_7300 + _23208)).xyz * _13436).xyz;\n \t vec4 _13888 = _20493;\n \t _13888.x = _15733.x;\n \t _13888.y = _15733.y;\n@@ -2034,29 +2260,29 @@ PS\n \t if (_Globals_.g_bFogEnabled != 0)\n \t {\n \t vec3 _21493;\n-\t vec3 _6538 = _11901 - PerViewConstantBuffer_t._m6.xyz;\n-\t vec3 _9057 = _6538.xyz;\n+\t vec3 _23187 = _9737 - PerViewConstantBuffer_t._m7.xyz;\n+\t vec3 _9057 = _23187.xyz;\n \t vec3 _19340;\n \t do\n \t {\n-\t _21493 = _6538.xyz;\n-\t bool _12893;\n-\t if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t._m21.x)\n+\t _21493 = _23187.xyz;\n+\t bool _12895;\n+\t if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t._m22.x)\n \t {\n-\t _12893 = (_10061.z * PerViewConstantBufferCsgo_t._m21.z) < PerViewConstantBufferCsgo_t._m21.y;\n+\t _12895 = (_10061.z * PerViewConstantBufferCsgo_t._m22.z) < PerViewConstantBufferCsgo_t._m22.y;\n \t }\n \t else\n \t {\n-\t _12893 = false;\n+\t _12895 = false;\n \t }\n \t SPIRV_CROSS_BRANCH\n-\t if (_12893)\n+\t if (_12895)\n \t {\n \t float _17979 = length(_21493);\n-\t vec2 _9342 = saturate(PerViewConstantBufferCsgo_t._m18.xy + (PerViewConstantBufferCsgo_t._m18.zw * vec2(mix(_17979, _17979 * PerViewConstantBufferCsgo_t._m30.y, _Globals_.g_flFogModificationAmount), _10061.z)));\n-\t float _13533 = (pow(_9342.x, PerViewConstantBufferCsgo_t._m19.x) * pow(_9342.y, PerViewConstantBufferCsgo_t._m19.y)) * PerViewConstantBufferCsgo_t._m20.w;\n-\t float _12715 = mix(_13533, _13533 * PerViewConstantBufferCsgo_t._m30.z, _Globals_.g_flFogModificationAmount);\n-\t _19340 = mix(_13888.xyz, vec4(PerViewConstantBufferCsgo_t._m20.xyz, _12715).xyz, vec3(_12715));\n+\t vec2 _9342 = saturate(PerViewConstantBufferCsgo_t._m19.xy + (PerViewConstantBufferCsgo_t._m19.zw * vec2(mix(_17979, _17979 * PerViewConstantBufferCsgo_t._m32.y, _Globals_.g_flFogModificationAmount), _10061.z)));\n+\t float _13533 = (pow(_9342.x, PerViewConstantBufferCsgo_t._m20.x) * pow(_9342.y, PerViewConstantBufferCsgo_t._m20.y)) * PerViewConstantBufferCsgo_t._m21.w;\n+\t float _12715 = mix(_13533, _13533 * PerViewConstantBufferCsgo_t._m32.z, _Globals_.g_flFogModificationAmount);\n+\t _19340 = mix(_13888.xyz, vec4(PerViewConstantBufferCsgo_t._m21.xyz, _12715).xyz, vec3(_12715));\n \t break;\n \t }\n \t _19340 = _13888.xyz;\n@@ -2069,21 +2295,21 @@ PS\n \t vec3 _19341;\n \t do\n \t {\n-\t bool _12894;\n-\t if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t._m25.x)\n+\t bool _12896;\n+\t if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t._m26.x)\n \t {\n-\t _12894 = (PerViewConstantBufferCsgo_t._m25.z * _10061.z) < PerViewConstantBufferCsgo_t._m25.y;\n+\t _12896 = (PerViewConstantBufferCsgo_t._m26.z * _10061.z) < PerViewConstantBufferCsgo_t._m26.y;\n \t }\n \t else\n \t {\n-\t _12894 = false;\n+\t _12896 = false;\n \t }\n-\t if (_12894)\n+\t if (_12896)\n \t {\n \t float _17980 = length(_21493);\n-\t float _14602 = saturate(pow(max(0.0, (mix(_17980, _17980 * PerViewConstantBufferCsgo_t._m30.y, _Globals_.g_flFogModificationAmount) * PerViewConstantBufferCsgo_t._m22.y) + PerViewConstantBufferCsgo_t._m22.x), PerViewConstantBufferCsgo_t._m22.w)) * saturate(pow(max(0.0, (_10061.z * PerViewConstantBufferCsgo_t._m23.y) + PerViewConstantBufferCsgo_t._m23.x), PerViewConstantBufferCsgo_t._m23.z));\n-\t float _16973 = saturate(_14602) * mix(PerViewConstantBufferCsgo_t._m25.w, PerViewConstantBufferCsgo_t._m25.w * PerViewConstantBufferCsgo_t._m30.z, _Globals_.g_flFogModificationAmount);\n-\t _19341 = mix(_23944.xyz, vec4((textureLod(samplerCube(g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), normalize((PerViewConstantBufferCsgo_t._m24 * vec4(_9057, 0.0)).xyz).xyz, PerViewConstantBufferCsgo_t._m23.w * saturate(1.0 - (_14602 * PerViewConstantBufferCsgo_t._m22.z))) * PerViewConstantBufferCsgo_t._m26.x).xyz, _16973).xyz, vec3(_16973));\n+\t float _14602 = saturate(pow(max(0.0, (mix(_17980, _17980 * PerViewConstantBufferCsgo_t._m32.y, _Globals_.g_flFogModificationAmount) * PerViewConstantBufferCsgo_t._m23.y) + PerViewConstantBufferCsgo_t._m23.x), PerViewConstantBufferCsgo_t._m23.w)) * saturate(pow(max(0.0, (_10061.z * PerViewConstantBufferCsgo_t._m24.y) + PerViewConstantBufferCsgo_t._m24.x), PerViewConstantBufferCsgo_t._m24.z));\n+\t float _16973 = saturate(_14602) * mix(PerViewConstantBufferCsgo_t._m26.w, PerViewConstantBufferCsgo_t._m26.w * PerViewConstantBufferCsgo_t._m32.z, _Globals_.g_flFogModificationAmount);\n+\t _19341 = mix(_23944.xyz, vec4((textureLod(samplerCube(g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), normalize((PerViewConstantBufferCsgo_t._m25 * vec4(_9057, 0.0)).xyz).xyz, PerViewConstantBufferCsgo_t._m24.w * saturate(1.0 - (_14602 * PerViewConstantBufferCsgo_t._m23.z))) * PerViewConstantBufferCsgo_t._m27.x).xyz, _16973).xyz, vec3(_16973));\n \t break;\n \t }\n \t _19341 = _23944.xyz;\n@@ -2101,34 +2327,34 @@ PS\n \t vec3 _19342;\n \t if (_Globals_.g_flSpawnInvulnerability > 0.0)\n \t {\n-\t float _11148 = 1.0 - saturate(dot(_19257, _24735));\n-\t _19342 = mix(_19366.xyz, _Globals_.g_cInvulnerabilityColor * (mix(dot(_19366.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)), 0.5, 0.5) + (4.0 * pow(mix(_11148 * texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m14, 0).xy, 0).y, 1.0, _11148), mix(3.0, 6.0, 1.0 + (sin(PerViewConstantBuffer_t._m0 * 20.0) * 0.5))))), vec3(_Globals_.g_flSpawnInvulnerability));\n+\t float _11148 = 1.0 - saturate(dot(_19257, _17117.xyz));\n+\t _19342 = mix(_19366.xyz, _Globals_.g_cInvulnerabilityColor * (mix(dot(_19366.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)), 0.5, 0.5) + (4.0 * pow(mix(_11148 * texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m15, 0).xy, 0).y, 1.0, _11148), mix(3.0, 6.0, 1.0 + (sin(PerViewConstantBuffer_t._m1 * 20.0) * 0.5))))), vec3(_Globals_.g_flSpawnInvulnerability));\n \t }\n \t else\n \t {\n \t _19342 = _19366.xyz;\n \t }\n-\t vec4 _23946 = _19366;\n-\t _23946.x = _19342.x;\n-\t _23946.y = _19342.y;\n-\t _23946.z = _19342.z;\n+\t vec4 _23947 = _19366;\n+\t _23947.x = _19342.x;\n+\t _23947.y = _19342.y;\n+\t _23947.z = _19342.z;\n \t SPIRV_CROSS_BRANCH\n \t if (_Globals_.g_vKeychainGhostHandData.w > 0.0)\n \t {\n-\t float _11567 = saturate((smoothstep(6.0, 2.0, distance(_Globals_.g_vKeychainGhostHandData.xyz, _11901)) - 1.0) * (-1.0));\n-\t if ((texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m14, 0).xy, 0).y - mix((_11567 * 0.5099999904632568359375) + 0.5, (_11567 * 0.90999996662139892578125) + 0.100000001490116119384765625, smoothstep(0.100000001490116119384765625, 1.0, _Globals_.g_vKeychainGhostHandData.w))) < 0.0)\n+\t float _11567 = saturate((smoothstep(6.0, 2.0, distance(_Globals_.g_vKeychainGhostHandData.xyz, _9737)) - 1.0) * (-1.0));\n+\t if ((texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m15, 0).xy, 0).y - mix((_11567 * 0.5099999904632568359375) + 0.5, (_11567 * 0.90999996662139892578125) + 0.100000001490116119384765625, smoothstep(0.100000001490116119384765625, 1.0, _Globals_.g_vKeychainGhostHandData.w))) < 0.0)\n \t {\n \t discard;\n \t }\n \t }\n-\t if (input_4.w < 1.0)\n+\t if (input_5.w < 1.0)\n \t {\n-\t if ((fma(input_4.w, 2.0, -1.5) + texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m14, 0).xy, 0).y) < 0.0)\n+\t if ((fma(input_5.w, 2.0, -1.5) + texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m15, 0).xy, 0).y) < 0.0)\n \t {\n \t discard;\n \t }\n \t }\n-\t output_0 = _23946;\n+\t output_0 = _23947;\n \t}\n \t\n \t"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_weapon_sticker.slang",
"status": "modified",
"additions": 164,
"deletions": 153,
"changes": 317,
"patch": "@@ -300,7 +300,7 @@ PS\n \tTexture2D g_tStickerScratches < Channel(R, Box(TextureStickerScratches), Linear); OutputFormat(BC7); SrgbRead(false); >;\n \tfloat3 g_vAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.045,.4,1.15).x,-1.4427*log(max(.0001,1-float3(-.045,.4,1.15).y)),2-float3(-.045,.4,1.15).z)); >;\n \tfloat3 g_vDarkMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.1,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.1,.4,1.08).y)),2-float3(-.1,.4,1.08).z)); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat3 g_vHoloAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.05,.35,1.15).x,-1.4427*log(max(.0001,1-float3(-.05,.35,1.15).y)),2-float3(-.05,.35,1.15).z)); >;\n \tfloat3 g_vMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.45,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.45,.4,1.08).y)),2-float3(-.45,.4,1.08).z)); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n@@ -390,12 +390,12 @@ PS\n \t#extension GL_EXT_samplerless_texture_functions : require\n \t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _701\n+\tstruct _953\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _911\n+\tstruct _1163\n \t{\n \t vec4 _m0[4];\n \t};\n@@ -411,12 +411,12 @@ PS\n \t vec4 _m6;\n \t};\n \t\n-\tstruct _1269\n+\tstruct _2904\n \t{\n \t _1677 _m0[128];\n \t};\n \t\n-\tstruct _2848\n+\tstruct _954\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -527,15 +527,15 @@ PS\n \t\n \tlayout(set = 1) uniform _1503 PerViewConstantBuffer_t;\n \t\n-\tstruct _2145\n+\tstruct _1655\n \t{\n \t vec4 _m0;\n \t vec4 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n \t vec4 _m4;\n-\t _701 _m5;\n-\t _911 _m6;\n+\t _953 _m5;\n+\t _1163 _m6;\n \t vec4 _m7;\n \t vec4 _m8;\n \t vec4 _m9;\n@@ -544,7 +544,7 @@ PS\n \t uvec4 _m12;\n \t vec4 _m13;\n \t vec4 _m14;\n-\t _1269 _m15;\n+\t _2904 _m15;\n \t vec4 _m16;\n \t vec4 _m17;\n \t int _m18;\n@@ -554,11 +554,11 @@ PS\n \t float _m22;\n \t float _m23;\n \t float _m24;\n-\t _2848 _m25;\n-\t _911 _m26;\n+\t _954 _m25;\n+\t _1163 _m26;\n \t};\n \t\n-\tlayout(set = 3) uniform _2145 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _1655 PerViewLightingConstantBufferGpu_t;\n \t\n \tlayout(set = 3, binding = 30, std430) readonly buffer g_CullBits\n \t{\n@@ -571,33 +571,33 @@ PS\n \t} g_BarnLights_1;\n \t\n \tlayout(set = 1, binding = 51) uniform texture2D g_tColor;\n-\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfigAllowGlobalMipBias;\n+\tlayout(set = 1, binding = 21) uniform sampler g_sUserConfigAllowGlobalMipBias;\n \tlayout(set = 1, binding = 54) uniform texture2D g_tAmbientOcclusion;\n-\tlayout(set = 1, binding = 19) uniform sampler g_sUserConfig;\n+\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfig;\n \tlayout(set = 1, binding = 55) uniform texture2D g_tMetalness;\n \tlayout(set = 1, binding = 52) uniform texture2D g_tNormal;\n \tlayout(set = 1, binding = 14) uniform sampler g_sAniso;\n \tlayout(set = 1, binding = 57) uniform texture2D g_tSticker0;\n \tlayout(set = 1, binding = 59) uniform texture2D g_tNormalRoughnessSticker0;\n \tlayout(set = 1, binding = 61) uniform texture2D g_tSfxMaskSticker0;\n-\tlayout(set = 1, binding = 25) uniform sampler g_sPoint;\n+\tlayout(set = 1, binding = 26) uniform sampler g_sPoint;\n \tlayout(set = 1, binding = 60) uniform texture2D g_tGlitterNormalSticker0;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 58) uniform texture2D g_tHoloSpectrumSticker0;\n-\tlayout(set = 1, binding = 26) uniform sampler g_sAnisoClampV;\n+\tlayout(set = 1, binding = 27) uniform sampler g_sAnisoClampV;\n \tlayout(set = 1, binding = 56) uniform texture2D g_tStickerScratches;\n \tlayout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sCookieSampler;\n \tlayout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;\n-\tlayout(set = 1, binding = 18) uniform sampler g_sPointClamp;\n+\tlayout(set = 1, binding = 19) uniform sampler g_sPointClamp;\n \tlayout(set = 1, binding = 39) uniform texture2D g_tSsao;\n-\tlayout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n \tlayout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;\n-\tlayout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;\n+\tlayout(set = 1, binding = 16) uniform sampler g_sBilinearClamp;\n \tlayout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n \t\n@@ -1451,162 +1451,173 @@ PS\n \t {\n \t _21712 = _21711;\n \t }\n-\t float _21713;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13147;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n-\t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n-\t {\n-\t _13147 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n-\t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n-\t vec3 _20493 = _19470;\n-\t _20493.x = _20561.x;\n-\t _20493.y = _20561.y;\n-\t _13147 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20493;\n-\t _10191 = _13039;\n-\t break;\n-\t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n+\t float _12508;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m18 != 0)\n \t {\n-\t vec2 _7045;\n-\t vec2 _7046;\n-\t vec2 _7735;\n-\t float _8969;\n-\t float _8970;\n-\t float _15996;\n-\t float _17302;\n-\t vec2 _18870;\n-\t vec4 _20581;\n-\t vec4 _22024;\n-\t float _23728;\n-\t do\n+\t int _23989;\n+\t int _10191;\n+\t float _13147;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n-\t _22024 = PerViewLightingConstantBufferGpu_t._m1;\n-\t _17302 = PerViewLightingConstantBufferGpu_t._m2.z;\n-\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n-\t _18870 = vec2(_17302, _15996);\n-\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n-\t _7045 = vec2(_8969, _15996);\n-\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n-\t _7046 = vec2(_17302, _8970);\n-\t _7735 = vec2(_8969, _8970);\n-\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n-\t bool _12892;\n-\t if (_15310 == 0.0)\n-\t {\n-\t _12892 = true;\n-\t }\n-\t else\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))\n \t {\n-\t _12892 = _15310 == 1.0;\n+\t _13147 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n \t }\n-\t if (_12892)\n+\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])\n \t {\n-\t _23728 = _15310;\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;\n+\t vec3 _20493 = _19470;\n+\t _20493.x = _20561.x;\n+\t _20493.y = _20561.y;\n+\t _13147 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20493;\n+\t _10191 = _13039;\n \t break;\n \t }\n-\t _23728 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17302, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22024.y);\n-\t break;\n-\t } while(false);\n-\t float _12506;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13147 < 1.0)\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n+\t }\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t vec2 _7045;\n+\t vec2 _7046;\n+\t vec2 _7735;\n+\t float _8969;\n+\t float _8970;\n+\t float _15996;\n+\t float _17302;\n+\t vec2 _18870;\n+\t vec4 _20581;\n+\t vec4 _22024;\n+\t float _23728;\n+\t do\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n-\t vec3 _20494;\n-\t _20494.x = _20562.x;\n-\t _20494.y = _20562.y;\n-\t float _12505;\n-\t do\n+\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n+\t _22024 = PerViewLightingConstantBufferGpu_t._m1;\n+\t _17302 = PerViewLightingConstantBufferGpu_t._m2.z;\n+\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n+\t _18870 = vec2(_17302, _15996);\n+\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n+\t _7045 = vec2(_8969, _15996);\n+\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n+\t _7046 = vec2(_17302, _8970);\n+\t _7735 = vec2(_8969, _8970);\n+\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n+\t bool _12892;\n+\t if (_15310 == 0.0)\n \t {\n-\t float _20324 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _18870).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7045).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7046).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7735).xy, _20324), 0.0)).xyzw, vec4(0.25));\n-\t bool _12893;\n-\t if (_15311 == 0.0)\n-\t {\n-\t _12893 = true;\n-\t }\n-\t else\n-\t {\n-\t _12893 = _15311 == 1.0;\n-\t }\n-\t if (_12893)\n+\t _12892 = true;\n+\t }\n+\t else\n+\t {\n+\t _12892 = _15310 == 1.0;\n+\t }\n+\t if (_12892)\n+\t {\n+\t _23728 = _15310;\n+\t break;\n+\t }\n+\t _23728 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17302, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22024.y);\n+\t break;\n+\t } while(false);\n+\t float _12506;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13147 < 1.0)\n+\t {\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;\n+\t vec3 _20494;\n+\t _20494.x = _20562.x;\n+\t _20494.y = _20562.y;\n+\t float _12505;\n+\t do\n \t {\n-\t _12505 = _15311;\n+\t float _20324 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);\n+\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _18870).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7045).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7046).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7735).xy, _20324), 0.0)).xyzw, vec4(0.25));\n+\t bool _12893;\n+\t if (_15311 == 0.0)\n+\t {\n+\t _12893 = true;\n+\t }\n+\t else\n+\t {\n+\t _12893 = _15311 == 1.0;\n+\t }\n+\t if (_12893)\n+\t {\n+\t _12505 = _15311;\n+\t break;\n+\t }\n+\t _12505 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(_17302, 0.0)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(_8969, 0.0)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(0.0, _8970)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(0.0, _15996)).xy, _20324), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20494.xy, _20324), 0.0) * _22024.y);\n \t break;\n-\t }\n-\t _12505 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(_17302, 0.0)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(_8969, 0.0)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(0.0, _8970)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(0.0, _15996)).xy, _20324), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20494.xy, _20324), 0.0) * _22024.y);\n-\t break;\n-\t } while(false);\n-\t _7934 = _12505;\n+\t } while(false);\n+\t _7934 = _12505;\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12506 = mix(_7934, _23728, _13147);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12506 = _23728;\n \t }\n-\t _12506 = mix(_7934, _23728, _13147);\n+\t _19363 = _12506;\n \t }\n \t else\n \t {\n-\t _12506 = _23728;\n+\t _19363 = 1.0;\n \t }\n-\t _19363 = _12506;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0;\n-\t }\n-\t float _13279 = mix(_19363, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m4) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n-\t float _12507;\n-\t if (_24465.y)\n-\t {\n-\t _12507 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_21678.xy * PerViewConstantBuffer_t._m3.xy).xy, 0.0).z);\n+\t float _13279 = mix(_19363, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m4) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));\n+\t float _12507;\n+\t if (_24465.y)\n+\t {\n+\t _12507 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_21678.xy * PerViewConstantBuffer_t._m3.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12507 = _13279;\n+\t }\n+\t _12508 = _12507;\n \t }\n \t else\n \t {\n-\t _12507 = _13279;\n+\t _12508 = 1.0;\n \t }\n-\t _21713 = _12507;\n+\t _12320 = _12508;\n \t }\n \t else\n \t {\n-\t _21713 = 1.0;\n+\t _12320 = 1.0;\n \t }\n \t vec3 _9716;\n \t vec3 _24878;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21713) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n \t float _11797 = max(0.0, dot(_14788.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz));\n \t vec2 _9840 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));\n@@ -1621,7 +1632,7 @@ PS\n \t float _16150 = _9850 + 1.0;\n \t float _6835 = (_16150 * _16150) * 0.125;\n \t float _19569 = 1.0 - _6835;\n-\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21713).xyz;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz;\n \t _9716 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808);\n \t _24878 = (((_22995 + ((vec3(1.0) - _22995) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_11797 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _11797).xyz * _16808;\n \t }\n@@ -1822,7 +1833,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12508;\n+\t vec3 _12509;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -1838,7 +1849,7 @@ PS\n \t vec3 _20497 = _14081;\n \t _20497.x = _20564.x;\n \t _20497.y = _20564.y;\n-\t _12508 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20497.xyz, 0.0).xyz;\n+\t _12509 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20497.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -1847,9 +1858,9 @@ PS\n \t vec3 _20496 = _13791;\n \t _20496.x = _20563.x;\n \t _20496.y = _20563.y;\n-\t _12508 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20496.xyz, 0.0).xyz;\n+\t _12509 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20496.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12508;\n+\t _21548 = _12509;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n@@ -1877,8 +1888,8 @@ PS\n \t do\n \t {\n \t float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);\n-\t vec2 _14615 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n-\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n+\t vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n+\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n \t bool _12895;\n \t if (_15312 == 0.0)\n \t {\n@@ -1893,7 +1904,7 @@ PS\n \t _24972 = _15312;\n \t break;\n \t }\n-\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14615, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n+\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n \t break;\n \t } while(false);\n \t vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/generic.slang",
"status": "modified",
"additions": 170,
"deletions": 159,
"changes": 329,
"patch": "@@ -330,7 +330,7 @@ PS\n \tTexture2D g_tSsao < Attribute(\"SSAOOcclusionFactor\"); SrgbRead(false); >;\n \tTexture2D g_tTintMask < Channel(G, Box(TextureTintMask), Linear); OutputFormat(DXT1); SrgbRead(false); >;\n \tTexture2D g_tZeroth_Moment < Attribute(\"zeroth_moment\"); SrgbRead(true); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat2 g_vMetalnessScaleAndBias < UiType(VectorText); Expression(float2(max(g_vMetalnessRange.x,g_vMetalnessRange.y)-g_vMetalnessRange.x,g_vMetalnessRange.x)); >;\n \tfloat2 g_vReflectanceScaleAndBias < UiType(VectorText); Expression(float2(max(g_vReflectanceRange.x,g_vReflectanceRange.y)-g_vReflectanceRange.x,g_vReflectanceRange.x)); >;\n \tfloat2 g_vRoughnessScaleAndBias < UiType(VectorText); Expression(float2(max(1-g_vGlossinessRange.x,1-g_vGlossinessRange.y)-(1-g_vGlossinessRange.y),1-g_vGlossinessRange.y)); >;\n@@ -346,9 +346,9 @@ PS\n \tCreateInputTexture2D(TextureGlossiness, Linear, 8, \"\", \"_gloss\", \"Lighting,30/Gloss,20/10\", Default4(0.5, 0.5, 0.5, 0));\n \tCreateInputTexture2D(TextureMetalness, Linear, 8, \"\", \"_metal\", \"Lighting,30/Metalness,30/10\", Default4(0, 0, 0, 0));\n \tCreateInputTexture2D(TextureReflectance, Linear, 8, \"\", \"_refl\", \"Lighting,30/Reflectance,10/10\", Default4(0.1, 0.1, 0.1, 0));\n-\tfloat2 g_vGlossinessRange < Default(0); UiType(VectorText); UiGroup(\"Lighting,30/Gloss/20\"); >;\n-\tfloat2 g_vMetalnessRange < Default(0); UiType(VectorText); UiGroup(\"Lighting,30/Metalness/20\"); >;\n-\tfloat2 g_vReflectanceRange < Default(0); UiType(VectorText); UiGroup(\"Lighting,30/Reflectance/20\"); >;\n+\tfloat2 g_vGlossinessRange < Default2(0, 1); UiType(VectorText); UiGroup(\"Lighting,30/Gloss/20\"); >;\n+\tfloat2 g_vMetalnessRange < Default2(0, 1); UiType(VectorText); UiGroup(\"Lighting,30/Metalness/20\"); >;\n+\tfloat2 g_vReflectanceRange < Default2(0, 1); UiType(VectorText); UiGroup(\"Lighting,30/Reflectance/20\"); >;\n \t\n \t// Normal Map\n \tCreateInputTexture2D(TextureNormal, Linear, 8, \"NormalizeNormals\", \"_normal\", \"Normal Map,20\", Default4(0.5, 0.5, 1, 0));\n@@ -407,17 +407,17 @@ PS\n \t#endif\n \t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _2116\n+\tstruct _2368\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _2326\n+\tstruct _2578\n \t{\n \t vec4 _m0[4];\n \t};\n \t\n-\tstruct _1802\n+\tstruct _2918\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -487,14 +487,14 @@ PS\n \t\n \tlayout(set = 1) uniform _2806 PerViewConstantBufferCsgo_t;\n \t\n-\tstruct _295\n+\tstruct _2166\n \t{\n \t vec4 _m0;\n \t vec4 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n-\t _2116 _m4;\n-\t _2326 _m5;\n+\t _2368 _m4;\n+\t _2578 _m5;\n \t vec4 _m6;\n \t vec4 _m7;\n \t vec4 _m8;\n@@ -510,11 +510,11 @@ PS\n \t float _m18;\n \t float _m19;\n \t float _m20;\n-\t _1802 _m21;\n-\t _2326 _m22;\n+\t _2918 _m21;\n+\t _2578 _m22;\n \t};\n \t\n-\tlayout(set = 3) uniform _295 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _2166 PerViewLightingConstantBufferGpu_t;\n \t\n \tstruct _1194\n \t{\n@@ -537,18 +537,18 @@ PS\n \t} g_BarnLights_1;\n \t\n \tlayout(set = 1, binding = 51) uniform texture2D g_tColor;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 52) uniform texture2D g_tNormal;\n \tlayout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sCookieSampler;\n \tlayout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;\n-\tlayout(set = 1, binding = 18) uniform sampler g_sPointClamp;\n+\tlayout(set = 1, binding = 19) uniform sampler g_sPointClamp;\n \tlayout(set = 1, binding = 39) uniform texture2D g_tSsao;\n-\tlayout(set = 1, binding = 19) uniform sampler g_sUserConfig;\n-\tlayout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 20) uniform sampler g_sUserConfig;\n+\tlayout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n \t\n@@ -691,167 +691,178 @@ PS\n \t {\n \t _21710 = _21709;\n \t }\n-\t float _21711;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m12.xyz, _24735);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m14 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n-\t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m14))\n-\t {\n-\t _13136 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m21._m0[_13039];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m16[_13039])\n-\t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m18)) + vec2(PerViewLightingConstantBufferGpu_t._m17));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m22._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m22._m0[_13039].xy;\n-\t vec3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n-\t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n+\t float _12504;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m14 != 0)\n \t {\n-\t vec2 _7045;\n-\t vec2 _7046;\n-\t vec2 _7735;\n-\t float _8969;\n-\t float _8970;\n-\t float _15996;\n-\t float _17299;\n-\t vec2 _18870;\n-\t vec4 _20581;\n-\t vec4 _22023;\n-\t float _23727;\n-\t do\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m15);\n-\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n-\t _22023 = PerViewLightingConstantBufferGpu_t._m1;\n-\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n-\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n-\t _18870 = vec2(_17299, _15996);\n-\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n-\t _7045 = vec2(_8969, _15996);\n-\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n-\t _7046 = vec2(_17299, _8970);\n-\t _7735 = vec2(_8969, _8970);\n-\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n-\t bool _12887;\n-\t if (_15310 == 0.0)\n-\t {\n-\t _12887 = true;\n-\t }\n-\t else\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m14))\n \t {\n-\t _12887 = _15310 == 1.0;\n+\t _13136 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n \t }\n-\t if (_12887)\n+\t vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m21._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m16[_13039])\n \t {\n-\t _23727 = _15310;\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m18)) + vec2(PerViewLightingConstantBufferGpu_t._m17));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m22._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m22._m0[_13039].xy;\n+\t vec3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n \t break;\n \t }\n-\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t float _12502;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13136 < 1.0)\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n+\t }\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m14 - 1))\n+\t vec2 _7045;\n+\t vec2 _7046;\n+\t vec2 _7735;\n+\t float _8969;\n+\t float _8970;\n+\t float _15996;\n+\t float _17299;\n+\t vec2 _18870;\n+\t vec4 _20581;\n+\t vec4 _22023;\n+\t float _23727;\n+\t do\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m21._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m22._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m22._m0[_15335].xy;\n-\t vec3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t float _12501;\n-\t do\n+\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m15);\n+\t _20581 = PerViewLightingConstantBufferGpu_t._m0;\n+\t _22023 = PerViewLightingConstantBufferGpu_t._m1;\n+\t _17299 = PerViewLightingConstantBufferGpu_t._m2.z;\n+\t _15996 = PerViewLightingConstantBufferGpu_t._m3.z;\n+\t _18870 = vec2(_17299, _15996);\n+\t _8969 = PerViewLightingConstantBufferGpu_t._m2.y;\n+\t _7045 = vec2(_8969, _15996);\n+\t _8970 = PerViewLightingConstantBufferGpu_t._m3.y;\n+\t _7046 = vec2(_17299, _8970);\n+\t _7735 = vec2(_8969, _8970);\n+\t float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));\n+\t bool _12887;\n+\t if (_15310 == 0.0)\n \t {\n-\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m15);\n-\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n-\t bool _12888;\n-\t if (_15311 == 0.0)\n-\t {\n-\t _12888 = true;\n-\t }\n-\t else\n-\t {\n-\t _12888 = _15311 == 1.0;\n-\t }\n-\t if (_12888)\n+\t _12887 = true;\n+\t }\n+\t else\n+\t {\n+\t _12887 = _15310 == 1.0;\n+\t }\n+\t if (_12887)\n+\t {\n+\t _23727 = _15310;\n+\t break;\n+\t }\n+\t _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22023.y);\n+\t break;\n+\t } while(false);\n+\t float _12502;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13136 < 1.0)\n+\t {\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m14 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m21._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m22._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m22._m0[_15335].xy;\n+\t vec3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t float _12501;\n+\t do\n \t {\n-\t _12501 = _15311;\n+\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m15);\n+\t float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));\n+\t bool _12888;\n+\t if (_15311 == 0.0)\n+\t {\n+\t _12888 = true;\n+\t }\n+\t else\n+\t {\n+\t _12888 = _15311 == 1.0;\n+\t }\n+\t if (_12888)\n+\t {\n+\t _12501 = _15311;\n+\t break;\n+\t }\n+\t _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y);\n \t break;\n-\t }\n-\t _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t _7934 = _12501;\n+\t } while(false);\n+\t _7934 = _12501;\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12502 = mix(_7934, _23727, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12502 = _23727;\n \t }\n-\t _12502 = mix(_7934, _23727, _13136);\n+\t _19363 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _23727;\n+\t _19363 = 1.0;\n \t }\n-\t _19363 = _12502;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0;\n-\t }\n-\t float _13279 = mix(_19363, 1.0, saturate((distance(_11095.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m20) + PerViewLightingConstantBufferGpu_t._m19));\n-\t float _12503;\n-\t if (_24465.y)\n-\t {\n-\t _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t float _13279 = mix(_19363, 1.0, saturate((distance(_11095.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m20) + PerViewLightingConstantBufferGpu_t._m19));\n+\t float _12503;\n+\t if (_24465.y)\n+\t {\n+\t _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12503 = _13279;\n+\t }\n+\t _12504 = _12503;\n \t }\n \t else\n \t {\n-\t _12503 = _13279;\n+\t _12504 = 1.0;\n \t }\n-\t _21711 = _12503;\n+\t _12320 = _12504;\n \t }\n \t else\n \t {\n-\t _21711 = 1.0;\n+\t _12320 = 1.0;\n \t }\n-\t vec3 _21712;\n+\t vec3 _21711;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m12.xyz, _24735) * _21711) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n-\t _21712 = PerViewLightingConstantBufferGpu_t._m8.xyz + (vec3(max(0.0, dot(_24299.xyz, PerViewLightingConstantBufferGpu_t._m12.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m13.xyz * _21711).xyz);\n+\t _21711 = PerViewLightingConstantBufferGpu_t._m8.xyz + (vec3(max(0.0, dot(_24299.xyz, PerViewLightingConstantBufferGpu_t._m12.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m13.xyz * _12320).xyz);\n \t }\n \t else\n \t {\n-\t _21712 = PerViewLightingConstantBufferGpu_t._m8.xyz;\n+\t _21711 = PerViewLightingConstantBufferGpu_t._m8.xyz;\n \t }\n \t bvec4 _24467 = notEqual(PerViewConstantBufferCsgo_t._m2, ivec4(0));\n \t bool _20061 = _24467.x;\n@@ -875,7 +886,7 @@ PS\n \t uint _10838 = PerViewLightingConstantBufferGpu_t._m9.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m10.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m9.z);\n \t uint _23393 = PerViewLightingConstantBufferGpu_t._m9.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m11.x, 0.0, PerViewLightingConstantBufferGpu_t._m11.y)) * PerViewLightingConstantBufferGpu_t._m9.z);\n \t vec3 _13155;\n-\t _13155 = _21712;\n+\t _13155 = _21711;\n \t uint _21567;\n \t vec3 _13156;\n \t uint _16208 = 0u;\n@@ -888,7 +899,7 @@ PS\n \t uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _16208] & g_CullBits_1._m0[_23393 + _16208]);\n \t _13156 = _13155;\n \t uint _20344;\n-\t vec3 _12505;\n+\t vec3 _12506;\n \t uint _16209 = _14475;\n \t for (;;)\n \t {\n@@ -928,7 +939,7 @@ PS\n \t }\n \t if (_12889)\n \t {\n-\t _12505 = _13156;\n+\t _12506 = _13156;\n \t break;\n \t }\n \t float _23571 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;\n@@ -1038,7 +1049,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12504;\n+\t vec3 _12505;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -1054,7 +1065,7 @@ PS\n \t vec3 _20491 = _14081;\n \t _20491.x = _20564.x;\n \t _20491.y = _20564.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -1063,13 +1074,13 @@ PS\n \t vec3 _20490 = _13791;\n \t _20490.x = _20563.x;\n \t _20490.y = _20563.y;\n-\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;\n+\t _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12504;\n+\t _21548 = _12505;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n-\t _12505 = _13156;\n+\t _12506 = _13156;\n \t break;\n \t }\n \t vec3 _19630;\n@@ -1092,8 +1103,8 @@ PS\n \t do\n \t {\n \t float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m15);\n-\t vec2 _14615 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n-\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n+\t vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;\n+\t float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));\n \t bool _12890;\n \t if (_15312 == 0.0)\n \t {\n@@ -1108,13 +1119,13 @@ PS\n \t _24972 = _15312;\n \t break;\n \t }\n-\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14615, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n+\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);\n \t break;\n \t } while(false);\n \t vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);\n \t if (all(equal(_19878.xyz, vec3(0.0))))\n \t {\n-\t _12505 = _13156;\n+\t _12506 = _13156;\n \t break;\n \t }\n \t _19630 = _19878;\n@@ -1123,10 +1134,10 @@ PS\n \t {\n \t _19630 = _21548;\n \t }\n-\t _12505 = _13156.xyz + (vec3(max(0.0, dot(_24299.xyz, _11179.xyz))).xyz * _19630.xyz);\n+\t _12506 = _13156.xyz + (vec3(max(0.0, dot(_24299.xyz, _11179.xyz))).xyz * _19630.xyz);\n \t break;\n \t } while(false);\n-\t _13156 = _12505;\n+\t _13156 = _12506;\n \t _16209 = _20344;\n \t continue;\n \t }"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/grasstile.slang",
"status": "modified",
"additions": 163,
"deletions": 152,
"changes": 315,
"patch": "@@ -330,7 +330,7 @@ PS\n \tTexture2D g_tParticleShadowBuffer < Attribute(\"ParticleShadowBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tShadowDepthBufferDepth < Attribute(\"ShadowDepthBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tSsao < Attribute(\"SSAOOcclusionFactor\"); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat3 g_vGrassColorTint < UiType(Color); Expression(SrgbGammaToLinear(this)); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n@@ -353,17 +353,17 @@ PS\n \t// Source 2 Viewer - https://valveresourceformat.github.io\n \t// SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup\n \t\n-\tstruct _1108\n+\tstruct _1402\n \t{\n \t float4 _m0[3];\n \t};\n \t\n-\tstruct _1890\n+\tstruct _2100\n \t{\n \t float4 _m0[4];\n \t};\n \t\n-\tstruct _2452\n+\tstruct _371\n \t{\n \t column_major float4x4 _m0[4];\n \t};\n@@ -430,7 +430,7 @@ PS\n \t float4 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c1);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c2);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c3);\n-\t _1108 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c7);\n+\t _1402 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c7);\n \t float4 PerViewLightingConstantBufferGpu_t_1_m5 : packoffset(c18);\n \t uint4 PerViewLightingConstantBufferGpu_t_1_m6 : packoffset(c19);\n \t uint4 PerViewLightingConstantBufferGpu_t_1_m7 : packoffset(c22);\n@@ -444,8 +444,8 @@ PS\n \t float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y);\n \t float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z);\n \t float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);\n-\t _2452 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);\n-\t _1890 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);\n+\t _371 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);\n+\t _2100 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);\n \t};\n \t\n \tcbuffer PerViewConstantBuffer_t : register(b1, space1)\n@@ -463,14 +463,14 @@ PS\n \tTexture2D<float4> g_tGrassQuadSpecularArray : register(t44, space1);\n \tSamplerState AddressU_Clamp_AddressV_Clamp_Filter_Anisotropic_MaxAniso_8 : register(s15, space1);\n \tTexture2D<float4> g_tAmbientOcclusion : register(t53, space1);\n-\tSamplerState g_sUserConfig : register(s21, space1);\n-\tSamplerComparisonState g_tShadowDepthBufferCmpSampler : register(s25, space1);\n+\tSamplerState g_sUserConfig : register(s22, space1);\n+\tSamplerComparisonState g_tShadowDepthBufferCmpSampler : register(s26, space1);\n \tTexture2D<float4> g_tShadowDepthBufferDepth : register(t36, space1);\n \tTexture2D<float4> g_tParticleShadowBuffer : register(t51, space1);\n-\tSamplerState g_sTrilinearClamp : register(s19, space1);\n-\tSamplerState g_sTrilinearWrap : register(s18, space1);\n+\tSamplerState g_sTrilinearClamp : register(s20, space1);\n+\tSamplerState g_sTrilinearWrap : register(s19, space1);\n \tTexture3D<float4> g_tLightCookieTexture : register(t34, space1);\n-\tSamplerState g_sCookieSampler : register(s24, space1);\n+\tSamplerState g_sCookieSampler : register(s25, space1);\n \tTextureCube<float4> g_tFogCubeTexture : register(t42, space1);\n \t\n \tstatic float4 gl_FragCoord;\n@@ -513,167 +513,178 @@ PS\n \t float4 _19068 = g_tAmbientOcclusion.Sample(g_sUserConfig, input_2.xy);\n \t float3 _24735 = _7029.xyz;\n \t float4 _23875 = float4(_24735, 1.0f);\n-\t float _21709;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735);\n+\t float _12320;\n \t [branch]\n-\t if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)\n+\t if (_8634 > 0.0f)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t float3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n-\t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))\n-\t {\n-\t _13136 = 1.0f;\n-\t _14975 = 0.0f.xxx;\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])\n-\t {\n-\t float3 _19470 = float3(_12779, _18322.yz);\n-\t float2 _24804 = _19470.xy;\n-\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);\n-\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;\n-\t float3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n-\t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _19363;\n-\t if (_10191 >= 0)\n+\t float _12504;\n+\t [branch]\n+\t if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)\n \t {\n-\t float2 _7045;\n-\t float2 _7046;\n-\t float2 _7735;\n-\t float _8969;\n-\t float _8970;\n-\t float _15996;\n-\t float _17299;\n-\t float2 _18870;\n-\t float4 _20581;\n-\t float4 _22023;\n-\t float _23727;\n-\t do\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t float3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12);\n-\t _20581 = PerViewLightingConstantBufferGpu_t_1_m0;\n-\t _22023 = PerViewLightingConstantBufferGpu_t_1_m1;\n-\t _17299 = PerViewLightingConstantBufferGpu_t_1_m2.z;\n-\t _15996 = PerViewLightingConstantBufferGpu_t_1_m3.z;\n-\t _18870 = float2(_17299, _15996);\n-\t _8969 = PerViewLightingConstantBufferGpu_t_1_m2.y;\n-\t _7045 = float2(_8969, _15996);\n-\t _8970 = PerViewLightingConstantBufferGpu_t_1_m3.y;\n-\t _7046 = float2(_17299, _8970);\n-\t _7735 = float2(_8969, _8970);\n-\t float _15310 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _18870).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7045).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7046).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7735).xy, _21452)).xyzw, 0.25f.xxxx);\n-\t bool _12885;\n-\t if (_15310 == 0.0f)\n-\t {\n-\t _12885 = true;\n-\t }\n-\t else\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))\n \t {\n-\t _12885 = _15310 == 1.0f;\n+\t _13136 = 1.0f;\n+\t _14975 = 0.0f.xxx;\n+\t _10191 = -1;\n+\t break;\n \t }\n-\t if (_12885)\n+\t float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])\n \t {\n-\t _23727 = _15310;\n+\t float3 _19470 = float3(_12779, _18322.yz);\n+\t float2 _24804 = _19470.xy;\n+\t float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);\n+\t float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;\n+\t float3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n \t break;\n \t }\n-\t _23727 = ((_15310 * (_20581.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(_17299, 0.0f)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(_8969, 0.0f)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(0.0f, _8970)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(0.0f, _15996)).xy, _21452)).xyzw, _22023.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _14975.xy, _21452) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t float _12502;\n-\t [branch]\n-\t if (_13136 < 1.0f)\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n+\t }\n+\t float _19363;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))\n+\t float2 _7045;\n+\t float2 _7046;\n+\t float2 _7735;\n+\t float _8969;\n+\t float _8970;\n+\t float _15996;\n+\t float _17299;\n+\t float2 _18870;\n+\t float4 _20581;\n+\t float4 _22023;\n+\t float _23727;\n+\t do\n \t {\n-\t int _15335 = _10191 + 1;\n-\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));\n-\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;\n-\t float3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t float _12501;\n-\t do\n+\t float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12);\n+\t _20581 = PerViewLightingConstantBufferGpu_t_1_m0;\n+\t _22023 = PerViewLightingConstantBufferGpu_t_1_m1;\n+\t _17299 = PerViewLightingConstantBufferGpu_t_1_m2.z;\n+\t _15996 = PerViewLightingConstantBufferGpu_t_1_m3.z;\n+\t _18870 = float2(_17299, _15996);\n+\t _8969 = PerViewLightingConstantBufferGpu_t_1_m2.y;\n+\t _7045 = float2(_8969, _15996);\n+\t _8970 = PerViewLightingConstantBufferGpu_t_1_m3.y;\n+\t _7046 = float2(_17299, _8970);\n+\t _7735 = float2(_8969, _8970);\n+\t float _15310 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _18870).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7045).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7046).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7735).xy, _21452)).xyzw, 0.25f.xxxx);\n+\t bool _12885;\n+\t if (_15310 == 0.0f)\n \t {\n-\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12);\n-\t float _15311 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _18870).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7045).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7046).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7735).xy, _20322)).xyzw, 0.25f.xxxx);\n-\t bool _12886;\n-\t if (_15311 == 0.0f)\n-\t {\n-\t _12886 = true;\n-\t }\n-\t else\n-\t {\n-\t _12886 = _15311 == 1.0f;\n-\t }\n-\t if (_12886)\n+\t _12885 = true;\n+\t }\n+\t else\n+\t {\n+\t _12885 = _15310 == 1.0f;\n+\t }\n+\t if (_12885)\n+\t {\n+\t _23727 = _15310;\n+\t break;\n+\t }\n+\t _23727 = ((_15310 * (_20581.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(_17299, 0.0f)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(_8969, 0.0f)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(0.0f, _8970)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(0.0f, _15996)).xy, _21452)).xyzw, _22023.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _14975.xy, _21452) * _22023.y);\n+\t break;\n+\t } while(false);\n+\t float _12502;\n+\t [branch]\n+\t if (_13136 < 1.0f)\n+\t {\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));\n+\t float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;\n+\t float3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t float _12501;\n+\t do\n \t {\n-\t _12501 = _15311;\n+\t float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12);\n+\t float _15311 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _18870).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7045).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7046).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7735).xy, _20322)).xyzw, 0.25f.xxxx);\n+\t bool _12886;\n+\t if (_15311 == 0.0f)\n+\t {\n+\t _12886 = true;\n+\t }\n+\t else\n+\t {\n+\t _12886 = _15311 == 1.0f;\n+\t }\n+\t if (_12886)\n+\t {\n+\t _12501 = _15311;\n+\t break;\n+\t }\n+\t _12501 = ((_15311 * (_20581.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(_17299, 0.0f)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(_8969, 0.0f)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(0.0f, _8970)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(0.0f, _15996)).xy, _20322)).xyzw, _22023.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _20489.xy, _20322) * _22023.y);\n \t break;\n-\t }\n-\t _12501 = ((_15311 * (_20581.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(_17299, 0.0f)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(_8969, 0.0f)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(0.0f, _8970)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(0.0f, _15996)).xy, _20322)).xyzw, _22023.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _20489.xy, _20322) * _22023.y);\n-\t break;\n-\t } while(false);\n-\t _7934 = _12501;\n+\t } while(false);\n+\t _7934 = _12501;\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0f;\n+\t }\n+\t _12502 = lerp(_7934, _23727, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0f;\n+\t _12502 = _23727;\n \t }\n-\t _12502 = lerp(_7934, _23727, _13136);\n+\t _19363 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _23727;\n+\t _19363 = 1.0f;\n \t }\n-\t _19363 = _12502;\n-\t }\n-\t else\n-\t {\n-\t _19363 = 1.0f;\n-\t }\n-\t float _12513 = lerp(_19363, 1.0f, saturate((distance(_10753.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));\n-\t float _12503;\n-\t if (bool4(PerViewConstantBufferCsgo_t_1_m0.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m0.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m0.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m0.w != int4(0, 0, 0, 0).w).y)\n-\t {\n-\t _12503 = min(_12513, g_tParticleShadowBuffer.SampleLevel(g_sTrilinearClamp, (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t float _12513 = lerp(_19363, 1.0f, saturate((distance(_10753.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));\n+\t float _12503;\n+\t if (bool4(PerViewConstantBufferCsgo_t_1_m0.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m0.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m0.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m0.w != int4(0, 0, 0, 0).w).y)\n+\t {\n+\t _12503 = min(_12513, g_tParticleShadowBuffer.SampleLevel(g_sTrilinearClamp, (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);\n+\t }\n+\t else\n+\t {\n+\t _12503 = _12513;\n+\t }\n+\t _12504 = _12503;\n \t }\n \t else\n \t {\n-\t _12503 = _12513;\n+\t _12504 = 1.0f;\n \t }\n-\t _21709 = _12503;\n+\t _12320 = _12504;\n \t }\n \t else\n \t {\n-\t _21709 = 1.0f;\n+\t _12320 = 1.0f;\n \t }\n-\t float3 _21710;\n+\t float3 _21709;\n \t [branch]\n-\t if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735) * _21709) > 0.0f)\n+\t if ((_8634 * _12320) > 0.0f)\n \t {\n-\t _21710 = PerViewLightingConstantBufferGpu_t_1_m5.xyz + (max(0.0f, dot(_7029.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21709).xyz);\n+\t _21709 = PerViewLightingConstantBufferGpu_t_1_m5.xyz + (max(0.0f, dot(_7029.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _12320).xyz);\n \t }\n \t else\n \t {\n-\t _21710 = PerViewLightingConstantBufferGpu_t_1_m5.xyz;\n+\t _21709 = PerViewLightingConstantBufferGpu_t_1_m5.xyz;\n \t }\n \t bool4 _24465 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w);\n \t bool _20059 = _24465.x;\n@@ -697,7 +708,7 @@ PS\n \t uint _10838 = PerViewLightingConstantBufferGpu_t_1_m6.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m7.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m6.z);\n \t uint _23393 = PerViewLightingConstantBufferGpu_t_1_m6.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m8.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m8.y)) * PerViewLightingConstantBufferGpu_t_1_m6.z);\n \t float3 _13155;\n-\t _13155 = _21710;\n+\t _13155 = _21709;\n \t uint _21567;\n \t float3 _13156;\n \t uint _16208 = 0u;\n@@ -710,7 +721,7 @@ PS\n \t uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _16208) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _16208) * 4 + 0));\n \t _13156 = _13155;\n \t uint _20344;\n-\t float3 _12505;\n+\t float3 _12506;\n \t uint _16209 = _14475;\n \t for (;;)\n \t {\n@@ -753,7 +764,7 @@ PS\n \t }\n \t if (_12887)\n \t {\n-\t _12505 = _13156;\n+\t _12506 = _13156;\n \t break;\n \t }\n \t float _23571 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;\n@@ -863,7 +874,7 @@ PS\n \t }\n \t else\n \t {\n-\t float3 _12504;\n+\t float3 _12505;\n \t if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f)\n \t {\n \t float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);\n@@ -879,7 +890,7 @@ PS\n \t float3 _20491 = _14081;\n \t _20491.x = _20564.x;\n \t _20491.y = _20564.y;\n-\t _12504 = _17828.xyz * g_tLightCookieTexture.SampleLevel(g_sTrilinearWrap, _20491.xyz, 0.0f).xyz;\n+\t _12505 = _17828.xyz * g_tLightCookieTexture.SampleLevel(g_sTrilinearWrap, _20491.xyz, 0.0f).xyz;\n \t }\n \t else\n \t {\n@@ -888,13 +899,13 @@ PS\n \t float3 _20490 = _13791;\n \t _20490.x = _20563.x;\n \t _20490.y = _20563.y;\n-\t _12504 = _17828.xyz * g_tLightCookieTexture.SampleLevel(g_sCookieSampler, _20490.xyz, 0.0f).xyz;\n+\t _12505 = _17828.xyz * g_tLightCookieTexture.SampleLevel(g_sCookieSampler, _20490.xyz, 0.0f).xyz;\n \t }\n-\t _21548 = _12504;\n+\t _21548 = _12505;\n \t }\n \t if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z)))\n \t {\n-\t _12505 = _13156;\n+\t _12506 = _13156;\n \t break;\n \t }\n \t float3 _19630;\n@@ -917,8 +928,8 @@ PS\n \t do\n \t {\n \t float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t_1_m12);\n-\t float2 _14615 = float3(mad(_19629.xy, g_BarnLights.Load<float4>(_12608 * 480 + 208).zw, g_BarnLights.Load<float4>(_12608 * 480 + 208).xy), _19629.z).xy;\n-\t float _15312 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455)).xyzw, 0.25f.xxxx);\n+\t float2 _14616 = float3(mad(_19629.xy, g_BarnLights.Load<float4>(_12608 * 480 + 208).zw, g_BarnLights.Load<float4>(_12608 * 480 + 208).xy), _19629.z).xy;\n+\t float _15312 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455)).xyzw, 0.25f.xxxx);\n \t bool _12888;\n \t if (_15312 == 0.0f)\n \t {\n@@ -933,14 +944,14 @@ PS\n \t _24972 = _15312;\n \t break;\n \t }\n-\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t_1_m0.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, 0.0f)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, 0.0f)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(0.0f, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(0.0f, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455)).xyzw, PerViewLightingConstantBufferGpu_t_1_m1.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _14615, _11455) * PerViewLightingConstantBufferGpu_t_1_m1.y);\n+\t _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t_1_m0.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, 0.0f)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, 0.0f)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(0.0f, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(0.0f, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455)).xyzw, PerViewLightingConstantBufferGpu_t_1_m1.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _14616, _11455) * PerViewLightingConstantBufferGpu_t_1_m1.y);\n \t break;\n \t } while(false);\n \t float3 _19878 = _21548.xyz * lerp(1.0f, _24972, g_BarnLights.Load<float>(_12608 * 480 + 260));\n \t float3 _16449 = _19878.xyz;\n \t if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z)))\n \t {\n-\t _12505 = _13156;\n+\t _12506 = _13156;\n \t break;\n \t }\n \t _19630 = _19878;\n@@ -949,10 +960,10 @@ PS\n \t {\n \t _19630 = _21548;\n \t }\n-\t _12505 = _13156.xyz + (max(0.0f, dot(_7029.xyz, _11179.xyz)).xxx.xyz * _19630.xyz);\n+\t _12506 = _13156.xyz + (max(0.0f, dot(_7029.xyz, _11179.xyz)).xxx.xyz * _19630.xyz);\n \t break;\n \t } while(false);\n-\t _13156 = _12505;\n+\t _13156 = _12506;\n \t _16209 = _20344;\n \t continue;\n \t }"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/inferno.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -176,7 +176,7 @@ PS\n \t\n \tlayout(set = 1, binding = 50) uniform texture2D g_tSceneDepth;\n \tlayout(set = 1, binding = 51) uniform texture3D g_tSmokeNoiseTex;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \t\n \tlayout(location = 0) in vec2 input_0;\n \tlayout(location = 2) in vec3 input_2;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/lpv_debug_grid.slang",
"status": "modified",
"additions": 104,
"deletions": 93,
"changes": 197,
"patch": "@@ -288,7 +288,7 @@ PS\n \tTexture2D g_tParticleShadowBuffer < Attribute(\"ParticleShadowBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tShadowDepthBufferDepth < Attribute(\"ShadowDepthBuffer\"); SrgbRead(false); >;\n \tTexture2D g_tSsao < Attribute(\"SSAOOcclusionFactor\"); SrgbRead(false); >;\n-\tfloat3 g_vFlatOverlayColor < Default2(1, 0); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n+\tfloat3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute(\"FlatOverlayColor\"); UiType(VectorText); >;\n \tfloat4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;\n \t\n \t// Fog\n@@ -329,17 +329,17 @@ PS\n \t#endif\n \t#extension GL_KHR_shader_subgroup_arithmetic : require\n \t\n-\tstruct _2339\n+\tstruct _2549\n \t{\n \t vec4 _m0[3];\n \t};\n \t\n-\tstruct _2549\n+\tstruct _2759\n \t{\n \t vec4 _m0[4];\n \t};\n \t\n-\tstruct _1069\n+\tstruct _1999\n \t{\n \t mat4 _m0[4];\n \t};\n@@ -417,10 +417,10 @@ PS\n \t\n \tlayout(set = 1) uniform _1092 _Globals_;\n \t\n-\tstruct _2731\n+\tstruct _2703\n \t{\n-\t _2339 _m0;\n-\t _2549 _m1;\n+\t _2549 _m0;\n+\t _2759 _m1;\n \t vec4 _m2;\n \t vec4 _m3;\n \t vec4 _m4;\n@@ -437,11 +437,11 @@ PS\n \t float _m15;\n \t float _m16;\n \t float _m17;\n-\t _1069 _m18;\n-\t _2549 _m19;\n+\t _1999 _m18;\n+\t _2759 _m19;\n \t};\n \t\n-\tlayout(set = 3) uniform _2731 PerViewLightingConstantBufferGpu_t;\n+\tlayout(set = 3) uniform _2703 PerViewLightingConstantBufferGpu_t;\n \t\n \tlayout(set = 3, binding = 30, std430) readonly buffer g_CullBits\n \t{\n@@ -454,14 +454,14 @@ PS\n \t} g_BarnLights_1;\n \t\n \tlayout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;\n-\tlayout(set = 1, binding = 22) uniform sampler g_sCookieSampler;\n+\tlayout(set = 1, binding = 23) uniform sampler g_sCookieSampler;\n \tlayout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;\n-\tlayout(set = 1, binding = 18) uniform sampler g_sPointClamp;\n-\tlayout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n+\tlayout(set = 1, binding = 19) uniform sampler g_sPointClamp;\n+\tlayout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler;\n \tlayout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth;\n \tlayout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n-\tlayout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;\n \tlayout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;\n \tlayout(set = 1, binding = 41) uniform textureCubeArray g_tFallbackCubemap;\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n@@ -544,100 +544,110 @@ PS\n \t {\n \t _21709 = 1.0;\n \t }\n-\t vec3 _6606 = _21875.xyz;\n-\t float _21710;\n+\t float _8634 = dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735);\n+\t float _12320;\n \t SPIRV_CROSS_BRANCH\n-\t if (PerViewLightingConstantBufferGpu_t._m11 != 0)\n+\t if (_8634 > 0.0)\n \t {\n-\t int _23989;\n-\t int _10191;\n-\t float _13136;\n-\t vec3 _14975;\n-\t int _13039 = 0;\n-\t for (;;)\n+\t float _12503;\n+\t SPIRV_CROSS_BRANCH\n+\t if (PerViewLightingConstantBufferGpu_t._m11 != 0)\n \t {\n-\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))\n+\t int _23989;\n+\t int _10191;\n+\t float _13136;\n+\t vec3 _14975;\n+\t int _13039 = 0;\n+\t for (;;)\n \t {\n-\t _13136 = 1.0;\n-\t _14975 = vec3(0.0);\n-\t _10191 = -1;\n-\t break;\n-\t }\n-\t vec4 _18322 = vec4(_21875.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];\n-\t float _12779 = _18322.x;\n-\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])\n-\t {\n-\t vec3 _19470 = vec3(_12779, _18322.yz);\n-\t vec2 _24804 = _19470.xy;\n-\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));\n-\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;\n-\t vec3 _20488 = _19470;\n-\t _20488.x = _20561.x;\n-\t _20488.y = _20561.y;\n-\t _13136 = saturate(_22193.x * _22193.y);\n-\t _14975 = _20488;\n-\t _10191 = _13039;\n-\t break;\n+\t if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))\n+\t {\n+\t _13136 = 1.0;\n+\t _14975 = vec3(0.0);\n+\t _10191 = -1;\n+\t break;\n+\t }\n+\t vec4 _18322 = vec4(_21875.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];\n+\t float _12779 = _18322.x;\n+\t if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])\n+\t {\n+\t vec3 _19470 = vec3(_12779, _18322.yz);\n+\t vec2 _24804 = _19470.xy;\n+\t vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));\n+\t vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;\n+\t vec3 _20488 = _19470;\n+\t _20488.x = _20561.x;\n+\t _20488.y = _20561.y;\n+\t _13136 = saturate(_22193.x * _22193.y);\n+\t _14975 = _20488;\n+\t _10191 = _13039;\n+\t break;\n+\t }\n+\t _23989 = _13039 + 1;\n+\t _13039 = _23989;\n+\t continue;\n \t }\n-\t _23989 = _13039 + 1;\n-\t _13039 = _23989;\n-\t continue;\n-\t }\n-\t float _18423;\n-\t if (_10191 >= 0)\n-\t {\n-\t float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n-\t float _12501;\n-\t SPIRV_CROSS_BRANCH\n-\t if (_13136 < 1.0)\n+\t float _18423;\n+\t if (_10191 >= 0)\n \t {\n-\t float _7934;\n-\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))\n+\t float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t float _12501;\n+\t SPIRV_CROSS_BRANCH\n+\t if (_13136 < 1.0)\n \t {\n-\t int _15335 = _10191 + 1;\n-\t vec4 _19671 = vec4(_21875.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];\n-\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;\n-\t vec3 _20489;\n-\t _20489.x = _20562.x;\n-\t _20489.y = _20562.y;\n-\t _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t float _7934;\n+\t if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))\n+\t {\n+\t int _15335 = _10191 + 1;\n+\t vec4 _19671 = vec4(_21875.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];\n+\t vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;\n+\t vec3 _20489;\n+\t _20489.x = _20562.x;\n+\t _20489.y = _20562.y;\n+\t _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);\n+\t }\n+\t else\n+\t {\n+\t _7934 = 1.0;\n+\t }\n+\t _12501 = mix(_7934, _18270, _13136);\n \t }\n \t else\n \t {\n-\t _7934 = 1.0;\n+\t _12501 = _18270;\n \t }\n-\t _12501 = mix(_7934, _18270, _13136);\n+\t _18423 = _12501;\n \t }\n \t else\n \t {\n-\t _12501 = _18270;\n+\t _18423 = 1.0;\n \t }\n-\t _18423 = _12501;\n-\t }\n-\t else\n-\t {\n-\t _18423 = 1.0;\n-\t }\n-\t float _13279 = mix(_18423, 1.0, saturate((distance(_19221.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));\n-\t float _12502;\n-\t if (_24464.y)\n-\t {\n-\t _12502 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_17590.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t float _13279 = mix(_18423, 1.0, saturate((distance(_19221.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));\n+\t float _12502;\n+\t if (_24464.y)\n+\t {\n+\t _12502 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_17590.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);\n+\t }\n+\t else\n+\t {\n+\t _12502 = _13279;\n+\t }\n+\t _12503 = _12502;\n \t }\n \t else\n \t {\n-\t _12502 = _13279;\n+\t _12503 = 1.0;\n \t }\n-\t _21710 = _12502;\n+\t _12320 = _12503;\n \t }\n \t else\n \t {\n-\t _21710 = 1.0;\n+\t _12320 = 1.0;\n \t }\n \t vec3 _9716;\n \t vec3 _24878;\n \t SPIRV_CROSS_BRANCH\n-\t if ((dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735) * _21710) > 0.0)\n+\t if ((_8634 * _12320) > 0.0)\n \t {\n \t float _11797 = max(0.0, dot(_10560, PerViewLightingConstantBufferGpu_t._m9.xyz));\n \t vec2 _9840 = max(_21813, vec2(PerViewLightingConstantBufferGpu_t._m9.w));\n@@ -648,7 +658,7 @@ PS\n \t float _25211 = _9850 * _9850;\n \t float _19095 = _25211 * _25211;\n \t float _15346 = ((_12386 * _12386) * (_19095 - 1.0)) + 1.0;\n-\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _21710).xyz;\n+\t vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _12320).xyz;\n \t _9716 = ((_12351.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0) + 2.0)))).xyz * _11797).xyz * _16808;\n \t _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(_11797).xyz * _16808);\n \t }\n@@ -709,6 +719,7 @@ PS\n \t _20344 = _17018 & (_17018 - 1u);\n \t do\n \t {\n+\t vec3 _22962 = _21875.xyz;\n \t vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(_21875.xyz, 1.0);\n \t vec3 _10521 = _24893.xyz / vec3(_24893.w);\n \t vec4 _22905;\n@@ -733,7 +744,7 @@ PS\n \t }\n \t else\n \t {\n-\t _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_6606, 1.0)).xyz), vec3(1.0)));\n+\t _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_22962, 1.0)).xyz), vec3(1.0)));\n \t }\n \t if (_12885)\n \t {\n@@ -770,7 +781,7 @@ PS\n \t float _11633;\n \t if (g_BarnLights_1._m0[_12608]._m2.w != 0.0)\n \t {\n-\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _6606;\n+\t vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _22962;\n \t float _18345 = dot(_10017, _10017);\n \t float _17647 = sqrt(_18345);\n \t vec3 _12302 = _10017 - _16268;\n@@ -848,7 +859,7 @@ PS\n \t }\n \t else\n \t {\n-\t vec3 _12503;\n+\t vec3 _12504;\n \t if (g_BarnLights_1._m0[_12608]._m4.w < 0.0)\n \t {\n \t vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);\n@@ -864,7 +875,7 @@ PS\n \t vec3 _20492 = _14081;\n \t _20492.x = _20564.x;\n \t _20492.y = _20564.y;\n-\t _12503 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;\n \t }\n \t else\n \t {\n@@ -873,9 +884,9 @@ PS\n \t vec3 _20491 = _13791;\n \t _20491.x = _20563.x;\n \t _20491.y = _20563.y;\n-\t _12503 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;\n+\t _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;\n \t }\n-\t _21548 = _12503;\n+\t _21548 = _12504;\n \t }\n \t if (all(equal(_21548.xyz, vec3(0.0))))\n \t {\n@@ -919,9 +930,9 @@ PS\n \t float _19211 = max(0.0, dot(_11179.xyz, _12282));\n \t float _9851 = _9841.x;\n \t float _25212 = _9851 * _9851;\n-\t float _19097 = _25212 * _25212;\n-\t float _15348 = ((_12387 * _12387) * (_19097 - 1.0)) + 1.0;\n-\t _13212 = _13138.xyz + (((_12351.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);\n+\t float _19096 = _25212 * _25212;\n+\t float _15348 = ((_12387 * _12387) * (_19096 - 1.0)) + 1.0;\n+\t _13212 = _13138.xyz + (((_12351.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);\n \t _15670 = _16325.xyz + (vec3(_11798).xyz * _22671.xyz);\n \t break;\n \t } while(false);"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/luminaire.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -273,7 +273,7 @@ PS\n \tlayout(set = 1) uniform _1008 PerViewConstantBuffer_t;\n \t\n \tlayout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;\n-\tlayout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;\n+\tlayout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;\n \t\n \tlayout(location = 0) in vec3 input_0;\n \tlayout(location = 0) out vec4 output_0;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/mboit_mixed_combine.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -154,7 +154,7 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tZeroth_Moment : register(t31, space1);\n-\tSamplerState g_sBilinearClamp : register(s15, space1);\n+\tSamplerState g_sBilinearClamp : register(s16, space1);\n \tTexture2D<float4> g_tMoments : register(t32, space1);\n \tTexture2D<float4> g_tMoments_Extra : register(t33, space1);\n \t"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/mboitfinal.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -134,7 +134,7 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tMoitFinal : register(t30, space1);\n-\tSamplerState g_sPointClamp : register(s18, space1);\n+\tSamplerState g_sPointClamp : register(s19, space1);\n \tTexture2D<float4> g_tZeroth_Moment : register(t31, space1);\n \t\n \tstatic float4 gl_FragCoord;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/overlay_smoke.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -110,7 +110,7 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tSmokeAccum : register(t30, space1);\n-\tSamplerState g_sBilinearClamp : register(s15, space1);\n+\tSamplerState g_sBilinearClamp : register(s16, space1);\n \t\n \tstatic float2 input_0;\n \tstatic float4 output_0;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/post_process.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -181,7 +181,7 @@ PS\n \tlayout(set = 1) uniform _1245 PostProcessingConstantBuffer_t;\n \t\n \tlayout(set = 1, binding = 50) uniform texture2D g_tColorBuffer;\n-\tlayout(set = 1, binding = 25) uniform sampler Filter_MinMagLinearMipPoint;\n+\tlayout(set = 1, binding = 26) uniform sampler Filter_MinMagLinearMipPoint;\n \t\n \tlayout(location = 0) out vec4 output_0;\n \t"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/screenparticlescombine.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -98,7 +98,7 @@ PS\n \t};\n \t\n \tTexture2D<float4> g_tScreenParticles : register(t30, space1);\n-\tSamplerState g_sBilinearClamp : register(s15, space1);\n+\tSamplerState g_sBilinearClamp : register(s16, space1);\n \t\n \tstatic float4 gl_FragCoord;\n \tstatic float4 output_0;"
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/simple.slang",
"status": "modified",
"additions": 0,
"deletions": 0,
"changes": 0,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/sky.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/smoke_volume.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/smoke_volume_depth.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/smoke_volume_lpv.slang",
"status": "modified",
"additions": 4,
"deletions": 4,
"changes": 8,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/spritecard.slang",
"status": "modified",
"additions": 6,
"deletions": 6,
"changes": 12,
"patch": null
},
{
"filename": "game/csgo/shaders_vulkan_dir/shaders/vfx/tools_wireframe.slang",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": null
},
{
"filename": "game/csgo/steam.inf",
"status": "modified",
"additions": 6,
"deletions": 6,
"changes": 12,
"patch": null
},
{
"filename": "manifests/manifest_2347770.txt",
"status": "modified",
"additions": 22,
"deletions": 21,
"changes": 43,
"patch": null
},
{
"filename": "manifests/manifest_2347771.txt",
"status": "modified",
"additions": 66,
"deletions": 65,
"changes": 131,
"patch": null
},
{
"filename": "manifests/manifest_2347773.txt",
"status": "modified",
"additions": 36,
"deletions": 36,
"changes": 72,
"patch": null
},
{
"filename": "manifests/manifest_2347779.txt",
"status": "modified",
"additions": 34,
"deletions": 34,
"changes": 68,
"patch": null
},
{
"filename": "manifests/manifest_731.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": null
},
{
"filename": "manifests/manifest_732.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": null
},
{
"filename": "manifests/manifest_733.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": null
},
{
"filename": "manifests/manifest_734.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": null
},
{
"filename": "manifests/manifest_735.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": null
}
]
},
{
"event_id": "gh:cce7bf1",
"detected_at_utc": "2026-11-13T14:09:50.272Z",
"commit_date_utc": "2026-11-05T00:55:25Z",
"commit": {
"sha": "cce7bf1f190144c1c08fb0fe75fd3c9514f2637f",
"short": "cce7bf1",
"message": "2000942 | 39 files | M\tcontent/csgo_addons/cs_script_demo/maps/scripts/chess.js, M\tcontent/csgo_addons/cs_script_demo/maps/scripts/grenadetraining.js, M\tcontent/csgo_addons/cs_script_demo/maps/scripts/mdlchange.js, M\tcontent/csgo_addons/cs_script_demo/maps/scripts/point_script.d.ts, M\tcontent/csgo_addons/cs_script_demo/maps/scripts/setup.js, M\tgame/bin/built_from_cl.txt, M\tgame/bin/win64/pulse_system_strings.txt, M\tgame/csgo/bin/win64/client_strings.txt, M\tgame/csgo/bin/win64/server_strings.txt, M\tgame/csgo/cfg/gamemode_retakecasual.cfg, M\tgame/csgo/pak01_dir.txt, M\tgame/csgo/pak01_dir/maps/de_ancient_night_retake.txt, M\tgame/csgo/pak01_dir/maps/de_ancient_retake.txt, M\tgame/csgo/pak01_dir/maps/de_anubis_retake.txt, M\tgame/csgo/pak01_dir/maps/de_cache_retake.txt, M\tgame/csgo/pak01_dir/maps/de_dust2_retake.txt, M\tgame/csgo/pak01_dir/maps/de_inferno_retake.txt, M\tgame/csgo/pak01_dir/maps/de_mirage_retake.txt, M\tgame/csgo/pak01_dir/maps/de_nuke_retake.txt, M\tgame/csgo/pak01_dir/maps/de_overpass_retake.txt, M\tgame/csgo/pak01_dir/maps",
"url": "https://github.com/SteamTracking/GameTracking-CS2/commit/cce7bf1f190144c1c08fb0fe75fd3c9514f2637f"
},
"classification": {
"tags": [
"scripts",
"ui",
"assets",
"misc",
"content-change"
],
"important_files": [
"content/csgo_addons/cs_script_demo/maps/scripts/chess.js",
"content/csgo_addons/cs_script_demo/maps/scripts/grenadetraining.js",
"content/csgo_addons/cs_script_demo/maps/scripts/mdlchange.js",
"content/csgo_addons/cs_script_demo/maps/scripts/point_script.d.ts",
"content/csgo_addons/cs_script_demo/maps/scripts/setup.js",
"game/csgo/pak01_dir/maps/de_ancient_night_retake.txt",
"game/csgo/pak01_dir/maps/de_ancient_retake.txt",
"game/csgo/pak01_dir/maps/de_anubis_retake.txt",
"game/csgo/pak01_dir/maps/de_cache_retake.txt",
"game/csgo/pak01_dir/maps/de_dust2_retake.txt",
"game/csgo/pak01_dir/maps/de_inferno_retake.txt",
"game/csgo/pak01_dir/maps/de_mirage_retake.txt",
"game/csgo/pak01_dir/maps/de_nuke_retake.txt",
"game/csgo/pak01_dir/maps/de_overpass_retake.txt",
"game/csgo/pak01_dir/maps/de_train_retake.txt",
"game/csgo/pak01_dir/maps/de_vertigo_retake.txt",
"game/csgo/pak01_dir/panorama/styles/retakeloadout.css",
"game/csgo/pak01_dir/scripts/workshop_cvar_whitelist.txt",
"game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/chess.js",
"game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/grenadetraining.js",
"game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/mdlchange.js",
"game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/setup.js"
]
},
"ai_summary": "Assets/UI/maps update (content/csgo_addons/cs_script_demo/maps/scripts/chess.js, content/csgo_addons/cs_script_demo/maps/scripts/grenadetraining.js, content/csgo_addons/cs_script_demo/maps/scripts/mdlchange.js).",
"stats": {
"files_changed": 39,
"additions": 597,
"deletions": 515
},
"files": [
{
"filename": "content/csgo_addons/cs_script_demo/maps/scripts/chess.js",
"status": "modified",
"additions": 10,
"deletions": 10,
"changes": 20,
"patch": "@@ -1,6 +1,6 @@\n // @ts-nocheck\n \n-import { Instance, PointTemplate } from \"cs_script/point_script\";\n+import { Instance, PointTemplate, Entities } from \"cs_script/point_script\";\n \n function ChessJS() {\n /**\n@@ -3474,7 +3474,7 @@ let chess = new Chess();\n \n const centers = {};\n function FindCenters() {\n- const entities = Instance.FindEntitiesByClass(\"info_target\");\n+ const entities = Entities.FindByClass(\"info_target\");\n for (const ent of entities) {\n const name = ent.GetEntityName();\n if (/^[a-h][1-8]$/.test(name)) {\n@@ -3501,14 +3501,14 @@ async function RunChess() {\n await AnimateMove(move);\n }\n \n- Instance.EntFireAtName({ name: `snd.chess.${chess.turn()}.win`, input: \"StartSound\" });\n+ Entities.FireInput({ name: `snd.chess.${chess.turn()}.win`, input: \"StartSound\" });\n Instance.SetNextThink(Instance.GetGameTime() + 10);\n bIsRunning = false;\n }\n \n function RenderPieces() {\n /** @type{import(\"cs_script/point_script\").BaseModelEntity[]} */\n- const existing = Instance.FindEntitiesByName(\"chess.piece.*\");\n+ const existing = Entities.FindByName(\"chess.piece.*\");\n \n for (const line of chess.board()) {\n for (const square of line) {\n@@ -3545,12 +3545,12 @@ function RenderPieces() {\n }\n \n function PlaySoundOnEnt(soundEntName, targetEntName) {\n- Instance.EntFireAtName({ name: soundEntName, input: \"SetSourceEntity\", value: targetEntName });\n- Instance.EntFireAtName({ name: soundEntName, input: \"StartSound\" });\n+ Entities.FireInput({ name: soundEntName, input: \"SetSourceEntity\", value: targetEntName });\n+ Entities.FireInput({ name: soundEntName, input: \"StartSound\" });\n }\n \n async function AnimateMove(move) {\n- const piece = Instance.FindEntitiesByName(`chess.piece.${move.color}.${move.piece}`).find((p) => p.square === move.from);\n+ const piece = Entities.FindByName(`chess.piece.${move.color}.${move.piece}`).find((p) => p.square === move.from);\n if (!piece) {\n RenderPieces();\n return;\n@@ -3568,7 +3568,7 @@ async function AnimateMove(move) {\n if (move.isCapture()) {\n PlaySoundOnEnt(\"chess.snd.capture\", piece.GetEntityName());\n const capturedColor = move.color === WHITE ? BLACK : WHITE;\n- const captured = Instance.FindEntitiesByName(`chess.piece.${capturedColor}.${move.captured}`).find((p) => p.square === move.to);\n+ const captured = Entities.FindByName(`chess.piece.${capturedColor}.${move.captured}`).find((p) => p.square === move.to);\n if (captured) {\n await DiePiece(captured);\n }\n@@ -3623,9 +3623,9 @@ async function DiePiece(piece) {\n }\n \n function SpawnPiece(type, color) {\n- let spawner = Instance.FindEntityByName(`chess.template.${type}.${color}`);\n+ let [spawner] = Entities.FindByName(`chess.template.${type}.${color}`);\n if (!spawner) {\n- spawner = Instance.FindEntityByName(`chess.template.${type}`);\n+ [spawner] = Entities.FindByName(`chess.template.${type}`);\n }\n if (spawner instanceof PointTemplate) {\n const spawned = spawner.ForceSpawn();"
},
{
"filename": "content/csgo_addons/cs_script_demo/maps/scripts/grenadetraining.js",
"status": "modified",
"additions": 32,
"deletions": 32,
"changes": 64,
"patch": "@@ -1,4 +1,4 @@\n-import { Console, Entity, Instance } from \"cs_script/point_script\";\n+import { Console, Entity, Instance, Entities } from \"cs_script/point_script\";\n \n let Rounds = 0;\n let Hits = 0;\n@@ -11,9 +11,9 @@ let TargetHard = \"targetbox.hard\";\n function SetNextTarget() {\n Rounds++;\n \n- Instance.EntFireAtName({ name: \"worldtext.rounds\", input: \"SetMessage\", value: Rounds });\n- Instance.EntFireAtName({ name: \"cover.*\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"tele.reset\", input: \"Teleport\" });\n+ Entities.FireInput({ name: \"worldtext.rounds\", input: \"SetMessage\", value: Rounds });\n+ Entities.FireInput({ name: \"cover.*\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"tele.reset\", input: \"Teleport\" });\n \n // Roll 1-11, if it duplicates last value choose value 12.\n let NewTarget = Math.floor(Math.random() * 11) + 1;\n@@ -24,27 +24,27 @@ function SetNextTarget() {\n if (Rounds > 7) difficulty = \"hard\";\n else if (Rounds > 4) difficulty = \"med\";\n \n- Instance.EntFireAtName({ name: `cover.${Target}`, input: \"Disable\" });\n- Instance.EntFireAtName({ name: `tele.${Target}`, input: \"TeleportEntity\", value: `targetbox.${difficulty}` });\n+ Entities.FireInput({ name: `cover.${Target}`, input: \"Disable\" });\n+ Entities.FireInput({ name: `tele.${Target}`, input: \"TeleportEntity\", value: `targetbox.${difficulty}` });\n }\n \n // called if player leaves play area at any time\n Instance.OnScriptInput(\"ResetAndCleanUp\", () => {\n- Instance.EntFireAtName({ name: \"trigger.start\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"trigger.end_early\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"worldtext.go_here\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"relay.start_countdown\", input: \"CancelPending\" });\n-\n- Instance.EntFireAtName({ name: \"worldtext.training_countdown_dyn\", input: \"SetMessage\", value: \"3\" });\n- Instance.EntFireAtName({ name: \"worldtext.training_countdown_static\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"worldtext.training_countdown_dyn\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"board.timer\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"board.timer\", input: \"ResetTimer\" });\n- Instance.EntFireAtName({ name: \"snd.tick\", input: \"StopSound\" });\n- Instance.EntFireAtName({ name: \"tele.reset\", input: \"Teleport\" });\n- Instance.EntFireAtName({ name: \"cover.*\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"worldtext.hits\", input: \"SetMessage\", value: \"0\" });\n- Instance.EntFireAtName({ name: \"worldtext.rounds\", input: \"SetMessage\", value: \"0\" });\n+ Entities.FireInput({ name: \"trigger.start\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"trigger.end_early\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"worldtext.go_here\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"relay.start_countdown\", input: \"CancelPending\" });\n+\n+ Entities.FireInput({ name: \"worldtext.training_countdown_dyn\", input: \"SetMessage\", value: \"3\" });\n+ Entities.FireInput({ name: \"worldtext.training_countdown_static\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"worldtext.training_countdown_dyn\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"board.timer\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"board.timer\", input: \"ResetTimer\" });\n+ Entities.FireInput({ name: \"snd.tick\", input: \"StopSound\" });\n+ Entities.FireInput({ name: \"tele.reset\", input: \"Teleport\" });\n+ Entities.FireInput({ name: \"cover.*\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"worldtext.hits\", input: \"SetMessage\", value: \"0\" });\n+ Entities.FireInput({ name: \"worldtext.rounds\", input: \"SetMessage\", value: \"0\" });\n \n Console.SetConvar(\"sv_infinite_ammo\", 0);\n const player = Instance.GetPlayerController(0)?.GetPlayerPawn();\n@@ -53,10 +53,10 @@ Instance.OnScriptInput(\"ResetAndCleanUp\", () => {\n });\n \n Instance.OnScriptInput(\"StartTraining\", () => {\n- Instance.EntFireAtName({ name: \"trigger.start\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"trigger.end_early\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"worldtext.go_here\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"relay.start_countdown\", input: \"Trigger\" });\n+ Entities.FireInput({ name: \"trigger.start\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"trigger.end_early\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"worldtext.go_here\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"relay.start_countdown\", input: \"Trigger\" });\n \n Console.SetConvar(\"sv_infinite_ammo\", 1);\n const player = Instance.GetPlayerController(0)?.GetPlayerPawn();\n@@ -70,8 +70,8 @@ Instance.OnScriptInput(\"StartTraining\", () => {\n // called from grenade trigger inside target area\n Instance.OnScriptInput(\"GrenadeHit\", () => {\n Hits++;\n- Instance.EntFireAtName({ name: \"snd.hit\", input: \"StartSound\" });\n- Instance.EntFireAtName({ name: \"worldtext.hits\", input: \"SetMessage\", value: Hits });\n+ Entities.FireInput({ name: \"snd.hit\", input: \"StartSound\" });\n+ Entities.FireInput({ name: \"worldtext.hits\", input: \"SetMessage\", value: Hits });\n if (trackedProjectile && trackedProjectile.IsValid()) {\n trackedProjectile.Remove();\n trackedProjectile = undefined;\n@@ -83,11 +83,11 @@ Instance.OnScriptInput(\"SetNextTarget\", () => {\n if (Rounds < 10) {\n SetNextTarget();\n } else {\n- Instance.EntFireAtName({ name: \"snd.end\", input: \"StartSound\" });\n- Instance.EntFireAtName({ name: \"board.timer\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"board.timer\", input: \"ResetTimer\" });\n- Instance.EntFireAtName({ name: \"tele.reset\", input: \"Teleport\" });\n- Instance.EntFireAtName({ name: \"cover.*\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"snd.end\", input: \"StartSound\" });\n+ Entities.FireInput({ name: \"board.timer\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"board.timer\", input: \"ResetTimer\" });\n+ Entities.FireInput({ name: \"tele.reset\", input: \"Teleport\" });\n+ Entities.FireInput({ name: \"cover.*\", input: \"Enable\" });\n }\n });\n "
},
{
"filename": "content/csgo_addons/cs_script_demo/maps/scripts/mdlchange.js",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,7 +1,7 @@\n-import { Instance, BaseModelEntity, Console } from \"cs_script/point_script\";\n+import { Instance, BaseModelEntity, Console, Entities } from \"cs_script/point_script\";\n \n function GetProp() {\n- const ent = Instance.FindEntityByName(\"mdlchange.prop_dyn\");\n+ const [ent] = Entities.FindByName(\"mdlchange.prop_dyn\");\n if (ent instanceof BaseModelEntity) return ent;\n }\n function Init() {"
},
{
"filename": "content/csgo_addons/cs_script_demo/maps/scripts/point_script.d.ts",
"status": "modified",
"additions": 58,
"deletions": 21,
"changes": 79,
"patch": "@@ -43,12 +43,15 @@ declare module \"cs_script/point_script\"\n \n export const GameRules: IGameRules;\n \n+ export const Entities: IEntities;\n+\n type Vector = { x: number, y: number, z: number };\n type RotationVector = { x: number, y: number, z: number };\n type QAngle = { pitch: number, yaw: number, roll: number };\n type ColorArg = { r: number, g: number, b: number, a?: number };\n type Color = { r: number, g: number, b: number, a: number };\n type InputValue = boolean | number | string | Vector | Color | undefined;\n+ type EntityKeyValue = boolean | number | string | Vector | QAngle;\n \n /**\n * The API provided to scripts attached to a point_script entity.\n@@ -110,6 +113,8 @@ declare module \"cs_script/point_script\"\n OnPlayerDisconnect(callback: (event: { playerSlot: number }) => void): void;\n /** Called when a player respawns, changes team, or is placed back at spawn due to a round restart */\n OnPlayerReset(callback: (event: { player: CSPlayerPawn }) => void): void\n+ /** Called when a player takes or releases control of a bot. */\n+ OnBotControl(callback: (event: { controller: CSPlayerController }) => void): void;\n /** Called when a player changes team */\n OnPlayerTeamChanged(callback: (event: { player: CSPlayerPawn, oldTeam: number }) => void): void\n /** Called when a new round begins */\n@@ -191,23 +196,6 @@ declare module \"cs_script/point_script\"\n /** Called when a button in a CustomHudLayout is clicked. */\n OnCustomHudClicked( callback: (event: {player: CSPlayerController, layout: CustomHudLayout, buttonId: string}) => void ): void;\n \n- /** Fire the input on all targets matching the specified names. */\n- EntFireAtName(config: { name: string, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;\n- /** Fire the input on the specified target. */\n- EntFireAtTarget(config: { target: Entity, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;\n- /** Connect the output of an entity to a callback. The return value is a connection id that can be used in `DisconnectOutput` */\n- ConnectOutput(target: Entity, output: string, callback: (inputData: { value?: InputValue, caller?: Entity, activator?: Entity }) => any): number | undefined;\n- /** Find entities by name. */\n- DisconnectOutput(connectionId: number): void;\n-\n- /** Find the first entity matching the specified name. */\n- FindEntityByName(name: string): Entity | undefined;\n- /** Find entities matching the specified name. */\n- FindEntitiesByName(name: string): Entity[];\n- /** Find the first entity of the specified class name. */\n- FindEntityByClass(className: string): Entity | undefined;\n- /** Find entities of the specified class name. */\n- FindEntitiesByClass(className: string): Entity[];\n /** Get the player controller in the given slot. */\n GetPlayerController(playerSlot: number): CSPlayerController | undefined;\n /** Get all the player controllers. Includes disconnected players. */\n@@ -240,11 +228,12 @@ declare module \"cs_script/point_script\"\n \n /**\n * Loads resources on the server and clients to avoid hitches when later referenced.\n- * Supports .vmdl, .vpcf, .vmat, and .vsnd resources.\n+ * `resources` supports .vmdl, .vpcf, .vmat, and .vsnd resources.\n+ * `entities` takes entity class names or subclass names.\n * @experimental This feature is experimental and may experience breaking changes.\n * Please send feedback to CSGOTeamFeedback@valvesoftware.com with \"cs_script Feedback\" in the subject line.\n */\n- Precache(config: { resources: string[] }): CSPrecache | undefined;\n+ Precache(config: { resources?: string[], entities?: string[] }): CSPrecache | undefined;\n \n /** @deprecated This method will be removed in a future update */\n OnBeforePlayerDamage(callback: () => any): void;\n@@ -260,9 +249,13 @@ declare module \"cs_script/point_script\"\n DebugBox(mins: Vector, maxs: Vector, duration: number, color: ColorArg): void;\n /** @deprecated This overload will be removed in a future update */\n DebugSphere(center: Vector, radius: number, duration: number, color: ColorArg): void;\n- /** @deprecated This overload will be removed in a future update */\n+ /** @deprecated This method will be removed in a future update */\n+ EntFireAtName(config: { name: string, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;\n+ /** @deprecated This method will be removed in a future update */\n EntFireAtName(name: string, input: string, inputData?: InputValue | { value?: InputValue, caller?: Entity, activator?: Entity }, delay?: number): void;\n- /** @deprecated This overload will be removed in a future update */\n+ /** @deprecated This method will be removed in a future update */\n+ EntFireAtTarget(config: { target: Entity, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;\n+ /** @deprecated This method will be removed in a future update */\n EntFireAtTarget(target: Entity, input: string, inputData?: InputValue | { value?: InputValue, caller?: Entity, activator?: Entity }, delay?: number): void;\n /** @deprecated This method will be removed in a future update */\n Msg(text: any): void;\n@@ -286,6 +279,18 @@ declare module \"cs_script/point_script\"\n SetRoundRemainingTime(time: number): void;\n /** @deprecated This method will be removed in a future update */\n AddTeamMoney(team: number, reason: CSTeamMoneyReason, amount?: number): void;\n+ /** @deprecated This method will be removed in a future update */\n+ FindEntityByName(name: string): Entity | undefined;\n+ /** @deprecated This method will be removed in a future update */\n+ FindEntitiesByName(name: string): Entity[];\n+ /** @deprecated This method will be removed in a future update */\n+ FindEntityByClass(className: string): Entity | undefined;\n+ /** @deprecated This method will be removed in a future update */\n+ FindEntitiesByClass(className: string): Entity[];\n+ /** @deprecated This method will be removed in a future update */\n+ ConnectOutput(target: Entity, output: string, callback: (inputData: { value?: InputValue, caller?: Entity, activator?: Entity }) => any): number | undefined;\n+ /** @deprecated This method will be removed in a future update */\n+ DisconnectOutput(connectionId: number): void;\n }\n \n /**\n@@ -362,6 +367,32 @@ declare module \"cs_script/point_script\"\n AddTeamMoney(team: number, reason: CSTeamMoneyReason, amount?: number): void;\n }\n \n+ /**\n+ * An API provided to scripts for general entity interaction.\n+ * Access these functions by importing Entities from \"cs_script/point_script\".\n+ */\n+ interface IEntities\n+ {\n+ /**\n+ * Spawns a set of entities.\n+ * @experimental This feature is experimental and may experience breaking changes.\n+ * Please send feedback to CSGOTeamFeedback@valvesoftware.com with \"cs_script Feedback\" in the subject line.\n+ */\n+ Spawn(entities: ({ classname: string, origin?: Vector, angles?: QAngle } & { [key: string]: EntityKeyValue })[]): Entity[];\n+\n+ /** Find all entities with the specified name. */\n+ FindByName(name: string): Entity[];\n+ /** Find all entities of the specified class name. */\n+ FindByClass(className: string): Entity[];\n+\n+ /** Fire the input on all entities with the specified name. */\n+ FireInput(config: { name: string, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;\n+ /** Connect the output of an entity to a callback. The return value is a connection id that can be used in `DisconnectOutput` */\n+ ConnectOutput(config: { target: Entity, output: string, callback: (inputData: { value?: InputValue, caller?: Entity, activator?: Entity }) => any }): number | undefined;\n+ /** Disconnect an output connection made by `ConnectOutput`. */\n+ DisconnectOutput(connectionId: number): void;\n+ }\n+\n export enum CSMoveType {\n INVALID = -1,\n NONE,\n@@ -806,6 +837,8 @@ declare module \"cs_script/point_script\"\n TakeDamage(takeDamage: EntityDamage): number;\n Kill(): void;\n Remove(): void;\n+ /** Fire the input on this entity. */\n+ FireInput(config: { input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;\n \n /** @deprecated This overload will be removed in a future update */\n Teleport(newPosition: Vector | null, newAngles: QAngle | null, newVelocity: Vector | null): void;\n@@ -927,6 +960,8 @@ declare module \"cs_script/point_script\"\n GetPlayerName(): string;\n GetPlayerPawn(): CSPlayerPawn | undefined;\n GetObserverPawn(): CSObserverPawn | undefined;\n+ IsControllingBot(): boolean;\n+ GetControlledBotPawn(): CSPlayerPawn | undefined;\n GetScore(): number;\n /** Add to the player's score. Negative values are allowed but the score will not go below zero. */\n AddScore(points: number): void;\n@@ -961,6 +996,8 @@ declare module \"cs_script/point_script\"\n GetPlayerController(): CSPlayerController | undefined;\n /** Gets the controller that this player pawn was originally spawned for. */\n GetOriginalPlayerController(): CSPlayerController;\n+ /** Reset the player to full health and ammo. If dead they will be alive with the default weapon loadout. Cancels any bot takeover. */\n+ Reset(): void;\n /** @returns `true` if specified inputs are pressed at the end of the current tick. */\n IsInputPressed(inputs: CSInputs): boolean;\n /** @returns `true` if specified inputs went from released to pressed at some point during the current tick. */"
},
{
"filename": "content/csgo_addons/cs_script_demo/maps/scripts/setup.js",
"status": "modified",
"additions": 12,
"deletions": 5,
"changes": 17,
"patch": "@@ -1,4 +1,4 @@\n-import { CSDamageFlags, CSDamageTypes, Entity, Instance, Console } from \"cs_script/point_script\";\n+import { CSDamageFlags, CSDamageTypes, Entity, Instance, Console, Entities } from \"cs_script/point_script\";\n \n Console.SetConvar(\"sv_cheats\", true);\n Console.SetConvar(\"mp_warmup_offline_enabled\", true);\n@@ -16,12 +16,19 @@ Instance.OnPlayerActivate(({ player }) => {\n ShowWelcome(player.GetPlayerSlot());\n });\n \n-Instance.OnModifyPlayerDamage(({ player }) => {\n- if (player.GetOriginalPlayerController().IsBot()) {\n+Instance.OnModifyPlayerDamage(({ player, damageTypes }) => {\n+ if (player.GetOriginalPlayerController().IsBot() && !(damageTypes & CSDamageTypes.BLAST)) {\n return { damageFlags: CSDamageFlags.PREVENT_DEATH };\n }\n });\n \n+Instance.OnPlayerKill(async ({ player }) => {\n+ await Instance.Delay(1);\n+ if (player.IsValid() && !player.IsAlive()) {\n+ player.Reset();\n+ }\n+});\n+\n Instance.OnPlayerDamage((event) => {\n if (event.damageTypes == CSDamageTypes.SLASH) {\n Instance.QueueAfterThinks(() => {\n@@ -35,9 +42,9 @@ Instance.OnPlayerDamage((event) => {\n let welcomeLayout = null;\n function GetWelcomeLayout() {\n if (!(welcomeLayout instanceof Entity) || !welcomeLayout.IsValid()) {\n- welcomeLayout = Instance.FindEntitiesByName(\"welcome_layout\")[0];\n+ [welcomeLayout] = Entities.FindByName(\"welcome_layout\");\n }\n- return Instance.FindEntitiesByName(\"welcome_layout\")[0];\n+ return Entities.FindByName(\"welcome_layout\")[0];\n }\n \n function ShowWelcome(playerSlot) {"
},
{
"filename": "game/bin/built_from_cl.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -1 +1 @@\n-11198114\n+11206685"
},
{
"filename": "game/bin/win64/pulse_system_strings.txt",
"status": "modified",
"additions": 3,
"deletions": 0,
"changes": 3,
"patch": "@@ -39,6 +39,7 @@\n %s:autowake\n %s:interrupt\n %s:wait\n+%s_c\n (%s:%d)\n (debug)\n *** Test failure: \"%s\"\n@@ -863,6 +864,7 @@ PrintStringWithLeafSuggestions: %s\\n\n Probable infinite loop detected! Terminating pulse cursor after %d consecutive instructions (%s)\n Probable runaway cursor creation detected! Permanently disabling this graph instance (%s)\n Process Selector\n+Pulse graphs not allowed from untrusted addons.\\n\n Pulse system: minimal vpulse definition loading enabled - graphs may be incomplete!\\n\n Pulse: %s \n PulseSystemEventCursorResult_t\n@@ -1364,6 +1366,7 @@ propattr_flatten_into_parent_row\n propdataname\n public_output::%s\n public_output::%s::%s\n+pulse/pulse_enabled_for_untrusted_addons\n pulse_bindings\n pulse_editor\n pulse_fingerprints"
},
{
"filename": "game/csgo/bin/win64/client_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -21990,6 +21990,7 @@ RestorePetItemData\n ResurrectedUnreachables%d\n RetakeLoadout\n RetakeLoadoutMenu--loadout-container-%d\n+RetakeLoadoutMenu--loadout-container-0\n RetakeLoadoutMenuCardContainer\n RetakeLoadoutMenuLoadoutContainer\n Retakes"
},
{
"filename": "game/csgo/bin/win64/server_strings.txt",
"status": "modified",
"additions": 37,
"deletions": 4,
"changes": 41,
"patch": "@@ -985,6 +985,7 @@ $tH@T\\tI\n %.3f sec delay\n %.5f (%.5f)\n %.6f\n+%.9g %.9g %.9g\n %0*d\n %0.15f\n %0.21f\n@@ -1525,18 +1526,23 @@ $tH@T\\tI\n (command: string)\n (config:{before?:function,after?:function})\n (config:{center: Vector, radius: number, duration: number, color: Color})\n+(config:{input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number})\n (config:{mins: Vector, maxs: Vector, duration: number, color: Color})\n (config:{name: string, input: string, value:any, caller:Entity, activator:Entity, delay:number})\n-(config:{resources: string[]})\n+(config:{name: string, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number})\n+(config:{resources?: string[], entities?: string[]})\n (config:{start: Vector, end: Vector, duration: number, color: Color})\n (config:{target: Entity, input: string, value:any, caller:Entity, activator:Entity, delay:number})\n+(config:{target: Entity, output: string, callback: function})\n (config:{text: string, x: number, y: number, duration: number, color: Color})\n+(connectionId: number)\n (connectionId:number)\n (damage: number, info?: Object)\n (data: string)\n (debug)\n (default)\n (delay: number)\n+(entities:{classname: string, origin?: Vector, angles?: QAngle, [key: string]: EntityKeyValue}[])\n (entmodel:Entity,index?:number)\n (exception)\n (followConfig: CameraFollowConfig)\n@@ -2632,6 +2638,7 @@ $tH@T\\tI\n .?AV?$CEntitySpawnerBase@VCTriggerMultiple@@@@\n .?AV?$CEntitySpawnerBase@VCVoteController@@@@\n .?AV?$CEntitySpawnerBase@VCWorld@@@@\n+.?AV?$CEntityWithSubclassSpawner@VCBaseEntity@@@@\n .?AV?$CErrorContextValue@PEBVKeyValues3@@@@\n .?AV?$CFixedSizeCircularBuffer@UCDebugSnapshotFrame_t@@$0HNA@H@@\n .?AV?$CFixedSizeCircularBuffer@UShootPositionHistoryEntry_t@CCSPlayer_WeaponServices@@$0CA@H@@\n@@ -8412,6 +8419,7 @@ $tH@T\\tI\n ?BooleanValue@Value@v8@@QEBA_NPEAVIsolate@2@@Z\n ?Call@Function@v8@@QEAA?AV?$MaybeLocal@VValue@v8@@@2@V?$Local@VContext@v8@@@2@V?$Local@VValue@v8@@@2@HQEAV52@@Z\n ?CompileModule@ScriptCompiler@v8@@SA?AV?$MaybeLocal@VModule@v8@@@2@PEAVIsolate@2@PEAVSource@12@W4CompileOptions@12@W4NoCacheReason@12@@Z\n+?CreateDataProperty@Object@v8@@QEAA?AV?$Maybe@_N@2@V?$Local@VContext@v8@@@2@IV?$Local@VValue@v8@@@2@@Z\n ?CreateHandle@HandleScope@v8@@KAPEA_KPEAVIsolate@internal@2@_K@Z\n ?CreateSyntheticModule@Module@v8@@SA?AV?$Local@VModule@v8@@@2@PEAVIsolate@2@V?$Local@VString@v8@@@2@AEBV?$MemorySpan@$$CBV?$Local@VString@v8@@@v8@@@2@P6A?AV?$MaybeLocal@VValue@v8@@@2@V?$Local@VContext@v8@@@2@V32@@Z@Z\n ?CurrentStackTrace@StackTrace@v8@@SA?AV?$Local@VStackTrace@v8@@@2@PEAVIsolate@2@HW4StackTraceOptions@12@@Z\n@@ -8438,6 +8446,7 @@ $tH@T\\tI\n ?GetLineNumber@Message@v8@@QEBA?AV?$Maybe@H@2@V?$Local@VContext@v8@@@2@@Z\n ?GetLocation@StackFrame@v8@@QEBA?AVLocation@2@XZ\n ?GetMicrotaskQueue@Context@v8@@QEAAPEAVMicrotaskQueue@2@XZ\n+?GetOwnPropertyNames@Object@v8@@QEAA?AV?$MaybeLocal@VArray@v8@@@2@V?$Local@VContext@v8@@@2@@Z\n ?GetPromise@Resolver@Promise@v8@@QEAA?AV?$Local@VPromise@v8@@@3@XZ\n ?GetScriptName@StackFrame@v8@@QEBA?AV?$Local@VString@v8@@@2@XZ\n ?GetStackTrace@Exception@v8@@SA?AV?$Local@VStackTrace@v8@@@2@V?$Local@VValue@v8@@@2@@Z\n@@ -8473,7 +8482,6 @@ $tH@T\\tI\n ?NewInstance@Function@v8@@QEBA?AV?$MaybeLocal@VObject@v8@@@2@V?$Local@VContext@v8@@@2@HQEAV?$Local@VValue@v8@@@2@@Z\n ?PerformMicrotaskCheckpoint@Isolate@v8@@QEAAXXZ\n ?Resolve@Resolver@Promise@v8@@QEAA?AV?$Maybe@_N@3@V?$Local@VContext@v8@@@3@V?$Local@VValue@v8@@@3@@Z\n-?Set@Object@v8@@QEAA?AV?$Maybe@_N@2@V?$Local@VContext@v8@@@2@IV?$Local@VValue@v8@@@2@@Z\n ?Set@Object@v8@@QEAA?AV?$Maybe@_N@2@V?$Local@VContext@v8@@@2@V?$Local@VValue@v8@@@2@1@Z\n ?Set@Template@v8@@QEAAXV?$Local@VName@v8@@@2@V?$Local@VData@v8@@@2@W4PropertyAttribute@2@@Z\n ?SetAlignedPointerInInternalField@Object@v8@@QEAAXHPEAX@Z\n@@ -14444,6 +14452,7 @@ FindAllByTarget\n FindAllInSphere\n FindAllMatchingSnapshots\n FindBestGoal: Calling GetNearestNavAreaAndGravityOrientedGoalPos defaultGravity[%s]\n+FindByClass\n FindByClassname\n FindByClassnameNearest\n FindByClassnameWithin\n@@ -14492,6 +14501,7 @@ FireEntityIOInputVec\n FireEvent: event '%s' not registered.\\n\n FireGameEvent\n FireGameEventLocal\n+FireInput\n Fired after spawning an instance of this template.\n Fired when a round starts.\n Fired when a round winner is determined.\n@@ -14939,6 +14949,7 @@ GetConst R%d <- C%d (%s)\n GetContext\n GetContext( name ): looks up a context and returns it if available. May return string, float, or null (if the context isn't found).\n GetContextForScript\n+GetControlledBotPawn\n GetController\n GetController() : Returns the controller for this pawn\n GetConvarBoolean\n@@ -15640,6 +15651,7 @@ IsClient\n IsClientLoaded\n IsClientLoading\n IsConnected\n+IsControllingBot\n IsCrouched\n IsCrouching\n IsDedicatedServer\n@@ -16149,16 +16161,25 @@ Metal.Medium\n Metal.SawbladeStick\n Metal.Small\n Method %s.%s cannot be used on official servers.\n+Method %s.%s invoked by a script with no parent entity.\n Method %s.%s invoked in incorrect scope.\n+Method %s.%s invoked on an invalid entity.\n Method %s.%s invoked with bad '%s' property for argument %d (%s). Got %s.\n+Method %s.%s invoked with bad 'angles' for entities[%d]. Got %s.\n+Method %s.%s invoked with bad 'origin' for entities[%d]. Got %s.\n+Method %s.%s invoked with bad classname for entities[%d]. Got %s.\n+Method %s.%s invoked with bad entities[%d]. Got %s.\n Method %s.%s invoked with bad value for argument %d (%s). Got %s.\n Method %s.%s invoked with bad value for argument 0 (reason). Got %s.\n Method %s.%s invoked with bad value for argument 0 (team). Got %s.\n+Method %s.%s invoked with bad value for key \"%s\" for entities[%d]. Got %s.\n Method %s.%s invoked with incompatible value for convar \"%s\". %s cannot be converted to %s.\n Method %s.%s invoked with incorrect 'this' value.\n Method %s.%s invoked with missing '%s' property for argument %d (%s).\n Method %s.%s invoked with name of incompatible convar \"%s\". Use %s.%s.\n Method %s.%s invoked with name of unknown convar \"%s\".\n+Method %s.%s invoked with output \"%s\", which %s does not have.\n+Method %s.%s invoked with reserved key \"%s\" for entities[%d].\n Method %s.%s invoked with unrecognized 'this' value.\n Method %s.%s requires %d argument%s but got %d. %s\n Method CSPlayerPawn.GetCustomCamera failed to spawn a custom_player_camera.\n@@ -16188,8 +16209,10 @@ Method Instance.EntFireAtTarget invoked with bad value for argument 0 (target).\n Method Instance.EntFireAtTarget invoked with bad value for argument 1 (input). Got %s.\n Method Instance.EntFireAtTarget invoked with bad value for argument 2 (inputData). Got %s.\n Method Instance.Precache failed.\n+Method Instance.Precache invoked with bad entity \"%s\". It is not an entity classname or subclass.\n Method Instance.Precache invoked with bad resource \"%s\".\n Method Instance.Precache invoked with bad resource \"%s\". There is no compiled \"%s_c\".\n+Method Instance.Precache invoked with no resources or entities.\n Method Instance.SpawnGrenadeProjectile requires at least thrower or position be specified.\n Microsoft CSP Name\n Microsoft Commercial Code Signing\n@@ -16644,6 +16667,7 @@ OnBombExplode\n OnBombPlant\n OnBombPlantAbort\n OnBombPlantStart\n+OnBotControl\n OnBufferNotStarved(), resolved starve queue\\n\n OnBulletImpact\n OnCase%02d\n@@ -16745,7 +16769,6 @@ Out:\\n%s\n Outflow List\n Output\n Output connection not found\\n\n-Output not found: \"%s\"\\n\n OutputConnection:\n OutputConnection:%d\n Outro Playback Rate\n@@ -21526,6 +21549,7 @@ ca dn length mismatch\n ca dn too long\n caIssuers\n caRepository\n+cable_*\n cableclass\n callback\n called a function that was disabled at compile-time\n@@ -21835,6 +21859,7 @@ conflicting engine id\n connect error\n connection id is different\n connection type not set\n+connectionId\n cons: \n cont [ %d ]\n contains\n@@ -21951,7 +21976,7 @@ cs_rush\n cs_script/%s\n cs_shelter\n cs_siege\n-cs_spawn_group_resources\n+cs_spawn_group_precache\n cs_thunder\n cs_usercmd.proto\n cs_win_panel_match\n@@ -22715,6 +22740,7 @@ entindex_ability\n entindex_attacker\n entindex_inflictor\n entindex_killed\n+entities\n entity %s at %s has physics attachment to more than one entity with the name %s!!!\\n\n entity context menu\n entityArray\n@@ -23124,6 +23150,7 @@ fullname\n fullpos\n func(%lu)\n func_\n+func_*\n func_areaportal\n func_breakable with invalid propdata %d.\\n\n func_breakable_surf\n@@ -23830,6 +23857,7 @@ info_node_hint\n info_player_logo\n info_spawngroup_load\n info_spawngroup_load_unload w/o specifying map name, removing entity!!!\\n\n+info_target*\n inherit_all_joints\n inherit_owner\n inherit_owner_index\n@@ -24283,6 +24311,7 @@ lifestage_adult\n lifestage_chick\n lifestage_egg\n light\n+light_*\n light_capsule\n light_dynamic at [%d %d %d] has invalid exponent value (%d must be between %d and %d).\\n\n light_style_output_event0\n@@ -25767,6 +25796,7 @@ producedAt\n profile level %g\n projectile\n prop.breakable.01\n+prop_*\n prop_car_alarm\n prop_car_glass\n prop_contexts\n@@ -26646,6 +26676,7 @@ smokegrenade_detonate\n smokegrenade_expired\n smokegrenade_projectile.ventr\n smokegrenade_projectile_server\n+snd_*\n snd_mouth\n sniper_warning\n sniperk\n@@ -27453,6 +27484,7 @@ transition volume passed\n transition volume screened out\n transitioning\n tried to use unsupported cipher\n+trigger_*\n trigger_changelevel to %s doesn't have a landmark\n trigger_changelevel to map %s has a landmark embedded in solid!\\nThis will break level transitions!\\n\n trigger_survival_playarea\n@@ -27865,6 +27897,7 @@ weapon pistol rifle survivor common_male\n weapon.C4.Impact\n weapon_\n weapon_%s\n+weapon_*\n weapon_action_speedscale\n weapon_ak47.ventr\n weapon_ak47_server"
},
{
"filename": "game/csgo/cfg/gamemode_retakecasual.cfg",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -46,7 +46,7 @@ mp_defuser_allocation\t\t\t\t\t\t\t\t2\t\t\t// 0=none, 1=random, 2=everyone\n mp_force_pick_time\t\t\t\t\t\t\t\t\t15\n mp_forcecamera\t\t\t\t\t\t\t\t\t\t1\t\t\t// Set to 1 for team only spectating.\n mp_free_armor\t\t\t\t\t\t\t\t\t\t0\t\t\t\n-mp_freezetime\t\t\t\t\t\t\t\t\t\t7\n+mp_freezetime\t\t\t\t\t\t\t\t\t\t5\n mp_friendlyfire\t\t\t\t\t\t\t\t\t\t1\n mp_win_panel_display_time\t\t\t\t\t\t\t3\n mp_respawn_immunitytime\t\t\t\t\t\t\t\t0\n@@ -100,7 +100,7 @@ mp_default_team_winner_no_objective\t\t\t\t\t-1\t\t// 2 == CTs, 3 == Ts\n //occlusion_test_async\t\t\t\t\t\t\t\t1\n \n spec_replay_enable\t\t\t\t\t\t\t\t0\n-mp_round_restart_delay\t\t\t\t\t\t\t\t5\n+mp_round_restart_delay\t\t\t\t\t\t\t\t3\n \n sv_gameinstructor_enable\t\t\t\t\t\t\t0\n "
},
{
"filename": "game/csgo/pak01_dir.txt",
"status": "modified",
"additions": 43,
"deletions": 42,
"changes": 85,
"patch": "@@ -7349,25 +7349,25 @@ maps/cs_italy_camera_nodes.kv3 CRC:00b7c65df1 size:14866\n maps/cs_office_camera_nodes.kv3 CRC:0083120466 size:19253\n maps/de_ancient_camera_nodes.kv3 CRC:00207e40bf size:16857\n maps/de_ancient_night_camera_nodes.kv3 CRC:00207e40bf size:16857\n-maps/de_ancient_night_retake.txt CRC:001f3ad4a1 size:4515\n-maps/de_ancient_retake.txt CRC:0054b1519f size:4516\n+maps/de_ancient_night_retake.txt CRC:00d43cb56b size:4550\n+maps/de_ancient_retake.txt CRC:002fcb7c50 size:4551\n maps/de_anubis_camera_nodes.kv3 CRC:001b8f43b2 size:17950\n-maps/de_anubis_retake.txt CRC:0032c02075 size:4360\n-maps/de_cache_retake.txt CRC:002d343b7e size:4127\n+maps/de_anubis_retake.txt CRC:00a6ad38b6 size:4393\n+maps/de_cache_retake.txt CRC:0028012769 size:4175\n maps/de_dust2_camera_nodes.kv3 CRC:0018f21a4c size:10453\n-maps/de_dust2_retake.txt CRC:00c7737a39 size:4511\n+maps/de_dust2_retake.txt CRC:00efb48004 size:4549\n maps/de_inferno_camera_nodes.kv3 CRC:007ce32bbf size:22256\n-maps/de_inferno_retake.txt CRC:00b78c5ff2 size:4053\n+maps/de_inferno_retake.txt CRC:00bcf57f3e size:4101\n maps/de_mirage_camera_nodes.kv3 CRC:0072eadb25 size:25623\n-maps/de_mirage_retake.txt CRC:00ca33c5f4 size:4767\n+maps/de_mirage_retake.txt CRC:000d5f64ab size:4803\n maps/de_nuke_camera_nodes.kv3 CRC:00fc18e073 size:28247\n-maps/de_nuke_retake.txt CRC:0023720f4f size:4306\n+maps/de_nuke_retake.txt CRC:003bcb146f size:4347\n maps/de_overpass_camera_nodes.kv3 CRC:008163f47d size:20148\n-maps/de_overpass_retake.txt CRC:0091d38bbc size:4199\n+maps/de_overpass_retake.txt CRC:007f922b66 size:4242\n maps/de_train_camera_nodes.kv3 CRC:00c2db3b8b size:26613\n-maps/de_train_retake.txt CRC:0002fee1a2 size:4826\n+maps/de_train_retake.txt CRC:00a2229546 size:4870\n maps/de_vertigo_camera_nodes.kv3 CRC:003995c8c5 size:16095\n-maps/de_vertigo_retake.txt CRC:0041f38891 size:4630\n+maps/de_vertigo_retake.txt CRC:00a22f3061 size:4675\n maps/scripts/rush_001.vjs_c CRC:00424dd750 size:58191\n maps/workshop_compatibility_versions.txt CRC:0041137ecb size:1787\n materials/anubis/anubis_water_canal.vmat_c CRC:0049c034fb size:5916\n@@ -56166,6 +56166,7 @@ panorama/images/econ/default_generated/weapon_xm1014_xm1014_mockingbird_heavy_pn\n panorama/images/econ/default_generated/weapon_xm1014_xm1014_mockingbird_light_png.vtex_c CRC:0021fe2489 size:114756\n panorama/images/econ/default_generated/weapon_xm1014_xm1014_mockingbird_medium_png.vtex_c CRC:006aeb11d0 size:115955\n panorama/images/econ/keychains/aus2025/kc_aus2025_png.vtex_c CRC:001fab74ca size:292777\n+panorama/images/econ/keychains/bud2025/kc_bud2025_png.vtex_c CRC:00197a4f90 size:301049\n panorama/images/econ/keychains/cologne2026/kc_cologne2026_png.vtex_c CRC:00771d0c97 size:283199\n panorama/images/econ/keychains/drboom/kc_db_200iq_png.vtex_c CRC:00966a7762 size:132857\n panorama/images/econ/keychains/drboom/kc_db_8ball_png.vtex_c CRC:005518e549 size:101985\n@@ -83954,7 +83955,7 @@ panorama/images/tournaments/backgrounds/pickem_bg_24_png.vtex_c CRC:0089bbd83a s\n panorama/images/tournaments/backgrounds/pickem_bg_25_png.vtex_c CRC:00831e3278 size:2302708\n panorama/images/tournaments/backgrounds/pickem_bg_26_png.vtex_c CRC:0014c19b4a size:930020\n panorama/images/tournaments/backgrounds/pickem_mainmenu_bg_24_psd.vtex_c CRC:00014934a6 size:511969\n-panorama/images/tournaments/backgrounds/pickem_mainmenu_bg_25_psd.vtex_c CRC:008bf6079b size:264288\n+panorama/images/tournaments/backgrounds/pickem_mainmenu_bg_25_psd.vtex_c CRC:00fb16057c size:329828\n panorama/images/tournaments/backgrounds/pickem_mainmenu_bg_26_psd.vtex_c CRC:0092b54a35 size:191644\n panorama/images/tournaments/backgrounds/pickem_mainmenu_promo_22_png.vtex_c CRC:00fe819c7a size:188265\n panorama/images/tournaments/backgrounds/pickem_mainmenu_promo_23_png.vtex_c CRC:00d9395207 size:66395\n@@ -84916,7 +84917,7 @@ panorama/styles/radialmenubase.vcss_c CRC:00b3952c3a size:19623\n panorama/styles/radialradio.vcss_c CRC:0080b13d3f size:17091\n panorama/styles/rankup_redemption_store.vcss_c CRC:00613b3861 size:16582\n panorama/styles/rating_emblem.vcss_c CRC:0098edcdc2 size:10797\n-panorama/styles/retakeloadout.vcss_c CRC:00510fb26e size:23640\n+panorama/styles/retakeloadout.vcss_c CRC:003bf4073c size:23110\n panorama/styles/scoreboard.vcss_c CRC:00b5e5732d size:50893\n panorama/styles/segmented_progress_bar.vcss_c CRC:00dbf42798 size:7033\n panorama/styles/settings/settings.vcss_c CRC:0077fe3798 size:17843\n@@ -87979,36 +87980,36 @@ pulse/csgo_devonly/de_vertigo_script.vpulse_c CRC:00af116e39 size:4860\n radial_quickinventory.txt CRC:005a0c1bf5 size:1080\n rebuy.txt CRC:008332da3a size:1688\n resource/clientscheme.res CRC:00eb299496 size:14136\n-resource/csgo_brazilian.txt CRC:0022c7c9bd size:5024748\n-resource/csgo_bulgarian.txt CRC:00e6aa803c size:7758759\n-resource/csgo_czech.txt CRC:00aa2da1f8 size:5097152\n-resource/csgo_danish.txt CRC:001655e064 size:5003477\n-resource/csgo_dutch.txt CRC:007e635df4 size:5049457\n+resource/csgo_brazilian.txt CRC:0015b08cfa size:5025205\n+resource/csgo_bulgarian.txt CRC:00ad431afd size:7759343\n+resource/csgo_czech.txt CRC:005482a707 size:5097565\n+resource/csgo_danish.txt CRC:00bb321d04 size:5004038\n+resource/csgo_dutch.txt CRC:0045192cf1 size:5049873\n resource/csgo_english.txt CRC:00e83600df size:4879039\n-resource/csgo_finnish.txt CRC:0040d7f29a size:4960257\n-resource/csgo_french.txt CRC:00cf90f727 size:5254356\n-resource/csgo_german.txt CRC:00768f902a size:5164887\n-resource/csgo_greek.txt CRC:00d09261eb size:7151367\n-resource/csgo_hungarian.txt CRC:0009ea7f21 size:5078539\n-resource/csgo_indonesian.txt CRC:00d09ed436 size:4729034\n-resource/csgo_italian.txt CRC:00f5d5f436 size:5178073\n-resource/csgo_japanese.txt CRC:008a06f43d size:5332955\n-resource/csgo_koreana.txt CRC:0068a1e99c size:5096308\n-resource/csgo_latam.txt CRC:00436dd96a size:5188121\n-resource/csgo_norwegian.txt CRC:00f79e57f3 size:4924516\n-resource/csgo_polish.txt CRC:003eee27c8 size:5321400\n-resource/csgo_portuguese.txt CRC:00ed24ede6 size:5059879\n-resource/csgo_romanian.txt CRC:00b3958fb9 size:5270915\n-resource/csgo_russian.txt CRC:00ffa91341 size:6563734\n-resource/csgo_schinese.txt CRC:000d6871a9 size:4931452\n+resource/csgo_finnish.txt CRC:00a79f8c2b size:4960818\n+resource/csgo_french.txt CRC:002433e025 size:5254990\n+resource/csgo_german.txt CRC:008c76453f size:5165453\n+resource/csgo_greek.txt CRC:00a68efa30 size:7151367\n+resource/csgo_hungarian.txt CRC:000a1961a8 size:5078957\n+resource/csgo_indonesian.txt CRC:0023f7fd61 size:4729593\n+resource/csgo_italian.txt CRC:0019309189 size:5178719\n+resource/csgo_japanese.txt CRC:007c931b86 size:5333463\n+resource/csgo_koreana.txt CRC:007c56bde5 size:5096798\n+resource/csgo_latam.txt CRC:00430502d0 size:5188734\n+resource/csgo_norwegian.txt CRC:001049104e size:4925063\n+resource/csgo_polish.txt CRC:0048f2bc13 size:5321400\n+resource/csgo_portuguese.txt CRC:00bf8fe57b size:5060318\n+resource/csgo_romanian.txt CRC:00f8a9b880 size:5271518\n+resource/csgo_russian.txt CRC:0089b5889a size:6563734\n+resource/csgo_schinese.txt CRC:007b74ea72 size:4931452\n resource/csgo_schinese_pw.txt CRC:0083fe268a size:15645\n-resource/csgo_spanish.txt CRC:00f5db4811 size:5159573\n-resource/csgo_swedish.txt CRC:00b8b4e017 size:5031803\n-resource/csgo_tchinese.txt CRC:008252f083 size:4627815\n-resource/csgo_thai.txt CRC:00f47187a0 size:8128621\n-resource/csgo_turkish.txt CRC:00ea144dfc size:5165506\n-resource/csgo_ukrainian.txt CRC:00ab17d5bc size:6621012\n-resource/csgo_vietnamese.txt CRC:00985185c2 size:5450532\n+resource/csgo_spanish.txt CRC:00deb972b5 size:5160188\n+resource/csgo_swedish.txt CRC:00b4c12d74 size:5032375\n+resource/csgo_tchinese.txt CRC:00f44e6b58 size:4627815\n+resource/csgo_thai.txt CRC:00826d1c7b size:8128621\n+resource/csgo_turkish.txt CRC:00cabf481a size:5165905\n+resource/csgo_ukrainian.txt CRC:003ac03c61 size:6621798\n+resource/csgo_vietnamese.txt CRC:00ee4d1e19 size:5450532\n resource/game.gameevents CRC:0090de10bc size:9837\n resource/halflife2.vfont CRC:00b064848c size:58000\n resource/mod.gameevents CRC:0035ddf423 size:20770\n@@ -88164,7 +88165,7 @@ scripts/talker/swat_fem.vrr_c CRC:00da568c7a size:22638\n scripts/tools/anim_preview_archetypes.vdata_c CRC:00aefc657a size:6968\n scripts/tools/game_asset_tags.vdata_c CRC:00c8bdb670 size:2787\n scripts/weapons.vdata_c CRC:007f3daee4 size:26903\n-scripts/workshop_cvar_whitelist.txt CRC:009790852f size:18153\n+scripts/workshop_cvar_whitelist.txt CRC:00ed704614 size:18179\n smartprops/bicycle/bicycle_rack.vsmart_c CRC:0097f4a6c4 size:1423\n smartprops/bicycle/bicycle_single.vsmart_c CRC:001f5c91ad size:1628\n smartprops/debris/debris_ceiling_tiles_01.vsmart_c CRC:00c0a90e2e size:2600"
},
{
"filename": "game/csgo/pak01_dir/maps/de_ancient_night_retake.txt",
"status": "modified",
"additions": 33,
"deletions": 32,
"changes": 65,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -13,54 +14,54 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-1759.547363 -691.041321 136.093811 1.220013 95.890266 0.000000\"\t// a main entrance\n-\t\t\t\t\"1\" \"-1720.095337 -1101.785645 41.545643 -6.952028 93.323975 0.000000\"\t// a main bottom stairs\n-\t\t\t\t\"2\" \"-475.383362 -569.678711 101.086891 -1.222149 100.136345 0.000000\"\t// bottom mid\n-\t\t\t\t\"3\" \"-463.581665 -305.030914 120.122978 -3.774165 98.354080 0.000000\"\t// top mid\n-\t\t\t\t\"4\" \"-492.094421 385.699738 224.093811 0.845888 98.354202 0.000000\"\t// top mid CT\n-\t\t\t\t\"5\" \"45.615307 667.132813 138.093811 0.845888 98.354202 0.000000\"\t// near CT spawn\n-\t\t\t\t\"6\" \"201.624390 865.586609 158.259491 6.455836 -154.857803 0.000000\"\t// near CT spawn 2\n-\t\t\t\t\"7\" \"487.844177 905.601135 175.624710 4.343833 -164.845978 0.000000\"\t// near CT spawn 3\n+\t\t\t\t\"0\" \"-1759.547363 -691.041321 136.093811 0.000000 95.890266 0.000000\"\t// a main entrance\n+\t\t\t\t\"1\" \"-1720.095337 -1101.785645 41.545643 0.000000 93.323975 0.000000\"\t// a main bottom stairs\n+\t\t\t\t\"2\" \"-475.383362 -569.678711 101.086891 0.000000 100.136345 0.000000\"\t// bottom mid\n+\t\t\t\t\"3\" \"-463.581665 -305.030914 120.122978 0.000000 98.354080 0.000000\"\t// top mid\n+\t\t\t\t\"4\" \"-492.094421 385.699738 224.093811 0.000000 98.354202 0.000000\"\t// top mid CT\n+\t\t\t\t\"5\" \"45.615307 667.132813 138.093811 0.000000 98.354202 0.000000\"\t// near CT spawn\n+\t\t\t\t\"6\" \"201.624390 865.586609 158.259491 0.000000 -154.857803 0.000000\"\t// near CT spawn 2\n+\t\t\t\t\"7\" \"487.844177 905.601135 175.624710 0.000000 -164.845978 0.000000\"\t// near CT spawn 3\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n \n-\t\t\t\t\"0\" \"567.364685 -1890.279297 -105.470490 -6.819995 67.141991 0.000000\"\t// water\n-\t\t\t\t\"1\" \"684.835693 -2066.143555 -88.535599 0.308547 123.051720 0.000000\"\t// water 2\n-\t\t\t\t\"2\" \"-152.142883 -701.610596 220.771301 2.231987 -4.108181 0.000000\"\t// ledge\n-\t\t\t\t\"3\" \"-554.089600 -824.356934 96.093666 -10.955970 15.859979 0.000000\"\t// bottom ledge\n-\t\t\t\t\"4\" \"-642.909546 365.234863 239.093811 9.029978 50.165798 0.000000\"\t// ct house\n-\t\t\t\t\"5\" \"-472.417023 1336.832886 88.635345 -0.782018 -56.217842 0.000000\"\t// ct spawn\n-\t\t\t\t\"6\" \"-980.234436 1086.060669 130.093811 3.970006 -1.415828 0.000000\"\t// ct spawn back\n-\t\t\t\t\"7\" \"-175.877289 1419.091919 86.697815 -4.037995 -92.803886 0.000000\"\t// ct spawn back\n+\t\t\t\t\"0\" \"567.364685 -1890.279297 -105.470490 0.000000 67.141991 0.000000\"\t// water\n+\t\t\t\t\"1\" \"684.835693 -2066.143555 -88.535599 0.000000 123.051720 0.000000\"\t// water 2\n+\t\t\t\t\"2\" \"-152.142883 -701.610596 220.771301 0.000000 -4.108181 0.000000\"\t// ledge\n+\t\t\t\t\"3\" \"-554.089600 -824.356934 96.093666 0.000000 15.859979 0.000000\"\t// bottom ledge\n+\t\t\t\t\"4\" \"-642.909546 365.234863 239.093811 0.000000 50.165798 0.000000\"\t// ct house\n+\t\t\t\t\"5\" \"-472.417023 1336.832886 88.635345 0.000000 -56.217842 0.000000\"\t// ct spawn\n+\t\t\t\t\"6\" \"-980.234436 1086.060669 130.093811 0.000000 -1.415828 0.000000\"\t// ct spawn back\n+\t\t\t\t\"7\" \"-175.877289 1419.091919 86.697815 0.000000 -92.803886 0.000000\"\t// ct spawn back\n \t\t\t}\n \t\t}\n \t\t\"T\"\n \t\t{\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-1709.706909 1135.055542 116.093811 2.772409 -66.596115 0.000000\"\n-\t\t\t\t\"1\" \"-1868.109375 985.488525 116.093811 -1.825591 -105.316277 0.000000\"\n-\t\t\t\t\"2\" \"-1725.932861 699.505554 116.093811 -0.967592 -142.584152 0.000000\"\n-\t\t\t\t\"3\" \"-1585.692139 712.646423 116.093811 -1.495591 -49.128235 0.000000\"\n-\t\t\t\t\"4\" \"-1125.890259 728.003296 117.929688 -2.595578 -125.336327 0.000000\"\n-\t\t\t\t\"5\" \"-1126.972168 863.269714 121.537674 1.408422 73.073593 0.000000\"\n-\t\t\t\t\"6\" \"-1680.200439 816.424927 116.093811 1.386419 -131.738251 0.000000\"\n-\t\t\t\t\"7\" \"-2096.523438 834.952454 117.893181 -0.879576 -83.448250 0.000000\"\n+\t\t\t\t\"0\" \"-1709.706909 1135.055542 116.093811 0.000000 -66.596115 0.000000\"\n+\t\t\t\t\"1\" \"-1868.109375 985.488525 116.093811 0.000000 -105.316277 0.000000\"\n+\t\t\t\t\"2\" \"-1725.932861 699.505554 116.093811 0.000000 -142.584152 0.000000\"\n+\t\t\t\t\"3\" \"-1585.692139 712.646423 116.093811 0.000000 -49.128235 0.000000\"\n+\t\t\t\t\"4\" \"-1125.890259 728.003296 117.929688 0.000000 -125.336327 0.000000\"\n+\t\t\t\t\"5\" \"-1126.972168 863.269714 121.537674 0.000000 73.073593 0.000000\"\n+\t\t\t\t\"6\" \"-1680.200439 816.424927 116.093811 0.000000 -131.738251 0.000000\"\n+\t\t\t\t\"7\" \"-2096.523438 834.952454 117.893181 0.000000 -83.448250 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"720.925110 312.794495 188.048004 4.334420 101.417526 0.000000\"\n-\t\t\t\t\"1\" \"1268.008057 308.640961 187.482849 2.970432 129.599426 0.000000\"\n-\t\t\t\t\"2\" \"900.354004 294.832367 189.451782 4.070419 -30.882408 0.000000\"\n-\t\t\t\t\"3\" \"1057.938110 -7.488391 197.093811 8.646417 -56.776390 0.000000\"\n-\t\t\t\t\"4\" \"686.529846 -237.705872 202.652267 1.056419 44.225487 0.000000\"\n-\t\t\t\t\"5\" \"1045.335693 101.515129 197.093811 6.028458 -50.286575 0.000000\"\n-\t\t\t\t\"6\" \"815.011841 245.587067 195.093811 5.280452 155.999786 0.000000\"\n-\t\t\t\t\"7\" \"1269.546631 390.912201 187.565704 2.882415 105.012016 0.000000\"\n+\t\t\t\t\"0\" \"720.925110 312.794495 188.048004 0.000000 101.417526 0.000000\"\n+\t\t\t\t\"1\" \"1268.008057 308.640961 187.482849 0.000000 129.599426 0.000000\"\n+\t\t\t\t\"2\" \"900.354004 294.832367 189.451782 0.000000 -30.882408 0.000000\"\n+\t\t\t\t\"3\" \"1057.938110 -7.488391 197.093811 0.000000 -56.776390 0.000000\"\n+\t\t\t\t\"4\" \"686.529846 -237.705872 202.652267 0.000000 44.225487 0.000000\"\n+\t\t\t\t\"5\" \"1045.335693 101.515129 197.093811 0.000000 -50.286575 0.000000\"\n+\t\t\t\t\"6\" \"815.011841 245.587067 195.093811 0.000000 155.999786 0.000000\"\n+\t\t\t\t\"7\" \"1269.546631 390.912201 187.565704 0.000000 105.012016 0.000000\"\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/maps/de_ancient_retake.txt",
"status": "modified",
"additions": 33,
"deletions": 32,
"changes": 65,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -13,54 +14,54 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-1759.547363 -691.041321 136.093811 1.220013 95.890266 0.000000\"\t// a main entrance\n-\t\t\t\t\"1\" \"-1720.095337 -1101.785645 41.545643 -6.952028 93.323975 0.000000\"\t// a main bottom stairs\n-\t\t\t\t\"2\" \"-475.383362 -569.678711 101.086891 -1.222149 100.136345 0.000000\"\t// bottom mid\n-\t\t\t\t\"3\" \"-463.581665 -305.030914 120.122978 -3.774165 98.354080 0.000000\"\t// top mid\n-\t\t\t\t\"4\" \"-492.094421 385.699738 224.093811 0.845888 98.354202 0.000000\"\t// top mid CT\n-\t\t\t\t\"5\" \"45.615307 667.132813 138.093811 0.845888 98.354202 0.000000\"\t// near CT spawn\n-\t\t\t\t\"6\" \"201.624390 865.586609 158.259491 6.455836 -154.857803 0.000000\"\t// near CT spawn 2\n-\t\t\t\t\"7\" \"487.844177 905.601135 175.624710 4.343833 -164.845978 0.000000\"\t// near CT spawn 3\n+\t\t\t\t\"0\" \"-1759.547363 -691.041321 136.093811 0.000000 95.890266 0.000000\"\t// a main entrance\n+\t\t\t\t\"1\" \"-1720.095337 -1101.785645 41.545643 0.000000 93.323975 0.000000\"\t// a main bottom stairs\n+\t\t\t\t\"2\" \"-475.383362 -569.678711 101.086891 0.000000 100.136345 0.000000\"\t// bottom mid\n+\t\t\t\t\"3\" \"-463.581665 -305.030914 120.122978 0.000000 98.354080 0.000000\"\t// top mid\n+\t\t\t\t\"4\" \"-492.094421 385.699738 224.093811 0.000000 98.354202 0.000000\"\t// top mid CT\n+\t\t\t\t\"5\" \"45.615307 667.132813 138.093811 0.000000 98.354202 0.000000\"\t// near CT spawn\n+\t\t\t\t\"6\" \"201.624390 865.586609 158.259491 0.000000 -154.857803 0.000000\"\t// near CT spawn 2\n+\t\t\t\t\"7\" \"487.844177 905.601135 175.624710 0.000000 -164.845978 0.000000\"\t// near CT spawn 3\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n \n-\t\t\t\t\"0\" \"567.364685 -1890.279297 -105.470490 -6.819995 67.141991 0.000000\"\t// water\n-\t\t\t\t\"1\" \"684.835693 -2066.143555 -88.535599 0.308547 123.051720 0.000000\"\t// water 2\n-\t\t\t\t\"2\" \"-152.142883 -701.610596 220.771301 2.231987 -4.108181 0.000000\"\t// ledge\n-\t\t\t\t\"3\" \"-554.089600 -824.356934 96.093666 -10.955970 15.859979 0.000000\"\t// bottom ledge\n-\t\t\t\t\"4\" \"-642.909546 365.234863 239.093811 9.029978 50.165798 0.000000\"\t// ct house\n-\t\t\t\t\"5\" \"-472.417023 1336.832886 88.635345 -0.782018 -56.217842 0.000000\"\t// ct spawn\n-\t\t\t\t\"6\" \"-980.234436 1086.060669 130.093811 3.970006 -1.415828 0.000000\"\t// ct spawn back\n-\t\t\t\t\"7\" \"-175.877289 1419.091919 86.697815 -4.037995 -92.803886 0.000000\"\t// ct spawn back\n+\t\t\t\t\"0\" \"567.364685 -1890.279297 -105.470490 0.000000 67.141991 0.000000\"\t// water\n+\t\t\t\t\"1\" \"684.835693 -2066.143555 -88.535599 0.000000 123.051720 0.000000\"\t// water 2\n+\t\t\t\t\"2\" \"-152.142883 -701.610596 220.771301 0.000000 -4.108181 0.000000\"\t// ledge\n+\t\t\t\t\"3\" \"-554.089600 -824.356934 96.093666 0.000000 15.859979 0.000000\"\t// bottom ledge\n+\t\t\t\t\"4\" \"-642.909546 365.234863 239.093811 0.000000 50.165798 0.000000\"\t// ct house\n+\t\t\t\t\"5\" \"-472.417023 1336.832886 88.635345 0.000000 -56.217842 0.000000\"\t// ct spawn\n+\t\t\t\t\"6\" \"-980.234436 1086.060669 130.093811 0.000000 -1.415828 0.000000\"\t// ct spawn back\n+\t\t\t\t\"7\" \"-175.877289 1419.091919 86.697815 0.000000 -92.803886 0.000000\"\t// ct spawn back\n \t\t\t}\n \t\t}\n \t\t\"T\"\n \t\t{\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-1709.706909 1135.055542 116.093811 2.772409 -66.596115 0.000000\"\n-\t\t\t\t\"1\" \"-1868.109375 985.488525 116.093811 -1.825591 -105.316277 0.000000\"\n-\t\t\t\t\"2\" \"-1725.932861 699.505554 116.093811 -0.967592 -142.584152 0.000000\"\n-\t\t\t\t\"3\" \"-1585.692139 712.646423 116.093811 -1.495591 -49.128235 0.000000\"\n-\t\t\t\t\"4\" \"-1125.890259 728.003296 117.929688 -2.595578 -125.336327 0.000000\"\n-\t\t\t\t\"5\" \"-1126.972168 863.269714 121.537674 1.408422 73.073593 0.000000\"\n-\t\t\t\t\"6\" \"-1680.200439 816.424927 116.093811 1.386419 -131.738251 0.000000\"\n-\t\t\t\t\"7\" \"-2096.523438 834.952454 117.893181 -0.879576 -83.448250 0.000000\"\n+\t\t\t\t\"0\" \"-1709.706909 1135.055542 116.093811 0.000000 -66.596115 0.000000\"\n+\t\t\t\t\"1\" \"-1868.109375 985.488525 116.093811 0.000000 -105.316277 0.000000\"\n+\t\t\t\t\"2\" \"-1725.932861 699.505554 116.093811 0.000000 -142.584152 0.000000\"\n+\t\t\t\t\"3\" \"-1585.692139 712.646423 116.093811 0.000000 -49.128235 0.000000\"\n+\t\t\t\t\"4\" \"-1125.890259 728.003296 117.929688 0.000000 -125.336327 0.000000\"\n+\t\t\t\t\"5\" \"-1126.972168 863.269714 121.537674 0.000000 73.073593 0.000000\"\n+\t\t\t\t\"6\" \"-1680.200439 816.424927 116.093811 0.000000 -131.738251 0.000000\"\n+\t\t\t\t\"7\" \"-2096.523438 834.952454 117.893181 0.000000 -83.448250 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"720.925110 312.794495 188.048004 4.334420 101.417526 0.000000\"\n-\t\t\t\t\"1\" \"1268.008057 308.640961 187.482849 2.970432 129.599426 0.000000\"\n-\t\t\t\t\"2\" \"900.354004 294.832367 189.451782 4.070419 -30.882408 0.000000\"\n-\t\t\t\t\"3\" \"1057.938110 -7.488391 197.093811 8.646417 -56.776390 0.000000\"\n-\t\t\t\t\"4\" \"686.529846 -237.705872 202.652267 1.056419 44.225487 0.000000\"\n-\t\t\t\t\"5\" \"1045.335693 101.515129 197.093811 6.028458 -50.286575 0.000000\"\n-\t\t\t\t\"6\" \"815.011841 245.587067 195.093811 5.280452 155.999786 0.000000\"\n-\t\t\t\t\"7\" \"1269.546631 390.912201 187.565704 2.882415 105.012016 0.000000\"\n+\t\t\t\t\"0\" \"720.925110 312.794495 188.048004 0.000000 101.417526 0.000000\"\n+\t\t\t\t\"1\" \"1268.008057 308.640961 187.482849 0.000000 129.599426 0.000000\"\n+\t\t\t\t\"2\" \"900.354004 294.832367 189.451782 0.000000 -30.882408 0.000000\"\n+\t\t\t\t\"3\" \"1057.938110 -7.488391 197.093811 0.000000 -56.776390 0.000000\"\n+\t\t\t\t\"4\" \"686.529846 -237.705872 202.652267 0.000000 44.225487 0.000000\"\n+\t\t\t\t\"5\" \"1045.335693 101.515129 197.093811 0.000000 -50.286575 0.000000\"\n+\t\t\t\t\"6\" \"815.011841 245.587067 195.093811 0.000000 155.999786 0.000000\"\n+\t\t\t\t\"7\" \"1269.546631 390.912201 187.565704 0.000000 105.012016 0.000000\"\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/maps/de_anubis_retake.txt",
"status": "modified",
"additions": 28,
"deletions": 27,
"changes": 55,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -13,48 +14,48 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-682.722290 2064.249023 80.056595 2.442140 18.118698 0.000000\" \t\t// ct spawn\n-\t\t\t\t\"1\" \"-313.839661 2634.288818 -30.968750 4.268129 -8.215336 0.000000\" \t\t// ct spawn water\n-\t\t\t\t\"2\" \"-897.222107 1130.881348 99.031250 -1.715892 0.694614 0.000000\" \t\t// wood\n-\t\t\t\t\"3\" \"-147.081421 -0.954895 64.262917 0.572109 61.304386 -0.000000\"\t\t\t// mid bridge\n-\t\t\t\t\"4\" \"922.227600 -451.963257 32.031250 5.654140 105.656723 -0.000000\" \t\t// t stairs\n-\t\t\t\t\"5\" \"126.654060 218.923645 -124.833694 -1.891827 -0.608996 0.000000\" \t\t// under bridge, water\n-\t\t\t\t\"6\" \"-132.171387 249.622650 64.034569 0.770128 42.400875 0.000000\"\t\t\t// bridge window\n+\t\t\t\t\"0\" \"-682.722290 2064.249023 80.056595 0.000000 18.118698 0.000000\" \t\t// ct spawn\n+\t\t\t\t\"1\" \"-313.839661 2634.288818 -30.968750 0.000000 -8.215336 0.000000\" \t\t// ct spawn water\n+\t\t\t\t\"2\" \"-897.222107 1130.881348 99.031250 0.000000 0.694614 0.000000\" \t\t// wood\n+\t\t\t\t\"3\" \"-147.081421 -0.954895 64.262917 0.000000 61.304386 0.000000\"\t\t\t// mid bridge\n+\t\t\t\t\"4\" \"922.227600 -451.963257 32.031250 0.000000 105.656723 0.000000\" \t\t// t stairs\n+\t\t\t\t\"5\" \"126.654060 218.923645 -124.833694 0.000000 -0.608996 0.000000\" \t\t// under bridge, water\n+\t\t\t\t\"6\" \"-132.171387 249.622650 64.034569 0.000000 42.400875 0.000000\"\t\t\t// bridge window\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"1044.943359 650.306091 -124.833618 -0.087786 -128.222382 0.000000\"\t\t// a water\n-\t\t\t\t\"1\" \"219.437271 1020.341431 32.031250 -2.441797 -130.523499 0.000000\"\t\t// ct mid\n-\t\t\t\t\"2\" \"-81.979370 786.733704 64.266541 0.066199 -91.121056 0.000000\"\t\t\t// mid\n-\t\t\t\t\"3\" \"-282.693237 -288.023132 64.264076 -3.123806 -149.661575 0.000000\"\t\t// mid to b\n-\t\t\t\t\"4\" \"-338.627075 2631.813965 -30.968750 -3.233819 -141.608551 0.000000\"\t\t// ct spawn water\n-\t\t\t\t\"5\" \"588.024536 1301.065063 -22.218842 -3.123810 -179.579849 0.000000\"\t\t// camera\n-\t\t\t\t\"6\" \"772.013794 1334.301270 -23.968750 -1.693856 -173.002014 0.000000\"\t\t// camera towards a\n-\t\t\t\t\"7\" \"403.674835 2057.003174 -55.968750 2.112144 110.129517 0.000000\"\t\t// heaven towards ct\n+\t\t\t\t\"0\" \"1044.943359 650.306091 -124.833618 0.000000 -128.222382 0.000000\"\t\t// a water\n+\t\t\t\t\"1\" \"219.437271 1020.341431 32.031250 0.000000 -130.523499 0.000000\"\t\t// ct mid\n+\t\t\t\t\"2\" \"-81.979370 786.733704 64.266541 0.000000 -91.121056 0.000000\"\t\t\t// mid\n+\t\t\t\t\"3\" \"-282.693237 -288.023132 64.264076 0.000000 -149.661575 0.000000\"\t\t// mid to b\n+\t\t\t\t\"4\" \"-338.627075 2631.813965 -30.968750 0.000000 -141.608551 0.000000\"\t\t// ct spawn water\n+\t\t\t\t\"5\" \"588.024536 1301.065063 -22.218842 0.000000 -179.579849 0.000000\"\t\t// camera\n+\t\t\t\t\"6\" \"772.013794 1334.301270 -23.968750 0.000000 -173.002014 0.000000\"\t\t// camera towards a\n+\t\t\t\t\"7\" \"403.674835 2057.003174 -55.968750 0.000000 110.129517 0.000000\"\t\t// heaven towards ct\n \t\t\t}\n \t\t}\n \t\t\"T\"\n \t\t{\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"1682.151123 1552.544800 -87.968750 1.858028 130.619522 0.000000\"\t\t// near a main\n-\t\t\t\t\"1\" \"1713.895142 1910.501465 -19.968750 1.606064 -168.110855 0.000000\"\t\t// water\n-\t\t\t\t\"2\" \"1226.273926 1592.610352 -87.968750 -3.761937 -167.758728 0.000000\"\t\t// tarp\n-\t\t\t\t\"3\" \"1169.168335 2109.280273 -60.274902 -4.729924 171.803253 -0.000000\"\t\t// scaling heaven\n-\t\t\t\t\"4\" \"989.038147 2244.589111 24.031250 9.800014 -130.828140 0.000000\"\t\t// heaven\n-\t\t\t\t\"5\" \"1347.072632 1717.051514 -85.968750 -6.115903 -156.076813 0.000000\"\t\t// near default\n+\t\t\t\t\"0\" \"1682.151123 1552.544800 -87.968750 0.000000 130.619522 0.000000\"\t\t// near a main\n+\t\t\t\t\"1\" \"1713.895142 1910.501465 -19.968750 0.000000 -168.110855 0.000000\"\t\t// water\n+\t\t\t\t\"2\" \"1226.273926 1592.610352 -87.968750 0.000000 -167.758728 0.000000\"\t\t// tarp\n+\t\t\t\t\"3\" \"1169.168335 2109.280273 -60.274902 0.000000 171.803253 0.000000\"\t\t// scaling heaven\n+\t\t\t\t\"4\" \"989.038147 2244.589111 24.031250 0.000000 -130.828140 0.000000\"\t\t// heaven\n+\t\t\t\t\"5\" \"1347.072632 1717.051514 -85.968750 0.000000 -156.076813 0.000000\"\t\t// near default\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-1421.742432 552.547424 64.031250 3.960124 20.403915 0.000000\"\t\t\t// mid-b site\n-\t\t\t\t\"1\" \"-900.317322 319.405914 8.031250 -3.453902 101.737846 0.000000\"\t\t\t// near ebox\n-\t\t\t\t\"2\" \"-607.446533 575.537354 102.031250 1.870086 140.392090 0.000000\"\t\t// cubby\n-\t\t\t\t\"3\" \"-896.453796 874.513794 99.031250 1.364075 102.692116 0.000000\"\t\t\t// near wood\n-\t\t\t\t\"4\" \"-1264.500732 329.340424 56.981785 0.748086 48.198559 0.000000\"\t\t\t// pillar\n-\t\t\t\t\"5\" \"-1548.147949 737.432556 102.031250 7.710052 -39.080292 0.000000\"\t\t// pizza\n+\t\t\t\t\"0\" \"-1421.742432 552.547424 64.031250 0.000000 20.403915 0.000000\"\t\t\t// mid-b site\n+\t\t\t\t\"1\" \"-900.317322 319.405914 8.031250 0.000000 101.737846 0.000000\"\t\t\t// near ebox\n+\t\t\t\t\"2\" \"-607.446533 575.537354 102.031250 0.000000 140.392090 0.000000\"\t\t// cubby\n+\t\t\t\t\"3\" \"-896.453796 874.513794 99.031250 0.000000 102.692116 0.000000\"\t\t\t// near wood\n+\t\t\t\t\"4\" \"-1264.500732 329.340424 56.981785 0.000000 48.198559 0.000000\"\t\t\t// pillar\n+\t\t\t\t\"5\" \"-1548.147949 737.432556 102.031250 0.000000 -39.080292 0.000000\"\t\t// pizza\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/maps/de_cache_retake.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n "
},
{
"filename": "game/csgo/pak01_dir/maps/de_dust2_retake.txt",
"status": "modified",
"additions": 30,
"deletions": 29,
"changes": 59,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -13,50 +14,50 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-846.599976 1444.890869 -48.501801 0.943810 1.405786 0.000000\" // tunnels\n-\t\t\t\t\"1\" \"-457.336212 1054.574707 1.844280 0.363007 50.313972 0.000000\" // xbox\n-\t\t\t\t\"2\" \"-400.334991 678.978882 64.093811 1.137411 66.576416 0.000000\"\t// top mid\n-\t\t\t\t\"3\" \"-193.614960 396.257385 62.181545 -0.024189 81.846718 0.000000\"\t// top mid again\n-\t\t\t\t\"4\" \"434.117462 -1.090969 60.376881 -2.032789 57.888672 0.000000\"\t// long doors\n-\t\t\t\t\"5\" \"555.093811 -135.622513 59.610733 -0.338788 82.621094 0.000000\"\t// long doors again\n-\t\t\t\t\"6\" \"-677.613525 2415.142822 -32.683861 3.605824 -26.400053 0.000000\"\t// bottom mid\n-\t\t\t\t\"7\" \"-516.179565 1745.433228 -54.061600 1.040630 55.541264 0.000000\"\t// bottom mid\n+\t\t\t\t\"0\" \"-846.599976 1444.890869 -48.501801 0.000000 1.405786 0.000000\" // tunnels\n+\t\t\t\t\"1\" \"-457.336212 1054.574707 1.844280 0.000000 50.313972 0.000000\" // xbox\n+\t\t\t\t\"2\" \"-400.334991 678.978882 64.093811 0.000000 66.576416 0.000000\"\t// top mid\n+\t\t\t\t\"3\" \"-193.614960 396.257385 62.181545 0.000000 81.846718 0.000000\"\t// top mid again\n+\t\t\t\t\"4\" \"434.117462 -1.090969 60.376881 0.000000 57.888672 0.000000\"\t// long doors\n+\t\t\t\t\"5\" \"555.093811 -135.622513 59.610733 0.000000 82.621094 0.000000\"\t// long doors again\n+\t\t\t\t\"6\" \"-677.613525 2415.142822 -32.683861 0.000000 -26.400053 0.000000\"\t// bottom mid\n+\t\t\t\t\"7\" \"-516.179565 1745.433228 -54.061600 0.000000 55.541264 0.000000\"\t// bottom mid\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-483.404663 1739.181641 -58.238190 -1.137366 101.860626 0.000000\"\t// mid doors\n-\t\t\t\t\"1\" \"-356.637268 1266.448120 -55.822693 1.161641 122.842247 0.000000\"\t// xbox\n-\t\t\t\t\"2\" \"-152.456589 1412.368896 63.691505 6.485623 170.056534 0.000000\"\t// cat\n-\t\t\t\t\"3\" \"-1550.600952 275.411560 71.745834 -3.242788 101.546806 0.000000\"\t// outside tuns\n-\t\t\t\t\"4\" \"-1777.189453 285.950958 63.664089 -2.952386 78.822899 0.000000\" // outside tuns\n-\t\t\t\t\"5\" \"283.011230 2364.396729 -56.154083 1.331001 -141.082947 0.000000\"\t// ct spawn\n-\t\t\t\t\"6\" \"-519.938232 1709.765137 -53.676819 -1.621401 92.496017 0.000000\"\t// mid doors\n+\t\t\t\t\"0\" \"-483.404663 1739.181641 -58.238190 0.000000 101.860626 0.000000\"\t// mid doors\n+\t\t\t\t\"1\" \"-356.637268 1266.448120 -55.822693 0.000000 122.842247 0.000000\"\t// xbox\n+\t\t\t\t\"2\" \"-152.456589 1412.368896 63.691505 0.000000 170.056534 0.000000\"\t// cat\n+\t\t\t\t\"3\" \"-1550.600952 275.411560 71.745834 0.000000 101.546806 0.000000\"\t// outside tuns\n+\t\t\t\t\"4\" \"-1777.189453 285.950958 63.664089 0.000000 78.822899 0.000000\" // outside tuns\n+\t\t\t\t\"5\" \"283.011230 2364.396729 -56.154083 0.000000 -141.082947 0.000000\"\t// ct spawn\n+\t\t\t\t\"6\" \"-519.938232 1709.765137 -53.676819 0.000000 92.496017 0.000000\"\t// mid doors\n \t\t\t}\n \t\t}\n \t\t\"T\"\n \t\t{\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"1139.122192 2383.754150 160.579727 6.709989 -79.670036 0.000000\"\n-\t\t\t\t\"1\" \"1051.031250 3043.428955 194.564865 6.104987 -59.705238 0.000000\"\n-\t\t\t\t\"2\" \"1581.504639 2698.182373 167.690628 7.754992 -111.185661 0.000000\"\n-\t\t\t\t\"3\" \"800.029114 2748.880615 162.849014 0.824991 -115.395638 0.000000\"\n-\t\t\t\t\"4\" \"934.400391 2758.107910 166.024689 0.659932 -121.885841 0.000000\"\n-\t\t\t\t\"5\" \"961.684265 2462.519287 160.809616 8.524945 -55.720852 0.000000\"\n-\t\t\t\t\"6\" \"1561.968750 3059.968750 173.093811 2.859952 -105.055649 0.000000\"\n+\t\t\t\t\"0\" \"1139.122192 2383.754150 160.579727 0.000000 -79.670036 0.000000\"\n+\t\t\t\t\"1\" \"1051.031250 3043.428955 194.564865 0.000000 -59.705238 0.000000\"\n+\t\t\t\t\"2\" \"1581.504639 2698.182373 167.690628 0.000000 -111.185661 0.000000\"\n+\t\t\t\t\"3\" \"800.029114 2748.880615 162.849014 0.000000 -115.395638 0.000000\"\n+\t\t\t\t\"4\" \"934.400391 2758.107910 166.024689 0.000000 -121.885841 0.000000\"\n+\t\t\t\t\"5\" \"961.684265 2462.519287 160.809616 0.000000 -55.720852 0.000000\"\n+\t\t\t\t\"6\" \"1561.968750 3059.968750 173.093811 0.000000 -105.055649 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-2082.015869 2927.534424 98.116425 0.439947 -85.420326 0.000000\"\n-\t\t\t\t\"1\" \"-1570.835083 2535.531494 67.592232 0.659938 -90.700371 0.000000\"\n-\t\t\t\t\"2\" \"-2151.545898 2185.592041 65.203217 -0.550066 -69.000519 0.000000\"\n-\t\t\t\t\"3\" \"-2139.478027 2386.677002 85.813980 -0.110149 -79.120506 0.000000\"\n-\t\t\t\t\"4\" \"-1912.131470 2981.505127 103.982697 1.429781 -93.200829 0.000000\"\n-\t\t\t\t\"5\" \"-1682.210449 2839.806152 84.535492 1.979795 -64.161041 0.000000\"\n-\t\t\t\t\"6\" \"-1421.781616 2777.520264 80.034912 -0.704973 -120.040497 0.000000\"\n+\t\t\t\t\"0\" \"-2082.015869 2927.534424 98.116425 0.000000 -85.420326 0.000000\"\n+\t\t\t\t\"1\" \"-1570.835083 2535.531494 67.592232 0.000000 -90.700371 0.000000\"\n+\t\t\t\t\"2\" \"-2151.545898 2185.592041 65.203217 0.000000 -69.000519 0.000000\"\n+\t\t\t\t\"3\" \"-2139.478027 2386.677002 85.813980 0.000000 -79.120506 0.000000\"\n+\t\t\t\t\"4\" \"-1912.131470 2981.505127 103.982697 0.000000 -93.200829 0.000000\"\n+\t\t\t\t\"5\" \"-1682.210449 2839.806152 84.535492 0.000000 -64.161041 0.000000\"\n+\t\t\t\t\"6\" \"-1421.781616 2777.520264 80.034912 0.000000 -120.040497 0.000000\"\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/maps/de_inferno_retake.txt",
"status": "modified",
"additions": 13,
"deletions": 12,
"changes": 25,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -38,22 +39,22 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"1980.864868 691.333130 224.093811 0.275019 -90.190948 0.000000\"\n-\t\t\t\t\"1\" \"2111.051514 516.669739 224.093811 1.210017 51.929066 0.000000\"\n-\t\t\t\t\"2\" \"2312.475830 158.543716 192.119934 0.660010 -170.106003 0.000000\"\n-\t\t\t\t\"3\" \"2030.101563 91.219025 195.871506 1.100013 -178.466217 0.000000\"\n-\t\t\t\t\"4\" \"1851.353394 307.282959 224.093811 5.390013 -1.506194 0.000000\"\n-\t\t\t\t\"5\" \"2066.439209 389.242218 224.093811 3.575027 59.323837 0.000000\"\n+\t\t\t\t\"0\" \"1980.864868 691.333130 224.093811 0.000000 -90.190948 0.000000\"\n+\t\t\t\t\"1\" \"2111.051514 516.669739 224.093811 0.000000 51.929066 0.000000\"\n+\t\t\t\t\"2\" \"2312.475830 158.543716 192.119934 0.000000 -170.106003 0.000000\"\n+\t\t\t\t\"3\" \"2030.101563 91.219025 195.871506 0.000000 -178.466217 0.000000\"\n+\t\t\t\t\"4\" \"1851.353394 307.282959 224.093811 0.000000 -1.506194 0.000000\"\n+\t\t\t\t\"5\" \"2066.439209 389.242218 224.093811 0.000000 59.323837 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"327.007019 2958.958496 224.093811 0.165006 61.244827 0.000000\"\n-\t\t\t\t\"1\" \"493.116791 2920.305664 224.093811 0.440006 -57.995209 0.000000\"\n-\t\t\t\t\"2\" \"546.782410 2785.582520 224.093811 3.025007 -5.264832 0.000000\"\n-\t\t\t\t\"3\" \"540.284363 2640.538086 224.093811 7.205009 -49.044861 0.000000\"\n-\t\t\t\t\"4\" \"451.179962 2477.032959 224.093811 0.825007 88.150040 0.000000\"\n-\t\t\t\t\"5\" \"173.078644 2463.477539 224.093811 0.165024 63.014217 0.000000\"\n+\t\t\t\t\"0\" \"327.007019 2958.958496 224.093811 0.000000 61.244827 0.000000\"\n+\t\t\t\t\"1\" \"493.116791 2920.305664 224.093811 0.000000 -57.995209 0.000000\"\n+\t\t\t\t\"2\" \"546.782410 2785.582520 224.093811 0.000000 -5.264832 0.000000\"\n+\t\t\t\t\"3\" \"540.284363 2640.538086 224.093811 0.000000 -49.044861 0.000000\"\n+\t\t\t\t\"4\" \"451.179962 2477.032959 224.093811 0.000000 88.150040 0.000000\"\n+\t\t\t\t\"5\" \"173.078644 2463.477539 224.093811 0.000000 63.014217 0.000000\"\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/maps/de_mirage_retake.txt",
"status": "modified",
"additions": 28,
"deletions": 27,
"changes": 55,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -13,48 +14,48 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-1677.126709 -1634.004761 -199.909851 -1.040606 -70.527283 0.000000\" // ct spawn towards stairs\n-\t\t\t\t\"1\" \"-1656.067993 -1312.397339 -198.956573 -9.220211 46.770073 0.000000\" // ct spawn towards window\n-\t\t\t\t\"2\" \"-1900.843750 -501.388794 -103.906342 -0.048411 -35.025795 0.000000\"\t// market\n-\t\t\t\t\"3\" \"-1098.085815 247.777573 -108.550049 0.483987 -24.305056 0.000000\"\t// short/cat\n-\t\t\t\t\"4\" \"-1015.740295 20.759636 -303.906189 0.024157 -89.112495 0.000000\"\t// underpass\n-\t\t\t\t\"5\" \"178.497757 -432.409790 -102.906189 4.839993 -153.049103 0.000000\"\t// top of mid\n-\t\t\t\t\"6\" \"1308.333252 -493.088531 -103.906189 0.846988 -105.737518 0.000000\"\t// t spawn\n-\t\t\t\t\"7\" \"937.698242 -2309.016357 24.093811 3.533107 178.540085 0.000000\"\t// palace\n-\t\t\t\t\"8\" \"1003.887695 -1429.493896 -103.906189 -9.220247 -100.872650 0.000000\"\t// palace towards t spawn\n+\t\t\t\t\"0\" \"-1677.126709 -1634.004761 -199.909851 0.000000 -70.527283 0.000000\" // ct spawn towards stairs\n+\t\t\t\t\"1\" \"-1656.067993 -1312.397339 -198.956573 0.000000 46.770073 0.000000\" // ct spawn towards window\n+\t\t\t\t\"2\" \"-1900.843750 -501.388794 -103.906342 0.000000 -35.025795 0.000000\"\t// market\n+\t\t\t\t\"3\" \"-1098.085815 247.777573 -108.550049 0.000000 -24.305056 0.000000\"\t// short/cat\n+\t\t\t\t\"4\" \"-1015.740295 20.759636 -303.906189 0.000000 -89.112495 0.000000\"\t// underpass\n+\t\t\t\t\"5\" \"178.497757 -432.409790 -102.906189 0.000000 -153.049103 0.000000\"\t// top of mid\n+\t\t\t\t\"6\" \"1308.333252 -493.088531 -103.906189 0.000000 -105.737518 0.000000\"\t// t spawn\n+\t\t\t\t\"7\" \"937.698242 -2309.016357 24.093811 0.000000 178.540085 0.000000\"\t// palace\n+\t\t\t\t\"8\" \"1003.887695 -1429.493896 -103.906189 0.000000 -100.872650 0.000000\"\t// palace towards t spawn\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"39.600376 -674.276245 -123.007751 -2.541049 156.639526 0.000000\"\t// top of mid\n-\t\t\t\t\"1\" \"205.479950 -423.502655 -105.788986 -0.459847 178.613220 0.000000\"\t// top of mid\n-\t\t\t\t\"2\" \"246.561295 837.782532 -71.906189 -0.532449 -174.005737 0.000000\"\t// t aps\n-\t\t\t\t\"3\" \"-1165.694702 -727.956482 -103.906189 0.024152 61.847801 0.000000\"\t// window\n-\t\t\t\t\"4\" \"-1608.863281 -1773.091064 -203.089233 -2.565245 89.242607 0.000000\" // ct spawn\n-\t\t\t\t\"5\" \"-188.154068 836.493591 -70.936310 -5.227249 -139.956451 0.000000\"\t// near underpass\n-\t\t\t\t\"6\" \"-638.112366 -1043.536621 -146.134171 -0.242047 98.970795 0.000000\"\t// connector\n+\t\t\t\t\"0\" \"39.600376 -674.276245 -123.007751 0.000000 156.639526 0.000000\"\t// top of mid\n+\t\t\t\t\"1\" \"205.479950 -423.502655 -105.788986 0.000000 178.613220 0.000000\"\t// top of mid\n+\t\t\t\t\"2\" \"246.561295 837.782532 -71.906189 0.000000 -174.005737 0.000000\"\t// t aps\n+\t\t\t\t\"3\" \"-1165.694702 -727.956482 -103.906189 0.000000 61.847801 0.000000\"\t// window\n+\t\t\t\t\"4\" \"-1608.863281 -1773.091064 -203.089233 0.000000 89.242607 0.000000\" // ct spawn\n+\t\t\t\t\"5\" \"-188.154068 836.493591 -70.936310 0.000000 -139.956451 0.000000\"\t// near underpass\n+\t\t\t\t\"6\" \"-638.112366 -1043.536621 -146.134171 0.000000 98.970795 0.000000\"\t// connector\n \t\t\t}\n \t\t}\n \t\t\"T\"\n \t\t{\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-138.005844 -1797.033203 -103.906189 4.114976 171.140121 0.000000\"\n-\t\t\t\t\"1\" \"-208.880524 -1975.932617 -103.906189 2.495055 57.080521 0.000000\"\n-\t\t\t\t\"2\" \"-173.824203 -1648.350464 -103.906448 1.945080 13.465389 0.000000\"\n-\t\t\t\t\"3\" \"-726.882385 -2127.039795 -115.906189 1.320001 88.945335 0.000000\"\n-\t\t\t\t\"4\" \"-133.799622 -1971.166504 -103.906189 4.970137 130.364868 0.000000\"\n+\t\t\t\t\"0\" \"-138.005844 -1797.033203 -103.906189 0.000000 171.140121 0.000000\"\n+\t\t\t\t\"1\" \"-208.880524 -1975.932617 -103.906189 0.000000 57.080521 0.000000\"\n+\t\t\t\t\"2\" \"-173.824203 -1648.350464 -103.906448 0.000000 13.465389 0.000000\"\n+\t\t\t\t\"3\" \"-726.882385 -2127.039795 -115.906189 0.000000 88.945335 0.000000\"\n+\t\t\t\t\"4\" \"-133.799622 -1971.166504 -103.906189 0.000000 130.364868 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-2071.244141 76.052170 -95.906189 2.034678 -80.853889 0.000000\"\n-\t\t\t\t\"1\" \"-2335.413574 317.665161 -103.906189 -0.880295 -1.849629 0.000000\"\n-\t\t\t\t\"2\" \"-2314.553223 87.289604 -103.906189 2.089718 -88.254845 0.000000\"\n-\t\t\t\t\"3\" \"-2311.599609 807.468384 -56.817085 0.770055 -17.544203 0.000000\"\n-\t\t\t\t\"4\" \"-2083.113770 422.673370 -95.906189 -0.440296 -28.139830 0.000000\"\n-\t\t\t\t\"5\" \"-2032.361572 819.257629 16.093811 5.499928 -73.249115 0.000000\"\n+\t\t\t\t\"0\" \"-2071.244141 76.052170 -95.906189 0.000000 -80.853889 0.000000\"\n+\t\t\t\t\"1\" \"-2335.413574 317.665161 -103.906189 0.000000 -1.849629 0.000000\"\n+\t\t\t\t\"2\" \"-2314.553223 87.289604 -103.906189 0.000000 -88.254845 0.000000\"\n+\t\t\t\t\"3\" \"-2311.599609 807.468384 -56.817085 0.000000 -17.544203 0.000000\"\n+\t\t\t\t\"4\" \"-2083.113770 422.673370 -95.906189 0.000000 -28.139830 0.000000\"\n+\t\t\t\t\"5\" \"-2032.361572 819.257629 16.093811 0.000000 -73.249115 0.000000\"\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/maps/de_nuke_retake.txt",
"status": "modified",
"additions": 29,
"deletions": 28,
"changes": 57,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -13,49 +14,49 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"1826.490234 -1582.837280 -415.468750 0.065063 153.155899 0.000000\"\n-\t\t\t\t\"1\" \"1881.807495 -1455.578857 -415.968750 5.555011 155.200150 0.000000\"\n-\t\t\t\t\"2\" \"1894.747314 -1346.003906 -415.968750 3.795011 163.780304 0.000000\"\n-\t\t\t\t\"3\" \"98.284538 78.638504 -415.968750 3.850050 -84.354782 0.000000\"\n-\t\t\t\t\"4\" \"217.944992 81.296051 -415.968750 3.960050 -95.904846 0.000000\"\n-\t\t\t\t\"5\" \"386.501587 289.255096 -415.968750 2.860050 -112.514771 0.000000\"\n-\t\t\t\t\"6\" \"477.353271 112.284828 -415.968750 4.620059 -158.439514 0.000000\"\n-\t\t\t\t\"7\" \"-349.254517 -326.273315 -415.968750 5.775097 -94.584648 0.000000\"\n+\t\t\t\t\"0\" \"1826.490234 -1582.837280 -415.468750 0.000000 153.155899 0.000000\"\n+\t\t\t\t\"1\" \"1881.807495 -1455.578857 -415.968750 0.000000 155.200150 0.000000\"\n+\t\t\t\t\"2\" \"1894.747314 -1346.003906 -415.968750 0.000000 163.780304 0.000000\"\n+\t\t\t\t\"3\" \"98.284538 78.638504 -415.968750 0.000000 -84.354782 0.000000\"\n+\t\t\t\t\"4\" \"217.944992 81.296051 -415.968750 0.000000 -95.904846 0.000000\"\n+\t\t\t\t\"5\" \"386.501587 289.255096 -415.968750 0.000000 -112.514771 0.000000\"\n+\t\t\t\t\"6\" \"477.353271 112.284828 -415.968750 0.000000 -158.439514 0.000000\"\n+\t\t\t\t\"7\" \"-349.254517 -326.273315 -415.968750 0.000000 -94.584648 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"1576.323364 -1878.220947 -639.968750 2.090019 -179.841293 0.000000\"\n-\t\t\t\t\"1\" \"1609.487671 -1979.546021 -639.968750 4.235075 170.125092 0.000000\"\n-\t\t\t\t\"2\" \"1539.138062 -2043.621338 -639.468750 1.925072 149.829666 0.000000\"\n-\t\t\t\t\"3\" \"1187.977905 -125.299744 -415.968750 3.300195 139.128769 0.000000\"\n-\t\t\t\t\"4\" \"1101.862305 -244.514221 -415.468750 3.410053 109.701180 0.000000\"\n-\t\t\t\t\"5\" \"65.669846 -193.346924 -415.968750 3.520051 50.169384 0.000000\"\n-\t\t\t\t\"6\" \"172.936295 -222.184082 -415.968750 3.685049 69.609474 0.000000\"\n+\t\t\t\t\"0\" \"1576.323364 -1878.220947 -639.968750 0.000000 -179.841293 0.000000\"\n+\t\t\t\t\"1\" \"1609.487671 -1979.546021 -639.968750 0.000000 170.125092 0.000000\"\n+\t\t\t\t\"2\" \"1539.138062 -2043.621338 -639.468750 0.000000 149.829666 0.000000\"\n+\t\t\t\t\"3\" \"1187.977905 -125.299744 -415.968750 0.000000 139.128769 0.000000\"\n+\t\t\t\t\"4\" \"1101.862305 -244.514221 -415.468750 0.000000 109.701180 0.000000\"\n+\t\t\t\t\"5\" \"65.669846 -193.346924 -415.968750 0.000000 50.169384 0.000000\"\n+\t\t\t\t\"6\" \"172.936295 -222.184082 -415.968750 0.000000 69.609474 0.000000\"\n \t\t\t}\n \t\t}\n \t\t\"T\"\n \t\t{\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"439.701294 -430.728943 -415.968750 0.220048 -66.750351 0.000000\"\n-\t\t\t\t\"1\" \"391.304352 -680.313660 -415.968750 2.255052 -45.245312 0.000000\"\n-\t\t\t\t\"2\" \"676.314880 -849.846741 -415.640930 -0.714948 -98.210297 0.000000\"\n-\t\t\t\t\"3\" \"910.849426 -814.943909 -415.968750 1.045055 -119.770355 0.000000\"\n-\t\t\t\t\"4\" \"834.290283 -432.108215 -415.968750 -0.219952 -116.085457 0.000000\"\n-\t\t\t\t\"5\" \"653.616211 -380.847412 -415.968750 -1.704951 -96.505409 0.000000\"\n+\t\t\t\t\"0\" \"439.701294 -430.728943 -415.968750 0.000000 -66.750351 0.000000\"\n+\t\t\t\t\"1\" \"391.304352 -680.313660 -415.968750 0.000000 -45.245312 0.000000\"\n+\t\t\t\t\"2\" \"676.314880 -849.846741 -415.640930 0.000000 -98.210297 0.000000\"\n+\t\t\t\t\"3\" \"910.849426 -814.943909 -415.968750 0.000000 -119.770355 0.000000\"\n+\t\t\t\t\"4\" \"834.290283 -432.108215 -415.968750 0.000000 -116.085457 0.000000\"\n+\t\t\t\t\"5\" \"653.616211 -380.847412 -415.968750 0.000000 -96.505409 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"505.153625 -1255.377808 -769.968750 4.344996 -175.020218 0.000000\"\n-\t\t\t\t\"1\" \"447.878540 -938.309509 -771.968750 -7.369998 71.569695 0.000000\"\n-\t\t\t\t\"2\" \"814.926270 -980.591858 -771.968750 4.125004 -0.315308 0.000000\"\n-\t\t\t\t\"3\" \"793.895630 -890.297546 -771.968750 -8.414989 102.699738 0.000000\"\n-\t\t\t\t\"4\" \"729.326294 -1292.212280 -769.968750 -0.769992 54.299778 0.000000\"\n-\t\t\t\t\"5\" \"601.971008 -1069.505737 -771.968750 -6.104986 87.904762 0.000000\"\n-\t\t\t\t\"6\" \"838.149231 -628.893921 -767.968750 2.200047 -110.615128 0.000000\"\n+\t\t\t\t\"0\" \"505.153625 -1255.377808 -769.968750 0.000000 -175.020218 0.000000\"\n+\t\t\t\t\"1\" \"447.878540 -938.309509 -771.968750 0.000000 71.569695 0.000000\"\n+\t\t\t\t\"2\" \"814.926270 -980.591858 -771.968750 0.000000 -0.315308 0.000000\"\n+\t\t\t\t\"3\" \"793.895630 -890.297546 -771.968750 0.000000 102.699738 0.000000\"\n+\t\t\t\t\"4\" \"729.326294 -1292.212280 -769.968750 0.000000 54.299778 0.000000\"\n+\t\t\t\t\"5\" \"601.971008 -1069.505737 -771.968750 0.000000 87.904762 0.000000\"\n+\t\t\t\t\"6\" \"838.149231 -628.893921 -767.968750 0.000000 -110.615128 0.000000\"\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/maps/de_overpass_retake.txt",
"status": "modified",
"additions": 26,
"deletions": 25,
"changes": 51,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -13,46 +14,46 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-2895.787598 -2106.911621 536.093811 1.154996 98.325569 0.000000\"\n-\t\t\t\t\"1\" \"-2677.047363 -2112.731201 536.093811 2.199996 91.065544 0.000000\"\n-\t\t\t\t\"2\" \"-2402.718262 -1904.216553 536.093811 3.024992 132.260513 0.000000\"\n-\t\t\t\t\"3\" \"-3520.431152 -1295.249268 566.301453 4.619984 95.850212 0.000000\"\n-\t\t\t\t\"4\" \"-3667.147705 -1309.966309 555.990662 0.769987 74.840096 0.000000\"\n-\t\t\t\t\"5\" \"-3569.248291 -1444.676880 577.288269 4.399978 97.500099 0.000000\"\n-\t\t\t\t\"6\" \"-2075.771484 450.691711 108.532364 2.694936 35.015278 0.000000\"\n-\t\t\t\t\"7\" \"-1949.533813 379.327820 108.031250 2.859980 69.885338 0.000000\"\n+\t\t\t\t\"0\" \"-2895.787598 -2106.911621 536.093811 0.000000 98.325569 0.000000\"\n+\t\t\t\t\"1\" \"-2677.047363 -2112.731201 536.093811 0.000000 91.065544 0.000000\"\n+\t\t\t\t\"2\" \"-2402.718262 -1904.216553 536.093811 0.000000 132.260513 0.000000\"\n+\t\t\t\t\"3\" \"-3520.431152 -1295.249268 566.301453 0.000000 95.850212 0.000000\"\n+\t\t\t\t\"4\" \"-3667.147705 -1309.966309 555.990662 0.000000 74.840096 0.000000\"\n+\t\t\t\t\"5\" \"-3569.248291 -1444.676880 577.288269 0.000000 97.500099 0.000000\"\n+\t\t\t\t\"6\" \"-2075.771484 450.691711 108.532364 0.000000 35.015278 0.000000\"\n+\t\t\t\t\"7\" \"-1949.533813 379.327820 108.031250 0.000000 69.885338 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-669.978821 -1596.339600 209.001465 9.294992 77.815590 0.000000\"\n-\t\t\t\t\"1\" \"-845.763367 -1510.034058 209.090118 5.444992 54.330486 0.000000\"\n-\t\t\t\t\"2\" \"-830.348755 -1692.366089 214.448120 7.754998 60.655495 0.000000\"\n-\t\t\t\t\"3\" \"-2089.559082 1245.278198 420.093811 12.375099 -37.318851 0.000000\"\n-\t\t\t\t\"4\" \"-2049.639648 1297.645386 420.093811 12.375099 -37.318851 0.000000\"\n-\t\t\t\t\"5\" \"-1935.149536 1299.063110 419.212982 13.420106 -59.428921 0.000000\"\n+\t\t\t\t\"0\" \"-669.978821 -1596.339600 209.001465 0.000000 77.815590 0.000000\"\n+\t\t\t\t\"1\" \"-845.763367 -1510.034058 209.090118 0.000000 54.330486 0.000000\"\n+\t\t\t\t\"2\" \"-830.348755 -1692.366089 214.448120 0.000000 60.655495 0.000000\"\n+\t\t\t\t\"3\" \"-2089.559082 1245.278198 420.093811 0.000000 -37.318851 0.000000\"\n+\t\t\t\t\"4\" \"-2049.639648 1297.645386 420.093811 0.000000 -37.318851 0.000000\"\n+\t\t\t\t\"5\" \"-1935.149536 1299.063110 419.212982 0.000000 -59.428921 0.000000\"\n \t\t\t}\n \t\t}\n \t\t\"T\"\n \t\t{\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-2276.064209 566.507263 544.079407 3.850023 -120.519920 0.000000\"\n-\t\t\t\t\"1\" \"-2473.138184 536.193909 544.093811 8.305019 -115.899849 0.000000\"\n-\t\t\t\t\"2\" \"-2259.978271 698.634766 536.343811 2.915035 -116.669830 0.000000\"\n-\t\t\t\t\"3\" \"-2426.317627 822.700256 536.343811 1.485011 13.460282 0.000000\"\n-\t\t\t\t\"4\" \"-2087.630127 735.790344 476.031219 2.342239 137.941879 0.000000\"\n+\t\t\t\t\"0\" \"-2276.064209 566.507263 544.079407 0.000000 -120.519920 0.000000\"\n+\t\t\t\t\"1\" \"-2473.138184 536.193909 544.093811 0.000000 -115.899849 0.000000\"\n+\t\t\t\t\"2\" \"-2259.978271 698.634766 536.343811 0.000000 -116.669830 0.000000\"\n+\t\t\t\t\"3\" \"-2426.317627 822.700256 536.343811 0.000000 13.460282 0.000000\"\n+\t\t\t\t\"4\" \"-2087.630127 735.790344 476.031219 0.000000 137.941879 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-884.320007 221.360916 160.093811 9.020019 -46.930019 0.000000\"\n-\t\t\t\t\"1\" \"-1082.541992 141.747742 163.093811 -10.119980 148.290009 0.000000\"\n-\t\t\t\t\"2\" \"-1192.550903 105.253471 163.093811 0.880019 -58.370010 0.000000\"\n-\t\t\t\t\"3\" \"-1047.512573 -150.184769 163.093811 0.110016 -170.129654 0.000000\"\n-\t\t\t\t\"4\" \"-968.416199 -183.259766 160.093811 1.320018 -91.204674 0.000000\"\n-\t\t\t\t\"5\" \"-1112.493286 -216.452805 163.093811 2.640013 50.255310 0.000000\"\n+\t\t\t\t\"0\" \"-884.320007 221.360916 160.093811 0.000000 -46.930019 0.000000\"\n+\t\t\t\t\"1\" \"-1082.541992 141.747742 163.093811 0.000000 148.290009 0.000000\"\n+\t\t\t\t\"2\" \"-1192.550903 105.253471 163.093811 0.000000 -58.370010 0.000000\"\n+\t\t\t\t\"3\" \"-1047.512573 -150.184769 163.093811 0.000000 -170.129654 0.000000\"\n+\t\t\t\t\"4\" \"-968.416199 -183.259766 160.093811 0.000000 -91.204674 0.000000\"\n+\t\t\t\t\"5\" \"-1112.493286 -216.452805 163.093811 0.000000 50.255310 0.000000\"\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/maps/de_train_retake.txt",
"status": "modified",
"additions": 26,
"deletions": 25,
"changes": 51,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -13,46 +14,46 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"869.592896 1623.697876 -163.906189 2.859981 -26.422117 0.000000\" \t\t//ivy\n-\t\t\t\t\"1\" \"719.372253 1657.006714 -159.917480 3.409997 -17.566977 0.000000\" \t\t//ivy\n-\t\t\t\t\"2\" \"-233.861633 -897.102600 -254.968750 -2.111976 3.068373 0.000000\" \t\t//b site ramp\n-\t\t\t\t\"3\" \"-728.552124 1435.110352 -157.265610 2.859995 -82.961456 0.000000\"\t\t//a main\n-\t\t\t\t\"4\" \"-974.967651 -869.088562 -89.968750 -4.597982 94.454933 -0.000000\" \t\t//upper b\n-\t\t\t\t\"5\" \"-982.721497 -166.424179 80.093811 4.960011 -19.305164 0.000000\" \t\t//top longdog\n-\t\t\t\t\"6\" \"1693.168457 -661.709900 -199.968750 -2.705968 100.607056 0.000000\"\t\t//ct spawn\n-\t\t\t\t\"7\" \"1025.682617 -1252.776733 -278.968750 -3.299975 123.430275 0.000000\"\t//back b site\n+\t\t\t\t\"0\" \"869.592896 1623.697876 -163.906189 0.000000 -26.422117 0.000000\" \t\t//ivy\n+\t\t\t\t\"1\" \"719.372253 1657.006714 -159.917480 0.000000 -17.566977 0.000000\" \t\t//ivy\n+\t\t\t\t\"2\" \"-233.861633 -897.102600 -254.968750 0.000000 3.068373 0.000000\" \t\t//b site ramp\n+\t\t\t\t\"3\" \"-728.552124 1435.110352 -157.265610 0.000000 -82.961456 0.000000\"\t\t//a main\n+\t\t\t\t\"4\" \"-974.967651 -869.088562 -89.968750 0.000000 94.454933 0.000000\" \t\t//upper b\n+\t\t\t\t\"5\" \"-982.721497 -166.424179 80.093811 0.000000 -19.305164 0.000000\" \t\t//top longdog\n+\t\t\t\t\"6\" \"1693.168457 -661.709900 -199.968750 0.000000 100.607056 0.000000\"\t\t//ct spawn\n+\t\t\t\t\"7\" \"1025.682617 -1252.776733 -278.968750 0.000000 123.430275 0.000000\"\t//back b site\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-969.392029 259.101227 80.031250 1.584035 -90.211624 0.000000\"\t\t\t//upper b\n-\t\t\t\t\"1\" \"-604.124756 151.493393 80.031250 1.166058 -89.859642 0.000000\"\t\t\t//upper b\n-\t\t\t\t\"2\" \"1642.633911 -36.776550 -147.968750 5.918056 -89.581604 0.000000\"\t\t//a1 ct\n-\t\t\t\t\"3\" \"-93.765259 147.830399 -151.968750 0.638126 -57.438507 0.000000\"\t\t//ebox\n-\t\t\t\t\"4\" \"661.129333 179.949982 -151.968750 2.684222 -132.613449 0.000000\"\t\t//a site\n-\t\t\t\t\"5\" \"-448.117981 -133.451660 -151.968750 0.638163 -42.567448 0.000000\"\t\t//outside longdog\n-\t\t\t\t\"6\" \"1692.687500 -665.840088 -199.968750 7.854129 -102.649010 0.000000\"\t\t//ct spawn\n+\t\t\t\t\"0\" \"-969.392029 259.101227 80.031250 0.000000 -90.211624 0.000000\"\t\t\t//upper b\n+\t\t\t\t\"1\" \"-604.124756 151.493393 80.031250 0.000000 -89.859642 0.000000\"\t\t\t//upper b\n+\t\t\t\t\"2\" \"1642.633911 -36.776550 -147.968750 0.000000 -89.581604 0.000000\"\t\t//a1 ct\n+\t\t\t\t\"3\" \"-93.765259 147.830399 -151.968750 0.000000 -57.438507 0.000000\"\t\t//ebox\n+\t\t\t\t\"4\" \"661.129333 179.949982 -151.968750 0.000000 -132.613449 0.000000\"\t\t//a site\n+\t\t\t\t\"5\" \"-448.117981 -133.451660 -151.968750 0.000000 -42.567448 0.000000\"\t\t//outside longdog\n+\t\t\t\t\"6\" \"1692.687500 -665.840088 -199.968750 0.000000 -102.649010 0.000000\"\t\t//ct spawn\n \t\t\t}\n \t\t}\n \t\t\"T\"\n \t\t{\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"462.717316 110.559921 -151.906189 0.769982 36.600121 0.000000\"\t\t\t//mid-a site\n-\t\t\t\t\"1\" \"55.970734 -192.313721 -215.968750 1.936126 14.141252 0.000000\"\t\t//behind default plant\n-\t\t\t\t\"2\" \"641.802673 -340.406494 -143.968750 2.002108 104.539085 0.000000\"\t\t//under heaven\n-\t\t\t\t\"3\" \"551.447693 -236.673233 -151.906189 -2.035019 82.220497 0.000000\"\t\t//near heaven\n-\t\t\t\t\"4\" \"246.003784 -105.766846 -77.968750 12.144086 178.538879 0.000000\"\t\t//on bomb train\n+\t\t\t\t\"0\" \"462.717316 110.559921 -151.906189 0.000000 36.600121 0.000000\"\t\t\t//mid-a site\n+\t\t\t\t\"1\" \"55.970734 -192.313721 -215.968750 0.000000 14.141252 0.000000\"\t\t//behind default plant\n+\t\t\t\t\"2\" \"641.802673 -340.406494 -143.968750 0.000000 104.539085 0.000000\"\t\t//under heaven\n+\t\t\t\t\"3\" \"551.447693 -236.673233 -151.906189 0.000000 82.220497 0.000000\"\t\t//near heaven\n+\t\t\t\t\"4\" \"246.003784 -105.766846 -77.968750 0.000000 178.538879 0.000000\"\t\t//on bomb train\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-3.422702 -1143.280762 -288.029327 0.934985 0.541761 0.00000\"\t\t\t// mid-b site\n-\t\t\t\t\"1\" \"72.596527 -1405.762207 -285.974854 0.714984 -0.778225 0.00000\"\t\t\t// mid-b site oil side\n-\t\t\t\t\"2\" \"-235.921524 -1407.080444 -287.906189 -0.495016 111.861740 0.00000\"\t\t// mid-b site oil side\n-\t\t\t\t\"3\" \"-449.022644 -1277.995239 -291.906189 1.924981 84.636719 0.00000\"\t\t// behind default plant\n-\t\t\t\t\"4\" \"-255.967651 -1544.674316 -350.968750 6.622083 65.481186 0.000000\"\t\t// below upper b\n+\t\t\t\t\"0\" \"-3.422702 -1143.280762 -288.029327 0.000000 0.541761 0.000000\"\t\t\t// mid-b site\n+\t\t\t\t\"1\" \"72.596527 -1405.762207 -285.974854 0.000000 -0.778225 0.000000\"\t\t\t// mid-b site oil side\n+\t\t\t\t\"2\" \"-235.921524 -1407.080444 -287.906189 0.000000 111.861740 0.000000\"\t\t// mid-b site oil side\n+\t\t\t\t\"3\" \"-449.022644 -1277.995239 -291.906189 0.000000 84.636719 0.000000\"\t\t// behind default plant\n+\t\t\t\t\"4\" \"-255.967651 -1544.674316 -350.968750 0.000000 65.481186 0.000000\"\t\t// below upper b\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/maps/de_vertigo_retake.txt",
"status": "modified",
"additions": 30,
"deletions": 29,
"changes": 59,
"patch": "@@ -1,6 +1,7 @@\n // Spawn locations and angles.\n // The first three numbers are the X Y Z coordinates of the player location.\n // The last three numbers are the PITCH YAW ROLL parameters of the player camera.\n+// Only YAW is used. PITCH and ROLL must be 0.\n // To easily get these numbers, walk around the map and type \"getpos\" in the console.\n // The console will return the 6 numbers that you need to paste into your entry below.\n \n@@ -13,50 +14,50 @@\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-1451.945435 163.126968 11840.093750 2.780024 -3.554834 0.000000\"\n-\t\t\t\t\"1\" \"-1516.281128 336.276184 11840.093750 1.955028 -27.094843 0.000000\"\n-\t\t\t\t\"2\" \"-1141.929932 555.575989 11841.093750 -0.629967 -76.790024 0.000000\"\n-\t\t\t\t\"3\" \"-1523.626465 -345.075836 11552.093750 3.399952 44.049221 0.000000\"\n-\t\t\t\t\"4\" \"-1492.269897 125.298424 11553.093750 3.605145 -44.835899 0.000000\"\n-\t\t\t\t\"5\" \"-1205.339966 900.894836 11840.093750 2.190067 -37.900955 0.000000\"\n-\t\t\t\t\"6\" \"-1287.256348 948.204285 11840.093750 5.215091 -37.900822 0.000000\"\n-\t\t\t\t\"7\" \"-1788.561768 347.308929 11840.093750 1.805082 -9.661197 0.000000\"\n+\t\t\t\t\"0\" \"-1451.945435 163.126968 11840.093750 0.000000 -3.554834 0.000000\"\n+\t\t\t\t\"1\" \"-1516.281128 336.276184 11840.093750 0.000000 -27.094843 0.000000\"\n+\t\t\t\t\"2\" \"-1141.929932 555.575989 11841.093750 0.000000 -76.790024 0.000000\"\n+\t\t\t\t\"3\" \"-1523.626465 -345.075836 11552.093750 0.000000 44.049221 0.000000\"\n+\t\t\t\t\"4\" \"-1492.269897 125.298424 11553.093750 0.000000 -44.835899 0.000000\"\n+\t\t\t\t\"5\" \"-1205.339966 900.894836 11840.093750 0.000000 -37.900955 0.000000\"\n+\t\t\t\t\"6\" \"-1287.256348 948.204285 11840.093750 0.000000 -37.900822 0.000000\"\n+\t\t\t\t\"7\" \"-1788.561768 347.308929 11840.093750 0.000000 -9.661197 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-974.750610 -404.438934 11841.093750 0.815079 96.623421 0.000000\"\n-\t\t\t\t\"1\" \"-823.286316 -374.872650 11840.093750 2.025078 108.008484 0.000000\"\n-\t\t\t\t\"2\" \"-668.304810 -217.494736 11840.093750 2.190075 153.824127 0.000000\"\n-\t\t\t\t\"3\" \"-1535.756470 -238.856689 11776.031250 0.485072 142.463699 0.000000\"\n-\t\t\t\t\"4\" \"-1458.373657 -119.980713 11776.031250 5.160068 170.238327 0.000000\"\n-\t\t\t\t\"5\" \"-1373.065796 -427.928955 11776.031250 2.740066 135.203018 0.000000\"\n-\t\t\t\t\"6\" \"-2354.094971 -857.293701 11552.093750 3.950027 68.872276 0.000000\"\n-\t\t\t\t\"7\" \"-2193.825684 -915.975647 11552.093750 3.180027 100.167282 0.000000\"\n-\t\t\t\t\"8\" \"-2110.593262 -754.761353 11552.093750 4.995027 138.832138 0.000000\"\n+\t\t\t\t\"0\" \"-974.750610 -404.438934 11841.093750 0.000000 96.623421 0.000000\"\n+\t\t\t\t\"1\" \"-823.286316 -374.872650 11840.093750 0.000000 108.008484 0.000000\"\n+\t\t\t\t\"2\" \"-668.304810 -217.494736 11840.093750 0.000000 153.824127 0.000000\"\n+\t\t\t\t\"3\" \"-1535.756470 -238.856689 11776.031250 0.000000 142.463699 0.000000\"\n+\t\t\t\t\"4\" \"-1458.373657 -119.980713 11776.031250 0.000000 170.238327 0.000000\"\n+\t\t\t\t\"5\" \"-1373.065796 -427.928955 11776.031250 0.000000 135.203018 0.000000\"\n+\t\t\t\t\"6\" \"-2354.094971 -857.293701 11552.093750 0.000000 68.872276 0.000000\"\n+\t\t\t\t\"7\" \"-2193.825684 -915.975647 11552.093750 0.000000 100.167282 0.000000\"\n+\t\t\t\t\"8\" \"-2110.593262 -754.761353 11552.093750 0.000000 138.832138 0.000000\"\n \t\t\t}\n \t\t}\n \t\t\"T\"\n \t\t{\n \t\t\t// A site\n \t\t\t\"0\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-73.786880 -905.851135 11840.093750 6.215020 -141.909775 0.000000\" \n-\t\t\t\t\"1\" \"-300.173615 -927.451782 11840.093750 14.465016 -124.639832 0.000000\" \n-\t\t\t\t\"2\" \"-330.812439 -799.745605 11840.093750 6.600021 -97.390060 0.000000\"\n-\t\t\t\t\"3\" \"-67.812881 -795.826904 11840.093750 4.345022 -141.445145 0.000000\"\n-\t\t\t\t\"4\" \"-545.310059 -735.743652 11840.093750 0.605010 175.599777 0.000000\"\n-\t\t\t\t\"5\" \"-537.468994 -581.356995 11840.093750 2.970011 -171.750366 0.000000\"\n+\t\t\t\t\"0\" \"-73.786880 -905.851135 11840.093750 0.000000 -141.909775 0.000000\" \n+\t\t\t\t\"1\" \"-300.173615 -927.451782 11840.093750 0.000000 -124.639832 0.000000\" \n+\t\t\t\t\"2\" \"-330.812439 -799.745605 11840.093750 0.000000 -97.390060 0.000000\"\n+\t\t\t\t\"3\" \"-67.812881 -795.826904 11840.093750 0.000000 -141.445145 0.000000\"\n+\t\t\t\t\"4\" \"-545.310059 -735.743652 11840.093750 0.000000 175.599777 0.000000\"\n+\t\t\t\t\"5\" \"-537.468994 -581.356995 11840.093750 0.000000 -171.750366 0.000000\"\n \t\t\t}\n \t\t\t// B site\n \t\t\t\"1\"\n \t\t\t{\n-\t\t\t\t\"0\" \"-2311.852539 1051.179688 11813.517578 0.219993 -21.645147 0.000000\"\n-\t\t\t\t\"1\" \"-2605.017090 911.943115 11815.585938 -0.274989 0.079643 0.000000\"\n-\t\t\t\t\"2\" \"-2621.069824 634.407532 11817.556641 3.300010 -78.405312 0.000000\"\n-\t\t\t\t\"3\" \"-2441.925049 667.737366 11808.093750 3.135013 -79.505333 0.000000\"\n-\t\t\t\t\"4\" \"-2470.786133 862.286621 11808.093750 0.715015 -12.735312 0.000000\"\n-\t\t\t\t\"5\" \"-2473.725586 1082.646484 11817.381836 1.045011 -18.810177 0.000000\"\n+\t\t\t\t\"0\" \"-2311.852539 1051.179688 11813.517578 0.000000 -21.645147 0.000000\"\n+\t\t\t\t\"1\" \"-2605.017090 911.943115 11815.585938 0.000000 0.079643 0.000000\"\n+\t\t\t\t\"2\" \"-2621.069824 634.407532 11817.556641 0.000000 -78.405312 0.000000\"\n+\t\t\t\t\"3\" \"-2441.925049 667.737366 11808.093750 0.000000 -79.505333 0.000000\"\n+\t\t\t\t\"4\" \"-2470.786133 862.286621 11808.093750 0.000000 -12.735312 0.000000\"\n+\t\t\t\t\"5\" \"-2473.725586 1082.646484 11817.381836 0.000000 -18.810177 0.000000\"\n \t\t\t}\n \t\t}\n \t}"
},
{
"filename": "game/csgo/pak01_dir/panorama/styles/retakeloadout.css",
"status": "modified",
"additions": 0,
"deletions": 20,
"changes": 20,
"patch": "@@ -172,26 +172,6 @@\n \topacity: 0;\n }\n \n-.RetakeLoadoutMenu--loadout-container.RetakeLoadoutMenu--loadout-container-0\n-{\n-\tanimation-delay: 0.15s;\n-}\n-\n-.RetakeLoadoutMenu--loadout-container.RetakeLoadoutMenu--loadout-container-1\n-{\n-\tanimation-delay: 0.25s;\n-}\n-\n-.RetakeLoadoutMenu--loadout-container.RetakeLoadoutMenu--loadout-container-2\n-{\n-\tanimation-delay: 0.45s;\n-}\n-\n-.RetakeLoadoutMenu--loadout-container.RetakeLoadoutMenu--loadout-container-3\n-{\n-\tanimation-delay: .5s;\n-}\n-\n @keyframes 'deal'\n {\n \t0%"
},
{
"filename": "game/csgo/pak01_dir/scripts/workshop_cvar_whitelist.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -223,6 +223,7 @@\n \t\t\"mp_death_drop_defuser\",\t\t\t\t\t\t\t\t\n \t\t\"mp_death_drop_grenade\",\t\t\t\t\t\t\t\t\n \t\t\"mp_death_drop_gun\",\t\t\t\t\t\t\t\t\t\n+\t\t\"mp_death_drop_taser\",\n \t\t\"mp_death_drop_healthshot\",\n \t\t\"mp_deathcam_skippable\",\t\t\t\t\t\t\t\t\n \t\t\"mp_default_team_winner_no_objective\",\t\t\t\t\t"
},
{
"filename": "game/csgo/readonly_tools_asset_info.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -134923,3 +134923,4 @@ sounds/graphs/reverb_9_mediumchamber.vsnd\n panorama/layout/hud/hudmutators.vxml\n panorama/styles/hud/hudmutators.vcss\n sounds/graphs/bighead_pitch.vsnd\n+panorama/images/econ/keychains/bud2025/kc_bud2025_png.vtex"
},
{
"filename": "game/csgo/steam.inf",
"status": "modified",
"additions": 6,
"deletions": 6,
"changes": 12,
"patch": "@@ -1,9 +1,9 @@\n-ClientVersion=2000940\n-ServerVersion=2000940\n-PatchVersion=1.41.9.5\n+ClientVersion=2000942\n+ServerVersion=2000942\n+PatchVersion=1.41.9.6\n ProductName=cs2\n appID=730\n ServerAppID=2347773\n-SourceRevision=11198439\n-VersionDate=Nov 02 2026\n-VersionTime=16:17:08\n+SourceRevision=11206718\n+VersionDate=Nov 04 2026\n+VersionTime=16:01:59"
},
{
"filename": "game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/chess.js",
"status": "modified",
"additions": 10,
"deletions": 10,
"changes": 20,
"patch": "@@ -1,6 +1,6 @@\n // @ts-nocheck\n \n-import { Instance, PointTemplate } from \"cs_script/point_script\";\n+import { Instance, PointTemplate, Entities } from \"cs_script/point_script\";\n \n function ChessJS() {\n \n@@ -3474,7 +3474,7 @@ let chess = new Chess();\n \n const centers = {};\n function FindCenters() {\n- const entities = Instance.FindEntitiesByClass(\"info_target\");\n+ const entities = Entities.FindByClass(\"info_target\");\n for (const ent of entities) {\n const name = ent.GetEntityName();\n if (/^[a-h][1-8]$/.test(name)) {\n@@ -3501,14 +3501,14 @@ async function RunChess() {\n await AnimateMove(move);\n }\n \n- Instance.EntFireAtName({ name: `snd.chess.${chess.turn()}.win`, input: \"StartSound\" });\n+ Entities.FireInput({ name: `snd.chess.${chess.turn()}.win`, input: \"StartSound\" });\n Instance.SetNextThink(Instance.GetGameTime() + 10);\n bIsRunning = false;\n }\n \n function RenderPieces() {\n \n- const existing = Instance.FindEntitiesByName(\"chess.piece.*\");\n+ const existing = Entities.FindByName(\"chess.piece.*\");\n \n for (const line of chess.board()) {\n for (const square of line) {\n@@ -3545,12 +3545,12 @@ function RenderPieces() {\n }\n \n function PlaySoundOnEnt(soundEntName, targetEntName) {\n- Instance.EntFireAtName({ name: soundEntName, input: \"SetSourceEntity\", value: targetEntName });\n- Instance.EntFireAtName({ name: soundEntName, input: \"StartSound\" });\n+ Entities.FireInput({ name: soundEntName, input: \"SetSourceEntity\", value: targetEntName });\n+ Entities.FireInput({ name: soundEntName, input: \"StartSound\" });\n }\n \n async function AnimateMove(move) {\n- const piece = Instance.FindEntitiesByName(`chess.piece.${move.color}.${move.piece}`).find((p) => p.square === move.from);\n+ const piece = Entities.FindByName(`chess.piece.${move.color}.${move.piece}`).find((p) => p.square === move.from);\n if (!piece) {\n RenderPieces();\n return;\n@@ -3568,7 +3568,7 @@ async function AnimateMove(move) {\n if (move.isCapture()) {\n PlaySoundOnEnt(\"chess.snd.capture\", piece.GetEntityName());\n const capturedColor = move.color === WHITE ? BLACK : WHITE;\n- const captured = Instance.FindEntitiesByName(`chess.piece.${capturedColor}.${move.captured}`).find((p) => p.square === move.to);\n+ const captured = Entities.FindByName(`chess.piece.${capturedColor}.${move.captured}`).find((p) => p.square === move.to);\n if (captured) {\n await DiePiece(captured);\n }\n@@ -3623,9 +3623,9 @@ async function DiePiece(piece) {\n }\n \n function SpawnPiece(type, color) {\n- let spawner = Instance.FindEntityByName(`chess.template.${type}.${color}`);\n+ let [spawner] = Entities.FindByName(`chess.template.${type}.${color}`);\n if (!spawner) {\n- spawner = Instance.FindEntityByName(`chess.template.${type}`);\n+ [spawner] = Entities.FindByName(`chess.template.${type}`);\n }\n if (spawner instanceof PointTemplate) {\n const spawned = spawner.ForceSpawn();"
},
{
"filename": "game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/grenadetraining.js",
"status": "modified",
"additions": 32,
"deletions": 32,
"changes": 64,
"patch": "@@ -1,4 +1,4 @@\n-import { Console, Entity, Instance } from \"cs_script/point_script\";\n+import { Console, Entity, Instance, Entities } from \"cs_script/point_script\";\n \n let Rounds = 0;\n let Hits = 0;\n@@ -11,9 +11,9 @@ let TargetHard = \"targetbox.hard\";\n function SetNextTarget() {\n Rounds++;\n \n- Instance.EntFireAtName({ name: \"worldtext.rounds\", input: \"SetMessage\", value: Rounds });\n- Instance.EntFireAtName({ name: \"cover.*\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"tele.reset\", input: \"Teleport\" });\n+ Entities.FireInput({ name: \"worldtext.rounds\", input: \"SetMessage\", value: Rounds });\n+ Entities.FireInput({ name: \"cover.*\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"tele.reset\", input: \"Teleport\" });\n \n \n let NewTarget = Math.floor(Math.random() * 11) + 1;\n@@ -24,27 +24,27 @@ function SetNextTarget() {\n if (Rounds > 7) difficulty = \"hard\";\n else if (Rounds > 4) difficulty = \"med\";\n \n- Instance.EntFireAtName({ name: `cover.${Target}`, input: \"Disable\" });\n- Instance.EntFireAtName({ name: `tele.${Target}`, input: \"TeleportEntity\", value: `targetbox.${difficulty}` });\n+ Entities.FireInput({ name: `cover.${Target}`, input: \"Disable\" });\n+ Entities.FireInput({ name: `tele.${Target}`, input: \"TeleportEntity\", value: `targetbox.${difficulty}` });\n }\n \n \n Instance.OnScriptInput(\"ResetAndCleanUp\", () => {\n- Instance.EntFireAtName({ name: \"trigger.start\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"trigger.end_early\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"worldtext.go_here\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"relay.start_countdown\", input: \"CancelPending\" });\n-\n- Instance.EntFireAtName({ name: \"worldtext.training_countdown_dyn\", input: \"SetMessage\", value: \"3\" });\n- Instance.EntFireAtName({ name: \"worldtext.training_countdown_static\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"worldtext.training_countdown_dyn\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"board.timer\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"board.timer\", input: \"ResetTimer\" });\n- Instance.EntFireAtName({ name: \"snd.tick\", input: \"StopSound\" });\n- Instance.EntFireAtName({ name: \"tele.reset\", input: \"Teleport\" });\n- Instance.EntFireAtName({ name: \"cover.*\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"worldtext.hits\", input: \"SetMessage\", value: \"0\" });\n- Instance.EntFireAtName({ name: \"worldtext.rounds\", input: \"SetMessage\", value: \"0\" });\n+ Entities.FireInput({ name: \"trigger.start\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"trigger.end_early\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"worldtext.go_here\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"relay.start_countdown\", input: \"CancelPending\" });\n+\n+ Entities.FireInput({ name: \"worldtext.training_countdown_dyn\", input: \"SetMessage\", value: \"3\" });\n+ Entities.FireInput({ name: \"worldtext.training_countdown_static\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"worldtext.training_countdown_dyn\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"board.timer\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"board.timer\", input: \"ResetTimer\" });\n+ Entities.FireInput({ name: \"snd.tick\", input: \"StopSound\" });\n+ Entities.FireInput({ name: \"tele.reset\", input: \"Teleport\" });\n+ Entities.FireInput({ name: \"cover.*\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"worldtext.hits\", input: \"SetMessage\", value: \"0\" });\n+ Entities.FireInput({ name: \"worldtext.rounds\", input: \"SetMessage\", value: \"0\" });\n \n Console.SetConvar(\"sv_infinite_ammo\", 0);\n const player = Instance.GetPlayerController(0)?.GetPlayerPawn();\n@@ -53,10 +53,10 @@ Instance.OnScriptInput(\"ResetAndCleanUp\", () => {\n });\n \n Instance.OnScriptInput(\"StartTraining\", () => {\n- Instance.EntFireAtName({ name: \"trigger.start\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"trigger.end_early\", input: \"Enable\" });\n- Instance.EntFireAtName({ name: \"worldtext.go_here\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"relay.start_countdown\", input: \"Trigger\" });\n+ Entities.FireInput({ name: \"trigger.start\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"trigger.end_early\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"worldtext.go_here\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"relay.start_countdown\", input: \"Trigger\" });\n \n Console.SetConvar(\"sv_infinite_ammo\", 1);\n const player = Instance.GetPlayerController(0)?.GetPlayerPawn();\n@@ -70,8 +70,8 @@ Instance.OnScriptInput(\"StartTraining\", () => {\n \n Instance.OnScriptInput(\"GrenadeHit\", () => {\n Hits++;\n- Instance.EntFireAtName({ name: \"snd.hit\", input: \"StartSound\" });\n- Instance.EntFireAtName({ name: \"worldtext.hits\", input: \"SetMessage\", value: Hits });\n+ Entities.FireInput({ name: \"snd.hit\", input: \"StartSound\" });\n+ Entities.FireInput({ name: \"worldtext.hits\", input: \"SetMessage\", value: Hits });\n if (trackedProjectile && trackedProjectile.IsValid()) {\n trackedProjectile.Remove();\n trackedProjectile = undefined;\n@@ -83,11 +83,11 @@ Instance.OnScriptInput(\"SetNextTarget\", () => {\n if (Rounds < 10) {\n SetNextTarget();\n } else {\n- Instance.EntFireAtName({ name: \"snd.end\", input: \"StartSound\" });\n- Instance.EntFireAtName({ name: \"board.timer\", input: \"Disable\" });\n- Instance.EntFireAtName({ name: \"board.timer\", input: \"ResetTimer\" });\n- Instance.EntFireAtName({ name: \"tele.reset\", input: \"Teleport\" });\n- Instance.EntFireAtName({ name: \"cover.*\", input: \"Enable\" });\n+ Entities.FireInput({ name: \"snd.end\", input: \"StartSound\" });\n+ Entities.FireInput({ name: \"board.timer\", input: \"Disable\" });\n+ Entities.FireInput({ name: \"board.timer\", input: \"ResetTimer\" });\n+ Entities.FireInput({ name: \"tele.reset\", input: \"Teleport\" });\n+ Entities.FireInput({ name: \"cover.*\", input: \"Enable\" });\n }\n });\n "
},
{
"filename": "game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/mdlchange.js",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,7 +1,7 @@\n-import { Instance, BaseModelEntity, Console } from \"cs_script/point_script\";\n+import { Instance, BaseModelEntity, Console, Entities } from \"cs_script/point_script\";\n \n function GetProp() {\n- const ent = Instance.FindEntityByName(\"mdlchange.prop_dyn\");\n+ const [ent] = Entities.FindByName(\"mdlchange.prop_dyn\");\n if (ent instanceof BaseModelEntity) return ent;\n }\n function Init() {"
},
{
"filename": "game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/setup.js",
"status": "modified",
"additions": 12,
"deletions": 5,
"changes": 17,
"patch": "@@ -1,4 +1,4 @@\n-import { CSDamageFlags, CSDamageTypes, Entity, Instance, Console } from \"cs_script/point_script\";\n+import { CSDamageFlags, CSDamageTypes, Entity, Instance, Console, Entities } from \"cs_script/point_script\";\n \n Console.SetConvar(\"sv_cheats\", true);\n Console.SetConvar(\"mp_warmup_offline_enabled\", true);\n@@ -16,12 +16,19 @@ Instance.OnPlayerActivate(({ player }) => {\n ShowWelcome(player.GetPlayerSlot());\n });\n \n-Instance.OnModifyPlayerDamage(({ player }) => {\n- if (player.GetOriginalPlayerController().IsBot()) {\n+Instance.OnModifyPlayerDamage(({ player, damageTypes }) => {\n+ if (player.GetOriginalPlayerController().IsBot() && !(damageTypes & CSDamageTypes.BLAST)) {\n return { damageFlags: CSDamageFlags.PREVENT_DEATH };\n }\n });\n \n+Instance.OnPlayerKill(async ({ player }) => {\n+ await Instance.Delay(1);\n+ if (player.IsValid() && !player.IsAlive()) {\n+ player.Reset();\n+ }\n+});\n+\n Instance.OnPlayerDamage((event) => {\n if (event.damageTypes == CSDamageTypes.SLASH) {\n Instance.QueueAfterThinks(() => {\n@@ -35,9 +42,9 @@ Instance.OnPlayerDamage((event) => {\n let welcomeLayout = null;\n function GetWelcomeLayout() {\n if (!(welcomeLayout instanceof Entity) || !welcomeLayout.IsValid()) {\n- welcomeLayout = Instance.FindEntitiesByName(\"welcome_layout\")[0];\n+ [welcomeLayout] = Entities.FindByName(\"welcome_layout\");\n }\n- return Instance.FindEntitiesByName(\"welcome_layout\")[0];\n+ return Entities.FindByName(\"welcome_layout\")[0];\n }\n \n function ShowWelcome(playerSlot) {"
},
{
"filename": "manifests/manifest_2347770.txt",
"status": "modified",
"additions": 13,
"deletions": 13,
"changes": 26,
"patch": "@@ -1,16 +1,16 @@\n Content Manifest for Depot 2347770 \n \n-Manifest ID / date : 3690356453703667427 / 11/03/2026 00:25:56 \n+Manifest ID / date : 6679288287140932208 / 11/05/2026 00:08:51 \n Total number of files : 2992 \n-Total number of chunks : 65055 \n-Total bytes on disk : 65048085465 \n-Total bytes compressed : 55568715408 \n+Total number of chunks : 65062 \n+Total bytes on disk : 65068271825 \n+Total bytes compressed : 55570003984 \n \n \n Size Chunks File SHA Flags Name\n- 10 1 e1aceebbdd3814eb1f3e4216702f7dc8e3ca6465 0 game\\bin\\built_from_cl.txt\n- 10347 1 34e431cd4393ac0204703f2a6d9f19c224fd1479 0 game\\bin\\win64\\csgo.signatures\n- 8941 1 f2e4452e9be7e5f6ccbbbd7979082a1321dd0aed 0 game\\bin\\win64\\vpk.signatures\n+ 10 1 9ba45a297ae3ca0a08ec45d8ae26d7d1b752c6a8 0 game\\bin\\built_from_cl.txt\n+ 10347 1 2035f417702707e841cbe1613c06ab8503603c05 0 game\\bin\\win64\\csgo.signatures\n+ 8941 1 03efeb7ac1e026f881ec21af5fc97215ce83aa7b 0 game\\bin\\win64\\vpk.signatures\n 51357 1 0f5112698b482f8c1190c89192a4c0c8b0e50198 0 game\\core\\cfg\\sfm_default_animation_groups.vcfg\n 2270 1 ab4e0ee92367ba6d28a89dae8f6000631ffdb641 0 game\\core\\cfg\\user_keys_default.vcfg\n 2474 1 c4ff2f85048812f02c2403b0675208acfc00c7b0 0 game\\core\\gameinfo.gi\n@@ -2257,7 +2257,7 @@ Total bytes compressed : 55568715408\n 3870 1 0db16b3ddb43aa660ed8b47e0fad44dc19f8160f 0 game\\csgo\\cfg\\gamemode_demolition.cfg\n 4165 1 36f4e695fa4f6e0cb3b2f6cfa0aacaf03d2624e9 0 game\\csgo\\cfg\\gamemode_dm_freeforall.cfg\n 510 1 e5390ad84cda3115dce18debf74151f22d51c1b4 0 game\\csgo\\cfg\\gamemode_new_user_training.cfg\n- 4243 1 2ed4a09a77434f680df8ecc378758ba13593870a 0 game\\csgo\\cfg\\gamemode_retakecasual.cfg\n+ 4243 1 38e1c1525801b3db1bd03aa4209e5672105b86e3 0 game\\csgo\\cfg\\gamemode_retakecasual.cfg\n 4865 1 38f865bec83a4a4512dc39d9245254e27bbf4598 0 game\\csgo\\cfg\\gamemode_rush.cfg\n 132 1 93ee145982d5a1883987fee0e5940bab198819c6 0 game\\csgo\\cfg\\gamemode_rush_offline.cfg\n 3884 1 e958e59b6dcdd8a4476d16a8e146046d073c50bd 0 game\\csgo\\cfg\\gamemode_teamdeathmatch.cfg\n@@ -2438,7 +2438,7 @@ Total bytes compressed : 55568715408\n 118404050 113 796c7932cfeb6772b51013f28bd99bfdfb40483d 0 game\\csgo\\pak01_033.vpk\n 116169795 111 e382335666c33007e4a346ded29843a08e8656eb 0 game\\csgo\\pak01_034.vpk\n 104201764 102 d897179aaadd2b0de26e19afe39037903f6f424a 0 game\\csgo\\pak01_035.vpk\n- 120988884 138 f58ecf9bfb4813e19e008a7a63c2f7d48b0a059c 0 game\\csgo\\pak01_036.vpk\n+ 107129742 119 5c04e5e3f4b28a59a7e80ffbd90182e260e883b6 0 game\\csgo\\pak01_036.vpk\n 109137813 105 c1c5d1aeea369e80997338b7f41f8cadb17bbfdb 0 game\\csgo\\pak01_037.vpk\n 116538440 112 cf02841fa129fbb93933f539cc8ae0fcb54de2d9 0 game\\csgo\\pak01_038.vpk\n 103037018 103 83bd86a8c8cdc17b353c54cd4cf6a1e347a59e63 0 game\\csgo\\pak01_039.vpk\n@@ -2903,11 +2903,11 @@ Total bytes compressed : 55568715408\n 103652491 105 97b078393d02aaed75aa0d5f232ec9573a608d48 0 game\\csgo\\pak01_498.vpk\n 105338067 116 4af7ebb5429b351ff2b76c4f9b300cd176157ada 0 game\\csgo\\pak01_499.vpk\n 102090495 101 6cac088baddee5012d7a47318b06d119f3cbb859 0 game\\csgo\\pak01_500.vpk\n- 99621956 106 9d2ae31cb7b16513b47b2aa6bc1a5b55a6ad8d43 0 game\\csgo\\pak01_501.vpk\n+ 102952206 111 7a5881c988664128bc59b889e71fb518b980b53f 0 game\\csgo\\pak01_501.vpk\n 99618250 105 568b65b644448b85efe132f8eaebe59c309c3fb3 0 game\\csgo\\pak01_502.vpk\n 100220508 102 60654a3f3231ef5de3b458ed332ba064c153c465 0 game\\csgo\\pak01_503.vpk\n- 41381566 46 444eee2d83cbd067eec75b923992fa35b130c2d4 0 game\\csgo\\pak01_504.vpk\n- 7713274 8 7811a1e71538f431f6e160c41171ffa9efd0af6c 0 game\\csgo\\pak01_dir.vpk\n+ 72096213 84 e53a6f1a1fe08c11b7f3a77ca4a8828dbe1b4408 0 game\\csgo\\pak01_504.vpk\n+ 7713879 8 988c4dcfc38893dd3906755b562d81bcadbf2364 0 game\\csgo\\pak01_dir.vpk\n 11893 1 d2f5c237fcac89835ab901bf3cc83850c71d9b46 0 game\\csgo\\panorama\\fonts\\fonts.conf\n 107848 1 90edfc11fa568cd0fb5b9d6e6d369dddadfdb8c4 0 game\\csgo\\panorama\\fonts\\notomono-regular.ttf\n 310556 1 84e39ddc72cd1d2ac4be132d235979f10f916c2b 0 game\\csgo\\panorama\\fonts\\notosans-bold.ttf\n@@ -2996,7 +2996,7 @@ Total bytes compressed : 55568715408\n 303670574 290 d2d77a7357436cf6fb69b704cebc84718609f70e 0 game\\csgo\\shaders_vulkan_003.vpk\n 25004138 28 7a80e74bbd9d763f27ad8788694da6d9d81cc99e 0 game\\csgo\\shaders_vulkan_004.vpk\n 41884 1 a9b38a712dcebbc8a985763a9134ec66c4264688 0 game\\csgo\\shaders_vulkan_dir.vpk\n- 190 1 2acf249fb98158c6b47a3af8f6254953ed9e3f50 0 game\\csgo\\steam.inf\n+ 190 1 9d29a1a0c5e3346ac20def35d20570b56048452a 0 game\\csgo\\steam.inf\n 209 1 cb2eaab8dbda9f075491a5410326356e127f60ec 0 game\\csgo_lv\\gameinfo.gi\n 135 1 7769174b103a021d6390cb2a31b758dbfff04639 0 game\\csgo_lv\\gameinfo_branchspecific.gi\n 473822 1 f5ca24bf12b20fee2ffb5d8bbc465ba8805d8abe 0 game\\thirdpartylegalnotices.txt"
},
{
"filename": "manifests/manifest_2347771.txt",
"status": "modified",
"additions": 6,
"deletions": 6,
"changes": 12,
"patch": "@@ -1,10 +1,10 @@\n Content Manifest for Depot 2347771 \n \n-Manifest ID / date : 5808144614069275570 / 11/03/2026 00:26:34 \n+Manifest ID / date : 3019944380727688040 / 11/05/2026 00:09:34 \n Total number of files : 183 \n Total number of chunks : 7219 \n-Total bytes on disk : 7753537022 \n-Total bytes compressed : 5011473536 \n+Total bytes on disk : 7753523710 \n+Total bytes compressed : 5011490592 \n \n \n Size Chunks File SHA Flags Name\n@@ -54,7 +54,7 @@ Total bytes compressed : 5011473536\n 567656 1 79759ec5c92853b73627da14e5e70f6c6c580a78 0 game\\bin\\win64\\phonon4.dll\n 13950616 14 d97d9e5d6a64e98bd812ebe70a023c39a24e833b 0 game\\bin\\win64\\physicsbuilder.dll\n 1522840 2 eba06453afcdd6d6bf4b608fcc3fe6dcde592cb7 0 game\\bin\\win64\\propertyeditor.dll\n- 2031768 2 6f40ef4d08911950fad3e1a7fb65b4ec1672b3ee 0 game\\bin\\win64\\pulse_system.dll\n+ 2032792 2 4029fe37dc9abc273fedded7eb5a26dbf6716f06 0 game\\bin\\win64\\pulse_system.dll\n 131432 1 3177661f6e066460f2c859d2d5453323b68d6eda 0 game\\bin\\win64\\Qt5Concurrent.dll\n 6288744 6 5f5173c825810bbd849e32b5e6e2cb32f6c456d2 0 game\\bin\\win64\\Qt5Core.dll\n 7007080 7 08882a63e4c0962b33376da66224655f2b1d5e06 0 game\\bin\\win64\\Qt5Gui.dll\n@@ -110,10 +110,10 @@ Total bytes compressed : 5011473536\n 3185298 4 10bea5cfe6883540880c748e9506a04ad11e53ca 0 game\\core\\shaders_pc_000.vpk\n 25563 1 72204b8136ab7b8df21a52fb0b8b674f8c578b06 0 game\\core\\shaders_pc_dir.vpk\n 1728360 2 4e48ff45949c7f3cd8fd8ab5b7514ae27f44e53a 0 game\\csgo\\bin\\legacy\\csgo_legacy_app.exe\n- 39224472 38 51a449b7cac525d9470b3d98debc6a43467ead20 0 game\\csgo\\bin\\win64\\client.dll\n+ 39227544 38 a9b6232c2c6286eaa7d3df5cf6161bd08b40ff71 0 game\\csgo\\bin\\win64\\client.dll\n 1389208 2 425f2ec89bdaa5b0d2ca47945fa08ec906661749 0 game\\csgo\\bin\\win64\\host.dll\n 1890968 2 ebcf0d685e5347a5e246521cc0ee694f5d266bb3 0 game\\csgo\\bin\\win64\\matchmaking.dll\n- 34690200 34 b3c3e96f47acbdcf00655a3d7e5db509480eeef5 0 game\\csgo\\bin\\win64\\server.dll\n+ 34672792 34 d190d3118a36646eb284641f8c455f3be33ca56f 0 game\\csgo\\bin\\win64\\server.dll\n 115209034 117 4bbd01e43063ebade958bb509725b1b48c811b00 0 game\\csgo\\shaders_pc_000.vpk\n 189827159 182 7829b4ede09333c4e30a53d1ef958b9baeaeac39 0 game\\csgo\\shaders_pc_001.vpk\n 38973836 41 55f4f1a11b02a8a25a77a452d24ae14aa04b9f0b 0 game\\csgo\\shaders_pc_002.vpk"
},
{
"filename": "manifests/manifest_2347773.txt",
"status": "modified",
"additions": 6,
"deletions": 6,
"changes": 12,
"patch": "@@ -1,10 +1,10 @@\n Content Manifest for Depot 2347773 \n \n-Manifest ID / date : 4551386601247986792 / 11/03/2026 00:27:00 \n+Manifest ID / date : 8513165868182791792 / 11/05/2026 00:09:52 \n Total number of files : 135 \n Total number of chunks : 6673 \n-Total bytes on disk : 7224465798 \n-Total bytes compressed : 4605728448 \n+Total bytes on disk : 7224511782 \n+Total bytes compressed : 4605734992 \n \n \n Size Chunks File SHA Flags Name\n@@ -34,7 +34,7 @@ Total bytes compressed : 4605728448\n 3202820 4 fec2f55b60399acd70d543ea35633f89a97eb771 0 game\\bin\\linuxsteamrt64\\libpanorama_text_pango.so\n 8612056 9 4d746f89b7d06f57b7b6ef1a8bf8f169924fab5a 0 game\\bin\\linuxsteamrt64\\libparticles.so\n 40786720 40 850311e7b530d04bcfbdee1e3e7d026a7791098d 0 game\\bin\\linuxsteamrt64\\libphonon.so\n- 2357916 3 a0122e3156918f8c58a7f6be93fc823243a54b6f 0 game\\bin\\linuxsteamrt64\\libpulse_system.so\n+ 2358716 3 ad8da2327a5343cda889ba3e57870efa9f9740d5 0 game\\bin\\linuxsteamrt64\\libpulse_system.so\n 3679424 4 e2225dec8d51bdfc0d53a6a54d54849487df9e89 0 game\\bin\\linuxsteamrt64\\librendersystemempty.so\n 9199516 10 b2c9ee0d939b25727cb56dbd89fbee4755d98aa0 0 game\\bin\\linuxsteamrt64\\librendersystemvulkan.so\n 800200 1 77686038b3b2d330b48bddf55902d173b1f842a8 0 game\\bin\\linuxsteamrt64\\libresourcesystem.so\n@@ -66,10 +66,10 @@ Total bytes compressed : 4605728448\n 1296400 2 bd6d7e2be9b1a526f017bc474c84296569cf23d7 0 game\\bin\\linuxsteamrt64\\libvscript.so\n 4570212 5 7464ba7da046b1de971e290bfcf582d20aeaedde 0 game\\bin\\linuxsteamrt64\\libworldrenderer.so\n 3822 1 956919b920713ce452f46c20cf8643674f7543f7 0 game\\cs2.sh\n- 74208760 71 34c9b737c072b81db28a1e84bb5c72404ce9bd19 0 game\\csgo\\bin\\linuxsteamrt64\\libclient.so\n+ 74211000 71 45f0b9610eecb46dd73ac44ca30ab962f042445b 0 game\\csgo\\bin\\linuxsteamrt64\\libclient.so\n 3184412 4 adad77afb94069ba33399c4ed33a5b4f3a64fb04 0 game\\csgo\\bin\\linuxsteamrt64\\libhost.so\n 3775044 4 5770b453a084c4d0bb77ca94860111b7bfdaaadf 0 game\\csgo\\bin\\linuxsteamrt64\\libmatchmaking.so\n- 41807736 40 cb4bab97878a1f04990edf9b68d1240f473b606e 0 game\\csgo\\bin\\linuxsteamrt64\\libserver.so\n+ 41850680 40 48924100e9a3a4e17af781cb1da835641a29d449 0 game\\csgo\\bin\\linuxsteamrt64\\libserver.so\n 182648578 175 d4b7d7aea361a8b94c54e79904d642d712a1a3f5 0 game\\csgo_community_addons\\cs_shelter\\cs_shelter_000.vpk\n 107052112 105 2c61877687a4e433f04a62340fb3ce54b70e039c 0 game\\csgo_community_addons\\cs_shelter\\cs_shelter_001.vpk\n 106101480 104 e5dc305d96a55ae88a396ac6d98037209b4520ce 0 game\\csgo_community_addons\\cs_shelter\\cs_shelter_002.vpk"
},
{
"filename": "manifests/manifest_2347779.txt",
"status": "modified",
"additions": 20,
"deletions": 20,
"changes": 40,
"patch": "@@ -1,10 +1,10 @@\n Content Manifest for Depot 2347779 \n \n-Manifest ID / date : 9144463342521858931 / 11/03/2026 00:27:26 \n+Manifest ID / date : 5209724922577403770 / 11/05/2026 00:10:12 \n Total number of files : 909 \n-Total number of chunks : 2523 \n-Total bytes on disk : 2108139011 \n-Total bytes compressed : 576285616 \n+Total number of chunks : 2524 \n+Total bytes on disk : 2108141791 \n+Total bytes compressed : 576286224 \n \n \n Size Chunks File SHA Flags Name\n@@ -619,13 +619,13 @@ Total bytes compressed : 576285616\n 1621570 2 e3d9cdb314cae29e2a1c5bc8a35f8801cd078c17 0 content\\csgo_addons\\addon_template\\sounds\\interior_01.wav\n 1311024 2 dc14d2a9922760330712f093eed8ab75dc709070 0 content\\csgo_addons\\addon_template\\sounds\\vent_01.wav\n 68886528 68 59ec2879ff3b11fea33042a32c80e6493cd47113 0 content\\csgo_addons\\cs_script_demo\\maps\\cs_script_demo.vmap\n- 142016 1 d2250b59abe01005d2cdf93f782ac8d99b416df3 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\chess.js\n- 4777 1 08ed91c65f79c27090a62eb786a049e59ec816ef 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\grenadetraining.js\n+ 141974 1 2f0711f03e4faa839021921e22cb51baddd543e4 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\chess.js\n+ 4667 1 9b275310a44cdcd9fd822f1c968a7bb3e3c5220e 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\grenadetraining.js\n 124 1 22a4ad6b72ccca4118d03ccb0d02f9f1f7b559d0 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\hello.js\n 1508 1 f576a9fe52176f409d268ab6107a119c9250e034 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\input.js\n- 1768 1 efad58a778fb6617e34f3eee454500547f5b979e 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\mdlchange.js\n- 52790 1 a3caed0a9858b2ee9d4a005558da3236d37010f9 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\point_script.d.ts\n- 2092 1 2ff2ecb556d00d6e00d026ba3860cb0977844155 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\setup.js\n+ 1774 1 78e5c4937ae89c8b49af0594308cd38d64c2fa89 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\mdlchange.js\n+ 55136 1 94a37ef72e5e9d67fd51d1922e25425701ac2e7c 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\point_script.d.ts\n+ 2304 1 0d1e9adb823d080002b1a5e48b7bbd592d585a15 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\setup.js\n 6476 1 b26cb1c845028c2a73c610f66654009d12865dcd 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\trace.js\n 141 1 d38bb2dbf61185966292fa1c1aa57a86e5171beb 0 content\\csgo_addons\\cs_script_demo\\maps\\scripts\\tsconfig.json\n 344 1 33085b2472c3efcdebb61a0cc4f2aec675f79166 0 content\\csgo_addons\\cs_script_demo\\panorama\\layout\\custom_game\\welcome.xml\n@@ -638,7 +638,7 @@ Total bytes compressed : 576285616\n 5703320 6 265f267641ffa2f5f8eacca5ce3ae23c95c15b01 0 game\\bin\\win64\\assetsystem.dll\n 1529856 2 45e7d0873608e5424312fa289a270f2faacfe8fa 0 game\\bin\\win64\\bc7e.dll\n 396952 1 d40100945a08d047d65a8f8c1ba557351467136b 0 game\\bin\\win64\\cs2_build_econ_items_workshop.exe\n- 13866 1 22ce12bf18f6df3737c2ac7a83452663ed531f04 0 game\\bin\\win64\\csgo.signatures\n+ 13866 1 4e91d62ce49f83b21a49316d8e255cb52939be20 0 game\\bin\\win64\\csgo.signatures\n 1271448 2 e0c0511657da151a4b8546e1ccb0f2eb5e6c6a40 0 game\\bin\\win64\\csgocfg.exe\n 15683736 15 2787c3be064fd2215239c7fe9cb6f573d4984d9a 0 game\\bin\\win64\\cs_mdl_import.exe\n 1196696 2 5691c2eec39a867bdb053d6880e5bc18b0bfde2a 0 game\\bin\\win64\\dmxconvert.exe\n@@ -721,7 +721,7 @@ Total bytes compressed : 576285616\n 133435 1 5c5acf7bffba281b1fb2de939a6953c385e26ac3 0 game\\csgo\\lighting\\postprocessing\\editor\\toolsscene_default.vpost_c\n 3823 1 aaa9517703492629cade78571c39f5fdc2c417e3 0 game\\csgo\\models_gamedata.fgd\n 1559 1 ccef3c777e99029f1956e3ad23a718a99fd36d14 0 game\\csgo\\postprocessing.fgd\n- 50760417 51 2864b89d3750e3547f9063365e334dca0fcd55c5 0 game\\csgo\\readonly_tools_asset_info.bin\n+ 50760653 52 93546dbe6f18a664cf6fe049d26d6fa2669b54c1 0 game\\csgo\\readonly_tools_asset_info.bin\n 3009 1 8374c54025aad8c3d4a72b5f7f198d99951b7844 0 game\\csgo\\tools\\cs2_icon_gen\\icon_camera.png\n 2390 1 436ef3b91600906f462a33b9973b3f0955ddf1d6 0 game\\csgo\\tools\\cs2_icon_gen\\icon_item.png\n 2566 1 d78fd6c17e836a35c1cff4b375de7928ea5aea40 0 game\\csgo\\tools\\cs2_icon_gen\\icon_light_fill.png\n@@ -896,24 +896,24 @@ Total bytes compressed : 576285616\n 124548 1 20a6acffa7ca7b25b9d9877c122fa093fa57ff0b 0 game\\csgo_addons\\addon_template\\sounds\\vent_01.vsnd_c\n 43 1 5c3b6d056cc345ec397072c83b3ee35b9a297c54 0 game\\csgo_addons\\cs_script_demo\\addoninfo.txt\n 9365499 9 ec299d7ace3af9c2dc9389711f8245648e98f0a1 0 game\\csgo_addons\\cs_script_demo\\maps\\cs_script_demo.vpk\n- 142896 1 b32b537abcbf37d3142ff9e6f993054f36794cc0 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\chess.vjs_c\n- 5673 1 400181285c706c503c05df252f02d6d5afe6d287 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\grenadetraining.vjs_c\n+ 142854 1 e7a944ff2a1f60050cec656163e9f222fed60fb7 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\chess.vjs_c\n+ 5563 1 aa170a6c06797a100a3adcf2f9a80e94187f72fc 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\grenadetraining.vjs_c\n 1004 1 7f478db2558a9255c8d0f4eaf4713ec0c95289d8 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\hello.vjs_c\n 2388 1 d66364c7659b7d12265bf20125a8a2b047e359a4 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\input.vjs_c\n- 2664 1 80b21090e2f0d1fc2b8776bcbc88831952db1afd 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\mdlchange.vjs_c\n- 2972 1 39a51a14245ec28b2a640f2b52dcb7cb4ed2ef97 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\setup.vjs_c\n+ 2670 1 68b17c707895ade3432792703a9b1d305c063bb2 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\mdlchange.vjs_c\n+ 3184 1 86527676cb68b689379cf18e31768209b882d826 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\setup.vjs_c\n 7356 1 5b8e9e25a6b1b4d942e02f16c2922780e862bce7 0 game\\csgo_addons\\cs_script_demo\\maps\\scripts\\trace.vjs_c\n 1599 1 26b7254a6bf5a03bb6fe0dab0b87763117024ee9 0 game\\csgo_addons\\cs_script_demo\\panorama\\layout\\custom_game\\welcome.vxml_c\n 2439 1 f11b0c632f773e4dee00eb71cbb43319a0acb557 0 game\\csgo_addons\\cs_script_demo\\panorama\\styles\\custom_game\\welcome.vcss_c\n- 142016 1 5b78dcfe1e02801682f30badc197821af834f7a1 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\chess.js\n- 4777 1 fb1b321cf1d587bd92762d4ae18f70e375ed8a92 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\grenadetraining.js\n+ 141974 1 5ea1650a6c01a1a966cc61629112eeb398499e97 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\chess.js\n+ 4667 1 b89ec7b13634f4c2c936fb45e47248abfc851b99 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\grenadetraining.js\n 124 1 bc5e2b800073f4e359d7d29cb07d35a7a312859a 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\hello.js\n 1508 1 0fc8650026ef338adae04c20fc9abacd95ccaba9 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\input.js\n- 1768 1 665584f5be5a273e00cdc4d52fc777544216e3ab 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\mdlchange.js\n- 2092 1 2ff2ecb556d00d6e00d026ba3860cb0977844155 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\setup.js\n+ 1774 1 d1255dadcba7eff368fcf2aaf3af17eae29a9d28 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\mdlchange.js\n+ 2304 1 0d1e9adb823d080002b1a5e48b7bbd592d585a15 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\setup.js\n 6476 1 d71bc1d5fac402a9d18d71cd2b853ec98f26ec45 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\maps\\scripts\\trace.js\n 344 1 33085b2472c3efcdebb61a0cc4f2aec675f79166 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\panorama\\layout\\custom_game\\welcome.xml\n 774 1 d4b48ea27dc2e4a7bd771559459e058e8dcd7040 0 game\\csgo_addons\\cs_script_demo\\panorama_stripped\\panorama\\styles\\custom_game\\welcome.css\n- 4862 1 02076fae4b389b631257caa0f96c803c45a842b1 0 game\\csgo_addons\\cs_script_demo\\readonly_tools_asset_info.bin\n+ 4862 1 a1a8b99f7caf6411ddc55f278f2dd68431b120b6 0 game\\csgo_addons\\cs_script_demo\\readonly_tools_asset_info.bin\n 191 1 e3c5549cb3715e2e759a11d90eddea1c1f49a341 0 game\\csgo_addons\\workshop_items\\addoninfo.txt\n 1706103 2 e12db26662c1223b12302ff8618f0630586d5a14 0 game\\csgo_lv\\readonly_tools_asset_info.bin"
},
{
"filename": "manifests/manifest_731.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 731 \n \n-Manifest ID / date : 5799502335586127231 / 11/03/2026 00:24:30 \n+Manifest ID / date : 4368490491959295332 / 11/05/2026 00:08:03 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_732.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 732 \n \n-Manifest ID / date : 4514904948984964204 / 11/03/2026 00:24:37 \n+Manifest ID / date : 2657142932244703230 / 11/05/2026 00:08:05 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_733.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 733 \n \n-Manifest ID / date : 4581807251902851325 / 11/03/2026 00:24:44 \n+Manifest ID / date : 8439362531565969601 / 11/05/2026 00:08:07 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_734.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 734 \n \n-Manifest ID / date : 519374194040118223 / 11/03/2026 00:24:50 \n+Manifest ID / date : 4866394379921971128 / 11/05/2026 00:08:08 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_735.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 735 \n \n-Manifest ID / date : 7430157609109467345 / 11/03/2026 00:24:57 \n+Manifest ID / date : 7820664911512609889 / 11/05/2026 00:08:10 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\\bin\\content_built_from_cl.txt"
}
]
},
{
"event_id": "gh:1a3016b",
"detected_at_utc": "2026-11-13T14:09:50.617Z",
"commit_date_utc": "2026-11-03T01:31:14Z",
"commit": {
"sha": "1a3016b053eb006daaf741396f0d0416388519ca",
"short": "1a3016b",
"message": "2000940 | 26 files | M\tDumpSource2/.stringsignore, M\tDumpSource2/schemas/server/CCSGameRules.h, M\tgame/bin/built_from_cl.txt, M\tgame/bin/win64/csgocfg.exe_strings.txt, M\tgame/bin/win64/engine2_strings.txt, M\tgame/bin/win64/networksystem_strings.txt, M\tgame/bin/win64/resourcecompiler_strings.txt, M\tgame/bin/win64/resourceinfo.exe_strings.txt, M\tgame/bin/win64/tools/hammer_strings.txt, M\tgame/bin/win64/tools/met_strings.txt, M\tgame/bin/win64/vconsole2.exe_strings.txt, M\tgame/bin/win64/vrad3_strings.txt, M\tgame/csgo/bin/win64/host_strings.txt, M\tgame/csgo/pak01_dir.txt, M\tgame/csgo/pak01_dir/panorama/scripts/matchinfo.js, M\tgame/csgo/pak01_dir/resource/csgo_english.txt, M\tgame/csgo/steam.inf, M\tmanifests/manifest_2347770.txt, M\tmanifests/manifest_2347771.txt, M\tmanifests/manifest_2347773.txt, M\tmanifests/manifest_2347779.txt, M\tmanifests/manifest_731.txt, M\tmanifests/manifest_732.txt, M\tmanifests/manifest_733.txt, M\tmanifests/manifest_734.txt, M\tmanifests/manifest_735.txt",
"url": "https://github.com/SteamTracking/GameTracking-CS2/commit/1a3016b053eb006daaf741396f0d0416388519ca"
},
"classification": {
"tags": [
"scripts",
"ui",
"localization",
"misc",
"content-change"
],
"important_files": [
"game/csgo/pak01_dir/panorama/scripts/matchinfo.js",
"game/csgo/pak01_dir/resource/csgo_english.txt"
]
},
"ai_summary": "Localization/resources update (game/csgo/pak01_dir/resource/csgo_english.txt).",
"stats": {
"files_changed": 26,
"additions": 173,
"deletions": 169
},
"files": [
{
"filename": "DumpSource2/.stringsignore",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -23939,6 +23939,7 @@ m_bQueueFinishLoading\n m_bQueueSetupPathMover\n m_bQueueStop\n m_bQueueStopMoving\n+m_bQueuedMatchmakingReportedRoundStatsPendingSend\n m_bQuietTracepoints\n m_bRadarFlash\n m_bRadialCheck"
},
{
"filename": "DumpSource2/schemas/server/CCSGameRules.h",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -101,6 +101,7 @@ class CCSGameRules : public CTeamplayRules\n \tuint32 m_numSpectatorsCountMax;\n \tuint32 m_numSpectatorsCountMaxTV;\n \tuint32 m_numSpectatorsCountMaxLnk;\n+\tbool m_bQueuedMatchmakingReportedRoundStatsPendingSend;\n \tint32 m_nCTsAliveAtFreezetimeEnd;\n \tint32 m_nTerroristsAliveAtFreezetimeEnd;\n \tbool m_bForceTeamChangeSilent;"
},
{
"filename": "game/bin/built_from_cl.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -1 +1 @@\n-11191483\n+11198114"
},
{
"filename": "game/bin/win64/csgocfg.exe_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 2,
"changes": 3,
"patch": "@@ -167,7 +167,7 @@\n .CRT$XIAC\n .fgd\n /e,/select,\"\n-14:52:48\n+15:32:27\n 1AcceptIfItemPicked()\n 1OnAccept()\n 1OnAddonDoubleClicked()\n@@ -1361,7 +1361,6 @@ New Item Type\n No %s specified. Expected '=' '[' <%s> ']'\n NoEditor()\n NoRole\n-Oct 23 2026\n OnAccept\n OnAddonDoubleClicked\n OnAddonSelectionChanged"
},
{
"filename": "game/bin/win64/engine2_strings.txt",
"status": "modified",
"additions": 2,
"deletions": 1,
"changes": 3,
"patch": "@@ -2452,7 +2452,6 @@ $tI(knN\n 00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\n 0123456789abcdef\n 0123456789abcdefghijklmnopqrstuvwxyz\n-09:02:57\n 0: run all send jobs on main thread; 1: send jobs run asynchronously (except on dedicated server); 2: send jobs asynchronously; 3: send jobs run in parallel but block to not overlap the next tick; 4: main server clients' send jobs run in parallel, then HLTV server jobs; this approximately matches pre-async profile for a single HLTV server configuration\n 0=Off, 1=Surface Wireframe, 2=Transparent Wireframe\n 0=Off, 1=Visualize trace from camera, 2=Visualize occlusion, 3=Visualize far field trace from camera\n@@ -2466,6 +2465,7 @@ $tI(knN\n 1#SNAN\n 1.2.11\n 127.0.0.1\n+15:35:28\n 1:1: Tokens : ( T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | TOK_COLON | OPEN_BRACE | CLOSE_BRACE | OPEN_PAREN | CLOSE_PAREN | OPEN_BRACKET | CLOSE_BRACKET | SEMICOLON | OP_EQUAL | COMMA | DOUBLE_AND | NEGATIVE_TOK | DOUBLE_OR | LITERAL_TRUE | LITERAL_FALSE | POS_INTLITERAL | POS_FLOATLITERAL | SCOPE_QUALIFIER | ID | DOUBLE_QUOTED_STRING | SINGLE_QUOTED_STRING | SINGLE_LINE_COMMENT | ML_COMMENT | WS | UNRECOGNIZED );\n 200000\n 3$EE\\f\n@@ -5981,6 +5981,7 @@ Not saving user configuration because host_readconfig_ignore_userconfig is set.\\\n Not supported.\n Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. Therefore, \"\n Note: should use \"addip\" instead of \"banip\".\\n\n+Nov 2 2026\n November\n Now recording to \"%s\", immediate mode, recorded length so far is %s.\\n\n Now recording to \"%s\", recorded length so far is %s.\\n"
},
{
"filename": "game/bin/win64/networksystem_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -271,7 +271,7 @@\n 0 bit issue, spot 2\n 0 bit issue, spot 3\n 0 bit issue, spot 4\n-7;eZ\\f\n+7;eZ\\r\n ::Storage_t\n Accepting Steam Net connection %s\\n\n AckSeqNum"
},
{
"filename": "game/bin/win64/resourcecompiler_strings.txt",
"status": "modified",
"additions": 2,
"deletions": 3,
"changes": 5,
"patch": "@@ -9020,7 +9020,7 @@ $key:FloatBitmap_t\n /vpk.privatekey.vdf\n /vpk.publickey.vdf\n 0123456789)\"\n-08:41:27\n+15:37:26\n 1:1: Tokens : ( PLUS | MINUS | MUL | DIV | COMMA | LPAREN | RPAREN | EQUALS | PERCENT | INT | FLOAT | ID | ML_COMMENT | SL_COMMENT | NL | WS );\n 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | BOOLLITERAL | ID | INTEGERLITERAL | HEXINTEGERLITERAL | FLOATLITERAL | COMMENT | WS );\n 241:1: FLOAT : ( ( MINUS )? ( DIGIT )+ '.' ( DIGIT )* ( EXP )? ( FLOATSUFFIX )? | ( MINUS )? ( DIGIT )+ ( EXP )? ( FLOATSUFFIX )? | ( MINUS )? '.' ( DIGIT )+ ( EXP )? ( FLOATSUFFIX )? );\n@@ -12354,7 +12354,6 @@ Object of the appropriate type, if valid.\n Object to cast\n OcclusionCullingBoundsExpand\n OcclusionCullingBoundsScale\n-Oct 28 2026\n Offset from %d \n Old params: %s\\n\n On After Killed\n@@ -16199,7 +16198,7 @@ pathing_visibility_threshold\n pathingcoeffs\n pathingeq\n pathingmixlevel\n-pc64 Oct 28 2026 08:41:36\n+pc64 Nov 2 2026 15:37:25\n perchannel\n permissive_panorama_compiles\n permitrepeats"
},
{
"filename": "game/bin/win64/resourceinfo.exe_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -7243,7 +7243,7 @@ x509_req\n x509_store\n x931\n yS/h\n-z0?g\\v\n+z0?g\\f\n zlVO\n zlib compression\n zone"
},
{
"filename": "game/bin/win64/tools/hammer_strings.txt",
"status": "modified",
"additions": 0,
"deletions": 1,
"changes": 1,
"patch": "@@ -7386,7 +7386,6 @@ ObjectProperties\n Objects To Include\n Objs Rendered\n Objs fading\n-Oct 28 2026\n Octaves:\n Offset (accumulative)\n Offset the edge a constant distance from one of the neighboring edges"
},
{
"filename": "game/bin/win64/tools/met_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 2,
"changes": 3,
"patch": "@@ -235,12 +235,12 @@\n // THIS FILE IS AUTO-GENERATED\\n\n //-------------------------------------------------\\n\n 0123456789)\"\n-08:38:49\n 0=Wrap,1=Mirror,2=Clamp,3=Border,4=MirrorOnce\n 1 texel = %1px\n 1/%1x\n 1/2/3\n 128 x 128\n+15:35:57\n 1:1 current mip\n 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | BOOLLITERAL | ID | INTEGERLITERAL | HEXINTEGERLITERAL | FLOATLITERAL | COMMENT | WS );\n 1AboutAction()\n@@ -1248,7 +1248,6 @@ No valid vcs file found for shader %s\\n\n No\\nPreview\\nAvailable\n Normal Map Conversion\n OCTAL_ESC\n-Oct 28 2026\n OnAccept\n OnAcceptClicked\n OnAccepted"
},
{
"filename": "game/bin/win64/vconsole2.exe_strings.txt",
"status": "modified",
"additions": 2,
"deletions": 4,
"changes": 6,
"patch": "@@ -481,12 +481,12 @@ $B0B\n .vsky\n .webp\n 0.0.0.0\n-08:40:09\n 0BCDEFGHIJKLMNOPQRSTUVWXYZ1BCDEFGHIJKLMNOPQRSTUVWXYZ2BCDEFGHIJKLMNOPQRSTUVWXYZ3BCDEFGHIJKLMNOPQRSTUVWXYZ4BCDEFGHIJKLMNOPQRSTUVWXYZ\\n\n 0x%llx\n 127.0.0.0\n 127.0.0.1:%d\n-14:53:01\n+15:33:14\n+15:33:36\n 172.16.0.0\n 1AboutAction()\n 1NextFrame()\n@@ -2434,8 +2434,6 @@ Not safe to 'new' this class due to alignment requirements\n NotReloading\n Number of devices to create (max %1):\n NumberOfInks\n-Oct 23 2026\n-Oct 28 2026\n Old-style JPEG\n Old-style LZW codes, convert file\n OldSubfileType"
},
{
"filename": "game/bin/win64/vrad3_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -2307,7 +2307,7 @@ path_trace_triangles_gpu\n path_trace_triangles_gpu_init\n path_trace_triangles_gpu_shutdown\n path_trajectory\n-pc64 Oct 23 2026 14:51:29\n+pc64 Nov 2 2026 15:32:44\n physicsSimplificationError\n physicsSimplificationOverride\n pinEnabled"
},
{
"filename": "game/csgo/bin/win64/host_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -106,7 +106,7 @@ DotaMapUtils001\n EconVData001\n Entry %s was not found in surfaceproperties_footsteps.txt\\n\n Error loading %s: %s\\n\n-FaN\"\\n\n+FaN\"\\v\n Failed to open file: %s\\n\n FoliageAnimation\n Game System %s is defined twice!\\n"
},
{
"filename": "game/csgo/pak01_dir.txt",
"status": "modified",
"additions": 4,
"deletions": 4,
"changes": 8,
"patch": "@@ -84581,7 +84581,7 @@ panorama/scripts/mainmenu_xpshop_tile.vts_c CRC:00d409e8ed size:24206\n panorama/scripts/mapdraft.vts_c CRC:0067f23c2d size:42318\n panorama/scripts/match-reconnect.vts_c CRC:009bd134cc size:6862\n panorama/scripts/match_stakes.vts_c CRC:007a7a3ca9 size:10862\n-panorama/scripts/matchinfo.vts_c CRC:008a1a5f2f size:105486\n+panorama/scripts/matchinfo.vts_c CRC:002706dab2 size:105902\n panorama/scripts/matchlist.vts_c CRC:00ac9e0e42 size:52878\n panorama/scripts/matchmaking_status.vts_c CRC:0008a8c523 size:13534\n panorama/scripts/mission_tile.vts_c CRC:00db95903b size:33790\n@@ -87984,7 +87984,7 @@ resource/csgo_bulgarian.txt CRC:00e6aa803c size:7758759\n resource/csgo_czech.txt CRC:00aa2da1f8 size:5097152\n resource/csgo_danish.txt CRC:001655e064 size:5003477\n resource/csgo_dutch.txt CRC:007e635df4 size:5049457\n-resource/csgo_english.txt CRC:00a7f600cd size:4878645\n+resource/csgo_english.txt CRC:00e83600df size:4879039\n resource/csgo_finnish.txt CRC:0040d7f29a size:4960257\n resource/csgo_french.txt CRC:00cf90f727 size:5254356\n resource/csgo_german.txt CRC:00768f902a size:5164887\n@@ -87998,15 +87998,15 @@ resource/csgo_latam.txt CRC:00436dd96a size:5188121\n resource/csgo_norwegian.txt CRC:00f79e57f3 size:4924516\n resource/csgo_polish.txt CRC:003eee27c8 size:5321400\n resource/csgo_portuguese.txt CRC:00ed24ede6 size:5059879\n-resource/csgo_romanian.txt CRC:00726dbe1b size:5270911\n+resource/csgo_romanian.txt CRC:00b3958fb9 size:5270915\n resource/csgo_russian.txt CRC:00ffa91341 size:6563734\n resource/csgo_schinese.txt CRC:000d6871a9 size:4931452\n resource/csgo_schinese_pw.txt CRC:0083fe268a size:15645\n resource/csgo_spanish.txt CRC:00f5db4811 size:5159573\n resource/csgo_swedish.txt CRC:00b8b4e017 size:5031803\n resource/csgo_tchinese.txt CRC:008252f083 size:4627815\n resource/csgo_thai.txt CRC:00f47187a0 size:8128621\n-resource/csgo_turkish.txt CRC:0004ab0a9f size:5165343\n+resource/csgo_turkish.txt CRC:00ea144dfc size:5165506\n resource/csgo_ukrainian.txt CRC:00ab17d5bc size:6621012\n resource/csgo_vietnamese.txt CRC:00985185c2 size:5450532\n resource/game.gameevents CRC:0090de10bc size:9837"
},
{
"filename": "game/csgo/pak01_dir/panorama/scripts/matchinfo.js",
"status": "modified",
"additions": 4,
"deletions": 2,
"changes": 6,
"patch": "@@ -392,8 +392,10 @@ var matchInfo;\n elPlayerRow.AddClass('no-hover');\n elParentPanel.Data().activePlayerRow = elPlayerRow;\n let isLive = Boolean(MatchInfoAPI.IsLive(elParentPanel.Data().matchId));\n- if (isLive == false) {\n- elParentPanel.FindChildInLayoutFile('id-mi-player-stats').RemoveClass('mi-player-stats__collapse');\n+ let hasRoundStats = Boolean(MatchInfoAPI.GetMatchPlayerRoundStats(elParentPanel.Data().matchId, elPlayerRow.Data().playerXuid, \"round_wins\"));\n+ elParentPanel.FindChildInLayoutFile('id-mi-player-stats').SetHasClass('mi-player-stats__collapse', isLive || !hasRoundStats);\n+ if (!hasRoundStats) {\n+ return;\n }\n let elStatsContainer = elParentPanel.FindChildInLayoutFile('id-mi-round-stats__container');\n let elTickLabels = elParentPanel.FindChildInLayoutFile('id-mi-round-stats__tick-labels');"
},
{
"filename": "game/csgo/pak01_dir/resource/csgo_english.txt",
"status": "modified",
"additions": 5,
"deletions": 0,
"changes": 5,
"patch": "@@ -46172,6 +46172,11 @@\n \t\t\"SFUI_Lobby_StatusRichPresence_retakes_community\"\t\t\t\t\"Community Retakes\"\n \t\t\"SFUI_Lobby_StatusRichPresence_retakes_watch\"\t\t\t\t\t\"Watching Retakes\"\n \t\t\"SFUI_Lobby_StatusRichPresence_retakes_review\"\t\t\t\t\t\"Replaying Retakes\"\n+\t\t\"SFUI_Lobby_StatusRichPresence_workshop_lobby\"\t\t\t\t\t\"In Workshop Map Lobby\"\n+\t\t\"SFUI_Lobby_StatusRichPresence_workshop_game\"\t\t\t\t\t\"Playing Workshop Map\"\n+\t\t\"SFUI_Lobby_StatusRichPresence_workshop_community\"\t\t\t\t\"Community Workshop Map\"\n+\t\t\"SFUI_Lobby_StatusRichPresence_workshop_watch\"\t\t\t\t\t\"Watching Workshop Map\"\n+\t\t\"SFUI_Lobby_StatusRichPresence_workshop_review\"\t\t\t\t\t\"Replaying Workshop Map\"\n \t\t\"SFUI_Lobby_StatusRichPresenceSeparator_classic_competitive\"\t\t\t\" \"\n \n \t\t\"SFUI_PSNPresence_SinglePlayer\"\t\t\"Single Player\""
},
{
"filename": "game/csgo/steam.inf",
"status": "modified",
"additions": 6,
"deletions": 6,
"changes": 12,
"patch": "@@ -1,9 +1,9 @@\n-ClientVersion=2000939\n-ServerVersion=2000939\n-PatchVersion=1.41.9.4\n+ClientVersion=2000940\n+ServerVersion=2000940\n+PatchVersion=1.41.9.5\n ProductName=cs2\n appID=730\n ServerAppID=2347773\n-SourceRevision=11191540\n-VersionDate=Oct 30 2026\n-VersionTime=13:55:25\n+SourceRevision=11198439\n+VersionDate=Nov 02 2026\n+VersionTime=16:17:08"
},
{
"filename": "manifests/manifest_2347770.txt",
"status": "modified",
"additions": 12,
"deletions": 12,
"changes": 24,
"patch": "@@ -1,16 +1,16 @@\n Content Manifest for Depot 2347770 \n \n-Manifest ID / date : 6694633556888099985 / 10/30/2026 21:05:03 \n+Manifest ID / date : 3690356453703667427 / 11/03/2026 00:25:56 \n Total number of files : 2992 \n-Total number of chunks : 65063 \n-Total bytes on disk : 65051805863 \n-Total bytes compressed : 55573428128 \n+Total number of chunks : 65055 \n+Total bytes on disk : 65048085465 \n+Total bytes compressed : 55568715408 \n \n \n Size Chunks File SHA Flags Name\n- 10 1 2d6149740ea5c8f6b2d653ccf3f38a0d2a294ac3 0 game\\bin\\built_from_cl.txt\n- 10347 1 cf297ff72b6c1648a9cecd8868cfac716c658e3c 0 game\\bin\\win64\\csgo.signatures\n- 8941 1 ec38742284e7338bb190a5eb2ff6f77c2a534438 0 game\\bin\\win64\\vpk.signatures\n+ 10 1 e1aceebbdd3814eb1f3e4216702f7dc8e3ca6465 0 game\\bin\\built_from_cl.txt\n+ 10347 1 34e431cd4393ac0204703f2a6d9f19c224fd1479 0 game\\bin\\win64\\csgo.signatures\n+ 8941 1 f2e4452e9be7e5f6ccbbbd7979082a1321dd0aed 0 game\\bin\\win64\\vpk.signatures\n 51357 1 0f5112698b482f8c1190c89192a4c0c8b0e50198 0 game\\core\\cfg\\sfm_default_animation_groups.vcfg\n 2270 1 ab4e0ee92367ba6d28a89dae8f6000631ffdb641 0 game\\core\\cfg\\user_keys_default.vcfg\n 2474 1 c4ff2f85048812f02c2403b0675208acfc00c7b0 0 game\\core\\gameinfo.gi\n@@ -2438,7 +2438,7 @@ Total bytes compressed : 55573428128\n 118404050 113 796c7932cfeb6772b51013f28bd99bfdfb40483d 0 game\\csgo\\pak01_033.vpk\n 116169795 111 e382335666c33007e4a346ded29843a08e8656eb 0 game\\csgo\\pak01_034.vpk\n 104201764 102 d897179aaadd2b0de26e19afe39037903f6f424a 0 game\\csgo\\pak01_035.vpk\n- 105234684 129 3493b2d21b1aecc2a0b56c7338a9fcc06f512e91 0 game\\csgo\\pak01_036.vpk\n+ 120988884 138 f58ecf9bfb4813e19e008a7a63c2f7d48b0a059c 0 game\\csgo\\pak01_036.vpk\n 109137813 105 c1c5d1aeea369e80997338b7f41f8cadb17bbfdb 0 game\\csgo\\pak01_037.vpk\n 116538440 112 cf02841fa129fbb93933f539cc8ae0fcb54de2d9 0 game\\csgo\\pak01_038.vpk\n 103037018 103 83bd86a8c8cdc17b353c54cd4cf6a1e347a59e63 0 game\\csgo\\pak01_039.vpk\n@@ -2773,7 +2773,7 @@ Total bytes compressed : 55573428128\n 99943692 100 e8da516e0d51337a189cdcd953278f762ac0a654 0 game\\csgo\\pak01_368.vpk\n 105708781 101 0f96f5bfaa0444b7e7d9913d86fff385c279a181 0 game\\csgo\\pak01_369.vpk\n 105059948 102 8bdc949a2182d103f63b3a1a78de3db43945c3ef 0 game\\csgo\\pak01_370.vpk\n- 104830224 106 3d6f89be56c08ce63e224dcbe1f2e221c26e4a6b 0 game\\csgo\\pak01_371.vpk\n+ 105268310 110 183c4b74cc2532675a6687a5bb28a032236ade11 0 game\\csgo\\pak01_371.vpk\n 105742452 106 5600349636412e27a10f5d7d7fdf2a524137b014 0 game\\csgo\\pak01_372.vpk\n 108035952 108 6b86e3e0c916b225f852abbf47c5f31915726e30 0 game\\csgo\\pak01_373.vpk\n 103105895 100 04531aca5df46681795ded2401e7382bd2982909 0 game\\csgo\\pak01_374.vpk\n@@ -2906,8 +2906,8 @@ Total bytes compressed : 55573428128\n 99621956 106 9d2ae31cb7b16513b47b2aa6bc1a5b55a6ad8d43 0 game\\csgo\\pak01_501.vpk\n 99618250 105 568b65b644448b85efe132f8eaebe59c309c3fb3 0 game\\csgo\\pak01_502.vpk\n 100220508 102 60654a3f3231ef5de3b458ed332ba064c153c465 0 game\\csgo\\pak01_503.vpk\n- 61294166 64 7e4515c2e23cc6b96ef870aff144182d3aa0bc84 0 game\\csgo\\pak01_504.vpk\n- 7713358 8 860cb1f89ad46cd24ec82d18dca3f975cc951465 0 game\\csgo\\pak01_dir.vpk\n+ 41381566 46 444eee2d83cbd067eec75b923992fa35b130c2d4 0 game\\csgo\\pak01_504.vpk\n+ 7713274 8 7811a1e71538f431f6e160c41171ffa9efd0af6c 0 game\\csgo\\pak01_dir.vpk\n 11893 1 d2f5c237fcac89835ab901bf3cc83850c71d9b46 0 game\\csgo\\panorama\\fonts\\fonts.conf\n 107848 1 90edfc11fa568cd0fb5b9d6e6d369dddadfdb8c4 0 game\\csgo\\panorama\\fonts\\notomono-regular.ttf\n 310556 1 84e39ddc72cd1d2ac4be132d235979f10f916c2b 0 game\\csgo\\panorama\\fonts\\notosans-bold.ttf\n@@ -2996,7 +2996,7 @@ Total bytes compressed : 55573428128\n 303670574 290 d2d77a7357436cf6fb69b704cebc84718609f70e 0 game\\csgo\\shaders_vulkan_003.vpk\n 25004138 28 7a80e74bbd9d763f27ad8788694da6d9d81cc99e 0 game\\csgo\\shaders_vulkan_004.vpk\n 41884 1 a9b38a712dcebbc8a985763a9134ec66c4264688 0 game\\csgo\\shaders_vulkan_dir.vpk\n- 190 1 6bd54113491e0ded55a8f7d0f773905099323118 0 game\\csgo\\steam.inf\n+ 190 1 2acf249fb98158c6b47a3af8f6254953ed9e3f50 0 game\\csgo\\steam.inf\n 209 1 cb2eaab8dbda9f075491a5410326356e127f60ec 0 game\\csgo_lv\\gameinfo.gi\n 135 1 7769174b103a021d6390cb2a31b758dbfff04639 0 game\\csgo_lv\\gameinfo_branchspecific.gi\n 473822 1 f5ca24bf12b20fee2ffb5d8bbc465ba8805d8abe 0 game\\thirdpartylegalnotices.txt"
},
{
"filename": "manifests/manifest_2347771.txt",
"status": "modified",
"additions": 55,
"deletions": 55,
"changes": 110,
"patch": "@@ -1,30 +1,30 @@\n Content Manifest for Depot 2347771 \n \n-Manifest ID / date : 4494425425081083634 / 10/30/2026 21:05:41 \n+Manifest ID / date : 5808144614069275570 / 11/03/2026 00:26:34 \n Total number of files : 183 \n Total number of chunks : 7219 \n Total bytes on disk : 7753537022 \n-Total bytes compressed : 5011481952 \n+Total bytes compressed : 5011473536 \n \n \n Size Chunks File SHA Flags Name\n 181608 1 0bc12517a8ee4173867d54081a6d26527ab62672 0 game\\bin\\win64\\amd_ags_x64.dll\n- 9329816 9 c44f498f1874785f148aa743fab6e5ee4c017041 0 game\\bin\\win64\\animationsystem.dll\n- 48612504 48 a51eee7b1cc096c6245497e9b098945fafa0a3af 0 game\\bin\\win64\\assetpreview.dll\n+ 9329816 9 bf7814eef68259386519836a0575675b2f53fe03 0 game\\bin\\win64\\animationsystem.dll\n+ 48612504 48 a382d90a63b0a9a1e9efd1b3df018af1844cb3ba 0 game\\bin\\win64\\assetpreview.dll\n 754024 1 84aaa5491087ffb7aa5453f48bdf3a837839f770 0 game\\bin\\win64\\ati_compress_wrapper.dll\n- 167576 1 080aa6cc967fa8780455da6cd6c900dffed7abc6 0 game\\bin\\win64\\bugreporter_filequeue.dll\n+ 167576 1 50ccfcf9e39a00f79de635fae3b788376d9f3b99 0 game\\bin\\win64\\bugreporter_filequeue.dll\n 1271960 2 24eaed4030eeb1880ad94ad59d43e39894815e78 0 game\\bin\\win64\\cairo.dll\n 2967704 3 543876c222172ce98b127e0b2fc6b3ea11f91f79 0 game\\bin\\win64\\cs2.exe\n 4346120 5 612e6f443d927330b9b8ac13cc4a2a6b959cee48 0 game\\bin\\win64\\d3dcompiler_47.dll\n 1558912 2 4ef5d229709e40f3f84e46c3a28341eadbd1a044 0 game\\bin\\win64\\dbghelp.dll\n 21996904 21 bc499749a83cd7cd52673ecaa1c74760a20ba714 0 game\\bin\\win64\\embree3.dll\n- 7498392 8 ed638d59cca76998e79547d3766d4f6eb96840a4 0 game\\bin\\win64\\engine2.dll\n- 2260120 3 9ac3cc8658e9280d2dbd0f4a82aace65c34ecd32 0 game\\bin\\win64\\filesystem_stdio.dll\n+ 7498392 8 185f14e77381beea23078bc58a1d7bd0cef5e845 0 game\\bin\\win64\\engine2.dll\n+ 2260120 3 e6b2f2f01a06dd404f49cf333f68ddce1a5aebf3 0 game\\bin\\win64\\filesystem_stdio.dll\n 2373 1 58812342d882cc4b5cb2469606929aa413e0ca16 0 game\\bin\\win64\\foreign.signatures\n 5736000 6 7d1f621599d315bbda1c7d2129b689a999a20bd8 0 game\\bin\\win64\\gfsdk_aftermath_lib.x64.dll\n- 755864 1 501db249b47d2312d13524508e8c801991b6747f 0 game\\bin\\win64\\helpsystem.dll\n- 248472 1 4be7eb4d74567baeaf51a4686dbc81a8051787bc 0 game\\bin\\win64\\imemanager.dll\n- 302232 1 8d74403cf1ddbdd542be88b27a1a59a5c7f4772f 0 game\\bin\\win64\\inputsystem.dll\n+ 755864 1 83ed4f0304dcc6579093607217950b3b006a5975 0 game\\bin\\win64\\helpsystem.dll\n+ 248472 1 ff5cd135d038fb3cdeafde6b4fd46618025a78da 0 game\\bin\\win64\\imemanager.dll\n+ 302232 1 0eb5de06e385590668a23f5293ee7414196215ca 0 game\\bin\\win64\\inputsystem.dll\n 6627176 7 49b2ad8a4e67451776d9c4e62c7aaf62a51e9735 0 game\\bin\\win64\\libavcodec-58.dll\n 1847656 2 612200abbd317ae2c2173e52248cb5bcdcf6a9a1 0 game\\bin\\win64\\libavformat-58.dll\n 756584 1 8949c887bd27fe265d1b4df08eb2d86cc74695a5 0 game\\bin\\win64\\libavresample-4.dll\n@@ -40,21 +40,21 @@ Total bytes compressed : 5011481952\n 400744 1 a4a6273b4de588fa2302d45bcc994fecfb6c5fea 0 game\\bin\\win64\\libpango-1.0-0.dll\n 389992 1 a3d673d56314c10a6b742e88b4261dc9df857269 0 game\\bin\\win64\\libpangoft2-1.0-0.dll\n 1283432 2 9867b4ab6b1a430242eae51aa2b1700a1ace4a2e 0 game\\bin\\win64\\libswscale-5.dll\n- 382104 1 386d54a0a1ba3ff051f148b25ec0defd5df67078 0 game\\bin\\win64\\localize.dll\n- 1428632 2 23bb3cfd4d4fe730eef8b5a18946e6bd74ab12c6 0 game\\bin\\win64\\materialsystem2.dll\n- 1664664 2 573dfb7361d93fe2bdd63ebbf132f571467e16e3 0 game\\bin\\win64\\meshsystem.dll\n- 1314968 2 1bac0b3b4639d8d47fbc6990308098a8ab1e4280 0 game\\bin\\win64\\navsystem.dll\n- 2841752 3 9a853bdb1755f40bda4e2c67cd0f55c0fd1bd4b5 0 game\\bin\\win64\\networksystem.dll\n- 147608 1 dc132099ef45f5d24cdf46ff0f4e8b95f272e03a 0 game\\bin\\win64\\p4lib.dll\n- 6108312 6 1d85b21366ba2cc6a7bd5869807140e1730ab074 0 game\\bin\\win64\\panorama.dll\n- 2748056 3 7884a9f4258e84378ad7effdee02d56255d0a82a 0 game\\bin\\win64\\panoramauiclient.dll\n- 2997912 3 199e25a095143d3a8b62ded12f74da9497aaf780 0 game\\bin\\win64\\panorama_text_pango.dll\n- 6460568 7 a6f468c64c6f133e72575694e80a5c3b1fc16dc0 0 game\\bin\\win64\\particles.dll\n+ 382104 1 2117557c22f9b58b6d0da2ba91a90fc2d7e52f9f 0 game\\bin\\win64\\localize.dll\n+ 1428632 2 d6e30c118d0f4bb139529a01d254199c71748d5c 0 game\\bin\\win64\\materialsystem2.dll\n+ 1664664 2 bfc3eb19939b3f38d85ec27b8d1bec77414b5c99 0 game\\bin\\win64\\meshsystem.dll\n+ 1314968 2 d41c0a00bc9e80ff0958412831ca483a9ad0f918 0 game\\bin\\win64\\navsystem.dll\n+ 2841752 3 2b96877b91a753e024ebd164036098c31b41ead7 0 game\\bin\\win64\\networksystem.dll\n+ 147608 1 f8b63f70ca58f6b7882b829430c9fb3cdc67487a 0 game\\bin\\win64\\p4lib.dll\n+ 6108312 6 94048c04cd1acea67d05dfe3f46972b979569617 0 game\\bin\\win64\\panorama.dll\n+ 2748056 3 2773a945a7eecf0f7722c91ce3147c8150cce087 0 game\\bin\\win64\\panoramauiclient.dll\n+ 2997912 3 9d3d1b368b8231038f7d54739985db3e80a47d4d 0 game\\bin\\win64\\panorama_text_pango.dll\n+ 6460568 7 fc7d1bac01a248f2af72a48746325208722072da 0 game\\bin\\win64\\particles.dll\n 53322904 53 19e9e40c9a4780b26353e1a4d78f2a4f61ff8f3c 0 game\\bin\\win64\\phonon.dll\n 567656 1 79759ec5c92853b73627da14e5e70f6c6c580a78 0 game\\bin\\win64\\phonon4.dll\n- 13950616 14 32da607e886aeed748459d9306a6917762edab13 0 game\\bin\\win64\\physicsbuilder.dll\n- 1522840 2 2e39fa5b15eaca75c30c5da1464348c9c0e23f33 0 game\\bin\\win64\\propertyeditor.dll\n- 2031768 2 bfbb7085355668eb93e95a48cf7b5312f576e72c 0 game\\bin\\win64\\pulse_system.dll\n+ 13950616 14 d97d9e5d6a64e98bd812ebe70a023c39a24e833b 0 game\\bin\\win64\\physicsbuilder.dll\n+ 1522840 2 eba06453afcdd6d6bf4b608fcc3fe6dcde592cb7 0 game\\bin\\win64\\propertyeditor.dll\n+ 2031768 2 6f40ef4d08911950fad3e1a7fb65b4ec1672b3ee 0 game\\bin\\win64\\pulse_system.dll\n 131432 1 3177661f6e066460f2c859d2d5453323b68d6eda 0 game\\bin\\win64\\Qt5Concurrent.dll\n 6288744 6 5f5173c825810bbd849e32b5e6e2cb32f6c456d2 0 game\\bin\\win64\\Qt5Core.dll\n 7007080 7 08882a63e4c0962b33376da66224655f2b1d5e06 0 game\\bin\\win64\\Qt5Gui.dll\n@@ -67,53 +67,53 @@ Total bytes compressed : 5011481952\n 1616384 2 f5dc8fe31229639bd3fe28b52249af29722e0301 0 game\\bin\\win64\\qt5_plugins\\platforms\\qwindows.dll\n 231424 1 8fc6fa3f8cda0ffc55725d817c782115322cd574 0 game\\bin\\win64\\qt5_plugins\\styles\\qwindowsvistastyle.dll\n 828928 1 bbb2cff7f465f33d68bb00cb32c4ca897334cc94 0 game\\bin\\win64\\qtadvanceddocking-qt5.dll\n- 4545688 5 051d860ce08f10ec2a0d0345ca8f1727e337152a 0 game\\bin\\win64\\rendersystemdx11.dll\n- 1774744 2 5b6210ed355a8b9cd9a2aa7312e3bb7c08516484 0 game\\bin\\win64\\rendersystemempty.dll\n- 6249624 7 7fda1b8745d98cdbcc8fe7a1153ac6de25db01d1 0 game\\bin\\win64\\rendersystemvulkan.dll\n- 56351896 54 ae2b2266c510a9efe65a2220bb38dba42dac6e46 0 game\\bin\\win64\\resourcecompiler.dll\n- 532632 1 3eb3b6bd25b276fb670f1474260267907db9cd16 0 game\\bin\\win64\\resourcesystem.dll\n- 1297048 2 a098eda7437c0f2bd2eee3e113421c958f2aba69 0 game\\bin\\win64\\scenefilecache.dll\n- 7094936 7 2a0d7c4734b5058b0dcf8e270630c9a8a9dab4b8 0 game\\bin\\win64\\scenesystem.dll\n- 445592 1 a2d1ab7e9bfefb9df339767031cf6b6ce7a1a43e 0 game\\bin\\win64\\schemasystem.dll\n+ 4545688 5 ad12c77a510d514d29c61b7e3a515fea41864047 0 game\\bin\\win64\\rendersystemdx11.dll\n+ 1774744 2 5cc9557830aaf4ee91c22d08568bb27a0f673528 0 game\\bin\\win64\\rendersystemempty.dll\n+ 6249624 7 994dbf58e75bf4b3d0b54e70b1613f946c050d08 0 game\\bin\\win64\\rendersystemvulkan.dll\n+ 56351896 54 4dafe44305d9966c865bcc78460f31acf5153bf9 0 game\\bin\\win64\\resourcecompiler.dll\n+ 532632 1 c62dfbb1cee3f7553bfcf99b4fbac724a5341841 0 game\\bin\\win64\\resourcesystem.dll\n+ 1297048 2 94c9536c1a0b4ed2b736c41c386d08652ff81654 0 game\\bin\\win64\\scenefilecache.dll\n+ 7094936 7 9bb7594bcd332c617df4b6a9db62c8886991f84d 0 game\\bin\\win64\\scenesystem.dll\n+ 445592 1 61a9c15eab213fbb579ef604310fd28eee47145e 0 game\\bin\\win64\\schemasystem.dll\n 2891928 3 2455bae3c453025d4d481afebdc517ac9e3f3659 0 game\\bin\\win64\\SDL3.dll\n- 5838488 6 dd30ad36fdcfb5d9f59b2cfb46b0bef25184328f 0 game\\bin\\win64\\soundsystem.dll\n- 3547288 4 2ed24977ac906ca1596d83f466669849116c2619 0 game\\bin\\win64\\steamaudio.dll\n+ 5838488 6 2c7068a3059c8057b9280de287cead9c2ae3a0de 0 game\\bin\\win64\\soundsystem.dll\n+ 3547288 4 dcd7e7502e53c738b5b86b29bd5dcd8ae23e53a1 0 game\\bin\\win64\\steamaudio.dll\n 4290200 5 b2a6c8bdb391737a00e9d32a186d726da2037aae 0 game\\bin\\win64\\steamnetworkingsockets.dll\n 317080 1 a9fd85dbfdcee3209768facb284b8788df41c3d3 0 game\\bin\\win64\\steam_api64.dll\n- 887448 1 213fce1c7bfac044eaf350a00f5e7c10870df8ae 0 game\\bin\\win64\\subtools\\convarhelper_subtool.dll\n- 227992 1 e3f03807f29613a9401c411b6ce7a50d09976b4f 0 game\\bin\\win64\\subtools\\dashboard_subtool.dll\n- 366232 1 38825442ff3adaf635c82e502c350008d847d242 0 game\\bin\\win64\\subtools\\netgraph_subtool.dll\n- 418968 1 1b3bdc723a1dcd18222285efe5d395e46223a864 0 game\\bin\\win64\\subtools\\soundviewer_subtool.dll\n- 338584 1 e2990d2f36d45f5c5321d57f4bf2e4ee9fdfae75 0 game\\bin\\win64\\subtools\\vprof_subtool.dll\n+ 887448 1 51b273640034e3bf523a5899ea9d377b64e70c15 0 game\\bin\\win64\\subtools\\convarhelper_subtool.dll\n+ 227992 1 e534813280d8a18b42833bdb80cf6f440ea791ad 0 game\\bin\\win64\\subtools\\dashboard_subtool.dll\n+ 366232 1 514ff31ef4596425d671a13b0721e5ac1e96ec5b 0 game\\bin\\win64\\subtools\\netgraph_subtool.dll\n+ 418968 1 fddeb0c0f40fe6ea7c3b6f0a00712fe9ee45955d 0 game\\bin\\win64\\subtools\\soundviewer_subtool.dll\n+ 338584 1 6965c56d222b1947c5a0f4e746cb35e92349ce71 0 game\\bin\\win64\\subtools\\vprof_subtool.dll\n 149264 1 4b46db2a99a47ff6a6ee376f4d79f5298bff28a2 0 game\\bin\\win64\\symsrv.dll\n 1473 1 a2f63b30356a09266d8e598c4a4949ad00733230 0 game\\bin\\win64\\system.signatures\n- 3979928 4 7a95e7c564b75d4e207eb013d8797c46c392edad 0 game\\bin\\win64\\tier0.dll\n- 13708952 14 683fd7f433475c1fb83f58ff4d9bac6f2df76ec1 0 game\\bin\\win64\\toolframework2.dll\n+ 3979928 4 2dc971f4ba4b15a18c2cb2b189cb6bb696549e20 0 game\\bin\\win64\\tier0.dll\n+ 13708952 14 944b6e3fce2c1c2526a39d4c65da569e96a74a48 0 game\\bin\\win64\\toolframework2.dll\n 50473832 49 29b8401736bcbb130ad79cde21b1cb70c4fefabf 0 game\\bin\\win64\\v8.dll\n- 233624 1 08fbefa2846b1129d3195ea107e54529b6a75d6b 0 game\\bin\\win64\\v8system.dll\n+ 233624 1 e0be570be2c322f5d7765f85a779773dc2d301ae 0 game\\bin\\win64\\v8system.dll\n 3937128 4 3a8e40f31868314b88d6514cd096dd0908f24a1b 0 game\\bin\\win64\\v8_icui18n.dll\n 2849640 3 95d6436822bcf47bb4315c0c20d69775662163b6 0 game\\bin\\win64\\v8_icuuc.dll\n 1637736 2 8402ca7e7ffb4c8db27c05c7d7c3d10c224a0750 0 game\\bin\\win64\\v8_libbase.dll\n 1455464 2 9beacc20acdc683129c258a97432e6beb8701d71 0 game\\bin\\win64\\v8_libplatform.dll\n 844136 1 97b323fba40640622eb756c42206dc088474b21a 0 game\\bin\\win64\\v8_zlib.dll\n- 194200 1 4f1f86e04e54f20e423971760257bffd0af1e81c 0 game\\bin\\win64\\valve_avi.dll\n- 11384472 12 78fbfadb81c05286f0c6f0006dfcde493248e087 0 game\\bin\\win64\\valve_webm.dll\n- 177304 1 53fe6ef4fff3e1f843be723e792fb02bdcd7a6c6 0 game\\bin\\win64\\valve_wmf.dll\n- 259736 1 6750a03108261019c3c8762094c3cecd156c07f4 0 game\\bin\\win64\\vconcomm.dll\n- 5105816 5 3884e04f808764c89f0b9ddf940183897c241456 0 game\\bin\\win64\\vconsole2.exe\n- 1327256 2 c7ecf73ad6654517f163f23bdfa7e5ed62cbd3b2 0 game\\bin\\win64\\vfx_dx11.dll\n+ 194200 1 5860e5e47341acb69dcfe7e80e22462e3acf6f21 0 game\\bin\\win64\\valve_avi.dll\n+ 11384472 12 a9a817e4576f9d0579e7c165fca5fed87079f643 0 game\\bin\\win64\\valve_webm.dll\n+ 177304 1 597b00148c9434443daf6f09058a16e82fe98a08 0 game\\bin\\win64\\valve_wmf.dll\n+ 259736 1 c17af6d351fed715ec6335204e04aff779647c41 0 game\\bin\\win64\\vconcomm.dll\n+ 5105816 5 1f4298f214e0b6425cc8acdde412048919011563 0 game\\bin\\win64\\vconsole2.exe\n+ 1327256 2 61b7e2e78c4a28ce0a739204fdd66ca771c6fad0 0 game\\bin\\win64\\vfx_dx11.dll\n 4610448 5 6e02ca508c3fcbd7972475e7b1530d0a2dfa12c3 0 game\\bin\\win64\\video64.dll\n- 1855640 2 c407a13221df9390f71a999a14ab40bb7d70eef4 0 game\\bin\\win64\\visbuilder.dll\n- 4829848 5 1d443f6452208cde31a8c6e84103758ded32a8b7 0 game\\bin\\win64\\vphysics2.dll\n- 1352856 2 64f98a410a72087c75c51c0f07cc1db49fc5a639 0 game\\bin\\win64\\vscript.dll\n- 2029720 2 9b117aa56a622b6a6026c8bfa8ba65b03222efa0 0 game\\bin\\win64\\worldrenderer.dll\n+ 1855640 2 2c43f071e8ba595080b487b437e97af0526efb2b 0 game\\bin\\win64\\visbuilder.dll\n+ 4829848 5 0ae0801a6394bc9b1aa70304c9eebf831620f0bc 0 game\\bin\\win64\\vphysics2.dll\n+ 1352856 2 1ab1c7fa28d18fb621fd2a3f38ff255d3dc6bb92 0 game\\bin\\win64\\vscript.dll\n+ 2029720 2 82c110e168cd9741d1f818c6cc26f909152e65af 0 game\\bin\\win64\\worldrenderer.dll\n 3185298 4 10bea5cfe6883540880c748e9506a04ad11e53ca 0 game\\core\\shaders_pc_000.vpk\n 25563 1 72204b8136ab7b8df21a52fb0b8b674f8c578b06 0 game\\core\\shaders_pc_dir.vpk\n 1728360 2 4e48ff45949c7f3cd8fd8ab5b7514ae27f44e53a 0 game\\csgo\\bin\\legacy\\csgo_legacy_app.exe\n- 39224472 38 b5ad5ca0a78e816cf93836327b42d5a5ef49dcab 0 game\\csgo\\bin\\win64\\client.dll\n- 1389208 2 40c6db9d0b1a07915441df9e7f002375f1bbad7a 0 game\\csgo\\bin\\win64\\host.dll\n- 1890968 2 9aedfe7565fa06c398d7c4a0017bfc6490567b4d 0 game\\csgo\\bin\\win64\\matchmaking.dll\n- 34690200 34 7eb4d9b19948117424d575b158aa11c565d71eec 0 game\\csgo\\bin\\win64\\server.dll\n+ 39224472 38 51a449b7cac525d9470b3d98debc6a43467ead20 0 game\\csgo\\bin\\win64\\client.dll\n+ 1389208 2 425f2ec89bdaa5b0d2ca47945fa08ec906661749 0 game\\csgo\\bin\\win64\\host.dll\n+ 1890968 2 ebcf0d685e5347a5e246521cc0ee694f5d266bb3 0 game\\csgo\\bin\\win64\\matchmaking.dll\n+ 34690200 34 b3c3e96f47acbdcf00655a3d7e5db509480eeef5 0 game\\csgo\\bin\\win64\\server.dll\n 115209034 117 4bbd01e43063ebade958bb509725b1b48c811b00 0 game\\csgo\\shaders_pc_000.vpk\n 189827159 182 7829b4ede09333c4e30a53d1ef958b9baeaeac39 0 game\\csgo\\shaders_pc_001.vpk\n 38973836 41 55f4f1a11b02a8a25a77a452d24ae14aa04b9f0b 0 game\\csgo\\shaders_pc_002.vpk"
},
{
"filename": "manifests/manifest_2347773.txt",
"status": "modified",
"additions": 32,
"deletions": 32,
"changes": 64,
"patch": "@@ -1,53 +1,53 @@\n Content Manifest for Depot 2347773 \n \n-Manifest ID / date : 6232960523750647649 / 10/30/2026 21:05:58 \n+Manifest ID / date : 4551386601247986792 / 11/03/2026 00:27:00 \n Total number of files : 135 \n Total number of chunks : 6673 \n-Total bytes on disk : 7224464934 \n-Total bytes compressed : 4605726512 \n+Total bytes on disk : 7224465798 \n+Total bytes compressed : 4605728448 \n \n \n Size Chunks File SHA Flags Name\n 155548 1 6f37e2bbe028e2b198f87972fc7265422a44b4b2 0 game\\bin\\linuxsteamrt64\\cs2\n 84104 1 17f3c133b5c62e6e2bbb0280e038912414412579 0 game\\bin\\linuxsteamrt64\\fltlnx64.flt\n- 15438136 15 eff263174b3593ea6d8906c05749c219a16d26b1 0 game\\bin\\linuxsteamrt64\\libanimationsystem.so\n+ 15438136 15 aea2634b8346eb8e971473a5ee7110674643441c 0 game\\bin\\linuxsteamrt64\\libanimationsystem.so\n 3678216 4 68f95c77a3ab19b380f142ab7e6ccb543af9d37c 0 game\\bin\\linuxsteamrt64\\libavcodec.so.58\n 888848 1 bcfdd74b8bc4268cc6af190a10c8d64d27b71bc9 0 game\\bin\\linuxsteamrt64\\libavformat.so.58\n 129496 1 4895da33d08a56dfb48daa79a3bcee9f9c361649 0 game\\bin\\linuxsteamrt64\\libavresample.so.4\n 712672 1 451e7c11727fefe58f2cca8fc0e0cd0bc562f43e 0 game\\bin\\linuxsteamrt64\\libavutil.so.56\n 1596148 2 b96dfdf2fe9a36436fd4f04ca78e292982ea15b1 0 game\\bin\\linuxsteamrt64\\libcairo.so\n- 11158432 11 e4ecff8b413f8d55553aabc4840d33f384aefdf3 0 game\\bin\\linuxsteamrt64\\libengine2.so\n- 3108744 3 8d3a0ab5d79de09b04d8a27011a697ca4528fb2d 0 game\\bin\\linuxsteamrt64\\libfilesystem_stdio.so\n+ 11158432 11 b8fd6c32f218cb3bce5c2a333fd3adf3c6214940 0 game\\bin\\linuxsteamrt64\\libengine2.so\n+ 3108744 3 d3cae622c8ce4cf58a810da91e903461d0aa22fd 0 game\\bin\\linuxsteamrt64\\libfilesystem_stdio.so\n 1304272 2 0af1352041c54e16129773dc8d038872f9f839be 0 game\\bin\\linuxsteamrt64\\libfontconfig.so.1\n 3930056 4 0b64e7c4eab1a6313867cb39c0fafbeb026aac7f 0 game\\bin\\linuxsteamrt64\\libfreetype.so.6\n- 513732 1 fdc1e2cc13a6ddd503628eb25a9339ce43ed8d84 0 game\\bin\\linuxsteamrt64\\libinputsystem.so\n- 648856 1 17746564434c03f97488384cf1f717bf72223a10 0 game\\bin\\linuxsteamrt64\\liblocalize.so\n- 1795744 2 118c122d1835900fefc44a0e44f86575e8a1a8a5 0 game\\bin\\linuxsteamrt64\\libmaterialsystem2.so\n- 2011620 2 169d7d3b32aaf3b22770b10c518b6bbde6a8622b 0 game\\bin\\linuxsteamrt64\\libmeshsystem.so\n+ 513732 1 7c14219443cdb6f8859ba69a44bab1f9d194a2fd 0 game\\bin\\linuxsteamrt64\\libinputsystem.so\n+ 648856 1 42cfa49393332d46fde5739d59724594ce97b29c 0 game\\bin\\linuxsteamrt64\\liblocalize.so\n+ 1795744 2 8aec8095fdc80f31e42b85a16872cf49772ec09a 0 game\\bin\\linuxsteamrt64\\libmaterialsystem2.so\n+ 2011620 2 61da167872eea90673fbe6b0d711e071571a1aa4 0 game\\bin\\linuxsteamrt64\\libmeshsystem.so\n 1051154 2 312f15ffc6ca79979618858b7e371c056b5b74b2 0 game\\bin\\linuxsteamrt64\\libmpg123.so.0\n- 4864820 5 a3d12dd40f7f10e698208b1eaf476b8ceaf2adb9 0 game\\bin\\linuxsteamrt64\\libnetworksystem.so\n+ 4864820 5 246923dc3c9b6b367c93d4730df1dee021e50ad7 0 game\\bin\\linuxsteamrt64\\libnetworksystem.so\n 35112 1 5f38ba115a525c4dee3dea7d9625a2164b84d457 0 game\\bin\\linuxsteamrt64\\libogg.so.0\n 1278424 2 e99953922de86b898b2f0c9abc38ae24c6aea2b4 0 game\\bin\\linuxsteamrt64\\libpango-1.0.so.0\n 442632 1 9e20da60c2343c610624175113428f4089236585 0 game\\bin\\linuxsteamrt64\\libpangoft2-1.0.so.0\n- 7025168 7 25c479f43f885302caa79fb0806570c8f1269366 0 game\\bin\\linuxsteamrt64\\libpanorama.so\n- 4878328 5 fff1135ac405f121ff3af28642ea4632c719a919 0 game\\bin\\linuxsteamrt64\\libpanoramauiclient.so\n+ 7025424 7 8ba8a923f234038c7c1ae98e956675bfdafecbf1 0 game\\bin\\linuxsteamrt64\\libpanorama.so\n+ 4878456 5 9ee4ef64197746622cb4026e6073d752cb19d806 0 game\\bin\\linuxsteamrt64\\libpanoramauiclient.so\n 3202820 4 fec2f55b60399acd70d543ea35633f89a97eb771 0 game\\bin\\linuxsteamrt64\\libpanorama_text_pango.so\n- 8612056 9 91cb91e6fa1e19dc70d96f6a5622838c7d782de2 0 game\\bin\\linuxsteamrt64\\libparticles.so\n+ 8612056 9 4d746f89b7d06f57b7b6ef1a8bf8f169924fab5a 0 game\\bin\\linuxsteamrt64\\libparticles.so\n 40786720 40 850311e7b530d04bcfbdee1e3e7d026a7791098d 0 game\\bin\\linuxsteamrt64\\libphonon.so\n- 2357916 3 87b82e6936fca5db0a85ba5004dd6b5f31068839 0 game\\bin\\linuxsteamrt64\\libpulse_system.so\n- 3679424 4 c7c6c991afc6346f6ef464752fbc36ebad94e7ec 0 game\\bin\\linuxsteamrt64\\librendersystemempty.so\n- 9199516 10 90af184604f6e3d5b70d29c9a7b2399fd33b4473 0 game\\bin\\linuxsteamrt64\\librendersystemvulkan.so\n- 800200 1 95465d864c6871d583ca4fd0576109020b34b42b 0 game\\bin\\linuxsteamrt64\\libresourcesystem.so\n- 3936472 4 fe116e09ced35241f4331094a54235dc8dd652ae 0 game\\bin\\linuxsteamrt64\\libscenefilecache.so\n- 10777468 11 3a9bd9792e999e94206fda1dadeacf2d32c96477 0 game\\bin\\linuxsteamrt64\\libscenesystem.so\n- 713948 1 ad85dae76aad400f723e768ee7286fc6993c7c2f 0 game\\bin\\linuxsteamrt64\\libschemasystem.so\n+ 2357916 3 a0122e3156918f8c58a7f6be93fc823243a54b6f 0 game\\bin\\linuxsteamrt64\\libpulse_system.so\n+ 3679424 4 e2225dec8d51bdfc0d53a6a54d54849487df9e89 0 game\\bin\\linuxsteamrt64\\librendersystemempty.so\n+ 9199516 10 b2c9ee0d939b25727cb56dbd89fbee4755d98aa0 0 game\\bin\\linuxsteamrt64\\librendersystemvulkan.so\n+ 800200 1 77686038b3b2d330b48bddf55902d173b1f842a8 0 game\\bin\\linuxsteamrt64\\libresourcesystem.so\n+ 3936472 4 e302a9468e39d94d4f00965610cc401be4ed3627 0 game\\bin\\linuxsteamrt64\\libscenefilecache.so\n+ 10777468 11 9c804ca45ac80e79f0b883babb937ef21d14579a 0 game\\bin\\linuxsteamrt64\\libscenesystem.so\n+ 713948 1 783bccbe42131eaf715fbe5ad20f64dbf60da3bc 0 game\\bin\\linuxsteamrt64\\libschemasystem.so\n 3229400 4 0558f1091e79b187e42491955cf362112598cff5 0 game\\bin\\linuxsteamrt64\\libSDL3.so.0\n- 7962196 8 f8b3d7618016aef0270517c79848a225837296b8 0 game\\bin\\linuxsteamrt64\\libsoundsystem.so\n- 4771364 5 57b51902f63f93920f5bea8e86feb5b5adcda44e 0 game\\bin\\linuxsteamrt64\\libsteamaudio.so\n+ 7962196 8 859737510ae097d5fd87007727d403203e1f94eb 0 game\\bin\\linuxsteamrt64\\libsoundsystem.so\n+ 4771364 5 264949d42b595935f4ac27a6f31cbc06e9fea71c 0 game\\bin\\linuxsteamrt64\\libsteamaudio.so\n 5692434 6 9ec4204cb535bb2c204a69c2d7d15e2b2c9682a1 0 game\\bin\\linuxsteamrt64\\libsteamnetworkingsockets.so\n 381976 1 c109666c839a433b5ff8f635ad173cde77bdcdb6 0 game\\bin\\linuxsteamrt64\\libsteam_api.so\n 555448 1 a1191c624317a97fbf634aa13990bc12abd45179 0 game\\bin\\linuxsteamrt64\\libswscale.so.5\n- 5028700 5 e68e1cc5a0c06f7694b07627b9196de05a4f7131 0 game\\bin\\linuxsteamrt64\\libtier0.so\n+ 5028700 5 8f63a592519742cf277888dc1a9d6dbcc49d6dad 0 game\\bin\\linuxsteamrt64\\libtier0.so\n 30769216 30 a3ef228ee95892e08350e73af7a4063d24334c15 0 game\\bin\\linuxsteamrt64\\libv8.so\n 480560 1 414fb2fac6d9e14c08115f7f68da98e33ef347d2 0 game\\bin\\linuxsteamrt64\\libv8system.so\n 2926872 3 e84e468c1885ff699fdda290c1aed696b2fcc6cc 0 game\\bin\\linuxsteamrt64\\libv8_icui18n.so\n@@ -56,20 +56,20 @@ Total bytes compressed : 4605726512\n 1172208 2 b22b9ba29bffe328d33c6a1790e5f2b81736bf13 0 game\\bin\\linuxsteamrt64\\libv8_libcpp.so\n 113320 1 a4144e9f7d534ba89e1b9dd47de7c636819d43e0 0 game\\bin\\linuxsteamrt64\\libv8_libplatform.so\n 110600 1 1f3829ba17a72c8c705b66d0a48bfbd60d9b9e1d 0 game\\bin\\linuxsteamrt64\\libv8_zlib.so\n- 494128 1 aa118060f902be05fd2b5e07ac10a8af20c78b29 0 game\\bin\\linuxsteamrt64\\libvconcomm.so\n+ 494128 1 39626ca8171e6ce123f84f0b55126a0e5f8d9759 0 game\\bin\\linuxsteamrt64\\libvconcomm.so\n 7032600 7 f892d251c04221fc7e54c32c379a368b8f041bee 0 game\\bin\\linuxsteamrt64\\libvideo.so\n 183104 1 236012fc609253612d606f5670749387d751a6eb 0 game\\bin\\linuxsteamrt64\\libvorbis.so.0\n 690400 1 b5d3043cadc61cd22fa21ee22eae3546cc7f621b 0 game\\bin\\linuxsteamrt64\\libvorbisenc.so.2\n 35360 1 3c4c4fc86877c37c8f637ceae9c91795adfd23d4 0 game\\bin\\linuxsteamrt64\\libvorbisfile.so.3\n- 5739752 6 b864fa89943f572e78239863c7016133c600044e 0 game\\bin\\linuxsteamrt64\\libvphysics2.so\n+ 5739752 6 b8a02c1664a9fe22ddc74ecb9a5848342c26ae66 0 game\\bin\\linuxsteamrt64\\libvphysics2.so\n 3205768 4 7ee108b86e414426587fcf8d64e037c7f3f78544 0 game\\bin\\linuxsteamrt64\\libvpx.so.6\n- 1296400 2 f63aa2c6334168781aa9b5bd2db22c0cc3a98a71 0 game\\bin\\linuxsteamrt64\\libvscript.so\n- 4570212 5 9401bc49adf98aa264340e34e93dfc06fd786adc 0 game\\bin\\linuxsteamrt64\\libworldrenderer.so\n+ 1296400 2 bd6d7e2be9b1a526f017bc474c84296569cf23d7 0 game\\bin\\linuxsteamrt64\\libvscript.so\n+ 4570212 5 7464ba7da046b1de971e290bfcf582d20aeaedde 0 game\\bin\\linuxsteamrt64\\libworldrenderer.so\n 3822 1 956919b920713ce452f46c20cf8643674f7543f7 0 game\\cs2.sh\n- 74208376 71 a0729807ba98a01f7c8fde6b2a787897403028f6 0 game\\csgo\\bin\\linuxsteamrt64\\libclient.so\n- 3184412 4 2a6ef4e4bdf777c3ccd9d2d11c8cfce69baeb82f 0 game\\csgo\\bin\\linuxsteamrt64\\libhost.so\n- 3775044 4 4a6bd2fa9528edbac347b03c837c3158d93bca75 0 game\\csgo\\bin\\linuxsteamrt64\\libmatchmaking.so\n- 41807640 40 da6d2163b63dbc977b94d454dd3eb1ceb322e3a5 0 game\\csgo\\bin\\linuxsteamrt64\\libserver.so\n+ 74208760 71 34c9b737c072b81db28a1e84bb5c72404ce9bd19 0 game\\csgo\\bin\\linuxsteamrt64\\libclient.so\n+ 3184412 4 adad77afb94069ba33399c4ed33a5b4f3a64fb04 0 game\\csgo\\bin\\linuxsteamrt64\\libhost.so\n+ 3775044 4 5770b453a084c4d0bb77ca94860111b7bfdaaadf 0 game\\csgo\\bin\\linuxsteamrt64\\libmatchmaking.so\n+ 41807736 40 cb4bab97878a1f04990edf9b68d1240f473b606e 0 game\\csgo\\bin\\linuxsteamrt64\\libserver.so\n 182648578 175 d4b7d7aea361a8b94c54e79904d642d712a1a3f5 0 game\\csgo_community_addons\\cs_shelter\\cs_shelter_000.vpk\n 107052112 105 2c61877687a4e433f04a62340fb3ce54b70e039c 0 game\\csgo_community_addons\\cs_shelter\\cs_shelter_001.vpk\n 106101480 104 e5dc305d96a55ae88a396ac6d98037209b4520ce 0 game\\csgo_community_addons\\cs_shelter\\cs_shelter_002.vpk"
},
{
"filename": "manifests/manifest_2347779.txt",
"status": "modified",
"additions": 30,
"deletions": 30,
"changes": 60,
"patch": "@@ -1,10 +1,10 @@\n Content Manifest for Depot 2347779 \n \n-Manifest ID / date : 6999460720639345485 / 10/30/2026 21:06:20 \n+Manifest ID / date : 9144463342521858931 / 11/03/2026 00:27:26 \n Total number of files : 909 \n Total number of chunks : 2523 \n-Total bytes on disk : 2108138499 \n-Total bytes compressed : 576286240 \n+Total bytes on disk : 2108139011 \n+Total bytes compressed : 576285616 \n \n \n Size Chunks File SHA Flags Name\n@@ -633,18 +633,18 @@ Total bytes compressed : 576286240\n 34 1 5ae7a5871cb358698c8a47d83b787447ebb23b53 0 content\\csgo_addons\\workshop_items\\workshop_items.txt\n 32991 1 9d6322a3e2262994d74bb905f9fedcea2e5505b8 0 game\\bin\\assettypes_common.txt\n 3734 1 970059aac54dddba1b88fdec2836afd7261e5a2f 0 game\\bin\\sdkenginetools.txt\n- 3728024 4 cdf9adddba6dab0bb14a296393128ae45c6351a7 0 game\\bin\\win64\\assetbrowser.dll\n- 33821336 33 526ed6a6ddf2c2d7ff3a0086e635daa8732e2049 0 game\\bin\\win64\\assetrename.dll\n- 5703320 6 69aef54a5be46a22842ba8a8671ef057da9ffedd 0 game\\bin\\win64\\assetsystem.dll\n+ 3728024 4 f188f8ac78b13b7f9cbf9bb3a5cc0e8426d8df33 0 game\\bin\\win64\\assetbrowser.dll\n+ 33821336 33 584e63a192942b91df259e8aef86a9c262567e38 0 game\\bin\\win64\\assetrename.dll\n+ 5703320 6 265f267641ffa2f5f8eacca5ce3ae23c95c15b01 0 game\\bin\\win64\\assetsystem.dll\n 1529856 2 45e7d0873608e5424312fa289a270f2faacfe8fa 0 game\\bin\\win64\\bc7e.dll\n- 396952 1 3a1580720932ad35bdc8455fea40739014877638 0 game\\bin\\win64\\cs2_build_econ_items_workshop.exe\n- 13866 1 6e66eefa3c87d4a1c8b0971d9c9006ad4bed4f81 0 game\\bin\\win64\\csgo.signatures\n- 1271448 2 41ff225a0583e28a3755588aac5634c5db7af5c4 0 game\\bin\\win64\\csgocfg.exe\n- 15683736 15 2e0961f7f4e0776a11546c4f8a6ee8797cd7a478 0 game\\bin\\win64\\cs_mdl_import.exe\n- 1196696 2 f3364d2c801c80b4e2eb6d8c76a6ec0aca706962 0 game\\bin\\win64\\dmxconvert.exe\n- 3682968 4 21d3a8712c8d71e2dcc790a44f5c8cda24f79ab7 0 game\\bin\\win64\\exportsystem.dll\n+ 396952 1 d40100945a08d047d65a8f8c1ba557351467136b 0 game\\bin\\win64\\cs2_build_econ_items_workshop.exe\n+ 13866 1 22ce12bf18f6df3737c2ac7a83452663ed531f04 0 game\\bin\\win64\\csgo.signatures\n+ 1271448 2 e0c0511657da151a4b8546e1ccb0f2eb5e6c6a40 0 game\\bin\\win64\\csgocfg.exe\n+ 15683736 15 2787c3be064fd2215239c7fe9cb6f573d4984d9a 0 game\\bin\\win64\\cs_mdl_import.exe\n+ 1196696 2 5691c2eec39a867bdb053d6880e5bc18b0bfde2a 0 game\\bin\\win64\\dmxconvert.exe\n+ 3682968 4 e974da9fba42ae47defaf2d0c0c6bb8e1aba76cf 0 game\\bin\\win64\\exportsystem.dll\n 1418240 2 d1cc730f23d2b2f8567555d0c09a36dfd01e45c9 0 game\\bin\\win64\\ispc_texcomp.dll\n- 16949912 17 c45e12842ab3f33a26a6088d9bf6646e2fe9ae33 0 game\\bin\\win64\\modeldoc_utils.dll\n+ 16949912 17 96d357b1830088fa13a52c230e2744c419424ae5 0 game\\bin\\win64\\modeldoc_utils.dll\n 177280 1 27c1a881c6648129f95646e61e6f101d15ddd692 0 game\\bin\\win64\\OpenImageDenoise.dll\n 50625664 49 cb2153ac3d4f75ddfb071802c9dbb39c48acf078 0 game\\bin\\win64\\OpenImageDenoise_core.dll\n 513664 1 be8640db91ff826e381a9b6ea1a89e5fec462c5c 0 game\\bin\\win64\\OpenImageDenoise_device_cpu.dll\n@@ -654,26 +654,26 @@ Total bytes compressed : 576286240\n 831616 1 7ca261e89897f9905ffc656b84e7f0d5c49dd896 0 game\\bin\\win64\\pi_level_zero.dll\n 95360 1 e7364c7c47a730233631c86b1993b2b5098df426 0 game\\bin\\win64\\pi_win_proxy_loader.dll\n 165528 1 8fb641fb82a8e7e70f6c6f683ba73b981cccc873 0 game\\bin\\win64\\resourcecompiler.exe\n- 1479832 2 ee88306dfc4d55150545ecb2c269172d54e86b40 0 game\\bin\\win64\\resourcecopy.exe\n- 3925656 4 79fa01cfc438e65c2bffa4b7e06f6dedb8f0b5b2 0 game\\bin\\win64\\resourceinfo.exe\n- 1511576 2 c5c369b26b718e196d7e8ca38063af69574a1e5a 0 game\\bin\\win64\\smartprops.dll\n- 18281112 19 fda0033b3177971213cc9e0e90a7ac0bff8ac742 0 game\\bin\\win64\\source1import.exe\n+ 1479832 2 da427e2f64c2ba8a3dc34687d82656fb095f97b5 0 game\\bin\\win64\\resourcecopy.exe\n+ 3925656 4 af3704a0daf835577cb996711dba9bfd755b62f0 0 game\\bin\\win64\\resourceinfo.exe\n+ 1511576 2 5166fc0459e04f4c1399ab78760bd23fcc1374bd 0 game\\bin\\win64\\smartprops.dll\n+ 18281112 19 f11c5023e92886cbeb328234a466c3acb06af547 0 game\\bin\\win64\\source1import.exe\n 4600960 5 ee4319b51e4210bb9046ec3ddee39878ab4ad33c 0 game\\bin\\win64\\sycl7.dll\n 319616 1 668b7a5c4c4f9456f73a6014df1b02ae05480195 0 game\\bin\\win64\\tbb12.dll\n 47744 1 6169fdd71db33cc70ef4e8c853edd73571ffc538 0 game\\bin\\win64\\tbbbind.dll\n 47744 1 5e52608c5ff4fffb626a9ab3a81a0913c132fd93 0 game\\bin\\win64\\tbbbind_2_0.dll\n 48768 1 b28a6fd65fe96ff562b07fcbcfe740e63a73604a 0 game\\bin\\win64\\tbbbind_2_5.dll\n- 14937240 15 f0ef2480f60bb6e9dc51d39f7c1438fb090580f9 0 game\\bin\\win64\\toolscenenodes.dll\n- 6680216 7 54df7544ec5c62db5d5665fb1d4d93e3fd3c2715 0 game\\bin\\win64\\tools\\cs2_item_editor.dll\n- 2348184 3 b88d5b6645fd70323781fedbf3278493bc17e4c8 0 game\\bin\\win64\\tools\\cs2_workshop_manager.dll\n- 39611544 39 a0ec8807bcb2012b0a15f083f816256536603c2e 0 game\\bin\\win64\\tools\\hammer.dll\n- 4787352 5 a94d36e185c5af92cdaa77b43e6d3164b93e3b1e 0 game\\bin\\win64\\tools\\met.dll\n- 27271832 27 2bccca8deac7cd9fd2e28071af16763ded581220 0 game\\bin\\win64\\tools\\modeldoc_editor.dll\n- 9320088 9 398d5e8f49b7fed99fc89ebdd4580fb99255e2ec 0 game\\bin\\win64\\tools\\pet.dll\n- 7924888 8 c7729a84c9e833d9ecf7b10bd0bc2847e0db9589 0 game\\bin\\win64\\tools\\postprocessingeditor.dll\n- 13459608 13 ef695e294d8f374b855b2178a1cc57d014ee46d1 0 game\\bin\\win64\\tools\\sfm.dll\n- 1532568 2 3cb34f647837b87d48d4581ef24d8283a803cb2b 0 game\\bin\\win64\\tools\\subrecteditor.dll\n- 3269272 4 ffdd183287816b80b05233abd7261ba3a15221fb 0 game\\bin\\win64\\vrad3.dll\n+ 14937240 15 3186fdb1ad19348d2fdc8150909b4a5c97bcb28c 0 game\\bin\\win64\\toolscenenodes.dll\n+ 6680216 7 d04da3fbc0469caf5cf5c740f7b7a2a47f534b48 0 game\\bin\\win64\\tools\\cs2_item_editor.dll\n+ 2348184 3 264cb8f108565161c07f98a7613501fe214bab9e 0 game\\bin\\win64\\tools\\cs2_workshop_manager.dll\n+ 39611544 39 33f8a100af6c403c134f05b7f51b6acee9ffeda3 0 game\\bin\\win64\\tools\\hammer.dll\n+ 4787352 5 60d9beb0c22f69363f18a07d3bf10288bc9ad742 0 game\\bin\\win64\\tools\\met.dll\n+ 27271832 27 86e536006e7616a8cee816722b2ac49bf46cfbe2 0 game\\bin\\win64\\tools\\modeldoc_editor.dll\n+ 9320088 9 e6e84532df1bd0ad7c2d493d77daf6358fae614e 0 game\\bin\\win64\\tools\\pet.dll\n+ 7924888 8 4dd16fa1eddda0dbfa587915b0283734cf80987b 0 game\\bin\\win64\\tools\\postprocessingeditor.dll\n+ 13459608 13 b324c9a2bd2e57c2201ade4a64e594bd329f12b1 0 game\\bin\\win64\\tools\\sfm.dll\n+ 1532568 2 93859458c875526b6751d47449cfb097dc80f0e5 0 game\\bin\\win64\\tools\\subrecteditor.dll\n+ 3269272 4 809cb8eff22456e59dc5b6198adffc8ffcdf4b39 0 game\\bin\\win64\\vrad3.dll\n 165528 1 c1c90737ec6f5507a45e5beb66308ddb430b8fab 0 game\\bin\\win64\\vrad3.exe\n 74744 1 fdcd0602e39a727985c5b41524c26c5b1f0e4635 0 game\\core\\ai_basenpc.fgd\n 40196 1 0ef10aaa7fb9d6f248ea7b9bed4f676cbb2a769b 0 game\\core\\ai_defaultnpc.fgd\n@@ -687,7 +687,7 @@ Total bytes compressed : 576286240\n 2004 1 5cb2856b8584f65147b80cd8c87e1cbe1c155992 0 game\\core\\postprocessing.fgd\n 423652 1 c5428fef616a47986946d6c793ec643e42b85246 0 game\\core\\readonly_tools_asset_info.bin\n 4922 1 ef927dc90ee64b75629aea8e9b62e8f5dcb0864b 0 game\\core\\vdata_base.fgd\n- 17946264 18 555499df53336fd6e9bb6c2e7a85702220fbeda4 0 game\\csgo\\bin\\win64\\modtools.dll\n+ 17946776 18 5a39ede87a3d07051eef69cbf31e70b649ad7b8a 0 game\\csgo\\bin\\win64\\modtools.dll\n 89997 1 e5c2f5ffa14a73b9d5dbc8e967a7371a505d3df2 0 game\\csgo\\csgo.fgd\n 398843 1 5ccbe56ddcb35b7e10316f10ab5294742a75b391 0 game\\csgo\\import_scripts\\bin\\base.fgd\n 55534 1 d1dd4689259623923344c03ba682713d4427d7b7 0 game\\csgo\\import_scripts\\bin\\csgo.fgd\n@@ -721,7 +721,7 @@ Total bytes compressed : 576286240\n 133435 1 5c5acf7bffba281b1fb2de939a6953c385e26ac3 0 game\\csgo\\lighting\\postprocessing\\editor\\toolsscene_default.vpost_c\n 3823 1 aaa9517703492629cade78571c39f5fdc2c417e3 0 game\\csgo\\models_gamedata.fgd\n 1559 1 ccef3c777e99029f1956e3ad23a718a99fd36d14 0 game\\csgo\\postprocessing.fgd\n- 50760417 51 a1997ec54c03935c14e37f7748fecf207030dc7c 0 game\\csgo\\readonly_tools_asset_info.bin\n+ 50760417 51 2864b89d3750e3547f9063365e334dca0fcd55c5 0 game\\csgo\\readonly_tools_asset_info.bin\n 3009 1 8374c54025aad8c3d4a72b5f7f198d99951b7844 0 game\\csgo\\tools\\cs2_icon_gen\\icon_camera.png\n 2390 1 436ef3b91600906f462a33b9973b3f0955ddf1d6 0 game\\csgo\\tools\\cs2_icon_gen\\icon_item.png\n 2566 1 d78fd6c17e836a35c1cff4b375de7928ea5aea40 0 game\\csgo\\tools\\cs2_icon_gen\\icon_light_fill.png"
},
{
"filename": "manifests/manifest_731.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 731 \n \n-Manifest ID / date : 3579580227224146060 / 10/30/2026 21:03:36 \n+Manifest ID / date : 5799502335586127231 / 11/03/2026 00:24:30 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_732.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 732 \n \n-Manifest ID / date : 4813741465053806363 / 10/30/2026 21:03:43 \n+Manifest ID / date : 4514904948984964204 / 11/03/2026 00:24:37 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_733.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 733 \n \n-Manifest ID / date : 7325926150770753053 / 10/30/2026 21:03:50 \n+Manifest ID / date : 4581807251902851325 / 11/03/2026 00:24:44 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_734.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 734 \n \n-Manifest ID / date : 263743024181583359 / 10/30/2026 21:03:56 \n+Manifest ID / date : 519374194040118223 / 11/03/2026 00:24:50 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_735.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 735 \n \n-Manifest ID / date : 5004729745720806412 / 10/30/2026 21:04:02 \n+Manifest ID / date : 7430157609109467345 / 11/03/2026 00:24:57 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\\bin\\content_built_from_cl.txt"
}
]
},
{
"event_id": "gh:0003758",
"detected_at_utc": "2026-11-13T14:09:50.989Z",
"commit_date_utc": "2026-10-30T22:16:46Z",
"commit": {
"sha": "00037586b57e4f3efabf50076a15ce2a6c2f3004",
"short": "0003758",
"message": "2000939 | 116 files | M\tgame/bin/built_from_cl.txt, M\tgame/csgo/bin/win64/server_strings.txt, M\tgame/csgo/pak01_dir.txt, M\tgame/csgo/pak01_dir/soundevents/music/3kliksphilip_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/adambeyer_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/alrt_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/altare_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/amontobin_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/austinwintory_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/austinwintory_02/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/austinwintory_03/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/austinwintory_04/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/awolnation_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/bbnos_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soun",
"url": "https://github.com/SteamTracking/GameTracking-CS2/commit/00037586b57e4f3efabf50076a15ce2a6c2f3004"
},
"classification": {
"tags": [
"misc",
"content-change"
],
"important_files": []
},
"ai_summary": "General update: “2000939 | 116 files | M\tgame/bin/built_from_cl.txt, M\tgame/csgo/bin/win64/server_strings.txt, M\tgame/csgo/pak01_dir.txt, M\tgame/csgo/pak01_dir/soundevents/music/3kliksphilip_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/adambeyer_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/alrt_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/altare_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/amontobin_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/austinwintory_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/austinwintory_02/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/austinwintory_03/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/austinwintory_04/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/awolnation_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soundevents/music/bbnos_01/game_sounds_music.vsndevts, M\tgame/csgo/pak01_dir/soun” Files touched: game/bin/built_from_cl.txt, game/csgo/bin/win64/server_strings.txt, game/csgo/pak01_dir.txt.",
"stats": {
"files_changed": 116,
"additions": 381,
"deletions": 419
},
"files": [
{
"filename": "game/bin/built_from_cl.txt",
"status": "modified",
"additions": 1,
"deletions": 1,
"changes": 2,
"patch": "@@ -1 +1 @@\n-11180900\n+11191483"
},
{
"filename": "game/csgo/bin/win64/server_strings.txt",
"status": "modified",
"additions": 1,
"deletions": 0,
"changes": 1,
"patch": "@@ -21566,6 +21566,7 @@ camera_path_delete\\n\n camera_path_load\\n\n camera_path_save\\n\n campaign\n+campaign completion bitfield\n campaign_definitions\n can't find SRP server param\n canRemoveVertex: Out of memory 'edges' (%d)."
},
{
"filename": "game/csgo/pak01_dir.txt",
"status": "modified",
"additions": 130,
"deletions": 160,
"changes": 290,
"patch": "@@ -1414,14 +1414,6 @@ animation/anims/viewmodel/rifle/rifle_galilar/lookat01_transfix_galilar.vnmclip_\n animation/anims/viewmodel/rifle/rifle_galilar/reload_galilar.vnmclip_c CRC:002e81444d size:32222\n animation/anims/viewmodel/rifle/rifle_galilar/reload_silent_galilar.vnmclip_c CRC:007be49685 size:57651\n animation/anims/viewmodel/rifle/rifle_galilar/shoot1_galilar.vnmclip_c CRC:0024b715f6 size:12180\n-animation/anims/viewmodel/rifle/rifle_lar/draw_lar.vnmclip_c CRC:00195a603d size:12050\n-animation/anims/viewmodel/rifle/rifle_lar/idle_lar.vnmclip_c CRC:00dd4e78ce size:4327\n-animation/anims/viewmodel/rifle/rifle_lar/ironsight_fidget_lar.vnmclip_c CRC:009c8c4bea size:4353\n-animation/anims/viewmodel/rifle/rifle_lar/ironsight_shoot_lar.vnmclip_c CRC:0020eaa126 size:9624\n-animation/anims/viewmodel/rifle/rifle_lar/lookat01_lar.vnmclip_c CRC:00612040ab size:19900\n-animation/anims/viewmodel/rifle/rifle_lar/reload_lar.vnmclip_c CRC:0072310f73 size:15165\n-animation/anims/viewmodel/rifle/rifle_lar/reload_silent_lar.vnmclip_c CRC:00a7e06c3c size:25769\n-animation/anims/viewmodel/rifle/rifle_lar/shoot1_lar.vnmclip_c CRC:006a09e8a8 size:10602\n animation/anims/viewmodel/rifle/rifle_m249/bullet_hide_m249.vnmclip+non_additive.vnmclip_c CRC:00eb7d47bd size:4631\n animation/anims/viewmodel/rifle/rifle_m249/bullet_hide_m249.vnmclip_c CRC:00ac511261 size:3063\n animation/anims/viewmodel/rifle/rifle_m249/draw_m249.vnmclip_c CRC:0061f41b42 size:18212\n@@ -2622,18 +2614,6 @@ animation/anims/world/rifle/rifle_galilar/reload_galilar.vnmclip_c CRC:007edfa8e\n animation/anims/world/rifle/rifle_galilar/reload_galilar_silent.vnmclip_c CRC:00064d0caa size:36690\n animation/anims/world/rifle/rifle_galilar/shoot_galilar.vnmclip+non_additive.vnmclip_c CRC:009b1495e0 size:13167\n animation/anims/world/rifle/rifle_galilar/shoot_galilar.vnmclip_c CRC:009fa743bb size:12148\n-animation/anims/world/rifle/rifle_lar/draw_crouch_lar.vnmclip_c CRC:00c4e0164b size:13700\n-animation/anims/world/rifle/rifle_lar/draw_lar.vnmclip_c CRC:0076c887ee size:15634\n-animation/anims/world/rifle/rifle_lar/idle_crouch_lar.vnmclip+non_additive.vnmclip_c CRC:002a6cbaeb size:4611\n-animation/anims/world/rifle/rifle_lar/idle_crouch_lar.vnmclip_c CRC:004a4afe19 size:4500\n-animation/anims/world/rifle/rifle_lar/idle_lar.vnmclip+non_additive.vnmclip_c CRC:0075193580 size:4607\n-animation/anims/world/rifle/rifle_lar/idle_lar.vnmclip_c CRC:00bae309e1 size:4429\n-animation/anims/world/rifle/rifle_lar/reload_crouch_lar.vnmclip_c CRC:00ee6855a2 size:25041\n-animation/anims/world/rifle/rifle_lar/reload_crouch_lar_silent.vnmclip_c CRC:006d162091 size:25041\n-animation/anims/world/rifle/rifle_lar/reload_lar.vnmclip_c CRC:00e235493c size:24967\n-animation/anims/world/rifle/rifle_lar/reload_lar_silent.vnmclip_c CRC:00bdca8355 size:24983\n-animation/anims/world/rifle/rifle_lar/shoot_lar.vnmclip+non_additive.vnmclip_c CRC:000f15329a size:10385\n-animation/anims/world/rifle/rifle_lar/shoot_lar.vnmclip_c CRC:003f8279a8 size:9377\n animation/anims/world/rifle/rifle_m249/draw_crouch_m249.vnmclip_c CRC:00fec3b9a7 size:15499\n animation/anims/world/rifle/rifle_m249/draw_m249.vnmclip_c CRC:00b587170e size:14892\n animation/anims/world/rifle/rifle_m249/idle_crouch_m249.vnmclip+non_additive.vnmclip_c CRC:008005a391 size:4572\n@@ -3276,7 +3256,6 @@ animation/skeletons/weapons/knife_stiletto.vnmskel_c CRC:00a7950052 size:1540\n animation/skeletons/weapons/knife_tactical.vnmskel_c CRC:00c7120e9a size:1493\n animation/skeletons/weapons/knife_talon.vnmskel_c CRC:00b191dfab size:1491\n animation/skeletons/weapons/knife_ursus.vnmskel_c CRC:00f9abbf7c size:1464\n-animation/skeletons/weapons/lar.vnmskel_c CRC:001cd323ec size:1689\n animation/skeletons/weapons/m249.vnmskel_c CRC:00ee32cbea size:2976\n animation/skeletons/weapons/m4a1_silencer.vnmskel_c CRC:0012527b96 size:1754\n animation/skeletons/weapons/m4a4.vnmskel_c CRC:00151b57cf size:1658\n@@ -81960,7 +81939,6 @@ panorama/images/econ/weapons/base_weapons/weapon_knife_tactical_png.vtex_c CRC:0\n panorama/images/econ/weapons/base_weapons/weapon_knife_twinblade_png.vtex_c CRC:00c68858dd size:122667\n panorama/images/econ/weapons/base_weapons/weapon_knife_ursus_png.vtex_c CRC:00760b6745 size:115614\n panorama/images/econ/weapons/base_weapons/weapon_knife_widowmaker_png.vtex_c CRC:005841e323 size:146607\n-panorama/images/econ/weapons/base_weapons/weapon_lar_png.vtex_c CRC:004244988f size:78190\n panorama/images/econ/weapons/base_weapons/weapon_m249_png.vtex_c CRC:004ce94674 size:166667\n panorama/images/econ/weapons/base_weapons/weapon_m4a1_png.vtex_c CRC:00ab6dcc85 size:154316\n panorama/images/econ/weapons/base_weapons/weapon_m4a1_silencer_png.vtex_c CRC:00b4030a2b size:88074\n@@ -82224,7 +82202,6 @@ panorama/images/icons/equipment/knife_twinblade.vsvg_c CRC:00e767f94b size:4109\n panorama/images/icons/equipment/knife_ursus.vsvg_c CRC:0083428279 size:8170\n panorama/images/icons/equipment/knife_widowmaker.vsvg_c CRC:0026b8d24c size:3837\n panorama/images/icons/equipment/knifegg.vsvg_c CRC:0029a517f7 size:4239\n-panorama/images/icons/equipment/lar.vsvg_c CRC:005b4c2f2c size:5479\n panorama/images/icons/equipment/m249.vsvg_c CRC:00be3f6faf size:8327\n panorama/images/icons/equipment/m4a1.vsvg_c CRC:00785c5ad4 size:5651\n panorama/images/icons/equipment/m4a1_silencer.vsvg_c CRC:009eada65d size:6212\n@@ -88002,36 +87979,36 @@ pulse/csgo_devonly/de_vertigo_script.vpulse_c CRC:00af116e39 size:4860\n radial_quickinventory.txt CRC:005a0c1bf5 size:1080\n rebuy.txt CRC:008332da3a size:1688\n resource/clientscheme.res CRC:00eb299496 size:14136\n-resource/csgo_brazilian.txt CRC:00a82282a2 size:5024585\n-resource/csgo_bulgarian.txt CRC:00ebe771bd size:7758533\n-resource/csgo_czech.txt CRC:005fe2aa54 size:5096987\n-resource/csgo_danish.txt CRC:000bc32d3d size:5003477\n-resource/csgo_dutch.txt CRC:00973afde0 size:5049304\n+resource/csgo_brazilian.txt CRC:0022c7c9bd size:5024748\n+resource/csgo_bulgarian.txt CRC:00e6aa803c size:7758759\n+resource/csgo_czech.txt CRC:00aa2da1f8 size:5097152\n+resource/csgo_danish.txt CRC:001655e064 size:5003477\n+resource/csgo_dutch.txt CRC:007e635df4 size:5049457\n resource/csgo_english.txt CRC:00a7f600cd size:4878645\n-resource/csgo_finnish.txt CRC:005d413fc3 size:4960257\n-resource/csgo_french.txt CRC:00d2063a7e size:5254356\n-resource/csgo_german.txt CRC:006b195d73 size:5164887\n-resource/csgo_greek.txt CRC:00cd04acb2 size:7151367\n-resource/csgo_hungarian.txt CRC:0028d04f96 size:5078385\n-resource/csgo_indonesian.txt CRC:00cd08196f size:4729034\n-resource/csgo_italian.txt CRC:00e843396f size:5178073\n-resource/csgo_japanese.txt CRC:0015bd64d3 size:5332761\n-resource/csgo_koreana.txt CRC:00753724c5 size:5096308\n-resource/csgo_latam.txt CRC:005efb1433 size:5188121\n-resource/csgo_norwegian.txt CRC:00ea089aaa size:4924516\n-resource/csgo_polish.txt CRC:002378ea91 size:5321400\n-resource/csgo_portuguese.txt CRC:005085ecf4 size:5059708\n-resource/csgo_romanian.txt CRC:006ffb7342 size:5270911\n-resource/csgo_russian.txt CRC:00e2df329d size:6563506\n-resource/csgo_schinese.txt CRC:00e7f44b7d size:4931303\n+resource/csgo_finnish.txt CRC:0040d7f29a size:4960257\n+resource/csgo_french.txt CRC:00cf90f727 size:5254356\n+resource/csgo_german.txt CRC:00768f902a size:5164887\n+resource/csgo_greek.txt CRC:00d09261eb size:7151367\n+resource/csgo_hungarian.txt CRC:0009ea7f21 size:5078539\n+resource/csgo_indonesian.txt CRC:00d09ed436 size:4729034\n+resource/csgo_italian.txt CRC:00f5d5f436 size:5178073\n+resource/csgo_japanese.txt CRC:008a06f43d size:5332955\n+resource/csgo_koreana.txt CRC:0068a1e99c size:5096308\n+resource/csgo_latam.txt CRC:00436dd96a size:5188121\n+resource/csgo_norwegian.txt CRC:00f79e57f3 size:4924516\n+resource/csgo_polish.txt CRC:003eee27c8 size:5321400\n+resource/csgo_portuguese.txt CRC:00ed24ede6 size:5059879\n+resource/csgo_romanian.txt CRC:00726dbe1b size:5270911\n+resource/csgo_russian.txt CRC:00ffa91341 size:6563734\n+resource/csgo_schinese.txt CRC:000d6871a9 size:4931452\n resource/csgo_schinese_pw.txt CRC:0083fe268a size:15645\n-resource/csgo_spanish.txt CRC:00e84d8548 size:5159573\n-resource/csgo_swedish.txt CRC:00a5222d4e size:5031803\n-resource/csgo_tchinese.txt CRC:009fc43dda size:4627815\n-resource/csgo_thai.txt CRC:00e9e74af9 size:8128621\n-resource/csgo_turkish.txt CRC:00193dc7c6 size:5165343\n-resource/csgo_ukrainian.txt CRC:00b68118e5 size:6621012\n-resource/csgo_vietnamese.txt CRC:0085c7489b size:5450532\n+resource/csgo_spanish.txt CRC:00f5db4811 size:5159573\n+resource/csgo_swedish.txt CRC:00b8b4e017 size:5031803\n+resource/csgo_tchinese.txt CRC:008252f083 size:4627815\n+resource/csgo_thai.txt CRC:00f47187a0 size:8128621\n+resource/csgo_turkish.txt CRC:0004ab0a9f size:5165343\n+resource/csgo_ukrainian.txt CRC:00ab17d5bc size:6621012\n+resource/csgo_vietnamese.txt CRC:00985185c2 size:5450532\n resource/game.gameevents CRC:0090de10bc size:9837\n resource/halflife2.vfont CRC:00b064848c size:58000\n resource/mod.gameevents CRC:0035ddf423 size:20770\n@@ -88265,108 +88242,108 @@ soundevents/game_sounds_stopsoundevents.vsndevts_c CRC:00d6805181 size:1193\n soundevents/game_sounds_ui.vsndevts_c CRC:00d0987180 size:28368\n soundevents/game_sounds_weapons.vsndevts_c CRC:003629ddc2 size:50712\n soundevents/game_sounds_world.vsndevts_c CRC:00756a5064 size:6292\n-soundevents/music/3kliksphilip_01/game_sounds_music.vsndevts_c CRC:00e17cc3c1 size:4597\n-soundevents/music/adambeyer_01/game_sounds_music.vsndevts_c CRC:00d073883c size:3999\n-soundevents/music/alrt_01/game_sounds_music.vsndevts_c CRC:00077a5f17 size:4293\n-soundevents/music/altare_01/game_sounds_music.vsndevts_c CRC:00d1108040 size:4004\n-soundevents/music/amontobin_01/game_sounds_music.vsndevts_c CRC:008445c8ab size:4185\n-soundevents/music/austinwintory_01/game_sounds_music.vsndevts_c CRC:0052dcf8da size:4038\n-soundevents/music/austinwintory_02/game_sounds_music.vsndevts_c CRC:0095c0e93e size:4004\n-soundevents/music/austinwintory_03/game_sounds_music.vsndevts_c CRC:0069739b86 size:3955\n-soundevents/music/austinwintory_04/game_sounds_music.vsndevts_c CRC:0089d00749 size:3999\n-soundevents/music/awolnation_01/game_sounds_music.vsndevts_c CRC:007c7353a4 size:4189\n-soundevents/music/bbnos_01/game_sounds_music.vsndevts_c CRC:00d4a61f6a size:3826\n-soundevents/music/beartooth_01/game_sounds_music.vsndevts_c CRC:00649de003 size:4078\n-soundevents/music/beartooth_02/game_sounds_music.vsndevts_c CRC:0083b20c2f size:4027\n-soundevents/music/benbromfield_01/game_sounds_music.vsndevts_c CRC:006e8f013c size:3981\n-soundevents/music/blitzkids_01/game_sounds_music.vsndevts_c CRC:0083981c37 size:4074\n-soundevents/music/borne_01/game_sounds_music.vsndevts_c CRC:0014c04994 size:4140\n-soundevents/music/chipzel_01/game_sounds_music.vsndevts_c CRC:004f5ed2ac size:3817\n-soundevents/music/damjanmravunac_01/game_sounds_music.vsndevts_c CRC:003c0334b7 size:4143\n-soundevents/music/danielsadowski_01/game_sounds_music.vsndevts_c CRC:003cb0f6a7 size:3833\n-soundevents/music/danielsadowski_02/game_sounds_music.vsndevts_c CRC:007ead238f size:3833\n-soundevents/music/danielsadowski_03/game_sounds_music.vsndevts_c CRC:0028f85928 size:3939\n-soundevents/music/danielsadowski_04/game_sounds_music.vsndevts_c CRC:00aba26504 size:3858\n-soundevents/music/danielsadowski_05/game_sounds_music.vsndevts_c CRC:0049d91cd7 size:3809\n-soundevents/music/darude_01/game_sounds_music.vsndevts_c CRC:00d6813173 size:4026\n-soundevents/music/denzelcurry_01/game_sounds_music.vsndevts_c CRC:00120be127 size:4114\n-soundevents/music/dren_01/game_sounds_music.vsndevts_c CRC:00e0ac049c size:4134\n-soundevents/music/dren_02/game_sounds_music.vsndevts_c CRC:00b7bcfa41 size:4206\n-soundevents/music/dren_03/game_sounds_music.vsndevts_c CRC:00fe8be7fb size:4041\n-soundevents/music/dryden_01/game_sounds_music.vsndevts_c CRC:0060a8add0 size:3846\n-soundevents/music/feedme_01/game_sounds_music.vsndevts_c CRC:00a484f37f size:3916\n-soundevents/music/freakydna_01/game_sounds_music.vsndevts_c CRC:004f9bba64 size:4050\n-soundevents/music/ghost_01/game_sounds_music.vsndevts_c CRC:00359d2569 size:3980\n-soundevents/music/hades_01/game_sounds_music.vsndevts_c CRC:00bfc19003 size:4207\n-soundevents/music/halo_01/game_sounds_music.vsndevts_c CRC:00ae1a18cf size:4035\n-soundevents/music/health_01/game_sounds_music.vsndevts_c CRC:002c7e5d51 size:3917\n-soundevents/music/hlalyx_01/game_sounds_music.vsndevts_c CRC:00a3ac22c7 size:3122\n-soundevents/music/hlb_01/game_sounds_music.vsndevts_c CRC:00a5d77e49 size:4108\n-soundevents/music/hotlinemiami_01/game_sounds_music.vsndevts_c CRC:004116bb44 size:4268\n-soundevents/music/hundredth_01/game_sounds_music.vsndevts_c CRC:00a7d3bf60 size:4283\n-soundevents/music/ianhultquist_01/game_sounds_music.vsndevts_c CRC:00ec028f97 size:4074\n-soundevents/music/isoxo_01/game_sounds_music.vsndevts_c CRC:0026807e36 size:3914\n-soundevents/music/jamesandthecoldgun_01/game_sounds_music.vsndevts_c CRC:0006ac8e42 size:4027\n-soundevents/music/jesseharlin_01/game_sounds_music.vsndevts_c CRC:003e6761f1 size:3883\n-soundevents/music/jonathanyoung_01/game_sounds_music.vsndevts_c CRC:00502f4e8e size:3832\n-soundevents/music/juelz_01/game_sounds_music.vsndevts_c CRC:00005095e1 size:4031\n-soundevents/music/juelz_02/game_sounds_music.vsndevts_c CRC:00cdcda320 size:4112\n-soundevents/music/kellybailey_01/game_sounds_music.vsndevts_c CRC:0076bf1c05 size:3921\n-soundevents/music/killermike_01/game_sounds_music.vsndevts_c CRC:00ce189c63 size:3903\n-soundevents/music/killscript_01/game_sounds_music.vsndevts_c CRC:001b37b2e1 size:3849\n-soundevents/music/kitheory_01/game_sounds_music.vsndevts_c CRC:00d5926e53 size:3872\n-soundevents/music/knock2_01/game_sounds_music.vsndevts_c CRC:00b98a46bf size:3886\n-soundevents/music/knock2_02/game_sounds_music.vsndevts_c CRC:004d159f64 size:3923\n-soundevents/music/laurashigihara_01/game_sounds_music.vsndevts_c CRC:00f925df2d size:4072\n-soundevents/music/lenniemoore_01/game_sounds_music.vsndevts_c CRC:0002a5468c size:4324\n-soundevents/music/mateomessina_01/game_sounds_music.vsndevts_c CRC:00ce613d04 size:4133\n-soundevents/music/mattlange_01/game_sounds_music.vsndevts_c CRC:00a47e8e4f size:3916\n-soundevents/music/mattlevine_01/game_sounds_music.vsndevts_c CRC:009e74a9a3 size:4055\n-soundevents/music/mattlevine_02/game_sounds_music.vsndevts_c CRC:00929421b1 size:4062\n-soundevents/music/meechydarko_01/game_sounds_music.vsndevts_c CRC:002c6f216b size:4158\n-soundevents/music/michaelbross_01/game_sounds_music.vsndevts_c CRC:00467977b8 size:3873\n-soundevents/music/midnightriders_01/game_sounds_music.vsndevts_c CRC:003befb5f4 size:4076\n-soundevents/music/mordfustang_01/game_sounds_music.vsndevts_c CRC:00c8875ada size:3931\n-soundevents/music/neckdeep_01/game_sounds_music.vsndevts_c CRC:00f361cb64 size:4206\n-soundevents/music/neckdeep_02/game_sounds_music.vsndevts_c CRC:008b925735 size:4359\n-soundevents/music/newbeatfund_01/game_sounds_music.vsndevts_c CRC:0076684d86 size:4053\n-soundevents/music/noisia_01/game_sounds_music.vsndevts_c CRC:0052b1f913 size:4011\n-soundevents/music/perfectworld_01/game_sounds_music.vsndevts_c CRC:000d4cc02d size:3846\n-soundevents/music/perfectworld_02/game_sounds_music.vsndevts_c CRC:009326fcd0 size:3901\n-soundevents/music/pirapus_01/game_sounds_music.vsndevts_c CRC:0026307603 size:4050\n-soundevents/music/proxy_01/game_sounds_music.vsndevts_c CRC:00464544ef size:4128\n-soundevents/music/pvris_01/game_sounds_music.vsndevts_c CRC:0044a47740 size:4314\n-soundevents/music/radcat_01/game_sounds_music.vsndevts_c CRC:00e120424d size:3889\n-soundevents/music/repiet_01/game_sounds_music.vsndevts_c CRC:00acdc844d size:4076\n-soundevents/music/roam_01/game_sounds_music.vsndevts_c CRC:0037a56337 size:4173\n-soundevents/music/robertallaire_01/game_sounds_music.vsndevts_c CRC:00b0007752 size:4277\n-soundevents/music/sammarshall_01/game_sounds_music.vsndevts_c CRC:002a81d7d8 size:3961\n-soundevents/music/sammarshall_02/game_sounds_music.vsndevts_c CRC:007447b1b6 size:4144\n-soundevents/music/sarahschachner_01/game_sounds_music.vsndevts_c CRC:00ae709e0f size:3954\n-soundevents/music/sasha_01/game_sounds_music.vsndevts_c CRC:0081561582 size:3804\n-soundevents/music/scarlxrd_01/game_sounds_music.vsndevts_c CRC:00a38e7f4a size:3845\n-soundevents/music/scarlxrd_02/game_sounds_music.vsndevts_c CRC:0029b15909 size:3977\n-soundevents/music/seanmurray_01/game_sounds_music.vsndevts_c CRC:0023bc9d3f size:4070\n-soundevents/music/selectiveresponse_01/game_sounds_music.vsndevts_c CRC:004a65645b size:3951\n-soundevents/music/shockone_01/game_sounds_music.vsndevts_c CRC:00ea1208f0 size:4002\n-soundevents/music/skog_01/game_sounds_music.vsndevts_c CRC:0029303ade size:4209\n-soundevents/music/skog_02/game_sounds_music.vsndevts_c CRC:0086f5fdd7 size:3981\n-soundevents/music/skog_03/game_sounds_music.vsndevts_c CRC:000b2e4d42 size:3829\n-soundevents/music/starjunk95_01/game_sounds_music.vsndevts_c CRC:00e8654d14 size:4295\n-soundevents/music/sullivanking_01/game_sounds_music.vsndevts_c CRC:00ed0333af size:4047\n-soundevents/music/theverkkars_01/game_sounds_music.vsndevts_c CRC:00189ff4d0 size:4039\n-soundevents/music/theverkkars_02/game_sounds_music.vsndevts_c CRC:00ea764f80 size:4096\n-soundevents/music/tigercub_01/game_sounds_music.vsndevts_c CRC:00dd1f0587 size:3818\n-soundevents/music/timhuling_01/game_sounds_music.vsndevts_c CRC:000de04cda size:4034\n-soundevents/music/timhuling_02/game_sounds_music.vsndevts_c CRC:00485e64c0 size:4042\n-soundevents/music/treeadams_01/game_sounds_music.vsndevts_c CRC:00b936701c size:3895\n-soundevents/music/treeadams_benbromfield_01/game_sounds_music.vsndevts_c CRC:002490202d size:4170\n-soundevents/music/troelsfolmann_01/game_sounds_music.vsndevts_c CRC:0023bdb4a1 size:4031\n-soundevents/music/twerl_01/game_sounds_music.vsndevts_c CRC:003c6f8667 size:3850\n-soundevents/music/twinatlantic_01/game_sounds_music.vsndevts_c CRC:0099347cee size:4197\n-soundevents/music/valve_01/game_sounds_music.vsndevts_c CRC:00119cbc38 size:3367\n-soundevents/music/valve_02/game_sounds_music.vsndevts_c CRC:00e3e778af size:3141\n-soundevents/music/valve_cs2_01/game_sounds_music.vsndevts_c CRC:00a60c5198 size:3920\n+soundevents/music/3kliksphilip_01/game_sounds_music.vsndevts_c CRC:00776a2ada size:4597\n+soundevents/music/adambeyer_01/game_sounds_music.vsndevts_c CRC:0059e4ee95 size:3999\n+soundevents/music/alrt_01/game_sounds_music.vsndevts_c CRC:00d5208f76 size:4293\n+soundevents/music/altare_01/game_sounds_music.vsndevts_c CRC:00f0d32ac2 size:4004\n+soundevents/music/amontobin_01/game_sounds_music.vsndevts_c CRC:00e345c17e size:4185\n+soundevents/music/austinwintory_01/game_sounds_music.vsndevts_c CRC:00c1b86e6f size:4038\n+soundevents/music/austinwintory_02/game_sounds_music.vsndevts_c CRC:00f4002576 size:4004\n+soundevents/music/austinwintory_03/game_sounds_music.vsndevts_c CRC:00f740c8fd size:3955\n+soundevents/music/austinwintory_04/game_sounds_music.vsndevts_c CRC:008ce0c1b1 size:3999\n+soundevents/music/awolnation_01/game_sounds_music.vsndevts_c CRC:006594357c size:4189\n+soundevents/music/bbnos_01/game_sounds_music.vsndevts_c CRC:007005f629 size:3826\n+soundevents/music/beartooth_01/game_sounds_music.vsndevts_c CRC:00441880be size:4078\n+soundevents/music/beartooth_02/game_sounds_music.vsndevts_c CRC:00006cc5c5 size:4027\n+soundevents/music/benbromfield_01/game_sounds_music.vsndevts_c CRC:00e4727f4f size:3981\n+soundevents/music/blitzkids_01/game_sounds_music.vsndevts_c CRC:00dc606b17 size:4074\n+soundevents/music/borne_01/game_sounds_music.vsndevts_c CRC:00fa1071fa size:4156\n+soundevents/music/chipzel_01/game_sounds_music.vsndevts_c CRC:001529e21f size:3817\n+soundevents/music/damjanmravunac_01/game_sounds_music.vsndevts_c CRC:0090c0fbe4 size:4143\n+soundevents/music/danielsadowski_01/game_sounds_music.vsndevts_c CRC:0034299d1e size:3833\n+soundevents/music/danielsadowski_02/game_sounds_music.vsndevts_c CRC:005ae7f251 size:3833\n+soundevents/music/danielsadowski_03/game_sounds_music.vsndevts_c CRC:002b6d658c size:3939\n+soundevents/music/danielsadowski_04/game_sounds_music.vsndevts_c CRC:008185ece0 size:3858\n+soundevents/music/danielsadowski_05/game_sounds_music.vsndevts_c CRC:00200e99ea size:3809\n+soundevents/music/darude_01/game_sounds_music.vsndevts_c CRC:00b041213b size:4026\n+soundevents/music/denzelcurry_01/game_sounds_music.vsndevts_c CRC:003161c347 size:4114\n+soundevents/music/dren_01/game_sounds_music.vsndevts_c CRC:00a4330bce size:4134\n+soundevents/music/dren_02/game_sounds_music.vsndevts_c CRC:00e182be9f size:4206\n+soundevents/music/dren_03/game_sounds_music.vsndevts_c CRC:00fd97865b size:4041\n+soundevents/music/dryden_01/game_sounds_music.vsndevts_c CRC:0014642fbc size:3846\n+soundevents/music/feedme_01/game_sounds_music.vsndevts_c CRC:00544f22c8 size:3916\n+soundevents/music/freakydna_01/game_sounds_music.vsndevts_c CRC:0040122f80 size:4050\n+soundevents/music/ghost_01/game_sounds_music.vsndevts_c CRC:00c3366a28 size:3980\n+soundevents/music/hades_01/game_sounds_music.vsndevts_c CRC:00d947b718 size:4207\n+soundevents/music/halo_01/game_sounds_music.vsndevts_c CRC:00a5eae6e8 size:4035\n+soundevents/music/health_01/game_sounds_music.vsndevts_c CRC:008b320444 size:3917\n+soundevents/music/hlalyx_01/game_sounds_music.vsndevts_c CRC:00d690e8df size:3122\n+soundevents/music/hlb_01/game_sounds_music.vsndevts_c CRC:0026ddf3b7 size:4108\n+soundevents/music/hotlinemiami_01/game_sounds_music.vsndevts_c CRC:00633df5a4 size:4268\n+soundevents/music/hundredth_01/game_sounds_music.vsndevts_c CRC:000115086d size:4283\n+soundevents/music/ianhultquist_01/game_sounds_music.vsndevts_c CRC:00b101cc43 size:4074\n+soundevents/music/isoxo_01/game_sounds_music.vsndevts_c CRC:006dff4bf6 size:3914\n+soundevents/music/jamesandthecoldgun_01/game_sounds_music.vsndevts_c CRC:00cef4edee size:4027\n+soundevents/music/jesseharlin_01/game_sounds_music.vsndevts_c CRC:007544b555 size:3883\n+soundevents/music/jonathanyoung_01/game_sounds_music.vsndevts_c CRC:009be05054 size:3832\n+soundevents/music/juelz_01/game_sounds_music.vsndevts_c CRC:0087a99726 size:4031\n+soundevents/music/juelz_02/game_sounds_music.vsndevts_c CRC:00851878bb size:4112\n+soundevents/music/kellybailey_01/game_sounds_music.vsndevts_c CRC:00192fea8c size:3921\n+soundevents/music/killermike_01/game_sounds_music.vsndevts_c CRC:00b30c6e1a size:3903\n+soundevents/music/killscript_01/game_sounds_music.vsndevts_c CRC:00d57837a6 size:3849\n+soundevents/music/kitheory_01/game_sounds_music.vsndevts_c CRC:00dea0c9ca size:3872\n+soundevents/music/knock2_01/game_sounds_music.vsndevts_c CRC:0090ef6145 size:3886\n+soundevents/music/knock2_02/game_sounds_music.vsndevts_c CRC:00a0466ece size:3923\n+soundevents/music/laurashigihara_01/game_sounds_music.vsndevts_c CRC:005e2262e8 size:4072\n+soundevents/music/lenniemoore_01/game_sounds_music.vsndevts_c CRC:00d7bf7ae7 size:4324\n+soundevents/music/mateomessina_01/game_sounds_music.vsndevts_c CRC:001a654fe1 size:4133\n+soundevents/music/mattlange_01/game_sounds_music.vsndevts_c CRC:00b03558eb size:3916\n+soundevents/music/mattlevine_01/game_sounds_music.vsndevts_c CRC:000bb46a31 size:4055\n+soundevents/music/mattlevine_02/game_sounds_music.vsndevts_c CRC:0084207aa8 size:4062\n+soundevents/music/meechydarko_01/game_sounds_music.vsndevts_c CRC:0018ec467d size:4158\n+soundevents/music/michaelbross_01/game_sounds_music.vsndevts_c CRC:0038661537 size:3873\n+soundevents/music/midnightriders_01/game_sounds_music.vsndevts_c CRC:001d920b9a size:4076\n+soundevents/music/mordfustang_01/game_sounds_music.vsndevts_c CRC:006f35835e size:3931\n+soundevents/music/neckdeep_01/game_sounds_music.vsndevts_c CRC:001059f303 size:4206\n+soundevents/music/neckdeep_02/game_sounds_music.vsndevts_c CRC:00bdf64004 size:4359\n+soundevents/music/newbeatfund_01/game_sounds_music.vsndevts_c CRC:0002c4d404 size:4053\n+soundevents/music/noisia_01/game_sounds_music.vsndevts_c CRC:0025e23fe7 size:4011\n+soundevents/music/perfectworld_01/game_sounds_music.vsndevts_c CRC:0099d0a703 size:3846\n+soundevents/music/perfectworld_02/game_sounds_music.vsndevts_c CRC:00a939a2ad size:3901\n+soundevents/music/pirapus_01/game_sounds_music.vsndevts_c CRC:00381f963b size:4050\n+soundevents/music/proxy_01/game_sounds_music.vsndevts_c CRC:0078f5ea9f size:4128\n+soundevents/music/pvris_01/game_sounds_music.vsndevts_c CRC:008971ec4d size:4314\n+soundevents/music/radcat_01/game_sounds_music.vsndevts_c CRC:0043f822b5 size:3889\n+soundevents/music/repiet_01/game_sounds_music.vsndevts_c CRC:006678ad8a size:4076\n+soundevents/music/roam_01/game_sounds_music.vsndevts_c CRC:008389925f size:4173\n+soundevents/music/robertallaire_01/game_sounds_music.vsndevts_c CRC:00d51472bc size:4277\n+soundevents/music/sammarshall_01/game_sounds_music.vsndevts_c CRC:0059874202 size:3961\n+soundevents/music/sammarshall_02/game_sounds_music.vsndevts_c CRC:007694799e size:4144\n+soundevents/music/sarahschachner_01/game_sounds_music.vsndevts_c CRC:0052e4163c size:3954\n+soundevents/music/sasha_01/game_sounds_music.vsndevts_c CRC:00b85c25cc size:3804\n+soundevents/music/scarlxrd_01/game_sounds_music.vsndevts_c CRC:00b507826f size:3845\n+soundevents/music/scarlxrd_02/game_sounds_music.vsndevts_c CRC:00c9eceead size:3993\n+soundevents/music/seanmurray_01/game_sounds_music.vsndevts_c CRC:008d899837 size:4070\n+soundevents/music/selectiveresponse_01/game_sounds_music.vsndevts_c CRC:00753b6612 size:3951\n+soundevents/music/shockone_01/game_sounds_music.vsndevts_c CRC:0015a756c2 size:4002\n+soundevents/music/skog_01/game_sounds_music.vsndevts_c CRC:00c29b735d size:4209\n+soundevents/music/skog_02/game_sounds_music.vsndevts_c CRC:0078daf83a size:3981\n+soundevents/music/skog_03/game_sounds_music.vsndevts_c CRC:0057ed2d35 size:3829\n+soundevents/music/starjunk95_01/game_sounds_music.vsndevts_c CRC:00d11e9ff3 size:4295\n+soundevents/music/sullivanking_01/game_sounds_music.vsndevts_c CRC:00dd6e9603 size:4031\n+soundevents/music/theverkkars_01/game_sounds_music.vsndevts_c CRC:005d89f5b8 size:4039\n+soundevents/music/theverkkars_02/game_sounds_music.vsndevts_c CRC:00d8dc3b1d size:4096\n+soundevents/music/tigercub_01/game_sounds_music.vsndevts_c CRC:002d75ea0c size:3818\n+soundevents/music/timhuling_01/game_sounds_music.vsndevts_c CRC:002378d737 size:4034\n+soundevents/music/timhuling_02/game_sounds_music.vsndevts_c CRC:000409db09 size:4042\n+soundevents/music/treeadams_01/game_sounds_music.vsndevts_c CRC:008c7d8c7a size:3895\n+soundevents/music/treeadams_benbromfield_01/game_sounds_music.vsndevts_c CRC:00a664c49b size:4170\n+soundevents/music/troelsfolmann_01/game_sounds_music.vsndevts_c CRC:00376742a4 size:4031\n+soundevents/music/twerl_01/game_sounds_music.vsndevts_c CRC:00d3fafcf7 size:3850\n+soundevents/music/twinatlantic_01/game_sounds_music.vsndevts_c CRC:00a22e3dc8 size:4197\n+soundevents/music/valve_01/game_sounds_music.vsndevts_c CRC:004a9e237d size:3367\n+soundevents/music/valve_02/game_sounds_music.vsndevts_c CRC:00010b09bc size:3141\n+soundevents/music/valve_cs2_01/game_sounds_music.vsndevts_c CRC:00bec3ffd5 size:3920\n soundevents/soundevents_from_tools.vsndevts_c CRC:00a0f1a071 size:942\n soundevents/soundevents_manifest.vrman_c CRC:0079a0a6ca size:23877\n soundevents/soundevents_manifest_csgo_imported.vrman_c CRC:00239a171a size:712\n@@ -135977,13 +135954,6 @@ weapons/models/knife/knife_ursus/materials/composite_inputs/knife_ursus_pos_pfm_\n weapons/models/knife/knife_ursus/materials/composite_inputs/knife_ursus_surface_tga_ad201805.vtex_c CRC:0033c08ae7 size:554767\n weapons/models/knife/knife_ursus/materials/weapon_knife_ursus.vmat_c CRC:00c660f578 size:3832\n weapons/models/knife/knife_ursus/weapon_knife_ursus.vmdl_c CRC:001d21284c size:83447\n-weapons/models/lar/materials/weapon_rif_lar.vmat_c CRC:00dd005dd3 size:7476\n-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_albedo_jpg_a9420be9.vtex_c CRC:0006e63f39 size:3507116\n-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_emissive_jpg_9d61adb2.vtex_c CRC:003a925511 size:61547\n-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_normal_png_419b046c.vtex_c CRC:00a304009f size:4881460\n-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_roughness_jpg_55597ce4.vtex_c CRC:00b49da714 size:3653534\n-weapons/models/lar/mesh/fbx/do_not_ship/lar_temp.vmat_c CRC:005542aa01 size:4324\n-weapons/models/lar/weapon_rif_lar.vmdl_c CRC:00c47aa6cf size:1326175\n weapons/models/m249/materials/composite_inputs/m249_substrate_color_psd_833b9c73.vtex_c CRC:004df43269 size:4512366\n weapons/models/m249/materials/composite_inputs/weapon_mach_m249_cavity_psd_a55d713.vtex_c CRC:000fa7b910 size:788553\n weapons/models/m249/materials/composite_inputs/weapon_mach_m249_composite_inputs.vmat_c CRC:00e5c9f686 size:3849"
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/3kliksphilip_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -400,7 +400,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -425,7 +425,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/adambeyer_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -334,7 +334,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -359,7 +359,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/alrt_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -370,7 +370,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -395,7 +395,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/altare_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/amontobin_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -403,7 +403,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -428,7 +428,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/austinwintory_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -355,7 +355,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/austinwintory_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/austinwintory_03/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/austinwintory_04/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/awolnation_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -364,7 +364,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -389,7 +389,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/bbnos_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -302,7 +302,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -327,7 +327,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/beartooth_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/beartooth_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/benbromfield_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -306,7 +306,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -331,7 +331,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/blitzkids_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -339,7 +339,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -364,7 +364,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/borne_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -370,7 +370,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -395,7 +395,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/chipzel_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -302,7 +302,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -327,7 +327,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/damjanmravunac_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -339,7 +339,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -364,7 +364,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/danielsadowski_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -305,7 +305,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/danielsadowski_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -308,7 +308,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/danielsadowski_03/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -308,7 +308,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/danielsadowski_04/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -305,7 +305,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/danielsadowski_05/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -302,7 +302,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -327,7 +327,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/darude_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -367,7 +367,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -392,7 +392,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/denzelcurry_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -346,7 +346,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -371,7 +371,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/dren_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -383,7 +383,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/dren_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -367,7 +367,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -392,7 +392,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/dren_03/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -383,7 +383,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/dryden_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -334,7 +334,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -359,7 +359,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/feedme_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -306,7 +306,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -331,7 +331,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/freakydna_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -370,7 +370,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -395,7 +395,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/ghost_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -322,7 +322,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -347,7 +347,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/hades_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -349,7 +349,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -374,7 +374,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/halo_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/health_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -318,7 +318,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -343,7 +343,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/hlalyx_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -351,7 +351,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -375,7 +375,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/hlb_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -367,7 +367,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -392,7 +392,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/hotlinemiami_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -351,7 +351,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -376,7 +376,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/hundredth_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -370,7 +370,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -395,7 +395,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/ianhultquist_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -367,7 +367,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -392,7 +392,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/isoxo_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/jamesandthecoldgun_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/jesseharlin_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -308,7 +308,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/jonathanyoung_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -302,7 +302,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -327,7 +327,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/juelz_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/juelz_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -334,7 +334,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -359,7 +359,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/kellybailey_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -306,7 +306,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -331,7 +331,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/killermike_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -318,7 +318,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -343,7 +343,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/killscript_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -306,7 +306,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -331,7 +331,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/kitheory_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -305,7 +305,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/knock2_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -309,7 +309,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -334,7 +334,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/knock2_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -355,7 +355,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/laurashigihara_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -383,7 +383,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/lenniemoore_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -376,7 +376,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -401,7 +401,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/mateomessina_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -376,7 +376,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -401,7 +401,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/mattlange_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -309,7 +309,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -334,7 +334,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/mattlevine_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -367,7 +367,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -392,7 +392,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/mattlevine_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -383,7 +383,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/meechydarko_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -346,7 +346,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -371,7 +371,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/michaelbross_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -305,7 +305,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/midnightriders_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/mordfustang_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/neckdeep_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -386,7 +386,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/neckdeep_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -379,7 +379,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -404,7 +404,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/newbeatfund_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/noisia_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -348,7 +348,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -373,7 +373,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/perfectworld_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -305,7 +305,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/perfectworld_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -326,7 +326,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -351,7 +351,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/pirapus_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/proxy_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -339,7 +339,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -364,7 +364,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/pvris_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -376,7 +376,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -401,7 +401,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/radcat_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/repiet_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -357,7 +357,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -382,7 +382,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/roam_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -364,7 +364,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -389,7 +389,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/robertallaire_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -354,7 +354,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -379,7 +379,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/sammarshall_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -348,7 +348,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -373,7 +373,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/sammarshall_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -376,7 +376,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -401,7 +401,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/sarahschachner_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -334,7 +334,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -359,7 +359,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/sasha_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -302,7 +302,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -327,7 +327,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/scarlxrd_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -302,7 +302,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -327,7 +327,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/scarlxrd_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -313,7 +313,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -338,7 +338,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/seanmurray_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -355,7 +355,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/selectiveresponse_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/shockone_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/skog_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -354,7 +354,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -379,7 +379,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/skog_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -320,7 +320,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -345,7 +345,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/skog_03/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -308,7 +308,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/starjunk95_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -367,7 +367,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -392,7 +392,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/sullivanking_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/theverkkars_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -355,7 +355,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/theverkkars_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -336,7 +336,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -361,7 +361,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/tigercub_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -302,7 +302,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -327,7 +327,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/timhuling_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -367,7 +367,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -392,7 +392,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/timhuling_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -322,7 +322,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -347,7 +347,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/treeadams_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -306,7 +306,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -331,7 +331,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/treeadams_benbromfield_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -342,7 +342,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -367,7 +367,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/troelsfolmann_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -333,7 +333,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -358,7 +358,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/twerl_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -330,7 +330,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -355,7 +355,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/twinatlantic_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -364,7 +364,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -389,7 +389,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/valve_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -352,7 +352,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -376,7 +376,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/valve_02/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -298,7 +298,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -322,7 +322,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/pak01_dir/soundevents/music/valve_cs2_01/game_sounds_music.vsndevts",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -312,7 +312,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\"\n@@ -337,7 +337,7 @@\n \t\tpriority = 4.0\n \t\tstop_music_except_mvp = \"true\"\n \t\tvolume_fade_out_input_max = 1.6\n-\t\tloop_track = \"true\"\n+\t\tloop_track = \"false\"\n \t\tshould_queue_track = \"true\"\n \t\tskip_if_muted = \"true\"\n \t\ttest_mvp_block = \"true\""
},
{
"filename": "game/csgo/readonly_tools_asset_info.txt",
"status": "modified",
"additions": 0,
"deletions": 9,
"changes": 9,
"patch": "@@ -134920,15 +134920,6 @@ sounds/graphs/reverb_6_largeroom.vsnd\n sounds/graphs/reverb_7_mediumhall.vsnd\n sounds/graphs/reverb_8_mediumcarpetroom.vsnd\n sounds/graphs/reverb_9_mediumchamber.vsnd\n-panorama/images/icons/equipment/lar.vsvg\n panorama/layout/hud/hudmutators.vxml\n panorama/styles/hud/hudmutators.vcss\n sounds/graphs/bighead_pitch.vsnd\n-weapons/models/lar/weapon_rif_lar.vmdl\n-weapons/models/lar/materials/weapon_rif_lar.vmat\n-weapons/models/lar/mesh/fbx/do_not_ship/lar_temp.vmat\n-panorama/images/econ/weapons/base_weapons/weapon_lar_png.vtex\n-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_albedo_jpg_a9420be9.vtex\n-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_emissive_jpg_9d61adb2.vtex\n-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_normal_png_419b046c.vtex\n-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_roughness_jpg_55597ce4.vtex"
},
{
"filename": "game/csgo/steam.inf",
"status": "modified",
"additions": 6,
"deletions": 6,
"changes": 12,
"patch": "@@ -1,9 +1,9 @@\n-ClientVersion=2000938\n-ServerVersion=2000938\n-PatchVersion=1.41.9.3\n+ClientVersion=2000939\n+ServerVersion=2000939\n+PatchVersion=1.41.9.4\n ProductName=cs2\n appID=730\n ServerAppID=2347773\n-SourceRevision=11181008\n-VersionDate=Oct 28 2026\n-VersionTime=13:49:20\n+SourceRevision=11191540\n+VersionDate=Oct 30 2026\n+VersionTime=13:55:25"
},
{
"filename": "manifests/manifest_2347770.txt",
"status": "modified",
"additions": 12,
"deletions": 12,
"changes": 24,
"patch": "@@ -1,16 +1,16 @@\n Content Manifest for Depot 2347770 \n \n-Manifest ID / date : 8833146750479675564 / 10/28/2026 20:57:52 \n+Manifest ID / date : 6694633556888099985 / 10/30/2026 21:05:03 \n Total number of files : 2992 \n-Total number of chunks : 65074 \n-Total bytes on disk : 65065602283 \n-Total bytes compressed : 55586326720 \n+Total number of chunks : 65063 \n+Total bytes on disk : 65051805863 \n+Total bytes compressed : 55573428128 \n \n \n Size Chunks File SHA Flags Name\n- 10 1 cbdd67858201fbb67a3af7ec944ee3d8137ade56 0 game\\bin\\built_from_cl.txt\n- 10347 1 e50c5dc3f0367da59129c5be7332559bd2fc0918 0 game\\bin\\win64\\csgo.signatures\n- 8941 1 97782ee451748c773a7732f9fb410892906422a3 0 game\\bin\\win64\\vpk.signatures\n+ 10 1 2d6149740ea5c8f6b2d653ccf3f38a0d2a294ac3 0 game\\bin\\built_from_cl.txt\n+ 10347 1 cf297ff72b6c1648a9cecd8868cfac716c658e3c 0 game\\bin\\win64\\csgo.signatures\n+ 8941 1 ec38742284e7338bb190a5eb2ff6f77c2a534438 0 game\\bin\\win64\\vpk.signatures\n 51357 1 0f5112698b482f8c1190c89192a4c0c8b0e50198 0 game\\core\\cfg\\sfm_default_animation_groups.vcfg\n 2270 1 ab4e0ee92367ba6d28a89dae8f6000631ffdb641 0 game\\core\\cfg\\user_keys_default.vcfg\n 2474 1 c4ff2f85048812f02c2403b0675208acfc00c7b0 0 game\\core\\gameinfo.gi\n@@ -2438,7 +2438,7 @@ Total bytes compressed : 55586326720\n 118404050 113 796c7932cfeb6772b51013f28bd99bfdfb40483d 0 game\\csgo\\pak01_033.vpk\n 116169795 111 e382335666c33007e4a346ded29843a08e8656eb 0 game\\csgo\\pak01_034.vpk\n 104201764 102 d897179aaadd2b0de26e19afe39037903f6f424a 0 game\\csgo\\pak01_035.vpk\n- 106521791 129 37f5f0b02681e7ffa2052a4b139680303910cf18 0 game\\csgo\\pak01_036.vpk\n+ 105234684 129 3493b2d21b1aecc2a0b56c7338a9fcc06f512e91 0 game\\csgo\\pak01_036.vpk\n 109137813 105 c1c5d1aeea369e80997338b7f41f8cadb17bbfdb 0 game\\csgo\\pak01_037.vpk\n 116538440 112 cf02841fa129fbb93933f539cc8ae0fcb54de2d9 0 game\\csgo\\pak01_038.vpk\n 103037018 103 83bd86a8c8cdc17b353c54cd4cf6a1e347a59e63 0 game\\csgo\\pak01_039.vpk\n@@ -2903,11 +2903,11 @@ Total bytes compressed : 55586326720\n 103652491 105 97b078393d02aaed75aa0d5f232ec9573a608d48 0 game\\csgo\\pak01_498.vpk\n 105338067 116 4af7ebb5429b351ff2b76c4f9b300cd176157ada 0 game\\csgo\\pak01_499.vpk\n 102090495 101 6cac088baddee5012d7a47318b06d119f3cbb859 0 game\\csgo\\pak01_500.vpk\n- 99621966 105 a36d3ad51113077cf85943cd5a96a10581c7edaf 0 game\\csgo\\pak01_501.vpk\n+ 99621956 106 9d2ae31cb7b16513b47b2aa6bc1a5b55a6ad8d43 0 game\\csgo\\pak01_501.vpk\n 99618250 105 568b65b644448b85efe132f8eaebe59c309c3fb3 0 game\\csgo\\pak01_502.vpk\n 100220508 102 60654a3f3231ef5de3b458ed332ba064c153c465 0 game\\csgo\\pak01_503.vpk\n- 73801782 76 e868db78c1f025ef727560bdeeac4a627960590d 0 game\\csgo\\pak01_504.vpk\n- 7715045 8 c8514c1fed295f92b27cf36ba7eea751c5b3273a 0 game\\csgo\\pak01_dir.vpk\n+ 61294166 64 7e4515c2e23cc6b96ef870aff144182d3aa0bc84 0 game\\csgo\\pak01_504.vpk\n+ 7713358 8 860cb1f89ad46cd24ec82d18dca3f975cc951465 0 game\\csgo\\pak01_dir.vpk\n 11893 1 d2f5c237fcac89835ab901bf3cc83850c71d9b46 0 game\\csgo\\panorama\\fonts\\fonts.conf\n 107848 1 90edfc11fa568cd0fb5b9d6e6d369dddadfdb8c4 0 game\\csgo\\panorama\\fonts\\notomono-regular.ttf\n 310556 1 84e39ddc72cd1d2ac4be132d235979f10f916c2b 0 game\\csgo\\panorama\\fonts\\notosans-bold.ttf\n@@ -2996,7 +2996,7 @@ Total bytes compressed : 55586326720\n 303670574 290 d2d77a7357436cf6fb69b704cebc84718609f70e 0 game\\csgo\\shaders_vulkan_003.vpk\n 25004138 28 7a80e74bbd9d763f27ad8788694da6d9d81cc99e 0 game\\csgo\\shaders_vulkan_004.vpk\n 41884 1 a9b38a712dcebbc8a985763a9134ec66c4264688 0 game\\csgo\\shaders_vulkan_dir.vpk\n- 190 1 3cd68d9dfada742adc3209d9d4bcdfd63c2e2b7a 0 game\\csgo\\steam.inf\n+ 190 1 6bd54113491e0ded55a8f7d0f773905099323118 0 game\\csgo\\steam.inf\n 209 1 cb2eaab8dbda9f075491a5410326356e127f60ec 0 game\\csgo_lv\\gameinfo.gi\n 135 1 7769174b103a021d6390cb2a31b758dbfff04639 0 game\\csgo_lv\\gameinfo_branchspecific.gi\n 473822 1 f5ca24bf12b20fee2ffb5d8bbc465ba8805d8abe 0 game\\thirdpartylegalnotices.txt"
},
{
"filename": "manifests/manifest_2347771.txt",
"status": "modified",
"additions": 6,
"deletions": 6,
"changes": 12,
"patch": "@@ -1,10 +1,10 @@\n Content Manifest for Depot 2347771 \n \n-Manifest ID / date : 5218696177408015009 / 10/28/2026 20:58:30 \n+Manifest ID / date : 4494425425081083634 / 10/30/2026 21:05:41 \n Total number of files : 183 \n Total number of chunks : 7219 \n-Total bytes on disk : 7753536510 \n-Total bytes compressed : 5011478400 \n+Total bytes on disk : 7753537022 \n+Total bytes compressed : 5011481952 \n \n \n Size Chunks File SHA Flags Name\n@@ -76,7 +76,7 @@ Total bytes compressed : 5011478400\n 7094936 7 2a0d7c4734b5058b0dcf8e270630c9a8a9dab4b8 0 game\\bin\\win64\\scenesystem.dll\n 445592 1 a2d1ab7e9bfefb9df339767031cf6b6ce7a1a43e 0 game\\bin\\win64\\schemasystem.dll\n 2891928 3 2455bae3c453025d4d481afebdc517ac9e3f3659 0 game\\bin\\win64\\SDL3.dll\n- 5837976 6 19e6268724b2f6b56795d32f048ff957967ba2f1 0 game\\bin\\win64\\soundsystem.dll\n+ 5838488 6 dd30ad36fdcfb5d9f59b2cfb46b0bef25184328f 0 game\\bin\\win64\\soundsystem.dll\n 3547288 4 2ed24977ac906ca1596d83f466669849116c2619 0 game\\bin\\win64\\steamaudio.dll\n 4290200 5 b2a6c8bdb391737a00e9d32a186d726da2037aae 0 game\\bin\\win64\\steamnetworkingsockets.dll\n 317080 1 a9fd85dbfdcee3209768facb284b8788df41c3d3 0 game\\bin\\win64\\steam_api64.dll\n@@ -110,10 +110,10 @@ Total bytes compressed : 5011478400\n 3185298 4 10bea5cfe6883540880c748e9506a04ad11e53ca 0 game\\core\\shaders_pc_000.vpk\n 25563 1 72204b8136ab7b8df21a52fb0b8b674f8c578b06 0 game\\core\\shaders_pc_dir.vpk\n 1728360 2 4e48ff45949c7f3cd8fd8ab5b7514ae27f44e53a 0 game\\csgo\\bin\\legacy\\csgo_legacy_app.exe\n- 39224472 38 1024028a050cc8bef7a9e9ec193ba1b9f951660c 0 game\\csgo\\bin\\win64\\client.dll\n+ 39224472 38 b5ad5ca0a78e816cf93836327b42d5a5ef49dcab 0 game\\csgo\\bin\\win64\\client.dll\n 1389208 2 40c6db9d0b1a07915441df9e7f002375f1bbad7a 0 game\\csgo\\bin\\win64\\host.dll\n 1890968 2 9aedfe7565fa06c398d7c4a0017bfc6490567b4d 0 game\\csgo\\bin\\win64\\matchmaking.dll\n- 34690200 34 bc9cad39ac62e7154f8de2f0aee6b0c2075d88f5 0 game\\csgo\\bin\\win64\\server.dll\n+ 34690200 34 7eb4d9b19948117424d575b158aa11c565d71eec 0 game\\csgo\\bin\\win64\\server.dll\n 115209034 117 4bbd01e43063ebade958bb509725b1b48c811b00 0 game\\csgo\\shaders_pc_000.vpk\n 189827159 182 7829b4ede09333c4e30a53d1ef958b9baeaeac39 0 game\\csgo\\shaders_pc_001.vpk\n 38973836 41 55f4f1a11b02a8a25a77a452d24ae14aa04b9f0b 0 game\\csgo\\shaders_pc_002.vpk"
},
{
"filename": "manifests/manifest_2347773.txt",
"status": "modified",
"additions": 6,
"deletions": 6,
"changes": 12,
"patch": "@@ -1,10 +1,10 @@\n Content Manifest for Depot 2347773 \n \n-Manifest ID / date : 3474977783625240452 / 10/28/2026 20:58:51 \n+Manifest ID / date : 6232960523750647649 / 10/30/2026 21:05:58 \n Total number of files : 135 \n Total number of chunks : 6673 \n-Total bytes on disk : 7224463846 \n-Total bytes compressed : 4605724896 \n+Total bytes on disk : 7224464934 \n+Total bytes compressed : 4605726512 \n \n \n Size Chunks File SHA Flags Name\n@@ -42,7 +42,7 @@ Total bytes compressed : 4605724896\n 10777468 11 3a9bd9792e999e94206fda1dadeacf2d32c96477 0 game\\bin\\linuxsteamrt64\\libscenesystem.so\n 713948 1 ad85dae76aad400f723e768ee7286fc6993c7c2f 0 game\\bin\\linuxsteamrt64\\libschemasystem.so\n 3229400 4 0558f1091e79b187e42491955cf362112598cff5 0 game\\bin\\linuxsteamrt64\\libSDL3.so.0\n- 7961876 8 ab5e72fe683cd977926ef1d273990dd0f1b829fd 0 game\\bin\\linuxsteamrt64\\libsoundsystem.so\n+ 7962196 8 f8b3d7618016aef0270517c79848a225837296b8 0 game\\bin\\linuxsteamrt64\\libsoundsystem.so\n 4771364 5 57b51902f63f93920f5bea8e86feb5b5adcda44e 0 game\\bin\\linuxsteamrt64\\libsteamaudio.so\n 5692434 6 9ec4204cb535bb2c204a69c2d7d15e2b2c9682a1 0 game\\bin\\linuxsteamrt64\\libsteamnetworkingsockets.so\n 381976 1 c109666c839a433b5ff8f635ad173cde77bdcdb6 0 game\\bin\\linuxsteamrt64\\libsteam_api.so\n@@ -66,10 +66,10 @@ Total bytes compressed : 4605724896\n 1296400 2 f63aa2c6334168781aa9b5bd2db22c0cc3a98a71 0 game\\bin\\linuxsteamrt64\\libvscript.so\n 4570212 5 9401bc49adf98aa264340e34e93dfc06fd786adc 0 game\\bin\\linuxsteamrt64\\libworldrenderer.so\n 3822 1 956919b920713ce452f46c20cf8643674f7543f7 0 game\\cs2.sh\n- 74208120 71 6424d7e40ea57f83d0f1a8d49278ddef029a8d94 0 game\\csgo\\bin\\linuxsteamrt64\\libclient.so\n+ 74208376 71 a0729807ba98a01f7c8fde6b2a787897403028f6 0 game\\csgo\\bin\\linuxsteamrt64\\libclient.so\n 3184412 4 2a6ef4e4bdf777c3ccd9d2d11c8cfce69baeb82f 0 game\\csgo\\bin\\linuxsteamrt64\\libhost.so\n 3775044 4 4a6bd2fa9528edbac347b03c837c3158d93bca75 0 game\\csgo\\bin\\linuxsteamrt64\\libmatchmaking.so\n- 41807128 40 caa2892202b928cf2a671fc04fb7c4f4e41b8f81 0 game\\csgo\\bin\\linuxsteamrt64\\libserver.so\n+ 41807640 40 da6d2163b63dbc977b94d454dd3eb1ceb322e3a5 0 game\\csgo\\bin\\linuxsteamrt64\\libserver.so\n 182648578 175 d4b7d7aea361a8b94c54e79904d642d712a1a3f5 0 game\\csgo_community_addons\\cs_shelter\\cs_shelter_000.vpk\n 107052112 105 2c61877687a4e433f04a62340fb3ce54b70e039c 0 game\\csgo_community_addons\\cs_shelter\\cs_shelter_001.vpk\n 106101480 104 e5dc305d96a55ae88a396ac6d98037209b4520ce 0 game\\csgo_community_addons\\cs_shelter\\cs_shelter_002.vpk"
},
{
"filename": "manifests/manifest_2347779.txt",
"status": "modified",
"additions": 5,
"deletions": 5,
"changes": 10,
"patch": "@@ -1,9 +1,9 @@\n Content Manifest for Depot 2347779 \n \n-Manifest ID / date : 2888303856247423407 / 10/28/2026 20:59:18 \n+Manifest ID / date : 6999460720639345485 / 10/30/2026 21:06:20 \n Total number of files : 909 \n-Total number of chunks : 2524 \n-Total bytes on disk : 2108142576 \n+Total number of chunks : 2523 \n+Total bytes on disk : 2108138499 \n Total bytes compressed : 576286240 \n \n \n@@ -638,7 +638,7 @@ Total bytes compressed : 576286240\n 5703320 6 69aef54a5be46a22842ba8a8671ef057da9ffedd 0 game\\bin\\win64\\assetsystem.dll\n 1529856 2 45e7d0873608e5424312fa289a270f2faacfe8fa 0 game\\bin\\win64\\bc7e.dll\n 396952 1 3a1580720932ad35bdc8455fea40739014877638 0 game\\bin\\win64\\cs2_build_econ_items_workshop.exe\n- 13866 1 62ca0b9e4c3a3df901dbd1b5f3d2d4d5dead27b5 0 game\\bin\\win64\\csgo.signatures\n+ 13866 1 6e66eefa3c87d4a1c8b0971d9c9006ad4bed4f81 0 game\\bin\\win64\\csgo.signatures\n 1271448 2 41ff225a0583e28a3755588aac5634c5db7af5c4 0 game\\bin\\win64\\csgocfg.exe\n 15683736 15 2e0961f7f4e0776a11546c4f8a6ee8797cd7a478 0 game\\bin\\win64\\cs_mdl_import.exe\n 1196696 2 f3364d2c801c80b4e2eb6d8c76a6ec0aca706962 0 game\\bin\\win64\\dmxconvert.exe\n@@ -721,7 +721,7 @@ Total bytes compressed : 576286240\n 133435 1 5c5acf7bffba281b1fb2de939a6953c385e26ac3 0 game\\csgo\\lighting\\postprocessing\\editor\\toolsscene_default.vpost_c\n 3823 1 aaa9517703492629cade78571c39f5fdc2c417e3 0 game\\csgo\\models_gamedata.fgd\n 1559 1 ccef3c777e99029f1956e3ad23a718a99fd36d14 0 game\\csgo\\postprocessing.fgd\n- 50764494 52 9bf42a6c2e4924dab630257854137646df9fe384 0 game\\csgo\\readonly_tools_asset_info.bin\n+ 50760417 51 a1997ec54c03935c14e37f7748fecf207030dc7c 0 game\\csgo\\readonly_tools_asset_info.bin\n 3009 1 8374c54025aad8c3d4a72b5f7f198d99951b7844 0 game\\csgo\\tools\\cs2_icon_gen\\icon_camera.png\n 2390 1 436ef3b91600906f462a33b9973b3f0955ddf1d6 0 game\\csgo\\tools\\cs2_icon_gen\\icon_item.png\n 2566 1 d78fd6c17e836a35c1cff4b375de7928ea5aea40 0 game\\csgo\\tools\\cs2_icon_gen\\icon_light_fill.png"
},
{
"filename": "manifests/manifest_731.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 731 \n \n-Manifest ID / date : 6136897076417766099 / 10/28/2026 20:56:26 \n+Manifest ID / date : 3579580227224146060 / 10/30/2026 21:03:36 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_732.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 732 \n \n-Manifest ID / date : 7263089472237994766 / 10/28/2026 20:56:33 \n+Manifest ID / date : 4813741465053806363 / 10/30/2026 21:03:43 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_733.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 733 \n \n-Manifest ID / date : 7014388039653554958 / 10/28/2026 20:56:39 \n+Manifest ID / date : 7325926150770753053 / 10/30/2026 21:03:50 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_734.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 734 \n \n-Manifest ID / date : 7940209396320497378 / 10/28/2026 20:56:46 \n+Manifest ID / date : 263743024181583359 / 10/30/2026 21:03:56 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt"
},
{
"filename": "manifests/manifest_735.txt",
"status": "modified",
"additions": 2,
"deletions": 2,
"changes": 4,
"patch": "@@ -1,11 +1,11 @@\n Content Manifest for Depot 735 \n \n-Manifest ID / date : 4345444102999343217 / 10/28/2026 20:56:52 \n+Manifest ID / date : 5004729745720806412 / 10/30/2026 21:04:02 \n Total number of files : 1 \n Total number of chunks : 1 \n Total bytes on disk : 8 \n Total bytes compressed : 64 \n \n \n Size Chunks File SHA Flags Name\n- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\\bin\\content_built_from_cl.txt\n+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\\bin\\content_built_from_cl.txt"
}
]
},
{
"event_id": "gh:a16afd0",
"detected_at_utc": "2026-11-13T14:09:51.308Z",
"commit_date_utc": "2026-10-30T21:09:19Z",
"commit": {
"sha": "a16afd09b2983f4c30ac353e5e3eb852c6412502",
"short": "a16afd0",
"message": "Queue update runs instead of cancelling them",
"url": "https://github.com/SteamTracking/GameTracking-CS2/commit/a16afd09b2983f4c30ac353e5e3eb852c6412502"
},
"classification": {
"tags": [],
"important_files": []
},
"ai_summary": "General update: “Queue update runs instead of cancelling them” Files touched: .github/workflows/update.yml.",
"stats": {
"files_changed": 1,
"additions": 2,
"deletions": 1
},
"files": [
{
"filename": ".github/workflows/update.yml",
"status": "modified",
"additions": 2,
"deletions": 1,
"changes": 3,
"patch": "@@ -16,7 +16,8 @@ on:\n \n concurrency:\n group: ${{ github.workflow }}\n- cancel-in-progress: true\n+ cancel-in-progress: false\n+ queue: max\n \n jobs:\n process:"
}
]
}
],
"note": "Steam buildid via steamcmd is not available on Vercel serverless; using GitHub GameTracking commits instead."
}11.11.2026, 23.05.21
Localization/resources update (game/csgo/pak01_dir/resource/csgo_english.txt).
Files changed: 130 • +11334 / -9250
Changed files
DumpSource2/.stringsignore
modified • +66 / -18 • changes: 84
Show patch
@@ -4840,6 +4840,7 @@ Clear all watches from the game debug overlay Clear buffered logging Clear console output from all views. Clear console output.+Clear per-entity decode change callback stats Clear the list of deferred soundevents for loading. Clear the list of files that have been opened. Clear the pause state of the server.@@ -5878,8 +5879,8 @@ Draws line between two 3D Points.\n\tGreen if no collision\n\tRed is collides wi Draws the current weapon's true inaccuracy + spread radius around the crosshair Draws the overview map Drive (dB)+Drop a client if processing their messages consumes more than N ms of CPU time *PER SECOND*, sustained (token bucket fill rate) Drop a client if processing their messages consumes more than N ms of CPU time in a burst (token bucket capacity)-Drop a client if processing their messages consumes more than N ms of CPU time per second, sustained (token bucket fill rate) Drop defuser on player death Drop every Nth fragment Drop healthshot on player death@@ -7172,6 +7173,13 @@ From Player From Rotations From Velocity From World+Frost on players, weapons and chickens: -1 = the map's (info_map_parameters frostenabled), 0 = off, 1 = on (outdoors; melts indoors)+Frost: barrel heat per shot (1 = hot enough to clear the whole barrel)+Frost: distance under cover (no sky) over which the cold fades out (indoors)+Frost: seconds after a molotov is lit before its rag starts to heat (the flame shows a moment after)+Frost: seconds for a hot barrel to cool down+Frost: seconds for a lit molotov's rag to reach full heat+Frost: where the barrel heat sits, from the shell eject (0) to the muzzle (1) Frozen Full 3-Axis Rotation Full Density Blend Weight@@ -7359,6 +7367,7 @@ Gameplay State High Gameplay State Low Gamma-correct vertex colors Gate+GatherSendProxyResults only walks struct and array fields, skipping scalar fields. Gaussian General General purpose timer. use 'stopwatch' to toggle or explicitly call 'stopwatch start' and/or 'stopwatch stop'.@@ -8711,6 +8720,7 @@ Less aggressive fade out. The object will not fade out until it is smaller on sc LessThan LessThanEqual LessonPanelLayoutFileTypes_t+Let demo playback and the game rules start, dump and stop the vprof lite profiler on their own. The vprof_lite_start, vprof_lite_stop and vprof_lite_dump commands set this to 0 so that a script can drive the profiler itself. Level Override Level Volume Level of validation for nav system. Higher will be slower.@@ -9192,8 +9202,9 @@ Max number of broadcast http requests in flight. If there is a network issue, th Max number of broadcast1 http requests in flight. If there is a network issue, the requests may start piling up, degrading server performance. If more than the specified number of requests are in flight, the new requests are dropped. Max number of entities to transmit to player Max number of kills for a single multikill event-Max number of messages that can be queued in a netchan receive buffer for an ordinary connection from a client. Max number of samples per triangle. Higher is more quality/slower.+Max number of source engine messages an ordinary client connection may put in a single network frame. Exceeding this disconnects the client.+Max number of source engine messages that can be queued in a netchan receive buffer for an ordinary connection from a client. Max number of ticks to simulate per frame, after which simulation will start to slow down compared to real time. Max number of timeouts each team can have per OT after all OT timeouts got added. Max number of times a player may purchase any weapon per match@@ -9234,6 +9245,7 @@ Maximum depth of smart prop evaluation stack during evaluation. Maximum distance flames can spread from their initial ignition point Maximum distance flames can spread from their initial ignition point for an incendiary Maximum distance to transmit footstep sound effects.+Maximum duration the client clock is allowed to drift from server snapshots, before the client snaps its clock to the latest server snapshot received Maximum gain any HRTF could have during volume normalization. Maximum lag compensation in seconds Maximum length@@ -9253,7 +9265,6 @@ Maximum number of probes to create when baking custom data (occlusion). Maximum number of probes to create when baking paths. Maximum number of probes to create when baking reverb. Maximum number of ragdolls to show (-1 disables limit)-Maximum number of ticks the clock is allowed to drift before the client snaps its clock to the server's. Maximum number of undo levels Maximum of how hard the hostage is pushed away from physics objects. Maximum of how hard the player is pushed away from physics objects.@@ -11185,6 +11196,7 @@ PanoramaUIClient001 PanoramaUIEngine001 PanoramaVideoPlayer Parallalelize Filter+Parallax occlusion mapping (Advanced Video setting): 0 = off, 1 = on ParamSpanSample_t ParamSpan_t Parameter@@ -11438,7 +11450,7 @@ Play a broadcast Play a demo and report performance info. Play a demo, report performance info, and then exit Play a note from a specified sampler-Play a recorded demo file (.dem ).+Play a recorded demo file (.dem ). Options: start=<tick> end=<tick> timescale=<float> (run with no arguments for details). Play a sound at a specified volume. Play a sound. Play demos in demo sequence.@@ -11636,6 +11648,7 @@ Print out broadcast status Print out hltv events Print out information on existing particle systems Print out number of active projected textures+Print per-entity decode change callback stats Print simple description of prediction copy fields for entindex Print something every time we predict a command Print spew related to server clock and ticking@@ -12067,7 +12080,6 @@ Recursion Branch Split Scale Recursion Depth RecvProxy_Jumped RecvProxy_PatchEconIndices-RecvProxy_Rescued RecvProxy_VoteOption RecvProxy_VoteType Recvmargin-based usercommand pacing will not speed up or slow down command pacing by more than N% compared to realtime@@ -12961,6 +12973,9 @@ Secondary_Mode Seconds after client connect during which extra frames are buffered to prevent non-delta'd update Seconds between drowning ticks Seconds between full frame embeddeds+Seconds for the melted frost to dry+Seconds indoors for full frost to melt+Seconds outdoors for frost to grow to full Seconds to fade the ChickensObscuredLayer mix layer in and out. Seed (negative values=randomize) Seed Input Var@@ -13058,11 +13073,14 @@ Server queue reservation Server tags. Used to provide extra information to clients when they're browsing for servers. Separate tags with a comma. Server will listen for direct UDP connections on the configured port. This can be turned off to only listen for P2P/SDR connections. Server will not allow the client to buffer up more than N ms of commands.-Server will not buffer more than N kb from connected clients-Server will not buffer more than N messages from connected clients-Server will reject message larger than N kb-Server will reject packets with more than N segments+Server will reject uncompressed Source engine frame larger than N kb. Also sets limit on SteamNetworkingSockets message size Server will stop generating substitute commands if client hasn't sent one, after N in a row+Server: SteamNetworkingSockets will not buffer more than N kb from a connection that does not yet have a netchan+Server: SteamNetworkingSockets will not buffer more than N kb from connected clients+Server: SteamNetworkingSockets will not buffer more than N messages from a connection that does not yet have a netchan+Server: SteamNetworkingSockets will not buffer more than N messages from connected clients+Server: SteamNetworkingSockets will reject packets with more than N message segments+Server: max SteamNetworkingSockets message size in kb accepted from a connection that does not yet have a netchan ServerAuthoritative ServerAuthoritativeWeaponSlot_t ServerLog@@ -15926,8 +15944,8 @@ Walk Warmup time to use when all players have connected. 0 to disable. Warmup time to use when the match will be cancelled (eg. due to a live VAC ban). Warn if lag compensated head hitbox position doesn't match that on client.+Warn if processing messages from a client consumes more than N ms of CPU time *PER SECOND*, sustained (token bucket fill rate) Warn if processing messages from a client consumes more than N ms of CPU time in a burst (token bucket capacity)-Warn if processing messages from a client consumes more than N ms of CPU time per second, sustained (token bucket fill rate) Warp Orientation Warp Position Warp Section Tag@@ -16002,6 +16020,7 @@ When a player disconnects, kill them first (triggering item drops, stats, etc.) When a source has source-specific DSP, this can be used as an additional mix stage for the listener reverb amount. When an animgraph is reloaded, should the underlying system restore all params? When an asset is being recompiled the dependents will be recompiled only as needed, otherwise the original recompile mode will be passed on.+When an entity is decoded from a baseline plus a wire delta, merge the two and decode once (true), or decode the baseline and then the delta as two passes (false, the old behaviour, which can invoke change callbacks with baseline values for an entity that already exists). When computing respondents for a 'THEN ANY' rule, all rule-matching scores within this much of the best score will be considered. When computing the transform at each path point ensure that there is no roll around the path relative to the up direction. This prevents objects from tilting side to side while still allowing them to tilt along the path (unlike Use Fixed Up which does not allow them to tilt along the path). When condensing late commands. Should we compress multiple moves of button presses into the target move?@@ -17100,7 +17119,7 @@ cl_clock_recvmargin_timeconstant_slowdown cl_clock_recvmargin_timeconstant_speedup cl_clock_recvmargin_window cl_clockdbg-cl_clockdrift_max_ticks+cl_clockdrift_max_secs cl_clutch_mode cl_color cl_connectionretrytime_p2p@@ -17394,6 +17413,7 @@ cl_new_user_phase cl_obs_interp_enable cl_obs_interp_speed cl_observed_bot_crosshair+cl_packetentities_merge_before_decode cl_paintkit_override cl_panel_freeze_time_after_press cl_parallel_readpacketentities@@ -19368,6 +19388,7 @@ fresnel warp texture friction friction_scale friendlyname+frostenabled fs_async_threads fs_clear_open_duplicate_times fs_dump_open_duplicate_times@@ -23229,6 +23250,7 @@ m_bFreezePeriod m_bFreezeTargetState m_bFreezeTransitionActive m_bFreshStartThisRound+m_bFrostEnabled m_bFrozen m_bFullbright m_bGPUCullSkybox@@ -25593,7 +25615,6 @@ m_flDampedValue m_flDamping m_flDampingRatio m_flDangerousTime-m_flDeadOrRescuedTime m_flDealtDamageToEnemyMostRecentTimestamp m_flDeathCamTilt m_flDeathDestroyTime@@ -27243,6 +27264,7 @@ m_flTraceRadius m_flTraceTolerance m_flTracerDuration m_flTrajectoryTrailEffectCreationTime+m_flTransitionBlendTimeSeconds m_flTransitionDurationSeconds m_flTransitionPenalty m_flTransitionSourcePathLocation@@ -33556,6 +33578,8 @@ net_compresspackets_minsize net_connections_stats net_culloptimization net_debug_to_file+net_decode_callback_queue_stats_clear+net_decode_callback_queue_stats_dump net_detailed_canpacket_log net_fakeclear net_fakejitter@@ -33564,7 +33588,17 @@ net_fakeloss net_fakestatus net_filelogging net_fs_showindirections-net_limit_sv_recv_max_message_size_kb+net_gather_child_fields_only+net_limit_sv_listen_max_message_size_kb+net_limit_sv_listen_recvbuffer_kb+net_limit_sv_listen_recvbuffer_msg+net_limit_sv_message_process_time_ms_drop_burst+net_limit_sv_message_process_time_ms_drop_rate_per_sec+net_limit_sv_message_process_time_ms_warn_burst+net_limit_sv_message_process_time_ms_warn_rate_per_sec+net_limit_sv_recv_chan_buffer_messages+net_limit_sv_recv_chan_msgs_per_frame+net_limit_sv_recv_max_frame_size_kb net_limit_sv_recv_segments_per_packet net_limit_sv_recvbuffer_kb net_limit_sv_recvbuffer_msg@@ -34552,6 +34586,16 @@ r_csgo_enable_tonemapping r_csgo_enable_translucent_screen_space r_csgo_enable_volume_fog r_csgo_firstpersonlegs_nearz_offset+r_csgo_frost_dry_time+r_csgo_frost_force+r_csgo_frost_grow_time+r_csgo_frost_heat_barrel_position+r_csgo_frost_heat_cool_time+r_csgo_frost_heat_light_delay+r_csgo_frost_heat_light_time+r_csgo_frost_heat_per_shot+r_csgo_frost_indoor_distance+r_csgo_frost_melt_time r_csgo_fsr_enable_mip_bias r_csgo_fsr_rcas_sharpness r_csgo_fsr_upsample@@ -34593,6 +34637,7 @@ r_csgo_no_shader_resolve r_csgo_opaquerefract_viewmodel_depthcopy r_csgo_opaquerefract_viewmodel_quality r_csgo_outline_glow_scaledenom+r_csgo_parallax r_csgo_player_occlusion_query r_csgo_player_occlusion_query_debug r_csgo_postprocess_enable@@ -36784,10 +36829,6 @@ sv_mover_maxslope sv_mover_pogodampingratio sv_mover_pogofrequency sv_mute_players_with_social_penalties-sv_net_client_message_process_time_ms_drop_burst-sv_net_client_message_process_time_ms_drop_rate-sv_net_client_message_process_time_ms_warn_burst-sv_net_client_message_process_time_ms_warn_rate sv_netprof_delta_sharing_temp sv_networkvar_log_fullchanges sv_networkvar_perfieldtracking@@ -36852,7 +36893,6 @@ sv_rcon_maxfailures sv_rcon_minfailures sv_rcon_minfailuretime sv_record_item_time_data-sv_recvbuf_messages sv_regeneration_force_on sv_regeneration_wait_time sv_region@@ -37631,6 +37671,7 @@ vertical_align videocfg_ao_detail videocfg_fsr_detail videocfg_hdr_detail+videocfg_parallax_detail videocfg_particle_detail videocfg_shadow_quality videocfg_texture_detail@@ -37752,6 +37793,13 @@ vprof_dump_counters vprof_generate_report vprof_generate_report_budget vprof_generate_report_hierarchy+vprof_lite_auto+vprof_lite_dump+vprof_lite_dump [filename] [stop=1]\nWrite the vprof lite budget group statistics as CSV, then stop the profiler and clear its data.\nstop=0 leaves the profiler running with its data. The default filename is vprof_lite.csv in the mod directory;\nan absolute path is used as given. Sets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.+vprof_lite_start+vprof_lite_start [clear=1]\nStart the vprof lite profiler, clearing any data it holds. clear=0 keeps the data and continues adding to it.\nSets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.+vprof_lite_stop+vprof_lite_stop [clear=1]\nStop the vprof lite profiler and clear its data. clear=0 keeps the data, for engine_frametime_print_report or vprof_lite_dump.\nSets vprof_lite_auto 0, so the game will not start the profiler on its own. vprof_loadhitstore_scale vprof_off vprof_onDumpSource2/commands.txt
modified • +23 / -1 • changes: 24
Show patch
@@ -2357,6 +2357,12 @@ net_channels (release) net_connections_stats (release) Print detailed network statistics for each network connection +net_decode_callback_queue_stats_clear (developmentonly defensive)+ Clear per-entity decode change callback stats++net_decode_callback_queue_stats_dump (developmentonly defensive)+ Print per-entity decode change callback stats+ net_fakeclear (release) Clear all simulated network conditions @@ -2576,7 +2582,7 @@ playcast (release) Play a broadcast playdemo (release)- Play a recorded demo file (.dem ).+ Play a recorded demo file (.dem ). Options: start=<tick> end=<tick> timescale=<float> (run with no arguments for details). player_ping (gamedll client_can_execute) Creates a ping notification where the player is looking.@@ -3818,6 +3824,22 @@ vprof_generate_report_budget (developmentonly defensive) vprof_generate_report_hierarchy (developmentonly defensive) Generate a report to the console. +vprof_lite_dump (developmentonly defensive)+ vprof_lite_dump [filename] [stop=1]+ Write the vprof lite budget group statistics as CSV, then stop the profiler and clear its data.+ stop=0 leaves the profiler running with its data. The default filename is vprof_lite.csv in the mod directory;+ an absolute path is used as given. Sets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.++vprof_lite_start (developmentonly defensive)+ vprof_lite_start [clear=1]+ Start the vprof lite profiler, clearing any data it holds. clear=0 keeps the data and continues adding to it.+ Sets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.++vprof_lite_stop (developmentonly defensive)+ vprof_lite_stop [clear=1]+ Stop the vprof lite profiler and clear its data. clear=0 keeps the data, for engine_frametime_print_report or vprof_lite_dump.+ Sets vprof_lite_auto 0, so the game will not start the profiler on its own.+ vprof_loadhitstore_scale (developmentonly hidden) Scale used when displaying load-hit-stores (0 = use default) DumpSource2/convars.txt
modified • +80 / -23 • changes: 103
Show patch
@@ -982,8 +982,8 @@ cl_clock_recvmargin_window 4 (developmentonly) cl_clockdbg false (developmentonly defensive) <no description> -cl_clockdrift_max_ticks 3 (min: 0, hidden release)- Maximum number of ticks the clock is allowed to drift before the client snaps its clock to the server's.+cl_clockdrift_max_secs 0.125 (min: 0, hidden release)+ Maximum duration the client clock is allowed to drift from server snapshots, before the client snaps its clock to the latest server snapshot received cl_clutch_mode false (clientdll release) Silence voice and other distracting sounds until the end of round or next death.@@ -1654,6 +1654,9 @@ cl_obs_interp_speed 1 (min: 0.25, max: 2.5, clientdll archive) cl_observed_bot_crosshair 2 (clientdll archive release) 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 +cl_packetentities_merge_before_decode true (developmentonly defensive)+ When an entity is decoded from a baseline plus a wire delta, merge the two and decode once (true), or decode the baseline and then the delta as two passes (false, the old behaviour, which can invoke change callbacks with baseline values for an entity that already exists).+ cl_paintkit_override "" (clientdll cheat release) <no description> @@ -4675,7 +4678,7 @@ lservercfgfile "listenserver.cfg" (developmentonly gamedll defensive) lua_assert_on_error false (developmentonly defensive) <no description> -lua_is_currently_executing false (hidden dontrecord release flag_36)+lua_is_currently_executing false (hidden dontrecord release vconsole_no_change_notify) <no description> lua_shipping_assert_on_error false (developmentonly defensive)@@ -6573,17 +6576,47 @@ net_filelogging false (developmentonly) net_fs_showindirections false (developmentonly) <no description> -net_limit_sv_recv_max_message_size_kb 32 (release)- Server will reject message larger than N kb+net_gather_child_fields_only false (release)+ GatherSendProxyResults only walks struct and array fields, skipping scalar fields.++net_limit_sv_listen_max_message_size_kb 3 (release)+ Server: max SteamNetworkingSockets message size in kb accepted from a connection that does not yet have a netchan++net_limit_sv_listen_recvbuffer_kb 16 (release)+ Server: SteamNetworkingSockets will not buffer more than N kb from a connection that does not yet have a netchan++net_limit_sv_listen_recvbuffer_msg 4 (release)+ Server: SteamNetworkingSockets will not buffer more than N messages from a connection that does not yet have a netchan++net_limit_sv_message_process_time_ms_drop_burst 300 (release)+ Drop a client if processing their messages consumes more than N ms of CPU time in a burst (token bucket capacity)++net_limit_sv_message_process_time_ms_drop_rate_per_sec 500 (release)+ Drop a client if processing their messages consumes more than N ms of CPU time *PER SECOND*, sustained (token bucket fill rate)++net_limit_sv_message_process_time_ms_warn_burst 50 (release)+ Warn if processing messages from a client consumes more than N ms of CPU time in a burst (token bucket capacity)++net_limit_sv_message_process_time_ms_warn_rate_per_sec 150 (release)+ Warn if processing messages from a client consumes more than N ms of CPU time *PER SECOND*, sustained (token bucket fill rate)++net_limit_sv_recv_chan_buffer_messages 1000 (release)+ Max number of source engine messages that can be queued in a netchan receive buffer for an ordinary connection from a client.++net_limit_sv_recv_chan_msgs_per_frame 500 (release)+ Max number of source engine messages an ordinary client connection may put in a single network frame. Exceeding this disconnects the client.++net_limit_sv_recv_max_frame_size_kb 64 (release)+ Server will reject uncompressed Source engine frame larger than N kb. Also sets limit on SteamNetworkingSockets message size net_limit_sv_recv_segments_per_packet 50 (release)- Server will reject packets with more than N segments+ Server: SteamNetworkingSockets will reject packets with more than N message segments net_limit_sv_recvbuffer_kb 128 (release)- Server will not buffer more than N kb from connected clients+ Server: SteamNetworkingSockets will not buffer more than N kb from connected clients net_limit_sv_recvbuffer_msg 100 (release)- Server will not buffer more than N messages from connected clients+ Server: SteamNetworkingSockets will not buffer more than N messages from connected clients net_log_processing false (developmentonly defensive) Log network processing@@ -7620,6 +7653,36 @@ r_csgo_enable_volume_fog false (developmentonly clientdll) r_csgo_firstpersonlegs_nearz_offset 0.1 (developmentonly clientdll) <no description> +r_csgo_frost_dry_time 20 (developmentonly clientdll)+ Seconds for the melted frost to dry++r_csgo_frost_force -1 (developmentonly clientdll)+ Frost on players, weapons and chickens: -1 = the map's (info_map_parameters frostenabled), 0 = off, 1 = on (outdoors; melts indoors)++r_csgo_frost_grow_time 10 (developmentonly clientdll)+ Seconds outdoors for frost to grow to full++r_csgo_frost_heat_barrel_position 0.33 (developmentonly clientdll)+ Frost: where the barrel heat sits, from the shell eject (0) to the muzzle (1)++r_csgo_frost_heat_cool_time 20 (developmentonly clientdll)+ Frost: seconds for a hot barrel to cool down++r_csgo_frost_heat_light_delay 1 (developmentonly clientdll)+ Frost: seconds after a molotov is lit before its rag starts to heat (the flame shows a moment after)++r_csgo_frost_heat_light_time 10 (developmentonly clientdll)+ Frost: seconds for a lit molotov's rag to reach full heat++r_csgo_frost_heat_per_shot 0.05 (developmentonly clientdll)+ Frost: barrel heat per shot (1 = hot enough to clear the whole barrel)++r_csgo_frost_indoor_distance 128 (developmentonly clientdll)+ Frost: distance under cover (no sky) over which the cold fades out (indoors)++r_csgo_frost_melt_time 10 (developmentonly clientdll)+ Seconds indoors for full frost to melt+ r_csgo_fsr_enable_mip_bias true (developmentonly clientdll defensive) Apply negative mip bias when rendering with FSR. @@ -7743,6 +7806,9 @@ r_csgo_opaquerefract_viewmodel_quality 1 (developmentonly clientdll) r_csgo_outline_glow_scaledenom 1 (developmentonly clientdll cheat) <no description> +r_csgo_parallax 1 (developmentonly clientdll defensive)+ Parallax occlusion mapping (Advanced Video setting): 0 = off, 1 = on+ r_csgo_player_occlusion_query true (developmentonly clientdll) <no description> @@ -11454,18 +11520,6 @@ sv_mover_pogofrequency 10 (developmentonly gamedll clientdll notify replicated d sv_mute_players_with_social_penalties true (developmentonly gamedll defensive) <no description> -sv_net_client_message_process_time_ms_drop_burst 500 (release)- Drop a client if processing their messages consumes more than N ms of CPU time in a burst (token bucket capacity)--sv_net_client_message_process_time_ms_drop_rate 200 (release)- Drop a client if processing their messages consumes more than N ms of CPU time per second, sustained (token bucket fill rate)--sv_net_client_message_process_time_ms_warn_burst 50 (release)- Warn if processing messages from a client consumes more than N ms of CPU time in a burst (token bucket capacity)--sv_net_client_message_process_time_ms_warn_rate 5 (release)- Warn if processing messages from a client consumes more than N ms of CPU time per second, sustained (token bucket fill rate)- sv_netprof_delta_sharing_temp false (release) Temp counter for measuring performance impact of some network changes. To be removed by the end of Sept 2026 @@ -11652,9 +11706,6 @@ sv_rcon_minfailuretime 30 (min: 1, developmentonly defensive) sv_record_item_time_data false (gamedll release) Turn on recording of per player item time data into the server log. -sv_recvbuf_messages 1024 (developmentonly defensive)- Max number of messages that can be queued in a netchan receive buffer for an ordinary connection from a client.- sv_regeneration_force_on false (gamedll cheat) Cheat to test regenerative health systems @@ -12687,6 +12738,9 @@ videocfg_fsr_detail 0 (developmentonly clientdll defensive) videocfg_hdr_detail -1 (developmentonly clientdll defensive) <no description> +videocfg_parallax_detail 0 (developmentonly clientdll defensive)+ <no description>+ videocfg_particle_detail 1 (developmentonly clientdll defensive) <no description> @@ -12900,6 +12954,9 @@ vprof_counters 0 (developmentonly defensive) vprof_counters_show_minmax false (developmentonly defensive) <no description> +vprof_lite_auto true (release)+ Let demo playback and the game rules start, dump and stop the vprof lite profiler on their own. The vprof_lite_start, vprof_lite_stop and vprof_lite_dump commands set this to 0 so that a script can drive the profiler itself.+ vprof_scope_entity_clientthink false (developmentonly clientdll hidden defensive) Does nothing whatsoever. DumpSource2/entities/client.fgd
modified • +1 / -0 • changes: 1
Show patch
@@ -1815,6 +1815,7 @@ envpuddlerippledirection(float) // FIELD_FLOAT32 m_flEnvPuddleRippleDirection envwetnesscoverage(float) // FIELD_FLOAT32 m_flEnvWetnessCoverage envwetnessdryingamount(float) // FIELD_FLOAT32 m_flEnvWetnessDryingAmount+ frostenabled(boolean) // FIELD_BOOLEAN m_bFrostEnabled input FireWinCondition(integer) // PVAL_INT param ] DumpSource2/entities/server.fgd
modified • +1 / -0 • changes: 1
Show patch
@@ -3108,6 +3108,7 @@ envpuddlerippledirection(float) // FIELD_FLOAT32 m_flEnvPuddleRippleDirection envwetnesscoverage(float) // FIELD_FLOAT32 m_flEnvWetnessCoverage envwetnessdryingamount(float) // FIELD_FLOAT32 m_flEnvWetnessDryingAmount+ frostenabled(boolean) // FIELD_BOOLEAN m_bFrostEnabled input FireWinCondition(integer) // PVAL_INT param ] DumpSource2/module_metadata/client/resource_manifests.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -278,7 +278,7 @@ GameStartup "RenderingPipelineCsgoManifest" // src/game/client/cstrike15/renderi materials/dev/water_droplets.vtex materials/dev/water_waves.vtex materials/dev/water_flowing.vtex- materials/dev/snow_sparkle.vtex+ materials/dev/frost.vtex materials/dev/rain_ripples.vtex materials/dev/custom_cubemap_001.vtex materials/dev/overlay_smoke.vmatDumpSource2/network/client.txt
modified • +2 / -3 • changes: 5
Show patch
@@ -58,7 +58,6 @@ CBaseFilter CBasePlayerController include by name: m_pEntity, m_flSimulationTime, m_flCreateTime, m_iTeamNum, m_nNextThinkTick, m_fFlags include by user group: LocalPlayerExclusive, LocalPlayerAndPredictorsExclusive- overrides: m_nNextThinkTick userGroup LocalPlayerAndPredictorsExclusive user group proxies: LocalPlayerExclusive, LocalTeamExclusive, LocalPlayerAndObserversExclusive, LocalPlayerAndPredictorsExclusive replay compat fields: m_skeletonInstance\.m_vecOrigin\..*| OnReplayCompat_GameSceneNodeOriginAngles uint32 m_nTickBase (priority: 1; user groups: LocalPlayerAndPredictorsExclusive)@@ -994,7 +993,7 @@ C_BasePlayerPawn exclude by name: m_pWeaponServices, m_pItemServices, m_pAutoaimServices, m_pObserverServices, m_pWaterServices, m_pUseServices, m_pFlashlightServices, m_pMovementServices include by user group: Player, Water, LocalPlayerExclusive, LocalPlayerAndPredictorsExclusive exclude by user group: FogController- overrides: CNetworkOriginCellCoordQuantizedVector::m_vecX bitCount 32, CNetworkOriginCellCoordQuantizedVector::m_vecY bitCount 32, CNetworkOriginCellCoordQuantizedVector::m_vecZ bitCount 32, m_lifeState changeCallback OnLifeStateChanged, m_nNextThinkTick userGroup LocalPlayerAndPredictorsExclusive+ overrides: CNetworkOriginCellCoordQuantizedVector::m_vecX bitCount 32, CNetworkOriginCellCoordQuantizedVector::m_vecY bitCount 32, CNetworkOriginCellCoordQuantizedVector::m_vecZ bitCount 32, m_lifeState changeCallback OnLifeStateChanged user group proxies: LocalPlayerExclusive CPlayer_WeaponServices * m_pWeaponServices CPlayer_ItemServices * m_pItemServices@@ -1829,7 +1828,7 @@ C_Hostage CHandle< CBaseEntity> m_leader (sent as: ehandle) CountdownTimer m_reuseTimer Vector m_vel- bool m_isRescued (change callbacks: RecvProxy_Rescued)+ bool m_isRescued bool m_jumpedThisFrame (change callbacks: RecvProxy_Jumped) int m_nHostageState (change callbacks: OnHostageStateChanged) bool m_bHandsHaveBeenCutDumpSource2/network/server.txt
modified • +0 / -1 • changes: 1
Show patch
@@ -273,7 +273,6 @@ CBasePlatTrain CBasePlayerController include by name: m_pEntity, m_flSimulationTime, m_flCreateTime, m_iTeamNum, m_nNextThinkTick, m_fFlags include by user group: LocalPlayerExclusive, LocalPlayerAndPredictorsExclusive- overrides: m_nNextThinkTick userGroup LocalPlayerAndPredictorsExclusive user group proxies: LocalPlayerExclusive, LocalTeamExclusive, LocalPlayerAndObserversExclusive, LocalPlayerAndPredictorsExclusive network class uint32 m_nTickBase (priority: 1; user groups: LocalPlayerAndPredictorsExclusive)DumpSource2/schemas/client/CMapInfo.h
modified • +1 / -0 • changes: 1
Show patch
@@ -15,4 +15,5 @@ class CMapInfo : public C_PointEntity float32 m_flEnvPuddleRippleDirection; float32 m_flEnvWetnessCoverage; float32 m_flEnvWetnessDryingAmount;+ bool m_bFrostEnabled; };DumpSource2/schemas/client/CNmAimCSNode__CDefinition.h
modified • +1 / -0 • changes: 1
Show patch
@@ -12,4 +12,5 @@ class CNmAimCSNode::CDefinition : public CNmPassthroughNode::CDefinition float32 m_flHandIKBlendInTimeSeconds; float32 m_flActionBlendTimeSeconds; float32 m_flPlantingBlendTimeSeconds;+ float32 m_flTransitionBlendTimeSeconds; };DumpSource2/schemas/client/C_Hostage.h
modified • +0 / -1 • changes: 1
Show patch
@@ -14,7 +14,6 @@ class C_Hostage : public C_BaseCombatCharacter GameTime_t m_flRescueStartTime; GameTime_t m_flGrabSuccessTime; GameTime_t m_flDropStartTime;- GameTime_t m_flDeadOrRescuedTime; CountdownTimer m_blinkTimer; VectorWS m_lookAt; CountdownTimer m_lookAroundTimer;DumpSource2/schemas/client/EventClientPollNetworking_t.h
modified • +1 / -0 • changes: 1
Show patch
@@ -2,4 +2,5 @@ class EventClientPollNetworking_t { int32 m_nTickCount;+ int32 m_nTotalTicks; };DumpSource2/schemas/modtools/CNmGraphDocAimCSNode.h
modified • +1 / -0 • changes: 1
Show patch
@@ -4,4 +4,5 @@ class CNmGraphDocAimCSNode : public CNmGraphDocFlowNode float32 m_flActionBlendTimeSeconds; // = 0.4 float32 m_flHandIKBlendInTimeSeconds; // = 0.3 float32 m_flPlantingBlendTimeSeconds; // = 0.2+ float32 m_flTransitionBlendTimeSeconds; // = 0.3 };DumpSource2/schemas/server/CMapInfo.h
modified • +1 / -0 • changes: 1
Show patch
@@ -15,4 +15,5 @@ class CMapInfo : public CPointEntity float32 m_flEnvPuddleRippleDirection; float32 m_flEnvWetnessCoverage; float32 m_flEnvWetnessDryingAmount;+ bool m_bFrostEnabled; };Protobufs/netmessages.proto
modified • +2 / -1 • changes: 3
Show patch
@@ -418,9 +418,10 @@ message CSVCMsg_CreateStringTable { optional int32 user_data_size_bits = 5; optional int32 flags = 6; optional bytes string_data = 7;- optional int32 uncompressed_size = 8; optional bool data_compressed = 9; optional bool using_varint_bitcounts = 10;++ reserved 8; } message CSVCMsg_UpdateStringTable {Protobufs/source2_steam_stats.proto
modified • +4 / -0 • changes: 4
Show patch
@@ -24,6 +24,9 @@ message CMsgSource2SystemSpecs { optional string cpu_brand = 2; optional uint32 cpu_model = 3; optional uint32 cpu_num_physical = 4;+ optional uint32 cpu_num_logical = 5;+ optional uint32 cpu_num_performance = 6;+ optional uint32 cpu_num_efficiency = 7; optional uint32 ram_physical_total_mb = 21; optional string gpu_rendersystem_dll_name = 41; optional uint32 gpu_vendor_id = 42;@@ -34,6 +37,7 @@ message CMsgSource2SystemSpecs { optional uint32 gpu_texture_memory_size_mb = 47; optional uint32 backbuffer_width = 51; optional uint32 backbuffer_height = 52;+ optional uint32 thread_pool_workers = 61; } message CMsgSource2VProfLiteReportItem {game/bin/built_from_cl.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -1 +1 @@-11206685+11228763game/bin/win64/animationsystem_strings.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -2586,6 +2586,7 @@ Cant find specified effector bone ID ('%s') for two bone IK Ceiling - round float up to nearest integer) Ceiling Float Chain Lookat+Chain Lookat Task - Trying to perform a chain lookat on top of an additive pose, this is not allowed! Check Requirement Check Type Check if any element of 'a' compares equal to 'element'.game/bin/win64/csgocfg.exe_strings.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -167,7 +167,7 @@ .CRT$XIAC .fgd /e,/select,"-15:32:27+09:24:20 1AcceptIfItemPicked() 1OnAccept() 1OnAddonDoubleClicked()game/bin/win64/engine2_strings.txt
modified • +71 / -121 • changes: 192
Show patch
@@ -624,7 +624,6 @@ $tI(knN %s ProcessBaselineAck: null frame snapshot (%d)\n %s Received SpawnGroup_LoadCompleted on client '%s'\n %s Unload\n-%s [%d] %s [%s from %d to %d - %d entities] %s [%s] %s allocation count overflow@@ -799,6 +798,7 @@ $tI(knN ' in trial: " '%s' already awaiting full update\n '%s' is malformed\n+'%s' is not a boolean; use %s=0 or %s=1\n (%d,%d) (*MARK) must have an argument (*VERB) not recognized@@ -864,6 +864,7 @@ $tI(knN , clipping_threshold: , compression_gain_db: , crest_factor_margin: +, data cleared , enable_digital_adaptive: , enable_limiter: , enforce_high_pass_filtering: @@ -873,6 +874,8 @@ $tI(knN , ignored. , initial_gain_db: , initial_level: +, keeping data+, keeping existing data , level: , localization %s , max_gain_change_db_per_second: @@ -1693,7 +1696,6 @@ $tI(knN .?AVCHLTVFrame@@ .?AVCHLTVServer@@ .?AVCHLTVServerAsync@@-.?AVCHiddenFieldValuePrinter@@ .?AVCHostStateMgr@@ .?AVCHostSubscribeForProfileEvents@@ .?AVCHttpCallback@CHLTVBroadcast@@@@ -1715,7 +1717,6 @@ $tI(knN .?AVCLambdaJob@?1???$QueueJobWithFlags@V<lambda_1>@?BK@??ServerBeginSimulate@CNetworkGameServerBase@@UEAAXAEBUEventServerBeginSimulate_t@@@Z@@IThreadPool@@QEAA?AV?$CSmartPtr@VCThreadedJob@@VCRefCountAccessor@@@@PEBDW4JobPriority_t@@I$$QEAV<lambda_1>@?BK@??ServerBeginSimulate@CNetworkGameServerBase@@UEAAXAEBUEventServerBeginSimulate_t@@@Z@@Z@ .?AVCLambdaJob@?1???$QueueJobWithFlags@V<lambda_1>@?L@??LaunchAsyncBeginRenderingViewsJob@CRenderService@@UEAAXAEBUEventClientPreOutput_t@@_N@Z@@IThreadPool@@QEAA?AV?$CSmartPtr@VCThreadedJob@@VCRefCountAccessor@@@@PEBDW4JobPriority_t@@I$$QEAV<lambda_1>@?L@??LaunchAsyncBeginRenderingViewsJob@CRenderService@@UEAAXAEBUEventClientPreOutput_t@@_N@Z@@Z@ .?AVCLambdaJob@?1???$QueueJobWithFlags@V<lambda_2>@?BA@??LaunchAsyncBeginRenderingViewsJob@CRenderService@@UEAAXAEBUEventClientPreOutput_t@@_N@Z@@IThreadPool@@QEAA?AV?$CSmartPtr@VCThreadedJob@@VCRefCountAccessor@@@@PEBDW4JobPriority_t@@I$$QEAV<lambda_2>@?BA@??LaunchAsyncBeginRenderingViewsJob@CRenderService@@UEAAXAEBUEventClientPreOutput_t@@_N@Z@@Z@-.?AVCLambdaJob@?1???$QueueJobWithFlags@V<lambda_3>@?BJ@??ProcessReadPacketEntitiesWorkItems@CNetworkGameClient@@AEAAXW4RPEStatType_t@@AEAVCEntityReadInfo@@@Z@@IThreadPool@@QEAA?AV?$CSmartPtr@VCThreadedJob@@VCRefCountAccessor@@@@PEBDW4JobPriority_t@@I$$QEAV<lambda_3>@?BJ@??ProcessReadPacketEntitiesWorkItems@CNetworkGameClient@@AEAAXW4RPEStatType_t@@AEAVCEntityReadInfo@@@Z@@Z@ .?AVCLoadAutoCompletionFunctor@@ .?AVCLoadSpawnGroupsPrerequisite@@ .?AVCLoadStartupResourcePrerequisite@@@@ -1836,71 +1837,6 @@ $tI(knN .?AVCPipedCommandLogRedirector@@ .?AVCPlayDemoClientPrerequisite@@ .?AVCPostConnectCallback@@-.?AVCProtobufBinding@?$CNetMessagePB@$03VCNETMsg_Tick@@$0BA@$0A@$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$04VCNETMsg_StringCmd@@$08$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$05VCNETMsg_SetConVar@@$08$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$06VCNETMsg_SignonState@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$07VCNETMsg_SpawnGroup_Load@@$0P@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$08VCNETMsg_SpawnGroup_ManifestUpdate@@$0P@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VC2S_CONNECTION_Message@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VC2S_CONNECT_Message@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VNetMessageConnectionClosed@@$0L@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VNetMessageConnectionCrashed@@$0L@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0?0VNetMessageSplitscreenUserChanged@@$0L@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BA@VCBidirMsg_RebroadcastGameEvent@@$04$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BB@VCBidirMsg_RebroadcastSource@@$04$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BD@VCBidirMsg_PredictionEvent@@$0A@$0A@$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BE@VCCLCMsg_ClientInfo@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BF@VCCLCMsg_Move@@$07$0A@$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BG@VCCLCMsg_VoiceData@@$05$0A@$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BH@VCCLCMsg_BaselineAck@@$0BA@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJ@VCCLCMsg_RespondCvarValue@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BL@VCCLCMsg_LoadingProgress@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BM@VCCLCMsg_SplitPlayerConnect@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BO@VCCLCMsg_SplitPlayerDisconnect@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BP@VCCLCMsg_ServerStatus@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CB@VCCLCMsg_RequestPause@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CC@V?$CBaseCmdKeyValues@VCCLCMsg_CmdKeyValues@@@@$08$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CD@VCCLCMsg_RconServerDetails@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CE@VCCLCMsg_HltvReplay@@$0BB@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CF@VCCLCMsg_Diagnostic@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CI@VCSVCMsg_ServerInfo@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CJ@VCSVCMsg_FlattenedSerializerWrapper@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CK@VCSVCMsg_ClassInfo@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CL@VCSVCMsg_SetPause@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CM@VCSVCMsg_CreateStringTable@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CN@VCSVCMsg_UpdateStringTable@@$06$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CO@VCSVCMsg_VoiceInit@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0CP@VCSVCMsg_VoiceData@@$05$0A@$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DA@VCSVCMsg_Print@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DB@VCSVCMsg_Sounds@@$03$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DC@VCSVCMsg_SetView@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DD@VCSVCMsg_ClearAllStringTables@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DE@V?$CBaseCmdKeyValues@VCSVCMsg_CmdKeyValues@@@@$08$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DG@VCSVCMsg_SplitScreen@@$09$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DH@VCSVCMsg_PacketEntities@@$0?0$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DI@VCSVCMsg_Prefetch@@$03$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DJ@VCSVCMsg_Menu@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DK@VCSVCMsg_GetCvarValue@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DL@VCSVCMsg_StopSound@@$03$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DM@VCSVCMsg_PeerList@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DN@VCSVCMsg_PacketReliable@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DO@VCSVCMsg_HLTVStatus@@$0A@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0DP@VCSVCMsg_ServerSteamID@@$0A@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EAAAAAAA@VNetMessagePacketStart@@$0L@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EAAAAAAB@VNetMessagePacketEnd@@$0L@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EG@VCSVCMsg_FullFrameSplit@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EH@VCSVCMsg_RconServerDetails@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EI@VCSVCMsg_UserMessage@@$0N@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EK@VCSVCMsg_HltvReplay@@$0BB@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EL@VCCLCMsg_HltvFixupOperatorTick@@$0BB@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EM@VCSVCMsg_UserCommands@@$0BB@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EN@VCSVCMsg_NextMsgPredicted@@$0BB@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0EO@VCSVCMsg_EncryptedData@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0L@VCNETMsg_SpawnGroup_SetCreationTick@@$0P@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0M@VCNETMsg_SpawnGroup_Unload@@$0P@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0N@VCNETMsg_SpawnGroup_LoadCompleted@@$0P@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0P@VCNETMsg_DebugOverlay@@$0BA@$00$0A@@@ .?AVCPulseCell_Base@@ .?AVCPulseCell_BaseFlow@@ .?AVCPulseCell_BaseRequirement@@@@ -2199,7 +2135,6 @@ $tI(knN .?AVIPrerequisiteRegistry@@ .?AVIPrintChangedConvarsWriter@@ .?AVIProceduralLayerRenderer@@-.?AVIProtobufBinding@@ .?AVIPulseCellDebugInfo@@ .?AVIPulseInstanceLoadAPI@@ .?AVIPulseInstanceSaveAPI@@@@ -2452,6 +2387,7 @@ $tI(knN 00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 0123456789abcdef 0123456789abcdefghijklmnopqrstuvwxyz+09:25:33 0: run all send jobs on main thread; 1: send jobs run asynchronously (except on dedicated server); 2: send jobs asynchronously; 3: send jobs run in parallel but block to not overlap the next tick; 4: main server clients' send jobs run in parallel, then HLTV server jobs; this approximately matches pre-async profile for a single HLTV server configuration 0=Off, 1=Surface Wireframe, 2=Transparent Wireframe 0=Off, 1=Visualize trace from camera, 2=Visualize occlusion, 3=Visualize far field trace from camera@@ -2465,7 +2401,6 @@ $tI(knN 1#SNAN 1.2.11 127.0.0.1-15:35:28 1:1: Tokens : ( T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | TOK_COLON | OPEN_BRACE | CLOSE_BRACE | OPEN_PAREN | CLOSE_PAREN | OPEN_BRACKET | CLOSE_BRACKET | SEMICOLON | OP_EQUAL | COMMA | DOUBLE_AND | NEGATIVE_TOK | DOUBLE_OR | LITERAL_TRUE | LITERAL_FALSE | POS_INTLITERAL | POS_FLOATLITERAL | SCOPE_QUALIFIER | ID | DOUBLE_QUOTED_STRING | SINGLE_QUOTED_STRING | SINGLE_LINE_COMMENT | ML_COMMENT | WS | UNRECOGNIZED ); 200000 3$EE\f@@ -2695,7 +2630,6 @@ $tI(knN ?GetType@netadr_t@@QEBA?AW4netadrtype_t@@XZ ?GetUint64@KeyValues@@QEBA_KPEBD_K@Z ?HandlerQueueHeartBeat@MiniDumpStandardData_t@@QEBAXXZ-?HaveWriteLock_BlockReadsNow@CThreadRWLock_FastRead@@QEAAX_N@Z ?InitEmpty@CStrAutoEncode@@AEAAXXZ ?Insert@CBufferString@@QEAAPEBDHPEBDH_N@Z ?InternalPop@CTSListBase@@AEAAPEAUTSLNodeBase_t@@XZ@@ -2758,7 +2692,6 @@ $tI(knN ?ReadAsBinary@KeyValues@@QEAA_NAEAVCUtlBuffer@@@Z ?RecursiveSaveToFile@KeyValues@@QEBAXAEAVCUtlBuffer@@H_N1@Z ?RegisterEventListener_Base@CEventDispatcher_Base@@IEAAXAEBVCUtlAbstractDelegate@@I_NAEAV?$CUtlVector@UEventListenerInfo_t@CEventDispatcher_Base@@HV?$CUtlVectorMemory_Growable@UEventListenerInfo_t@CEventDispatcher_Base@@H$0A@@@@@HPEBD@Z-?Relinquish@CBufferString@@QEAAPEADW4EAllocationOption_t@1@@Z ?Remove@CUtlString@@QEBA?AV1@PEBD_N@Z ?RemoveAll@CUtlSymbolTable@@QEAAXXZ ?RemoveAt@CBufferString@@QEAAPEBDHH@Z@@ -3218,10 +3151,9 @@ Bulgarian By default, player must ack delta ticks in order. How to enforce it: 2 = kick all clients, 1 = kick only TV clients, 0 = do not kick. By default, player must maintain a reliable connection to Steam servers. When player Steam session drops, enforce it: 2 = instantly kick, 1 = kick at next spawn, 0 = do not kick. Bypass secure challenge on TV port-C2S_CONNECTION_Message_t::GetProtobufBinding()->WriteToBuffer failed\n+C2S_CONNECTION_Message_t::WriteSizeAndBodyToBuffer failed\n C:\buildworker\csgo_rel_win64\build\_build_\engine2\_vpc_engine2\default\win64\_msvc_\Retail\engine2.pdb C:\buildworker\csgo_rel_win64\build\src\bitmap\floatbitmap.cpp-C:\buildworker\csgo_rel_win64\build\src\common\protobuf_helpers.cpp C:\buildworker\csgo_rel_win64\build\src\engine2\basespawngroup.h C:\buildworker\csgo_rel_win64\build\src\engine2\cl_demo.cpp C:\buildworker\csgo_rel_win64\build\src\engine2\cl_ents_parse.cpp@@ -3243,22 +3175,22 @@ C:\buildworker\csgo_rel_win64\build\src\engine2\loopmoderemoteconnect.cpp C:\buildworker\csgo_rel_win64\build\src\engine2\looptypeclientserver.cpp C:\buildworker\csgo_rel_win64\build\src\engine2\networkclientservice.cpp C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclient.cpp-C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclient.cpp:2666-C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclient.cpp:3674-C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclient.cpp:4458-C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclient.cpp:4754+C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclient.cpp:2681+C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclient.cpp:3706+C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclient.cpp:4550+C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclient.cpp:4846 C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclientbase.cpp C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclientbase.cpp:2819 C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclientbase.cpp:4519 C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameclientbase.cpp:4561 C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserver.cpp C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserver.cpp:1053 C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp-C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:3085-C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:5769-C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:5835-C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:5924-C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:5930+C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:3086+C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:5764+C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:5830+C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:5919+C:\buildworker\csgo_rel_win64\build\src\engine2\networkgameserverbase.cpp:5925 C:\buildworker\csgo_rel_win64\build\src\engine2\networkp2pservice.cpp C:\buildworker\csgo_rel_win64\build\src\engine2\networkserverservice.cpp C:\buildworker\csgo_rel_win64\build\src\engine2\networkstringtable.cpp@@ -3547,7 +3479,6 @@ CHLTVClientState::ProcessClassInfo: expecting to re-create serializers from serv CHLTVClientState::SendPacket CHLTVDemoRecorder::CullSpawnGroups culling message %s, spawngroup %s was never created\n CHLTVDemoRecorder::CullSpawnGroups culling message at %d unable to unserialize. %s\n-CHLTVDemoRecorder::CullSpawnGroups culling message at unknown handle\n CHLTVDemoRecorder::ParseMessage: Failed to serialize message\n CHLTVDemoRecorder::WriteFrame CHLTVDemoRecorder::WriteFrame: Failed to serialize CNETMsg_Tick_t\n@@ -3717,6 +3648,7 @@ CNetworkGameClient::InternalProcessPacketEntities CNetworkGameClient::OnPreserveEntity CNetworkGameClient::ProcessClassInfo: create on client %s\n CNetworkGameClient::ProcessClassInfo: creating client serializers from local server serializers (crc %u, server api %s)\n+CNetworkGameClient::ProcessClassInfo: failed to parse cached CSVCMsg_FlattenedSerializer_t: %s\n CNetworkGameClient::ProcessClassInfo: parsing serializers from cache due to matching crc %u\n CNetworkGameClient::ProcessTick( -1 ), ignoring during demo playback\n CNetworkGameClient::SendMoveInternal: Send delayed due to !CanPacket, tick=%d\n@@ -3745,8 +3677,8 @@ CNetworkGameServerBase::ConnectClient( name='%s', remote='%s' )\n CNetworkGameServerBase::ReplyConnection CNetworkGameServerBase::SetServerState (%s -> %s)\n CNetworkP2PService-CNetworkP2PService::InternalBroadcastP2PNetMessage: SerializeAbstract for message %s failed!\n-CNetworkP2PService::InternalBroadcastP2PNetMessage: SerializeAbstract for message %s overflowed!\n+CNetworkP2PService::InternalBroadcastP2PNetMessage: Serialize for message %s failed!\n+CNetworkP2PService::InternalBroadcastP2PNetMessage: Serialize for message %s overflowed!\n CNetworkP2PService::UpdatePeerConnectionStatus CNetworkSerializerClassInfo::Get( %s ) failed!\n CNetworkServerCreatePrerequisites@@ -3768,7 +3700,8 @@ CNetworkServerSpawnGroup_WaitForChildSpawnGroups CNetworkServerSpawnGroup_WaitForClients CNetworkServerSpawnGroup_WaitForOwnerSpawnGroupPrerequisite CNetworkStringTable::AddString: client added string which server didn't put into table (consider SetAllowClientSideAddString?): %s %s\n-CNetworkStringTableClient::ParseUpdate: message too large (%d bytes > %d).+CNetworkStringTableClient::ParseUpdate: bogus user data size (%d bytes, max %d).+CNetworkStringTableClient::ParseUpdate: failed to decompress user data for table %s CNetworkStringTableContainer::CreateStringTable CNetworkStringTableContainer::CreateStringTable with nullptr table name! CNetworkStringTableContainer::DirectUpdate@@ -3951,8 +3884,8 @@ CUtlLeanVectorBase<struct UtlLinkedListElem_t<struct CSequentialPrerequisite::Pr CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class CUtlSymbolLarge,class CEntityNameList *,class CDefLess<class CUtlSymbolLarge>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class INetworkClientService::CEventIDManager_RelayedClientMessage::EventID_t,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<class INetworkClientService::CEventIDManager_RelayedClientMessage::EventID_t>,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class IPeerGroupHandler::CEventIDManager_IPeerGroupHandler::EventID_t,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<class IPeerGroupHandler::CEventIDManager_IPeerGroupHandler::EventID_t>,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity-CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class IProtobufBinding const *,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<class IProtobufBinding const *>,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<class SchemaMetaInfoHandle_t<class CSchemaClassInfo>,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<class SchemaMetaInfoHandle_t<class CSchemaClassInfo> >,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity+CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<struct NetMessageHandle_t__ *,class CUtlVector<struct CEventDispatcher_Base::EventListenerInfo_t,int,class CUtlVectorMemory_Growable<struct CEventDispatcher_Base::EventListenerInfo_t,int,0> >,class CDefLess<struct NetMessageHandle_t__ *>,unsigned int>::Node_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<unsigned int,class CNetworkClientSpawnGroup *,class CDefLess<unsigned int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<unsigned int,class CNetworkServerSpawnGroup *,class CDefLess<unsigned int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<unsigned int,class CPVS *,class CDefLess<unsigned int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity@@ -4280,6 +4213,7 @@ CreateInterface CreateNewThreadPool CreateProcessA CreateSimpleThread+CreateStringTable @%d: failed to decompress string table data for %s\n CreateStringTable @%d\n CreateThread CreateThreadpoolWork@@ -4356,7 +4290,7 @@ DeclareCurrentThreadIsMainThread DeclareCurrentThreadIsSecondaryMainThread DecodeClassBaseline DecodeClassBaseline: NULL instance baseline table-DecodeDemoNetMessage Failed to parse message\n+DecodeDemoNetMessage Failed to parse message %s: %s\n DecodePointer DecreaseAverage DecreaseRate@@ -4634,6 +4568,7 @@ EnumValueOptions Enums must contain at least one value. Error Error - No tick marked\n+Error - Not currently playing back a demo. To start playback at a tick, use playdemo <file> start=<tick>.\n Error - Not currently playing back a demo.\n Error in bitbuf [%s]: buffer overrun. Debug in bitbuf_errorhandler.cpp\n Error in bitbuf [%s]: out of range value. Debug in bitbuf_errorhandler.cpp\n@@ -4705,7 +4640,6 @@ EventSetTime_t EventSimpleLoopFrameUpdate_t EventSimulate_t EventSplitScreenStateChanged_t-Events Exceeds Maximum Package Depth Excess render blocks detected at block Excessive frame time of %.2fms (due to '%s') clamped. Acting as if the frame only took %.2fms\n@@ -4866,6 +4800,7 @@ Failed to start recording movie: %s.*: %s\n Failed to successfully serialize connect message Failed to update on remove script entity %s of type %s: script entity instance is null\n Failed to write file %s, configFileType %d, nSlot %d\n+Failed to write vprof lite report to %s\n Failure False February@@ -4981,6 +4916,7 @@ Force full sendtable sending path. Force uncompressed update Force user input to this split screen player. ForceFixedAppIds+ForceUseBuildVersion Forced by cvar\n Forcing engine to render for the next %d frames\n FormatMessageA@@ -5047,7 +4983,6 @@ GRU1 Gain change detected at block GainController2; Game-Game Engine Game Server is not running\n Game Time Game Time %s, Mod "%s", Map "%s"\n@@ -5086,7 +5021,6 @@ Generate a report to the console based on budget group. Generate a report to the console. Generate an assert to test shipping assertion code Generated Panorama Layout XSD in %0.2f seconds.-Generic Georgian German Get Integer Attribute@@ -5275,7 +5209,6 @@ Highest unlocked game chapter. Highlight expensive physics objects Highlight expensive physics objects strength Hiragana-Hltv Replay Hltv Replay Failure: cannot find stash %d\n Hltv Replay failure: HLTV frame is not ready\n Hltv Replay failure: Hltv replay is not enabled\n@@ -5432,7 +5365,7 @@ Invalid JPEG file structure: SOS before SOF Invalid JPEG file structure: missing SOS marker Invalid JPEG file structure: two SOF markers Invalid JPEG file structure: two SOI markers-Invalid S2C_CONNECTION packet+Invalid S2C_CONNECTION packet: %s Invalid SOS parameters for sequential JPEG Invalid Steam key size Invalid argument@@ -5566,6 +5499,7 @@ LeavePVS LegacyGameUI001 LegacyUserSettingsPathID Lepcha+Let demo playback and the game rules start, dump and stop the vprof lite profiler on their own. The vprof_lite_start, vprof_lite_stop and vprof_lite_dump commands set this to 0 so that a script can drive the profiler itself. LevelLoad Lexer encountered %d error(s) Limbu@@ -5590,6 +5524,7 @@ LoadAppSystems: appSystems Load(finish) LoadAppSystems: finished LoadAppSystems: pre game/client services %f msec LoadAppSystems: %d modAppSystems took %f msec+LoadDataTablesFromBuffer: failed to parse CSVCMsg_FlattenedSerializer_t: %s\n LoadDemoClassInfos: can't allocate %d C_ServerClassInfos.\n LoadDemoClassInfos: invalid class index (%d).\n LoadImageA@@ -5771,13 +5706,12 @@ Max SourceTV spectator bandwidth rate allowed, 0 == unlimited Max bandwidth rate allowed on server, 0 == unlimited Max number of broadcast http requests in flight. If there is a network issue, the requests may start piling up, degrading server performance. If more than the specified number of requests are in flight, the new requests are dropped. Max number of broadcast1 http requests in flight. If there is a network issue, the requests may start piling up, degrading server performance. If more than the specified number of requests are in flight, the new requests are dropped.-Max number of messages that can be queued in a netchan receive buffer for an ordinary connection from a client. Max number of ticks to simulate per frame, after which simulation will start to slow down compared to real time. Max number of times a user can fail rcon authentication before being banned Maximum allowable entity delta size over unreliable delivery. Maximum amount of minutes to save history (0 is unlimited). Maximum client number on SourceTV server.-Maximum number of ticks the clock is allowed to drift before the client snaps its clock to the server's.+Maximum duration the client clock is allowed to drift from server snapshots, before the client snaps its clock to the latest server snapshot received Maximum queries per second to respond to from a single IP address. Maximum queries per second to respond to from anywhere. Maximum replay time in seconds@@ -5848,7 +5782,6 @@ MountAddonSearchPaths: Failed to find CONTENTADDONS search path.\n Mounting addon '%s'\n Mouse Mouse Control-Move Moves the camera position + orientation to the named entity Moves the camera position + orientation to the specified position Movie@@ -5958,8 +5891,8 @@ No such device No such device or address No such file or directory No such process-No vprof lite data available?\n No vprof lite data recorded\n+No vprof lite data to write to %s\n NoDefaultModPath NoKeyBindings NoLicenseOrExpired@@ -5973,6 +5906,7 @@ Not a JPEG file: starts with 0x%02x 0x%02x Not a SourceTV proxy Not a directory Not creating socket NS_HLTV due to -nohltv command line option.\n+Not currently playing back a demo. demo_timescale will take effect when playback starts\n Not enough space Not implemented yet Not logged into Steam, Steam auth will fail\n@@ -5981,7 +5915,7 @@ Not saving user configuration because host_readconfig_ignore_userconfig is set.\ Not supported. Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. Therefore, " Note: should use "addip" instead of "banip".\n-Nov 2 2026+Nov 11 2026 November Now recording to "%s", immediate mode, recorded length so far is %s.\n Now recording to "%s", recorded length so far is %s.\n@@ -6073,6 +6007,7 @@ OneofOptions Online %s, FPS %.1f, Version %i (%s)\n Only DXT1/DXT5 online texture compression supported.\n Only SourceTV Master can record demos instantly.\n+Only one filename is allowed; got '%s' and '%s'\n Only one instance of the game can be running at one time. Opaque Handle Open a VConsole subtool.@@ -6207,10 +6142,6 @@ Particle Object ParticleSystemMgr003 PatchVersion PathRemoveFileSpecA-Path_AddToTail failed for read only CFieldPath-Path_AddToTail failed, depth already == DEFAULT_MAX_PATH_DEPTH(%d)-Path_PopLast failed for read only CFieldPath-Path_SetCount failed, depth already == DEFAULT_MAX_PATH_DEPTH(%d) Pause Pause the cursor at this point. Paused: %s@@ -6352,7 +6283,7 @@ Platform the engine is running on. Play a broadcast Play a demo and report performance info. Play a demo, report performance info, and then exit-Play a recorded demo file (.dem ).+Play a recorded demo file (.dem ). Options: start=<tick> end=<tick> timescale=<float> (run with no arguments for details). Play demos in demo sequence. Play for N ticks (default=1) and then pause. Play next demo in sequence.@@ -6426,8 +6357,6 @@ Proceed Elegantly. Proceed Immediately. ProcesPacketEntitiesWorkItems_Combined ProcesPacketEntitiesWorkItems_Combined_Sort-ProcesPacketEntitiesWorkItems_Decode-ProcesPacketEntitiesWorkItems_ReadFieldList Process in-process voice chat microphone audio with the WebRTC audio processing module (requires voice_in_process). Process priority: %s, main thread priority: %s\n Process32First@@ -6437,6 +6366,7 @@ ProcessBC6HResults ProcessBaselineAck: invalid packed entity bit (%i)\n ProcessClassInfo: can't allocate %d C_ServerClassInfos.\n ProcessClassInfo: invalid class index (%d).\n+ProcessCreateStringTable(%s): failed to decompress string table data\n\n ProcessReadPacketEntitiesWorkItems ProcessServerInfo failed ProcessServerInfo( %s : %s : #%d ) - client requesting connection abort!\n@@ -6857,7 +6787,7 @@ SV: Setting game load failed flag.\n SV: Spawn Server: %s: [%s]\n SV: Spawn Server: %s\n SV: SpawnServer WriteClassInfosAndSerializesToBuffer %s.\n-SV: Unable to parse C2S_CONNECT_Message_t payload from '%s'\n+SV: Unable to parse C2S_CONNECT_Message_t payload from '%s': %s\n SV: VAC secure mode disabled.\n SV: VAC secure mode is activated.\n SV: WriteBaselines: %20.20s wrote %6d bytes [%36.36s], headroom %6d bytes\n@@ -7110,6 +7040,8 @@ Sets the server to shutdown when all games have completed Setting %s=%d\n Setting cl_ticks_warning_level=0 due to %s=false\n Setting main thread priority to %d\n+Setting vprof_lite_auto 0, quitting after playback\n+Setting vprof_lite_auto 0: the game will no longer start, dump or stop the vprof lite profiler on its own\n Settings Shavian Shooting@@ -7167,7 +7099,7 @@ Skipping unknown demo command %d\n Skips the current demo playback to the marked tick Skips to a tick in demo. Skips to location in demo.-Slamming client tick to server tick. abs( server tick %d - client tick %d = %d ) > ( cl_clockdrift_max_ticks %d + sim ticks %d = %d )\n+Slamming client tick to server tick. abs( server tick %d - client tick %d = %d ) > ( cl_clockdrift_max_ticks %.1f + sim ticks %d + jitter margin %.1f = %d )\n Slams viewport size to a specified value. Sleep SleepAfterMainLoop@@ -7193,7 +7125,6 @@ SoundOpSystemEdit001 SoundService_001 SoundSystem/SteamAudioEnabled SoundSystem001-Sounds Source2 - Warning Source2 Benchmark Results\n\n Source2 Client@@ -7256,7 +7187,6 @@ Spawn Spawn Group %d creation sequence %d create tick %d\n Spawn Group %d manifest update (create tick %d)\n Spawn Group %d unload at tick %d ignored\n-Spawn Groups Spawn group %s precache manifest overflow: this spawn group will not precache correctly on networked clients.\n SpawnGroup Specified too high an adapter number on the command line (%d/%d)!\n@@ -7374,8 +7304,6 @@ StrReplaceChar StreamPutOverflow StretchBlt String-String Command-String Table String field String literals cannot cross line boundaries. String tables user data bits restricted to %i bits, requested %i is too large\n@@ -7584,11 +7512,12 @@ Tried to register an input value %s with the same name as a concommand/convar!\n Tried to register the same input value %s twice!\n Tried to write clouded file, but we don't have Steam interfaces? Probably bug with order of initialization, or trying to run without steam\n True+TrueViewLookAhead activating aggressive slowdown. [%.1f %.1f] -> [%.1f %.1f] [pred_offset buffer_ticks]\n+TrueViewLookAhead activating tick gobble. [%.1f %.1f] -> [%.1f %.1f] [pred_offset buffer_ticks]\n TrueViewLookAhead: aggressive fixup deactivated, desired margin reached\n TrueViewLookAhead: aggressive slowdown deactivated, desired margin reached\n-TrueViewLookAhead: aggressive slowdown stopped; max number of adjustments reached\n-TrueViewLookAhead: changed %d -> %d. Activating tick gobble to get in sync\n-TrueViewLookAhead: changed %d cmds, %.1f ticks -> %d cmds %.1f ticks. Activating aggressive local sim slowdown until we get back sync\n+TrueViewLookAhead: aggressive slowdown engaged to gain %.1fms of margin (up to %.1fms)\n+TrueViewLookAhead: aggressive slowdown stopped; desired margin not reached in time!\n TrueViewLookAhead: gobble canceled, desired margin reached\n TrueViewLookAhead: gobbling. Current tick is %d, we have received a message for tick %d. Processing all messages up to %d now\n TrueViewLookAhead: no excess ticks from server to gobble\n@@ -7691,6 +7620,7 @@ Unbind a key. Unbind all keys. Under memory limit. Limit is %llu but current usage is %llu.\n Unepxected spawn group %d, %d was expected.\n+Unexpected argument '%s'; options are given as %s=<0|1>\n Unexpected authentication protocol %i! Unexpected character Unexpected character '%c' (0x%02X)@@ -7719,8 +7649,10 @@ Unknown loop type encountered in loop "%s"!\n Unknown message in DemoSpawnGroups %d.\n Unknown message in SpawnGroups %d.\n Unknown net message %d!\n+Unknown option '%s'; the only option is %s=<0|1>\n Unknown option '%s'\n Unknown property %s+Unknown spawn group message in GetSpawnGroupHandleFromMessage!\n Unknown variable %s Unknown variety of crash. You have now failed to crash. I hope you're happy.\n Unknown vtune option.\n@@ -7796,7 +7728,6 @@ Use this to tell Steam to relaunch the app right after existing UsecCmdLatency Used by the client to inform the server of their desired queue length. Derived from cl_tickpacket_recvmargin_desired and cl_tickpacket_desired_queuelength User %s is %s member of clan %s\n-User Messages User command %d recv on server %s, tick %d, margin %.1fms. (%s) frame time=%.1fms, LastCommandRecv=%d, LastCommandExecuted=%d\n UserDataFixedSize exceeds size %d needs room for %d bits\n UserSettingsFileEx@@ -7979,7 +7910,6 @@ VisBuilder_001 VisSystemDebug Visibility %s.\n Visual C++ CRT: Not enough memory to complete call to strerror.-Voice Voice/WebRTC: ERL %.1f dB ERLE %.1f dB delay %d ms voice %d frames capture %u render %u\n Voice: WebRTC audio processing could not be initialized; microphone audio will not be echo cancelled.\n Voice: WebRTC audio processing enabled (aec %d, ns %d level %d, agc %d, hpf %d).\n@@ -8194,6 +8124,7 @@ Wednesday When > 0, sets the mode whereas players see delayed replay, and are segregated into a domain of chat and voice separate from the alive players When VConsole is in the foreground, don't trigger engine_no_focus_sleep behavior When VConsole is in the foreground, force all engine & tools to render+When an entity is decoded from a baseline plus a wire delta, merge the two and decode once (true), or decode the baseline and then the delta as two passes (false, the old behaviour, which can invoke change callbacks with baseline values for an entity that already exists). When connecting to local listen server (for example, using the 'map' command), default to loopback=false, which connects to '127.0.0.1' instead of 'loopback'. This uses the network stack so that fake lag/loss can be simulated. When enabled, changes in tv_enable convars cause immediate startup or shutdown of hltv server When enabled, game server will quit immediately via syscall instead of running host states shutdown sequence@@ -8283,9 +8214,9 @@ Writing configuration for slot %d\n Writing memory stats to %s\n Writing memory stats to file memstats.txt\n Writing perf stats...-Writing vprof lite report to %s\n Wrong JPEG library version: library is %d, caller expects %d Wrote vis errors to %s\n+Wrote vprof lite report to %s\n Wrote_Screenshot X-Origin-Auth X-Origin-Auth header of the broadcast POSTs@@ -8352,10 +8283,10 @@ Zpm"U [mirror] [packed = true] can only be specified for repeated primitive fields. [player %d]: Key "%s" is not bound.\n-[removed] [s%5d c%5d t%6.3f] ApplyClockDrift correcting %d -> %d\n [s%5d c%5d t%6.3f] ClientAdvanceTick %d -> %d. %d of %d this frame\n [s%5d c%5d t%6.3f] ClientFrameSimulate %.3f\n+[s%5d c%5d t%6.3f] ClientPollNetworking client tick += %d -> %d\n [s%5d c%5d t%6.3f] ClientPollNetworking\n [s%5d c%5d t%6.3f] ClientProcessNetworking post ProcessSocketMessages\n [s%5d c%5d t%6.3f] ProcessPacketEntities start tick %d\n@@ -8790,7 +8721,7 @@ cl_clock_recvmargin_timeconstant_slowdown cl_clock_recvmargin_timeconstant_speedup cl_clock_recvmargin_window cl_clockdbg-cl_clockdrift_max_ticks+cl_clockdrift_max_secs cl_connectionretrytime_p2p cl_cq_min_queue cl_debug_build_recvmargin_min@@ -8810,6 +8741,7 @@ cl_language cl_log_tick cl_log_tick_skips cl_net_printsummary+cl_packetentities_merge_before_decode cl_parallel_readpacketentities cl_parallel_readpacketentities_threshold cl_playback_screenshots@@ -9000,6 +8932,7 @@ demo_pauseatservertick demo_quitafterplayback demo_recordcommands demo_resume+demo_skip demo_step_tick demo_timescale demo_togglepause@@ -9052,6 +8985,7 @@ dxlevel, e+000 e.g.: startmovie testmovie jpg wav jpeg_qality 75 framerate 30\n e.g.: playdemo replays/foo jpg wav framerate 30\n+e.g.: playdemo replays/foo start=2m end=+120s timescale=4\n echo echoln edem@@ -9983,6 +9917,8 @@ playcast: Packet tick %d size %u\n playdemo playdemo %s\n playdemo <demoname> [\n+playdemo: option '%s' needs a value, e.g. %s=2m\n+playdemo: unknown option '%s'. Options are start=<tick>, end=<tick>, timescale=<float>.\n player player0_using_joystick player_network_lag_avg@@ -10360,6 +10296,8 @@ stackstats_dump usage:\n\tstackstats_dump %s ["filename"]\n stackstats_dump usage:\n\tstackstats_dump struct ["filename"]. There's a single instance registered, auto-picking: %s\n standalone_vad_->AddAudio(resampled_ptr, length) == 0 standalone_vad_->GetActivity(&chunkwise_voice_probabilities_[0], chunkwise_voice_probabilities_.size()) >= 0+start+start=<tick> and end=<tick> play a range (tick syntax as for timedemo_start/timedemo_end) and write timedemo_profile.csv at the end\n startdemos startdemos: %i demo(s) in loop\n startmovie@@ -10489,7 +10427,6 @@ sv_rcon_log sv_rcon_maxfailures sv_rcon_minfailures sv_rcon_minfailuretime-sv_recvbuf_messages sv_region sv_replay_group_id sv_replaysdir@@ -10576,6 +10513,8 @@ timedemo_start timedemoquit timeout times_to_fire+timescale+timescale=<float> sets the replay speed, as demo_timescale does\n title_pw toggle toggle: Cannot parse value "%s" as boolean!\n@@ -10862,13 +10801,24 @@ vpcf vphysics2 vpks vpks/+vprof lite profiler running%s\n+vprof lite profiler stopped%s\n+vprof lite profiler stopped, data cleared\n vprof_all_threads vprof_counters vprof_counters_show_minmax vprof_dump_counters vprof_generate_report vprof_generate_report_budget vprof_generate_report_hierarchy+vprof_lite.csv+vprof_lite_auto+vprof_lite_dump+vprof_lite_dump [filename] [stop=1]\nWrite the vprof lite budget group statistics as CSV, then stop the profiler and clear its data.\nstop=0 leaves the profiler running with its data. The default filename is vprof_lite.csv in the mod directory;\nan absolute path is used as given. Sets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.+vprof_lite_start+vprof_lite_start [clear=1]\nStart the vprof lite profiler, clearing any data it holds. clear=0 keeps the data and continues adding to it.\nSets vprof_lite_auto 0, so the game will not stop or dump the profiler on its own.+vprof_lite_stop+vprof_lite_stop [clear=1]\nStop the vprof lite profiler and clear its data. clear=0 keeps the data, for engine_frametime_print_report or vprof_lite_dump.\nSets vprof_lite_auto 0, so the game will not start the profiler on its own. vprof_loadhitstore_scale vprof_off vprof_ongame/bin/win64/gfsdk_aftermath_lib.x64_strings.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -2357,6 +2357,7 @@ Error_OutOfMemory Escape sequence did not encode a valid character. Escape sequence terminated prematurely. Escape sequence was neither a valid property nor a valid character class name.+Events Evicted EvictedToDisk Exceeded nested brace limit.game/bin/win64/materialsystem2_strings.txt
modified • +8 / -8 • changes: 16
Show patch
@@ -260,9 +260,9 @@ CMaterial2::GetVertexShaderInputSignature(780): Error! Material "%s" doesn't hav CMaterial2::GetVertexShaderInputSignature(812): Error! Material "%s" doesn't have a CVsInputSignatureVector!\n CMaterial2::GetVertexShaderInputSignature(830): Error! Material "%s" has invalid signature index %d!\n CMaterial2::LoadShadersAndSetupModes(1662): Error creating shader %s for material %s!\n-CMaterialMode::ComputeWorkItemsToSetupStaticCombosForMode(2956): Failed call to FindOrCreateStaticComboDataInCache()!\n-CMaterialMode::FindOrLoadVfx(2475): DxSupportLevel %d not supported!\n-CMaterialSystem2::DynamicShaderCompile_UnloadAllMaterials(1067): ERROR!!! Shaders not freed before shader reload! (See spew above)\n\n+CMaterialMode::ComputeWorkItemsToSetupStaticCombosForMode(2958): Failed call to FindOrCreateStaticComboDataInCache()!\n+CMaterialMode::FindOrLoadVfx(2477): DxSupportLevel %d not supported!\n+CMaterialSystem2::DynamicShaderCompile_UnloadAllMaterials(1069): ERROR!!! Shaders not freed before shader reload! (See spew above)\n\n CMaterialSystem2::FrameUpdate CMaterialSystem2::GetErrorMaterial(505): GetErrorMaterial() called when m_pMaterialTypeManager == NULL!\n CMaterialSystem2::Init(153): ERROR! Empty shader mode string found! Use "Default" instead!\n@@ -427,9 +427,9 @@ MakeOrthonormalForward MakeOrthonormalRight Malgun Gothic Marlett-MatPrintShaderInfo(3492): Error reading index!\n-MatPrintShaders(3209): pVfx == NULL!\n-MatPrintShaders(3258): pVfx == NULL!\n+MatPrintShaderInfo(3494): Error reading index!\n+MatPrintShaders(3211): pVfx == NULL!\n+MatPrintShaders(3260): pVfx == NULL!\n MatUtilsRenderMesh MatUtilsRenderOutlinedRect MatUtilsRenderPrimitives@@ -713,8 +713,8 @@ WARNING: Invalid resource version (%d): %s\n \nCMaterial2::LoadShadersAndSetupModes(1748): Error creating shader %s for material %s!\n \nCMaterial2::LoadShadersAndSetupModes(1753): Error creating shader %s and cannot load error.vfx instead!\n \nCMaterial2::LoadShadersAndSetupModes(1763): Error creating static combos for shader %s and error.vfx instead!\n-\nCMaterialMode::ComputeRenderablePassesForContextInternal(3373): All bad! The error material failed in dynamic shader compile!\n-\nCMaterialMode::CreateCommandBuffer(4281): Find a graphics programmer! Trying to bind a "%s" shader that doesn't exist! for %s\n+\nCMaterialMode::ComputeRenderablePassesForContextInternal(3375): All bad! The error material failed in dynamic shader compile!\n+\nCMaterialMode::CreateCommandBuffer(4283): Find a graphics programmer! Trying to bind a "%s" shader that doesn't exist! for %s\n \nInitDynamicShaderCompileDLL(119): ERROR! Can't load vfx_dx dll, dynamic shader compile unavailable!\n \nMS,\nVS_MS_RTX \nPS_RENDER_STATEgame/bin/win64/networksystem_strings.txt
modified • +67 / -44 • changes: 111
Show patch
@@ -6,7 +6,7 @@ Percentage. . : %9s%9s\n % 3d % 8d [%8.3f %%]\n %i: culled %-20s: %s -> %s (%s)\n- %s has flag %s\n+ %s%2d: %d\n %s: %dms via %s (front=%dms, back=%dms)%s\n %s: %dms via direct route\n %s: %dms\n@@ -35,13 +35,13 @@ polymorphic\n ptr to %s [%u] serializer(%s)-!m_NetworkChangeTagCallback.IsEmpty()+!s_NetworkChangeTagCallback.IsEmpty() %%%d.%ds %%s %-10s % 5d no fastpath because field %s %s changed the array size from %d to %d\n %-10s % 5d no fastpath because field %s base depth is too large (pointer metadata change?)\n %-10s % 5d no fastpath because field %s not resolvable\n-%-10s %d %s: %s at offset %d, 0x%p array %s struct %s: index %d array size %d in %s\n+%-10s %d %s: %s at offset %d, 0x%p array of structs: index %d array size %d in %s\n %-5d %-20s : [%-5d -> %-5d] %-5s bits: %-32s %-80s : '%s' %s %-64.64s has %d CFlattendSerializer permutations\n %-75s %-75s offset %10.10s %9.9s %s@@ -53,6 +53,8 @@ %20.20s %s is variant %d/%d of %s\n %20.20s omit %d types for %s [convar net_max_polymorphic_spew=%d]\n %20.20s omit %s variants, already spewed\n+%5d%7d%7d%7d %s\n+%5s%7s%7s%7s %s\n %60.60s %15.15s %24.24s %10.10s\n %60.60s %15.15s %24s %10d %8.3f: %s: ParseMessagesDemo UNRELIABLE %d bytes\n@@ -65,6 +67,7 @@ %d [%s,%s] %s %d [0x%x] %d bits+%d bytes is too big. %d of %d empty (%.3f %%)\n %d structs not using DECLARE_NETWORKVAR_STRUCT_NOT_IN_NETWORK_UTLVECTOR_EMBEDDED, consider porting fields to use CNetworkVars!\n %d total.\n@@ -88,6 +91,7 @@ %s Gathering field offsets in %s\n %s SendMessages %s failed with EResult %d\n %s [%d fields]\n+%s [%d] %s [%u] %s ambiguous, field exists in serializer '%s' field %d\n %s does not support allocation from networking\n@@ -134,7 +138,7 @@ %s: shrinking removes delegate [0x%p]\n %s: timing out, last received %f [%.2f seconds ago]\n %s: unable to find serializer named %s\n-%s::%s has more than one MNetworkChangeCallback that requires passing network value into handler, this is unsupported\n+%s::%s encoder mismatch, local '%s' vs. remote '%s', using local\n %s::%s was in the original serializer at offset %u but that offset isn't in the ignore list!!!\n %s::%s:%u (%s ) already encountered at %s::%s:%u (%s) %s:Inbound net frame %d dropped\n@@ -212,24 +216,20 @@ .?AV?$_Node_str@D@std@@ .?AV?$collate@D@std@@ .?AVCCLCMsg_RconServerDetails_t@@-.?AVCDecodeSerializerStack@@-.?AVCDeltaCalculator@@ .?AVCDeltaFieldPathTracer@@ .?AVCEncodeSerializerStack@@ .?AVCFieldShadowSpewCollector@@ .?AVCFlattenedSerializerReadFieldListListener@@ .?AVCFlattenedSerializers@@+.?AVCHiddenFieldValuePrinter@@ .?AVCNETMsg_SplitScreenUser_t@@ .?AVCNetChan@@ .?AVCNetWhyFieldExcludedFunctor@@ .?AVCNetworkEncodingStats@@ .?AVCNetworkFieldChangedEventQueue@@ .?AVCNetworkFieldSerializerAllocator@@ .?AVCNetworkMessages@@-.?AVCNetworkSerializerPB@@ .?AVCNetworkSystem@@-.?AVCProtobufBinding@?$CNetMessagePB@$02VCNETMsg_SplitScreenUser@@$0L@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0A@VCNETMsg_NOP@@$0L@$00$0A@@@ .?AVCSchemaRegistration_networksystem@@ .?AVCSerializedEntities@@ .?AVCSerializerStack@@@@ -241,12 +241,10 @@ .?AVINetworkEncodingStats@@ .?AVINetworkFieldChangedEventQueue@@ .?AVINetworkFieldSerializerAllocator@@-.?AVINetworkMessageInternal@@ .?AVINetworkMessages@@ .?AVINetworkSystem@@ .?AVINode@CFieldPathHuffmanEncoder@@ .?AVISerializedEntities@@-.?AVISerializedEntityErrorSpewHook@@ .?AVInternalNode@CFieldPathHuffmanEncoder@@ .?AVLeafNode@CFieldPathHuffmanEncoder@@ .?AVNetMessageConnectionClosed_t@@@@ -271,7 +269,6 @@ 0 bit issue, spot 2 0 bit issue, spot 3 0 bit issue, spot 4-7;eZ\r ::Storage_t Accepting Steam Net connection %s\n AckSeqNum@@ -289,6 +286,8 @@ Average Backing Raw Paths : %8.3f\n Average Data Bytes : %8.3f bytes\n Average Memory Usage Per Entity : %8.3f bytes\n Average Number of Field Paths : %8.3f\n+AvgSz+BUG! Failed to read from buffer after checking size? BetaUniverse BufType Buffer overflow@@ -301,16 +300,18 @@ BuildMergedSerializedEntity: problem writing %s: %d bits [%d to %d] is < 1 bit BuildOutputString: change %s to %d\n BytesWire C:\buildworker\csgo_rel_win64\build\_build_\networksystem\_vpc_networksystem\default\win64\_msvc_\Retail\networksystem.pdb+C:\buildworker\csgo_rel_win64\build\src\common\protobuf_helpers.cpp C:\buildworker\csgo_rel_win64\build\src\networksystem\flattenedserializer.cpp+C:\buildworker\csgo_rel_win64\build\src\networksystem\flattenedserializer_encode.cpp+C:\buildworker\csgo_rel_win64\build\src\networksystem\flattenedserializer_setup_gamecode.cpp C:\buildworker\csgo_rel_win64\build\src\networksystem\flattenedserializers.cpp C:\buildworker\csgo_rel_win64\build\src\networksystem\netchan.cpp C:\buildworker\csgo_rel_win64\build\src\networksystem\networkmessages.cpp C:\buildworker\csgo_rel_win64\build\src\networksystem\networkserializer.cpp+C:\buildworker\csgo_rel_win64\build\src\networksystem\networkserializerregistry.cpp C:\buildworker\csgo_rel_win64\build\src\networksystem\networksystem.cpp C:\buildworker\csgo_rel_win64\build\src\public\networksystem\serializedentity.h CBuildNetworkSerializerHierarchyOrder::ComputeDepth-CDeltaCalculator::ErrorMsg %s %d\n-CDeltaCalculator::ErrorMsg: %s\n CDeltaCalculator::FieldCalcDelta fromBits CDeltaCalculator::FieldCalcDelta toBits CEntitySystem::BuildEntityNetworking (%s build of %s) took %.3f msecs for %d out of %d classes\n@@ -321,7 +322,7 @@ CFlattenedSerializer::ApplyOverrides_R CFlattenedSerializer::BuildDeltaProperties using %d bytes for encoding %d/%s\n CFlattenedSerializer::BuildHierarchy_R CFlattenedSerializer::BuildOverrideField: Problem initializing replacement field %s::%s\n-CFlattenedSerializer::Decode+CFlattenedSerializer::DecodeSerializedEntity CFlattenedSerializer::DumpSerializedEntityToConsole CFlattenedSerializer::Encode failure for entity %d\n CFlattenedSerializer::Encode overflow failure for entity %d max size is %d bytes\n@@ -353,9 +354,8 @@ CMergedEntityOffsetBuilder::Expecting at least one bit in offset CNetChan::BUF_RELIABLE CNetChan::BUF_UNRELIABLE CNetChan::BUF_VOICE-CNetChan::ParseMessages CNetChan::ProcessMessages-CNetChan::SendNetMessage: SerializeAbstract for message %s failed!\n+CNetChan::SendNetMessage: Failed to serialize %s\n CNetChan::SendNetMessage: Trying to send message %s, which is an invalid category for this channel!\n CNetChan::SendNetMessage: Unable to send message %s, buffer is full!\n CNetChan::Setup for %s\n@@ -364,27 +364,14 @@ CNetSerializerStrongHandle::Serialize CNetSerializerStrongHandle::Unserialize CNetworkFieldChangedEventQueue::QueueChange: ran out of scratch data space!!!\n CNetworkFieldChangedEventQueue::QueueReplayCompatFieldChange-CNetworkMessages::AllocateAndCopyConstructNetMessageAbstract unable to allocate unknown message type!\n-CNetworkMessages::ComputeOrderForPriority CNetworkMessages::ConfirmAllMessageHandlersInstalled-CNetworkMessages::DeallocateUnserializedMessage unable to deallocate unknown message type!\n CNetworkMessages::FindOrCreateGroupId CNetworkMessages::FindOrCreateGroupId: Too many network groups!\n-CNetworkMessages::FindOrCreateNetMessage CNetworkMessages::FindOrCreateNetMessage: It is illegal to register new net messages after serialization!\n-CNetworkMessages::FindOrCreateNetMessage: Message %s is expected to have already been registered!\n-CNetworkMessages::InitNetworkChangeTag-CNetworkMessages::InitNetworkChangeTag - missing m_NetworkChangeTagCallback, should have been installed by CEntitySystem::Init call to g_pNetworkMessages->RegisterNetworkChangeTagCallback!-CNetworkMessages::RegisterFieldChangeCallbackPriority-CNetworkMessages::RegisterNetworkArrayFieldSerializer-CNetworkMessages::RegisterNetworkFieldChangeCallbackInternal-CNetworkMessages::RegisterNetworkFieldSerializer CNetworkMessages::Serialize attempted to serialize a non-serializeable message [%s]!\n CNetworkSerializer: Unable to find network encoder named %s!\n CNetworkSerializer::AssignSharedChangeCallbackIndex CNetworkSerializer::DetermineFieldSerializerGroup-CNetworkSystem::BufferToBufferDecompress with improperly sized dest buffer (%u in, %llu needed)\n-CNetworkSystem::BufferToBufferDecompress with improperly sized dest buffer (%u in, %u needed)\n CNetworkSystem::CleanupDebugOutputFunction()\n CNetworkSystem::CloseAllSockets()\n CNetworkSystem::GetPacket@@ -427,16 +414,17 @@ CUtlLeanVectorBase<struct UtlLinkedListElem_t<struct CNetworkFieldChangedEventQu CUtlLeanVectorBase<struct UtlLinkedListElem_t<struct CNetworkFieldPointerAllocationQueueInfo_t,unsigned int>,unsigned int,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<int,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CNetChan::SplitPlayer_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity-CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<int,class INetworkMessageInternal *,class CDefLess<int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<int,int,class CDefLess<int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity+CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct CUtlOrderedMapBase<int,struct NetMessageInfo_t *,class CDefLess<int>,unsigned short>::Node_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorBase<struct UtlRBTreeNode_t<struct OverrideWork_t,unsigned short>,unsigned short,class CMemAllocAllocator>::EnsureCapacity CUtlLeanVectorImpl<class CUtlLeanVectorBase<struct CUtlHashMap<class CFieldPath,class CDTIField,class CDefEquals<class CFieldPath>,struct DefaultHashFunctor<class CFieldPath>,int>::HashBucket_t,int,class CMemAllocAllocator>,struct CUtlHashMap<class CFieldPath,class CDTIField,class CDefEquals<class CFieldPath>,struct DefaultHashFunctor<class CFieldPath>,int>::HashBucket_t,int>::AddMultipleToTail CUtlLeanVectorImpl<class CUtlLeanVectorBase<struct CUtlHashMap<class CSerializerHandle_t<class CFlattenedSerializer>,class CDTISerializerInfo *,class CDefEquals<class CSerializerHandle_t<class CFlattenedSerializer> >,struct DefaultHashFunctor<class CSerializerHandle_t<class CFlattenedSerializer> >,int>::HashBucket_t,int,class CMemAllocAllocator>,struct CUtlHashMap<class CSerializerHandle_t<class CFlattenedSerializer>,class CDTISerializerInfo *,class CDefEquals<class CSerializerHandle_t<class CFlattenedSerializer> >,struct DefaultHashFunctor<class CSerializerHandle_t<class CFlattenedSerializer> >,int>::HashBucket_t,int>::AddMultipleToTail CUtlLeanVectorImpl<class CUtlLeanVectorBase<struct CUtlHashMap<unsigned int,int,class CDefEquals<unsigned int>,struct DefaultHashFunctor<unsigned int>,int>::HashBucket_t,int,class CMemAllocAllocator>,struct CUtlHashMap<unsigned int,int,class CDefEquals<unsigned int>,struct DefaultHashFunctor<unsigned int>,int>::HashBucket_t,int>::AddMultipleToTail+CUtlLeanVectorImpl<class CUtlLeanVectorBase<struct ChangeCallback_t,int,class CMemAllocAllocator>,struct ChangeCallback_t,int>::InsertBeforeGetPtr CUtlLeanVectorImpl<class CUtlLeanVectorFixedGrowableBase<struct CFieldPath::Path_t,6,int,class CMemAllocAllocator>,struct CFieldPath::Path_t,int>::AddMultipleToTail CUtlLeanVectorImpl<class CUtlLeanVectorFixedGrowableBase<unsigned int,3,int,class CMemAllocAllocator>,unsigned int,int>::AddMultipleToTail-CUtlSortVector<int,class CNetworkMessages::CPriorityLess,class CUtlVector<int,int,class CUtlVectorMemory_Growable<int,int,0> > >::Find-CUtlSortVector<int,class CNetworkMessages::CPriorityLess,class CUtlVector<int,int,class CUtlVectorMemory_Growable<int,int,0> > >::InsertIfNotFound+CUtlSortVector<int,class CPriorityLess,class CUtlVector<int,int,class CUtlVectorMemory_Growable<int,int,0> > >::Find+CUtlSortVector<int,class CPriorityLess,class CUtlVector<int,int,class CUtlVectorMemory_Growable<int,int,0> > >::InsertIfNotFound CacheableConnectionExpired CalcDelta Can't ConnectLoopback between socket %d and %d, not enough slots\n@@ -456,6 +444,7 @@ Cannot use priority equal to NETWORK_FIELD_CHANGE_DEFAULT_PRIORITY!\n Capture active, %s samples written\nnet_captureculldata stop to stop the capture\n Checking for missing CNetworkVar* declarations\n Class,Field,Field Path,Decode Count,Total Bits,Avg Bits,Total Index Bits,Avg Index Bits,Priority,=SUM(E:E),Full Name,Notes\n+Client Messages CloseSocket CloseSteamNetConnection handle #%u (userdata %d)%s\n Closing '%s' P2P listen socket\n@@ -472,6 +461,8 @@ Couldn't resolve offset %u in %s at path (%d = '%s')\n CreateHostedDedicatedServerListenSocket for socket '%s' failed /+/ port %u vport %d\n CreateReplayCompatSerializerFromMeta creating fake serializer for %s\n Created poll group for socket '%s'\n+DECODE FAILED+DISCARD array size DTI %s\n DTI reset\n DTI: can't Flush(), no data to write.\n@@ -491,7 +482,7 @@ Encountered 2 fields "%s" and "%s" in struct "%s" using the same change callback Encountered message with an invalid network category! [net message %s] End of stream Error installing message handlers into a net channel: missing handlers in channel %s!\n-Error parsing message type %d (%s)+Error parsing message type %d (%s): %s Error processing network message %s! Channel is closing!\n Error! Failed to WSAStartup! err = %d.\n Error: Components count + networkable data type must be the same for all instances of network field serializer (%s)!\n@@ -502,10 +493,10 @@ EstablishCacheableSharedNetConnection(%s) failed\n EstablishNewSteamNetConnection ConnectByIPv4Address(%s) failed\n EstablishNewSteamNetConnection ConnectP2P(%s) failed\n Established cacheable shared Steam Net Connection to '%s'\n+Events Exceeded max number proxies in CFlattenedSerializer::BuildHierarchy() Executing queued command: '%s'\n Expected AVG or PROFILE argument\n-Expecting NetMessageInfo_t::m_pProtobufBinding to be non-NULL Extra connection [%s]:\n FAKE array size FAKE pointer@@ -515,6 +506,7 @@ Failed to create poll group for socket '%s'?\n Failed to install message handler for message %s in channel %s!\n Failed to open P2P network socket '%s'\n Failed to open UDP network socket '%s'\n+Failed to parse %s. %s\n Failed to set SteamNetworkingSockets option '%s'\n Failed to start listening for SDR on port %d. Waiting and will retry\n FakeJitter@@ -530,10 +522,11 @@ Field %s::%s specified an unknown field change callback %s!\n Field names match, but types do not to match %s::%s local type is '%s' vs. remote type is '%s'\n FieldPathEncodeFinish FlattenedSerializerField_t::FindPolymorphicFieldInfoByCodegenBinding+Frame too large (%d bytes uncompressed), limit is %s=%d+Game Engine GatherAllFieldOffsets_R: local offset of %s::%s %u is too large (%u max)\n GatherSendProxyResults GetBitRange( %d -> %d ) end is before or same as start\n-GetPathData failed for read only CFieldPath Got ISteamNetworkingSockets user interfaces from standalone lib\n Got ISteamNetworkingSockets user interfaces from steam client\n Got message on poll group for socket %s, but cannot find connection in table?@@ -544,6 +537,8 @@ HParticleSystemDefinitionStrong HPostProcessingStrong HRenderTextureStrong HVDataResourceStrong+History: %s\n+Hltv Replay IND)ind)" INetChannel::SetCategories: Network category wasn't registered!\n INetworkSystem::RegisterNetworkCategory: Attempted to register category %u twice (debug name: %s and %s)\n@@ -563,6 +558,7 @@ JitterMS Kind LastSeqNum Latency. . . . . . . . : %7dms%7dms%7dms net_fakelag\n+Lead byte(s) encode invalid size %d. (%d bytes remaining) Leaked channel %s remote %s\n Loss . . . . . . . . . : %8.2f%%%8.2f%%%9s net_fakeloss\n MNetworkBitCount@@ -580,10 +576,13 @@ MNetworkSerializer MNetworkUserGroup MNetworkVarTypeOverride is referring to an unknown class name %s in class %s\n MakeSerializersMatchByMeta failed for %s\n+Max struct change callbacks queued at one level, per entity decode (inline capacity %d):\n+MaxSz Measured RTT to %d SDR points of presence.\n Merge Message of type (%s) %d size %d exceeded maximum message size %d; allowing as per %s=%d\n Message of type (%s) %d size %d exceeded maximum message size %d; rejecting.\n+MinSz Multiple steam net connections from %s\n NETWORK_FIELD_CHANGED_ARRAY_NO_VALUE NETWORK_FIELD_CHANGED_ARRAY_WITH_VALUE@@ -600,7 +599,7 @@ NETWORK_FIELD_HIGHEST_PRIORITY NETWORK_FIELD_LOWEST_PRIORITY Net graph %s\n Net status for host %s:\n-NetChan %s ProcessMessages has exhausted its CPU time warning budget. %dms to process %d messages this call. (Current message type: '%s')\n+NetChan %s ProcessMessages excessive CPU usage. %dms to process %d messages this call. (Current message type: '%s', drop budget remaining: %.1fms)\n NetChanFlowIncomingAck NetChanRecv NetChanRecvMisdelivery@@ -612,14 +611,23 @@ NetChanTransmitReliable NetChanTransmitUnreliable NetChannel '%s':\n NetMessage '%s' still using auto-assigned, has to generate id from name CUtlStringToken hashcode = %d\n+NetSerializers_ComputeOrderForPriority+NetSerializers_InitNetworkChangeTag+NetSerializers_InitNetworkChangeTag - missing s_NetworkChangeTagCallback, should have been installed by CEntitySystem::Init call to g_pNetworkMessages->RegisterNetworkChangeTagCallback!+NetSerializers_RegisterFieldChangeCallbackPriority+NetSerializers_RegisterNetworkArrayFieldSerializer+NetSerializers_RegisterNetworkFieldChangeCallback+NetSerializers_RegisterNetworkFieldSerializer+Net_BufferToBufferDecompress: decompressed size %llu exceeds NET_MAX_PAYLOAD\n+Net_BufferToBufferDecompress: malformed compressed data\n+Net_BufferToBufferDecompress: uncompressed size %llu exceeds NET_MAX_PAYLOAD\n Netchan '%s' closed unexpectedly: %s\n Netchan [%s] already associated with hconn #%u, but now we are getting messages on new hconn #%u using the same 'from' address\n Netchan queued message new high water mark reached by %s at %d messages\n Network System Initialized\n Network field tried to use a priority that has not been registered!\n Network socket '%s' opened on port %d\n NetworkConfigLimits-NetworkMessages::FindOrCreateNetMessage: Message %s is of size %d in leaf code, but protobuf object is size %lld, the added fields should be placed into object derived from protobuf and then CNetMessagePB references that\n NetworkReplayCompatField_t %s::%s on field '%s' is using possibly bogus this pointer from class %s!\n NetworkSystem NetworkSystem/CreateListenSocketP2P@@ -652,8 +660,6 @@ PACKET_STATUS_DROPPED PACKET_STATUS_INVALID PACKET_STATUS_NORMAL PACKET_STATUS_OUT_OF_ORDER-Path_Remove failed for read only CFieldPath-Path_RemoveAll failed for read only CFieldPath Peer To Peer PlusFour PlusN@@ -672,6 +678,7 @@ PopOnePlusN PopOnePlusOne ProcessOverride encountered unknown directive NetworkOverrideType_t(%d)\n Processing+Protobuf parse failed PublicUniverse PushN PushNAndNonTopographical@@ -708,6 +715,7 @@ Recv RecvMarginMS RegisterNetMessageHandlerAbstract: Attempted to register a message handler for a message which is not valid for this category of channel [message %s]!\n RegisterNetMessageHandlerAbstract: Must call StartRegisteringMessageHandlers before, and FinishRegisteringMessageHandlers after [message %s]!\n+Reliable payload expands to %d bytes, limit is %d ReliableNetSize ReliableSize RemoveArrayElementsOutsideOfArrayMetadataBounds: %s [ent %d] removing change '%s' for field %s (value '%s') on array that has metadata with only %d array elements!\n@@ -731,6 +739,7 @@ Socket '%s' bound to '%s' [%s]:\n Socket '%s' listening for %s on port %d:\n Socket '%s' listening for SDR on port %d virtual port %d\n Socket layer initialized: \n+Spawn Groups Steam Net connection %s %s, reason %d: %s\n Steam supporting smaller max routable packet than engine expecting (%d vs %d)\n SteamAPI_GetHSteamPipe@@ -755,11 +764,14 @@ SteamNetworkingSockets not yet initialized. Queuing command '%s'\n SteamNetworkingSockets_LibV12 SteamNetworkingUtils_LibV4 Stopping capture, %s samples written\n+String Command+String Table Summary of connection [%s]:\n TCP/UDP Disabled.\n The 'sdr' console command has been renamed to 'net_option'. Please update your scripts\n TimeTable Too many incoming messages on channel (%s) %d remain queued, limit per-frame is %d.\n+Too many messages in one frame (%d), limit is %s=%d Too many proxies for serializer %s. Too many queued messages (%d) Too many queued messages on channel (%s) %d queued, limit is %d.\n@@ -777,6 +789,7 @@ Unknown message type %u Unreasonable reliable nUncompressedSize (%d). Unreasonable unreliable nUncompressedSize (%d). Unreliable header too small+Unreliable payload expands to %d bytes, limit is %d UnreliableNetSize UnreliableSize Unserialized nonresident asset %s status [%d]@@ -785,6 +798,7 @@ Usage: net_option <setting> [<value>]\n Usage:\nnet_fakejitter [send|recv] AVG [PCT] [MAX]\nnet_fakejitter [send|recv] PROFILE\n\nsend|recv If present, applies the changes to the specified direction only.\nAVG Mean delay, for packets that are jittered, in ms. The random\n delay is chosen using the exponential distribution.\nPCT Percentage of packets (0...100) that will receive a random delay.\nMAX Clamp random jitter delay to MAX ms.\nPROFILE One of: off, low, med, high, huge\n\nUse net_fakestatus to display current simulated network conditions.\n UsecEngineLatency UsecLocalLatency+User Messages Using Valve ICE implementation\n VERBOSE_BITCOUNT VERBOSE_ENDBIT@@ -804,10 +818,12 @@ ValidateSerializedEntity: metadata incorrect entry for %s [%d expected %d]\n ValidateSerializedEntity: missing metadata entry for %s\n Valve.Source.Net VectorWS+Voice WriteFields WriteToBuffer Message %s is not initialized! Probably missing required fields!\n Writing %d bits for path %s of serializer %s entity %d, this will fail to parse\n [ Net Message Info: %s ]\n+[ T-%.1fms %d msgs %.1fms ] [%s] DISCONNECTING. ProcessMessages has exhausted its CPU time budget. %dms to process %d messages this call. (Current message type: '%s')\n [%s] Queued message count %d exceeds limit of %s=%d. Allowing due to engine_frametime_warnings_enable=false\n [%s] high frame misdelivery %.1f%%, %d/%d of %d frames dropped/reordered, %.0fms ping, %.0fms peak jitter\n@@ -817,7 +833,16 @@ Writing %d bits for path %s of serializer %s entity %d, this will fail to parse\ [Group] [Name] [context entity 0x%p]+[ent %d] Decode path %s has polymorphic type id %u for pointer %s::%s [%d], which has %d types. Rejecting the rest of the entity.\n+[ent %d] Decode path %s is %d deep under array of primitives %s::%s [%d], expected exactly one level (the element index). Rejecting the rest of the entity.\n+[ent %d] Decode path %s is %d deep under primitive field %s::%s [%d], expected to end at the field. Rejecting the rest of the entity.\n+[ent %d] Decode path %s is below null element %d of array of pointers %s::%s [%d]. Discarding its fields.\n+[ent %d] Decode path %s names embedded substruct %s::%s [%d] directly, which is useless. Ignoring this field path.\n+[ent %d] Decode path %s names field %d of %s, which has %d fields. Rejecting the rest of the entity.\n+[ent %d] Decode path %s repeats array of structs %s::%s [%d]. Rejecting the rest of the entity.\n+[ent %d] Field %s::%s [%d] is a pointer to a primitive, which is not a supported combination of features. Rejecting the rest of the entity.\n [opaque]+[removed] \nNon-networkables\n\n \rBytes \tCannotBeNetworked = %s\n@@ -874,7 +899,6 @@ decode decoding FAKE deleted delta >= 1u-delta_error depth %2d: %d serializers\n drop dropped@@ -922,7 +946,6 @@ inpacket.message invalid! invalid_address latency_seconds-m_bCanStillRegisterCallbackPriorities m_nSharedChangeCallbackCount must be <= EncounteredSharedChangedCallbackBitVec_t::knFixedBitSize mark all recursively (%s) marked %s by user group %s@@ -933,7 +956,7 @@ marked by nobase marked by user group matrix3x4_t matrix3x4a_t-nIndex != m_priorityToOrderMap.InvalidIndex()+nIndex != s_priorityToOrderMap.InvalidIndex() nPriority != NETWORK_FIELD_CHANGE_DEFAULT_PRIORITY name,type,offset net_fakeclear: Cleared simulated network conditions\n@@ -1000,13 +1023,13 @@ regex_error(error_syntax) reliable reliable_bits render_interpolation_fraction+s_bCanStillRegisterCallbackPriorities sent sentinel serializer,permutations server_framerate server_framerate_stddev showing permutations for %s\n-shutdown single permutation skip steamappidgame/bin/win64/panorama_strings.txt
modified • +0 / -1 • changes: 1
Show patch
@@ -5462,7 +5462,6 @@ file://{resources}/default_keybinds.cfg file://{resources}/keybinds.cfg file://{resources}/window_keybinds.cfg filename too big-fill fill fill-opacity fill-parent-flowgame/bin/win64/rendersystemdx11_strings.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -828,6 +828,7 @@ FindOrCreateTexture: Texture scope is unspecified!\n FindOrCreateTexture: Texture usage is unspecified!\n Floating point "Predictor" not supported with %d data format ForceHardwareSync+ForceLoadShader: invalid shader loading state %d, shader %p has likely been freed\n FormatMessageW Found %d streaming textures in array, but in-flight count is %d\n Found registry key %ls in %lsgame/bin/win64/resourcecompiler_strings.txt
modified • +2 / -3 • changes: 5
Show patch
@@ -9020,7 +9020,7 @@ $key:FloatBitmap_t /vpk.privatekey.vdf /vpk.publickey.vdf 0123456789)"-15:37:26+09:29:58 1:1: Tokens : ( PLUS | MINUS | MUL | DIV | COMMA | LPAREN | RPAREN | EQUALS | PERCENT | INT | FLOAT | ID | ML_COMMENT | SL_COMMENT | NL | WS ); 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | BOOLLITERAL | ID | INTEGERLITERAL | HEXINTEGERLITERAL | FLOATLITERAL | COMMENT | WS ); 241:1: FLOAT : ( ( MINUS )? ( DIGIT )+ '.' ( DIGIT )* ( EXP )? ( FLOATSUFFIX )? | ( MINUS )? ( DIGIT )+ ( EXP )? ( FLOATSUFFIX )? | ( MINUS )? '.' ( DIGIT )+ ( EXP )? ( FLOATSUFFIX )? );@@ -16041,7 +16041,6 @@ nParentIdx != NM_INVALID_INDEX nPriority nServerLOD nX=%? nY=%?-nXAO name_delta namespace navProperty_@@ -16198,7 +16197,7 @@ pathing_visibility_threshold pathingcoeffs pathingeq pathingmixlevel-pc64 Nov 2 2026 15:37:25+pc64 Nov 11 2026 09:30:19 perchannel permissive_panorama_compiles permitrepeatsgame/bin/win64/resourceinfo.exe_strings.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -7243,7 +7243,7 @@ x509_req x509_store x931 yS/h-z0?g\f+z0?g\r zlVO zlib compression zonegame/bin/win64/soundsystem_strings.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -1594,6 +1594,7 @@ Event Type: STEP\n Event VSNDS:\n Event: %f pattern: %f glob: %f loops: %i\n Event: %s\n+Events Exponential Exponential Ramp Extra tapsgame/bin/win64/steamnetworkingsockets_strings.txt
modified • +61 / -19 • changes: 80
Show patch
@@ -496,6 +496,7 @@ .?AVSymmetricCryptContextBase@@ .cnf .conf+.fptable .include /%d%+d 0123456789@@ -758,6 +759,7 @@ Assertion Failed: !m_pNextTaskInQueue Assertion Failed: !m_pParentListenSocket Assertion Failed: !m_pPartner Assertion Failed: !m_pPartner->m_fakeIPRefRemote.IsValid()+Assertion Failed: !m_pPendingSTUNRequest Assertion Failed: !m_pPollGroup Assertion Failed: !m_pPollGroup->m_vecConnections.HasElement( this ) Assertion Failed: !m_pPrevTaskForTarget@@ -880,8 +882,11 @@ Assertion Failed: a.m_adr == m_adr Assertion Failed: a.m_eProtocol == m_eProtocol Assertion Failed: a.m_pServer == nullptr Assertion Failed: a.port()+Assertion Failed: addr.GetType() == k_EIPTypeV4+Assertion Failed: addr.GetType() == k_EIPTypeV6 Assertion Failed: addr.IsFakeIP() Assertion Failed: addrFakeIP.GetFakeIPType() == k_ESteamNetworkingFakeIPType_GlobalIPv4+Assertion Failed: addrPeer.GetType() == k_EIPTypeV6 Assertion Failed: adr.GetType() == k_EIPTypeV4 Assertion Failed: adr.HasIP() Assertion Failed: alt.m_nPenalty == k_nSDRAltAddressPenalty_PingOnly@@ -894,6 +899,7 @@ Assertion Failed: bStillInQueue == ( pSeg->m_pMsg->m_links.m_pQueue != nullptr ) Assertion Failed: bStillInQueue || pSeg->m_pMsg->m_links.m_pNext == nullptr Assertion Failed: bStillInQueue || pSeg->m_pMsg->m_linksSecondaryQueue.m_pNext == nullptr Assertion Failed: begin <= end+Assertion Failed: bestRoute.m_idxViaCluster >= 0 Assertion Failed: bucket.m_nMinPing <= bucket.m_nMaxPing Assertion Failed: bucket.m_nPingCount > 0 Assertion Failed: buf[0] >= '0' && buf[0] <= '9'@@ -991,6 +997,7 @@ Assertion Failed: g_vecSharedClusterDataInConfigOrder.size() == m_vecClusters.si Assertion Failed: gapFilled->first < gapFilled->second Assertion Failed: gapFilled->first <= nSegBegin Assertion Failed: gapFilled->second > nSegBegin+Assertion Failed: h->first < h->second.m_nEnd Assertion Failed: hAPICall != k_uAPICallInvalid Assertion Failed: has_element( m_vecLinkedConnections, pConn ) Assertion Failed: identity.m_cbSize <= sizeof( identity.m_genericBytes )@@ -1044,13 +1051,15 @@ Assertion Failed: len( m_vecAvailableTransports ) == i Assertion Failed: len( m_vecLinkedConnections ) == ( ( m_pConnection != nullptr ) ? 1 : 0 ) Assertion Failed: links.m_pNext == nullptr Assertion Failed: links.m_pPrev == nullptr+Assertion Failed: localAddr.GetType() == k_EIPTypeV6 Assertion Failed: lookup.m_nFirstShell > 0 Assertion Failed: m->m_conn == m_hConnectionSelf Assertion Failed: m.m_nIndirectPing >= 0 Assertion Failed: m_CertStatus.m_eAvail != k_ESteamNetworkingAvailability_NeverTried Assertion Failed: m_CertStatus.m_eAvail == k_ESteamNetworkingAvailability_Current Assertion Failed: m_Put >= 0 Assertion Failed: m_TotalElements != InvalidIndex()+Assertion Failed: m_addrTURNServer.IsValid() Assertion Failed: m_arMarker[n-1].m_nID != m_arMarker[n].m_nID Assertion Failed: m_bConnectionInitiatedRemotely Assertion Failed: m_bCryptKeysValid@@ -1110,6 +1119,7 @@ Assertion Failed: m_idxServerMigrationTarget == -1 Assertion Failed: m_info.m_cbPkt < sizeof(m_pkt) Assertion Failed: m_itNextInFlightPacketToTimeout != it Assertion Failed: m_itNextInFlightPacketToTimeout == m_mapInFlightPacketsByPktNum.end()+Assertion Failed: m_itPendingAck->second.m_nEnd == INT64_MAX Assertion Failed: m_keyPrivate.IsValid() Assertion Failed: m_keyPublic.IsValid() Assertion Failed: m_listReadyRetryReliableRange[ relSeg.m_hStatusOrRetry ] == hSeg@@ -1219,7 +1229,6 @@ Assertion Failed: m_pktNumInFlight == 0 && m_eActivityLevel == ELinkActivityLeve Assertion Failed: m_queueIndex == -1 Assertion Failed: m_queueIndex >= 0 Assertion Failed: m_queueRecvMessages.empty()-Assertion Failed: m_receiverState.m_itPendingAck->second.m_nEnd == INT64_MAX Assertion Failed: m_receiverState.m_itPendingNack->first < nExpectedNextPktNum Assertion Failed: m_response.m_nStatusCode >= 0 Assertion Failed: m_routeSelector.m_vecClusters.size() == g_vecSharedClusterDataInConfigOrder.size()@@ -1283,6 +1292,7 @@ Assertion Failed: m_vecAvailableTransports.empty() Assertion Failed: m_vecConnections.Count() == i Assertion Failed: m_vecFakeIPRef.empty() Assertion Failed: m_vecLinkedConnections.empty()+Assertion Failed: m_vecPendingPeerRequests.empty() Assertion Failed: m_vecRoutes.empty() Assertion Failed: m_vecServers.empty() Assertion Failed: marker.m_nIndirectPing >= 0 && marker.m_nIndirectPing <= SteamNetworkPingLocationInternal_t::k_nMaxReasonablePing@@ -1367,6 +1377,7 @@ Assertion Failed: nPktNum > 0 Assertion Failed: nPktNum > 0 && nPktNum < TLinkStatsTracker::m_nMaxRecvPktNum Assertion Failed: nPktNum >= 0 Assertion Failed: nPktNumAckBegin >= 0+Assertion Failed: nPktNumBeforeSentinelGap <= m_statsEndToEnd.m_nMaxRecvPktNum Assertion Failed: nPktNumNackBegin >= 0 Assertion Failed: nRawScore >= 0 Assertion Failed: nReasonCode == k_ESteamNetConnectionEnd_Misc_P2P_Rendezvous@@ -1525,6 +1536,8 @@ Assertion Failed: pTask->m_eTaskState == CQueuedTask::k_ETaskState_ReadyToDelete Assertion Failed: pTask->m_pTarget == nullptr Assertion Failed: pTask->m_pTarget == this Assertion Failed: pThis->m_nReplyTimeoutsSinceLastRecv == 0+Assertion Failed: pThisPair->m_nState != kICECandidatePairState_InProgress+Assertion Failed: pThisPair->m_nState == kICECandidatePairState_InProgress Assertion Failed: pTransport Assertion Failed: pTransport && pTransport->m_listRelaySessions.IsEmpty() Assertion Failed: pVal->m_pInherit@@ -1559,6 +1572,7 @@ Assertion Failed: r.m_nSortScoreLocal < 9999 Assertion Failed: r.pop_id() == c.m_pConfig->m_id Assertion Failed: relInfo.m_nSentReliableSegRefCount > 0 Assertion Failed: relSeg.m_nRefCount > 0+Assertion Failed: remoteCandidate.m_addr.GetType() == k_EIPTypeV4 Assertion Failed: result != 0 Assertion Failed: result == -1 Assertion Failed: route.m_idxClusterLocal == pClusterData->m_idxInConfig@@ -1854,13 +1868,16 @@ C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steam C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_connections.cpp C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_connections.h C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_ice_client.cpp-C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_lowlevel.cpp C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_lowlevel.h+C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_lowlevel_misc.cpp C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_p2p.cpp C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_p2p.h C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_p2p_ice.cpp C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_snp.cpp C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_snp.h+C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_socketthread.cpp+C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_spew.cpp+C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_taskqueue.cpp C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\clientlib\steamnetworkingsockets_udp.cpp C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\sdr\steamdatagram_internal.h C:\buildworker\sdr_public_win64\build\src\steamnetworkingsockets\sdr\steamdatagram_network_config.cpp@@ -2112,16 +2129,13 @@ CSteamNetworkingICESession::GatherInterfaces CSteamNetworkingICESession::OnPacketReceived CSteamNetworkingICESession::Think CSteamNetworkingICESession::Think_TestPeerConnectivity-CSteamNetworkingICESession::UpdateHostCandidates CSteamNetworkingMessages::BHandleNewIncomingConnection CSteamNetworkingMessages::DestroySession CSteamNetworkingMessages::FindOrCreateChannel CSteamNetworkingMessages::FreeResources CSteamNetworkingSockets::Destroy CSteamNetworkingSockets::KillConnections CSteamNetworkingSocketsSDR::Destroy-CSteamNetworkingSocketsSTUNRequest::CreatePeerConnectivityCheckRequest-CSteamNetworkingSocketsSTUNRequest::SendBindRequest CSteamNetworkingSocketsSTUNRequest::Think CSteamNetworkingSocketsSteamBase::BInitSteamBase CSteamNetworkingUtils::CSteamNetworkingUtils@@ -2299,7 +2313,6 @@ ConvertInterfaceGuidToLuid ConvertInterfaceGuidToLuid failed 0x%x ConvertInterfaceLuidToIndex ConvertInterfaceLuidToIndex failed 0x%x-Could not bind to %s. %s\n Could not find secondary wifi adapter, even though wlan_intf_opcode_secondary_sta_synchronized_connections returned %u items CreateEvent() call failed. Error code 0x%08x. CreateFakeUDPPort@@ -2750,7 +2763,6 @@ Failed to negotiate mutually-agreeable cipher Failed to parse %s value %s Failed to parse '%s'. %s\n Failed to parse JSON %s-Failed to parse address '%s' as an IP address. Failed to parse authorized client identity. %s Failed to parse gameserver identity. %s Failed to parse result JSON. Line %d, offset %d: %s@@ -2797,12 +2809,15 @@ FakeUDPSession::Think Fatal Assertion Failed: (uint8 *)pEncryptedDataAndTag + cbEncryptedWithoutTag == pOut Fatal Assertion Failed: EVP_DecryptInit_ex( ctx, nullptr, nullptr, nullptr, (const uint8*)pIV ) == 1 Fatal Assertion Failed: EVP_DigestFinal(ctx.ctx, *pOutDigest, &digest_len) == 1+Fatal Assertion Failed: EVP_DigestFinal(ctx.ctx, *pOutputDigest, &digest_len) == 1+Fatal Assertion Failed: EVP_DigestInit_ex(ctx.ctx, EVP_md5(), 0) == 1 Fatal Assertion Failed: EVP_DigestInit_ex(ctx.ctx, EVP_sha256(), 0) == 1 Fatal Assertion Failed: EVP_DigestInit_ex(mdctx.ctx, digest, 0) == 1 Fatal Assertion Failed: EVP_DigestSign( ctx, (unsigned char *)pSignatureOut, &siglen, (const unsigned char *)pData, cbData ) == 1 Fatal Assertion Failed: EVP_DigestSignFinal(mdctx.ctx, *pOutputDigest, &needed) == 1 Fatal Assertion Failed: EVP_DigestSignInit( ctx, nullptr, nullptr, nullptr, pkey ) == 1 Fatal Assertion Failed: EVP_DigestSignInit(mdctx.ctx, 0, digest, 0, pkey.ctx) == 1+Fatal Assertion Failed: EVP_DigestUpdate(ctx.ctx, pData, cbData) == 1 Fatal Assertion Failed: EVP_DigestUpdate(ctx.ctx, pInput, cbInput) == 1 Fatal Assertion Failed: EVP_DigestUpdate(mdctx.ctx,pubData,cubData) == 1 Fatal Assertion Failed: EVP_DigestVerifyInit( ctx, nullptr, nullptr, nullptr, pkey ) == 1@@ -2831,6 +2846,7 @@ Field= FinalizeLocalCrypto FindServerDataForCluster Flags indicate presence of TimeSincePrev, but no room for it. Stats message size %d, packet size %d+FlsGetValue2 FlushMessagesOnConnection For best results, preload the config. (See SDR_NETWORK_CONFIG env var)\n Found existing connection [%s]. Only one symmetric connection can be active at a time.@@ -2907,12 +2923,10 @@ GetTickCount64 Giving up on %s after %d consecutive ping timeouts Giving up waiting for DualWifi adapter to be ready for secondary address access to %s. (We waited ~%.1fs)\n Got SDR network config. %s-Got a rendezvous candidate at "%s"\n Got callback for wrong request? Got cert for %s from Steam\n Got incoming FakeIP connection request when we already had a connection. This could legit happen due to race condition we aren't handling right now. Got incoming messages session connection request when we already had a connection. This could happen legit, but we aren't handling it right now.-Got remote candidate '%s'\n HKDF HMAC HMAC DSTU Gost 34311-95@@ -2942,6 +2956,30 @@ IANA ICC or token signature ICE connection dropped after successful negotiation ICE not enabled by local user options+ICE selected candidate %s -> %s -> %s.+ICE selected candidate %s -> %s.+ICE: Could not bind to %s, skipping interface. %s\n+ICE: Dropping Data Indication from %s: not our TURN server (%s).\n+ICE: Dropping Data Indication from TURN: missing peer-address or data attribute.\n+ICE: Dropping STUN message 0x%x from %s.\n+ICE: Dropping STUN response 0x%x from %s: attribute parse or integrity failure.\n+ICE: Dropping binding request: USERNAME length %u exceeds max %u.+ICE: Dropping binding request: attribute parse or integrity failure.\n+ICE: Dropping peer candidate with invalid address %s\n+ICE: Host candidate has invalid address %s - gathering bug+ICE: Incoming binding request from %s to %s.\n\n+ICE: Incorrect username length; at least %d expected, got %d.+ICE: Incorrect username: got '%s' expected '%s'.+ICE: Invalid username; no : found in %s+ICE: Local interface %s removed\n+ICE: Role conflict -- we are Controlled but peer also sent ICE-CONTROLLED.\n+ICE: Role conflict -- we are Controlling but peer also sent ICE-CONTROLLING.\n+ICE: STUN request 0x%x to %s timed out.\n+ICE: STUN server %s gave us invalid reflexive address %s -- ignoring\n+ICE: Sending a STUN binding response to %s from %s.+ICE: TURN Refresh timed out for %s -- tearing down relay allocation\n+ICE: TURN server %s gave us invalid relay address %s -- ignoring allocation\n+ICE: TURN server %s sent 401, retrying with long-term credentials for user '%s'.\n ID%llu IDEA-CBC IDEA-CFB@@ -3016,15 +3054,12 @@ Ignoring unknown control message %d from %s Ignoring unsolicited/spoofed/late packet from %s. Ignoring weird timestamp %llu in ChallengeReply, current time is %llu.\n Ignoring weird timestamp %llu in ConnectOK, current time is %llu, remote delay was %lld.\n-Incoming binding request from %s to %s.\n\n Incorrect challenge. Could be spoofed. Incorrect client challenge / connection ID %x in RouterPingReply from %s. Reply could be spoofed, ignoring. Incorrect connection ID Incorrect connection ID, when we do have a connection for this address. Could be spoofed, ignoring. Incorrect connection ID. Message is stale or could be spoofed, ignoring. Incorrect routing secret. (Packet spam, or relay using routing secret from previous server instance).-Incorrect username length; at least %d expected, got %d.-Incorrect username: got '%s' expected '%s'. Independent Inherit all Inhibit Policy Mapping@@ -3051,6 +3086,7 @@ International Organizations Invalid 25519 key type Invalid AES-GCM key size Invalid DH key+Invalid IP type %d Invalid LocalVirtualPort %d Invalid P2P_Transport_ICE_Implementation value Invalid SDR_PRIVATE_KEY or SDR_CERT. %s@@ -3088,7 +3124,6 @@ Invalid routing blob (%d bytes) Invalid signature Invalid signature length Invalid state %d-Invalid username; no : found in %s Invalidating cached routes when we shouldn't! %s Invalidity Date Iphlpapi.dll@@ -3269,6 +3304,7 @@ Nack count of %llu<<3 is crazy Nack range underflow, end=%lld, num=%lld NagleTime Name lookup for "%s" failed - %s\n+Nesting depth limit (%d) exceeded Netscape Netscape Base Url Netscape CA Policy Url@@ -3682,9 +3718,11 @@ PUBLIC KEY Packet is %d bytes, must be padded to at least %d bytes. Packet is too small Packet of size %d is too small.+PacketGaps map not increasing PacketTraceMaxBytes Parse failure. Length=%d, data begins %s Payload exceeded max size of %d\n+Peer connectivity-check pair already has a request in flight Peer is running old software and needs to be udpated Peer is running old software and needs to be updated. (V%u, >=V%u is required) Peer is using old protocol and cannot receive multiple lanes@@ -4085,6 +4123,7 @@ STEAMNETWORKINGSOCKETS_LOG_FILE STEAMNETWORKINGSOCKETS_LOG_LEVEL STORE lib STORE routines+STUN USERNAME exceeds RFC limit SXNET SXNETID SXNET_add_id_INTEGER@@ -4124,7 +4163,6 @@ Sender sent reliable stream pos using %llx mod %llx, expected next %llx\n Sender tried to send on invalid lane %d; max is %d Sending ConnectRequest for ConnectionID %u to %s via primary relay %s.\n Sending NoConnection to %s: { %s }\n-Sending a STUN response to %s from %s. Sending ping probe to %s in %s\n Sent ack %u not pending. %d: %u %u %u %u %u Serialized inline stats message (%s) is %d bytes, still won't fit, ever after clearing connection quality stats? %s@@ -4232,7 +4270,7 @@ SteamServerConnectFailure_t SteamServersConnected_t SteamServersDisconnected_t SteamnetworkingSockets service thread waited %dms for lock! This directly adds to network latency! It could be a bug, but it's usually caused by general performance problem such as thread starvation or a debug output handler taking too long.-Stray data packet from host with no connection. Ignoring.+Stray data packet from host with no connection. Strong Extranet ID Subject Information Access Superseded@@ -4285,6 +4323,7 @@ TS_TST_INFO_set_serial TS_TST_INFO_set_time TS_TST_INFO_set_tsa TS_VERIFY_CTX_new+TURN server address not in m_vecTURNServers TYPE= Taking global lock while already holding lock '%s' Taking lock '%s' and then '%s', while not holding the global lock@@ -4321,8 +4360,10 @@ TimeoutInitial To use symmetric connect, remote identity must be specified Told peer to stop acking up to %lld, but latest packet we have sent is %lld Too late!+Too many chunks to send via TURN relay (max 3) Too many connections. Too many ephemeral FakeUDP ports.\n+Too many extra attrs for TURN request Trailer Field: 0x TransportChangeConfirm Tried to connect request, but crypt not ready@@ -4436,8 +4477,8 @@ Unsupported key type %d Unsupported protocol %d Unterminated string Until we obtain the config, we will not be able to accept clients!\n+Untracked STUN retransmit type 0x%x Unused-UseCandidate was set! Using cert from SDR_PRIVATE_KEY and SDR_CERT environment vars\n VIDEOTEXSTRING VISIBLESTRING@@ -4711,12 +4752,14 @@ ZUINT64 [%s] End-to-end sequence number is duplicate or old, or fails to decrypt, but relay sequence number is OK? [%s] Expecting %d acks! %04x=%lld %04x=%lld %04x=%lld ... %04x=%lld %04x=%lld %04x=%lld [%s] Failed crypto init in ConnectOK packet. %s+[%s] Failed to parse remote candidate '%s'\n [%s] Failed to send end-to-end stats msg to primary relay %s to confirm end-to-end connectivity [%s] Failed to set option %d while implicitly accepting. Ignoring failure! [%s] Forgetting relay session %s. Last communication was %.1f seconds ago [%s] Front ping %d is greater than measured end-to-end ping %d.\n [%s] Got P2P signal from %s. Wrong connection type!\n [%s] Got P2P signal from wrong remote identity '%s'\n+[%s] Got remote candidate '%s'\n [%s] Got valid end-to-end packet (%s) via %s. Leaving finding route, entering connected state. [%s] Guessed ICE failure to be %d: %s\n [%s] ICE already failed (%d %s) while changing role to server. We won't try again.@@ -4914,14 +4957,14 @@ ZUINT64 \n%*sZone: %s, User: \nBytes \nExtraInfo-\n\nSelected candidate %s -> %s.\n\n \n\tIPSec/IKE/Oakley curve #3 over a 155 bit binary field.\n\tNot suitable for ECDSA.\n\tQuestionable extension field! \n\tIPSec/IKE/Oakley curve #4 over a 185 bit binary field.\n\tNot suitable for ECDSA.\n\tQuestionable extension field! \nkhT \rSize \tLane \vssh-ed25519 _OPENSSL_isservice+__preserve_none a null shared library handle was used a2d_ASN1_OBJECT a2i_ASN1_INTEGER@@ -6956,7 +6999,7 @@ lastUpdate lcO/<1\r=,!\r-@@@ length too long level_add_node-lib Apr 29 2026 21:22:22+lib Aug 5 2026 18:42:40 lib(%lu) linebuffer_ctrl linebuffer_new@@ -8061,7 +8104,6 @@ steamnetworkingsockets_messages.proto steamnetworkingsockets_messages_certs.proto steamnetworkingsockets_messages_udp.proto stop_waiting offset-stop_waiting past sentinel gap stop_waiting pktNum %llu offset %llu store init error str:game/bin/win64/tier0_strings.txt
modified • +3 / -2 • changes: 5
Show patch
@@ -430,6 +430,7 @@ $xmm9 ( %u: max procs %u, active proc %u, active mask 0x%llx ) ( cubGap & 15 ) == 0 (%d,%d)+(-AVX512) (Missing) (None) (Unaccounted)@@ -774,7 +775,6 @@ $xmm9 ;BIb? ;srv*http://symbols/windows <!-- kv3 encoding:%s:version{%s} format:%s:version{%s} -->\n-<!-- schema </link> </script> << NULL >>\n@@ -4652,6 +4652,7 @@ Outflow_NPCUseScriptedAbility Outflow_Simultaneous OutputDebugStringA OverrideQuantizedFloatEncoderAlias+P(YX P4_EXTRACT_CMD=p4.exe print -o %srcsrvtrg% -q "//%var3%#%var4%"\n P4_EXTRACT_TARGET=%targ%\%var2%\%fnbksl%(%var3%)\%var4%\%fnfile%(%var1%)\n PARTICLE_DEPTH_FEATHERING_OFF@@ -7967,6 +7968,7 @@ modf moredetailed moveto multiplayer_break+n<!-- schema nBits != 32 nInterruptability nMax@@ -7975,7 +7977,6 @@ nOffset < m_nAllocationSize nOverrideCPField nSwitchValue nTries < 10000000-n\f"pA3Q name nan(ind) nan(snan)game/bin/win64/tools/met_strings.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -235,12 +235,12 @@ // THIS FILE IS AUTO-GENERATED\n //-------------------------------------------------\n 0123456789)"+09:24:45 0=Wrap,1=Mirror,2=Clamp,3=Border,4=MirrorOnce 1 texel = %1px 1/%1x 1/2/3 128 x 128-15:35:57 1:1 current mip 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | BOOLLITERAL | ID | INTEGERLITERAL | HEXINTEGERLITERAL | FLOATLITERAL | COMMENT | WS ); 1AboutAction()game/bin/win64/vconsole2.exe_strings.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -481,12 +481,12 @@ $B0B .vsky .webp 0.0.0.0+09:24:06+09:25:01 0BCDEFGHIJKLMNOPQRSTUVWXYZ1BCDEFGHIJKLMNOPQRSTUVWXYZ2BCDEFGHIJKLMNOPQRSTUVWXYZ3BCDEFGHIJKLMNOPQRSTUVWXYZ4BCDEFGHIJKLMNOPQRSTUVWXYZ\n 0x%llx 127.0.0.0 127.0.0.1:%d-15:33:14-15:33:36 172.16.0.0 1AboutAction() 1NextFrame()game/bin/win64/video64_strings.txt
modified • +0 / -1 • changes: 1
Show patch
@@ -10618,7 +10618,6 @@ time not ascii format time stamp routines time syscall error timeStamping-timescale timestampsign tinet tls illegal exporter labelgame/bin/win64/vrad3_strings.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -2307,7 +2307,7 @@ path_trace_triangles_gpu path_trace_triangles_gpu_init path_trace_triangles_gpu_shutdown path_trajectory-pc64 Nov 2 2026 15:32:44+pc64 Nov 11 2026 09:24:00 physicsSimplificationError physicsSimplificationOverride pinEnabledgame/core/shaders_vulkan_dir/shaders/vfx/copytexture.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -113,7 +113,7 @@ PS Texture3D g_tCopyColor < Attribute("CustomTexture1"); SrgbRead(true); >; Texture2D g_tDepthTexture < Attribute("CustomTexture0"); SrgbRead(false); >; float3 g_vColorTint < Default3(1, 1, 1); Attribute("ColorTint"); UiType(VectorText); >;- float4 g_vScaleAndBias < Default2(0, 1); Attribute("ScaleAndBias"); UiType(VectorText); >;+ float4 g_vScaleAndBias < Default4(0, 1, 0, 1); Attribute("ScaleAndBias"); UiType(VectorText); >; // Color CreateInputTexture2D(TextureColorWarp3D, Srgb, 8, "", "_z000", "Color,10/Color Warp", Default4(1, 1, 1, 1));game/core/shaders_vulkan_dir/shaders/vfx/generic.slang
modified • +3 / -3 • changes: 6
Show patch
@@ -299,9 +299,9 @@ PS CreateInputTexture2D(TextureGlossiness, Linear, 8, "", "_gloss", "Lighting,30/Gloss,20/10", Default4(0.5, 0.5, 0.5, 0)); CreateInputTexture2D(TextureMetalness, Linear, 8, "", "_metal", "Lighting,30/Metalness,30/10", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureReflectance, Linear, 8, "", "_refl", "Lighting,30/Reflectance,10/10", Default4(0.1, 0.1, 0.1, 0));- float2 g_vGlossinessRange < Default(0); UiType(VectorText); UiGroup("Lighting,30/Gloss/20"); >;- float2 g_vMetalnessRange < Default(0); UiType(VectorText); UiGroup("Lighting,30/Metalness/20"); >;- float2 g_vReflectanceRange < Default(0); UiType(VectorText); UiGroup("Lighting,30/Reflectance/20"); >;+ float2 g_vGlossinessRange < Default2(0, 1); UiType(VectorText); UiGroup("Lighting,30/Gloss/20"); >;+ float2 g_vMetalnessRange < Default2(0, 1); UiType(VectorText); UiGroup("Lighting,30/Metalness/20"); >;+ float2 g_vReflectanceRange < Default2(0, 1); UiType(VectorText); UiGroup("Lighting,30/Reflectance/20"); >; // Normal Map CreateInputTexture2D(TextureNormal, Linear, 8, "NormalizeNormals", "_normal", "Normal Map,20", Default4(0.5, 0.5, 1, 0));game/core/shaders_vulkan_dir/shaders/vfx/panorama.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -110,7 +110,7 @@ PS Texture2D g_tTexture2 < Attribute("Texture2"); SrgbRead(false); >; Texture2D g_tTexture3 < Attribute("Texture3"); SrgbRead(false); >; Texture2D g_tTexture4 < Attribute("Texture4"); SrgbRead(false); >;- float2 g_vBlurMultiplyVec < Default(0); Attribute("BlurMultiplyVec"); UiType(VectorText); >;+ float2 g_vBlurMultiplyVec < Default2(0, 1); Attribute("BlurMultiplyVec"); UiType(VectorText); >; // Variant parametersgame/core/shaders_vulkan_dir/shaders/vfx/refract.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -175,7 +175,7 @@ PS Texture2D g_tNormal < Channel(RGBA, MipNormal(TextureNormal), Linear); OutputFormat(DXT5); SrgbRead(false); >; Texture2D g_tNormal2 < Channel(RGBA, MipNormal(TextureNormal2), Linear); OutputFormat(DXT5); SrgbRead(false); >; Texture2D g_tRefractTint < Channel(RGBA, MipNormal(TextureTintTexture), Linear); OutputFormat(DXT5); SrgbRead(false); >;- float4 g_vFBCopyTextureRect < Default2(0, 0); Attribute("FrameBufferCopyRectangle"); UiType(VectorText); >;+ float4 g_vFBCopyTextureRect < Default4(0, 0, 1, 1); Attribute("FrameBufferCopyRectangle"); UiType(VectorText); >; // Refraction CreateInputTexture2D(TextureNormal, Linear, 8, "", "_normal", "Refraction", Default4(0.5, 0.5, 1, 0));game/core/shaders_vulkan_dir/shaders/vfx/test.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -272,7 +272,7 @@ PS [[vk::constant_id(0)]] int g_nGPUVendorID < UiType(Slider); Expression(S_GPU_VENDOR_ID); >; int g_nValue < UiType(Slider); >; Texture2D g_tColor < Channel(RGB, Box(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >;- float3 g_vModulationColor2 < Default(0); UiType(Color); >;+ float3 g_vModulationColor2 < Default2(0, 1); UiType(Color); >; float3 g_vModulationColor3 < Default3(1, 1, 0.5); UiType(Color); >; // Colorgame/core/shaders_vulkan_dir/shaders/vfx/tools_sprite.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -307,7 +307,7 @@ PS Texture2D g_tColorA < Channel(RGB, Box(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >; Texture2D g_tColorB < Channel(RGB, AlphaWeighted(TextureColor, TextureTranslucency), Srgb); Channel(A, PreserveCoverage(TextureTranslucency), Linear); OutputFormat(DXT5); SrgbRead(true); >; Texture2D g_tColorC < Channel(RGBA, Box(TextureColor), Srgb); OutputFormat(DXT5); SrgbRead(true); >;- float4 g_vBorderColor < Default(0); Attribute("BorderColor"); UiType(VectorText); >;+ float4 g_vBorderColor < Default4(0, 0, 0, 1); Attribute("BorderColor"); UiType(VectorText); >; // Color CreateInputTexture2D(TextureColor, Srgb, 8, "", "_color", "Color", Default4(1, 1, 1, 0));game/core/shaders_vulkan_dir/shaders/vfx/tools_wireframe.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -68,7 +68,7 @@ VS // Override Color float g_OverrideColorFactor < UiType(Slider); UiGroup("Override Color"); >;- float4 g_vOverrideColor < Default(0); UiType(Color); UiGroup("Override Color"); Expression(SrgbGammaToLinear(this)); >;+ float4 g_vOverrideColor < Default4(0, 0, 0, 1); UiType(Color); UiGroup("Override Color"); Expression(SrgbGammaToLinear(this)); >; // Source 2 Viewer - https://valveresourceformat.github.io // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroupgame/csgo/bin/win64/client_strings.txt
modified • +34 / -154 • changes: 188
Show patch
@@ -2106,6 +2106,7 @@ $taser_charge %s PARAMETERS %s PRIVATE KEY %s Tick+%s [%d] %s [%s%s%s]###%p %s algorithm "%s" unsupported\n %s at %.0f %.0f %0.f uses model %s, which has an invalid prop_data type. DELETED.\n@@ -2538,6 +2539,7 @@ $taser_charge (%0.2f): %s (%d) Dynamic prop %s (model %s): no sequence named:%s\n (%d) Name: %s (%s)+(%f, %f, %f) (%s)Found new peer %u\n (%s)Keeping existing peer %u\n (%s,%s)@@ -7892,6 +7894,7 @@ $taser_charge .?AVCHeatMap@@ .?AVCHelpRequestLogs_UploadUserApplicationLog_Request@@ .?AVCHelpRequestLogs_UploadUserApplicationLog_Response@@+.?AVCHiddenFieldValuePrinter@@ .?AVCHistogramReadback@@ .?AVCHistogramRenderer@@ .?AVCHitboxComponent@@@@ -8609,139 +8612,6 @@ $taser_charge .?AVCProtoBufMsgMemoryPoolBase@GCSDK@@ .?AVCProtoBufNetPacket@GCSDK@@ .?AVCProtoBufSharedObjectBase@GCSDK@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BAA@VCP2P_TextMessage@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BAB@VCP2P_Voice@@$05$01$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BAC@VCP2P_Ping@@$0A@$00$0A@@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BBI@V?$CBaseCmdKeyValues@VCClientMsg_CustomGameEvent@@@@$0O@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BBJ@V?$CBaseCmdKeyValues@VCClientMsg_CustomGameEventBounce@@@@$0O@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BBK@VCClientMsg_ClientUIEvent@@$0O@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BCN@VCCSUsrMsg_VGUIMenu@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BDN@VCCSUsrMsg_SendAudio@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BDO@VCCSUsrMsg_RawAudio@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEB@VCCSUsrMsg_Damage@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEC@VCCSUsrMsg_RadioText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BED@VCCSUsrMsg_HintText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEE@VCCSUsrMsg_KeyHintText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEF@VCCSUsrMsg_ProcessSpottedEntityUpdate@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEH@VCCSUsrMsg_AdjustMoney@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEK@VCCSUsrMsg_KillCam@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEO@VCCSUsrMsg_MatchEndConditions@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEP@VCCSUsrMsg_DisconnectToLobby@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFA@VCCSUsrMsg_PlayerStatsUpdate@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFJ@VCCSUsrMsg_CallVoteFailed@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFK@VCCSUsrMsg_VoteStart@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFL@VCCSUsrMsg_VotePass@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFM@VCCSUsrMsg_VoteFailed@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFN@VCCSUsrMsg_VoteSetup@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFO@VCCSUsrMsg_ServerRankRevealAll@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFP@VCCSUsrMsg_SendLastKillerDamageToClient@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGA@VCCSUsrMsg_ServerRankUpdate@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGJ@VCCSUsrMsg_SendPlayerItemDrops@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGK@VCCSUsrMsg_RoundBackupFilenames@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGL@VCCSUsrMsg_SendPlayerItemFound@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGM@VCCSUsrMsg_ReportHit@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGN@VCCSUsrMsg_XpUpdate@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGO@VCCSUsrMsg_QuestProgress@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGP@VCCSUsrMsg_ScoreLeaderboardData@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHA@VCCSUsrMsg_PlayerDecalDigitalSignature@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHB@VCCSUsrMsg_WeaponSound@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHC@VCCSUsrMsg_UpdateScreenHealthBar@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHD@VCCSUsrMsg_EntityOutlineHighlight@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHE@VCCSUsrMsg_SSUI@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHF@VCCSUsrMsg_SurvivalStats@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHG@VCCSUsrMsg_DisconnectToLobby@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHH@VCCSUsrMsg_EndOfMatchAllPlayersData@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHI@VCCSUsrMsg_PostRoundDamageReport@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHL@VCCSUsrMsg_RoundEndReportData@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHM@VCCSUsrMsg_CurrentRoundOdds@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHN@VCCSUsrMsg_DeepStats@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHP@VCCSUsrMsg_ShootInfo@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BID@VCCSUsrMsg_RecurringMissionSchema@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BIE@VCCSUsrMsg_SendPlayerLoadout@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BIF@VCCSUsrMsg_WeaponMagDrop@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJA@VCMsgTEEffectDispatch@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJB@VCMsgTEArmorRicochet@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJC@VCMsgTEBeamEntPoint@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJD@VCMsgTEBeamEnts@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJE@VCMsgTEBeamPoints@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJF@VCMsgTEBeamRing@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJI@VCMsgTEBubbles@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJJ@VCMsgTEBubbleTrail@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJK@VCMsgTEDecal@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJL@VCMsgTEWorldDecal@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJM@VCMsgTEEnergySplash@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJN@VCMsgTEFizz@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJP@VCMsgTEGlowSprite@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKA@VCMsgTEImpact@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKB@VCMsgTEMuzzleFlash@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKC@VCMsgTEBloodStream@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKD@VCMsgTEExplosion@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKE@VCMsgTEDust@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKF@VCMsgTELargeFunnel@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKG@VCMsgTESparks@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKH@VCMsgTEPhysicsProp@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKK@VCMsgTESmoke@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BME@VCMsgTEFireBullets@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BMF@VCMsgPlayerBulletHit@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GF@VCUserMessageAchievementEvent@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GI@VCUserMessageCurrentTimescale@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GJ@VCUserMessageDesiredTimescale@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GK@VCUserMessageFade@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GO@VCUserMessageHudMsg@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GP@VCUserMessageHudText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HB@VCUserMessageColoredText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HC@VCUserMessageRequestState@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HD@VCUserMessageResetHUD@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HE@VCUserMessageRumble@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HF@VCUserMessageSayText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HG@VCUserMessageSayText2@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HH@VCUserMessageSayTextChannel@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HI@VCUserMessageShake@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HJ@VCUserMessageShakeDir@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HK@VCUserMessageWaterShake@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HM@VCUserMessageTextMsg@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HN@VCUserMessageScreenTilt@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IA@VCUserMessageVoiceMask@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IC@VCUserMessageSendAudio@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0ID@VCUserMessageItemPickup@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IE@VCUserMessageAmmoDenied@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IG@VCUserMessageShowMenu@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IH@VCUserMessageCreditsMsg@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IJ@VCEntityMessageScreenOverlay@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IL@VCEntityMessagePropagateForce@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IM@VCEntityMessageDoSpark@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IO@VCUserMessageCloseCaptionPlaceholder@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IP@VCUserMessageCameraTransition@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JA@VCUserMessageAudioParameter@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JB@VCUserMsg_ParticleManager@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JC@VCUserMsg_HudError@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JE@V?$CBaseCmdKeyValues@VCUserMsg_CustomGameEvent@@@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JG@VCUserMessageHapticsManagerPulse@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JH@VCUserMessageHapticsManagerEffect@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JJ@VCUserMessageUpdateCssClasses@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JK@VCUserMessageServerFrameTime@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JL@VCUserMessageLagCompensationError@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JM@VCUserMessageRequestDllStatus@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JN@VCUserMessageRequestUtilAction@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KA@VCUserMessageRequestInventory@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KC@VCUserMessageRequestDiagnostic@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KF@VCUserMessage_NotifyResponseFound@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KG@VCUserMessage_PlayResponseConditional@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KK@VCUserMessageRemoteServerResponse@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MJ@VCMsgPlaceDecalEvent@@$0M@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MK@VCMsgClearWorldDecalsEvent@@$0M@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0ML@VCMsgClearEntityDecalsEvent@@$0M@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MM@VCMsgClearDecalsForEntityEvent@@$0M@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MN@VCMsgSource1LegacyGameEventList@@$09$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MO@VCMsgSource1LegacyListenEvents@@$09$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MP@VCMsgSource1LegacyGameEvent@@$04$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NA@VCMsgSosStartSoundEvent@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NB@VCMsgSosStopSoundEvent@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NC@VCMsgSosSetSoundEventParams@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0ND@VCMsgSosSetLibraryStackFields@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NE@VCMsgSosStopSoundEventHash@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NF@VCMsgClothStiffenAnimEvent@@$04$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NG@VCMsgClothEffectAnimEvent@@$04$00$00@@ .?AVCPsdBufferFile@@ .?AVCPublishedFile_GetDetails_Request@@ .?AVCPublishedFile_GetDetails_Response@@@@ -8825,7 +8695,6 @@ $taser_charge .?AVCReadOnlyBlackboardView@@ .?AVCRecipientFilter@@ .?AVCRecordingList@@-.?AVCRefCount@GCSDK@@ .?AVCReliableBroadcastRecipientFilter@@ .?AVCReloadMatchFilter@@ .?AVCRenderComponent@@@@ -10699,7 +10568,7 @@ $taser_charge :BAD OBJECT :Blowfish part of OpenSSL 1.0.2j 26 Sep 2016 :EXTERNAL TYPE %s\n-;<}\v<}\v<}\v<}\venv_tonemap_controller+;<}\v<}\v<}\v<}\vC_TonemapController2 ;sv_pausable;sv_cheats <!-- dmx encoding keyvalues2_noids 4 format vtex 1 -->\n"CDmeVtex"\n{\n\t"m_inputTextureArray" "element_array"\n\t[\n <!-- dmx encoding keyvalues2_noids 4 format vtex 1 -->\n"CDmeVtex"\n{\n\t"m_inputTextureArray" "element_array"\n\t[\n\t\t"CDmeInputTexture"\n\t\t{\n\t\t\t"m_name" "string" "TextureAmbientOcclusion"\n\t\t\t"m_fileName" "string" "$TEXTURE_REPLACEMENT_TOKEN"\n\t\t\t"m_colorSpace" "string" "linear"\n\t\t\t"m_fileExt" "string" "ao"\n\t\t\t"m_nMinBitsPerChannel" "int" "8"\n\t\t\t"m_typeString" "string" "2D"\n\t\t\t"m_imageProcessorArray" "element_array"\n\t\t\t[\n\t\t\t\t"CDmeImageProcessor"\n\t\t\t\t{\n\t\t\t\t\t"m_algorithm" "string" "None"\n\t\t\t\t\t"m_stringArg" "string" ""\n\t\t\t\t\t"m_vFloat4Arg" "vector4" "0 0 0 0"\n\t\t\t\t}\n\t\t\t]\n\t\t\t"m_bPassThroughToCompiledVtex" "bool" "0"\n\t\t\t"m_n3DSliceCount" "int" "-1"\n\t\t\t"m_n3DSliceWidth" "int" "-1"\n\t\t\t"m_n3DSliceHeight" "int" "-1"\n\t\t}\n\t]\n\t"m_outputTypeString" "string" "2D"\n\t"m_outputFormat" "string" "ATI1N"\n\t"m_outputClearColor" "vector4" "0 0 0 0"\n\t"m_nOutputMinDimension" "int" "0"\n\t"m_nOutputMaxDimension" "int" "0"\n\t"m_nOutputDimensionReduce" "int" "0"\n\t"m_textureOutputChannelArray" "element_array"\n\t[\n\t\t"CDmeTextureOutputChannel"\n\t\t{\n\t\t\t"m_srcChannels" "string" "r"\n\t\t\t"m_dstChannels" "string" "r"\n\t\t\t"m_mipAlgorithm" "CDmeImageProcessor"\n\t\t\t{\n\t\t\t\t"m_algorithm" "string" ""\n\t\t\t\t"m_stringArg" "string" ""\n\t\t\t\t"m_vFloat4Arg" "vector4" "0 0 0 0"\n\t\t\t}\n\t\t\t"m_outputColorSpace" "string" "linear"\n\t\t\t"m_inputTextureArray" "string_array"\n\t\t\t[\n\t\t\t\t"TextureAmbientOcclusion"\n\t\t\t]\n\t\t}\n\t]\n\t"m_vClamp" "vector3" "0 0 0"\n\t"m_bNoLod" "bool" "0"\n\t"m_bHiddenAssetFlag" "bool" "0"\n\t"m_bNormalizeRange" "bool" "0"\n\t"m_nDisplayRectWidth" "int" "0"\n\t"m_nDisplayRectHeight" "int" "0"\n\t"m_nMotionVectorsMaxDistanceInPixels" "int" "0"\n}\n@@ -11201,7 +11070,6 @@ AddTimedStyle AddToTeamSelectPlayerList AddVelocity AddViewsToSceneSystem-AddWorkItem Added TrueView prediction for player slot %d (%s)\n Added keyframe: pos=%f %f %f\n Added prediction for player slot %d (%s)\n@@ -12008,6 +11876,7 @@ C:\buildworker\csgo_rel_win64\build\src\animlib\tasksystem\animtasksystem.cpp C:\buildworker\csgo_rel_win64\build\src\animlib\tasksystem\tasks\animtask_chainlookat.cpp C:\buildworker\csgo_rel_win64\build\src\bitmap\tinyexr_impl.cpp C:\buildworker\csgo_rel_win64\build\src\common\crypto.cpp+C:\buildworker\csgo_rel_win64\build\src\common\protobuf_helpers.cpp C:\buildworker\csgo_rel_win64\build\src\compositematerialslib\compositematerialmanager.cpp C:\buildworker\csgo_rel_win64\build\src\entity2\entity2_networking.cpp C:\buildworker\csgo_rel_win64\build\src\entity2\entitykeyvalues.cpp@@ -12017,7 +11886,7 @@ C:\buildworker\csgo_rel_win64\build\src\game\client\c_basecombatcharacter.cpp C:\buildworker\csgo_rel_win64\build\src\game\client\c_baseentity.cpp C:\buildworker\csgo_rel_win64\build\src\game\client\c_baselesson.cpp C:\buildworker\csgo_rel_win64\build\src\game\client\c_baseplayerpawn.cpp-C:\buildworker\csgo_rel_win64\build\src\game\client\c_baseplayerpawn.cpp:1620+C:\buildworker\csgo_rel_win64\build\src\game\client\c_baseplayerpawn.cpp:1621 C:\buildworker\csgo_rel_win64\build\src\game\client\c_effects.cpp C:\buildworker\csgo_rel_win64\build\src\game\client\c_entitydissolve.cpp C:\buildworker\csgo_rel_win64\build\src\game\client\c_func_monitor.cpp@@ -13292,7 +13161,7 @@ CNetworkUtlVectorBase< uint8, NetworkVar_m_networkAnimTiming , -1, int > CNetworkedQuantizedFloat CNetworkedQuantizedFloat: called before encoder initialized, use DECLARE_NETWORK_QUANTIZED_FLOAT_NETWORKVAR or DECLARE_NETWORK_QUANTIZED_FLOAT to make sure the encoder is initialized;\n CNewParticleEffect::DetectChanges-CNmAimCSTask::TrySetupSolverData+CNmAimCSTask::TrySetupBoneIndices CNmBoneMaskTaskList::GenerateBoneMask CNmChainLookatNode::CDefinition::InstantiateNode CNmChainLookatTask::CNmChainLookatTask@@ -13708,7 +13577,7 @@ CRenderGameSystem::OnClientPreOutputParallelWithServer CRenderGameSystem::OnClientPreOutputParallelWithServer(), C:\buildworker\csgo_rel_win64\build\src\game\shared\rendergamesystem.cpp:1265 CRenderGameSystem::OnClientPreOutputParallelWithServer(1365): CRenderingPipelineCS2Shadows-CRenderingPipelineCsgo::AddLayersToView(11295): +CRenderingPipelineCsgo::AddLayersToView(11300): CResourceName CResourceNameTyped CResourcePrecacherGameSystem@@ -14747,6 +14616,7 @@ Certified server denied Certified server required Cessation Of Operation Chain Lookat+Chain Lookat Task - Trying to perform a chain lookat on top of an additive pose, this is not allowed! Change FOV ChangeGameUIState: %s -> %s\n ChangeTeammateColor@@ -14855,7 +14725,6 @@ Clearing old .sav file %s\n Client Client Game Client Main World:-Client Messages Client Restore Server State Client Scene Entity %d - Frame(%d)\n Client Soundscape data dump:\n@@ -14872,8 +14741,6 @@ Client not allowed to do this action Client not authenticated by server Client registered for tournament team '%s' (%s-%s-%u)\n Client session ID (%s).\n-Client tick %d (%d) last exec cmd %d, predicting %d commands %d..%d\n-Client tick %d + %.2f final predicted tick %d + %.2f, offset = %.3f seconds, %.2f ticks\n Client update required Client-ID ClientCreateMoveFirst@@ -16839,7 +16706,9 @@ Failed to load workshop compatibility versions. Demo files on old maps may not w Failed to open file Failed to open file handle to process chunk file \n Failed to pack %s to vpk\n+Failed to parse %s: %s\n Failed to parse %s\n+Failed to parse Source1LegacyGameEventList_t: %s\n Failed to parse and set new panel event for %s="%s"\n Failed to parse channel info.\n Failed to parse cubemap fog curve (%s).\n@@ -18186,6 +18055,7 @@ Graffiti tint name duplicate: #%d %s\n Grail GrandFinal Graph+Graph '%s' references resource '%s', which is not loaded\n Graph Parameter Name Graph1 Graph2@@ -20525,6 +20395,7 @@ P-384 P-521 P2P ping to "%s". Timed out after %.2fms\n PANORAMA_LAYOUTFILE+PARALLAX DETAIL\t %d \t\t\t\t\t\n PARALYZE PARAMETER NAME: %s | OPTIONAL: %s, TYPE: %s, BOUND: %s\n PARAMETERS@@ -20961,6 +20832,9 @@ PanoramaUI.Lobby.GotInvited PanoramaWorldPanelGenerateMips PanoramaWorldPanelSystem Paper+ParallaxDetail+ParallaxPanel+ParallaxSeparator Parameter [%s=%s] Parameterized Clip Selector: Failed to select a valid option! Parameterized Selector: Failed to select a valid option!@@ -21264,6 +21138,7 @@ PostDataUpdate PostEntityPacketReceived PostNetworkDataReceived PostNetworkDataReceived tick %d, ack %d cmds+PostNetworkDataReceived: LastProcessedCommandNumber=%d, LastServerSnapshotTick=%d\n PostPanoramaRenderingPipeline Pre Generation KVs PreGraphUpdate@@ -22896,7 +22771,6 @@ SetDragPosition SetDragRotateRadius SetDragRotateYawLimit SetDraggable-SetEvent() SetExternalAnimgraphResource SetFlashlightAmount SetFlashlightColor@@ -24086,7 +23960,6 @@ Thread "%s" (ID %llu) failed to shut down Thread32First Thread32Next ThreadPoolOptionsChanged-ThreadingMain Threshholding Thrill Thunder@@ -24294,20 +24167,19 @@ Triggered by app when the user's workshop subscriptions are updated Triggers the creation of entities in a manually-completed spawn group TrueSight spectating prediction changing %d->%d for player slot %d?\n TrueView active for slot %d\n-TrueView adjust timing: Client tick %d + %.2f, desired offset %.3f sec = %.2f ticks, desired final predicted tick %d + %.2f\n-TrueView cached command %d executed on tick %d. Client tick = %d, offset %d\n+TrueView cached command %d executed on tick %d. Client tick = %d, offset %d, prediction offset %.2f\n TrueView can't determine last executed command number on server from command lookahead. Desired tick %d (%d ahead).\n+TrueView command stream for slot %d resumed after a gap. Restarting.\n TrueView could not bracket view angles at tick %.2f. Last command created %d.\n-TrueView could not determine prediction time offset at sim tick %d. Using 0.\n+TrueView could not determine prediction time offset at sim tick %d. Not predicting.\n TrueView found no newly executed command for slot %d in %d consecutive snapshots. Snapshot tick %d, last executed command %d, last created command %d.\n TrueView inactive\n TrueView last created command %d for slot %d is out of range of last executed command %d. Resetting last executed command.\n TrueView not available: demo player cannot peek packets\n TrueView not predicting slot %d: controller has no pawn\n TrueView not running any commands: target tick %d, last snapshot tick %d\n TrueView predicted no commands this frame. Last executed %d, last created %d, finish command %d, target tick %d.\n-TrueView target tick %d is behind last snapshot tick %d?\n-TrueView target time going in reverse [ %d + %.3f ] -> [ %d + %.3f ]+TrueView target tick %d is behind last snapshot tick %d\n TrueViewDeadOnServer TrueViewDeadOnServerChanged Truncated header.@@ -25353,7 +25225,6 @@ Zipping %s (%d files)\n [OnTickPetBookRebuild: %s] Failed to upload %d bytes to cloud file: %s\n [RETURN R%d] [RETURN]-[TrueView %d] m_taiaTrueSpectateTargetTime=%d+%.3f player.m_nLastExecutedCommandNumber=%d nFirstEarlyPredictionCommand=%d\n [Wearables] Creating new wearable (%d) [disabled] [dt %5.2f] velocity: %s@@ -25369,15 +25240,22 @@ Zipping %s (%d files)\n [not bound] [null] [object@%p]+[removed] [signon] [spacer] [symbol %d]+[t%d f%d] Client tick [%d + %.2f] final predicted tick [%d + %.2f], offset = %.3f seconds, %.2f ticks\n+[t%d f%d] Prediction done, tick base %d, last predicted cmd %d\n+[t%d f%d] TrueView adjust timing: Client tick [%d + %.2f], desired offset %.3f sec = %.2f ticks, desired final predicted tick [%d + %.2f]\n+[t%d f%d] TrueView m_taiaTrueSpectateTargetTime=%d+%.3f player.m_nLastExecutedCommandNumber=%d nFirstEarlyPredictionCommand=%d\n+[t%d f%d] TrueView target time going in reverse [ %d + %.3f ] -> [ %d + %.3f ]\n+[t%d f%d] origin %s, eye pos %s, eye angles %s\n+[t%d f%d] server snapshot %d last exec cmd %d, predicting %d commands %d..%d\n [unknown entity] [{"event_id": \%02X \U%04lX \W%08lX-\fB33 \n Not After : \n Public key OCSP hash: \n [%d: huff+mtf @@ -27138,6 +27016,8 @@ classic classname is classname missing from entity!\n classname_global_index+clavicle_L+clavicle_R clay clean cleanup method function failed@@ -28060,7 +27940,6 @@ demo-tick demo-tick-max demo-time demo-time-max-demo_skip demo_start demo_stop demo_timescale %f@@ -31616,6 +31495,7 @@ materials/dev/downsample_depth.vmat materials/dev/downsample_depth_cs.vmat materials/dev/downsample_outlineglows.vmat materials/dev/error_compmat.vtex+materials/dev/frost.vtex materials/dev/gaussian_bloom_blur.vmat materials/dev/generalfilter_alphablended.vmat materials/dev/glow_health_color.vmat@@ -31643,7 +31523,6 @@ materials/dev/smoke_volume.vmat materials/dev/smoke_volume_depth.vmat materials/dev/smoke_volume_lpv.vmat materials/dev/smoke_volume_mask.vmat-materials/dev/snow_sparkle.vtex materials/dev/update_visnode_visibility.vmat materials/dev/upsample.vmat materials/dev/upsample_fsr.vmat@@ -34443,6 +34322,7 @@ setting.r_character_decal_resolution setting.r_csgo_cmaa_enable setting.r_csgo_fsr_upsample setting.r_csgo_mboit_force_mixed_resolution+setting.r_csgo_parallax setting.r_low_latency setting.r_particle_cables_cast_shadows setting.r_particle_max_detail_level@@ -34461,6 +34341,7 @@ setting.videocfg_ao_detail setting.videocfg_dynamic_shadows setting.videocfg_fsr_detail setting.videocfg_hdr_detail+setting.videocfg_parallax_detail setting.videocfg_particle_detail setting.videocfg_shadow_quality setting.videocfg_texture_detail@@ -35377,7 +35258,6 @@ timeouts_remaining timer timer_time timerangeindays-timescale timeslice timestamp timestamp=%d&stat_value=%.3f&stat_index=%d&percentile=%.2fgame/csgo/bin/win64/host_strings.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -106,7 +106,7 @@ DotaMapUtils001 EconVData001 Entry %s was not found in surfaceproperties_footsteps.txt\n Error loading %s: %s\n-FaN"\v+FaN"\f Failed to open file: %s\n FoliageAnimation Game System %s is defined twice!\ngame/csgo/bin/win64/matchmaking_strings.txt
modified • +0 / -3 • changes: 3
Show patch
@@ -285,7 +285,6 @@ $%llx APPSYSTEM: In ConnectGameInterfaces(), s_nRegistrationCount is %d!\n APPSYSTEM: In ConnectGameInterfaces(), tried to use different connection modes!\n APPSYSTEM: In ReconnectGameInterface(), tried to use different connection modes!\n-AddWorkItem Adding player %llu to team %d\n AllowSecureServers Attempted a typeid of nullptr pointer!@@ -596,7 +595,6 @@ Server/reservationid Server/server Server/xuid SessionSearch-SetEvent() Settings data:\n SetupSteamRankingConfiguration SharedObjectCache for %s (%d types):\n@@ -647,7 +645,6 @@ TeamSearchResult::Dedicated TeamSearchResult::ListenClient TeamSearchResult::ListenHost Thread "%s" (ID %llu) failed to shut down-ThreadingMain TimeoutJob TitleSettings Trying to send message type %d before GC connection established. This is guaranteed to fail.\ngame/csgo/bin/win64/modtools_strings.txt
modified • +14 / -4 • changes: 18
Show patch
@@ -1251,6 +1251,7 @@ $modelname$_surface .?AUCAttr_m_flTraceRadius@?1??GetStaticAttributes@CModelDocFoot@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@ .?AUCAttr_m_flTracksConstantThreshold@?1??GetStaticAttributes@CModelDocAclParameters@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@ .?AUCAttr_m_flTracksPrecision@?1??GetStaticAttributes@CModelDocAclParameters@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@+.?AUCAttr_m_flTransitionBlendTimeSeconds@?1??GetAttributeTable_Impl@CNmGraphDocAimCSNode@@SAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@ .?AUCAttr_m_flTranslationConstantThreshold@?1??GetStaticAttributes@CModelDocAclParameters@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@ .?AUCAttr_m_flTranslationIgnoreThreshold@?1??GetStaticAttributes@CModelDocAnimConstraintRbf@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@ .?AUCAttr_m_flTranslationWeight@?1??GetStaticAttributes@CModelDocAnimIkLockLocal@@MEAAXPEAV?$CUtlVector@PEAVIBaseToolAttr@@HV?$CUtlVectorMemory_Growable@PEAVIBaseToolAttr@@H$0A@@@@@@Z@@@ -9176,7 +9177,6 @@ $modelname$_surface <pair_a> <pair_b> <unnamed>->fff> @%s%s @%s_lookFrame_0 @%s_lookFrame_1@@ -9241,7 +9241,6 @@ Accent frame of the gesture/posture, unused AclParameters Action Blend Time Seconds Action Blend Time: %.2fs-Action Weight: %.2f Activation Distance Active By Default ActiveArea@@ -10130,7 +10129,7 @@ CModelMaterialGroupName CModelMesh Index Buffer CModelMeshRenderData::BuildVertexBuffersForMaterialGroups(732): CModelMeshVertexBuffer-CNmAimCSTask::TrySetupSolverData+CNmAimCSTask::TrySetupBoneIndices CNmBoneMaskTaskList::GenerateBoneMask CNmChainLookatNode::CDefinition::InstantiateNode CNmChainLookatTask::CNmChainLookatTask@@ -10307,6 +10306,7 @@ Center vertices relative to the origin using average vertex position. Optionally Chain Length Chain Length: %d Chain Lookat+Chain Lookat Task - Trying to perform a chain lookat on top of an additive pose, this is not allowed! Chain Rotation Weight Chain Weights Changes how the cycle time is computed. Mainly used with autolayer.\nShould not be used with AnimGraph.@@ -11062,6 +11062,7 @@ Event ID Event ID: %s Event ID: Invalid Event IDs+Events Events Ignored Exact Exclude Bones With Exact Flags@@ -11433,6 +11434,7 @@ Has Stray Radius Has Up Frame Has World Collision Has Yaw Constraint+Head Lookat Weight: %.2f Health Override Heat Heel Land Frame@@ -12565,6 +12567,7 @@ Planarconfig tag value assumed incorrect, assuming data is contig instead of chu Planarize Plane Primitive Planting Blend Time Seconds+Planting Blend Time: %.2fs Planting Disable Multiplier: %.2f Plastic Plasticity@@ -13100,6 +13103,8 @@ Soft Link Softbody Software Solver Settings+Solver Transition Blend Time: %.2fs+Solver Transition Weight: %.2f Some events have invalid characters in their IDs Some events have unset IDs Some events have unset event classes@@ -13458,6 +13463,7 @@ Transform Bindpose Bone Transform Bindpose Bone [%s] Transform Vertices Transforms the animation by the specified values+Transition Blend Time Seconds Transition Conduit Transition Event Condition Translate the overall model by the specified vector.@@ -13677,6 +13683,7 @@ Warp Z Warp event is not allowed to be within the first or last frame! Wavelength Weapon Action+Weapon Action Weight: %.2f Weapon Category Weapon Constraint Weapon Drop@@ -13784,7 +13791,6 @@ Zero input vector for info node! [anim] [cloth] | [procedural] [procedural]-\fB33 \n***ASSERT FAILED*** Image data section has too many channels (%d). \n***ASSERT FAILED*** Pointer is null. \n***ERROR*** [DecompressRle] Malformed RLE data encountered@@ -13966,6 +13972,8 @@ applicable_to apply_fast_sweep applymodelspacetranslation are_effects_mutually_exclude+arm_lower_L+arm_lower_R arm_upper_L arm_upper_R assetTag@@ -14128,6 +14136,8 @@ choices choreoanchorclass chunkCount clamp+clavicle_L+clavicle_R clear_rest_of_selection clear_selection close_outline_at_hard_edgesgame/csgo/bin/win64/server_strings.txt
modified • +14 / -142 • changes: 156
Show patch
@@ -1157,6 +1157,7 @@ $tH@T\tI %s PRIVATE KEY %s Tactical Timeouts remaining was %d, %s Tick+%s [%d] %s [%s%s%s]###%p %s [%u] %s algorithm "%s" unsupported\n@@ -6073,6 +6074,7 @@ $tH@T\tI .?AVCHLTVDirector@@ .?AVCHandleDummy@@ .?AVCHandleTest@@+.?AVCHiddenFieldValuePrinter@@ .?AVCHitboxComponent@@ .?AVCHitboxSystem@@ .?AVCHitgroupDisableListSaveRestoreOps@@@@ -6870,138 +6872,6 @@ $tH@T\tI .?AVCProtoBufMsgMemoryPoolBase@GCSDK@@ .?AVCProtoBufNetPacket@GCSDK@@ .?AVCProtoBufSharedObjectBase@GCSDK@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BBI@V?$CBaseCmdKeyValues@VCClientMsg_CustomGameEvent@@@@$0O@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BBJ@V?$CBaseCmdKeyValues@VCClientMsg_CustomGameEventBounce@@@@$0O@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BBK@VCClientMsg_ClientUIEvent@@$0O@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BCN@VCCSUsrMsg_VGUIMenu@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BDN@VCCSUsrMsg_SendAudio@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BDO@VCCSUsrMsg_RawAudio@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEB@VCCSUsrMsg_Damage@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEC@VCCSUsrMsg_RadioText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BED@VCCSUsrMsg_HintText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEE@VCCSUsrMsg_KeyHintText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEF@VCCSUsrMsg_ProcessSpottedEntityUpdate@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEH@VCCSUsrMsg_AdjustMoney@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEK@VCCSUsrMsg_KillCam@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEO@VCCSUsrMsg_MatchEndConditions@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BEP@VCCSUsrMsg_DisconnectToLobby@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFA@VCCSUsrMsg_PlayerStatsUpdate@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFJ@VCCSUsrMsg_CallVoteFailed@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFK@VCCSUsrMsg_VoteStart@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFL@VCCSUsrMsg_VotePass@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFM@VCCSUsrMsg_VoteFailed@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFN@VCCSUsrMsg_VoteSetup@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFO@VCCSUsrMsg_ServerRankRevealAll@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BFP@VCCSUsrMsg_SendLastKillerDamageToClient@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGA@VCCSUsrMsg_ServerRankUpdate@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGJ@VCCSUsrMsg_SendPlayerItemDrops@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGK@VCCSUsrMsg_RoundBackupFilenames@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGL@VCCSUsrMsg_SendPlayerItemFound@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGM@VCCSUsrMsg_ReportHit@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGN@VCCSUsrMsg_XpUpdate@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGO@VCCSUsrMsg_QuestProgress@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BGP@VCCSUsrMsg_ScoreLeaderboardData@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHA@VCCSUsrMsg_PlayerDecalDigitalSignature@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHB@VCCSUsrMsg_WeaponSound@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHC@VCCSUsrMsg_UpdateScreenHealthBar@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHD@VCCSUsrMsg_EntityOutlineHighlight@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHE@VCCSUsrMsg_SSUI@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHF@VCCSUsrMsg_SurvivalStats@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHG@VCCSUsrMsg_DisconnectToLobby@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHH@VCCSUsrMsg_EndOfMatchAllPlayersData@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHI@VCCSUsrMsg_PostRoundDamageReport@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHL@VCCSUsrMsg_RoundEndReportData@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHM@VCCSUsrMsg_CurrentRoundOdds@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHN@VCCSUsrMsg_DeepStats@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BHP@VCCSUsrMsg_ShootInfo@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BIB@VCCSUsrMsg_CounterStrafe@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BID@VCCSUsrMsg_RecurringMissionSchema@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BIE@VCCSUsrMsg_SendPlayerLoadout@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BIF@VCCSUsrMsg_WeaponMagDrop@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BIG@VCCSUsrMsg_CustomHudClicked@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJA@VCMsgTEEffectDispatch@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJB@VCMsgTEArmorRicochet@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJC@VCMsgTEBeamEntPoint@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJD@VCMsgTEBeamEnts@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJE@VCMsgTEBeamPoints@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJF@VCMsgTEBeamRing@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJI@VCMsgTEBubbles@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJJ@VCMsgTEBubbleTrail@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJK@VCMsgTEDecal@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJL@VCMsgTEWorldDecal@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJM@VCMsgTEEnergySplash@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJN@VCMsgTEFizz@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BJP@VCMsgTEGlowSprite@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKA@VCMsgTEImpact@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKB@VCMsgTEMuzzleFlash@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKC@VCMsgTEBloodStream@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKD@VCMsgTEExplosion@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKE@VCMsgTEDust@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKF@VCMsgTELargeFunnel@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKG@VCMsgTESparks@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKH@VCMsgTEPhysicsProp@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BKK@VCMsgTESmoke@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BME@VCMsgTEFireBullets@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0BMF@VCMsgPlayerBulletHit@@$04$0A@$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GF@VCUserMessageAchievementEvent@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GI@VCUserMessageCurrentTimescale@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GJ@VCUserMessageDesiredTimescale@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GK@VCUserMessageFade@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GO@VCUserMessageHudMsg@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0GP@VCUserMessageHudText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HB@VCUserMessageColoredText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HC@VCUserMessageRequestState@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HD@VCUserMessageResetHUD@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HE@VCUserMessageRumble@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HF@VCUserMessageSayText@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HG@VCUserMessageSayText2@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HH@VCUserMessageSayTextChannel@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HI@VCUserMessageShake@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HJ@VCUserMessageShakeDir@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HK@VCUserMessageWaterShake@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HM@VCUserMessageTextMsg@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0HN@VCUserMessageScreenTilt@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IA@VCUserMessageVoiceMask@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IC@VCUserMessageSendAudio@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0ID@VCUserMessageItemPickup@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IE@VCUserMessageAmmoDenied@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IG@VCUserMessageShowMenu@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IH@VCUserMessageCreditsMsg@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IJ@VCEntityMessageScreenOverlay@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IL@VCEntityMessagePropagateForce@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IM@VCEntityMessageDoSpark@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IO@VCUserMessageCloseCaptionPlaceholder@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0IP@VCUserMessageCameraTransition@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JA@VCUserMessageAudioParameter@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JB@VCUserMsg_ParticleManager@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JC@VCUserMsg_HudError@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JE@V?$CBaseCmdKeyValues@VCUserMsg_CustomGameEvent@@@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JG@VCUserMessageHapticsManagerPulse@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JH@VCUserMessageHapticsManagerEffect@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JJ@VCUserMessageUpdateCssClasses@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JK@VCUserMessageServerFrameTime@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JL@VCUserMessageLagCompensationError@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JM@VCUserMessageRequestDllStatus@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0JN@VCUserMessageRequestUtilAction@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KA@VCUserMessageRequestInventory@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KC@VCUserMessageRequestDiagnostic@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KF@VCUserMessage_NotifyResponseFound@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KG@VCUserMessage_PlayResponseConditional@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0KK@VCUserMessageRemoteServerResponse@@$0N@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MJ@VCMsgPlaceDecalEvent@@$0M@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MK@VCMsgClearWorldDecalsEvent@@$0M@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0ML@VCMsgClearEntityDecalsEvent@@$0M@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MM@VCMsgClearDecalsForEntityEvent@@$0M@$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MN@VCMsgSource1LegacyGameEventList@@$09$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MO@VCMsgSource1LegacyListenEvents@@$09$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0MP@VCMsgSource1LegacyGameEvent@@$04$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NA@VCMsgSosStartSoundEvent@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NB@VCMsgSosStopSoundEvent@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NC@VCMsgSosSetSoundEventParams@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0ND@VCMsgSosSetLibraryStackFields@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NE@VCMsgSosStopSoundEventHash@@$03$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NF@VCMsgClothStiffenAnimEvent@@$04$00$00@@-.?AVCProtobufBinding@?$CNetMessagePB@$0NG@VCMsgClothEffectAnimEvent@@$04$00$00@@ .?AVCPulseAPIExtensionRegistrationContext@@ .?AVCPulseBlackboardViewFromGraphInstance@@ .?AVCPulseCell_ApplyAnimGraphParam@@@@ -7101,7 +6971,6 @@ $tH@T\tI .?AVCReadyForMatchIssue@@ .?AVCRecipientFilter@@ .?AVCRectLight@@-.?AVCRefCount@GCSDK@@ .?AVCReliableBroadcastRecipientFilter@@ .?AVCReliableSingleUserRecipientFilter@@ .?AVCReloadMatchFilter@@@@ -8811,7 +8680,6 @@ AddTeamMoney AddTeamScore AddVelocity AddViewsToSceneSystem-AddWorkItem Added area %d. ( to go there: setpos %f %f %f )\n Additive Blend Additive Blend (Masked): %.2f%%@@ -9340,6 +9208,7 @@ C:\buildworker\csgo_rel_win64\build\src\animlib\tasksystem\animbonemasktask.cpp C:\buildworker\csgo_rel_win64\build\src\animlib\tasksystem\animtaskposepool.cpp C:\buildworker\csgo_rel_win64\build\src\animlib\tasksystem\animtasksystem.cpp C:\buildworker\csgo_rel_win64\build\src\animlib\tasksystem\tasks\animtask_chainlookat.cpp+C:\buildworker\csgo_rel_win64\build\src\common\protobuf_helpers.cpp C:\buildworker\csgo_rel_win64\build\src\entity2\entity2_networking.cpp C:\buildworker\csgo_rel_win64\build\src\entity2\entitykeyvalues.cpp C:\buildworker\csgo_rel_win64\build\src\entity2\entitysystem.cpp@@ -9527,7 +9396,7 @@ CAnimGraphControllerManager::CreateAndBindController CAnimGraphControllerManager::CreateControllerToGraphBindings CAnimGraphControllerManager::PreGraphUpdate CAnimGraphGameSystem::OnServerPrePackEntities-CAnimGraphGameSystem::OnServerPrePackEntities(), C:\buildworker\csgo_rel_win64\build\src\game\shared\animgraph_gamesystem.cpp:2434+CAnimGraphGameSystem::OnServerPrePackEntities(), C:\buildworker\csgo_rel_win64\build\src\game\shared\animgraph_gamesystem.cpp:2436 CAnimGraphGameSystem::PreUpdateAnimGraphAnimations CAnimGraphParamAutoResetRef CAnimGraphParamRef@@ -11318,7 +11187,7 @@ CNetworkUtlVectorEmbedded: successfully late-resolved 0x%p in entity %d:%s to %s CNetworkUtlVectorFull CNetworkedQuantizedFloat CNetworkedQuantizedFloat: called before encoder initialized, use DECLARE_NETWORK_QUANTIZED_FLOAT_NETWORKVAR or DECLARE_NETWORK_QUANTIZED_FLOAT to make sure the encoder is initialized;\n-CNmAimCSTask::TrySetupSolverData+CNmAimCSTask::TrySetupBoneIndices CNmBoneMaskTaskList::GenerateBoneMask CNmChainLookatNode::CDefinition::InstantiateNode CNmChainLookatTask::CNmChainLookatTask@@ -12830,6 +12699,7 @@ Certificate Sign Certificate:\n Cessation Of Operation Chain Lookat+Chain Lookat Task - Trying to perform a chain lookat on top of an additive pose, this is not allowed! Change FOV Change Level Change Opvar Value@@ -12897,7 +12767,6 @@ ClearDecalsForEntityEvent_t ClearEntityDecalsEvent_t ClearWorldDecalsEvent_t Clearing old .sav file %s\n-Client Messages ClientCommand ClientGamePrecache_server ClientJob_EMsgGCCStrike15_v2_GC2ServerReservationUpdate@@ -14234,6 +14103,7 @@ Event.HostageRescued EventID EventLog EventQueue+Events Exception during CompileModule\n%s\n at (%s:%d:%d)\n Exception during Evaluate\n%s\n Exception during InstantiateModule\n%s\n@@ -17049,7 +16919,6 @@ PassthroughCaller: %s Path Discarded Immediately Path segment [%d/%d] has no area PathFind_NavAreaBuildPath-Path_RemoveAll failed for read only CFieldPath Pathfind to leader failed.\n PathfindGeneric PathfindGeneric - failed@@ -17585,7 +17454,7 @@ ReadyForMatch Reasons Recast Recast: -Received %d perf samples from player %d '%s'+Received %d perf samples from player %d '%s'\n Received client welcome from GC.\n Received method callback. Handle: %llu. Context: %llu. EResult: %d. Response Size: %d.\n Received new item acknowledgement: %s\n@@ -18836,7 +18705,6 @@ SetDialogVariableStringForPlayer SetDistanceToReachMaxSpeed [distance=%.2f time=%.2f] SetDistanceToReachZeroSpeed [distance=%.2f time=%.2f] SetEntityName-SetEvent() SetExternalAnimgraphResource SetEyeAngles SetFloat(name, val) : sets the value of the convar to the float.@@ -19493,7 +19361,6 @@ This is the overall duration. If -1 timer will continue forever. During this dur Thread "%s" (ID %llu) failed to shut down Thread32First Thread32Next-ThreadingMain ThreeEnemiesLeft Throwing smoke grenade! Ticks: %d (%d)@@ -19939,6 +19806,7 @@ VisMon: RESET\n VisMon: Starting at element: %d\n VisMon: Time: %f - Tracking %d Entities. (Max:%d)\n VisibilityMonitor+Voice VoiceBank VoicePitch Volume Matches Event Ramp@@ -20564,11 +20432,11 @@ Zero input vector for info node! [net] %s [none] [null]+[removed] [unknown entity] \%02X \U%04lX \W%08lX-\fB33 \n Not After : \n Public key OCSP hash: \n at %s (%s:%d:%d)@@ -21106,6 +20974,8 @@ arealist arg%d arg2 lt arg3 argument is not a number+arm_lower_L+arm_lower_R arm_upper_L arm_upper_R armor@@ -21736,6 +21606,8 @@ class_usage classdefidx: classic classname missing from entity!\n+clavicle_L+clavicle_R cleanup method function failed clear_group clearancegame/csgo/cfg/gamemode_retakecasual.cfg
modified • +2 / -0 • changes: 2
Show patch
@@ -99,6 +99,8 @@ mp_default_team_winner_no_objective -1 // 2 == CTs, 3 == Ts //sv_occlude_players 1 //occlusion_test_async 1 +mp_bot_ai_bt "scripts/ai/retakes/bt_default.kv3"+ spec_replay_enable 0 mp_round_restart_delay 3 game/csgo/csgo.fgd
modified • +1 / -0 • changes: 1
Show patch
@@ -1415,6 +1415,7 @@ envpuddlerippledirection(float) : "Environment Puddle Ripple Direction" : "0" : "Rotates the puddle ripples (0 to 1, i.e. 0.5 is reversed, 0.25 is 90 degrees)." envwetnesscoverage(float) : "Environment Wetness Coverage" : "1" : "How wet the environment was before drying." envwetnessdryingamount(float) : "Environment Wetness Drying Amount" : "0" : "How much the environment dried out."+ frostenabled(boolean) : "Player frost enabled" : 0 : "Players, weapons and chickens frost over outdoors (traces to the sky), and melt indoors." input FireWinCondition(integer) : "Fires win conditions for the win." ]game/csgo/gameinfo.gi
modified • +12 / -1 • changes: 13
Show patch
@@ -9,6 +9,7 @@ FileSystem {+ ForceUseBuildVersion 1 SteamAppId 710 // This will mount all the GCFs we need (240=CS:S, 220=HL2). SearchPaths {@@ -130,7 +131,16 @@ "r_add_views_in_pre_output" "1" // Limits- "sv_recvbuf_messages" "500"+ "net_limit_sv_recvbuffer_kb" "128"+ "net_limit_sv_recvbuffer_msg" "100"+ "net_limit_sv_recv_max_frame_size_kb" "40"+ "net_limit_sv_recv_chan_buffer_messages" "500"+ "net_limit_sv_recv_chan_msgs_per_frame" "250"+ "net_limit_sv_message_process_time_ms_warn_burst" "20"+ "net_limit_sv_message_process_time_ms_warn_rate_per_sec" "128" // 2ms/tick+ "net_limit_sv_message_process_time_ms_drop_burst" "200"+ "net_limit_sv_message_process_time_ms_drop_rate_per_sec" "256" // 4ms/tick+ "net_message_size_enforce" "2" // Nav fixups "nav_path_fixup_climb_up_segments" "1"@@ -276,6 +286,7 @@ "cq_buffer_bloat_msecs_max" "64" "cl_interp_ag2_for_non_ag2_entities" "0"+ "cl_interp_parallel" "1" "r_skip_precache_validation_check" "1" game/csgo/pak01_dir.txt
modified • +184 / -175 • changes: 359
Show patch
@@ -2171,46 +2171,46 @@ animation/anims/world/pistol/_default_pistol/walk_sw_pistol.vnmclip_c CRC:00ea41 animation/anims/world/pistol/_default_pistol/walk_w_fwd_pistol.vnmclip_c CRC:00104820e2 size:8594 animation/anims/world/pistol/_default_pistol/walk_w_mir_pistol.vnmclip_c CRC:00740a3272 size:9019 animation/anims/world/pistol/_default_pistol/walk_w_pistol.vnmclip_c CRC:006e0a2d7d size:9640-animation/anims/world/pistol/pistol_cz75a/draw2_crouch_cz75a.vnmclip_c CRC:00fdac71e2 size:21134-animation/anims/world/pistol/pistol_cz75a/draw2_cz75a.vnmclip_c CRC:0047d79d49 size:24396-animation/anims/world/pistol/pistol_cz75a/draw_crouch_cz75a.vnmclip_c CRC:00e64e1113 size:24998-animation/anims/world/pistol/pistol_cz75a/draw_cz75a.vnmclip_c CRC:008409008c size:26801+animation/anims/world/pistol/pistol_cz75a/draw2_crouch_cz75a.vnmclip_c CRC:008c49b167 size:21134+animation/anims/world/pistol/pistol_cz75a/draw2_cz75a.vnmclip_c CRC:00e6bf33f7 size:24500+animation/anims/world/pistol/pistol_cz75a/draw_crouch_cz75a.vnmclip_c CRC:00421bdd4e size:24998+animation/anims/world/pistol/pistol_cz75a/draw_cz75a.vnmclip_c CRC:0052065328 size:26799 animation/anims/world/pistol/pistol_cz75a/idle_crouch_cz75a.vnmclip+non_additive.vnmclip_c CRC:0095a88ce3 size:4562 animation/anims/world/pistol/pistol_cz75a/idle_crouch_cz75a.vnmclip_c CRC:0080bb81b7 size:4178 animation/anims/world/pistol/pistol_cz75a/idle_cz75a.vnmclip+non_additive.vnmclip_c CRC:00e05afd0a size:4574 animation/anims/world/pistol/pistol_cz75a/idle_cz75a.vnmclip_c CRC:00d173c7f4 size:3846-animation/anims/world/pistol/pistol_cz75a/reload2_crouch_cz75a.vnmclip_c CRC:0065298e6e size:30784-animation/anims/world/pistol/pistol_cz75a/reload2_crouch_cz75a_silent.vnmclip_c CRC:0085e4368d size:30800-animation/anims/world/pistol/pistol_cz75a/reload2_cz75a.vnmclip_c CRC:00469ab3f5 size:33552-animation/anims/world/pistol/pistol_cz75a/reload2_cz75a_silent.vnmclip_c CRC:00b5fef242 size:33552+animation/anims/world/pistol/pistol_cz75a/reload2_crouch_cz75a.vnmclip_c CRC:00db64b333 size:30783+animation/anims/world/pistol/pistol_cz75a/reload2_crouch_cz75a_silent.vnmclip_c CRC:002ae20d9a size:30799+animation/anims/world/pistol/pistol_cz75a/reload2_cz75a.vnmclip_c CRC:001e252bc4 size:33551+animation/anims/world/pistol/pistol_cz75a/reload2_cz75a_silent.vnmclip_c CRC:009fc54fcb size:33551 animation/anims/world/pistol/pistol_cz75a/reload2_empty_crouch_cz75a.vnmclip_c CRC:00701c0443 size:24549 animation/anims/world/pistol/pistol_cz75a/reload2_empty_cz75a.vnmclip_c CRC:00adbd83dd size:26806-animation/anims/world/pistol/pistol_cz75a/reload_crouch_cz75a.vnmclip_c CRC:00c9f86b11 size:29807-animation/anims/world/pistol/pistol_cz75a/reload_crouch_cz75a_silent.vnmclip_c CRC:00126aa2ea size:29823-animation/anims/world/pistol/pistol_cz75a/reload_cz75a.vnmclip_c CRC:0005129c13 size:32367-animation/anims/world/pistol/pistol_cz75a/reload_cz75a_silent.vnmclip_c CRC:00cb1e548b size:32367+animation/anims/world/pistol/pistol_cz75a/reload_crouch_cz75a.vnmclip_c CRC:00a7aec517 size:29806+animation/anims/world/pistol/pistol_cz75a/reload_crouch_cz75a_silent.vnmclip_c CRC:002e0693b0 size:29822+animation/anims/world/pistol/pistol_cz75a/reload_cz75a.vnmclip_c CRC:0007510275 size:32366+animation/anims/world/pistol/pistol_cz75a/reload_cz75a_silent.vnmclip_c CRC:00ad181578 size:32366 animation/anims/world/pistol/pistol_cz75a/reload_empty_crouch_cz75a.vnmclip_c CRC:00c4bbca89 size:28535 animation/anims/world/pistol/pistol_cz75a/reload_empty_cz75a.vnmclip_c CRC:00f8cf3f4c size:28056 animation/anims/world/pistol/pistol_cz75a/shoot_cz75.vnmclip+non_additive.vnmclip_c CRC:005f0e57f6 size:9584 animation/anims/world/pistol/pistol_cz75a/shoot_cz75.vnmclip_c CRC:00a72f6894 size:8576 animation/anims/world/pistol/pistol_cz75a/shoot_empty_cz75.vnmclip+non_additive.vnmclip_c CRC:00b055435b size:9512 animation/anims/world/pistol/pistol_cz75a/shoot_empty_cz75.vnmclip_c CRC:00804a57de size:8509-animation/anims/world/pistol/pistol_deagle/draw_crouch_deagle.vnmclip_c CRC:00fa0db667 size:15579-animation/anims/world/pistol/pistol_deagle/draw_deagle.vnmclip_c CRC:005fd785a3 size:15729+animation/anims/world/pistol/pistol_deagle/draw_crouch_deagle.vnmclip_c CRC:008239c49e size:15576+animation/anims/world/pistol/pistol_deagle/draw_deagle.vnmclip_c CRC:00fc360ee5 size:15726 animation/anims/world/pistol/pistol_deagle/idle_crouch_deagle.vnmclip+non_additive.vnmclip_c CRC:00d3f770b9 size:4557 animation/anims/world/pistol/pistol_deagle/idle_crouch_deagle.vnmclip_c CRC:00f7b4c9fd size:4189 animation/anims/world/pistol/pistol_deagle/idle_deagle.vnmclip+non_additive.vnmclip_c CRC:00994a05bc size:4580 animation/anims/world/pistol/pistol_deagle/idle_deagle.vnmclip_c CRC:00ced1d061 size:4183-animation/anims/world/pistol/pistol_deagle/reload_crouch_deagle.vnmclip_c CRC:00d2ae9509 size:22484-animation/anims/world/pistol/pistol_deagle/reload_crouch_deagle_silent.vnmclip_c CRC:00e87b52a4 size:22484-animation/anims/world/pistol/pistol_deagle/reload_deagle.vnmclip_c CRC:00fe44e4dd size:22912-animation/anims/world/pistol/pistol_deagle/reload_deagle_silent.vnmclip_c CRC:0097557012 size:22928-animation/anims/world/pistol/pistol_deagle/reload_empty_crouch_deagle.vnmclip_c CRC:00621977b3 size:26917+animation/anims/world/pistol/pistol_deagle/reload_crouch_deagle.vnmclip_c CRC:00a8eb5fa0 size:22485+animation/anims/world/pistol/pistol_deagle/reload_crouch_deagle_silent.vnmclip_c CRC:00883a75e6 size:22485+animation/anims/world/pistol/pistol_deagle/reload_deagle.vnmclip_c CRC:0038c195b3 size:22912+animation/anims/world/pistol/pistol_deagle/reload_deagle_silent.vnmclip_c CRC:002523e07e size:22928+animation/anims/world/pistol/pistol_deagle/reload_empty_crouch_deagle.vnmclip_c CRC:00d231f827 size:26917 animation/anims/world/pistol/pistol_deagle/reload_empty_deagle.vnmclip_c CRC:00d44fc733 size:27989 animation/anims/world/pistol/pistol_deagle/shoot_deagle.vnmclip+non_additive.vnmclip_c CRC:0069fd4c29 size:9475 animation/anims/world/pistol/pistol_deagle/shoot_deagle.vnmclip_c CRC:0029fb40b1 size:8728-animation/anims/world/pistol/pistol_elite/draw_crouch_elite.vnmclip_c CRC:008418b939 size:16360-animation/anims/world/pistol/pistol_elite/draw_elite.vnmclip_c CRC:00ccf9a431 size:16029+animation/anims/world/pistol/pistol_elite/draw_crouch_elite.vnmclip_c CRC:009ce165e8 size:16357+animation/anims/world/pistol/pistol_elite/draw_elite.vnmclip_c CRC:00e9f71850 size:16028 animation/anims/world/pistol/pistol_elite/idle_crouch_elite.vnmclip+non_additive.vnmclip_c CRC:00a1697b96 size:5137 animation/anims/world/pistol/pistol_elite/idle_crouch_elite.vnmclip_c CRC:00d68ad74b size:4990 animation/anims/world/pistol/pistol_elite/idle_elite.vnmclip+non_additive.vnmclip_c CRC:00594725b7 size:5139@@ -2227,22 +2227,22 @@ animation/anims/world/pistol/pistol_elite/shoot_right1_elite.vnmclip+non_additiv animation/anims/world/pistol/pistol_elite/shoot_right1_elite.vnmclip_c CRC:005dfb0686 size:6125 animation/anims/world/pistol/pistol_elite/shoot_rightlast_elite.vnmclip+non_additive.vnmclip_c CRC:00a92e080a size:7161 animation/anims/world/pistol/pistol_elite/shoot_rightlast_elite.vnmclip_c CRC:00ef0bb74a size:5170-animation/anims/world/pistol/pistol_fiveseven/draw_crouch_fiveseven.vnmclip_c CRC:009fe09595 size:16678-animation/anims/world/pistol/pistol_fiveseven/draw_fiveseven.vnmclip_c CRC:004a11faa1 size:16823+animation/anims/world/pistol/pistol_fiveseven/draw_crouch_fiveseven.vnmclip_c CRC:005e4e8b00 size:16696+animation/anims/world/pistol/pistol_fiveseven/draw_fiveseven.vnmclip_c CRC:0036485288 size:16821 animation/anims/world/pistol/pistol_fiveseven/idle_crouch_fiveseven.vnmclip+non_additive.vnmclip_c CRC:00406510c3 size:4584 animation/anims/world/pistol/pistol_fiveseven/idle_crouch_fiveseven.vnmclip_c CRC:00e85df5b3 size:3873 animation/anims/world/pistol/pistol_fiveseven/idle_fiveseven.vnmclip+non_additive.vnmclip_c CRC:00bb1f78ee size:4573 animation/anims/world/pistol/pistol_fiveseven/idle_fiveseven.vnmclip_c CRC:007f548b31 size:3810-animation/anims/world/pistol/pistol_fiveseven/reload_crouch_fiveseven.vnmclip_c CRC:009c2c3f20 size:29347-animation/anims/world/pistol/pistol_fiveseven/reload_crouch_fiveseven_silent.vnmclip_c CRC:007e4060fe size:29347+animation/anims/world/pistol/pistol_fiveseven/reload_crouch_fiveseven.vnmclip_c CRC:00eaf1d989 size:29347+animation/anims/world/pistol/pistol_fiveseven/reload_crouch_fiveseven_silent.vnmclip_c CRC:0097798fbd size:29347 animation/anims/world/pistol/pistol_fiveseven/reload_empty_crouch_fiveseven.vnmclip_c CRC:008c976616 size:21186 animation/anims/world/pistol/pistol_fiveseven/reload_empty_fiveseven.vnmclip_c CRC:00365b301d size:21442-animation/anims/world/pistol/pistol_fiveseven/reload_fiveseven.vnmclip_c CRC:00ebd0cf1b size:30024-animation/anims/world/pistol/pistol_fiveseven/reload_fiveseven_silent.vnmclip_c CRC:00d161a75e size:30040+animation/anims/world/pistol/pistol_fiveseven/reload_fiveseven.vnmclip_c CRC:00855a2a52 size:30024+animation/anims/world/pistol/pistol_fiveseven/reload_fiveseven_silent.vnmclip_c CRC:007893e3af size:30040 animation/anims/world/pistol/pistol_fiveseven/shoot_fiveseven.vnmclip+non_additive.vnmclip_c CRC:00f81c0342 size:9373 animation/anims/world/pistol/pistol_fiveseven/shoot_fiveseven.vnmclip_c CRC:00f29873c0 size:8387-animation/anims/world/pistol/pistol_glock/draw_crouch_glock.vnmclip_c CRC:003b9ee0a1 size:16727-animation/anims/world/pistol/pistol_glock/draw_glock.vnmclip_c CRC:00f71fc3f0 size:16696+animation/anims/world/pistol/pistol_glock/draw_crouch_glock.vnmclip_c CRC:0096d93dd0 size:16724+animation/anims/world/pistol/pistol_glock/draw_glock.vnmclip_c CRC:00cd278793 size:16699 animation/anims/world/pistol/pistol_glock/idle_crouch_glock.vnmclip+non_additive.vnmclip_c CRC:000a39ae26 size:4570 animation/anims/world/pistol/pistol_glock/idle_crouch_glock.vnmclip_c CRC:002ef727da size:4209 animation/anims/world/pistol/pistol_glock/idle_glock.vnmclip+non_additive.vnmclip_c CRC:009fd4e306 size:4576@@ -2255,22 +2255,22 @@ animation/anims/world/pistol/pistol_glock/reload_glock.vnmclip_c CRC:00a05e03c3 animation/anims/world/pistol/pistol_glock/reload_glock_silent.vnmclip_c CRC:0048730161 size:24030 animation/anims/world/pistol/pistol_glock/shoot_glock.vnmclip+non_additive.vnmclip_c CRC:00c2eb968b size:9318 animation/anims/world/pistol/pistol_glock/shoot_glock.vnmclip_c CRC:004a979a8e size:8394-animation/anims/world/pistol/pistol_hkp2000/draw_crouch_hkp.vnmclip_c CRC:00ba9d6458 size:13764-animation/anims/world/pistol/pistol_hkp2000/draw_hkp.vnmclip_c CRC:009e6c9ec2 size:14024+animation/anims/world/pistol/pistol_hkp2000/draw_crouch_hkp.vnmclip_c CRC:000ef0bbcd size:13759+animation/anims/world/pistol/pistol_hkp2000/draw_hkp.vnmclip_c CRC:00e7710213 size:14021 animation/anims/world/pistol/pistol_hkp2000/idle_crouch_hkp.vnmclip+non_additive.vnmclip_c CRC:00b9a9da4f size:4588 animation/anims/world/pistol/pistol_hkp2000/idle_crouch_hkp.vnmclip_c CRC:005844c4c9 size:3854 animation/anims/world/pistol/pistol_hkp2000/idle_hkp.vnmclip+non_additive.vnmclip_c CRC:00c5340311 size:4562 animation/anims/world/pistol/pistol_hkp2000/idle_hkp.vnmclip_c CRC:0011e8f334 size:3820-animation/anims/world/pistol/pistol_hkp2000/reload_crouch_hkp.vnmclip_c CRC:00317eefa8 size:23111+animation/anims/world/pistol/pistol_hkp2000/reload_crouch_hkp.vnmclip_c CRC:00f2351a42 size:23111 animation/anims/world/pistol/pistol_hkp2000/reload_crouch_hkp_silent.vnmclip_c CRC:0038027856 size:23111 animation/anims/world/pistol/pistol_hkp2000/reload_empty_crouch_hkp.vnmclip_c CRC:00b0b94348 size:23332 animation/anims/world/pistol/pistol_hkp2000/reload_empty_hkp.vnmclip_c CRC:003c906952 size:24379-animation/anims/world/pistol/pistol_hkp2000/reload_hkp.vnmclip_c CRC:00b7f27536 size:23026-animation/anims/world/pistol/pistol_hkp2000/reload_hkp_silent.vnmclip_c CRC:00c3bd5c41 size:23026+animation/anims/world/pistol/pistol_hkp2000/reload_hkp.vnmclip_c CRC:0035f8b901 size:23025+animation/anims/world/pistol/pistol_hkp2000/reload_hkp_silent.vnmclip_c CRC:00bdf47baa size:23041 animation/anims/world/pistol/pistol_hkp2000/shoot_hkp.vnmclip+non_additive.vnmclip_c CRC:001d3d00de size:9460 animation/anims/world/pistol/pistol_hkp2000/shoot_hkp.vnmclip_c CRC:00246a8018 size:8437-animation/anims/world/pistol/pistol_p250/draw_crouch_p250.vnmclip_c CRC:00b3e39359 size:16490-animation/anims/world/pistol/pistol_p250/draw_p250.vnmclip_c CRC:002124c8c5 size:16671+animation/anims/world/pistol/pistol_p250/draw_crouch_p250.vnmclip_c CRC:002569adf0 size:16490+animation/anims/world/pistol/pistol_p250/draw_p250.vnmclip_c CRC:00cd3e9a76 size:16676 animation/anims/world/pistol/pistol_p250/idle_crouch_p250.vnmclip+non_additive.vnmclip_c CRC:00ae48a9e9 size:4560 animation/anims/world/pistol/pistol_p250/idle_crouch_p250.vnmclip_c CRC:00d0665a4d size:4000 animation/anims/world/pistol/pistol_p250/idle_p250.vnmclip+non_additive.vnmclip_c CRC:00b97d36d6 size:4581@@ -2283,10 +2283,10 @@ animation/anims/world/pistol/pistol_p250/reload_p250.vnmclip_c CRC:0060b88d1b si animation/anims/world/pistol/pistol_p250/reload_p250_silent.vnmclip_c CRC:00dafe3bac size:30193 animation/anims/world/pistol/pistol_p250/shoot_p250.vnmclip+non_additive.vnmclip_c CRC:00c09db906 size:9309 animation/anims/world/pistol/pistol_p250/shoot_p250.vnmclip_c CRC:0096dca4e1 size:8295-animation/anims/world/pistol/pistol_revolver/draw2_crouch_revolver.vnmclip_c CRC:00dedf370d size:17859-animation/anims/world/pistol/pistol_revolver/draw2_revolver.vnmclip_c CRC:00341030af size:18092-animation/anims/world/pistol/pistol_revolver/draw_crouch_revolver.vnmclip_c CRC:00858b699d size:16065-animation/anims/world/pistol/pistol_revolver/draw_revolver.vnmclip_c CRC:003dc8910f size:16314+animation/anims/world/pistol/pistol_revolver/draw2_crouch_revolver.vnmclip_c CRC:0051b5ba43 size:17862+animation/anims/world/pistol/pistol_revolver/draw2_revolver.vnmclip_c CRC:00b3639022 size:18095+animation/anims/world/pistol/pistol_revolver/draw_crouch_revolver.vnmclip_c CRC:00be145989 size:16070+animation/anims/world/pistol/pistol_revolver/draw_revolver.vnmclip_c CRC:0076bbfe22 size:16317 animation/anims/world/pistol/pistol_revolver/idle_crouch_revolver.vnmclip+non_additive.vnmclip_c CRC:00a6a66b02 size:5071 animation/anims/world/pistol/pistol_revolver/idle_crouch_revolver.vnmclip_c CRC:00b010ebd6 size:4688 animation/anims/world/pistol/pistol_revolver/idle_revolver.vnmclip+non_additive.vnmclip_c CRC:00d245fa93 size:5115@@ -2299,16 +2299,16 @@ animation/anims/world/pistol/pistol_revolver/shoot_alt_revolver.vnmclip+non_addi animation/anims/world/pistol/pistol_revolver/shoot_alt_revolver.vnmclip_c CRC:002d900e71 size:13664 animation/anims/world/pistol/pistol_revolver/shoot_revolver.vnmclip+non_additive.vnmclip_c CRC:00d7e81056 size:9384 animation/anims/world/pistol/pistol_revolver/shoot_revolver.vnmclip_c CRC:00c6d027de size:8115-animation/anims/world/pistol/pistol_taser/draw_crouch_taser.vnmclip_c CRC:00f98af2af size:16055-animation/anims/world/pistol/pistol_taser/draw_taser.vnmclip_c CRC:00121e435c size:15909+animation/anims/world/pistol/pistol_taser/draw_crouch_taser.vnmclip_c CRC:009b17626c size:16052+animation/anims/world/pistol/pistol_taser/draw_taser.vnmclip_c CRC:00ec1a69d2 size:15907 animation/anims/world/pistol/pistol_taser/idle_crouch_taser.vnmclip+non_additive.vnmclip_c CRC:003978e04d size:4567 animation/anims/world/pistol/pistol_taser/idle_crouch_taser.vnmclip_c CRC:003ac85604 size:4218 animation/anims/world/pistol/pistol_taser/idle_taser.vnmclip+non_additive.vnmclip_c CRC:0071aa4d24 size:4582 animation/anims/world/pistol/pistol_taser/idle_taser.vnmclip_c CRC:003a456313 size:4231 animation/anims/world/pistol/pistol_taser/shoot_taser.vnmclip+non_additive.vnmclip_c CRC:00024eaa51 size:9073 animation/anims/world/pistol/pistol_taser/shoot_taser.vnmclip_c CRC:00c5d60b61 size:8078-animation/anims/world/pistol/pistol_tec9/draw_crouch_tec9.vnmclip_c CRC:00d7472dbf size:16995-animation/anims/world/pistol/pistol_tec9/draw_tec9.vnmclip_c CRC:000c9263ba size:16831+animation/anims/world/pistol/pistol_tec9/draw_crouch_tec9.vnmclip_c CRC:0055de9520 size:16993+animation/anims/world/pistol/pistol_tec9/draw_tec9.vnmclip_c CRC:00f20ece79 size:16831 animation/anims/world/pistol/pistol_tec9/idle_crouch_tec9.vnmclip+non_additive.vnmclip_c CRC:00361fd0ca size:4558 animation/anims/world/pistol/pistol_tec9/idle_crouch_tec9.vnmclip_c CRC:00c0c3bb2b size:4375 animation/anims/world/pistol/pistol_tec9/idle_tec9.vnmclip+non_additive.vnmclip_c CRC:009ac4804b size:4565@@ -2319,8 +2319,8 @@ animation/anims/world/pistol/pistol_tec9/reload_tec9.vnmclip_c CRC:00d6151d02 si animation/anims/world/pistol/pistol_tec9/reload_tec9_silent.vnmclip_c CRC:00b3223879 size:33238 animation/anims/world/pistol/pistol_tec9/shoot_tec9.vnmclip+non_additive.vnmclip_c CRC:00b8ee937b size:7350 animation/anims/world/pistol/pistol_tec9/shoot_tec9.vnmclip_c CRC:0041de4e0e size:6271-animation/anims/world/pistol/pistol_usp/draw_crouch_pistol.vnmclip_c CRC:0069db1ad6 size:16809-animation/anims/world/pistol/pistol_usp/draw_usp.vnmclip_c CRC:000f3b8680 size:17117+animation/anims/world/pistol/pistol_usp/draw_crouch_pistol.vnmclip_c CRC:00532f8257 size:16807+animation/anims/world/pistol/pistol_usp/draw_usp.vnmclip_c CRC:008bdacef9 size:17115 animation/anims/world/pistol/pistol_usp/idle_crouch_usp.vnmclip+non_additive.vnmclip_c CRC:00d8791597 size:4982 animation/anims/world/pistol/pistol_usp/idle_crouch_usp.vnmclip_c CRC:00eb502f9b size:3010 animation/anims/world/pistol/pistol_usp/idle_usp.vnmclip+non_additive.vnmclip_c CRC:001730c190 size:4972@@ -2530,44 +2530,44 @@ animation/anims/world/rifle/_default_rifle/walk_sw_rifle.vnmclip_c CRC:00d722a24 animation/anims/world/rifle/_default_rifle/walk_w_fwd_rifle.vnmclip_c CRC:000e8701b1 size:8368 animation/anims/world/rifle/_default_rifle/walk_w_mir_rifle.vnmclip_c CRC:0087cdaca5 size:8649 animation/anims/world/rifle/_default_rifle/walk_w_rifle.vnmclip_c CRC:00ff2021a9 size:9777-animation/anims/world/rifle/rifle_ak/draw_ak.vnmclip_c CRC:00097a591f size:15548-animation/anims/world/rifle/rifle_ak/draw_crouch_ak.vnmclip_c CRC:00e6b28ad6 size:16839+animation/anims/world/rifle/rifle_ak/draw_ak.vnmclip_c CRC:00fdea3dc9 size:15551+animation/anims/world/rifle/rifle_ak/draw_crouch_ak.vnmclip_c CRC:00c680363e size:16840 animation/anims/world/rifle/rifle_ak/idle_ak.vnmclip+non_additive.vnmclip_c CRC:00cd0f48bc size:4581 animation/anims/world/rifle/rifle_ak/idle_ak.vnmclip_c CRC:00ec4a3b7f size:4222 animation/anims/world/rifle/rifle_ak/idle_crouch_ak.vnmclip+non_additive.vnmclip_c CRC:00b3b14bfe size:4575 animation/anims/world/rifle/rifle_ak/idle_crouch_ak.vnmclip_c CRC:0017fdc3df size:4433-animation/anims/world/rifle/rifle_ak/reload_ak.vnmclip_c CRC:0087f4fcac size:23759+animation/anims/world/rifle/rifle_ak/reload_ak.vnmclip_c CRC:00164452c3 size:23759 animation/anims/world/rifle/rifle_ak/reload_ak_silent.vnmclip_c CRC:009d7c96ac size:23759-animation/anims/world/rifle/rifle_ak/reload_crouch_ak.vnmclip_c CRC:00d58e2490 size:23719-animation/anims/world/rifle/rifle_ak/reload_crouch_ak_silent.vnmclip_c CRC:00c03a0594 size:23735+animation/anims/world/rifle/rifle_ak/reload_crouch_ak.vnmclip_c CRC:00b18af1db size:23826+animation/anims/world/rifle/rifle_ak/reload_crouch_ak_silent.vnmclip_c CRC:00b77aa910 size:23842 animation/anims/world/rifle/rifle_ak/shoot_ak.vnmclip+non_additive.vnmclip_c CRC:003a26deb2 size:9686 animation/anims/world/rifle/rifle_ak/shoot_ak.vnmclip_c CRC:009f945a62 size:8597-animation/anims/world/rifle/rifle_aug/draw_aug.vnmclip_c CRC:00e7734bc7 size:17341-animation/anims/world/rifle/rifle_aug/draw_crouch_aug.vnmclip_c CRC:0076da91f5 size:17013+animation/anims/world/rifle/rifle_aug/draw_aug.vnmclip_c CRC:0073b85497 size:17341+animation/anims/world/rifle/rifle_aug/draw_crouch_aug.vnmclip_c CRC:001c56db6a size:17013 animation/anims/world/rifle/rifle_aug/idle_aug.vnmclip+non_additive.vnmclip_c CRC:0060b6cd4c size:4579 animation/anims/world/rifle/rifle_aug/idle_aug.vnmclip_c CRC:001228edc4 size:4282 animation/anims/world/rifle/rifle_aug/idle_crouch_aug.vnmclip+non_additive.vnmclip_c CRC:0063ff4c5c size:4559 animation/anims/world/rifle/rifle_aug/idle_crouch_aug.vnmclip_c CRC:0059b270f9 size:4442-animation/anims/world/rifle/rifle_aug/reload_aug.vnmclip_c CRC:00ec6fc2e5 size:30131-animation/anims/world/rifle/rifle_aug/reload_aug_silent.vnmclip_c CRC:0052086ecc size:30135-animation/anims/world/rifle/rifle_aug/reload_crouch_aug.vnmclip_c CRC:0091f9ac68 size:31993-animation/anims/world/rifle/rifle_aug/reload_crouch_aug_silent.vnmclip_c CRC:008d80c61d size:32013+animation/anims/world/rifle/rifle_aug/reload_aug.vnmclip_c CRC:0011030246 size:30131+animation/anims/world/rifle/rifle_aug/reload_aug_silent.vnmclip_c CRC:0008403c47 size:30131+animation/anims/world/rifle/rifle_aug/reload_crouch_aug.vnmclip_c CRC:001a7e2ad3 size:31993+animation/anims/world/rifle/rifle_aug/reload_crouch_aug_silent.vnmclip_c CRC:00abc6e00f size:32009 animation/anims/world/rifle/rifle_aug/shoot_aug.vnmclip+non_additive.vnmclip_c CRC:000bc03afd size:15249 animation/anims/world/rifle/rifle_aug/shoot_aug.vnmclip_c CRC:0003ea45b9 size:14049-animation/anims/world/rifle/rifle_awp/draw_awp.vnmclip_c CRC:008e0606b4 size:19262-animation/anims/world/rifle/rifle_awp/draw_crouch_awp.vnmclip_c CRC:0024e58db4 size:18457+animation/anims/world/rifle/rifle_awp/draw_awp.vnmclip_c CRC:00d7a4d173 size:19262+animation/anims/world/rifle/rifle_awp/draw_crouch_awp.vnmclip_c CRC:00138149ef size:18457 animation/anims/world/rifle/rifle_awp/idle_awp.vnmclip+non_additive.vnmclip_c CRC:00390bf1e0 size:4550 animation/anims/world/rifle/rifle_awp/idle_awp.vnmclip_c CRC:00221054aa size:4217 animation/anims/world/rifle/rifle_awp/idle_crouch_awp.vnmclip+non_additive.vnmclip_c CRC:000f09a9e4 size:4564 animation/anims/world/rifle/rifle_awp/idle_crouch_awp.vnmclip_c CRC:0098739854 size:4442 animation/anims/world/rifle/rifle_awp/reload_awp.vnmclip_c CRC:0067fb6668 size:38965 animation/anims/world/rifle/rifle_awp/reload_awp_silent.vnmclip_c CRC:00e01a3c09 size:38981-animation/anims/world/rifle/rifle_awp/reload_crouch_awp.vnmclip_c CRC:000111ddcd size:39447-animation/anims/world/rifle/rifle_awp/reload_crouch_awp_silent.vnmclip_c CRC:001a49f88f size:39447+animation/anims/world/rifle/rifle_awp/reload_crouch_awp.vnmclip_c CRC:00f84593a8 size:39446+animation/anims/world/rifle/rifle_awp/reload_crouch_awp_silent.vnmclip_c CRC:00d088e297 size:39446 animation/anims/world/rifle/rifle_awp/shoot_awp.vnmclip+non_additive.vnmclip_c CRC:00d9962cc0 size:17190 animation/anims/world/rifle/rifle_awp/shoot_awp.vnmclip_c CRC:008d36d2a6 size:16103-animation/anims/world/rifle/rifle_bizon/draw_bizon.vnmclip_c CRC:008bff5198 size:16757-animation/anims/world/rifle/rifle_bizon/draw_crouch_bizon.vnmclip_c CRC:0090c07434 size:17734+animation/anims/world/rifle/rifle_bizon/draw_bizon.vnmclip_c CRC:00ab073bf1 size:16758+animation/anims/world/rifle/rifle_bizon/draw_crouch_bizon.vnmclip_c CRC:0034800e59 size:17735 animation/anims/world/rifle/rifle_bizon/idle_bizon.vnmclip+non_additive.vnmclip_c CRC:00c177c220 size:4566 animation/anims/world/rifle/rifle_bizon/idle_bizon.vnmclip_c CRC:0063cecf63 size:4266 animation/anims/world/rifle/rifle_bizon/idle_crouch_bizon.vnmclip+non_additive.vnmclip_c CRC:00fc3c4c9f size:4577@@ -2578,8 +2578,8 @@ animation/anims/world/rifle/rifle_bizon/reload_crouch_bizon.vnmclip_c CRC:005fa3 animation/anims/world/rifle/rifle_bizon/reload_crouch_bizon_silent.vnmclip_c CRC:001965e84b size:24952 animation/anims/world/rifle/rifle_bizon/shoot_bizon.vnmclip+non_additive.vnmclip_c CRC:009e841c24 size:10729 animation/anims/world/rifle/rifle_bizon/shoot_bizon.vnmclip_c CRC:00bce48118 size:9968-animation/anims/world/rifle/rifle_famas/draw_crouch_famas.vnmclip_c CRC:005141e5c0 size:16708-animation/anims/world/rifle/rifle_famas/draw_famas.vnmclip_c CRC:00515a9c5a size:16123+animation/anims/world/rifle/rifle_famas/draw_crouch_famas.vnmclip_c CRC:004f01bbaa size:16702+animation/anims/world/rifle/rifle_famas/draw_famas.vnmclip_c CRC:00183746c6 size:16126 animation/anims/world/rifle/rifle_famas/idle_crouch_famas.vnmclip+non_additive.vnmclip_c CRC:00cf5b007e size:4574 animation/anims/world/rifle/rifle_famas/idle_crouch_famas.vnmclip_c CRC:007a7f33a5 size:4456 animation/anims/world/rifle/rifle_famas/idle_famas.vnmclip+non_additive.vnmclip_c CRC:002148d3af size:4554@@ -2590,20 +2590,20 @@ animation/anims/world/rifle/rifle_famas/reload_famas.vnmclip_c CRC:00195b4e21 si animation/anims/world/rifle/rifle_famas/reload_famas_silent.vnmclip_c CRC:00973360b9 size:41324 animation/anims/world/rifle/rifle_famas/shoot_famas.vnmclip+non_additive.vnmclip_c CRC:00c16bdb87 size:13932 animation/anims/world/rifle/rifle_famas/shoot_famas.vnmclip_c CRC:00068e08d0 size:12949-animation/anims/world/rifle/rifle_g3sg1/draw_crouch_g3sg1.vnmclip_c CRC:009ff7711f size:17236-animation/anims/world/rifle/rifle_g3sg1/draw_g3sg1.vnmclip_c CRC:00e50ba6b1 size:17620+animation/anims/world/rifle/rifle_g3sg1/draw_crouch_g3sg1.vnmclip_c CRC:008269db24 size:17233+animation/anims/world/rifle/rifle_g3sg1/draw_g3sg1.vnmclip_c CRC:006535c122 size:17615 animation/anims/world/rifle/rifle_g3sg1/idle_crouch_g3sg1.vnmclip+non_additive.vnmclip_c CRC:009e05bff3 size:4560 animation/anims/world/rifle/rifle_g3sg1/idle_crouch_g3sg1.vnmclip_c CRC:00c563c203 size:4454 animation/anims/world/rifle/rifle_g3sg1/idle_g3sg1.vnmclip+non_additive.vnmclip_c CRC:006437c398 size:4569 animation/anims/world/rifle/rifle_g3sg1/idle_g3sg1.vnmclip_c CRC:00b9dc3b50 size:4253-animation/anims/world/rifle/rifle_g3sg1/reload_crouch_g3sg1.vnmclip_c CRC:00051376f5 size:43527-animation/anims/world/rifle/rifle_g3sg1/reload_crouch_g3sg1_silent.vnmclip_c CRC:00ef99672e size:43527+animation/anims/world/rifle/rifle_g3sg1/reload_crouch_g3sg1.vnmclip_c CRC:004a4adb88 size:43529+animation/anims/world/rifle/rifle_g3sg1/reload_crouch_g3sg1_silent.vnmclip_c CRC:00633f4809 size:43529 animation/anims/world/rifle/rifle_g3sg1/reload_g3sg1.vnmclip_c CRC:00e26a8855 size:39751 animation/anims/world/rifle/rifle_g3sg1/reload_g3sg1_silent.vnmclip_c CRC:0011001e67 size:39767 animation/anims/world/rifle/rifle_g3sg1/shoot_g3sg1.vnmclip+non_additive.vnmclip_c CRC:00ed3e1359 size:11371 animation/anims/world/rifle/rifle_g3sg1/shoot_g3sg1.vnmclip_c CRC:001b332e12 size:10319-animation/anims/world/rifle/rifle_galilar/draw_crouch_galilar.vnmclip_c CRC:00a4790940 size:17375-animation/anims/world/rifle/rifle_galilar/draw_galilar.vnmclip_c CRC:006c357a60 size:16480+animation/anims/world/rifle/rifle_galilar/draw_crouch_galilar.vnmclip_c CRC:00dd7bf73f size:17377+animation/anims/world/rifle/rifle_galilar/draw_galilar.vnmclip_c CRC:00753be752 size:16479 animation/anims/world/rifle/rifle_galilar/idle_crouch_galilar.vnmclip+non_additive.vnmclip_c CRC:00567da3c5 size:4574 animation/anims/world/rifle/rifle_galilar/idle_crouch_galilar.vnmclip_c CRC:00d0ce9287 size:4405 animation/anims/world/rifle/rifle_galilar/idle_galilar.vnmclip+non_additive.vnmclip_c CRC:00053ca687 size:4575@@ -2614,16 +2614,16 @@ animation/anims/world/rifle/rifle_galilar/reload_galilar.vnmclip_c CRC:007edfa8e animation/anims/world/rifle/rifle_galilar/reload_galilar_silent.vnmclip_c CRC:00064d0caa size:36690 animation/anims/world/rifle/rifle_galilar/shoot_galilar.vnmclip+non_additive.vnmclip_c CRC:009b1495e0 size:13167 animation/anims/world/rifle/rifle_galilar/shoot_galilar.vnmclip_c CRC:009fa743bb size:12148-animation/anims/world/rifle/rifle_m249/draw_crouch_m249.vnmclip_c CRC:00fec3b9a7 size:15499-animation/anims/world/rifle/rifle_m249/draw_m249.vnmclip_c CRC:00b587170e size:14892+animation/anims/world/rifle/rifle_m249/draw_crouch_m249.vnmclip_c CRC:00b8048c30 size:15499+animation/anims/world/rifle/rifle_m249/draw_m249.vnmclip_c CRC:00aa553137 size:14889 animation/anims/world/rifle/rifle_m249/idle_crouch_m249.vnmclip+non_additive.vnmclip_c CRC:008005a391 size:4572 animation/anims/world/rifle/rifle_m249/idle_crouch_m249.vnmclip_c CRC:00b083e949 size:4370 animation/anims/world/rifle/rifle_m249/idle_m249.vnmclip+non_additive.vnmclip_c CRC:00104e679b size:4568 animation/anims/world/rifle/rifle_m249/idle_m249.vnmclip_c CRC:00d3d1b94e size:3824 animation/anims/world/rifle/rifle_m249/reload_crouch_m249.vnmclip_c CRC:0030f23352 size:157661 animation/anims/world/rifle/rifle_m249/reload_crouch_m249_silent.vnmclip_c CRC:00099c1469 size:157677-animation/anims/world/rifle/rifle_m249/reload_m249.vnmclip_c CRC:00322078d9 size:157142-animation/anims/world/rifle/rifle_m249/reload_m249_silent.vnmclip_c CRC:00c16ec416 size:157142+animation/anims/world/rifle/rifle_m249/reload_m249.vnmclip_c CRC:009ace7576 size:157144+animation/anims/world/rifle/rifle_m249/reload_m249_silent.vnmclip_c CRC:00cd516f45 size:157144 animation/anims/world/rifle/rifle_m249/shoot_m249.vnmclip+non_additive.vnmclip_c CRC:0015c65e40 size:13235 animation/anims/world/rifle/rifle_m249/shoot_m249.vnmclip_c CRC:0027636ef1 size:12238 animation/anims/world/rifle/rifle_m4a1_silencer/draw_crouch_m4a1s.vnmclip_c CRC:0086bf96d7 size:18976@@ -2632,10 +2632,10 @@ animation/anims/world/rifle/rifle_m4a1_silencer/idle_crouch_m4a1s.vnmclip+non_ad animation/anims/world/rifle/rifle_m4a1_silencer/idle_crouch_m4a1s.vnmclip_c CRC:0033db17d2 size:2584 animation/anims/world/rifle/rifle_m4a1_silencer/idle_m4a1s.vnmclip+non_additive.vnmclip_c CRC:005a18191a size:4559 animation/anims/world/rifle/rifle_m4a1_silencer/idle_m4a1s.vnmclip_c CRC:00a157a4cb size:2619-animation/anims/world/rifle/rifle_m4a1_silencer/reload_crouch_m4a1s.vnmclip_c CRC:0073671963 size:36239-animation/anims/world/rifle/rifle_m4a1_silencer/reload_crouch_m4a1s_silent.vnmclip_c CRC:00f8cc2ebb size:36239-animation/anims/world/rifle/rifle_m4a1_silencer/reload_m4a1s.vnmclip_c CRC:007278e994 size:24387-animation/anims/world/rifle/rifle_m4a1_silencer/reload_m4a1s_silent.vnmclip_c CRC:0041a33a38 size:24387+animation/anims/world/rifle/rifle_m4a1_silencer/reload_crouch_m4a1s.vnmclip_c CRC:00f603de44 size:36239+animation/anims/world/rifle/rifle_m4a1_silencer/reload_crouch_m4a1s_silent.vnmclip_c CRC:00a508b8a5 size:36239+animation/anims/world/rifle/rifle_m4a1_silencer/reload_m4a1s.vnmclip_c CRC:005e0cf11f size:24387+animation/anims/world/rifle/rifle_m4a1_silencer/reload_m4a1s_silent.vnmclip_c CRC:000ccb678f size:24387 animation/anims/world/rifle/rifle_m4a1_silencer/shoot_m4a1s.vnmclip+non_additive.vnmclip_c CRC:001c9eebcf size:7594 animation/anims/world/rifle/rifle_m4a1_silencer/shoot_m4a1s.vnmclip_c CRC:00997ed68e size:6654 animation/anims/world/rifle/rifle_m4a1_silencer/silencer_attach_m4a1s.vnmclip_c CRC:00493e23da size:47561@@ -2646,22 +2646,22 @@ animation/anims/world/rifle/rifle_m4a4/idle_crouch_m4a4.vnmclip+non_additive.vnm animation/anims/world/rifle/rifle_m4a4/idle_crouch_m4a4.vnmclip_c CRC:003e544df8 size:4337 animation/anims/world/rifle/rifle_m4a4/idle_m4a4.vnmclip+non_additive.vnmclip_c CRC:000cebd135 size:4553 animation/anims/world/rifle/rifle_m4a4/idle_m4a4.vnmclip_c CRC:007d9a6155 size:4082-animation/anims/world/rifle/rifle_m4a4/reload_crouch_m4a4.vnmclip_c CRC:005bf7a556 size:29231-animation/anims/world/rifle/rifle_m4a4/reload_crouch_m4a4_silent.vnmclip_c CRC:0019c4739a size:29231-animation/anims/world/rifle/rifle_m4a4/reload_m4a4.vnmclip_c CRC:00e1d589fb size:29080-animation/anims/world/rifle/rifle_m4a4/reload_m4a4_silent.vnmclip_c CRC:000824ee17 size:29080+animation/anims/world/rifle/rifle_m4a4/reload_crouch_m4a4.vnmclip_c CRC:0071986696 size:29232+animation/anims/world/rifle/rifle_m4a4/reload_crouch_m4a4_silent.vnmclip_c CRC:00abb616dc size:29232+animation/anims/world/rifle/rifle_m4a4/reload_m4a4.vnmclip_c CRC:00dcacc1e8 size:29080+animation/anims/world/rifle/rifle_m4a4/reload_m4a4_silent.vnmclip_c CRC:00ead03f13 size:29080 animation/anims/world/rifle/rifle_m4a4/shoot_m4a4.vnmclip+non_additive.vnmclip_c CRC:00f1df64b7 size:7393 animation/anims/world/rifle/rifle_m4a4/shoot_m4a4.vnmclip_c CRC:0000cca6b6 size:6473-animation/anims/world/rifle/rifle_mac10/draw_crouch_mac10.vnmclip_c CRC:00b1447e13 size:18036-animation/anims/world/rifle/rifle_mac10/draw_mac10.vnmclip_c CRC:0015f139b9 size:17362+animation/anims/world/rifle/rifle_mac10/draw_crouch_mac10.vnmclip_c CRC:00dabca20f size:18033+animation/anims/world/rifle/rifle_mac10/draw_mac10.vnmclip_c CRC:00490d8d86 size:17360 animation/anims/world/rifle/rifle_mac10/idle_crouch_mac10.vnmclip+non_additive.vnmclip_c CRC:00cd493405 size:4570 animation/anims/world/rifle/rifle_mac10/idle_crouch_mac10.vnmclip_c CRC:00ccb1f835 size:4465 animation/anims/world/rifle/rifle_mac10/idle_mac10.vnmclip+non_additive.vnmclip_c CRC:00aabec4ee size:4572 animation/anims/world/rifle/rifle_mac10/idle_mac10.vnmclip_c CRC:00e9058773 size:4279-animation/anims/world/rifle/rifle_mac10/reload__crouch_mac10.vnmclip_c CRC:00faacabcb size:29065-animation/anims/world/rifle/rifle_mac10/reload__crouch_mac10_silent.vnmclip_c CRC:0014dc5052 size:29081-animation/anims/world/rifle/rifle_mac10/reload_mac10.vnmclip_c CRC:000486ba2c size:28952-animation/anims/world/rifle/rifle_mac10/reload_mac10_silent.vnmclip_c CRC:00524016c1 size:28952+animation/anims/world/rifle/rifle_mac10/reload__crouch_mac10.vnmclip_c CRC:00a4f08312 size:29065+animation/anims/world/rifle/rifle_mac10/reload__crouch_mac10_silent.vnmclip_c CRC:00a68dcd33 size:29081+animation/anims/world/rifle/rifle_mac10/reload_mac10.vnmclip_c CRC:000f10af1d size:28953+animation/anims/world/rifle/rifle_mac10/reload_mac10_silent.vnmclip_c CRC:003ffa0937 size:28953 animation/anims/world/rifle/rifle_mac10/shoot_mac10.vnmclip+non_additive.vnmclip_c CRC:007bfaed3b size:11564 animation/anims/world/rifle/rifle_mac10/shoot_mac10.vnmclip_c CRC:00e48376fc size:10458 animation/anims/world/rifle/rifle_mag7/draw_crouch_mag7.vnmclip_c CRC:00069a534e size:15218@@ -2670,10 +2670,10 @@ animation/anims/world/rifle/rifle_mag7/idle_crouch_mag7.vnmclip+non_additive.vnm animation/anims/world/rifle/rifle_mag7/idle_crouch_mag7.vnmclip_c CRC:00b8a729a1 size:4462 animation/anims/world/rifle/rifle_mag7/idle_mag7.vnmclip+non_additive.vnmclip_c CRC:00ae298a6a size:4557 animation/anims/world/rifle/rifle_mag7/idle_mag7.vnmclip_c CRC:006ba70d6b size:4262-animation/anims/world/rifle/rifle_mag7/reload_crouch_mag7.vnmclip_c CRC:006ccec109 size:22809-animation/anims/world/rifle/rifle_mag7/reload_crouch_mag7_silent.vnmclip_c CRC:0053d936ed size:22825-animation/anims/world/rifle/rifle_mag7/reload_mag7.vnmclip_c CRC:0092e4a390 size:24459-animation/anims/world/rifle/rifle_mag7/reload_mag7_silent.vnmclip_c CRC:00f4756b75 size:24459+animation/anims/world/rifle/rifle_mag7/reload_crouch_mag7.vnmclip_c CRC:00641b2846 size:22809+animation/anims/world/rifle/rifle_mag7/reload_crouch_mag7_silent.vnmclip_c CRC:00caa69eaf size:22825+animation/anims/world/rifle/rifle_mag7/reload_mag7.vnmclip_c CRC:00ca583cd3 size:24458+animation/anims/world/rifle/rifle_mag7/reload_mag7_silent.vnmclip_c CRC:00a265f1e6 size:24458 animation/anims/world/rifle/rifle_mag7/shoot_mag7.vnmclip+non_additive.vnmclip_c CRC:0095f58b4b size:9645 animation/anims/world/rifle/rifle_mag7/shoot_mag7.vnmclip_c CRC:00cd5fc271 size:8757 animation/anims/world/rifle/rifle_mp5sd/draw2_crouch_mp5sd.vnmclip_c CRC:00daea6add size:14026@@ -2684,50 +2684,50 @@ animation/anims/world/rifle/rifle_mp5sd/idle_crouch_mp5sd.vnmclip+non_additive.v animation/anims/world/rifle/rifle_mp5sd/idle_crouch_mp5sd.vnmclip_c CRC:003051dd7a size:4476 animation/anims/world/rifle/rifle_mp5sd/idle_mp5sd.vnmclip+non_additive.vnmclip_c CRC:00577f156e size:4560 animation/anims/world/rifle/rifle_mp5sd/idle_mp5sd.vnmclip_c CRC:007b606235 size:4385-animation/anims/world/rifle/rifle_mp5sd/reload_crouch_mp5sd.vnmclip_c CRC:00e04f8a64 size:27026-animation/anims/world/rifle/rifle_mp5sd/reload_crouch_mp5sd_silent.vnmclip_c CRC:003cade9da size:27026+animation/anims/world/rifle/rifle_mp5sd/reload_crouch_mp5sd.vnmclip_c CRC:004d682fef size:27027+animation/anims/world/rifle/rifle_mp5sd/reload_crouch_mp5sd_silent.vnmclip_c CRC:0049895c5a size:27027 animation/anims/world/rifle/rifle_mp5sd/reload_mp5sd.vnmclip_c CRC:00186f4d71 size:26868 animation/anims/world/rifle/rifle_mp5sd/reload_mp5sd_silent.vnmclip_c CRC:005e632582 size:26868 animation/anims/world/rifle/rifle_mp5sd/shoot_mp5sd.vnmclip+non_additive.vnmclip_c CRC:00f4d5dfab size:7364 animation/anims/world/rifle/rifle_mp5sd/shoot_mp5sd.vnmclip_c CRC:00c706bb9a size:6298-animation/anims/world/rifle/rifle_mp7/draw_crouch_mp7.vnmclip_c CRC:0075efe275 size:15109-animation/anims/world/rifle/rifle_mp7/draw_mp7.vnmclip_c CRC:00cdca8f80 size:15383+animation/anims/world/rifle/rifle_mp7/draw_crouch_mp7.vnmclip_c CRC:009129ef47 size:15106+animation/anims/world/rifle/rifle_mp7/draw_mp7.vnmclip_c CRC:0035a59f76 size:15380 animation/anims/world/rifle/rifle_mp7/idle_crouch_mp7.vnmclip+non_additive.vnmclip_c CRC:00ba66fbc5 size:4552 animation/anims/world/rifle/rifle_mp7/idle_crouch_mp7.vnmclip_c CRC:0046bc6dca size:4432 animation/anims/world/rifle/rifle_mp7/idle_mp7.vnmclip+non_additive.vnmclip_c CRC:001f283bbe size:4531 animation/anims/world/rifle/rifle_mp7/idle_mp7.vnmclip_c CRC:00ebd1c4ba size:4397-animation/anims/world/rifle/rifle_mp7/reload_crouch_mp7.vnmclip_c CRC:00bbee420c size:28735-animation/anims/world/rifle/rifle_mp7/reload_crouch_mp7_silent.vnmclip_c CRC:0068100372 size:28735-animation/anims/world/rifle/rifle_mp7/reload_mp7.vnmclip_c CRC:00a07b4070 size:28540-animation/anims/world/rifle/rifle_mp7/reload_mp7_silent.vnmclip_c CRC:002e906e18 size:28556+animation/anims/world/rifle/rifle_mp7/reload_crouch_mp7.vnmclip_c CRC:004c7a3674 size:28735+animation/anims/world/rifle/rifle_mp7/reload_crouch_mp7_silent.vnmclip_c CRC:00fadebd4e size:28735+animation/anims/world/rifle/rifle_mp7/reload_mp7.vnmclip_c CRC:00a07dfdd9 size:28540+animation/anims/world/rifle/rifle_mp7/reload_mp7_silent.vnmclip_c CRC:00fc099247 size:28556 animation/anims/world/rifle/rifle_mp7/shoot_mp7.vnmclip+non_additive.vnmclip_c CRC:001a15c5d1 size:9508 animation/anims/world/rifle/rifle_mp7/shoot_mp7.vnmclip_c CRC:00e57e39ee size:8888-animation/anims/world/rifle/rifle_mp9/draw__crouch_mp9.vnmclip_c CRC:002a638eaa size:16336-animation/anims/world/rifle/rifle_mp9/draw_mp9.vnmclip_c CRC:00318888bd size:16854+animation/anims/world/rifle/rifle_mp9/draw__crouch_mp9.vnmclip_c CRC:00713e77f3 size:16336+animation/anims/world/rifle/rifle_mp9/draw_mp9.vnmclip_c CRC:0081e80e34 size:16854 animation/anims/world/rifle/rifle_mp9/idle_crouch_mp9.vnmclip+non_additive.vnmclip_c CRC:001bdf4c89 size:4576 animation/anims/world/rifle/rifle_mp9/idle_crouch_mp9.vnmclip_c CRC:007789dcf4 size:4475 animation/anims/world/rifle/rifle_mp9/idle_mp9.vnmclip+non_additive.vnmclip_c CRC:00d9f0a4e2 size:4569 animation/anims/world/rifle/rifle_mp9/idle_mp9.vnmclip_c CRC:00a0059a5b size:4269-animation/anims/world/rifle/rifle_mp9/reload_crouch_mp9.vnmclip_c CRC:00d3a5a6e9 size:25862-animation/anims/world/rifle/rifle_mp9/reload_crouch_mp9_silent.vnmclip_c CRC:0049da522c size:25862-animation/anims/world/rifle/rifle_mp9/reload_mp9.vnmclip_c CRC:0066a86d8d size:26123-animation/anims/world/rifle/rifle_mp9/reload_mp9_silent.vnmclip_c CRC:00020952ab size:26139+animation/anims/world/rifle/rifle_mp9/reload_crouch_mp9.vnmclip_c CRC:009a9d7102 size:25862+animation/anims/world/rifle/rifle_mp9/reload_crouch_mp9_silent.vnmclip_c CRC:008c02e690 size:25862+animation/anims/world/rifle/rifle_mp9/reload_mp9.vnmclip_c CRC:0055b6b7b3 size:26124+animation/anims/world/rifle/rifle_mp9/reload_mp9_silent.vnmclip_c CRC:00bb198516 size:26140 animation/anims/world/rifle/rifle_mp9/shoot_mp9.vnmclip+non_additive.vnmclip_c CRC:00c5acc74e size:9787 animation/anims/world/rifle/rifle_mp9/shoot_mp9.vnmclip_c CRC:00d297b6b4 size:8803-animation/anims/world/rifle/rifle_negev/draw_crouch_negev.vnmclip_c CRC:0020ed3cfd size:17904-animation/anims/world/rifle/rifle_negev/draw_negev.vnmclip_c CRC:0052203ce2 size:16309+animation/anims/world/rifle/rifle_negev/draw_crouch_negev.vnmclip_c CRC:00b636c99f size:17903+animation/anims/world/rifle/rifle_negev/draw_negev.vnmclip_c CRC:0043e10aea size:16310 animation/anims/world/rifle/rifle_negev/idle_crouch_negev.vnmclip+non_additive.vnmclip_c CRC:00598ad530 size:4567 animation/anims/world/rifle/rifle_negev/idle_crouch_negev.vnmclip_c CRC:00a25246a7 size:4472 animation/anims/world/rifle/rifle_negev/idle_negev.vnmclip+non_additive.vnmclip_c CRC:0049ea56ab size:4560 animation/anims/world/rifle/rifle_negev/idle_negev.vnmclip_c CRC:0045d9a1e8 size:4278-animation/anims/world/rifle/rifle_negev/reload_crouch_negev.vnmclip_c CRC:00db19c56d size:106953-animation/anims/world/rifle/rifle_negev/reload_crouch_negev_silent.vnmclip_c CRC:0000b1d101 size:106969-animation/anims/world/rifle/rifle_negev/reload_negev.vnmclip_c CRC:001719b36b size:106415-animation/anims/world/rifle/rifle_negev/reload_negev_silent.vnmclip_c CRC:00fc6b54f0 size:106415+animation/anims/world/rifle/rifle_negev/reload_crouch_negev.vnmclip_c CRC:00d0f11191 size:106955+animation/anims/world/rifle/rifle_negev/reload_crouch_negev_silent.vnmclip_c CRC:0015e8f62c size:106971+animation/anims/world/rifle/rifle_negev/reload_negev.vnmclip_c CRC:000f1c2b4b size:106416+animation/anims/world/rifle/rifle_negev/reload_negev_silent.vnmclip_c CRC:000fcd58f1 size:106416 animation/anims/world/rifle/rifle_negev/shoot_negev.vnmclip+non_additive.vnmclip_c CRC:0020229954 size:20223 animation/anims/world/rifle/rifle_negev/shoot_negev.vnmclip_c CRC:00fd67bb97 size:19070-animation/anims/world/rifle/rifle_nova/draw_crouch_nova.vnmclip_c CRC:009f4e5fda size:13104-animation/anims/world/rifle/rifle_nova/draw_nova.vnmclip_c CRC:0022fc514f size:13425+animation/anims/world/rifle/rifle_nova/draw_crouch_nova.vnmclip_c CRC:001dfa3361 size:13105+animation/anims/world/rifle/rifle_nova/draw_nova.vnmclip_c CRC:0028d26ebf size:13426 animation/anims/world/rifle/rifle_nova/idle_crouch_nova.vnmclip+non_additive.vnmclip_c CRC:00fd90dbbc size:4577 animation/anims/world/rifle/rifle_nova/idle_crouch_nova.vnmclip_c CRC:0033c49b6a size:4450 animation/anims/world/rifle/rifle_nova/idle_nova.vnmclip+non_additive.vnmclip_c CRC:00a66d1057 size:4576@@ -2738,16 +2738,16 @@ animation/anims/world/rifle/rifle_nova/reload_nova.vnmclip_c CRC:000818f5a8 size animation/anims/world/rifle/rifle_nova/reload_nova_silent.vnmclip_c CRC:003df945b5 size:20914 animation/anims/world/rifle/rifle_nova/shoot_nova.vnmclip+non_additive.vnmclip_c CRC:000b71642f size:9854 animation/anims/world/rifle/rifle_nova/shoot_nova.vnmclip_c CRC:005ec69ba3 size:8671-animation/anims/world/rifle/rifle_p90/draw_crouch_p90.vnmclip_c CRC:0079064230 size:16737-animation/anims/world/rifle/rifle_p90/draw_p90.vnmclip_c CRC:001d3a0164 size:17155+animation/anims/world/rifle/rifle_p90/draw_crouch_p90.vnmclip_c CRC:005d6c1888 size:16737+animation/anims/world/rifle/rifle_p90/draw_p90.vnmclip_c CRC:0083e3cb43 size:17155 animation/anims/world/rifle/rifle_p90/idle_crouch_p90.vnmclip+non_additive.vnmclip_c CRC:00e05854a6 size:4578 animation/anims/world/rifle/rifle_p90/idle_crouch_p90.vnmclip_c CRC:003ede180b size:4479 animation/anims/world/rifle/rifle_p90/idle_p90.vnmclip+non_additive.vnmclip_c CRC:00d2ebce33 size:4559 animation/anims/world/rifle/rifle_p90/idle_p90.vnmclip_c CRC:002c78f996 size:4288-animation/anims/world/rifle/rifle_p90/reload_crouch_p90.vnmclip_c CRC:006d5b1e8d size:35373-animation/anims/world/rifle/rifle_p90/reload_crouch_p90_silent.vnmclip_c CRC:00f6bf86bc size:35389-animation/anims/world/rifle/rifle_p90/reload_p90.vnmclip_c CRC:0069672f2f size:35369-animation/anims/world/rifle/rifle_p90/reload_p90_silent.vnmclip_c CRC:00ad890452 size:35369+animation/anims/world/rifle/rifle_p90/reload_crouch_p90.vnmclip_c CRC:007f4dc41d size:35373+animation/anims/world/rifle/rifle_p90/reload_crouch_p90_silent.vnmclip_c CRC:003fef6d53 size:35389+animation/anims/world/rifle/rifle_p90/reload_p90.vnmclip_c CRC:000cfabc85 size:35369+animation/anims/world/rifle/rifle_p90/reload_p90_silent.vnmclip_c CRC:00f2f70454 size:35369 animation/anims/world/rifle/rifle_p90/shoot_p90.vnmclip+non_additive.vnmclip_c CRC:001789d867 size:13689 animation/anims/world/rifle/rifle_p90/shoot_p90.vnmclip_c CRC:005a339bcf size:12682 animation/anims/world/rifle/rifle_sawedoff/draw_crouch_sawedoff.vnmclip_c CRC:00639df0a7 size:16699@@ -2756,69 +2756,69 @@ animation/anims/world/rifle/rifle_sawedoff/idle_crouch_sawedoff.vnmclip+non_addi animation/anims/world/rifle/rifle_sawedoff/idle_crouch_sawedoff.vnmclip_c CRC:00132a892a size:4452 animation/anims/world/rifle/rifle_sawedoff/idle_sawedoff.vnmclip+non_additive.vnmclip_c CRC:00878ec4e3 size:4574 animation/anims/world/rifle/rifle_sawedoff/idle_sawedoff.vnmclip_c CRC:00e20d955c size:4253-animation/anims/world/rifle/rifle_sawedoff/reload_crouch_sawedoff.vnmclip_c CRC:0088fb6e2e size:17922-animation/anims/world/rifle/rifle_sawedoff/reload_crouch_sawedoff_silent.vnmclip_c CRC:00094792d7 size:17922-animation/anims/world/rifle/rifle_sawedoff/reload_sawedoff.vnmclip_c CRC:002f30fe56 size:17765-animation/anims/world/rifle/rifle_sawedoff/reload_sawedoff_silent.vnmclip_c CRC:00d5467ccb size:17765+animation/anims/world/rifle/rifle_sawedoff/reload_crouch_sawedoff.vnmclip_c CRC:00d34f2891 size:17925+animation/anims/world/rifle/rifle_sawedoff/reload_crouch_sawedoff_silent.vnmclip_c CRC:0066ddb12f size:17925+animation/anims/world/rifle/rifle_sawedoff/reload_sawedoff.vnmclip_c CRC:005652c566 size:17762+animation/anims/world/rifle/rifle_sawedoff/reload_sawedoff_silent.vnmclip_c CRC:008efa0537 size:17778 animation/anims/world/rifle/rifle_sawedoff/shoot_sawedoff.vnmclip+non_additive.vnmclip_c CRC:00db987845 size:9812 animation/anims/world/rifle/rifle_sawedoff/shoot_sawedoff.vnmclip_c CRC:008ad1a310 size:8846-animation/anims/world/rifle/rifle_scar/draw_crouch_scar20.vnmclip_c CRC:008d827eee size:13515-animation/anims/world/rifle/rifle_scar/draw_scar20.vnmclip_c CRC:0092b2b949 size:13115+animation/anims/world/rifle/rifle_scar/draw_crouch_scar20.vnmclip_c CRC:00307501b8 size:13502+animation/anims/world/rifle/rifle_scar/draw_scar20.vnmclip_c CRC:0090ff3414 size:13112 animation/anims/world/rifle/rifle_scar/idle_crouch_scar20.vnmclip+non_additive.vnmclip_c CRC:00223d85bf size:4564 animation/anims/world/rifle/rifle_scar/idle_crouch_scar20.vnmclip_c CRC:009eab1ae6 size:4447 animation/anims/world/rifle/rifle_scar/idle_scar20.vnmclip+non_additive.vnmclip_c CRC:00bdf98c6a size:4566 animation/anims/world/rifle/rifle_scar/idle_scar20.vnmclip_c CRC:003282e2b3 size:4244-animation/anims/world/rifle/rifle_scar/reload_crouch_scar20.vnmclip_c CRC:003a53774c size:28611-animation/anims/world/rifle/rifle_scar/reload_crouch_scar20_silent.vnmclip_c CRC:00cb3e15dd size:28611-animation/anims/world/rifle/rifle_scar/reload_scar20.vnmclip_c CRC:00792520b6 size:30344-animation/anims/world/rifle/rifle_scar/reload_scar20_silent.vnmclip_c CRC:00005e8d90 size:30344+animation/anims/world/rifle/rifle_scar/reload_crouch_scar20.vnmclip_c CRC:00506cd7f5 size:28611+animation/anims/world/rifle/rifle_scar/reload_crouch_scar20_silent.vnmclip_c CRC:00bb2d2de1 size:28611+animation/anims/world/rifle/rifle_scar/reload_scar20.vnmclip_c CRC:00cc6418f4 size:30344+animation/anims/world/rifle/rifle_scar/reload_scar20_silent.vnmclip_c CRC:001837e245 size:30344 animation/anims/world/rifle/rifle_scar/shoot_scar20.vnmclip+non_additive.vnmclip_c CRC:0063da594a size:11692 animation/anims/world/rifle/rifle_scar/shoot_scar20.vnmclip_c CRC:004a5377a6 size:10384-animation/anims/world/rifle/rifle_sg556/draw_crouch_sg556.vnmclip_c CRC:00c0d381bd size:13524-animation/anims/world/rifle/rifle_sg556/draw_sg556.vnmclip_c CRC:00400cec9c size:13958+animation/anims/world/rifle/rifle_sg556/draw_crouch_sg556.vnmclip_c CRC:005111e677 size:13524+animation/anims/world/rifle/rifle_sg556/draw_sg556.vnmclip_c CRC:0029da185a size:13958 animation/anims/world/rifle/rifle_sg556/idle_crouch_sg556.vnmclip+non_additive.vnmclip_c CRC:00110d3cea size:4574 animation/anims/world/rifle/rifle_sg556/idle_crouch_sg556.vnmclip_c CRC:00f995cbcc size:4443 animation/anims/world/rifle/rifle_sg556/idle_sg556.vnmclip+non_additive.vnmclip_c CRC:000e3fdec2 size:4564 animation/anims/world/rifle/rifle_sg556/idle_sg556.vnmclip_c CRC:00310ab755 size:4409-animation/anims/world/rifle/rifle_sg556/reload_crouch_sg556.vnmclip_c CRC:002765af11 size:25249-animation/anims/world/rifle/rifle_sg556/reload_crouch_sg556_silent.vnmclip_c CRC:00a7981c5b size:25265-animation/anims/world/rifle/rifle_sg556/reload_sg556.vnmclip_c CRC:00daf51dce size:24867-animation/anims/world/rifle/rifle_sg556/reload_sg556_silent.vnmclip_c CRC:00877dd825 size:24867+animation/anims/world/rifle/rifle_sg556/reload_crouch_sg556.vnmclip_c CRC:00f3a1e3d9 size:25248+animation/anims/world/rifle/rifle_sg556/reload_crouch_sg556_silent.vnmclip_c CRC:008cc45ab7 size:25264+animation/anims/world/rifle/rifle_sg556/reload_sg556.vnmclip_c CRC:0043e9fa93 size:24866+animation/anims/world/rifle/rifle_sg556/reload_sg556_silent.vnmclip_c CRC:00b2846984 size:24866 animation/anims/world/rifle/rifle_sg556/shoot_sg556.vnmclip+non_additive.vnmclip_c CRC:00e46754b4 size:10377 animation/anims/world/rifle/rifle_sg556/shoot_sg556.vnmclip_c CRC:0094e6208f size:9404 animation/anims/world/rifle/rifle_ssg08/draw_crouch_ssg08.vnmclip_c CRC:007d07ec12 size:16969-animation/anims/world/rifle/rifle_ssg08/draw_ssg08.vnmclip_c CRC:003531547e size:17140+animation/anims/world/rifle/rifle_ssg08/draw_ssg08.vnmclip_c CRC:00e6d92766 size:17139 animation/anims/world/rifle/rifle_ssg08/idle_crouch_ssg08.vnmclip+non_additive.vnmclip_c CRC:001d9a6444 size:4568 animation/anims/world/rifle/rifle_ssg08/idle_crouch_ssg08.vnmclip_c CRC:008df02f66 size:4392 animation/anims/world/rifle/rifle_ssg08/idle_ssg08.vnmclip+non_additive.vnmclip_c CRC:00e7265579 size:4575 animation/anims/world/rifle/rifle_ssg08/idle_ssg08.vnmclip_c CRC:00daafce8a size:4143-animation/anims/world/rifle/rifle_ssg08/reload_crouch_ssg08.vnmclip_c CRC:00f0d70361 size:33732-animation/anims/world/rifle/rifle_ssg08/reload_crouch_ssg08_silent.vnmclip_c CRC:00b432a0cd size:33748-animation/anims/world/rifle/rifle_ssg08/reload_ssg08.vnmclip_c CRC:004b8251d0 size:33217-animation/anims/world/rifle/rifle_ssg08/reload_ssg08_silent.vnmclip_c CRC:00192591d7 size:33217+animation/anims/world/rifle/rifle_ssg08/reload_crouch_ssg08.vnmclip_c CRC:00bdd298c3 size:33732+animation/anims/world/rifle/rifle_ssg08/reload_crouch_ssg08_silent.vnmclip_c CRC:00f7ad95bc size:33748+animation/anims/world/rifle/rifle_ssg08/reload_ssg08.vnmclip_c CRC:003e70b4f3 size:33217+animation/anims/world/rifle/rifle_ssg08/reload_ssg08_silent.vnmclip_c CRC:00558bdf80 size:33217 animation/anims/world/rifle/rifle_ssg08/shoot_ssg08.vnmclip+non_additive.vnmclip_c CRC:00aa8b00a1 size:18630 animation/anims/world/rifle/rifle_ssg08/shoot_ssg08.vnmclip_c CRC:003d1becb2 size:17769-animation/anims/world/rifle/rifle_ump45/draw_crouch_ump45.vnmclip_c CRC:009dadc2c8 size:17118-animation/anims/world/rifle/rifle_ump45/draw_ump45.vnmclip_c CRC:0080790016 size:17503+animation/anims/world/rifle/rifle_ump45/draw_crouch_ump45.vnmclip_c CRC:00370c8565 size:17114+animation/anims/world/rifle/rifle_ump45/draw_ump45.vnmclip_c CRC:00a2d3aee1 size:17503 animation/anims/world/rifle/rifle_ump45/idle_crouch_ump45.vnmclip+non_additive.vnmclip_c CRC:0040b79059 size:4580 animation/anims/world/rifle/rifle_ump45/idle_crouch_ump45.vnmclip_c CRC:001cc0fab4 size:4450 animation/anims/world/rifle/rifle_ump45/idle_ump45.vnmclip+non_additive.vnmclip_c CRC:0095b7d3ba size:4550 animation/anims/world/rifle/rifle_ump45/idle_ump45.vnmclip_c CRC:00bb3bfdb2 size:4430-animation/anims/world/rifle/rifle_ump45/reload_crouch_ump45.vnmclip_c CRC:000adaf2b9 size:30926-animation/anims/world/rifle/rifle_ump45/reload_crouch_ump45_silent.vnmclip_c CRC:003d87c479 size:30926-animation/anims/world/rifle/rifle_ump45/reload_ump45.vnmclip_c CRC:005efdad2d size:30855-animation/anims/world/rifle/rifle_ump45/reload_ump45_silent.vnmclip_c CRC:00a7ffc259 size:30855+animation/anims/world/rifle/rifle_ump45/reload_crouch_ump45.vnmclip_c CRC:0004952794 size:30927+animation/anims/world/rifle/rifle_ump45/reload_crouch_ump45_silent.vnmclip_c CRC:000c1af705 size:30927+animation/anims/world/rifle/rifle_ump45/reload_ump45.vnmclip_c CRC:005194008b size:30856+animation/anims/world/rifle/rifle_ump45/reload_ump45_silent.vnmclip_c CRC:00277179a6 size:30856 animation/anims/world/rifle/rifle_ump45/shoot_ump45.vnmclip+non_additive.vnmclip_c CRC:00767f56c7 size:11385 animation/anims/world/rifle/rifle_ump45/shoot_ump45.vnmclip_c CRC:004569bf32 size:10361-animation/anims/world/rifle/rifle_xm1014/draw_crouch_xm1014.vnmclip_c CRC:0096f80a10 size:11406-animation/anims/world/rifle/rifle_xm1014/draw_xm1014.vnmclip_c CRC:005eb31210 size:11615+animation/anims/world/rifle/rifle_xm1014/draw_crouch_xm1014.vnmclip_c CRC:00d4dd8308 size:11409+animation/anims/world/rifle/rifle_xm1014/draw_xm1014.vnmclip_c CRC:00efec21ca size:11615 animation/anims/world/rifle/rifle_xm1014/idle_crouch_xm1014.vnmclip+non_additive.vnmclip_c CRC:00b770bc92 size:4896 animation/anims/world/rifle/rifle_xm1014/idle_crouch_xm1014.vnmclip_c CRC:0078e4f517 size:4877 animation/anims/world/rifle/rifle_xm1014/idle_xm1014.vnmclip+non_additive.vnmclip_c CRC:003fdad468 size:4898 animation/anims/world/rifle/rifle_xm1014/idle_xm1014.vnmclip_c CRC:00daa71b1b size:4622 animation/anims/world/rifle/rifle_xm1014/reload_crouch_xm1014.vnmclip_c CRC:00f44a4597 size:19028 animation/anims/world/rifle/rifle_xm1014/reload_crouch_xm1014_silent.vnmclip_c CRC:007abc64c4 size:19044-animation/anims/world/rifle/rifle_xm1014/reload_xm1014.vnmclip_c CRC:002b142038 size:19379+animation/anims/world/rifle/rifle_xm1014/reload_xm1014.vnmclip_c CRC:00ca8a7cfc size:19379 animation/anims/world/rifle/rifle_xm1014/reload_xm1014_silent.vnmclip_c CRC:002b7ad3e1 size:19379 animation/anims/world/rifle/rifle_xm1014/shoot_xm1014.vnmclip+non_additive.vnmclip_c CRC:00db565ebe size:9457 animation/anims/world/rifle/rifle_xm1014/shoot_xm1014.vnmclip_c CRC:003f942730 size:8407@@ -3139,7 +3139,7 @@ animation/graphs/viewmodel/viewmodel_knife.vnmgraph_c CRC:002f223d05 size:8504 animation/graphs/viewmodel/viewmodel_knife_butterfly.vnmgraph_c CRC:00d8a1d1f2 size:8335 animation/graphs/viewmodel/viewmodel_knife_karambit.vnmgraph_c CRC:00a460498e size:8333 animation/graphs/viewmodel/viewmodel_knife_talon.vnmgraph_c CRC:0092514c48 size:8249-animation/graphs/worldmodel/worldmodel.vnmgraph_c CRC:00bb1317bb size:73481+animation/graphs/worldmodel/worldmodel.vnmgraph_c CRC:00ebc8f863 size:73496 animation/graphs/worldmodel/worldmodel_grenade.vnmgraph+decoy.vnmgraph_c CRC:008065ce30 size:5313 animation/graphs/worldmodel/worldmodel_grenade.vnmgraph+flash.vnmgraph_c CRC:00e879d270 size:5315 animation/graphs/worldmodel/worldmodel_grenade.vnmgraph+he.vnmgraph_c CRC:006f790dc2 size:5311@@ -3326,11 +3326,11 @@ cfg/moddefaults.txt CRC:0068b076c6 size:315510 cfg/survival/coop/coop_sirocco_missions.kv3 CRC:00bd783c4a size:8518 cfg/survival/coop/dzcooptest_missions.kv3 CRC:00d63215ed size:5899 cfg/survival/survival_config.kv3 CRC:0034a09936 size:30113-cfg/video_defaults_0.txt CRC:009c72f446 size:467-cfg/video_defaults_1.txt CRC:0008f0936a size:468-cfg/video_defaults_2.txt CRC:005439d79a size:468-cfg/video_defaults_3.txt CRC:007a888e0e size:477-cfg/video_version.txt CRC:00ff3ce713 size:197+cfg/video_defaults_0.txt CRC:00877dcf55 size:510+cfg/video_defaults_1.txt CRC:00009efb39 size:511+cfg/video_defaults_2.txt CRC:0051fcad97 size:511+cfg/video_defaults_3.txt CRC:003ba1472c size:520+cfg/video_version.txt CRC:00594beca7 size:197 characters/models/ctm_diver/ctm_diver_varianta.vmdl_c CRC:00086fed19 size:4818 characters/models/ctm_diver/ctm_diver_variantb.vmdl_c CRC:00eb02f675 size:4818 characters/models/ctm_diver/ctm_diver_variantc.vmdl_c CRC:00b5d9ff51 size:4818@@ -16795,6 +16795,7 @@ materials/dev/dof2.vmat_c CRC:00c942e8ea size:1516 materials/dev/downsample_outlineglows.vmat_c CRC:00446ffccc size:1306 materials/dev/film_grain_noise_tga_ee035d08.vtex_c CRC:00fb5bcc34 size:34784 materials/dev/friendly_crosshair_icon_psd_66512e34.vtex_c CRC:00506e3570 size:18480+materials/dev/frost.vtex_c CRC:000dc5f403 size:1400232 materials/dev/generate_decal_normals.vmat_c CRC:00cc728db2 size:1584 materials/dev/glow_health_color.vmat_c CRC:00af2f9c86 size:3056 materials/dev/glow_health_color_vmat_g_tcolor_37753f91.vtex_c CRC:00b53b1e0e size:1968@@ -84434,7 +84435,7 @@ panorama/layout/settings/settings_promoted.vxml_c CRC:00680b88f2 size:2157 panorama/layout/settings/settings_search.vxml_c CRC:00656a9fbc size:2302 panorama/layout/settings/settings_slider.vxml_c CRC:00271e714b size:1988 panorama/layout/settings/settings_steaminput.vxml_c CRC:00e643d64a size:5018-panorama/layout/settings/settings_video.vxml_c CRC:00177cb05e size:7903+panorama/layout/settings/settings_video.vxml_c CRC:00a566c7fe size:8015 panorama/layout/shielddamagealert.vxml_c CRC:00444e5974 size:1592 panorama/layout/simple_player_tile.vxml_c CRC:00b16a2ced size:1709 panorama/layout/slider_toggle.vxml_c CRC:0051cab4e4 size:1596@@ -87985,31 +87986,31 @@ resource/csgo_bulgarian.txt CRC:00ad431afd size:7759343 resource/csgo_czech.txt CRC:005482a707 size:5097565 resource/csgo_danish.txt CRC:00bb321d04 size:5004038 resource/csgo_dutch.txt CRC:0045192cf1 size:5049873-resource/csgo_english.txt CRC:00e83600df size:4879039-resource/csgo_finnish.txt CRC:00a79f8c2b size:4960818+resource/csgo_english.txt CRC:00e80a07c7 size:4879236+resource/csgo_finnish.txt CRC:002fc7ab9d size:4960817 resource/csgo_french.txt CRC:002433e025 size:5254990-resource/csgo_german.txt CRC:008c76453f size:5165453-resource/csgo_greek.txt CRC:00a68efa30 size:7151367+resource/csgo_german.txt CRC:00b7318010 size:5165419+resource/csgo_greek.txt CRC:003592854b size:7152191 resource/csgo_hungarian.txt CRC:000a1961a8 size:5078957 resource/csgo_indonesian.txt CRC:0023f7fd61 size:4729593-resource/csgo_italian.txt CRC:0019309189 size:5178719+resource/csgo_italian.txt CRC:0001be6bca size:5178719 resource/csgo_japanese.txt CRC:007c931b86 size:5333463-resource/csgo_koreana.txt CRC:007c56bde5 size:5096798+resource/csgo_koreana.txt CRC:004c2ea4f8 size:5097080 resource/csgo_latam.txt CRC:00430502d0 size:5188734 resource/csgo_norwegian.txt CRC:001049104e size:4925063-resource/csgo_polish.txt CRC:0048f2bc13 size:5321400+resource/csgo_polish.txt CRC:00f548da8d size:5322005 resource/csgo_portuguese.txt CRC:00bf8fe57b size:5060318-resource/csgo_romanian.txt CRC:00f8a9b880 size:5271518-resource/csgo_russian.txt CRC:0089b5889a size:6563734-resource/csgo_schinese.txt CRC:007b74ea72 size:4931452+resource/csgo_romanian.txt CRC:00999ead8f size:5271569+resource/csgo_russian.txt CRC:00e74335d2 size:6564323+resource/csgo_schinese.txt CRC:002d1fa173 size:4931866 resource/csgo_schinese_pw.txt CRC:0083fe268a size:15645 resource/csgo_spanish.txt CRC:00deb972b5 size:5160188 resource/csgo_swedish.txt CRC:00b4c12d74 size:5032375-resource/csgo_tchinese.txt CRC:00f44e6b58 size:4627815-resource/csgo_thai.txt CRC:00826d1c7b size:8128621+resource/csgo_tchinese.txt CRC:00e8efb69c size:4628387+resource/csgo_thai.txt CRC:0079d7968d size:8129614 resource/csgo_turkish.txt CRC:00cabf481a size:5165905 resource/csgo_ukrainian.txt CRC:003ac03c61 size:6621798-resource/csgo_vietnamese.txt CRC:00ee4d1e19 size:5450532+resource/csgo_vietnamese.txt CRC:007aea5525 size:5451149 resource/game.gameevents CRC:0090de10bc size:9837 resource/halflife2.vfont CRC:00b064848c size:58000 resource/mod.gameevents CRC:0035ddf423 size:20770@@ -88098,6 +88099,12 @@ scripts/ai/practice/modules/newplayer_dust2_01/bt_t_5.kv3 CRC:00f8f036c3 size:61 scripts/ai/practice/modules/newplayer_dust2_01/bt_takeover_strategy.kv3 CRC:00a42346ef size:1427 scripts/ai/practice/modules/newplayer_dust2_01/bt_wait.kv3 CRC:00a764ca22 size:295 scripts/ai/practice/newplayer_dust2_01.kv3 CRC:005756f767 size:8887+scripts/ai/retakes/bt_config.kv3 CRC:0067e7fe47 size:17972+scripts/ai/retakes/bt_default.kv3 CRC:000f58389f size:3897+scripts/ai/retakes/modules/bt_defuse_planted_bomb.kv3 CRC:0080a2708c size:1259+scripts/ai/retakes/modules/bt_hide_near_planted_bomb.kv3 CRC:0088fd0792 size:3180+scripts/ai/retakes/modules/bt_hold_near_planted_bomb.kv3 CRC:00b91d97cf size:988+scripts/ai/retakes/modules/bt_watch_approach_points.kv3 CRC:00b7703534 size:489 scripts/ai/rush/bt_config.kv3 CRC:0067e7fe47 size:17972 scripts/ai/rush/bt_default.kv3 CRC:00a81d754f size:4520 scripts/camera_data.json CRC:00b8437a11 size:1887@@ -135581,7 +135588,8 @@ weapons/models/bizon/weapon_smg_bizon_mag.vmdl_c CRC:0015b02247 size:75366 weapons/models/c4/defuse_multimeter.vmdl_c CRC:0007a5ff05 size:37678 weapons/models/c4/materials/c4_ao_tga_bb64a00d.vtex_c CRC:009ea6f6e8 size:1562328 weapons/models/c4/materials/c4_color_psd_75da6dec.vtex_c CRC:0044656af2 size:4287764-weapons/models/c4/materials/c4_digits_psd_52746c2d.vtex_c CRC:008f08827c size:77606+weapons/models/c4/materials/c4_digits_mask_psd_3de339d1.vtex_c CRC:0050f6267a size:45808+weapons/models/c4/materials/c4_digits_psd_f79d8a5b.vtex_c CRC:00f5905449 size:62459 weapons/models/c4/materials/c4_led_selfillum_psd_d8363a2a.vtex_c CRC:00d7344b97 size:46702 weapons/models/c4/materials/c4_normal_tga_389762e7.vtex_c CRC:001fe768f2 size:1317004 weapons/models/c4/materials/c4_normal_tga_4e48d437.vtex_c CRC:00c3a1128e size:4914548@@ -135603,9 +135611,10 @@ weapons/models/c4/materials/defuse_multimeter_color_psd_93513db5.vtex_c CRC:0088 weapons/models/c4/materials/defuse_multimeter_rough_tga_4ee97d61.vtex_c CRC:0041a8839e size:229308 weapons/models/c4/materials/stickers/weapon_c4_sticker_mask_psd_a9cf6509.vtex_c CRC:0005f9ce48 size:16785 weapons/models/c4/materials/weapon_c4.vmat_c CRC:0078b6f155 size:7204-weapons/models/c4/materials/weapon_c4_digits.vmat_c CRC:0092001150 size:3956+weapons/models/c4/materials/weapon_c4_digits.vmat_c CRC:00a850ca82 size:4660+weapons/models/c4/materials/weapon_c4_digits_vmat_g_tcolor_6dc78c9e.vtex_c CRC:000a0f569e size:2000 weapons/models/c4/materials/weapon_c4_digits_vmat_g_tmetalness_5818ca09.vtex_c CRC:00702fc683 size:2256-weapons/models/c4/weapon_c4.vmdl_c CRC:006f816ff5 size:470164+weapons/models/c4/weapon_c4.vmdl_c CRC:00d9190618 size:468916 weapons/models/cz75a/materials/composite_inputs/weapon_pist_cz75a_cavity_psd_ffc5ea6f.vtex_c CRC:0083759f3e size:706616 weapons/models/cz75a/materials/composite_inputs/weapon_pist_cz75a_composite_inputs.vmat_c CRC:00cab58bff size:3929 weapons/models/cz75a/materials/composite_inputs/weapon_pist_cz75a_masks_png_bb8e5559.vtex_c CRC:00c8d75ff0 size:188419@@ -136442,7 +136451,7 @@ weapons/paints/community/community_37/p90_deathgaze.vcompmat_c CRC:009016d88e si weapons/paints/community/community_37/sawedoff_fusion.vcompmat_c CRC:00135969c4 size:5812 weapons/paints/community/community_37/ump_fragment.vcompmat_c CRC:009bc9c301 size:5833 weapons/paints/community/community_37/usps_silent_boy.vcompmat_c CRC:00a4c87d7a size:5907-weapons/paints/legacy/_shared_paint_generic.vcompmat_c CRC:002dccc7cf size:3038+weapons/paints/legacy/_shared_paint_generic.vcompmat_c CRC:0008e69648 size:3096 weapons/paints/legacy/aa_ancient_brown.vcompmat_c CRC:00a92f27e9 size:1681 weapons/paints/legacy/aa_awp_fade.vcompmat_c CRC:0094e96f18 size:1612 weapons/paints/legacy/aa_desert_bloom_bright.vcompmat_c CRC:00cb8b3cb9 size:1704game/csgo/pak01_dir/cfg/video_defaults_0.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -12,6 +12,7 @@ "setting.videocfg_texture_detail" "0" "setting.videocfg_particle_detail" "0" "setting.videocfg_ao_detail" "0"+ "setting.videocfg_parallax_detail" "0" "setting.videocfg_hdr_detail" "3" "setting.videocfg_fsr_detail" "3" game/csgo/pak01_dir/cfg/video_defaults_1.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -12,6 +12,7 @@ "setting.videocfg_texture_detail" "1" "setting.videocfg_particle_detail" "1" "setting.videocfg_ao_detail" "0"+ "setting.videocfg_parallax_detail" "0" "setting.videocfg_hdr_detail" "3" "setting.videocfg_fsr_detail" "2" game/csgo/pak01_dir/cfg/video_defaults_2.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -12,6 +12,7 @@ "setting.videocfg_texture_detail" "2" "setting.videocfg_particle_detail" "2" "setting.videocfg_ao_detail" "2"+ "setting.videocfg_parallax_detail" "1" "setting.videocfg_hdr_detail" "-1" "setting.videocfg_fsr_detail" "0" game/csgo/pak01_dir/cfg/video_defaults_3.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -12,6 +12,7 @@ "setting.videocfg_texture_detail" "2" "setting.videocfg_particle_detail" "3" "setting.videocfg_ao_detail" "3"+ "setting.videocfg_parallax_detail" "1" "setting.videocfg_hdr_detail" "-1" "setting.videocfg_fsr_detail" "0" game/csgo/pak01_dir/cfg/video_version.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -1,5 +1,5 @@ // Bump the version number to force auto config to be re-run so that the local settings will be re-generated from the appropriate video_defaults_#.txt "video_version.txt" {- "Version" "16"+ "Version" "17" }game/csgo/pak01_dir/panorama/layout/settings/settings_video.xml
modified • +8 / -0 • changes: 8
Show patch
@@ -253,6 +253,14 @@ </CSGOSettingsEnumDropDown> </TooltipPanel> <Panel class="horizontal-separator" />+ <TooltipPanel class="SettingsMenuDropdownContainer" tooltip="#SFUI_Settings_Parallax_Info" id="ParallaxPanel">+ <Label text="#SFUI_Settings_Parallax" class="half-width" />+ <CSGOSettingsEnumDropDown onuserinputsubmit="SettingsMenuShared.VideoSettingsEnableDiscard()" oninputsubmit="CSGOVideoChanged('')" class="PopupButton White" id="ParallaxDetail">+ <Label text="#SFUI_Settings_Disabled" value="0" id="parallax0" />+ <Label text="#SFUI_Settings_Enabled" value="1" id="parallax1" />+ </CSGOSettingsEnumDropDown>+ </TooltipPanel>+ <Panel class="horizontal-separator" id="ParallaxSeparator" /> <TooltipPanel class="SettingsMenuDropdownContainer" tooltip="#SFUI_Settings_HDR_Info"> <Label text="#SFUI_Settings_HDR" class="half-width" /> <CSGOSettingsEnumDropDown onuserinputsubmit="SettingsMenuShared.VideoSettingsEnableDiscard()" oninputsubmit="CSGOVideoChanged('')" class="PopupButton White" id="HDR">game/csgo/pak01_dir/resource/csgo_english.txt
modified • +2 / -0 • changes: 2
Show patch
@@ -44560,6 +44560,8 @@ "SFUI_Settings_AOProxy" "Ambient Occlusion" "SFUI_Settings_AOProxy_Info" "Calculate lighting using Ambient Occlusion. Enabling Ambient Occlusion can degrade graphics performance."+ "SFUI_Settings_Parallax" "Parallax Occlusion Mapping"+ "SFUI_Settings_Parallax_Info" "Gives some surfaces, such as snow, real looking depth. Enabling it can degrade graphics performance." "SFUI_Settings_FSR" "FidelityFX Super Resolution" "SFUI_Settings_FSR_Info" "FidelityFX Super Resolution may improve performance by rendering at reduced resolution and upscaling using a high-quality spatial technique."game/csgo/pak01_dir/scripts/ai/retakes/bt_config.kv3
added • +453 / -0 • changes: 453
Show patch
@@ -0,0 +1,453 @@+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->+{+ default =+ {+ aim_target_acquisition_lerp_time = 0.7+ aim_target_acquisition_lerp_time_deviation = 0.1+ aim_target_acquisition_angle_penalty = 7.0+ aim_target_acquisition_angle_penalty_deviation = 2.0+ aim_target_acquisition_angle_penalty_reduction_ratio = 0.3+ aim_target_acquisition_angle_tolerance = 1.0+ aim_target_acquisition_angle_lerp_bias = 0.75+ aim_target_tracking_lerp_time = 0.1+ aim_target_tracking_lerp_time_deviation = 0.05+ aim_target_tracking_focus_interval = 0.07+ aim_target_tracking_focus_interval_deviation = 0.02+ aim_target_tracking_angle_lerp_bias = 0.35+ aim_ready_angle_tolerance = 3.0+ aim_new_target_angle_tolerance = 30.0+ aim_max_duration = 0.9+ aim_max_duration_deviation = 0.3+ aim_punch_angle_reaction_chance = 0.5++ look_around_awareness_yaw_range = 50+ look_around_awareness_pitch_range = 10+ look_around_focus_interval = 0.7+ look_around_focus_interval_deviation = 0.2+ look_around_lerp_time = 0.3+ look_around_lerp_time_deviation = 0.05+ look_around_lerp_bias = 0.5++ reaction_time = 0.4++ combat_crouch_chance = 0.1+ combat_dodge_command_duration = 1.2+ combat_dodge_command_duration_deviation = 0.2++ attack =+ [+ // duration, duration deviation, cadence, cooldown, cooldown deviation++ // KNIFE PISTOL SUBMACHINEGUN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ 0.95, 0.25, 0.5, 0.15, 0.05 ], [ 0.42, 0.07, 0.0, 0.15, 0.05 ],+ // RIFLE SHOTGUN SNIPER_RIFLE+ [ 0.22, 0.07, 0.0, 0.45, 0.15 ], [ 0.3, 0.0, 0.0, 0.95, 0.25 ], [ 0.22, 0.07, 0.0, 2.0, 0.0 ],+ // MACHINEGUN C4 TASER+ [ 0.75, 0.15, 0.0, 0.3, 0.1 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // GRENADE EQUIPMENT STACKABLEITEM+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // UNKNOWN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ]+ ]+ }+ low =+ {+ aim_target_acquisition_lerp_time = 0.5+ aim_target_acquisition_lerp_time_deviation = 0.1+ aim_target_acquisition_angle_penalty = 5+ aim_target_acquisition_angle_penalty_deviation = 1.5+ aim_target_acquisition_angle_penalty_reduction_ratio = 0.8+ aim_target_acquisition_angle_tolerance = 1.0+ aim_target_acquisition_angle_lerp_bias = 0.5+ aim_target_tracking_lerp_time = 0.65+ aim_target_tracking_lerp_time_deviation = 0.1+ aim_target_tracking_focus_interval = 0.35+ aim_target_tracking_focus_interval_deviation = 0.1+ aim_target_tracking_angle_lerp_bias = 0.5+ aim_ready_angle_tolerance = 3.0+ aim_new_target_angle_tolerance = 30.0+ aim_max_duration = 1.1+ aim_max_duration_deviation = 0.3+ aim_punch_angle_reaction_chance = 0.35++ look_around_awareness_yaw_range = 60+ look_around_awareness_pitch_range = 20+ look_around_focus_interval = 0.9+ look_around_focus_interval_deviation = 0.4+ look_around_lerp_time = 0.6+ look_around_lerp_time_deviation = 0.1+ look_around_lerp_bias = 0.25++ reaction_time = 0.5++ combat_crouch_chance = 0+ combat_dodge_command_duration = 2.2+ combat_dodge_command_duration_deviation = 0.3++ attack =+ [+ // duration, duration deviation, cadence, cooldown, cooldown deviation++ // KNIFE PISTOL SUBMACHINEGUN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ 0.95, 0.25, 0.6, 0.15, 0.05 ], [ 0.75, 0.15, 0.0, 0.25, 0.05 ],+ // RIFLE SHOTGUN SNIPER_RIFLE+ [ 0.95, 0.25, 0.0, 0.75, 0.15 ], [ 0.3, 0.0, 0.0, 0.8, 0.0 ], [ 0.22, 0.07, 0.0, 2.0, 0.0 ],+ // MACHINEGUN C4 TASER+ [ 1.45, 0.25, 0.0, 0.8, 0.1 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // GRENADE EQUIPMENT STACKABLEITEM+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // UNKNOWN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ]+ ]+ }+ fair =+ {+ aim_target_acquisition_lerp_time = 0.45+ aim_target_acquisition_lerp_time_deviation = 0.1+ aim_target_acquisition_angle_penalty = 5+ aim_target_acquisition_angle_penalty_deviation = 1.5+ aim_target_acquisition_angle_penalty_reduction_ratio = 0.7+ aim_target_acquisition_angle_tolerance = 1.0+ aim_target_acquisition_angle_lerp_bias = 0.5+ aim_target_tracking_lerp_time = 0.55+ aim_target_tracking_lerp_time_deviation = 0.1+ aim_target_tracking_focus_interval = 0.3+ aim_target_tracking_focus_interval_deviation = 0.05+ aim_target_tracking_angle_lerp_bias = 0.5+ aim_ready_angle_tolerance = 3.0+ aim_new_target_angle_tolerance = 30.0+ aim_max_duration = 1.1+ aim_max_duration_deviation = 0.3+ aim_punch_angle_reaction_chance = 0.5++ look_around_awareness_yaw_range = 60+ look_around_awareness_pitch_range = 20+ look_around_focus_interval = 0.9+ look_around_focus_interval_deviation = 0.4+ look_around_lerp_time = 0.55+ look_around_lerp_time_deviation = 0.1+ look_around_lerp_bias = 0.25++ reaction_time = 0.5++ combat_crouch_chance = 0.05+ combat_dodge_command_duration = 1.3+ combat_dodge_command_duration_deviation = 0.2++ attack =+ [+ // duration, duration deviation, cadence, cooldown, cooldown deviation++ // KNIFE PISTOL SUBMACHINEGUN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ 0.9, 0.2, 0.6, 0.15, 0.05 ], [ 0.42, 0.08, 0.0, 0.15, 0.05 ],+ // RIFLE SHOTGUN SNIPER_RIFLE+ [ 0.95, 0.25, 0.0, 0.65, 0.15 ], [ 0.3, 0.0, 0.0, 0.65, 0.0 ], [ 0.22, 0.07, 0.0, 2.0, 0.0 ],+ // MACHINEGUN C4 TASER+ [ 1.05, 0.15, 0.0, 0.65, 0.15 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // GRENADE EQUIPMENT STACKABLEITEM+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // UNKNOWN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ]+ ]+ }+ normal =+ {+ aim_target_acquisition_lerp_time = 0.4+ aim_target_acquisition_lerp_time_deviation = 0.1+ aim_target_acquisition_angle_penalty = 5+ aim_target_acquisition_angle_penalty_deviation = 1.5+ aim_target_acquisition_angle_penalty_reduction_ratio = 0.6+ aim_target_acquisition_angle_tolerance = 1.0+ aim_target_acquisition_angle_lerp_bias = 0.5+ aim_target_tracking_lerp_time = 0.5+ aim_target_tracking_lerp_time_deviation = 0.1+ aim_target_tracking_focus_interval = 0.275+ aim_target_tracking_focus_interval_deviation = 0.05+ aim_target_tracking_angle_lerp_bias = 0.5+ aim_ready_angle_tolerance = 3.0+ aim_new_target_angle_tolerance = 30.0+ aim_max_duration = 1.1+ aim_max_duration_deviation = 0.3+ aim_punch_angle_reaction_chance = 0.55++ look_around_awareness_yaw_range = 60+ look_around_awareness_pitch_range = 20+ look_around_focus_interval = 0.85+ look_around_focus_interval_deviation = 0.4+ look_around_lerp_time = 0.5+ look_around_lerp_time_deviation = 0.05+ look_around_lerp_bias = 0.25++ reaction_time = 0.4++ combat_crouch_chance = 0.1+ combat_dodge_command_duration = 1.2+ combat_dodge_command_duration_deviation = 0.2++ attack =+ [+ // duration, duration deviation, cadence, cooldown, cooldown deviation++ // KNIFE PISTOL SUBMACHINEGUN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ 0.95, 0.25, 0.5, 0.15, 0.05 ], [ 0.42, 0.07, 0.0, 0.15, 0.05 ],+ // RIFLE SHOTGUN SNIPER_RIFLE+ [ 0.22, 0.07, 0.0, 0.45, 0.15 ], [ 0.3, 0.0, 0.0, 0.95, 0.25 ], [ 0.22, 0.07, 0.0, 2.0, 0.0 ],+ // MACHINEGUN C4 TASER+ [ 0.75, 0.15, 0.0, 0.3, 0.1 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // GRENADE EQUIPMENT STACKABLEITEM+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // UNKNOWN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ]+ ]+ }+ tough =+ {+ aim_target_acquisition_lerp_time = 0.375+ aim_target_acquisition_lerp_time_deviation = 0.1+ aim_target_acquisition_angle_penalty = 5+ aim_target_acquisition_angle_penalty_deviation = 1.5+ aim_target_acquisition_angle_penalty_reduction_ratio = 0.6+ aim_target_acquisition_angle_tolerance = 1.0+ aim_target_acquisition_angle_lerp_bias = 0.5+ aim_target_tracking_lerp_time = 0.475+ aim_target_tracking_lerp_time_deviation = 0.1+ aim_target_tracking_focus_interval = 0.25+ aim_target_tracking_focus_interval_deviation = 0.05+ aim_target_tracking_angle_lerp_bias = 0.5+ aim_ready_angle_tolerance = 3.0+ aim_new_target_angle_tolerance = 30.0+ aim_max_duration = 1.1+ aim_max_duration_deviation = 0.3+ aim_punch_angle_reaction_chance = 0.6++ look_around_awareness_yaw_range = 60+ look_around_awareness_pitch_range = 20+ look_around_focus_interval = 0.85+ look_around_focus_interval_deviation = 0.4+ look_around_lerp_time = 0.45+ look_around_lerp_time_deviation = 0.05+ look_around_lerp_bias = 0.25++ reaction_time = 0.35++ combat_crouch_chance = 0.12+ combat_dodge_command_duration = 1.05+ combat_dodge_command_duration_deviation = 0.25++ attack =+ [+ // duration, duration deviation, cadence, cooldown, cooldown deviation++ // KNIFE PISTOL SUBMACHINEGUN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ 0.95, 0.25, 0.45, 0.125, 0.025 ], [ 0.4, 0.1, 0.0, 0.175, 0.025 ],+ // RIFLE SHOTGUN SNIPER_RIFLE+ [ 0.225, 0.075, 0.0, 0.32, 0.12 ], [ 0.3, 0.0, 0.0, 0.55, 0.1 ], [ 0.22, 0.07, 0.0, 2.0, 0.0 ],+ // MACHINEGUN C4 TASER+ [ 0.85, 0.25, 0.0, 0.3, 0.1 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // GRENADE EQUIPMENT STACKABLEITEM+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // UNKNOWN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ]+ ]+ }+ hard =+ {+ aim_target_acquisition_lerp_time = 0.35+ aim_target_acquisition_lerp_time_deviation = 0.1+ aim_target_acquisition_angle_penalty = 5+ aim_target_acquisition_angle_penalty_deviation = 1.5+ aim_target_acquisition_angle_penalty_reduction_ratio = 0.55+ aim_target_acquisition_angle_tolerance = 1.0+ aim_target_acquisition_angle_lerp_bias = 0.45+ aim_target_tracking_lerp_time = 0.45+ aim_target_tracking_lerp_time_deviation = 0.1+ aim_target_tracking_focus_interval = 0.2+ aim_target_tracking_focus_interval_deviation = 0.05+ aim_target_tracking_angle_lerp_bias = 0.5+ aim_ready_angle_tolerance = 3.0+ aim_new_target_angle_tolerance = 30.0+ aim_max_duration = 1.1+ aim_max_duration_deviation = 0.3+ aim_punch_angle_reaction_chance = 0.65++ look_around_awareness_yaw_range = 60+ look_around_awareness_pitch_range = 20+ look_around_focus_interval = 0.8+ look_around_focus_interval_deviation = 0.3+ look_around_lerp_time = 0.4+ look_around_lerp_time_deviation = 0.05+ look_around_lerp_bias = 0.25++ reaction_time = 0.3++ combat_crouch_chance = 0.22+ combat_dodge_command_duration = 0.95+ combat_dodge_command_duration_deviation = 0.25++ attack =+ [+ // duration, duration deviation, cadence, cooldown, cooldown deviation++ // KNIFE PISTOL SUBMACHINEGUN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ 0.95, 0.25, 0.4, 0.1, 0.0 ], [ 0.4, 0.1, 0.0, 0.175, 0.025 ],+ // RIFLE SHOTGUN SNIPER_RIFLE+ [ 0.225, 0.075, 0.0, 0.25, 0.05 ], [ 0.3, 0.0, 0.0, 0.375, 0.075 ], [ 0.22, 0.07, 0.0, 2.0, 0.0 ],+ // MACHINEGUN C4 TASER+ [ 0.9, 0.3, 0.0, 0.275, 0.075 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // GRENADE EQUIPMENT STACKABLEITEM+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // UNKNOWN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ]+ ]+ }+ very_hard =+ {+ aim_target_acquisition_lerp_time = 0.3+ aim_target_acquisition_lerp_time_deviation = 0.1+ aim_target_acquisition_angle_penalty = 5+ aim_target_acquisition_angle_penalty_deviation = 1.5+ aim_target_acquisition_angle_penalty_reduction_ratio = 0.45+ aim_target_acquisition_angle_tolerance = 1.0+ aim_target_acquisition_angle_lerp_bias = 0.3+ aim_target_tracking_lerp_time = 0.4+ aim_target_tracking_lerp_time_deviation = 0.1+ aim_target_tracking_focus_interval = 0.2+ aim_target_tracking_focus_interval_deviation = 0.05+ aim_target_tracking_angle_lerp_bias = 0.5+ aim_ready_angle_tolerance = 3.0+ aim_new_target_angle_tolerance = 30.0+ aim_max_duration = 1.1+ aim_max_duration_deviation = 0.3+ aim_punch_angle_reaction_chance = 0.7++ look_around_awareness_yaw_range = 60+ look_around_awareness_pitch_range = 20+ look_around_focus_interval = 0.7+ look_around_focus_interval_deviation = 0.2+ look_around_lerp_time = 0.35+ look_around_lerp_time_deviation = 0.05+ look_around_lerp_bias = 0.25++ reaction_time = 0.25++ combat_crouch_chance = 0.22+ combat_dodge_command_duration = 0.95+ combat_dodge_command_duration_deviation = 0.15++ attack =+ [+ // duration, duration deviation, cadence, cooldown, cooldown deviation++ // KNIFE PISTOL SUBMACHINEGUN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ 0.95, 0.25, 0.35, 0.05, 0.0 ], [ 0.4, 0.1, 0.0, 0.175, 0.025 ],+ // RIFLE SHOTGUN SNIPER_RIFLE+ [ 0.225, 0.075, 0.0, 0.2, 0.05 ], [ 0.3, 0.0, 0.0, 0.3, 0.05 ], [ 0.22, 0.07, 0.0, 2.0, 0.0 ],+ // MACHINEGUN C4 TASER+ [ 0.9, 0.3, 0.0, 0.25, 0.05 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // GRENADE EQUIPMENT STACKABLEITEM+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // UNKNOWN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ]+ ]+ }+ expert =+ {+ aim_target_acquisition_lerp_time = 0.25+ aim_target_acquisition_lerp_time_deviation = 0.1+ aim_target_acquisition_angle_penalty = 5+ aim_target_acquisition_angle_penalty_deviation = 1.5+ aim_target_acquisition_angle_penalty_reduction_ratio = 0.35+ aim_target_acquisition_angle_tolerance = 1.0+ aim_target_acquisition_angle_lerp_bias = 0.3+ aim_target_tracking_lerp_time = 0.3+ aim_target_tracking_lerp_time_deviation = 0.1+ aim_target_tracking_focus_interval = 0.15+ aim_target_tracking_focus_interval_deviation = 0.05+ aim_target_tracking_angle_lerp_bias = 0.5+ aim_ready_angle_tolerance = 3.0+ aim_new_target_angle_tolerance = 30.0+ aim_max_duration = 1.1+ aim_max_duration_deviation = 0.3+ aim_punch_angle_reaction_chance = 0.75++ look_around_awareness_yaw_range = 60+ look_around_awareness_pitch_range = 20+ look_around_focus_interval = 0.6+ look_around_focus_interval_deviation = 0.2+ look_around_lerp_time = 0.25+ look_around_lerp_time_deviation = 0.05+ look_around_lerp_bias = 0.25++ reaction_time = 0.2++ combat_crouch_chance = 0.33+ combat_dodge_command_duration = 0.95+ combat_dodge_command_duration_deviation = 0.15++ attack =+ [+ // duration, duration deviation, cadence, cooldown, cooldown deviation++ // KNIFE PISTOL SUBMACHINEGUN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ 0.95, 0.25, 0.25, 0.05, 0.0 ], [ 0.425, 0.075, 0.0, 0.125, 0.025 ],+ // RIFLE SHOTGUN SNIPER_RIFLE+ [ 0.225, 0.075, 0.0, 0.15, 0.05 ], [ 0.3, 0.0, 0.0, 0.25, 0.05 ], [ 0.22, 0.07, 0.0, 2.0, 0.0 ],+ // MACHINEGUN C4 TASER+ [ 0.9, 0.3, 0.0, 0.15, 0.05 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // GRENADE EQUIPMENT STACKABLEITEM+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // UNKNOWN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ]+ ]+ }+ elite =+ {+ aim_target_acquisition_lerp_time = 0.15+ aim_target_acquisition_lerp_time_deviation = 0.05+ aim_target_acquisition_angle_penalty = 4+ aim_target_acquisition_angle_penalty_deviation = 1.5+ aim_target_acquisition_angle_penalty_reduction_ratio = 0.2+ aim_target_acquisition_angle_tolerance = 1.0+ aim_target_acquisition_angle_lerp_bias = 0.3+ aim_target_tracking_lerp_time = 0.15+ aim_target_tracking_lerp_time_deviation = 0.1+ aim_target_tracking_focus_interval = 0.06+ aim_target_tracking_focus_interval_deviation = 0.03+ aim_target_tracking_angle_lerp_bias = 0.3+ aim_ready_angle_tolerance = 3.0+ aim_new_target_angle_tolerance = 30.0+ aim_max_duration = 1.1+ aim_max_duration_deviation = 0.3+ aim_punch_angle_reaction_chance = 0.95++ look_around_awareness_yaw_range = 60+ look_around_awareness_pitch_range = 20+ look_around_focus_interval = 0.4+ look_around_focus_interval_deviation = 0.2+ look_around_lerp_time = 0.15+ look_around_lerp_time_deviation = 0.05+ look_around_lerp_bias = 0.25++ reaction_time = 0.12++ combat_crouch_chance = 0.33+ combat_dodge_command_duration = 0.95+ combat_dodge_command_duration_deviation = 0.15++ attack =+ [+ // duration, duration deviation, cadence, cooldown, cooldown deviation++ // KNIFE PISTOL SUBMACHINEGUN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ 0.95, 0.25, 0.2, 0.05, 0.0 ], [ 0.425, 0.075, 0.0, 0.125, 0.025 ],+ // RIFLE SHOTGUN SNIPER_RIFLE+ [ 0.155, 0.035, 0.0, 0.15, 0.05 ], [ 0.3, 0.0, 0.0, 0.25, 0.05 ], [ 0.22, 0.07, 0.0, 2.0, 0.0 ],+ // MACHINEGUN C4 TASER+ [ 0.9, 0.3, 0.0, 0.15, 0.05 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // GRENADE EQUIPMENT STACKABLEITEM+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ], [ -1.0, -1.0, -1.0, -1.0, -1.0 ],+ // UNKNOWN+ [ -1.0, -1.0, -1.0, -1.0, -1.0 ]+ ]+ }+}game/csgo/pak01_dir/scripts/ai/retakes/bt_default.kv3
added • +156 / -0 • changes: 156
Show patch
@@ -0,0 +1,156 @@+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->+// Retakes bots. CTs defuse and push the site, Ts hide around the bomb.+{+ config = "scripts/ai/retakes/bt_config.kv3"+ root =+ {+ type = "decorator_bot_service"+ memory_to_expire =+ [+ {+ key = "ShortTermAttackMemory"+ time = 0.7+ distance = 0+ },+ {+ key = "LongTermMemory"+ time = 10+ distance = 500+ },+ {+ key = "ShortTermInvestigateMemory"+ time = 3+ distance = 200+ }+ ]+ child =+ {+ type = "parallel"+ children =+ [+ {+ type = "decorator_repeat"+ child =+ {+ type = "parallel"+ children =+ [+ // memorize enemies through vision+ {+ type = "subtree"+ file = "scripts/ai/modules/bt_memorize_enemies_vision.kv3"+ name = "MemorizeEnemiesVision"+ },+ // memorize noises happening right now+ {+ type = "subtree"+ file = "scripts/ai/modules/bt_memorize_noises.kv3"+ name = "MemorizeNoises"+ },+ // record the nearest memorized event to investigate+ {+ type = "subtree"+ file = "scripts/ai/modules/bt_memorize_nearest_investigation.kv3"+ name = "MemorizeNearestInvestigation"+ }+ ]+ }+ },+ {+ type = "decorator_repeat"+ child =+ {+ type = "selector"+ children =+ [+ // face the damage source if we're taking damage+ {+ type = "decorator_sensor"+ entity_type_filter = "DAMAGE"+ output = "Damage"+ priority = 0+ child =+ {+ type = "condition_is_empty"+ input = "Damage"+ negated = 1+ child =+ {+ type = "action_aim"+ input = "Damage"+ acquire_only = 1+ }+ }+ },+ // Else: attack if we see an enemy+ {+ type = "subtree"+ file = "scripts/ai/modules/bt_attack.kv3"+ name = "Attack"+ },+ // Else: one CT goes for the defuse+ {+ type = "condition_is_equal"+ source = "TeamName"+ destination = "'CT'"+ child =+ {+ type = "subtree"+ file = "scripts/ai/retakes/modules/bt_defuse_planted_bomb.kv3"+ name = "DefusePlantedBomb"+ }+ },+ // Else: Ts take cover around the bomb+ {+ type = "condition_is_equal"+ source = "TeamName"+ destination = "'T'"+ child =+ {+ type = "subtree"+ file = "scripts/ai/retakes/modules/bt_hide_near_planted_bomb.kv3"+ name = "HideNearPlantedBomb"+ }+ },+ // Else: CTs push onto the site+ {+ type = "condition_is_equal"+ source = "TeamName"+ destination = "'CT'"+ child =+ {+ type = "subtree"+ file = "scripts/ai/retakes/modules/bt_hold_near_planted_bomb.kv3"+ name = "HoldNearPlantedBomb"+ }+ },+ // Else: investigate the closest memorized event+ {+ type = "subtree"+ file = "scripts/ai/modules/bt_investigate_closest_memorized_event.kv3"+ name = "InvestigateClosestMemorizedEvent"+ },+ // Else: hunt. Only reached with no bomb, like warmup.+ {+ type = "sequencer"+ children =+ [+ {+ type = "decorator_random_approach_point"+ output = "TargetHuntArea"+ },+ {+ type = "action_move_to"+ destination = "TargetHuntArea"+ movement_type = "BT_ACTION_MOVETO_RUN"+ route_type = "BT_ACTION_MOVETO_FASTEST_ROUTE"+ }+ ]+ }+ ]+ }+ }+ ]+ }+ }+}game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_defuse_planted_bomb.kv3
added • +53 / -0 • changes: 53
Show patch
@@ -0,0 +1,53 @@+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->+// Run to the planted bomb anywhere on the map and hold use on it. One bot at a time.+{+ type = "decorator_sensor"+ entity_type_filter = "CLASSNAME"+ class_name = "planted_c4"+ output = "PlantedBomb"+ priority = 1+ child =+ {+ type = "condition_is_empty"+ input = "PlantedBomb"+ negated = 1+ child =+ {+ type = "decorator_try_lock"+ domain = "'DefusePlantedBomb'"+ child =+ {+ type = "sequencer"+ children =+ [+ {+ type = "action_move_to"+ destination = "PlantedBomb"+ movement_type = "BT_ACTION_MOVETO_RUN"+ route_type = "BT_ACTION_MOVETO_FASTEST_ROUTE"+ threat = "NearestThreatMemory"+ nearest_area_distance_threshold = 20+ arrival_epsilon = 35+ },+ {+ type = "action_look_at"+ input_location = "PlantedBomb"+ },+ {+ type = "action_wait"+ wait_time_min = 0.25+ wait_time_max = 0.25+ },+ // keep pressing use so the defuse doesn't cancel+ {+ type = "decorator_repeat"+ child =+ {+ type = "action_use"+ }+ }+ ]+ }+ }+ }+}game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_hide_near_planted_bomb.kv3
added • +124 / -0 • changes: 124
Show patch
@@ -0,0 +1,124 @@+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->+// Move to a random spot near the planted bomb, then take the nearest free hiding spot and watch where enemies could come from.+{+ type = "decorator_sensor"+ entity_type_filter = "CLASSNAME"+ class_name = "planted_c4"+ output = "PlantedBomb"+ priority = 1+ child =+ {+ type = "condition_is_empty"+ input = "PlantedBomb"+ negated = 1+ child =+ {+ type = "sequencer"+ children =+ [+ {+ type = "action_choose_random_waypoint_within_radius"+ origin = "PlantedBomb"+ radius = 500+ output = "BombHoldSpot"+ },+ {+ type = "action_move_to"+ destination = "BombHoldSpot"+ movement_type = "BT_ACTION_MOVETO_RUN"+ route_type = "BT_ACTION_MOVETO_FASTEST_ROUTE"+ threat = "NearestThreatMemory"+ },+ {+ type = "selector"+ children =+ [+ // take cover at the closest hiding spot nobody is in+ {+ type = "sequencer"+ children =+ [+ {+ type = "action_hide"+ max_range = 400+ output = "BombHidingSpot"+ },+ {+ type = "action_move_to"+ destination = "BombHidingSpot"+ movement_type = "BT_ACTION_MOVETO_RUN"+ route_type = "BT_ACTION_MOVETO_FASTEST_ROUTE"+ threat = "NearestThreatMemory"+ arrival_epsilon = 20+ },+ // only stay if no teammate got here first+ {+ type = "decorator_sensor"+ entity_type_filter = "PLAYERS"+ team_filter = "SAME"+ shape =+ {+ type = "sensor_shape_sphere"+ radius = 80+ }+ output = "TeammatesAtSpot"+ child =+ {+ type = "condition_is_empty"+ input = "TeammatesAtSpot"+ child =+ {+ type = "decorator_repeat"+ amount = 4+ child =+ {+ type = "subtree"+ file = "scripts/ai/retakes/modules/bt_watch_approach_points.kv3"+ name = "WatchApproachPoints"+ }+ }+ }+ }+ ]+ },+ // Else: a teammate already has this spot, leave so we pick another one+ {+ type = "decorator_sensor"+ entity_type_filter = "PLAYERS"+ team_filter = "SAME"+ shape =+ {+ type = "sensor_shape_sphere"+ radius = 80+ }+ output = "TeammatesAtSpot"+ child =+ {+ type = "condition_is_empty"+ input = "TeammatesAtSpot"+ negated = 1+ child =+ {+ type = "action_wait"+ wait_time_min = 0.1+ wait_time_max = 0.1+ }+ }+ },+ // Else: no hiding spot nearby, watch from here for a bit+ {+ type = "decorator_repeat"+ amount = 2+ child =+ {+ type = "subtree"+ file = "scripts/ai/retakes/modules/bt_watch_approach_points.kv3"+ name = "WatchApproachPoints"+ }+ }+ ]+ }+ ]+ }+ }+}game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_hold_near_planted_bomb.kv3
added • +40 / -0 • changes: 40
Show patch
@@ -0,0 +1,40 @@+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->+// Move to a random spot near the planted bomb and hold it for a few seconds, then pick a new spot.+{+ type = "decorator_sensor"+ entity_type_filter = "CLASSNAME"+ class_name = "planted_c4"+ output = "PlantedBomb"+ priority = 1+ child =+ {+ type = "condition_is_empty"+ input = "PlantedBomb"+ negated = 1+ child =+ {+ type = "sequencer"+ children =+ [+ {+ type = "action_choose_random_waypoint_within_radius"+ origin = "PlantedBomb"+ radius = 500+ output = "BombHoldSpot"+ },+ {+ type = "action_move_to"+ destination = "BombHoldSpot"+ movement_type = "BT_ACTION_MOVETO_RUN"+ route_type = "BT_ACTION_MOVETO_FASTEST_ROUTE"+ threat = "NearestThreatMemory"+ },+ {+ type = "action_wait"+ wait_time_min = 3+ wait_time_max = 6+ }+ ]+ }+ }+}game/csgo/pak01_dir/scripts/ai/retakes/modules/bt_watch_approach_points.kv3
added • +21 / -0 • changes: 21
Show patch
@@ -0,0 +1,21 @@+<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->+// Face a spot enemies could come from and watch it for a few seconds.+{+ type = "sequencer"+ children =+ [+ {+ type = "decorator_random_approach_point"+ output = "WatchPoint"+ },+ {+ type = "action_look_at"+ input_location = "WatchPoint"+ },+ {+ type = "action_wait"+ wait_time_min = 2+ wait_time_max = 4+ }+ ]+}game/csgo/readonly_tools_asset_info.txt
modified • +4 / -1 • changes: 5
Show patch
@@ -106658,7 +106658,6 @@ materials/de_inferno/ground/inferno_stone_floor_08_ao_tga_961ee77e.vtex materials/de_inferno/ground/inferno_stone_floor_08_color_tga_199a7503.vtex materials/trim/concrete_trim_02_ao_tga_68704a36.vtex materials/trim/concrete_trim_02_color_tga_971de7c0.vtex-weapons/models/c4/materials/c4_digits_psd_52746c2d.vtex weapons/models/c4/materials/weapon_c4_digits_vmat_g_tmetalness_5818ca09.vtex weapons/models/shared/shells/shotgun/mag7_bullet_color_psd_29ec1a9d.vtex maps/ar_shoots_night.vmap@@ -134924,3 +134923,7 @@ panorama/layout/hud/hudmutators.vxml panorama/styles/hud/hudmutators.vcss sounds/graphs/bighead_pitch.vsnd panorama/images/econ/keychains/bud2025/kc_bud2025_png.vtex+materials/dev/frost.vtex+weapons/models/c4/materials/c4_digits_mask_psd_3de339d1.vtex+weapons/models/c4/materials/c4_digits_psd_f79d8a5b.vtex+weapons/models/c4/materials/weapon_c4_digits_vmat_g_tcolor_6dc78c9e.vtexgame/csgo/shaders_pc_dir.txt
modified • +199 / -199 • changes: 398
Show patch
@@ -1,10 +1,10 @@ shaders/vfx/bilateral_upsample.ini CRC:0000000000 size:0-shaders/vfx/bilateral_upsample_pc_50_features.vcs CRC:0034e7463f size:1746-shaders/vfx/bilateral_upsample_pc_50_ps.vcs CRC:00e1ae0d6b size:2684+shaders/vfx/bilateral_upsample_pc_50_features.vcs CRC:006c4f6911 size:1762+shaders/vfx/bilateral_upsample_pc_50_ps.vcs CRC:00042818cd size:2684 shaders/vfx/bilateral_upsample_pc_50_vs.vcs CRC:00f096d35d size:2526 shaders/vfx/bloom_cs.ini CRC:0000000000 size:0-shaders/vfx/bloom_cs_pc_50_cs.vcs CRC:003c640dc0 size:9081-shaders/vfx/bloom_cs_pc_50_features.vcs CRC:008fd509b8 size:2018+shaders/vfx/bloom_cs_pc_50_cs.vcs CRC:00db01272e size:9081+shaders/vfx/bloom_cs_pc_50_features.vcs CRC:0074832d4b size:2018 shaders/vfx/blur.ini CRC:0000000000 size:0 shaders/vfx/blur_pc_50_features.vcs CRC:001ea646d8 size:2098 shaders/vfx/blur_pc_50_ps.vcs CRC:0080a05570 size:14418@@ -18,10 +18,10 @@ shaders/vfx/bomb_blast_pc_50_features.vcs CRC:007c0852a7 size:1682 shaders/vfx/bomb_blast_pc_50_ps.vcs CRC:001870c92e size:2718 shaders/vfx/bomb_blast_pc_50_vs.vcs CRC:00d87cc785 size:2253 shaders/vfx/cables.ini CRC:0000000000 size:0-shaders/vfx/cables_pc_50_features.vcs CRC:001ff5763c size:4690-shaders/vfx/cables_pc_50_ps.vcs CRC:0038710ee4 size:256518-shaders/vfx/cables_pc_50_psrs.vcs CRC:00ebbb81fb size:3266-shaders/vfx/cables_pc_50_vs.vcs CRC:0076b3ef42 size:22671+shaders/vfx/cables_pc_50_features.vcs CRC:00006c1e1c size:4690+shaders/vfx/cables_pc_50_ps.vcs CRC:000e95ec88 size:256463+shaders/vfx/cables_pc_50_psrs.vcs CRC:00b935a061 size:3282+shaders/vfx/cables_pc_50_vs.vcs CRC:00f307b471 size:22671 shaders/vfx/cs_color_picker.ini CRC:0000000000 size:0 shaders/vfx/cs_color_picker_pc_50_features.vcs CRC:00b8399ca8 size:1394 shaders/vfx/cs_color_picker_pc_50_ps.vcs CRC:00532d7d2a size:1843@@ -31,25 +31,25 @@ shaders/vfx/csgo_alpha_immunity_pc_50_features.vcs CRC:0028b20085 size:1698 shaders/vfx/csgo_alpha_immunity_pc_50_ps.vcs CRC:00b932a9b1 size:1937 shaders/vfx/csgo_alpha_immunity_pc_50_vs.vcs CRC:009d972d06 size:1935 shaders/vfx/csgo_beachfoam.ini CRC:0000000000 size:0-shaders/vfx/csgo_beachfoam_pc_50_features.vcs CRC:00a69a0c5d size:3282-shaders/vfx/csgo_beachfoam_pc_50_ps.vcs CRC:00bd3c0ca7 size:4373-shaders/vfx/csgo_beachfoam_pc_50_psrs.vcs CRC:00a641f69c size:1826-shaders/vfx/csgo_beachfoam_pc_50_vs.vcs CRC:001bdb8e1b size:10066+shaders/vfx/csgo_beachfoam_pc_50_features.vcs CRC:00d55e96ba size:3298+shaders/vfx/csgo_beachfoam_pc_50_ps.vcs CRC:00e9d92dda size:4373+shaders/vfx/csgo_beachfoam_pc_50_psrs.vcs CRC:0024b3b21e size:1826+shaders/vfx/csgo_beachfoam_pc_50_vs.vcs CRC:00f256386b size:10066 shaders/vfx/csgo_black_unlit.ini CRC:0000000000 size:0-shaders/vfx/csgo_black_unlit_pc_50_features.vcs CRC:006b997500 size:2658-shaders/vfx/csgo_black_unlit_pc_50_ps.vcs CRC:00db0acfad size:3782-shaders/vfx/csgo_black_unlit_pc_50_psrs.vcs CRC:000a9a08e4 size:1794-shaders/vfx/csgo_black_unlit_pc_50_vs.vcs CRC:00b4f45add size:5438+shaders/vfx/csgo_black_unlit_pc_50_features.vcs CRC:00e6ea9e1c size:2658+shaders/vfx/csgo_black_unlit_pc_50_ps.vcs CRC:00d062960d size:3782+shaders/vfx/csgo_black_unlit_pc_50_psrs.vcs CRC:005a2ae455 size:1794+shaders/vfx/csgo_black_unlit_pc_50_vs.vcs CRC:004a5323fa size:5454 shaders/vfx/csgo_character.ini CRC:0000000000 size:0-shaders/vfx/csgo_character_pc_50_features.vcs CRC:00f06dd1c3 size:8978-shaders/vfx/csgo_character_pc_50_ps.vcs CRC:000bbac0ac size:189827159-shaders/vfx/csgo_character_pc_50_psrs.vcs CRC:00b02597dd size:3474-shaders/vfx/csgo_character_pc_50_vs.vcs CRC:0055266743 size:1087605+shaders/vfx/csgo_character_pc_50_features.vcs CRC:008eefeaa7 size:9010+shaders/vfx/csgo_character_pc_50_ps.vcs CRC:005a31661e size:207470863+shaders/vfx/csgo_character_pc_50_psrs.vcs CRC:00fc9939ed size:3474+shaders/vfx/csgo_character_pc_50_vs.vcs CRC:0006510e27 size:1122552 shaders/vfx/csgo_complex.ini CRC:0000000000 size:0-shaders/vfx/csgo_complex_pc_50_features.vcs CRC:002c54617b size:7442-shaders/vfx/csgo_complex_pc_50_ps.vcs CRC:00c7b99669 size:28492560+shaders/vfx/csgo_complex_pc_50_features.vcs CRC:002361cfa7 size:7458+shaders/vfx/csgo_complex_pc_50_ps.vcs CRC:00788902eb size:28676540 shaders/vfx/csgo_complex_pc_50_psrs.vcs CRC:0052229d16 size:3186-shaders/vfx/csgo_complex_pc_50_vs.vcs CRC:0077bd33e4 size:253601+shaders/vfx/csgo_complex_pc_50_vs.vcs CRC:002bdb8f50 size:253636 shaders/vfx/csgo_composite_generic.ini CRC:0000000000 size:0 shaders/vfx/csgo_composite_generic_pc_50_features.vcs CRC:0056569b3f size:1778 shaders/vfx/csgo_composite_generic_pc_50_ps.vcs CRC:004276e0a8 size:2028@@ -71,103 +71,103 @@ shaders/vfx/csgo_crosshair_pc_50_features.vcs CRC:00f12acb43 size:1730 shaders/vfx/csgo_crosshair_pc_50_ps.vcs CRC:00ec3b135b size:3493 shaders/vfx/csgo_crosshair_pc_50_vs.vcs CRC:004ff0a9c9 size:1438 shaders/vfx/csgo_customglove.ini CRC:0000000000 size:0-shaders/vfx/csgo_customglove_pc_50_features.vcs CRC:0004c59a8b size:11538-shaders/vfx/csgo_customglove_pc_50_ps.vcs CRC:0067b422db size:38190+shaders/vfx/csgo_customglove_pc_50_features.vcs CRC:004931493e size:11538+shaders/vfx/csgo_customglove_pc_50_ps.vcs CRC:00d78330d8 size:38190 shaders/vfx/csgo_customglove_pc_50_vs.vcs CRC:003c0a3fbf size:3732 shaders/vfx/csgo_customglove_preview.ini CRC:0000000000 size:0-shaders/vfx/csgo_customglove_preview_pc_50_features.vcs CRC:002c379f80 size:9714-shaders/vfx/csgo_customglove_preview_pc_50_ps.vcs CRC:00f807d88f size:66324-shaders/vfx/csgo_customglove_preview_pc_50_psrs.vcs CRC:009b036760 size:1874-shaders/vfx/csgo_customglove_preview_pc_50_vs.vcs CRC:009109a76d size:12642+shaders/vfx/csgo_customglove_preview_pc_50_features.vcs CRC:00cf860234 size:9714+shaders/vfx/csgo_customglove_preview_pc_50_ps.vcs CRC:005b883d0c size:66365+shaders/vfx/csgo_customglove_preview_pc_50_psrs.vcs CRC:0076bdde45 size:1874+shaders/vfx/csgo_customglove_preview_pc_50_vs.vcs CRC:007fe752e7 size:12656 shaders/vfx/csgo_customweapon.ini CRC:0000000000 size:0-shaders/vfx/csgo_customweapon_pc_50_features.vcs CRC:00f5faa539 size:6642-shaders/vfx/csgo_customweapon_pc_50_ps.vcs CRC:00bf16439b size:2369483+shaders/vfx/csgo_customweapon_pc_50_features.vcs CRC:00d0dbb0d1 size:6642+shaders/vfx/csgo_customweapon_pc_50_ps.vcs CRC:0066543773 size:2369483 shaders/vfx/csgo_customweapon_pc_50_vs.vcs CRC:00aef77df3 size:3926 shaders/vfx/csgo_decal_renderer.ini CRC:0000000000 size:0-shaders/vfx/csgo_decal_renderer_pc_50_features.vcs CRC:00ad4c4fd7 size:1986-shaders/vfx/csgo_decal_renderer_pc_50_ps.vcs CRC:002caf0993 size:2311-shaders/vfx/csgo_decal_renderer_pc_50_vs.vcs CRC:00898d6700 size:4014+shaders/vfx/csgo_decal_renderer_pc_50_features.vcs CRC:00205d1ed4 size:1986+shaders/vfx/csgo_decal_renderer_pc_50_ps.vcs CRC:00c9bee2cb size:2311+shaders/vfx/csgo_decal_renderer_pc_50_vs.vcs CRC:009f750384 size:4014 shaders/vfx/csgo_decalmodulate.ini CRC:0000000000 size:0-shaders/vfx/csgo_decalmodulate_pc_50_features.vcs CRC:00512501a2 size:3426-shaders/vfx/csgo_decalmodulate_pc_50_ps.vcs CRC:00eafa1455 size:3743-shaders/vfx/csgo_decalmodulate_pc_50_psrs.vcs CRC:00c3bbd8e9 size:1890-shaders/vfx/csgo_decalmodulate_pc_50_vs.vcs CRC:00a96d1538 size:15536+shaders/vfx/csgo_decalmodulate_pc_50_features.vcs CRC:006f5f0fb8 size:3426+shaders/vfx/csgo_decalmodulate_pc_50_ps.vcs CRC:0031250161 size:3743+shaders/vfx/csgo_decalmodulate_pc_50_psrs.vcs CRC:007c80e187 size:1906+shaders/vfx/csgo_decalmodulate_pc_50_vs.vcs CRC:005bab6986 size:15536 shaders/vfx/csgo_depth_only.ini CRC:0000000000 size:0-shaders/vfx/csgo_depth_only_pc_50_features.vcs CRC:00dc9a4723 size:3218-shaders/vfx/csgo_depth_only_pc_50_ps.vcs CRC:00ae9f5104 size:4588-shaders/vfx/csgo_depth_only_pc_50_vs.vcs CRC:0026d0d00d size:9367+shaders/vfx/csgo_depth_only_pc_50_features.vcs CRC:00690fd609 size:3234+shaders/vfx/csgo_depth_only_pc_50_ps.vcs CRC:00da61265c size:4604+shaders/vfx/csgo_depth_only_pc_50_vs.vcs CRC:00ebcbccf1 size:9367 shaders/vfx/csgo_dronecam.ini CRC:0000000000 size:0 shaders/vfx/csgo_dronecam_pc_50_features.vcs CRC:00c669bb55 size:1778 shaders/vfx/csgo_dronecam_pc_50_ps.vcs CRC:0064da1316 size:2617 shaders/vfx/csgo_dronecam_pc_50_vs.vcs CRC:0080ed5afd size:1419 shaders/vfx/csgo_effects.ini CRC:0000000000 size:0-shaders/vfx/csgo_effects_pc_50_features.vcs CRC:0030264a33 size:4210-shaders/vfx/csgo_effects_pc_50_ps.vcs CRC:00fdbf6300 size:85300-shaders/vfx/csgo_effects_pc_50_psrs.vcs CRC:00e60f45eb size:2242-shaders/vfx/csgo_effects_pc_50_vs.vcs CRC:00a4824733 size:12391+shaders/vfx/csgo_effects_pc_50_features.vcs CRC:0013a5d2c7 size:4226+shaders/vfx/csgo_effects_pc_50_ps.vcs CRC:004f3dc82d size:85300+shaders/vfx/csgo_effects_pc_50_psrs.vcs CRC:00153d4526 size:2242+shaders/vfx/csgo_effects_pc_50_vs.vcs CRC:00ba26d49a size:12391 shaders/vfx/csgo_environment.ini CRC:0000000000 size:0 shaders/vfx/csgo_environment_blend.ini CRC:0000000000 size:0-shaders/vfx/csgo_environment_blend_pc_50_features.vcs CRC:00628a172a size:10802-shaders/vfx/csgo_environment_blend_pc_50_ps.vcs CRC:00a1f5b123 size:16771460-shaders/vfx/csgo_environment_blend_pc_50_psrs.vcs CRC:009b0d6923 size:2498-shaders/vfx/csgo_environment_blend_pc_50_vs.vcs CRC:00a98781f0 size:262853-shaders/vfx/csgo_environment_pc_50_features.vcs CRC:004cc5e42a size:6402-shaders/vfx/csgo_environment_pc_50_ps.vcs CRC:00e08c6423 size:586762-shaders/vfx/csgo_environment_pc_50_psrs.vcs CRC:005fcd929b size:2450-shaders/vfx/csgo_environment_pc_50_vs.vcs CRC:0020d390c7 size:108674+shaders/vfx/csgo_environment_blend_pc_50_features.vcs CRC:00b4ff75e4 size:11298+shaders/vfx/csgo_environment_blend_pc_50_ps.vcs CRC:00f90093db size:76670919+shaders/vfx/csgo_environment_blend_pc_50_psrs.vcs CRC:001472f002 size:2722+shaders/vfx/csgo_environment_blend_pc_50_vs.vcs CRC:007d04cd5e size:468956+shaders/vfx/csgo_environment_pc_50_features.vcs CRC:00c59ec509 size:6834+shaders/vfx/csgo_environment_pc_50_ps.vcs CRC:005275f316 size:2487759+shaders/vfx/csgo_environment_pc_50_psrs.vcs CRC:004ac0f75e size:2594+shaders/vfx/csgo_environment_pc_50_vs.vcs CRC:009a2a7cfe size:192935 shaders/vfx/csgo_eyeball.ini CRC:0000000000 size:0-shaders/vfx/csgo_eyeball_pc_50_features.vcs CRC:000f2dfa98 size:3922-shaders/vfx/csgo_eyeball_pc_50_ps.vcs CRC:00df4e7bc8 size:67003-shaders/vfx/csgo_eyeball_pc_50_psrs.vcs CRC:00b0972c53 size:1650-shaders/vfx/csgo_eyeball_pc_50_vs.vcs CRC:00f96baefc size:16917+shaders/vfx/csgo_eyeball_pc_50_features.vcs CRC:0016b98da6 size:3922+shaders/vfx/csgo_eyeball_pc_50_ps.vcs CRC:00e11218f9 size:66492+shaders/vfx/csgo_eyeball_pc_50_psrs.vcs CRC:00072dbbdc size:1650+shaders/vfx/csgo_eyeball_pc_50_vs.vcs CRC:00326c6a8e size:16917 shaders/vfx/csgo_flashbang_overlay.ini CRC:0000000000 size:0-shaders/vfx/csgo_flashbang_overlay_pc_50_features.vcs CRC:00969e232f size:3506-shaders/vfx/csgo_flashbang_overlay_pc_50_ps.vcs CRC:00da6182a6 size:3441-shaders/vfx/csgo_flashbang_overlay_pc_50_psrs.vcs CRC:00c63abcc9 size:1810-shaders/vfx/csgo_flashbang_overlay_pc_50_vs.vcs CRC:006f2f92dd size:10955+shaders/vfx/csgo_flashbang_overlay_pc_50_features.vcs CRC:00629c8b47 size:3506+shaders/vfx/csgo_flashbang_overlay_pc_50_ps.vcs CRC:00eb33329b size:3457+shaders/vfx/csgo_flashbang_overlay_pc_50_psrs.vcs CRC:00cf9557be size:1810+shaders/vfx/csgo_flashbang_overlay_pc_50_vs.vcs CRC:00a9beece1 size:10955 shaders/vfx/csgo_foliage.ini CRC:0000000000 size:0-shaders/vfx/csgo_foliage_pc_50_features.vcs CRC:0024e6305a size:6546-shaders/vfx/csgo_foliage_pc_50_ps.vcs CRC:00bfdccfd6 size:1780494+shaders/vfx/csgo_foliage_pc_50_features.vcs CRC:00e75ed1a3 size:6562+shaders/vfx/csgo_foliage_pc_50_ps.vcs CRC:00298e50c4 size:1792798 shaders/vfx/csgo_foliage_pc_50_psrs.vcs CRC:0031f2542c size:2338-shaders/vfx/csgo_foliage_pc_50_vs.vcs CRC:002c7e7ad5 size:181743+shaders/vfx/csgo_foliage_pc_50_vs.vcs CRC:00da5d427f size:181749 shaders/vfx/csgo_glass.ini CRC:0000000000 size:0-shaders/vfx/csgo_glass_pc_50_features.vcs CRC:00d2842b3d size:4402-shaders/vfx/csgo_glass_pc_50_ps.vcs CRC:003ea7ff8c size:331042+shaders/vfx/csgo_glass_pc_50_features.vcs CRC:00fbb549d6 size:4418+shaders/vfx/csgo_glass_pc_50_ps.vcs CRC:000f3b36cc size:331042 shaders/vfx/csgo_glass_pc_50_psrs.vcs CRC:005ac685d9 size:2818-shaders/vfx/csgo_glass_pc_50_vs.vcs CRC:0025c5aa41 size:103464+shaders/vfx/csgo_glass_pc_50_vs.vcs CRC:00949969fc size:103526 shaders/vfx/csgo_grenade_camera.ini CRC:0000000000 size:0-shaders/vfx/csgo_grenade_camera_pc_50_features.vcs CRC:000c7874cb size:1890-shaders/vfx/csgo_grenade_camera_pc_50_ps.vcs CRC:00d4fdb943 size:2964+shaders/vfx/csgo_grenade_camera_pc_50_features.vcs CRC:006a5f3554 size:1890+shaders/vfx/csgo_grenade_camera_pc_50_ps.vcs CRC:00fe98941f size:2964 shaders/vfx/csgo_grenade_camera_pc_50_vs.vcs CRC:0005d6a808 size:1408 shaders/vfx/csgo_legs_prepass.ini CRC:0000000000 size:0-shaders/vfx/csgo_legs_prepass_pc_50_features.vcs CRC:004e844ea8 size:3074-shaders/vfx/csgo_legs_prepass_pc_50_ps.vcs CRC:007aeda789 size:2033-shaders/vfx/csgo_legs_prepass_pc_50_vs.vcs CRC:00a04b38b1 size:14653+shaders/vfx/csgo_legs_prepass_pc_50_features.vcs CRC:00bc7d148c size:3074+shaders/vfx/csgo_legs_prepass_pc_50_ps.vcs CRC:007fdbbe6a size:2033+shaders/vfx/csgo_legs_prepass_pc_50_vs.vcs CRC:0081c22f2e size:14666 shaders/vfx/csgo_lightmapped_4wayblend.ini CRC:0000000000 size:0-shaders/vfx/csgo_lightmapped_4wayblend_pc_50_features.vcs CRC:006c1c09f3 size:4594-shaders/vfx/csgo_lightmapped_4wayblend_pc_50_ps.vcs CRC:007ea53fa7 size:388193-shaders/vfx/csgo_lightmapped_4wayblend_pc_50_psrs.vcs CRC:003c1c6177 size:2050-shaders/vfx/csgo_lightmapped_4wayblend_pc_50_vs.vcs CRC:00a217c744 size:46838+shaders/vfx/csgo_lightmapped_4wayblend_pc_50_features.vcs CRC:006c523e22 size:4594+shaders/vfx/csgo_lightmapped_4wayblend_pc_50_ps.vcs CRC:000552caf2 size:389420+shaders/vfx/csgo_lightmapped_4wayblend_pc_50_psrs.vcs CRC:00fe2f5b08 size:2050+shaders/vfx/csgo_lightmapped_4wayblend_pc_50_vs.vcs CRC:001d0e662e size:46836 shaders/vfx/csgo_lightmappedgeneric.ini CRC:0000000000 size:0-shaders/vfx/csgo_lightmappedgeneric_pc_50_features.vcs CRC:00ab338200 size:7010-shaders/vfx/csgo_lightmappedgeneric_pc_50_ps.vcs CRC:00d42aecf8 size:11580019-shaders/vfx/csgo_lightmappedgeneric_pc_50_psrs.vcs CRC:00d26d1ffd size:3986-shaders/vfx/csgo_lightmappedgeneric_pc_50_vs.vcs CRC:00766cc456 size:464239+shaders/vfx/csgo_lightmappedgeneric_pc_50_features.vcs CRC:007da3545b size:7042+shaders/vfx/csgo_lightmappedgeneric_pc_50_ps.vcs CRC:008c2aea61 size:11648526+shaders/vfx/csgo_lightmappedgeneric_pc_50_psrs.vcs CRC:0054e765df size:4002+shaders/vfx/csgo_lightmappedgeneric_pc_50_vs.vcs CRC:00f77e68b5 size:648944 shaders/vfx/csgo_moondome.ini CRC:0000000000 size:0-shaders/vfx/csgo_moondome_pc_50_features.vcs CRC:004b2fc1ab size:3634-shaders/vfx/csgo_moondome_pc_50_ps.vcs CRC:00ca9ad03d size:4945-shaders/vfx/csgo_moondome_pc_50_psrs.vcs CRC:009f55912f size:1762-shaders/vfx/csgo_moondome_pc_50_vs.vcs CRC:001bdb8e1b size:10066+shaders/vfx/csgo_moondome_pc_50_features.vcs CRC:0020f98436 size:3650+shaders/vfx/csgo_moondome_pc_50_ps.vcs CRC:007dda1bc9 size:4945+shaders/vfx/csgo_moondome_pc_50_psrs.vcs CRC:00e49eec17 size:1762+shaders/vfx/csgo_moondome_pc_50_vs.vcs CRC:00f256386b size:10066 shaders/vfx/csgo_panolayer_rt.ini CRC:0000000000 size:0-shaders/vfx/csgo_panolayer_rt_pc_50_features.vcs CRC:00a63eaa01 size:1858-shaders/vfx/csgo_panolayer_rt_pc_50_ps.vcs CRC:00cea846d3 size:2459-shaders/vfx/csgo_panolayer_rt_pc_50_psrs.vcs CRC:00bcb37f20 size:1586-shaders/vfx/csgo_panolayer_rt_pc_50_vs.vcs CRC:004f3c6ce2 size:1419+shaders/vfx/csgo_panolayer_rt_pc_50_features.vcs CRC:00c1759f92 size:1858+shaders/vfx/csgo_panolayer_rt_pc_50_ps.vcs CRC:00a8cd3e0c size:2475+shaders/vfx/csgo_panolayer_rt_pc_50_psrs.vcs CRC:0029a0cc5e size:1586+shaders/vfx/csgo_panolayer_rt_pc_50_vs.vcs CRC:00bce22fb9 size:1419 shaders/vfx/csgo_projected_decals.ini CRC:0000000000 size:0-shaders/vfx/csgo_projected_decals_pc_50_features.vcs CRC:0000663690 size:5362-shaders/vfx/csgo_projected_decals_pc_50_ps.vcs CRC:001cd181b2 size:38518294-shaders/vfx/csgo_projected_decals_pc_50_psrs.vcs CRC:002ab260b2 size:2786-shaders/vfx/csgo_projected_decals_pc_50_vs.vcs CRC:005e3ce8d5 size:9438+shaders/vfx/csgo_projected_decals_pc_50_features.vcs CRC:00d8e93893 size:5362+shaders/vfx/csgo_projected_decals_pc_50_ps.vcs CRC:00ca835ab8 size:38861312+shaders/vfx/csgo_projected_decals_pc_50_psrs.vcs CRC:00ad2bd92b size:2786+shaders/vfx/csgo_projected_decals_pc_50_vs.vcs CRC:001a6ee55c size:9438 shaders/vfx/csgo_refract.ini CRC:0000000000 size:0 shaders/vfx/csgo_refract_pc_50_features.vcs CRC:00743561c0 size:2530 shaders/vfx/csgo_refract_pc_50_ps.vcs CRC:00eee6c25d size:9649@@ -178,34 +178,34 @@ shaders/vfx/csgo_screenspace_zone_pc_50_ps.vcs CRC:0042a3d8e9 size:3579 shaders/vfx/csgo_screenspace_zone_pc_50_vs.vcs CRC:0080ed5afd size:1419 shaders/vfx/csgo_simple.ini CRC:0000000000 size:0 shaders/vfx/csgo_simple_2way_blend.ini CRC:0000000000 size:0-shaders/vfx/csgo_simple_2way_blend_pc_50_features.vcs CRC:0057a7c390 size:4754-shaders/vfx/csgo_simple_2way_blend_pc_50_ps.vcs CRC:0099bfdb09 size:213121+shaders/vfx/csgo_simple_2way_blend_pc_50_features.vcs CRC:00ca6d9747 size:4770+shaders/vfx/csgo_simple_2way_blend_pc_50_ps.vcs CRC:006e297b57 size:214804 shaders/vfx/csgo_simple_2way_blend_pc_50_psrs.vcs CRC:0090fd3cc3 size:1826-shaders/vfx/csgo_simple_2way_blend_pc_50_vs.vcs CRC:0019225be2 size:27921+shaders/vfx/csgo_simple_2way_blend_pc_50_vs.vcs CRC:00325aecc7 size:27921 shaders/vfx/csgo_simple_3layer_parallax.ini CRC:0000000000 size:0-shaders/vfx/csgo_simple_3layer_parallax_pc_50_features.vcs CRC:00d9b4c117 size:4946-shaders/vfx/csgo_simple_3layer_parallax_pc_50_ps.vcs CRC:00afc01a69 size:3090430+shaders/vfx/csgo_simple_3layer_parallax_pc_50_features.vcs CRC:004f50c607 size:4962+shaders/vfx/csgo_simple_3layer_parallax_pc_50_ps.vcs CRC:00812de13f size:3100480 shaders/vfx/csgo_simple_3layer_parallax_pc_50_psrs.vcs CRC:0051d20c11 size:1890-shaders/vfx/csgo_simple_3layer_parallax_pc_50_vs.vcs CRC:008fdae558 size:25434+shaders/vfx/csgo_simple_3layer_parallax_pc_50_vs.vcs CRC:00b270a088 size:25436 shaders/vfx/csgo_simple_liquid.ini CRC:0000000000 size:0-shaders/vfx/csgo_simple_liquid_pc_50_features.vcs CRC:00eba0f1b9 size:5810-shaders/vfx/csgo_simple_liquid_pc_50_ps.vcs CRC:00a17d45fa size:1003783-shaders/vfx/csgo_simple_liquid_pc_50_psrs.vcs CRC:009897a715 size:1826-shaders/vfx/csgo_simple_liquid_pc_50_vs.vcs CRC:00e8bef575 size:41959-shaders/vfx/csgo_simple_pc_50_features.vcs CRC:00fb3b70e4 size:4754-shaders/vfx/csgo_simple_pc_50_ps.vcs CRC:00bce484ff size:314662+shaders/vfx/csgo_simple_liquid_pc_50_features.vcs CRC:005ba47738 size:5874+shaders/vfx/csgo_simple_liquid_pc_50_ps.vcs CRC:00b2e7db99 size:1119447+shaders/vfx/csgo_simple_liquid_pc_50_psrs.vcs CRC:007031f32d size:1842+shaders/vfx/csgo_simple_liquid_pc_50_vs.vcs CRC:0081f2cd4d size:43667+shaders/vfx/csgo_simple_pc_50_features.vcs CRC:0026fefa0a size:4754+shaders/vfx/csgo_simple_pc_50_ps.vcs CRC:00be0541d6 size:316365 shaders/vfx/csgo_simple_pc_50_psrs.vcs CRC:001a21352e size:2082-shaders/vfx/csgo_simple_pc_50_vs.vcs CRC:00d3cec24c size:27531+shaders/vfx/csgo_simple_pc_50_vs.vcs CRC:002b6e0499 size:27542 shaders/vfx/csgo_static_overlay.ini CRC:0000000000 size:0-shaders/vfx/csgo_static_overlay_pc_50_features.vcs CRC:00ef4dc224 size:7666-shaders/vfx/csgo_static_overlay_pc_50_ps.vcs CRC:00d49c87a1 size:550765-shaders/vfx/csgo_static_overlay_pc_50_psrs.vcs CRC:0044b08142 size:2610-shaders/vfx/csgo_static_overlay_pc_50_vs.vcs CRC:00a5a24102 size:164188+shaders/vfx/csgo_static_overlay_pc_50_features.vcs CRC:009e159750 size:7698+shaders/vfx/csgo_static_overlay_pc_50_ps.vcs CRC:00bfe17d30 size:566088+shaders/vfx/csgo_static_overlay_pc_50_psrs.vcs CRC:000e222ab4 size:2610+shaders/vfx/csgo_static_overlay_pc_50_vs.vcs CRC:0049c8b951 size:174537 shaders/vfx/csgo_textile_layer.ini CRC:0000000000 size:0-shaders/vfx/csgo_textile_layer_pc_50_features.vcs CRC:001e279830 size:7170-shaders/vfx/csgo_textile_layer_pc_50_ps.vcs CRC:006ca73be9 size:63755-shaders/vfx/csgo_textile_layer_pc_50_psrs.vcs CRC:00ace63e8c size:1858-shaders/vfx/csgo_textile_layer_pc_50_vs.vcs CRC:00349ea552 size:11757+shaders/vfx/csgo_textile_layer_pc_50_features.vcs CRC:0097e0b483 size:7170+shaders/vfx/csgo_textile_layer_pc_50_ps.vcs CRC:00db4e4125 size:63816+shaders/vfx/csgo_textile_layer_pc_50_psrs.vcs CRC:00ff9799e7 size:1858+shaders/vfx/csgo_textile_layer_pc_50_vs.vcs CRC:00f643c4db size:11790 shaders/vfx/csgo_tools_shading_complexity.ini CRC:0000000000 size:0 shaders/vfx/csgo_tools_shading_complexity_pc_50_features.vcs CRC:00d8a30b64 size:2114 shaders/vfx/csgo_tools_shading_complexity_pc_50_ps.vcs CRC:00eecda73b size:2577@@ -219,39 +219,39 @@ shaders/vfx/csgo_ui_texture_attribute_pc_50_features.vcs CRC:003dc34fc4 size:161 shaders/vfx/csgo_ui_texture_attribute_pc_50_ps.vcs CRC:00431b2656 size:1848 shaders/vfx/csgo_ui_texture_attribute_pc_50_vs.vcs CRC:003c1853ee size:1867 shaders/vfx/csgo_unlitgeneric.ini CRC:0000000000 size:0-shaders/vfx/csgo_unlitgeneric_pc_50_features.vcs CRC:00f0929503 size:4770-shaders/vfx/csgo_unlitgeneric_pc_50_ps.vcs CRC:00e7bf9e46 size:76959-shaders/vfx/csgo_unlitgeneric_pc_50_psrs.vcs CRC:0073277f05 size:3314-shaders/vfx/csgo_unlitgeneric_pc_50_vs.vcs CRC:00318acf7e size:103921+shaders/vfx/csgo_unlitgeneric_pc_50_features.vcs CRC:00bd0c721d size:4770+shaders/vfx/csgo_unlitgeneric_pc_50_ps.vcs CRC:00b017f336 size:76959+shaders/vfx/csgo_unlitgeneric_pc_50_psrs.vcs CRC:00b75836fd size:3314+shaders/vfx/csgo_unlitgeneric_pc_50_vs.vcs CRC:00fc810b1f size:103921 shaders/vfx/csgo_vertexlitgeneric.ini CRC:0000000000 size:0-shaders/vfx/csgo_vertexlitgeneric_pc_50_features.vcs CRC:004e1f5a12 size:6658-shaders/vfx/csgo_vertexlitgeneric_pc_50_ps.vcs CRC:0066457772 size:12667234+shaders/vfx/csgo_vertexlitgeneric_pc_50_features.vcs CRC:00544d2abe size:6642+shaders/vfx/csgo_vertexlitgeneric_pc_50_ps.vcs CRC:003304b993 size:12755930 shaders/vfx/csgo_vertexlitgeneric_pc_50_psrs.vcs CRC:00db85377a size:3106-shaders/vfx/csgo_vertexlitgeneric_pc_50_vs.vcs CRC:008bc35408 size:126928+shaders/vfx/csgo_vertexlitgeneric_pc_50_vs.vcs CRC:00b12fdf01 size:126943 shaders/vfx/csgo_volume_viewer.ini CRC:0000000000 size:0 shaders/vfx/csgo_volume_viewer_pc_50_features.vcs CRC:00bdb2e588 size:1794 shaders/vfx/csgo_volume_viewer_pc_50_ps.vcs CRC:00600c6a33 size:2179 shaders/vfx/csgo_volume_viewer_pc_50_vs.vcs CRC:0029500299 size:2659 shaders/vfx/csgo_water.ini CRC:0000000000 size:0 shaders/vfx/csgo_water_fancy.ini CRC:0000000000 size:0-shaders/vfx/csgo_water_fancy_pc_50_features.vcs CRC:00c2275326 size:6162-shaders/vfx/csgo_water_fancy_pc_50_ps.vcs CRC:001bbe3d34 size:3503468-shaders/vfx/csgo_water_fancy_pc_50_psrs.vcs CRC:00e4b067b7 size:2018-shaders/vfx/csgo_water_fancy_pc_50_vs.vcs CRC:00ca1229b6 size:19579-shaders/vfx/csgo_water_pc_50_features.vcs CRC:000cad1c3a size:5138-shaders/vfx/csgo_water_pc_50_ps.vcs CRC:0001291e1b size:2221212-shaders/vfx/csgo_water_pc_50_psrs.vcs CRC:0087a55d56 size:1954-shaders/vfx/csgo_water_pc_50_vs.vcs CRC:0093c11494 size:20601+shaders/vfx/csgo_water_fancy_pc_50_features.vcs CRC:00262edc14 size:6162+shaders/vfx/csgo_water_fancy_pc_50_ps.vcs CRC:00d8ff36ee size:3578730+shaders/vfx/csgo_water_fancy_pc_50_psrs.vcs CRC:0004f79ddd size:2034+shaders/vfx/csgo_water_fancy_pc_50_vs.vcs CRC:003f8c14d3 size:19595+shaders/vfx/csgo_water_pc_50_features.vcs CRC:004373abbd size:5138+shaders/vfx/csgo_water_pc_50_ps.vcs CRC:0073b9f700 size:2220610+shaders/vfx/csgo_water_pc_50_psrs.vcs CRC:00c6817183 size:1954+shaders/vfx/csgo_water_pc_50_vs.vcs CRC:000cee3c23 size:20601 shaders/vfx/csgo_weapon.ini CRC:0000000000 size:0-shaders/vfx/csgo_weapon_pc_50_features.vcs CRC:00bd645c36 size:10418-shaders/vfx/csgo_weapon_pc_50_ps.vcs CRC:002e0f201d size:19658921-shaders/vfx/csgo_weapon_pc_50_psrs.vcs CRC:006d9cbaa5 size:2354-shaders/vfx/csgo_weapon_pc_50_vs.vcs CRC:00d4d49014 size:44923+shaders/vfx/csgo_weapon_pc_50_features.vcs CRC:00df9602ca size:10466+shaders/vfx/csgo_weapon_pc_50_ps.vcs CRC:0004b6fdc7 size:22231269+shaders/vfx/csgo_weapon_pc_50_psrs.vcs CRC:00f3d4d37e size:2354+shaders/vfx/csgo_weapon_pc_50_vs.vcs CRC:0006aef284 size:46901 shaders/vfx/csgo_weapon_sticker.ini CRC:0000000000 size:0-shaders/vfx/csgo_weapon_sticker_pc_50_features.vcs CRC:00ee8f2ca3 size:4898-shaders/vfx/csgo_weapon_sticker_pc_50_ps.vcs CRC:008449e6cd size:68340-shaders/vfx/csgo_weapon_sticker_pc_50_psrs.vcs CRC:00080c9adc size:1586-shaders/vfx/csgo_weapon_sticker_pc_50_vs.vcs CRC:00242d0cb8 size:12898+shaders/vfx/csgo_weapon_sticker_pc_50_features.vcs CRC:002cac1c3b size:4898+shaders/vfx/csgo_weapon_sticker_pc_50_ps.vcs CRC:00e5a10529 size:68746+shaders/vfx/csgo_weapon_sticker_pc_50_psrs.vcs CRC:00a6a7b43d size:1586+shaders/vfx/csgo_weapon_sticker_pc_50_vs.vcs CRC:00a0703155 size:12901 shaders/vfx/deferred_particle_shadows.ini CRC:0000000000 size:0 shaders/vfx/deferred_particle_shadows_pc_50_features.vcs CRC:00d44879f1 size:1682 shaders/vfx/deferred_particle_shadows_pc_50_ps.vcs CRC:009a835a77 size:2992@@ -288,15 +288,15 @@ shaders/vfx/generate_decal_normals_pc_50_features.vcs CRC:00069b1c3e size:1554 shaders/vfx/generate_decal_normals_pc_50_ps.vcs CRC:00839562e3 size:1895 shaders/vfx/generate_decal_normals_pc_50_vs.vcs CRC:002d1a35e9 size:1419 shaders/vfx/generic.ini CRC:0000000000 size:0-shaders/vfx/generic_pc_50_features.vcs CRC:00a49ee6d7 size:5010-shaders/vfx/generic_pc_50_ps.vcs CRC:007f5b5de9 size:1297216-shaders/vfx/generic_pc_50_psrs.vcs CRC:005f693504 size:3442-shaders/vfx/generic_pc_50_vs.vcs CRC:002e662204 size:31137+shaders/vfx/generic_pc_50_features.vcs CRC:0016f89f37 size:5026+shaders/vfx/generic_pc_50_ps.vcs CRC:00eb817a41 size:1307310+shaders/vfx/generic_pc_50_psrs.vcs CRC:00896ac5fa size:3442+shaders/vfx/generic_pc_50_vs.vcs CRC:00b0e71d64 size:31181 shaders/vfx/grasstile.ini CRC:0000000000 size:0-shaders/vfx/grasstile_pc_50_features.vcs CRC:00707fe2e8 size:3490-shaders/vfx/grasstile_pc_50_ps.vcs CRC:00a35ed17b size:51526-shaders/vfx/grasstile_pc_50_psrs.vcs CRC:00f2d803fd size:2002-shaders/vfx/grasstile_pc_50_vs.vcs CRC:00b31ffdcb size:6278+shaders/vfx/grasstile_pc_50_features.vcs CRC:00b51f5d59 size:3490+shaders/vfx/grasstile_pc_50_ps.vcs CRC:00277696d8 size:52151+shaders/vfx/grasstile_pc_50_psrs.vcs CRC:0076620160 size:2002+shaders/vfx/grasstile_pc_50_vs.vcs CRC:00ebdb67c8 size:6278 shaders/vfx/grasstile_preview.ini CRC:0000000000 size:0 shaders/vfx/grasstile_preview_pc_50_features.vcs CRC:00f9a2db40 size:2162 shaders/vfx/grasstile_preview_pc_50_ps.vcs CRC:00c1526de5 size:2785@@ -306,44 +306,44 @@ shaders/vfx/healthboost_pc_50_features.vcs CRC:00f1c7615b size:1794 shaders/vfx/healthboost_pc_50_ps.vcs CRC:00cc385ef6 size:2308 shaders/vfx/healthboost_pc_50_vs.vcs CRC:00ea0f5927 size:1353 shaders/vfx/histogram_cs.ini CRC:0000000000 size:0-shaders/vfx/histogram_cs_pc_50_cs.vcs CRC:0087c15044 size:8723-shaders/vfx/histogram_cs_pc_50_features.vcs CRC:004748ea81 size:1730+shaders/vfx/histogram_cs_pc_50_cs.vcs CRC:006ee143a1 size:8723+shaders/vfx/histogram_cs_pc_50_features.vcs CRC:0054363111 size:1730 shaders/vfx/inferno.ini CRC:0000000000 size:0-shaders/vfx/inferno_pc_50_features.vcs CRC:00e8a32a48 size:1858-shaders/vfx/inferno_pc_50_ps.vcs CRC:0020e63fb1 size:2955-shaders/vfx/inferno_pc_50_vs.vcs CRC:007e4883ac size:2274+shaders/vfx/inferno_pc_50_features.vcs CRC:00a2f47759 size:1858+shaders/vfx/inferno_pc_50_ps.vcs CRC:007219e50e size:2955+shaders/vfx/inferno_pc_50_vs.vcs CRC:003dbfc764 size:2290 shaders/vfx/legacy_sniper_scope.ini CRC:0000000000 size:0 shaders/vfx/legacy_sniper_scope_pc_50_features.vcs CRC:000ec34ac7 size:1714 shaders/vfx/legacy_sniper_scope_pc_50_ps.vcs CRC:00122e834a size:2967 shaders/vfx/legacy_sniper_scope_pc_50_vs.vcs CRC:00ea0f5927 size:1353 shaders/vfx/lpv_debug_grid.ini CRC:0000000000 size:0-shaders/vfx/lpv_debug_grid_pc_50_features.vcs CRC:001f4ea574 size:2786-shaders/vfx/lpv_debug_grid_pc_50_gs.vcs CRC:0073fb9e1d size:3622-shaders/vfx/lpv_debug_grid_pc_50_ps.vcs CRC:00bbe14152 size:45414-shaders/vfx/lpv_debug_grid_pc_50_vs.vcs CRC:00179f8e7d size:2513+shaders/vfx/lpv_debug_grid_pc_50_features.vcs CRC:003b1f5f43 size:2786+shaders/vfx/lpv_debug_grid_pc_50_gs.vcs CRC:00a9eb3df9 size:3622+shaders/vfx/lpv_debug_grid_pc_50_ps.vcs CRC:00f3bd2331 size:45306+shaders/vfx/lpv_debug_grid_pc_50_vs.vcs CRC:00ca4b87d5 size:2513 shaders/vfx/luminaire.ini CRC:0000000000 size:0-shaders/vfx/luminaire_pc_50_features.vcs CRC:000c8a8a01 size:2370-shaders/vfx/luminaire_pc_50_ps.vcs CRC:005477504a size:6420-shaders/vfx/luminaire_pc_50_psrs.vcs CRC:00c073b324 size:2018-shaders/vfx/luminaire_pc_50_vs.vcs CRC:005761c2b8 size:5422+shaders/vfx/luminaire_pc_50_features.vcs CRC:00659c1803 size:2370+shaders/vfx/luminaire_pc_50_ps.vcs CRC:009b665347 size:6420+shaders/vfx/luminaire_pc_50_psrs.vcs CRC:00200a1e43 size:2018+shaders/vfx/luminaire_pc_50_vs.vcs CRC:00b020b50b size:5422 shaders/vfx/mboit_mixed_combine.ini CRC:0000000000 size:0-shaders/vfx/mboit_mixed_combine_pc_50_features.vcs CRC:00687315fc size:1954-shaders/vfx/mboit_mixed_combine_pc_50_ps.vcs CRC:008ce3b2ce size:4764+shaders/vfx/mboit_mixed_combine_pc_50_features.vcs CRC:006e6a68e8 size:1954+shaders/vfx/mboit_mixed_combine_pc_50_ps.vcs CRC:00456cd2a6 size:4764 shaders/vfx/mboit_mixed_combine_pc_50_vs.vcs CRC:00627195be size:2506 shaders/vfx/mboit_mixed_upsample.ini CRC:0000000000 size:0-shaders/vfx/mboit_mixed_upsample_pc_50_cs.vcs CRC:00b9d86274 size:7650-shaders/vfx/mboit_mixed_upsample_pc_50_features.vcs CRC:00d01e8f59 size:2018+shaders/vfx/mboit_mixed_upsample_pc_50_cs.vcs CRC:00c1d69fc1 size:7650+shaders/vfx/mboit_mixed_upsample_pc_50_features.vcs CRC:00cd5dd0e3 size:2018 shaders/vfx/mboitfinal.ini CRC:0000000000 size:0-shaders/vfx/mboitfinal_pc_50_features.vcs CRC:003b53f60e size:1954-shaders/vfx/mboitfinal_pc_50_ps.vcs CRC:00da5098d9 size:5142+shaders/vfx/mboitfinal_pc_50_features.vcs CRC:00f06fac64 size:1970+shaders/vfx/mboitfinal_pc_50_ps.vcs CRC:00e30898c9 size:5158 shaders/vfx/mboitfinal_pc_50_vs.vcs CRC:00559a2a7c size:2996 shaders/vfx/outlines.ini CRC:0000000000 size:0 shaders/vfx/outlines_pc_50_features.vcs CRC:00e6864a88 size:1778 shaders/vfx/outlines_pc_50_ps.vcs CRC:00af708a6e size:2745 shaders/vfx/outlines_pc_50_vs.vcs CRC:0058323fb8 size:1360 shaders/vfx/overlay_smoke.ini CRC:0000000000 size:0-shaders/vfx/overlay_smoke_pc_50_features.vcs CRC:00e84b3e90 size:1746-shaders/vfx/overlay_smoke_pc_50_ps.vcs CRC:0078c01ce7 size:2646+shaders/vfx/overlay_smoke_pc_50_features.vcs CRC:00c8282e48 size:1762+shaders/vfx/overlay_smoke_pc_50_ps.vcs CRC:00733181dd size:2646 shaders/vfx/overlay_smoke_pc_50_vs.vcs CRC:00dc9157c8 size:1438 shaders/vfx/panorama_alpha.ini CRC:0000000000 size:0 shaders/vfx/panorama_alpha_pc_50_features.vcs CRC:00900fc740 size:1682@@ -362,69 +362,69 @@ shaders/vfx/player_visibility_stencil_proxy_pc_50_features.vcs CRC:00fb953c16 si shaders/vfx/player_visibility_stencil_proxy_pc_50_ps.vcs CRC:00de86fb1f size:1576 shaders/vfx/player_visibility_stencil_proxy_pc_50_vs.vcs CRC:00b1aacfdd size:2452 shaders/vfx/post_process.ini CRC:0000000000 size:0-shaders/vfx/post_process_pc_50_features.vcs CRC:000d231024 size:2578-shaders/vfx/post_process_pc_50_ps.vcs CRC:00b7b5cd9b size:70997-shaders/vfx/post_process_pc_50_vs.vcs CRC:00055984f8 size:1419+shaders/vfx/post_process_pc_50_features.vcs CRC:00bee159b8 size:2578+shaders/vfx/post_process_pc_50_ps.vcs CRC:00c104c042 size:71013+shaders/vfx/post_process_pc_50_vs.vcs CRC:000f93f89e size:1419 shaders/vfx/reconstruct_normals.ini CRC:0000000000 size:0 shaders/vfx/reconstruct_normals_pc_50_features.vcs CRC:0037fa53d2 size:1506 shaders/vfx/reconstruct_normals_pc_50_ps.vcs CRC:00a5e6318e size:2862 shaders/vfx/reconstruct_normals_pc_50_vs.vcs CRC:00364cbcfb size:1413 shaders/vfx/screenparticlescombine.ini CRC:0000000000 size:0-shaders/vfx/screenparticlescombine_pc_50_features.vcs CRC:002c516485 size:1666-shaders/vfx/screenparticlescombine_pc_50_ps.vcs CRC:00348524a1 size:1939+shaders/vfx/screenparticlescombine_pc_50_features.vcs CRC:009adb1abc size:1666+shaders/vfx/screenparticlescombine_pc_50_ps.vcs CRC:00a9842c30 size:1939 shaders/vfx/screenparticlescombine_pc_50_vs.vcs CRC:00baed8259 size:1431 shaders/vfx/simple.ini CRC:0000000000 size:0-shaders/vfx/simple_pc_50_features.vcs CRC:00da37a5cf size:4498-shaders/vfx/simple_pc_50_ps.vcs CRC:001c8778f1 size:50980-shaders/vfx/simple_pc_50_psrs.vcs CRC:0002da3ae8 size:1794-shaders/vfx/simple_pc_50_vs.vcs CRC:00d7453a50 size:15263+shaders/vfx/simple_pc_50_features.vcs CRC:00ab692aa6 size:4498+shaders/vfx/simple_pc_50_ps.vcs CRC:005ffc5588 size:51149+shaders/vfx/simple_pc_50_psrs.vcs CRC:00f71bc38a size:1794+shaders/vfx/simple_pc_50_vs.vcs CRC:0088c44746 size:15267 shaders/vfx/sky.ini CRC:0000000000 size:0 shaders/vfx/sky_occluder.ini CRC:0000000000 size:0 shaders/vfx/sky_occluder_pc_50_features.vcs CRC:0045563b9b size:1858 shaders/vfx/sky_occluder_pc_50_ps.vcs CRC:0007c6fc0e size:2287 shaders/vfx/sky_occluder_pc_50_vs.vcs CRC:005291a3af size:2734-shaders/vfx/sky_pc_50_features.vcs CRC:00ff614270 size:2498-shaders/vfx/sky_pc_50_ps.vcs CRC:00b811f548 size:6044-shaders/vfx/sky_pc_50_vs.vcs CRC:00d1e97a99 size:2791+shaders/vfx/sky_pc_50_features.vcs CRC:00b0889679 size:2498+shaders/vfx/sky_pc_50_ps.vcs CRC:00478cb7b8 size:6044+shaders/vfx/sky_pc_50_vs.vcs CRC:0026963613 size:2791 shaders/vfx/skybox_blur.ini CRC:0000000000 size:0 shaders/vfx/skybox_blur_pc_50_features.vcs CRC:00a3bfa04a size:1634 shaders/vfx/skybox_blur_pc_50_ps.vcs CRC:006a2ac5d5 size:2333 shaders/vfx/skybox_blur_pc_50_vs.vcs CRC:009a7ddc87 size:1359 shaders/vfx/smoke_volume.ini CRC:0000000000 size:0 shaders/vfx/smoke_volume_cs.ini CRC:0000000000 size:0-shaders/vfx/smoke_volume_cs_pc_50_cs.vcs CRC:00c480fd0d size:129865-shaders/vfx/smoke_volume_cs_pc_50_features.vcs CRC:003f5eb89f size:2754+shaders/vfx/smoke_volume_cs_pc_50_cs.vcs CRC:00b59cda56 size:129865+shaders/vfx/smoke_volume_cs_pc_50_features.vcs CRC:005881135e size:2754 shaders/vfx/smoke_volume_depth.ini CRC:0000000000 size:0-shaders/vfx/smoke_volume_depth_pc_50_features.vcs CRC:0060802cd6 size:1922-shaders/vfx/smoke_volume_depth_pc_50_ps.vcs CRC:00576e49bb size:6256-shaders/vfx/smoke_volume_depth_pc_50_vs.vcs CRC:006dc8aea2 size:1477+shaders/vfx/smoke_volume_depth_pc_50_features.vcs CRC:00cbfe814c size:1922+shaders/vfx/smoke_volume_depth_pc_50_ps.vcs CRC:006ebba90d size:6256+shaders/vfx/smoke_volume_depth_pc_50_vs.vcs CRC:00c8d2e31d size:1477 shaders/vfx/smoke_volume_lpv.ini CRC:0000000000 size:0-shaders/vfx/smoke_volume_lpv_pc_50_cs.vcs CRC:00ad83226c size:8236-shaders/vfx/smoke_volume_lpv_pc_50_features.vcs CRC:006c33fd9e size:1810+shaders/vfx/smoke_volume_lpv_pc_50_cs.vcs CRC:00647a7535 size:8236+shaders/vfx/smoke_volume_lpv_pc_50_features.vcs CRC:00c25e9dd6 size:1810 shaders/vfx/smoke_volume_mask.ini CRC:0000000000 size:0-shaders/vfx/smoke_volume_mask_pc_50_features.vcs CRC:00a0da20ff size:1874-shaders/vfx/smoke_volume_mask_pc_50_ps.vcs CRC:0092024552 size:10866+shaders/vfx/smoke_volume_mask_pc_50_features.vcs CRC:0095b56c66 size:1874+shaders/vfx/smoke_volume_mask_pc_50_ps.vcs CRC:00fff9d1ad size:10866 shaders/vfx/smoke_volume_mask_pc_50_vs.vcs CRC:007d56cdff size:2724-shaders/vfx/smoke_volume_pc_50_features.vcs CRC:0030d99bd1 size:2786-shaders/vfx/smoke_volume_pc_50_ps.vcs CRC:003522e4b4 size:151934-shaders/vfx/smoke_volume_pc_50_vs.vcs CRC:00158ed5d4 size:2244+shaders/vfx/smoke_volume_pc_50_features.vcs CRC:00933b6135 size:2786+shaders/vfx/smoke_volume_pc_50_ps.vcs CRC:0062b11dc6 size:151934+shaders/vfx/smoke_volume_pc_50_vs.vcs CRC:002bfdd311 size:2260 shaders/vfx/solidcolor.ini CRC:0000000000 size:0 shaders/vfx/solidcolor_pc_50_features.vcs CRC:001b30fdb8 size:2290 shaders/vfx/solidcolor_pc_50_ps.vcs CRC:006868f938 size:3120 shaders/vfx/solidcolor_pc_50_vs.vcs CRC:00018bd3f6 size:8001 shaders/vfx/spritecard.ini CRC:0000000000 size:0-shaders/vfx/spritecard_pc_50_features.vcs CRC:004ddbc204 size:3458-shaders/vfx/spritecard_pc_50_ps.vcs CRC:0000fb5eba size:2274965-shaders/vfx/spritecard_pc_50_vs.vcs CRC:001a104e3a size:1130172+shaders/vfx/spritecard_pc_50_features.vcs CRC:00b91f52ab size:3458+shaders/vfx/spritecard_pc_50_ps.vcs CRC:0008438141 size:2269250+shaders/vfx/spritecard_pc_50_vs.vcs CRC:00cbf55fe0 size:1131766 shaders/vfx/tools_solid.ini CRC:0000000000 size:0-shaders/vfx/tools_solid_pc_50_features.vcs CRC:000aea73e0 size:1826-shaders/vfx/tools_solid_pc_50_ps.vcs CRC:00db19f4eb size:2958-shaders/vfx/tools_solid_pc_50_vs.vcs CRC:0041e0b95e size:3868+shaders/vfx/tools_solid_pc_50_features.vcs CRC:00e381840a size:1826+shaders/vfx/tools_solid_pc_50_ps.vcs CRC:007babeb8e size:2958+shaders/vfx/tools_solid_pc_50_vs.vcs CRC:00179080a0 size:3868 shaders/vfx/tools_wireframe.ini CRC:0000000000 size:0-shaders/vfx/tools_wireframe_pc_50_features.vcs CRC:00ca3bdfb2 size:2194-shaders/vfx/tools_wireframe_pc_50_gs.vcs CRC:002dc0269f size:3253-shaders/vfx/tools_wireframe_pc_50_ps.vcs CRC:0032e21a12 size:4244-shaders/vfx/tools_wireframe_pc_50_vs.vcs CRC:0003ecbe88 size:13189+shaders/vfx/tools_wireframe_pc_50_features.vcs CRC:00ceed6095 size:2194+shaders/vfx/tools_wireframe_pc_50_gs.vcs CRC:0018cb8385 size:3253+shaders/vfx/tools_wireframe_pc_50_ps.vcs CRC:008887a885 size:4244+shaders/vfx/tools_wireframe_pc_50_vs.vcs CRC:00d3c4362b size:13189 shaders/vfx/upsample.ini CRC:0000000000 size:0 shaders/vfx/upsample_pc_50_features.vcs CRC:007910fb4a size:1554 shaders/vfx/upsample_pc_50_ps.vcs CRC:000dafda7a size:1834game/csgo/shaders_vulkan_dir.txt
modified • +233 / -233 • changes: 466
Show patch
@@ -1,10 +1,10 @@ shaders/vfx/bilateral_upsample.ini CRC:0000000000 size:0-shaders/vfx/bilateral_upsample_vulkan_50_features.vcs CRC:0034e7463f size:1746-shaders/vfx/bilateral_upsample_vulkan_50_ps.vcs CRC:007268d31b size:3399+shaders/vfx/bilateral_upsample_vulkan_50_features.vcs CRC:006c4f6911 size:1762+shaders/vfx/bilateral_upsample_vulkan_50_ps.vcs CRC:004520b06b size:3399 shaders/vfx/bilateral_upsample_vulkan_50_vs.vcs CRC:008ce38aea size:2180 shaders/vfx/bloom_cs.ini CRC:0000000000 size:0-shaders/vfx/bloom_cs_vulkan_50_cs.vcs CRC:002fc6f99e size:9179-shaders/vfx/bloom_cs_vulkan_50_features.vcs CRC:008fd509b8 size:2018+shaders/vfx/bloom_cs_vulkan_50_cs.vcs CRC:00a2b0bcb2 size:9165+shaders/vfx/bloom_cs_vulkan_50_features.vcs CRC:0074832d4b size:2018 shaders/vfx/blur.ini CRC:0000000000 size:0 shaders/vfx/blur_vulkan_50_features.vcs CRC:001ea646d8 size:2098 shaders/vfx/blur_vulkan_50_ps.vcs CRC:00ee532d85 size:14512@@ -18,10 +18,10 @@ shaders/vfx/bomb_blast_vulkan_50_features.vcs CRC:00626f06ee size:1730 shaders/vfx/bomb_blast_vulkan_50_ps.vcs CRC:00b3a844da size:3535 shaders/vfx/bomb_blast_vulkan_50_vs.vcs CRC:006dfb6be5 size:1999 shaders/vfx/cables.ini CRC:0000000000 size:0-shaders/vfx/cables_vulkan_50_features.vcs CRC:004d766b28 size:4770-shaders/vfx/cables_vulkan_50_ps.vcs CRC:003d82aa0f size:468151-shaders/vfx/cables_vulkan_50_psrs.vcs CRC:00ebbb81fb size:3266-shaders/vfx/cables_vulkan_50_vs.vcs CRC:000be2f528 size:24522+shaders/vfx/cables_vulkan_50_features.vcs CRC:00ab9038a5 size:4770+shaders/vfx/cables_vulkan_50_ps.vcs CRC:00be5fca2d size:469626+shaders/vfx/cables_vulkan_50_psrs.vcs CRC:00b935a061 size:3282+shaders/vfx/cables_vulkan_50_vs.vcs CRC:001c096931 size:24522 shaders/vfx/cs_color_picker.ini CRC:0000000000 size:0 shaders/vfx/cs_color_picker_vulkan_50_features.vcs CRC:00b8399ca8 size:1394 shaders/vfx/cs_color_picker_vulkan_50_ps.vcs CRC:00d06198b4 size:2156@@ -31,30 +31,30 @@ shaders/vfx/csgo_alpha_immunity_vulkan_50_features.vcs CRC:0028b20085 size:1698 shaders/vfx/csgo_alpha_immunity_vulkan_50_ps.vcs CRC:00bba81630 size:2112 shaders/vfx/csgo_alpha_immunity_vulkan_50_vs.vcs CRC:009570e692 size:2025 shaders/vfx/csgo_beachfoam.ini CRC:0000000000 size:0-shaders/vfx/csgo_beachfoam_vulkan_50_features.vcs CRC:0042459477 size:3362-shaders/vfx/csgo_beachfoam_vulkan_50_ps.vcs CRC:0059bcc5ae size:5679-shaders/vfx/csgo_beachfoam_vulkan_50_psrs.vcs CRC:00a641f69c size:1826-shaders/vfx/csgo_beachfoam_vulkan_50_vs.vcs CRC:007124f218 size:9567+shaders/vfx/csgo_beachfoam_vulkan_50_features.vcs CRC:00eddccc46 size:3362+shaders/vfx/csgo_beachfoam_vulkan_50_ps.vcs CRC:00dad110f1 size:5696+shaders/vfx/csgo_beachfoam_vulkan_50_psrs.vcs CRC:0024b3b21e size:1826+shaders/vfx/csgo_beachfoam_vulkan_50_vs.vcs CRC:00e9cdc158 size:9567 shaders/vfx/csgo_black_unlit.ini CRC:0000000000 size:0-shaders/vfx/csgo_black_unlit_vulkan_50_features.vcs CRC:00d81e1a69 size:2722-shaders/vfx/csgo_black_unlit_vulkan_50_ps.vcs CRC:0066be1a67 size:7780-shaders/vfx/csgo_black_unlit_vulkan_50_psrs.vcs CRC:000a9a08e4 size:1794-shaders/vfx/csgo_black_unlit_vulkan_50_vs.vcs CRC:0036bfea6d size:4252+shaders/vfx/csgo_black_unlit_vulkan_50_features.vcs CRC:0060b58227 size:2738+shaders/vfx/csgo_black_unlit_vulkan_50_ps.vcs CRC:0005bcdbdc size:7778+shaders/vfx/csgo_black_unlit_vulkan_50_psrs.vcs CRC:005a2ae455 size:1794+shaders/vfx/csgo_black_unlit_vulkan_50_vs.vcs CRC:004dc685f2 size:4268 shaders/vfx/csgo_character.ini CRC:0000000000 size:0-shaders/vfx/csgo_character_vulkan_50_features.vcs CRC:0077791be4 size:8834-shaders/vfx/csgo_character_vulkan_50_ps.vcs CRC:009d642f4c size:303670574-shaders/vfx/csgo_character_vulkan_50_psrs.vcs CRC:00a3d5d6ad size:3442-shaders/vfx/csgo_character_vulkan_50_vs.vcs CRC:00cb74521e size:1093042+shaders/vfx/csgo_character_vulkan_50_features.vcs CRC:00ae484612 size:8850+shaders/vfx/csgo_character_vulkan_50_ps.vcs CRC:002718ee14 size:330897636+shaders/vfx/csgo_character_vulkan_50_psrs.vcs CRC:008ca7d3f2 size:3442+shaders/vfx/csgo_character_vulkan_50_vs.vcs CRC:006906d9d6 size:1119517 shaders/vfx/csgo_complex.ini CRC:0000000000 size:0-shaders/vfx/csgo_complex_vulkan_50_features.vcs CRC:00630bac82 size:7266-shaders/vfx/csgo_complex_vulkan_50_ps.vcs CRC:00aeb3e3ec size:38046739+shaders/vfx/csgo_complex_vulkan_50_features.vcs CRC:00890420a7 size:7266+shaders/vfx/csgo_complex_vulkan_50_ps.vcs CRC:00553e8768 size:38256682 shaders/vfx/csgo_complex_vulkan_50_psrs.vcs CRC:00492a4b95 size:3218-shaders/vfx/csgo_complex_vulkan_50_vs.vcs CRC:00b1df1fd8 size:226190-shaders/vfx/csgo_complex_vulkan_60_features.vcs CRC:009e37806b size:7314-shaders/vfx/csgo_complex_vulkan_60_ps.vcs CRC:00aeb3e3ec size:38046739+shaders/vfx/csgo_complex_vulkan_50_vs.vcs CRC:00de035e9e size:226230+shaders/vfx/csgo_complex_vulkan_60_features.vcs CRC:004222c157 size:7346+shaders/vfx/csgo_complex_vulkan_60_ps.vcs CRC:00553e8768 size:38256682 shaders/vfx/csgo_complex_vulkan_60_psrs.vcs CRC:00492a4b95 size:3218-shaders/vfx/csgo_complex_vulkan_60_rtx.vcs CRC:00c671f06f size:33684546-shaders/vfx/csgo_complex_vulkan_60_vs.vcs CRC:00b1df1fd8 size:226190+shaders/vfx/csgo_complex_vulkan_60_rtx.vcs CRC:00aa19b314 size:33683976+shaders/vfx/csgo_complex_vulkan_60_vs.vcs CRC:00de035e9e size:226230 shaders/vfx/csgo_composite_generic.ini CRC:0000000000 size:0 shaders/vfx/csgo_composite_generic_vulkan_50_features.vcs CRC:0056569b3f size:1778 shaders/vfx/csgo_composite_generic_vulkan_50_ps.vcs CRC:008b5c42bc size:2225@@ -77,125 +77,125 @@ shaders/vfx/csgo_crosshair_vulkan_50_ps.vcs CRC:00ca2b509e size:5056 shaders/vfx/csgo_crosshair_vulkan_50_vs.vcs CRC:0088663ff7 size:1836 shaders/vfx/csgo_customglove.ini CRC:0000000000 size:0 shaders/vfx/csgo_customglove_preview.ini CRC:0000000000 size:0-shaders/vfx/csgo_customglove_preview_vulkan_50_features.vcs CRC:00af9139ca size:9810-shaders/vfx/csgo_customglove_preview_vulkan_50_ps.vcs CRC:00e94cf300 size:146188-shaders/vfx/csgo_customglove_preview_vulkan_50_psrs.vcs CRC:009b036760 size:1874-shaders/vfx/csgo_customglove_preview_vulkan_50_vs.vcs CRC:0006f49962 size:11346-shaders/vfx/csgo_customglove_vulkan_50_features.vcs CRC:00c3279f1f size:11618-shaders/vfx/csgo_customglove_vulkan_50_ps.vcs CRC:0097d23de7 size:73153+shaders/vfx/csgo_customglove_preview_vulkan_50_features.vcs CRC:0097345d89 size:9810+shaders/vfx/csgo_customglove_preview_vulkan_50_ps.vcs CRC:006f04de3f size:146028+shaders/vfx/csgo_customglove_preview_vulkan_50_psrs.vcs CRC:0076bdde45 size:1874+shaders/vfx/csgo_customglove_preview_vulkan_50_vs.vcs CRC:009adc1288 size:11346+shaders/vfx/csgo_customglove_vulkan_50_features.vcs CRC:00d8c41934 size:11618+shaders/vfx/csgo_customglove_vulkan_50_ps.vcs CRC:0017d1223e size:73172 shaders/vfx/csgo_customglove_vulkan_50_vs.vcs CRC:007eb65bcc size:4297 shaders/vfx/csgo_customweapon.ini CRC:0000000000 size:0-shaders/vfx/csgo_customweapon_vulkan_50_features.vcs CRC:00d51eb813 size:6722-shaders/vfx/csgo_customweapon_vulkan_50_ps.vcs CRC:00c2affc82 size:5830324+shaders/vfx/csgo_customweapon_vulkan_50_features.vcs CRC:00a1837ffb size:6722+shaders/vfx/csgo_customweapon_vulkan_50_ps.vcs CRC:001f3bf62e size:5830414 shaders/vfx/csgo_customweapon_vulkan_50_vs.vcs CRC:00f53b5243 size:4126 shaders/vfx/csgo_decal_renderer.ini CRC:0000000000 size:0-shaders/vfx/csgo_decal_renderer_vulkan_50_features.vcs CRC:00fc08a890 size:2050-shaders/vfx/csgo_decal_renderer_vulkan_50_ps.vcs CRC:001f7f2202 size:2655-shaders/vfx/csgo_decal_renderer_vulkan_50_vs.vcs CRC:00bfe26b8b size:4346-shaders/vfx/csgo_decal_renderer_vulkan_60_features.vcs CRC:00fc08a890 size:2050-shaders/vfx/csgo_decal_renderer_vulkan_60_ps.vcs CRC:001f7f2202 size:2655-shaders/vfx/csgo_decal_renderer_vulkan_60_vs.vcs CRC:00bfe26b8b size:4346+shaders/vfx/csgo_decal_renderer_vulkan_50_features.vcs CRC:002135ce4f size:2050+shaders/vfx/csgo_decal_renderer_vulkan_50_ps.vcs CRC:00ad311429 size:2659+shaders/vfx/csgo_decal_renderer_vulkan_50_vs.vcs CRC:003923c6e6 size:4346+shaders/vfx/csgo_decal_renderer_vulkan_60_features.vcs CRC:002135ce4f size:2050+shaders/vfx/csgo_decal_renderer_vulkan_60_ps.vcs CRC:00ad311429 size:2659+shaders/vfx/csgo_decal_renderer_vulkan_60_vs.vcs CRC:003923c6e6 size:4346 shaders/vfx/csgo_decalmodulate.ini CRC:0000000000 size:0-shaders/vfx/csgo_decalmodulate_vulkan_50_features.vcs CRC:00faaad0e8 size:3490-shaders/vfx/csgo_decalmodulate_vulkan_50_ps.vcs CRC:00aa7c7b98 size:5100-shaders/vfx/csgo_decalmodulate_vulkan_50_psrs.vcs CRC:00c3bbd8e9 size:1890-shaders/vfx/csgo_decalmodulate_vulkan_50_vs.vcs CRC:001717093e size:10809+shaders/vfx/csgo_decalmodulate_vulkan_50_features.vcs CRC:00c666124f size:3490+shaders/vfx/csgo_decalmodulate_vulkan_50_ps.vcs CRC:004b9e3fad size:5115+shaders/vfx/csgo_decalmodulate_vulkan_50_psrs.vcs CRC:007c80e187 size:1906+shaders/vfx/csgo_decalmodulate_vulkan_50_vs.vcs CRC:003451da03 size:10809 shaders/vfx/csgo_depth_only.ini CRC:0000000000 size:0-shaders/vfx/csgo_depth_only_vulkan_50_features.vcs CRC:0002f5c58c size:3330-shaders/vfx/csgo_depth_only_vulkan_50_ps.vcs CRC:00f96d8bcb size:5996-shaders/vfx/csgo_depth_only_vulkan_50_vs.vcs CRC:007d069b1d size:8045+shaders/vfx/csgo_depth_only_vulkan_50_features.vcs CRC:00d2e8d035 size:3330+shaders/vfx/csgo_depth_only_vulkan_50_ps.vcs CRC:00432726d2 size:5993+shaders/vfx/csgo_depth_only_vulkan_50_vs.vcs CRC:00521597e3 size:8042 shaders/vfx/csgo_dronecam.ini CRC:0000000000 size:0 shaders/vfx/csgo_dronecam_vulkan_50_features.vcs CRC:00c669bb55 size:1778 shaders/vfx/csgo_dronecam_vulkan_50_ps.vcs CRC:00dc35e479 size:2912 shaders/vfx/csgo_dronecam_vulkan_50_vs.vcs CRC:0058e8989f size:1446 shaders/vfx/csgo_effects.ini CRC:0000000000 size:0-shaders/vfx/csgo_effects_vulkan_50_features.vcs CRC:006fdb163e size:4290-shaders/vfx/csgo_effects_vulkan_50_ps.vcs CRC:008c800f8d size:144310-shaders/vfx/csgo_effects_vulkan_50_psrs.vcs CRC:00e60f45eb size:2242-shaders/vfx/csgo_effects_vulkan_50_vs.vcs CRC:009cff39ef size:10181+shaders/vfx/csgo_effects_vulkan_50_features.vcs CRC:0011102306 size:4290+shaders/vfx/csgo_effects_vulkan_50_ps.vcs CRC:00ab01f065 size:144444+shaders/vfx/csgo_effects_vulkan_50_psrs.vcs CRC:00153d4526 size:2242+shaders/vfx/csgo_effects_vulkan_50_vs.vcs CRC:00d17fbaf7 size:10181 shaders/vfx/csgo_environment.ini CRC:0000000000 size:0 shaders/vfx/csgo_environment_blend.ini CRC:0000000000 size:0-shaders/vfx/csgo_environment_blend_vulkan_50_features.vcs CRC:0043310d45 size:10706-shaders/vfx/csgo_environment_blend_vulkan_50_ps.vcs CRC:00b6d813c9 size:27563582-shaders/vfx/csgo_environment_blend_vulkan_50_psrs.vcs CRC:00ad09f764 size:2530-shaders/vfx/csgo_environment_blend_vulkan_50_vs.vcs CRC:007bfca819 size:188644-shaders/vfx/csgo_environment_blend_vulkan_60_features.vcs CRC:00b201becc size:10770-shaders/vfx/csgo_environment_blend_vulkan_60_ps.vcs CRC:00b6d813c9 size:27563582-shaders/vfx/csgo_environment_blend_vulkan_60_psrs.vcs CRC:00ad09f764 size:2530-shaders/vfx/csgo_environment_blend_vulkan_60_rtx.vcs CRC:00dd9a5a9a size:5354941-shaders/vfx/csgo_environment_blend_vulkan_60_vs.vcs CRC:007bfca819 size:188644-shaders/vfx/csgo_environment_vulkan_50_features.vcs CRC:00341957b3 size:6338-shaders/vfx/csgo_environment_vulkan_50_ps.vcs CRC:00374df898 size:836237-shaders/vfx/csgo_environment_vulkan_50_psrs.vcs CRC:00858646dd size:2466-shaders/vfx/csgo_environment_vulkan_50_vs.vcs CRC:00bf6a438d size:44071-shaders/vfx/csgo_environment_vulkan_60_features.vcs CRC:0079ec8e43 size:6402-shaders/vfx/csgo_environment_vulkan_60_ps.vcs CRC:00374df898 size:836237-shaders/vfx/csgo_environment_vulkan_60_psrs.vcs CRC:00858646dd size:2466-shaders/vfx/csgo_environment_vulkan_60_rtx.vcs CRC:00c8cdb234 size:283892-shaders/vfx/csgo_environment_vulkan_60_vs.vcs CRC:00bf6a438d size:44071+shaders/vfx/csgo_environment_blend_vulkan_50_features.vcs CRC:003f5aa638 size:11170+shaders/vfx/csgo_environment_blend_vulkan_50_ps.vcs CRC:005bdad6e6 size:115972608+shaders/vfx/csgo_environment_blend_vulkan_50_psrs.vcs CRC:00abb56a27 size:2786+shaders/vfx/csgo_environment_blend_vulkan_50_vs.vcs CRC:003065f4ae size:328208+shaders/vfx/csgo_environment_blend_vulkan_60_features.vcs CRC:003cfdb60a size:11250+shaders/vfx/csgo_environment_blend_vulkan_60_ps.vcs CRC:005bdad6e6 size:115972608+shaders/vfx/csgo_environment_blend_vulkan_60_psrs.vcs CRC:00abb56a27 size:2786+shaders/vfx/csgo_environment_blend_vulkan_60_rtx.vcs CRC:00a39a5822 size:7607916+shaders/vfx/csgo_environment_blend_vulkan_60_vs.vcs CRC:003065f4ae size:328208+shaders/vfx/csgo_environment_vulkan_50_features.vcs CRC:0060e5d2fc size:6722+shaders/vfx/csgo_environment_vulkan_50_ps.vcs CRC:0039e0e408 size:3254315+shaders/vfx/csgo_environment_vulkan_50_psrs.vcs CRC:0018a9c272 size:2610+shaders/vfx/csgo_environment_vulkan_50_vs.vcs CRC:009377eede size:74760+shaders/vfx/csgo_environment_vulkan_60_features.vcs CRC:006fd1c78f size:6834+shaders/vfx/csgo_environment_vulkan_60_ps.vcs CRC:0039e0e408 size:3254315+shaders/vfx/csgo_environment_vulkan_60_psrs.vcs CRC:0018a9c272 size:2610+shaders/vfx/csgo_environment_vulkan_60_rtx.vcs CRC:00bcc7849d size:387892+shaders/vfx/csgo_environment_vulkan_60_vs.vcs CRC:009377eede size:74760 shaders/vfx/csgo_eyeball.ini CRC:0000000000 size:0-shaders/vfx/csgo_eyeball_vulkan_50_features.vcs CRC:0064906348 size:4018-shaders/vfx/csgo_eyeball_vulkan_50_ps.vcs CRC:00d0f7c0dd size:82717-shaders/vfx/csgo_eyeball_vulkan_50_psrs.vcs CRC:00b0972c53 size:1650-shaders/vfx/csgo_eyeball_vulkan_50_vs.vcs CRC:0051aae988 size:17919+shaders/vfx/csgo_eyeball_vulkan_50_features.vcs CRC:005ec2c0ef size:4018+shaders/vfx/csgo_eyeball_vulkan_50_ps.vcs CRC:006432aaa9 size:82567+shaders/vfx/csgo_eyeball_vulkan_50_psrs.vcs CRC:00072dbbdc size:1650+shaders/vfx/csgo_eyeball_vulkan_50_vs.vcs CRC:00416b81a3 size:17919 shaders/vfx/csgo_flashbang_overlay.ini CRC:0000000000 size:0-shaders/vfx/csgo_flashbang_overlay_vulkan_50_features.vcs CRC:003f6af5d8 size:3570-shaders/vfx/csgo_flashbang_overlay_vulkan_50_ps.vcs CRC:0065eef858 size:3872-shaders/vfx/csgo_flashbang_overlay_vulkan_50_psrs.vcs CRC:00c63abcc9 size:1810-shaders/vfx/csgo_flashbang_overlay_vulkan_50_vs.vcs CRC:0013a96568 size:11088+shaders/vfx/csgo_flashbang_overlay_vulkan_50_features.vcs CRC:00970522e2 size:3586+shaders/vfx/csgo_flashbang_overlay_vulkan_50_ps.vcs CRC:00fd5fca89 size:3892+shaders/vfx/csgo_flashbang_overlay_vulkan_50_psrs.vcs CRC:00cf9557be size:1810+shaders/vfx/csgo_flashbang_overlay_vulkan_50_vs.vcs CRC:0049a12716 size:11088 shaders/vfx/csgo_foliage.ini CRC:0000000000 size:0-shaders/vfx/csgo_foliage_vulkan_50_features.vcs CRC:001b04a572 size:6514-shaders/vfx/csgo_foliage_vulkan_50_ps.vcs CRC:00ef5d5256 size:2184977+shaders/vfx/csgo_foliage_vulkan_50_features.vcs CRC:008ba3926a size:6514+shaders/vfx/csgo_foliage_vulkan_50_ps.vcs CRC:00fecfed27 size:2184374 shaders/vfx/csgo_foliage_vulkan_50_psrs.vcs CRC:00be28e494 size:2386-shaders/vfx/csgo_foliage_vulkan_50_vs.vcs CRC:007ff23472 size:174138-shaders/vfx/csgo_foliage_vulkan_60_features.vcs CRC:00d0d3c917 size:6578-shaders/vfx/csgo_foliage_vulkan_60_ps.vcs CRC:00ef5d5256 size:2184977+shaders/vfx/csgo_foliage_vulkan_50_vs.vcs CRC:001e5428b8 size:174151+shaders/vfx/csgo_foliage_vulkan_60_features.vcs CRC:00fa09b6f2 size:6610+shaders/vfx/csgo_foliage_vulkan_60_ps.vcs CRC:00fecfed27 size:2184374 shaders/vfx/csgo_foliage_vulkan_60_psrs.vcs CRC:00be28e494 size:2386-shaders/vfx/csgo_foliage_vulkan_60_rtx.vcs CRC:004e8182ae size:175658-shaders/vfx/csgo_foliage_vulkan_60_vs.vcs CRC:007ff23472 size:174138+shaders/vfx/csgo_foliage_vulkan_60_rtx.vcs CRC:0067697b04 size:175693+shaders/vfx/csgo_foliage_vulkan_60_vs.vcs CRC:001e5428b8 size:174151 shaders/vfx/csgo_glass.ini CRC:0000000000 size:0-shaders/vfx/csgo_glass_vulkan_50_features.vcs CRC:0095195879 size:4306-shaders/vfx/csgo_glass_vulkan_50_ps.vcs CRC:0080be49e6 size:494986+shaders/vfx/csgo_glass_vulkan_50_features.vcs CRC:000df7f838 size:4306+shaders/vfx/csgo_glass_vulkan_50_ps.vcs CRC:00e2a4264c size:495012 shaders/vfx/csgo_glass_vulkan_50_psrs.vcs CRC:006950f0be size:2866-shaders/vfx/csgo_glass_vulkan_50_vs.vcs CRC:006772c139 size:91019+shaders/vfx/csgo_glass_vulkan_50_vs.vcs CRC:00040c7782 size:91019 shaders/vfx/csgo_grenade_camera.ini CRC:0000000000 size:0-shaders/vfx/csgo_grenade_camera_vulkan_50_features.vcs CRC:000c7874cb size:1890-shaders/vfx/csgo_grenade_camera_vulkan_50_ps.vcs CRC:0040f1b4ad size:3525+shaders/vfx/csgo_grenade_camera_vulkan_50_features.vcs CRC:006a5f3554 size:1890+shaders/vfx/csgo_grenade_camera_vulkan_50_ps.vcs CRC:00456a1056 size:3524 shaders/vfx/csgo_grenade_camera_vulkan_50_vs.vcs CRC:00559fe5e5 size:1460 shaders/vfx/csgo_legs_prepass.ini CRC:0000000000 size:0-shaders/vfx/csgo_legs_prepass_vulkan_50_features.vcs CRC:00122f60a9 size:3138-shaders/vfx/csgo_legs_prepass_vulkan_50_ps.vcs CRC:002aa98770 size:2343-shaders/vfx/csgo_legs_prepass_vulkan_50_vs.vcs CRC:0065787d44 size:12409+shaders/vfx/csgo_legs_prepass_vulkan_50_features.vcs CRC:001c12d94c size:3138+shaders/vfx/csgo_legs_prepass_vulkan_50_ps.vcs CRC:0072c655ee size:2343+shaders/vfx/csgo_legs_prepass_vulkan_50_vs.vcs CRC:00b938db09 size:12409 shaders/vfx/csgo_lightmapped_4wayblend.ini CRC:0000000000 size:0-shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_features.vcs CRC:00c2af0c78 size:4674-shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_ps.vcs CRC:00511aaecc size:450955-shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_psrs.vcs CRC:003c1c6177 size:2050-shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_vs.vcs CRC:00ae1bfebe size:39241+shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_features.vcs CRC:0015411f6f size:4690+shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_ps.vcs CRC:0055dd51d6 size:453810+shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_psrs.vcs CRC:00fe2f5b08 size:2050+shaders/vfx/csgo_lightmapped_4wayblend_vulkan_50_vs.vcs CRC:0010a1f81e size:39257 shaders/vfx/csgo_lightmappedgeneric.ini CRC:0000000000 size:0-shaders/vfx/csgo_lightmappedgeneric_vulkan_50_features.vcs CRC:00ba156f4f size:6882-shaders/vfx/csgo_lightmappedgeneric_vulkan_50_ps.vcs CRC:00749f620d size:16761023-shaders/vfx/csgo_lightmappedgeneric_vulkan_50_psrs.vcs CRC:00f92984a4 size:4050-shaders/vfx/csgo_lightmappedgeneric_vulkan_50_vs.vcs CRC:00bceb2d3f size:391702-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_features.vcs CRC:00dd6e7ab1 size:6946-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_ps.vcs CRC:00749f620d size:16761023-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_psrs.vcs CRC:00f92984a4 size:4050-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_rtx.vcs CRC:008c3098ce size:1503471-shaders/vfx/csgo_lightmappedgeneric_vulkan_60_vs.vcs CRC:00bceb2d3f size:391702+shaders/vfx/csgo_lightmappedgeneric_vulkan_50_features.vcs CRC:00bea036be size:6914+shaders/vfx/csgo_lightmappedgeneric_vulkan_50_ps.vcs CRC:00fd25f014 size:16875416+shaders/vfx/csgo_lightmappedgeneric_vulkan_50_psrs.vcs CRC:00491764d5 size:4050+shaders/vfx/csgo_lightmappedgeneric_vulkan_50_vs.vcs CRC:005b4144a5 size:552509+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_features.vcs CRC:004cccb30a size:6994+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_ps.vcs CRC:00fd25f014 size:16875416+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_psrs.vcs CRC:00491764d5 size:4050+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_rtx.vcs CRC:003c0c4fd4 size:1503539+shaders/vfx/csgo_lightmappedgeneric_vulkan_60_vs.vcs CRC:005b4144a5 size:552509 shaders/vfx/csgo_moondome.ini CRC:0000000000 size:0-shaders/vfx/csgo_moondome_vulkan_50_features.vcs CRC:00a89e5da9 size:3730-shaders/vfx/csgo_moondome_vulkan_50_ps.vcs CRC:00a0f8a1ef size:9076-shaders/vfx/csgo_moondome_vulkan_50_psrs.vcs CRC:009f55912f size:1762-shaders/vfx/csgo_moondome_vulkan_50_vs.vcs CRC:007124f218 size:9567+shaders/vfx/csgo_moondome_vulkan_50_features.vcs CRC:008c5895b0 size:3730+shaders/vfx/csgo_moondome_vulkan_50_ps.vcs CRC:0018cdd32d size:9094+shaders/vfx/csgo_moondome_vulkan_50_psrs.vcs CRC:00e49eec17 size:1762+shaders/vfx/csgo_moondome_vulkan_50_vs.vcs CRC:00e9cdc158 size:9567 shaders/vfx/csgo_panolayer_rt.ini CRC:0000000000 size:0-shaders/vfx/csgo_panolayer_rt_vulkan_50_features.vcs CRC:005bac7ecc size:1922-shaders/vfx/csgo_panolayer_rt_vulkan_50_ps.vcs CRC:00c470dd4b size:2655-shaders/vfx/csgo_panolayer_rt_vulkan_50_psrs.vcs CRC:00bcb37f20 size:1586-shaders/vfx/csgo_panolayer_rt_vulkan_50_vs.vcs CRC:0093e19af8 size:1780+shaders/vfx/csgo_panolayer_rt_vulkan_50_features.vcs CRC:00f9456bca size:1922+shaders/vfx/csgo_panolayer_rt_vulkan_50_ps.vcs CRC:0064d32410 size:2655+shaders/vfx/csgo_panolayer_rt_vulkan_50_psrs.vcs CRC:0029a0cc5e size:1586+shaders/vfx/csgo_panolayer_rt_vulkan_50_vs.vcs CRC:00360851bc size:1780 shaders/vfx/csgo_projected_decals.ini CRC:0000000000 size:0-shaders/vfx/csgo_projected_decals_vulkan_50_features.vcs CRC:0063b1a152 size:5442-shaders/vfx/csgo_projected_decals_vulkan_50_ps.vcs CRC:00b3fd9ae1 size:50148908-shaders/vfx/csgo_projected_decals_vulkan_50_psrs.vcs CRC:002ab260b2 size:2786-shaders/vfx/csgo_projected_decals_vulkan_50_vs.vcs CRC:005efb3ea1 size:8706+shaders/vfx/csgo_projected_decals_vulkan_50_features.vcs CRC:0071b927ee size:5442+shaders/vfx/csgo_projected_decals_vulkan_50_ps.vcs CRC:00c156ca58 size:50519683+shaders/vfx/csgo_projected_decals_vulkan_50_psrs.vcs CRC:00ad2bd92b size:2786+shaders/vfx/csgo_projected_decals_vulkan_50_vs.vcs CRC:005d7d90f8 size:8706 shaders/vfx/csgo_refract.ini CRC:0000000000 size:0 shaders/vfx/csgo_refract_vulkan_50_features.vcs CRC:00b4d537c6 size:2594 shaders/vfx/csgo_refract_vulkan_50_ps.vcs CRC:00929c3f67 size:21805@@ -206,39 +206,39 @@ shaders/vfx/csgo_screenspace_zone_vulkan_50_ps.vcs CRC:00e209cae1 size:4696 shaders/vfx/csgo_screenspace_zone_vulkan_50_vs.vcs CRC:0058e8989f size:1446 shaders/vfx/csgo_simple.ini CRC:0000000000 size:0 shaders/vfx/csgo_simple_2way_blend.ini CRC:0000000000 size:0-shaders/vfx/csgo_simple_2way_blend_vulkan_50_features.vcs CRC:003af486ec size:4722-shaders/vfx/csgo_simple_2way_blend_vulkan_50_ps.vcs CRC:007591ecb8 size:305198+shaders/vfx/csgo_simple_2way_blend_vulkan_50_features.vcs CRC:0061a58d0c size:4738+shaders/vfx/csgo_simple_2way_blend_vulkan_50_ps.vcs CRC:009575da12 size:306675 shaders/vfx/csgo_simple_2way_blend_vulkan_50_psrs.vcs CRC:0013b79f0e size:1874-shaders/vfx/csgo_simple_2way_blend_vulkan_50_vs.vcs CRC:006f726b68 size:24693-shaders/vfx/csgo_simple_2way_blend_vulkan_60_features.vcs CRC:002f614caa size:4802-shaders/vfx/csgo_simple_2way_blend_vulkan_60_ps.vcs CRC:007591ecb8 size:305198+shaders/vfx/csgo_simple_2way_blend_vulkan_50_vs.vcs CRC:0062360dd3 size:24693+shaders/vfx/csgo_simple_2way_blend_vulkan_60_features.vcs CRC:00c56b620c size:4818+shaders/vfx/csgo_simple_2way_blend_vulkan_60_ps.vcs CRC:009575da12 size:306675 shaders/vfx/csgo_simple_2way_blend_vulkan_60_psrs.vcs CRC:0013b79f0e size:1874-shaders/vfx/csgo_simple_2way_blend_vulkan_60_rtx.vcs CRC:0041e04343 size:69804-shaders/vfx/csgo_simple_2way_blend_vulkan_60_vs.vcs CRC:006f726b68 size:24693+shaders/vfx/csgo_simple_2way_blend_vulkan_60_rtx.vcs CRC:0002d65eb6 size:69822+shaders/vfx/csgo_simple_2way_blend_vulkan_60_vs.vcs CRC:0062360dd3 size:24693 shaders/vfx/csgo_simple_3layer_parallax.ini CRC:0000000000 size:0-shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_features.vcs CRC:00126a679b size:4866-shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_ps.vcs CRC:001da3c613 size:3191670+shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_features.vcs CRC:006b3cd645 size:4866+shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_ps.vcs CRC:0096efe05f size:3190570 shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_psrs.vcs CRC:00ec6ef90d size:1938-shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_vs.vcs CRC:00d1b9d962 size:21931+shaders/vfx/csgo_simple_3layer_parallax_vulkan_50_vs.vcs CRC:0068bf135b size:21948 shaders/vfx/csgo_simple_liquid.ini CRC:0000000000 size:0-shaders/vfx/csgo_simple_liquid_vulkan_50_features.vcs CRC:00d51ad92c size:5890-shaders/vfx/csgo_simple_liquid_vulkan_50_ps.vcs CRC:00e86b59df size:1418572-shaders/vfx/csgo_simple_liquid_vulkan_50_psrs.vcs CRC:009897a715 size:1826-shaders/vfx/csgo_simple_liquid_vulkan_50_vs.vcs CRC:004ccc6e87 size:32154-shaders/vfx/csgo_simple_vulkan_50_features.vcs CRC:00a1a7b65f size:4658-shaders/vfx/csgo_simple_vulkan_50_ps.vcs CRC:00c9e1f0ac size:275662+shaders/vfx/csgo_simple_liquid_vulkan_50_features.vcs CRC:0027957c27 size:5954+shaders/vfx/csgo_simple_liquid_vulkan_50_ps.vcs CRC:009825e0fe size:1574032+shaders/vfx/csgo_simple_liquid_vulkan_50_psrs.vcs CRC:007031f32d size:1842+shaders/vfx/csgo_simple_liquid_vulkan_50_vs.vcs CRC:008fc54866 size:34264+shaders/vfx/csgo_simple_vulkan_50_features.vcs CRC:00186205c6 size:4658+shaders/vfx/csgo_simple_vulkan_50_ps.vcs CRC:009d3a6e10 size:279137 shaders/vfx/csgo_simple_vulkan_50_psrs.vcs CRC:00ca11e680 size:2130-shaders/vfx/csgo_simple_vulkan_50_vs.vcs CRC:004c6c5454 size:24231+shaders/vfx/csgo_simple_vulkan_50_vs.vcs CRC:00ff5cdbe3 size:24231 shaders/vfx/csgo_static_overlay.ini CRC:0000000000 size:0-shaders/vfx/csgo_static_overlay_vulkan_50_features.vcs CRC:007155fe1d size:7554-shaders/vfx/csgo_static_overlay_vulkan_50_ps.vcs CRC:0095e7c840 size:841185-shaders/vfx/csgo_static_overlay_vulkan_50_psrs.vcs CRC:00a626d5f8 size:2610-shaders/vfx/csgo_static_overlay_vulkan_50_vs.vcs CRC:004abdc0fd size:128425+shaders/vfx/csgo_static_overlay_vulkan_50_features.vcs CRC:00af09c8a6 size:7602+shaders/vfx/csgo_static_overlay_vulkan_50_ps.vcs CRC:00afe553cd size:854052+shaders/vfx/csgo_static_overlay_vulkan_50_psrs.vcs CRC:003f43c7fb size:2610+shaders/vfx/csgo_static_overlay_vulkan_50_vs.vcs CRC:009893a3c6 size:134940 shaders/vfx/csgo_textile_layer.ini CRC:0000000000 size:0-shaders/vfx/csgo_textile_layer_vulkan_50_features.vcs CRC:00e3765279 size:7250-shaders/vfx/csgo_textile_layer_vulkan_50_ps.vcs CRC:0093df54b3 size:125181-shaders/vfx/csgo_textile_layer_vulkan_50_psrs.vcs CRC:00ace63e8c size:1858-shaders/vfx/csgo_textile_layer_vulkan_50_vs.vcs CRC:007ab564b2 size:9519+shaders/vfx/csgo_textile_layer_vulkan_50_features.vcs CRC:00755aa189 size:7250+shaders/vfx/csgo_textile_layer_vulkan_50_ps.vcs CRC:00b3a793c0 size:125192+shaders/vfx/csgo_textile_layer_vulkan_50_psrs.vcs CRC:00ff9799e7 size:1858+shaders/vfx/csgo_textile_layer_vulkan_50_vs.vcs CRC:00804173a2 size:9519 shaders/vfx/csgo_tools_shading_complexity.ini CRC:0000000000 size:0 shaders/vfx/csgo_tools_shading_complexity_vulkan_50_features.vcs CRC:000efc205f size:2178 shaders/vfx/csgo_tools_shading_complexity_vulkan_50_ps.vcs CRC:00f71e4a5f size:2958@@ -252,44 +252,44 @@ shaders/vfx/csgo_ui_texture_attribute_vulkan_50_features.vcs CRC:003dc34fc4 size shaders/vfx/csgo_ui_texture_attribute_vulkan_50_ps.vcs CRC:00763abeb6 size:1951 shaders/vfx/csgo_ui_texture_attribute_vulkan_50_vs.vcs CRC:00895145c7 size:1913 shaders/vfx/csgo_unlitgeneric.ini CRC:0000000000 size:0-shaders/vfx/csgo_unlitgeneric_vulkan_50_features.vcs CRC:00b6a22217 size:4834-shaders/vfx/csgo_unlitgeneric_vulkan_50_ps.vcs CRC:00195aa765 size:165657-shaders/vfx/csgo_unlitgeneric_vulkan_50_psrs.vcs CRC:0073277f05 size:3314-shaders/vfx/csgo_unlitgeneric_vulkan_50_vs.vcs CRC:008ffd87ab size:82692+shaders/vfx/csgo_unlitgeneric_vulkan_50_features.vcs CRC:009e0021fb size:4834+shaders/vfx/csgo_unlitgeneric_vulkan_50_ps.vcs CRC:0001fb23f8 size:165660+shaders/vfx/csgo_unlitgeneric_vulkan_50_psrs.vcs CRC:00b75836fd size:3314+shaders/vfx/csgo_unlitgeneric_vulkan_50_vs.vcs CRC:007e8fb39b size:82692 shaders/vfx/csgo_vertexlitgeneric.ini CRC:0000000000 size:0-shaders/vfx/csgo_vertexlitgeneric_vulkan_50_features.vcs CRC:001f291976 size:6450-shaders/vfx/csgo_vertexlitgeneric_vulkan_50_ps.vcs CRC:00f6dd496e size:17416926+shaders/vfx/csgo_vertexlitgeneric_vulkan_50_features.vcs CRC:004d5c9722 size:6466+shaders/vfx/csgo_vertexlitgeneric_vulkan_50_ps.vcs CRC:007280ca98 size:17528271 shaders/vfx/csgo_vertexlitgeneric_vulkan_50_psrs.vcs CRC:00fd658c92 size:3170-shaders/vfx/csgo_vertexlitgeneric_vulkan_50_vs.vcs CRC:0055600e60 size:111435-shaders/vfx/csgo_vertexlitgeneric_vulkan_60_features.vcs CRC:005df5ce66 size:6562-shaders/vfx/csgo_vertexlitgeneric_vulkan_60_ps.vcs CRC:00f6dd496e size:17416926+shaders/vfx/csgo_vertexlitgeneric_vulkan_50_vs.vcs CRC:00b54e216a size:111447+shaders/vfx/csgo_vertexlitgeneric_vulkan_60_features.vcs CRC:008793b1be size:6578+shaders/vfx/csgo_vertexlitgeneric_vulkan_60_ps.vcs CRC:007280ca98 size:17528271 shaders/vfx/csgo_vertexlitgeneric_vulkan_60_psrs.vcs CRC:00fd658c92 size:3170-shaders/vfx/csgo_vertexlitgeneric_vulkan_60_rtx.vcs CRC:00b4fbabc0 size:1640900-shaders/vfx/csgo_vertexlitgeneric_vulkan_60_vs.vcs CRC:0055600e60 size:111435+shaders/vfx/csgo_vertexlitgeneric_vulkan_60_rtx.vcs CRC:00afa4f05b size:1640912+shaders/vfx/csgo_vertexlitgeneric_vulkan_60_vs.vcs CRC:00b54e216a size:111447 shaders/vfx/csgo_volume_viewer.ini CRC:0000000000 size:0 shaders/vfx/csgo_volume_viewer_vulkan_50_features.vcs CRC:00bdb2e588 size:1794 shaders/vfx/csgo_volume_viewer_vulkan_50_ps.vcs CRC:004f16297b size:2623 shaders/vfx/csgo_volume_viewer_vulkan_50_vs.vcs CRC:003ad5dbf7 size:2212 shaders/vfx/csgo_water.ini CRC:0000000000 size:0 shaders/vfx/csgo_water_fancy.ini CRC:0000000000 size:0-shaders/vfx/csgo_water_fancy_vulkan_50_features.vcs CRC:00648c3eb7 size:6322-shaders/vfx/csgo_water_fancy_vulkan_50_ps.vcs CRC:005390fc96 size:4973780-shaders/vfx/csgo_water_fancy_vulkan_50_psrs.vcs CRC:00e4b067b7 size:2018-shaders/vfx/csgo_water_fancy_vulkan_50_vs.vcs CRC:009a0b3788 size:16890-shaders/vfx/csgo_water_vulkan_50_features.vcs CRC:0026f8c27f size:5234-shaders/vfx/csgo_water_vulkan_50_ps.vcs CRC:00dc7d753b size:3613802-shaders/vfx/csgo_water_vulkan_50_psrs.vcs CRC:0087a55d56 size:1954-shaders/vfx/csgo_water_vulkan_50_vs.vcs CRC:009b3981a9 size:18177+shaders/vfx/csgo_water_fancy_vulkan_50_features.vcs CRC:00817ab090 size:6322+shaders/vfx/csgo_water_fancy_vulkan_50_ps.vcs CRC:00bdaab92d size:5071389+shaders/vfx/csgo_water_fancy_vulkan_50_psrs.vcs CRC:0004f79ddd size:2034+shaders/vfx/csgo_water_fancy_vulkan_50_vs.vcs CRC:00526dcdb7 size:16890+shaders/vfx/csgo_water_vulkan_50_features.vcs CRC:0055be0083 size:5234+shaders/vfx/csgo_water_vulkan_50_ps.vcs CRC:00dca082c4 size:3626960+shaders/vfx/csgo_water_vulkan_50_psrs.vcs CRC:00c6817183 size:1954+shaders/vfx/csgo_water_vulkan_50_vs.vcs CRC:009a223088 size:18177 shaders/vfx/csgo_weapon.ini CRC:0000000000 size:0 shaders/vfx/csgo_weapon_sticker.ini CRC:0000000000 size:0-shaders/vfx/csgo_weapon_sticker_vulkan_50_features.vcs CRC:0013c0cbd5 size:4978-shaders/vfx/csgo_weapon_sticker_vulkan_50_ps.vcs CRC:00397cdafc size:112221-shaders/vfx/csgo_weapon_sticker_vulkan_50_psrs.vcs CRC:00080c9adc size:1586-shaders/vfx/csgo_weapon_sticker_vulkan_50_vs.vcs CRC:00d62fc43b size:11231-shaders/vfx/csgo_weapon_vulkan_50_features.vcs CRC:00b2403e78 size:10370-shaders/vfx/csgo_weapon_vulkan_50_ps.vcs CRC:00d6d02736 size:26972306-shaders/vfx/csgo_weapon_vulkan_50_psrs.vcs CRC:0013979893 size:2402-shaders/vfx/csgo_weapon_vulkan_50_vs.vcs CRC:00278060e0 size:40405+shaders/vfx/csgo_weapon_sticker_vulkan_50_features.vcs CRC:00cd71f0e6 size:4978+shaders/vfx/csgo_weapon_sticker_vulkan_50_ps.vcs CRC:003586b006 size:112369+shaders/vfx/csgo_weapon_sticker_vulkan_50_psrs.vcs CRC:00a6a7b43d size:1586+shaders/vfx/csgo_weapon_sticker_vulkan_50_vs.vcs CRC:0092514444 size:11231+shaders/vfx/csgo_weapon_vulkan_50_features.vcs CRC:0002d95f9c size:10418+shaders/vfx/csgo_weapon_vulkan_50_ps.vcs CRC:00d907281e size:28726062+shaders/vfx/csgo_weapon_vulkan_50_psrs.vcs CRC:005296c6b7 size:2402+shaders/vfx/csgo_weapon_vulkan_50_vs.vcs CRC:00c1b53691 size:42656 shaders/vfx/deferred_particle_shadows.ini CRC:0000000000 size:0 shaders/vfx/deferred_particle_shadows_vulkan_50_features.vcs CRC:00d44879f1 size:1682 shaders/vfx/deferred_particle_shadows_vulkan_50_ps.vcs CRC:00fe14e2e6 size:4683@@ -329,62 +329,62 @@ shaders/vfx/generate_decal_normals_vulkan_60_features.vcs CRC:008ef1de8c size:16 shaders/vfx/generate_decal_normals_vulkan_60_ps.vcs CRC:00f73eb457 size:2266 shaders/vfx/generate_decal_normals_vulkan_60_vs.vcs CRC:00cfe35899 size:1782 shaders/vfx/generic.ini CRC:0000000000 size:0-shaders/vfx/generic_vulkan_50_features.vcs CRC:00af504ec0 size:5074-shaders/vfx/generic_vulkan_50_ps.vcs CRC:00382b4727 size:1942579-shaders/vfx/generic_vulkan_50_psrs.vcs CRC:005f693504 size:3442-shaders/vfx/generic_vulkan_50_vs.vcs CRC:006b80d3bb size:25929+shaders/vfx/generic_vulkan_50_features.vcs CRC:00011ca969 size:5074+shaders/vfx/generic_vulkan_50_ps.vcs CRC:000fd1f725 size:1958547+shaders/vfx/generic_vulkan_50_psrs.vcs CRC:00896ac5fa size:3442+shaders/vfx/generic_vulkan_50_vs.vcs CRC:00ac19044a size:25929 shaders/vfx/grasstile.ini CRC:0000000000 size:0 shaders/vfx/grasstile_preview.ini CRC:0000000000 size:0 shaders/vfx/grasstile_preview_vulkan_50_features.vcs CRC:00f9a2db40 size:2162 shaders/vfx/grasstile_preview_vulkan_50_ps.vcs CRC:004836e56f size:3129 shaders/vfx/grasstile_preview_vulkan_50_vs.vcs CRC:0032b6d08f size:3078-shaders/vfx/grasstile_vulkan_50_features.vcs CRC:00d221cc8a size:3570-shaders/vfx/grasstile_vulkan_50_ps.vcs CRC:00e40995d0 size:75770-shaders/vfx/grasstile_vulkan_50_psrs.vcs CRC:00f2d803fd size:2002-shaders/vfx/grasstile_vulkan_50_vs.vcs CRC:00d924400b size:5973+shaders/vfx/grasstile_vulkan_50_features.vcs CRC:0000d5f45d size:3570+shaders/vfx/grasstile_vulkan_50_ps.vcs CRC:00f16bf391 size:75914+shaders/vfx/grasstile_vulkan_50_psrs.vcs CRC:0076620160 size:2002+shaders/vfx/grasstile_vulkan_50_vs.vcs CRC:00ae681e47 size:5973 shaders/vfx/healthboost.ini CRC:0000000000 size:0 shaders/vfx/healthboost_vulkan_50_features.vcs CRC:00f1c7615b size:1794 shaders/vfx/healthboost_vulkan_50_ps.vcs CRC:005e08f5b6 size:2714 shaders/vfx/healthboost_vulkan_50_vs.vcs CRC:00c1fbcedf size:1361 shaders/vfx/histogram_cs.ini CRC:0000000000 size:0-shaders/vfx/histogram_cs_vulkan_50_cs.vcs CRC:002e1a9d88 size:8124-shaders/vfx/histogram_cs_vulkan_50_features.vcs CRC:004748ea81 size:1730+shaders/vfx/histogram_cs_vulkan_50_cs.vcs CRC:00207b81ce size:8121+shaders/vfx/histogram_cs_vulkan_50_features.vcs CRC:0054363111 size:1730 shaders/vfx/inferno.ini CRC:0000000000 size:0-shaders/vfx/inferno_vulkan_50_features.vcs CRC:009b120da5 size:1906-shaders/vfx/inferno_vulkan_50_ps.vcs CRC:00966f858f size:3842-shaders/vfx/inferno_vulkan_50_vs.vcs CRC:00db5abfc4 size:2052+shaders/vfx/inferno_vulkan_50_features.vcs CRC:0001da3dbd size:1906+shaders/vfx/inferno_vulkan_50_ps.vcs CRC:00f4959e41 size:3843+shaders/vfx/inferno_vulkan_50_vs.vcs CRC:00bf809968 size:2052 shaders/vfx/legacy_sniper_scope.ini CRC:0000000000 size:0 shaders/vfx/legacy_sniper_scope_vulkan_50_features.vcs CRC:000ec34ac7 size:1714 shaders/vfx/legacy_sniper_scope_vulkan_50_ps.vcs CRC:00876bcd38 size:3614 shaders/vfx/legacy_sniper_scope_vulkan_50_vs.vcs CRC:00c1fbcedf size:1361 shaders/vfx/lpv_debug_grid.ini CRC:0000000000 size:0-shaders/vfx/lpv_debug_grid_vulkan_50_features.vcs CRC:00c23c50ad size:2866-shaders/vfx/lpv_debug_grid_vulkan_50_gs.vcs CRC:00fec36cb7 size:5120-shaders/vfx/lpv_debug_grid_vulkan_50_ps.vcs CRC:0088b58588 size:56580-shaders/vfx/lpv_debug_grid_vulkan_50_vs.vcs CRC:004fae1338 size:2420+shaders/vfx/lpv_debug_grid_vulkan_50_features.vcs CRC:006c35ddc0 size:2866+shaders/vfx/lpv_debug_grid_vulkan_50_gs.vcs CRC:0084578ad4 size:5120+shaders/vfx/lpv_debug_grid_vulkan_50_ps.vcs CRC:00dd31bc74 size:56834+shaders/vfx/lpv_debug_grid_vulkan_50_vs.vcs CRC:00996c1a1f size:2436 shaders/vfx/luminaire.ini CRC:0000000000 size:0-shaders/vfx/luminaire_vulkan_50_features.vcs CRC:0095d621bc size:2418-shaders/vfx/luminaire_vulkan_50_ps.vcs CRC:00a62b4315 size:10950-shaders/vfx/luminaire_vulkan_50_psrs.vcs CRC:00c073b324 size:2018-shaders/vfx/luminaire_vulkan_50_vs.vcs CRC:00f73b149c size:4236+shaders/vfx/luminaire_vulkan_50_features.vcs CRC:00cced6d93 size:2418+shaders/vfx/luminaire_vulkan_50_ps.vcs CRC:006b637d50 size:10948+shaders/vfx/luminaire_vulkan_50_psrs.vcs CRC:00200a1e43 size:2018+shaders/vfx/luminaire_vulkan_50_vs.vcs CRC:009a68c550 size:4236 shaders/vfx/mboit_mixed_combine.ini CRC:0000000000 size:0-shaders/vfx/mboit_mixed_combine_vulkan_50_features.vcs CRC:00687315fc size:1954-shaders/vfx/mboit_mixed_combine_vulkan_50_ps.vcs CRC:0089c389e4 size:6981+shaders/vfx/mboit_mixed_combine_vulkan_50_features.vcs CRC:006e6a68e8 size:1954+shaders/vfx/mboit_mixed_combine_vulkan_50_ps.vcs CRC:00121c3fe9 size:6983 shaders/vfx/mboit_mixed_combine_vulkan_50_vs.vcs CRC:000e7b0f60 size:2155 shaders/vfx/mboit_mixed_upsample.ini CRC:0000000000 size:0-shaders/vfx/mboit_mixed_upsample_vulkan_50_cs.vcs CRC:000a1844df size:9755-shaders/vfx/mboit_mixed_upsample_vulkan_50_features.vcs CRC:00d01e8f59 size:2018+shaders/vfx/mboit_mixed_upsample_vulkan_50_cs.vcs CRC:00ecfe3acd size:9757+shaders/vfx/mboit_mixed_upsample_vulkan_50_features.vcs CRC:00cd5dd0e3 size:2018 shaders/vfx/mboitfinal.ini CRC:0000000000 size:0-shaders/vfx/mboitfinal_vulkan_50_features.vcs CRC:003b53f60e size:1954-shaders/vfx/mboitfinal_vulkan_50_ps.vcs CRC:00017d32e3 size:9368+shaders/vfx/mboitfinal_vulkan_50_features.vcs CRC:00f06fac64 size:1970+shaders/vfx/mboitfinal_vulkan_50_ps.vcs CRC:00065dd963 size:9392 shaders/vfx/mboitfinal_vulkan_50_vs.vcs CRC:00a4e324be size:2418 shaders/vfx/outlines.ini CRC:0000000000 size:0 shaders/vfx/outlines_vulkan_50_features.vcs CRC:00e6864a88 size:1778 shaders/vfx/outlines_vulkan_50_ps.vcs CRC:00ed69fa1e size:3151 shaders/vfx/outlines_vulkan_50_vs.vcs CRC:0070b74c32 size:1363 shaders/vfx/overlay_smoke.ini CRC:0000000000 size:0-shaders/vfx/overlay_smoke_vulkan_50_features.vcs CRC:00e84b3e90 size:1746-shaders/vfx/overlay_smoke_vulkan_50_ps.vcs CRC:00448b7c4b size:3367+shaders/vfx/overlay_smoke_vulkan_50_features.vcs CRC:00c8282e48 size:1762+shaders/vfx/overlay_smoke_vulkan_50_ps.vcs CRC:001cd1c1a6 size:3383 shaders/vfx/overlay_smoke_vulkan_50_vs.vcs CRC:0086da6292 size:1487 shaders/vfx/panorama_alpha.ini CRC:0000000000 size:0 shaders/vfx/panorama_alpha_vulkan_50_features.vcs CRC:00900fc740 size:1682@@ -403,69 +403,69 @@ shaders/vfx/player_visibility_vulkan_50_features.vcs CRC:00abc5486a size:1666 shaders/vfx/player_visibility_vulkan_50_ps.vcs CRC:001e023bb5 size:4336 shaders/vfx/player_visibility_vulkan_50_vs.vcs CRC:00c1fbcedf size:1361 shaders/vfx/post_process.ini CRC:0000000000 size:0-shaders/vfx/post_process_vulkan_50_features.vcs CRC:009d0e5047 size:2626-shaders/vfx/post_process_vulkan_50_ps.vcs CRC:00421ab223 size:83220-shaders/vfx/post_process_vulkan_50_vs.vcs CRC:009e956b0b size:1782+shaders/vfx/post_process_vulkan_50_features.vcs CRC:0021bc2813 size:2626+shaders/vfx/post_process_vulkan_50_ps.vcs CRC:0098f6e429 size:83313+shaders/vfx/post_process_vulkan_50_vs.vcs CRC:007737dc89 size:1782 shaders/vfx/reconstruct_normals.ini CRC:0000000000 size:0 shaders/vfx/reconstruct_normals_vulkan_50_features.vcs CRC:000efbe6a8 size:1570 shaders/vfx/reconstruct_normals_vulkan_50_ps.vcs CRC:00c2808e1e size:4012 shaders/vfx/reconstruct_normals_vulkan_50_vs.vcs CRC:001992f1a7 size:1786 shaders/vfx/screenparticlescombine.ini CRC:0000000000 size:0-shaders/vfx/screenparticlescombine_vulkan_50_features.vcs CRC:002c516485 size:1666-shaders/vfx/screenparticlescombine_vulkan_50_ps.vcs CRC:001daac2a0 size:2012+shaders/vfx/screenparticlescombine_vulkan_50_features.vcs CRC:009adb1abc size:1666+shaders/vfx/screenparticlescombine_vulkan_50_ps.vcs CRC:00b8080669 size:2029 shaders/vfx/screenparticlescombine_vulkan_50_vs.vcs CRC:0074449250 size:1458 shaders/vfx/simple.ini CRC:0000000000 size:0-shaders/vfx/simple_vulkan_50_features.vcs CRC:00ac84f53e size:4578-shaders/vfx/simple_vulkan_50_ps.vcs CRC:009e05dde6 size:63444-shaders/vfx/simple_vulkan_50_psrs.vcs CRC:0002da3ae8 size:1794-shaders/vfx/simple_vulkan_50_vs.vcs CRC:00a27efe8f size:13504+shaders/vfx/simple_vulkan_50_features.vcs CRC:00fa6e0c09 size:4594+shaders/vfx/simple_vulkan_50_ps.vcs CRC:00bbfc3df4 size:63730+shaders/vfx/simple_vulkan_50_psrs.vcs CRC:00f71bc38a size:1794+shaders/vfx/simple_vulkan_50_vs.vcs CRC:0094cd530d size:13504 shaders/vfx/sky.ini CRC:0000000000 size:0 shaders/vfx/sky_occluder.ini CRC:0000000000 size:0 shaders/vfx/sky_occluder_vulkan_50_features.vcs CRC:00b9463b7b size:1906 shaders/vfx/sky_occluder_vulkan_50_ps.vcs CRC:003d8eaf4b size:2472 shaders/vfx/sky_occluder_vulkan_50_vs.vcs CRC:00d7967a62 size:2477-shaders/vfx/sky_vulkan_50_features.vcs CRC:002ad8e7b9 size:2546-shaders/vfx/sky_vulkan_50_ps.vcs CRC:008d4f3ff1 size:8518-shaders/vfx/sky_vulkan_50_vs.vcs CRC:00f5d3112e size:2582+shaders/vfx/sky_vulkan_50_features.vcs CRC:00f19f1684 size:2546+shaders/vfx/sky_vulkan_50_ps.vcs CRC:00a1b3b08e size:8523+shaders/vfx/sky_vulkan_50_vs.vcs CRC:0071f346e6 size:2582 shaders/vfx/skybox_blur.ini CRC:0000000000 size:0 shaders/vfx/skybox_blur_vulkan_50_features.vcs CRC:00f4ea76f3 size:1682 shaders/vfx/skybox_blur_vulkan_50_ps.vcs CRC:0021222f9a size:3035 shaders/vfx/skybox_blur_vulkan_50_vs.vcs CRC:006ba482df size:1714 shaders/vfx/smoke_volume.ini CRC:0000000000 size:0 shaders/vfx/smoke_volume_cs.ini CRC:0000000000 size:0-shaders/vfx/smoke_volume_cs_vulkan_50_cs.vcs CRC:006d2b124c size:83641-shaders/vfx/smoke_volume_cs_vulkan_50_features.vcs CRC:001879429c size:2818+shaders/vfx/smoke_volume_cs_vulkan_50_cs.vcs CRC:001bfdf0dd size:83652+shaders/vfx/smoke_volume_cs_vulkan_50_features.vcs CRC:008956127a size:2818 shaders/vfx/smoke_volume_depth.ini CRC:0000000000 size:0-shaders/vfx/smoke_volume_depth_vulkan_50_features.vcs CRC:001a185323 size:1986-shaders/vfx/smoke_volume_depth_vulkan_50_ps.vcs CRC:00a3a2405a size:8935-shaders/vfx/smoke_volume_depth_vulkan_50_vs.vcs CRC:0094621042 size:1847+shaders/vfx/smoke_volume_depth_vulkan_50_features.vcs CRC:001973bbb7 size:1986+shaders/vfx/smoke_volume_depth_vulkan_50_ps.vcs CRC:009809773b size:8935+shaders/vfx/smoke_volume_depth_vulkan_50_vs.vcs CRC:00c1856984 size:1847 shaders/vfx/smoke_volume_lpv.ini CRC:0000000000 size:0-shaders/vfx/smoke_volume_lpv_vulkan_50_cs.vcs CRC:008545a720 size:6928-shaders/vfx/smoke_volume_lpv_vulkan_50_features.vcs CRC:0013496ad0 size:1874+shaders/vfx/smoke_volume_lpv_vulkan_50_cs.vcs CRC:0080cf3ac5 size:6915+shaders/vfx/smoke_volume_lpv_vulkan_50_features.vcs CRC:0008726eae size:1874 shaders/vfx/smoke_volume_mask.ini CRC:0000000000 size:0-shaders/vfx/smoke_volume_mask_vulkan_50_features.vcs CRC:007988eb16 size:1938-shaders/vfx/smoke_volume_mask_vulkan_50_ps.vcs CRC:008c10c0ec size:14823+shaders/vfx/smoke_volume_mask_vulkan_50_features.vcs CRC:0061e23565 size:1938+shaders/vfx/smoke_volume_mask_vulkan_50_ps.vcs CRC:008102629a size:14823 shaders/vfx/smoke_volume_mask_vulkan_50_vs.vcs CRC:002c907541 size:2513-shaders/vfx/smoke_volume_vulkan_50_features.vcs CRC:0008faf5a6 size:2834-shaders/vfx/smoke_volume_vulkan_50_ps.vcs CRC:0052768f85 size:108497-shaders/vfx/smoke_volume_vulkan_50_vs.vcs CRC:0020d3f43d size:1996+shaders/vfx/smoke_volume_vulkan_50_features.vcs CRC:00ec76af46 size:2834+shaders/vfx/smoke_volume_vulkan_50_ps.vcs CRC:00c9593361 size:108493+shaders/vfx/smoke_volume_vulkan_50_vs.vcs CRC:00db7af8e5 size:1996 shaders/vfx/solidcolor.ini CRC:0000000000 size:0 shaders/vfx/solidcolor_vulkan_50_features.vcs CRC:000d8add19 size:2354 shaders/vfx/solidcolor_vulkan_50_ps.vcs CRC:005897b7c9 size:3678 shaders/vfx/solidcolor_vulkan_50_vs.vcs CRC:00bdeb7d83 size:6716 shaders/vfx/spritecard.ini CRC:0000000000 size:0-shaders/vfx/spritecard_vulkan_50_features.vcs CRC:00204379dd size:3506-shaders/vfx/spritecard_vulkan_50_ps.vcs CRC:0057bdbe59 size:5797501-shaders/vfx/spritecard_vulkan_50_vs.vcs CRC:00201c5139 size:2676898+shaders/vfx/spritecard_vulkan_50_features.vcs CRC:0077f06edf size:3506+shaders/vfx/spritecard_vulkan_50_ps.vcs CRC:0098c5fa31 size:5794368+shaders/vfx/spritecard_vulkan_50_vs.vcs CRC:0038f47bcf size:2675839 shaders/vfx/tools_solid.ini CRC:0000000000 size:0-shaders/vfx/tools_solid_vulkan_50_features.vcs CRC:00fd9702fa size:1874-shaders/vfx/tools_solid_vulkan_50_ps.vcs CRC:0009d8c9b6 size:3843-shaders/vfx/tools_solid_vulkan_50_vs.vcs CRC:0057e9726b size:3736+shaders/vfx/tools_solid_vulkan_50_features.vcs CRC:00aa1bc0ce size:1874+shaders/vfx/tools_solid_vulkan_50_ps.vcs CRC:008c90504f size:3843+shaders/vfx/tools_solid_vulkan_50_vs.vcs CRC:00c5b7b866 size:3736 shaders/vfx/tools_wireframe.ini CRC:0000000000 size:0-shaders/vfx/tools_wireframe_vulkan_50_features.vcs CRC:00d0ea8792 size:2258-shaders/vfx/tools_wireframe_vulkan_50_gs.vcs CRC:00677475ee size:4552-shaders/vfx/tools_wireframe_vulkan_50_ps.vcs CRC:00849a87b2 size:6008-shaders/vfx/tools_wireframe_vulkan_50_vs.vcs CRC:00db7e33ec size:13428+shaders/vfx/tools_wireframe_vulkan_50_features.vcs CRC:004a52f9ab size:2258+shaders/vfx/tools_wireframe_vulkan_50_gs.vcs CRC:008797a26d size:4552+shaders/vfx/tools_wireframe_vulkan_50_ps.vcs CRC:00c955fdcd size:6008+shaders/vfx/tools_wireframe_vulkan_50_vs.vcs CRC:003a8733a8 size:13428 shaders/vfx/upsample.ini CRC:0000000000 size:0 shaders/vfx/upsample_vulkan_50_features.vcs CRC:007910fb4a size:1554 shaders/vfx/upsample_vulkan_50_ps.vcs CRC:0010a0e68d size:1887game/csgo/shaders_vulkan_dir/shaders/vfx/bilateral_upsample.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -143,7 +143,7 @@ PS float PerViewConstantBuffer_t_1_m1 : packoffset(c23.y); }; - SamplerState g_sPointClamp : register(s18, space1);+ SamplerState g_sPointClamp : register(s19, space1); Texture2D<float4> g_tInputDepthHiRes : register(t32, space1); Texture2D<float4> g_tInputTexture : register(t30, space1); game/csgo/shaders_vulkan_dir/shaders/vfx/bloom_cs.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -89,7 +89,7 @@ CS layout(set = 0) uniform _1146 _Globals_; layout(set = 0, binding = 30) uniform texture2D g_tInputDownSample;- layout(set = 0, binding = 15) uniform sampler g_sBilinearClamp;+ layout(set = 0, binding = 16) uniform sampler g_sBilinearClamp; layout(set = 0, binding = 158) uniform writeonly image2D g_tOutput; void main()game/csgo/shaders_vulkan_dir/shaders/vfx/cables.slang
modified • +162 / -151 • changes: 313
Show patch
@@ -453,7 +453,7 @@ PS Texture2D g_tShadowDepthBufferDepth < Attribute("ShadowDepthBuffer"); SrgbRead(false); >; Texture2D g_tSsao < Attribute("SSAOOcclusionFactor"); SrgbRead(false); >; Texture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float3 g_vSelfIllumTintScaled < UiType(VectorText); Expression(pow(2,g_flSelfIllumBrightness).x*g_flSelfIllumScale.x*SrgbGammaToLinear(g_vSelfIllumTint.xyz)); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; float4 g_vShadingComplexity < Source(ShadingComplexity); UiType(VectorText); >;@@ -530,12 +530,12 @@ PS #endif #extension GL_KHR_shader_subgroup_arithmetic : require - struct _1948+ struct _2200 { vec4 _m0[3]; }; - struct _2158+ struct _2410 { vec4 _m0[4]; };@@ -551,12 +551,12 @@ PS vec4 _m6; }; - struct _2685+ struct _587 { _1677 _m0[128]; }; - struct _1058+ struct _2174 { mat4 _m0[4]; };@@ -623,15 +623,15 @@ PS layout(set = 1) uniform _2806 PerViewConstantBufferCsgo_t; - struct _1398+ struct _678 { vec4 _m0; vec4 _m1; vec4 _m2; vec4 _m3; vec4 _m4;- _1948 _m5;- _2158 _m6;+ _2200 _m5;+ _2410 _m6; vec4 _m7; vec4 _m8; vec4 _m9;@@ -640,7 +640,7 @@ PS uvec4 _m12; vec4 _m13; vec4 _m14;- _2685 _m15;+ _587 _m15; vec4 _m16; vec4 _m17; int _m18;@@ -650,11 +650,11 @@ PS float _m22; float _m23; float _m24;- _1058 _m25;- _2158 _m26;+ _2174 _m25;+ _2410 _m26; }; - layout(set = 3) uniform _1398 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _678 PerViewLightingConstantBufferGpu_t; struct _1194 {@@ -677,23 +677,23 @@ PS } g_BarnLights_1; layout(set = 1, binding = 43) uniform texture2D g_tColor;- layout(set = 1, binding = 20) uniform sampler g_sUserConfigAllowGlobalMipBias;+ layout(set = 1, binding = 21) uniform sampler g_sUserConfigAllowGlobalMipBias; layout(set = 1, binding = 54) uniform texture2D g_tAmbientOcclusion;- layout(set = 1, binding = 19) uniform sampler g_sUserConfig;+ layout(set = 1, binding = 20) uniform sampler g_sUserConfig; layout(set = 1, binding = 52) uniform texture2D g_tNormal; layout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;- layout(set = 1, binding = 22) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 23) uniform sampler g_sCookieSampler; layout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;- layout(set = 1, binding = 18) uniform sampler g_sPointClamp;+ layout(set = 1, binding = 19) uniform sampler g_sPointClamp; layout(set = 1, binding = 39) uniform texture2D g_tSsao;- layout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 50) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture; layout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;- layout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;+ layout(set = 1, binding = 16) uniform sampler g_sBilinearClamp; layout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture; @@ -804,162 +804,173 @@ PS { _21711 = _21710; }- float _21712;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m18 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13136;- vec3 _14975;- int _13039 = 0;- for (;;)- {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))- {- _13136 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])- {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;- vec3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;- }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)+ float _12504;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m18 != 0) {- vec2 _7045;- vec2 _7046;- vec2 _7735;- float _8969;- float _8970;- float _15996;- float _17299;- vec2 _18870;- vec4 _20581;- vec4 _22023;- float _23727;- do+ int _23989;+ int _10191;+ float _13136;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);- _20581 = PerViewLightingConstantBufferGpu_t._m0;- _22023 = PerViewLightingConstantBufferGpu_t._m1;- _17299 = PerViewLightingConstantBufferGpu_t._m2.z;- _15996 = PerViewLightingConstantBufferGpu_t._m3.z;- _18870 = vec2(_17299, _15996);- _8969 = PerViewLightingConstantBufferGpu_t._m2.y;- _7045 = vec2(_8969, _15996);- _8970 = PerViewLightingConstantBufferGpu_t._m3.y;- _7046 = vec2(_17299, _8970);- _7735 = vec2(_8969, _8970);- float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));- bool _12885;- if (_15310 == 0.0)- {- _12885 = true;- }- else+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18)) {- _12885 = _15310 == 1.0;+ _13136 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break; }- if (_12885)+ vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039]) {- _23727 = _15310;+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;+ vec3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039; break; }- _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22023.y);- break;- } while(false);- float _12502;- SPIRV_CROSS_BRANCH- if (_13136 < 1.0)+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue;+ }+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ vec2 _7045;+ vec2 _7046;+ vec2 _7735;+ float _8969;+ float _8970;+ float _15996;+ float _17299;+ vec2 _18870;+ vec4 _20581;+ vec4 _22023;+ float _23727;+ do {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;- vec3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- float _12501;- do+ float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);+ _20581 = PerViewLightingConstantBufferGpu_t._m0;+ _22023 = PerViewLightingConstantBufferGpu_t._m1;+ _17299 = PerViewLightingConstantBufferGpu_t._m2.z;+ _15996 = PerViewLightingConstantBufferGpu_t._m3.z;+ _18870 = vec2(_17299, _15996);+ _8969 = PerViewLightingConstantBufferGpu_t._m2.y;+ _7045 = vec2(_8969, _15996);+ _8970 = PerViewLightingConstantBufferGpu_t._m3.y;+ _7046 = vec2(_17299, _8970);+ _7735 = vec2(_8969, _8970);+ float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));+ bool _12885;+ if (_15310 == 0.0) {- float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);- float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));- bool _12886;- if (_15311 == 0.0)- {- _12886 = true;- }- else- {- _12886 = _15311 == 1.0;- }- if (_12886)+ _12885 = true;+ }+ else+ {+ _12885 = _15310 == 1.0;+ }+ if (_12885)+ {+ _23727 = _15310;+ break;+ }+ _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22023.y);+ break;+ } while(false);+ float _12502;+ SPIRV_CROSS_BRANCH+ if (_13136 < 1.0)+ {+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;+ vec3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ float _12501;+ do {- _12501 = _15311;+ float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);+ float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));+ bool _12886;+ if (_15311 == 0.0)+ {+ _12886 = true;+ }+ else+ {+ _12886 = _15311 == 1.0;+ }+ if (_12886)+ {+ _12501 = _15311;+ break;+ }+ _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y); break;- }- _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y);- break;- } while(false);- _7934 = _12501;+ } while(false);+ _7934 = _12501;+ }+ else+ {+ _7934 = 1.0;+ }+ _12502 = mix(_7934, _23727, _13136); } else {- _7934 = 1.0;+ _12502 = _23727; }- _12502 = mix(_7934, _23727, _13136);+ _19363 = _12502; } else {- _12502 = _23727;+ _19363 = 1.0; }- _19363 = _12502;- }- else- {- _19363 = 1.0;- }- float _13279 = mix(_19363, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));- float _12503;- if (_24465.y)- {- _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ float _13279 = mix(_19363, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));+ float _12503;+ if (_24465.y)+ {+ _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12503 = _13279;+ }+ _12504 = _12503; } else {- _12503 = _13279;+ _12504 = 1.0; }- _21712 = _12503;+ _12320 = _12504; } else {- _21712 = 1.0;+ _12320 = 1.0; } vec3 _9716; vec3 _24878; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21712) > 0.0)+ if ((_8634 * _12320) > 0.0) { float _11797 = max(0.0, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz)); vec2 _9840 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));@@ -974,7 +985,7 @@ PS float _16150 = _9850 + 1.0; float _6835 = (_16150 * _16150) * 0.125; float _19569 = 1.0 - _6835;- vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21712).xyz;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz; _9716 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808); _24878 = (((_22995 + ((vec3(1.0) - _22995) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_11797 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _11797).xyz * _16808; }@@ -1175,7 +1186,7 @@ PS } else {- vec3 _12504;+ vec3 _12505; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -1191,7 +1202,7 @@ PS vec3 _20491 = _14081; _20491.x = _20564.x; _20491.y = _20564.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz; } else {@@ -1200,9 +1211,9 @@ PS vec3 _20490 = _13791; _20490.x = _20563.x; _20490.y = _20563.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz; }- _21548 = _12504;+ _21548 = _12505; } if (all(equal(_21548.xyz, vec3(0.0)))) {@@ -1230,8 +1241,8 @@ PS do { float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);- vec2 _14615 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;- float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));+ vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;+ float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25)); bool _12888; if (_15312 == 0.0) {@@ -1246,7 +1257,7 @@ PS _24972 = _15312; break; }- _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14615, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);+ _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y); break; } while(false); vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_beachfoam.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -229,7 +229,7 @@ PS }; Texture2D<float4> g_tColor : register(t51, space1);- SamplerState g_sUserConfigAllowGlobalMipBias : register(s20, space1);+ SamplerState g_sUserConfigAllowGlobalMipBias : register(s21, space1); static float4 input_2; static float4 output_0;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_black_unlit.slang
modified • +2 / -2 • changes: 4
Show patch
@@ -228,7 +228,7 @@ PS [[layer_constant]] ExternalDescriptorSet g_lightBinnerGpuSet < Source(ExternalDescSet); Attribute("g_lightBinnerGpuSet"); >; int g_nToolsVisMode < Attribute("g_nToolsVisMode"); UiType(Slider); >; TextureCube g_tFogCubeTexture < Attribute("CubemapFogTexture"); SrgbRead(true); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Fog@@ -262,7 +262,7 @@ PS }; TextureCube<float4> g_tFogCubeTexture : register(t42, space1);- SamplerState g_sTrilinearClamp : register(s17, space1);+ SamplerState g_sTrilinearClamp : register(s18, space1); static float3 input_0; static float4 output_0;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_character.slang
modified • +652 / -458 • changes: 1110
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_complex.slang
modified • +110 / -99 • changes: 209
Show patch
@@ -426,7 +426,7 @@ PS Texture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >; Texture2D g_tTransmissiveColor < Channel(RGB, Box(TextureTransmissiveColor), Srgb); OutputFormat(BC7); SrgbRead(true); >; float4 g_vDetailNormalStrengthOffsetScale < UiType(VectorText); Expression(float4(0,0,1-g_flDetailNormalStrength,g_flDetailNormalStrength)); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float3 g_vSelfIllumTintScaled < UiType(VectorText); Expression(pow(2,g_flSelfIllumBrightness).x*g_flSelfIllumScale.x*SrgbGammaToLinear(g_vSelfIllumTint.xyz)); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; @@ -513,17 +513,17 @@ PS // Source 2 Viewer - https://valveresourceformat.github.io // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup - struct _2872+ struct _113 { float4 _m0[3]; }; - struct _71+ struct _323 { float4 _m0[4]; }; - struct _2139+ struct _244 { column_major float4x4 _m0[4]; };@@ -562,20 +562,20 @@ PS cbuffer _Globals_ : register(b0, space1) { uint _Globals_1_g_tColor : packoffset(c0);- uint _Globals_1_g_sTrilinearWrap : packoffset(c3.w);- uint _Globals_1_g_sTrilinearClamp : packoffset(c4);- uint _Globals_1_g_sPointClamp : packoffset(c4.y);- uint _Globals_1_g_sUserConfig : packoffset(c5);- uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c5.y);- uint _Globals_1_g_sCookieSampler : packoffset(c5.w);- uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c6);- int _Globals_1_g_bFogEnabled : packoffset(c6.z);- int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c6.w);- int _Globals_1_g_bRenderBackfaceNormals : packoffset(c7);- float _Globals_1_g_flReflectance : packoffset(c7.y);- uint _Globals_1_g_tNormal : packoffset(c11);- uint _Globals_1_g_tAmbientOcclusion : packoffset(c11.w);- float _Globals_1_g_flMetalness : packoffset(c12);+ uint _Globals_1_g_sTrilinearWrap : packoffset(c4);+ uint _Globals_1_g_sTrilinearClamp : packoffset(c4.y);+ uint _Globals_1_g_sPointClamp : packoffset(c4.z);+ uint _Globals_1_g_sUserConfig : packoffset(c5.y);+ uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c5.z);+ uint _Globals_1_g_sCookieSampler : packoffset(c6);+ uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c6.y);+ int _Globals_1_g_bFogEnabled : packoffset(c6.w);+ int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c7);+ int _Globals_1_g_bRenderBackfaceNormals : packoffset(c7.y);+ float _Globals_1_g_flReflectance : packoffset(c7.z);+ uint _Globals_1_g_tNormal : packoffset(c11.y);+ uint _Globals_1_g_tAmbientOcclusion : packoffset(c12);+ float _Globals_1_g_flMetalness : packoffset(c12.y); }; cbuffer PerViewConstantBufferCsgo_t : register(b3, space1)@@ -605,8 +605,8 @@ PS cbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3) {- _2872 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);- _71 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);+ _113 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);+ _323 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11); float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16); float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17); float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);@@ -623,8 +623,8 @@ PS float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y); float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z); float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);- _2139 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);- _71 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);+ _244 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);+ _323 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988); uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996); uint PerViewLightingConstantBufferGpu_t_1_m21 : packoffset(c1996.y); };@@ -810,99 +810,110 @@ PS { _21710 = 1.0f; }- float _21711;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735);+ float _12320; [branch]- if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)+ if (_8634 > 0.0f) {- int _23989;- int _10191;- float _13136;- float3 _14975;- int _13039 = 0;- for (;;)+ float _12503;+ [branch]+ if (PerViewLightingConstantBufferGpu_t_1_m11 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))- {- _13136 = 1.0f;- _14975 = 0.0f.xxx;- _10191 = -1;- break;- }- float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])+ int _23989;+ int _10191;+ float _13136;+ float3 _14975;+ int _13039 = 0;+ for (;;) {- float3 _19470 = float3(_12779, _18322.yz);- float2 _24804 = _19470.xy;- float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);- float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;- float3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))+ {+ _13136 = 1.0f;+ _14975 = 0.0f.xxx;+ _10191 = -1;+ break;+ }+ float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])+ {+ float3 _19470 = float3(_12779, _18322.yz);+ float2 _24804 = _19470.xy;+ float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);+ float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;+ float3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)- {- float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));- float _12501;- [branch]- if (_13136 < 1.0f)+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))+ float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));+ float _12501;+ [branch]+ if (_13136 < 1.0f) {- int _15335 = _10191 + 1;- float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));- float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;- float3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))+ {+ int _15335 = _10191 + 1;+ float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));+ float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;+ float3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));+ }+ else+ {+ _7934 = 1.0f;+ }+ _12501 = lerp(_7934, _18270, _13136); } else {- _7934 = 1.0f;+ _12501 = _18270; }- _12501 = lerp(_7934, _18270, _13136);+ _19363 = _12501; } else {- _12501 = _18270;+ _19363 = 1.0f; }- _19363 = _12501;- }- else- {- _19363 = 1.0f;- }- float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));- float _12502;- if (_24465.y)- {- _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));+ float _12502;+ if (_24465.y)+ {+ _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ }+ else+ {+ _12502 = _13279;+ }+ _12503 = _12502; } else {- _12502 = _13279;+ _12503 = 1.0f; }- _21711 = _12502;+ _12320 = _12503; } else {- _21711 = 1.0f;+ _12320 = 1.0f; } float3 _9716; float3 _24878; [branch]- if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735) * _21711) > 0.0f)+ if ((_8634 * _12320) > 0.0f) { bool3 _19899 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx; float _11797 = max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz));@@ -914,7 +925,7 @@ PS float _25211 = _9850 * _9850; float _19095 = _25211 * _25211; float _15346 = ((_12386 * _12386) * (_19095 - 1.0f)) + 1.0f;- float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21711).xyz;+ float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _12320).xyz; _9716 = ((_12351.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0f) + 2.0f)))).xyz * _11797).xyz * _16808; _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (_11797.xxx.xyz * _16808); }@@ -1117,7 +1128,7 @@ PS } else {- float3 _12503;+ float3 _12504; if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f) { float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);@@ -1133,7 +1144,7 @@ PS float3 _20492 = _14081; _20492.x = _20564.x; _20492.y = _20564.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz; } else {@@ -1142,9 +1153,9 @@ PS float3 _20491 = _13791; _20491.x = _20563.x; _20491.y = _20563.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz; }- _21548 = _12503;+ _21548 = _12504; } if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z))) {@@ -1190,9 +1201,9 @@ PS float _19211 = max(0.0f, dot(_11179.xyz, _12282)); float _9851 = _9841.x; float _25212 = _9851 * _9851;- float _19097 = _25212 * _25212;- float _15348 = ((_12387 * _12387) * (_19097 - 1.0f)) + 1.0f;- _13212 = _13138.xyz + (((_12351.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);+ float _19096 = _25212 * _25212;+ float _15348 = ((_12387 * _12387) * (_19096 - 1.0f)) + 1.0f;+ _13212 = _13138.xyz + (((_12351.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz); _15670 = _16325.xyz + (_11798.xxx.xyz * _22671.xyz); break; } while(false);@@ -1827,8 +1838,8 @@ RTX void main() { uint _452 = g_instanceBuffer._member0[uint(gl_InstanceID)].nMaterialData;- uint _497 = g_MaterialData_1._member0[(_452 + 28u) / 4u];- uint _496 = g_MaterialData_1._member0[(_452 + 32u) / 4u];+ uint _497 = g_MaterialData_1._member0[(_452 + 32u) / 4u];+ uint _496 = g_MaterialData_1._member0[(_452 + 36u) / 4u]; vec4 _495 = vec4(g_MaterialData_3._member0[(_452 + 144u) / 4u], g_MaterialData_3._member0[(_452 + 148u) / 4u], g_MaterialData_3._member0[(_452 + 152u) / 4u], g_MaterialData_3._member0[(_452 + 156u) / 4u]); vec4 _494 = vec4(g_MaterialData_3._member0[(_452 + 160u) / 4u], g_MaterialData_3._member0[(_452 + 164u) / 4u], g_MaterialData_3._member0[(_452 + 168u) / 4u], g_MaterialData_3._member0[(_452 + 172u) / 4u]); vec2 _493 = vec2(g_MaterialData_3._member0[(_452 + 176u) / 4u], g_MaterialData_3._member0[(_452 + 180u) / 4u]);game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_customglove.slang
modified • +25 / -25 • changes: 50
Show patch
@@ -349,7 +349,7 @@ PS CreateInputTexture2D(TextureGrime1, Srgb, 8, "", "_color", "Material1/Grime,6/1", Default4(0.5, 0.5, 0.5, 0)); CreateInputTexture2D(TextureSubstrateAlbedo1, Srgb, 8, "", "_color", "Material1/Substrate Layer,2/1", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceAlbedo1, Srgb, 8, "", "_color", "Material1/Surface Layer,1/1", Default4(1, 1, 1, 0));- float2 g_vDamageLevels1 < Default(0); UiType(VectorText); UiGroup("Material1,1/Detail Damage/1"); >;+ float2 g_vDamageLevels1 < Default2(0, 1); UiType(VectorText); UiGroup("Material1,1/Detail Damage/1"); >; CreateInputTexture2D(TextureSubstrateTintMask1, Linear, 8, "", "_tintmask", "Material1/Substrate Layer/2", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceTintMask1, Linear, 8, "", "_tintmask", "Material1/Surface Layer/2", Default4(1, 1, 1, 0)); float g_fCurvaturePower1 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup("Material1/Detail Damage/2"); >;@@ -373,16 +373,16 @@ PS CreateInputTexture2D(TextureDetailNormal1, Linear, 8, "", "_detailnormal", "Material1/Normal/10", Default4(0.5, 0.5, 0.5, 0.5)); CreateInputTexture2D(TextureGrunge1, Linear, 8, "", "_grunge", "Material1/Grunge/10", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageMetalness1 < UiType(Slider); UiGroup("Material1/Detail Damage/10"); >;- float2 g_vSurfaceGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/10"); >;+ float2 g_vSurfaceGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/10"); >; CreateInputTexture2D(TextureDamageNormal1, Linear, 8, "", "_damagenormal", "Material1/Normal/11", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageCloth1 < UiType(Slider); UiGroup("Material1/Detail Damage/11"); UiVisibility(F_CLOTH_SHADING); >; float g_fDamageHeightBlendSoftness1 < Default(0.01); UiType(Slider); UiGroup("Material1/Damage Height/11"); Expression(max(this,.001)); >; float g_fDetailGrunge1 < Range(0, 2); UiType(Slider); UiGroup("Material1/Grunge/11"); >; float g_fDetailScale1 < Default(4); Range(-10, 10); UiType(Slider); UiGroup("Material1/Detail/11"); >;- float2 g_vSubstrateGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/11"); >;+ float2 g_vSubstrateGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/11"); >; float g_fDetailNormalContrast1 < Default(1); Range(0, 8); UiType(Slider); UiGroup("Material1/Normal/12"); >; float g_fDetailRoughnessContrast1 < Range(-1, 1); UiType(Slider); UiGroup("Material1/Detail/12"); >;- float2 g_vDamageMinMax1 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material1/Damage Height/12"); >;+ float2 g_vDamageMinMax1 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material1/Damage Height/12"); >; float g_fDetailRoughnessBrightness1 < Default(1); Range(0, 10); UiType(Slider); UiGroup("Material1/Detail/13"); >; float g_fWearBleaching1 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup("Material1/Wear Edge/13"); >; float g_fDetailAnisotropyScalar1 < Range(-1, 1); UiType(Slider); UiGroup("Material1/Detail/14"); >;@@ -429,12 +429,12 @@ PS CreateInputTexture2D(TextureSubstrateMetalness1, Srgb, 8, "", "_metal", "Material1/Substrate Layer/40", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureSurfaceMetalness1, Linear, 8, "", "_metal", "Material1/Surface Layer/40", Default4(0, 0, 0, 0)); float g_fDamageBevelRoughnessBrightness1 < Default(1); Range(0, 2); UiType(Slider); UiGroup("Material1/Damage Bevel/40"); >;- float2 g_vSurfaceBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup("Material1/Burnishing/40"); >;+ float2 g_vSurfaceBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup("Material1/Burnishing/40"); >; CreateInputTexture2D(TextureSubstrateClothMask1, Srgb, 8, "", "_mask", "Material1/Substrate Layer/41", "materials/default/default_black_mask.tga"); CreateInputTexture2D(TextureSurfaceClothMask1, Linear, 8, "", "_mask", "Material1/Surface Layer/41", "materials/default/default_black_mask.tga"); float g_fDamageBevelAnisotropy1 < UiType(Slider); UiGroup("Material1/Damage Bevel/41"); >; float g_fDamageNormalEdgeWidth1 < Default(1); Range(0, 8); UiType(Slider); UiGroup("Material1,1/Wear Edge/41"); >;- float2 g_vSubstrateBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup("Material1/Burnishing/41"); >;+ float2 g_vSubstrateBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup("Material1/Burnishing/41"); >; float g_fDamageEdgeRoughness1 < Default(0.8); UiType(Slider); UiGroup("Material1/Wear Edge/42"); >; float g_fDamageEdgeMetalness1 < UiType(Slider); UiGroup("Material1/Wear Edge/43"); >; float g_fDamageBevelMetalness1 < UiType(Slider); UiGroup("Material1/Damage Bevel/50"); >;@@ -447,7 +447,7 @@ PS CreateInputTexture2D(TextureGrime2, Srgb, 8, "", "_color", "Material2/Grime,6/1", Default4(0.5, 0.5, 0.5, 0)); CreateInputTexture2D(TextureSubstrateAlbedo2, Srgb, 8, "", "_color", "Material2/Substrate Layer,2/1", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceAlbedo2, Srgb, 8, "", "_color", "Material2/Surface Layer,1/1", Default4(1, 1, 1, 0));- float2 g_vDamageLevels2 < Default(0); UiType(VectorText); UiGroup("Material2/Detail Damage/1"); >;+ float2 g_vDamageLevels2 < Default2(0, 1); UiType(VectorText); UiGroup("Material2/Detail Damage/1"); >; CreateInputTexture2D(TextureSubstrateTintMask2, Linear, 8, "", "_tintmask", "Material2/Substrate Layer/2", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceTintMask2, Linear, 8, "", "_tintmask", "Material2/Surface Layer/2", Default4(1, 1, 1, 0)); float g_fCurvaturePower2 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup("Material2/Detail Damage/2"); >;@@ -471,16 +471,16 @@ PS CreateInputTexture2D(TextureDetailNormal2, Linear, 8, "", "_detailnormal", "Material2/Normal/10", Default4(0.5, 0.5, 0.5, 0.5)); CreateInputTexture2D(TextureGrunge2, Linear, 8, "", "_grunge", "Material2/Grunge/10", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageMetalness2 < UiType(Slider); UiGroup("Material2/Detail Damage/10"); >;- float2 g_vSurfaceGrimeMinMax2 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material2/Grime/10"); >;+ float2 g_vSurfaceGrimeMinMax2 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material2/Grime/10"); >; CreateInputTexture2D(TextureDamageNormal2, Linear, 8, "", "_damagenormal", "Material2/Normal/11", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageCloth2 < UiType(Slider); UiGroup("Material2/Detail Damage/11"); UiVisibility(F_CLOTH_SHADING); >; float g_fDamageHeightBlendSoftness2 < Default(0.01); UiType(Slider); UiGroup("Material2/Damage Height/11"); Expression(max(this,.001)); >; float g_fDetailGrunge2 < Range(0, 2); UiType(Slider); UiGroup("Material2/Grunge/11"); >; float g_fDetailScale2 < Default(4); Range(-10, 10); UiType(Slider); UiGroup("Material2/Detail/11"); >;- float2 g_vSubstrateGrimeMinMax2 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material2/Grime/11"); >;+ float2 g_vSubstrateGrimeMinMax2 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material2/Grime/11"); >; float g_fDetailNormalContrast2 < Default(1); Range(0, 8); UiType(Slider); UiGroup("Material2/Normal/12"); >; float g_fDetailRoughnessContrast2 < Range(-1, 1); UiType(Slider); UiGroup("Material2/Detail/12"); >;- float2 g_vDamageMinMax2 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material2/Damage Height/12"); >;+ float2 g_vDamageMinMax2 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material2/Damage Height/12"); >; float g_fDetailRoughnessBrightness2 < Default(1); Range(0, 10); UiType(Slider); UiGroup("Material2/Detail/13"); >; float g_fWearBleaching2 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup("Material2/Grunge/13"); >; float g_fDetailAnisotropyScalar2 < Range(-1, 1); UiType(Slider); UiGroup("Material2/Detail/14"); >;@@ -521,11 +521,11 @@ PS CreateInputTexture2D(TextureSubstrateMetalness2, Srgb, 8, "", "_metal", "Material2/Substrate Layer/40", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureSurfaceMetalness2, Linear, 8, "", "_metal", "Material2/Surface Layer/40", Default4(0, 0, 0, 0)); float g_fDamageBevelRoughnessBrightness2 < Default(1); Range(0, 2); UiType(Slider); UiGroup("Material2/Damage Bevel/40"); >;- float2 g_vSurfaceBurnishingMinMax2 < Default(0); UiType(VectorText); UiGroup("Material2/Burnishing/40"); >;+ float2 g_vSurfaceBurnishingMinMax2 < Default2(0, 1); UiType(VectorText); UiGroup("Material2/Burnishing/40"); >; CreateInputTexture2D(TextureSubstrateClothMask2, Srgb, 8, "", "_mask", "Material2/Substrate Layer/41", "materials/default/default_black_mask.tga"); CreateInputTexture2D(TextureSurfaceClothMask2, Linear, 8, "", "_mask", "Material2/Surface Layer/41", "materials/default/default_black_mask.tga"); float g_fDamageBevelAnisotropy2 < UiType(Slider); UiGroup("Material2/Damage Bevel/41"); >;- float2 g_vSubstrateBurnishingMinMax2 < Default(0); UiType(VectorText); UiGroup("Material2/Burnishing/41"); >;+ float2 g_vSubstrateBurnishingMinMax2 < Default2(0, 1); UiType(VectorText); UiGroup("Material2/Burnishing/41"); >; float g_fDamageBevelMetalness2 < UiType(Slider); UiGroup("Material2/Damage Bevel/50"); >; float g_fDamageBevelCloth2 < UiType(Slider); UiGroup("Material2/Damage Bevel/60"); >; bool g_bDamageBevelBlendToSubstrate2 < UiType(CheckBox); UiGroup("Material2/Damage Bevel/80"); >;@@ -536,7 +536,7 @@ PS CreateInputTexture2D(TextureGrime3, Srgb, 8, "", "_color", "Material3/Grime,6/1", Default4(0.5, 0.5, 0.5, 0)); CreateInputTexture2D(TextureSubstrateAlbedo3, Srgb, 8, "", "_color", "Material3/Substrate Layer,2/1", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceAlbedo3, Srgb, 8, "", "_color", "Material3/Surface Layer,1/1", Default4(1, 1, 1, 0));- float2 g_vDamageLevels3 < Default(0); UiType(VectorText); UiGroup("Material3/Detail Damage/1"); >;+ float2 g_vDamageLevels3 < Default2(0, 1); UiType(VectorText); UiGroup("Material3/Detail Damage/1"); >; CreateInputTexture2D(TextureSubstrateTintMask3, Linear, 8, "", "_tintmask", "Material3/Substrate Layer/2", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceTintMask3, Linear, 8, "", "_tintmask", "Material3/Surface Layer/2", Default4(1, 1, 1, 0)); float g_fCurvaturePower3 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup("Material3/Detail Damage/2"); >;@@ -560,16 +560,16 @@ PS CreateInputTexture2D(TextureDetailNormal3, Linear, 8, "", "_detailnormal", "Material3/Normal/10", Default4(0.5, 0.5, 0.5, 0.5)); CreateInputTexture2D(TextureGrunge3, Linear, 8, "", "_grunge", "Material3/Grunge/10", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageMetalness3 < UiType(Slider); UiGroup("Material3/Detail Damage/10"); >;- float2 g_vSurfaceGrimeMinMax3 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material3/Grime/10"); >;+ float2 g_vSurfaceGrimeMinMax3 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material3/Grime/10"); >; CreateInputTexture2D(TextureDamageNormal3, Linear, 8, "", "_damagenormal", "Material3/Normal/11", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageCloth3 < UiType(Slider); UiGroup("Material3/Detail Damage/11"); UiVisibility(F_CLOTH_SHADING); >; float g_fDamageHeightBlendSoftness3 < Default(0.01); UiType(Slider); UiGroup("Material3/Damage Height/11"); Expression(max(this,.001)); >; float g_fDetailGrunge3 < Range(0, 2); UiType(Slider); UiGroup("Material3/Grunge/11"); >; float g_fDetailScale3 < Default(4); Range(-10, 10); UiType(Slider); UiGroup("Material3/Detail/11"); >;- float2 g_vSubstrateGrimeMinMax3 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material3/Grime/11"); >;+ float2 g_vSubstrateGrimeMinMax3 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material3/Grime/11"); >; float g_fDetailNormalContrast3 < Default(1); Range(0, 8); UiType(Slider); UiGroup("Material3/Normal/12"); >; float g_fDetailRoughnessContrast3 < Range(-1, 1); UiType(Slider); UiGroup("Material3/Detail/12"); >;- float2 g_vDamageMinMax3 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material3/Damage Height/12"); >;+ float2 g_vDamageMinMax3 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material3/Damage Height/12"); >; float g_fDetailRoughnessBrightness3 < Default(1); Range(0, 10); UiType(Slider); UiGroup("Material3/Detail/13"); >; float g_fWearBleaching3 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup("Material3/Wear Edge/13"); >; float g_fDetailAnisotropyScalar3 < Range(-1, 1); UiType(Slider); UiGroup("Material3/Detail/14"); >;@@ -611,11 +611,11 @@ PS CreateInputTexture2D(TextureSubstrateMetalness3, Srgb, 8, "", "_metal", "Material3/Substrate Layer/40", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureSurfaceMetalness3, Linear, 8, "", "_metal", "Material3/Surface Layer/40", Default4(0, 0, 0, 0)); float g_fDamageBevelRoughnessBrightness3 < Default(1); Range(0, 2); UiType(Slider); UiGroup("Material3/Damage Bevel/40"); >;- float2 g_vSurfaceBurnishingMinMax3 < Default(0); UiType(VectorText); UiGroup("Material3/Burnishing/40"); >;+ float2 g_vSurfaceBurnishingMinMax3 < Default2(0, 1); UiType(VectorText); UiGroup("Material3/Burnishing/40"); >; CreateInputTexture2D(TextureSubstrateClothMask3, Srgb, 8, "", "_mask", "Material3/Substrate Layer/41", "materials/default/default_black_mask.tga"); CreateInputTexture2D(TextureSurfaceClothMask3, Linear, 8, "", "_mask", "Material3/Surface Layer/41", "materials/default/default_black_mask.tga"); float g_fDamageBevelAnisotropy3 < UiType(Slider); UiGroup("Material3/Damage Bevel/41"); >;- float2 g_vSubstrateBurnishingMinMax3 < Default(0); UiType(VectorText); UiGroup("Material3/Burnishing/41"); >;+ float2 g_vSubstrateBurnishingMinMax3 < Default2(0, 1); UiType(VectorText); UiGroup("Material3/Burnishing/41"); >; float g_fDamageBevelMetalness3 < UiType(Slider); UiGroup("Material3/Damage Bevel/50"); >; float g_fDamageBevelCloth3 < UiType(Slider); UiGroup("Material3/Damage Bevel/60"); >; bool g_bDamageBevelBlendToSubstrate3 < UiType(CheckBox); UiGroup("Material3/Damage Bevel/80"); >;@@ -626,7 +626,7 @@ PS CreateInputTexture2D(TextureGrime4, Srgb, 8, "", "_color", "Material4/Grime,6/1", Default4(0.5, 0.5, 0.5, 0)); CreateInputTexture2D(TextureSubstrateAlbedo4, Srgb, 8, "", "_color", "Material4/Substrate Layer,2/1", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceAlbedo4, Srgb, 8, "", "_color", "Material4/Surface Layer/1", Default4(1, 1, 1, 0));- float2 g_vDamageLevels4 < Default(0); UiType(VectorText); UiGroup("Material4/Detail Damage/1"); >;+ float2 g_vDamageLevels4 < Default2(0, 1); UiType(VectorText); UiGroup("Material4/Detail Damage/1"); >; CreateInputTexture2D(TextureSubstrateTintMask4, Linear, 8, "", "_tintmask", "Material4/Substrate Layer/2", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceTintMask4, Linear, 8, "", "_tintmask", "Material4/Surface Layer/2", Default4(1, 1, 1, 0)); float g_fCurvaturePower4 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup("Material4/Detail Damage/2"); >;@@ -650,16 +650,16 @@ PS CreateInputTexture2D(TextureDetailNormal4, Linear, 8, "", "_detailnormal", "Material4/Normal/10", Default4(0.5, 0.5, 0.5, 0.5)); CreateInputTexture2D(TextureGrunge4, Linear, 8, "", "_grunge", "Material4/Grunge/10", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageMetalness4 < UiType(Slider); UiGroup("Material4/Detail Damage/10"); >;- float2 g_vSurfaceGrimeMinMax4 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material4/Grime/10"); >;+ float2 g_vSurfaceGrimeMinMax4 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material4/Grime/10"); >; CreateInputTexture2D(TextureDamageNormal4, Linear, 8, "", "_damagenormal", "Material4/Normal/11", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageCloth4 < UiType(Slider); UiGroup("Material4/Detail Damage/11"); UiVisibility(F_CLOTH_SHADING); >; float g_fDamageHeightBlendSoftness4 < Default(0.01); UiType(Slider); UiGroup("Material4/Damage Height/11"); Expression(max(this,.001)); >; float g_fDetailGrunge4 < Range(0, 2); UiType(Slider); UiGroup("Material4/Grunge/11"); >; float g_fDetailScale4 < Default(4); Range(-10, 10); UiType(Slider); UiGroup("Material4/Detail/11"); >;- float2 g_vSubstrateGrimeMinMax4 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material4/Grime/11"); >;+ float2 g_vSubstrateGrimeMinMax4 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material4/Grime/11"); >; float g_fDetailNormalContrast4 < Default(1); Range(0, 8); UiType(Slider); UiGroup("Material4/Normal/12"); >; float g_fDetailRoughnessContrast4 < Range(-1, 1); UiType(Slider); UiGroup("Material4/Detail/12"); >;- float2 g_vDamageMinMax4 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material4/Damage Height/12"); >;+ float2 g_vDamageMinMax4 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material4/Damage Height/12"); >; float g_fDetailRoughnessBrightness4 < Default(1); Range(0, 10); UiType(Slider); UiGroup("Material4/Detail/13"); >; float g_fWearBleaching4 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup("Material4/Wear Edge/13"); >; float g_fDetailAnisotropyScalar4 < Range(-1, 1); UiType(Slider); UiGroup("Material4/Detail/14"); >;@@ -702,11 +702,11 @@ PS CreateInputTexture2D(TextureSubstrateMetalness4, Srgb, 8, "", "_metal", "Material4/Substrate Layer/40", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureSurfaceMetalness4, Linear, 8, "", "_metal", "Material4/Surface Layer/40", Default4(0, 0, 0, 0)); float g_fDamageBevelRoughnessBrightness4 < Default(1); Range(0, 2); UiType(Slider); UiGroup("Material4/Damage Bevel/40"); >;- float2 g_vSurfaceBurnishingMinMax4 < Default(0); UiType(VectorText); UiGroup("Material4/Burnishing/40"); >;+ float2 g_vSurfaceBurnishingMinMax4 < Default2(0, 1); UiType(VectorText); UiGroup("Material4/Burnishing/40"); >; CreateInputTexture2D(TextureSubstrateClothMask4, Srgb, 8, "", "_mask", "Material4/Substrate Layer/41", "materials/default/default_black_mask.tga"); CreateInputTexture2D(TextureSurfaceClothMask4, Linear, 8, "", "_mask", "Material4/Surface Layer/41", "materials/default/default_black_mask.tga"); float g_fDamageBevelAnisotropy4 < UiType(Slider); UiGroup("Material4/Damage Bevel/41"); >;- float2 g_vSubstrateBurnishingMinMax4 < Default(0); UiType(VectorText); UiGroup("Material4/Burnishing/41"); >;+ float2 g_vSubstrateBurnishingMinMax4 < Default2(0, 1); UiType(VectorText); UiGroup("Material4/Burnishing/41"); >; float g_fDamageBevelMetalness4 < UiType(Slider); UiGroup("Material4/Damage Bevel/50"); >; float g_fDamageBevelCloth4 < UiType(Slider); UiGroup("Material4/Damage Bevel/60"); >; bool g_bDamageBevelBlendToSubstrate4 < UiType(CheckBox); UiGroup("Material4/Damage Bevel/80"); >;@@ -969,7 +969,7 @@ PS layout(set = 1) uniform _2422 _Globals_; layout(set = 1, binding = 37) uniform texture2D g_tLayerMask;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 30) uniform texture2D g_tSurface; layout(set = 1, binding = 33) uniform texture2D g_tDetail1; layout(set = 1, binding = 39) uniform texture2D g_tDetail2;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_customglove_preview.slang
modified • +191 / -180 • changes: 371
Show patch
@@ -417,7 +417,7 @@ PS Texture2D g_tSurfaceProperties3 < Channel(R, Box3(TextureSurfaceAmbientOcclusion3), Linear); Channel(G, Box(TextureSurfaceMetalness3), Linear); Channel(B, Box(TextureSurfaceClothMask3), Linear); Channel(A, Box(TextureSurfaceHeight3), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tSurfaceProperties4 < Channel(R, Box3(TextureSurfaceAmbientOcclusion4), Linear); Channel(G, Box(TextureSurfaceMetalness4), Linear); Channel(B, Box(TextureSurfaceClothMask4), Linear); Channel(A, Box(TextureSurfaceHeight4), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tTintId < Channel(RGB, None(TextureObjectTintId), Linear); OutputFormat(R8_UNORM); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Material1@@ -439,10 +439,10 @@ PS float g_fSurfaceColorSaturation1 < Default(1); Range(0, 4); UiType(Slider); UiGroup("Material1/Surface Layer/7"); >; float g_fSubstrateColorBrightness1 < Default(1); Range(-8, 8); UiType(Slider); UiGroup("Material1/Substrate Layer/8"); >; float g_fSurfaceColorBrightness1 < Default(1); Range(-8, 8); UiType(Slider); UiGroup("Material1/Surface Layer/8"); >;- float2 g_vSurfaceGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/10"); >;+ float2 g_vSurfaceGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/10"); >; float g_fDamageHeightBlendSoftness1 < Default(0.01); UiType(Slider); UiGroup("Material1/Damage Height/11"); Expression(max(this,.001)); >;- float2 g_vSubstrateGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/11"); >;- float2 g_vDamageMinMax1 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material1/Damage Height/12"); >;+ float2 g_vSubstrateGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/11"); >;+ float2 g_vDamageMinMax1 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material1/Damage Height/12"); >; float g_fBurnishingGrime1 < Default(0.5); UiType(Slider); UiGroup("Material1/Grime/20"); >; float3 g_vBurnishingColorTint1 < Default3(1, 1, 1); UiType(Color); UiGroup("Material1/Burnishing,5/20"); >; float3 g_vDamageBevelColorTint1 < Default3(1, 1, 1); UiType(Color); UiGroup("Material1/Damage Bevel,4/20"); >;@@ -478,11 +478,11 @@ PS CreateInputTexture2D(TextureSubstrateMetalness1, Srgb, 8, "", "_metal", "Material1/Substrate Layer/40", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureSurfaceMetalness1, Linear, 8, "", "_metal", "Material1/Surface Layer/40", Default4(0, 0, 0, 0)); float g_fDamageBevelRoughnessBrightness1 < Default(1); Range(0, 2); UiType(Slider); UiGroup("Material1/Damage Bevel/40"); >;- float2 g_vSurfaceBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup("Material1/Burnishing/40"); >;+ float2 g_vSurfaceBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup("Material1/Burnishing/40"); >; CreateInputTexture2D(TextureSubstrateClothMask1, Srgb, 8, "", "_mask", "Material1/Substrate Layer/41", "materials/default/default_black_mask.tga"); CreateInputTexture2D(TextureSurfaceClothMask1, Linear, 8, "", "_mask", "Material1/Surface Layer/41", "materials/default/default_black_mask.tga"); float g_fDamageBevelAnisotropy1 < UiType(Slider); UiGroup("Material1/Damage Bevel/41"); >;- float2 g_vSubstrateBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup("Material1/Burnishing/41"); >;+ float2 g_vSubstrateBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup("Material1/Burnishing/41"); >; float g_fDamageBevelMetalness1 < UiType(Slider); UiGroup("Material1/Damage Bevel/50"); >; float g_fDamageBevelCloth1 < UiType(Slider); UiGroup("Material1/Damage Bevel/60"); >; bool g_bDamageBevelBlendToSubstrate1 < UiType(CheckBox); UiGroup("Material1/Damage Bevel/80"); >;@@ -506,10 +506,10 @@ PS float g_fSurfaceColorSaturation2 < Default(1); Range(0, 4); UiType(Slider); UiGroup("Material2/Surface Layer/7"); >; float g_fSubstrateColorBrightness2 < Default(1); Range(-8, 8); UiType(Slider); UiGroup("Material2/Substrate Layer/8"); >; float g_fSurfaceColorBrightness2 < Default(1); Range(-8, 8); UiType(Slider); UiGroup("Material2/Surface Layer/8"); >;- float2 g_vSurfaceGrimeMinMax2 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material2/Grime/10"); >;+ float2 g_vSurfaceGrimeMinMax2 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material2/Grime/10"); >; float g_fDamageHeightBlendSoftness2 < Default(0.01); UiType(Slider); UiGroup("Material2/Damage Height/11"); Expression(max(this,.001)); >;- float2 g_vSubstrateGrimeMinMax2 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material2/Grime/11"); >;- float2 g_vDamageMinMax2 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material2/Damage Height/12"); >;+ float2 g_vSubstrateGrimeMinMax2 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material2/Grime/11"); >;+ float2 g_vDamageMinMax2 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material2/Damage Height/12"); >; float g_fBurnishingGrime2 < Default(0.5); UiType(Slider); UiGroup("Material2/Grime/20"); >; float3 g_vBurnishingColorTint2 < Default3(1, 1, 1); UiType(Color); UiGroup("Material2/Burnishing,5/20"); >; float3 g_vDamageBevelColorTint2 < Default3(1, 1, 1); UiType(Color); UiGroup("Material2/Damage Bevel,4/20"); >;@@ -537,11 +537,11 @@ PS CreateInputTexture2D(TextureSubstrateMetalness2, Srgb, 8, "", "_metal", "Material2/Substrate Layer/40", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureSurfaceMetalness2, Linear, 8, "", "_metal", "Material2/Surface Layer/40", Default4(0, 0, 0, 0)); float g_fDamageBevelRoughnessBrightness2 < Default(1); Range(0, 2); UiType(Slider); UiGroup("Material2/Damage Bevel/40"); >;- float2 g_vSurfaceBurnishingMinMax2 < Default(0); UiType(VectorText); UiGroup("Material2/Burnishing/40"); >;+ float2 g_vSurfaceBurnishingMinMax2 < Default2(0, 1); UiType(VectorText); UiGroup("Material2/Burnishing/40"); >; CreateInputTexture2D(TextureSubstrateClothMask2, Srgb, 8, "", "_mask", "Material2/Substrate Layer/41", "materials/default/default_black_mask.tga"); CreateInputTexture2D(TextureSurfaceClothMask2, Linear, 8, "", "_mask", "Material2/Surface Layer/41", "materials/default/default_black_mask.tga"); float g_fDamageBevelAnisotropy2 < UiType(Slider); UiGroup("Material2/Damage Bevel/41"); >;- float2 g_vSubstrateBurnishingMinMax2 < Default(0); UiType(VectorText); UiGroup("Material2/Burnishing/41"); >;+ float2 g_vSubstrateBurnishingMinMax2 < Default2(0, 1); UiType(VectorText); UiGroup("Material2/Burnishing/41"); >; float g_fDamageBevelMetalness2 < UiType(Slider); UiGroup("Material2/Damage Bevel/50"); >; float g_fDamageBevelCloth2 < UiType(Slider); UiGroup("Material2/Damage Bevel/60"); >; bool g_bDamageBevelBlendToSubstrate2 < UiType(CheckBox); UiGroup("Material2/Damage Bevel/80"); >;@@ -565,10 +565,10 @@ PS float g_fSurfaceColorSaturation3 < Default(1); Range(0, 4); UiType(Slider); UiGroup("Material3/Surface Layer/7"); >; float g_fSubstrateColorBrightness3 < Default(1); Range(-8, 8); UiType(Slider); UiGroup("Material3/Substrate Layer/8"); >; float g_fSurfaceColorBrightness3 < Default(1); Range(-8, 8); UiType(Slider); UiGroup("Material3/Surface Layer/8"); >;- float2 g_vSurfaceGrimeMinMax3 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material3/Grime/10"); >;+ float2 g_vSurfaceGrimeMinMax3 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material3/Grime/10"); >; float g_fDamageHeightBlendSoftness3 < Default(0.01); UiType(Slider); UiGroup("Material3/Damage Height/11"); Expression(max(this,.001)); >;- float2 g_vSubstrateGrimeMinMax3 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material3/Grime/11"); >;- float2 g_vDamageMinMax3 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material3/Damage Height/12"); >;+ float2 g_vSubstrateGrimeMinMax3 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material3/Grime/11"); >;+ float2 g_vDamageMinMax3 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material3/Damage Height/12"); >; float g_fBurnishingGrime3 < Default(0.5); UiType(Slider); UiGroup("Material3/Grime/20"); >; float3 g_vBurnishingColorTint3 < Default3(1, 1, 1); UiType(Color); UiGroup("Material3/Burnishing,5/20"); >; float3 g_vDamageBevelColorTint3 < Default3(1, 1, 1); UiType(Color); UiGroup("Material3/Damage Bevel,4/20"); >;@@ -596,11 +596,11 @@ PS CreateInputTexture2D(TextureSubstrateMetalness3, Srgb, 8, "", "_metal", "Material3/Substrate Layer/40", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureSurfaceMetalness3, Linear, 8, "", "_metal", "Material3/Surface Layer/40", Default4(0, 0, 0, 0)); float g_fDamageBevelRoughnessBrightness3 < Default(1); Range(0, 2); UiType(Slider); UiGroup("Material3/Damage Bevel/40"); >;- float2 g_vSurfaceBurnishingMinMax3 < Default(0); UiType(VectorText); UiGroup("Material3/Burnishing/40"); >;+ float2 g_vSurfaceBurnishingMinMax3 < Default2(0, 1); UiType(VectorText); UiGroup("Material3/Burnishing/40"); >; CreateInputTexture2D(TextureSubstrateClothMask3, Srgb, 8, "", "_mask", "Material3/Substrate Layer/41", "materials/default/default_black_mask.tga"); CreateInputTexture2D(TextureSurfaceClothMask3, Linear, 8, "", "_mask", "Material3/Surface Layer/41", "materials/default/default_black_mask.tga"); float g_fDamageBevelAnisotropy3 < UiType(Slider); UiGroup("Material3/Damage Bevel/41"); >;- float2 g_vSubstrateBurnishingMinMax3 < Default(0); UiType(VectorText); UiGroup("Material3/Burnishing/41"); >;+ float2 g_vSubstrateBurnishingMinMax3 < Default2(0, 1); UiType(VectorText); UiGroup("Material3/Burnishing/41"); >; float g_fDamageBevelMetalness3 < UiType(Slider); UiGroup("Material3/Damage Bevel/50"); >; float g_fDamageBevelCloth3 < UiType(Slider); UiGroup("Material3/Damage Bevel/60"); >; bool g_bDamageBevelBlendToSubstrate3 < UiType(CheckBox); UiGroup("Material3/Damage Bevel/80"); >;@@ -624,10 +624,10 @@ PS float g_fSurfaceColorSaturation4 < Default(1); Range(0, 4); UiType(Slider); UiGroup("Material4/Surface Layer/7"); >; float g_fSubstrateColorBrightness4 < Default(1); Range(-8, 8); UiType(Slider); UiGroup("Material4/Substrate Layer/8"); >; float g_fSurfaceColorBrightness4 < Default(1); Range(-8, 8); UiType(Slider); UiGroup("Material4/Surface Layer/8"); >;- float2 g_vSurfaceGrimeMinMax4 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material4/Grime/10"); >;+ float2 g_vSurfaceGrimeMinMax4 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material4/Grime/10"); >; float g_fDamageHeightBlendSoftness4 < Default(0.01); UiType(Slider); UiGroup("Material4/Damage Height/11"); Expression(max(this,.001)); >;- float2 g_vSubstrateGrimeMinMax4 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material4/Grime/11"); >;- float2 g_vDamageMinMax4 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material4/Damage Height/12"); >;+ float2 g_vSubstrateGrimeMinMax4 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material4/Grime/11"); >;+ float2 g_vDamageMinMax4 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material4/Damage Height/12"); >; float g_fBurnishingGrime4 < Default(0.5); UiType(Slider); UiGroup("Material4/Grime/20"); >; float3 g_vBurnishingColorTint4 < Default3(1, 1, 1); UiType(Color); UiGroup("Material4/Burnishing,5/20"); >; float3 g_vDamageBevelColorTint4 < Default3(1, 1, 1); UiType(Color); UiGroup("Material4/Damage Bevel,4/20"); >;@@ -655,11 +655,11 @@ PS CreateInputTexture2D(TextureSubstrateMetalness4, Srgb, 8, "", "_metal", "Material4/Substrate Layer/40", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureSurfaceMetalness4, Linear, 8, "", "_metal", "Material4/Surface Layer/40", Default4(0, 0, 0, 0)); float g_fDamageBevelRoughnessBrightness4 < Default(1); Range(0, 2); UiType(Slider); UiGroup("Material4/Damage Bevel/40"); >;- float2 g_vSurfaceBurnishingMinMax4 < Default(0); UiType(VectorText); UiGroup("Material4/Burnishing/40"); >;+ float2 g_vSurfaceBurnishingMinMax4 < Default2(0, 1); UiType(VectorText); UiGroup("Material4/Burnishing/40"); >; CreateInputTexture2D(TextureSubstrateClothMask4, Srgb, 8, "", "_mask", "Material4/Substrate Layer/41", "materials/default/default_black_mask.tga"); CreateInputTexture2D(TextureSurfaceClothMask4, Linear, 8, "", "_mask", "Material4/Surface Layer/41", "materials/default/default_black_mask.tga"); float g_fDamageBevelAnisotropy4 < UiType(Slider); UiGroup("Material4/Damage Bevel/41"); >;- float2 g_vSubstrateBurnishingMinMax4 < Default(0); UiType(VectorText); UiGroup("Material4/Burnishing/41"); >;+ float2 g_vSubstrateBurnishingMinMax4 < Default2(0, 1); UiType(VectorText); UiGroup("Material4/Burnishing/41"); >; float g_fDamageBevelMetalness4 < UiType(Slider); UiGroup("Material4/Damage Bevel/50"); >; float g_fDamageBevelCloth4 < UiType(Slider); UiGroup("Material4/Damage Bevel/60"); >; bool g_bDamageBevelBlendToSubstrate4 < UiType(CheckBox); UiGroup("Material4/Damage Bevel/80"); >;@@ -734,12 +734,12 @@ PS #endif #extension GL_KHR_shader_subgroup_arithmetic : require - struct _2872+ struct _113 { vec4 _m0[3]; }; - struct _71+ struct _323 { vec4 _m0[4]; };@@ -755,12 +755,12 @@ PS vec4 _m6; }; - struct _193+ struct _1106 { _1677 _m0[128]; }; - struct _2139+ struct _244 { mat4 _m0[4]; };@@ -962,15 +962,15 @@ PS layout(set = 1) uniform _2806 PerViewConstantBufferCsgo_t; - struct _854+ struct _134 { vec4 _m0; vec4 _m1; vec4 _m2; vec4 _m3; vec4 _m4;- _2872 _m5;- _71 _m6;+ _113 _m5;+ _323 _m6; vec4 _m7; vec4 _m8; vec4 _m9;@@ -979,7 +979,7 @@ PS uvec4 _m12; vec4 _m13; vec4 _m14;- _193 _m15;+ _1106 _m15; vec4 _m16; vec4 _m17; int _m18;@@ -989,11 +989,11 @@ PS float _m22; float _m23; float _m24;- _2139 _m25;- _71 _m26;+ _244 _m25;+ _323 _m26; }; - layout(set = 3) uniform _854 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _134 PerViewLightingConstantBufferGpu_t; struct _1194 {@@ -1016,7 +1016,7 @@ PS } g_BarnLights_1; layout(set = 1, binding = 85) uniform texture2D g_tLayerId;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 52) uniform texture2D g_tSurfaceNormal1; layout(set = 1, binding = 55) uniform texture2D g_tSubstrateNormal1; layout(set = 1, binding = 60) uniform texture2D g_tSurfaceNormal2;@@ -1055,18 +1055,18 @@ PS layout(set = 1, binding = 14) uniform sampler g_sAniso; layout(set = 1, binding = 83) uniform texture2D g_tNormal; layout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;- layout(set = 1, binding = 22) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 23) uniform sampler g_sCookieSampler; layout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;- layout(set = 1, binding = 18) uniform sampler g_sPointClamp;+ layout(set = 1, binding = 19) uniform sampler g_sPointClamp; layout(set = 1, binding = 39) uniform texture2D g_tSsao;- layout(set = 1, binding = 19) uniform sampler g_sUserConfig;- layout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 20) uniform sampler g_sUserConfig;+ layout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture; layout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;- layout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;+ layout(set = 1, binding = 16) uniform sampler g_sBilinearClamp; layout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture; @@ -2668,162 +2668,173 @@ PS { _21721 = _21720; }- float _21722;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m18 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13151;- vec3 _14975;- int _13039 = 0;- for (;;)- {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))- {- _13151 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18348 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];- float _12779 = _18348.x;- if (max(abs(_12779), abs(_18348.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])- {- vec3 _19470 = vec3(_12779, _18348.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;- vec3 _20489 = _19470;- _20489.x = _20561.x;- _20489.y = _20561.y;- _13151 = saturate(_22193.x * _22193.y);- _14975 = _20489;- _10191 = _13039;- break;- }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)+ float _12505;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m18 != 0) {- vec2 _7045;- vec2 _7046;- vec2 _7735;- float _8969;- float _8970;- float _15997;- float _17375;- vec2 _18870;- vec4 _20581;- vec4 _22023;- float _23727;- do+ int _23989;+ int _10191;+ float _13151;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- float _21472 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);- _20581 = PerViewLightingConstantBufferGpu_t._m0;- _22023 = PerViewLightingConstantBufferGpu_t._m1;- _17375 = PerViewLightingConstantBufferGpu_t._m2.z;- _15997 = PerViewLightingConstantBufferGpu_t._m3.z;- _18870 = vec2(_17375, _15997);- _8969 = PerViewLightingConstantBufferGpu_t._m2.y;- _7045 = vec2(_8969, _15997);- _8970 = PerViewLightingConstantBufferGpu_t._m3.y;- _7046 = vec2(_17375, _8970);- _7735 = vec2(_8969, _8970);- float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21472), 0.0)).xyzw, vec4(0.25));- bool _12915;- if (_15310 == 0.0)- {- _12915 = true;- }- else+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18)) {- _12915 = _15310 == 1.0;+ _13151 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break; }- if (_12915)+ vec4 _18348 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];+ float _12779 = _18348.x;+ if (max(abs(_12779), abs(_18348.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039]) {- _23727 = _15310;+ vec3 _19470 = vec3(_12779, _18348.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;+ vec3 _20489 = _19470;+ _20489.x = _20561.x;+ _20489.y = _20561.y;+ _13151 = saturate(_22193.x * _22193.y);+ _14975 = _20489;+ _10191 = _13039; break; }- _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17375, 0.0)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15997)).xy, _21472), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21472), 0.0) * _22023.y);- break;- } while(false);- float _12502;- SPIRV_CROSS_BRANCH- if (_13151 < 1.0)+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue;+ }+ float _19363;+ if (_10191 >= 0) {- float _7990;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ vec2 _7045;+ vec2 _7046;+ vec2 _7735;+ float _8969;+ float _8970;+ float _15997;+ float _17375;+ vec2 _18870;+ vec4 _20581;+ vec4 _22023;+ float _23727;+ do {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;- vec3 _20490;- _20490.x = _20562.x;- _20490.y = _20562.y;- float _12501;- do+ float _21472 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);+ _20581 = PerViewLightingConstantBufferGpu_t._m0;+ _22023 = PerViewLightingConstantBufferGpu_t._m1;+ _17375 = PerViewLightingConstantBufferGpu_t._m2.z;+ _15997 = PerViewLightingConstantBufferGpu_t._m3.z;+ _18870 = vec2(_17375, _15997);+ _8969 = PerViewLightingConstantBufferGpu_t._m2.y;+ _7045 = vec2(_8969, _15997);+ _8970 = PerViewLightingConstantBufferGpu_t._m3.y;+ _7046 = vec2(_17375, _8970);+ _7735 = vec2(_8969, _8970);+ float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21472), 0.0)).xyzw, vec4(0.25));+ bool _12915;+ if (_15310 == 0.0) {- float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);- float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));- bool _12916;- if (_15311 == 0.0)- {- _12916 = true;- }- else- {- _12916 = _15311 == 1.0;- }- if (_12916)+ _12915 = true;+ }+ else+ {+ _12915 = _15310 == 1.0;+ }+ if (_12915)+ {+ _23727 = _15310;+ break;+ }+ _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17375, 0.0)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21472), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15997)).xy, _21472), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21472), 0.0) * _22023.y);+ break;+ } while(false);+ float _12502;+ SPIRV_CROSS_BRANCH+ if (_13151 < 1.0)+ {+ float _7991;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;+ vec3 _20490;+ _20490.x = _20562.x;+ _20490.y = _20562.y;+ float _12501;+ do {- _12501 = _15311;+ float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);+ float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));+ bool _12916;+ if (_15311 == 0.0)+ {+ _12916 = true;+ }+ else+ {+ _12916 = _15311 == 1.0;+ }+ if (_12916)+ {+ _12501 = _15311;+ break;+ }+ _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(_17375, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(0.0, _15997)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20490.xy, _20322), 0.0) * _22023.y); break;- }- _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(_17375, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20490.xy + vec2(0.0, _15997)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20490.xy, _20322), 0.0) * _22023.y);- break;- } while(false);- _7990 = _12501;+ } while(false);+ _7991 = _12501;+ }+ else+ {+ _7991 = 1.0;+ }+ _12502 = mix(_7991, _23727, _13151); } else {- _7990 = 1.0;+ _12502 = _23727; }- _12502 = mix(_7990, _23727, _13151);+ _19363 = _12502; } else {- _12502 = _23727;+ _19363 = 1.0; }- _19363 = _12502;- }- else- {- _19363 = 1.0;- }- float _13279 = mix(_19363, 1.0, saturate((distance(_12292.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));- float _12503;- if (_24465.y)- {- _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ float _13279 = mix(_19363, 1.0, saturate((distance(_12292.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));+ float _12503;+ if (_24465.y)+ {+ _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12503 = _13279;+ }+ _12505 = _12503; } else {- _12503 = _13279;+ _12505 = 1.0; }- _21722 = _12503;+ _12320 = _12505; } else {- _21722 = 1.0;+ _12320 = 1.0; } vec3 _9717; vec3 _24892; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21722) > 0.0)+ if ((_8634 * _12320) > 0.0) { float _11797 = max(0.0, dot(_24283.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz)); vec2 _9842 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));@@ -2854,7 +2865,7 @@ PS { _11621 = _18393; }- vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21722).xyz;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz; _9717 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808); _24892 = (((_22315 + ((vec3(1.0) - _22315) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * _11621).xyz * _11797).xyz * _16808; }@@ -3055,7 +3066,7 @@ PS } else {- vec3 _12505;+ vec3 _12506; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -3066,12 +3077,12 @@ PS vec3 _20479 = vec4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz; vec3 _23614 = _17795.xyz; vec3 _12176 = ((_20479 * g_BarnLights_1._m0[_12608]._m5.w) + (_23614 * _15156)) + cross(_23614, _20479);- vec3 _14156 = vec3(vec2(atan(_12176.y, -_12176.x) * 0.15915493667125701904296875, acos(_12176.z) * 0.3183098733425140380859375), -g_BarnLights_1._m0[_12608]._m4.w);- vec2 _20564 = (_14156.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;- vec3 _20492 = _14156;+ vec3 _14157 = vec3(vec2(atan(_12176.y, -_12176.x) * 0.15915493667125701904296875, acos(_12176.z) * 0.3183098733425140380859375), -g_BarnLights_1._m0[_12608]._m4.w);+ vec2 _20564 = (_14157.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;+ vec3 _20492 = _14157; _20492.x = _20564.x; _20492.y = _20564.y;- _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;+ _12506 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz; } else {@@ -3080,9 +3091,9 @@ PS vec3 _20491 = _13791; _20491.x = _20563.x; _20491.y = _20563.y;- _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;+ _12506 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz; }- _21548 = _12505;+ _21548 = _12506; } if (all(equal(_21548.xyz, vec3(0.0)))) {@@ -3110,8 +3121,8 @@ PS do { float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);- vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;- float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));+ vec2 _14617 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;+ float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25)); bool _12918; if (_15312 == 0.0) {@@ -3126,7 +3137,7 @@ PS _24972 = _15312; break; }- _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);+ _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14617, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y); break; } while(false); vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);@@ -3162,8 +3173,8 @@ PS SPIRV_CROSS_BRANCH if (_14878) {- float _9254 = dot(_9843.xy, vec2(0.5));- float _20830 = max(_9254 * _9254, 9.9999997473787516355514526367188e-06);+ float _9253 = dot(_9843.xy, vec2(0.5));+ float _20830 = max(_9253 * _9253, 9.9999997473787516355514526367188e-06); float _21402 = saturate(_25074 + 0.001000000047497451305389404296875); _11622 = mix(_18395, ((((2.0 + (1.0 / _20830)) * pow(1.0 - (_7801 * _7801), 0.5 / _20830)) / ((_11798 + _21402) - (_11798 * _21402))) * 0.124999918043613433837890625) * _11798, _7397); }@@ -3218,8 +3229,8 @@ PS } float _23616 = PerViewLightingConstantBufferGpu_t._m14.y * sqrt(_17751); float _17389 = _17751 * _17751;- float _20712 = saturate(1.0 - _17389);- vec3 _25271 = normalize(mix(_19630, reflect(_10145.xyz, _19630.xyz).xyz, vec3(_20712 * (sqrt(_20712) + _17389))));+ float _20711 = saturate(1.0 - _17389);+ vec3 _25271 = normalize(mix(_19630, reflect(_10145.xyz, _19630.xyz).xyz, vec3(_20711 * (sqrt(_20711) + _17389)))); uvec2 _6814 = uvec2(_18180.xy - PerViewConstantBuffer_t._m0.xy) >> _7709; uint _19949 = PerViewLightingConstantBufferGpu_t._m11.y + (((_6814.y * PerViewLightingConstantBufferGpu_t._m12.y) + _6814.x) * PerViewLightingConstantBufferGpu_t._m11.z); uint _23394 = PerViewLightingConstantBufferGpu_t._m11.x + (uint(clamp(_6864 * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m11.z);@@ -3325,7 +3336,7 @@ PS } float _20784 = max(0.0, dot(_16992, _13505)); vec4 _11487 = textureLod(sampler2DArray(g_tBRDFLookup, g_sBilinearClamp), vec3((vec2(_17751, sqrt(1.0 - _20784)) * 0.984375) + vec2(0.0078125), 1.0).xyz, 0.0);- vec3 _19001 = mix(_11487.xxx, _11487.yyy, _12351);+ vec3 _19002 = mix(_11487.xxx, _11487.yyy, _12351); float _10020; vec3 _23472; SPIRV_CROSS_BRANCH@@ -3335,12 +3346,12 @@ PS float _22187 = max(_17389, 9.9999997473787516355514526367188e-06); float _21363 = saturate(_20784 + 0.001000000047497451305389404296875); _10020 = 1.0 - _7397;- _23472 = mix(_19001, _12351 * ((((2.0 + (1.0 / _22187)) * pow(1.0 - (_7173 * _7173), 0.5 / _22187)) / ((1.0 + _21363) - _21363)) * 0.124999918043613433837890625), vec3(_7397));+ _23472 = mix(_19002, _12351 * ((((2.0 + (1.0 / _22187)) * pow(1.0 - (_7173 * _7173), 0.5 / _22187)) / ((1.0 + _21363) - _21363)) * 0.124999918043613433837890625), vec3(_7397)); } else { _10020 = 1.0;- _23472 = _19001;+ _23472 = _19002; } float _8850 = 1.0 - _11487.y; vec3 _15517 = _12351 + ((vec3(1.0) - _12351) * vec3(0.0476190485060214996337890625));game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_customweapon.slang
modified • +5 / -5 • changes: 10
Show patch
@@ -891,10 +891,10 @@ PS float g_fOverlayMetalness < UiType(Slider); UiGroup("Paint Inputs/Lighting/22"); >; float g_fOverlayStrength < Default(1); UiType(Slider); UiGroup("Paint Inputs/Overlay/22"); >; float g_flCaseHardeningRampOffset < UiType(Slider); UiGroup("Paint Inputs/Pattern/22"); >;- float3 g_vHalftonePatternLevels < Default2(0, 0.5); Range2(-10, 0, 10, 1); UiType(VectorText); UiGroup("Paint Inputs/Pattern/22"); Expression(float3(-this.x,-1.4427*log(max(.0001,1-this.y)),2-this.z)); >;+ float3 g_vHalftonePatternLevels < Default3(0, 0.5, 1); Range2(-10, 0, 10, 1); UiType(VectorText); UiGroup("Paint Inputs/Pattern/22"); Expression(float3(-this.x,-1.4427*log(max(.0001,1-this.y)),2-this.z)); >; float g_fOverlayMaterialStrength < Default(1); UiType(Slider); UiGroup("Paint Inputs/Overlay/23"); >;- float4 g_vCaseHardening < Default(0); UiType(VectorText); UiGroup("Paint Inputs/Pattern/23"); >;- float2 g_vHalftoneThresholds < Default(0); UiType(VectorText); UiGroup("Paint Inputs/Pattern/23"); >;+ float4 g_vCaseHardening < Default2(0, 1); UiType(VectorText); UiGroup("Paint Inputs/Pattern/23"); >;+ float2 g_vHalftoneThresholds < Default2(0, 1); UiType(VectorText); UiGroup("Paint Inputs/Pattern/23"); >; float g_fOverlayBrightness < Default(1); Range(0, 2); UiType(Slider); UiGroup("Paint Inputs/Overlay/24"); >; float g_flHalftoneRotationOffsetA < Range(-360, 360); UiType(Slider); UiGroup("Paint Inputs/Pattern/24"); >; float g_fOverlayDurability < UiType(Slider); UiGroup("Paint Inputs/Overlay/25"); Expression(1-this); >;@@ -1377,10 +1377,10 @@ PS layout(set = 1) uniform _2733 _Globals_; layout(set = 1, binding = 30) uniform texture2D g_tAmbientOcclusion;- layout(set = 1, binding = 23) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 24) uniform sampler g_sTrilinearClamp; layout(set = 1, binding = 31) uniform texture2D g_tMasks; layout(set = 1, binding = 38) uniform texture2D g_tWear;- layout(set = 1, binding = 22) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 23) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 39) uniform texture2D g_tGrunge; layout(set = 1, binding = 35) uniform texture2D g_tMetalness; layout(set = 1, binding = 34) uniform texture2D g_tColor;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_decal_renderer.slang
modified • +2 / -2 • changes: 4
Show patch
@@ -186,9 +186,9 @@ PS // Static combos: S_SUPPORTS_DECALS Texture2D<float4> g_tPreviousRT : register(t30, space1);- SamplerState AddressU_Clamp_AddressV_Clamp : register(s21, space1);+ SamplerState AddressU_Clamp_AddressV_Clamp : register(s22, space1); Texture2D<float4> g_tDecals : register(t31, space1);- SamplerState g_sTrilinearClamp : register(s17, space1);+ SamplerState g_sTrilinearClamp : register(s18, space1); static float4 input_1; static float3 input_2;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_decalmodulate.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -259,7 +259,7 @@ PS }; Texture2D<float4> g_tColor : register(t43, space1);- SamplerState g_sUserConfigAllowGlobalMipBias : register(s20, space1);+ SamplerState g_sUserConfigAllowGlobalMipBias : register(s21, space1); static float4 input_2; static float4 input_3;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_effects.slang
modified • +4 / -4 • changes: 8
Show patch
@@ -327,7 +327,7 @@ PS Texture2D g_tSceneDepth < Attribute("SceneDepth"); SrgbRead(false); >; Texture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >; Texture2D g_tZeroth_Moment < Attribute("zeroth_moment"); SrgbRead(true); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Color@@ -427,13 +427,13 @@ PS }; Texture2D<float4> g_tColor : register(t51, space1);- SamplerState g_sUserConfigAllowGlobalMipBias : register(s20, space1);+ SamplerState g_sUserConfigAllowGlobalMipBias : register(s21, space1); Texture2D<float4> g_tMask1 : register(t52, space1);- SamplerState g_sUserConfig : register(s19, space1);+ SamplerState g_sUserConfig : register(s20, space1); Texture2D<float4> g_tMask2 : register(t53, space1); Texture2D<float4> g_tMask3 : register(t54, space1); TextureCube<float4> g_tFogCubeTexture : register(t42, space1);- SamplerState g_sTrilinearClamp : register(s17, space1);+ SamplerState g_sTrilinearClamp : register(s18, space1); static bool gl_FrontFacing; static float3 input_0;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_environment.slang
modified • +1688 / -1492 • changes: 3180
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_environment_blend.slang
modified • +2073 / -1854 • changes: 3927
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_eyeball.slang
modified • +163 / -152 • changes: 315
Show patch
@@ -432,7 +432,7 @@ PS Texture2D g_tParticleShadowBuffer < Attribute("ParticleShadowBuffer"); SrgbRead(false); >; Texture2D g_tShadowDepthBufferDepth < Attribute("ShadowDepthBuffer"); SrgbRead(false); >; Texture2D g_tSsao < Attribute("SSAOOcclusionFactor"); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Color@@ -484,12 +484,12 @@ PS #endif #extension GL_KHR_shader_subgroup_arithmetic : require - struct _2914+ struct _155 { vec4 _m0[3]; }; - struct _113+ struct _365 { vec4 _m0[4]; };@@ -505,12 +505,12 @@ PS vec4 _m6; }; - struct _2264+ struct _166 { _1677 _m0[128]; }; - struct _2326+ struct _430 { mat4 _m0[4]; };@@ -592,15 +592,15 @@ PS layout(set = 1) uniform _1194 PerViewConstantBuffer_t; - struct _735+ struct _15 { vec4 _m0; vec4 _m1; vec4 _m2; vec4 _m3; vec4 _m4;- _2914 _m5;- _113 _m6;+ _155 _m5;+ _365 _m6; vec4 _m7; vec4 _m8; vec4 _m9;@@ -609,7 +609,7 @@ PS uvec4 _m12; vec4 _m13; vec4 _m14;- _2264 _m15;+ _166 _m15; vec4 _m16; vec4 _m17; int _m18;@@ -619,11 +619,11 @@ PS float _m22; float _m23; float _m24;- _2326 _m25;- _113 _m26;+ _430 _m25;+ _365 _m26; }; - layout(set = 3) uniform _735 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _15 PerViewLightingConstantBufferGpu_t; layout(set = 3, binding = 30, std430) readonly buffer g_CullBits {@@ -636,25 +636,25 @@ PS } g_BarnLights_1; layout(set = 1, binding = 51) uniform texture2D g_tColor;- layout(set = 1, binding = 20) uniform sampler g_sUserConfigAllowGlobalMipBias;+ layout(set = 1, binding = 21) uniform sampler g_sUserConfigAllowGlobalMipBias; layout(set = 1, binding = 53) uniform texture2D g_tEyeMask1; layout(set = 1, binding = 14) uniform sampler g_sAniso; layout(set = 1, binding = 52) uniform texture2D g_tEyeAlbedo1;- layout(set = 1, binding = 25) uniform sampler AddressU_Mirror_AddressV_Mirror_Filter_Anisotropic_MaxAniso_8;+ layout(set = 1, binding = 26) uniform sampler AddressU_Mirror_AddressV_Mirror_Filter_Anisotropic_MaxAniso_8; layout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;- layout(set = 1, binding = 22) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 23) uniform sampler g_sCookieSampler; layout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;- layout(set = 1, binding = 18) uniform sampler g_sPointClamp;+ layout(set = 1, binding = 19) uniform sampler g_sPointClamp; layout(set = 1, binding = 39) uniform texture2D g_tSsao;- layout(set = 1, binding = 19) uniform sampler g_sUserConfig;- layout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 20) uniform sampler g_sUserConfig;+ layout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture; layout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;- layout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;+ layout(set = 1, binding = 16) uniform sampler g_sBilinearClamp; layout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture; @@ -921,162 +921,173 @@ PS { _21711 = _21710; }- float _21712;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12885.xyz);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m18 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13139;- vec3 _14977;- int _13040 = 0;- for (;;)- {- if (!(_13040 < PerViewLightingConstantBufferGpu_t._m18))- {- _13139 = 1.0;- _14977 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13040];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13040])- {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13040].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13040].xy;- vec3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13139 = saturate(_22193.x * _22193.y);- _14977 = _20488;- _10191 = _13040;- break;- }- _23989 = _13040 + 1;- _13040 = _23989;- continue;- }- float _19364;- if (_10191 >= 0)+ float _12505;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m18 != 0) {- vec2 _7045;- vec2 _7046;- vec2 _7735;- float _8969;- float _8970;- float _15996;- float _17299;- vec2 _18870;- vec4 _20581;- vec4 _22023;- float _23727;- do+ int _23989;+ int _10191;+ float _13139;+ vec3 _14977;+ int _13040 = 0;+ for (;;) {- float _21452 = saturate(_14977.z + PerViewLightingConstantBufferGpu_t._m19);- _20581 = PerViewLightingConstantBufferGpu_t._m0;- _22023 = PerViewLightingConstantBufferGpu_t._m1;- _17299 = PerViewLightingConstantBufferGpu_t._m2.z;- _15996 = PerViewLightingConstantBufferGpu_t._m3.z;- _18870 = vec2(_17299, _15996);- _8969 = PerViewLightingConstantBufferGpu_t._m2.y;- _7045 = vec2(_8969, _15996);- _8970 = PerViewLightingConstantBufferGpu_t._m3.y;- _7046 = vec2(_17299, _8970);- _7735 = vec2(_8969, _8970);- float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));- bool _12887;- if (_15310 == 0.0)+ if (!(_13040 < PerViewLightingConstantBufferGpu_t._m18)) {- _12887 = true;- }- else- {- _12887 = _15310 == 1.0;+ _13139 = 1.0;+ _14977 = vec3(0.0);+ _10191 = -1;+ break; }- if (_12887)+ vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13040];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13040]) {- _23727 = _15310;+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13040].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13040].xy;+ vec3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13139 = saturate(_22193.x * _22193.y);+ _14977 = _20488;+ _10191 = _13040; break; }- _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14977.xy, _21452), 0.0) * _22023.y);- break;- } while(false);- float _12503;- SPIRV_CROSS_BRANCH- if (_13139 < 1.0)+ _23989 = _13040 + 1;+ _13040 = _23989;+ continue;+ }+ float _19364;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ vec2 _7045;+ vec2 _7046;+ vec2 _7735;+ float _8969;+ float _8970;+ float _15996;+ float _17299;+ vec2 _18870;+ vec4 _20581;+ vec4 _22023;+ float _23727;+ do {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;- vec3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- float _12502;- do+ float _21452 = saturate(_14977.z + PerViewLightingConstantBufferGpu_t._m19);+ _20581 = PerViewLightingConstantBufferGpu_t._m0;+ _22023 = PerViewLightingConstantBufferGpu_t._m1;+ _17299 = PerViewLightingConstantBufferGpu_t._m2.z;+ _15996 = PerViewLightingConstantBufferGpu_t._m3.z;+ _18870 = vec2(_17299, _15996);+ _8969 = PerViewLightingConstantBufferGpu_t._m2.y;+ _7045 = vec2(_8969, _15996);+ _8970 = PerViewLightingConstantBufferGpu_t._m3.y;+ _7046 = vec2(_17299, _8970);+ _7735 = vec2(_8969, _8970);+ float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));+ bool _12887;+ if (_15310 == 0.0) {- float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);- float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));- bool _12888;- if (_15311 == 0.0)- {- _12888 = true;- }- else- {- _12888 = _15311 == 1.0;- }- if (_12888)+ _12887 = true;+ }+ else+ {+ _12887 = _15310 == 1.0;+ }+ if (_12887)+ {+ _23727 = _15310;+ break;+ }+ _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14977.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14977.xy, _21452), 0.0) * _22023.y);+ break;+ } while(false);+ float _12503;+ SPIRV_CROSS_BRANCH+ if (_13139 < 1.0)+ {+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;+ vec3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ float _12502;+ do {- _12502 = _15311;+ float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);+ float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));+ bool _12888;+ if (_15311 == 0.0)+ {+ _12888 = true;+ }+ else+ {+ _12888 = _15311 == 1.0;+ }+ if (_12888)+ {+ _12502 = _15311;+ break;+ }+ _12502 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y); break;- }- _12502 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y);- break;- } while(false);- _7934 = _12502;+ } while(false);+ _7934 = _12502;+ }+ else+ {+ _7934 = 1.0;+ }+ _12503 = mix(_7934, _23727, _13139); } else {- _7934 = 1.0;+ _12503 = _23727; }- _12503 = mix(_7934, _23727, _13139);+ _19364 = _12503; } else {- _12503 = _23727;+ _19364 = 1.0; }- _19364 = _12503;- }- else- {- _19364 = 1.0;- }- float _13279 = mix(_19364, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));- float _12504;- if (_24465.y)- {- _12504 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ float _13279 = mix(_19364, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));+ float _12504;+ if (_24465.y)+ {+ _12504 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12504 = _13279;+ }+ _12505 = _12504; } else {- _12504 = _13279;+ _12505 = 1.0; }- _21712 = _12504;+ _12320 = _12505; } else {- _21712 = 1.0;+ _12320 = 1.0; } vec3 _13174; vec3 _16054; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12885.xyz) * _21712) > 0.0)+ if ((_8634 * _12320) > 0.0) { float _11797 = max(0.0, dot(_12885.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz)); vec2 _9840 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));@@ -1091,7 +1102,7 @@ PS float _16150 = _9850 + 1.0; float _6835 = (_16150 * _16150) * 0.125; float _19569 = 1.0 - _6835;- vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21712).xyz;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz; _13174 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808); _16054 = (((_22995 + ((vec3(1.0) - _22995) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_11797 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _11797).xyz * _16808; }@@ -1289,7 +1300,7 @@ PS } else {- vec3 _12505;+ vec3 _12506; if (g_BarnLights_1._m0[_12609]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12609]._m5.xyz, g_BarnLights_1._m0[_12609]._m5.w);@@ -1305,7 +1316,7 @@ PS vec3 _20492 = _14081; _20492.x = _20564.x; _20492.y = _20564.y;- _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;+ _12506 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz; } else {@@ -1314,9 +1325,9 @@ PS vec3 _20491 = _13791; _20491.x = _20563.x; _20491.y = _20563.y;- _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;+ _12506 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz; }- _21548 = _12505;+ _21548 = _12506; } if (all(equal(_21548.xyz, vec3(0.0)))) {@@ -1344,8 +1355,8 @@ PS do { float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);- vec2 _14615 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12609]._m8.zw, g_BarnLights_1._m0[_12609]._m8.xy), _19629.z).xy;- float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));+ vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12609]._m8.zw, g_BarnLights_1._m0[_12609]._m8.xy), _19629.z).xy;+ float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25)); bool _12890; if (_15312 == 0.0) {@@ -1360,7 +1371,7 @@ PS _24972 = _15312; break; }- _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14615, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);+ _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y); break; } while(false); vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12609]._m12);game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_flashbang_overlay.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -277,7 +277,7 @@ PS }; Texture2D<float4> g_tFlashbangFrame : register(t53, space1);- SamplerState g_sPointClamp : register(s18, space1);+ SamplerState g_sPointClamp : register(s19, space1); static float4 gl_FragCoord; static float4 output_0;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_foliage.slang
modified • +440 / -438 • changes: 878
Show patch
@@ -148,7 +148,7 @@ VS float g_flSpatialIncoherence < Default(0.1); UiType(Slider); UiGroup("Foliage UV Animation"); >; // SPIR-V reflection failed for backend HLSL:- // cbuffer ID 5618 (name: _Globals_), member index 3 (name: g_vColorTint) cannot be expressed with either HLSL packing layout or packoffset.+ // cbuffer ID 5618 (name: _Globals_), member index 0 (name: g_vTexCoordXform0) cannot be expressed with either HLSL packing layout or packoffset. // // Re-attempting reflection with the GLSL backend. @@ -395,7 +395,7 @@ PS Texture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >; Texture2D g_tTransmissiveColor < Channel(RGB, Box(TextureTransmissiveColor), Srgb); OutputFormat(BC7); SrgbRead(true); >; Texture2D g_tUvMotionMask < Channel(RGBA, Box(FoliageUvAnimation), Linear); OutputFormat(BC7); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; float4 g_vShadingComplexity < Source(ShadingComplexity); UiType(VectorText); >; @@ -474,226 +474,242 @@ PS // Variant parameters Texture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >; + // SPIR-V reflection failed for backend HLSL:+ // cbuffer ID 5618 (name: _Globals_), member index 18 (name: g_mTextureColorAdjust) cannot be expressed with either HLSL packing layout or packoffset.+ //+ // Re-attempting reflection with the GLSL backend.+ // Source 2 Viewer - https://valveresourceformat.github.io- // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup+ // SPIR-V source, GLSL reflection with SPIRV-Cross by KhronosGroup+ + #version 460+ #if defined(GL_EXT_control_flow_attributes)+ #extension GL_EXT_control_flow_attributes : require+ #define SPIRV_CROSS_FLATTEN [[flatten]]+ #define SPIRV_CROSS_BRANCH [[dont_flatten]]+ #define SPIRV_CROSS_UNROLL [[unroll]]+ #define SPIRV_CROSS_LOOP [[dont_unroll]]+ #else+ #define SPIRV_CROSS_FLATTEN+ #define SPIRV_CROSS_BRANCH+ #define SPIRV_CROSS_UNROLL+ #define SPIRV_CROSS_LOOP+ #endif+ #extension GL_KHR_shader_subgroup_arithmetic : require - struct _1289+ struct _1541 {- float4 _m0[3];+ vec4 _m0[3]; }; - struct _1499+ struct _1751 {- float4 _m0[4];+ vec4 _m0[4]; }; - struct _2441+ struct _546 {- column_major float4x4 _m0[4];+ mat4 _m0[4]; }; struct _200 {- column_major float4x4 _m0;- column_major float4x4 _m1;- float4 _m2;- float4 _m3;- float4 _m4;- float4 _m5;- float3 _m6;+ mat4 _m0;+ mat4 _m1;+ vec4 _m2;+ vec4 _m3;+ vec4 _m4;+ vec4 _m5;+ vec3 _m6; uint _m7;- float4 _m8;- float4 _m9;- float4 _m10;+ vec4 _m8;+ vec4 _m9;+ vec4 _m10; float _m11; float _m12; uint _m13; int _m14;- column_major float4x3 _m15;- float4 _m16;- float4 _m17;- float4 _m18;- float4 _m19;- float4 _m20;- float3 _m21;+ mat4x3 _m15;+ vec4 _m16;+ vec4 _m17;+ vec4 _m18;+ vec4 _m19;+ vec4 _m20;+ vec3 _m21; float _m22;- column_major float4x4 _m23;+ mat4 _m23; }; - static float3 _4;- static float4 _5;+ vec3 _4;+ vec4 _5; - cbuffer _Globals_ : register(b0, space1)+ struct _920 {- uint _Globals_1_g_tColor : packoffset(c0);- uint _Globals_1_g_sTrilinearWrap : packoffset(c0.w);- uint _Globals_1_g_sTrilinearClamp : packoffset(c1);- uint _Globals_1_g_sPointClamp : packoffset(c1.y);- uint _Globals_1_g_sUserConfig : packoffset(c2);- uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2.y);- uint _Globals_1_g_sCookieSampler : packoffset(c2.w);- uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c3);- int _Globals_1_g_bFogEnabled : packoffset(c3.z);- int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c3.w);- int _Globals_1_g_bRenderBackfaceNormals : packoffset(c4);- float _Globals_1_g_flReflectance : packoffset(c4.y);- uint _Globals_1_g_tNormal : packoffset(c8);- uint _Globals_1_g_tAmbientOcclusion : packoffset(c8.w);- float _Globals_1_g_flVertexAmbientOcclusionAmount : packoffset(c11);- float _Globals_1_g_flVertexAmbientOcclusionPower : packoffset(c11.y);- float _Globals_1_g_flHeightGradientAmount : packoffset(c11.z);- float _Globals_1_g_flHeightGradientPower : packoffset(c11.w);- column_major float4x4 _Globals_1_g_mTextureColorAdjust : packoffset(c14);- float _Globals_1_g_fTextureRoughnessContrast : packoffset(c30.y);- float _Globals_1_g_fTextureRoughnessBrightness : packoffset(c30.z);- float _Globals_1_g_fTextureNormalContrast : packoffset(c31);+ uint g_tColor;+ uint g_sTrilinearWrap;+ uint g_sTrilinearClamp;+ uint g_sPointClamp;+ uint g_sUserConfig;+ uint g_sUserConfigAllowGlobalMipBias;+ uint g_sCookieSampler;+ uint g_tShadowDepthBufferCmpSampler;+ int g_bFogEnabled;+ int g_bDontFlipBackfaceNormals;+ int g_bRenderBackfaceNormals;+ float g_flReflectance;+ uint g_tNormal;+ uint g_tAmbientOcclusion;+ float g_flVertexAmbientOcclusionAmount;+ float g_flVertexAmbientOcclusionPower;+ float g_flHeightGradientAmount;+ float g_flHeightGradientPower;+ mat4 g_mTextureColorAdjust;+ float g_fTextureRoughnessContrast;+ float g_fTextureRoughnessBrightness;+ float g_fTextureNormalContrast; }; - cbuffer PerViewConstantBufferCsgo_t : register(b3, space1)+ layout(set = 1) uniform _920 _Globals_;+ + struct _1374 {- int4 PerViewConstantBufferCsgo_t_1_m0 : packoffset(c1);- int4 PerViewConstantBufferCsgo_t_1_m1 : packoffset(c2);- int4 PerViewConstantBufferCsgo_t_1_m2 : packoffset(c3);- uint PerViewConstantBufferCsgo_t_1_m3 : packoffset(c4.z);- uint PerViewConstantBufferCsgo_t_1_m4 : packoffset(c4.w);- uint PerViewConstantBufferCsgo_t_1_m5 : packoffset(c5);- uint PerViewConstantBufferCsgo_t_1_m6 : packoffset(c5.z);- uint PerViewConstantBufferCsgo_t_1_m7 : packoffset(c6.z);- column_major float4x4 PerViewConstantBufferCsgo_t_1_m8 : packoffset(c12);- float2 PerViewConstantBufferCsgo_t_1_m9 : packoffset(c16);- float PerViewConstantBufferCsgo_t_1_m10 : packoffset(c16.z);- float4 PerViewConstantBufferCsgo_t_1_m11 : packoffset(c23);- float4 PerViewConstantBufferCsgo_t_1_m12 : packoffset(c24);- float4 PerViewConstantBufferCsgo_t_1_m13 : packoffset(c25);- float4 PerViewConstantBufferCsgo_t_1_m14 : packoffset(c26);- float4 PerViewConstantBufferCsgo_t_1_m15 : packoffset(c27);- float4 PerViewConstantBufferCsgo_t_1_m16 : packoffset(c28);- column_major float4x4 PerViewConstantBufferCsgo_t_1_m17 : packoffset(c29);- float4 PerViewConstantBufferCsgo_t_1_m18 : packoffset(c33);- float4 PerViewConstantBufferCsgo_t_1_m19 : packoffset(c34);- float4 PerViewConstantBufferCsgo_t_1_m20 : packoffset(c35);+ ivec4 _m0;+ ivec4 _m1;+ ivec4 _m2;+ uint _m3;+ uint _m4;+ uint _m5;+ uint _m6;+ uint _m7;+ mat4 _m8;+ vec2 _m9;+ float _m10;+ vec4 _m11;+ vec4 _m12;+ vec4 _m13;+ vec4 _m14;+ vec4 _m15;+ vec4 _m16;+ mat4 _m17;+ vec4 _m18;+ vec4 _m19;+ vec4 _m20; }; - cbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3)+ layout(set = 1) uniform _1374 PerViewConstantBufferCsgo_t;+ + struct _1768 {- _1289 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);- _1499 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);- float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16);- float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17);- float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);- uint4 PerViewLightingConstantBufferGpu_t_1_m5 : packoffset(c19);- uint4 PerViewLightingConstantBufferGpu_t_1_m6 : packoffset(c22);- float4 PerViewLightingConstantBufferGpu_t_1_m7 : packoffset(c23);- float4 PerViewLightingConstantBufferGpu_t_1_m8 : packoffset(c24);- float4 PerViewLightingConstantBufferGpu_t_1_m9 : packoffset(c1945);- float4 PerViewLightingConstantBufferGpu_t_1_m10 : packoffset(c1946);- int PerViewLightingConstantBufferGpu_t_1_m11 : packoffset(c1953);- float PerViewLightingConstantBufferGpu_t_1_m12 : packoffset(c1953.z);- float4 PerViewLightingConstantBufferGpu_t_1_m13 : packoffset(c1954);- float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955);- float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y);- float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z);- float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);- _2441 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);- _1499 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);- uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996);- uint PerViewLightingConstantBufferGpu_t_1_m21 : packoffset(c1996.y);+ _1541 _m0;+ _1751 _m1;+ vec4 _m2;+ vec4 _m3;+ vec4 _m4;+ uvec4 _m5;+ uvec4 _m6;+ vec4 _m7;+ vec4 _m8;+ vec4 _m9;+ vec4 _m10;+ int _m11;+ float _m12;+ vec4 _m13;+ float _m14;+ float _m15;+ float _m16;+ float _m17;+ _546 _m18;+ _1751 _m19;+ uint _m20;+ uint _m21; }; - cbuffer PerViewConstantBuffer_t : register(b1, space1)+ layout(set = 3) uniform _1768 PerViewLightingConstantBufferGpu_t;+ + struct _1194 {- float2 PerViewConstantBuffer_t_1_m0 : packoffset(c20);- float2 PerViewConstantBuffer_t_1_m1 : packoffset(c20.z);- float4 PerViewConstantBuffer_t_1_m2 : packoffset(c22);- float3 PerViewConstantBuffer_t_1_m3 : packoffset(c26);+ vec2 _m0;+ vec2 _m1;+ vec4 _m2;+ vec3 _m3; }; - ByteAddressBuffer g_CullBits : register(t30, space3);- ByteAddressBuffer g_BarnLights : register(t31, space3);- Texture2D<float4> g_bindless_Texture2D_float4[65536] : register(t46, space4);- SamplerState g_bindless_Sampler[2048] : register(s29, space4);- SamplerComparisonState g_bindless_Sampler_1[2048] : register(s29, space4);- Texture3D<float4> g_bindless_Texture3D_float4[65536] : register(t46, space4);- TextureCubeArray<float4> g_bindless_TextureCubeArray_float4[65536] : register(t46, space4);- TextureCube<float4> g_bindless_TextureCube_float4[65536] : register(t46, space4);- - static float4 gl_FragCoord;- static bool gl_FrontFacing;- static float4 input_0;- static float3 input_1;- static float3 input_2;- static float4 input_3;- static float4 input_4;- static float3 input_5;- static float4 input_6;- static float4 output_0;- - struct PS_INPUT+ layout(set = 1) uniform _1194 PerViewConstantBuffer_t;+ + layout(set = 3, binding = 30, std430) readonly buffer g_CullBits {- float4 input_0 : TEXCOORD0;- float3 input_1 : TEXCOORD1;- float3 input_2 : TEXCOORD2;- float4 input_3 : TEXCOORD3;- centroid float4 input_4 : TEXCOORD4;- centroid float3 input_5 : TEXCOORD5;- float4 input_6 : TEXCOORD6;- float4 gl_FragCoord : SV_Position;- bool gl_FrontFacing : SV_IsFrontFace;- };+ uint _m0[];+ } g_CullBits_1; - struct PS_OUTPUT+ layout(set = 3, binding = 31, std430) readonly buffer g_BarnLights {- float4 output_0 : SV_Target0;- };+ layout(row_major) _200 _m0[];+ } g_BarnLights_1;+ + layout(set = 4, binding = 46) uniform texture2D g_bindless_Texture2D_float4[65536];+ layout(set = 4, binding = 29) uniform sampler g_bindless_Sampler[2048];+ layout(set = 4, binding = 29) uniform samplerShadow g_bindless_Sampler_1[2048];+ layout(set = 4, binding = 46) uniform texture3D g_bindless_Texture3D_float4[65536];+ layout(set = 4, binding = 46) uniform textureCubeArray g_bindless_TextureCubeArray_float4[65536];+ layout(set = 4, binding = 46) uniform textureCube g_bindless_TextureCube_float4[65536];+ + layout(location = 0) in vec4 input_0;+ layout(location = 1) in vec3 input_1;+ layout(location = 2) in vec3 input_2;+ layout(location = 3) in vec4 input_3;+ layout(location = 4) centroid in vec4 input_4;+ layout(location = 5) centroid in vec3 input_5;+ layout(location = 6) in vec4 input_6;+ layout(location = 0) out vec4 output_0; - void MainPs_inner()+ void main() {- float4 _11408 = gl_FragCoord;- _11408.w = 1.0f / _11408.w;- float4 _24079 = clamp(input_0, 0.001000000047497451305389404296875f.xxxx, 1.0f.xxxx);- float3 _21709;- if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375f)+ vec4 _11408 = gl_FragCoord;+ _11408.w = 1.0 / _11408.w;+ vec4 _24079 = clamp(input_0, vec4(0.001000000047497451305389404296875), vec4(1.0));+ vec3 _21709;+ if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375) { _21709 = input_5.xyz; } else { _21709 = input_2.xyz; }- bool _14874 = _Globals_1_g_bRenderBackfaceNormals != 0;+ bool _14874 = _Globals_.g_bRenderBackfaceNormals != 0; bool _12885; if (_14874) {- _12885 = _Globals_1_g_bDontFlipBackfaceNormals == 0;+ _12885 = _Globals_.g_bDontFlipBackfaceNormals == 0; } else { _12885 = false; }- float3 _10251;- [branch]+ vec3 _10251;+ SPIRV_CROSS_BRANCH if (_12885) {- _10251 = _21709 * (gl_FrontFacing ? 1.0f : (-1.0f));+ _10251 = _21709 * (gl_FrontFacing ? 1.0 : (-1.0)); } else { _10251 = _21709; }- float3 _24347 = normalize(_10251);- float3 _10061 = input_1 + PerViewConstantBufferCsgo_t_1_m20.xyz;- float4 _19334 = g_bindless_Texture2D_float4[_Globals_1_g_tColor].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfigAllowGlobalMipBias], input_3.xy);- float4 _19068 = g_bindless_Texture2D_float4[_Globals_1_g_tAmbientOcclusion].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], float2(input_3.xy).xy);- float4 _19372 = g_bindless_Texture2D_float4[_Globals_1_g_tNormal].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], input_3.xy);+ vec3 _24347 = normalize(_10251);+ vec3 _10061 = input_1 + PerViewConstantBufferCsgo_t._m20.xyz;+ vec4 _19334 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColor], g_bindless_Sampler[_Globals_.g_sUserConfigAllowGlobalMipBias]), input_3.xy);+ vec4 _19068 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tAmbientOcclusion], g_bindless_Sampler[_Globals_.g_sUserConfig]), vec2(input_3.xy).xy);+ vec4 _19372 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tNormal], g_bindless_Sampler[_Globals_.g_sUserConfig]), input_3.xy); float _16000 = _19372.x; float _19720 = _19372.y;- float _16783 = (_16000 + _19720) - 1.00392162799835205078125f;+ float _16783 = (_16000 + _19720) - 1.00392162799835205078125; float _11176 = _16000 - _19720;- float3 _8418 = normalize(float3(float2(_16783, _11176), (1.0f - abs(_16783)) - abs(_11176)));+ vec3 _8418 = normalize(vec3(vec2(_16783, _11176), (1.0 - abs(_16783)) - abs(_11176))); bool _12886; if (_14874) {- _12886 = _Globals_1_g_bDontFlipBackfaceNormals == 0;+ _12886 = _Globals_.g_bDontFlipBackfaceNormals == 0; } else {@@ -708,12 +724,12 @@ PS { _24327 = false; }- float3 _12631 = input_2.xyz * (_24327 ? (-1.0f) : 1.0f);- float _23240 = (input_6.w > 0.0f) ? 1.0f : (-1.0f);- float3 _14435 = cross(_12631.xyz, input_6.xyz) * _23240;- bool4 _24464 = bool4(PerViewConstantBufferCsgo_t_1_m2.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m2.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m2.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m2.w != int4(0, 0, 0, 0).w);+ vec3 _12631 = input_2.xyz * (_24327 ? (-1.0) : 1.0);+ float _23240 = (input_6.w > 0.0) ? 1.0 : (-1.0);+ vec3 _14435 = cross(_12631.xyz, input_6.xyz) * _23240;+ bvec4 _24464 = notEqual(PerViewConstantBufferCsgo_t._m2, ivec4(0)); bool _20058 = _24464.w;- float3 _7424;+ vec3 _7424; if (_20058) { _7424 = -_14435;@@ -722,31 +738,31 @@ PS { _7424 = _14435; }- float3 _20480;+ vec3 _20480; if (!_24327) {- float3 _7482 = _8418;+ vec3 _7482 = _8418; _7482.y = -_8418.y; _20480 = _7482; } else { _20480 = _8418; }- float3 _8357 = _Globals_1_g_flReflectance.xxx;- float3 _21710;- [branch]- if (_Globals_1_g_fTextureNormalContrast != 1.0f)+ vec3 _8357 = vec3(_Globals_.g_flReflectance);+ vec3 _21710;+ SPIRV_CROSS_BRANCH+ if (_Globals_.g_fTextureNormalContrast != 1.0) {- float2 _8828 = _20480.yx * _Globals_1_g_fTextureNormalContrast;+ vec2 _8828 = _20480.yx * _Globals_.g_fTextureNormalContrast; float _16674 = _8828.x;- float3 _8673 = _20480;+ vec3 _8673 = _20480; _8673.y = _16674; _8673.x = _8828.y; bool _12887; if (_14874) {- _12887 = _Globals_1_g_bDontFlipBackfaceNormals == 0;+ _12887 = _Globals_.g_bDontFlipBackfaceNormals == 0; } else {@@ -761,9 +777,9 @@ PS { _24328 = false; }- float3 _9739 = input_2.xyz * (_24328 ? (-1.0f) : 1.0f);- float3 _24682 = cross(_9739.xyz, input_6.xyz) * _23240;- float3 _7425;+ vec3 _9739 = input_2.xyz * (_24328 ? (-1.0) : 1.0);+ vec3 _24682 = cross(_9739.xyz, input_6.xyz) * _23240;+ vec3 _7425; if (_20058) { _7425 = -_24682;@@ -772,10 +788,10 @@ PS { _7425 = _24682; }- float3 _20481;+ vec3 _20481; if (!_24328) {- float3 _16556 = _8673;+ vec3 _16556 = _8673; _16556.y = -_16674; _20481 = _16556; }@@ -789,234 +805,241 @@ PS { _21710 = normalize((((input_6.xyz * _20480.x).xyz + (_7424.xyz * _20480.y)).xyz + (_12631.xyz * _20480.z)).xyz); }- bool3 _15080 = all(bool3(true, true, true)).xxx;- float3 _17892 = float3(_15080.x ? _21710.x : 1.0f.xxx.x, _15080.y ? _21710.y : 1.0f.xxx.y, _15080.z ? _21710.z : 1.0f.xxx.z);- float3 _10560 = _24347.xyz;- float3 _11099 = ddx(_10560);- float3 _9175 = ddy(_10560);- float3 _10347 = _11099.xyz;- float3 _12420 = _9175.xyz;- float2 _21813 = max(clamp((((_19372.zz - 0.5f.xx) * _Globals_1_g_fTextureRoughnessContrast) + 0.5f.xx).xy * _Globals_1_g_fTextureRoughnessBrightness, 0.0f.xx, 1.0f.xx).xy, pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125f).xx);- float3 _15598 = -_24347;- float4 _23875 = float4(_21710.xyz, 1.0f);- bool4 _24465 = bool4(PerViewConstantBufferCsgo_t_1_m0.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m0.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m0.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m0.w != int4(0, 0, 0, 0).w);+ vec3 _17892 = mix(vec3(1.0), _21710, bvec3(all(bvec3(true))));+ vec3 _10560 = _24347.xyz;+ vec3 _11099 = dFdx(_10560);+ vec3 _9175 = dFdy(_10560);+ vec3 _10347 = _11099.xyz;+ vec3 _12420 = _9175.xyz;+ vec2 _21813 = max(saturate((((_19372.zz - vec2(0.5)) * _Globals_.g_fTextureRoughnessContrast) + vec2(0.5)).xy * _Globals_.g_fTextureRoughnessBrightness).xy, vec2(pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125)));+ vec3 _15598 = -_24347;+ vec4 _23875 = vec4(_21710.xyz, 1.0);+ bvec4 _24465 = notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)); float _21711; if (_24465.x) {- float3 _11394 = _24347.xyz;- float2 _11086 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t_1_m10) * PerViewConstantBufferCsgo_t_1_m9.xy) + (PerViewConstantBufferCsgo_t_1_m9.xy * 0.5f)).xy;- float4 _18418 = g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m5].GatherRed(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _11086).xyzw - _11408.zzzz;+ vec3 _11394 = _24347.xyz;+ vec2 _11086 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t._m10) * PerViewConstantBufferCsgo_t._m9.xy) + (PerViewConstantBufferCsgo_t._m9.xy * 0.5)).xy;+ vec4 _18418 = textureGather(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m5], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _11086).xyzw - _11408.zzzz; float _18579 = _18418.w; float _12013 = _18418.z; bool _12285 = abs(_12013) < _18579;- float2 _23168;+ vec2 _23168; if (_12285) {- _23168 = float2(PerViewConstantBufferCsgo_t_1_m9.x, 0.0f);+ _23168 = vec2(PerViewConstantBufferCsgo_t._m9.x, 0.0); } else {- _23168 = 0.0f.xx;+ _23168 = vec2(0.0); } float _20965 = _12285 ? _12013 : _18579; float _15372 = _18418.x; bool _12286 = abs(_15372) < _20965;- float2 _23169;+ vec2 _23169; if (_12286) {- _23169 = float2(0.0f, PerViewConstantBufferCsgo_t_1_m9.y);+ _23169 = vec2(0.0, PerViewConstantBufferCsgo_t._m9.y); } else { _23169 = _23168; }- bool2 _13083 = (abs(_18418.y) < (_12286 ? _15372 : _20965)).xx;- float4 _10010 = normalize(float4(PerViewLightingConstantBufferGpu_t_1_m2.x * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[0].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.y * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[1].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.z * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[2].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.w * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[3].xy, 0.25f))), 0.5f, 0.5f)));- float4 _13232 = max(float4(dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[3].xyz, _11394)).xyzw, 0.0f.xxxx) * normalize(clamp(((_10010 - max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)).xxxx) + 0.20000000298023223876953125f.xxxx) * 5.0f.xxxx, 0.0f.xxxx, 1.0f.xxxx));- _21711 = (1.0f / (dot(_13232, 1.0f.xxxx) + PerViewLightingConstantBufferGpu_t_1_m3.x)) * (PerViewLightingConstantBufferGpu_t_1_m3.x + dot(_13232, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m4].SampleLevel(g_bindless_Sampler[_Globals_1_g_sPointClamp], (_11086 + float2(_13083.x ? PerViewConstantBufferCsgo_t_1_m9.xy.x : _23169.x, _13083.y ? PerViewConstantBufferCsgo_t_1_m9.xy.y : _23169.y).xy).xy, 0.0f)));+ vec4 _10010 = normalize(vec4(PerViewLightingConstantBufferGpu_t._m2.x * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[0].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.y * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[1].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.z * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[2].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.w * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[3].xy, 0.25))), 0.5, 0.5)));+ vec4 _13232 = max(vec4(dot(PerViewLightingConstantBufferGpu_t._m1._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[3].xyz, _11394)).xyzw, vec4(0.0)) * normalize(saturate(((_10010 - vec4(max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)))) + vec4(0.20000000298023223876953125)) * vec4(5.0)));+ _21711 = (1.0 / (dot(_13232, vec4(1.0)) + PerViewLightingConstantBufferGpu_t._m3.x)) * (PerViewLightingConstantBufferGpu_t._m3.x + dot(_13232, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], g_bindless_Sampler[_Globals_.g_sPointClamp]), (_11086 + mix(_23169, PerViewConstantBufferCsgo_t._m9.xy, bvec2(abs(_18418.y) < (_12286 ? _15372 : _20965))).xy).xy, 0.0))); } else {- _21711 = 1.0f;+ _21711 = 1.0; }- float _21712;- [branch]- if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _21710.xyz);+ float _12320;+ SPIRV_CROSS_BRANCH+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13136;- float3 _14975;- int _13039 = 0;- for (;;)+ float _12503;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m11 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))+ int _23989;+ int _10191;+ float _13136;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- _13136 = 1.0f;- _14975 = 0.0f.xxx;- _10191 = -1;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))+ {+ _13136 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break;+ }+ vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])+ {+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;+ vec3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_1.xyz, 1.0f));- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])+ float _19363;+ if (_10191 >= 0) {- float3 _19470 = float3(_12779, _18322.yz);- float2 _24804 = _19470.xy;- float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);- float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;- float3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;- }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)- {- float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));- float _12501;- [branch]- if (_13136 < 1.0f)- {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))+ float _18270 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ float _12501;+ SPIRV_CROSS_BRANCH+ if (_13136 < 1.0) {- int _15335 = _10191 + 1;- float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_1.xyz, 1.0f));- float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;- float3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;+ vec3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ _7934 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ }+ else+ {+ _7934 = 1.0;+ }+ _12501 = mix(_7934, _18270, _13136); } else {- _7934 = 1.0f;+ _12501 = _18270; }- _12501 = lerp(_7934, _18270, _13136);+ _19363 = _12501; } else {- _12501 = _18270;+ _19363 = 1.0; }- _19363 = _12501;- }- else- {- _19363 = 1.0f;- }- float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));- float _12502;- if (_24465.y)- {- _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ float _13279 = mix(_19363, 1.0, saturate((distance(_10061.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));+ float _12502;+ if (_24465.y)+ {+ _12502 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12502 = _13279;+ }+ _12503 = _12502; } else {- _12502 = _13279;+ _12503 = 1.0; }- _21712 = _12502;+ _12320 = _12503; } else {- _21712 = 1.0f;+ _12320 = 1.0; }- float3 _9716;- float3 _24878;- [branch]- if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _21710.xyz) * _21712) > 0.0f)+ vec3 _9716;+ vec3 _24878;+ SPIRV_CROSS_BRANCH+ if ((_8634 * _12320) > 0.0) {- bool3 _19899 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;- float _11797 = max(0.0f, dot(_21710.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz));- float2 _9840 = max(_21813, PerViewLightingConstantBufferGpu_t_1_m9.w.xx);- float3 _12281 = normalize(PerViewLightingConstantBufferGpu_t_1_m9.xyz + (-normalize(_10061.xyz - PerViewConstantBuffer_t_1_m3.xyz)).xyz).xyz;- float _12386 = dot(_12281, float3(_19899.x ? _21710.xyz.x : _17892.x, _19899.y ? _21710.xyz.y : _17892.y, _19899.z ? _21710.xyz.z : _17892.z).xyz);- float _19210 = max(0.0f, dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _12281));+ float _11797 = max(0.0, dot(_21710.xyz, PerViewLightingConstantBufferGpu_t._m9.xyz));+ vec2 _9840 = max(_21813, vec2(PerViewLightingConstantBufferGpu_t._m9.w));+ vec3 _12281 = normalize(PerViewLightingConstantBufferGpu_t._m9.xyz + (-normalize(_10061.xyz - PerViewConstantBuffer_t._m3.xyz)).xyz).xyz;+ float _12386 = dot(_12281, mix(_17892, _21710.xyz, bvec3(all(equal(_17892, vec3(1.0))))).xyz);+ float _19210 = max(0.0, dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _12281)); float _9850 = _9840.x; float _25211 = _9850 * _9850; float _19095 = _25211 * _25211;- float _15346 = ((_12386 * _12386) * (_19095 - 1.0f)) + 1.0f;- float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21712).xyz;- _9716 = ((_8357.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0f) + 2.0f)))).xyz * _11797).xyz * _16808;- _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (_11797.xxx.xyz * _16808);+ float _15346 = ((_12386 * _12386) * (_19095 - 1.0)) + 1.0;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _12320).xyz;+ _9716 = ((_8357.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0) + 2.0)))).xyz * _11797).xyz * _16808;+ _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(_11797).xyz * _16808); } else {- _9716 = 0.0f.xxx;- _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;+ _9716 = vec3(0.0);+ _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz; }- bool4 _24466 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w);+ bvec4 _24466 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0)); bool _20060 = _24466.x;- float4 _19364;+ vec4 _19364; if (_20060) {- float4 _18621 = mul(PerViewConstantBufferCsgo_t_1_m8, float4(_10061.xyz, 1.0f).xyzw);+ vec4 _18621 = vec4(_10061.xyz, 1.0).xyzw * PerViewConstantBufferCsgo_t._m8; float _20176 = _18621.w;- float2 _11414 = _18621.xy / _20176.xx;- float4 _6651;- _6651.x = clamp(((_11414.x + 1.0f) * PerViewConstantBuffer_t_1_m1.x) * 0.5f, 0.0f, PerViewConstantBuffer_t_1_m1.x - 1.0f);- _6651.y = clamp(((1.0f - _11414.y) * PerViewConstantBuffer_t_1_m1.y) * 0.5f, 0.0f, PerViewConstantBuffer_t_1_m1.y - 1.0f);+ vec2 _11414 = _18621.xy / vec2(_20176);+ vec4 _6651;+ _6651.x = clamp(((_11414.x + 1.0) * PerViewConstantBuffer_t._m1.x) * 0.5, 0.0, PerViewConstantBuffer_t._m1.x - 1.0);+ _6651.y = clamp(((1.0 - _11414.y) * PerViewConstantBuffer_t._m1.y) * 0.5, 0.0, PerViewConstantBuffer_t._m1.y - 1.0); _6651.w = _20176; _19364 = _6651; } else { _19364 = _11408; }- uint2 _12083 = uint2(_19364.xy - PerViewConstantBuffer_t_1_m0.xy) >> PerViewLightingConstantBufferGpu_t_1_m6.x.xx;- uint _10838 = PerViewLightingConstantBufferGpu_t_1_m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m5.z);- uint _23393 = PerViewLightingConstantBufferGpu_t_1_m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m7.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m7.y)) * PerViewLightingConstantBufferGpu_t_1_m5.z);- float3 _13137;- float3 _16324;+ uvec2 _12083 = uvec2(_19364.xy - PerViewConstantBuffer_t._m0.xy) >> uvec2(PerViewLightingConstantBufferGpu_t._m6.x);+ uint _10838 = PerViewLightingConstantBufferGpu_t._m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m5.z);+ uint _23393 = PerViewLightingConstantBufferGpu_t._m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m7.x, 0.0, PerViewLightingConstantBufferGpu_t._m7.y)) * PerViewLightingConstantBufferGpu_t._m5.z);+ vec3 _13137;+ vec3 _16324; _13137 = _9716; _16324 = _24878; uint _21567;- float3 _13138;- float3 _16325;+ vec3 _13138;+ vec3 _16325; uint _17017 = 0u; for (;;) {- if (!(_17017 < PerViewLightingConstantBufferGpu_t_1_m5.z))+ if (!(_17017 < PerViewLightingConstantBufferGpu_t._m5.z)) { break; }- uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _17017) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _17017) * 4 + 0));+ uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _17017] & g_CullBits_1._m0[_23393 + _17017]); _13138 = _13137; _16325 = _16324; uint _20344;- float3 _13212;- float3 _15670;+ vec3 _13212;+ vec3 _15670; uint _17018 = _14475; for (;;) { if (!(_17018 != 0u)) { break; }- int _12608 = int(firstbitlow(_17018) + (_17017 * 32u));+ int _12608 = int(uint(findLSB(_17018)) + (_17017 * 32u)); _20344 = _17018 & (_17018 - 1u); do {- float4x4 _14097 = float4x4(g_BarnLights.Load<float>(_12608 * 480 + 0), g_BarnLights.Load<float>(_12608 * 480 + 16), g_BarnLights.Load<float>(_12608 * 480 + 32), g_BarnLights.Load<float>(_12608 * 480 + 48), g_BarnLights.Load<float>(_12608 * 480 + 4), g_BarnLights.Load<float>(_12608 * 480 + 20), g_BarnLights.Load<float>(_12608 * 480 + 36), g_BarnLights.Load<float>(_12608 * 480 + 52), g_BarnLights.Load<float>(_12608 * 480 + 8), g_BarnLights.Load<float>(_12608 * 480 + 24), g_BarnLights.Load<float>(_12608 * 480 + 40), g_BarnLights.Load<float>(_12608 * 480 + 56), g_BarnLights.Load<float>(_12608 * 480 + 12), g_BarnLights.Load<float>(_12608 * 480 + 28), g_BarnLights.Load<float>(_12608 * 480 + 44), g_BarnLights.Load<float>(_12608 * 480 + 60));- float4 _24893 = mul(float4(input_1.xyz, 1.0f), _14097);- float3 _10521 = _24893.xyz / _24893.w.xxx;- float4 _22905;+ vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(input_1.xyz, 1.0);+ vec3 _10521 = _24893.xyz / vec3(_24893.w);+ vec4 _22905; _22905.x = _10521.x; _22905.y = _10521.y; float _21776 = _10521.z; _22905.z = _21776;- float3 _21642 = _22905.xyz;+ vec3 _21642 = _22905.xyz; bool _7426;- if (all(bool3(_22905.xyz.x > float3(-1.0f, -1.0f, 0.0f).x, _22905.xyz.y > float3(-1.0f, -1.0f, 0.0f).y, _22905.xyz.z > float3(-1.0f, -1.0f, 0.0f).z)))+ if (all(greaterThan(_22905.xyz, vec3(-1.0, -1.0, 0.0)))) {- _7426 = all(bool3(_22905.xyz.x < 1.0f.xxx.x, _22905.xyz.y < 1.0f.xxx.y, _22905.xyz.z < 1.0f.xxx.z));+ _7426 = all(lessThan(_22905.xyz, vec3(1.0))); } else {@@ -1029,113 +1052,111 @@ PS } else {- float4x3 _16509 = float4x3(g_BarnLights.Load<float>(_12608 * 480 + 272), g_BarnLights.Load<float>(_12608 * 480 + 288), g_BarnLights.Load<float>(_12608 * 480 + 304), g_BarnLights.Load<float>(_12608 * 480 + 276), g_BarnLights.Load<float>(_12608 * 480 + 292), g_BarnLights.Load<float>(_12608 * 480 + 308), g_BarnLights.Load<float>(_12608 * 480 + 280), g_BarnLights.Load<float>(_12608 * 480 + 296), g_BarnLights.Load<float>(_12608 * 480 + 312), g_BarnLights.Load<float>(_12608 * 480 + 284), g_BarnLights.Load<float>(_12608 * 480 + 300), g_BarnLights.Load<float>(_12608 * 480 + 316));- float3 _6368 = abs(mul(float4(input_1.xyz, 1.0f), _16509).xyz);- _12888 = !all(bool3(_6368.x <= 1.0f.xxx.x, _6368.y <= 1.0f.xxx.y, _6368.z <= 1.0f.xxx.z));+ _12888 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(input_1.xyz, 1.0)).xyz), vec3(1.0))); } if (_12888) { _13212 = _13138; _15670 = _16325; break; }- float _23572 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;- float _18492 = (2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) * g_BarnLights.Load<float4>(_12608 * 480 + 176).z;- float _14805 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).x;- float _9058 = _14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;- float _17330 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).w;- float _19825 = _17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z;- float3 _16268 = float3(_9058 - _19825, (1.0f - (_14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).x)) - _18492, (_23572 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) + (_17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).x)) * g_BarnLights.Load<float3>(_12608 * 480 + 192).z;+ float _23572 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;+ float _18492 = (2.0 * g_BarnLights_1._m0[_12608]._m5.z) * g_BarnLights_1._m0[_12608]._m5.z;+ float _14805 = 2.0 * g_BarnLights_1._m0[_12608]._m5.x;+ float _9058 = _14805 * g_BarnLights_1._m0[_12608]._m5.y;+ float _17330 = 2.0 * g_BarnLights_1._m0[_12608]._m5.w;+ float _19825 = _17330 * g_BarnLights_1._m0[_12608]._m5.z;+ vec3 _16268 = vec3(_9058 - _19825, (1.0 - (_14805 * g_BarnLights_1._m0[_12608]._m5.x)) - _18492, (_23572 * g_BarnLights_1._m0[_12608]._m5.z) + (_17330 * g_BarnLights_1._m0[_12608]._m5.x)) * g_BarnLights_1._m0[_12608]._m6.z; float _21316;- if (g_BarnLights.Load<float4>(_12608 * 480 + 144).z > 0.0f)+ if (g_BarnLights_1._m0[_12608]._m3.z > 0.0) {- _21316 = min(1.0f, _21776 * g_BarnLights.Load<float4>(_12608 * 480 + 144).z);+ _21316 = min(1.0, _21776 * g_BarnLights_1._m0[_12608]._m3.z); } else {- _21316 = 1.0f;+ _21316 = 1.0; } float _19667;- if (g_BarnLights.Load<float4>(_12608 * 480 + 144).w > 0.0f)+ if (g_BarnLights_1._m0[_12608]._m3.w > 0.0) {- _19667 = _21316 * min(1.0f, (1.0f - _21776) * g_BarnLights.Load<float4>(_12608 * 480 + 144).w);+ _19667 = _21316 * min(1.0, (1.0 - _21776) * g_BarnLights_1._m0[_12608]._m3.w); } else { _19667 = _21316; }- float3 _11179;+ vec3 _11179; float _11633;- if (g_BarnLights.Load<float4>(_12608 * 480 + 128).w != 0.0f)+ if (g_BarnLights_1._m0[_12608]._m2.w != 0.0) {- float3 _10017 = g_BarnLights.Load<float4>(_12608 * 480 + 128).xyz - input_1.xyz;+ vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - input_1.xyz; float _18345 = dot(_10017, _10017); float _17647 = sqrt(_18345);- float3 _12302 = _10017 - _16268;- float3 _10210;+ vec3 _12302 = _10017 - _16268;+ vec3 _10210; do {- float3 _20229 = (_10017 + _16268) - _12302;+ vec3 _20229 = (_10017 + _16268) - _12302; float _25105 = dot(-_12302, _20229);- if (_25105 <= 0.0f)+ if (_25105 <= 0.0) { _10210 = _12302; break; } else {- _10210 = _12302 + (_20229 * min(1.0f, _25105 / dot(_20229, _20229)));+ _10210 = _12302 + (_20229 * min(1.0, _25105 / dot(_20229, _20229))); break; } break; // unreachable workaround } while(false);- _11179 = _10017 / _17647.xxx;- _11633 = ((_19667 * (g_BarnLights.Load<float4>(_12608 * 480 + 128).w / max(_18345, g_BarnLights.Load<float4>(_12608 * 480 + 128).w))) * saturate(g_BarnLights.Load<float4>(_12608 * 480 + 144).x + (g_BarnLights.Load<float4>(_12608 * 480 + 144).y * _17647))) * saturate(g_BarnLights.Load<float3>(_12608 * 480 + 192).x + (g_BarnLights.Load<float3>(_12608 * 480 + 192).y * dot(float3((1.0f - (_23572 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y)) - _18492, _9058 + _19825, (_14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) - (_17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y)), normalize(_10210))));+ _11179 = _10017 / vec3(_17647);+ _11633 = ((_19667 * (g_BarnLights_1._m0[_12608]._m2.w / max(_18345, g_BarnLights_1._m0[_12608]._m2.w))) * saturate(g_BarnLights_1._m0[_12608]._m3.x + (g_BarnLights_1._m0[_12608]._m3.y * _17647))) * saturate(g_BarnLights_1._m0[_12608]._m6.x + (g_BarnLights_1._m0[_12608]._m6.y * dot(vec3((1.0 - (_23572 * g_BarnLights_1._m0[_12608]._m5.y)) - _18492, _9058 + _19825, (_14805 * g_BarnLights_1._m0[_12608]._m5.z) - (_17330 * g_BarnLights_1._m0[_12608]._m5.y)), normalize(_10210)))); } else {- _11179 = g_BarnLights.Load<float4>(_12608 * 480 + 128).xyz;+ _11179 = g_BarnLights_1._m0[_12608]._m2.xyz; _11633 = _19667; }- float3 _17828 = (g_BarnLights.Load<float4>(_12608 * 480 + 160).xyz * 1.0f).xyz * _11633;+ vec3 _17828 = (g_BarnLights_1._m0[_12608]._m4.xyz * 1.0).xyz * _11633; bool _24419;- if (g_BarnLights.Load<float4>(_12608 * 480 + 208).z > 0.0f)+ if (g_BarnLights_1._m0[_12608]._m8.z > 0.0) { _24419 = !_20060; } else { _24419 = false; }- float3 _21548;- [branch]- if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w == 0.0f)+ vec3 _21548;+ SPIRV_CROSS_BRANCH+ if (g_BarnLights_1._m0[_12608]._m4.w == 0.0) { float _10342; do {- float2 _22154 = abs(_22905.xy);- if (g_BarnLights.Load<float4>(_12608 * 480 + 224).z == 0.0f)+ vec2 _22154 = abs(_22905.xy);+ if (g_BarnLights_1._m0[_12608]._m9.z == 0.0) {- _10342 = smoothstep(1.0f, g_BarnLights.Load<float4>(_12608 * 480 + 224).x, _22154.x) * smoothstep(1.0f, g_BarnLights.Load<float4>(_12608 * 480 + 224).y, _22154.y);+ _10342 = smoothstep(1.0, g_BarnLights_1._m0[_12608]._m9.x, _22154.x) * smoothstep(1.0, g_BarnLights_1._m0[_12608]._m9.y, _22154.y); break; } else { float _11473 = _22154.x;- float _15266 = 2.0f / g_BarnLights.Load<float4>(_12608 * 480 + 224).z;+ float _15266 = 2.0 / g_BarnLights_1._m0[_12608]._m9.z; float _15019 = _22154.y;- float _23041 = (-0.5f) * g_BarnLights.Load<float4>(_12608 * 480 + 224).z;- float _11981 = (g_BarnLights.Load<float4>(_12608 * 480 + 224).x * g_BarnLights.Load<float4>(_12608 * 480 + 224).y) * pow(max(pow(g_BarnLights.Load<float4>(_12608 * 480 + 224).y * _11473, _15266) + pow(g_BarnLights.Load<float4>(_12608 * 480 + 224).x * _15019, _15266), 1.1754943508222875079687365372222e-38f), _23041);- float _16524 = pow(max(pow(_11473, _15266) + pow(_15019, _15266), 1.1754943508222875079687365372222e-38f), _23041);+ float _23041 = (-0.5) * g_BarnLights_1._m0[_12608]._m9.z;+ float _11981 = (g_BarnLights_1._m0[_12608]._m9.x * g_BarnLights_1._m0[_12608]._m9.y) * pow(max(pow(g_BarnLights_1._m0[_12608]._m9.y * _11473, _15266) + pow(g_BarnLights_1._m0[_12608]._m9.x * _15019, _15266), 1.1754943508222875079687365372222e-38), _23041);+ float _16524 = pow(max(pow(_11473, _15266) + pow(_15019, _15266), 1.1754943508222875079687365372222e-38), _23041); if (_11981 < _16524) {- _10342 = smoothstep(_16524, _11981, 1.0f);+ _10342 = smoothstep(_16524, _11981, 1.0); break; } else {- _10342 = float(_16524 > 1.0f);+ _10342 = float(_16524 > 1.0); break; } break; // unreachable workaround@@ -1146,49 +1167,49 @@ PS } else {- float3 _12503;- if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f)+ vec3 _12504;+ if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) {- float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);- float4 _19008 = _17795.xyzw * float4(-1.0f, -1.0f, -1.0f, 1.0f);- float3 _24989 = _19008.xyz;- float3 _23629 = float4((-_11179).xyz, 0.0f).xyz;+ vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);+ vec4 _19008 = _17795.xyzw * vec4(-1.0, -1.0, -1.0, 1.0);+ vec3 _24989 = _19008.xyz;+ vec3 _23629 = vec4((-_11179).xyz, 0.0).xyz; float _15156 = -dot(_23629, _24989);- float3 _20479 = float4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz;- float3 _23592 = _17795.xyz;- float3 _12170 = ((_20479 * g_BarnLights.Load<float4>(_12608 * 480 + 176).w) + (_23592 * _15156)) + cross(_23592, _20479);- float3 _14081 = float3(float2(atan2(_12170.y, -_12170.x) * 0.15915493667125701904296875f, acos(_12170.z) * 0.3183098733425140380859375f), -g_BarnLights.Load<float4>(_12608 * 480 + 160).w);- float2 _20564 = (_14081.xy * g_BarnLights.Load<float4>(_12608 * 480 + 224).zw) + g_BarnLights.Load<float4>(_12608 * 480 + 224).xy;- float3 _20492 = _14081;+ vec3 _20479 = vec4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz;+ vec3 _23592 = _17795.xyz;+ vec3 _12170 = ((_20479 * g_BarnLights_1._m0[_12608]._m5.w) + (_23592 * _15156)) + cross(_23592, _20479);+ vec3 _14081 = vec3(vec2(atan(_12170.y, -_12170.x) * 0.15915493667125701904296875, acos(_12170.z) * 0.3183098733425140380859375), -g_BarnLights_1._m0[_12608]._m4.w);+ vec2 _20564 = (_14081.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;+ vec3 _20492 = _14081; _20492.x = _20564.x; _20492.y = _20564.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20492.xyz, 0.0).xyz; } else {- float3 _13791 = float3(mad(_22905.xy, float2(0.5f, -0.5f), 0.5f.xx), g_BarnLights.Load<float4>(_12608 * 480 + 160).w);- float2 _20563 = (_13791.xy * g_BarnLights.Load<float4>(_12608 * 480 + 224).zw) + g_BarnLights.Load<float4>(_12608 * 480 + 224).xy;- float3 _20491 = _13791;+ vec3 _13791 = vec3(fma(_22905.xy, vec2(0.5, -0.5), vec2(0.5)), g_BarnLights_1._m0[_12608]._m4.w);+ vec2 _20563 = (_13791.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;+ vec3 _20491 = _13791; _20491.x = _20563.x; _20491.y = _20563.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20491.xyz, 0.0).xyz; }- _21548 = _12503;+ _21548 = _12504; }- if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z)))+ if (all(equal(_21548.xyz, vec3(0.0)))) { _13212 = _13138; _15670 = _16325; break; }- float3 _22671;+ vec3 _22671; if (_24419) {- float3 _19629;- if ((g_BarnLights.Load<uint>(_12608 * 480 + 264) & 4u) != 0u)+ vec3 _19629;+ if ((g_BarnLights_1._m0[_12608]._m13 & 4u) != 0u) {- float2 _6281 = _22905.yx * float2(1.0f, -1.0f);- float3 _23714 = _21642;+ vec2 _6281 = _22905.yx * vec2(1.0, -1.0);+ vec3 _23714 = _21642; _23714.x = _6281.x; _23714.y = _6281.y; _19629 = _23714;@@ -1197,9 +1218,8 @@ PS { _19629 = _21642; }- float3 _20482 = _21548.xyz * lerp(1.0f, g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], float3(mad(_19629.xy, g_BarnLights.Load<float4>(_12608 * 480 + 208).zw, g_BarnLights.Load<float4>(_12608 * 480 + 208).xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t_1_m12)), g_BarnLights.Load<float>(_12608 * 480 + 260));- float3 _16449 = _20482.xyz;- if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z)))+ vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0), g_BarnLights_1._m0[_12608]._m12);+ if (all(equal(_20482.xyz, vec3(0.0)))) { _13212 = _13138; _15670 = _16325;@@ -1211,18 +1231,17 @@ PS { _22671 = _21548; }- bool3 _19900 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;- float _11798 = max(0.0f, dot(_21710.xyz, _11179.xyz));- float2 _9841 = max(_21813, g_BarnLights.Load<float>(_12608 * 480 + 256).xx);- float3 _12282 = normalize(_11179.xyz + (-normalize(_10061.xyz - PerViewConstantBuffer_t_1_m3.xyz)).xyz).xyz;- float _12387 = dot(_12282, float3(_19900.x ? _21710.xyz.x : _17892.x, _19900.y ? _21710.xyz.y : _17892.y, _19900.z ? _21710.xyz.z : _17892.z).xyz);- float _19211 = max(0.0f, dot(_11179.xyz, _12282));+ float _11798 = max(0.0, dot(_21710.xyz, _11179.xyz));+ vec2 _9841 = max(_21813, vec2(g_BarnLights_1._m0[_12608]._m11));+ vec3 _12282 = normalize(_11179.xyz + (-normalize(_10061.xyz - PerViewConstantBuffer_t._m3.xyz)).xyz).xyz;+ float _12387 = dot(_12282, mix(_17892, _21710.xyz, bvec3(all(equal(_17892, vec3(1.0))))).xyz);+ float _19211 = max(0.0, dot(_11179.xyz, _12282)); float _9851 = _9841.x; float _25212 = _9851 * _9851;- float _19097 = _25212 * _25212;- float _15348 = ((_12387 * _12387) * (_19097 - 1.0f)) + 1.0f;- _13212 = _13138.xyz + (((_8357.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);- _15670 = _16325.xyz + (_11798.xxx.xyz * _22671.xyz);+ float _19096 = _25212 * _25212;+ float _15348 = ((_12387 * _12387) * (_19096 - 1.0)) + 1.0;+ _13212 = _13138.xyz + (((_8357.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);+ _15670 = _16325.xyz + (vec3(_11798).xyz * _22671.xyz); break; } while(false); _13138 = _13212;@@ -1236,85 +1255,85 @@ PS _17017 = _21567; continue; }- float _17172 = dot(_21813.xy, 0.5f.xx);- float3 _6253 = _17892.xyz;- float3 _17138 = normalize(_10061.xyz - PerViewConstantBuffer_t_1_m3.xyz);+ float _17172 = dot(_21813.xy, vec2(0.5));+ vec3 _6253 = _17892.xyz;+ vec3 _17138 = normalize(_10061.xyz - PerViewConstantBuffer_t._m3.xyz); float _17225 = _17172 * _17172;- float _20711 = saturate(1.0f - _17225);- float4 _15343 = (float4(-1.0f, -0.0274999998509883880615234375f, -0.572000026702880859375f, 0.02199999988079071044921875f) * _17172) + float4(1.0f, 0.0425000004470348358154296875f, 1.03999996185302734375f, -0.039999999105930328369140625f);+ float _20711 = saturate(1.0 - _17225);+ vec4 _15343 = (vec4(-1.0, -0.0274999998509883880615234375, -0.572000026702880859375, 0.02199999988079071044921875) * _17172) + vec4(1.0, 0.0425000004470348358154296875, 1.03999996185302734375, -0.039999999105930328369140625); float _21215 = _15343.x;- float2 _24572 = (float2(-1.03999996185302734375f, 1.03999996185302734375f) * ((min(_21215 * _21215, exp2((-9.27999973297119140625f) * max(0.0f, dot((-_17138).xyz, _6253)))) * _21215) + _15343.y)) + _15343.zw;+ vec2 _24572 = (vec2(-1.03999996185302734375, 1.03999996185302734375) * ((min(_21215 * _21215, exp2((-9.27999973297119140625) * max(0.0, dot((-_17138).xyz, _6253)))) * _21215) + _15343.y)) + _15343.zw; float _20339 = _24572.y;- float2 _11427 = float2(_20339, _24572.x + _20339);- float3 _8745 = float3(dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[2].xyzw, _23875)).xyz;- float3 _16991 = _16324.xyz + _8745;- float3 _20418 = (_21711 * (_19068.x * lerp(1.0f, pow(_24079.w, _Globals_1_g_flVertexAmbientOcclusionPower), _Globals_1_g_flVertexAmbientOcclusionAmount))).xxx.xyz;- float3 _22686 = (_16324.xyz + (_8745 * _20418).xyz) * ((float3(max(float4(mul(_Globals_1_g_mTextureColorAdjust, float4(float4((_19334.xyz * input_4.xyz).xyz, 1.0f).xyz, 1.0f)).xyz, 1.0f), 0.0f.xxxx).xyz).xyz * 1.0f) * (lerp(0.0f, pow(_24079.x, _Globals_1_g_flHeightGradientPower), _Globals_1_g_flHeightGradientAmount) + 1.0f)).xyz;- float4 _11205 = float4(_22686, _19334.w);+ vec2 _11427 = vec2(_20339, _24572.x + _20339);+ vec3 _8745 = vec3(dot(PerViewLightingConstantBufferGpu_t._m0._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m0._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m0._m0[2].xyzw, _23875)).xyz;+ vec3 _16991 = _16324.xyz + _8745;+ vec3 _20418 = vec3(_21711 * (_19068.x * mix(1.0, pow(_24079.w, _Globals_.g_flVertexAmbientOcclusionPower), _Globals_.g_flVertexAmbientOcclusionAmount))).xyz;+ vec3 _22686 = (_16324.xyz + (_8745 * _20418).xyz) * ((vec3(max(vec4((vec4(vec4((_19334.xyz * input_4.xyz).xyz, 1.0).xyz, 1.0) * _Globals_.g_mTextureColorAdjust).xyz, 1.0), vec4(0.0)).xyz).xyz * 1.0) * (mix(0.0, pow(_24079.x, _Globals_.g_flHeightGradientPower), _Globals_.g_flHeightGradientAmount) + 1.0)).xyz;+ vec4 _11205 = vec4(_22686, _19334.w); _11205.x = _22686.x; _11205.y = _22686.y; _11205.z = _22686.z;- float3 _15752 = _11205.xyz + (_13137.xyz * _20418).xyz;- float4 _20490 = _11205;+ vec3 _15752 = _11205.xyz + (_13137.xyz * _20418).xyz;+ vec4 _20490 = _11205; _20490.x = _15752.x; _20490.y = _15752.y; _20490.z = _15752.z;- float3 _15734 = _20490.xyz + ((((lerp(_11427.xxx, _11427.yyy, _8357) * g_bindless_TextureCubeArray_float4[PerViewConstantBufferCsgo_t_1_m7].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], float4(normalize(lerp(_6253, reflect(_17138.xyz, _17892.xyz).xyz, (_20711 * (sqrt(_20711) + _17225)).xxx)), 0.0f), PerViewLightingConstantBufferGpu_t_1_m8.y * sqrt(_17172)).xyz).xyz * (normalize(_16991 + 0.001000000047497451305389404296875f.xxx) * clamp(length(_16991), 0.0f, 1.75f))).xyz * (1.0f.xxx + (normalize(_8745 + 0.001000000047497451305389404296875f.xxx) * 0.5f))).xyz * _20418).xyz;- float4 _13888 = _20490;+ vec3 _15734 = _20490.xyz + ((((mix(_11427.xxx, _11427.yyy, _8357) * textureLod(samplerCubeArray(g_bindless_TextureCubeArray_float4[PerViewConstantBufferCsgo_t._m7], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), vec4(normalize(mix(_6253, reflect(_17138.xyz, _17892.xyz).xyz, vec3(_20711 * (sqrt(_20711) + _17225)))), 0.0), PerViewLightingConstantBufferGpu_t._m8.y * sqrt(_17172)).xyz).xyz * (normalize(_16991 + vec3(0.001000000047497451305389404296875)) * clamp(length(_16991), 0.0, 1.75))).xyz * (vec3(1.0) + (normalize(_8745 + vec3(0.001000000047497451305389404296875)) * 0.5))).xyz * _20418).xyz;+ vec4 _13888 = _20490; _13888.x = _15734.x; _13888.y = _15734.y; _13888.z = _15734.z;- float4 _6805;- if (_Globals_1_g_bFogEnabled != 0)+ vec4 _6805;+ if (_Globals_.g_bFogEnabled != 0) {- float3 _21493;- float3 _22956 = _10061.xyz - PerViewConstantBuffer_t_1_m3.xyz;- float3 _9057 = _22956.xyz;- float3 _19340;+ vec3 _21493;+ vec3 _22956 = _10061.xyz - PerViewConstantBuffer_t._m3.xyz;+ vec3 _9057 = _22956.xyz;+ vec3 _19340; do { _21493 = _22956.xyz; bool _12889;- if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t_1_m14.x)+ if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t._m14.x) {- _12889 = (_10061.z * PerViewConstantBufferCsgo_t_1_m14.z) < PerViewConstantBufferCsgo_t_1_m14.y;+ _12889 = (_10061.z * PerViewConstantBufferCsgo_t._m14.z) < PerViewConstantBufferCsgo_t._m14.y; } else { _12889 = false; }- [branch]+ SPIRV_CROSS_BRANCH if (_12889) {- float2 _9342 = clamp(PerViewConstantBufferCsgo_t_1_m11.xy + (PerViewConstantBufferCsgo_t_1_m11.zw * float2(length(_21493), _10061.z)), 0.0f.xx, 1.0f.xx);- float _12872 = (pow(_9342.x, PerViewConstantBufferCsgo_t_1_m12.x) * pow(_9342.y, PerViewConstantBufferCsgo_t_1_m12.y)) * PerViewConstantBufferCsgo_t_1_m13.w;- _19340 = lerp(_13888.xyz, float4(PerViewConstantBufferCsgo_t_1_m13.xyz, _12872).xyz, _12872.xxx);+ vec2 _9342 = saturate(PerViewConstantBufferCsgo_t._m11.xy + (PerViewConstantBufferCsgo_t._m11.zw * vec2(length(_21493), _10061.z)));+ float _12872 = (pow(_9342.x, PerViewConstantBufferCsgo_t._m12.x) * pow(_9342.y, PerViewConstantBufferCsgo_t._m12.y)) * PerViewConstantBufferCsgo_t._m13.w;+ _19340 = mix(_13888.xyz, vec4(PerViewConstantBufferCsgo_t._m13.xyz, _12872).xyz, vec3(_12872)); break; } _19340 = _13888.xyz; break; } while(false);- float4 _23944 = _13888;+ vec4 _23944 = _13888; _23944.x = _19340.x; _23944.y = _19340.y; _23944.z = _19340.z;- float3 _19341;+ vec3 _19341; do { bool _12890;- if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t_1_m18.x)+ if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t._m18.x) {- _12890 = (PerViewConstantBufferCsgo_t_1_m18.z * _10061.z) < PerViewConstantBufferCsgo_t_1_m18.y;+ _12890 = (PerViewConstantBufferCsgo_t._m18.z * _10061.z) < PerViewConstantBufferCsgo_t._m18.y; } else { _12890 = false; } if (_12890) {- float _14602 = saturate(pow(max(0.0f, (length(_21493) * PerViewConstantBufferCsgo_t_1_m15.y) + PerViewConstantBufferCsgo_t_1_m15.x), PerViewConstantBufferCsgo_t_1_m15.w)) * saturate(pow(max(0.0f, (_10061.z * PerViewConstantBufferCsgo_t_1_m16.y) + PerViewConstantBufferCsgo_t_1_m16.x), PerViewConstantBufferCsgo_t_1_m16.z));- float _8892 = saturate(_14602) * PerViewConstantBufferCsgo_t_1_m18.w;- _19341 = lerp(_23944.xyz, float4((g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t_1_m3].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], normalize(mul(float4(_9057, 0.0f), PerViewConstantBufferCsgo_t_1_m17).xyz).xyz, PerViewConstantBufferCsgo_t_1_m16.w * saturate(1.0f - (_14602 * PerViewConstantBufferCsgo_t_1_m15.z))) * PerViewConstantBufferCsgo_t_1_m19.x).xyz, _8892).xyz, _8892.xxx);+ float _14602 = saturate(pow(max(0.0, (length(_21493) * PerViewConstantBufferCsgo_t._m15.y) + PerViewConstantBufferCsgo_t._m15.x), PerViewConstantBufferCsgo_t._m15.w)) * saturate(pow(max(0.0, (_10061.z * PerViewConstantBufferCsgo_t._m16.y) + PerViewConstantBufferCsgo_t._m16.x), PerViewConstantBufferCsgo_t._m16.z));+ float _8892 = saturate(_14602) * PerViewConstantBufferCsgo_t._m18.w;+ _19341 = mix(_23944.xyz, vec4((textureLod(samplerCube(g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t._m3], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), normalize((PerViewConstantBufferCsgo_t._m17 * vec4(_9057, 0.0)).xyz).xyz, PerViewConstantBufferCsgo_t._m16.w * saturate(1.0 - (_14602 * PerViewConstantBufferCsgo_t._m15.z))) * PerViewConstantBufferCsgo_t._m19.x).xyz, _8892).xyz, vec3(_8892)); break; } _19341 = _23944.xyz;@@ -1332,23 +1351,6 @@ PS output_0 = _6805; } - PS_OUTPUT MainPs(PS_INPUT stage_input)- {- gl_FragCoord = stage_input.gl_FragCoord;- gl_FragCoord.w = 1.0 / gl_FragCoord.w;- gl_FrontFacing = stage_input.gl_FrontFacing;- input_0 = stage_input.input_0;- input_1 = stage_input.input_1;- input_2 = stage_input.input_2;- input_3 = stage_input.input_3;- input_4 = stage_input.input_4;- input_5 = stage_input.input_5;- input_6 = stage_input.input_6;- MainPs_inner();- PS_OUTPUT stage_output;- stage_output.output_0 = output_0;- return stage_output;- } // --------- SPIRV -> HLSL end --------- @@ -1751,8 +1753,8 @@ RTX void main() { uint _549 = g_instanceBuffer._member0[uint(gl_InstanceID)].nMaterialData;- uint _604 = g_MaterialData_1._member0[(_549 + 28u) / 4u];- uint _603 = g_MaterialData_1._member0[(_549 + 32u) / 4u];+ uint _604 = g_MaterialData_1._member0[(_549 + 32u) / 4u];+ uint _603 = g_MaterialData_1._member0[(_549 + 36u) / 4u]; vec4 _602 = vec4(g_MaterialData_3._member0[(_549 + 112u) / 4u], g_MaterialData_3._member0[(_549 + 116u) / 4u], g_MaterialData_3._member0[(_549 + 120u) / 4u], g_MaterialData_3._member0[(_549 + 124u) / 4u]); vec4 _601 = vec4(g_MaterialData_3._member0[(_549 + 128u) / 4u], g_MaterialData_3._member0[(_549 + 132u) / 4u], g_MaterialData_3._member0[(_549 + 136u) / 4u], g_MaterialData_3._member0[(_549 + 140u) / 4u]); vec2 _600 = vec2(g_MaterialData_3._member0[(_549 + 144u) / 4u], g_MaterialData_3._member0[(_549 + 148u) / 4u]);game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_glass.slang
modified • +17 / -17 • changes: 34
Show patch
@@ -312,14 +312,14 @@ PS Texture2D g_tGlassDust < Channel(RGB, ArtistDefinedOrAlphaWeighted(GlassMaskColor, GlassMaskTranslucency), Srgb); Channel(A, Box(GlassMaskTranslucency), Linear); OutputFormat(BC7); SrgbRead(true); >; Texture2D g_tGlassTintColor < Channel(RGB, Box(GlassTintColor), Srgb); Channel(A, Box(GlassMaskTransmission), Linear); OutputFormat(BC7); SrgbRead(true); >; Texture2D g_tNormal < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormal, TextureRoughness), Linear); OutputFormat(BC7); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Glass CreateInputTexture2D(GlassTintColor, Srgb, 8, "", "_color", "Glass,10/Tint,30/10", "materials/default/default_tint_color.tga"); CreateInputTexture2D(GlassMaskColor, Srgb, 8, "", "_color", "Glass,10/Mask,10/20", Default4(1, 1, 1, 0)); CreateInputTexture2D(GlassMaskTranslucency, Linear, 8, "", "_trans", "Glass,10/Mask,10/30", Default4(0, 0, 0, 0));- float2 g_flTranslucencyRemap < Default(0); UiType(VectorText); UiGroup("Glass,10/Mask,10/30"); >;+ float2 g_flTranslucencyRemap < Default2(0, 1); UiType(VectorText); UiGroup("Glass,10/Mask,10/30"); >; CreateInputTexture2D(GlassMaskTransmission, Linear, 8, "", "_mask", "Glass,10/Mask,10/40", Default4(1, 1, 1, 0)); // Normal@@ -347,17 +347,17 @@ PS // Source 2 Viewer - https://valveresourceformat.github.io // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup - struct _1696+ struct _1822 { float4 _m0[3]; }; - struct _1709+ struct _1835 { float4 _m0[4]; }; - struct _360+ struct _918 { column_major float4x4 _m0[4]; };@@ -400,15 +400,15 @@ PS uint _Globals_1_g_tGlassDust : packoffset(c0.w); float2 _Globals_1_g_flTranslucencyRemap : packoffset(c1); float _Globals_1_g_flModelTintAmount : packoffset(c1.z);- uint _Globals_1_g_sTrilinearWrap : packoffset(c2.y);- uint _Globals_1_g_sTrilinearClamp : packoffset(c2.z);- uint _Globals_1_g_sUserConfig : packoffset(c3.z);- uint _Globals_1_g_sCookieSampler : packoffset(c4.y);- uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c4.z);- int _Globals_1_g_bFogEnabled : packoffset(c5);- int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c5.y);- int _Globals_1_g_bRenderBackfaceNormals : packoffset(c5.z);- float _Globals_1_g_flReflectance : packoffset(c5.w);+ uint _Globals_1_g_sTrilinearWrap : packoffset(c2.z);+ uint _Globals_1_g_sTrilinearClamp : packoffset(c2.w);+ uint _Globals_1_g_sUserConfig : packoffset(c3.w);+ uint _Globals_1_g_sCookieSampler : packoffset(c4.z);+ uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c4.w);+ int _Globals_1_g_bFogEnabled : packoffset(c5.y);+ int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c5.z);+ int _Globals_1_g_bRenderBackfaceNormals : packoffset(c5.w);+ float _Globals_1_g_flReflectance : packoffset(c6); }; cbuffer PerViewConstantBufferCsgo_t : register(b3, space1)@@ -442,7 +442,7 @@ PS cbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3) {- _1696 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);+ _1822 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7); float4 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c18); uint4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c19); uint4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c22);@@ -458,8 +458,8 @@ PS float PerViewLightingConstantBufferGpu_t_1_m13 : packoffset(c1955.y); float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955.z); float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.w);- _360 PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1956);- _1709 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1988);+ _918 PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1956);+ _1835 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1988); uint PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1996); uint PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1996.y); };game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_grenade_camera.slang
modified • +2 / -2 • changes: 4
Show patch
@@ -110,9 +110,9 @@ PS }; Texture2D<float4> g_tCameraTexture : register(t30, space1);- SamplerState DefaultSamplerState_0 : register(s21, space1);+ SamplerState DefaultSamplerState_0 : register(s22, space1); Texture2D<float4> g_tJumpThrowIcon : register(t31, space1);- SamplerState g_sBilinearClamp : register(s15, space1);+ SamplerState g_sBilinearClamp : register(s16, space1); static float2 input_0; static float4 output_0;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_lightmapped_4wayblend.slang
modified • +108 / -97 • changes: 205
Show patch
@@ -299,7 +299,7 @@ PS Texture2D g_tParticleShadowBuffer < Attribute("ParticleShadowBuffer"); SrgbRead(false); >; Texture2D g_tShadowDepthBufferDepth < Attribute("ShadowDepthBuffer"); SrgbRead(false); >; Texture2D g_tSsao < Attribute("SSAOOcclusionFactor"); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Detail@@ -371,17 +371,17 @@ PS #endif #extension GL_KHR_shader_subgroup_arithmetic : require - struct _1654+ struct _1906 { vec4 _m0[3]; }; - struct _1864+ struct _2116 { vec4 _m0[4]; }; - struct _2767+ struct _872 { mat4 _m0[4]; };@@ -452,10 +452,10 @@ PS layout(set = 1) uniform _1574 _Globals_; - struct _1920+ struct _2326 {- _1654 _m0;- _1864 _m1;+ _1906 _m0;+ _2116 _m1; vec4 _m2; vec4 _m3; vec4 _m4;@@ -471,11 +471,11 @@ PS float _m14; float _m15; float _m16;- _2767 _m17;- _1864 _m18;+ _872 _m17;+ _2116 _m18; }; - layout(set = 3) uniform _1920 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _2326 PerViewLightingConstantBufferGpu_t; struct _1194 {@@ -498,12 +498,12 @@ PS } g_BarnLights_1; layout(set = 1, binding = 43) uniform texture2D g_tColor;- layout(set = 1, binding = 19) uniform sampler g_sUserConfig;+ layout(set = 1, binding = 20) uniform sampler g_sUserConfig; layout(set = 1, binding = 46) uniform texture2D g_tLayer2Color; layout(set = 1, binding = 49) uniform texture2D g_tLayer3Color; layout(set = 1, binding = 52) uniform texture2D g_tLayer4Color; layout(set = 1, binding = 45) uniform texture2D g_tLayer1AmbientOcclusion;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 48) uniform texture2D g_tLayer2AmbientOcclusion; layout(set = 1, binding = 51) uniform texture2D g_tLayer3AmbientOcclusion; layout(set = 1, binding = 54) uniform texture2D g_tLayer4AmbientOcclusion;@@ -512,13 +512,13 @@ PS layout(set = 1, binding = 50) uniform texture2D g_tLayer3NormalRoughness; layout(set = 1, binding = 53) uniform texture2D g_tLayer4NormalRoughness; layout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;- layout(set = 1, binding = 22) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 23) uniform sampler g_sCookieSampler; layout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;- layout(set = 1, binding = 18) uniform sampler g_sPointClamp;- layout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 19) uniform sampler g_sPointClamp;+ layout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 61) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture; @@ -616,104 +616,115 @@ PS { _21709 = 1.0; }- float _21710;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m8.xyz, _24735);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m10 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13136;- vec3 _14975;- int _13039 = 0;- for (;;)+ float _12503;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m10 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m10))- {- _13136 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m17._m0[_13039];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m12[_13039])+ int _23989;+ int _10191;+ float _13136;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m14)) + vec2(PerViewLightingConstantBufferGpu_t._m13));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m18._m0[_13039].xy;- vec3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m10))+ {+ _13136 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break;+ }+ vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m17._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m12[_13039])+ {+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m14)) + vec2(PerViewLightingConstantBufferGpu_t._m13));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m18._m0[_13039].xy;+ vec3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)- {- float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0);- float _12501;- SPIRV_CROSS_BRANCH- if (_13136 < 1.0)+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m10 - 1))+ float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0);+ float _12501;+ SPIRV_CROSS_BRANCH+ if (_13136 < 1.0) {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m17._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m18._m0[_15335].xy;- vec3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0);+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m10 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m17._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m18._m0[_15335].xy;+ vec3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0);+ }+ else+ {+ _7934 = 1.0;+ }+ _12501 = mix(_7934, _18270, _13136); } else {- _7934 = 1.0;+ _12501 = _18270; }- _12501 = mix(_7934, _18270, _13136);+ _19363 = _12501; } else {- _12501 = _18270;+ _19363 = 1.0; }- _19363 = _12501;- }- else- {- _19363 = 1.0;- }- float _13279 = mix(_19363, 1.0, saturate((distance(_11095.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m16) + PerViewLightingConstantBufferGpu_t._m15));- float _12502;- if (_24465.y)- {- _12502 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ float _13279 = mix(_19363, 1.0, saturate((distance(_11095.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m16) + PerViewLightingConstantBufferGpu_t._m15));+ float _12502;+ if (_24465.y)+ {+ _12502 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12502 = _13279;+ }+ _12503 = _12502; } else {- _12502 = _13279;+ _12503 = 1.0; }- _21710 = _12502;+ _12320 = _12503; } else {- _21710 = 1.0;+ _12320 = 1.0; }- vec3 _21711;+ vec3 _21710; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m8.xyz, _24735) * _21710) > 0.0)+ if ((_8634 * _12320) > 0.0) {- _21711 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(max(0.0, dot(_14995.xyz, PerViewLightingConstantBufferGpu_t._m8.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m9.xyz * _21710).xyz);+ _21710 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(max(0.0, dot(_14995.xyz, PerViewLightingConstantBufferGpu_t._m8.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m9.xyz * _12320).xyz); } else {- _21711 = PerViewLightingConstantBufferGpu_t._m4.xyz;+ _21710 = PerViewLightingConstantBufferGpu_t._m4.xyz; } bvec4 _24466 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0)); bool _20060 = _24466.x;@@ -737,7 +748,7 @@ PS uint _10838 = PerViewLightingConstantBufferGpu_t._m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m5.z); uint _23393 = PerViewLightingConstantBufferGpu_t._m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m7.x, 0.0, PerViewLightingConstantBufferGpu_t._m7.y)) * PerViewLightingConstantBufferGpu_t._m5.z); vec3 _13155;- _13155 = _21711;+ _13155 = _21710; uint _21567; vec3 _13156; uint _16208 = 0u;@@ -750,7 +761,7 @@ PS uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _16208] & g_CullBits_1._m0[_23393 + _16208]); _13156 = _13155; uint _20344;- vec3 _12504;+ vec3 _12505; uint _16209 = _14475; for (;;) {@@ -790,7 +801,7 @@ PS } if (_12885) {- _12504 = _13156;+ _12505 = _13156; break; } float _23571 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;@@ -900,7 +911,7 @@ PS } else {- vec3 _12503;+ vec3 _12504; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -916,7 +927,7 @@ PS vec3 _20491 = _14081; _20491.x = _20564.x; _20491.y = _20564.y;- _12503 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz; } else {@@ -925,13 +936,13 @@ PS vec3 _20490 = _13791; _20490.x = _20563.x; _20490.y = _20563.y;- _12503 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz; }- _21548 = _12503;+ _21548 = _12504; } if (all(equal(_21548.xyz, vec3(0.0)))) {- _12504 = _13156;+ _12505 = _13156; break; } vec3 _19630;@@ -953,7 +964,7 @@ PS vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m11)), 0.0), g_BarnLights_1._m0[_12608]._m12); if (all(equal(_20482.xyz, vec3(0.0)))) {- _12504 = _13156;+ _12505 = _13156; break; } _19630 = _20482;@@ -962,10 +973,10 @@ PS { _19630 = _21548; }- _12504 = _13156.xyz + (vec3(max(0.0, dot(_14995.xyz, _11179.xyz))).xyz * _19630.xyz);+ _12505 = _13156.xyz + (vec3(max(0.0, dot(_14995.xyz, _11179.xyz))).xyz * _19630.xyz); break; } while(false);- _13156 = _12504;+ _13156 = _12505; _16209 = _20344; continue; }game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_lightmappedgeneric.slang
modified • +198 / -205 • changes: 403
Show patch
@@ -89,8 +89,10 @@ VS StaticCombo( S_FANCY_BLENDING, F_FANCY_BLENDING!=0 ); StaticCombo( S_DETAILTEXTURE, F_DETAILTEXTURE ); StaticCombo( S_TEXTURETRANSFORMS, F_TEXTURETRANSFORMS );+ StaticCombo( S_OVERLAY, F_OVERLAY ); StaticComboRule( Requires( S_SPECULAR_DIRECT, S_SPECULAR_INDIRECT ) ); StaticComboRule( Requires( S_DETAILTEXTURE==2, S_LAYERS==1 ) );+ StaticComboRule( Allow1( S_OVERLAY, S_LAYERS ) ); DynamicCombo( D_COMPRESSED_NORMALS_AND_TANGENTS, 0..1 ); DynamicCombo( D_CS_VERTEX_ANIMATION, 0..1 ); DynamicCombo( D_BAKED_LIGHTING_FROM_VERTEX_STREAM, 0..1 );@@ -176,8 +178,18 @@ VS float g_flVertexColorOpacityScale < Default(1); UiType(Slider); UiGroup("Color, 10/25"); >; float g_flModelTintAmount < Default(1); UiType(Slider); UiGroup("Color,10/30"); >; + // Overlay+ float g_flOverlayLift < Range(0, 2); UiType(Slider); UiGroup("Overlay,90/Lift,10/10"); >;+ + // SPIR-V reflection failed for backend HLSL:+ // cbuffer ID 5618 (name: _Globals_), member index 0 (name: g_vColorTint) cannot be expressed with either HLSL packing layout or packoffset.+ //+ // Re-attempting reflection with the GLSL backend.+ // Source 2 Viewer - https://valveresourceformat.github.io- // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup+ // SPIR-V source, GLSL reflection with SPIRV-Cross by KhronosGroup+ + #version 460 struct _1125 {@@ -193,94 +205,83 @@ VS struct _1119 {- row_major float3x4 _m0;+ mat3x4 _m0; }; - ByteAddressBuffer g_instanceBuffer : register(t32, space4);- ByteAddressBuffer g_transformBuffer : register(t30, space4);- cbuffer PerViewConstantBuffer_t : register(b1, space0)+ layout(set = 4, binding = 32, std430) readonly buffer g_instanceBuffer {- column_major float4x4 PerViewConstantBuffer_t_1_m0 : packoffset(c0);- float4 PerViewConstantBuffer_t_1_m1 : packoffset(c24);- };+ _1125 _m0[];+ } g_instanceBuffer_1; - cbuffer _Globals_ : register(b0, space0)+ layout(set = 4, binding = 30, std430) readonly buffer g_transformBuffer {- float3 _Globals_1_g_vColorTint : packoffset(c4.y);- float _Globals_1_g_flVertexColorOpacityScale : packoffset(c5);- float _Globals_1_g_flModelTintAmount : packoffset(c5.y);- };+ _1119 _m0[];+ } g_transformBuffer_1; - cbuffer PerViewConstantBufferCsgo_t : register(b3, space0)+ struct _1224 {- float4 PerViewConstantBufferCsgo_t_1_m0 : packoffset(c35);+ mat4 _m0;+ vec4 _m1; }; + layout(set = 0) uniform _1224 PerViewConstantBuffer_t; - static float4 gl_Position;- static float3 vPositionOs;- static float2 vTexCoord;- static float3 vNormalOs;- static float4 vTangentUOs_flTangentVSign;- static uint4 vBlendIndices;- static uint nInstanceIdx;- static float3 output_0;- static float3 output_1;- static float4 output_2;- static float4 output_3;- static float4 output_4;- static uint output_5;- - struct VS_INPUT+ struct _1042 {- float3 vPositionOs : POSITION0;- float2 vTexCoord : TEXCOORD0;- float3 vNormalOs : NORMAL0;- float4 vTangentUOs_flTangentVSign : TANGENT0;- uint4 vBlendIndices : BLENDINDICES0;- uint nInstanceIdx : TEXCOORD13;+ vec3 g_vColorTint;+ float g_flVertexColorOpacityScale;+ float g_flModelTintAmount; }; - struct PS_INPUT+ layout(set = 0) uniform _1042 _Globals_;+ + struct _1017 {- float3 output_0 : TEXCOORD0;- float3 output_1 : TEXCOORD1;- float4 output_2 : TEXCOORD2;- centroid float4 output_3 : TEXCOORD3;- float4 output_4 : TEXCOORD4;- nointerpolation uint output_5 : TEXCOORD5;- float4 gl_Position : SV_Position;+ vec4 _m0; }; - void MainVs_inner()+ layout(set = 0) uniform _1017 PerViewConstantBufferCsgo_t;+ + layout(location = 0) in vec3 vPositionOs;+ layout(location = 1) in vec2 vTexCoord;+ layout(location = 2) in vec3 vNormalOs;+ layout(location = 3) in vec4 vTangentUOs_flTangentVSign;+ layout(location = 4) in uvec4 vBlendIndices;+ layout(location = 5) in uint nInstanceIdx;+ layout(location = 0) out vec3 output_0;+ layout(location = 1) out vec3 output_1;+ layout(location = 2) out vec4 output_2;+ layout(location = 3) centroid out vec4 output_3;+ layout(location = 4) out vec4 output_4;+ layout(location = 5) flat out uint output_5;+ + void main() {- uint _13771 = (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 20) >> uint(16)) & 15u;+ uint _13771 = (g_instanceBuffer_1._m0[nInstanceIdx]._m5 >> uint(16)) & 15u; uint _21785; if (_13771 == 1u) {- _21785 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) + (2u + vBlendIndices.x);+ _21785 = g_instanceBuffer_1._m0[nInstanceIdx]._m1 + (2u + vBlendIndices.x); } else {- _21785 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4);+ _21785 = g_instanceBuffer_1._m0[nInstanceIdx]._m1; }- float3x4 _12618 = float3x4(g_transformBuffer.Load<float4>(_21785 * 48 + 0), g_transformBuffer.Load<float4>(_21785 * 48 + 16), g_transformBuffer.Load<float4>(_21785 * 48 + 32));- float3 _21709;+ vec3 _21709; if (_13771 > 0u) {- float3x4 _25207 = float3x4(g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 0), g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 16), g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 32));- _21709 = _25207[0].z.xxx;+ _21709 = vec3(g_transformBuffer_1._m0[g_instanceBuffer_1._m0[nInstanceIdx]._m1]._m0[0].z); } else {- _21709 = 1.0f.xxx;+ _21709 = vec3(1.0); }- float4 _23812 = float4(uint4(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 255u, (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 65280u) >> uint(8), (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 16711680u) >> uint(16), (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 4278190080u) >> uint(24))) * 0.0039215688593685626983642578125f.xxxx;- float3 _6253 = _23812.xyz;- float3 _17828 = _6253 * 0.077399380505084991455078125f.xxx;- float3 _7676 = pow((_6253 * 0.947867333889007568359375f.xxx) + 0.052132703363895416259765625f.xxx, 2.400000095367431640625f.xxx);+ vec4 _23812 = vec4(uvec4(g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 255u, (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 65280u) >> uint(8), (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 16711680u) >> uint(16), (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 4278190080u) >> uint(24))) * vec4(0.0039215688593685626983642578125);+ vec3 _6253 = _23812.xyz;+ vec3 _17828 = _6253 * vec3(0.077399380505084991455078125);+ vec3 _7676 = pow((_6253 * vec3(0.947867333889007568359375)) + vec3(0.052132703363895416259765625), vec3(2.400000095367431640625)); float _21354;- if (_23812.x <= 0.040449999272823333740234375f)+ if (_23812.x <= 0.040449999272823333740234375) { _21354 = _17828.x; }@@ -289,7 +290,7 @@ VS _21354 = _7676.x; } float _21355;- if (_23812.y <= 0.040449999272823333740234375f)+ if (_23812.y <= 0.040449999272823333740234375) { _21355 = _17828.y; }@@ -298,7 +299,7 @@ VS _21355 = _7676.y; } float _17978;- if (_23812.z <= 0.040449999272823333740234375f)+ if (_23812.z <= 0.040449999272823333740234375) { _17978 = _17828.z; }@@ -307,41 +308,22 @@ VS _17978 = _7676.z; } float _7654 = _23812.w;- float _16337 = _7654 * g_instanceBuffer.Load<float>(nInstanceIdx * 32 + 28);- float3 _12151 = mul(_12618, float4(vPositionOs.xyz * _21709.xyz, 1.0f));- float4 _18237 = mul(PerViewConstantBuffer_t_1_m0, (float4(_12151.xyz, 1.0f) + (PerViewConstantBuffer_t_1_m1 * 1.0f)).xyzw);- float4 _9337 = vTexCoord.xyxy;+ float _16337 = _7654 * g_instanceBuffer_1._m0[nInstanceIdx]._m7;+ vec3 _12151 = vec4(vPositionOs.xyz * _21709.xyz, 1.0) * g_transformBuffer_1._m0[_21785]._m0;+ vec4 _18237 = (vec4(_12151.xyz, 1.0) + (PerViewConstantBuffer_t._m1 * 1.0)).xyzw * PerViewConstantBuffer_t._m0;+ vec4 _9337 = vTexCoord.xyxy; _9337.z = vTexCoord.x; _9337.w = vTexCoord.y;- output_0 = _12151.xyz - PerViewConstantBufferCsgo_t_1_m0.xyz;- output_1 = normalize(mul(_12618, float4(vNormalOs.xyz, 0.0f)));+ output_0 = _12151.xyz - PerViewConstantBufferCsgo_t._m0.xyz;+ output_1 = normalize(vec4(vNormalOs.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0); output_2 = _9337;- output_3 = float4(float4(lerp(1.0f.xxx, float4(_21354, _21355, _17978, _7654).xyz, _Globals_1_g_flModelTintAmount.xxx), _16337).xyz * _Globals_1_g_vColorTint.xyz, _16337 * _Globals_1_g_flVertexColorOpacityScale);- output_4 = float4(normalize(mul(_12618, float4(vTangentUOs_flTangentVSign.xyz, 0.0f))), vTangentUOs_flTangentVSign.w);- output_5 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 20) & 65535u;+ output_3 = vec4(vec4(mix(vec3(1.0), vec4(_21354, _21355, _17978, _7654).xyz, vec3(_Globals_.g_flModelTintAmount)), _16337).xyz * _Globals_.g_vColorTint.xyz, _16337 * _Globals_.g_flVertexColorOpacityScale);+ output_4 = vec4(normalize(vec4(vTangentUOs_flTangentVSign.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0), vTangentUOs_flTangentVSign.w);+ output_5 = g_instanceBuffer_1._m0[nInstanceIdx]._m5 & 65535u; _18237.y = -_18237.y; gl_Position = _18237; } - PS_INPUT MainVs(VS_INPUT stage_input)- {- vPositionOs = stage_input.vPositionOs;- vTexCoord = stage_input.vTexCoord;- vNormalOs = stage_input.vNormalOs;- vTangentUOs_flTangentVSign = stage_input.vTangentUOs_flTangentVSign;- vBlendIndices = stage_input.vBlendIndices;- nInstanceIdx = stage_input.nInstanceIdx;- MainVs_inner();- PS_INPUT stage_output;- stage_output.gl_Position = gl_Position;- stage_output.output_0 = output_0;- stage_output.output_1 = output_1;- stage_output.output_2 = output_2;- stage_output.output_3 = output_3;- stage_output.output_4 = output_4;- stage_output.output_5 = output_5;- return stage_output;- } // --------- SPIRV -> HLSL end --------- @@ -433,7 +415,7 @@ PS Texture2D g_tLayer2Color < Channel(RGB, ArtistDefined(TextureLayer2Color), Srgb); OutputFormat(DXT1); SrgbRead(true); >; Texture2D g_tLayer2Detail < Channel(RGB, Box(TextureLayer2Detail), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tLayer2NormalRoughness < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureLayer2Normal, TextureLayer2Roughness), Linear); OutputFormat(BC7); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Blend Modulation@@ -499,17 +481,17 @@ PS // Source 2 Viewer - https://valveresourceformat.github.io // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup - struct _2494+ struct _2746 { float4 _m0[3]; }; - struct _2704+ struct _2956 { float4 _m0[4]; }; - struct _465+ struct _1581 { column_major float4x4 _m0[4]; };@@ -547,20 +529,20 @@ PS cbuffer _Globals_ : register(b0, space1) {- uint _Globals_1_g_sTrilinearWrap : packoffset(c0.z);- uint _Globals_1_g_sTrilinearClamp : packoffset(c0.w);- uint _Globals_1_g_sPointClamp : packoffset(c1);- uint _Globals_1_g_sUserConfig : packoffset(c1.w);- uint _Globals_1_g_tColor : packoffset(c2.y);- uint _Globals_1_g_tLayer1NormalRoughness : packoffset(c2.z);- uint _Globals_1_g_tLayer1AmbientOcclusion : packoffset(c2.w);- float3 _Globals_1_g_vLayer1Tint : packoffset(c3);- uint _Globals_1_g_sCookieSampler : packoffset(c4.z);- uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c4.w);- int _Globals_1_g_bFogEnabled : packoffset(c5.y);- int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c5.z);- int _Globals_1_g_bRenderBackfaceNormals : packoffset(c5.w);- float _Globals_1_g_flMetalness : packoffset(c10);+ uint _Globals_1_g_sTrilinearWrap : packoffset(c0.w);+ uint _Globals_1_g_sTrilinearClamp : packoffset(c1);+ uint _Globals_1_g_sPointClamp : packoffset(c1.y);+ uint _Globals_1_g_sUserConfig : packoffset(c2);+ uint _Globals_1_g_tColor : packoffset(c2.z);+ uint _Globals_1_g_tLayer1NormalRoughness : packoffset(c2.w);+ uint _Globals_1_g_tLayer1AmbientOcclusion : packoffset(c3);+ float3 _Globals_1_g_vLayer1Tint : packoffset(c3.y);+ uint _Globals_1_g_sCookieSampler : packoffset(c4.w);+ uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c5);+ int _Globals_1_g_bFogEnabled : packoffset(c5.z);+ int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c5.w);+ int _Globals_1_g_bRenderBackfaceNormals : packoffset(c6);+ float _Globals_1_g_flMetalness : packoffset(c10.y); }; cbuffer PerViewConstantBufferCsgo_t : register(b3, space1)@@ -589,8 +571,8 @@ PS cbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3) {- _2494 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);- _2704 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);+ _2746 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);+ _2956 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11); float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16); float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17); float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);@@ -606,8 +588,8 @@ PS float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955.y); float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.z); float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.w);- _465 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1956);- _2704 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1988);+ _1581 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1956);+ _2956 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1988); uint PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1996); uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996.y); };@@ -771,104 +753,115 @@ PS { _21709 = 1.0f; }- float _21710;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m8.xyz, _24735);+ float _12320; [branch]- if (PerViewLightingConstantBufferGpu_t_1_m10 != 0)+ if (_8634 > 0.0f) {- int _23989;- int _10191;- float _13136;- float3 _14975;- int _13039 = 0;- for (;;)+ float _12503;+ [branch]+ if (PerViewLightingConstantBufferGpu_t_1_m10 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m10))- {- _13136 = 1.0f;- _14975 = 0.0f.xxx;- _10191 = -1;- break;- }- float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_13039], float4(input_0.xyz, 1.0f));- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m12[_13039])+ int _23989;+ int _10191;+ float _13136;+ float3 _14975;+ int _13039 = 0;+ for (;;) {- float3 _19470 = float3(_12779, _18322.yz);- float2 _24804 = _19470.xy;- float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m14.xx) + PerViewLightingConstantBufferGpu_t_1_m13.xx, 0.0f.xx, 1.0f.xx);- float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].xy;- float3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m10))+ {+ _13136 = 1.0f;+ _14975 = 0.0f.xxx;+ _10191 = -1;+ break;+ }+ float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_13039], float4(input_0.xyz, 1.0f));+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m12[_13039])+ {+ float3 _19470 = float3(_12779, _18322.yz);+ float2 _24804 = _19470.xy;+ float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m14.xx) + PerViewLightingConstantBufferGpu_t_1_m13.xx, 0.0f.xx, 1.0f.xx);+ float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].xy;+ float3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)- {- float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m11));- float _12501;- [branch]- if (_13136 < 1.0f)+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m10 - 1))+ float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m11));+ float _12501;+ [branch]+ if (_13136 < 1.0f) {- int _15335 = _10191 + 1;- float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_15335], float4(input_0.xyz, 1.0f));- float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].xy;- float3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m11));+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m10 - 1))+ {+ int _15335 = _10191 + 1;+ float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_15335], float4(input_0.xyz, 1.0f));+ float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].xy;+ float3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m11));+ }+ else+ {+ _7934 = 1.0f;+ }+ _12501 = lerp(_7934, _18270, _13136); } else {- _7934 = 1.0f;+ _12501 = _18270; }- _12501 = lerp(_7934, _18270, _13136);+ _19363 = _12501; } else {- _12501 = _18270;+ _19363 = 1.0f; }- _19363 = _12501;- }- else- {- _19363 = 1.0f;- }- float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m16) + PerViewLightingConstantBufferGpu_t_1_m15));- float _12502;- if (_24465.y)- {- _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m16) + PerViewLightingConstantBufferGpu_t_1_m15));+ float _12502;+ if (_24465.y)+ {+ _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ }+ else+ {+ _12502 = _13279;+ }+ _12503 = _12502; } else {- _12502 = _13279;+ _12503 = 1.0f; }- _21710 = _12502;+ _12320 = _12503; } else {- _21710 = 1.0f;+ _12320 = 1.0f; }- float3 _21711;+ float3 _21710; [branch]- if ((dot(PerViewLightingConstantBufferGpu_t_1_m8.xyz, _24735) * _21710) > 0.0f)+ if ((_8634 * _12320) > 0.0f) {- _21711 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m8.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m9.xyz * _21710).xyz);+ _21710 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m8.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m9.xyz * _12320).xyz); } else {- _21711 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;+ _21710 = PerViewLightingConstantBufferGpu_t_1_m4.xyz; } bool4 _24466 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w); bool _20060 = _24466.x;@@ -892,7 +885,7 @@ PS uint _10838 = PerViewLightingConstantBufferGpu_t_1_m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m5.z); uint _23393 = PerViewLightingConstantBufferGpu_t_1_m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m7.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m7.y)) * PerViewLightingConstantBufferGpu_t_1_m5.z); float3 _13155;- _13155 = _21711;+ _13155 = _21710; uint _21567; float3 _13156; uint _16208 = 0u;@@ -905,7 +898,7 @@ PS uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _16208) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _16208) * 4 + 0)); _13156 = _13155; uint _20344;- float3 _12504;+ float3 _12505; uint _16209 = _14475; for (;;) {@@ -948,7 +941,7 @@ PS } if (_12887) {- _12504 = _13156;+ _12505 = _13156; break; } float _23571 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;@@ -1058,7 +1051,7 @@ PS } else {- float3 _12503;+ float3 _12504; if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f) { float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);@@ -1074,7 +1067,7 @@ PS float3 _20491 = _14081; _20491.x = _20564.x; _20491.y = _20564.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20491.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20491.xyz, 0.0f).xyz; } else {@@ -1083,13 +1076,13 @@ PS float3 _20490 = _13791; _20490.x = _20563.x; _20490.y = _20563.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20490.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20490.xyz, 0.0f).xyz; }- _21548 = _12503;+ _21548 = _12504; } if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z))) {- _12504 = _13156;+ _12505 = _13156; break; } float3 _19630;@@ -1112,7 +1105,7 @@ PS float3 _16449 = _20482.xyz; if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z))) {- _12504 = _13156;+ _12505 = _13156; break; } _19630 = _20482;@@ -1121,10 +1114,10 @@ PS { _19630 = _21548; }- _12504 = _13156.xyz + (max(0.0f, dot(_14786.xyz, _11179.xyz)).xxx.xyz * _19630.xyz);+ _12505 = _13156.xyz + (max(0.0f, dot(_14786.xyz, _11179.xyz)).xxx.xyz * _19630.xyz); break; } while(false);- _13156 = _12504;+ _13156 = _12505; _16209 = _20344; continue; }@@ -1405,10 +1398,10 @@ RTX StaticCombo( S_FANCY_BLENDING, F_FANCY_BLENDING!=0 ); StaticCombo( S_DETAILTEXTURE, F_DETAILTEXTURE ); StaticCombo( S_TEXTURETRANSFORMS, F_TEXTURETRANSFORMS );+ StaticCombo( S_OVERLAY, F_OVERLAY ); StaticCombo( S_ALPHA_TEST, F_ALPHA_TEST ); StaticCombo( S_TRANSLUCENT, F_TRANSLUCENT ); StaticCombo( S_DETAILBLENDMODE, F_DETAILBLENDMODE );- StaticCombo( S_OVERLAY, F_OVERLAY ); StaticCombo( S_METALNESS_TEXTURE, F_METALNESS_TEXTURE ); StaticCombo( S_SHADER_QUALITY, 0..1 ); StaticComboRule( Requires( S_MODE_TOOLS_VIS, S_SHADER_QUALITY ) );@@ -1726,9 +1719,9 @@ RTX vec3 _479 = vec3(g_MaterialData_1._member0[_442 / 4u], g_MaterialData_1._member0[(_442 + 4u) / 4u], g_MaterialData_1._member0[(_442 + 8u) / 4u]); float _478 = g_MaterialData_1._member0[(_442 + 12u) / 4u]; float _477 = g_MaterialData_1._member0[(_442 + 16u) / 4u];- uint _476 = g_MaterialData_3._member0[(_442 + 48u) / 4u];- uint _475 = g_MaterialData_3._member0[(_442 + 56u) / 4u];- uint _474 = g_MaterialData_3._member0[(_442 + 60u) / 4u];+ uint _476 = g_MaterialData_3._member0[(_442 + 52u) / 4u];+ uint _475 = g_MaterialData_3._member0[(_442 + 60u) / 4u];+ uint _474 = g_MaterialData_3._member0[(_442 + 64u) / 4u]; vec3 _473 = vec3(g_MaterialData_1._member0[(_442 + 80u) / 4u], g_MaterialData_1._member0[(_442 + 84u) / 4u], g_MaterialData_1._member0[(_442 + 88u) / 4u]); bool _472 = g_MaterialData_5._member0[(_442 + 96u) / 4u] != 0; bool _471 = g_MaterialData_5._member0[(_442 + 104u) / 4u] != 0;@@ -2840,7 +2833,10 @@ RTX BoolAttribute(SupportsMappingDimensions, true); BoolAttribute(renderbackfaces, F_RENDER_BACKFACES ? 1 : 0); - #if (S_SHADER_QUALITY == 0)+ #if (S_LAYERS == 0)+ TextureAttribute(LightSim_Opacity_A, g_tColor);+ #endif+ #if (S_DETAILBLENDMODE == 1) TextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color); TextureAttribute(RepresentativeTexture2, g_tLayer2Color); BoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);@@ -2850,7 +2846,7 @@ RTX TextureAttribute(RepresentativeTexture2, g_tLayer2Color); BoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0); #endif- #if (S_DETAILBLENDMODE == 1)+ #if (S_TRANSLUCENT == 0) TextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color); TextureAttribute(RepresentativeTexture2, g_tLayer2Color); BoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);@@ -2866,28 +2862,25 @@ RTX #if (S_ALPHA_TEST == 0) BoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0); #endif- #if (S_OVERLAY == 0)+ #if (S_SHADER_QUALITY == 0) TextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color); TextureAttribute(RepresentativeTexture2, g_tLayer2Color); BoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0); #endif- #if (S_LAYERS == 0)+ #if (S_DETAILBLENDMODE == 0) TextureAttribute(LightSim_Opacity_A, g_tColor); #endif- #if (S_SPECULAR_INDIRECT == 0)+ #if (S_LAYERS == 1) TextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color); TextureAttribute(RepresentativeTexture2, g_tLayer2Color); BoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0); #endif- #if (S_LAYERS == 1)+ #if (S_SPECULAR_INDIRECT == 0) TextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color); TextureAttribute(RepresentativeTexture2, g_tLayer2Color); BoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0); #endif- #if (S_DETAILBLENDMODE == 0)- TextureAttribute(LightSim_Opacity_A, g_tColor);- #endif- #if (S_TRANSLUCENT == 0)+ #if (S_OVERLAY == 0) TextureAttribute(LightSim_DiffuseAlbedoTexture2, g_tLayer2Color); TextureAttribute(RepresentativeTexture2, g_tLayer2Color); BoolAttribute(NoZPrepass, F_DISABLE_Z_PREPASS ? 1 : 0);game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_moondome.slang
modified • +3 / -3 • changes: 6
Show patch
@@ -218,7 +218,7 @@ PS Texture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >; TextureCube g_tCubeMap < Channel(RGB, Box(TextureCubeMap), Srgb); OutputFormat(RGBA8888); SrgbRead(true); >; TextureCube g_tFogCubeTexture < Attribute("CubemapFogTexture"); SrgbRead(true); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Color@@ -268,11 +268,11 @@ PS }; Texture2D<float4> g_tColor : register(t52, space1);- SamplerState g_sUserConfig : register(s20, space1);+ SamplerState g_sUserConfig : register(s21, space1); TextureCube<float4> g_tCubeMap : register(t43, space1); SamplerState Filter_Anisotropic_MaxAniso_8 : register(s14, space1); TextureCube<float4> g_tFogCubeTexture : register(t42, space1);- SamplerState g_sTrilinearClamp : register(s18, space1);+ SamplerState g_sTrilinearClamp : register(s19, space1); static float3 input_0; static float4 input_2;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_projected_decals.slang
modified • +111 / -100 • changes: 211
Show patch
@@ -79,7 +79,7 @@ VS Texture2D g_tSheetTexture < Attribute("SheetTexture"); SrgbRead(false); >; [[layer_constant]] StructuredBuffer g_transformBuffer < Attribute("TransformBuffer"); >; float4 g_vSheetSequenceAndSizes < Source(TextureSheetData); SourceArg(g_tColor) UiType(VectorText); >;- float4 g_vShrinkWrapBB_01 < Default(0); UiType(VectorText); >;+ float4 g_vShrinkWrapBB_01 < Default4(0, 0, 0, 1); UiType(VectorText); >; float4 g_vShrinkWrapBB_23 < Default3(1, 1, 1); UiType(VectorText); >; // Color@@ -322,7 +322,7 @@ PS float2 g_vCutoffBiasScale < UiType(VectorText); Expression(float2(cos(.017453*min(180,g_flCutoffAngle+g_flCutoffAngleSoftness)),1/(cos(.017453*g_flCutoffAngle)-cos(.017453*min(180,g_flCutoffAngle+g_flCutoffAngleSoftness))))); >; float3 g_vDarkMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.1,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.1,.4,1.08).y)),2-float3(-.1,.4,1.08).z)); >; float3 g_vEmissiveTintScaled < UiType(VectorText); Expression(pow(2,g_flEmissiveBrightness).x*SrgbGammaToLinear(g_vEmissiveTint.xyz)); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float3 g_vMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.45,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.45,.4,1.08).y)),2-float3(-.45,.4,1.08).z)); >; float2 g_vRoughness < UiType(VectorText); Expression(max(.01,1-g_flGlossiness).x); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;@@ -434,17 +434,17 @@ PS mat3x4 _m0; }; - struct _1008+ struct _1302 { vec4 _m0[3]; }; - struct _1470+ struct _1764 { vec4 _m0[4]; }; - struct _592+ struct _1894 { mat4 _m0[4]; };@@ -538,9 +538,9 @@ PS layout(set = 1) uniform _1288 PerViewConstantBufferCsgo_t; - struct _2267+ struct _1586 {- _1008 _m0;+ _1302 _m0; vec4 _m1; uvec4 _m2; uvec4 _m3;@@ -554,11 +554,11 @@ PS float _m11; float _m12; float _m13;- _592 _m14;- _1470 _m15;+ _1894 _m14;+ _1764 _m15; }; - layout(set = 3) uniform _2267 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _1586 PerViewLightingConstantBufferGpu_t; layout(set = 3, binding = 30, std430) readonly buffer g_CullBits {@@ -571,17 +571,17 @@ PS } g_BarnLights_1; layout(set = 1, binding = 46) uniform texture2D g_tSceneDepth;- layout(set = 1, binding = 21) uniform sampler AddressU_Clamp_AddressV_Clamp;+ layout(set = 1, binding = 22) uniform sampler AddressU_Clamp_AddressV_Clamp; layout(set = 1, binding = 43) uniform texture2D g_tColor;- layout(set = 1, binding = 23) uniform sampler DefaultSamplerState_0;+ layout(set = 1, binding = 24) uniform sampler DefaultSamplerState_0; layout(set = 1, binding = 45) uniform texture2D g_tAmbientOcclusion;- layout(set = 1, binding = 27) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 28) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 53) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture;- layout(set = 1, binding = 26) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 27) uniform sampler g_sCookieSampler; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture; layout(location = 2) flat in uint input_2;@@ -765,105 +765,115 @@ PS _21785 = _21103; } vec4 _22272 = vec4(_20808, 1.0);- vec3 _6607 = _11403.xyz;- float _21710;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m5.xyz, _20808);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m7 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13137;- vec3 _14975;- int _13039 = 0;- for (;;)+ float _12504;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m7 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m7))- {- _13137 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(_11403.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_13039];- float _12780 = _18322.x;- if (max(abs(_12780), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m9[_13039])+ int _23989;+ int _10191;+ float _13137;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- vec3 _19470 = vec3(_12780, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m11)) + vec2(PerViewLightingConstantBufferGpu_t._m10));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m15._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_13039].xy;- vec3 _20489 = _19470;- _20489.x = _20561.x;- _20489.y = _20561.y;- _13137 = saturate(_22193.x * _22193.y);- _14975 = _20489;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m7))+ {+ _13137 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break;+ }+ vec4 _18322 = vec4(_11403.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_13039];+ float _12780 = _18322.x;+ if (max(abs(_12780), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m9[_13039])+ {+ vec3 _19470 = vec3(_12780, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m11)) + vec2(PerViewLightingConstantBufferGpu_t._m10));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m15._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_13039].xy;+ vec3 _20489 = _19470;+ _20489.x = _20561.x;+ _20489.y = _20561.y;+ _13137 = saturate(_22193.x * _22193.y);+ _14975 = _20489;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)- {- float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);- float _12502;- SPIRV_CROSS_BRANCH- if (_13137 < 1.0)+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m7 - 1))+ float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);+ float _12502;+ SPIRV_CROSS_BRANCH+ if (_13137 < 1.0) {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(_11403.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m15._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_15335].xy;- vec3 _20490;- _20490.x = _20562.x;- _20490.y = _20562.y;- _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20490.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m7 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(_11403.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m15._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_15335].xy;+ vec3 _20490;+ _20490.x = _20562.x;+ _20490.y = _20562.y;+ _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20490.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);+ }+ else+ {+ _7934 = 1.0;+ }+ _12502 = mix(_7934, _18270, _13137); } else {- _7934 = 1.0;+ _12502 = _18270; }- _12502 = mix(_7934, _18270, _13137);+ _19363 = _12502; } else {- _12502 = _18270;+ _19363 = 1.0; }- _19363 = _12502;- }- else- {- _19363 = 1.0;- }- float _12513 = mix(_19363, 1.0, saturate((distance(_18121.xyz, PerViewConstantBuffer_t._m7) * PerViewLightingConstantBufferGpu_t._m13) + PerViewLightingConstantBufferGpu_t._m12));- float _12503;- if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).y)- {- _12503 = min(_12513, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_24832.xy * PerViewConstantBuffer_t._m6.xy).xy, 0.0).z);+ float _12513 = mix(_19363, 1.0, saturate((distance(_18121.xyz, PerViewConstantBuffer_t._m7) * PerViewLightingConstantBufferGpu_t._m13) + PerViewLightingConstantBufferGpu_t._m12));+ float _12503;+ if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).y)+ {+ _12503 = min(_12513, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_24832.xy * PerViewConstantBuffer_t._m6.xy).xy, 0.0).z);+ }+ else+ {+ _12503 = _12513;+ }+ _12504 = _12503; } else {- _12503 = _12513;+ _12504 = 1.0; }- _21710 = _12503;+ _12320 = _12504; } else {- _21710 = 1.0;+ _12320 = 1.0; }- vec3 _21711;+ vec3 _21710; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m5.xyz, _20808) * _21710) > 0.0)+ if ((_8634 * _12320) > 0.0) {- _21711 = PerViewLightingConstantBufferGpu_t._m1.xyz + (vec3(max(0.0, dot(_20808, PerViewLightingConstantBufferGpu_t._m5.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m6.xyz * _21710).xyz);+ _21710 = PerViewLightingConstantBufferGpu_t._m1.xyz + (vec3(max(0.0, dot(_20808, PerViewLightingConstantBufferGpu_t._m5.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m6.xyz * _12320).xyz); } else {- _21711 = PerViewLightingConstantBufferGpu_t._m1.xyz;+ _21710 = PerViewLightingConstantBufferGpu_t._m1.xyz; } bvec4 _24465 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0)); bool _20059 = _24465.x;@@ -887,7 +897,7 @@ PS uint _10838 = PerViewLightingConstantBufferGpu_t._m2.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m3.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m2.z); uint _23393 = PerViewLightingConstantBufferGpu_t._m2.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m4.x, 0.0, PerViewLightingConstantBufferGpu_t._m4.y)) * PerViewLightingConstantBufferGpu_t._m2.z); vec3 _13155;- _13155 = _21711;+ _13155 = _21710; uint _21567; vec3 _13156; uint _16208 = 0u;@@ -900,7 +910,7 @@ PS uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _16208] & g_CullBits_1._m0[_23393 + _16208]); _13156 = _13155; uint _20344;- vec3 _12506;+ vec3 _12509; uint _16209 = _14475; for (;;) {@@ -912,6 +922,7 @@ PS _20344 = _16209 & (_16209 - 1u); do {+ vec3 _14644 = _11403.xyz; vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(_11403.xyz, 1.0); vec3 _10521 = _24893.xyz / vec3(_24893.w); vec4 _22912;@@ -936,11 +947,11 @@ PS } else {- _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_6607, 1.0)).xyz), vec3(1.0)));+ _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_14644, 1.0)).xyz), vec3(1.0))); } if (_12885) {- _12506 = _13156;+ _12509 = _13156; break; } float _23571 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;@@ -972,7 +983,7 @@ PS float _11633; if (g_BarnLights_1._m0[_12608]._m2.w != 0.0) {- vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _6607;+ vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _14644; float _18345 = dot(_10017, _10017); float _17647 = sqrt(_18345); vec3 _12302 = _10017 - _16268;@@ -1050,7 +1061,7 @@ PS } else {- vec3 _12504;+ vec3 _12505; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -1066,7 +1077,7 @@ PS vec3 _20492 = _14081; _20492.x = _20565.x; _20492.y = _20565.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz; } else {@@ -1075,13 +1086,13 @@ PS vec3 _20491 = _13791; _20491.x = _20564.x; _20491.y = _20564.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz; }- _21548 = _12504;+ _21548 = _12505; } if (all(equal(_21548.xyz, vec3(0.0)))) {- _12506 = _13156;+ _12509 = _13156; break; } vec3 _20940;@@ -1103,7 +1114,7 @@ PS vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(vec3(fma(_19630.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19630.z).xy, saturate(_19630.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0), g_BarnLights_1._m0[_12608]._m12); if (all(equal(_20482.xyz, vec3(0.0)))) {- _12506 = _13156;+ _12509 = _13156; break; } _20940 = _20482;@@ -1112,10 +1123,10 @@ PS { _20940 = _21548; }- _12506 = _13156.xyz + (vec3(max(0.0, dot(_20808, _11180.xyz))).xyz * _20940.xyz);+ _12509 = _13156.xyz + (vec3(max(0.0, dot(_20808, _11180.xyz))).xyz * _20940.xyz); break; } while(false);- _13156 = _12506;+ _13156 = _12509; _16209 = _20344; continue; }game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_refract.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -187,7 +187,7 @@ PS Texture2D g_tNormal < Channel(RGBA, MipNormal(TextureNormal), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tNormal2 < Channel(RGBA, MipNormal(TextureNormal2), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tRefractTint < Channel(RGBA, MipNormal(TextureTintTexture), Linear); OutputFormat(BC7); SrgbRead(false); >;- float4 g_vFBCopyTextureRect < Default2(0, 0); Attribute("FrameBufferCopyRectangle"); UiType(VectorText); >;+ float4 g_vFBCopyTextureRect < Default4(0, 0, 1, 1); Attribute("FrameBufferCopyRectangle"); UiType(VectorText); >; // Refraction CreateInputTexture2D(TextureNormal, Linear, 8, "", "_normal", "Refraction", Default4(0.5, 0.5, 1, 0));game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_simple.slang
modified • +108 / -97 • changes: 205
Show patch
@@ -313,7 +313,7 @@ PS Texture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); Channel(A, Box(TextureMetalness), Linear); OutputFormat(BC7); SrgbRead(true); >; Texture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); Channel(A, Box(TextureAmbientOcclusion), Linear); OutputFormat(BC7); SrgbRead(true); >; Texture2D g_tNormal < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormal, TextureRoughness), Linear); OutputFormat(BC7); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Ambient Occlusion@@ -348,17 +348,17 @@ PS // Source 2 Viewer - https://valveresourceformat.github.io // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup - struct _2578+ struct _2830 { float4 _m0[3]; }; - struct _2788+ struct _30 { float4 _m0[4]; }; - struct _837+ struct _1953 { column_major float4x4 _m0[4]; };@@ -397,20 +397,20 @@ PS cbuffer _Globals_ : register(b0, space1) { uint _Globals_1_g_tColor : packoffset(c0);- uint _Globals_1_g_sTrilinearWrap : packoffset(c0.w);- uint _Globals_1_g_sTrilinearClamp : packoffset(c1);- uint _Globals_1_g_sPointClamp : packoffset(c1.y);- uint _Globals_1_g_sUserConfig : packoffset(c2);- uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2.y);- uint _Globals_1_g_sCookieSampler : packoffset(c2.w);- uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c3);- int _Globals_1_g_bFogEnabled : packoffset(c3.z);- int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c3.w);- int _Globals_1_g_bRenderBackfaceNormals : packoffset(c4);- float _Globals_1_g_flReflectance : packoffset(c4.y);- uint _Globals_1_g_tNormal : packoffset(c8);- uint _Globals_1_g_tAmbientOcclusion : packoffset(c8.w);- float _Globals_1_g_flMetalness : packoffset(c9);+ uint _Globals_1_g_sTrilinearWrap : packoffset(c1);+ uint _Globals_1_g_sTrilinearClamp : packoffset(c1.y);+ uint _Globals_1_g_sPointClamp : packoffset(c1.z);+ uint _Globals_1_g_sUserConfig : packoffset(c2.y);+ uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2.z);+ uint _Globals_1_g_sCookieSampler : packoffset(c3);+ uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c3.y);+ int _Globals_1_g_bFogEnabled : packoffset(c3.w);+ int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c4);+ int _Globals_1_g_bRenderBackfaceNormals : packoffset(c4.y);+ float _Globals_1_g_flReflectance : packoffset(c4.z);+ uint _Globals_1_g_tNormal : packoffset(c8.y);+ uint _Globals_1_g_tAmbientOcclusion : packoffset(c9);+ float _Globals_1_g_flMetalness : packoffset(c9.y); }; cbuffer PerViewConstantBufferCsgo_t : register(b3, space1)@@ -440,8 +440,8 @@ PS cbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3) {- _2578 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);- _2788 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);+ _2830 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);+ _30 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11); float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16); float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17); float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);@@ -458,8 +458,8 @@ PS float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y); float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z); float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);- _837 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);- _2788 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);+ _1953 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);+ _30 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988); uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996); uint PerViewLightingConstantBufferGpu_t_1_m21 : packoffset(c1996.y); };@@ -645,99 +645,110 @@ PS { _21710 = 1.0f; }- float _21711;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735);+ float _12320; [branch]- if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)+ if (_8634 > 0.0f) {- int _23989;- int _10191;- float _13136;- float3 _14975;- int _13039 = 0;- for (;;)+ float _12503;+ [branch]+ if (PerViewLightingConstantBufferGpu_t_1_m11 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))- {- _13136 = 1.0f;- _14975 = 0.0f.xxx;- _10191 = -1;- break;- }- float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])+ int _23989;+ int _10191;+ float _13136;+ float3 _14975;+ int _13039 = 0;+ for (;;) {- float3 _19470 = float3(_12779, _18322.yz);- float2 _24804 = _19470.xy;- float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);- float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;- float3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))+ {+ _13136 = 1.0f;+ _14975 = 0.0f.xxx;+ _10191 = -1;+ break;+ }+ float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])+ {+ float3 _19470 = float3(_12779, _18322.yz);+ float2 _24804 = _19470.xy;+ float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);+ float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;+ float3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)- {- float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));- float _12501;- [branch]- if (_13136 < 1.0f)+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))+ float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));+ float _12501;+ [branch]+ if (_13136 < 1.0f) {- int _15335 = _10191 + 1;- float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));- float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;- float3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))+ {+ int _15335 = _10191 + 1;+ float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));+ float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;+ float3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));+ }+ else+ {+ _7934 = 1.0f;+ }+ _12501 = lerp(_7934, _18270, _13136); } else {- _7934 = 1.0f;+ _12501 = _18270; }- _12501 = lerp(_7934, _18270, _13136);+ _19363 = _12501; } else {- _12501 = _18270;+ _19363 = 1.0f; }- _19363 = _12501;- }- else- {- _19363 = 1.0f;- }- float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));- float _12502;- if (_24465.y)- {- _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));+ float _12502;+ if (_24465.y)+ {+ _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ }+ else+ {+ _12502 = _13279;+ }+ _12503 = _12502; } else {- _12502 = _13279;+ _12503 = 1.0f; }- _21711 = _12502;+ _12320 = _12503; } else {- _21711 = 1.0f;+ _12320 = 1.0f; } float3 _9716; float3 _24878; [branch]- if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735) * _21711) > 0.0f)+ if ((_8634 * _12320) > 0.0f) { bool3 _19899 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx; float _11797 = max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz));@@ -749,7 +760,7 @@ PS float _25211 = _9850 * _9850; float _19095 = _25211 * _25211; float _15346 = ((_12386 * _12386) * (_19095 - 1.0f)) + 1.0f;- float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21711).xyz;+ float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _12320).xyz; _9716 = ((_12351.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0f) + 2.0f)))).xyz * _11797).xyz * _16808; _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (_11797.xxx.xyz * _16808); }@@ -952,7 +963,7 @@ PS } else {- float3 _12503;+ float3 _12504; if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f) { float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);@@ -968,7 +979,7 @@ PS float3 _20492 = _14081; _20492.x = _20564.x; _20492.y = _20564.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz; } else {@@ -977,9 +988,9 @@ PS float3 _20491 = _13791; _20491.x = _20563.x; _20491.y = _20563.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz; }- _21548 = _12503;+ _21548 = _12504; } if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z))) {@@ -1025,9 +1036,9 @@ PS float _19211 = max(0.0f, dot(_11179.xyz, _12282)); float _9851 = _9841.x; float _25212 = _9851 * _9851;- float _19097 = _25212 * _25212;- float _15348 = ((_12387 * _12387) * (_19097 - 1.0f)) + 1.0f;- _13212 = _13138.xyz + (((_12351.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);+ float _19096 = _25212 * _25212;+ float _15348 = ((_12387 * _12387) * (_19096 - 1.0f)) + 1.0f;+ _13212 = _13138.xyz + (((_12351.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz); _15670 = _16325.xyz + (_11798.xxx.xyz * _22671.xyz); break; } while(false);game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_simple_2way_blend.slang
modified • +423 / -418 • changes: 841
Show patch
@@ -313,7 +313,7 @@ PS Texture2D g_tNormalA < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormalA, TextureRoughnessA), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tNormalB < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormalB, TextureRoughnessB), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tTintMask < Channel(R, Box(TextureTintMaskA), Linear); Channel(G, Box(TextureTintMaskB), Linear); OutputFormat(ATI2N); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Material A@@ -352,451 +352,476 @@ PS Texture2D g_tColorA < Channel(RGB, Box(TextureColorA), Srgb); OutputFormat(DXT1); SrgbRead(true); >; Texture2D g_tColorB < Channel(RGB, Box(TextureColorB), Srgb); OutputFormat(DXT1); SrgbRead(true); >; + // SPIR-V reflection failed for backend HLSL:+ // cbuffer ID 5618 (name: _Globals_), member index 6 (name: g_vTexCoordScale2) cannot be expressed with either HLSL packing layout or packoffset.+ //+ // Re-attempting reflection with the GLSL backend.+ // Source 2 Viewer - https://valveresourceformat.github.io- // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup+ // SPIR-V source, GLSL reflection with SPIRV-Cross by KhronosGroup+ + #version 460+ #if defined(GL_EXT_control_flow_attributes)+ #extension GL_EXT_control_flow_attributes : require+ #define SPIRV_CROSS_FLATTEN [[flatten]]+ #define SPIRV_CROSS_BRANCH [[dont_flatten]]+ #define SPIRV_CROSS_UNROLL [[unroll]]+ #define SPIRV_CROSS_LOOP [[dont_unroll]]+ #else+ #define SPIRV_CROSS_FLATTEN+ #define SPIRV_CROSS_BRANCH+ #define SPIRV_CROSS_UNROLL+ #define SPIRV_CROSS_LOOP+ #endif+ #extension GL_KHR_shader_subgroup_arithmetic : require - struct _2242+ struct _2494 {- float4 _m0[3];+ vec4 _m0[3]; }; - struct _2452+ struct _2704 {- float4 _m0[4];+ vec4 _m0[4]; }; - struct _2360+ struct _465 {- column_major float4x4 _m0[4];+ mat4 _m0[4]; }; struct _200 {- column_major float4x4 _m0;- column_major float4x4 _m1;- float4 _m2;- float4 _m3;- float4 _m4;- float4 _m5;- float3 _m6;+ mat4 _m0;+ mat4 _m1;+ vec4 _m2;+ vec4 _m3;+ vec4 _m4;+ vec4 _m5;+ vec3 _m6; uint _m7;- float4 _m8;- float4 _m9;- float4 _m10;+ vec4 _m8;+ vec4 _m9;+ vec4 _m10; float _m11; float _m12; uint _m13; int _m14;- column_major float4x3 _m15;- float4 _m16;- float4 _m17;- float4 _m18;- float4 _m19;- float4 _m20;- float3 _m21;+ mat4x3 _m15;+ vec4 _m16;+ vec4 _m17;+ vec4 _m18;+ vec4 _m19;+ vec4 _m20;+ vec3 _m21; float _m22;- column_major float4x4 _m23;+ mat4 _m23; }; - static float4 _3;- static float3 _4;+ vec4 _3;+ vec3 _4; - cbuffer _Globals_ : register(b0, space1)+ struct _1571 {- uint _Globals_1_g_sTrilinearWrap : packoffset(c0.z);- uint _Globals_1_g_sTrilinearClamp : packoffset(c0.w);- uint _Globals_1_g_sPointClamp : packoffset(c1);- uint _Globals_1_g_sUserConfig : packoffset(c1.w);- float _Globals_1_g_flMetalnessA : packoffset(c3);- float _Globals_1_g_flMetalnessB : packoffset(c3.y);- float2 _Globals_1_g_vTexCoordScale2 : packoffset(c3.z);- uint _Globals_1_g_tColorA : packoffset(c4);- uint _Globals_1_g_tColorB : packoffset(c4.y);- uint _Globals_1_g_tNormalA : packoffset(c4.z);- uint _Globals_1_g_tNormalB : packoffset(c4.w);- uint _Globals_1_g_tMask : packoffset(c5);- uint _Globals_1_g_sCookieSampler : packoffset(c5.z);- uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c5.w);- int _Globals_1_g_bFogEnabled : packoffset(c6.y);- float _Globals_1_g_flReflectance : packoffset(c7);+ uint g_sTrilinearWrap;+ uint g_sTrilinearClamp;+ uint g_sPointClamp;+ uint g_sUserConfig;+ float g_flMetalnessA;+ float g_flMetalnessB;+ vec2 g_vTexCoordScale2;+ uint g_tColorA;+ uint g_tColorB;+ uint g_tNormalA;+ uint g_tNormalB;+ uint g_tMask;+ uint g_sCookieSampler;+ uint g_tShadowDepthBufferCmpSampler;+ int g_bFogEnabled;+ float g_flReflectance; }; - cbuffer PerViewConstantBufferCsgo_t : register(b3, space1)+ layout(set = 1) uniform _1571 _Globals_;+ + struct _1374 {- int4 PerViewConstantBufferCsgo_t_1_m0 : packoffset(c1);- int4 PerViewConstantBufferCsgo_t_1_m1 : packoffset(c2);- int4 PerViewConstantBufferCsgo_t_1_m2 : packoffset(c3);- uint PerViewConstantBufferCsgo_t_1_m3 : packoffset(c4.z);- uint PerViewConstantBufferCsgo_t_1_m4 : packoffset(c4.w);- uint PerViewConstantBufferCsgo_t_1_m5 : packoffset(c5);- uint PerViewConstantBufferCsgo_t_1_m6 : packoffset(c5.z);- uint PerViewConstantBufferCsgo_t_1_m7 : packoffset(c6.z);- column_major float4x4 PerViewConstantBufferCsgo_t_1_m8 : packoffset(c12);- float2 PerViewConstantBufferCsgo_t_1_m9 : packoffset(c16);- float PerViewConstantBufferCsgo_t_1_m10 : packoffset(c16.z);- float4 PerViewConstantBufferCsgo_t_1_m11 : packoffset(c23);- float4 PerViewConstantBufferCsgo_t_1_m12 : packoffset(c24);- float4 PerViewConstantBufferCsgo_t_1_m13 : packoffset(c25);- float4 PerViewConstantBufferCsgo_t_1_m14 : packoffset(c26);- float4 PerViewConstantBufferCsgo_t_1_m15 : packoffset(c27);- float4 PerViewConstantBufferCsgo_t_1_m16 : packoffset(c28);- column_major float4x4 PerViewConstantBufferCsgo_t_1_m17 : packoffset(c29);- float4 PerViewConstantBufferCsgo_t_1_m18 : packoffset(c33);- float4 PerViewConstantBufferCsgo_t_1_m19 : packoffset(c34);- float4 PerViewConstantBufferCsgo_t_1_m20 : packoffset(c35);+ ivec4 _m0;+ ivec4 _m1;+ ivec4 _m2;+ uint _m3;+ uint _m4;+ uint _m5;+ uint _m6;+ uint _m7;+ mat4 _m8;+ vec2 _m9;+ float _m10;+ vec4 _m11;+ vec4 _m12;+ vec4 _m13;+ vec4 _m14;+ vec4 _m15;+ vec4 _m16;+ mat4 _m17;+ vec4 _m18;+ vec4 _m19;+ vec4 _m20; }; - cbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3)+ layout(set = 1) uniform _1374 PerViewConstantBufferCsgo_t;+ + struct _838 {- _2242 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);- _2452 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);- float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16);- float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17);- float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);- uint4 PerViewLightingConstantBufferGpu_t_1_m5 : packoffset(c19);- uint4 PerViewLightingConstantBufferGpu_t_1_m6 : packoffset(c22);- float4 PerViewLightingConstantBufferGpu_t_1_m7 : packoffset(c23);- float4 PerViewLightingConstantBufferGpu_t_1_m8 : packoffset(c24);- float4 PerViewLightingConstantBufferGpu_t_1_m9 : packoffset(c1945);- float4 PerViewLightingConstantBufferGpu_t_1_m10 : packoffset(c1946);- int PerViewLightingConstantBufferGpu_t_1_m11 : packoffset(c1953);- float PerViewLightingConstantBufferGpu_t_1_m12 : packoffset(c1953.z);- float4 PerViewLightingConstantBufferGpu_t_1_m13 : packoffset(c1954);- float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955);- float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y);- float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z);- float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);- _2360 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);- _2452 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);- uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996);- uint PerViewLightingConstantBufferGpu_t_1_m21 : packoffset(c1996.y);+ _2494 _m0;+ _2704 _m1;+ vec4 _m2;+ vec4 _m3;+ vec4 _m4;+ uvec4 _m5;+ uvec4 _m6;+ vec4 _m7;+ vec4 _m8;+ vec4 _m9;+ vec4 _m10;+ int _m11;+ float _m12;+ vec4 _m13;+ float _m14;+ float _m15;+ float _m16;+ float _m17;+ _465 _m18;+ _2704 _m19;+ uint _m20;+ uint _m21; }; - cbuffer PerViewConstantBuffer_t : register(b1, space1)+ layout(set = 3) uniform _838 PerViewLightingConstantBufferGpu_t;+ + struct _1194 {- float2 PerViewConstantBuffer_t_1_m0 : packoffset(c20);- float2 PerViewConstantBuffer_t_1_m1 : packoffset(c20.z);- float4 PerViewConstantBuffer_t_1_m2 : packoffset(c22);- float3 PerViewConstantBuffer_t_1_m3 : packoffset(c26);+ vec2 _m0;+ vec2 _m1;+ vec4 _m2;+ vec3 _m3; }; - ByteAddressBuffer g_CullBits : register(t30, space3);- ByteAddressBuffer g_BarnLights : register(t31, space3);- Texture2D<float4> g_bindless_Texture2D_float4[65536] : register(t46, space4);- SamplerState g_bindless_Sampler[2048] : register(s29, space4);- SamplerComparisonState g_bindless_Sampler_1[2048] : register(s29, space4);- Texture3D<float4> g_bindless_Texture3D_float4[65536] : register(t46, space4);- TextureCubeArray<float4> g_bindless_TextureCubeArray_float4[65536] : register(t46, space4);- TextureCube<float4> g_bindless_TextureCube_float4[65536] : register(t46, space4);- - static float4 gl_FragCoord;- static float4 input_0;- static float3 input_1;- static float3 input_2;- static float4 input_3;- static float4 input_4;- static float3 input_5;- static float4 input_6;- static float4 output_0;- - struct PS_INPUT+ layout(set = 1) uniform _1194 PerViewConstantBuffer_t;+ + layout(set = 3, binding = 30, std430) readonly buffer g_CullBits {- float4 input_0 : TEXCOORD0;- float3 input_1 : TEXCOORD1;- float3 input_2 : TEXCOORD2;- float4 input_3 : TEXCOORD3;- centroid float4 input_4 : TEXCOORD4;- centroid float3 input_5 : TEXCOORD5;- float4 input_6 : TEXCOORD6;- float4 gl_FragCoord : SV_Position;- };+ uint _m0[];+ } g_CullBits_1; - struct PS_OUTPUT+ layout(set = 3, binding = 31, std430) readonly buffer g_BarnLights {- float4 output_0 : SV_Target0;- };+ layout(row_major) _200 _m0[];+ } g_BarnLights_1;+ + layout(set = 4, binding = 46) uniform texture2D g_bindless_Texture2D_float4[65536];+ layout(set = 4, binding = 29) uniform sampler g_bindless_Sampler[2048];+ layout(set = 4, binding = 29) uniform samplerShadow g_bindless_Sampler_1[2048];+ layout(set = 4, binding = 46) uniform texture3D g_bindless_Texture3D_float4[65536];+ layout(set = 4, binding = 46) uniform textureCubeArray g_bindless_TextureCubeArray_float4[65536];+ layout(set = 4, binding = 46) uniform textureCube g_bindless_TextureCube_float4[65536];+ + layout(location = 0) in vec4 input_0;+ layout(location = 1) in vec3 input_1;+ layout(location = 2) in vec3 input_2;+ layout(location = 3) in vec4 input_3;+ layout(location = 4) centroid in vec4 input_4;+ layout(location = 5) centroid in vec3 input_5;+ layout(location = 6) in vec4 input_6;+ layout(location = 0) out vec4 output_0; - void MainPs_inner()+ void main() {- float4 _11408 = gl_FragCoord;- _11408.w = 1.0f / _11408.w;- float3 _21709;- if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375f)+ vec4 _11408 = gl_FragCoord;+ _11408.w = 1.0 / _11408.w;+ vec3 _21709;+ if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375) { _21709 = input_5.xyz; } else { _21709 = input_2.xyz; }- float3 _20700 = normalize(_21709);- float3 _7715 = input_1 + PerViewConstantBufferCsgo_t_1_m20.xyz;- float2 _11085 = (input_3.xy * _Globals_1_g_vTexCoordScale2.xy).xy;- float4 _21762 = g_bindless_Texture2D_float4[_Globals_1_g_tNormalA].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], input_3.xy);- float4 _21763 = g_bindless_Texture2D_float4[_Globals_1_g_tNormalB].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], _11085);- float4 _19372 = g_bindless_Texture2D_float4[_Globals_1_g_tMask].Sample(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _11085);+ vec3 _20700 = normalize(_21709);+ vec3 _7715 = input_1 + PerViewConstantBufferCsgo_t._m20.xyz;+ vec2 _11085 = (input_3.xy * _Globals_.g_vTexCoordScale2.xy).xy;+ vec4 _21762 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tNormalA], g_bindless_Sampler[_Globals_.g_sUserConfig]), input_3.xy);+ vec4 _21763 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tNormalB], g_bindless_Sampler[_Globals_.g_sUserConfig]), _11085);+ vec4 _19372 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tMask], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _11085); float _16038 = _19372.x;- float _24575 = smoothstep(max(0.0f, _16038 - input_0.w), min(1.0f, _16038 + input_0.w), input_0.x);- float3 _21122 = g_bindless_Texture2D_float4[_Globals_1_g_tColorA].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], input_3.xy).xyz * input_4.xyz;- float4 _23714;+ float _24575 = smoothstep(max(0.0, _16038 - input_0.w), min(1.0, _16038 + input_0.w), input_0.x);+ vec3 _21122 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColorA], g_bindless_Sampler[_Globals_.g_sUserConfig]), input_3.xy).xyz * input_4.xyz;+ vec4 _23714; _23714.x = _21122.x; _23714.y = _21122.y; _23714.z = _21122.z;- float3 _20313 = g_bindless_Texture2D_float4[_Globals_1_g_tColorB].Sample(g_bindless_Sampler[_Globals_1_g_sUserConfig], _11085).xyz * input_4.xyz;- float4 _23715;+ vec3 _20313 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColorB], g_bindless_Sampler[_Globals_.g_sUserConfig]), _11085).xyz * input_4.xyz;+ vec4 _23715; _23715.x = _20313.x; _23715.y = _20313.y; _23715.z = _20313.z;- float4 _8489 = lerp(_21762.xyzw, _21763.xyzw, _24575.xxxx);- float _14051 = lerp(_Globals_1_g_flMetalnessA, _Globals_1_g_flMetalnessB, _24575);- float3 _11217 = lerp(_23714.xyz, _23715.xyz, _24575.xxx).xyz;- float3 _25153 = lerp(_Globals_1_g_flReflectance.xxx.xyz, _11217, _14051.xxx);+ vec4 _8489 = mix(_21762.xyzw, _21763.xyzw, vec4(_24575));+ float _14051 = mix(_Globals_.g_flMetalnessA, _Globals_.g_flMetalnessB, _24575);+ vec3 _11217 = mix(_23714.xyz, _23715.xyz, vec3(_24575)).xyz;+ vec3 _25153 = mix(vec3(_Globals_.g_flReflectance).xyz, _11217, vec3(_14051)); float _10782 = _8489.x; float _17303 = _8489.y;- float _16783 = (_10782 + _17303) - 1.00392162799835205078125f;+ float _16783 = (_10782 + _17303) - 1.00392162799835205078125; float _11176 = _10782 - _17303;- float3 _23372 = normalize(float3(float2(_16783, _11176), (1.0f - abs(_16783)) - abs(_11176)));- float3 _20024 = input_2.xyz * 1.0f;- float3 _14435 = cross(_20024.xyz, input_6.xyz) * ((input_6.w > 0.0f) ? 1.0f : (-1.0f));- float3 _20195;- if (bool4(PerViewConstantBufferCsgo_t_1_m2.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m2.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m2.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m2.w != int4(0, 0, 0, 0).w).w)+ vec3 _23372 = normalize(vec3(vec2(_16783, _11176), (1.0 - abs(_16783)) - abs(_11176)));+ vec3 _20024 = input_2.xyz * 1.0;+ vec3 _14435 = cross(_20024.xyz, input_6.xyz) * ((input_6.w > 0.0) ? 1.0 : (-1.0));+ vec3 _20195;+ if (notEqual(PerViewConstantBufferCsgo_t._m2, ivec4(0)).w) { _20195 = -_14435; } else { _20195 = _14435; }- float3 _19740 = normalize((((input_6.xyz * _23372.x).xyz + (_20195.xyz * (-_23372.y))).xyz + (_20024.xyz * _23372.z)).xyz);- bool3 _10679 = all(bool3(true, true, true)).xxx;- float3 _17892 = float3(_10679.x ? _19740.x : 1.0f.xxx.x, _10679.y ? _19740.y : 1.0f.xxx.y, _10679.z ? _19740.z : 1.0f.xxx.z);- float3 _10560 = _20700.xyz;- float3 _11099 = ddx(_10560);- float3 _9175 = ddy(_10560);- float3 _10347 = _11099.xyz;- float3 _12420 = _9175.xyz;- float2 _21815 = max(_8489.z.xx.xy, pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125f).xx);- float3 _15598 = -_20700;- float3 _24735 = _19740.xyz;- float4 _23875 = float4(_24735, 1.0f);- bool4 _24465 = bool4(PerViewConstantBufferCsgo_t_1_m0.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m0.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m0.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m0.w != int4(0, 0, 0, 0).w);+ vec3 _19740 = normalize((((input_6.xyz * _23372.x).xyz + (_20195.xyz * (-_23372.y))).xyz + (_20024.xyz * _23372.z)).xyz);+ vec3 _17892 = mix(vec3(1.0), _19740, bvec3(all(bvec3(true))));+ vec3 _10560 = _20700.xyz;+ vec3 _11099 = dFdx(_10560);+ vec3 _9175 = dFdy(_10560);+ vec3 _10347 = _11099.xyz;+ vec3 _12420 = _9175.xyz;+ vec2 _21815 = max(vec2(_8489.z).xy, vec2(pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125)));+ vec3 _15598 = -_20700;+ vec3 _24735 = _19740.xyz;+ vec4 _23875 = vec4(_24735, 1.0);+ bvec4 _24465 = notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)); float _21710; if (_24465.x) {- float3 _11394 = _20700.xyz;- float2 _11086 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t_1_m10) * PerViewConstantBufferCsgo_t_1_m9.xy) + (PerViewConstantBufferCsgo_t_1_m9.xy * 0.5f)).xy;- float4 _18418 = g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m5].GatherRed(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _11086).xyzw - _11408.zzzz;+ vec3 _11394 = _20700.xyz;+ vec2 _11086 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t._m10) * PerViewConstantBufferCsgo_t._m9.xy) + (PerViewConstantBufferCsgo_t._m9.xy * 0.5)).xy;+ vec4 _18418 = textureGather(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m5], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _11086).xyzw - _11408.zzzz; float _18579 = _18418.w; float _12013 = _18418.z; bool _12285 = abs(_12013) < _18579;- float2 _23168;+ vec2 _23168; if (_12285) {- _23168 = float2(PerViewConstantBufferCsgo_t_1_m9.x, 0.0f);+ _23168 = vec2(PerViewConstantBufferCsgo_t._m9.x, 0.0); } else {- _23168 = 0.0f.xx;+ _23168 = vec2(0.0); } float _20965 = _12285 ? _12013 : _18579; float _15372 = _18418.x; bool _12286 = abs(_15372) < _20965;- float2 _23169;+ vec2 _23169; if (_12286) {- _23169 = float2(0.0f, PerViewConstantBufferCsgo_t_1_m9.y);+ _23169 = vec2(0.0, PerViewConstantBufferCsgo_t._m9.y); } else { _23169 = _23168; }- bool2 _13083 = (abs(_18418.y) < (_12286 ? _15372 : _20965)).xx;- float4 _10010 = normalize(float4(PerViewLightingConstantBufferGpu_t_1_m2.x * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[0].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.y * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[1].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.z * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[2].xy, 0.25f))), 0.5f, 0.5f), PerViewLightingConstantBufferGpu_t_1_m2.w * mad(dot(_15598, normalize(float3(PerViewLightingConstantBufferGpu_t_1_m1._m0[3].xy, 0.25f))), 0.5f, 0.5f)));- float4 _13232 = max(float4(dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t_1_m1._m0[3].xyz, _11394)).xyzw, 0.0f.xxxx) * normalize(clamp(((_10010 - max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)).xxxx) + 0.20000000298023223876953125f.xxxx) * 5.0f.xxxx, 0.0f.xxxx, 1.0f.xxxx));- _21710 = (1.0f / (dot(_13232, 1.0f.xxxx) + PerViewLightingConstantBufferGpu_t_1_m3.x)) * (PerViewLightingConstantBufferGpu_t_1_m3.x + dot(_13232, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m4].SampleLevel(g_bindless_Sampler[_Globals_1_g_sPointClamp], (_11086 + float2(_13083.x ? PerViewConstantBufferCsgo_t_1_m9.xy.x : _23169.x, _13083.y ? PerViewConstantBufferCsgo_t_1_m9.xy.y : _23169.y).xy).xy, 0.0f)));+ vec4 _10010 = normalize(vec4(PerViewLightingConstantBufferGpu_t._m2.x * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[0].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.y * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[1].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.z * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[2].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m2.w * fma(dot(_15598, normalize(vec3(PerViewLightingConstantBufferGpu_t._m1._m0[3].xy, 0.25))), 0.5, 0.5)));+ vec4 _13232 = max(vec4(dot(PerViewLightingConstantBufferGpu_t._m1._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m1._m0[3].xyz, _11394)).xyzw, vec4(0.0)) * normalize(saturate(((_10010 - vec4(max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)))) + vec4(0.20000000298023223876953125)) * vec4(5.0)));+ _21710 = (1.0 / (dot(_13232, vec4(1.0)) + PerViewLightingConstantBufferGpu_t._m3.x)) * (PerViewLightingConstantBufferGpu_t._m3.x + dot(_13232, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], g_bindless_Sampler[_Globals_.g_sPointClamp]), (_11086 + mix(_23169, PerViewConstantBufferCsgo_t._m9.xy, bvec2(abs(_18418.y) < (_12286 ? _15372 : _20965))).xy).xy, 0.0))); } else {- _21710 = 1.0f;+ _21710 = 1.0; }- float _21711;- [branch]- if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735);+ float _12320;+ SPIRV_CROSS_BRANCH+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13136;- float3 _14975;- int _13039 = 0;- for (;;)+ float _12503;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m11 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))- {- _13136 = 1.0f;- _14975 = 0.0f.xxx;- _10191 = -1;- break;- }- float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_1.xyz, 1.0f));- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])+ int _23989;+ int _10191;+ float _13136;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- float3 _19470 = float3(_12779, _18322.yz);- float2 _24804 = _19470.xy;- float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);- float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;- float3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))+ {+ _13136 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break;+ }+ vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])+ {+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;+ vec3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)- {- float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12));- float _12501;- [branch]- if (_13136 < 1.0f)+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))+ float _18270 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ float _12501;+ SPIRV_CROSS_BRANCH+ if (_13136 < 1.0) {- int _15335 = _10191 + 1;- float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_1.xyz, 1.0f));- float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;- float3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12));+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;+ vec3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ _7934 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ }+ else+ {+ _7934 = 1.0;+ }+ _12501 = mix(_7934, _18270, _13136); } else {- _7934 = 1.0f;+ _12501 = _18270; }- _12501 = lerp(_7934, _18270, _13136);+ _19363 = _12501; } else {- _12501 = _18270;+ _19363 = 1.0; }- _19363 = _12501;- }- else- {- _19363 = 1.0f;- }- float _13279 = lerp(_19363, 1.0f, saturate((distance(_7715.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));- float _12502;- if (_24465.y)- {- _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ float _13279 = mix(_19363, 1.0, saturate((distance(_7715.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));+ float _12502;+ if (_24465.y)+ {+ _12502 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12502 = _13279;+ }+ _12503 = _12502; } else {- _12502 = _13279;+ _12503 = 1.0; }- _21711 = _12502;+ _12320 = _12503; } else {- _21711 = 1.0f;+ _12320 = 1.0; }- float3 _9716;- float3 _24878;- [branch]- if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735) * _21711) > 0.0f)+ vec3 _9716;+ vec3 _24878;+ SPIRV_CROSS_BRANCH+ if ((_8634 * _12320) > 0.0) {- bool3 _19899 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;- float _11797 = max(0.0f, dot(_19740.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz));- float2 _9840 = max(_21815, PerViewLightingConstantBufferGpu_t_1_m9.w.xx);- float3 _12281 = normalize(PerViewLightingConstantBufferGpu_t_1_m9.xyz + (-normalize(_7715.xyz - PerViewConstantBuffer_t_1_m3.xyz)).xyz).xyz;- float _12386 = dot(_12281, float3(_19899.x ? _24735.x : _17892.x, _19899.y ? _24735.y : _17892.y, _19899.z ? _24735.z : _17892.z).xyz);- float _19210 = max(0.0f, dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _12281));+ float _11797 = max(0.0, dot(_19740.xyz, PerViewLightingConstantBufferGpu_t._m9.xyz));+ vec2 _9840 = max(_21815, vec2(PerViewLightingConstantBufferGpu_t._m9.w));+ vec3 _12281 = normalize(PerViewLightingConstantBufferGpu_t._m9.xyz + (-normalize(_7715.xyz - PerViewConstantBuffer_t._m3.xyz)).xyz).xyz;+ float _12386 = dot(_12281, mix(_17892, _24735, bvec3(all(equal(_17892, vec3(1.0))))).xyz);+ float _19210 = max(0.0, dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _12281)); float _9850 = _9840.x; float _25211 = _9850 * _9850; float _19095 = _25211 * _25211;- float _15346 = ((_12386 * _12386) * (_19095 - 1.0f)) + 1.0f;- float3 _16808 = (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21711).xyz;- _9716 = ((_25153.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0f) + 2.0f)))).xyz * _11797).xyz * _16808;- _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (_11797.xxx.xyz * _16808);+ float _15346 = ((_12386 * _12386) * (_19095 - 1.0)) + 1.0;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _12320).xyz;+ _9716 = ((_25153.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0) + 2.0)))).xyz * _11797).xyz * _16808;+ _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(_11797).xyz * _16808); } else {- _9716 = 0.0f.xxx;- _24878 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;+ _9716 = vec3(0.0);+ _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz; }- bool4 _24466 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w);+ bvec4 _24466 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0)); bool _20060 = _24466.x;- float4 _19364;+ vec4 _19364; if (_20060) {- float4 _18621 = mul(PerViewConstantBufferCsgo_t_1_m8, float4(_7715.xyz, 1.0f).xyzw);+ vec4 _18621 = vec4(_7715.xyz, 1.0).xyzw * PerViewConstantBufferCsgo_t._m8; float _20176 = _18621.w;- float2 _11414 = _18621.xy / _20176.xx;- float4 _6651;- _6651.x = clamp(((_11414.x + 1.0f) * PerViewConstantBuffer_t_1_m1.x) * 0.5f, 0.0f, PerViewConstantBuffer_t_1_m1.x - 1.0f);- _6651.y = clamp(((1.0f - _11414.y) * PerViewConstantBuffer_t_1_m1.y) * 0.5f, 0.0f, PerViewConstantBuffer_t_1_m1.y - 1.0f);+ vec2 _11414 = _18621.xy / vec2(_20176);+ vec4 _6651;+ _6651.x = clamp(((_11414.x + 1.0) * PerViewConstantBuffer_t._m1.x) * 0.5, 0.0, PerViewConstantBuffer_t._m1.x - 1.0);+ _6651.y = clamp(((1.0 - _11414.y) * PerViewConstantBuffer_t._m1.y) * 0.5, 0.0, PerViewConstantBuffer_t._m1.y - 1.0); _6651.w = _20176; _19364 = _6651; } else { _19364 = _11408; }- uint2 _12083 = uint2(_19364.xy - PerViewConstantBuffer_t_1_m0.xy) >> PerViewLightingConstantBufferGpu_t_1_m6.x.xx;- uint _10838 = PerViewLightingConstantBufferGpu_t_1_m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m5.z);- uint _23393 = PerViewLightingConstantBufferGpu_t_1_m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m7.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m7.y)) * PerViewLightingConstantBufferGpu_t_1_m5.z);- float3 _13137;- float3 _16324;+ uvec2 _12083 = uvec2(_19364.xy - PerViewConstantBuffer_t._m0.xy) >> uvec2(PerViewLightingConstantBufferGpu_t._m6.x);+ uint _10838 = PerViewLightingConstantBufferGpu_t._m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m5.z);+ uint _23393 = PerViewLightingConstantBufferGpu_t._m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m7.x, 0.0, PerViewLightingConstantBufferGpu_t._m7.y)) * PerViewLightingConstantBufferGpu_t._m5.z);+ vec3 _13137;+ vec3 _16324; _13137 = _9716; _16324 = _24878; uint _21567;- float3 _13138;- float3 _16325;+ vec3 _13138;+ vec3 _16325; uint _17017 = 0u; for (;;) {- if (!(_17017 < PerViewLightingConstantBufferGpu_t_1_m5.z))+ if (!(_17017 < PerViewLightingConstantBufferGpu_t._m5.z)) { break; }- uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _17017) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _17017) * 4 + 0));+ uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _17017] & g_CullBits_1._m0[_23393 + _17017]); _13138 = _13137; _16325 = _16324; uint _20344;- float3 _13212;- float3 _15670;+ vec3 _13212;+ vec3 _15670; uint _17018 = _14475; for (;;) { if (!(_17018 != 0u)) { break; }- int _12608 = int(firstbitlow(_17018) + (_17017 * 32u));+ int _12608 = int(uint(findLSB(_17018)) + (_17017 * 32u)); _20344 = _17018 & (_17018 - 1u); do {- float4x4 _14097 = float4x4(g_BarnLights.Load<float>(_12608 * 480 + 0), g_BarnLights.Load<float>(_12608 * 480 + 16), g_BarnLights.Load<float>(_12608 * 480 + 32), g_BarnLights.Load<float>(_12608 * 480 + 48), g_BarnLights.Load<float>(_12608 * 480 + 4), g_BarnLights.Load<float>(_12608 * 480 + 20), g_BarnLights.Load<float>(_12608 * 480 + 36), g_BarnLights.Load<float>(_12608 * 480 + 52), g_BarnLights.Load<float>(_12608 * 480 + 8), g_BarnLights.Load<float>(_12608 * 480 + 24), g_BarnLights.Load<float>(_12608 * 480 + 40), g_BarnLights.Load<float>(_12608 * 480 + 56), g_BarnLights.Load<float>(_12608 * 480 + 12), g_BarnLights.Load<float>(_12608 * 480 + 28), g_BarnLights.Load<float>(_12608 * 480 + 44), g_BarnLights.Load<float>(_12608 * 480 + 60));- float4 _24893 = mul(float4(input_1.xyz, 1.0f), _14097);- float3 _10521 = _24893.xyz / _24893.w.xxx;- float4 _22905;+ vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(input_1.xyz, 1.0);+ vec3 _10521 = _24893.xyz / vec3(_24893.w);+ vec4 _22905; _22905.x = _10521.x; _22905.y = _10521.y; float _21778 = _10521.z; _22905.z = _21778;- float3 _21642 = _22905.xyz;+ vec3 _21642 = _22905.xyz; bool _7424;- if (all(bool3(_22905.xyz.x > float3(-1.0f, -1.0f, 0.0f).x, _22905.xyz.y > float3(-1.0f, -1.0f, 0.0f).y, _22905.xyz.z > float3(-1.0f, -1.0f, 0.0f).z)))+ if (all(greaterThan(_22905.xyz, vec3(-1.0, -1.0, 0.0)))) {- _7424 = all(bool3(_22905.xyz.x < 1.0f.xxx.x, _22905.xyz.y < 1.0f.xxx.y, _22905.xyz.z < 1.0f.xxx.z));+ _7424 = all(lessThan(_22905.xyz, vec3(1.0))); } else {@@ -809,113 +834,111 @@ PS } else {- float4x3 _16509 = float4x3(g_BarnLights.Load<float>(_12608 * 480 + 272), g_BarnLights.Load<float>(_12608 * 480 + 288), g_BarnLights.Load<float>(_12608 * 480 + 304), g_BarnLights.Load<float>(_12608 * 480 + 276), g_BarnLights.Load<float>(_12608 * 480 + 292), g_BarnLights.Load<float>(_12608 * 480 + 308), g_BarnLights.Load<float>(_12608 * 480 + 280), g_BarnLights.Load<float>(_12608 * 480 + 296), g_BarnLights.Load<float>(_12608 * 480 + 312), g_BarnLights.Load<float>(_12608 * 480 + 284), g_BarnLights.Load<float>(_12608 * 480 + 300), g_BarnLights.Load<float>(_12608 * 480 + 316));- float3 _6368 = abs(mul(float4(input_1.xyz, 1.0f), _16509).xyz);- _12885 = !all(bool3(_6368.x <= 1.0f.xxx.x, _6368.y <= 1.0f.xxx.y, _6368.z <= 1.0f.xxx.z));+ _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(input_1.xyz, 1.0)).xyz), vec3(1.0))); } if (_12885) { _13212 = _13138; _15670 = _16325; break; }- float _23572 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;- float _18492 = (2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) * g_BarnLights.Load<float4>(_12608 * 480 + 176).z;- float _14805 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).x;- float _9058 = _14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;- float _17330 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).w;- float _19825 = _17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z;- float3 _16268 = float3(_9058 - _19825, (1.0f - (_14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).x)) - _18492, (_23572 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) + (_17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).x)) * g_BarnLights.Load<float3>(_12608 * 480 + 192).z;+ float _23572 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;+ float _18492 = (2.0 * g_BarnLights_1._m0[_12608]._m5.z) * g_BarnLights_1._m0[_12608]._m5.z;+ float _14805 = 2.0 * g_BarnLights_1._m0[_12608]._m5.x;+ float _9058 = _14805 * g_BarnLights_1._m0[_12608]._m5.y;+ float _17330 = 2.0 * g_BarnLights_1._m0[_12608]._m5.w;+ float _19825 = _17330 * g_BarnLights_1._m0[_12608]._m5.z;+ vec3 _16268 = vec3(_9058 - _19825, (1.0 - (_14805 * g_BarnLights_1._m0[_12608]._m5.x)) - _18492, (_23572 * g_BarnLights_1._m0[_12608]._m5.z) + (_17330 * g_BarnLights_1._m0[_12608]._m5.x)) * g_BarnLights_1._m0[_12608]._m6.z; float _21316;- if (g_BarnLights.Load<float4>(_12608 * 480 + 144).z > 0.0f)+ if (g_BarnLights_1._m0[_12608]._m3.z > 0.0) {- _21316 = min(1.0f, _21778 * g_BarnLights.Load<float4>(_12608 * 480 + 144).z);+ _21316 = min(1.0, _21778 * g_BarnLights_1._m0[_12608]._m3.z); } else {- _21316 = 1.0f;+ _21316 = 1.0; } float _19667;- if (g_BarnLights.Load<float4>(_12608 * 480 + 144).w > 0.0f)+ if (g_BarnLights_1._m0[_12608]._m3.w > 0.0) {- _19667 = _21316 * min(1.0f, (1.0f - _21778) * g_BarnLights.Load<float4>(_12608 * 480 + 144).w);+ _19667 = _21316 * min(1.0, (1.0 - _21778) * g_BarnLights_1._m0[_12608]._m3.w); } else { _19667 = _21316; }- float3 _11179;+ vec3 _11179; float _11633;- if (g_BarnLights.Load<float4>(_12608 * 480 + 128).w != 0.0f)+ if (g_BarnLights_1._m0[_12608]._m2.w != 0.0) {- float3 _10017 = g_BarnLights.Load<float4>(_12608 * 480 + 128).xyz - input_1.xyz;+ vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - input_1.xyz; float _18345 = dot(_10017, _10017); float _17647 = sqrt(_18345);- float3 _12302 = _10017 - _16268;- float3 _10210;+ vec3 _12302 = _10017 - _16268;+ vec3 _10210; do {- float3 _20229 = (_10017 + _16268) - _12302;+ vec3 _20229 = (_10017 + _16268) - _12302; float _25105 = dot(-_12302, _20229);- if (_25105 <= 0.0f)+ if (_25105 <= 0.0) { _10210 = _12302; break; } else {- _10210 = _12302 + (_20229 * min(1.0f, _25105 / dot(_20229, _20229)));+ _10210 = _12302 + (_20229 * min(1.0, _25105 / dot(_20229, _20229))); break; } break; // unreachable workaround } while(false);- _11179 = _10017 / _17647.xxx;- _11633 = ((_19667 * (g_BarnLights.Load<float4>(_12608 * 480 + 128).w / max(_18345, g_BarnLights.Load<float4>(_12608 * 480 + 128).w))) * saturate(g_BarnLights.Load<float4>(_12608 * 480 + 144).x + (g_BarnLights.Load<float4>(_12608 * 480 + 144).y * _17647))) * saturate(g_BarnLights.Load<float3>(_12608 * 480 + 192).x + (g_BarnLights.Load<float3>(_12608 * 480 + 192).y * dot(float3((1.0f - (_23572 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y)) - _18492, _9058 + _19825, (_14805 * g_BarnLights.Load<float4>(_12608 * 480 + 176).z) - (_17330 * g_BarnLights.Load<float4>(_12608 * 480 + 176).y)), normalize(_10210))));+ _11179 = _10017 / vec3(_17647);+ _11633 = ((_19667 * (g_BarnLights_1._m0[_12608]._m2.w / max(_18345, g_BarnLights_1._m0[_12608]._m2.w))) * saturate(g_BarnLights_1._m0[_12608]._m3.x + (g_BarnLights_1._m0[_12608]._m3.y * _17647))) * saturate(g_BarnLights_1._m0[_12608]._m6.x + (g_BarnLights_1._m0[_12608]._m6.y * dot(vec3((1.0 - (_23572 * g_BarnLights_1._m0[_12608]._m5.y)) - _18492, _9058 + _19825, (_14805 * g_BarnLights_1._m0[_12608]._m5.z) - (_17330 * g_BarnLights_1._m0[_12608]._m5.y)), normalize(_10210)))); } else {- _11179 = g_BarnLights.Load<float4>(_12608 * 480 + 128).xyz;+ _11179 = g_BarnLights_1._m0[_12608]._m2.xyz; _11633 = _19667; }- float3 _17828 = (g_BarnLights.Load<float4>(_12608 * 480 + 160).xyz * 1.0f).xyz * _11633;+ vec3 _17828 = (g_BarnLights_1._m0[_12608]._m4.xyz * 1.0).xyz * _11633; bool _24419;- if (g_BarnLights.Load<float4>(_12608 * 480 + 208).z > 0.0f)+ if (g_BarnLights_1._m0[_12608]._m8.z > 0.0) { _24419 = !_20060; } else { _24419 = false; }- float3 _21548;- [branch]- if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w == 0.0f)+ vec3 _21548;+ SPIRV_CROSS_BRANCH+ if (g_BarnLights_1._m0[_12608]._m4.w == 0.0) { float _10342; do {- float2 _22154 = abs(_22905.xy);- if (g_BarnLights.Load<float4>(_12608 * 480 + 224).z == 0.0f)+ vec2 _22154 = abs(_22905.xy);+ if (g_BarnLights_1._m0[_12608]._m9.z == 0.0) {- _10342 = smoothstep(1.0f, g_BarnLights.Load<float4>(_12608 * 480 + 224).x, _22154.x) * smoothstep(1.0f, g_BarnLights.Load<float4>(_12608 * 480 + 224).y, _22154.y);+ _10342 = smoothstep(1.0, g_BarnLights_1._m0[_12608]._m9.x, _22154.x) * smoothstep(1.0, g_BarnLights_1._m0[_12608]._m9.y, _22154.y); break; } else { float _11473 = _22154.x;- float _15266 = 2.0f / g_BarnLights.Load<float4>(_12608 * 480 + 224).z;+ float _15266 = 2.0 / g_BarnLights_1._m0[_12608]._m9.z; float _15018 = _22154.y;- float _23041 = (-0.5f) * g_BarnLights.Load<float4>(_12608 * 480 + 224).z;- float _11981 = (g_BarnLights.Load<float4>(_12608 * 480 + 224).x * g_BarnLights.Load<float4>(_12608 * 480 + 224).y) * pow(max(pow(g_BarnLights.Load<float4>(_12608 * 480 + 224).y * _11473, _15266) + pow(g_BarnLights.Load<float4>(_12608 * 480 + 224).x * _15018, _15266), 1.1754943508222875079687365372222e-38f), _23041);- float _16524 = pow(max(pow(_11473, _15266) + pow(_15018, _15266), 1.1754943508222875079687365372222e-38f), _23041);+ float _23041 = (-0.5) * g_BarnLights_1._m0[_12608]._m9.z;+ float _11981 = (g_BarnLights_1._m0[_12608]._m9.x * g_BarnLights_1._m0[_12608]._m9.y) * pow(max(pow(g_BarnLights_1._m0[_12608]._m9.y * _11473, _15266) + pow(g_BarnLights_1._m0[_12608]._m9.x * _15018, _15266), 1.1754943508222875079687365372222e-38), _23041);+ float _16524 = pow(max(pow(_11473, _15266) + pow(_15018, _15266), 1.1754943508222875079687365372222e-38), _23041); if (_11981 < _16524) {- _10342 = smoothstep(_16524, _11981, 1.0f);+ _10342 = smoothstep(_16524, _11981, 1.0); break; } else {- _10342 = float(_16524 > 1.0f);+ _10342 = float(_16524 > 1.0); break; } break; // unreachable workaround@@ -926,49 +949,49 @@ PS } else {- float3 _12503;- if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f)+ vec3 _12504;+ if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) {- float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);- float4 _19008 = _17795.xyzw * float4(-1.0f, -1.0f, -1.0f, 1.0f);- float3 _24989 = _19008.xyz;- float3 _23629 = float4((-_11179).xyz, 0.0f).xyz;+ vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);+ vec4 _19008 = _17795.xyzw * vec4(-1.0, -1.0, -1.0, 1.0);+ vec3 _24989 = _19008.xyz;+ vec3 _23629 = vec4((-_11179).xyz, 0.0).xyz; float _15156 = -dot(_23629, _24989);- float3 _20479 = float4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz;- float3 _23592 = _17795.xyz;- float3 _12170 = ((_20479 * g_BarnLights.Load<float4>(_12608 * 480 + 176).w) + (_23592 * _15156)) + cross(_23592, _20479);- float3 _14081 = float3(float2(atan2(_12170.y, -_12170.x) * 0.15915493667125701904296875f, acos(_12170.z) * 0.3183098733425140380859375f), -g_BarnLights.Load<float4>(_12608 * 480 + 160).w);- float2 _20564 = (_14081.xy * g_BarnLights.Load<float4>(_12608 * 480 + 224).zw) + g_BarnLights.Load<float4>(_12608 * 480 + 224).xy;- float3 _20492 = _14081;+ vec3 _20479 = vec4((_23629 * _19008.w) + cross(_23629, _24989), _15156).xyz;+ vec3 _23592 = _17795.xyz;+ vec3 _12170 = ((_20479 * g_BarnLights_1._m0[_12608]._m5.w) + (_23592 * _15156)) + cross(_23592, _20479);+ vec3 _14081 = vec3(vec2(atan(_12170.y, -_12170.x) * 0.15915493667125701904296875, acos(_12170.z) * 0.3183098733425140380859375), -g_BarnLights_1._m0[_12608]._m4.w);+ vec2 _20564 = (_14081.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;+ vec3 _20492 = _14081; _20492.x = _20564.x; _20492.y = _20564.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20492.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20492.xyz, 0.0).xyz; } else {- float3 _13791 = float3(mad(_22905.xy, float2(0.5f, -0.5f), 0.5f.xx), g_BarnLights.Load<float4>(_12608 * 480 + 160).w);- float2 _20563 = (_13791.xy * g_BarnLights.Load<float4>(_12608 * 480 + 224).zw) + g_BarnLights.Load<float4>(_12608 * 480 + 224).xy;- float3 _20491 = _13791;+ vec3 _13791 = vec3(fma(_22905.xy, vec2(0.5, -0.5), vec2(0.5)), g_BarnLights_1._m0[_12608]._m4.w);+ vec2 _20563 = (_13791.xy * g_BarnLights_1._m0[_12608]._m9.zw) + g_BarnLights_1._m0[_12608]._m9.xy;+ vec3 _20491 = _13791; _20491.x = _20563.x; _20491.y = _20563.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m21].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20491.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20491.xyz, 0.0).xyz; }- _21548 = _12503;+ _21548 = _12504; }- if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z)))+ if (all(equal(_21548.xyz, vec3(0.0)))) { _13212 = _13138; _15670 = _16325; break; }- float3 _22671;+ vec3 _22671; if (_24419) {- float3 _19629;- if ((g_BarnLights.Load<uint>(_12608 * 480 + 264) & 4u) != 0u)+ vec3 _19629;+ if ((g_BarnLights_1._m0[_12608]._m13 & 4u) != 0u) {- float2 _6281 = _22905.yx * float2(1.0f, -1.0f);- float3 _23716 = _21642;+ vec2 _6281 = _22905.yx * vec2(1.0, -1.0);+ vec3 _23716 = _21642; _23716.x = _6281.x; _23716.y = _6281.y; _19629 = _23716;@@ -977,9 +1000,8 @@ PS { _19629 = _21642; }- float3 _20482 = _21548.xyz * lerp(1.0f, g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], float3(mad(_19629.xy, g_BarnLights.Load<float4>(_12608 * 480 + 208).zw, g_BarnLights.Load<float4>(_12608 * 480 + 208).xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t_1_m12)), g_BarnLights.Load<float>(_12608 * 480 + 260));- float3 _16449 = _20482.xyz;- if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z)))+ vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0), g_BarnLights_1._m0[_12608]._m12);+ if (all(equal(_20482.xyz, vec3(0.0)))) { _13212 = _13138; _15670 = _16325;@@ -991,18 +1013,17 @@ PS { _22671 = _21548; }- bool3 _19900 = all(bool3(_17892.x == 1.0f.xxx.x, _17892.y == 1.0f.xxx.y, _17892.z == 1.0f.xxx.z)).xxx;- float _11798 = max(0.0f, dot(_19740.xyz, _11179.xyz));- float2 _9841 = max(_21815, g_BarnLights.Load<float>(_12608 * 480 + 256).xx);- float3 _12282 = normalize(_11179.xyz + (-normalize(_7715.xyz - PerViewConstantBuffer_t_1_m3.xyz)).xyz).xyz;- float _12387 = dot(_12282, float3(_19900.x ? _24735.x : _17892.x, _19900.y ? _24735.y : _17892.y, _19900.z ? _24735.z : _17892.z).xyz);- float _19211 = max(0.0f, dot(_11179.xyz, _12282));+ float _11798 = max(0.0, dot(_19740.xyz, _11179.xyz));+ vec2 _9841 = max(_21815, vec2(g_BarnLights_1._m0[_12608]._m11));+ vec3 _12282 = normalize(_11179.xyz + (-normalize(_7715.xyz - PerViewConstantBuffer_t._m3.xyz)).xyz).xyz;+ float _12387 = dot(_12282, mix(_17892, _24735, bvec3(all(equal(_17892, vec3(1.0))))).xyz);+ float _19211 = max(0.0, dot(_11179.xyz, _12282)); float _9851 = _9841.x; float _25212 = _9851 * _9851;- float _19097 = _25212 * _25212;- float _15348 = ((_12387 * _12387) * (_19097 - 1.0f)) + 1.0f;- _13212 = _13138.xyz + (((_25153.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0f) + 2.0f)))).xyz * _11798).xyz * _22671.xyz);- _15670 = _16325.xyz + (_11798.xxx.xyz * _22671.xyz);+ float _19096 = _25212 * _25212;+ float _15348 = ((_12387 * _12387) * (_19096 - 1.0)) + 1.0;+ _13212 = _13138.xyz + (((_25153.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);+ _15670 = _16325.xyz + (vec3(_11798).xyz * _22671.xyz); break; } while(false); _13138 = _13212;@@ -1016,86 +1037,86 @@ PS _17017 = _21567; continue; }- float _17172 = dot(_21815.xy, 0.5f.xx);- float3 _6253 = _17892.xyz;- float3 _17138 = normalize(_7715.xyz - PerViewConstantBuffer_t_1_m3.xyz);+ float _17172 = dot(_21815.xy, vec2(0.5));+ vec3 _6253 = _17892.xyz;+ vec3 _17138 = normalize(_7715.xyz - PerViewConstantBuffer_t._m3.xyz); float _17225 = _17172 * _17172;- float _20711 = saturate(1.0f - _17225);- float4 _15343 = (float4(-1.0f, -0.0274999998509883880615234375f, -0.572000026702880859375f, 0.02199999988079071044921875f) * _17172) + float4(1.0f, 0.0425000004470348358154296875f, 1.03999996185302734375f, -0.039999999105930328369140625f);+ float _20711 = saturate(1.0 - _17225);+ vec4 _15343 = (vec4(-1.0, -0.0274999998509883880615234375, -0.572000026702880859375, 0.02199999988079071044921875) * _17172) + vec4(1.0, 0.0425000004470348358154296875, 1.03999996185302734375, -0.039999999105930328369140625); float _21215 = _15343.x;- float2 _24572 = (float2(-1.03999996185302734375f, 1.03999996185302734375f) * ((min(_21215 * _21215, exp2((-9.27999973297119140625f) * max(0.0f, dot((-_17138).xyz, _6253)))) * _21215) + _15343.y)) + _15343.zw;+ vec2 _24572 = (vec2(-1.03999996185302734375, 1.03999996185302734375) * ((min(_21215 * _21215, exp2((-9.27999973297119140625) * max(0.0, dot((-_17138).xyz, _6253)))) * _21215) + _15343.y)) + _15343.zw; float _20339 = _24572.y;- float2 _11427 = float2(_20339, _24572.x + _20339);- float3 _8745 = float3(dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t_1_m0._m0[2].xyzw, _23875)).xyz;- float3 _16991 = _16324.xyz + _8745;- float3 _20418 = _21710.xxx.xyz;- float3 _22686 = (_16324.xyz + (_8745 * _20418).xyz) * (_11217 * (1.0f - _14051)).xyz;+ vec2 _11427 = vec2(_20339, _24572.x + _20339);+ vec3 _8745 = vec3(dot(PerViewLightingConstantBufferGpu_t._m0._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m0._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m0._m0[2].xyzw, _23875)).xyz;+ vec3 _16991 = _16324.xyz + _8745;+ vec3 _20418 = vec3(_21710).xyz;+ vec3 _22686 = (_16324.xyz + (_8745 * _20418).xyz) * (_11217 * (1.0 - _14051)).xyz; float _12931 = _22686.x;- float4 _11203 = float4(_12931, _22686.yz, input_4.w);+ vec4 _11203 = vec4(_12931, _22686.yz, input_4.w); _11203.x = _12931; _11203.y = _22686.y; _11203.z = _22686.z;- float3 _15752 = _11203.xyz + (_13137.xyz * _20418).xyz;- float4 _20490 = _11203;+ vec3 _15752 = _11203.xyz + (_13137.xyz * _20418).xyz;+ vec4 _20490 = _11203; _20490.x = _15752.x; _20490.y = _15752.y; _20490.z = _15752.z;- float3 _15734 = _20490.xyz + ((((lerp(_11427.xxx, _11427.yyy, _25153) * g_bindless_TextureCubeArray_float4[PerViewConstantBufferCsgo_t_1_m7].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], float4(normalize(lerp(_6253, reflect(_17138.xyz, _17892.xyz).xyz, (_20711 * (sqrt(_20711) + _17225)).xxx)), 0.0f), PerViewLightingConstantBufferGpu_t_1_m8.y * sqrt(_17172)).xyz).xyz * (normalize(_16991 + 0.001000000047497451305389404296875f.xxx) * clamp(length(_16991), 0.0f, 1.75f))).xyz * (1.0f.xxx + (normalize(_8745 + 0.001000000047497451305389404296875f.xxx) * 0.5f))).xyz * _20418).xyz;- float4 _13888 = _20490;+ vec3 _15734 = _20490.xyz + ((((mix(_11427.xxx, _11427.yyy, _25153) * textureLod(samplerCubeArray(g_bindless_TextureCubeArray_float4[PerViewConstantBufferCsgo_t._m7], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), vec4(normalize(mix(_6253, reflect(_17138.xyz, _17892.xyz).xyz, vec3(_20711 * (sqrt(_20711) + _17225)))), 0.0), PerViewLightingConstantBufferGpu_t._m8.y * sqrt(_17172)).xyz).xyz * (normalize(_16991 + vec3(0.001000000047497451305389404296875)) * clamp(length(_16991), 0.0, 1.75))).xyz * (vec3(1.0) + (normalize(_8745 + vec3(0.001000000047497451305389404296875)) * 0.5))).xyz * _20418).xyz;+ vec4 _13888 = _20490; _13888.x = _15734.x; _13888.y = _15734.y; _13888.z = _15734.z;- float4 _6805;- if (_Globals_1_g_bFogEnabled != 0)+ vec4 _6805;+ if (_Globals_.g_bFogEnabled != 0) {- float3 _21493;- float3 _22956 = _7715.xyz - PerViewConstantBuffer_t_1_m3.xyz;- float3 _9057 = _22956.xyz;- float3 _19340;+ vec3 _21493;+ vec3 _22956 = _7715.xyz - PerViewConstantBuffer_t._m3.xyz;+ vec3 _9057 = _22956.xyz;+ vec3 _19340; do { _21493 = _22956.xyz; bool _12886;- if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t_1_m14.x)+ if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t._m14.x) {- _12886 = (_7715.z * PerViewConstantBufferCsgo_t_1_m14.z) < PerViewConstantBufferCsgo_t_1_m14.y;+ _12886 = (_7715.z * PerViewConstantBufferCsgo_t._m14.z) < PerViewConstantBufferCsgo_t._m14.y; } else { _12886 = false; }- [branch]+ SPIRV_CROSS_BRANCH if (_12886) {- float2 _9342 = clamp(PerViewConstantBufferCsgo_t_1_m11.xy + (PerViewConstantBufferCsgo_t_1_m11.zw * float2(length(_21493), _7715.z)), 0.0f.xx, 1.0f.xx);- float _12872 = (pow(_9342.x, PerViewConstantBufferCsgo_t_1_m12.x) * pow(_9342.y, PerViewConstantBufferCsgo_t_1_m12.y)) * PerViewConstantBufferCsgo_t_1_m13.w;- _19340 = lerp(_13888.xyz, float4(PerViewConstantBufferCsgo_t_1_m13.xyz, _12872).xyz, _12872.xxx);+ vec2 _9342 = saturate(PerViewConstantBufferCsgo_t._m11.xy + (PerViewConstantBufferCsgo_t._m11.zw * vec2(length(_21493), _7715.z)));+ float _12872 = (pow(_9342.x, PerViewConstantBufferCsgo_t._m12.x) * pow(_9342.y, PerViewConstantBufferCsgo_t._m12.y)) * PerViewConstantBufferCsgo_t._m13.w;+ _19340 = mix(_13888.xyz, vec4(PerViewConstantBufferCsgo_t._m13.xyz, _12872).xyz, vec3(_12872)); break; } _19340 = _13888.xyz; break; } while(false);- float4 _23944 = _13888;+ vec4 _23944 = _13888; _23944.x = _19340.x; _23944.y = _19340.y; _23944.z = _19340.z;- float3 _19341;+ vec3 _19341; do { bool _12887;- if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t_1_m18.x)+ if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t._m18.x) {- _12887 = (PerViewConstantBufferCsgo_t_1_m18.z * _7715.z) < PerViewConstantBufferCsgo_t_1_m18.y;+ _12887 = (PerViewConstantBufferCsgo_t._m18.z * _7715.z) < PerViewConstantBufferCsgo_t._m18.y; } else { _12887 = false; } if (_12887) {- float _14602 = saturate(pow(max(0.0f, (length(_21493) * PerViewConstantBufferCsgo_t_1_m15.y) + PerViewConstantBufferCsgo_t_1_m15.x), PerViewConstantBufferCsgo_t_1_m15.w)) * saturate(pow(max(0.0f, (_7715.z * PerViewConstantBufferCsgo_t_1_m16.y) + PerViewConstantBufferCsgo_t_1_m16.x), PerViewConstantBufferCsgo_t_1_m16.z));- float _8892 = saturate(_14602) * PerViewConstantBufferCsgo_t_1_m18.w;- _19341 = lerp(_23944.xyz, float4((g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t_1_m3].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], normalize(mul(float4(_9057, 0.0f), PerViewConstantBufferCsgo_t_1_m17).xyz).xyz, PerViewConstantBufferCsgo_t_1_m16.w * saturate(1.0f - (_14602 * PerViewConstantBufferCsgo_t_1_m15.z))) * PerViewConstantBufferCsgo_t_1_m19.x).xyz, _8892).xyz, _8892.xxx);+ float _14602 = saturate(pow(max(0.0, (length(_21493) * PerViewConstantBufferCsgo_t._m15.y) + PerViewConstantBufferCsgo_t._m15.x), PerViewConstantBufferCsgo_t._m15.w)) * saturate(pow(max(0.0, (_7715.z * PerViewConstantBufferCsgo_t._m16.y) + PerViewConstantBufferCsgo_t._m16.x), PerViewConstantBufferCsgo_t._m16.z));+ float _8892 = saturate(_14602) * PerViewConstantBufferCsgo_t._m18.w;+ _19341 = mix(_23944.xyz, vec4((textureLod(samplerCube(g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t._m3], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), normalize((PerViewConstantBufferCsgo_t._m17 * vec4(_9057, 0.0)).xyz).xyz, PerViewConstantBufferCsgo_t._m16.w * saturate(1.0 - (_14602 * PerViewConstantBufferCsgo_t._m15.z))) * PerViewConstantBufferCsgo_t._m19.x).xyz, _8892).xyz, vec3(_8892)); break; } _19341 = _23944.xyz;@@ -1113,22 +1134,6 @@ PS output_0 = _6805; } - PS_OUTPUT MainPs(PS_INPUT stage_input)- {- gl_FragCoord = stage_input.gl_FragCoord;- gl_FragCoord.w = 1.0 / gl_FragCoord.w;- input_0 = stage_input.input_0;- input_1 = stage_input.input_1;- input_2 = stage_input.input_2;- input_3 = stage_input.input_3;- input_4 = stage_input.input_4;- input_5 = stage_input.input_5;- input_6 = stage_input.input_6;- MainPs_inner();- PS_OUTPUT stage_output;- stage_output.output_0 = output_0;- return stage_output;- } // --------- SPIRV -> HLSL end --------- @@ -1438,8 +1443,8 @@ RTX vec2 _567 = vec2(g_MaterialData_1._member0[(_523 + 144u) / 4u], g_MaterialData_1._member0[(_523 + 148u) / 4u]); vec3 _566 = vec3(g_MaterialData_1._member0[(_523 + 208u) / 4u], g_MaterialData_1._member0[(_523 + 212u) / 4u], g_MaterialData_1._member0[(_523 + 216u) / 4u]); float _565 = g_MaterialData_1._member0[(_523 + 220u) / 4u];- uint _564 = g_MaterialData_3._member0[(_523 + 236u) / 4u];- uint _563 = g_MaterialData_3._member0[(_523 + 256u) / 4u];+ uint _564 = g_MaterialData_3._member0[(_523 + 240u) / 4u];+ uint _563 = g_MaterialData_3._member0[(_523 + 260u) / 4u]; float _562 = g_MaterialData_1._member0[(_523 + 284u) / 4u]; float _561 = g_MaterialData_1._member0[(_523 + 288u) / 4u]; vec2 _560 = vec2(g_MaterialData_1._member0[(_523 + 296u) / 4u], g_MaterialData_1._member0[(_523 + 300u) / 4u]);game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_simple_3layer_parallax.slang
modified • +98 / -87 • changes: 185
Show patch
@@ -83,7 +83,7 @@ VS float2 g_vTexCoordScrollSpeed < Range2(-10, -10, 10, 10); UiType(VectorText); UiGroup("Color/70"); >; // SPIR-V reflection failed for backend HLSL:- // cbuffer ID 5618 (name: _Globals_), member index 0 (name: g_vTexCoordXform0) cannot be expressed with either HLSL packing layout or packoffset.+ // cbuffer ID 5618 (name: _Globals_), member index 3 (name: g_vColorTint) cannot be expressed with either HLSL packing layout or packoffset. // // Re-attempting reflection with the GLSL backend. @@ -298,7 +298,7 @@ PS Texture2D g_tNormal < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormal, TextureRoughness), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >; Texture2D g_tTransmissiveMask < Channel(R, ArtistDefined(TextureTransmissiveMask), Srgb); OutputFormat(ATI1N); SrgbRead(true); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Ambient Occlusion@@ -362,7 +362,7 @@ PS Texture2D g_tColor < Channel(RGB, ArtistDefined(TextureColor), Srgb); OutputFormat(DXT1); SrgbRead(true); >; // SPIR-V reflection failed for backend HLSL:- // cbuffer ID 5618 (name: _Globals_), member index 11 (name: g_vLayer2EmissiveTint) cannot be expressed with either HLSL packing layout or packoffset.+ // cbuffer ID 5618 (name: _Globals_), member index 5 (name: g_vLayer1EmissiveTint) cannot be expressed with either HLSL packing layout or packoffset. // // Re-attempting reflection with the GLSL backend. @@ -384,17 +384,17 @@ PS #endif #extension GL_KHR_shader_subgroup_arithmetic : require - struct _2746+ struct _2998 { vec4 _m0[3]; }; - struct _2956+ struct _197 { vec4 _m0[4]; }; - struct _1581+ struct _2697 { mat4 _m0[4]; };@@ -504,10 +504,10 @@ PS layout(set = 1) uniform _1194 PerViewConstantBuffer_t; - struct _2611+ struct _1373 {- _2746 _m0;- _2956 _m1;+ _2998 _m0;+ _197 _m1; vec4 _m2; vec4 _m3; vec4 _m4;@@ -524,13 +524,13 @@ PS float _m15; float _m16; float _m17;- _1581 _m18;- _2956 _m19;+ _2697 _m18;+ _197 _m19; uint _m20; uint _m21; }; - layout(set = 3) uniform _2611 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _1373 PerViewLightingConstantBufferGpu_t; layout(set = 3, binding = 30, std430) readonly buffer g_CullBits {@@ -707,99 +707,110 @@ PS { _21710 = 1.0; }- float _21711;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m11 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13136;- vec3 _14975;- int _13039 = 0;- for (;;)+ float _12503;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m11 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))- {- _13136 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])+ int _23989;+ int _10191;+ float _13136;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;- vec3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))+ {+ _13136 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break;+ }+ vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])+ {+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;+ vec3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _18423;- if (_10191 >= 0)- {- float _18270 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);- float _12501;- SPIRV_CROSS_BRANCH- if (_13136 < 1.0)+ float _18423;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))+ float _18270 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ float _12501;+ SPIRV_CROSS_BRANCH+ if (_13136 < 1.0) {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;- vec3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- _7934 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;+ vec3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ _7934 = textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m20], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ }+ else+ {+ _7934 = 1.0;+ }+ _12501 = mix(_7934, _18270, _13136); } else {- _7934 = 1.0;+ _12501 = _18270; }- _12501 = mix(_7934, _18270, _13136);+ _18423 = _12501; } else {- _12501 = _18270;+ _18423 = 1.0; }- _18423 = _12501;- }- else- {- _18423 = 1.0;- }- float _13279 = mix(_18423, 1.0, saturate((distance(_10061.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));- float _12502;- if (_24465.y)- {- _12502 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ float _13279 = mix(_18423, 1.0, saturate((distance(_10061.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));+ float _12502;+ if (_24465.y)+ {+ _12502 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12502 = _13279;+ }+ _12503 = _12502; } else {- _12502 = _13279;+ _12503 = 1.0; }- _21711 = _12502;+ _12320 = _12503; } else {- _21711 = 1.0;+ _12320 = 1.0; } vec3 _9716; vec3 _24878; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735) * _21711) > 0.0)+ if ((_8634 * _12320) > 0.0) { float _11797 = max(0.0, dot(_13532.xyz, PerViewLightingConstantBufferGpu_t._m9.xyz)); vec2 _9840 = max(_21813, vec2(PerViewLightingConstantBufferGpu_t._m9.w));@@ -810,7 +821,7 @@ PS float _25211 = _9850 * _9850; float _19095 = _25211 * _25211; float _15346 = ((_12386 * _12386) * (_19095 - 1.0)) + 1.0;- vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _21711).xyz;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _12320).xyz; _9716 = ((_12351.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0) + 2.0)))).xyz * _11797).xyz * _16808; _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(_11797).xyz * _16808); }@@ -1010,7 +1021,7 @@ PS } else {- vec3 _12503;+ vec3 _12504; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -1026,7 +1037,7 @@ PS vec3 _20493 = _14081; _20493.x = _20564.x; _20493.y = _20564.y;- _12503 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20493.xyz, 0.0).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20493.xyz, 0.0).xyz; } else {@@ -1035,9 +1046,9 @@ PS vec3 _20492 = _13791; _20492.x = _20563.x; _20492.y = _20563.y;- _12503 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20492.xyz, 0.0).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m21], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20492.xyz, 0.0).xyz; }- _21548 = _12503;+ _21548 = _12504; } if (all(equal(_21548.xyz, vec3(0.0)))) {@@ -1081,9 +1092,9 @@ PS float _19211 = max(0.0, dot(_11179.xyz, _12282)); float _9851 = _9841.x; float _25212 = _9851 * _9851;- float _19097 = _25212 * _25212;- float _15348 = ((_12387 * _12387) * (_19097 - 1.0)) + 1.0;- _13212 = _13138.xyz + (((_12351.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);+ float _19096 = _25212 * _25212;+ float _15348 = ((_12387 * _12387) * (_19096 - 1.0)) + 1.0;+ _13212 = _13138.xyz + (((_12351.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz); _15670 = _16326.xyz + (vec3(_11798).xyz * _22671.xyz); break; } while(false);game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_simple_liquid.slang
modified • +840 / -603 • changes: 1443
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_static_overlay.slang
modified • +125 / -79 • changes: 204
Show patch
@@ -123,20 +123,16 @@ VS int g_nScaleTexCoordUByModelScaleAxis < Range4(0, 0, 0, 0, 3, 3, 3, 3); UiOptions("0=None,1=UV.u * model.x,2=UV.u * model.y,3=UV.u * model.z"); UiType(Enum); UiGroup("Color/80"); >; int g_nScaleTexCoordVByModelScaleAxis < Range4(0, 0, 0, 0, 3, 3, 3, 3); UiOptions("0=None,1=UV.v * model.x,2=UV.v * model.y,3=UV.v * model.z"); UiType(Enum); UiGroup("Color/90"); >; + // Overlay+ float g_flOverlayLift < Range(0, 2); UiType(Slider); UiGroup("Overlay,90/Lift,10/10"); >;+ // Material1 int g_nUVSet1 < Default(1); Range4(0, 0, 0, 0, 2, 2, 2, 2); UiOptions("0=Biplanar,1=UV1,2=UV2"); UiType(Enum); UiGroup("Material1/Texture Coordinates,34/1"); >; float2 g_vTexCoordScale1 < Default2(1, 1); Range2(0, 0, 100, 100); Attribute("0=X,1=Y"); UiType(VectorText); UiGroup("Material1/Texture Transform,35/2"); >; float g_flTexCoordRotation1 < Range(-360, 360); UiType(Slider); UiGroup("Material1/Texture Transform,35/13"); UiVisibility(1); >; - // SPIR-V reflection failed for backend HLSL:- // cbuffer ID 5618 (name: _Globals_), member index 0 (name: g_vTexCoordXform0) cannot be expressed with either HLSL packing layout or packoffset.- //- // Re-attempting reflection with the GLSL backend.- // Source 2 Viewer - https://valveresourceformat.github.io- // SPIR-V source, GLSL reflection with SPIRV-Cross by KhronosGroup- - #version 460+ // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup struct _1125 {@@ -152,88 +148,101 @@ VS struct _1119 {- mat3x4 _m0;+ row_major float3x4 _m0; }; - layout(set = 4, binding = 32, std430) readonly buffer g_instanceBuffer+ ByteAddressBuffer g_instanceBuffer : register(t32, space4);+ ByteAddressBuffer g_transformBuffer : register(t30, space4);+ cbuffer PerViewConstantBuffer_t : register(b1, space0) {- _1125 _m0[];- } g_instanceBuffer_1;+ column_major float4x4 PerViewConstantBuffer_t_1_m0 : packoffset(c0);+ float PerViewConstantBuffer_t_1_m1 : packoffset(c18.w);+ float4 PerViewConstantBuffer_t_1_m2 : packoffset(c24);+ float3 PerViewConstantBuffer_t_1_m3 : packoffset(c26);+ }; - layout(set = 4, binding = 30, std430) readonly buffer g_transformBuffer+ cbuffer _Globals_ : register(b0, space0) {- _1119 _m0[];- } g_transformBuffer_1;+ float4 _Globals_1_g_vTexCoordXform0 : packoffset(c31);+ float4 _Globals_1_g_vTexCoordXform1 : packoffset(c32);+ float2 _Globals_1_g_vTexCoordScrollSpeed : packoffset(c33);+ float3 _Globals_1_g_vColorTint : packoffset(c36.y);+ float _Globals_1_g_flModelTintAmount : packoffset(c37);+ float _Globals_1_g_flOverlayLift : packoffset(c37.z);+ }; - struct _1340+ cbuffer PerViewConstantBufferCsgo_t : register(b3, space0) {- mat4 _m0;- float _m1;- vec4 _m2;- vec3 _m3;+ float4 PerViewConstantBufferCsgo_t_1_m0 : packoffset(c35); }; - layout(set = 0) uniform _1340 PerViewConstantBuffer_t; - struct _1234+ static float4 gl_Position;+ static float3 vPositionOs;+ static float2 vTexCoord;+ static float3 vNormalOs;+ static uint4 vBlendIndices;+ static uint nInstanceIdx;+ static float3 output_0;+ static float3 output_1;+ static float4 output_2;+ static float3 output_3;+ static float3 output_4;+ static float4 output_5;+ static float4 output_6;+ static uint output_7;+ + struct VS_INPUT {- vec4 g_vTexCoordXform0;- vec4 g_vTexCoordXform1;- vec2 g_vTexCoordScrollSpeed;- vec3 g_vColorTint;- float g_flModelTintAmount;+ float3 vPositionOs : POSITION0;+ float2 vTexCoord : TEXCOORD0;+ float3 vNormalOs : NORMAL0;+ uint4 vBlendIndices : BLENDINDICES0;+ uint nInstanceIdx : TEXCOORD13; }; - layout(set = 0) uniform _1234 _Globals_;- - struct _1017+ struct PS_INPUT {- vec4 _m0;+ float3 output_0 : TEXCOORD0;+ float3 output_1 : TEXCOORD1;+ float4 output_2 : TEXCOORD2;+ float3 output_3 : TEXCOORD3;+ float3 output_4 : TEXCOORD4;+ float4 output_5 : TEXCOORD5;+ centroid float4 output_6 : TEXCOORD6;+ nointerpolation uint output_7 : TEXCOORD7;+ float4 gl_Position : SV_Position; }; - layout(set = 0) uniform _1017 PerViewConstantBufferCsgo_t;- - layout(location = 0) in vec3 vPositionOs;- layout(location = 1) in vec2 vTexCoord;- layout(location = 2) in vec3 vNormalOs;- layout(location = 3) in uvec4 vBlendIndices;- layout(location = 4) in uint nInstanceIdx;- layout(location = 0) out vec3 output_0;- layout(location = 1) out vec3 output_1;- layout(location = 2) out vec4 output_2;- layout(location = 3) out vec3 output_3;- layout(location = 4) out vec3 output_4;- layout(location = 5) out vec4 output_5;- layout(location = 6) centroid out vec4 output_6;- layout(location = 7) flat out uint output_7;- - void main()+ void MainVs_inner() {- uint _13771 = (g_instanceBuffer_1._m0[nInstanceIdx]._m5 >> uint(16)) & 15u;+ uint _13771 = (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 20) >> uint(16)) & 15u; uint _21785; if (_13771 == 1u) {- _21785 = g_instanceBuffer_1._m0[nInstanceIdx]._m1 + (2u + vBlendIndices.x);+ _21785 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) + (2u + vBlendIndices.x); } else {- _21785 = g_instanceBuffer_1._m0[nInstanceIdx]._m1;+ _21785 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4); }- vec3 _21709;+ float3x4 _12618 = float3x4(g_transformBuffer.Load<float4>(_21785 * 48 + 0), g_transformBuffer.Load<float4>(_21785 * 48 + 16), g_transformBuffer.Load<float4>(_21785 * 48 + 32));+ float3 _21709; if (_13771 > 0u) {- _21709 = vec3(g_transformBuffer_1._m0[g_instanceBuffer_1._m0[nInstanceIdx]._m1]._m0[0].z);+ float3x4 _25207 = float3x4(g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 0), g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 16), g_transformBuffer.Load<float4>(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 4) * 48 + 32));+ _21709 = _25207[0].z.xxx; } else {- _21709 = vec3(1.0);+ _21709 = 1.0f.xxx; }- vec4 _23812 = vec4(uvec4(g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 255u, (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 65280u) >> uint(8), (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 16711680u) >> uint(16), (g_instanceBuffer_1._m0[nInstanceIdx]._m0 & 4278190080u) >> uint(24))) * vec4(0.0039215688593685626983642578125);- vec3 _6253 = _23812.xyz;- vec3 _17828 = _6253 * vec3(0.077399380505084991455078125);- vec3 _7676 = pow((_6253 * vec3(0.947867333889007568359375)) + vec3(0.052132703363895416259765625), vec3(2.400000095367431640625));+ float4 _23812 = float4(uint4(g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 255u, (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 65280u) >> uint(8), (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 16711680u) >> uint(16), (g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 0) & 4278190080u) >> uint(24))) * 0.0039215688593685626983642578125f.xxxx;+ float3 _6253 = _23812.xyz;+ float3 _17828 = _6253 * 0.077399380505084991455078125f.xxx;+ float3 _7676 = pow((_6253 * 0.947867333889007568359375f.xxx) + 0.052132703363895416259765625f.xxx, 2.400000095367431640625f.xxx); float _21354;- if (_23812.x <= 0.040449999272823333740234375)+ if (_23812.x <= 0.040449999272823333740234375f) { _21354 = _17828.x; }@@ -242,7 +251,7 @@ VS _21354 = _7676.x; } float _21355;- if (_23812.y <= 0.040449999272823333740234375)+ if (_23812.y <= 0.040449999272823333740234375f) { _21355 = _17828.y; }@@ -251,7 +260,7 @@ VS _21355 = _7676.y; } float _17978;- if (_23812.z <= 0.040449999272823333740234375)+ if (_23812.z <= 0.040449999272823333740234375f) { _17978 = _17828.z; }@@ -260,33 +269,69 @@ VS _17978 = _7676.z; } float _7654 = _23812.w;- vec3 _12151 = vec4(vPositionOs.xyz * _21709.xyz, 1.0) * g_transformBuffer_1._m0[_21785]._m0;- vec4 _18237 = (vec4(_12151.xyz, 1.0) + (PerViewConstantBuffer_t._m2 * 1.0)).xyzw * PerViewConstantBuffer_t._m0;- vec4 _9360 = vTexCoord.xyxy;- _9360.x = dot(vTexCoord.xy, _Globals_.g_vTexCoordXform0.xy) + _Globals_.g_vTexCoordXform0.w;- _9360.y = dot(vTexCoord.xy, _Globals_.g_vTexCoordXform1.xy) + _Globals_.g_vTexCoordXform1.w;- vec2 _22490 = _9360.xy + (_Globals_.g_vTexCoordScrollSpeed.xy * PerViewConstantBuffer_t._m1);- vec4 _20488 = _9360;+ float3 _11179 = normalize(mul(_12618, float4(vNormalOs.xyz, 0.0f)));+ float3 _12151 = mul(_12618, float4(vPositionOs.xyz * _21709.xyz, 1.0f));+ float4 _21447 = PerViewConstantBuffer_t_1_m2 * 1.0f;+ float4 _13706 = vTexCoord.xyxy;+ _13706.x = dot(vTexCoord.xy, _Globals_1_g_vTexCoordXform0.xy) + _Globals_1_g_vTexCoordXform0.w;+ _13706.y = dot(vTexCoord.xy, _Globals_1_g_vTexCoordXform1.xy) + _Globals_1_g_vTexCoordXform1.w;+ float2 _22490 = _13706.xy + (_Globals_1_g_vTexCoordScrollSpeed.xy * PerViewConstantBuffer_t_1_m1);+ float4 _20488 = _13706; _20488.x = _22490.x; _20488.y = _22490.y;- vec4 _11399 = vec4(mix(vec3(1.0), vec4(_21354, _21355, _17978, _7654).xyz, vec3(_Globals_.g_flModelTintAmount)), _7654 * g_instanceBuffer_1._m0[nInstanceIdx]._m7);- vec3 _13062 = _11399.xyz * _Globals_.g_vColorTint.xyz;- vec4 _23714 = _11399;+ float4 _11399 = float4(lerp(1.0f.xxx, float4(_21354, _21355, _17978, _7654).xyz, _Globals_1_g_flModelTintAmount.xxx), _7654 * g_instanceBuffer.Load<float>(nInstanceIdx * 32 + 28));+ float3 _13062 = _11399.xyz * _Globals_1_g_vColorTint.xyz;+ float4 _23714 = _11399; _23714.x = _13062.x; _23714.y = _13062.y; _23714.z = _13062.z;+ float4 _19363;+ if (_Globals_1_g_flOverlayLift > 0.0f)+ {+ float3 _6847 = _12151.xyz;+ float3 _18449 = normalize(PerViewConstantBuffer_t_1_m3.xyz - _6847);+ float4 _18277 = mul(PerViewConstantBuffer_t_1_m0, (float4(_6847, 1.0f) + _21447).xyzw);+ float4 _8847 = mul(PerViewConstantBuffer_t_1_m0, (float4((_6847 + (_18449 * ((_Globals_1_g_flOverlayLift * 1.5f) / max(dot(_11179.xyz, _18449), 0.300000011920928955078125f)))).xyz, 1.0f) + _21447).xyzw);+ _18277.z = (_8847.z / _8847.w) * _18277.w;+ _19363 = _18277;+ }+ else+ {+ _19363 = mul(PerViewConstantBuffer_t_1_m0, (float4(_12151.xyz, 1.0f) + _21447).xyzw);+ } output_0 = _12151;- output_1 = _12151 - PerViewConstantBuffer_t._m3.xyz;+ output_1 = _12151 - PerViewConstantBuffer_t_1_m3.xyz; output_2 = _20488;- output_3 = _12151.xyz - PerViewConstantBufferCsgo_t._m0.xyz;- output_4 = normalize(vec4(vNormalOs.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0);+ output_3 = _12151.xyz - PerViewConstantBufferCsgo_t_1_m0.xyz;+ output_4 = _11179; output_5 = _20488; output_6 = _23714;- output_7 = g_instanceBuffer_1._m0[nInstanceIdx]._m5 & 65535u;- _18237.y = -_18237.y;- gl_Position = _18237;+ output_7 = g_instanceBuffer.Load<uint>(nInstanceIdx * 32 + 20) & 65535u;+ float4 _20857 = _19363;+ _20857.y = -_19363.y;+ gl_Position = _20857; } + PS_INPUT MainVs(VS_INPUT stage_input)+ {+ vPositionOs = stage_input.vPositionOs;+ vTexCoord = stage_input.vTexCoord;+ vNormalOs = stage_input.vNormalOs;+ vBlendIndices = stage_input.vBlendIndices;+ nInstanceIdx = stage_input.nInstanceIdx;+ MainVs_inner();+ PS_INPUT stage_output;+ stage_output.gl_Position = gl_Position;+ stage_output.output_0 = output_0;+ stage_output.output_1 = output_1;+ stage_output.output_2 = output_2;+ stage_output.output_3 = output_3;+ stage_output.output_4 = output_4;+ stage_output.output_5 = output_5;+ stage_output.output_6 = output_6;+ stage_output.output_7 = output_7;+ return stage_output;+ } // --------- SPIRV -> HLSL end --------- @@ -397,7 +442,7 @@ PS float3 g_vAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.045,.4,1.15).x,-1.4427*log(max(.0001,1-float3(-.045,.4,1.15).y)),2-float3(-.045,.4,1.15).z)); >; float3 g_vBiplanarTexCoordScale < UiType(VectorText); Expression(1/64*float3(-1,1,-1)); >; float3 g_vDarkMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.1,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.1,.4,1.08).y)),2-float3(-.1,.4,1.08).z)); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float3 g_vMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.45,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.45,.4,1.08).y)),2-float3(-.45,.4,1.08).z)); >; float4 g_vNormalXform_1 < UiType(VectorText); Expression(v0 = g_flTexCoordRotation1*3.1415927/180; v1 = cos(v0);@@ -430,7 +475,7 @@ PS CreateInputTexture2D(TextureAmbientOcclusion1, Linear, 8, "", "_ao", "Material1/Lighting,20/20", Default4(1, 1, 1, 0)); float g_fTextureColorContrast1 < Default(1); Range(0, 4); UiType(Slider); UiGroup("Material1/Color Correction/20"); >; float g_flHeightMapScale1 < Default(1); Range(-4, 4); UiType(Slider); UiGroup("Material1/Height/20"); >;- float3 g_vAmbientOcclusionLevels1 < Default2(0, 0.5); Range(-1, 1); Attribute("0=Option 1,1=Option 2,2=Option 3"); UiType(VectorText); UiGroup("Material1/Lighting/21"); Expression(float3(-this.x,-1.4427*log(max(.0001,1-this.y)),2-this.z)); >;+ float3 g_vAmbientOcclusionLevels1 < Default3(0, 0.5, 1); Range(-1, 1); Attribute("0=Option 1,1=Option 2,2=Option 3"); UiType(VectorText); UiGroup("Material1/Lighting/21"); Expression(float3(-this.x,-1.4427*log(max(.0001,1-this.y)),2-this.z)); >; CreateInputTexture2D(TextureMetalness1, Linear, 8, "", "_metal", "Material1/Lighting/30", Default4(0, 0, 0, 0)); float g_fTextureColorSaturation1 < Default(1); Range(0, 4); UiType(Slider); UiGroup("Material1/Color Correction/30"); >; float g_flHeightMapZeroPoint1 < Default(0.5); UiType(Slider); UiGroup("Material1/Height/30"); >;@@ -451,6 +496,7 @@ PS // Lighting CreateInputTexture2D(TextureMetalness, Linear, 8, "", "_metal", "Lighting,30/Metalness,30/10", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureRoughness, Linear, 8, "Inverse", "_rough", "Lighting,30/Roughness,20/10", Default4(0.5, 0.5, 0.5, 0));+ bool g_bSnow < UiType(CheckBox); UiGroup("Lighting/Snow,90/10"); >; float g_fTextureRoughnessContrast < Default(1); Range(0, 4); UiType(Slider); UiGroup("Lighting/Roughness/11"); >; float g_fTextureRoughnessBrightness < Default(1); Range(0, 4); UiType(Slider); UiGroup("Lighting/Roughness/12"); >; bool g_bMaskRoughnessAdjustmentsByTintMask < UiType(CheckBox); UiGroup("Lighting/Roughness/13"); UiVisibility(F_TINT_MASK==1); >;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_textile_layer.slang
modified • +180 / -169 • changes: 349
Show patch
@@ -334,7 +334,7 @@ PS Texture2D g_tSurface1 < Channel(RGB, ArtistDefined(TextureSurfaceAlbedo1), Srgb); Channel(A, Box(TextureSurfaceTintMask1), Linear); OutputFormat(BC7); SrgbRead(true); >; Texture2D g_tSurfaceNormal1 < Channel(RGBA, HemiOctAnisoRoughness(TextureSurfaceNormal1, TextureSurfaceRoughness1), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tSurfaceProperties1 < Channel(R, Box3(TextureSurfaceAmbientOcclusion1), Linear); Channel(G, Box(TextureSurfaceMetalness1), Linear); Channel(B, Box(TextureSurfaceClothMask1), Linear); Channel(A, Box(TextureSurfaceHeight1), Linear); OutputFormat(BC7); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vGrungeTexCoordXform0 < UiType(VectorText); Expression(v0 = g_fGrungeTexCoordRotation*3.14159/180; v1 = cos(v0); v2 = sin(v0);@@ -385,7 +385,7 @@ PS CreateInputTexture2D(TextureGrime1, Srgb, 8, "", "_color", "Material1/Grime,6/1", Default4(0.5, 0.5, 0.5, 0)); CreateInputTexture2D(TextureSubstrateAlbedo1, Srgb, 8, "", "_color", "Material1/Substrate Layer,2/1", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceAlbedo1, Srgb, 8, "", "_color", "Material1/Surface Layer,1/1", Default4(1, 1, 1, 0));- float2 g_vDamageLevels1 < Default(0); UiType(VectorText); UiGroup("Material1,1/Detail Damage/1"); >;+ float2 g_vDamageLevels1 < Default2(0, 1); UiType(VectorText); UiGroup("Material1,1/Detail Damage/1"); >; CreateInputTexture2D(TextureSubstrateTintMask1, Linear, 8, "", "_tintmask", "Material1/Substrate Layer/2", Default4(1, 1, 1, 0)); CreateInputTexture2D(TextureSurfaceTintMask1, Linear, 8, "", "_tintmask", "Material1/Surface Layer/2", Default4(1, 1, 1, 0)); float g_fCurvaturePower1 < Default(1); Range(0.5, 6); UiType(Slider); UiGroup("Material1/Detail Damage/2"); >;@@ -409,16 +409,16 @@ PS CreateInputTexture2D(TextureDetailNormal1, Linear, 8, "", "_detailnormal", "Material1/Normal/10", Default4(0.5, 0.5, 0.5, 0.5)); CreateInputTexture2D(TextureGrunge1, Linear, 8, "", "_grunge", "Material1/Grunge/10", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageMetalness1 < UiType(Slider); UiGroup("Material1/Detail Damage/10"); >;- float2 g_vSurfaceGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/10"); >;+ float2 g_vSurfaceGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/10"); >; CreateInputTexture2D(TextureDamageNormal1, Linear, 8, "", "_damagenormal", "Material1/Normal/11", Default4(0.5, 0.5, 0.5, 0.5)); float g_fDamageCloth1 < UiType(Slider); UiGroup("Material1/Detail Damage/11"); UiVisibility(F_CLOTH_SHADING); >; float g_fDamageHeightBlendSoftness1 < Default(0.01); UiType(Slider); UiGroup("Material1/Damage Height/11"); Expression(max(this,.001)); >; float g_fDetailGrunge1 < Range(0, 2); UiType(Slider); UiGroup("Material1/Grunge/11"); >; float g_fDetailScale1 < Default(4); Range(-10, 10); UiType(Slider); UiGroup("Material1/Detail/11"); >;- float2 g_vSubstrateGrimeMinMax1 < Default(0); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/11"); >;+ float2 g_vSubstrateGrimeMinMax1 < Default2(0, 1); Range2(-1, -1, 2, 2); UiType(VectorText); UiGroup("Material1/Grime/11"); >; float g_fDetailNormalContrast1 < Default(1); Range(0, 8); UiType(Slider); UiGroup("Material1/Normal/12"); >; float g_fDetailRoughnessContrast1 < Range(-1, 1); UiType(Slider); UiGroup("Material1/Detail/12"); >;- float2 g_vDamageMinMax1 < Default(0); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material1/Damage Height/12"); >;+ float2 g_vDamageMinMax1 < Default2(0, 1); Range2(0, 0, 2, 2); UiType(VectorText); UiGroup("Material1/Damage Height/12"); >; float g_fDetailRoughnessBrightness1 < Default(1); Range(0, 10); UiType(Slider); UiGroup("Material1/Detail/13"); >; float g_fWearBleaching1 < Default(0.25); Range(0, 3); UiType(Slider); UiGroup("Material1/Wear Edge/13"); >; float g_fDetailAnisotropyScalar1 < Range(-1, 1); UiType(Slider); UiGroup("Material1/Detail/14"); >;@@ -459,12 +459,12 @@ PS CreateInputTexture2D(TextureSubstrateMetalness1, Srgb, 8, "", "_metal", "Material1/Substrate Layer/40", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureSurfaceMetalness1, Linear, 8, "", "_metal", "Material1/Surface Layer/40", Default4(0, 0, 0, 0)); float g_fDamageBevelRoughnessBrightness1 < Default(1); Range(0, 2); UiType(Slider); UiGroup("Material1/Damage Bevel/40"); >;- float2 g_vSurfaceBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup("Material1/Burnishing/40"); >;+ float2 g_vSurfaceBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup("Material1/Burnishing/40"); >; CreateInputTexture2D(TextureSubstrateClothMask1, Srgb, 8, "", "_mask", "Material1/Substrate Layer/41", "materials/default/default_black_mask.tga"); CreateInputTexture2D(TextureSurfaceClothMask1, Linear, 8, "", "_mask", "Material1/Surface Layer/41", "materials/default/default_black_mask.tga"); float g_fDamageBevelAnisotropy1 < UiType(Slider); UiGroup("Material1/Damage Bevel/41"); >; float g_fDamageNormalEdgeWidth1 < Default(1); Range(0, 8); UiType(Slider); UiGroup("Material1,1/Wear Edge/41"); >;- float2 g_vSubstrateBurnishingMinMax1 < Default(0); UiType(VectorText); UiGroup("Material1/Burnishing/41"); >;+ float2 g_vSubstrateBurnishingMinMax1 < Default2(0, 1); UiType(VectorText); UiGroup("Material1/Burnishing/41"); >; float g_fDamageEdgeRoughness1 < Default(0.8); UiType(Slider); UiGroup("Material1/Wear Edge/42"); >; float g_fDamageEdgeMetalness1 < UiType(Slider); UiGroup("Material1/Wear Edge/43"); >; float g_fDamageBevelMetalness1 < UiType(Slider); UiGroup("Material1/Damage Bevel/50"); >;@@ -527,14 +527,14 @@ PS #endif #extension GL_KHR_shader_subgroup_arithmetic : require - const vec2 _724[4] = vec2[](vec2(-1.0), vec2(-1.0, 1.0), vec2(1.0), vec2(1.0, -1.0));+ const vec2 _790[4] = vec2[](vec2(-1.0), vec2(-1.0, 1.0), vec2(1.0), vec2(1.0, -1.0)); - struct _1906+ struct _2158 { vec4 _m0[3]; }; - struct _2116+ struct _2368 { vec4 _m0[4]; };@@ -550,12 +550,12 @@ PS vec4 _m6; }; - struct _2033+ struct _2946 { _1677 _m0[128]; }; - struct _872+ struct _1988 { mat4 _m0[4]; };@@ -659,15 +659,15 @@ PS layout(set = 1) uniform _2806 PerViewConstantBufferCsgo_t; - struct _1552+ struct _832 { vec4 _m0; vec4 _m1; vec4 _m2; vec4 _m3; vec4 _m4;- _1906 _m5;- _2116 _m6;+ _2158 _m5;+ _2368 _m6; vec4 _m7; vec4 _m8; vec4 _m9;@@ -676,7 +676,7 @@ PS uvec4 _m12; vec4 _m13; vec4 _m14;- _2033 _m15;+ _2946 _m15; vec4 _m16; vec4 _m17; int _m18;@@ -686,11 +686,11 @@ PS float _m22; float _m23; float _m24;- _872 _m25;- _2116 _m26;+ _1988 _m25;+ _2368 _m26; }; - layout(set = 3) uniform _1552 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _832 PerViewLightingConstantBufferGpu_t; struct _1194 {@@ -721,19 +721,19 @@ PS layout(set = 1, binding = 55) uniform texture2D g_tDetailNormal1; layout(set = 1, binding = 56) uniform texture2D g_tDamageNormal1; layout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;- layout(set = 1, binding = 22) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 23) uniform sampler g_sCookieSampler; layout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;- layout(set = 1, binding = 18) uniform sampler g_sPointClamp;+ layout(set = 1, binding = 19) uniform sampler g_sPointClamp; layout(set = 1, binding = 39) uniform texture2D g_tSsao;- layout(set = 1, binding = 19) uniform sampler g_sUserConfig;- layout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 20) uniform sampler g_sUserConfig;+ layout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture; layout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;- layout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;+ layout(set = 1, binding = 16) uniform sampler g_sBilinearClamp; layout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture; @@ -983,8 +983,8 @@ PS { break; }- float _24694 = _19034 - smoothstep(_Globals_.g_vDamageLevels1.x, _Globals_.g_vDamageLevels1.y, saturate((texture(sampler2D(g_tGrunge1, g_sAniso), (_15902 + (((_724[_17017] * 0.0009765625) * _Globals_.g_fDamageNormalEdgeWidth1) * 2.0)).xy).w * _21912) + _20765) * _Globals_.g_fWearProgress);- _10648 = _13136.xy - (_724[_17017] * _24694);+ float _24694 = _19034 - smoothstep(_Globals_.g_vDamageLevels1.x, _Globals_.g_vDamageLevels1.y, saturate((texture(sampler2D(g_tGrunge1, g_sAniso), (_15902 + (((_790[_17017] * 0.0009765625) * _Globals_.g_fDamageNormalEdgeWidth1) * 2.0)).xy).w * _21912) + _20765) * _Globals_.g_fWearProgress);+ _10648 = _13136.xy - (_790[_17017] * _24694); _14733 = _16324 + abs(_24694); _18386 = _17017 + 1; _13136 = _10648;@@ -1091,162 +1091,173 @@ PS { _21711 = _21710; }- float _21712;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m18 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13137;- vec3 _14975;- int _13039 = 0;- for (;;)- {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))- {- _13137 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])- {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;- vec3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13137 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;- }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)+ float _12504;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m18 != 0) {- vec2 _7045;- vec2 _7046;- vec2 _7735;- float _8969;- float _8970;- float _15996;- float _17299;- vec2 _18870;- vec4 _20581;- vec4 _22024;- float _23727;- do+ int _23989;+ int _10191;+ float _13137;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);- _20581 = PerViewLightingConstantBufferGpu_t._m0;- _22024 = PerViewLightingConstantBufferGpu_t._m1;- _17299 = PerViewLightingConstantBufferGpu_t._m2.z;- _15996 = PerViewLightingConstantBufferGpu_t._m3.z;- _18870 = vec2(_17299, _15996);- _8969 = PerViewLightingConstantBufferGpu_t._m2.y;- _7045 = vec2(_8969, _15996);- _8970 = PerViewLightingConstantBufferGpu_t._m3.y;- _7046 = vec2(_17299, _8970);- _7735 = vec2(_8969, _8970);- float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));- bool _12887;- if (_15310 == 0.0)+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18)) {- _12887 = true;- }- else- {- _12887 = _15310 == 1.0;+ _13137 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break; }- if (_12887)+ vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039]) {- _23727 = _15310;+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;+ vec3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13137 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039; break; }- _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22024.y);- break;- } while(false);- float _12502;- SPIRV_CROSS_BRANCH- if (_13137 < 1.0)+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue;+ }+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ vec2 _7045;+ vec2 _7046;+ vec2 _7735;+ float _8969;+ float _8970;+ float _15996;+ float _17299;+ vec2 _18870;+ vec4 _20581;+ vec4 _22024;+ float _23727;+ do {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;- vec3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- float _12501;- do+ float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);+ _20581 = PerViewLightingConstantBufferGpu_t._m0;+ _22024 = PerViewLightingConstantBufferGpu_t._m1;+ _17299 = PerViewLightingConstantBufferGpu_t._m2.z;+ _15996 = PerViewLightingConstantBufferGpu_t._m3.z;+ _18870 = vec2(_17299, _15996);+ _8969 = PerViewLightingConstantBufferGpu_t._m2.y;+ _7045 = vec2(_8969, _15996);+ _8970 = PerViewLightingConstantBufferGpu_t._m3.y;+ _7046 = vec2(_17299, _8970);+ _7735 = vec2(_8969, _8970);+ float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));+ bool _12887;+ if (_15310 == 0.0) {- float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);- float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));- bool _12888;- if (_15311 == 0.0)- {- _12888 = true;- }- else- {- _12888 = _15311 == 1.0;- }- if (_12888)+ _12887 = true;+ }+ else+ {+ _12887 = _15310 == 1.0;+ }+ if (_12887)+ {+ _23727 = _15310;+ break;+ }+ _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22024.y);+ break;+ } while(false);+ float _12502;+ SPIRV_CROSS_BRANCH+ if (_13137 < 1.0)+ {+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;+ vec3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ float _12501;+ do {- _12501 = _15311;+ float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);+ float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));+ bool _12888;+ if (_15311 == 0.0)+ {+ _12888 = true;+ }+ else+ {+ _12888 = _15311 == 1.0;+ }+ if (_12888)+ {+ _12501 = _15311;+ break;+ }+ _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22024.y); break;- }- _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22024.y);- break;- } while(false);- _7934 = _12501;+ } while(false);+ _7934 = _12501;+ }+ else+ {+ _7934 = 1.0;+ }+ _12502 = mix(_7934, _23727, _13137); } else {- _7934 = 1.0;+ _12502 = _23727; }- _12502 = mix(_7934, _23727, _13137);+ _19363 = _12502; } else {- _12502 = _23727;+ _19363 = 1.0; }- _19363 = _12502;- }- else- {- _19363 = 1.0;- }- float _13279 = mix(_19363, 1.0, saturate((distance(_10829.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));- float _12503;- if (_24465.y)- {- _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ float _13279 = mix(_19363, 1.0, saturate((distance(_10829.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));+ float _12503;+ if (_24465.y)+ {+ _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_18180.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12503 = _13279;+ }+ _12504 = _12503; } else {- _12503 = _13279;+ _12504 = 1.0; }- _21712 = _12503;+ _12320 = _12504; } else {- _21712 = 1.0;+ _12320 = 1.0; } vec3 _9716; vec3 _24878; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21712) > 0.0)+ if ((_8634 * _12320) > 0.0) { float _11797 = max(0.0, dot(_14995.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz)); vec2 _9840 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));@@ -1257,8 +1268,8 @@ PS float _25073 = max(0.0, dot(_19012, _21889)); float _9850 = _9840.x; float _25211 = _9850 * _9850;- float _19097 = _12386 * _12386;- float _24198 = _25211 / ((_19097 * ((_25211 * _25211) - 1.0)) + 1.0);+ float _19096 = _12386 * _12386;+ float _24198 = _25211 / ((_19096 * ((_25211 * _25211) - 1.0)) + 1.0); float _16150 = _9850 + 1.0; float _6835 = (_16150 * _16150) * 0.125; float _19569 = 1.0 - _6835;@@ -1270,13 +1281,13 @@ PS float _6597 = dot(_9840.xy, vec2(0.5)); float _20791 = max(_6597 * _6597, 9.9999997473787516355514526367188e-06); float _21401 = saturate(_25073 + 0.001000000047497451305389404296875);- _11621 = mix(_21624, ((((2.0 + (1.0 / _20791)) * pow(1.0 - _19097, 0.5 / _20791)) / ((_11797 + _21401) - (_11797 * _21401))) * 0.124999918043613433837890625) * _11797, _11543);+ _11621 = mix(_21624, ((((2.0 + (1.0 / _20791)) * pow(1.0 - _19096, 0.5 / _20791)) / ((_11797 + _21401) - (_11797 * _21401))) * 0.124999918043613433837890625) * _11797, _11543); } else { _11621 = _21624; }- vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21712).xyz;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz; _9716 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808); _24878 = (((_17639.xyz + ((vec3(1.0) - _17639.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * _11621).xyz * _11797).xyz * _16808; }@@ -1477,7 +1488,7 @@ PS } else {- vec3 _12504;+ vec3 _12505; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -1493,7 +1504,7 @@ PS vec3 _20491 = _14081; _20491.x = _20564.x; _20491.y = _20564.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz; } else {@@ -1502,9 +1513,9 @@ PS vec3 _20490 = _13791; _20490.x = _20563.x; _20490.y = _20563.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz; }- _21548 = _12504;+ _21548 = _12505; } if (all(equal(_21548.xyz, vec3(0.0)))) {@@ -1532,8 +1543,8 @@ PS do { float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);- vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;- float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));+ vec2 _14617 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;+ float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25)); bool _12890; if (_15312 == 0.0) {@@ -1548,7 +1559,7 @@ PS _24972 = _15312; break; }- _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);+ _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14617 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14617, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y); break; } while(false); vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);@@ -1573,8 +1584,8 @@ PS float _25074 = max(0.0, dot(_19014, _21890)); float _9851 = _9841.x; float _25212 = _9851 * _9851;- float _19098 = _12387 * _12387;- float _24199 = _25212 / ((_19098 * ((_25212 * _25212) - 1.0)) + 1.0);+ float _19097 = _12387 * _12387;+ float _24199 = _25212 / ((_19097 * ((_25212 * _25212) - 1.0)) + 1.0); float _16151 = _9851 + 1.0; float _6836 = (_16151 * _16151) * 0.125; float _19571 = 1.0 - _6836;@@ -1586,7 +1597,7 @@ PS float _6598 = dot(_9841.xy, vec2(0.5)); float _20792 = max(_6598 * _6598, 9.9999997473787516355514526367188e-06); float _21402 = saturate(_25074 + 0.001000000047497451305389404296875);- _11622 = mix(_21625, ((((2.0 + (1.0 / _20792)) * pow(1.0 - _19098, 0.5 / _20792)) / ((_11798 + _21402) - (_11798 * _21402))) * 0.124999918043613433837890625) * _11798, _11543);+ _11622 = mix(_21625, ((((2.0 + (1.0 / _20792)) * pow(1.0 - _19097, 0.5 / _20792)) / ((_11798 + _21402) - (_11798 * _21402))) * 0.124999918043613433837890625) * _11798, _11543); } else {@@ -1624,12 +1635,12 @@ PS _10287 = _22447; } float _17751 = dot(_11004.xy, vec2(0.5));- vec3 _6521 = _17892.xyz;+ vec3 _6520 = _17892.xyz; vec3 _19081 = _17892.xyz; float _23572 = PerViewLightingConstantBufferGpu_t._m14.y * sqrt(_17751); float _17225 = _17751 * _17751; float _20711 = saturate(1.0 - _17225);- vec3 _25271 = normalize(mix(_6521, reflect(_10145.xyz, _19081).xyz, vec3(_20711 * (sqrt(_20711) + _17225))));+ vec3 _25271 = normalize(mix(_6520, reflect(_10145.xyz, _19081).xyz, vec3(_20711 * (sqrt(_20711) + _17225)))); uvec2 _6814 = uvec2(_18180.xy - PerViewConstantBuffer_t._m0.xy) >> _7663; uint _19949 = PerViewLightingConstantBufferGpu_t._m11.y + (((_6814.y * PerViewLightingConstantBufferGpu_t._m12.y) + _6814.x) * PerViewLightingConstantBufferGpu_t._m11.z); uint _23394 = PerViewLightingConstantBufferGpu_t._m11.x + (uint(clamp(_6864 * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m11.z);@@ -1734,15 +1745,15 @@ PS continue; } vec3 _20869 = _19257.xyz;- float _20784 = max(0.0, dot(_20869, _6521));+ float _20784 = max(0.0, dot(_20869, _6520)); vec4 _11487 = textureLod(sampler2DArray(g_tBRDFLookup, g_sBilinearClamp), vec3((vec2(_17751, sqrt(1.0 - _20784)) * 0.984375) + vec2(0.0078125), 1.0).xyz, 0.0); vec3 _18985 = mix(_11487.xxx, _11487.yyy, _17639); float _10020; vec3 _23440; SPIRV_CROSS_BRANCH if (_14874) {- float _7173 = dot(normalize(_6521 + _20869).xyz, _6521);+ float _7173 = dot(normalize(_6520 + _20869).xyz, _6520); float _22187 = max(_17225, 9.9999997473787516355514526367188e-06); float _21363 = saturate(_20784 + 0.001000000047497451305389404296875); _10020 = 1.0 - _11543;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_unlitgeneric.slang
modified • +2 / -2 • changes: 4
Show patch
@@ -382,9 +382,9 @@ PS }; Texture2D<float4> g_tColor : register(t51, space1);- SamplerState g_sUserConfigAllowGlobalMipBias : register(s20, space1);+ SamplerState g_sUserConfigAllowGlobalMipBias : register(s21, space1); TextureCube<float4> g_tFogCubeTexture : register(t42, space1);- SamplerState g_sTrilinearClamp : register(s17, space1);+ SamplerState g_sTrilinearClamp : register(s18, space1); static float4 input_2; static float4 input_3;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_vertexlitgeneric.slang
modified • +122 / -111 • changes: 233
Show patch
@@ -390,7 +390,7 @@ PS Texture2D g_tNormal < Channel(RGBA, HemiOctIsoRoughness_RG_B(TextureNormal, TextureRoughness), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tSelfIllumMask < Channel(RGB, Box(TextureSelfIllumMask), Srgb); OutputFormat(DXT1); SrgbRead(true); >; Texture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float3 g_vSelfIllumTintScaled < UiType(VectorText); Expression(pow(2,g_flSelfIllumBrightness).x*g_flSelfIllumScale.x*SrgbGammaToLinear(g_vSelfIllumTint.xyz)); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; @@ -460,17 +460,17 @@ PS // Source 2 Viewer - https://valveresourceformat.github.io // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup - struct _2620+ struct _2872 { float4 _m0[3]; }; - struct _2830+ struct _71 { float4 _m0[4]; }; - struct _1023+ struct _2139 { column_major float4x4 _m0[4]; };@@ -508,22 +508,22 @@ PS cbuffer _Globals_ : register(b0, space1) {- uint _Globals_1_g_sTrilinearWrap : packoffset(c0.z);- uint _Globals_1_g_sTrilinearClamp : packoffset(c0.w);- uint _Globals_1_g_sPointClamp : packoffset(c1);- uint _Globals_1_g_sUserConfig : packoffset(c1.w);- uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2);- uint _Globals_1_g_sCookieSampler : packoffset(c2.z);- uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c2.w);- int _Globals_1_g_bFogEnabled : packoffset(c3.y);- int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c3.z);- int _Globals_1_g_bRenderBackfaceNormals : packoffset(c3.w);- uint _Globals_1_g_tColor : packoffset(c7.w);- uint _Globals_1_g_tNormal : packoffset(c8);- uint _Globals_1_g_tAmbientOcclusion : packoffset(c8.w);- float _Globals_1_g_flAmbientOcclusionScale : packoffset(c9);- uint _Globals_1_g_tMetalness : packoffset(c9.y);- float _Globals_1_g_flInverseBlendTint : packoffset(c9.z);+ uint _Globals_1_g_sTrilinearWrap : packoffset(c0.w);+ uint _Globals_1_g_sTrilinearClamp : packoffset(c1);+ uint _Globals_1_g_sPointClamp : packoffset(c1.y);+ uint _Globals_1_g_sUserConfig : packoffset(c2);+ uint _Globals_1_g_sUserConfigAllowGlobalMipBias : packoffset(c2.y);+ uint _Globals_1_g_sCookieSampler : packoffset(c2.w);+ uint _Globals_1_g_tShadowDepthBufferCmpSampler : packoffset(c3);+ int _Globals_1_g_bFogEnabled : packoffset(c3.z);+ int _Globals_1_g_bDontFlipBackfaceNormals : packoffset(c3.w);+ int _Globals_1_g_bRenderBackfaceNormals : packoffset(c4);+ uint _Globals_1_g_tColor : packoffset(c8);+ uint _Globals_1_g_tNormal : packoffset(c8.y);+ uint _Globals_1_g_tAmbientOcclusion : packoffset(c9);+ float _Globals_1_g_flAmbientOcclusionScale : packoffset(c9.y);+ uint _Globals_1_g_tMetalness : packoffset(c9.z);+ float _Globals_1_g_flInverseBlendTint : packoffset(c9.w); }; cbuffer PerViewConstantBufferCsgo_t : register(b3, space1)@@ -552,8 +552,8 @@ PS cbuffer PerViewLightingConstantBufferGpu_t : register(b0, space3) {- _2620 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);- _2830 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11);+ _2872 PerViewLightingConstantBufferGpu_t_1_m0 : packoffset(c7);+ _71 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c11); float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c16); float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c17); float4 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c18);@@ -569,8 +569,8 @@ PS float PerViewLightingConstantBufferGpu_t_1_m14 : packoffset(c1955.y); float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.z); float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.w);- _1023 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1956);- _2830 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1988);+ _2139 PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1956);+ _71 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1988); uint PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1996); uint PerViewLightingConstantBufferGpu_t_1_m20 : packoffset(c1996.y); };@@ -748,104 +748,115 @@ PS { _21710 = 1.0f; }- float _21711;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m8.xyz, _24735);+ float _12320; [branch]- if (PerViewLightingConstantBufferGpu_t_1_m10 != 0)+ if (_8634 > 0.0f) {- int _23989;- int _10191;- float _13136;- float3 _14975;- int _13039 = 0;- for (;;)+ float _12503;+ [branch]+ if (PerViewLightingConstantBufferGpu_t_1_m10 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m10))- {- _13136 = 1.0f;- _14975 = 0.0f.xxx;- _10191 = -1;- break;- }- float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_13039], float4(input_1.xyz, 1.0f));- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m12[_13039])+ int _23989;+ int _10191;+ float _13136;+ float3 _14975;+ int _13039 = 0;+ for (;;) {- float3 _19470 = float3(_12779, _18322.yz);- float2 _24804 = _19470.xy;- float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m14.xx) + PerViewLightingConstantBufferGpu_t_1_m13.xx, 0.0f.xx, 1.0f.xx);- float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].xy;- float3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m10))+ {+ _13136 = 1.0f;+ _14975 = 0.0f.xxx;+ _10191 = -1;+ break;+ }+ float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_13039], float4(input_1.xyz, 1.0f));+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m12[_13039])+ {+ float3 _19470 = float3(_12779, _18322.yz);+ float2 _24804 = _19470.xy;+ float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m14.xx) + PerViewLightingConstantBufferGpu_t_1_m13.xx, 0.0f.xx, 1.0f.xx);+ float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039].xy;+ float3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)- {- float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m11));- float _12501;- [branch]- if (_13136 < 1.0f)+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m10 - 1))+ float _18270 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m11));+ float _12501;+ [branch]+ if (_13136 < 1.0f) {- int _15335 = _10191 + 1;- float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_15335], float4(input_1.xyz, 1.0f));- float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].xy;- float3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m11));+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m10 - 1))+ {+ int _15335 = _10191 + 1;+ float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m17._m0[_15335], float4(input_1.xyz, 1.0f));+ float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335].xy;+ float3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ _7934 = g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t_1_m19].SampleCmpLevelZero(g_bindless_Sampler_1[_Globals_1_g_tShadowDepthBufferCmpSampler], _20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m11));+ }+ else+ {+ _7934 = 1.0f;+ }+ _12501 = lerp(_7934, _18270, _13136); } else {- _7934 = 1.0f;+ _12501 = _18270; }- _12501 = lerp(_7934, _18270, _13136);+ _19363 = _12501; } else {- _12501 = _18270;+ _19363 = 1.0f; }- _19363 = _12501;- }- else- {- _19363 = 1.0f;- }- float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m16) + PerViewLightingConstantBufferGpu_t_1_m15));- float _12502;- if (_24465.y)- {- _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ float _13279 = lerp(_19363, 1.0f, saturate((distance(_10061.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m16) + PerViewLightingConstantBufferGpu_t_1_m15));+ float _12502;+ if (_24465.y)+ {+ _12502 = min(_13279, g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t_1_m6].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearClamp], (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ }+ else+ {+ _12502 = _13279;+ }+ _12503 = _12502; } else {- _12502 = _13279;+ _12503 = 1.0f; }- _21711 = _12502;+ _12320 = _12503; } else {- _21711 = 1.0f;+ _12320 = 1.0f; }- float3 _21712;+ float3 _21711; [branch]- if ((dot(PerViewLightingConstantBufferGpu_t_1_m8.xyz, _24735) * _21711) > 0.0f)+ if ((_8634 * _12320) > 0.0f) {- _21712 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m8.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m9.xyz * _21711).xyz);+ _21711 = PerViewLightingConstantBufferGpu_t_1_m4.xyz + (max(0.0f, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t_1_m8.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m9.xyz * _12320).xyz); } else {- _21712 = PerViewLightingConstantBufferGpu_t_1_m4.xyz;+ _21711 = PerViewLightingConstantBufferGpu_t_1_m4.xyz; } bool4 _24466 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w); bool _20060 = _24466.x;@@ -869,7 +880,7 @@ PS uint _10838 = PerViewLightingConstantBufferGpu_t_1_m5.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m6.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m5.z); uint _23393 = PerViewLightingConstantBufferGpu_t_1_m5.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m7.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m7.y)) * PerViewLightingConstantBufferGpu_t_1_m5.z); float3 _13155;- _13155 = _21712;+ _13155 = _21711; uint _21567; float3 _13156; uint _16208 = 0u;@@ -882,7 +893,7 @@ PS uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _16208) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _16208) * 4 + 0)); _13156 = _13155; uint _20344;- float3 _12504;+ float3 _12505; uint _16209 = _14475; for (;;) {@@ -925,7 +936,7 @@ PS } if (_12887) {- _12504 = _13156;+ _12505 = _13156; break; } float _23571 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;@@ -1035,7 +1046,7 @@ PS } else {- float3 _12503;+ float3 _12504; if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f) { float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);@@ -1051,7 +1062,7 @@ PS float3 _20491 = _14081; _20491.x = _20564.x; _20491.y = _20564.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20491.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sTrilinearWrap], _20491.xyz, 0.0f).xyz; } else {@@ -1060,13 +1071,13 @@ PS float3 _20490 = _13791; _20490.x = _20563.x; _20490.y = _20563.y;- _12503 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20490.xyz, 0.0f).xyz;+ _12504 = _17828.xyz * g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t_1_m20].SampleLevel(g_bindless_Sampler[_Globals_1_g_sCookieSampler], _20490.xyz, 0.0f).xyz; }- _21548 = _12503;+ _21548 = _12504; } if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z))) {- _12504 = _13156;+ _12505 = _13156; break; } float3 _19630;@@ -1089,7 +1100,7 @@ PS float3 _16449 = _20482.xyz; if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z))) {- _12504 = _13156;+ _12505 = _13156; break; } _19630 = _20482;@@ -1098,10 +1109,10 @@ PS { _19630 = _21548; }- _12504 = _13156.xyz + (max(0.0f, dot(_14786.xyz, _11179.xyz)).xxx.xyz * _19630.xyz);+ _12505 = _13156.xyz + (max(0.0f, dot(_14786.xyz, _11179.xyz)).xxx.xyz * _19630.xyz); break; } while(false);- _13156 = _12504;+ _13156 = _12505; _16209 = _20344; continue; }@@ -1712,12 +1723,12 @@ RTX vec4 _509 = vec4(g_MaterialData_1._member0[(_471 + 288u) / 4u], g_MaterialData_1._member0[(_471 + 292u) / 4u], g_MaterialData_1._member0[(_471 + 296u) / 4u], g_MaterialData_1._member0[(_471 + 300u) / 4u]); bool _508 = g_MaterialData_3._member0[(_471 + 308u) / 4u] != 0; bool _507 = g_MaterialData_3._member0[(_471 + 312u) / 4u] != 0;- uint _506 = g_MaterialData_5._member0[(_471 + 348u) / 4u];- uint _505 = g_MaterialData_5._member0[(_471 + 352u) / 4u];- uint _504 = g_MaterialData_5._member0[(_471 + 356u) / 4u];- uint _503 = g_MaterialData_5._member0[(_471 + 360u) / 4u];- uint _502 = g_MaterialData_5._member0[(_471 + 380u) / 4u];- float _501 = g_MaterialData_1._member0[(_471 + 384u) / 4u];+ uint _506 = g_MaterialData_5._member0[(_471 + 352u) / 4u];+ uint _505 = g_MaterialData_5._member0[(_471 + 356u) / 4u];+ uint _504 = g_MaterialData_5._member0[(_471 + 360u) / 4u];+ uint _503 = g_MaterialData_5._member0[(_471 + 364u) / 4u];+ uint _502 = g_MaterialData_5._member0[(_471 + 384u) / 4u];+ float _501 = g_MaterialData_1._member0[(_471 + 388u) / 4u]; uvec3 _601; do {game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_water.slang
modified • +4 / -4 • changes: 8
Show patch
@@ -344,7 +344,7 @@ PS Texture2D g_tSceneDepth < Attribute("FramebufferDepthTexture"); SrgbRead(false); >; Texture2D g_tShadowDepthBufferDepth < Attribute("ShadowDepthBuffer"); SrgbRead(false); >; Texture2D g_tSsao < Attribute("SSAOOcclusionFactor"); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float2 g_vRoughness < UiType(VectorText); Expression(max(.01,1-g_flGlossiness).x); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; @@ -392,7 +392,7 @@ PS // Specular float g_flReflectionPower < Default(1); Range(0.01, 10); UiType(Slider); UiGroup("Specular"); >; float3 g_vReflectionColor < Default3(1, 1, 1); UiType(Color); UiGroup("Specular"); Expression(SrgbGammaToLinear(this)); >;- float3 g_vReflectionDir < Default(0); Range3(-1, -1, -1, 1, 1, 1); UiType(VectorText); UiGroup("Specular"); >;+ float3 g_vReflectionDir < Default3(0, 0, 1); Range3(-1, -1, -1, 1, 1, 1); UiType(VectorText); UiGroup("Specular"); >; // Refractions float g_flRefractionAmount < Default(1); UiType(Slider); UiGroup("Refractions"); >;@@ -503,9 +503,9 @@ PS uint _m0[]; } g_CullBits_1; - layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 19) uniform sampler g_sTrilinearClamp; layout(set = 1, binding = 53) uniform texture2D g_tNormal;- layout(set = 1, binding = 27) uniform sampler DefaultSamplerState_0;+ layout(set = 1, binding = 28) uniform sampler DefaultSamplerState_0; layout(set = 1, binding = 55) uniform texture2D g_tSceneDepth; layout(set = 1, binding = 14) uniform sampler AddressU_Clamp_AddressV_Clamp_Filter_MinMagMipPoint; layout(set = 1, binding = 41) uniform textureCubeArray g_tFallbackCubemap;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_water_fancy.slang
modified • +116 / -105 • changes: 221
Show patch
@@ -324,7 +324,7 @@ PS Texture2D g_tWaterEffectsMap < Attribute("WaterEffectsTexture"); SrgbRead(false); >; Texture2D g_tWavesNormalHeight < Channel(RG, Box(TextureWavesNormal), Linear); Channel(B, Box(TextureWavesHeight), Linear); OutputFormat(BC7); SrgbRead(false); >; Texture2D g_tZerothMoment < Attribute("zeroth_moment"); SrgbRead(true); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float2 g_vRoughness < UiType(VectorText); Expression(max(.01,1-g_flGlossiness).x); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; float4 g_vViewportExtentsTs < Attribute("ViewportExtents"); UiType(VectorText); >;@@ -646,18 +646,18 @@ PS layout(set = 1, binding = 59) uniform texture2D g_tZerothMoment; layout(set = 1, binding = 30) uniform texture2D g_tBlueNoise; layout(set = 1, binding = 56) uniform texture2D g_tWavesNormalHeight;- layout(set = 1, binding = 28) uniform sampler DefaultSamplerState_0;+ layout(set = 1, binding = 29) uniform sampler DefaultSamplerState_0; layout(set = 1, binding = 55) uniform texture2D g_tFoam;- layout(set = 1, binding = 19) uniform sampler g_sUserConfig;+ layout(set = 1, binding = 20) uniform sampler g_sUserConfig; layout(set = 1, binding = 53) uniform texture2D g_tDebris;- layout(set = 1, binding = 27) uniform sampler DefaultSamplerState_0_1;+ layout(set = 1, binding = 28) uniform sampler DefaultSamplerState_0_1; layout(set = 1, binding = 54) uniform texture2D g_tDebrisNormal;- layout(set = 1, binding = 22) uniform sampler g_sCookieSampler;- layout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 23) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture; layout(set = 1, binding = 60) uniform texture2D g_tMoitFinal;@@ -863,7 +863,7 @@ PS float _21881 = _20669.z; float _12091 = _19338.z; float _13724 = _19777.x;- float _4812 = max(_12091, _21881) + (sin(_13724) * 0.125);+ float _20633 = saturate(max(_12091, _21881) + (sin(_13724) * 0.125)); float _16487 = saturate(_13154 * (1.0 + (_11187 * 0.480000019073486328125))); float _8031 = pow(_13151.z, 1.5); vec2 _17162 = ((((_13940 / vec2(_Globals_.g_flDebrisScale)) + ((_9431 * _Globals_.g_flDebrisWobble) * (1.0 - _7010))) + ((_5201.xy * ((1.0 + ((sin(_13151.z * 50.0) * 4.0) * saturate(0.100000001490116119384765625 - _8031))) * _8031)) * 0.100000001490116119384765625)) + ((_3085 * (0.100000001490116119384765625 + _13151.z)) * 0.0199999995529651641845703125)).xy;@@ -880,7 +880,7 @@ PS vec3 _8674; _8674.x = _11003.x; _8674.y = _11003.y;- float _12904 = saturate((((_16487 * _4812) * 0.25) + (saturate(_16487 - (1.0 - _4812)) * 0.75)) - _4500);+ float _12904 = saturate((((_16487 * _20633) * 0.25) + (saturate(_16487 - (1.0 - _20633)) * 0.75)) - _4500); float _11140 = mix(_15224, (_11187 * 30.0) + _3542, _4500); bool _10979 = !_20058; vec3 _10932;@@ -949,101 +949,111 @@ PS float _3039 = (saturate((1.0 - _6806) + _19396) * saturate(1.0 - (_12904 * 4.0))) * (1.0 - _9206); vec3 _13711 = input_2.xyz + (((-_11306) * (vec3(_11140 * (-1.0)) + (((mix(_19777.xxx, vec3(_19777.xy, 0.0), vec3(0.100000001490116119384765625)) * 90.0) * pow(_3039, 2.0)) + vec3(_Globals_.g_flWaterPlaneOffset)))) * mix(1.0, _6655 * 2.0, 0.75)); vec4 _23875 = vec4(_9982.xyz, 1.0);- vec3 _6606 = _13711.xyz;- float _25086;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m5.xyz, _9982.xyz);+ float _24801; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m7 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13139;- vec3 _14975;- int _13039 = 0;- for (;;)+ float _12504;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m7 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m7))- {- _13139 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(_13711.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_13039];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m9[_13039])+ int _23989;+ int _10191;+ float _13139;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24805 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24805) * vec2(PerViewLightingConstantBufferGpu_t._m11)) + vec2(PerViewLightingConstantBufferGpu_t._m10));- vec2 _20561 = (_24805 * PerViewLightingConstantBufferGpu_t._m15._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_13039].xy;- vec3 _20491 = _19470;- _20491.x = _20561.x;- _20491.y = _20561.y;- _13139 = saturate(_22193.x * _22193.y);- _14975 = _20491;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m7))+ {+ _13139 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break;+ }+ vec4 _18322 = vec4(_13711.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m9[_13039])+ {+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24805 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24805) * vec2(PerViewLightingConstantBufferGpu_t._m11)) + vec2(PerViewLightingConstantBufferGpu_t._m10));+ vec2 _20561 = (_24805 * PerViewLightingConstantBufferGpu_t._m15._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_13039].xy;+ vec3 _20491 = _19470;+ _20491.x = _20561.x;+ _20491.y = _20561.y;+ _13139 = saturate(_22193.x * _22193.y);+ _14975 = _20491;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _7258;- if (_10191 >= 0)- {- float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);- float _12501;- SPIRV_CROSS_BRANCH- if (_13139 < 1.0)+ float _7258;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m7 - 1))+ float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);+ float _12501;+ SPIRV_CROSS_BRANCH+ if (_13139 < 1.0) {- int _15335 = _10191 + 1;- vec4 _19672 = vec4(_13711.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_15335];- vec2 _20562 = (_19672.xy * PerViewLightingConstantBufferGpu_t._m15._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_15335].xy;- vec3 _20492;- _20492.x = _20562.x;- _20492.y = _20562.y;- _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20492.xy, saturate(_19672.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m7 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19672 = vec4(_13711.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m14._m0[_15335];+ vec2 _20562 = (_19672.xy * PerViewLightingConstantBufferGpu_t._m15._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m15._m0[_15335].xy;+ vec3 _20492;+ _20492.x = _20562.x;+ _20492.y = _20562.y;+ _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20492.xy, saturate(_19672.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0);+ }+ else+ {+ _7934 = 1.0;+ }+ _12501 = mix(_7934, _18270, _13139); } else {- _7934 = 1.0;+ _12501 = _18270; }- _12501 = mix(_7934, _18270, _13139);+ _7258 = _12501; } else {- _12501 = _18270;+ _7258 = 1.0; }- _7258 = _12501;- }- else- {- _7258 = 1.0;- }- float _15295 = mix(_7258, 1.0, saturate((distance(_24633.xyz, PerViewConstantBuffer_t._m5) * PerViewLightingConstantBufferGpu_t._m13) + PerViewLightingConstantBufferGpu_t._m12));- float _12503;- if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).y)- {- _12503 = min(_15295, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_21640.xy * PerViewConstantBuffer_t._m4.xy).xy, 0.0).z);+ float _15295 = mix(_7258, 1.0, saturate((distance(_24633.xyz, PerViewConstantBuffer_t._m5) * PerViewLightingConstantBufferGpu_t._m13) + PerViewLightingConstantBufferGpu_t._m12));+ float _12503;+ if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).y)+ {+ _12503 = min(_15295, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_21640.xy * PerViewConstantBuffer_t._m4.xy).xy, 0.0).z);+ }+ else+ {+ _12503 = _15295;+ }+ _12504 = _12503; } else {- _12503 = _15295;+ _12504 = 1.0; }- _25086 = _12503;+ _24801 = _12504; } else {- _25086 = 1.0;+ _24801 = 1.0; }- float _12256 = mix(_25086, 1.0, _3039 * 0.5);+ float _15858 = mix(_24801, 1.0, _3039 * 0.5); vec3 _21709;- if ((dot(PerViewLightingConstantBufferGpu_t._m5.xyz, _9982.xyz) * _12256) > 0.0)+ if ((_8634 * _15858) > 0.0) {- _21709 = PerViewLightingConstantBufferGpu_t._m1.xyz + (vec3(max(0.0, dot(_9982.xyz, PerViewLightingConstantBufferGpu_t._m5.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m6.xyz * _12256).xyz);+ _21709 = PerViewLightingConstantBufferGpu_t._m1.xyz + (vec3(max(0.0, dot(_9982.xyz, PerViewLightingConstantBufferGpu_t._m5.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m6.xyz * _15858).xyz); } else {@@ -1084,7 +1094,7 @@ PS uint _14476 = subgroupOr(g_CullBits_1._m0[_10838 + _16208] & g_CullBits_1._m0[_23393 + _16208]); _13156 = _13155; uint _20344;- vec3 _12505;+ vec3 _12506; uint _16209 = _14476; for (;;) {@@ -1096,6 +1106,7 @@ PS _20344 = _16209 & (_16209 - 1u); do {+ vec3 _14644 = _13711.xyz; vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(_13711.xyz, 1.0); vec3 _10521 = _24893.xyz / vec3(_24893.w); vec4 _22905;@@ -1120,11 +1131,11 @@ PS } else {- _12886 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_6606, 1.0)).xyz), vec3(1.0)));+ _12886 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_14644, 1.0)).xyz), vec3(1.0))); } if (_12886) {- _12505 = _13156;+ _12506 = _13156; break; } float _23571 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;@@ -1156,7 +1167,7 @@ PS float _11633; if (g_BarnLights_1._m0[_12608]._m2.w != 0.0) {- vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _6606;+ vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _14644; float _18345 = dot(_10017, _10017); float _17648 = sqrt(_18345); vec3 _12302 = _10017 - _16268;@@ -1234,7 +1245,7 @@ PS } else {- vec3 _12504;+ vec3 _12505; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -1250,7 +1261,7 @@ PS vec3 _20494 = _14081; _20494.x = _20564.x; _20494.y = _20564.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20494.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20494.xyz, 0.0).xyz; } else {@@ -1259,13 +1270,13 @@ PS vec3 _20493 = _13791; _20493.x = _20563.x; _20493.y = _20563.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20493.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20493.xyz, 0.0).xyz; }- _21548 = _12504;+ _21548 = _12505; } if (all(equal(_21548.xyz, vec3(0.0)))) {- _12505 = _13156;+ _12506 = _13156; break; } vec3 _19630;@@ -1287,7 +1298,7 @@ PS vec3 _20482 = _21548.xyz * mix(1.0, textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy, saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m8)), 0.0), g_BarnLights_1._m0[_12608]._m12); if (all(equal(_20482.xyz, vec3(0.0)))) {- _12505 = _13156;+ _12506 = _13156; break; } _19630 = _20482;@@ -1296,10 +1307,10 @@ PS { _19630 = _21548; }- _12505 = _13156.xyz + (vec3(max(0.0, dot(_9982.xyz, _11179.xyz))).xyz * _19630.xyz);+ _12506 = _13156.xyz + (vec3(max(0.0, dot(_9982.xyz, _11179.xyz))).xyz * _19630.xyz); break; } while(false);- _13156 = _12505;+ _13156 = _12506; _16209 = _20344; continue; }@@ -1340,43 +1351,43 @@ PS } else {- vec3 _12510;+ vec3 _12511; if (_17518 == 1.0) {- _12510 = vec3(_9493, 0.75, 0.0);+ _12511 = vec3(_9493, 0.75, 0.0); } else {- vec3 _12509;+ vec3 _12510; if (_17518 == 2.0) {- _12509 = vec3(0.0, 0.75, _14751);+ _12510 = vec3(0.0, 0.75, _14751); } else {- vec3 _12508;+ vec3 _12509; if (_17518 == 3.0) {- _12508 = vec3(0.0, _9493, 0.75);+ _12509 = vec3(0.0, _9493, 0.75); } else {- vec3 _12506;+ vec3 _12508; if (_17518 == 4.0) {- _12506 = vec3(_14751, 0.0, 0.75);+ _12508 = vec3(_14751, 0.0, 0.75); } else {- _12506 = vec3(0.75, 0.0, _9493);+ _12508 = vec3(0.75, 0.0, _9493); }- _12508 = _12506;+ _12509 = _12508; }- _12509 = _12508;+ _12510 = _12509; }- _12510 = _12509;+ _12511 = _12510; }- _21710 = _12510;+ _21710 = _12511; } _17843.x = _20158.x; _17843.y = _20158.y;game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_weapon.slang
modified • +581 / -355 • changes: 936
Show patch
@@ -76,8 +76,8 @@ struct VS_INPUT { float4 vBlendIndices : BLENDINDICES0 < Semantic( BlendIndices ); >; // D_CS_VERTEX_ANIMATION=0, S_MODE_TOOLS_VIS=1 float4 vPerVertexLighting : COLOR1 < Semantic( PerVertexLighting ); >; // D_BAKED_LIGHTING_FROM_VERTEX_STREAM=1- uint4 nPackedFrame : NORMAL0 < Semantic( CompressedTangentFrame ); >; - float4 vNormalOs : NORMAL0 < Semantic( Normal ); >; + uint4 nPackedFrame : NORMAL0 < Semantic( CompressedTangentFrame ); >; // D_COMPRESSED_NORMALS_AND_TANGENTS=1+ float4 vNormalOs : NORMAL0 < Semantic( Normal ); >; // D_COMPRESSED_NORMALS_AND_TANGENTS=0 float3 vPositionOs : POSITION0 < Semantic( PosXyz ); >; float4 vTangentUOs_flTangentVSign : TANGENT0 < Semantic( TangentU_SignV ); >; float2 vLightmapUV : TEXCOORD3 < Semantic( LightmapUV ); >; // D_BAKED_LIGHTING_FROM_LIGHTMAP=1@@ -242,11 +242,12 @@ VS layout(location = 0) out vec3 output_0; layout(location = 1) out vec3 output_1; layout(location = 2) out vec3 output_2;- layout(location = 3) out vec4 output_3;- layout(location = 4) centroid out vec4 output_4;- layout(location = 5) centroid out vec3 output_5;- layout(location = 6) out vec4 output_6;- layout(location = 7) flat out uint output_7;+ layout(location = 3) out vec3 output_3;+ layout(location = 4) out vec4 output_4;+ layout(location = 5) centroid out vec4 output_5;+ layout(location = 6) centroid out vec3 output_6;+ layout(location = 7) out vec4 output_7;+ layout(location = 8) flat out uint output_8; void main() {@@ -357,13 +358,14 @@ VS vec4 _10630 = _22186; _10630.z = _22186.z + _Globals_.g_flZBias; output_0 = vPositionOs;- output_1 = _10020.xyz - PerViewConstantBufferCsgo_t._m0.xyz;- output_2 = _11179;- output_3 = vec4(_13593.xy + (_Globals_.g_vTexCoordScrollSpeed.xy * PerViewConstantBuffer_t._m1), vTexCoord2);- output_4 = _23714;- output_5 = _11179;- output_6 = vec4(normalize(vec4(vTangentUOs_flTangentVSign.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0), vTangentUOs_flTangentVSign.w);- output_7 = g_instanceBuffer_1._m0[nInstanceIdx]._m5 & 65535u;+ output_1 = vNormalOs;+ output_2 = _10020.xyz - PerViewConstantBufferCsgo_t._m0.xyz;+ output_3 = _11179;+ output_4 = vec4(_13593.xy + (_Globals_.g_vTexCoordScrollSpeed.xy * PerViewConstantBuffer_t._m1), vTexCoord2);+ output_5 = _23714;+ output_6 = _11179;+ output_7 = vec4(normalize(vec4(vTangentUOs_flTangentVSign.xyz, 0.0) * g_transformBuffer_1._m0[_21785]._m0), vTangentUOs_flTangentVSign.w);+ output_8 = g_instanceBuffer_1._m0[nInstanceIdx]._m5 & 65535u; _10630.y = -_22186.y; gl_Position = _10630; }@@ -497,7 +499,9 @@ PS Texture2D g_tTintMask < Channel(R, Box(TextureTintMask), Linear); OutputFormat(ATI1N); SrgbRead(false); >; float3 g_vAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.045,.4,1.15).x,-1.4427*log(max(.0001,1-float3(-.045,.4,1.15).y)),2-float3(-.045,.4,1.15).z)); >; float3 g_vDarkMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.1,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.1,.4,1.08).y)),2-float3(-.1,.4,1.08).z)); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float4 g_vFrostHeatPosOsAndAmount < Attribute("FrostHeatPosOsAndAmount"); UiType(VectorText); >;+ float4 g_vFrostState < Attribute("FrostState"); UiType(VectorText); >; float3 g_vHoloAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.05,.35,1.15).x,-1.4427*log(max(.0001,1-float3(-.05,.35,1.15).y)),2-float3(-.05,.35,1.15).z)); >; float4 g_vInvTextureDim < Source(InvTextureDim); SourceArg(g_tBGRefract) UiType(VectorText); >; float4 g_vKeychainGhostHandData < Attribute("KeychainGhostHandData"); UiType(VectorText); >;@@ -700,7 +704,7 @@ PS float g_flIridescentStrength < Default(0.75); UiType(Slider); UiGroup("Lighting/SFX/Iridescence"); UiVisibility(F_IRIDESCENCE==1); >; float g_flPearlescentScale < Range(-120, 120); UiType(Slider); UiGroup("Lighting/SFX/Perlescence/10"); UiVisibility(F_IRIDESCENCE==1); >; float g_flMetalnessTransitionBias < Default(2); Range(0.001, 3); UiType(Slider); UiGroup("Lighting,30/Metalness,50/10"); >;- float2 g_vMetalnessRemapRange < Default(0); UiType(VectorText); UiGroup("Lighting,30/Metalness,40/10"); >;+ float2 g_vMetalnessRemapRange < Default2(0, 1); UiType(VectorText); UiGroup("Lighting,30/Metalness,40/10"); >; CreateInputTexture2D(TextureMetalness1, Linear, 8, "", "_metal", "Lighting,30/Metalness,30/11", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureRoughness1, Linear, 8, "Inverse", "_rough", "Lighting,30/Roughness,20/11", Default4(0.5, 0.5, 0.5, 0)); float g_fTextureRoughnessContrast < Default(1); Range(0, 4); UiType(Slider); UiGroup("Lighting/Roughness/11"); >;@@ -755,7 +759,7 @@ PS Texture2D g_tMetalness < Channel(R, BoxInverse(TextureRoughness1), Linear); Channel(G, Box(TextureMetalness1), Linear); Channel(B, Box(TextureSfxMask1), Linear); OutputFormat(BC7); SrgbRead(false); >; // SPIR-V reflection failed for backend HLSL:- // cbuffer ID 5618 (name: _Globals_), member index 26 (name: g_cInvulnerabilityColor) cannot be expressed with either HLSL packing layout or packoffset.+ // cbuffer ID 5618 (name: _Globals_), member index 21 (name: g_vFrostState) cannot be expressed with either HLSL packing layout or packoffset. // // Re-attempting reflection with the GLSL backend. @@ -775,16 +779,16 @@ PS #define SPIRV_CROSS_UNROLL #define SPIRV_CROSS_LOOP #endif- #extension GL_KHR_shader_subgroup_arithmetic : require #extension GL_EXT_samplerless_texture_functions : require+ #extension GL_KHR_shader_subgroup_arithmetic : require layout(early_fragment_tests) in; - struct _1373+ struct _953 { vec4 _m0[3]; }; - struct _992+ struct _2184 { vec4 _m0[4]; };@@ -801,12 +805,12 @@ PS vec4 _m7; }; - struct _920+ struct _576 { _1753 _m0[128]; }; - struct _1056+ struct _743 { mat4 _m0[4]; };@@ -842,7 +846,7 @@ PS vec4 _4; vec3 _5; - struct _856+ struct _1975 { float g_flFogModificationAmount; uint g_tColor;@@ -865,6 +869,8 @@ PS float g_flMetalnessTransitionBias; float g_flRainExposureToSkyWetness; float g_flRainExposureLocalTimer;+ vec4 g_vFrostState;+ vec4 g_vFrostHeatPosOsAndAmount; int bIridescence; float g_flIridescentScale; float g_flIridescentStrength;@@ -875,9 +881,9 @@ PS float g_flPearlescentScale; }; - layout(set = 1) uniform _856 _Globals_;+ layout(set = 1) uniform _1975 _Globals_; - struct _2595+ struct _254 { ivec4 _m0; ivec4 _m1;@@ -891,52 +897,55 @@ PS uint _m9; uint _m10; uint _m11;- float _m12;+ uint _m12; float _m13;- ivec2 _m14;- mat4 _m15;- vec2 _m16;- float _m17;- vec4 _m18;+ float _m14;+ ivec2 _m15;+ mat4 _m16;+ vec2 _m17;+ float _m18; vec4 _m19; vec4 _m20; vec4 _m21; vec4 _m22; vec4 _m23;- mat4 _m24;- vec4 _m25;+ vec4 _m24;+ mat4 _m25; vec4 _m26; vec4 _m27;- float _m28;+ vec4 _m28; float _m29;- vec4 _m30;+ float _m30;+ float _m31;+ vec4 _m32; }; - layout(set = 1) uniform _2595 PerViewConstantBufferCsgo_t;+ layout(set = 1) uniform _254 PerViewConstantBufferCsgo_t; - struct _1616+ struct _1732 { float _m0;- vec2 _m1;+ float _m1; vec2 _m2;- vec4 _m3;- float _m4;- vec4 _m5;- vec3 _m6;+ vec2 _m3;+ vec4 _m4;+ float _m5;+ vec4 _m6; vec3 _m7;+ vec3 _m8; }; - layout(set = 1) uniform _1616 PerViewConstantBuffer_t;+ layout(set = 1) uniform _1732 PerViewConstantBuffer_t; - struct _790+ struct _2375 { vec4 _m0; vec4 _m1; vec4 _m2; vec4 _m3; vec4 _m4;- _1373 _m5;- _992 _m6;+ _953 _m5;+ _2184 _m6; vec4 _m7; vec4 _m8; vec4 _m9;@@ -945,7 +954,7 @@ PS uvec4 _m12; vec4 _m13; vec4 _m14;- _920 _m15;+ _576 _m15; vec4 _m16; vec4 _m17; int _m18;@@ -955,13 +964,13 @@ PS float _m22; float _m23; float _m24;- _1056 _m25;- _992 _m26;+ _743 _m25;+ _2184 _m26; uint _m27; uint _m28; }; - layout(set = 3) uniform _790 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _2375 PerViewLightingConstantBufferGpu_t; layout(set = 3, binding = 30, std430) readonly buffer g_CullBits {@@ -984,17 +993,30 @@ PS layout(location = 0) in vec3 input_0; layout(location = 1) in vec3 input_1; layout(location = 2) in vec3 input_2;- layout(location = 3) in vec4 input_3;- layout(location = 4) centroid in vec4 input_4;- layout(location = 5) centroid in vec3 input_5;- layout(location = 6) in vec4 input_6;+ layout(location = 3) in vec3 input_3;+ layout(location = 4) in vec4 input_4;+ layout(location = 5) centroid in vec4 input_5;+ layout(location = 6) centroid in vec3 input_6;+ layout(location = 7) in vec4 input_7; layout(location = 0) out vec4 output_0; void main() { vec4 _11408 = gl_FragCoord; _11408.w = 1.0 / _11408.w;- float _12497 = _Globals_.g_flRainExposureToSkyWetness * PerViewConstantBufferCsgo_t._m13;+ float _11313;+ if (PerViewConstantBufferCsgo_t._m31 > 1.9900000095367431640625)+ {+ _11313 = step(0.5, fract(PerViewConstantBuffer_t._m0 * 0.5));+ }+ else+ {+ _11313 = (PerViewConstantBufferCsgo_t._m31 > 0.9900000095367431640625) ? 0.0 : 1.0;+ }+ float _23147 = _Globals_.g_vFrostState.x * _11313;+ float _21267 = _Globals_.g_vFrostState.y * _11313;+ float _13654 = _Globals_.g_vFrostState.z * _11313;+ float _12497 = _Globals_.g_flRainExposureToSkyWetness * PerViewConstantBufferCsgo_t._m14; bool _15436 = _12497 > 0.0; float _13136; vec2 _13998;@@ -1003,10 +1025,10 @@ PS vec4 _23261; if (_15436) {- vec3 _10413 = input_1 + PerViewConstantBufferCsgo_t._m27.xyz;- vec2 _18197 = input_3.xy * 2.5;+ vec3 _10413 = input_2 + PerViewConstantBufferCsgo_t._m28.xyz;+ vec2 _18197 = input_4.xy * 2.5; vec2 _20826;- if ((length(cross(vec3(dFdx(input_3.xy), 0.0), vec3(dFdy(input_3.xy), 0.0))) / max(9.9999997473787516355514526367188e-05, length(cross(dFdx(_10413), dFdy(_10413))))) < 0.00200000009499490261077880859375)+ if ((length(cross(vec3(dFdx(input_4.xy), 0.0), vec3(dFdy(input_4.xy), 0.0))) / max(9.9999997473787516355514526367188e-05, length(cross(dFdx(_10413), dFdy(_10413))))) < 0.00200000009499490261077880859375) { _20826 = _18197 * 3.0; }@@ -1019,8 +1041,8 @@ PS _8562.y = -_8562.y; float _7729 = _20877.w; float _12471 = _20877.z + (input_0.x * 0.00999999977648258209228515625);- float _10538 = saturate((((_12497 * 0.25) - fract(_12471 + (((_Globals_.g_flRainExposureLocalTimer * 0.100000001490116119384765625) * PerViewConstantBufferCsgo_t._m12) * PerViewConstantBufferCsgo_t._m12))) * 5.0) / (PerViewConstantBufferCsgo_t._m13 + 0.001000000047497451305389404296875)) * saturate((input_2.z + 0.75) * 4.0);- vec2 _13861 = input_3.xy + (((_8562.xy * (-0.0199999995529651641845703125)) * _10538) * _7729);+ float _10538 = saturate((((_12497 * 0.25) - fract(_12471 + (((_Globals_.g_flRainExposureLocalTimer * 0.100000001490116119384765625) * PerViewConstantBufferCsgo_t._m13) * PerViewConstantBufferCsgo_t._m13))) * 5.0) / (PerViewConstantBufferCsgo_t._m14 + 0.001000000047497451305389404296875)) * saturate((input_3.z + 0.75) * 4.0);+ vec2 _13861 = input_4.xy + (((_8562.xy * (-0.0199999995529651641845703125)) * _10538) * _7729); vec4 _20488; _20488.x = _13861.x; _20488.y = _13861.y;@@ -1036,16 +1058,16 @@ PS _16305 = 0.0; _17114 = 0.0; _13998 = vec2(0.0);- _23261 = input_3;+ _23261 = input_4; } vec3 _21709;- if (dot(input_2.xyz, input_2.xyz) >= 1.0099999904632568359375)+ if (dot(input_3.xyz, input_3.xyz) >= 1.0099999904632568359375) {- _21709 = input_5.xyz;+ _21709 = input_6.xyz; } else {- _21709 = input_2.xyz;+ _21709 = input_3.xyz; } bool _14874 = _Globals_.g_bRenderBackfaceNormals != 0; bool _12885;@@ -1068,9 +1090,9 @@ PS _10251 = _21709; } vec3 _24347 = normalize(_10251);- vec3 _10061 = input_1 + PerViewConstantBufferCsgo_t._m27.xyz;+ vec3 _10061 = input_2 + PerViewConstantBufferCsgo_t._m28.xyz; vec4 _19680 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColor], g_bindless_Sampler[_Globals_.g_sUserConfigAllowGlobalMipBias]), _23261.xy);- vec3 _21103 = _19680.xyz * input_4.xyz;+ vec3 _21103 = _19680.xyz * input_5.xyz; vec4 _19068 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tAmbientOcclusion], g_bindless_Sampler[_Globals_.g_sUserConfig]), vec2(_23261.xy).xy); float _17476 = _19068.x; vec4 _21760 = texture(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tMetalness], g_bindless_Sampler[_Globals_.g_sUserConfig]), _23261.xy);@@ -1102,9 +1124,9 @@ PS { _24327 = false; }- vec3 _12631 = input_2.xyz * (_24327 ? (-1.0) : 1.0);- float _23240 = (input_6.w > 0.0) ? 1.0 : (-1.0);- vec3 _14435 = cross(_12631.xyz, input_6.xyz) * _23240;+ vec3 _12631 = input_3.xyz * (_24327 ? (-1.0) : 1.0);+ float _23240 = (input_7.w > 0.0) ? 1.0 : (-1.0);+ vec3 _14435 = cross(_12631.xyz, input_7.xyz) * _23240; bvec4 _24464 = notEqual(PerViewConstantBufferCsgo_t._m3, ivec4(0)); bool _20058 = _24464.w; vec3 _7424;@@ -1127,7 +1149,7 @@ PS { _20480 = _8418; }- vec3 _7054 = normalize((((input_6.xyz * _20480.x).xyz + (_7424.xyz * _20480.y)).xyz + (_12631.xyz * _20480.z)).xyz);+ vec3 _7054 = normalize((((input_7.xyz * _20480.x).xyz + (_7424.xyz * _20480.y)).xyz + (_12631.xyz * _20480.z)).xyz); vec3 _6616; vec3 _13137; float _13694;@@ -1143,7 +1165,7 @@ PS float _22907 = _18483 * _16305; _13137 = mix(_21103, pow(_21103, vec3(1.60000002384185791015625)) * 0.60000002384185791015625, vec3(_23650)); _16306 = mix(_13746.xy, vec2(0.100000001490116119384765625), vec2(_17476 * saturate(((_22907 * 4.0) + ((((cos((_17114 + (_Globals_.g_flRainExposureLocalTimer * 0.20000000298023223876953125)) * 6.28318500518798828125) * 0.5) + 0.5) * _20709) * 0.20000000298023223876953125)) + (_12497 * 0.4000000059604644775390625))));- _17115 = mix(normalize(mix(_24347, _7054, vec3(1.0 + (_23650 * 1.5)))), normalize((((input_6.xyz * _13998.x).xyz + (_7424.xyz * _13998.y)).xyz + (_24347.xyz * _8927)).xyz), vec3(_18483));+ _17115 = mix(normalize(mix(_24347, _7054, vec3(1.0 + (_23650 * 1.5)))), normalize((((input_7.xyz * _13998.x).xyz + (_7424.xyz * _13998.y)).xyz + (_24347.xyz * _8927)).xyz), vec3(_18483)); _13694 = saturate(_22907 * 2.0); _6616 = mix(_20480, vec3(_13998.xy, _8927) * vec3(-1.0, -1.0, 1.0), vec3(_18483 * 0.25)); }@@ -1159,7 +1181,7 @@ PS SPIRV_CROSS_BRANCH if (_Globals_.g_flPearlescentScale != 0.0) {- float _21433 = (_Globals_.g_flPearlescentScale * (1.0 - dot(normalize(PerViewConstantBuffer_t._m6.xyz - _10061.xyz), _7054))) * _24590;+ float _21433 = (_Globals_.g_flPearlescentScale * (1.0 - dot(normalize(PerViewConstantBuffer_t._m7.xyz - _10061.xyz), _7054))) * _24590; float _15271 = cos(_21433); float _12935; do@@ -1199,8 +1221,8 @@ PS { _24328 = false; }- vec3 _9739 = input_2.xyz * (_24328 ? (-1.0) : 1.0);- vec3 _24682 = cross(_9739.xyz, input_6.xyz) * _23240;+ vec3 _9739 = input_3.xyz * (_24328 ? (-1.0) : 1.0);+ vec3 _24682 = cross(_9739.xyz, input_7.xyz) * _23240; vec3 _7425; if (_20058) {@@ -1221,13 +1243,15 @@ PS { _20481 = _7866; }- vec3 _14786 = normalize((((input_6.xyz * _20481.x).xyz + (_7425.xyz * _20481.y)).xyz + (_9739.xyz * _20481.z)).xyz);+ vec3 _14786 = normalize((((input_7.xyz * _20481.x).xyz + (_7425.xyz * _20481.y)).xyz + (_9739.xyz * _20481.z)).xyz);+ float _18787 = 1.0 - _20079;+ vec3 _8219 = _20195.xyz * pow(_18787, _Globals_.g_flMetalnessTransitionBias); vec3 _17328 = mix(vec3(0.0199999995529651641845703125), _20195.xyz, vec3(_20079));- vec3 _22671;+ vec3 _12904; SPIRV_CROSS_BRANCH if (_Globals_.bIridescence != 0) {- vec3 _24006 = normalize(PerViewConstantBuffer_t._m6.xyz - _10061.xyz);+ vec3 _24006 = normalize(PerViewConstantBuffer_t._m7.xyz - _10061.xyz); float _22128 = fract(((dot(_24006, _24347) + dot(_24006, PerViewLightingConstantBufferGpu_t._m16.xyz)) * _Globals_.g_flIridescentScale) + _Globals_.g_flIridescentHueShift) * 6.0; float _17518 = floor(_22128); float _18832 = _22128 - _17518;@@ -1280,37 +1304,212 @@ PS vec4 _22046 = vec4(_17328.xyz, 1.0); float _24323 = dot(_22046.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)); vec3 _9577 = normalize(max(_19648.xyz, vec3(0.001000000047497451305389404296875)));- _22671 = saturate(mix(_22046.xyz, (_9577 * min(_24323 / dot(_9577.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)), (3.0 * _24323) * max(_19648.x, max(_19648.y, _19648.z)))).xyz, vec3(_Globals_.g_flIridescentStrength * _24590)));+ _12904 = saturate(mix(_22046.xyz, (_9577 * min(_24323 / dot(_9577.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)), (3.0 * _24323) * max(_19648.x, max(_19648.y, _19648.z)))).xyz, vec3(_Globals_.g_flIridescentStrength * _24590))); } else {- _22671 = _17328;+ _12904 = _17328; }- vec3 _17892 = mix(_17115, _14786, bvec3(all(equal(_17115, vec3(1.0)))));+ vec3 _9737;+ float _7578;+ float _13141;+ vec3 _15879;+ vec3 _16308;+ vec3 _17116;+ vec3 _17117;+ vec2 _17118;+ do+ {+ _9737 = _10061.xyz;+ vec3 _18130 = dFdx(_9737);+ vec3 _7243 = dFdy(_9737);+ vec2 _8396 = dFdx(_23261.xy);+ vec2 _9068 = dFdy(_23261.xy);+ bool _12888;+ if (_23147 <= 0.0)+ {+ _12888 = _13654 <= 0.0;+ }+ else+ {+ _12888 = false;+ }+ SPIRV_CROSS_BRANCH+ if (_12888)+ {+ _13141 = 0.0;+ _16308 = _8219;+ _17116 = _12904;+ _17117 = _14786;+ _17118 = _16306;+ _15879 = _17115;+ _7578 = 0.0;+ break;+ }+ vec3 _13995 = -normalize(_10061.xyz - PerViewConstantBuffer_t._m7.xyz);+ float _19347 = saturate(max((_16306.y - 0.75) * 4.0, 0.0));+ float _12353 = sqrt(abs((_8396.x * _9068.y) - (_8396.y * _9068.x)) / max(length(cross(_18130, _7243)), 9.9999999392252902907785028219223e-09));+ float _12407 = exp2(round(log2(0.25 / max(_12353, 9.9999999747524270787835121154785e-07))));+ float _21040 = _12407 * 0.125;+ vec4 _13138 = textureGrad(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m12], g_bindless_Sampler[_Globals_.g_sAniso]), (_23261.xy * _21040) + vec2(0.37000000476837158203125), _8396 * _21040, _9068 * _21040);+ float _19245 = _13138.z;+ float _13139;+ float _13151;+ float _23341;+ SPIRV_CROSS_BRANCH+ if (_23147 < _21267)+ {+ float _6204 = saturate((_19245 * 0.699999988079071044921875) + (_18787 * 0.300000011920928955078125));+ float _9730 = saturate((saturate(1.0 - (_23147 / max(_21267, 9.9999997473787516355514526367188e-05))) - (_6204 * 0.60000002384185791015625)) * 2.5000002384185791015625);+ float _10372 = _21267 * (1.0 - _9730);+ _13139 = (1.0 - saturate(((1.0 - saturate(_13654 / max(_21267 - _23147, 0.001000000047497451305389404296875))) - (saturate(_6204 + (_19347 * 0.4000000059604644775390625)) * 0.60000002384185791015625)) * 2.5000002384185791015625)) * (_21267 - _10372);+ _13151 = saturate(_9730 * 3.0);+ _23341 = _10372;+ }+ else+ {+ _13139 = _13654;+ _13151 = _Globals_.g_vFrostState.w;+ _23341 = _23147;+ }+ float _23381;+ SPIRV_CROSS_BRANCH+ if (_Globals_.g_vFrostHeatPosOsAndAmount.w > 0.0)+ {+ _23381 = (_Globals_.g_vFrostHeatPosOsAndAmount.w * (1.0 - smoothstep(0.0, 20.0 * mix(0.25, 1.0, _Globals_.g_vFrostHeatPosOsAndAmount.w), distance(input_0.xyz, _Globals_.g_vFrostHeatPosOsAndAmount.xyz)))) * mix(0.5, 1.0, _20079);+ }+ else+ {+ _23381 = 0.0;+ }+ bool _12889;+ if (_23381 > 0.0)+ {+ _12889 = _21267 > 0.0;+ }+ else+ {+ _12889 = false;+ }+ float _11921;+ float _13140;+ float _19857;+ SPIRV_CROSS_BRANCH+ if (_12889)+ {+ float _13023 = saturate(_23381 * 20.0);+ float _20747 = min(_23341, _21267 * (1.0 - _13023));+ _13140 = max(_13151, saturate(_13023 * 3.0));+ _11921 = max(_13139, _21267 - _20747) * (1.0 - smoothstep(0.20000000298023223876953125, 0.4000000059604644775390625, _23381));+ _19857 = _20747;+ }+ else+ {+ _13140 = _13151;+ _11921 = _13139;+ _19857 = _23341;+ }+ float _17489 = saturate(1.0 - (_19857 / max(_21267, 9.9999997473787516355514526367188e-05)));+ float _8688 = saturate(_11921 / max(_21267 - _19857, 0.001000000047497451305389404296875));+ float _23533 = _12407 * exp2((-0.25) + ((_17489 * mix(0.60000002384185791015625, 1.0, 1.0 - _8688)) * 3.0));+ vec3 _12420 = _24347.xyz;+ vec4 _12684 = textureGrad(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m12], g_bindless_Sampler[_Globals_.g_sAniso]), ((_23261.xy + ((vec2(dot(_13995, input_7.xyz), dot(_13995, _7425.xyz)) / vec2(max(dot(_13995, _12420), 0.25))) * ((-0.00999999977648258209228515625) * _12353))) * _12407) * mat2(vec2(0.798635542392730712890625, -0.6018149852752685546875), vec2(0.6018149852752685546875, 0.798635542392730712890625)), (_8396 * _23533) * mat2(vec2(0.798635542392730712890625, -0.6018149852752685546875), vec2(0.6018149852752685546875, 0.798635542392730712890625)), (_9068 * _23533) * mat2(vec2(0.798635542392730712890625, -0.6018149852752685546875), vec2(0.6018149852752685546875, 0.798635542392730712890625)));+ vec2 _12795 = mat2(vec2(0.798635542392730712890625, -0.6018149852752685546875), vec2(0.6018149852752685546875, 0.798635542392730712890625)) * ((_12684.xy * 2.0) - vec2(1.0));+ vec3 _22529 = _14786.xyz;+ float _22007 = saturate(length(_22529 - _12420));+ float _10634 = saturate(((mix(1.0, _22007, 0.4000000059604644775390625) * pow(_17476, 16.0)) * mix(1.0, saturate(normalize(input_1.xyz).z), 0.20000000298023223876953125)) + 0.199999988079071044921875);+ float _23701 = (_17476 * _17476) * (1.0 - _22007);+ float _12211 = mix(saturate(mix(_10634, _10634 * _12684.z, 0.60000002384185791015625) + ((_19245 - 0.5) * 0.300000011920928955078125)), saturate((_10634 * mix(1.0, _19245, 0.20000000298023223876953125)) * mix(0.699999988079071044921875, 1.0, _23701)), _19347) - 1.0;+ float _18331 = _12211 + (_19857 * 0.4600000083446502685546875);+ float _7308 = saturate(_18331 * mix(8.0, 2.5, _19347));+ float _23574 = _12211 + (_21267 * 0.4600000083446502685546875);+ float _12274 = mix(_7308, max(_7308, saturate(_23574 * 2.5)), _19347);+ float _19452 = saturate(_18331 * 2.5);+ float _16589;+ SPIRV_CROSS_BRANCH+ if (_11921 > 0.0)+ {+ _16589 = saturate(saturate(_23574 * 4.0) - saturate(_18331 * 4.0));+ }+ else+ {+ _16589 = 0.0;+ }+ uvec2 _10892 = uvec2(textureSize(g_bindless_Texture2D_float4[_Globals_.g_tColor], int(0u)));+ vec2 _19999 = vec2(ivec2(int(_10892.x), int(_10892.y)));+ float _11189 = log2(max(max(length(_8396 * _19999), length(_9068 * _19999)), 9.9999999747524270787835121154785e-07));+ float _19321 = dot(textureLod(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColor], g_bindless_Sampler[_Globals_.g_sAniso]), _23261.xy, max(log2(max(_19999.x, _19999.y) * 0.015625), _11189 + 2.0)).xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125));+ float _6721 = (mix(0.800000011920928955078125, 1.0, _20079) * 0.5) + (1.7999999523162841796875 * saturate((abs(_19321 - dot(textureLod(sampler2D(g_bindless_Texture2D_float4[_Globals_.g_tColor], g_bindless_Sampler[_Globals_.g_sAniso]), _23261.xy, _11189).xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125))) / max(_19321, 0.001000000047497451305389404296875)) * 2.0));+ float _20622 = 1.0 - _19347;+ float _14198 = _12274 * _6721;+ float _25171 = smoothstep(0.0, 0.100000001490116119384765625, _17489);+ float _17785 = ((max(_16589, _14198 * _13140) * _8688) * _6721) * _25171;+ vec2 _14970 = mix(_16306.xy, vec2(0.07999999821186065673828125), vec2(_17785 * (1.0 - (_19347 * 0.60000002384185791015625))));+ vec3 _8752;+ vec2 _13945;+ SPIRV_CROSS_BRANCH+ if (_17785 > 0.0)+ {+ vec3 _11314;+ if (all(equal(_17115, vec3(1.0))))+ {+ _11314 = _22529;+ }+ else+ {+ _11314 = _17115.xyz;+ }+ float _19765 = ((saturate(((_12684.z - 1.0) + _8688) * 6.0) * _17785) * _20622) * _25171;+ vec3 _15199 = normalize(vec3(_12795 * 2.5, 1.0));+ _8752 = normalize(mix(normalize(mix(_11314, _12420, vec3((_17785 * 0.5) * _20622))), normalize((((input_7.xyz * _15199.x).xyz + (_7425.xyz * _15199.y)).xyz + (_24347.xyz * _15199.z)).xyz), vec3(_19765)));+ _13945 = mix(_14970.xy, vec2(0.0500000007450580596923828125), vec2(_19765));+ }+ else+ {+ _8752 = _17115;+ _13945 = _14970;+ }+ float _13876 = saturate((((((_12274 * mix(mix(0.0199999995529651641845703125, 0.0, _19347), 1.0, max(_19452 * _19452, mix(saturate(length(_12795) * 3.0), _12684.w, _19347)))) * mix(0.300000011920928955078125, 2.7000000476837158203125 * mix(0.5, 1.0, _23701), _19347)) * (0.75 + pow(1.0 - saturate(dot(_22529, _13995)), 3.0))) * mix(1.0, saturate(((_12684.w * 0.5) + 0.5) - _17489), _19347)) * _6721) * mix(1.0, 0.3499999940395355224609375, _13140 * _20622));+ float _14683 = _13876 * mix(0.00999999977648258209228515625, 0.0500000007450580596923828125, _19347);+ vec3 _15522 = dFdxFine(_9737);+ vec3 _20236 = cross(dFdyFine(_9737), _22529);+ float _23342 = dot(_15522, _20236);+ vec3 _24600 = normalize((_22529 * abs(_23342)) - (((_20236 * dFdxFine(_14683)) + (cross(_22529, _15522) * dFdyFine(_14683))) * float(int(sign(_23342)))));+ vec3 _10798 = normalize(vec3(_12795, 1.0));+ float _10451 = max(0.0, (_13876 * _19452) * 0.5);+ _13141 = (_10451 > 0.0) ? (-0.20000000298023223876953125) : 0.0;+ _16308 = mix((_8219.xyz * mix(1.0, mix(0.800000011920928955078125, 0.550000011920928955078125, _19347), _17785)).xyz, vec3(0.800000011920928955078125, 0.86000001430511474609375, 0.920000016689300537109375), vec3(_13876));+ _17116 = mix(_12904.xyz, vec3(0.0199999995529651641845703125), vec3(_13876 * 0.60000002384185791015625));+ _17117 = normalize(mix(_24600.xyz, normalize((((input_7.xyz * _10798.x).xyz + (_7425.xyz * _10798.y)).xyz + (_24600.xyz * _10798.z)).xyz), vec3(_14198 * (1.0 - (_19347 * 0.89999997615814208984375)))));+ _17118 = mix(_13945.xy, vec2(mix(0.4000000059604644775390625, 0.119999997317790985107421875, _13140)), vec2(_14198 * mix(0.5, 1.0, _19452)));+ _15879 = _8752;+ _7578 = _10451;+ break;+ } while(false);+ vec3 _17892 = mix(_15879, _17117, bvec3(all(equal(_15879, vec3(1.0))))); vec3 _10560 = _24347.xyz; vec3 _11099 = dFdx(_10560); vec3 _9175 = dFdy(_10560); vec3 _10347 = _11099.xyz;- vec3 _12420 = _9175.xyz;- vec2 _11004 = max(_16306.xy, vec2(pow(saturate(max(dot(_10347, _10347), dot(_12420, _12420))), 0.333000004291534423828125)));+ vec3 _12422 = _9175.xyz;+ vec2 _11004 = max(_17118.xy, vec2(pow(saturate(max(dot(_10347, _10347), dot(_12422, _12422))), 0.333000004291534423828125))); vec3 _10170 = -_24347;- vec3 _24735 = _14786.xyz;- vec4 _23875 = vec4(_24735, 1.0);+ vec4 _23875 = vec4(_17117.xyz, 1.0); vec3 _18708 = vec3(dot(PerViewLightingConstantBufferGpu_t._m5._m0[0].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m5._m0[1].xyzw, _23875), dot(PerViewLightingConstantBufferGpu_t._m5._m0[2].xyzw, _23875)); bvec4 _24465 = notEqual(PerViewConstantBufferCsgo_t._m1, ivec4(0)); float _21710; if (_24465.x) { vec3 _11394 = _24347.xyz;- vec2 _11087 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t._m17) * PerViewConstantBufferCsgo_t._m16.xy) + (PerViewConstantBufferCsgo_t._m16.xy * 0.5)).xy;+ vec2 _11087 = ((floor(_11408.xy * PerViewConstantBufferCsgo_t._m18) * PerViewConstantBufferCsgo_t._m17.xy) + (PerViewConstantBufferCsgo_t._m17.xy * 0.5)).xy; vec4 _18418 = textureGather(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m8], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _11087).xyzw - _11408.zzzz; float _18579 = _18418.w; float _12013 = _18418.z; bool _12285 = abs(_12013) < _18579; vec2 _23168; if (_12285) {- _23168 = vec2(PerViewConstantBufferCsgo_t._m16.x, 0.0);+ _23168 = vec2(PerViewConstantBufferCsgo_t._m17.x, 0.0); } else {@@ -1322,15 +1521,15 @@ PS vec2 _23169; if (_12286) {- _23169 = vec2(0.0, PerViewConstantBufferCsgo_t._m16.y);+ _23169 = vec2(0.0, PerViewConstantBufferCsgo_t._m17.y); } else { _23169 = _23168; } vec4 _10010 = normalize(vec4(PerViewLightingConstantBufferGpu_t._m7.x * fma(dot(_10170, normalize(vec3(PerViewLightingConstantBufferGpu_t._m6._m0[0].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m7.y * fma(dot(_10170, normalize(vec3(PerViewLightingConstantBufferGpu_t._m6._m0[1].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m7.z * fma(dot(_10170, normalize(vec3(PerViewLightingConstantBufferGpu_t._m6._m0[2].xy, 0.25))), 0.5, 0.5), PerViewLightingConstantBufferGpu_t._m7.w * fma(dot(_10170, normalize(vec3(PerViewLightingConstantBufferGpu_t._m6._m0[3].xy, 0.25))), 0.5, 0.5))); vec4 _13232 = max(vec4(dot(PerViewLightingConstantBufferGpu_t._m6._m0[0].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m6._m0[1].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m6._m0[2].xyz, _11394), dot(PerViewLightingConstantBufferGpu_t._m6._m0[3].xyz, _11394)).xyzw, vec4(0.0)) * normalize(saturate(((_10010 - vec4(max(max(_10010.x, _10010.y), max(_10010.z, _10010.w)))) + vec4(0.20000000298023223876953125)) * vec4(5.0)));- _21710 = (1.0 / (dot(_13232, vec4(1.0)) + PerViewLightingConstantBufferGpu_t._m8.x)) * (PerViewLightingConstantBufferGpu_t._m8.x + dot(_13232, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m7], g_bindless_Sampler[_Globals_.g_sPointClamp]), (_11087 + mix(_23169, PerViewConstantBufferCsgo_t._m16.xy, bvec2(abs(_18418.y) < (_12286 ? _15372 : _20965))).xy).xy, 0.0)));+ _21710 = (1.0 / (dot(_13232, vec4(1.0)) + PerViewLightingConstantBufferGpu_t._m8.x)) * (PerViewLightingConstantBufferGpu_t._m8.x + dot(_13232, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m7], g_bindless_Sampler[_Globals_.g_sPointClamp]), (_11087 + mix(_23169, PerViewConstantBufferCsgo_t._m17.xy, bvec2(abs(_18418.y) < (_12286 ? _15372 : _20965))).xy).xy, 0.0))); } else {@@ -1339,187 +1538,198 @@ PS float _21711; if (notEqual(PerViewConstantBufferCsgo_t._m0, ivec4(0)).w) {- _21711 = _21710 * textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m9], g_bindless_Sampler[_Globals_.g_sUserConfig]), (_11408.xy * PerViewConstantBuffer_t._m3.xy).xy, 0.0).x;+ _21711 = _21710 * textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m9], g_bindless_Sampler[_Globals_.g_sUserConfig]), (_11408.xy * PerViewConstantBuffer_t._m4.xy).xy, 0.0).x; } else { _21711 = _21710; }- float _21712;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _17117.xyz);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m18 != 0)+ if (_8634 > _13141) {- int _23989;- int _10191;- float _13138;- vec3 _14975;- int _13039 = 0;- for (;;)+ float _12508;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m18 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))- {- _13138 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])+ int _23989;+ int _10191;+ float _13142;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;- vec3 _20489 = _19470;- _20489.x = _20561.x;- _20489.y = _20561.y;- _13138 = saturate(_22193.x * _22193.y);- _14975 = _20489;- _10191 = _13039;- break;- }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)- {- vec2 _7045;- vec2 _7046;- vec2 _7735;- float _8969;- float _8970;- float _15996;- float _17299;- vec2 _18870;- vec4 _20581;- vec4 _24370;- uint _24711;- float _23727;- do- {- float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);- _20581 = PerViewLightingConstantBufferGpu_t._m0;- _24370 = PerViewLightingConstantBufferGpu_t._m1;- _24711 = _Globals_.g_tShadowDepthBufferCmpSampler;- _17299 = PerViewLightingConstantBufferGpu_t._m2.z;- _15996 = PerViewLightingConstantBufferGpu_t._m3.z;- _18870 = vec2(_17299, _15996);- _8969 = PerViewLightingConstantBufferGpu_t._m2.y;- _7045 = vec2(_8969, _15996);- _8970 = PerViewLightingConstantBufferGpu_t._m3.y;- _7046 = vec2(_17299, _8970);- _7735 = vec2(_8969, _8970);- float _15310 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));- bool _12888;- if (_15310 == 0.0)- {- _12888 = true;- }- else+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18)) {- _12888 = _15310 == 1.0;+ _13142 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break; }- if (_12888)+ vec4 _18322 = vec4(input_2.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039]) {- _23727 = _15310;+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;+ vec3 _20489 = _19470;+ _20489.x = _20561.x;+ _20489.y = _20561.y;+ _13142 = saturate(_22193.x * _22193.y);+ _14975 = _20489;+ _10191 = _13039; break; }- _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _24370.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3(_14975.xy, _21452), 0.0) * _24370.y);- break;- } while(false);- float _12506;- SPIRV_CROSS_BRANCH- if (_13138 < 1.0)+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue;+ }+ float _21712;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ vec2 _7045;+ vec2 _7046;+ vec2 _7735;+ float _8969;+ float _8970;+ float _15996;+ float _17299;+ vec2 _18870;+ vec4 _20581;+ vec4 _24369;+ uint _24711;+ float _23727;+ do {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(input_1.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;- vec3 _20490;- _20490.x = _20562.x;- _20490.y = _20562.y;- float _12505;- do+ float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);+ _20581 = PerViewLightingConstantBufferGpu_t._m0;+ _24369 = PerViewLightingConstantBufferGpu_t._m1;+ _24711 = _Globals_.g_tShadowDepthBufferCmpSampler;+ _17299 = PerViewLightingConstantBufferGpu_t._m2.z;+ _15996 = PerViewLightingConstantBufferGpu_t._m3.z;+ _18870 = vec2(_17299, _15996);+ _8969 = PerViewLightingConstantBufferGpu_t._m2.y;+ _7045 = vec2(_8969, _15996);+ _8970 = PerViewLightingConstantBufferGpu_t._m3.y;+ _7046 = vec2(_17299, _8970);+ _7735 = vec2(_8969, _8970);+ float _15310 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));+ bool _12890;+ if (_15310 == 0.0) {- float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);- float _15311 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));- bool _12889;- if (_15311 == 0.0)- {- _12889 = true;- }- else- {- _12889 = _15311 == 1.0;- }- if (_12889)+ _12890 = true;+ }+ else+ {+ _12890 = _15310 == 1.0;+ }+ if (_12890)+ {+ _23727 = _15310;+ break;+ }+ _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _24369.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3(_14975.xy, _21452), 0.0) * _24369.y);+ break;+ } while(false);+ float _12506;+ SPIRV_CROSS_BRANCH+ if (_13142 < 1.0)+ {+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_2.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;+ vec3 _20490;+ _20490.x = _20562.x;+ _20490.y = _20562.y;+ float _12505;+ do {- _12505 = _15311;+ float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);+ float _15311 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));+ bool _12891;+ if (_15311 == 0.0)+ {+ _12891 = true;+ }+ else+ {+ _12891 = _15311 == 1.0;+ }+ if (_12891)+ {+ _12505 = _15311;+ break;+ }+ _12505 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _24369.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3(_20490.xy, _20322), 0.0) * _24369.y); break;- }- _12505 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3((_20490.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _24370.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_24711]), vec3(_20490.xy, _20322), 0.0) * _24370.y);- break;- } while(false);- _7934 = _12505;+ } while(false);+ _7934 = _12505;+ }+ else+ {+ _7934 = 1.0;+ }+ _12506 = mix(_7934, _23727, _13142); } else {- _7934 = 1.0;+ _12506 = _23727; }- _12506 = mix(_7934, _23727, _13138);+ _21712 = _12506; } else {- _12506 = _23727;+ _21712 = 1.0; }- _19363 = _12506;- }- else- {- _19363 = 1.0;- }- float _13279 = mix(_19363, 1.0, saturate((distance(_10061.xyz, PerViewConstantBuffer_t._m6) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));- float _12507;- if (_24465.y)- {- _12507 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m10], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m3.xy).xy, 0.0).z);+ float _13279 = mix(_21712, 1.0, saturate((distance(_9737, PerViewConstantBuffer_t._m7) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));+ float _12507;+ if (_24465.y)+ {+ _12507 = min(_13279, textureLod(sampler2D(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m10], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), (_11408.xy * PerViewConstantBuffer_t._m4.xy).xy, 0.0).z);+ }+ else+ {+ _12507 = _13279;+ }+ _12508 = _12507; } else {- _12507 = _13279;+ _12508 = 1.0; }- _21712 = _12507;+ _12320 = _12508; } else {- _21712 = 1.0;+ _12320 = 1.0; } vec3 _9716; vec3 _24878; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21712) > 0.0)+ if ((_8634 * _12320) > 0.0) {- vec3 _15460 = mix(_17892, _24735, bvec3(all(equal(_17892, vec3(1.0)))));- float _13811 = max(0.0, dot(_14786.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz));+ vec3 _15460 = mix(_17892, _17117.xyz, bvec3(all(equal(_17892, vec3(1.0)))));+ float _13811 = max(0.0, dot(_17117.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz)); vec3 _17874 = vec3(_13811); vec3 _18223; if (_13694 > 0.0) { float _8780 = dot(_15460, PerViewLightingConstantBufferGpu_t._m16.xyz); float _8124 = saturate(_13694);- _18223 = mix(_17874.xyz, vec3((((0.5 + (_13811 * 0.5)) + pow(1.0 - saturate(_8780), 4.0)) * saturate((_8780 + 0.20000000298023223876953125) * 4.0)) * saturate(mix(dot(mix(_24735, _15460, vec3(10.0)), PerViewLightingConstantBufferGpu_t._m16.xyz), 1.0, _8124))), vec3(_8124));+ _18223 = mix(_17874.xyz, vec3((((0.5 + (_13811 * 0.5)) + pow(1.0 - saturate(_8780), 4.0)) * saturate((_8780 + 0.20000000298023223876953125) * 4.0)) * saturate(mix(dot(mix(_17117.xyz, _15460, vec3(10.0)), PerViewLightingConstantBufferGpu_t._m16.xyz), 1.0, _8124))), vec3(_8124)); } else { _18223 = _17874; } vec2 _17301 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));- vec3 _21889 = (-normalize(_10061.xyz - PerViewConstantBuffer_t._m6.xyz)).xyz;+ vec3 _21889 = (-normalize(_10061.xyz - PerViewConstantBuffer_t._m7.xyz)).xyz; vec3 _12281 = normalize(PerViewLightingConstantBufferGpu_t._m16.xyz + _21889).xyz; vec3 _19012 = _15460.xyz; float _12386 = dot(_12281, _19012);@@ -1529,9 +1739,9 @@ PS float _16150 = _9850 + 1.0; float _6835 = (_16150 * _16150) * 0.125; float _19569 = 1.0 - _6835;- vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21712).xyz;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz; _9716 = PerViewLightingConstantBufferGpu_t._m9.xyz + (_18223.xyz * _16808);- _24878 = (((_22671.xyz + ((vec3(1.0) - _22671.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_13811 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _13811).xyz * _16808;+ _24878 = (((_17116.xyz + ((vec3(1.0) - _17116.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_13811 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _13811).xyz * _16808; } else {@@ -1540,32 +1750,32 @@ PS } bvec4 _24467 = notEqual(PerViewConstantBufferCsgo_t._m2, ivec4(0)); bool _20061 = _24467.x;- vec4 _19364;+ vec4 _19363; if (_20061) {- vec4 _18621 = vec4(_10061.xyz, 1.0).xyzw * PerViewConstantBufferCsgo_t._m15;+ vec4 _18621 = vec4(_9737, 1.0).xyzw * PerViewConstantBufferCsgo_t._m16; float _20176 = _18621.w; vec2 _11414 = _18621.xy / vec2(_20176); vec4 _6651;- _6651.x = clamp(((_11414.x + 1.0) * PerViewConstantBuffer_t._m2.x) * 0.5, 0.0, PerViewConstantBuffer_t._m2.x - 1.0);- _6651.y = clamp(((1.0 - _11414.y) * PerViewConstantBuffer_t._m2.y) * 0.5, 0.0, PerViewConstantBuffer_t._m2.y - 1.0);+ _6651.x = clamp(((_11414.x + 1.0) * PerViewConstantBuffer_t._m3.x) * 0.5, 0.0, PerViewConstantBuffer_t._m3.x - 1.0);+ _6651.y = clamp(((1.0 - _11414.y) * PerViewConstantBuffer_t._m3.y) * 0.5, 0.0, PerViewConstantBuffer_t._m3.y - 1.0); _6651.w = _20176;- _19364 = _6651;+ _19363 = _6651; } else {- _19364 = _11408;+ _19363 = _11408; } uvec2 _7663 = uvec2(PerViewLightingConstantBufferGpu_t._m12.x);- uvec2 _12083 = uvec2(_19364.xy - PerViewConstantBuffer_t._m1.xy) >> _7663;+ uvec2 _12083 = uvec2(_19363.xy - PerViewConstantBuffer_t._m2.xy) >> _7663; uint _10838 = PerViewLightingConstantBufferGpu_t._m10.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m12.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m10.z);- uint _23393 = PerViewLightingConstantBufferGpu_t._m10.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m10.z);- vec3 _13139;+ uint _23393 = PerViewLightingConstantBufferGpu_t._m10.x + (uint(clamp(_19363.w * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m10.z);+ vec3 _13143; vec3 _16324;- _13139 = _9716;+ _13143 = _9716; _16324 = _24878; uint _21567;- vec3 _13140;+ vec3 _13144; vec3 _16325; uint _17017 = 0u; for (;;)@@ -1575,8 +1785,8 @@ PS break; } uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _17017] & g_CullBits_1._m0[_23393 + _17017]);- _13140 = _16324;- _16325 = _13139;+ _13144 = _16324;+ _16325 = _13143; uint _20344; vec3 _13212; vec3 _15670;@@ -1591,7 +1801,7 @@ PS _20344 = _17018 & (_17018 - 1u); do {- vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(input_1.xyz, 1.0);+ vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(input_2.xyz, 1.0); vec3 _10521 = _24893.xyz / vec3(_24893.w); vec4 _22905; _22905.x = _10521.x;@@ -1608,18 +1818,18 @@ PS { _7426 = false; }- bool _12890;+ bool _12892; if (!_7426) {- _12890 = true;+ _12892 = true; } else {- _12890 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(input_1.xyz, 1.0)).xyz), vec3(1.0)));+ _12892 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(input_2.xyz, 1.0)).xyz), vec3(1.0))); }- if (_12890)+ if (_12892) {- _13212 = _13140;+ _13212 = _13144; _15670 = _16325; break; }@@ -1652,7 +1862,7 @@ PS float _11633; if (g_BarnLights_1._m0[_12608]._m2.w != 0.0) {- vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - input_1.xyz;+ vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - input_2.xyz; float _18345 = dot(_10017, _10017); float _17647 = sqrt(_18345); vec3 _20958 = _10017 - _16268;@@ -1730,7 +1940,7 @@ PS } else {- vec3 _12508;+ vec3 _12509; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -1746,7 +1956,7 @@ PS vec3 _20492 = _14081; _20492.x = _20564.x; _20492.y = _20564.y;- _12508 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m28], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20492.xyz, 0.0).xyz;+ _12509 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m28], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), _20492.xyz, 0.0).xyz; } else {@@ -1755,13 +1965,13 @@ PS vec3 _20491 = _13791; _20491.x = _20563.x; _20491.y = _20563.y;- _12508 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m28], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20491.xyz, 0.0).xyz;+ _12509 = _17828.xyz * textureLod(sampler3D(g_bindless_Texture3D_float4[PerViewLightingConstantBufferGpu_t._m28], g_bindless_Sampler[_Globals_.g_sCookieSampler]), _20491.xyz, 0.0).xyz; }- _21548 = _12508;+ _21548 = _12509; } if (all(equal(_21548.xyz, vec3(0.0)))) {- _13212 = _13140;+ _13212 = _13144; _15670 = _16325; break; }@@ -1772,10 +1982,10 @@ PS if ((g_BarnLights_1._m0[_12608]._m13 & 4u) != 0u) { vec2 _6281 = _22905.yx * vec2(1.0, -1.0);- vec3 _23714 = _21642;- _23714.x = _6281.x;- _23714.y = _6281.y;- _19629 = _23714;+ vec3 _23715 = _21642;+ _23715.x = _6281.x;+ _23715.y = _6281.y;+ _19629 = _23715; } else {@@ -1784,30 +1994,30 @@ PS float _24972; do {- float _21462 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);+ float _21464 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19); vec2 _10393 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;- float _15312 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21462), 0.0)).xyzw, vec4(0.25));- bool _12891;+ float _15312 = dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21464), 0.0)).xyzw, vec4(0.25));+ bool _12893; if (_15312 == 0.0) {- _12891 = true;+ _12893 = true; } else {- _12891 = _15312 == 1.0;+ _12893 = _15312 == 1.0; }- if (_12891)+ if (_12893) { _24972 = _15312; break; }- _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21462), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21462), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_10393, _21462), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);+ _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _21464), 0.0), textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3((_10393 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _21464), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_bindless_Texture2D_float4[PerViewLightingConstantBufferGpu_t._m27], g_bindless_Sampler_1[_Globals_.g_tShadowDepthBufferCmpSampler]), vec3(_10393, _21464), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y); break; } while(false); vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12); if (all(equal(_19878.xyz, vec3(0.0)))) {- _13212 = _13140;+ _13212 = _13144; _15670 = _16325; break; }@@ -1817,22 +2027,22 @@ PS { _21549 = _21548; }- vec3 _15462 = mix(_17892, _24735, bvec3(all(equal(_17892, vec3(1.0)))));- float _13812 = max(0.0, dot(_14786.xyz, _11179.xyz));+ vec3 _15462 = mix(_17892, _17117.xyz, bvec3(all(equal(_17892, vec3(1.0)))));+ float _13812 = max(0.0, dot(_17117.xyz, _11179.xyz)); vec3 _17875 = vec3(_13812); vec3 _18224; if (_13694 > 0.0) { float _8781 = dot(_15462, _11179.xyz); float _8125 = saturate(_13694);- _18224 = mix(_17875.xyz, vec3((((0.5 + (_13812 * 0.5)) + pow(1.0 - saturate(_8781), 4.0)) * saturate((_8781 + 0.20000000298023223876953125) * 4.0)) * saturate(mix(dot(mix(_24735, _15462, vec3(10.0)), _11179.xyz), 1.0, _8125))), vec3(_8125));+ _18224 = mix(_17875.xyz, vec3((((0.5 + (_13812 * 0.5)) + pow(1.0 - saturate(_8781), 4.0)) * saturate((_8781 + 0.20000000298023223876953125) * 4.0)) * saturate(mix(dot(mix(_17117.xyz, _15462, vec3(10.0)), _11179.xyz), 1.0, _8125))), vec3(_8125)); } else { _18224 = _17875; } vec2 _17302 = max(_11004, vec2(g_BarnLights_1._m0[_12608]._m11));- vec3 _21890 = (-normalize(_10061.xyz - PerViewConstantBuffer_t._m6.xyz)).xyz;+ vec3 _21890 = (-normalize(_10061.xyz - PerViewConstantBuffer_t._m7.xyz)).xyz; vec3 _12282 = normalize(_11179.xyz + _21890).xyz; vec3 _19014 = _15462.xyz; float _12387 = dot(_12282, _19014);@@ -1842,190 +2052,206 @@ PS float _16151 = _9851 + 1.0; float _6836 = (_16151 * _16151) * 0.125; float _19571 = 1.0 - _6836;- _13212 = _13140.xyz + ((((_22671.xyz + ((vec3(1.0) - _22671.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(_11179.xyz, _12282))), 5.0))) * ((_24199 * _24199) / ((4.0 * ((_13812 * _19571) + _6836)) * ((max(0.0, dot(_19014, _21890)) * _19571) + _6836)))).xyz * _13812).xyz * _21549.xyz);+ _13212 = _13144.xyz + ((((_17116.xyz + ((vec3(1.0) - _17116.xyz) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(_11179.xyz, _12282))), 5.0))) * ((_24199 * _24199) / ((4.0 * ((_13812 * _19571) + _6836)) * ((max(0.0, dot(_19014, _21890)) * _19571) + _6836)))).xyz * _13812).xyz * _21549.xyz); _15670 = _16325.xyz + (_18224.xyz * _21549.xyz); break; } while(false);- _13140 = _13212;+ _13144 = _13212; _16325 = _15670; _17018 = _20344; continue; } _21567 = _17017 + 1u;- _13139 = _16325;- _16324 = _13140;+ _13143 = _16325;+ _16324 = _13144; _17017 = _21567; continue; }- vec3 _10145 = normalize(_10061.xyz - PerViewConstantBuffer_t._m6.xyz);+ vec3 _10145 = normalize(_10061.xyz - PerViewConstantBuffer_t._m7.xyz); vec3 _19257 = -_10145; float _17138 = _11004.x + _11004.y; float _19582 = _17138 * _17138; float _17751 = dot(_11004.xy, vec2(0.5)); vec3 _6520 = _17892.xyz; vec3 _19081 = _17892.xyz;- float _12853 = PerViewLightingConstantBufferGpu_t._m14.y * sqrt(_17751);- vec3 _11901 = _10061.xyz;+ float _12587 = PerViewLightingConstantBufferGpu_t._m14.y * sqrt(_17751); vec3 _11008; vec4 _14444;- if (PerViewConstantBufferCsgo_t._m29 != 0.0)+ if (PerViewConstantBufferCsgo_t._m30 != 0.0) {- float _9642 = dot(vec4(((_11901 + PerViewConstantBuffer_t._m5.xyz) + ((-PerViewConstantBuffer_t._m7) * PerViewConstantBufferCsgo_t._m29)).xyz, 1.0), vec4(PerViewConstantBuffer_t._m7.xyz, dot((PerViewConstantBuffer_t._m5.xyz + PerViewConstantBuffer_t._m6.xyz).xyz + (PerViewConstantBuffer_t._m7.xyz * PerViewConstantBuffer_t._m4), PerViewConstantBuffer_t._m7.xyz)));+ float _9642 = dot(vec4(((_9737 + PerViewConstantBuffer_t._m6.xyz) + ((-PerViewConstantBuffer_t._m8) * PerViewConstantBufferCsgo_t._m30)).xyz, 1.0), vec4(PerViewConstantBuffer_t._m8.xyz, dot((PerViewConstantBuffer_t._m6.xyz + PerViewConstantBuffer_t._m7.xyz).xyz + (PerViewConstantBuffer_t._m8.xyz * PerViewConstantBuffer_t._m5), PerViewConstantBuffer_t._m8.xyz))); vec3 _21713; if (_9642 <= 0.0) { _21713 = _10061; } else {- _21713 = _11901 + ((-PerViewConstantBuffer_t._m7.xyz) * _9642);+ _21713 = _9737 + ((-PerViewConstantBuffer_t._m8.xyz) * _9642); }- vec4 _19975 = vec4(_21713.xyz, 1.0) * PerViewConstantBufferCsgo_t._m15;+ vec4 _19975 = vec4(_21713.xyz, 1.0) * PerViewConstantBufferCsgo_t._m16; float _20177 = _19975.w; vec2 _11415 = _19975.xy / vec2(_20177); vec4 _6652;- _6652.x = clamp(((_11415.x + 1.0) * PerViewConstantBuffer_t._m2.x) * 0.5, 0.0, PerViewConstantBuffer_t._m2.x - 1.0);- _6652.y = clamp(((1.0 - _11415.y) * PerViewConstantBuffer_t._m2.y) * 0.5, 0.0, PerViewConstantBuffer_t._m2.y - 1.0);+ _6652.x = clamp(((_11415.x + 1.0) * PerViewConstantBuffer_t._m3.x) * 0.5, 0.0, PerViewConstantBuffer_t._m3.x - 1.0);+ _6652.y = clamp(((1.0 - _11415.y) * PerViewConstantBuffer_t._m3.y) * 0.5, 0.0, PerViewConstantBuffer_t._m3.y - 1.0); _6652.w = _20177; _11008 = _21713; _14444 = _6652; } else {- _11008 = _11901;+ _11008 = _9737; _14444 = _11408.xyzw; } float _22047 = _17751 * _17751; float _20711 = saturate(1.0 - _22047); vec3 _25271 = normalize(mix(_6520, reflect(_10145.xyz, _19081).xyz, vec3(_20711 * (sqrt(_20711) + _22047))));- uvec2 _6815 = uvec2(_14444.xy - PerViewConstantBuffer_t._m1.xy) >> _7663;+ uvec2 _6815 = uvec2(_14444.xy - PerViewConstantBuffer_t._m2.xy) >> _7663; uint _12130 = PerViewLightingConstantBufferGpu_t._m11.y + (((_6815.y * PerViewLightingConstantBufferGpu_t._m12.y) + _6815.x) * PerViewLightingConstantBufferGpu_t._m11.z); uint _23394 = PerViewLightingConstantBufferGpu_t._m11.x + (uint(clamp(_14444.w * PerViewLightingConstantBufferGpu_t._m13.x, 0.0, PerViewLightingConstantBufferGpu_t._m13.y)) * PerViewLightingConstantBufferGpu_t._m11.z);- vec4 _13141;- float _16308;- vec3 _17116;- _13141 = vec4(0.0);- _16308 = 0.00999999977648258209228515625;- _17116 = vec3(0.0);+ vec4 _13145;+ float _16309;+ vec3 _17119;+ _13145 = vec4(0.0);+ _16309 = 0.00999999977648258209228515625;+ _17119 = vec3(0.0); uint _8896;- vec4 _13144;+ vec4 _13148; vec3 _14891;- float _16310;+ float _16311; bool _18360; uint _17020 = 0u; bool _17133 = false; for (;;) {- bool _12892;+ bool _12894; if (_17020 < PerViewLightingConstantBufferGpu_t._m11.z) {- _12892 = !_17133;+ _12894 = !_17133; } else {- _12892 = false;+ _12894 = false; }- if (!_12892)+ if (!_12894) { break; } uint _14476 = subgroupOr(g_CullBits_1._m0[_12130 + _17020] & g_CullBits_1._m0[_23394 + _17020]);- vec3 _13142;- vec4 _16309;- _13142 = _17116;- _16309 = _13141;+ vec3 _13146;+ vec4 _16310;+ _13146 = _17119;+ _16310 = _13145; uint _10156;- vec3 _13143;+ vec3 _13147; vec4 _16381; float _16479; uint _17021 = _14476;- float _17134 = _16308;+ float _17134 = _16309; for (;;) { if (!(_17021 != 0u)) {- _13144 = _16309;- _16310 = _17134;- _14891 = _13142;+ _13148 = _16310;+ _16311 = _17134;+ _14891 = _13146; _18360 = _17133; break; } uint _18154 = uint(findLSB(_17021)); int _12609 = int(_18154 + (_17020 * 32u)); _10156 = _17021 & (_17021 - 1u);- vec3 _7748 = (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m0 * vec4(_11008.xyz, 1.0)).xyz;- vec3 _8793 = saturate((_7748 - PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1) * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m5.xyz);- vec3 _19651 = saturate((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m3 - _7748) * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m5.xyz);+ vec3 _7750 = (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m0 * vec4(_11008.xyz, 1.0)).xyz;+ vec3 _8793 = saturate((_7750 - PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1) * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m5.xyz);+ vec3 _19651 = saturate((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m3 - _7750) * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m5.xyz); float _17265 = min(min(_8793.x, min(_8793.y, _8793.z)), min(_19651.x, min(_19651.y, _19651.z))); if (_17265 == 0.0) {- _13143 = _13142;- _16381 = _16309;+ _13147 = _13146;+ _16381 = _16310; _16479 = _17134;- _13142 = _13143;- _16309 = _16381;+ _13146 = _13147;+ _16310 = _16381; _17134 = _16479; _17021 = _10156; continue; } vec3 _19630;- if (PerViewConstantBufferCsgo_t._m28 != 0.0)+ if (PerViewConstantBufferCsgo_t._m29 != 0.0) { vec3 _19779 = PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1 + ((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m3 - PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1) * 0.5);- _19630 = ((_7748 - _19779) * PerViewConstantBufferCsgo_t._m28) + _19779;+ _19630 = ((_7750 - _19779) * PerViewConstantBufferCsgo_t._m29) + _19779; } else {- _19630 = _7748;+ _19630 = _7750; } vec3 _7648 = (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m0 * vec4(_25271.xyz, 0.0)).xyz; vec3 _11253 = max(((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m3.xyz - _19630.xyz) / _7648).xyz, ((PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m1.xyz - _19630.xyz) / _7648).xyz); float _11076 = ((_17265 * _17265) * (((-2.0) * _17265) + 3.0)) * (1.0 - _17134); float _13713 = _17134 + _11076;- vec3 _15431 = _13142 + ((textureLod(samplerCubeArray(g_bindless_TextureCubeArray[PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m4], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), vec4(mix(_19630.xyz + (_7648 * abs(min(_11253.x, min(_11253.y, _11253.z)))), _7648, vec3(_17751)).xyz, float(PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m2)), _12853).xyz * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m6) * _11076);- vec4 _7460 = _16309 + (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m7 * _11076);+ vec3 _15431 = _13146 + ((textureLod(samplerCubeArray(g_bindless_TextureCubeArray[PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m4], g_bindless_Sampler[_Globals_.g_sTrilinearWrap]), vec4(mix(_19630.xyz + (_7648 * abs(min(_11253.x, min(_11253.y, _11253.z)))), _7648, vec3(_17751)).xyz, float(PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m2)), _12587).xyz * PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m6) * _11076);+ vec4 _7460 = _16310 + (PerViewLightingConstantBufferGpu_t._m15._m0[_12609]._m7 * _11076); if (_13713 > 0.9900000095367431640625) {- _13144 = _7460;- _16310 = _13713;+ _13148 = _7460;+ _16311 = _13713; _14891 = _15431; _18360 = true; break; }- _13143 = _15431;+ _13147 = _15431; _16381 = _7460; _16479 = _13713;- _13142 = _13143;- _16309 = _16381;+ _13146 = _13147;+ _16310 = _16381; _17134 = _16479; _17021 = _10156; continue; } _8896 = _17020 + 1u;- _13141 = _13144;- _16308 = _16310;- _17116 = _14891;+ _13145 = _13148;+ _16309 = _16311;+ _17119 = _14891; _17133 = _18360; _17020 = _8896; continue; } vec4 _11487 = textureLod(sampler2DArray(g_bindless_Texture2DArray_float4[PerViewConstantBufferCsgo_t._m5], g_bindless_Sampler[_Globals_.g_sBilinearClamp]), vec3((vec2(_17751, sqrt(1.0 - max(0.0, dot(_19257.xyz, _6520)))) * 0.984375) + vec2(0.0078125), 1.0).xyz, 0.0);- vec3 _7300 = mix(_11487.xxx, _11487.yyy, _22671);+ vec3 _7300 = mix(_11487.xxx, _11487.yyy, _17116); float _21809 = 1.0 - _11487.y;- vec3 _15517 = _22671 + ((vec3(1.0) - _22671) * vec3(0.0476190485060214996337890625));+ vec3 _15517 = _17116 + ((vec3(1.0) - _17116) * vec3(0.0476190485060214996337890625)); vec3 _23208 = ((_7300 * _15517) / (vec3(1.0) - (_15517 * _21809))) * _21809; vec3 _13436 = vec3(_21711 * _17476).xyz;- vec3 _22686 = (_13139.xyz + ((_18708 * (vec3(1.0) - (_7300 + _23208))).xyz * _13436).xyz) * (_20195.xyz * pow(1.0 - _20079, _Globals_.g_flMetalnessTransitionBias)).xyz;- vec4 _11205 = vec4(_22686, input_4.w);- _11205.x = _22686.x;+ vec3 _22437 = (_18708 * (vec3(1.0) - (_7300 + _23208))).xyz * _13436;+ vec3 _9982;+ vec3 _22798;+ SPIRV_CROSS_BRANCH+ if (_7578 > 0.0)+ {+ float _17864 = saturate(_8634);+ float _10543 = saturate((_8634 + 0.20000000298023223876953125) * 0.833333313465118408203125) * 0.833333313465118408203125;+ _9982 = mix(_22437, mix(pow(_22437, vec3(1.39999997615814208984375, 0.60000002384185791015625, 0.449999988079071044921875)), _22437, vec3(saturate(_17476 * 0.75))), vec3(_7578));+ _22798 = _13143 + ((PerViewLightingConstantBufferGpu_t._m17.xyz * (_12320 * _7578)) * (((vec3(min(_10543, _17864)) + (vec3(0.5, 0.75, 1.0) * max(_10543 - _17864, 0.0))) * mix(1.0, (0.63999998569488525390625 * pow(1.36000001430511474609375 + (1.2000000476837158203125 * dot(_19257, PerViewLightingConstantBufferGpu_t._m16.xyz)), -1.5)) * (1.32679998874664306640625 + (_17864 * (2.138000011444091796875 + (_17864 * (1.677700042724609375 + (_17864 * (-0.361699998378753662109375))))))), 0.300000011920928955078125)) - vec3(_17864)));+ }+ else+ {+ _9982 = _22437;+ _22798 = _13143;+ }+ vec3 _22686 = (_22798.xyz + _9982.xyz) * _16308.xyz;+ float _12931 = _22686.x;+ vec4 _11205 = vec4(_12931, _22686.yz, input_5.w);+ _11205.x = _12931; _11205.y = _22686.y; _11205.z = _22686.z;- vec3 _15752 = _11205.xyz + ((_16324 * (vec3(1.0) + (_22671 * ((0.125 * (_19582 * _19582)) * saturate(dot(_17892, _19257)))))).xyz * _13436).xyz;+ vec3 _15752 = _11205.xyz + ((_16324 * (vec3(1.0) + (_17116 * ((0.125 * (_19582 * _19582)) * saturate(dot(_17892, _19257)))))).xyz * _13436).xyz; vec4 _20493 = _11205; _20493.x = _15752.x; _20493.y = _15752.y; _20493.z = _15752.z;- vec3 _15733 = _20493.xyz + ((((_17116 / vec3(_16308)).xyz * min(dot(_18708.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)) / dot(vec4(_19081, 1.0), (_13141 / vec4(_16308)).xyzw), max((_17751 * PerViewLightingConstantBufferGpu_t._m4.x) + PerViewLightingConstantBufferGpu_t._m4.y, 1.0))).xyz * (_7300 + _23208)).xyz * _13436).xyz;+ vec3 _15733 = _20493.xyz + ((((_17119 / vec3(_16309)).xyz * min(dot(_18708.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)) / dot(vec4(_19081, 1.0), (_13145 / vec4(_16309)).xyzw), max((_17751 * PerViewLightingConstantBufferGpu_t._m4.x) + PerViewLightingConstantBufferGpu_t._m4.y, 1.0))).xyz * (_7300 + _23208)).xyz * _13436).xyz; vec4 _13888 = _20493; _13888.x = _15733.x; _13888.y = _15733.y;@@ -2034,29 +2260,29 @@ PS if (_Globals_.g_bFogEnabled != 0) { vec3 _21493;- vec3 _6538 = _11901 - PerViewConstantBuffer_t._m6.xyz;- vec3 _9057 = _6538.xyz;+ vec3 _23187 = _9737 - PerViewConstantBuffer_t._m7.xyz;+ vec3 _9057 = _23187.xyz; vec3 _19340; do {- _21493 = _6538.xyz;- bool _12893;- if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t._m21.x)+ _21493 = _23187.xyz;+ bool _12895;+ if (dot(_21493, _21493) > PerViewConstantBufferCsgo_t._m22.x) {- _12893 = (_10061.z * PerViewConstantBufferCsgo_t._m21.z) < PerViewConstantBufferCsgo_t._m21.y;+ _12895 = (_10061.z * PerViewConstantBufferCsgo_t._m22.z) < PerViewConstantBufferCsgo_t._m22.y; } else {- _12893 = false;+ _12895 = false; } SPIRV_CROSS_BRANCH- if (_12893)+ if (_12895) { float _17979 = length(_21493);- vec2 _9342 = saturate(PerViewConstantBufferCsgo_t._m18.xy + (PerViewConstantBufferCsgo_t._m18.zw * vec2(mix(_17979, _17979 * PerViewConstantBufferCsgo_t._m30.y, _Globals_.g_flFogModificationAmount), _10061.z)));- float _13533 = (pow(_9342.x, PerViewConstantBufferCsgo_t._m19.x) * pow(_9342.y, PerViewConstantBufferCsgo_t._m19.y)) * PerViewConstantBufferCsgo_t._m20.w;- float _12715 = mix(_13533, _13533 * PerViewConstantBufferCsgo_t._m30.z, _Globals_.g_flFogModificationAmount);- _19340 = mix(_13888.xyz, vec4(PerViewConstantBufferCsgo_t._m20.xyz, _12715).xyz, vec3(_12715));+ vec2 _9342 = saturate(PerViewConstantBufferCsgo_t._m19.xy + (PerViewConstantBufferCsgo_t._m19.zw * vec2(mix(_17979, _17979 * PerViewConstantBufferCsgo_t._m32.y, _Globals_.g_flFogModificationAmount), _10061.z)));+ float _13533 = (pow(_9342.x, PerViewConstantBufferCsgo_t._m20.x) * pow(_9342.y, PerViewConstantBufferCsgo_t._m20.y)) * PerViewConstantBufferCsgo_t._m21.w;+ float _12715 = mix(_13533, _13533 * PerViewConstantBufferCsgo_t._m32.z, _Globals_.g_flFogModificationAmount);+ _19340 = mix(_13888.xyz, vec4(PerViewConstantBufferCsgo_t._m21.xyz, _12715).xyz, vec3(_12715)); break; } _19340 = _13888.xyz;@@ -2069,21 +2295,21 @@ PS vec3 _19341; do {- bool _12894;- if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t._m25.x)+ bool _12896;+ if (dot(_9057, _9057) > PerViewConstantBufferCsgo_t._m26.x) {- _12894 = (PerViewConstantBufferCsgo_t._m25.z * _10061.z) < PerViewConstantBufferCsgo_t._m25.y;+ _12896 = (PerViewConstantBufferCsgo_t._m26.z * _10061.z) < PerViewConstantBufferCsgo_t._m26.y; } else {- _12894 = false;+ _12896 = false; }- if (_12894)+ if (_12896) { float _17980 = length(_21493);- float _14602 = saturate(pow(max(0.0, (mix(_17980, _17980 * PerViewConstantBufferCsgo_t._m30.y, _Globals_.g_flFogModificationAmount) * PerViewConstantBufferCsgo_t._m22.y) + PerViewConstantBufferCsgo_t._m22.x), PerViewConstantBufferCsgo_t._m22.w)) * saturate(pow(max(0.0, (_10061.z * PerViewConstantBufferCsgo_t._m23.y) + PerViewConstantBufferCsgo_t._m23.x), PerViewConstantBufferCsgo_t._m23.z));- float _16973 = saturate(_14602) * mix(PerViewConstantBufferCsgo_t._m25.w, PerViewConstantBufferCsgo_t._m25.w * PerViewConstantBufferCsgo_t._m30.z, _Globals_.g_flFogModificationAmount);- _19341 = mix(_23944.xyz, vec4((textureLod(samplerCube(g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), normalize((PerViewConstantBufferCsgo_t._m24 * vec4(_9057, 0.0)).xyz).xyz, PerViewConstantBufferCsgo_t._m23.w * saturate(1.0 - (_14602 * PerViewConstantBufferCsgo_t._m22.z))) * PerViewConstantBufferCsgo_t._m26.x).xyz, _16973).xyz, vec3(_16973));+ float _14602 = saturate(pow(max(0.0, (mix(_17980, _17980 * PerViewConstantBufferCsgo_t._m32.y, _Globals_.g_flFogModificationAmount) * PerViewConstantBufferCsgo_t._m23.y) + PerViewConstantBufferCsgo_t._m23.x), PerViewConstantBufferCsgo_t._m23.w)) * saturate(pow(max(0.0, (_10061.z * PerViewConstantBufferCsgo_t._m24.y) + PerViewConstantBufferCsgo_t._m24.x), PerViewConstantBufferCsgo_t._m24.z));+ float _16973 = saturate(_14602) * mix(PerViewConstantBufferCsgo_t._m26.w, PerViewConstantBufferCsgo_t._m26.w * PerViewConstantBufferCsgo_t._m32.z, _Globals_.g_flFogModificationAmount);+ _19341 = mix(_23944.xyz, vec4((textureLod(samplerCube(g_bindless_TextureCube_float4[PerViewConstantBufferCsgo_t._m6], g_bindless_Sampler[_Globals_.g_sTrilinearClamp]), normalize((PerViewConstantBufferCsgo_t._m25 * vec4(_9057, 0.0)).xyz).xyz, PerViewConstantBufferCsgo_t._m24.w * saturate(1.0 - (_14602 * PerViewConstantBufferCsgo_t._m23.z))) * PerViewConstantBufferCsgo_t._m27.x).xyz, _16973).xyz, vec3(_16973)); break; } _19341 = _23944.xyz;@@ -2101,34 +2327,34 @@ PS vec3 _19342; if (_Globals_.g_flSpawnInvulnerability > 0.0) {- float _11148 = 1.0 - saturate(dot(_19257, _24735));- _19342 = mix(_19366.xyz, _Globals_.g_cInvulnerabilityColor * (mix(dot(_19366.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)), 0.5, 0.5) + (4.0 * pow(mix(_11148 * texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m14, 0).xy, 0).y, 1.0, _11148), mix(3.0, 6.0, 1.0 + (sin(PerViewConstantBuffer_t._m0 * 20.0) * 0.5))))), vec3(_Globals_.g_flSpawnInvulnerability));+ float _11148 = 1.0 - saturate(dot(_19257, _17117.xyz));+ _19342 = mix(_19366.xyz, _Globals_.g_cInvulnerabilityColor * (mix(dot(_19366.xyz, vec3(0.2125000059604644775390625, 0.7153999805450439453125, 0.07209999859333038330078125)), 0.5, 0.5) + (4.0 * pow(mix(_11148 * texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m15, 0).xy, 0).y, 1.0, _11148), mix(3.0, 6.0, 1.0 + (sin(PerViewConstantBuffer_t._m1 * 20.0) * 0.5))))), vec3(_Globals_.g_flSpawnInvulnerability)); } else { _19342 = _19366.xyz; }- vec4 _23946 = _19366;- _23946.x = _19342.x;- _23946.y = _19342.y;- _23946.z = _19342.z;+ vec4 _23947 = _19366;+ _23947.x = _19342.x;+ _23947.y = _19342.y;+ _23947.z = _19342.z; SPIRV_CROSS_BRANCH if (_Globals_.g_vKeychainGhostHandData.w > 0.0) {- float _11567 = saturate((smoothstep(6.0, 2.0, distance(_Globals_.g_vKeychainGhostHandData.xyz, _11901)) - 1.0) * (-1.0));- if ((texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m14, 0).xy, 0).y - mix((_11567 * 0.5099999904632568359375) + 0.5, (_11567 * 0.90999996662139892578125) + 0.100000001490116119384765625, smoothstep(0.100000001490116119384765625, 1.0, _Globals_.g_vKeychainGhostHandData.w))) < 0.0)+ float _11567 = saturate((smoothstep(6.0, 2.0, distance(_Globals_.g_vKeychainGhostHandData.xyz, _9737)) - 1.0) * (-1.0));+ if ((texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m15, 0).xy, 0).y - mix((_11567 * 0.5099999904632568359375) + 0.5, (_11567 * 0.90999996662139892578125) + 0.100000001490116119384765625, smoothstep(0.100000001490116119384765625, 1.0, _Globals_.g_vKeychainGhostHandData.w))) < 0.0) { discard; } }- if (input_4.w < 1.0)+ if (input_5.w < 1.0) {- if ((fma(input_4.w, 2.0, -1.5) + texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m14, 0).xy, 0).y) < 0.0)+ if ((fma(input_5.w, 2.0, -1.5) + texelFetch(g_bindless_Texture2D_float4[PerViewConstantBufferCsgo_t._m4], ivec3(ivec2(_11408.xy) & PerViewConstantBufferCsgo_t._m15, 0).xy, 0).y) < 0.0) { discard; } }- output_0 = _23946;+ output_0 = _23947; } game/csgo/shaders_vulkan_dir/shaders/vfx/csgo_weapon_sticker.slang
modified • +164 / -153 • changes: 317
Show patch
@@ -300,7 +300,7 @@ PS Texture2D g_tStickerScratches < Channel(R, Box(TextureStickerScratches), Linear); OutputFormat(BC7); SrgbRead(false); >; float3 g_vAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.045,.4,1.15).x,-1.4427*log(max(.0001,1-float3(-.045,.4,1.15).y)),2-float3(-.045,.4,1.15).z)); >; float3 g_vDarkMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.1,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.1,.4,1.08).y)),2-float3(-.1,.4,1.08).z)); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float3 g_vHoloAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.05,.35,1.15).x,-1.4427*log(max(.0001,1-float3(-.05,.35,1.15).y)),2-float3(-.05,.35,1.15).z)); >; float3 g_vMetallicAlbedoLevels < UiType(VectorText); Expression(float3(-float3(-.45,.4,1.08).x,-1.4427*log(max(.0001,1-float3(-.45,.4,1.08).y)),2-float3(-.45,.4,1.08).z)); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >;@@ -390,12 +390,12 @@ PS #extension GL_EXT_samplerless_texture_functions : require #extension GL_KHR_shader_subgroup_arithmetic : require - struct _701+ struct _953 { vec4 _m0[3]; }; - struct _911+ struct _1163 { vec4 _m0[4]; };@@ -411,12 +411,12 @@ PS vec4 _m6; }; - struct _1269+ struct _2904 { _1677 _m0[128]; }; - struct _2848+ struct _954 { mat4 _m0[4]; };@@ -527,15 +527,15 @@ PS layout(set = 1) uniform _1503 PerViewConstantBuffer_t; - struct _2145+ struct _1655 { vec4 _m0; vec4 _m1; vec4 _m2; vec4 _m3; vec4 _m4;- _701 _m5;- _911 _m6;+ _953 _m5;+ _1163 _m6; vec4 _m7; vec4 _m8; vec4 _m9;@@ -544,7 +544,7 @@ PS uvec4 _m12; vec4 _m13; vec4 _m14;- _1269 _m15;+ _2904 _m15; vec4 _m16; vec4 _m17; int _m18;@@ -554,11 +554,11 @@ PS float _m22; float _m23; float _m24;- _2848 _m25;- _911 _m26;+ _954 _m25;+ _1163 _m26; }; - layout(set = 3) uniform _2145 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _1655 PerViewLightingConstantBufferGpu_t; layout(set = 3, binding = 30, std430) readonly buffer g_CullBits {@@ -571,33 +571,33 @@ PS } g_BarnLights_1; layout(set = 1, binding = 51) uniform texture2D g_tColor;- layout(set = 1, binding = 20) uniform sampler g_sUserConfigAllowGlobalMipBias;+ layout(set = 1, binding = 21) uniform sampler g_sUserConfigAllowGlobalMipBias; layout(set = 1, binding = 54) uniform texture2D g_tAmbientOcclusion;- layout(set = 1, binding = 19) uniform sampler g_sUserConfig;+ layout(set = 1, binding = 20) uniform sampler g_sUserConfig; layout(set = 1, binding = 55) uniform texture2D g_tMetalness; layout(set = 1, binding = 52) uniform texture2D g_tNormal; layout(set = 1, binding = 14) uniform sampler g_sAniso; layout(set = 1, binding = 57) uniform texture2D g_tSticker0; layout(set = 1, binding = 59) uniform texture2D g_tNormalRoughnessSticker0; layout(set = 1, binding = 61) uniform texture2D g_tSfxMaskSticker0;- layout(set = 1, binding = 25) uniform sampler g_sPoint;+ layout(set = 1, binding = 26) uniform sampler g_sPoint; layout(set = 1, binding = 60) uniform texture2D g_tGlitterNormalSticker0;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 58) uniform texture2D g_tHoloSpectrumSticker0;- layout(set = 1, binding = 26) uniform sampler g_sAnisoClampV;+ layout(set = 1, binding = 27) uniform sampler g_sAnisoClampV; layout(set = 1, binding = 56) uniform texture2D g_tStickerScratches; layout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;- layout(set = 1, binding = 22) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 23) uniform sampler g_sCookieSampler; layout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;- layout(set = 1, binding = 18) uniform sampler g_sPointClamp;+ layout(set = 1, binding = 19) uniform sampler g_sPointClamp; layout(set = 1, binding = 39) uniform texture2D g_tSsao;- layout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture; layout(set = 1, binding = 40) uniform textureCubeArray g_tEnvironmentMap;- layout(set = 1, binding = 15) uniform sampler g_sBilinearClamp;+ layout(set = 1, binding = 16) uniform sampler g_sBilinearClamp; layout(set = 1, binding = 35) uniform texture2DArray g_tBRDFLookup; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture; @@ -1451,162 +1451,173 @@ PS { _21712 = _21711; }- float _21713;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m18 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13147;- vec3 _14975;- int _13039 = 0;- for (;;)- {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18))- {- _13147 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039])- {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;- vec3 _20493 = _19470;- _20493.x = _20561.x;- _20493.y = _20561.y;- _13147 = saturate(_22193.x * _22193.y);- _14975 = _20493;- _10191 = _13039;- break;- }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)+ float _12508;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m18 != 0) {- vec2 _7045;- vec2 _7046;- vec2 _7735;- float _8969;- float _8970;- float _15996;- float _17302;- vec2 _18870;- vec4 _20581;- vec4 _22024;- float _23728;- do+ int _23989;+ int _10191;+ float _13147;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);- _20581 = PerViewLightingConstantBufferGpu_t._m0;- _22024 = PerViewLightingConstantBufferGpu_t._m1;- _17302 = PerViewLightingConstantBufferGpu_t._m2.z;- _15996 = PerViewLightingConstantBufferGpu_t._m3.z;- _18870 = vec2(_17302, _15996);- _8969 = PerViewLightingConstantBufferGpu_t._m2.y;- _7045 = vec2(_8969, _15996);- _8970 = PerViewLightingConstantBufferGpu_t._m3.y;- _7046 = vec2(_17302, _8970);- _7735 = vec2(_8969, _8970);- float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));- bool _12892;- if (_15310 == 0.0)- {- _12892 = true;- }- else+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m18)) {- _12892 = _15310 == 1.0;+ _13147 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break; }- if (_12892)+ vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m20[_13039]) {- _23728 = _15310;+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m22)) + vec2(PerViewLightingConstantBufferGpu_t._m21));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m26._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_13039].xy;+ vec3 _20493 = _19470;+ _20493.x = _20561.x;+ _20493.y = _20561.y;+ _13147 = saturate(_22193.x * _22193.y);+ _14975 = _20493;+ _10191 = _13039; break; }- _23728 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17302, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22024.y);- break;- } while(false);- float _12506;- SPIRV_CROSS_BRANCH- if (_13147 < 1.0)+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue;+ }+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ vec2 _7045;+ vec2 _7046;+ vec2 _7735;+ float _8969;+ float _8970;+ float _15996;+ float _17302;+ vec2 _18870;+ vec4 _20581;+ vec4 _22024;+ float _23728;+ do {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;- vec3 _20494;- _20494.x = _20562.x;- _20494.y = _20562.y;- float _12505;- do+ float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m19);+ _20581 = PerViewLightingConstantBufferGpu_t._m0;+ _22024 = PerViewLightingConstantBufferGpu_t._m1;+ _17302 = PerViewLightingConstantBufferGpu_t._m2.z;+ _15996 = PerViewLightingConstantBufferGpu_t._m3.z;+ _18870 = vec2(_17302, _15996);+ _8969 = PerViewLightingConstantBufferGpu_t._m2.y;+ _7045 = vec2(_8969, _15996);+ _8970 = PerViewLightingConstantBufferGpu_t._m3.y;+ _7046 = vec2(_17302, _8970);+ _7735 = vec2(_8969, _8970);+ float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));+ bool _12892;+ if (_15310 == 0.0) {- float _20324 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);- float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _18870).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7045).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7046).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7735).xy, _20324), 0.0)).xyzw, vec4(0.25));- bool _12893;- if (_15311 == 0.0)- {- _12893 = true;- }- else- {- _12893 = _15311 == 1.0;- }- if (_12893)+ _12892 = true;+ }+ else+ {+ _12892 = _15310 == 1.0;+ }+ if (_12892)+ {+ _23728 = _15310;+ break;+ }+ _23728 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17302, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22024.y);+ break;+ } while(false);+ float _12506;+ SPIRV_CROSS_BRANCH+ if (_13147 < 1.0)+ {+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m18 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m25._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m26._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m26._m0[_15335].xy;+ vec3 _20494;+ _20494.x = _20562.x;+ _20494.y = _20562.y;+ float _12505;+ do {- _12505 = _15311;+ float _20324 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m19);+ float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _18870).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7045).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7046).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + _7735).xy, _20324), 0.0)).xyzw, vec4(0.25));+ bool _12893;+ if (_15311 == 0.0)+ {+ _12893 = true;+ }+ else+ {+ _12893 = _15311 == 1.0;+ }+ if (_12893)+ {+ _12505 = _15311;+ break;+ }+ _12505 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(_17302, 0.0)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(_8969, 0.0)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(0.0, _8970)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(0.0, _15996)).xy, _20324), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20494.xy, _20324), 0.0) * _22024.y); break;- }- _12505 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(_17302, 0.0)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(_8969, 0.0)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(0.0, _8970)).xy, _20324), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20494.xy + vec2(0.0, _15996)).xy, _20324), 0.0)).xyzw, _22024.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20494.xy, _20324), 0.0) * _22024.y);- break;- } while(false);- _7934 = _12505;+ } while(false);+ _7934 = _12505;+ }+ else+ {+ _7934 = 1.0;+ }+ _12506 = mix(_7934, _23728, _13147); } else {- _7934 = 1.0;+ _12506 = _23728; }- _12506 = mix(_7934, _23728, _13147);+ _19363 = _12506; } else {- _12506 = _23728;+ _19363 = 1.0; }- _19363 = _12506;- }- else- {- _19363 = 1.0;- }- float _13279 = mix(_19363, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m4) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));- float _12507;- if (_24465.y)- {- _12507 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_21678.xy * PerViewConstantBuffer_t._m3.xy).xy, 0.0).z);+ float _13279 = mix(_19363, 1.0, saturate((distance(_7639.xyz, PerViewConstantBuffer_t._m4) * PerViewLightingConstantBufferGpu_t._m24) + PerViewLightingConstantBufferGpu_t._m23));+ float _12507;+ if (_24465.y)+ {+ _12507 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_21678.xy * PerViewConstantBuffer_t._m3.xy).xy, 0.0).z);+ }+ else+ {+ _12507 = _13279;+ }+ _12508 = _12507; } else {- _12507 = _13279;+ _12508 = 1.0; }- _21713 = _12507;+ _12320 = _12508; } else {- _21713 = 1.0;+ _12320 = 1.0; } vec3 _9716; vec3 _24878; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _24735) * _21713) > 0.0)+ if ((_8634 * _12320) > 0.0) { float _11797 = max(0.0, dot(_14788.xyz, PerViewLightingConstantBufferGpu_t._m16.xyz)); vec2 _9840 = max(_11004, vec2(PerViewLightingConstantBufferGpu_t._m16.w));@@ -1621,7 +1632,7 @@ PS float _16150 = _9850 + 1.0; float _6835 = (_16150 * _16150) * 0.125; float _19569 = 1.0 - _6835;- vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _21713).xyz;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m17.xyz * _12320).xyz; _9716 = PerViewLightingConstantBufferGpu_t._m9.xyz + (vec3(_11797).xyz * _16808); _24878 = (((_22995 + ((vec3(1.0) - _22995) * pow(max(9.9999999747524270787835121154785e-07, 1.0 - max(0.0, dot(PerViewLightingConstantBufferGpu_t._m16.xyz, _12281))), 5.0))) * ((_24198 * _24198) / ((4.0 * ((_11797 * _19569) + _6835)) * ((max(0.0, dot(_19012, _21889)) * _19569) + _6835)))).xyz * _11797).xyz * _16808; }@@ -1822,7 +1833,7 @@ PS } else {- vec3 _12508;+ vec3 _12509; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -1838,7 +1849,7 @@ PS vec3 _20497 = _14081; _20497.x = _20564.x; _20497.y = _20564.y;- _12508 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20497.xyz, 0.0).xyz;+ _12509 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20497.xyz, 0.0).xyz; } else {@@ -1847,9 +1858,9 @@ PS vec3 _20496 = _13791; _20496.x = _20563.x; _20496.y = _20563.y;- _12508 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20496.xyz, 0.0).xyz;+ _12509 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20496.xyz, 0.0).xyz; }- _21548 = _12508;+ _21548 = _12509; } if (all(equal(_21548.xyz, vec3(0.0)))) {@@ -1877,8 +1888,8 @@ PS do { float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m19);- vec2 _14615 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;- float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));+ vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;+ float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25)); bool _12895; if (_15312 == 0.0) {@@ -1893,7 +1904,7 @@ PS _24972 = _15312; break; }- _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14615, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);+ _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y); break; } while(false); vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12);game/csgo/shaders_vulkan_dir/shaders/vfx/generic.slang
modified • +170 / -159 • changes: 329
Show patch
@@ -330,7 +330,7 @@ PS Texture2D g_tSsao < Attribute("SSAOOcclusionFactor"); SrgbRead(false); >; Texture2D g_tTintMask < Channel(G, Box(TextureTintMask), Linear); OutputFormat(DXT1); SrgbRead(false); >; Texture2D g_tZeroth_Moment < Attribute("zeroth_moment"); SrgbRead(true); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float2 g_vMetalnessScaleAndBias < UiType(VectorText); Expression(float2(max(g_vMetalnessRange.x,g_vMetalnessRange.y)-g_vMetalnessRange.x,g_vMetalnessRange.x)); >; float2 g_vReflectanceScaleAndBias < UiType(VectorText); Expression(float2(max(g_vReflectanceRange.x,g_vReflectanceRange.y)-g_vReflectanceRange.x,g_vReflectanceRange.x)); >; float2 g_vRoughnessScaleAndBias < UiType(VectorText); Expression(float2(max(1-g_vGlossinessRange.x,1-g_vGlossinessRange.y)-(1-g_vGlossinessRange.y),1-g_vGlossinessRange.y)); >;@@ -346,9 +346,9 @@ PS CreateInputTexture2D(TextureGlossiness, Linear, 8, "", "_gloss", "Lighting,30/Gloss,20/10", Default4(0.5, 0.5, 0.5, 0)); CreateInputTexture2D(TextureMetalness, Linear, 8, "", "_metal", "Lighting,30/Metalness,30/10", Default4(0, 0, 0, 0)); CreateInputTexture2D(TextureReflectance, Linear, 8, "", "_refl", "Lighting,30/Reflectance,10/10", Default4(0.1, 0.1, 0.1, 0));- float2 g_vGlossinessRange < Default(0); UiType(VectorText); UiGroup("Lighting,30/Gloss/20"); >;- float2 g_vMetalnessRange < Default(0); UiType(VectorText); UiGroup("Lighting,30/Metalness/20"); >;- float2 g_vReflectanceRange < Default(0); UiType(VectorText); UiGroup("Lighting,30/Reflectance/20"); >;+ float2 g_vGlossinessRange < Default2(0, 1); UiType(VectorText); UiGroup("Lighting,30/Gloss/20"); >;+ float2 g_vMetalnessRange < Default2(0, 1); UiType(VectorText); UiGroup("Lighting,30/Metalness/20"); >;+ float2 g_vReflectanceRange < Default2(0, 1); UiType(VectorText); UiGroup("Lighting,30/Reflectance/20"); >; // Normal Map CreateInputTexture2D(TextureNormal, Linear, 8, "NormalizeNormals", "_normal", "Normal Map,20", Default4(0.5, 0.5, 1, 0));@@ -407,17 +407,17 @@ PS #endif #extension GL_KHR_shader_subgroup_arithmetic : require - struct _2116+ struct _2368 { vec4 _m0[3]; }; - struct _2326+ struct _2578 { vec4 _m0[4]; }; - struct _1802+ struct _2918 { mat4 _m0[4]; };@@ -487,14 +487,14 @@ PS layout(set = 1) uniform _2806 PerViewConstantBufferCsgo_t; - struct _295+ struct _2166 { vec4 _m0; vec4 _m1; vec4 _m2; vec4 _m3;- _2116 _m4;- _2326 _m5;+ _2368 _m4;+ _2578 _m5; vec4 _m6; vec4 _m7; vec4 _m8;@@ -510,11 +510,11 @@ PS float _m18; float _m19; float _m20;- _1802 _m21;- _2326 _m22;+ _2918 _m21;+ _2578 _m22; }; - layout(set = 3) uniform _295 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _2166 PerViewLightingConstantBufferGpu_t; struct _1194 {@@ -537,18 +537,18 @@ PS } g_BarnLights_1; layout(set = 1, binding = 51) uniform texture2D g_tColor;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 52) uniform texture2D g_tNormal; layout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;- layout(set = 1, binding = 22) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 23) uniform sampler g_sCookieSampler; layout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;- layout(set = 1, binding = 18) uniform sampler g_sPointClamp;+ layout(set = 1, binding = 19) uniform sampler g_sPointClamp; layout(set = 1, binding = 39) uniform texture2D g_tSsao;- layout(set = 1, binding = 19) uniform sampler g_sUserConfig;- layout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 20) uniform sampler g_sUserConfig;+ layout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture; @@ -691,167 +691,178 @@ PS { _21710 = _21709; }- float _21711;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m12.xyz, _24735);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m14 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13136;- vec3 _14975;- int _13039 = 0;- for (;;)- {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m14))- {- _13136 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m21._m0[_13039];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m16[_13039])- {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m18)) + vec2(PerViewLightingConstantBufferGpu_t._m17));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m22._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m22._m0[_13039].xy;- vec3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;- }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)+ float _12504;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m14 != 0) {- vec2 _7045;- vec2 _7046;- vec2 _7735;- float _8969;- float _8970;- float _15996;- float _17299;- vec2 _18870;- vec4 _20581;- vec4 _22023;- float _23727;- do+ int _23989;+ int _10191;+ float _13136;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m15);- _20581 = PerViewLightingConstantBufferGpu_t._m0;- _22023 = PerViewLightingConstantBufferGpu_t._m1;- _17299 = PerViewLightingConstantBufferGpu_t._m2.z;- _15996 = PerViewLightingConstantBufferGpu_t._m3.z;- _18870 = vec2(_17299, _15996);- _8969 = PerViewLightingConstantBufferGpu_t._m2.y;- _7045 = vec2(_8969, _15996);- _8970 = PerViewLightingConstantBufferGpu_t._m3.y;- _7046 = vec2(_17299, _8970);- _7735 = vec2(_8969, _8970);- float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));- bool _12887;- if (_15310 == 0.0)- {- _12887 = true;- }- else+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m14)) {- _12887 = _15310 == 1.0;+ _13136 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break; }- if (_12887)+ vec4 _18322 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m21._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m16[_13039]) {- _23727 = _15310;+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m18)) + vec2(PerViewLightingConstantBufferGpu_t._m17));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m22._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m22._m0[_13039].xy;+ vec3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039; break; }- _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22023.y);- break;- } while(false);- float _12502;- SPIRV_CROSS_BRANCH- if (_13136 < 1.0)+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue;+ }+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m14 - 1))+ vec2 _7045;+ vec2 _7046;+ vec2 _7735;+ float _8969;+ float _8970;+ float _15996;+ float _17299;+ vec2 _18870;+ vec4 _20581;+ vec4 _22023;+ float _23727;+ do {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m21._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m22._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m22._m0[_15335].xy;- vec3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- float _12501;- do+ float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m15);+ _20581 = PerViewLightingConstantBufferGpu_t._m0;+ _22023 = PerViewLightingConstantBufferGpu_t._m1;+ _17299 = PerViewLightingConstantBufferGpu_t._m2.z;+ _15996 = PerViewLightingConstantBufferGpu_t._m3.z;+ _18870 = vec2(_17299, _15996);+ _8969 = PerViewLightingConstantBufferGpu_t._m2.y;+ _7045 = vec2(_8969, _15996);+ _8970 = PerViewLightingConstantBufferGpu_t._m3.y;+ _7046 = vec2(_17299, _8970);+ _7735 = vec2(_8969, _8970);+ float _15310 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _18870).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7045).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7046).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + _7735).xy, _21452), 0.0)).xyzw, vec4(0.25));+ bool _12887;+ if (_15310 == 0.0) {- float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m15);- float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));- bool _12888;- if (_15311 == 0.0)- {- _12888 = true;- }- else- {- _12888 = _15311 == 1.0;- }- if (_12888)+ _12887 = true;+ }+ else+ {+ _12887 = _15310 == 1.0;+ }+ if (_12887)+ {+ _23727 = _15310;+ break;+ }+ _23727 = ((_15310 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_17299, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(_8969, 0.0)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _8970)).xy, _21452), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14975.xy + vec2(0.0, _15996)).xy, _21452), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, _21452), 0.0) * _22023.y);+ break;+ } while(false);+ float _12502;+ SPIRV_CROSS_BRANCH+ if (_13136 < 1.0)+ {+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m14 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(input_0.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m21._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m22._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m22._m0[_15335].xy;+ vec3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ float _12501;+ do {- _12501 = _15311;+ float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m15);+ float _15311 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _18870).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7045).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7046).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + _7735).xy, _20322), 0.0)).xyzw, vec4(0.25));+ bool _12888;+ if (_15311 == 0.0)+ {+ _12888 = true;+ }+ else+ {+ _12888 = _15311 == 1.0;+ }+ if (_12888)+ {+ _12501 = _15311;+ break;+ }+ _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y); break;- }- _12501 = ((_15311 * (_20581.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_17299, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(_8969, 0.0)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _8970)).xy, _20322), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_20489.xy + vec2(0.0, _15996)).xy, _20322), 0.0)).xyzw, _22023.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, _20322), 0.0) * _22023.y);- break;- } while(false);- _7934 = _12501;+ } while(false);+ _7934 = _12501;+ }+ else+ {+ _7934 = 1.0;+ }+ _12502 = mix(_7934, _23727, _13136); } else {- _7934 = 1.0;+ _12502 = _23727; }- _12502 = mix(_7934, _23727, _13136);+ _19363 = _12502; } else {- _12502 = _23727;+ _19363 = 1.0; }- _19363 = _12502;- }- else- {- _19363 = 1.0;- }- float _13279 = mix(_19363, 1.0, saturate((distance(_11095.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m20) + PerViewLightingConstantBufferGpu_t._m19));- float _12503;- if (_24465.y)- {- _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ float _13279 = mix(_19363, 1.0, saturate((distance(_11095.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m20) + PerViewLightingConstantBufferGpu_t._m19));+ float _12503;+ if (_24465.y)+ {+ _12503 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_11408.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12503 = _13279;+ }+ _12504 = _12503; } else {- _12503 = _13279;+ _12504 = 1.0; }- _21711 = _12503;+ _12320 = _12504; } else {- _21711 = 1.0;+ _12320 = 1.0; }- vec3 _21712;+ vec3 _21711; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m12.xyz, _24735) * _21711) > 0.0)+ if ((_8634 * _12320) > 0.0) {- _21712 = PerViewLightingConstantBufferGpu_t._m8.xyz + (vec3(max(0.0, dot(_24299.xyz, PerViewLightingConstantBufferGpu_t._m12.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m13.xyz * _21711).xyz);+ _21711 = PerViewLightingConstantBufferGpu_t._m8.xyz + (vec3(max(0.0, dot(_24299.xyz, PerViewLightingConstantBufferGpu_t._m12.xyz))).xyz * (PerViewLightingConstantBufferGpu_t._m13.xyz * _12320).xyz); } else {- _21712 = PerViewLightingConstantBufferGpu_t._m8.xyz;+ _21711 = PerViewLightingConstantBufferGpu_t._m8.xyz; } bvec4 _24467 = notEqual(PerViewConstantBufferCsgo_t._m2, ivec4(0)); bool _20061 = _24467.x;@@ -875,7 +886,7 @@ PS uint _10838 = PerViewLightingConstantBufferGpu_t._m9.y + (((_12083.y * PerViewLightingConstantBufferGpu_t._m10.y) + _12083.x) * PerViewLightingConstantBufferGpu_t._m9.z); uint _23393 = PerViewLightingConstantBufferGpu_t._m9.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t._m11.x, 0.0, PerViewLightingConstantBufferGpu_t._m11.y)) * PerViewLightingConstantBufferGpu_t._m9.z); vec3 _13155;- _13155 = _21712;+ _13155 = _21711; uint _21567; vec3 _13156; uint _16208 = 0u;@@ -888,7 +899,7 @@ PS uint _14475 = subgroupOr(g_CullBits_1._m0[_10838 + _16208] & g_CullBits_1._m0[_23393 + _16208]); _13156 = _13155; uint _20344;- vec3 _12505;+ vec3 _12506; uint _16209 = _14475; for (;;) {@@ -928,7 +939,7 @@ PS } if (_12889) {- _12505 = _13156;+ _12506 = _13156; break; } float _23571 = 2.0 * g_BarnLights_1._m0[_12608]._m5.y;@@ -1038,7 +1049,7 @@ PS } else {- vec3 _12504;+ vec3 _12505; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -1054,7 +1065,7 @@ PS vec3 _20491 = _14081; _20491.x = _20564.x; _20491.y = _20564.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20491.xyz, 0.0).xyz; } else {@@ -1063,13 +1074,13 @@ PS vec3 _20490 = _13791; _20490.x = _20563.x; _20490.y = _20563.y;- _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz;+ _12505 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20490.xyz, 0.0).xyz; }- _21548 = _12504;+ _21548 = _12505; } if (all(equal(_21548.xyz, vec3(0.0)))) {- _12505 = _13156;+ _12506 = _13156; break; } vec3 _19630;@@ -1092,8 +1103,8 @@ PS do { float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t._m15);- vec2 _14615 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;- float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25));+ vec2 _14616 = vec3(fma(_19629.xy, g_BarnLights_1._m0[_12608]._m8.zw, g_BarnLights_1._m0[_12608]._m8.xy), _19629.z).xy;+ float _15312 = dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0)).xyzw, vec4(0.25)); bool _12890; if (_15312 == 0.0) {@@ -1108,13 +1119,13 @@ PS _24972 = _15312; break; }- _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14615 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14615, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y);+ _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t._m0.w * 4.0)) + dot(vec4(textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.z, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(PerViewLightingConstantBufferGpu_t._m2.y, 0.0)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.y)).xy, _11455), 0.0), textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3((_14616 + vec2(0.0, PerViewLightingConstantBufferGpu_t._m3.z)).xy, _11455), 0.0)).xyzw, PerViewLightingConstantBufferGpu_t._m1.xxxx)) + (textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14616, _11455), 0.0) * PerViewLightingConstantBufferGpu_t._m1.y); break; } while(false); vec3 _19878 = _21548.xyz * mix(1.0, _24972, g_BarnLights_1._m0[_12608]._m12); if (all(equal(_19878.xyz, vec3(0.0)))) {- _12505 = _13156;+ _12506 = _13156; break; } _19630 = _19878;@@ -1123,10 +1134,10 @@ PS { _19630 = _21548; }- _12505 = _13156.xyz + (vec3(max(0.0, dot(_24299.xyz, _11179.xyz))).xyz * _19630.xyz);+ _12506 = _13156.xyz + (vec3(max(0.0, dot(_24299.xyz, _11179.xyz))).xyz * _19630.xyz); break; } while(false);- _13156 = _12505;+ _13156 = _12506; _16209 = _20344; continue; }game/csgo/shaders_vulkan_dir/shaders/vfx/grasstile.slang
modified • +163 / -152 • changes: 315
Show patch
@@ -330,7 +330,7 @@ PS Texture2D g_tParticleShadowBuffer < Attribute("ParticleShadowBuffer"); SrgbRead(false); >; Texture2D g_tShadowDepthBufferDepth < Attribute("ShadowDepthBuffer"); SrgbRead(false); >; Texture2D g_tSsao < Attribute("SSAOOcclusionFactor"); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float3 g_vGrassColorTint < UiType(Color); Expression(SrgbGammaToLinear(this)); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; @@ -353,17 +353,17 @@ PS // Source 2 Viewer - https://valveresourceformat.github.io // SPIR-V source, HLSL reflection with SPIRV-Cross by KhronosGroup - struct _1108+ struct _1402 { float4 _m0[3]; }; - struct _1890+ struct _2100 { float4 _m0[4]; }; - struct _2452+ struct _371 { column_major float4x4 _m0[4]; };@@ -430,7 +430,7 @@ PS float4 PerViewLightingConstantBufferGpu_t_1_m1 : packoffset(c1); float4 PerViewLightingConstantBufferGpu_t_1_m2 : packoffset(c2); float4 PerViewLightingConstantBufferGpu_t_1_m3 : packoffset(c3);- _1108 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c7);+ _1402 PerViewLightingConstantBufferGpu_t_1_m4 : packoffset(c7); float4 PerViewLightingConstantBufferGpu_t_1_m5 : packoffset(c18); uint4 PerViewLightingConstantBufferGpu_t_1_m6 : packoffset(c19); uint4 PerViewLightingConstantBufferGpu_t_1_m7 : packoffset(c22);@@ -444,8 +444,8 @@ PS float PerViewLightingConstantBufferGpu_t_1_m15 : packoffset(c1955.y); float PerViewLightingConstantBufferGpu_t_1_m16 : packoffset(c1955.z); float PerViewLightingConstantBufferGpu_t_1_m17 : packoffset(c1955.w);- _2452 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);- _1890 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988);+ _371 PerViewLightingConstantBufferGpu_t_1_m18 : packoffset(c1956);+ _2100 PerViewLightingConstantBufferGpu_t_1_m19 : packoffset(c1988); }; cbuffer PerViewConstantBuffer_t : register(b1, space1)@@ -463,14 +463,14 @@ PS Texture2D<float4> g_tGrassQuadSpecularArray : register(t44, space1); SamplerState AddressU_Clamp_AddressV_Clamp_Filter_Anisotropic_MaxAniso_8 : register(s15, space1); Texture2D<float4> g_tAmbientOcclusion : register(t53, space1);- SamplerState g_sUserConfig : register(s21, space1);- SamplerComparisonState g_tShadowDepthBufferCmpSampler : register(s25, space1);+ SamplerState g_sUserConfig : register(s22, space1);+ SamplerComparisonState g_tShadowDepthBufferCmpSampler : register(s26, space1); Texture2D<float4> g_tShadowDepthBufferDepth : register(t36, space1); Texture2D<float4> g_tParticleShadowBuffer : register(t51, space1);- SamplerState g_sTrilinearClamp : register(s19, space1);- SamplerState g_sTrilinearWrap : register(s18, space1);+ SamplerState g_sTrilinearClamp : register(s20, space1);+ SamplerState g_sTrilinearWrap : register(s19, space1); Texture3D<float4> g_tLightCookieTexture : register(t34, space1);- SamplerState g_sCookieSampler : register(s24, space1);+ SamplerState g_sCookieSampler : register(s25, space1); TextureCube<float4> g_tFogCubeTexture : register(t42, space1); static float4 gl_FragCoord;@@ -513,167 +513,178 @@ PS float4 _19068 = g_tAmbientOcclusion.Sample(g_sUserConfig, input_2.xy); float3 _24735 = _7029.xyz; float4 _23875 = float4(_24735, 1.0f);- float _21709;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735);+ float _12320; [branch]- if (PerViewLightingConstantBufferGpu_t_1_m11 != 0)+ if (_8634 > 0.0f) {- int _23989;- int _10191;- float _13136;- float3 _14975;- int _13039 = 0;- for (;;)- {- if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11))- {- _13136 = 1.0f;- _14975 = 0.0f.xxx;- _10191 = -1;- break;- }- float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039])- {- float3 _19470 = float3(_12779, _18322.yz);- float2 _24804 = _19470.xy;- float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);- float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;- float3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;- }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _19363;- if (_10191 >= 0)+ float _12504;+ [branch]+ if (PerViewLightingConstantBufferGpu_t_1_m11 != 0) {- float2 _7045;- float2 _7046;- float2 _7735;- float _8969;- float _8970;- float _15996;- float _17299;- float2 _18870;- float4 _20581;- float4 _22023;- float _23727;- do+ int _23989;+ int _10191;+ float _13136;+ float3 _14975;+ int _13039 = 0;+ for (;;) {- float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12);- _20581 = PerViewLightingConstantBufferGpu_t_1_m0;- _22023 = PerViewLightingConstantBufferGpu_t_1_m1;- _17299 = PerViewLightingConstantBufferGpu_t_1_m2.z;- _15996 = PerViewLightingConstantBufferGpu_t_1_m3.z;- _18870 = float2(_17299, _15996);- _8969 = PerViewLightingConstantBufferGpu_t_1_m2.y;- _7045 = float2(_8969, _15996);- _8970 = PerViewLightingConstantBufferGpu_t_1_m3.y;- _7046 = float2(_17299, _8970);- _7735 = float2(_8969, _8970);- float _15310 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _18870).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7045).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7046).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7735).xy, _21452)).xyzw, 0.25f.xxxx);- bool _12885;- if (_15310 == 0.0f)- {- _12885 = true;- }- else+ if (!(_13039 < PerViewLightingConstantBufferGpu_t_1_m11)) {- _12885 = _15310 == 1.0f;+ _13136 = 1.0f;+ _14975 = 0.0f.xxx;+ _10191 = -1;+ break; }- if (_12885)+ float4 _18322 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_13039], float4(input_0.xyz, 1.0f));+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t_1_m13[_13039]) {- _23727 = _15310;+ float3 _19470 = float3(_12779, _18322.yz);+ float2 _24804 = _19470.xy;+ float2 _22193 = 1.0f.xx - clamp((abs(_24804) * PerViewLightingConstantBufferGpu_t_1_m15.xx) + PerViewLightingConstantBufferGpu_t_1_m14.xx, 0.0f.xx, 1.0f.xx);+ float2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_13039].xy;+ float3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039; break; }- _23727 = ((_15310 * (_20581.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(_17299, 0.0f)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(_8969, 0.0f)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(0.0f, _8970)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(0.0f, _15996)).xy, _21452)).xyzw, _22023.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _14975.xy, _21452) * _22023.y);- break;- } while(false);- float _12502;- [branch]- if (_13136 < 1.0f)+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue;+ }+ float _19363;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))+ float2 _7045;+ float2 _7046;+ float2 _7735;+ float _8969;+ float _8970;+ float _15996;+ float _17299;+ float2 _18870;+ float4 _20581;+ float4 _22023;+ float _23727;+ do {- int _15335 = _10191 + 1;- float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));- float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;- float3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- float _12501;- do+ float _21452 = saturate(_14975.z + PerViewLightingConstantBufferGpu_t_1_m12);+ _20581 = PerViewLightingConstantBufferGpu_t_1_m0;+ _22023 = PerViewLightingConstantBufferGpu_t_1_m1;+ _17299 = PerViewLightingConstantBufferGpu_t_1_m2.z;+ _15996 = PerViewLightingConstantBufferGpu_t_1_m3.z;+ _18870 = float2(_17299, _15996);+ _8969 = PerViewLightingConstantBufferGpu_t_1_m2.y;+ _7045 = float2(_8969, _15996);+ _8970 = PerViewLightingConstantBufferGpu_t_1_m3.y;+ _7046 = float2(_17299, _8970);+ _7735 = float2(_8969, _8970);+ float _15310 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _18870).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7045).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7046).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + _7735).xy, _21452)).xyzw, 0.25f.xxxx);+ bool _12885;+ if (_15310 == 0.0f) {- float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12);- float _15311 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _18870).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7045).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7046).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7735).xy, _20322)).xyzw, 0.25f.xxxx);- bool _12886;- if (_15311 == 0.0f)- {- _12886 = true;- }- else- {- _12886 = _15311 == 1.0f;- }- if (_12886)+ _12885 = true;+ }+ else+ {+ _12885 = _15310 == 1.0f;+ }+ if (_12885)+ {+ _23727 = _15310;+ break;+ }+ _23727 = ((_15310 * (_20581.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(_17299, 0.0f)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(_8969, 0.0f)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(0.0f, _8970)).xy, _21452), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14975.xy + float2(0.0f, _15996)).xy, _21452)).xyzw, _22023.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _14975.xy, _21452) * _22023.y);+ break;+ } while(false);+ float _12502;+ [branch]+ if (_13136 < 1.0f)+ {+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t_1_m11 - 1))+ {+ int _15335 = _10191 + 1;+ float4 _19671 = mul(PerViewLightingConstantBufferGpu_t_1_m18._m0[_15335], float4(input_0.xyz, 1.0f));+ float2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t_1_m19._m0[_15335].xy;+ float3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ float _12501;+ do {- _12501 = _15311;+ float _20322 = saturate(_19671.z + PerViewLightingConstantBufferGpu_t_1_m12);+ float _15311 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _18870).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7045).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7046).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + _7735).xy, _20322)).xyzw, 0.25f.xxxx);+ bool _12886;+ if (_15311 == 0.0f)+ {+ _12886 = true;+ }+ else+ {+ _12886 = _15311 == 1.0f;+ }+ if (_12886)+ {+ _12501 = _15311;+ break;+ }+ _12501 = ((_15311 * (_20581.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(_17299, 0.0f)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(_8969, 0.0f)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(0.0f, _8970)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(0.0f, _15996)).xy, _20322)).xyzw, _22023.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _20489.xy, _20322) * _22023.y); break;- }- _12501 = ((_15311 * (_20581.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(_17299, 0.0f)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(_8969, 0.0f)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(0.0f, _8970)).xy, _20322), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_20489.xy + float2(0.0f, _15996)).xy, _20322)).xyzw, _22023.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _20489.xy, _20322) * _22023.y);- break;- } while(false);- _7934 = _12501;+ } while(false);+ _7934 = _12501;+ }+ else+ {+ _7934 = 1.0f;+ }+ _12502 = lerp(_7934, _23727, _13136); } else {- _7934 = 1.0f;+ _12502 = _23727; }- _12502 = lerp(_7934, _23727, _13136);+ _19363 = _12502; } else {- _12502 = _23727;+ _19363 = 1.0f; }- _19363 = _12502;- }- else- {- _19363 = 1.0f;- }- float _12513 = lerp(_19363, 1.0f, saturate((distance(_10753.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));- float _12503;- if (bool4(PerViewConstantBufferCsgo_t_1_m0.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m0.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m0.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m0.w != int4(0, 0, 0, 0).w).y)- {- _12503 = min(_12513, g_tParticleShadowBuffer.SampleLevel(g_sTrilinearClamp, (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ float _12513 = lerp(_19363, 1.0f, saturate((distance(_10753.xyz, PerViewConstantBuffer_t_1_m3) * PerViewLightingConstantBufferGpu_t_1_m17) + PerViewLightingConstantBufferGpu_t_1_m16));+ float _12503;+ if (bool4(PerViewConstantBufferCsgo_t_1_m0.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m0.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m0.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m0.w != int4(0, 0, 0, 0).w).y)+ {+ _12503 = min(_12513, g_tParticleShadowBuffer.SampleLevel(g_sTrilinearClamp, (_11408.xy * PerViewConstantBuffer_t_1_m2.xy).xy, 0.0f).z);+ }+ else+ {+ _12503 = _12513;+ }+ _12504 = _12503; } else {- _12503 = _12513;+ _12504 = 1.0f; }- _21709 = _12503;+ _12320 = _12504; } else {- _21709 = 1.0f;+ _12320 = 1.0f; }- float3 _21710;+ float3 _21709; [branch]- if ((dot(PerViewLightingConstantBufferGpu_t_1_m9.xyz, _24735) * _21709) > 0.0f)+ if ((_8634 * _12320) > 0.0f) {- _21710 = PerViewLightingConstantBufferGpu_t_1_m5.xyz + (max(0.0f, dot(_7029.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _21709).xyz);+ _21709 = PerViewLightingConstantBufferGpu_t_1_m5.xyz + (max(0.0f, dot(_7029.xyz, PerViewLightingConstantBufferGpu_t_1_m9.xyz)).xxx.xyz * (PerViewLightingConstantBufferGpu_t_1_m10.xyz * _12320).xyz); } else {- _21710 = PerViewLightingConstantBufferGpu_t_1_m5.xyz;+ _21709 = PerViewLightingConstantBufferGpu_t_1_m5.xyz; } bool4 _24465 = bool4(PerViewConstantBufferCsgo_t_1_m1.x != int4(0, 0, 0, 0).x, PerViewConstantBufferCsgo_t_1_m1.y != int4(0, 0, 0, 0).y, PerViewConstantBufferCsgo_t_1_m1.z != int4(0, 0, 0, 0).z, PerViewConstantBufferCsgo_t_1_m1.w != int4(0, 0, 0, 0).w); bool _20059 = _24465.x;@@ -697,7 +708,7 @@ PS uint _10838 = PerViewLightingConstantBufferGpu_t_1_m6.y + (((_12083.y * PerViewLightingConstantBufferGpu_t_1_m7.y) + _12083.x) * PerViewLightingConstantBufferGpu_t_1_m6.z); uint _23393 = PerViewLightingConstantBufferGpu_t_1_m6.x + (uint(clamp(_19364.w * PerViewLightingConstantBufferGpu_t_1_m8.x, 0.0f, PerViewLightingConstantBufferGpu_t_1_m8.y)) * PerViewLightingConstantBufferGpu_t_1_m6.z); float3 _13155;- _13155 = _21710;+ _13155 = _21709; uint _21567; float3 _13156; uint _16208 = 0u;@@ -710,7 +721,7 @@ PS uint _14475 = WaveActiveBitOr(g_CullBits.Load<uint>((_10838 + _16208) * 4 + 0) & g_CullBits.Load<uint>((_23393 + _16208) * 4 + 0)); _13156 = _13155; uint _20344;- float3 _12505;+ float3 _12506; uint _16209 = _14475; for (;;) {@@ -753,7 +764,7 @@ PS } if (_12887) {- _12505 = _13156;+ _12506 = _13156; break; } float _23571 = 2.0f * g_BarnLights.Load<float4>(_12608 * 480 + 176).y;@@ -863,7 +874,7 @@ PS } else {- float3 _12504;+ float3 _12505; if (g_BarnLights.Load<float4>(_12608 * 480 + 160).w < 0.0f) { float4 _17795 = float4(-g_BarnLights.Load<float4>(_12608 * 480 + 176).xyz, g_BarnLights.Load<float4>(_12608 * 480 + 176).w);@@ -879,7 +890,7 @@ PS float3 _20491 = _14081; _20491.x = _20564.x; _20491.y = _20564.y;- _12504 = _17828.xyz * g_tLightCookieTexture.SampleLevel(g_sTrilinearWrap, _20491.xyz, 0.0f).xyz;+ _12505 = _17828.xyz * g_tLightCookieTexture.SampleLevel(g_sTrilinearWrap, _20491.xyz, 0.0f).xyz; } else {@@ -888,13 +899,13 @@ PS float3 _20490 = _13791; _20490.x = _20563.x; _20490.y = _20563.y;- _12504 = _17828.xyz * g_tLightCookieTexture.SampleLevel(g_sCookieSampler, _20490.xyz, 0.0f).xyz;+ _12505 = _17828.xyz * g_tLightCookieTexture.SampleLevel(g_sCookieSampler, _20490.xyz, 0.0f).xyz; }- _21548 = _12504;+ _21548 = _12505; } if (all(bool3(_21548.xyz.x == 0.0f.xxx.x, _21548.xyz.y == 0.0f.xxx.y, _21548.xyz.z == 0.0f.xxx.z))) {- _12505 = _13156;+ _12506 = _13156; break; } float3 _19630;@@ -917,8 +928,8 @@ PS do { float _11455 = saturate(_19629.z + PerViewLightingConstantBufferGpu_t_1_m12);- float2 _14615 = float3(mad(_19629.xy, g_BarnLights.Load<float4>(_12608 * 480 + 208).zw, g_BarnLights.Load<float4>(_12608 * 480 + 208).xy), _19629.z).xy;- float _15312 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455)).xyzw, 0.25f.xxxx);+ float2 _14616 = float3(mad(_19629.xy, g_BarnLights.Load<float4>(_12608 * 480 + 208).zw, g_BarnLights.Load<float4>(_12608 * 480 + 208).xy), _19629.z).xy;+ float _15312 = dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455)).xyzw, 0.25f.xxxx); bool _12888; if (_15312 == 0.0f) {@@ -933,14 +944,14 @@ PS _24972 = _15312; break; }- _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t_1_m0.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, 0.0f)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, 0.0f)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(0.0f, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14615 + float2(0.0f, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455)).xyzw, PerViewLightingConstantBufferGpu_t_1_m1.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _14615, _11455) * PerViewLightingConstantBufferGpu_t_1_m1.y);+ _24972 = ((_15312 * (PerViewLightingConstantBufferGpu_t_1_m0.w * 4.0f)) + dot(float4(g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.z, 0.0f)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(PerViewLightingConstantBufferGpu_t_1_m2.y, 0.0f)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(0.0f, PerViewLightingConstantBufferGpu_t_1_m3.y)).xy, _11455), g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, (_14616 + float2(0.0f, PerViewLightingConstantBufferGpu_t_1_m3.z)).xy, _11455)).xyzw, PerViewLightingConstantBufferGpu_t_1_m1.xxxx)) + (g_tShadowDepthBufferDepth.SampleCmpLevelZero(g_tShadowDepthBufferCmpSampler, _14616, _11455) * PerViewLightingConstantBufferGpu_t_1_m1.y); break; } while(false); float3 _19878 = _21548.xyz * lerp(1.0f, _24972, g_BarnLights.Load<float>(_12608 * 480 + 260)); float3 _16449 = _19878.xyz; if (all(bool3(_16449.x == 0.0f.xxx.x, _16449.y == 0.0f.xxx.y, _16449.z == 0.0f.xxx.z))) {- _12505 = _13156;+ _12506 = _13156; break; } _19630 = _19878;@@ -949,10 +960,10 @@ PS { _19630 = _21548; }- _12505 = _13156.xyz + (max(0.0f, dot(_7029.xyz, _11179.xyz)).xxx.xyz * _19630.xyz);+ _12506 = _13156.xyz + (max(0.0f, dot(_7029.xyz, _11179.xyz)).xxx.xyz * _19630.xyz); break; } while(false);- _13156 = _12505;+ _13156 = _12506; _16209 = _20344; continue; }game/csgo/shaders_vulkan_dir/shaders/vfx/inferno.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -176,7 +176,7 @@ PS layout(set = 1, binding = 50) uniform texture2D g_tSceneDepth; layout(set = 1, binding = 51) uniform texture3D g_tSmokeNoiseTex;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(location = 0) in vec2 input_0; layout(location = 2) in vec3 input_2;game/csgo/shaders_vulkan_dir/shaders/vfx/lpv_debug_grid.slang
modified • +104 / -93 • changes: 197
Show patch
@@ -288,7 +288,7 @@ PS Texture2D g_tParticleShadowBuffer < Attribute("ParticleShadowBuffer"); SrgbRead(false); >; Texture2D g_tShadowDepthBufferDepth < Attribute("ShadowDepthBuffer"); SrgbRead(false); >; Texture2D g_tSsao < Attribute("SSAOOcclusionFactor"); SrgbRead(false); >;- float3 g_vFlatOverlayColor < Default2(1, 0); Attribute("FlatOverlayColor"); UiType(VectorText); >;+ float3 g_vFlatOverlayColor < Default3(1, 0, 1); Attribute("FlatOverlayColor"); UiType(VectorText); >; float4 g_vShaderIDColor < Source(ShaderIDColor); UiType(VectorText); >; // Fog@@ -329,17 +329,17 @@ PS #endif #extension GL_KHR_shader_subgroup_arithmetic : require - struct _2339+ struct _2549 { vec4 _m0[3]; }; - struct _2549+ struct _2759 { vec4 _m0[4]; }; - struct _1069+ struct _1999 { mat4 _m0[4]; };@@ -417,10 +417,10 @@ PS layout(set = 1) uniform _1092 _Globals_; - struct _2731+ struct _2703 {- _2339 _m0;- _2549 _m1;+ _2549 _m0;+ _2759 _m1; vec4 _m2; vec4 _m3; vec4 _m4;@@ -437,11 +437,11 @@ PS float _m15; float _m16; float _m17;- _1069 _m18;- _2549 _m19;+ _1999 _m18;+ _2759 _m19; }; - layout(set = 3) uniform _2731 PerViewLightingConstantBufferGpu_t;+ layout(set = 3) uniform _2703 PerViewLightingConstantBufferGpu_t; layout(set = 3, binding = 30, std430) readonly buffer g_CullBits {@@ -454,14 +454,14 @@ PS } g_BarnLights_1; layout(set = 1, binding = 38) uniform texture2D g_tDynamicAmbientOcclusionDepth;- layout(set = 1, binding = 22) uniform sampler g_sCookieSampler;+ layout(set = 1, binding = 23) uniform sampler g_sCookieSampler; layout(set = 1, binding = 37) uniform texture2D g_tDynamicAmbientOcclusion;- layout(set = 1, binding = 18) uniform sampler g_sPointClamp;- layout(set = 1, binding = 23) uniform samplerShadow g_tShadowDepthBufferCmpSampler;+ layout(set = 1, binding = 19) uniform sampler g_sPointClamp;+ layout(set = 1, binding = 24) uniform samplerShadow g_tShadowDepthBufferCmpSampler; layout(set = 1, binding = 36) uniform texture2D g_tShadowDepthBufferDepth; layout(set = 1, binding = 49) uniform texture2D g_tParticleShadowBuffer;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;- layout(set = 1, binding = 16) uniform sampler g_sTrilinearWrap;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 17) uniform sampler g_sTrilinearWrap; layout(set = 1, binding = 34) uniform texture3D g_tLightCookieTexture; layout(set = 1, binding = 41) uniform textureCubeArray g_tFallbackCubemap; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;@@ -544,100 +544,110 @@ PS { _21709 = 1.0; }- vec3 _6606 = _21875.xyz;- float _21710;+ float _8634 = dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735);+ float _12320; SPIRV_CROSS_BRANCH- if (PerViewLightingConstantBufferGpu_t._m11 != 0)+ if (_8634 > 0.0) {- int _23989;- int _10191;- float _13136;- vec3 _14975;- int _13039 = 0;- for (;;)+ float _12503;+ SPIRV_CROSS_BRANCH+ if (PerViewLightingConstantBufferGpu_t._m11 != 0) {- if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))+ int _23989;+ int _10191;+ float _13136;+ vec3 _14975;+ int _13039 = 0;+ for (;;) {- _13136 = 1.0;- _14975 = vec3(0.0);- _10191 = -1;- break;- }- vec4 _18322 = vec4(_21875.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];- float _12779 = _18322.x;- if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])- {- vec3 _19470 = vec3(_12779, _18322.yz);- vec2 _24804 = _19470.xy;- vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));- vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;- vec3 _20488 = _19470;- _20488.x = _20561.x;- _20488.y = _20561.y;- _13136 = saturate(_22193.x * _22193.y);- _14975 = _20488;- _10191 = _13039;- break;+ if (!(_13039 < PerViewLightingConstantBufferGpu_t._m11))+ {+ _13136 = 1.0;+ _14975 = vec3(0.0);+ _10191 = -1;+ break;+ }+ vec4 _18322 = vec4(_21875.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_13039];+ float _12779 = _18322.x;+ if (max(abs(_12779), abs(_18322.y)) < PerViewLightingConstantBufferGpu_t._m13[_13039])+ {+ vec3 _19470 = vec3(_12779, _18322.yz);+ vec2 _24804 = _19470.xy;+ vec2 _22193 = vec2(1.0) - saturate((abs(_24804) * vec2(PerViewLightingConstantBufferGpu_t._m15)) + vec2(PerViewLightingConstantBufferGpu_t._m14));+ vec2 _20561 = (_24804 * PerViewLightingConstantBufferGpu_t._m19._m0[_13039].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_13039].xy;+ vec3 _20488 = _19470;+ _20488.x = _20561.x;+ _20488.y = _20561.y;+ _13136 = saturate(_22193.x * _22193.y);+ _14975 = _20488;+ _10191 = _13039;+ break;+ }+ _23989 = _13039 + 1;+ _13039 = _23989;+ continue; }- _23989 = _13039 + 1;- _13039 = _23989;- continue;- }- float _18423;- if (_10191 >= 0)- {- float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);- float _12501;- SPIRV_CROSS_BRANCH- if (_13136 < 1.0)+ float _18423;+ if (_10191 >= 0) {- float _7934;- if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))+ float _18270 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_14975.xy, saturate(_14975.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ float _12501;+ SPIRV_CROSS_BRANCH+ if (_13136 < 1.0) {- int _15335 = _10191 + 1;- vec4 _19671 = vec4(_21875.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];- vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;- vec3 _20489;- _20489.x = _20562.x;- _20489.y = _20562.y;- _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ float _7934;+ if (_10191 < (PerViewLightingConstantBufferGpu_t._m11 - 1))+ {+ int _15335 = _10191 + 1;+ vec4 _19671 = vec4(_21875.xyz, 1.0) * PerViewLightingConstantBufferGpu_t._m18._m0[_15335];+ vec2 _20562 = (_19671.xy * PerViewLightingConstantBufferGpu_t._m19._m0[_15335].zw) + PerViewLightingConstantBufferGpu_t._m19._m0[_15335].xy;+ vec3 _20489;+ _20489.x = _20562.x;+ _20489.y = _20562.y;+ _7934 = textureLod(sampler2DShadow(g_tShadowDepthBufferDepth, g_tShadowDepthBufferCmpSampler), vec3(_20489.xy, saturate(_19671.z + PerViewLightingConstantBufferGpu_t._m12)), 0.0);+ }+ else+ {+ _7934 = 1.0;+ }+ _12501 = mix(_7934, _18270, _13136); } else {- _7934 = 1.0;+ _12501 = _18270; }- _12501 = mix(_7934, _18270, _13136);+ _18423 = _12501; } else {- _12501 = _18270;+ _18423 = 1.0; }- _18423 = _12501;- }- else- {- _18423 = 1.0;- }- float _13279 = mix(_18423, 1.0, saturate((distance(_19221.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));- float _12502;- if (_24464.y)- {- _12502 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_17590.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ float _13279 = mix(_18423, 1.0, saturate((distance(_19221.xyz, PerViewConstantBuffer_t._m3) * PerViewLightingConstantBufferGpu_t._m17) + PerViewLightingConstantBufferGpu_t._m16));+ float _12502;+ if (_24464.y)+ {+ _12502 = min(_13279, textureLod(sampler2D(g_tParticleShadowBuffer, g_sTrilinearClamp), (_17590.xy * PerViewConstantBuffer_t._m2.xy).xy, 0.0).z);+ }+ else+ {+ _12502 = _13279;+ }+ _12503 = _12502; } else {- _12502 = _13279;+ _12503 = 1.0; }- _21710 = _12502;+ _12320 = _12503; } else {- _21710 = 1.0;+ _12320 = 1.0; } vec3 _9716; vec3 _24878; SPIRV_CROSS_BRANCH- if ((dot(PerViewLightingConstantBufferGpu_t._m9.xyz, _24735) * _21710) > 0.0)+ if ((_8634 * _12320) > 0.0) { float _11797 = max(0.0, dot(_10560, PerViewLightingConstantBufferGpu_t._m9.xyz)); vec2 _9840 = max(_21813, vec2(PerViewLightingConstantBufferGpu_t._m9.w));@@ -648,7 +658,7 @@ PS float _25211 = _9850 * _9850; float _19095 = _25211 * _25211; float _15346 = ((_12386 * _12386) * (_19095 - 1.0)) + 1.0;- vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _21710).xyz;+ vec3 _16808 = (PerViewLightingConstantBufferGpu_t._m10.xyz * _12320).xyz; _9716 = ((_12351.xyz * (_19095 / (((_15346 * _15346) * (_19210 * _19210)) * ((_9850 * 4.0) + 2.0)))).xyz * _11797).xyz * _16808; _24878 = PerViewLightingConstantBufferGpu_t._m4.xyz + (vec3(_11797).xyz * _16808); }@@ -709,6 +719,7 @@ PS _20344 = _17018 & (_17018 - 1u); do {+ vec3 _22962 = _21875.xyz; vec4 _24893 = g_BarnLights_1._m0[_12608]._m0 * vec4(_21875.xyz, 1.0); vec3 _10521 = _24893.xyz / vec3(_24893.w); vec4 _22905;@@ -733,7 +744,7 @@ PS } else {- _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_6606, 1.0)).xyz), vec3(1.0)));+ _12885 = !all(lessThanEqual(abs((g_BarnLights_1._m0[_12608]._m15 * vec4(_22962, 1.0)).xyz), vec3(1.0))); } if (_12885) {@@ -770,7 +781,7 @@ PS float _11633; if (g_BarnLights_1._m0[_12608]._m2.w != 0.0) {- vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _6606;+ vec3 _10017 = g_BarnLights_1._m0[_12608]._m2.xyz - _22962; float _18345 = dot(_10017, _10017); float _17647 = sqrt(_18345); vec3 _12302 = _10017 - _16268;@@ -848,7 +859,7 @@ PS } else {- vec3 _12503;+ vec3 _12504; if (g_BarnLights_1._m0[_12608]._m4.w < 0.0) { vec4 _17795 = vec4(-g_BarnLights_1._m0[_12608]._m5.xyz, g_BarnLights_1._m0[_12608]._m5.w);@@ -864,7 +875,7 @@ PS vec3 _20492 = _14081; _20492.x = _20564.x; _20492.y = _20564.y;- _12503 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sTrilinearWrap), _20492.xyz, 0.0).xyz; } else {@@ -873,9 +884,9 @@ PS vec3 _20491 = _13791; _20491.x = _20563.x; _20491.y = _20563.y;- _12503 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz;+ _12504 = _17828.xyz * textureLod(sampler3D(g_tLightCookieTexture, g_sCookieSampler), _20491.xyz, 0.0).xyz; }- _21548 = _12503;+ _21548 = _12504; } if (all(equal(_21548.xyz, vec3(0.0)))) {@@ -919,9 +930,9 @@ PS float _19211 = max(0.0, dot(_11179.xyz, _12282)); float _9851 = _9841.x; float _25212 = _9851 * _9851;- float _19097 = _25212 * _25212;- float _15348 = ((_12387 * _12387) * (_19097 - 1.0)) + 1.0;- _13212 = _13138.xyz + (((_12351.xyz * (_19097 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz);+ float _19096 = _25212 * _25212;+ float _15348 = ((_12387 * _12387) * (_19096 - 1.0)) + 1.0;+ _13212 = _13138.xyz + (((_12351.xyz * (_19096 / (((_15348 * _15348) * (_19211 * _19211)) * ((_9851 * 4.0) + 2.0)))).xyz * _11798).xyz * _22671.xyz); _15670 = _16325.xyz + (vec3(_11798).xyz * _22671.xyz); break; } while(false);game/csgo/shaders_vulkan_dir/shaders/vfx/luminaire.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -273,7 +273,7 @@ PS layout(set = 1) uniform _1008 PerViewConstantBuffer_t; layout(set = 1, binding = 42) uniform textureCube g_tFogCubeTexture;- layout(set = 1, binding = 17) uniform sampler g_sTrilinearClamp;+ layout(set = 1, binding = 18) uniform sampler g_sTrilinearClamp; layout(location = 0) in vec3 input_0; layout(location = 0) out vec4 output_0;game/csgo/shaders_vulkan_dir/shaders/vfx/mboit_mixed_combine.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -154,7 +154,7 @@ PS }; Texture2D<float4> g_tZeroth_Moment : register(t31, space1);- SamplerState g_sBilinearClamp : register(s15, space1);+ SamplerState g_sBilinearClamp : register(s16, space1); Texture2D<float4> g_tMoments : register(t32, space1); Texture2D<float4> g_tMoments_Extra : register(t33, space1); game/csgo/shaders_vulkan_dir/shaders/vfx/mboitfinal.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -134,7 +134,7 @@ PS }; Texture2D<float4> g_tMoitFinal : register(t30, space1);- SamplerState g_sPointClamp : register(s18, space1);+ SamplerState g_sPointClamp : register(s19, space1); Texture2D<float4> g_tZeroth_Moment : register(t31, space1); static float4 gl_FragCoord;game/csgo/shaders_vulkan_dir/shaders/vfx/overlay_smoke.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -110,7 +110,7 @@ PS }; Texture2D<float4> g_tSmokeAccum : register(t30, space1);- SamplerState g_sBilinearClamp : register(s15, space1);+ SamplerState g_sBilinearClamp : register(s16, space1); static float2 input_0; static float4 output_0;game/csgo/shaders_vulkan_dir/shaders/vfx/post_process.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -181,7 +181,7 @@ PS layout(set = 1) uniform _1245 PostProcessingConstantBuffer_t; layout(set = 1, binding = 50) uniform texture2D g_tColorBuffer;- layout(set = 1, binding = 25) uniform sampler Filter_MinMagLinearMipPoint;+ layout(set = 1, binding = 26) uniform sampler Filter_MinMagLinearMipPoint; layout(location = 0) out vec4 output_0; game/csgo/shaders_vulkan_dir/shaders/vfx/screenparticlescombine.slang
modified • +1 / -1 • changes: 2
Show patch
@@ -98,7 +98,7 @@ PS }; Texture2D<float4> g_tScreenParticles : register(t30, space1);- SamplerState g_sBilinearClamp : register(s15, space1);+ SamplerState g_sBilinearClamp : register(s16, space1); static float4 gl_FragCoord; static float4 output_0;game/csgo/shaders_vulkan_dir/shaders/vfx/simple.slang
modified • +0 / -0 • changes: 0
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/sky.slang
modified • +1 / -1 • changes: 2
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/smoke_volume.slang
modified • +1 / -1 • changes: 2
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/smoke_volume_depth.slang
modified • +1 / -1 • changes: 2
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/smoke_volume_lpv.slang
modified • +4 / -4 • changes: 8
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/spritecard.slang
modified • +6 / -6 • changes: 12
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/shaders_vulkan_dir/shaders/vfx/tools_wireframe.slang
modified • +1 / -1 • changes: 2
No patch available (GitHub often omits patches for large/binary diffs).
game/csgo/steam.inf
modified • +6 / -6 • changes: 12
No patch available (GitHub often omits patches for large/binary diffs).
manifests/manifest_2347770.txt
modified • +22 / -21 • changes: 43
No patch available (GitHub often omits patches for large/binary diffs).
manifests/manifest_2347771.txt
modified • +66 / -65 • changes: 131
No patch available (GitHub often omits patches for large/binary diffs).
manifests/manifest_2347773.txt
modified • +36 / -36 • changes: 72
No patch available (GitHub often omits patches for large/binary diffs).
manifests/manifest_2347779.txt
modified • +34 / -34 • changes: 68
No patch available (GitHub often omits patches for large/binary diffs).
manifests/manifest_731.txt
modified • +2 / -2 • changes: 4
No patch available (GitHub often omits patches for large/binary diffs).
manifests/manifest_732.txt
modified • +2 / -2 • changes: 4
No patch available (GitHub often omits patches for large/binary diffs).
manifests/manifest_733.txt
modified • +2 / -2 • changes: 4
No patch available (GitHub often omits patches for large/binary diffs).
manifests/manifest_734.txt
modified • +2 / -2 • changes: 4
No patch available (GitHub often omits patches for large/binary diffs).
manifests/manifest_735.txt
modified • +2 / -2 • changes: 4
No patch available (GitHub often omits patches for large/binary diffs).
5.11.2026, 00.55.25
Assets/UI/maps update (content/csgo_addons/cs_script_demo/maps/scripts/chess.js, content/csgo_addons/cs_script_demo/maps/scripts/grenadetraining.js, content/csgo_addons/cs_script_demo/maps/scripts/mdlchange.js).
Files changed: 39 • +597 / -515
Changed files
content/csgo_addons/cs_script_demo/maps/scripts/chess.js
modified • +10 / -10 • changes: 20
Show patch
@@ -1,6 +1,6 @@ // @ts-nocheck -import { Instance, PointTemplate } from "cs_script/point_script";+import { Instance, PointTemplate, Entities } from "cs_script/point_script"; function ChessJS() { /**@@ -3474,7 +3474,7 @@ let chess = new Chess(); const centers = {}; function FindCenters() {- const entities = Instance.FindEntitiesByClass("info_target");+ const entities = Entities.FindByClass("info_target"); for (const ent of entities) { const name = ent.GetEntityName(); if (/^[a-h][1-8]$/.test(name)) {@@ -3501,14 +3501,14 @@ async function RunChess() { await AnimateMove(move); } - Instance.EntFireAtName({ name: `snd.chess.${chess.turn()}.win`, input: "StartSound" });+ Entities.FireInput({ name: `snd.chess.${chess.turn()}.win`, input: "StartSound" }); Instance.SetNextThink(Instance.GetGameTime() + 10); bIsRunning = false; } function RenderPieces() { /** @type{import("cs_script/point_script").BaseModelEntity[]} */- const existing = Instance.FindEntitiesByName("chess.piece.*");+ const existing = Entities.FindByName("chess.piece.*"); for (const line of chess.board()) { for (const square of line) {@@ -3545,12 +3545,12 @@ function RenderPieces() { } function PlaySoundOnEnt(soundEntName, targetEntName) {- Instance.EntFireAtName({ name: soundEntName, input: "SetSourceEntity", value: targetEntName });- Instance.EntFireAtName({ name: soundEntName, input: "StartSound" });+ Entities.FireInput({ name: soundEntName, input: "SetSourceEntity", value: targetEntName });+ Entities.FireInput({ name: soundEntName, input: "StartSound" }); } async function AnimateMove(move) {- const piece = Instance.FindEntitiesByName(`chess.piece.${move.color}.${move.piece}`).find((p) => p.square === move.from);+ const piece = Entities.FindByName(`chess.piece.${move.color}.${move.piece}`).find((p) => p.square === move.from); if (!piece) { RenderPieces(); return;@@ -3568,7 +3568,7 @@ async function AnimateMove(move) { if (move.isCapture()) { PlaySoundOnEnt("chess.snd.capture", piece.GetEntityName()); const capturedColor = move.color === WHITE ? BLACK : WHITE;- const captured = Instance.FindEntitiesByName(`chess.piece.${capturedColor}.${move.captured}`).find((p) => p.square === move.to);+ const captured = Entities.FindByName(`chess.piece.${capturedColor}.${move.captured}`).find((p) => p.square === move.to); if (captured) { await DiePiece(captured); }@@ -3623,9 +3623,9 @@ async function DiePiece(piece) { } function SpawnPiece(type, color) {- let spawner = Instance.FindEntityByName(`chess.template.${type}.${color}`);+ let [spawner] = Entities.FindByName(`chess.template.${type}.${color}`); if (!spawner) {- spawner = Instance.FindEntityByName(`chess.template.${type}`);+ [spawner] = Entities.FindByName(`chess.template.${type}`); } if (spawner instanceof PointTemplate) { const spawned = spawner.ForceSpawn();content/csgo_addons/cs_script_demo/maps/scripts/grenadetraining.js
modified • +32 / -32 • changes: 64
Show patch
@@ -1,4 +1,4 @@-import { Console, Entity, Instance } from "cs_script/point_script";+import { Console, Entity, Instance, Entities } from "cs_script/point_script"; let Rounds = 0; let Hits = 0;@@ -11,9 +11,9 @@ let TargetHard = "targetbox.hard"; function SetNextTarget() { Rounds++; - Instance.EntFireAtName({ name: "worldtext.rounds", input: "SetMessage", value: Rounds });- Instance.EntFireAtName({ name: "cover.*", input: "Enable" });- Instance.EntFireAtName({ name: "tele.reset", input: "Teleport" });+ Entities.FireInput({ name: "worldtext.rounds", input: "SetMessage", value: Rounds });+ Entities.FireInput({ name: "cover.*", input: "Enable" });+ Entities.FireInput({ name: "tele.reset", input: "Teleport" }); // Roll 1-11, if it duplicates last value choose value 12. let NewTarget = Math.floor(Math.random() * 11) + 1;@@ -24,27 +24,27 @@ function SetNextTarget() { if (Rounds > 7) difficulty = "hard"; else if (Rounds > 4) difficulty = "med"; - Instance.EntFireAtName({ name: `cover.${Target}`, input: "Disable" });- Instance.EntFireAtName({ name: `tele.${Target}`, input: "TeleportEntity", value: `targetbox.${difficulty}` });+ Entities.FireInput({ name: `cover.${Target}`, input: "Disable" });+ Entities.FireInput({ name: `tele.${Target}`, input: "TeleportEntity", value: `targetbox.${difficulty}` }); } // called if player leaves play area at any time Instance.OnScriptInput("ResetAndCleanUp", () => {- Instance.EntFireAtName({ name: "trigger.start", input: "Enable" });- Instance.EntFireAtName({ name: "trigger.end_early", input: "Disable" });- Instance.EntFireAtName({ name: "worldtext.go_here", input: "Enable" });- Instance.EntFireAtName({ name: "relay.start_countdown", input: "CancelPending" });-- Instance.EntFireAtName({ name: "worldtext.training_countdown_dyn", input: "SetMessage", value: "3" });- Instance.EntFireAtName({ name: "worldtext.training_countdown_static", input: "Disable" });- Instance.EntFireAtName({ name: "worldtext.training_countdown_dyn", input: "Disable" });- Instance.EntFireAtName({ name: "board.timer", input: "Disable" });- Instance.EntFireAtName({ name: "board.timer", input: "ResetTimer" });- Instance.EntFireAtName({ name: "snd.tick", input: "StopSound" });- Instance.EntFireAtName({ name: "tele.reset", input: "Teleport" });- Instance.EntFireAtName({ name: "cover.*", input: "Enable" });- Instance.EntFireAtName({ name: "worldtext.hits", input: "SetMessage", value: "0" });- Instance.EntFireAtName({ name: "worldtext.rounds", input: "SetMessage", value: "0" });+ Entities.FireInput({ name: "trigger.start", input: "Enable" });+ Entities.FireInput({ name: "trigger.end_early", input: "Disable" });+ Entities.FireInput({ name: "worldtext.go_here", input: "Enable" });+ Entities.FireInput({ name: "relay.start_countdown", input: "CancelPending" });++ Entities.FireInput({ name: "worldtext.training_countdown_dyn", input: "SetMessage", value: "3" });+ Entities.FireInput({ name: "worldtext.training_countdown_static", input: "Disable" });+ Entities.FireInput({ name: "worldtext.training_countdown_dyn", input: "Disable" });+ Entities.FireInput({ name: "board.timer", input: "Disable" });+ Entities.FireInput({ name: "board.timer", input: "ResetTimer" });+ Entities.FireInput({ name: "snd.tick", input: "StopSound" });+ Entities.FireInput({ name: "tele.reset", input: "Teleport" });+ Entities.FireInput({ name: "cover.*", input: "Enable" });+ Entities.FireInput({ name: "worldtext.hits", input: "SetMessage", value: "0" });+ Entities.FireInput({ name: "worldtext.rounds", input: "SetMessage", value: "0" }); Console.SetConvar("sv_infinite_ammo", 0); const player = Instance.GetPlayerController(0)?.GetPlayerPawn();@@ -53,10 +53,10 @@ Instance.OnScriptInput("ResetAndCleanUp", () => { }); Instance.OnScriptInput("StartTraining", () => {- Instance.EntFireAtName({ name: "trigger.start", input: "Disable" });- Instance.EntFireAtName({ name: "trigger.end_early", input: "Enable" });- Instance.EntFireAtName({ name: "worldtext.go_here", input: "Disable" });- Instance.EntFireAtName({ name: "relay.start_countdown", input: "Trigger" });+ Entities.FireInput({ name: "trigger.start", input: "Disable" });+ Entities.FireInput({ name: "trigger.end_early", input: "Enable" });+ Entities.FireInput({ name: "worldtext.go_here", input: "Disable" });+ Entities.FireInput({ name: "relay.start_countdown", input: "Trigger" }); Console.SetConvar("sv_infinite_ammo", 1); const player = Instance.GetPlayerController(0)?.GetPlayerPawn();@@ -70,8 +70,8 @@ Instance.OnScriptInput("StartTraining", () => { // called from grenade trigger inside target area Instance.OnScriptInput("GrenadeHit", () => { Hits++;- Instance.EntFireAtName({ name: "snd.hit", input: "StartSound" });- Instance.EntFireAtName({ name: "worldtext.hits", input: "SetMessage", value: Hits });+ Entities.FireInput({ name: "snd.hit", input: "StartSound" });+ Entities.FireInput({ name: "worldtext.hits", input: "SetMessage", value: Hits }); if (trackedProjectile && trackedProjectile.IsValid()) { trackedProjectile.Remove(); trackedProjectile = undefined;@@ -83,11 +83,11 @@ Instance.OnScriptInput("SetNextTarget", () => { if (Rounds < 10) { SetNextTarget(); } else {- Instance.EntFireAtName({ name: "snd.end", input: "StartSound" });- Instance.EntFireAtName({ name: "board.timer", input: "Disable" });- Instance.EntFireAtName({ name: "board.timer", input: "ResetTimer" });- Instance.EntFireAtName({ name: "tele.reset", input: "Teleport" });- Instance.EntFireAtName({ name: "cover.*", input: "Enable" });+ Entities.FireInput({ name: "snd.end", input: "StartSound" });+ Entities.FireInput({ name: "board.timer", input: "Disable" });+ Entities.FireInput({ name: "board.timer", input: "ResetTimer" });+ Entities.FireInput({ name: "tele.reset", input: "Teleport" });+ Entities.FireInput({ name: "cover.*", input: "Enable" }); } }); content/csgo_addons/cs_script_demo/maps/scripts/mdlchange.js
modified • +2 / -2 • changes: 4
Show patch
@@ -1,7 +1,7 @@-import { Instance, BaseModelEntity, Console } from "cs_script/point_script";+import { Instance, BaseModelEntity, Console, Entities } from "cs_script/point_script"; function GetProp() {- const ent = Instance.FindEntityByName("mdlchange.prop_dyn");+ const [ent] = Entities.FindByName("mdlchange.prop_dyn"); if (ent instanceof BaseModelEntity) return ent; } function Init() {content/csgo_addons/cs_script_demo/maps/scripts/point_script.d.ts
modified • +58 / -21 • changes: 79
Show patch
@@ -43,12 +43,15 @@ declare module "cs_script/point_script" export const GameRules: IGameRules; + export const Entities: IEntities;+ type Vector = { x: number, y: number, z: number }; type RotationVector = { x: number, y: number, z: number }; type QAngle = { pitch: number, yaw: number, roll: number }; type ColorArg = { r: number, g: number, b: number, a?: number }; type Color = { r: number, g: number, b: number, a: number }; type InputValue = boolean | number | string | Vector | Color | undefined;+ type EntityKeyValue = boolean | number | string | Vector | QAngle; /** * The API provided to scripts attached to a point_script entity.@@ -110,6 +113,8 @@ declare module "cs_script/point_script" OnPlayerDisconnect(callback: (event: { playerSlot: number }) => void): void; /** Called when a player respawns, changes team, or is placed back at spawn due to a round restart */ OnPlayerReset(callback: (event: { player: CSPlayerPawn }) => void): void+ /** Called when a player takes or releases control of a bot. */+ OnBotControl(callback: (event: { controller: CSPlayerController }) => void): void; /** Called when a player changes team */ OnPlayerTeamChanged(callback: (event: { player: CSPlayerPawn, oldTeam: number }) => void): void /** Called when a new round begins */@@ -191,23 +196,6 @@ declare module "cs_script/point_script" /** Called when a button in a CustomHudLayout is clicked. */ OnCustomHudClicked( callback: (event: {player: CSPlayerController, layout: CustomHudLayout, buttonId: string}) => void ): void; - /** Fire the input on all targets matching the specified names. */- EntFireAtName(config: { name: string, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;- /** Fire the input on the specified target. */- EntFireAtTarget(config: { target: Entity, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;- /** Connect the output of an entity to a callback. The return value is a connection id that can be used in `DisconnectOutput` */- ConnectOutput(target: Entity, output: string, callback: (inputData: { value?: InputValue, caller?: Entity, activator?: Entity }) => any): number | undefined;- /** Find entities by name. */- DisconnectOutput(connectionId: number): void;-- /** Find the first entity matching the specified name. */- FindEntityByName(name: string): Entity | undefined;- /** Find entities matching the specified name. */- FindEntitiesByName(name: string): Entity[];- /** Find the first entity of the specified class name. */- FindEntityByClass(className: string): Entity | undefined;- /** Find entities of the specified class name. */- FindEntitiesByClass(className: string): Entity[]; /** Get the player controller in the given slot. */ GetPlayerController(playerSlot: number): CSPlayerController | undefined; /** Get all the player controllers. Includes disconnected players. */@@ -240,11 +228,12 @@ declare module "cs_script/point_script" /** * Loads resources on the server and clients to avoid hitches when later referenced.- * Supports .vmdl, .vpcf, .vmat, and .vsnd resources.+ * `resources` supports .vmdl, .vpcf, .vmat, and .vsnd resources.+ * `entities` takes entity class names or subclass names. * @experimental This feature is experimental and may experience breaking changes. * Please send feedback to CSGOTeamFeedback@valvesoftware.com with "cs_script Feedback" in the subject line. */- Precache(config: { resources: string[] }): CSPrecache | undefined;+ Precache(config: { resources?: string[], entities?: string[] }): CSPrecache | undefined; /** @deprecated This method will be removed in a future update */ OnBeforePlayerDamage(callback: () => any): void;@@ -260,9 +249,13 @@ declare module "cs_script/point_script" DebugBox(mins: Vector, maxs: Vector, duration: number, color: ColorArg): void; /** @deprecated This overload will be removed in a future update */ DebugSphere(center: Vector, radius: number, duration: number, color: ColorArg): void;- /** @deprecated This overload will be removed in a future update */+ /** @deprecated This method will be removed in a future update */+ EntFireAtName(config: { name: string, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;+ /** @deprecated This method will be removed in a future update */ EntFireAtName(name: string, input: string, inputData?: InputValue | { value?: InputValue, caller?: Entity, activator?: Entity }, delay?: number): void;- /** @deprecated This overload will be removed in a future update */+ /** @deprecated This method will be removed in a future update */+ EntFireAtTarget(config: { target: Entity, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;+ /** @deprecated This method will be removed in a future update */ EntFireAtTarget(target: Entity, input: string, inputData?: InputValue | { value?: InputValue, caller?: Entity, activator?: Entity }, delay?: number): void; /** @deprecated This method will be removed in a future update */ Msg(text: any): void;@@ -286,6 +279,18 @@ declare module "cs_script/point_script" SetRoundRemainingTime(time: number): void; /** @deprecated This method will be removed in a future update */ AddTeamMoney(team: number, reason: CSTeamMoneyReason, amount?: number): void;+ /** @deprecated This method will be removed in a future update */+ FindEntityByName(name: string): Entity | undefined;+ /** @deprecated This method will be removed in a future update */+ FindEntitiesByName(name: string): Entity[];+ /** @deprecated This method will be removed in a future update */+ FindEntityByClass(className: string): Entity | undefined;+ /** @deprecated This method will be removed in a future update */+ FindEntitiesByClass(className: string): Entity[];+ /** @deprecated This method will be removed in a future update */+ ConnectOutput(target: Entity, output: string, callback: (inputData: { value?: InputValue, caller?: Entity, activator?: Entity }) => any): number | undefined;+ /** @deprecated This method will be removed in a future update */+ DisconnectOutput(connectionId: number): void; } /**@@ -362,6 +367,32 @@ declare module "cs_script/point_script" AddTeamMoney(team: number, reason: CSTeamMoneyReason, amount?: number): void; } + /**+ * An API provided to scripts for general entity interaction.+ * Access these functions by importing Entities from "cs_script/point_script".+ */+ interface IEntities+ {+ /**+ * Spawns a set of entities.+ * @experimental This feature is experimental and may experience breaking changes.+ * Please send feedback to CSGOTeamFeedback@valvesoftware.com with "cs_script Feedback" in the subject line.+ */+ Spawn(entities: ({ classname: string, origin?: Vector, angles?: QAngle } & { [key: string]: EntityKeyValue })[]): Entity[];++ /** Find all entities with the specified name. */+ FindByName(name: string): Entity[];+ /** Find all entities of the specified class name. */+ FindByClass(className: string): Entity[];++ /** Fire the input on all entities with the specified name. */+ FireInput(config: { name: string, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void;+ /** Connect the output of an entity to a callback. The return value is a connection id that can be used in `DisconnectOutput` */+ ConnectOutput(config: { target: Entity, output: string, callback: (inputData: { value?: InputValue, caller?: Entity, activator?: Entity }) => any }): number | undefined;+ /** Disconnect an output connection made by `ConnectOutput`. */+ DisconnectOutput(connectionId: number): void;+ }+ export enum CSMoveType { INVALID = -1, NONE,@@ -806,6 +837,8 @@ declare module "cs_script/point_script" TakeDamage(takeDamage: EntityDamage): number; Kill(): void; Remove(): void;+ /** Fire the input on this entity. */+ FireInput(config: { input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number }): void; /** @deprecated This overload will be removed in a future update */ Teleport(newPosition: Vector | null, newAngles: QAngle | null, newVelocity: Vector | null): void;@@ -927,6 +960,8 @@ declare module "cs_script/point_script" GetPlayerName(): string; GetPlayerPawn(): CSPlayerPawn | undefined; GetObserverPawn(): CSObserverPawn | undefined;+ IsControllingBot(): boolean;+ GetControlledBotPawn(): CSPlayerPawn | undefined; GetScore(): number; /** Add to the player's score. Negative values are allowed but the score will not go below zero. */ AddScore(points: number): void;@@ -961,6 +996,8 @@ declare module "cs_script/point_script" GetPlayerController(): CSPlayerController | undefined; /** Gets the controller that this player pawn was originally spawned for. */ GetOriginalPlayerController(): CSPlayerController;+ /** Reset the player to full health and ammo. If dead they will be alive with the default weapon loadout. Cancels any bot takeover. */+ Reset(): void; /** @returns `true` if specified inputs are pressed at the end of the current tick. */ IsInputPressed(inputs: CSInputs): boolean; /** @returns `true` if specified inputs went from released to pressed at some point during the current tick. */content/csgo_addons/cs_script_demo/maps/scripts/setup.js
modified • +12 / -5 • changes: 17
Show patch
@@ -1,4 +1,4 @@-import { CSDamageFlags, CSDamageTypes, Entity, Instance, Console } from "cs_script/point_script";+import { CSDamageFlags, CSDamageTypes, Entity, Instance, Console, Entities } from "cs_script/point_script"; Console.SetConvar("sv_cheats", true); Console.SetConvar("mp_warmup_offline_enabled", true);@@ -16,12 +16,19 @@ Instance.OnPlayerActivate(({ player }) => { ShowWelcome(player.GetPlayerSlot()); }); -Instance.OnModifyPlayerDamage(({ player }) => {- if (player.GetOriginalPlayerController().IsBot()) {+Instance.OnModifyPlayerDamage(({ player, damageTypes }) => {+ if (player.GetOriginalPlayerController().IsBot() && !(damageTypes & CSDamageTypes.BLAST)) { return { damageFlags: CSDamageFlags.PREVENT_DEATH }; } }); +Instance.OnPlayerKill(async ({ player }) => {+ await Instance.Delay(1);+ if (player.IsValid() && !player.IsAlive()) {+ player.Reset();+ }+});+ Instance.OnPlayerDamage((event) => { if (event.damageTypes == CSDamageTypes.SLASH) { Instance.QueueAfterThinks(() => {@@ -35,9 +42,9 @@ Instance.OnPlayerDamage((event) => { let welcomeLayout = null; function GetWelcomeLayout() { if (!(welcomeLayout instanceof Entity) || !welcomeLayout.IsValid()) {- welcomeLayout = Instance.FindEntitiesByName("welcome_layout")[0];+ [welcomeLayout] = Entities.FindByName("welcome_layout"); }- return Instance.FindEntitiesByName("welcome_layout")[0];+ return Entities.FindByName("welcome_layout")[0]; } function ShowWelcome(playerSlot) {game/bin/built_from_cl.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -1 +1 @@-11198114+11206685game/bin/win64/pulse_system_strings.txt
modified • +3 / -0 • changes: 3
Show patch
@@ -39,6 +39,7 @@ %s:autowake %s:interrupt %s:wait+%s_c (%s:%d) (debug) *** Test failure: "%s"@@ -863,6 +864,7 @@ PrintStringWithLeafSuggestions: %s\n Probable infinite loop detected! Terminating pulse cursor after %d consecutive instructions (%s) Probable runaway cursor creation detected! Permanently disabling this graph instance (%s) Process Selector+Pulse graphs not allowed from untrusted addons.\n Pulse system: minimal vpulse definition loading enabled - graphs may be incomplete!\n Pulse: %s PulseSystemEventCursorResult_t@@ -1364,6 +1366,7 @@ propattr_flatten_into_parent_row propdataname public_output::%s public_output::%s::%s+pulse/pulse_enabled_for_untrusted_addons pulse_bindings pulse_editor pulse_fingerprintsgame/csgo/bin/win64/client_strings.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -21990,6 +21990,7 @@ RestorePetItemData ResurrectedUnreachables%d RetakeLoadout RetakeLoadoutMenu--loadout-container-%d+RetakeLoadoutMenu--loadout-container-0 RetakeLoadoutMenuCardContainer RetakeLoadoutMenuLoadoutContainer Retakesgame/csgo/bin/win64/server_strings.txt
modified • +37 / -4 • changes: 41
Show patch
@@ -985,6 +985,7 @@ $tH@T\tI %.3f sec delay %.5f (%.5f) %.6f+%.9g %.9g %.9g %0*d %0.15f %0.21f@@ -1525,18 +1526,23 @@ $tH@T\tI (command: string) (config:{before?:function,after?:function}) (config:{center: Vector, radius: number, duration: number, color: Color})+(config:{input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number}) (config:{mins: Vector, maxs: Vector, duration: number, color: Color}) (config:{name: string, input: string, value:any, caller:Entity, activator:Entity, delay:number})-(config:{resources: string[]})+(config:{name: string, input: string, value?: InputValue, caller?: Entity, activator?: Entity, delay?: number})+(config:{resources?: string[], entities?: string[]}) (config:{start: Vector, end: Vector, duration: number, color: Color}) (config:{target: Entity, input: string, value:any, caller:Entity, activator:Entity, delay:number})+(config:{target: Entity, output: string, callback: function}) (config:{text: string, x: number, y: number, duration: number, color: Color})+(connectionId: number) (connectionId:number) (damage: number, info?: Object) (data: string) (debug) (default) (delay: number)+(entities:{classname: string, origin?: Vector, angles?: QAngle, [key: string]: EntityKeyValue}[]) (entmodel:Entity,index?:number) (exception) (followConfig: CameraFollowConfig)@@ -2632,6 +2638,7 @@ $tH@T\tI .?AV?$CEntitySpawnerBase@VCTriggerMultiple@@@@ .?AV?$CEntitySpawnerBase@VCVoteController@@@@ .?AV?$CEntitySpawnerBase@VCWorld@@@@+.?AV?$CEntityWithSubclassSpawner@VCBaseEntity@@@@ .?AV?$CErrorContextValue@PEBVKeyValues3@@@@ .?AV?$CFixedSizeCircularBuffer@UCDebugSnapshotFrame_t@@$0HNA@H@@ .?AV?$CFixedSizeCircularBuffer@UShootPositionHistoryEntry_t@CCSPlayer_WeaponServices@@$0CA@H@@@@ -8412,6 +8419,7 @@ $tH@T\tI ?BooleanValue@Value@v8@@QEBA_NPEAVIsolate@2@@Z ?Call@Function@v8@@QEAA?AV?$MaybeLocal@VValue@v8@@@2@V?$Local@VContext@v8@@@2@V?$Local@VValue@v8@@@2@HQEAV52@@Z ?CompileModule@ScriptCompiler@v8@@SA?AV?$MaybeLocal@VModule@v8@@@2@PEAVIsolate@2@PEAVSource@12@W4CompileOptions@12@W4NoCacheReason@12@@Z+?CreateDataProperty@Object@v8@@QEAA?AV?$Maybe@_N@2@V?$Local@VContext@v8@@@2@IV?$Local@VValue@v8@@@2@@Z ?CreateHandle@HandleScope@v8@@KAPEA_KPEAVIsolate@internal@2@_K@Z ?CreateSyntheticModule@Module@v8@@SA?AV?$Local@VModule@v8@@@2@PEAVIsolate@2@V?$Local@VString@v8@@@2@AEBV?$MemorySpan@$$CBV?$Local@VString@v8@@@v8@@@2@P6A?AV?$MaybeLocal@VValue@v8@@@2@V?$Local@VContext@v8@@@2@V32@@Z@Z ?CurrentStackTrace@StackTrace@v8@@SA?AV?$Local@VStackTrace@v8@@@2@PEAVIsolate@2@HW4StackTraceOptions@12@@Z@@ -8438,6 +8446,7 @@ $tH@T\tI ?GetLineNumber@Message@v8@@QEBA?AV?$Maybe@H@2@V?$Local@VContext@v8@@@2@@Z ?GetLocation@StackFrame@v8@@QEBA?AVLocation@2@XZ ?GetMicrotaskQueue@Context@v8@@QEAAPEAVMicrotaskQueue@2@XZ+?GetOwnPropertyNames@Object@v8@@QEAA?AV?$MaybeLocal@VArray@v8@@@2@V?$Local@VContext@v8@@@2@@Z ?GetPromise@Resolver@Promise@v8@@QEAA?AV?$Local@VPromise@v8@@@3@XZ ?GetScriptName@StackFrame@v8@@QEBA?AV?$Local@VString@v8@@@2@XZ ?GetStackTrace@Exception@v8@@SA?AV?$Local@VStackTrace@v8@@@2@V?$Local@VValue@v8@@@2@@Z@@ -8473,7 +8482,6 @@ $tH@T\tI ?NewInstance@Function@v8@@QEBA?AV?$MaybeLocal@VObject@v8@@@2@V?$Local@VContext@v8@@@2@HQEAV?$Local@VValue@v8@@@2@@Z ?PerformMicrotaskCheckpoint@Isolate@v8@@QEAAXXZ ?Resolve@Resolver@Promise@v8@@QEAA?AV?$Maybe@_N@3@V?$Local@VContext@v8@@@3@V?$Local@VValue@v8@@@3@@Z-?Set@Object@v8@@QEAA?AV?$Maybe@_N@2@V?$Local@VContext@v8@@@2@IV?$Local@VValue@v8@@@2@@Z ?Set@Object@v8@@QEAA?AV?$Maybe@_N@2@V?$Local@VContext@v8@@@2@V?$Local@VValue@v8@@@2@1@Z ?Set@Template@v8@@QEAAXV?$Local@VName@v8@@@2@V?$Local@VData@v8@@@2@W4PropertyAttribute@2@@Z ?SetAlignedPointerInInternalField@Object@v8@@QEAAXHPEAX@Z@@ -14444,6 +14452,7 @@ FindAllByTarget FindAllInSphere FindAllMatchingSnapshots FindBestGoal: Calling GetNearestNavAreaAndGravityOrientedGoalPos defaultGravity[%s]+FindByClass FindByClassname FindByClassnameNearest FindByClassnameWithin@@ -14492,6 +14501,7 @@ FireEntityIOInputVec FireEvent: event '%s' not registered.\n FireGameEvent FireGameEventLocal+FireInput Fired after spawning an instance of this template. Fired when a round starts. Fired when a round winner is determined.@@ -14939,6 +14949,7 @@ GetConst R%d <- C%d (%s) GetContext GetContext( name ): looks up a context and returns it if available. May return string, float, or null (if the context isn't found). GetContextForScript+GetControlledBotPawn GetController GetController() : Returns the controller for this pawn GetConvarBoolean@@ -15640,6 +15651,7 @@ IsClient IsClientLoaded IsClientLoading IsConnected+IsControllingBot IsCrouched IsCrouching IsDedicatedServer@@ -16149,16 +16161,25 @@ Metal.Medium Metal.SawbladeStick Metal.Small Method %s.%s cannot be used on official servers.+Method %s.%s invoked by a script with no parent entity. Method %s.%s invoked in incorrect scope.+Method %s.%s invoked on an invalid entity. Method %s.%s invoked with bad '%s' property for argument %d (%s). Got %s.+Method %s.%s invoked with bad 'angles' for entities[%d]. Got %s.+Method %s.%s invoked with bad 'origin' for entities[%d]. Got %s.+Method %s.%s invoked with bad classname for entities[%d]. Got %s.+Method %s.%s invoked with bad entities[%d]. Got %s. Method %s.%s invoked with bad value for argument %d (%s). Got %s. Method %s.%s invoked with bad value for argument 0 (reason). Got %s. Method %s.%s invoked with bad value for argument 0 (team). Got %s.+Method %s.%s invoked with bad value for key "%s" for entities[%d]. Got %s. Method %s.%s invoked with incompatible value for convar "%s". %s cannot be converted to %s. Method %s.%s invoked with incorrect 'this' value. Method %s.%s invoked with missing '%s' property for argument %d (%s). Method %s.%s invoked with name of incompatible convar "%s". Use %s.%s. Method %s.%s invoked with name of unknown convar "%s".+Method %s.%s invoked with output "%s", which %s does not have.+Method %s.%s invoked with reserved key "%s" for entities[%d]. Method %s.%s invoked with unrecognized 'this' value. Method %s.%s requires %d argument%s but got %d. %s Method CSPlayerPawn.GetCustomCamera failed to spawn a custom_player_camera.@@ -16188,8 +16209,10 @@ Method Instance.EntFireAtTarget invoked with bad value for argument 0 (target). Method Instance.EntFireAtTarget invoked with bad value for argument 1 (input). Got %s. Method Instance.EntFireAtTarget invoked with bad value for argument 2 (inputData). Got %s. Method Instance.Precache failed.+Method Instance.Precache invoked with bad entity "%s". It is not an entity classname or subclass. Method Instance.Precache invoked with bad resource "%s". Method Instance.Precache invoked with bad resource "%s". There is no compiled "%s_c".+Method Instance.Precache invoked with no resources or entities. Method Instance.SpawnGrenadeProjectile requires at least thrower or position be specified. Microsoft CSP Name Microsoft Commercial Code Signing@@ -16644,6 +16667,7 @@ OnBombExplode OnBombPlant OnBombPlantAbort OnBombPlantStart+OnBotControl OnBufferNotStarved(), resolved starve queue\n OnBulletImpact OnCase%02d@@ -16745,7 +16769,6 @@ Out:\n%s Outflow List Output Output connection not found\n-Output not found: "%s"\n OutputConnection: OutputConnection:%d Outro Playback Rate@@ -21526,6 +21549,7 @@ ca dn length mismatch ca dn too long caIssuers caRepository+cable_* cableclass callback called a function that was disabled at compile-time@@ -21835,6 +21859,7 @@ conflicting engine id connect error connection id is different connection type not set+connectionId cons: cont [ %d ] contains@@ -21951,7 +21976,7 @@ cs_rush cs_script/%s cs_shelter cs_siege-cs_spawn_group_resources+cs_spawn_group_precache cs_thunder cs_usercmd.proto cs_win_panel_match@@ -22715,6 +22740,7 @@ entindex_ability entindex_attacker entindex_inflictor entindex_killed+entities entity %s at %s has physics attachment to more than one entity with the name %s!!!\n entity context menu entityArray@@ -23124,6 +23150,7 @@ fullname fullpos func(%lu) func_+func_* func_areaportal func_breakable with invalid propdata %d.\n func_breakable_surf@@ -23830,6 +23857,7 @@ info_node_hint info_player_logo info_spawngroup_load info_spawngroup_load_unload w/o specifying map name, removing entity!!!\n+info_target* inherit_all_joints inherit_owner inherit_owner_index@@ -24283,6 +24311,7 @@ lifestage_adult lifestage_chick lifestage_egg light+light_* light_capsule light_dynamic at [%d %d %d] has invalid exponent value (%d must be between %d and %d).\n light_style_output_event0@@ -25767,6 +25796,7 @@ producedAt profile level %g projectile prop.breakable.01+prop_* prop_car_alarm prop_car_glass prop_contexts@@ -26646,6 +26676,7 @@ smokegrenade_detonate smokegrenade_expired smokegrenade_projectile.ventr smokegrenade_projectile_server+snd_* snd_mouth sniper_warning sniperk@@ -27453,6 +27484,7 @@ transition volume passed transition volume screened out transitioning tried to use unsupported cipher+trigger_* trigger_changelevel to %s doesn't have a landmark trigger_changelevel to map %s has a landmark embedded in solid!\nThis will break level transitions!\n trigger_survival_playarea@@ -27865,6 +27897,7 @@ weapon pistol rifle survivor common_male weapon.C4.Impact weapon_ weapon_%s+weapon_* weapon_action_speedscale weapon_ak47.ventr weapon_ak47_servergame/csgo/cfg/gamemode_retakecasual.cfg
modified • +2 / -2 • changes: 4
Show patch
@@ -46,7 +46,7 @@ mp_defuser_allocation 2 // 0=none, 1=random, 2=everyone mp_force_pick_time 15 mp_forcecamera 1 // Set to 1 for team only spectating. mp_free_armor 0 -mp_freezetime 7+mp_freezetime 5 mp_friendlyfire 1 mp_win_panel_display_time 3 mp_respawn_immunitytime 0@@ -100,7 +100,7 @@ mp_default_team_winner_no_objective -1 // 2 == CTs, 3 == Ts //occlusion_test_async 1 spec_replay_enable 0-mp_round_restart_delay 5+mp_round_restart_delay 3 sv_gameinstructor_enable 0 game/csgo/pak01_dir.txt
modified • +43 / -42 • changes: 85
Show patch
@@ -7349,25 +7349,25 @@ maps/cs_italy_camera_nodes.kv3 CRC:00b7c65df1 size:14866 maps/cs_office_camera_nodes.kv3 CRC:0083120466 size:19253 maps/de_ancient_camera_nodes.kv3 CRC:00207e40bf size:16857 maps/de_ancient_night_camera_nodes.kv3 CRC:00207e40bf size:16857-maps/de_ancient_night_retake.txt CRC:001f3ad4a1 size:4515-maps/de_ancient_retake.txt CRC:0054b1519f size:4516+maps/de_ancient_night_retake.txt CRC:00d43cb56b size:4550+maps/de_ancient_retake.txt CRC:002fcb7c50 size:4551 maps/de_anubis_camera_nodes.kv3 CRC:001b8f43b2 size:17950-maps/de_anubis_retake.txt CRC:0032c02075 size:4360-maps/de_cache_retake.txt CRC:002d343b7e size:4127+maps/de_anubis_retake.txt CRC:00a6ad38b6 size:4393+maps/de_cache_retake.txt CRC:0028012769 size:4175 maps/de_dust2_camera_nodes.kv3 CRC:0018f21a4c size:10453-maps/de_dust2_retake.txt CRC:00c7737a39 size:4511+maps/de_dust2_retake.txt CRC:00efb48004 size:4549 maps/de_inferno_camera_nodes.kv3 CRC:007ce32bbf size:22256-maps/de_inferno_retake.txt CRC:00b78c5ff2 size:4053+maps/de_inferno_retake.txt CRC:00bcf57f3e size:4101 maps/de_mirage_camera_nodes.kv3 CRC:0072eadb25 size:25623-maps/de_mirage_retake.txt CRC:00ca33c5f4 size:4767+maps/de_mirage_retake.txt CRC:000d5f64ab size:4803 maps/de_nuke_camera_nodes.kv3 CRC:00fc18e073 size:28247-maps/de_nuke_retake.txt CRC:0023720f4f size:4306+maps/de_nuke_retake.txt CRC:003bcb146f size:4347 maps/de_overpass_camera_nodes.kv3 CRC:008163f47d size:20148-maps/de_overpass_retake.txt CRC:0091d38bbc size:4199+maps/de_overpass_retake.txt CRC:007f922b66 size:4242 maps/de_train_camera_nodes.kv3 CRC:00c2db3b8b size:26613-maps/de_train_retake.txt CRC:0002fee1a2 size:4826+maps/de_train_retake.txt CRC:00a2229546 size:4870 maps/de_vertigo_camera_nodes.kv3 CRC:003995c8c5 size:16095-maps/de_vertigo_retake.txt CRC:0041f38891 size:4630+maps/de_vertigo_retake.txt CRC:00a22f3061 size:4675 maps/scripts/rush_001.vjs_c CRC:00424dd750 size:58191 maps/workshop_compatibility_versions.txt CRC:0041137ecb size:1787 materials/anubis/anubis_water_canal.vmat_c CRC:0049c034fb size:5916@@ -56166,6 +56166,7 @@ panorama/images/econ/default_generated/weapon_xm1014_xm1014_mockingbird_heavy_pn panorama/images/econ/default_generated/weapon_xm1014_xm1014_mockingbird_light_png.vtex_c CRC:0021fe2489 size:114756 panorama/images/econ/default_generated/weapon_xm1014_xm1014_mockingbird_medium_png.vtex_c CRC:006aeb11d0 size:115955 panorama/images/econ/keychains/aus2025/kc_aus2025_png.vtex_c CRC:001fab74ca size:292777+panorama/images/econ/keychains/bud2025/kc_bud2025_png.vtex_c CRC:00197a4f90 size:301049 panorama/images/econ/keychains/cologne2026/kc_cologne2026_png.vtex_c CRC:00771d0c97 size:283199 panorama/images/econ/keychains/drboom/kc_db_200iq_png.vtex_c CRC:00966a7762 size:132857 panorama/images/econ/keychains/drboom/kc_db_8ball_png.vtex_c CRC:005518e549 size:101985@@ -83954,7 +83955,7 @@ panorama/images/tournaments/backgrounds/pickem_bg_24_png.vtex_c CRC:0089bbd83a s panorama/images/tournaments/backgrounds/pickem_bg_25_png.vtex_c CRC:00831e3278 size:2302708 panorama/images/tournaments/backgrounds/pickem_bg_26_png.vtex_c CRC:0014c19b4a size:930020 panorama/images/tournaments/backgrounds/pickem_mainmenu_bg_24_psd.vtex_c CRC:00014934a6 size:511969-panorama/images/tournaments/backgrounds/pickem_mainmenu_bg_25_psd.vtex_c CRC:008bf6079b size:264288+panorama/images/tournaments/backgrounds/pickem_mainmenu_bg_25_psd.vtex_c CRC:00fb16057c size:329828 panorama/images/tournaments/backgrounds/pickem_mainmenu_bg_26_psd.vtex_c CRC:0092b54a35 size:191644 panorama/images/tournaments/backgrounds/pickem_mainmenu_promo_22_png.vtex_c CRC:00fe819c7a size:188265 panorama/images/tournaments/backgrounds/pickem_mainmenu_promo_23_png.vtex_c CRC:00d9395207 size:66395@@ -84916,7 +84917,7 @@ panorama/styles/radialmenubase.vcss_c CRC:00b3952c3a size:19623 panorama/styles/radialradio.vcss_c CRC:0080b13d3f size:17091 panorama/styles/rankup_redemption_store.vcss_c CRC:00613b3861 size:16582 panorama/styles/rating_emblem.vcss_c CRC:0098edcdc2 size:10797-panorama/styles/retakeloadout.vcss_c CRC:00510fb26e size:23640+panorama/styles/retakeloadout.vcss_c CRC:003bf4073c size:23110 panorama/styles/scoreboard.vcss_c CRC:00b5e5732d size:50893 panorama/styles/segmented_progress_bar.vcss_c CRC:00dbf42798 size:7033 panorama/styles/settings/settings.vcss_c CRC:0077fe3798 size:17843@@ -87979,36 +87980,36 @@ pulse/csgo_devonly/de_vertigo_script.vpulse_c CRC:00af116e39 size:4860 radial_quickinventory.txt CRC:005a0c1bf5 size:1080 rebuy.txt CRC:008332da3a size:1688 resource/clientscheme.res CRC:00eb299496 size:14136-resource/csgo_brazilian.txt CRC:0022c7c9bd size:5024748-resource/csgo_bulgarian.txt CRC:00e6aa803c size:7758759-resource/csgo_czech.txt CRC:00aa2da1f8 size:5097152-resource/csgo_danish.txt CRC:001655e064 size:5003477-resource/csgo_dutch.txt CRC:007e635df4 size:5049457+resource/csgo_brazilian.txt CRC:0015b08cfa size:5025205+resource/csgo_bulgarian.txt CRC:00ad431afd size:7759343+resource/csgo_czech.txt CRC:005482a707 size:5097565+resource/csgo_danish.txt CRC:00bb321d04 size:5004038+resource/csgo_dutch.txt CRC:0045192cf1 size:5049873 resource/csgo_english.txt CRC:00e83600df size:4879039-resource/csgo_finnish.txt CRC:0040d7f29a size:4960257-resource/csgo_french.txt CRC:00cf90f727 size:5254356-resource/csgo_german.txt CRC:00768f902a size:5164887-resource/csgo_greek.txt CRC:00d09261eb size:7151367-resource/csgo_hungarian.txt CRC:0009ea7f21 size:5078539-resource/csgo_indonesian.txt CRC:00d09ed436 size:4729034-resource/csgo_italian.txt CRC:00f5d5f436 size:5178073-resource/csgo_japanese.txt CRC:008a06f43d size:5332955-resource/csgo_koreana.txt CRC:0068a1e99c size:5096308-resource/csgo_latam.txt CRC:00436dd96a size:5188121-resource/csgo_norwegian.txt CRC:00f79e57f3 size:4924516-resource/csgo_polish.txt CRC:003eee27c8 size:5321400-resource/csgo_portuguese.txt CRC:00ed24ede6 size:5059879-resource/csgo_romanian.txt CRC:00b3958fb9 size:5270915-resource/csgo_russian.txt CRC:00ffa91341 size:6563734-resource/csgo_schinese.txt CRC:000d6871a9 size:4931452+resource/csgo_finnish.txt CRC:00a79f8c2b size:4960818+resource/csgo_french.txt CRC:002433e025 size:5254990+resource/csgo_german.txt CRC:008c76453f size:5165453+resource/csgo_greek.txt CRC:00a68efa30 size:7151367+resource/csgo_hungarian.txt CRC:000a1961a8 size:5078957+resource/csgo_indonesian.txt CRC:0023f7fd61 size:4729593+resource/csgo_italian.txt CRC:0019309189 size:5178719+resource/csgo_japanese.txt CRC:007c931b86 size:5333463+resource/csgo_koreana.txt CRC:007c56bde5 size:5096798+resource/csgo_latam.txt CRC:00430502d0 size:5188734+resource/csgo_norwegian.txt CRC:001049104e size:4925063+resource/csgo_polish.txt CRC:0048f2bc13 size:5321400+resource/csgo_portuguese.txt CRC:00bf8fe57b size:5060318+resource/csgo_romanian.txt CRC:00f8a9b880 size:5271518+resource/csgo_russian.txt CRC:0089b5889a size:6563734+resource/csgo_schinese.txt CRC:007b74ea72 size:4931452 resource/csgo_schinese_pw.txt CRC:0083fe268a size:15645-resource/csgo_spanish.txt CRC:00f5db4811 size:5159573-resource/csgo_swedish.txt CRC:00b8b4e017 size:5031803-resource/csgo_tchinese.txt CRC:008252f083 size:4627815-resource/csgo_thai.txt CRC:00f47187a0 size:8128621-resource/csgo_turkish.txt CRC:00ea144dfc size:5165506-resource/csgo_ukrainian.txt CRC:00ab17d5bc size:6621012-resource/csgo_vietnamese.txt CRC:00985185c2 size:5450532+resource/csgo_spanish.txt CRC:00deb972b5 size:5160188+resource/csgo_swedish.txt CRC:00b4c12d74 size:5032375+resource/csgo_tchinese.txt CRC:00f44e6b58 size:4627815+resource/csgo_thai.txt CRC:00826d1c7b size:8128621+resource/csgo_turkish.txt CRC:00cabf481a size:5165905+resource/csgo_ukrainian.txt CRC:003ac03c61 size:6621798+resource/csgo_vietnamese.txt CRC:00ee4d1e19 size:5450532 resource/game.gameevents CRC:0090de10bc size:9837 resource/halflife2.vfont CRC:00b064848c size:58000 resource/mod.gameevents CRC:0035ddf423 size:20770@@ -88164,7 +88165,7 @@ scripts/talker/swat_fem.vrr_c CRC:00da568c7a size:22638 scripts/tools/anim_preview_archetypes.vdata_c CRC:00aefc657a size:6968 scripts/tools/game_asset_tags.vdata_c CRC:00c8bdb670 size:2787 scripts/weapons.vdata_c CRC:007f3daee4 size:26903-scripts/workshop_cvar_whitelist.txt CRC:009790852f size:18153+scripts/workshop_cvar_whitelist.txt CRC:00ed704614 size:18179 smartprops/bicycle/bicycle_rack.vsmart_c CRC:0097f4a6c4 size:1423 smartprops/bicycle/bicycle_single.vsmart_c CRC:001f5c91ad size:1628 smartprops/debris/debris_ceiling_tiles_01.vsmart_c CRC:00c0a90e2e size:2600game/csgo/pak01_dir/maps/de_ancient_night_retake.txt
modified • +33 / -32 • changes: 65
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -13,54 +14,54 @@ // A site "0" {- "0" "-1759.547363 -691.041321 136.093811 1.220013 95.890266 0.000000" // a main entrance- "1" "-1720.095337 -1101.785645 41.545643 -6.952028 93.323975 0.000000" // a main bottom stairs- "2" "-475.383362 -569.678711 101.086891 -1.222149 100.136345 0.000000" // bottom mid- "3" "-463.581665 -305.030914 120.122978 -3.774165 98.354080 0.000000" // top mid- "4" "-492.094421 385.699738 224.093811 0.845888 98.354202 0.000000" // top mid CT- "5" "45.615307 667.132813 138.093811 0.845888 98.354202 0.000000" // near CT spawn- "6" "201.624390 865.586609 158.259491 6.455836 -154.857803 0.000000" // near CT spawn 2- "7" "487.844177 905.601135 175.624710 4.343833 -164.845978 0.000000" // near CT spawn 3+ "0" "-1759.547363 -691.041321 136.093811 0.000000 95.890266 0.000000" // a main entrance+ "1" "-1720.095337 -1101.785645 41.545643 0.000000 93.323975 0.000000" // a main bottom stairs+ "2" "-475.383362 -569.678711 101.086891 0.000000 100.136345 0.000000" // bottom mid+ "3" "-463.581665 -305.030914 120.122978 0.000000 98.354080 0.000000" // top mid+ "4" "-492.094421 385.699738 224.093811 0.000000 98.354202 0.000000" // top mid CT+ "5" "45.615307 667.132813 138.093811 0.000000 98.354202 0.000000" // near CT spawn+ "6" "201.624390 865.586609 158.259491 0.000000 -154.857803 0.000000" // near CT spawn 2+ "7" "487.844177 905.601135 175.624710 0.000000 -164.845978 0.000000" // near CT spawn 3 } // B site "1" { - "0" "567.364685 -1890.279297 -105.470490 -6.819995 67.141991 0.000000" // water- "1" "684.835693 -2066.143555 -88.535599 0.308547 123.051720 0.000000" // water 2- "2" "-152.142883 -701.610596 220.771301 2.231987 -4.108181 0.000000" // ledge- "3" "-554.089600 -824.356934 96.093666 -10.955970 15.859979 0.000000" // bottom ledge- "4" "-642.909546 365.234863 239.093811 9.029978 50.165798 0.000000" // ct house- "5" "-472.417023 1336.832886 88.635345 -0.782018 -56.217842 0.000000" // ct spawn- "6" "-980.234436 1086.060669 130.093811 3.970006 -1.415828 0.000000" // ct spawn back- "7" "-175.877289 1419.091919 86.697815 -4.037995 -92.803886 0.000000" // ct spawn back+ "0" "567.364685 -1890.279297 -105.470490 0.000000 67.141991 0.000000" // water+ "1" "684.835693 -2066.143555 -88.535599 0.000000 123.051720 0.000000" // water 2+ "2" "-152.142883 -701.610596 220.771301 0.000000 -4.108181 0.000000" // ledge+ "3" "-554.089600 -824.356934 96.093666 0.000000 15.859979 0.000000" // bottom ledge+ "4" "-642.909546 365.234863 239.093811 0.000000 50.165798 0.000000" // ct house+ "5" "-472.417023 1336.832886 88.635345 0.000000 -56.217842 0.000000" // ct spawn+ "6" "-980.234436 1086.060669 130.093811 0.000000 -1.415828 0.000000" // ct spawn back+ "7" "-175.877289 1419.091919 86.697815 0.000000 -92.803886 0.000000" // ct spawn back } } "T" { // A site "0" {- "0" "-1709.706909 1135.055542 116.093811 2.772409 -66.596115 0.000000"- "1" "-1868.109375 985.488525 116.093811 -1.825591 -105.316277 0.000000"- "2" "-1725.932861 699.505554 116.093811 -0.967592 -142.584152 0.000000"- "3" "-1585.692139 712.646423 116.093811 -1.495591 -49.128235 0.000000"- "4" "-1125.890259 728.003296 117.929688 -2.595578 -125.336327 0.000000"- "5" "-1126.972168 863.269714 121.537674 1.408422 73.073593 0.000000"- "6" "-1680.200439 816.424927 116.093811 1.386419 -131.738251 0.000000"- "7" "-2096.523438 834.952454 117.893181 -0.879576 -83.448250 0.000000"+ "0" "-1709.706909 1135.055542 116.093811 0.000000 -66.596115 0.000000"+ "1" "-1868.109375 985.488525 116.093811 0.000000 -105.316277 0.000000"+ "2" "-1725.932861 699.505554 116.093811 0.000000 -142.584152 0.000000"+ "3" "-1585.692139 712.646423 116.093811 0.000000 -49.128235 0.000000"+ "4" "-1125.890259 728.003296 117.929688 0.000000 -125.336327 0.000000"+ "5" "-1126.972168 863.269714 121.537674 0.000000 73.073593 0.000000"+ "6" "-1680.200439 816.424927 116.093811 0.000000 -131.738251 0.000000"+ "7" "-2096.523438 834.952454 117.893181 0.000000 -83.448250 0.000000" } // B site "1" {- "0" "720.925110 312.794495 188.048004 4.334420 101.417526 0.000000"- "1" "1268.008057 308.640961 187.482849 2.970432 129.599426 0.000000"- "2" "900.354004 294.832367 189.451782 4.070419 -30.882408 0.000000"- "3" "1057.938110 -7.488391 197.093811 8.646417 -56.776390 0.000000"- "4" "686.529846 -237.705872 202.652267 1.056419 44.225487 0.000000"- "5" "1045.335693 101.515129 197.093811 6.028458 -50.286575 0.000000"- "6" "815.011841 245.587067 195.093811 5.280452 155.999786 0.000000"- "7" "1269.546631 390.912201 187.565704 2.882415 105.012016 0.000000"+ "0" "720.925110 312.794495 188.048004 0.000000 101.417526 0.000000"+ "1" "1268.008057 308.640961 187.482849 0.000000 129.599426 0.000000"+ "2" "900.354004 294.832367 189.451782 0.000000 -30.882408 0.000000"+ "3" "1057.938110 -7.488391 197.093811 0.000000 -56.776390 0.000000"+ "4" "686.529846 -237.705872 202.652267 0.000000 44.225487 0.000000"+ "5" "1045.335693 101.515129 197.093811 0.000000 -50.286575 0.000000"+ "6" "815.011841 245.587067 195.093811 0.000000 155.999786 0.000000"+ "7" "1269.546631 390.912201 187.565704 0.000000 105.012016 0.000000" } } }game/csgo/pak01_dir/maps/de_ancient_retake.txt
modified • +33 / -32 • changes: 65
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -13,54 +14,54 @@ // A site "0" {- "0" "-1759.547363 -691.041321 136.093811 1.220013 95.890266 0.000000" // a main entrance- "1" "-1720.095337 -1101.785645 41.545643 -6.952028 93.323975 0.000000" // a main bottom stairs- "2" "-475.383362 -569.678711 101.086891 -1.222149 100.136345 0.000000" // bottom mid- "3" "-463.581665 -305.030914 120.122978 -3.774165 98.354080 0.000000" // top mid- "4" "-492.094421 385.699738 224.093811 0.845888 98.354202 0.000000" // top mid CT- "5" "45.615307 667.132813 138.093811 0.845888 98.354202 0.000000" // near CT spawn- "6" "201.624390 865.586609 158.259491 6.455836 -154.857803 0.000000" // near CT spawn 2- "7" "487.844177 905.601135 175.624710 4.343833 -164.845978 0.000000" // near CT spawn 3+ "0" "-1759.547363 -691.041321 136.093811 0.000000 95.890266 0.000000" // a main entrance+ "1" "-1720.095337 -1101.785645 41.545643 0.000000 93.323975 0.000000" // a main bottom stairs+ "2" "-475.383362 -569.678711 101.086891 0.000000 100.136345 0.000000" // bottom mid+ "3" "-463.581665 -305.030914 120.122978 0.000000 98.354080 0.000000" // top mid+ "4" "-492.094421 385.699738 224.093811 0.000000 98.354202 0.000000" // top mid CT+ "5" "45.615307 667.132813 138.093811 0.000000 98.354202 0.000000" // near CT spawn+ "6" "201.624390 865.586609 158.259491 0.000000 -154.857803 0.000000" // near CT spawn 2+ "7" "487.844177 905.601135 175.624710 0.000000 -164.845978 0.000000" // near CT spawn 3 } // B site "1" { - "0" "567.364685 -1890.279297 -105.470490 -6.819995 67.141991 0.000000" // water- "1" "684.835693 -2066.143555 -88.535599 0.308547 123.051720 0.000000" // water 2- "2" "-152.142883 -701.610596 220.771301 2.231987 -4.108181 0.000000" // ledge- "3" "-554.089600 -824.356934 96.093666 -10.955970 15.859979 0.000000" // bottom ledge- "4" "-642.909546 365.234863 239.093811 9.029978 50.165798 0.000000" // ct house- "5" "-472.417023 1336.832886 88.635345 -0.782018 -56.217842 0.000000" // ct spawn- "6" "-980.234436 1086.060669 130.093811 3.970006 -1.415828 0.000000" // ct spawn back- "7" "-175.877289 1419.091919 86.697815 -4.037995 -92.803886 0.000000" // ct spawn back+ "0" "567.364685 -1890.279297 -105.470490 0.000000 67.141991 0.000000" // water+ "1" "684.835693 -2066.143555 -88.535599 0.000000 123.051720 0.000000" // water 2+ "2" "-152.142883 -701.610596 220.771301 0.000000 -4.108181 0.000000" // ledge+ "3" "-554.089600 -824.356934 96.093666 0.000000 15.859979 0.000000" // bottom ledge+ "4" "-642.909546 365.234863 239.093811 0.000000 50.165798 0.000000" // ct house+ "5" "-472.417023 1336.832886 88.635345 0.000000 -56.217842 0.000000" // ct spawn+ "6" "-980.234436 1086.060669 130.093811 0.000000 -1.415828 0.000000" // ct spawn back+ "7" "-175.877289 1419.091919 86.697815 0.000000 -92.803886 0.000000" // ct spawn back } } "T" { // A site "0" {- "0" "-1709.706909 1135.055542 116.093811 2.772409 -66.596115 0.000000"- "1" "-1868.109375 985.488525 116.093811 -1.825591 -105.316277 0.000000"- "2" "-1725.932861 699.505554 116.093811 -0.967592 -142.584152 0.000000"- "3" "-1585.692139 712.646423 116.093811 -1.495591 -49.128235 0.000000"- "4" "-1125.890259 728.003296 117.929688 -2.595578 -125.336327 0.000000"- "5" "-1126.972168 863.269714 121.537674 1.408422 73.073593 0.000000"- "6" "-1680.200439 816.424927 116.093811 1.386419 -131.738251 0.000000"- "7" "-2096.523438 834.952454 117.893181 -0.879576 -83.448250 0.000000"+ "0" "-1709.706909 1135.055542 116.093811 0.000000 -66.596115 0.000000"+ "1" "-1868.109375 985.488525 116.093811 0.000000 -105.316277 0.000000"+ "2" "-1725.932861 699.505554 116.093811 0.000000 -142.584152 0.000000"+ "3" "-1585.692139 712.646423 116.093811 0.000000 -49.128235 0.000000"+ "4" "-1125.890259 728.003296 117.929688 0.000000 -125.336327 0.000000"+ "5" "-1126.972168 863.269714 121.537674 0.000000 73.073593 0.000000"+ "6" "-1680.200439 816.424927 116.093811 0.000000 -131.738251 0.000000"+ "7" "-2096.523438 834.952454 117.893181 0.000000 -83.448250 0.000000" } // B site "1" {- "0" "720.925110 312.794495 188.048004 4.334420 101.417526 0.000000"- "1" "1268.008057 308.640961 187.482849 2.970432 129.599426 0.000000"- "2" "900.354004 294.832367 189.451782 4.070419 -30.882408 0.000000"- "3" "1057.938110 -7.488391 197.093811 8.646417 -56.776390 0.000000"- "4" "686.529846 -237.705872 202.652267 1.056419 44.225487 0.000000"- "5" "1045.335693 101.515129 197.093811 6.028458 -50.286575 0.000000"- "6" "815.011841 245.587067 195.093811 5.280452 155.999786 0.000000"- "7" "1269.546631 390.912201 187.565704 2.882415 105.012016 0.000000"+ "0" "720.925110 312.794495 188.048004 0.000000 101.417526 0.000000"+ "1" "1268.008057 308.640961 187.482849 0.000000 129.599426 0.000000"+ "2" "900.354004 294.832367 189.451782 0.000000 -30.882408 0.000000"+ "3" "1057.938110 -7.488391 197.093811 0.000000 -56.776390 0.000000"+ "4" "686.529846 -237.705872 202.652267 0.000000 44.225487 0.000000"+ "5" "1045.335693 101.515129 197.093811 0.000000 -50.286575 0.000000"+ "6" "815.011841 245.587067 195.093811 0.000000 155.999786 0.000000"+ "7" "1269.546631 390.912201 187.565704 0.000000 105.012016 0.000000" } } }game/csgo/pak01_dir/maps/de_anubis_retake.txt
modified • +28 / -27 • changes: 55
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -13,48 +14,48 @@ // A site "0" {- "0" "-682.722290 2064.249023 80.056595 2.442140 18.118698 0.000000" // ct spawn- "1" "-313.839661 2634.288818 -30.968750 4.268129 -8.215336 0.000000" // ct spawn water- "2" "-897.222107 1130.881348 99.031250 -1.715892 0.694614 0.000000" // wood- "3" "-147.081421 -0.954895 64.262917 0.572109 61.304386 -0.000000" // mid bridge- "4" "922.227600 -451.963257 32.031250 5.654140 105.656723 -0.000000" // t stairs- "5" "126.654060 218.923645 -124.833694 -1.891827 -0.608996 0.000000" // under bridge, water- "6" "-132.171387 249.622650 64.034569 0.770128 42.400875 0.000000" // bridge window+ "0" "-682.722290 2064.249023 80.056595 0.000000 18.118698 0.000000" // ct spawn+ "1" "-313.839661 2634.288818 -30.968750 0.000000 -8.215336 0.000000" // ct spawn water+ "2" "-897.222107 1130.881348 99.031250 0.000000 0.694614 0.000000" // wood+ "3" "-147.081421 -0.954895 64.262917 0.000000 61.304386 0.000000" // mid bridge+ "4" "922.227600 -451.963257 32.031250 0.000000 105.656723 0.000000" // t stairs+ "5" "126.654060 218.923645 -124.833694 0.000000 -0.608996 0.000000" // under bridge, water+ "6" "-132.171387 249.622650 64.034569 0.000000 42.400875 0.000000" // bridge window } // B site "1" {- "0" "1044.943359 650.306091 -124.833618 -0.087786 -128.222382 0.000000" // a water- "1" "219.437271 1020.341431 32.031250 -2.441797 -130.523499 0.000000" // ct mid- "2" "-81.979370 786.733704 64.266541 0.066199 -91.121056 0.000000" // mid- "3" "-282.693237 -288.023132 64.264076 -3.123806 -149.661575 0.000000" // mid to b- "4" "-338.627075 2631.813965 -30.968750 -3.233819 -141.608551 0.000000" // ct spawn water- "5" "588.024536 1301.065063 -22.218842 -3.123810 -179.579849 0.000000" // camera- "6" "772.013794 1334.301270 -23.968750 -1.693856 -173.002014 0.000000" // camera towards a- "7" "403.674835 2057.003174 -55.968750 2.112144 110.129517 0.000000" // heaven towards ct+ "0" "1044.943359 650.306091 -124.833618 0.000000 -128.222382 0.000000" // a water+ "1" "219.437271 1020.341431 32.031250 0.000000 -130.523499 0.000000" // ct mid+ "2" "-81.979370 786.733704 64.266541 0.000000 -91.121056 0.000000" // mid+ "3" "-282.693237 -288.023132 64.264076 0.000000 -149.661575 0.000000" // mid to b+ "4" "-338.627075 2631.813965 -30.968750 0.000000 -141.608551 0.000000" // ct spawn water+ "5" "588.024536 1301.065063 -22.218842 0.000000 -179.579849 0.000000" // camera+ "6" "772.013794 1334.301270 -23.968750 0.000000 -173.002014 0.000000" // camera towards a+ "7" "403.674835 2057.003174 -55.968750 0.000000 110.129517 0.000000" // heaven towards ct } } "T" { // A site "0" {- "0" "1682.151123 1552.544800 -87.968750 1.858028 130.619522 0.000000" // near a main- "1" "1713.895142 1910.501465 -19.968750 1.606064 -168.110855 0.000000" // water- "2" "1226.273926 1592.610352 -87.968750 -3.761937 -167.758728 0.000000" // tarp- "3" "1169.168335 2109.280273 -60.274902 -4.729924 171.803253 -0.000000" // scaling heaven- "4" "989.038147 2244.589111 24.031250 9.800014 -130.828140 0.000000" // heaven- "5" "1347.072632 1717.051514 -85.968750 -6.115903 -156.076813 0.000000" // near default+ "0" "1682.151123 1552.544800 -87.968750 0.000000 130.619522 0.000000" // near a main+ "1" "1713.895142 1910.501465 -19.968750 0.000000 -168.110855 0.000000" // water+ "2" "1226.273926 1592.610352 -87.968750 0.000000 -167.758728 0.000000" // tarp+ "3" "1169.168335 2109.280273 -60.274902 0.000000 171.803253 0.000000" // scaling heaven+ "4" "989.038147 2244.589111 24.031250 0.000000 -130.828140 0.000000" // heaven+ "5" "1347.072632 1717.051514 -85.968750 0.000000 -156.076813 0.000000" // near default } // B site "1" {- "0" "-1421.742432 552.547424 64.031250 3.960124 20.403915 0.000000" // mid-b site- "1" "-900.317322 319.405914 8.031250 -3.453902 101.737846 0.000000" // near ebox- "2" "-607.446533 575.537354 102.031250 1.870086 140.392090 0.000000" // cubby- "3" "-896.453796 874.513794 99.031250 1.364075 102.692116 0.000000" // near wood- "4" "-1264.500732 329.340424 56.981785 0.748086 48.198559 0.000000" // pillar- "5" "-1548.147949 737.432556 102.031250 7.710052 -39.080292 0.000000" // pizza+ "0" "-1421.742432 552.547424 64.031250 0.000000 20.403915 0.000000" // mid-b site+ "1" "-900.317322 319.405914 8.031250 0.000000 101.737846 0.000000" // near ebox+ "2" "-607.446533 575.537354 102.031250 0.000000 140.392090 0.000000" // cubby+ "3" "-896.453796 874.513794 99.031250 0.000000 102.692116 0.000000" // near wood+ "4" "-1264.500732 329.340424 56.981785 0.000000 48.198559 0.000000" // pillar+ "5" "-1548.147949 737.432556 102.031250 0.000000 -39.080292 0.000000" // pizza } } }game/csgo/pak01_dir/maps/de_cache_retake.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. game/csgo/pak01_dir/maps/de_dust2_retake.txt
modified • +30 / -29 • changes: 59
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -13,50 +14,50 @@ // A site "0" {- "0" "-846.599976 1444.890869 -48.501801 0.943810 1.405786 0.000000" // tunnels- "1" "-457.336212 1054.574707 1.844280 0.363007 50.313972 0.000000" // xbox- "2" "-400.334991 678.978882 64.093811 1.137411 66.576416 0.000000" // top mid- "3" "-193.614960 396.257385 62.181545 -0.024189 81.846718 0.000000" // top mid again- "4" "434.117462 -1.090969 60.376881 -2.032789 57.888672 0.000000" // long doors- "5" "555.093811 -135.622513 59.610733 -0.338788 82.621094 0.000000" // long doors again- "6" "-677.613525 2415.142822 -32.683861 3.605824 -26.400053 0.000000" // bottom mid- "7" "-516.179565 1745.433228 -54.061600 1.040630 55.541264 0.000000" // bottom mid+ "0" "-846.599976 1444.890869 -48.501801 0.000000 1.405786 0.000000" // tunnels+ "1" "-457.336212 1054.574707 1.844280 0.000000 50.313972 0.000000" // xbox+ "2" "-400.334991 678.978882 64.093811 0.000000 66.576416 0.000000" // top mid+ "3" "-193.614960 396.257385 62.181545 0.000000 81.846718 0.000000" // top mid again+ "4" "434.117462 -1.090969 60.376881 0.000000 57.888672 0.000000" // long doors+ "5" "555.093811 -135.622513 59.610733 0.000000 82.621094 0.000000" // long doors again+ "6" "-677.613525 2415.142822 -32.683861 0.000000 -26.400053 0.000000" // bottom mid+ "7" "-516.179565 1745.433228 -54.061600 0.000000 55.541264 0.000000" // bottom mid } // B site "1" {- "0" "-483.404663 1739.181641 -58.238190 -1.137366 101.860626 0.000000" // mid doors- "1" "-356.637268 1266.448120 -55.822693 1.161641 122.842247 0.000000" // xbox- "2" "-152.456589 1412.368896 63.691505 6.485623 170.056534 0.000000" // cat- "3" "-1550.600952 275.411560 71.745834 -3.242788 101.546806 0.000000" // outside tuns- "4" "-1777.189453 285.950958 63.664089 -2.952386 78.822899 0.000000" // outside tuns- "5" "283.011230 2364.396729 -56.154083 1.331001 -141.082947 0.000000" // ct spawn- "6" "-519.938232 1709.765137 -53.676819 -1.621401 92.496017 0.000000" // mid doors+ "0" "-483.404663 1739.181641 -58.238190 0.000000 101.860626 0.000000" // mid doors+ "1" "-356.637268 1266.448120 -55.822693 0.000000 122.842247 0.000000" // xbox+ "2" "-152.456589 1412.368896 63.691505 0.000000 170.056534 0.000000" // cat+ "3" "-1550.600952 275.411560 71.745834 0.000000 101.546806 0.000000" // outside tuns+ "4" "-1777.189453 285.950958 63.664089 0.000000 78.822899 0.000000" // outside tuns+ "5" "283.011230 2364.396729 -56.154083 0.000000 -141.082947 0.000000" // ct spawn+ "6" "-519.938232 1709.765137 -53.676819 0.000000 92.496017 0.000000" // mid doors } } "T" { // A site "0" {- "0" "1139.122192 2383.754150 160.579727 6.709989 -79.670036 0.000000"- "1" "1051.031250 3043.428955 194.564865 6.104987 -59.705238 0.000000"- "2" "1581.504639 2698.182373 167.690628 7.754992 -111.185661 0.000000"- "3" "800.029114 2748.880615 162.849014 0.824991 -115.395638 0.000000"- "4" "934.400391 2758.107910 166.024689 0.659932 -121.885841 0.000000"- "5" "961.684265 2462.519287 160.809616 8.524945 -55.720852 0.000000"- "6" "1561.968750 3059.968750 173.093811 2.859952 -105.055649 0.000000"+ "0" "1139.122192 2383.754150 160.579727 0.000000 -79.670036 0.000000"+ "1" "1051.031250 3043.428955 194.564865 0.000000 -59.705238 0.000000"+ "2" "1581.504639 2698.182373 167.690628 0.000000 -111.185661 0.000000"+ "3" "800.029114 2748.880615 162.849014 0.000000 -115.395638 0.000000"+ "4" "934.400391 2758.107910 166.024689 0.000000 -121.885841 0.000000"+ "5" "961.684265 2462.519287 160.809616 0.000000 -55.720852 0.000000"+ "6" "1561.968750 3059.968750 173.093811 0.000000 -105.055649 0.000000" } // B site "1" {- "0" "-2082.015869 2927.534424 98.116425 0.439947 -85.420326 0.000000"- "1" "-1570.835083 2535.531494 67.592232 0.659938 -90.700371 0.000000"- "2" "-2151.545898 2185.592041 65.203217 -0.550066 -69.000519 0.000000"- "3" "-2139.478027 2386.677002 85.813980 -0.110149 -79.120506 0.000000"- "4" "-1912.131470 2981.505127 103.982697 1.429781 -93.200829 0.000000"- "5" "-1682.210449 2839.806152 84.535492 1.979795 -64.161041 0.000000"- "6" "-1421.781616 2777.520264 80.034912 -0.704973 -120.040497 0.000000"+ "0" "-2082.015869 2927.534424 98.116425 0.000000 -85.420326 0.000000"+ "1" "-1570.835083 2535.531494 67.592232 0.000000 -90.700371 0.000000"+ "2" "-2151.545898 2185.592041 65.203217 0.000000 -69.000519 0.000000"+ "3" "-2139.478027 2386.677002 85.813980 0.000000 -79.120506 0.000000"+ "4" "-1912.131470 2981.505127 103.982697 0.000000 -93.200829 0.000000"+ "5" "-1682.210449 2839.806152 84.535492 0.000000 -64.161041 0.000000"+ "6" "-1421.781616 2777.520264 80.034912 0.000000 -120.040497 0.000000" } } }game/csgo/pak01_dir/maps/de_inferno_retake.txt
modified • +13 / -12 • changes: 25
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -38,22 +39,22 @@ // A site "0" {- "0" "1980.864868 691.333130 224.093811 0.275019 -90.190948 0.000000"- "1" "2111.051514 516.669739 224.093811 1.210017 51.929066 0.000000"- "2" "2312.475830 158.543716 192.119934 0.660010 -170.106003 0.000000"- "3" "2030.101563 91.219025 195.871506 1.100013 -178.466217 0.000000"- "4" "1851.353394 307.282959 224.093811 5.390013 -1.506194 0.000000"- "5" "2066.439209 389.242218 224.093811 3.575027 59.323837 0.000000"+ "0" "1980.864868 691.333130 224.093811 0.000000 -90.190948 0.000000"+ "1" "2111.051514 516.669739 224.093811 0.000000 51.929066 0.000000"+ "2" "2312.475830 158.543716 192.119934 0.000000 -170.106003 0.000000"+ "3" "2030.101563 91.219025 195.871506 0.000000 -178.466217 0.000000"+ "4" "1851.353394 307.282959 224.093811 0.000000 -1.506194 0.000000"+ "5" "2066.439209 389.242218 224.093811 0.000000 59.323837 0.000000" } // B site "1" {- "0" "327.007019 2958.958496 224.093811 0.165006 61.244827 0.000000"- "1" "493.116791 2920.305664 224.093811 0.440006 -57.995209 0.000000"- "2" "546.782410 2785.582520 224.093811 3.025007 -5.264832 0.000000"- "3" "540.284363 2640.538086 224.093811 7.205009 -49.044861 0.000000"- "4" "451.179962 2477.032959 224.093811 0.825007 88.150040 0.000000"- "5" "173.078644 2463.477539 224.093811 0.165024 63.014217 0.000000"+ "0" "327.007019 2958.958496 224.093811 0.000000 61.244827 0.000000"+ "1" "493.116791 2920.305664 224.093811 0.000000 -57.995209 0.000000"+ "2" "546.782410 2785.582520 224.093811 0.000000 -5.264832 0.000000"+ "3" "540.284363 2640.538086 224.093811 0.000000 -49.044861 0.000000"+ "4" "451.179962 2477.032959 224.093811 0.000000 88.150040 0.000000"+ "5" "173.078644 2463.477539 224.093811 0.000000 63.014217 0.000000" } } }game/csgo/pak01_dir/maps/de_mirage_retake.txt
modified • +28 / -27 • changes: 55
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -13,48 +14,48 @@ // A site "0" {- "0" "-1677.126709 -1634.004761 -199.909851 -1.040606 -70.527283 0.000000" // ct spawn towards stairs- "1" "-1656.067993 -1312.397339 -198.956573 -9.220211 46.770073 0.000000" // ct spawn towards window- "2" "-1900.843750 -501.388794 -103.906342 -0.048411 -35.025795 0.000000" // market- "3" "-1098.085815 247.777573 -108.550049 0.483987 -24.305056 0.000000" // short/cat- "4" "-1015.740295 20.759636 -303.906189 0.024157 -89.112495 0.000000" // underpass- "5" "178.497757 -432.409790 -102.906189 4.839993 -153.049103 0.000000" // top of mid- "6" "1308.333252 -493.088531 -103.906189 0.846988 -105.737518 0.000000" // t spawn- "7" "937.698242 -2309.016357 24.093811 3.533107 178.540085 0.000000" // palace- "8" "1003.887695 -1429.493896 -103.906189 -9.220247 -100.872650 0.000000" // palace towards t spawn+ "0" "-1677.126709 -1634.004761 -199.909851 0.000000 -70.527283 0.000000" // ct spawn towards stairs+ "1" "-1656.067993 -1312.397339 -198.956573 0.000000 46.770073 0.000000" // ct spawn towards window+ "2" "-1900.843750 -501.388794 -103.906342 0.000000 -35.025795 0.000000" // market+ "3" "-1098.085815 247.777573 -108.550049 0.000000 -24.305056 0.000000" // short/cat+ "4" "-1015.740295 20.759636 -303.906189 0.000000 -89.112495 0.000000" // underpass+ "5" "178.497757 -432.409790 -102.906189 0.000000 -153.049103 0.000000" // top of mid+ "6" "1308.333252 -493.088531 -103.906189 0.000000 -105.737518 0.000000" // t spawn+ "7" "937.698242 -2309.016357 24.093811 0.000000 178.540085 0.000000" // palace+ "8" "1003.887695 -1429.493896 -103.906189 0.000000 -100.872650 0.000000" // palace towards t spawn } // B site "1" {- "0" "39.600376 -674.276245 -123.007751 -2.541049 156.639526 0.000000" // top of mid- "1" "205.479950 -423.502655 -105.788986 -0.459847 178.613220 0.000000" // top of mid- "2" "246.561295 837.782532 -71.906189 -0.532449 -174.005737 0.000000" // t aps- "3" "-1165.694702 -727.956482 -103.906189 0.024152 61.847801 0.000000" // window- "4" "-1608.863281 -1773.091064 -203.089233 -2.565245 89.242607 0.000000" // ct spawn- "5" "-188.154068 836.493591 -70.936310 -5.227249 -139.956451 0.000000" // near underpass- "6" "-638.112366 -1043.536621 -146.134171 -0.242047 98.970795 0.000000" // connector+ "0" "39.600376 -674.276245 -123.007751 0.000000 156.639526 0.000000" // top of mid+ "1" "205.479950 -423.502655 -105.788986 0.000000 178.613220 0.000000" // top of mid+ "2" "246.561295 837.782532 -71.906189 0.000000 -174.005737 0.000000" // t aps+ "3" "-1165.694702 -727.956482 -103.906189 0.000000 61.847801 0.000000" // window+ "4" "-1608.863281 -1773.091064 -203.089233 0.000000 89.242607 0.000000" // ct spawn+ "5" "-188.154068 836.493591 -70.936310 0.000000 -139.956451 0.000000" // near underpass+ "6" "-638.112366 -1043.536621 -146.134171 0.000000 98.970795 0.000000" // connector } } "T" { // A site "0" {- "0" "-138.005844 -1797.033203 -103.906189 4.114976 171.140121 0.000000"- "1" "-208.880524 -1975.932617 -103.906189 2.495055 57.080521 0.000000"- "2" "-173.824203 -1648.350464 -103.906448 1.945080 13.465389 0.000000"- "3" "-726.882385 -2127.039795 -115.906189 1.320001 88.945335 0.000000"- "4" "-133.799622 -1971.166504 -103.906189 4.970137 130.364868 0.000000"+ "0" "-138.005844 -1797.033203 -103.906189 0.000000 171.140121 0.000000"+ "1" "-208.880524 -1975.932617 -103.906189 0.000000 57.080521 0.000000"+ "2" "-173.824203 -1648.350464 -103.906448 0.000000 13.465389 0.000000"+ "3" "-726.882385 -2127.039795 -115.906189 0.000000 88.945335 0.000000"+ "4" "-133.799622 -1971.166504 -103.906189 0.000000 130.364868 0.000000" } // B site "1" {- "0" "-2071.244141 76.052170 -95.906189 2.034678 -80.853889 0.000000"- "1" "-2335.413574 317.665161 -103.906189 -0.880295 -1.849629 0.000000"- "2" "-2314.553223 87.289604 -103.906189 2.089718 -88.254845 0.000000"- "3" "-2311.599609 807.468384 -56.817085 0.770055 -17.544203 0.000000"- "4" "-2083.113770 422.673370 -95.906189 -0.440296 -28.139830 0.000000"- "5" "-2032.361572 819.257629 16.093811 5.499928 -73.249115 0.000000"+ "0" "-2071.244141 76.052170 -95.906189 0.000000 -80.853889 0.000000"+ "1" "-2335.413574 317.665161 -103.906189 0.000000 -1.849629 0.000000"+ "2" "-2314.553223 87.289604 -103.906189 0.000000 -88.254845 0.000000"+ "3" "-2311.599609 807.468384 -56.817085 0.000000 -17.544203 0.000000"+ "4" "-2083.113770 422.673370 -95.906189 0.000000 -28.139830 0.000000"+ "5" "-2032.361572 819.257629 16.093811 0.000000 -73.249115 0.000000" } } }game/csgo/pak01_dir/maps/de_nuke_retake.txt
modified • +29 / -28 • changes: 57
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -13,49 +14,49 @@ // A site "0" {- "0" "1826.490234 -1582.837280 -415.468750 0.065063 153.155899 0.000000"- "1" "1881.807495 -1455.578857 -415.968750 5.555011 155.200150 0.000000"- "2" "1894.747314 -1346.003906 -415.968750 3.795011 163.780304 0.000000"- "3" "98.284538 78.638504 -415.968750 3.850050 -84.354782 0.000000"- "4" "217.944992 81.296051 -415.968750 3.960050 -95.904846 0.000000"- "5" "386.501587 289.255096 -415.968750 2.860050 -112.514771 0.000000"- "6" "477.353271 112.284828 -415.968750 4.620059 -158.439514 0.000000"- "7" "-349.254517 -326.273315 -415.968750 5.775097 -94.584648 0.000000"+ "0" "1826.490234 -1582.837280 -415.468750 0.000000 153.155899 0.000000"+ "1" "1881.807495 -1455.578857 -415.968750 0.000000 155.200150 0.000000"+ "2" "1894.747314 -1346.003906 -415.968750 0.000000 163.780304 0.000000"+ "3" "98.284538 78.638504 -415.968750 0.000000 -84.354782 0.000000"+ "4" "217.944992 81.296051 -415.968750 0.000000 -95.904846 0.000000"+ "5" "386.501587 289.255096 -415.968750 0.000000 -112.514771 0.000000"+ "6" "477.353271 112.284828 -415.968750 0.000000 -158.439514 0.000000"+ "7" "-349.254517 -326.273315 -415.968750 0.000000 -94.584648 0.000000" } // B site "1" {- "0" "1576.323364 -1878.220947 -639.968750 2.090019 -179.841293 0.000000"- "1" "1609.487671 -1979.546021 -639.968750 4.235075 170.125092 0.000000"- "2" "1539.138062 -2043.621338 -639.468750 1.925072 149.829666 0.000000"- "3" "1187.977905 -125.299744 -415.968750 3.300195 139.128769 0.000000"- "4" "1101.862305 -244.514221 -415.468750 3.410053 109.701180 0.000000"- "5" "65.669846 -193.346924 -415.968750 3.520051 50.169384 0.000000"- "6" "172.936295 -222.184082 -415.968750 3.685049 69.609474 0.000000"+ "0" "1576.323364 -1878.220947 -639.968750 0.000000 -179.841293 0.000000"+ "1" "1609.487671 -1979.546021 -639.968750 0.000000 170.125092 0.000000"+ "2" "1539.138062 -2043.621338 -639.468750 0.000000 149.829666 0.000000"+ "3" "1187.977905 -125.299744 -415.968750 0.000000 139.128769 0.000000"+ "4" "1101.862305 -244.514221 -415.468750 0.000000 109.701180 0.000000"+ "5" "65.669846 -193.346924 -415.968750 0.000000 50.169384 0.000000"+ "6" "172.936295 -222.184082 -415.968750 0.000000 69.609474 0.000000" } } "T" { // A site "0" {- "0" "439.701294 -430.728943 -415.968750 0.220048 -66.750351 0.000000"- "1" "391.304352 -680.313660 -415.968750 2.255052 -45.245312 0.000000"- "2" "676.314880 -849.846741 -415.640930 -0.714948 -98.210297 0.000000"- "3" "910.849426 -814.943909 -415.968750 1.045055 -119.770355 0.000000"- "4" "834.290283 -432.108215 -415.968750 -0.219952 -116.085457 0.000000"- "5" "653.616211 -380.847412 -415.968750 -1.704951 -96.505409 0.000000"+ "0" "439.701294 -430.728943 -415.968750 0.000000 -66.750351 0.000000"+ "1" "391.304352 -680.313660 -415.968750 0.000000 -45.245312 0.000000"+ "2" "676.314880 -849.846741 -415.640930 0.000000 -98.210297 0.000000"+ "3" "910.849426 -814.943909 -415.968750 0.000000 -119.770355 0.000000"+ "4" "834.290283 -432.108215 -415.968750 0.000000 -116.085457 0.000000"+ "5" "653.616211 -380.847412 -415.968750 0.000000 -96.505409 0.000000" } // B site "1" {- "0" "505.153625 -1255.377808 -769.968750 4.344996 -175.020218 0.000000"- "1" "447.878540 -938.309509 -771.968750 -7.369998 71.569695 0.000000"- "2" "814.926270 -980.591858 -771.968750 4.125004 -0.315308 0.000000"- "3" "793.895630 -890.297546 -771.968750 -8.414989 102.699738 0.000000"- "4" "729.326294 -1292.212280 -769.968750 -0.769992 54.299778 0.000000"- "5" "601.971008 -1069.505737 -771.968750 -6.104986 87.904762 0.000000"- "6" "838.149231 -628.893921 -767.968750 2.200047 -110.615128 0.000000"+ "0" "505.153625 -1255.377808 -769.968750 0.000000 -175.020218 0.000000"+ "1" "447.878540 -938.309509 -771.968750 0.000000 71.569695 0.000000"+ "2" "814.926270 -980.591858 -771.968750 0.000000 -0.315308 0.000000"+ "3" "793.895630 -890.297546 -771.968750 0.000000 102.699738 0.000000"+ "4" "729.326294 -1292.212280 -769.968750 0.000000 54.299778 0.000000"+ "5" "601.971008 -1069.505737 -771.968750 0.000000 87.904762 0.000000"+ "6" "838.149231 -628.893921 -767.968750 0.000000 -110.615128 0.000000" } } }game/csgo/pak01_dir/maps/de_overpass_retake.txt
modified • +26 / -25 • changes: 51
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -13,46 +14,46 @@ // A site "0" {- "0" "-2895.787598 -2106.911621 536.093811 1.154996 98.325569 0.000000"- "1" "-2677.047363 -2112.731201 536.093811 2.199996 91.065544 0.000000"- "2" "-2402.718262 -1904.216553 536.093811 3.024992 132.260513 0.000000"- "3" "-3520.431152 -1295.249268 566.301453 4.619984 95.850212 0.000000"- "4" "-3667.147705 -1309.966309 555.990662 0.769987 74.840096 0.000000"- "5" "-3569.248291 -1444.676880 577.288269 4.399978 97.500099 0.000000"- "6" "-2075.771484 450.691711 108.532364 2.694936 35.015278 0.000000"- "7" "-1949.533813 379.327820 108.031250 2.859980 69.885338 0.000000"+ "0" "-2895.787598 -2106.911621 536.093811 0.000000 98.325569 0.000000"+ "1" "-2677.047363 -2112.731201 536.093811 0.000000 91.065544 0.000000"+ "2" "-2402.718262 -1904.216553 536.093811 0.000000 132.260513 0.000000"+ "3" "-3520.431152 -1295.249268 566.301453 0.000000 95.850212 0.000000"+ "4" "-3667.147705 -1309.966309 555.990662 0.000000 74.840096 0.000000"+ "5" "-3569.248291 -1444.676880 577.288269 0.000000 97.500099 0.000000"+ "6" "-2075.771484 450.691711 108.532364 0.000000 35.015278 0.000000"+ "7" "-1949.533813 379.327820 108.031250 0.000000 69.885338 0.000000" } // B site "1" {- "0" "-669.978821 -1596.339600 209.001465 9.294992 77.815590 0.000000"- "1" "-845.763367 -1510.034058 209.090118 5.444992 54.330486 0.000000"- "2" "-830.348755 -1692.366089 214.448120 7.754998 60.655495 0.000000"- "3" "-2089.559082 1245.278198 420.093811 12.375099 -37.318851 0.000000"- "4" "-2049.639648 1297.645386 420.093811 12.375099 -37.318851 0.000000"- "5" "-1935.149536 1299.063110 419.212982 13.420106 -59.428921 0.000000"+ "0" "-669.978821 -1596.339600 209.001465 0.000000 77.815590 0.000000"+ "1" "-845.763367 -1510.034058 209.090118 0.000000 54.330486 0.000000"+ "2" "-830.348755 -1692.366089 214.448120 0.000000 60.655495 0.000000"+ "3" "-2089.559082 1245.278198 420.093811 0.000000 -37.318851 0.000000"+ "4" "-2049.639648 1297.645386 420.093811 0.000000 -37.318851 0.000000"+ "5" "-1935.149536 1299.063110 419.212982 0.000000 -59.428921 0.000000" } } "T" { // A site "0" {- "0" "-2276.064209 566.507263 544.079407 3.850023 -120.519920 0.000000"- "1" "-2473.138184 536.193909 544.093811 8.305019 -115.899849 0.000000"- "2" "-2259.978271 698.634766 536.343811 2.915035 -116.669830 0.000000"- "3" "-2426.317627 822.700256 536.343811 1.485011 13.460282 0.000000"- "4" "-2087.630127 735.790344 476.031219 2.342239 137.941879 0.000000"+ "0" "-2276.064209 566.507263 544.079407 0.000000 -120.519920 0.000000"+ "1" "-2473.138184 536.193909 544.093811 0.000000 -115.899849 0.000000"+ "2" "-2259.978271 698.634766 536.343811 0.000000 -116.669830 0.000000"+ "3" "-2426.317627 822.700256 536.343811 0.000000 13.460282 0.000000"+ "4" "-2087.630127 735.790344 476.031219 0.000000 137.941879 0.000000" } // B site "1" {- "0" "-884.320007 221.360916 160.093811 9.020019 -46.930019 0.000000"- "1" "-1082.541992 141.747742 163.093811 -10.119980 148.290009 0.000000"- "2" "-1192.550903 105.253471 163.093811 0.880019 -58.370010 0.000000"- "3" "-1047.512573 -150.184769 163.093811 0.110016 -170.129654 0.000000"- "4" "-968.416199 -183.259766 160.093811 1.320018 -91.204674 0.000000"- "5" "-1112.493286 -216.452805 163.093811 2.640013 50.255310 0.000000"+ "0" "-884.320007 221.360916 160.093811 0.000000 -46.930019 0.000000"+ "1" "-1082.541992 141.747742 163.093811 0.000000 148.290009 0.000000"+ "2" "-1192.550903 105.253471 163.093811 0.000000 -58.370010 0.000000"+ "3" "-1047.512573 -150.184769 163.093811 0.000000 -170.129654 0.000000"+ "4" "-968.416199 -183.259766 160.093811 0.000000 -91.204674 0.000000"+ "5" "-1112.493286 -216.452805 163.093811 0.000000 50.255310 0.000000" } } }game/csgo/pak01_dir/maps/de_train_retake.txt
modified • +26 / -25 • changes: 51
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -13,46 +14,46 @@ // A site "0" {- "0" "869.592896 1623.697876 -163.906189 2.859981 -26.422117 0.000000" //ivy- "1" "719.372253 1657.006714 -159.917480 3.409997 -17.566977 0.000000" //ivy- "2" "-233.861633 -897.102600 -254.968750 -2.111976 3.068373 0.000000" //b site ramp- "3" "-728.552124 1435.110352 -157.265610 2.859995 -82.961456 0.000000" //a main- "4" "-974.967651 -869.088562 -89.968750 -4.597982 94.454933 -0.000000" //upper b- "5" "-982.721497 -166.424179 80.093811 4.960011 -19.305164 0.000000" //top longdog- "6" "1693.168457 -661.709900 -199.968750 -2.705968 100.607056 0.000000" //ct spawn- "7" "1025.682617 -1252.776733 -278.968750 -3.299975 123.430275 0.000000" //back b site+ "0" "869.592896 1623.697876 -163.906189 0.000000 -26.422117 0.000000" //ivy+ "1" "719.372253 1657.006714 -159.917480 0.000000 -17.566977 0.000000" //ivy+ "2" "-233.861633 -897.102600 -254.968750 0.000000 3.068373 0.000000" //b site ramp+ "3" "-728.552124 1435.110352 -157.265610 0.000000 -82.961456 0.000000" //a main+ "4" "-974.967651 -869.088562 -89.968750 0.000000 94.454933 0.000000" //upper b+ "5" "-982.721497 -166.424179 80.093811 0.000000 -19.305164 0.000000" //top longdog+ "6" "1693.168457 -661.709900 -199.968750 0.000000 100.607056 0.000000" //ct spawn+ "7" "1025.682617 -1252.776733 -278.968750 0.000000 123.430275 0.000000" //back b site } // B site "1" {- "0" "-969.392029 259.101227 80.031250 1.584035 -90.211624 0.000000" //upper b- "1" "-604.124756 151.493393 80.031250 1.166058 -89.859642 0.000000" //upper b- "2" "1642.633911 -36.776550 -147.968750 5.918056 -89.581604 0.000000" //a1 ct- "3" "-93.765259 147.830399 -151.968750 0.638126 -57.438507 0.000000" //ebox- "4" "661.129333 179.949982 -151.968750 2.684222 -132.613449 0.000000" //a site- "5" "-448.117981 -133.451660 -151.968750 0.638163 -42.567448 0.000000" //outside longdog- "6" "1692.687500 -665.840088 -199.968750 7.854129 -102.649010 0.000000" //ct spawn+ "0" "-969.392029 259.101227 80.031250 0.000000 -90.211624 0.000000" //upper b+ "1" "-604.124756 151.493393 80.031250 0.000000 -89.859642 0.000000" //upper b+ "2" "1642.633911 -36.776550 -147.968750 0.000000 -89.581604 0.000000" //a1 ct+ "3" "-93.765259 147.830399 -151.968750 0.000000 -57.438507 0.000000" //ebox+ "4" "661.129333 179.949982 -151.968750 0.000000 -132.613449 0.000000" //a site+ "5" "-448.117981 -133.451660 -151.968750 0.000000 -42.567448 0.000000" //outside longdog+ "6" "1692.687500 -665.840088 -199.968750 0.000000 -102.649010 0.000000" //ct spawn } } "T" { // A site "0" {- "0" "462.717316 110.559921 -151.906189 0.769982 36.600121 0.000000" //mid-a site- "1" "55.970734 -192.313721 -215.968750 1.936126 14.141252 0.000000" //behind default plant- "2" "641.802673 -340.406494 -143.968750 2.002108 104.539085 0.000000" //under heaven- "3" "551.447693 -236.673233 -151.906189 -2.035019 82.220497 0.000000" //near heaven- "4" "246.003784 -105.766846 -77.968750 12.144086 178.538879 0.000000" //on bomb train+ "0" "462.717316 110.559921 -151.906189 0.000000 36.600121 0.000000" //mid-a site+ "1" "55.970734 -192.313721 -215.968750 0.000000 14.141252 0.000000" //behind default plant+ "2" "641.802673 -340.406494 -143.968750 0.000000 104.539085 0.000000" //under heaven+ "3" "551.447693 -236.673233 -151.906189 0.000000 82.220497 0.000000" //near heaven+ "4" "246.003784 -105.766846 -77.968750 0.000000 178.538879 0.000000" //on bomb train } // B site "1" {- "0" "-3.422702 -1143.280762 -288.029327 0.934985 0.541761 0.00000" // mid-b site- "1" "72.596527 -1405.762207 -285.974854 0.714984 -0.778225 0.00000" // mid-b site oil side- "2" "-235.921524 -1407.080444 -287.906189 -0.495016 111.861740 0.00000" // mid-b site oil side- "3" "-449.022644 -1277.995239 -291.906189 1.924981 84.636719 0.00000" // behind default plant- "4" "-255.967651 -1544.674316 -350.968750 6.622083 65.481186 0.000000" // below upper b+ "0" "-3.422702 -1143.280762 -288.029327 0.000000 0.541761 0.000000" // mid-b site+ "1" "72.596527 -1405.762207 -285.974854 0.000000 -0.778225 0.000000" // mid-b site oil side+ "2" "-235.921524 -1407.080444 -287.906189 0.000000 111.861740 0.000000" // mid-b site oil side+ "3" "-449.022644 -1277.995239 -291.906189 0.000000 84.636719 0.000000" // behind default plant+ "4" "-255.967651 -1544.674316 -350.968750 0.000000 65.481186 0.000000" // below upper b } } }game/csgo/pak01_dir/maps/de_vertigo_retake.txt
modified • +30 / -29 • changes: 59
Show patch
@@ -1,6 +1,7 @@ // Spawn locations and angles. // The first three numbers are the X Y Z coordinates of the player location. // The last three numbers are the PITCH YAW ROLL parameters of the player camera.+// Only YAW is used. PITCH and ROLL must be 0. // To easily get these numbers, walk around the map and type "getpos" in the console. // The console will return the 6 numbers that you need to paste into your entry below. @@ -13,50 +14,50 @@ // A site "0" {- "0" "-1451.945435 163.126968 11840.093750 2.780024 -3.554834 0.000000"- "1" "-1516.281128 336.276184 11840.093750 1.955028 -27.094843 0.000000"- "2" "-1141.929932 555.575989 11841.093750 -0.629967 -76.790024 0.000000"- "3" "-1523.626465 -345.075836 11552.093750 3.399952 44.049221 0.000000"- "4" "-1492.269897 125.298424 11553.093750 3.605145 -44.835899 0.000000"- "5" "-1205.339966 900.894836 11840.093750 2.190067 -37.900955 0.000000"- "6" "-1287.256348 948.204285 11840.093750 5.215091 -37.900822 0.000000"- "7" "-1788.561768 347.308929 11840.093750 1.805082 -9.661197 0.000000"+ "0" "-1451.945435 163.126968 11840.093750 0.000000 -3.554834 0.000000"+ "1" "-1516.281128 336.276184 11840.093750 0.000000 -27.094843 0.000000"+ "2" "-1141.929932 555.575989 11841.093750 0.000000 -76.790024 0.000000"+ "3" "-1523.626465 -345.075836 11552.093750 0.000000 44.049221 0.000000"+ "4" "-1492.269897 125.298424 11553.093750 0.000000 -44.835899 0.000000"+ "5" "-1205.339966 900.894836 11840.093750 0.000000 -37.900955 0.000000"+ "6" "-1287.256348 948.204285 11840.093750 0.000000 -37.900822 0.000000"+ "7" "-1788.561768 347.308929 11840.093750 0.000000 -9.661197 0.000000" } // B site "1" {- "0" "-974.750610 -404.438934 11841.093750 0.815079 96.623421 0.000000"- "1" "-823.286316 -374.872650 11840.093750 2.025078 108.008484 0.000000"- "2" "-668.304810 -217.494736 11840.093750 2.190075 153.824127 0.000000"- "3" "-1535.756470 -238.856689 11776.031250 0.485072 142.463699 0.000000"- "4" "-1458.373657 -119.980713 11776.031250 5.160068 170.238327 0.000000"- "5" "-1373.065796 -427.928955 11776.031250 2.740066 135.203018 0.000000"- "6" "-2354.094971 -857.293701 11552.093750 3.950027 68.872276 0.000000"- "7" "-2193.825684 -915.975647 11552.093750 3.180027 100.167282 0.000000"- "8" "-2110.593262 -754.761353 11552.093750 4.995027 138.832138 0.000000"+ "0" "-974.750610 -404.438934 11841.093750 0.000000 96.623421 0.000000"+ "1" "-823.286316 -374.872650 11840.093750 0.000000 108.008484 0.000000"+ "2" "-668.304810 -217.494736 11840.093750 0.000000 153.824127 0.000000"+ "3" "-1535.756470 -238.856689 11776.031250 0.000000 142.463699 0.000000"+ "4" "-1458.373657 -119.980713 11776.031250 0.000000 170.238327 0.000000"+ "5" "-1373.065796 -427.928955 11776.031250 0.000000 135.203018 0.000000"+ "6" "-2354.094971 -857.293701 11552.093750 0.000000 68.872276 0.000000"+ "7" "-2193.825684 -915.975647 11552.093750 0.000000 100.167282 0.000000"+ "8" "-2110.593262 -754.761353 11552.093750 0.000000 138.832138 0.000000" } } "T" { // A site "0" {- "0" "-73.786880 -905.851135 11840.093750 6.215020 -141.909775 0.000000" - "1" "-300.173615 -927.451782 11840.093750 14.465016 -124.639832 0.000000" - "2" "-330.812439 -799.745605 11840.093750 6.600021 -97.390060 0.000000"- "3" "-67.812881 -795.826904 11840.093750 4.345022 -141.445145 0.000000"- "4" "-545.310059 -735.743652 11840.093750 0.605010 175.599777 0.000000"- "5" "-537.468994 -581.356995 11840.093750 2.970011 -171.750366 0.000000"+ "0" "-73.786880 -905.851135 11840.093750 0.000000 -141.909775 0.000000" + "1" "-300.173615 -927.451782 11840.093750 0.000000 -124.639832 0.000000" + "2" "-330.812439 -799.745605 11840.093750 0.000000 -97.390060 0.000000"+ "3" "-67.812881 -795.826904 11840.093750 0.000000 -141.445145 0.000000"+ "4" "-545.310059 -735.743652 11840.093750 0.000000 175.599777 0.000000"+ "5" "-537.468994 -581.356995 11840.093750 0.000000 -171.750366 0.000000" } // B site "1" {- "0" "-2311.852539 1051.179688 11813.517578 0.219993 -21.645147 0.000000"- "1" "-2605.017090 911.943115 11815.585938 -0.274989 0.079643 0.000000"- "2" "-2621.069824 634.407532 11817.556641 3.300010 -78.405312 0.000000"- "3" "-2441.925049 667.737366 11808.093750 3.135013 -79.505333 0.000000"- "4" "-2470.786133 862.286621 11808.093750 0.715015 -12.735312 0.000000"- "5" "-2473.725586 1082.646484 11817.381836 1.045011 -18.810177 0.000000"+ "0" "-2311.852539 1051.179688 11813.517578 0.000000 -21.645147 0.000000"+ "1" "-2605.017090 911.943115 11815.585938 0.000000 0.079643 0.000000"+ "2" "-2621.069824 634.407532 11817.556641 0.000000 -78.405312 0.000000"+ "3" "-2441.925049 667.737366 11808.093750 0.000000 -79.505333 0.000000"+ "4" "-2470.786133 862.286621 11808.093750 0.000000 -12.735312 0.000000"+ "5" "-2473.725586 1082.646484 11817.381836 0.000000 -18.810177 0.000000" } } }game/csgo/pak01_dir/panorama/styles/retakeloadout.css
modified • +0 / -20 • changes: 20
Show patch
@@ -172,26 +172,6 @@ opacity: 0; } -.RetakeLoadoutMenu--loadout-container.RetakeLoadoutMenu--loadout-container-0-{- animation-delay: 0.15s;-}--.RetakeLoadoutMenu--loadout-container.RetakeLoadoutMenu--loadout-container-1-{- animation-delay: 0.25s;-}--.RetakeLoadoutMenu--loadout-container.RetakeLoadoutMenu--loadout-container-2-{- animation-delay: 0.45s;-}--.RetakeLoadoutMenu--loadout-container.RetakeLoadoutMenu--loadout-container-3-{- animation-delay: .5s;-}- @keyframes 'deal' { 0%game/csgo/pak01_dir/scripts/workshop_cvar_whitelist.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -223,6 +223,7 @@ "mp_death_drop_defuser", "mp_death_drop_grenade", "mp_death_drop_gun", + "mp_death_drop_taser", "mp_death_drop_healthshot", "mp_deathcam_skippable", "mp_default_team_winner_no_objective", game/csgo/readonly_tools_asset_info.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -134923,3 +134923,4 @@ sounds/graphs/reverb_9_mediumchamber.vsnd panorama/layout/hud/hudmutators.vxml panorama/styles/hud/hudmutators.vcss sounds/graphs/bighead_pitch.vsnd+panorama/images/econ/keychains/bud2025/kc_bud2025_png.vtexgame/csgo/steam.inf
modified • +6 / -6 • changes: 12
Show patch
@@ -1,9 +1,9 @@-ClientVersion=2000940-ServerVersion=2000940-PatchVersion=1.41.9.5+ClientVersion=2000942+ServerVersion=2000942+PatchVersion=1.41.9.6 ProductName=cs2 appID=730 ServerAppID=2347773-SourceRevision=11198439-VersionDate=Nov 02 2026-VersionTime=16:17:08+SourceRevision=11206718+VersionDate=Nov 04 2026+VersionTime=16:01:59game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/chess.js
modified • +10 / -10 • changes: 20
Show patch
@@ -1,6 +1,6 @@ // @ts-nocheck -import { Instance, PointTemplate } from "cs_script/point_script";+import { Instance, PointTemplate, Entities } from "cs_script/point_script"; function ChessJS() { @@ -3474,7 +3474,7 @@ let chess = new Chess(); const centers = {}; function FindCenters() {- const entities = Instance.FindEntitiesByClass("info_target");+ const entities = Entities.FindByClass("info_target"); for (const ent of entities) { const name = ent.GetEntityName(); if (/^[a-h][1-8]$/.test(name)) {@@ -3501,14 +3501,14 @@ async function RunChess() { await AnimateMove(move); } - Instance.EntFireAtName({ name: `snd.chess.${chess.turn()}.win`, input: "StartSound" });+ Entities.FireInput({ name: `snd.chess.${chess.turn()}.win`, input: "StartSound" }); Instance.SetNextThink(Instance.GetGameTime() + 10); bIsRunning = false; } function RenderPieces() { - const existing = Instance.FindEntitiesByName("chess.piece.*");+ const existing = Entities.FindByName("chess.piece.*"); for (const line of chess.board()) { for (const square of line) {@@ -3545,12 +3545,12 @@ function RenderPieces() { } function PlaySoundOnEnt(soundEntName, targetEntName) {- Instance.EntFireAtName({ name: soundEntName, input: "SetSourceEntity", value: targetEntName });- Instance.EntFireAtName({ name: soundEntName, input: "StartSound" });+ Entities.FireInput({ name: soundEntName, input: "SetSourceEntity", value: targetEntName });+ Entities.FireInput({ name: soundEntName, input: "StartSound" }); } async function AnimateMove(move) {- const piece = Instance.FindEntitiesByName(`chess.piece.${move.color}.${move.piece}`).find((p) => p.square === move.from);+ const piece = Entities.FindByName(`chess.piece.${move.color}.${move.piece}`).find((p) => p.square === move.from); if (!piece) { RenderPieces(); return;@@ -3568,7 +3568,7 @@ async function AnimateMove(move) { if (move.isCapture()) { PlaySoundOnEnt("chess.snd.capture", piece.GetEntityName()); const capturedColor = move.color === WHITE ? BLACK : WHITE;- const captured = Instance.FindEntitiesByName(`chess.piece.${capturedColor}.${move.captured}`).find((p) => p.square === move.to);+ const captured = Entities.FindByName(`chess.piece.${capturedColor}.${move.captured}`).find((p) => p.square === move.to); if (captured) { await DiePiece(captured); }@@ -3623,9 +3623,9 @@ async function DiePiece(piece) { } function SpawnPiece(type, color) {- let spawner = Instance.FindEntityByName(`chess.template.${type}.${color}`);+ let [spawner] = Entities.FindByName(`chess.template.${type}.${color}`); if (!spawner) {- spawner = Instance.FindEntityByName(`chess.template.${type}`);+ [spawner] = Entities.FindByName(`chess.template.${type}`); } if (spawner instanceof PointTemplate) { const spawned = spawner.ForceSpawn();game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/grenadetraining.js
modified • +32 / -32 • changes: 64
Show patch
@@ -1,4 +1,4 @@-import { Console, Entity, Instance } from "cs_script/point_script";+import { Console, Entity, Instance, Entities } from "cs_script/point_script"; let Rounds = 0; let Hits = 0;@@ -11,9 +11,9 @@ let TargetHard = "targetbox.hard"; function SetNextTarget() { Rounds++; - Instance.EntFireAtName({ name: "worldtext.rounds", input: "SetMessage", value: Rounds });- Instance.EntFireAtName({ name: "cover.*", input: "Enable" });- Instance.EntFireAtName({ name: "tele.reset", input: "Teleport" });+ Entities.FireInput({ name: "worldtext.rounds", input: "SetMessage", value: Rounds });+ Entities.FireInput({ name: "cover.*", input: "Enable" });+ Entities.FireInput({ name: "tele.reset", input: "Teleport" }); let NewTarget = Math.floor(Math.random() * 11) + 1;@@ -24,27 +24,27 @@ function SetNextTarget() { if (Rounds > 7) difficulty = "hard"; else if (Rounds > 4) difficulty = "med"; - Instance.EntFireAtName({ name: `cover.${Target}`, input: "Disable" });- Instance.EntFireAtName({ name: `tele.${Target}`, input: "TeleportEntity", value: `targetbox.${difficulty}` });+ Entities.FireInput({ name: `cover.${Target}`, input: "Disable" });+ Entities.FireInput({ name: `tele.${Target}`, input: "TeleportEntity", value: `targetbox.${difficulty}` }); } Instance.OnScriptInput("ResetAndCleanUp", () => {- Instance.EntFireAtName({ name: "trigger.start", input: "Enable" });- Instance.EntFireAtName({ name: "trigger.end_early", input: "Disable" });- Instance.EntFireAtName({ name: "worldtext.go_here", input: "Enable" });- Instance.EntFireAtName({ name: "relay.start_countdown", input: "CancelPending" });-- Instance.EntFireAtName({ name: "worldtext.training_countdown_dyn", input: "SetMessage", value: "3" });- Instance.EntFireAtName({ name: "worldtext.training_countdown_static", input: "Disable" });- Instance.EntFireAtName({ name: "worldtext.training_countdown_dyn", input: "Disable" });- Instance.EntFireAtName({ name: "board.timer", input: "Disable" });- Instance.EntFireAtName({ name: "board.timer", input: "ResetTimer" });- Instance.EntFireAtName({ name: "snd.tick", input: "StopSound" });- Instance.EntFireAtName({ name: "tele.reset", input: "Teleport" });- Instance.EntFireAtName({ name: "cover.*", input: "Enable" });- Instance.EntFireAtName({ name: "worldtext.hits", input: "SetMessage", value: "0" });- Instance.EntFireAtName({ name: "worldtext.rounds", input: "SetMessage", value: "0" });+ Entities.FireInput({ name: "trigger.start", input: "Enable" });+ Entities.FireInput({ name: "trigger.end_early", input: "Disable" });+ Entities.FireInput({ name: "worldtext.go_here", input: "Enable" });+ Entities.FireInput({ name: "relay.start_countdown", input: "CancelPending" });++ Entities.FireInput({ name: "worldtext.training_countdown_dyn", input: "SetMessage", value: "3" });+ Entities.FireInput({ name: "worldtext.training_countdown_static", input: "Disable" });+ Entities.FireInput({ name: "worldtext.training_countdown_dyn", input: "Disable" });+ Entities.FireInput({ name: "board.timer", input: "Disable" });+ Entities.FireInput({ name: "board.timer", input: "ResetTimer" });+ Entities.FireInput({ name: "snd.tick", input: "StopSound" });+ Entities.FireInput({ name: "tele.reset", input: "Teleport" });+ Entities.FireInput({ name: "cover.*", input: "Enable" });+ Entities.FireInput({ name: "worldtext.hits", input: "SetMessage", value: "0" });+ Entities.FireInput({ name: "worldtext.rounds", input: "SetMessage", value: "0" }); Console.SetConvar("sv_infinite_ammo", 0); const player = Instance.GetPlayerController(0)?.GetPlayerPawn();@@ -53,10 +53,10 @@ Instance.OnScriptInput("ResetAndCleanUp", () => { }); Instance.OnScriptInput("StartTraining", () => {- Instance.EntFireAtName({ name: "trigger.start", input: "Disable" });- Instance.EntFireAtName({ name: "trigger.end_early", input: "Enable" });- Instance.EntFireAtName({ name: "worldtext.go_here", input: "Disable" });- Instance.EntFireAtName({ name: "relay.start_countdown", input: "Trigger" });+ Entities.FireInput({ name: "trigger.start", input: "Disable" });+ Entities.FireInput({ name: "trigger.end_early", input: "Enable" });+ Entities.FireInput({ name: "worldtext.go_here", input: "Disable" });+ Entities.FireInput({ name: "relay.start_countdown", input: "Trigger" }); Console.SetConvar("sv_infinite_ammo", 1); const player = Instance.GetPlayerController(0)?.GetPlayerPawn();@@ -70,8 +70,8 @@ Instance.OnScriptInput("StartTraining", () => { Instance.OnScriptInput("GrenadeHit", () => { Hits++;- Instance.EntFireAtName({ name: "snd.hit", input: "StartSound" });- Instance.EntFireAtName({ name: "worldtext.hits", input: "SetMessage", value: Hits });+ Entities.FireInput({ name: "snd.hit", input: "StartSound" });+ Entities.FireInput({ name: "worldtext.hits", input: "SetMessage", value: Hits }); if (trackedProjectile && trackedProjectile.IsValid()) { trackedProjectile.Remove(); trackedProjectile = undefined;@@ -83,11 +83,11 @@ Instance.OnScriptInput("SetNextTarget", () => { if (Rounds < 10) { SetNextTarget(); } else {- Instance.EntFireAtName({ name: "snd.end", input: "StartSound" });- Instance.EntFireAtName({ name: "board.timer", input: "Disable" });- Instance.EntFireAtName({ name: "board.timer", input: "ResetTimer" });- Instance.EntFireAtName({ name: "tele.reset", input: "Teleport" });- Instance.EntFireAtName({ name: "cover.*", input: "Enable" });+ Entities.FireInput({ name: "snd.end", input: "StartSound" });+ Entities.FireInput({ name: "board.timer", input: "Disable" });+ Entities.FireInput({ name: "board.timer", input: "ResetTimer" });+ Entities.FireInput({ name: "tele.reset", input: "Teleport" });+ Entities.FireInput({ name: "cover.*", input: "Enable" }); } }); game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/mdlchange.js
modified • +2 / -2 • changes: 4
Show patch
@@ -1,7 +1,7 @@-import { Instance, BaseModelEntity, Console } from "cs_script/point_script";+import { Instance, BaseModelEntity, Console, Entities } from "cs_script/point_script"; function GetProp() {- const ent = Instance.FindEntityByName("mdlchange.prop_dyn");+ const [ent] = Entities.FindByName("mdlchange.prop_dyn"); if (ent instanceof BaseModelEntity) return ent; } function Init() {game/csgo_addons/cs_script_demo/panorama_stripped/maps/scripts/setup.js
modified • +12 / -5 • changes: 17
Show patch
@@ -1,4 +1,4 @@-import { CSDamageFlags, CSDamageTypes, Entity, Instance, Console } from "cs_script/point_script";+import { CSDamageFlags, CSDamageTypes, Entity, Instance, Console, Entities } from "cs_script/point_script"; Console.SetConvar("sv_cheats", true); Console.SetConvar("mp_warmup_offline_enabled", true);@@ -16,12 +16,19 @@ Instance.OnPlayerActivate(({ player }) => { ShowWelcome(player.GetPlayerSlot()); }); -Instance.OnModifyPlayerDamage(({ player }) => {- if (player.GetOriginalPlayerController().IsBot()) {+Instance.OnModifyPlayerDamage(({ player, damageTypes }) => {+ if (player.GetOriginalPlayerController().IsBot() && !(damageTypes & CSDamageTypes.BLAST)) { return { damageFlags: CSDamageFlags.PREVENT_DEATH }; } }); +Instance.OnPlayerKill(async ({ player }) => {+ await Instance.Delay(1);+ if (player.IsValid() && !player.IsAlive()) {+ player.Reset();+ }+});+ Instance.OnPlayerDamage((event) => { if (event.damageTypes == CSDamageTypes.SLASH) { Instance.QueueAfterThinks(() => {@@ -35,9 +42,9 @@ Instance.OnPlayerDamage((event) => { let welcomeLayout = null; function GetWelcomeLayout() { if (!(welcomeLayout instanceof Entity) || !welcomeLayout.IsValid()) {- welcomeLayout = Instance.FindEntitiesByName("welcome_layout")[0];+ [welcomeLayout] = Entities.FindByName("welcome_layout"); }- return Instance.FindEntitiesByName("welcome_layout")[0];+ return Entities.FindByName("welcome_layout")[0]; } function ShowWelcome(playerSlot) {manifests/manifest_2347770.txt
modified • +13 / -13 • changes: 26
Show patch
@@ -1,16 +1,16 @@ Content Manifest for Depot 2347770 -Manifest ID / date : 3690356453703667427 / 11/03/2026 00:25:56 +Manifest ID / date : 6679288287140932208 / 11/05/2026 00:08:51 Total number of files : 2992 -Total number of chunks : 65055 -Total bytes on disk : 65048085465 -Total bytes compressed : 55568715408 +Total number of chunks : 65062 +Total bytes on disk : 65068271825 +Total bytes compressed : 55570003984 Size Chunks File SHA Flags Name- 10 1 e1aceebbdd3814eb1f3e4216702f7dc8e3ca6465 0 game\bin\built_from_cl.txt- 10347 1 34e431cd4393ac0204703f2a6d9f19c224fd1479 0 game\bin\win64\csgo.signatures- 8941 1 f2e4452e9be7e5f6ccbbbd7979082a1321dd0aed 0 game\bin\win64\vpk.signatures+ 10 1 9ba45a297ae3ca0a08ec45d8ae26d7d1b752c6a8 0 game\bin\built_from_cl.txt+ 10347 1 2035f417702707e841cbe1613c06ab8503603c05 0 game\bin\win64\csgo.signatures+ 8941 1 03efeb7ac1e026f881ec21af5fc97215ce83aa7b 0 game\bin\win64\vpk.signatures 51357 1 0f5112698b482f8c1190c89192a4c0c8b0e50198 0 game\core\cfg\sfm_default_animation_groups.vcfg 2270 1 ab4e0ee92367ba6d28a89dae8f6000631ffdb641 0 game\core\cfg\user_keys_default.vcfg 2474 1 c4ff2f85048812f02c2403b0675208acfc00c7b0 0 game\core\gameinfo.gi@@ -2257,7 +2257,7 @@ Total bytes compressed : 55568715408 3870 1 0db16b3ddb43aa660ed8b47e0fad44dc19f8160f 0 game\csgo\cfg\gamemode_demolition.cfg 4165 1 36f4e695fa4f6e0cb3b2f6cfa0aacaf03d2624e9 0 game\csgo\cfg\gamemode_dm_freeforall.cfg 510 1 e5390ad84cda3115dce18debf74151f22d51c1b4 0 game\csgo\cfg\gamemode_new_user_training.cfg- 4243 1 2ed4a09a77434f680df8ecc378758ba13593870a 0 game\csgo\cfg\gamemode_retakecasual.cfg+ 4243 1 38e1c1525801b3db1bd03aa4209e5672105b86e3 0 game\csgo\cfg\gamemode_retakecasual.cfg 4865 1 38f865bec83a4a4512dc39d9245254e27bbf4598 0 game\csgo\cfg\gamemode_rush.cfg 132 1 93ee145982d5a1883987fee0e5940bab198819c6 0 game\csgo\cfg\gamemode_rush_offline.cfg 3884 1 e958e59b6dcdd8a4476d16a8e146046d073c50bd 0 game\csgo\cfg\gamemode_teamdeathmatch.cfg@@ -2438,7 +2438,7 @@ Total bytes compressed : 55568715408 118404050 113 796c7932cfeb6772b51013f28bd99bfdfb40483d 0 game\csgo\pak01_033.vpk 116169795 111 e382335666c33007e4a346ded29843a08e8656eb 0 game\csgo\pak01_034.vpk 104201764 102 d897179aaadd2b0de26e19afe39037903f6f424a 0 game\csgo\pak01_035.vpk- 120988884 138 f58ecf9bfb4813e19e008a7a63c2f7d48b0a059c 0 game\csgo\pak01_036.vpk+ 107129742 119 5c04e5e3f4b28a59a7e80ffbd90182e260e883b6 0 game\csgo\pak01_036.vpk 109137813 105 c1c5d1aeea369e80997338b7f41f8cadb17bbfdb 0 game\csgo\pak01_037.vpk 116538440 112 cf02841fa129fbb93933f539cc8ae0fcb54de2d9 0 game\csgo\pak01_038.vpk 103037018 103 83bd86a8c8cdc17b353c54cd4cf6a1e347a59e63 0 game\csgo\pak01_039.vpk@@ -2903,11 +2903,11 @@ Total bytes compressed : 55568715408 103652491 105 97b078393d02aaed75aa0d5f232ec9573a608d48 0 game\csgo\pak01_498.vpk 105338067 116 4af7ebb5429b351ff2b76c4f9b300cd176157ada 0 game\csgo\pak01_499.vpk 102090495 101 6cac088baddee5012d7a47318b06d119f3cbb859 0 game\csgo\pak01_500.vpk- 99621956 106 9d2ae31cb7b16513b47b2aa6bc1a5b55a6ad8d43 0 game\csgo\pak01_501.vpk+ 102952206 111 7a5881c988664128bc59b889e71fb518b980b53f 0 game\csgo\pak01_501.vpk 99618250 105 568b65b644448b85efe132f8eaebe59c309c3fb3 0 game\csgo\pak01_502.vpk 100220508 102 60654a3f3231ef5de3b458ed332ba064c153c465 0 game\csgo\pak01_503.vpk- 41381566 46 444eee2d83cbd067eec75b923992fa35b130c2d4 0 game\csgo\pak01_504.vpk- 7713274 8 7811a1e71538f431f6e160c41171ffa9efd0af6c 0 game\csgo\pak01_dir.vpk+ 72096213 84 e53a6f1a1fe08c11b7f3a77ca4a8828dbe1b4408 0 game\csgo\pak01_504.vpk+ 7713879 8 988c4dcfc38893dd3906755b562d81bcadbf2364 0 game\csgo\pak01_dir.vpk 11893 1 d2f5c237fcac89835ab901bf3cc83850c71d9b46 0 game\csgo\panorama\fonts\fonts.conf 107848 1 90edfc11fa568cd0fb5b9d6e6d369dddadfdb8c4 0 game\csgo\panorama\fonts\notomono-regular.ttf 310556 1 84e39ddc72cd1d2ac4be132d235979f10f916c2b 0 game\csgo\panorama\fonts\notosans-bold.ttf@@ -2996,7 +2996,7 @@ Total bytes compressed : 55568715408 303670574 290 d2d77a7357436cf6fb69b704cebc84718609f70e 0 game\csgo\shaders_vulkan_003.vpk 25004138 28 7a80e74bbd9d763f27ad8788694da6d9d81cc99e 0 game\csgo\shaders_vulkan_004.vpk 41884 1 a9b38a712dcebbc8a985763a9134ec66c4264688 0 game\csgo\shaders_vulkan_dir.vpk- 190 1 2acf249fb98158c6b47a3af8f6254953ed9e3f50 0 game\csgo\steam.inf+ 190 1 9d29a1a0c5e3346ac20def35d20570b56048452a 0 game\csgo\steam.inf 209 1 cb2eaab8dbda9f075491a5410326356e127f60ec 0 game\csgo_lv\gameinfo.gi 135 1 7769174b103a021d6390cb2a31b758dbfff04639 0 game\csgo_lv\gameinfo_branchspecific.gi 473822 1 f5ca24bf12b20fee2ffb5d8bbc465ba8805d8abe 0 game\thirdpartylegalnotices.txtmanifests/manifest_2347771.txt
modified • +6 / -6 • changes: 12
Show patch
@@ -1,10 +1,10 @@ Content Manifest for Depot 2347771 -Manifest ID / date : 5808144614069275570 / 11/03/2026 00:26:34 +Manifest ID / date : 3019944380727688040 / 11/05/2026 00:09:34 Total number of files : 183 Total number of chunks : 7219 -Total bytes on disk : 7753537022 -Total bytes compressed : 5011473536 +Total bytes on disk : 7753523710 +Total bytes compressed : 5011490592 Size Chunks File SHA Flags Name@@ -54,7 +54,7 @@ Total bytes compressed : 5011473536 567656 1 79759ec5c92853b73627da14e5e70f6c6c580a78 0 game\bin\win64\phonon4.dll 13950616 14 d97d9e5d6a64e98bd812ebe70a023c39a24e833b 0 game\bin\win64\physicsbuilder.dll 1522840 2 eba06453afcdd6d6bf4b608fcc3fe6dcde592cb7 0 game\bin\win64\propertyeditor.dll- 2031768 2 6f40ef4d08911950fad3e1a7fb65b4ec1672b3ee 0 game\bin\win64\pulse_system.dll+ 2032792 2 4029fe37dc9abc273fedded7eb5a26dbf6716f06 0 game\bin\win64\pulse_system.dll 131432 1 3177661f6e066460f2c859d2d5453323b68d6eda 0 game\bin\win64\Qt5Concurrent.dll 6288744 6 5f5173c825810bbd849e32b5e6e2cb32f6c456d2 0 game\bin\win64\Qt5Core.dll 7007080 7 08882a63e4c0962b33376da66224655f2b1d5e06 0 game\bin\win64\Qt5Gui.dll@@ -110,10 +110,10 @@ Total bytes compressed : 5011473536 3185298 4 10bea5cfe6883540880c748e9506a04ad11e53ca 0 game\core\shaders_pc_000.vpk 25563 1 72204b8136ab7b8df21a52fb0b8b674f8c578b06 0 game\core\shaders_pc_dir.vpk 1728360 2 4e48ff45949c7f3cd8fd8ab5b7514ae27f44e53a 0 game\csgo\bin\legacy\csgo_legacy_app.exe- 39224472 38 51a449b7cac525d9470b3d98debc6a43467ead20 0 game\csgo\bin\win64\client.dll+ 39227544 38 a9b6232c2c6286eaa7d3df5cf6161bd08b40ff71 0 game\csgo\bin\win64\client.dll 1389208 2 425f2ec89bdaa5b0d2ca47945fa08ec906661749 0 game\csgo\bin\win64\host.dll 1890968 2 ebcf0d685e5347a5e246521cc0ee694f5d266bb3 0 game\csgo\bin\win64\matchmaking.dll- 34690200 34 b3c3e96f47acbdcf00655a3d7e5db509480eeef5 0 game\csgo\bin\win64\server.dll+ 34672792 34 d190d3118a36646eb284641f8c455f3be33ca56f 0 game\csgo\bin\win64\server.dll 115209034 117 4bbd01e43063ebade958bb509725b1b48c811b00 0 game\csgo\shaders_pc_000.vpk 189827159 182 7829b4ede09333c4e30a53d1ef958b9baeaeac39 0 game\csgo\shaders_pc_001.vpk 38973836 41 55f4f1a11b02a8a25a77a452d24ae14aa04b9f0b 0 game\csgo\shaders_pc_002.vpkmanifests/manifest_2347773.txt
modified • +6 / -6 • changes: 12
Show patch
@@ -1,10 +1,10 @@ Content Manifest for Depot 2347773 -Manifest ID / date : 4551386601247986792 / 11/03/2026 00:27:00 +Manifest ID / date : 8513165868182791792 / 11/05/2026 00:09:52 Total number of files : 135 Total number of chunks : 6673 -Total bytes on disk : 7224465798 -Total bytes compressed : 4605728448 +Total bytes on disk : 7224511782 +Total bytes compressed : 4605734992 Size Chunks File SHA Flags Name@@ -34,7 +34,7 @@ Total bytes compressed : 4605728448 3202820 4 fec2f55b60399acd70d543ea35633f89a97eb771 0 game\bin\linuxsteamrt64\libpanorama_text_pango.so 8612056 9 4d746f89b7d06f57b7b6ef1a8bf8f169924fab5a 0 game\bin\linuxsteamrt64\libparticles.so 40786720 40 850311e7b530d04bcfbdee1e3e7d026a7791098d 0 game\bin\linuxsteamrt64\libphonon.so- 2357916 3 a0122e3156918f8c58a7f6be93fc823243a54b6f 0 game\bin\linuxsteamrt64\libpulse_system.so+ 2358716 3 ad8da2327a5343cda889ba3e57870efa9f9740d5 0 game\bin\linuxsteamrt64\libpulse_system.so 3679424 4 e2225dec8d51bdfc0d53a6a54d54849487df9e89 0 game\bin\linuxsteamrt64\librendersystemempty.so 9199516 10 b2c9ee0d939b25727cb56dbd89fbee4755d98aa0 0 game\bin\linuxsteamrt64\librendersystemvulkan.so 800200 1 77686038b3b2d330b48bddf55902d173b1f842a8 0 game\bin\linuxsteamrt64\libresourcesystem.so@@ -66,10 +66,10 @@ Total bytes compressed : 4605728448 1296400 2 bd6d7e2be9b1a526f017bc474c84296569cf23d7 0 game\bin\linuxsteamrt64\libvscript.so 4570212 5 7464ba7da046b1de971e290bfcf582d20aeaedde 0 game\bin\linuxsteamrt64\libworldrenderer.so 3822 1 956919b920713ce452f46c20cf8643674f7543f7 0 game\cs2.sh- 74208760 71 34c9b737c072b81db28a1e84bb5c72404ce9bd19 0 game\csgo\bin\linuxsteamrt64\libclient.so+ 74211000 71 45f0b9610eecb46dd73ac44ca30ab962f042445b 0 game\csgo\bin\linuxsteamrt64\libclient.so 3184412 4 adad77afb94069ba33399c4ed33a5b4f3a64fb04 0 game\csgo\bin\linuxsteamrt64\libhost.so 3775044 4 5770b453a084c4d0bb77ca94860111b7bfdaaadf 0 game\csgo\bin\linuxsteamrt64\libmatchmaking.so- 41807736 40 cb4bab97878a1f04990edf9b68d1240f473b606e 0 game\csgo\bin\linuxsteamrt64\libserver.so+ 41850680 40 48924100e9a3a4e17af781cb1da835641a29d449 0 game\csgo\bin\linuxsteamrt64\libserver.so 182648578 175 d4b7d7aea361a8b94c54e79904d642d712a1a3f5 0 game\csgo_community_addons\cs_shelter\cs_shelter_000.vpk 107052112 105 2c61877687a4e433f04a62340fb3ce54b70e039c 0 game\csgo_community_addons\cs_shelter\cs_shelter_001.vpk 106101480 104 e5dc305d96a55ae88a396ac6d98037209b4520ce 0 game\csgo_community_addons\cs_shelter\cs_shelter_002.vpkmanifests/manifest_2347779.txt
modified • +20 / -20 • changes: 40
Show patch
@@ -1,10 +1,10 @@ Content Manifest for Depot 2347779 -Manifest ID / date : 9144463342521858931 / 11/03/2026 00:27:26 +Manifest ID / date : 5209724922577403770 / 11/05/2026 00:10:12 Total number of files : 909 -Total number of chunks : 2523 -Total bytes on disk : 2108139011 -Total bytes compressed : 576285616 +Total number of chunks : 2524 +Total bytes on disk : 2108141791 +Total bytes compressed : 576286224 Size Chunks File SHA Flags Name@@ -619,13 +619,13 @@ Total bytes compressed : 576285616 1621570 2 e3d9cdb314cae29e2a1c5bc8a35f8801cd078c17 0 content\csgo_addons\addon_template\sounds\interior_01.wav 1311024 2 dc14d2a9922760330712f093eed8ab75dc709070 0 content\csgo_addons\addon_template\sounds\vent_01.wav 68886528 68 59ec2879ff3b11fea33042a32c80e6493cd47113 0 content\csgo_addons\cs_script_demo\maps\cs_script_demo.vmap- 142016 1 d2250b59abe01005d2cdf93f782ac8d99b416df3 0 content\csgo_addons\cs_script_demo\maps\scripts\chess.js- 4777 1 08ed91c65f79c27090a62eb786a049e59ec816ef 0 content\csgo_addons\cs_script_demo\maps\scripts\grenadetraining.js+ 141974 1 2f0711f03e4faa839021921e22cb51baddd543e4 0 content\csgo_addons\cs_script_demo\maps\scripts\chess.js+ 4667 1 9b275310a44cdcd9fd822f1c968a7bb3e3c5220e 0 content\csgo_addons\cs_script_demo\maps\scripts\grenadetraining.js 124 1 22a4ad6b72ccca4118d03ccb0d02f9f1f7b559d0 0 content\csgo_addons\cs_script_demo\maps\scripts\hello.js 1508 1 f576a9fe52176f409d268ab6107a119c9250e034 0 content\csgo_addons\cs_script_demo\maps\scripts\input.js- 1768 1 efad58a778fb6617e34f3eee454500547f5b979e 0 content\csgo_addons\cs_script_demo\maps\scripts\mdlchange.js- 52790 1 a3caed0a9858b2ee9d4a005558da3236d37010f9 0 content\csgo_addons\cs_script_demo\maps\scripts\point_script.d.ts- 2092 1 2ff2ecb556d00d6e00d026ba3860cb0977844155 0 content\csgo_addons\cs_script_demo\maps\scripts\setup.js+ 1774 1 78e5c4937ae89c8b49af0594308cd38d64c2fa89 0 content\csgo_addons\cs_script_demo\maps\scripts\mdlchange.js+ 55136 1 94a37ef72e5e9d67fd51d1922e25425701ac2e7c 0 content\csgo_addons\cs_script_demo\maps\scripts\point_script.d.ts+ 2304 1 0d1e9adb823d080002b1a5e48b7bbd592d585a15 0 content\csgo_addons\cs_script_demo\maps\scripts\setup.js 6476 1 b26cb1c845028c2a73c610f66654009d12865dcd 0 content\csgo_addons\cs_script_demo\maps\scripts\trace.js 141 1 d38bb2dbf61185966292fa1c1aa57a86e5171beb 0 content\csgo_addons\cs_script_demo\maps\scripts\tsconfig.json 344 1 33085b2472c3efcdebb61a0cc4f2aec675f79166 0 content\csgo_addons\cs_script_demo\panorama\layout\custom_game\welcome.xml@@ -638,7 +638,7 @@ Total bytes compressed : 576285616 5703320 6 265f267641ffa2f5f8eacca5ce3ae23c95c15b01 0 game\bin\win64\assetsystem.dll 1529856 2 45e7d0873608e5424312fa289a270f2faacfe8fa 0 game\bin\win64\bc7e.dll 396952 1 d40100945a08d047d65a8f8c1ba557351467136b 0 game\bin\win64\cs2_build_econ_items_workshop.exe- 13866 1 22ce12bf18f6df3737c2ac7a83452663ed531f04 0 game\bin\win64\csgo.signatures+ 13866 1 4e91d62ce49f83b21a49316d8e255cb52939be20 0 game\bin\win64\csgo.signatures 1271448 2 e0c0511657da151a4b8546e1ccb0f2eb5e6c6a40 0 game\bin\win64\csgocfg.exe 15683736 15 2787c3be064fd2215239c7fe9cb6f573d4984d9a 0 game\bin\win64\cs_mdl_import.exe 1196696 2 5691c2eec39a867bdb053d6880e5bc18b0bfde2a 0 game\bin\win64\dmxconvert.exe@@ -721,7 +721,7 @@ Total bytes compressed : 576285616 133435 1 5c5acf7bffba281b1fb2de939a6953c385e26ac3 0 game\csgo\lighting\postprocessing\editor\toolsscene_default.vpost_c 3823 1 aaa9517703492629cade78571c39f5fdc2c417e3 0 game\csgo\models_gamedata.fgd 1559 1 ccef3c777e99029f1956e3ad23a718a99fd36d14 0 game\csgo\postprocessing.fgd- 50760417 51 2864b89d3750e3547f9063365e334dca0fcd55c5 0 game\csgo\readonly_tools_asset_info.bin+ 50760653 52 93546dbe6f18a664cf6fe049d26d6fa2669b54c1 0 game\csgo\readonly_tools_asset_info.bin 3009 1 8374c54025aad8c3d4a72b5f7f198d99951b7844 0 game\csgo\tools\cs2_icon_gen\icon_camera.png 2390 1 436ef3b91600906f462a33b9973b3f0955ddf1d6 0 game\csgo\tools\cs2_icon_gen\icon_item.png 2566 1 d78fd6c17e836a35c1cff4b375de7928ea5aea40 0 game\csgo\tools\cs2_icon_gen\icon_light_fill.png@@ -896,24 +896,24 @@ Total bytes compressed : 576285616 124548 1 20a6acffa7ca7b25b9d9877c122fa093fa57ff0b 0 game\csgo_addons\addon_template\sounds\vent_01.vsnd_c 43 1 5c3b6d056cc345ec397072c83b3ee35b9a297c54 0 game\csgo_addons\cs_script_demo\addoninfo.txt 9365499 9 ec299d7ace3af9c2dc9389711f8245648e98f0a1 0 game\csgo_addons\cs_script_demo\maps\cs_script_demo.vpk- 142896 1 b32b537abcbf37d3142ff9e6f993054f36794cc0 0 game\csgo_addons\cs_script_demo\maps\scripts\chess.vjs_c- 5673 1 400181285c706c503c05df252f02d6d5afe6d287 0 game\csgo_addons\cs_script_demo\maps\scripts\grenadetraining.vjs_c+ 142854 1 e7a944ff2a1f60050cec656163e9f222fed60fb7 0 game\csgo_addons\cs_script_demo\maps\scripts\chess.vjs_c+ 5563 1 aa170a6c06797a100a3adcf2f9a80e94187f72fc 0 game\csgo_addons\cs_script_demo\maps\scripts\grenadetraining.vjs_c 1004 1 7f478db2558a9255c8d0f4eaf4713ec0c95289d8 0 game\csgo_addons\cs_script_demo\maps\scripts\hello.vjs_c 2388 1 d66364c7659b7d12265bf20125a8a2b047e359a4 0 game\csgo_addons\cs_script_demo\maps\scripts\input.vjs_c- 2664 1 80b21090e2f0d1fc2b8776bcbc88831952db1afd 0 game\csgo_addons\cs_script_demo\maps\scripts\mdlchange.vjs_c- 2972 1 39a51a14245ec28b2a640f2b52dcb7cb4ed2ef97 0 game\csgo_addons\cs_script_demo\maps\scripts\setup.vjs_c+ 2670 1 68b17c707895ade3432792703a9b1d305c063bb2 0 game\csgo_addons\cs_script_demo\maps\scripts\mdlchange.vjs_c+ 3184 1 86527676cb68b689379cf18e31768209b882d826 0 game\csgo_addons\cs_script_demo\maps\scripts\setup.vjs_c 7356 1 5b8e9e25a6b1b4d942e02f16c2922780e862bce7 0 game\csgo_addons\cs_script_demo\maps\scripts\trace.vjs_c 1599 1 26b7254a6bf5a03bb6fe0dab0b87763117024ee9 0 game\csgo_addons\cs_script_demo\panorama\layout\custom_game\welcome.vxml_c 2439 1 f11b0c632f773e4dee00eb71cbb43319a0acb557 0 game\csgo_addons\cs_script_demo\panorama\styles\custom_game\welcome.vcss_c- 142016 1 5b78dcfe1e02801682f30badc197821af834f7a1 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\chess.js- 4777 1 fb1b321cf1d587bd92762d4ae18f70e375ed8a92 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\grenadetraining.js+ 141974 1 5ea1650a6c01a1a966cc61629112eeb398499e97 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\chess.js+ 4667 1 b89ec7b13634f4c2c936fb45e47248abfc851b99 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\grenadetraining.js 124 1 bc5e2b800073f4e359d7d29cb07d35a7a312859a 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\hello.js 1508 1 0fc8650026ef338adae04c20fc9abacd95ccaba9 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\input.js- 1768 1 665584f5be5a273e00cdc4d52fc777544216e3ab 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\mdlchange.js- 2092 1 2ff2ecb556d00d6e00d026ba3860cb0977844155 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\setup.js+ 1774 1 d1255dadcba7eff368fcf2aaf3af17eae29a9d28 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\mdlchange.js+ 2304 1 0d1e9adb823d080002b1a5e48b7bbd592d585a15 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\setup.js 6476 1 d71bc1d5fac402a9d18d71cd2b853ec98f26ec45 0 game\csgo_addons\cs_script_demo\panorama_stripped\maps\scripts\trace.js 344 1 33085b2472c3efcdebb61a0cc4f2aec675f79166 0 game\csgo_addons\cs_script_demo\panorama_stripped\panorama\layout\custom_game\welcome.xml 774 1 d4b48ea27dc2e4a7bd771559459e058e8dcd7040 0 game\csgo_addons\cs_script_demo\panorama_stripped\panorama\styles\custom_game\welcome.css- 4862 1 02076fae4b389b631257caa0f96c803c45a842b1 0 game\csgo_addons\cs_script_demo\readonly_tools_asset_info.bin+ 4862 1 a1a8b99f7caf6411ddc55f278f2dd68431b120b6 0 game\csgo_addons\cs_script_demo\readonly_tools_asset_info.bin 191 1 e3c5549cb3715e2e759a11d90eddea1c1f49a341 0 game\csgo_addons\workshop_items\addoninfo.txt 1706103 2 e12db26662c1223b12302ff8618f0630586d5a14 0 game\csgo_lv\readonly_tools_asset_info.binmanifests/manifest_731.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 731 -Manifest ID / date : 5799502335586127231 / 11/03/2026 00:24:30 +Manifest ID / date : 4368490491959295332 / 11/05/2026 00:08:03 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txt+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\bin\content_built_from_cl.txtmanifests/manifest_732.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 732 -Manifest ID / date : 4514904948984964204 / 11/03/2026 00:24:37 +Manifest ID / date : 2657142932244703230 / 11/05/2026 00:08:05 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txt+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\bin\content_built_from_cl.txtmanifests/manifest_733.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 733 -Manifest ID / date : 4581807251902851325 / 11/03/2026 00:24:44 +Manifest ID / date : 8439362531565969601 / 11/05/2026 00:08:07 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txt+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\bin\content_built_from_cl.txtmanifests/manifest_734.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 734 -Manifest ID / date : 519374194040118223 / 11/03/2026 00:24:50 +Manifest ID / date : 4866394379921971128 / 11/05/2026 00:08:08 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txt+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\bin\content_built_from_cl.txtmanifests/manifest_735.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 735 -Manifest ID / date : 7430157609109467345 / 11/03/2026 00:24:57 +Manifest ID / date : 7820664911512609889 / 11/05/2026 00:08:10 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txt+ 8 1 bea1fc1dbd8adda08a333b7780e5ad2e82c957e6 0 game\bin\content_built_from_cl.txt3.11.2026, 01.31.14
Localization/resources update (game/csgo/pak01_dir/resource/csgo_english.txt).
Files changed: 26 • +173 / -169
Changed files
DumpSource2/.stringsignore
modified • +1 / -0 • changes: 1
Show patch
@@ -23939,6 +23939,7 @@ m_bQueueFinishLoading m_bQueueSetupPathMover m_bQueueStop m_bQueueStopMoving+m_bQueuedMatchmakingReportedRoundStatsPendingSend m_bQuietTracepoints m_bRadarFlash m_bRadialCheckDumpSource2/schemas/server/CCSGameRules.h
modified • +1 / -0 • changes: 1
Show patch
@@ -101,6 +101,7 @@ class CCSGameRules : public CTeamplayRules uint32 m_numSpectatorsCountMax; uint32 m_numSpectatorsCountMaxTV; uint32 m_numSpectatorsCountMaxLnk;+ bool m_bQueuedMatchmakingReportedRoundStatsPendingSend; int32 m_nCTsAliveAtFreezetimeEnd; int32 m_nTerroristsAliveAtFreezetimeEnd; bool m_bForceTeamChangeSilent;game/bin/built_from_cl.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -1 +1 @@-11191483+11198114game/bin/win64/csgocfg.exe_strings.txt
modified • +1 / -2 • changes: 3
Show patch
@@ -167,7 +167,7 @@ .CRT$XIAC .fgd /e,/select,"-14:52:48+15:32:27 1AcceptIfItemPicked() 1OnAccept() 1OnAddonDoubleClicked()@@ -1361,7 +1361,6 @@ New Item Type No %s specified. Expected '=' '[' <%s> ']' NoEditor() NoRole-Oct 23 2026 OnAccept OnAddonDoubleClicked OnAddonSelectionChangedgame/bin/win64/engine2_strings.txt
modified • +2 / -1 • changes: 3
Show patch
@@ -2452,7 +2452,6 @@ $tI(knN 00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 0123456789abcdef 0123456789abcdefghijklmnopqrstuvwxyz-09:02:57 0: run all send jobs on main thread; 1: send jobs run asynchronously (except on dedicated server); 2: send jobs asynchronously; 3: send jobs run in parallel but block to not overlap the next tick; 4: main server clients' send jobs run in parallel, then HLTV server jobs; this approximately matches pre-async profile for a single HLTV server configuration 0=Off, 1=Surface Wireframe, 2=Transparent Wireframe 0=Off, 1=Visualize trace from camera, 2=Visualize occlusion, 3=Visualize far field trace from camera@@ -2466,6 +2465,7 @@ $tI(knN 1#SNAN 1.2.11 127.0.0.1+15:35:28 1:1: Tokens : ( T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | TOK_COLON | OPEN_BRACE | CLOSE_BRACE | OPEN_PAREN | CLOSE_PAREN | OPEN_BRACKET | CLOSE_BRACKET | SEMICOLON | OP_EQUAL | COMMA | DOUBLE_AND | NEGATIVE_TOK | DOUBLE_OR | LITERAL_TRUE | LITERAL_FALSE | POS_INTLITERAL | POS_FLOATLITERAL | SCOPE_QUALIFIER | ID | DOUBLE_QUOTED_STRING | SINGLE_QUOTED_STRING | SINGLE_LINE_COMMENT | ML_COMMENT | WS | UNRECOGNIZED ); 200000 3$EE\f@@ -5981,6 +5981,7 @@ Not saving user configuration because host_readconfig_ignore_userconfig is set.\ Not supported. Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. Therefore, " Note: should use "addip" instead of "banip".\n+Nov 2 2026 November Now recording to "%s", immediate mode, recorded length so far is %s.\n Now recording to "%s", recorded length so far is %s.\ngame/bin/win64/networksystem_strings.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -271,7 +271,7 @@ 0 bit issue, spot 2 0 bit issue, spot 3 0 bit issue, spot 4-7;eZ\f+7;eZ\r ::Storage_t Accepting Steam Net connection %s\n AckSeqNumgame/bin/win64/resourcecompiler_strings.txt
modified • +2 / -3 • changes: 5
Show patch
@@ -9020,7 +9020,7 @@ $key:FloatBitmap_t /vpk.privatekey.vdf /vpk.publickey.vdf 0123456789)"-08:41:27+15:37:26 1:1: Tokens : ( PLUS | MINUS | MUL | DIV | COMMA | LPAREN | RPAREN | EQUALS | PERCENT | INT | FLOAT | ID | ML_COMMENT | SL_COMMENT | NL | WS ); 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | BOOLLITERAL | ID | INTEGERLITERAL | HEXINTEGERLITERAL | FLOATLITERAL | COMMENT | WS ); 241:1: FLOAT : ( ( MINUS )? ( DIGIT )+ '.' ( DIGIT )* ( EXP )? ( FLOATSUFFIX )? | ( MINUS )? ( DIGIT )+ ( EXP )? ( FLOATSUFFIX )? | ( MINUS )? '.' ( DIGIT )+ ( EXP )? ( FLOATSUFFIX )? );@@ -12354,7 +12354,6 @@ Object of the appropriate type, if valid. Object to cast OcclusionCullingBoundsExpand OcclusionCullingBoundsScale-Oct 28 2026 Offset from %d Old params: %s\n On After Killed@@ -16199,7 +16198,7 @@ pathing_visibility_threshold pathingcoeffs pathingeq pathingmixlevel-pc64 Oct 28 2026 08:41:36+pc64 Nov 2 2026 15:37:25 perchannel permissive_panorama_compiles permitrepeatsgame/bin/win64/resourceinfo.exe_strings.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -7243,7 +7243,7 @@ x509_req x509_store x931 yS/h-z0?g\v+z0?g\f zlVO zlib compression zonegame/bin/win64/tools/hammer_strings.txt
modified • +0 / -1 • changes: 1
Show patch
@@ -7386,7 +7386,6 @@ ObjectProperties Objects To Include Objs Rendered Objs fading-Oct 28 2026 Octaves: Offset (accumulative) Offset the edge a constant distance from one of the neighboring edgesgame/bin/win64/tools/met_strings.txt
modified • +1 / -2 • changes: 3
Show patch
@@ -235,12 +235,12 @@ // THIS FILE IS AUTO-GENERATED\n //-------------------------------------------------\n 0123456789)"-08:38:49 0=Wrap,1=Mirror,2=Clamp,3=Border,4=MirrorOnce 1 texel = %1px 1/%1x 1/2/3 128 x 128+15:35:57 1:1 current mip 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | BOOLLITERAL | ID | INTEGERLITERAL | HEXINTEGERLITERAL | FLOATLITERAL | COMMENT | WS ); 1AboutAction()@@ -1248,7 +1248,6 @@ No valid vcs file found for shader %s\n No\nPreview\nAvailable Normal Map Conversion OCTAL_ESC-Oct 28 2026 OnAccept OnAcceptClicked OnAcceptedgame/bin/win64/vconsole2.exe_strings.txt
modified • +2 / -4 • changes: 6
Show patch
@@ -481,12 +481,12 @@ $B0B .vsky .webp 0.0.0.0-08:40:09 0BCDEFGHIJKLMNOPQRSTUVWXYZ1BCDEFGHIJKLMNOPQRSTUVWXYZ2BCDEFGHIJKLMNOPQRSTUVWXYZ3BCDEFGHIJKLMNOPQRSTUVWXYZ4BCDEFGHIJKLMNOPQRSTUVWXYZ\n 0x%llx 127.0.0.0 127.0.0.1:%d-14:53:01+15:33:14+15:33:36 172.16.0.0 1AboutAction() 1NextFrame()@@ -2434,8 +2434,6 @@ Not safe to 'new' this class due to alignment requirements NotReloading Number of devices to create (max %1): NumberOfInks-Oct 23 2026-Oct 28 2026 Old-style JPEG Old-style LZW codes, convert file OldSubfileTypegame/bin/win64/vrad3_strings.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -2307,7 +2307,7 @@ path_trace_triangles_gpu path_trace_triangles_gpu_init path_trace_triangles_gpu_shutdown path_trajectory-pc64 Oct 23 2026 14:51:29+pc64 Nov 2 2026 15:32:44 physicsSimplificationError physicsSimplificationOverride pinEnabledgame/csgo/bin/win64/host_strings.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -106,7 +106,7 @@ DotaMapUtils001 EconVData001 Entry %s was not found in surfaceproperties_footsteps.txt\n Error loading %s: %s\n-FaN"\n+FaN"\v Failed to open file: %s\n FoliageAnimation Game System %s is defined twice!\ngame/csgo/pak01_dir.txt
modified • +4 / -4 • changes: 8
Show patch
@@ -84581,7 +84581,7 @@ panorama/scripts/mainmenu_xpshop_tile.vts_c CRC:00d409e8ed size:24206 panorama/scripts/mapdraft.vts_c CRC:0067f23c2d size:42318 panorama/scripts/match-reconnect.vts_c CRC:009bd134cc size:6862 panorama/scripts/match_stakes.vts_c CRC:007a7a3ca9 size:10862-panorama/scripts/matchinfo.vts_c CRC:008a1a5f2f size:105486+panorama/scripts/matchinfo.vts_c CRC:002706dab2 size:105902 panorama/scripts/matchlist.vts_c CRC:00ac9e0e42 size:52878 panorama/scripts/matchmaking_status.vts_c CRC:0008a8c523 size:13534 panorama/scripts/mission_tile.vts_c CRC:00db95903b size:33790@@ -87984,7 +87984,7 @@ resource/csgo_bulgarian.txt CRC:00e6aa803c size:7758759 resource/csgo_czech.txt CRC:00aa2da1f8 size:5097152 resource/csgo_danish.txt CRC:001655e064 size:5003477 resource/csgo_dutch.txt CRC:007e635df4 size:5049457-resource/csgo_english.txt CRC:00a7f600cd size:4878645+resource/csgo_english.txt CRC:00e83600df size:4879039 resource/csgo_finnish.txt CRC:0040d7f29a size:4960257 resource/csgo_french.txt CRC:00cf90f727 size:5254356 resource/csgo_german.txt CRC:00768f902a size:5164887@@ -87998,15 +87998,15 @@ resource/csgo_latam.txt CRC:00436dd96a size:5188121 resource/csgo_norwegian.txt CRC:00f79e57f3 size:4924516 resource/csgo_polish.txt CRC:003eee27c8 size:5321400 resource/csgo_portuguese.txt CRC:00ed24ede6 size:5059879-resource/csgo_romanian.txt CRC:00726dbe1b size:5270911+resource/csgo_romanian.txt CRC:00b3958fb9 size:5270915 resource/csgo_russian.txt CRC:00ffa91341 size:6563734 resource/csgo_schinese.txt CRC:000d6871a9 size:4931452 resource/csgo_schinese_pw.txt CRC:0083fe268a size:15645 resource/csgo_spanish.txt CRC:00f5db4811 size:5159573 resource/csgo_swedish.txt CRC:00b8b4e017 size:5031803 resource/csgo_tchinese.txt CRC:008252f083 size:4627815 resource/csgo_thai.txt CRC:00f47187a0 size:8128621-resource/csgo_turkish.txt CRC:0004ab0a9f size:5165343+resource/csgo_turkish.txt CRC:00ea144dfc size:5165506 resource/csgo_ukrainian.txt CRC:00ab17d5bc size:6621012 resource/csgo_vietnamese.txt CRC:00985185c2 size:5450532 resource/game.gameevents CRC:0090de10bc size:9837game/csgo/pak01_dir/panorama/scripts/matchinfo.js
modified • +4 / -2 • changes: 6
Show patch
@@ -392,8 +392,10 @@ var matchInfo; elPlayerRow.AddClass('no-hover'); elParentPanel.Data().activePlayerRow = elPlayerRow; let isLive = Boolean(MatchInfoAPI.IsLive(elParentPanel.Data().matchId));- if (isLive == false) {- elParentPanel.FindChildInLayoutFile('id-mi-player-stats').RemoveClass('mi-player-stats__collapse');+ let hasRoundStats = Boolean(MatchInfoAPI.GetMatchPlayerRoundStats(elParentPanel.Data().matchId, elPlayerRow.Data().playerXuid, "round_wins"));+ elParentPanel.FindChildInLayoutFile('id-mi-player-stats').SetHasClass('mi-player-stats__collapse', isLive || !hasRoundStats);+ if (!hasRoundStats) {+ return; } let elStatsContainer = elParentPanel.FindChildInLayoutFile('id-mi-round-stats__container'); let elTickLabels = elParentPanel.FindChildInLayoutFile('id-mi-round-stats__tick-labels');game/csgo/pak01_dir/resource/csgo_english.txt
modified • +5 / -0 • changes: 5
Show patch
@@ -46172,6 +46172,11 @@ "SFUI_Lobby_StatusRichPresence_retakes_community" "Community Retakes" "SFUI_Lobby_StatusRichPresence_retakes_watch" "Watching Retakes" "SFUI_Lobby_StatusRichPresence_retakes_review" "Replaying Retakes"+ "SFUI_Lobby_StatusRichPresence_workshop_lobby" "In Workshop Map Lobby"+ "SFUI_Lobby_StatusRichPresence_workshop_game" "Playing Workshop Map"+ "SFUI_Lobby_StatusRichPresence_workshop_community" "Community Workshop Map"+ "SFUI_Lobby_StatusRichPresence_workshop_watch" "Watching Workshop Map"+ "SFUI_Lobby_StatusRichPresence_workshop_review" "Replaying Workshop Map" "SFUI_Lobby_StatusRichPresenceSeparator_classic_competitive" " " "SFUI_PSNPresence_SinglePlayer" "Single Player"game/csgo/steam.inf
modified • +6 / -6 • changes: 12
Show patch
@@ -1,9 +1,9 @@-ClientVersion=2000939-ServerVersion=2000939-PatchVersion=1.41.9.4+ClientVersion=2000940+ServerVersion=2000940+PatchVersion=1.41.9.5 ProductName=cs2 appID=730 ServerAppID=2347773-SourceRevision=11191540-VersionDate=Oct 30 2026-VersionTime=13:55:25+SourceRevision=11198439+VersionDate=Nov 02 2026+VersionTime=16:17:08manifests/manifest_2347770.txt
modified • +12 / -12 • changes: 24
Show patch
@@ -1,16 +1,16 @@ Content Manifest for Depot 2347770 -Manifest ID / date : 6694633556888099985 / 10/30/2026 21:05:03 +Manifest ID / date : 3690356453703667427 / 11/03/2026 00:25:56 Total number of files : 2992 -Total number of chunks : 65063 -Total bytes on disk : 65051805863 -Total bytes compressed : 55573428128 +Total number of chunks : 65055 +Total bytes on disk : 65048085465 +Total bytes compressed : 55568715408 Size Chunks File SHA Flags Name- 10 1 2d6149740ea5c8f6b2d653ccf3f38a0d2a294ac3 0 game\bin\built_from_cl.txt- 10347 1 cf297ff72b6c1648a9cecd8868cfac716c658e3c 0 game\bin\win64\csgo.signatures- 8941 1 ec38742284e7338bb190a5eb2ff6f77c2a534438 0 game\bin\win64\vpk.signatures+ 10 1 e1aceebbdd3814eb1f3e4216702f7dc8e3ca6465 0 game\bin\built_from_cl.txt+ 10347 1 34e431cd4393ac0204703f2a6d9f19c224fd1479 0 game\bin\win64\csgo.signatures+ 8941 1 f2e4452e9be7e5f6ccbbbd7979082a1321dd0aed 0 game\bin\win64\vpk.signatures 51357 1 0f5112698b482f8c1190c89192a4c0c8b0e50198 0 game\core\cfg\sfm_default_animation_groups.vcfg 2270 1 ab4e0ee92367ba6d28a89dae8f6000631ffdb641 0 game\core\cfg\user_keys_default.vcfg 2474 1 c4ff2f85048812f02c2403b0675208acfc00c7b0 0 game\core\gameinfo.gi@@ -2438,7 +2438,7 @@ Total bytes compressed : 55573428128 118404050 113 796c7932cfeb6772b51013f28bd99bfdfb40483d 0 game\csgo\pak01_033.vpk 116169795 111 e382335666c33007e4a346ded29843a08e8656eb 0 game\csgo\pak01_034.vpk 104201764 102 d897179aaadd2b0de26e19afe39037903f6f424a 0 game\csgo\pak01_035.vpk- 105234684 129 3493b2d21b1aecc2a0b56c7338a9fcc06f512e91 0 game\csgo\pak01_036.vpk+ 120988884 138 f58ecf9bfb4813e19e008a7a63c2f7d48b0a059c 0 game\csgo\pak01_036.vpk 109137813 105 c1c5d1aeea369e80997338b7f41f8cadb17bbfdb 0 game\csgo\pak01_037.vpk 116538440 112 cf02841fa129fbb93933f539cc8ae0fcb54de2d9 0 game\csgo\pak01_038.vpk 103037018 103 83bd86a8c8cdc17b353c54cd4cf6a1e347a59e63 0 game\csgo\pak01_039.vpk@@ -2773,7 +2773,7 @@ Total bytes compressed : 55573428128 99943692 100 e8da516e0d51337a189cdcd953278f762ac0a654 0 game\csgo\pak01_368.vpk 105708781 101 0f96f5bfaa0444b7e7d9913d86fff385c279a181 0 game\csgo\pak01_369.vpk 105059948 102 8bdc949a2182d103f63b3a1a78de3db43945c3ef 0 game\csgo\pak01_370.vpk- 104830224 106 3d6f89be56c08ce63e224dcbe1f2e221c26e4a6b 0 game\csgo\pak01_371.vpk+ 105268310 110 183c4b74cc2532675a6687a5bb28a032236ade11 0 game\csgo\pak01_371.vpk 105742452 106 5600349636412e27a10f5d7d7fdf2a524137b014 0 game\csgo\pak01_372.vpk 108035952 108 6b86e3e0c916b225f852abbf47c5f31915726e30 0 game\csgo\pak01_373.vpk 103105895 100 04531aca5df46681795ded2401e7382bd2982909 0 game\csgo\pak01_374.vpk@@ -2906,8 +2906,8 @@ Total bytes compressed : 55573428128 99621956 106 9d2ae31cb7b16513b47b2aa6bc1a5b55a6ad8d43 0 game\csgo\pak01_501.vpk 99618250 105 568b65b644448b85efe132f8eaebe59c309c3fb3 0 game\csgo\pak01_502.vpk 100220508 102 60654a3f3231ef5de3b458ed332ba064c153c465 0 game\csgo\pak01_503.vpk- 61294166 64 7e4515c2e23cc6b96ef870aff144182d3aa0bc84 0 game\csgo\pak01_504.vpk- 7713358 8 860cb1f89ad46cd24ec82d18dca3f975cc951465 0 game\csgo\pak01_dir.vpk+ 41381566 46 444eee2d83cbd067eec75b923992fa35b130c2d4 0 game\csgo\pak01_504.vpk+ 7713274 8 7811a1e71538f431f6e160c41171ffa9efd0af6c 0 game\csgo\pak01_dir.vpk 11893 1 d2f5c237fcac89835ab901bf3cc83850c71d9b46 0 game\csgo\panorama\fonts\fonts.conf 107848 1 90edfc11fa568cd0fb5b9d6e6d369dddadfdb8c4 0 game\csgo\panorama\fonts\notomono-regular.ttf 310556 1 84e39ddc72cd1d2ac4be132d235979f10f916c2b 0 game\csgo\panorama\fonts\notosans-bold.ttf@@ -2996,7 +2996,7 @@ Total bytes compressed : 55573428128 303670574 290 d2d77a7357436cf6fb69b704cebc84718609f70e 0 game\csgo\shaders_vulkan_003.vpk 25004138 28 7a80e74bbd9d763f27ad8788694da6d9d81cc99e 0 game\csgo\shaders_vulkan_004.vpk 41884 1 a9b38a712dcebbc8a985763a9134ec66c4264688 0 game\csgo\shaders_vulkan_dir.vpk- 190 1 6bd54113491e0ded55a8f7d0f773905099323118 0 game\csgo\steam.inf+ 190 1 2acf249fb98158c6b47a3af8f6254953ed9e3f50 0 game\csgo\steam.inf 209 1 cb2eaab8dbda9f075491a5410326356e127f60ec 0 game\csgo_lv\gameinfo.gi 135 1 7769174b103a021d6390cb2a31b758dbfff04639 0 game\csgo_lv\gameinfo_branchspecific.gi 473822 1 f5ca24bf12b20fee2ffb5d8bbc465ba8805d8abe 0 game\thirdpartylegalnotices.txtmanifests/manifest_2347771.txt
modified • +55 / -55 • changes: 110
Show patch
@@ -1,30 +1,30 @@ Content Manifest for Depot 2347771 -Manifest ID / date : 4494425425081083634 / 10/30/2026 21:05:41 +Manifest ID / date : 5808144614069275570 / 11/03/2026 00:26:34 Total number of files : 183 Total number of chunks : 7219 Total bytes on disk : 7753537022 -Total bytes compressed : 5011481952 +Total bytes compressed : 5011473536 Size Chunks File SHA Flags Name 181608 1 0bc12517a8ee4173867d54081a6d26527ab62672 0 game\bin\win64\amd_ags_x64.dll- 9329816 9 c44f498f1874785f148aa743fab6e5ee4c017041 0 game\bin\win64\animationsystem.dll- 48612504 48 a51eee7b1cc096c6245497e9b098945fafa0a3af 0 game\bin\win64\assetpreview.dll+ 9329816 9 bf7814eef68259386519836a0575675b2f53fe03 0 game\bin\win64\animationsystem.dll+ 48612504 48 a382d90a63b0a9a1e9efd1b3df018af1844cb3ba 0 game\bin\win64\assetpreview.dll 754024 1 84aaa5491087ffb7aa5453f48bdf3a837839f770 0 game\bin\win64\ati_compress_wrapper.dll- 167576 1 080aa6cc967fa8780455da6cd6c900dffed7abc6 0 game\bin\win64\bugreporter_filequeue.dll+ 167576 1 50ccfcf9e39a00f79de635fae3b788376d9f3b99 0 game\bin\win64\bugreporter_filequeue.dll 1271960 2 24eaed4030eeb1880ad94ad59d43e39894815e78 0 game\bin\win64\cairo.dll 2967704 3 543876c222172ce98b127e0b2fc6b3ea11f91f79 0 game\bin\win64\cs2.exe 4346120 5 612e6f443d927330b9b8ac13cc4a2a6b959cee48 0 game\bin\win64\d3dcompiler_47.dll 1558912 2 4ef5d229709e40f3f84e46c3a28341eadbd1a044 0 game\bin\win64\dbghelp.dll 21996904 21 bc499749a83cd7cd52673ecaa1c74760a20ba714 0 game\bin\win64\embree3.dll- 7498392 8 ed638d59cca76998e79547d3766d4f6eb96840a4 0 game\bin\win64\engine2.dll- 2260120 3 9ac3cc8658e9280d2dbd0f4a82aace65c34ecd32 0 game\bin\win64\filesystem_stdio.dll+ 7498392 8 185f14e77381beea23078bc58a1d7bd0cef5e845 0 game\bin\win64\engine2.dll+ 2260120 3 e6b2f2f01a06dd404f49cf333f68ddce1a5aebf3 0 game\bin\win64\filesystem_stdio.dll 2373 1 58812342d882cc4b5cb2469606929aa413e0ca16 0 game\bin\win64\foreign.signatures 5736000 6 7d1f621599d315bbda1c7d2129b689a999a20bd8 0 game\bin\win64\gfsdk_aftermath_lib.x64.dll- 755864 1 501db249b47d2312d13524508e8c801991b6747f 0 game\bin\win64\helpsystem.dll- 248472 1 4be7eb4d74567baeaf51a4686dbc81a8051787bc 0 game\bin\win64\imemanager.dll- 302232 1 8d74403cf1ddbdd542be88b27a1a59a5c7f4772f 0 game\bin\win64\inputsystem.dll+ 755864 1 83ed4f0304dcc6579093607217950b3b006a5975 0 game\bin\win64\helpsystem.dll+ 248472 1 ff5cd135d038fb3cdeafde6b4fd46618025a78da 0 game\bin\win64\imemanager.dll+ 302232 1 0eb5de06e385590668a23f5293ee7414196215ca 0 game\bin\win64\inputsystem.dll 6627176 7 49b2ad8a4e67451776d9c4e62c7aaf62a51e9735 0 game\bin\win64\libavcodec-58.dll 1847656 2 612200abbd317ae2c2173e52248cb5bcdcf6a9a1 0 game\bin\win64\libavformat-58.dll 756584 1 8949c887bd27fe265d1b4df08eb2d86cc74695a5 0 game\bin\win64\libavresample-4.dll@@ -40,21 +40,21 @@ Total bytes compressed : 5011481952 400744 1 a4a6273b4de588fa2302d45bcc994fecfb6c5fea 0 game\bin\win64\libpango-1.0-0.dll 389992 1 a3d673d56314c10a6b742e88b4261dc9df857269 0 game\bin\win64\libpangoft2-1.0-0.dll 1283432 2 9867b4ab6b1a430242eae51aa2b1700a1ace4a2e 0 game\bin\win64\libswscale-5.dll- 382104 1 386d54a0a1ba3ff051f148b25ec0defd5df67078 0 game\bin\win64\localize.dll- 1428632 2 23bb3cfd4d4fe730eef8b5a18946e6bd74ab12c6 0 game\bin\win64\materialsystem2.dll- 1664664 2 573dfb7361d93fe2bdd63ebbf132f571467e16e3 0 game\bin\win64\meshsystem.dll- 1314968 2 1bac0b3b4639d8d47fbc6990308098a8ab1e4280 0 game\bin\win64\navsystem.dll- 2841752 3 9a853bdb1755f40bda4e2c67cd0f55c0fd1bd4b5 0 game\bin\win64\networksystem.dll- 147608 1 dc132099ef45f5d24cdf46ff0f4e8b95f272e03a 0 game\bin\win64\p4lib.dll- 6108312 6 1d85b21366ba2cc6a7bd5869807140e1730ab074 0 game\bin\win64\panorama.dll- 2748056 3 7884a9f4258e84378ad7effdee02d56255d0a82a 0 game\bin\win64\panoramauiclient.dll- 2997912 3 199e25a095143d3a8b62ded12f74da9497aaf780 0 game\bin\win64\panorama_text_pango.dll- 6460568 7 a6f468c64c6f133e72575694e80a5c3b1fc16dc0 0 game\bin\win64\particles.dll+ 382104 1 2117557c22f9b58b6d0da2ba91a90fc2d7e52f9f 0 game\bin\win64\localize.dll+ 1428632 2 d6e30c118d0f4bb139529a01d254199c71748d5c 0 game\bin\win64\materialsystem2.dll+ 1664664 2 bfc3eb19939b3f38d85ec27b8d1bec77414b5c99 0 game\bin\win64\meshsystem.dll+ 1314968 2 d41c0a00bc9e80ff0958412831ca483a9ad0f918 0 game\bin\win64\navsystem.dll+ 2841752 3 2b96877b91a753e024ebd164036098c31b41ead7 0 game\bin\win64\networksystem.dll+ 147608 1 f8b63f70ca58f6b7882b829430c9fb3cdc67487a 0 game\bin\win64\p4lib.dll+ 6108312 6 94048c04cd1acea67d05dfe3f46972b979569617 0 game\bin\win64\panorama.dll+ 2748056 3 2773a945a7eecf0f7722c91ce3147c8150cce087 0 game\bin\win64\panoramauiclient.dll+ 2997912 3 9d3d1b368b8231038f7d54739985db3e80a47d4d 0 game\bin\win64\panorama_text_pango.dll+ 6460568 7 fc7d1bac01a248f2af72a48746325208722072da 0 game\bin\win64\particles.dll 53322904 53 19e9e40c9a4780b26353e1a4d78f2a4f61ff8f3c 0 game\bin\win64\phonon.dll 567656 1 79759ec5c92853b73627da14e5e70f6c6c580a78 0 game\bin\win64\phonon4.dll- 13950616 14 32da607e886aeed748459d9306a6917762edab13 0 game\bin\win64\physicsbuilder.dll- 1522840 2 2e39fa5b15eaca75c30c5da1464348c9c0e23f33 0 game\bin\win64\propertyeditor.dll- 2031768 2 bfbb7085355668eb93e95a48cf7b5312f576e72c 0 game\bin\win64\pulse_system.dll+ 13950616 14 d97d9e5d6a64e98bd812ebe70a023c39a24e833b 0 game\bin\win64\physicsbuilder.dll+ 1522840 2 eba06453afcdd6d6bf4b608fcc3fe6dcde592cb7 0 game\bin\win64\propertyeditor.dll+ 2031768 2 6f40ef4d08911950fad3e1a7fb65b4ec1672b3ee 0 game\bin\win64\pulse_system.dll 131432 1 3177661f6e066460f2c859d2d5453323b68d6eda 0 game\bin\win64\Qt5Concurrent.dll 6288744 6 5f5173c825810bbd849e32b5e6e2cb32f6c456d2 0 game\bin\win64\Qt5Core.dll 7007080 7 08882a63e4c0962b33376da66224655f2b1d5e06 0 game\bin\win64\Qt5Gui.dll@@ -67,53 +67,53 @@ Total bytes compressed : 5011481952 1616384 2 f5dc8fe31229639bd3fe28b52249af29722e0301 0 game\bin\win64\qt5_plugins\platforms\qwindows.dll 231424 1 8fc6fa3f8cda0ffc55725d817c782115322cd574 0 game\bin\win64\qt5_plugins\styles\qwindowsvistastyle.dll 828928 1 bbb2cff7f465f33d68bb00cb32c4ca897334cc94 0 game\bin\win64\qtadvanceddocking-qt5.dll- 4545688 5 051d860ce08f10ec2a0d0345ca8f1727e337152a 0 game\bin\win64\rendersystemdx11.dll- 1774744 2 5b6210ed355a8b9cd9a2aa7312e3bb7c08516484 0 game\bin\win64\rendersystemempty.dll- 6249624 7 7fda1b8745d98cdbcc8fe7a1153ac6de25db01d1 0 game\bin\win64\rendersystemvulkan.dll- 56351896 54 ae2b2266c510a9efe65a2220bb38dba42dac6e46 0 game\bin\win64\resourcecompiler.dll- 532632 1 3eb3b6bd25b276fb670f1474260267907db9cd16 0 game\bin\win64\resourcesystem.dll- 1297048 2 a098eda7437c0f2bd2eee3e113421c958f2aba69 0 game\bin\win64\scenefilecache.dll- 7094936 7 2a0d7c4734b5058b0dcf8e270630c9a8a9dab4b8 0 game\bin\win64\scenesystem.dll- 445592 1 a2d1ab7e9bfefb9df339767031cf6b6ce7a1a43e 0 game\bin\win64\schemasystem.dll+ 4545688 5 ad12c77a510d514d29c61b7e3a515fea41864047 0 game\bin\win64\rendersystemdx11.dll+ 1774744 2 5cc9557830aaf4ee91c22d08568bb27a0f673528 0 game\bin\win64\rendersystemempty.dll+ 6249624 7 994dbf58e75bf4b3d0b54e70b1613f946c050d08 0 game\bin\win64\rendersystemvulkan.dll+ 56351896 54 4dafe44305d9966c865bcc78460f31acf5153bf9 0 game\bin\win64\resourcecompiler.dll+ 532632 1 c62dfbb1cee3f7553bfcf99b4fbac724a5341841 0 game\bin\win64\resourcesystem.dll+ 1297048 2 94c9536c1a0b4ed2b736c41c386d08652ff81654 0 game\bin\win64\scenefilecache.dll+ 7094936 7 9bb7594bcd332c617df4b6a9db62c8886991f84d 0 game\bin\win64\scenesystem.dll+ 445592 1 61a9c15eab213fbb579ef604310fd28eee47145e 0 game\bin\win64\schemasystem.dll 2891928 3 2455bae3c453025d4d481afebdc517ac9e3f3659 0 game\bin\win64\SDL3.dll- 5838488 6 dd30ad36fdcfb5d9f59b2cfb46b0bef25184328f 0 game\bin\win64\soundsystem.dll- 3547288 4 2ed24977ac906ca1596d83f466669849116c2619 0 game\bin\win64\steamaudio.dll+ 5838488 6 2c7068a3059c8057b9280de287cead9c2ae3a0de 0 game\bin\win64\soundsystem.dll+ 3547288 4 dcd7e7502e53c738b5b86b29bd5dcd8ae23e53a1 0 game\bin\win64\steamaudio.dll 4290200 5 b2a6c8bdb391737a00e9d32a186d726da2037aae 0 game\bin\win64\steamnetworkingsockets.dll 317080 1 a9fd85dbfdcee3209768facb284b8788df41c3d3 0 game\bin\win64\steam_api64.dll- 887448 1 213fce1c7bfac044eaf350a00f5e7c10870df8ae 0 game\bin\win64\subtools\convarhelper_subtool.dll- 227992 1 e3f03807f29613a9401c411b6ce7a50d09976b4f 0 game\bin\win64\subtools\dashboard_subtool.dll- 366232 1 38825442ff3adaf635c82e502c350008d847d242 0 game\bin\win64\subtools\netgraph_subtool.dll- 418968 1 1b3bdc723a1dcd18222285efe5d395e46223a864 0 game\bin\win64\subtools\soundviewer_subtool.dll- 338584 1 e2990d2f36d45f5c5321d57f4bf2e4ee9fdfae75 0 game\bin\win64\subtools\vprof_subtool.dll+ 887448 1 51b273640034e3bf523a5899ea9d377b64e70c15 0 game\bin\win64\subtools\convarhelper_subtool.dll+ 227992 1 e534813280d8a18b42833bdb80cf6f440ea791ad 0 game\bin\win64\subtools\dashboard_subtool.dll+ 366232 1 514ff31ef4596425d671a13b0721e5ac1e96ec5b 0 game\bin\win64\subtools\netgraph_subtool.dll+ 418968 1 fddeb0c0f40fe6ea7c3b6f0a00712fe9ee45955d 0 game\bin\win64\subtools\soundviewer_subtool.dll+ 338584 1 6965c56d222b1947c5a0f4e746cb35e92349ce71 0 game\bin\win64\subtools\vprof_subtool.dll 149264 1 4b46db2a99a47ff6a6ee376f4d79f5298bff28a2 0 game\bin\win64\symsrv.dll 1473 1 a2f63b30356a09266d8e598c4a4949ad00733230 0 game\bin\win64\system.signatures- 3979928 4 7a95e7c564b75d4e207eb013d8797c46c392edad 0 game\bin\win64\tier0.dll- 13708952 14 683fd7f433475c1fb83f58ff4d9bac6f2df76ec1 0 game\bin\win64\toolframework2.dll+ 3979928 4 2dc971f4ba4b15a18c2cb2b189cb6bb696549e20 0 game\bin\win64\tier0.dll+ 13708952 14 944b6e3fce2c1c2526a39d4c65da569e96a74a48 0 game\bin\win64\toolframework2.dll 50473832 49 29b8401736bcbb130ad79cde21b1cb70c4fefabf 0 game\bin\win64\v8.dll- 233624 1 08fbefa2846b1129d3195ea107e54529b6a75d6b 0 game\bin\win64\v8system.dll+ 233624 1 e0be570be2c322f5d7765f85a779773dc2d301ae 0 game\bin\win64\v8system.dll 3937128 4 3a8e40f31868314b88d6514cd096dd0908f24a1b 0 game\bin\win64\v8_icui18n.dll 2849640 3 95d6436822bcf47bb4315c0c20d69775662163b6 0 game\bin\win64\v8_icuuc.dll 1637736 2 8402ca7e7ffb4c8db27c05c7d7c3d10c224a0750 0 game\bin\win64\v8_libbase.dll 1455464 2 9beacc20acdc683129c258a97432e6beb8701d71 0 game\bin\win64\v8_libplatform.dll 844136 1 97b323fba40640622eb756c42206dc088474b21a 0 game\bin\win64\v8_zlib.dll- 194200 1 4f1f86e04e54f20e423971760257bffd0af1e81c 0 game\bin\win64\valve_avi.dll- 11384472 12 78fbfadb81c05286f0c6f0006dfcde493248e087 0 game\bin\win64\valve_webm.dll- 177304 1 53fe6ef4fff3e1f843be723e792fb02bdcd7a6c6 0 game\bin\win64\valve_wmf.dll- 259736 1 6750a03108261019c3c8762094c3cecd156c07f4 0 game\bin\win64\vconcomm.dll- 5105816 5 3884e04f808764c89f0b9ddf940183897c241456 0 game\bin\win64\vconsole2.exe- 1327256 2 c7ecf73ad6654517f163f23bdfa7e5ed62cbd3b2 0 game\bin\win64\vfx_dx11.dll+ 194200 1 5860e5e47341acb69dcfe7e80e22462e3acf6f21 0 game\bin\win64\valve_avi.dll+ 11384472 12 a9a817e4576f9d0579e7c165fca5fed87079f643 0 game\bin\win64\valve_webm.dll+ 177304 1 597b00148c9434443daf6f09058a16e82fe98a08 0 game\bin\win64\valve_wmf.dll+ 259736 1 c17af6d351fed715ec6335204e04aff779647c41 0 game\bin\win64\vconcomm.dll+ 5105816 5 1f4298f214e0b6425cc8acdde412048919011563 0 game\bin\win64\vconsole2.exe+ 1327256 2 61b7e2e78c4a28ce0a739204fdd66ca771c6fad0 0 game\bin\win64\vfx_dx11.dll 4610448 5 6e02ca508c3fcbd7972475e7b1530d0a2dfa12c3 0 game\bin\win64\video64.dll- 1855640 2 c407a13221df9390f71a999a14ab40bb7d70eef4 0 game\bin\win64\visbuilder.dll- 4829848 5 1d443f6452208cde31a8c6e84103758ded32a8b7 0 game\bin\win64\vphysics2.dll- 1352856 2 64f98a410a72087c75c51c0f07cc1db49fc5a639 0 game\bin\win64\vscript.dll- 2029720 2 9b117aa56a622b6a6026c8bfa8ba65b03222efa0 0 game\bin\win64\worldrenderer.dll+ 1855640 2 2c43f071e8ba595080b487b437e97af0526efb2b 0 game\bin\win64\visbuilder.dll+ 4829848 5 0ae0801a6394bc9b1aa70304c9eebf831620f0bc 0 game\bin\win64\vphysics2.dll+ 1352856 2 1ab1c7fa28d18fb621fd2a3f38ff255d3dc6bb92 0 game\bin\win64\vscript.dll+ 2029720 2 82c110e168cd9741d1f818c6cc26f909152e65af 0 game\bin\win64\worldrenderer.dll 3185298 4 10bea5cfe6883540880c748e9506a04ad11e53ca 0 game\core\shaders_pc_000.vpk 25563 1 72204b8136ab7b8df21a52fb0b8b674f8c578b06 0 game\core\shaders_pc_dir.vpk 1728360 2 4e48ff45949c7f3cd8fd8ab5b7514ae27f44e53a 0 game\csgo\bin\legacy\csgo_legacy_app.exe- 39224472 38 b5ad5ca0a78e816cf93836327b42d5a5ef49dcab 0 game\csgo\bin\win64\client.dll- 1389208 2 40c6db9d0b1a07915441df9e7f002375f1bbad7a 0 game\csgo\bin\win64\host.dll- 1890968 2 9aedfe7565fa06c398d7c4a0017bfc6490567b4d 0 game\csgo\bin\win64\matchmaking.dll- 34690200 34 7eb4d9b19948117424d575b158aa11c565d71eec 0 game\csgo\bin\win64\server.dll+ 39224472 38 51a449b7cac525d9470b3d98debc6a43467ead20 0 game\csgo\bin\win64\client.dll+ 1389208 2 425f2ec89bdaa5b0d2ca47945fa08ec906661749 0 game\csgo\bin\win64\host.dll+ 1890968 2 ebcf0d685e5347a5e246521cc0ee694f5d266bb3 0 game\csgo\bin\win64\matchmaking.dll+ 34690200 34 b3c3e96f47acbdcf00655a3d7e5db509480eeef5 0 game\csgo\bin\win64\server.dll 115209034 117 4bbd01e43063ebade958bb509725b1b48c811b00 0 game\csgo\shaders_pc_000.vpk 189827159 182 7829b4ede09333c4e30a53d1ef958b9baeaeac39 0 game\csgo\shaders_pc_001.vpk 38973836 41 55f4f1a11b02a8a25a77a452d24ae14aa04b9f0b 0 game\csgo\shaders_pc_002.vpkmanifests/manifest_2347773.txt
modified • +32 / -32 • changes: 64
Show patch
@@ -1,53 +1,53 @@ Content Manifest for Depot 2347773 -Manifest ID / date : 6232960523750647649 / 10/30/2026 21:05:58 +Manifest ID / date : 4551386601247986792 / 11/03/2026 00:27:00 Total number of files : 135 Total number of chunks : 6673 -Total bytes on disk : 7224464934 -Total bytes compressed : 4605726512 +Total bytes on disk : 7224465798 +Total bytes compressed : 4605728448 Size Chunks File SHA Flags Name 155548 1 6f37e2bbe028e2b198f87972fc7265422a44b4b2 0 game\bin\linuxsteamrt64\cs2 84104 1 17f3c133b5c62e6e2bbb0280e038912414412579 0 game\bin\linuxsteamrt64\fltlnx64.flt- 15438136 15 eff263174b3593ea6d8906c05749c219a16d26b1 0 game\bin\linuxsteamrt64\libanimationsystem.so+ 15438136 15 aea2634b8346eb8e971473a5ee7110674643441c 0 game\bin\linuxsteamrt64\libanimationsystem.so 3678216 4 68f95c77a3ab19b380f142ab7e6ccb543af9d37c 0 game\bin\linuxsteamrt64\libavcodec.so.58 888848 1 bcfdd74b8bc4268cc6af190a10c8d64d27b71bc9 0 game\bin\linuxsteamrt64\libavformat.so.58 129496 1 4895da33d08a56dfb48daa79a3bcee9f9c361649 0 game\bin\linuxsteamrt64\libavresample.so.4 712672 1 451e7c11727fefe58f2cca8fc0e0cd0bc562f43e 0 game\bin\linuxsteamrt64\libavutil.so.56 1596148 2 b96dfdf2fe9a36436fd4f04ca78e292982ea15b1 0 game\bin\linuxsteamrt64\libcairo.so- 11158432 11 e4ecff8b413f8d55553aabc4840d33f384aefdf3 0 game\bin\linuxsteamrt64\libengine2.so- 3108744 3 8d3a0ab5d79de09b04d8a27011a697ca4528fb2d 0 game\bin\linuxsteamrt64\libfilesystem_stdio.so+ 11158432 11 b8fd6c32f218cb3bce5c2a333fd3adf3c6214940 0 game\bin\linuxsteamrt64\libengine2.so+ 3108744 3 d3cae622c8ce4cf58a810da91e903461d0aa22fd 0 game\bin\linuxsteamrt64\libfilesystem_stdio.so 1304272 2 0af1352041c54e16129773dc8d038872f9f839be 0 game\bin\linuxsteamrt64\libfontconfig.so.1 3930056 4 0b64e7c4eab1a6313867cb39c0fafbeb026aac7f 0 game\bin\linuxsteamrt64\libfreetype.so.6- 513732 1 fdc1e2cc13a6ddd503628eb25a9339ce43ed8d84 0 game\bin\linuxsteamrt64\libinputsystem.so- 648856 1 17746564434c03f97488384cf1f717bf72223a10 0 game\bin\linuxsteamrt64\liblocalize.so- 1795744 2 118c122d1835900fefc44a0e44f86575e8a1a8a5 0 game\bin\linuxsteamrt64\libmaterialsystem2.so- 2011620 2 169d7d3b32aaf3b22770b10c518b6bbde6a8622b 0 game\bin\linuxsteamrt64\libmeshsystem.so+ 513732 1 7c14219443cdb6f8859ba69a44bab1f9d194a2fd 0 game\bin\linuxsteamrt64\libinputsystem.so+ 648856 1 42cfa49393332d46fde5739d59724594ce97b29c 0 game\bin\linuxsteamrt64\liblocalize.so+ 1795744 2 8aec8095fdc80f31e42b85a16872cf49772ec09a 0 game\bin\linuxsteamrt64\libmaterialsystem2.so+ 2011620 2 61da167872eea90673fbe6b0d711e071571a1aa4 0 game\bin\linuxsteamrt64\libmeshsystem.so 1051154 2 312f15ffc6ca79979618858b7e371c056b5b74b2 0 game\bin\linuxsteamrt64\libmpg123.so.0- 4864820 5 a3d12dd40f7f10e698208b1eaf476b8ceaf2adb9 0 game\bin\linuxsteamrt64\libnetworksystem.so+ 4864820 5 246923dc3c9b6b367c93d4730df1dee021e50ad7 0 game\bin\linuxsteamrt64\libnetworksystem.so 35112 1 5f38ba115a525c4dee3dea7d9625a2164b84d457 0 game\bin\linuxsteamrt64\libogg.so.0 1278424 2 e99953922de86b898b2f0c9abc38ae24c6aea2b4 0 game\bin\linuxsteamrt64\libpango-1.0.so.0 442632 1 9e20da60c2343c610624175113428f4089236585 0 game\bin\linuxsteamrt64\libpangoft2-1.0.so.0- 7025168 7 25c479f43f885302caa79fb0806570c8f1269366 0 game\bin\linuxsteamrt64\libpanorama.so- 4878328 5 fff1135ac405f121ff3af28642ea4632c719a919 0 game\bin\linuxsteamrt64\libpanoramauiclient.so+ 7025424 7 8ba8a923f234038c7c1ae98e956675bfdafecbf1 0 game\bin\linuxsteamrt64\libpanorama.so+ 4878456 5 9ee4ef64197746622cb4026e6073d752cb19d806 0 game\bin\linuxsteamrt64\libpanoramauiclient.so 3202820 4 fec2f55b60399acd70d543ea35633f89a97eb771 0 game\bin\linuxsteamrt64\libpanorama_text_pango.so- 8612056 9 91cb91e6fa1e19dc70d96f6a5622838c7d782de2 0 game\bin\linuxsteamrt64\libparticles.so+ 8612056 9 4d746f89b7d06f57b7b6ef1a8bf8f169924fab5a 0 game\bin\linuxsteamrt64\libparticles.so 40786720 40 850311e7b530d04bcfbdee1e3e7d026a7791098d 0 game\bin\linuxsteamrt64\libphonon.so- 2357916 3 87b82e6936fca5db0a85ba5004dd6b5f31068839 0 game\bin\linuxsteamrt64\libpulse_system.so- 3679424 4 c7c6c991afc6346f6ef464752fbc36ebad94e7ec 0 game\bin\linuxsteamrt64\librendersystemempty.so- 9199516 10 90af184604f6e3d5b70d29c9a7b2399fd33b4473 0 game\bin\linuxsteamrt64\librendersystemvulkan.so- 800200 1 95465d864c6871d583ca4fd0576109020b34b42b 0 game\bin\linuxsteamrt64\libresourcesystem.so- 3936472 4 fe116e09ced35241f4331094a54235dc8dd652ae 0 game\bin\linuxsteamrt64\libscenefilecache.so- 10777468 11 3a9bd9792e999e94206fda1dadeacf2d32c96477 0 game\bin\linuxsteamrt64\libscenesystem.so- 713948 1 ad85dae76aad400f723e768ee7286fc6993c7c2f 0 game\bin\linuxsteamrt64\libschemasystem.so+ 2357916 3 a0122e3156918f8c58a7f6be93fc823243a54b6f 0 game\bin\linuxsteamrt64\libpulse_system.so+ 3679424 4 e2225dec8d51bdfc0d53a6a54d54849487df9e89 0 game\bin\linuxsteamrt64\librendersystemempty.so+ 9199516 10 b2c9ee0d939b25727cb56dbd89fbee4755d98aa0 0 game\bin\linuxsteamrt64\librendersystemvulkan.so+ 800200 1 77686038b3b2d330b48bddf55902d173b1f842a8 0 game\bin\linuxsteamrt64\libresourcesystem.so+ 3936472 4 e302a9468e39d94d4f00965610cc401be4ed3627 0 game\bin\linuxsteamrt64\libscenefilecache.so+ 10777468 11 9c804ca45ac80e79f0b883babb937ef21d14579a 0 game\bin\linuxsteamrt64\libscenesystem.so+ 713948 1 783bccbe42131eaf715fbe5ad20f64dbf60da3bc 0 game\bin\linuxsteamrt64\libschemasystem.so 3229400 4 0558f1091e79b187e42491955cf362112598cff5 0 game\bin\linuxsteamrt64\libSDL3.so.0- 7962196 8 f8b3d7618016aef0270517c79848a225837296b8 0 game\bin\linuxsteamrt64\libsoundsystem.so- 4771364 5 57b51902f63f93920f5bea8e86feb5b5adcda44e 0 game\bin\linuxsteamrt64\libsteamaudio.so+ 7962196 8 859737510ae097d5fd87007727d403203e1f94eb 0 game\bin\linuxsteamrt64\libsoundsystem.so+ 4771364 5 264949d42b595935f4ac27a6f31cbc06e9fea71c 0 game\bin\linuxsteamrt64\libsteamaudio.so 5692434 6 9ec4204cb535bb2c204a69c2d7d15e2b2c9682a1 0 game\bin\linuxsteamrt64\libsteamnetworkingsockets.so 381976 1 c109666c839a433b5ff8f635ad173cde77bdcdb6 0 game\bin\linuxsteamrt64\libsteam_api.so 555448 1 a1191c624317a97fbf634aa13990bc12abd45179 0 game\bin\linuxsteamrt64\libswscale.so.5- 5028700 5 e68e1cc5a0c06f7694b07627b9196de05a4f7131 0 game\bin\linuxsteamrt64\libtier0.so+ 5028700 5 8f63a592519742cf277888dc1a9d6dbcc49d6dad 0 game\bin\linuxsteamrt64\libtier0.so 30769216 30 a3ef228ee95892e08350e73af7a4063d24334c15 0 game\bin\linuxsteamrt64\libv8.so 480560 1 414fb2fac6d9e14c08115f7f68da98e33ef347d2 0 game\bin\linuxsteamrt64\libv8system.so 2926872 3 e84e468c1885ff699fdda290c1aed696b2fcc6cc 0 game\bin\linuxsteamrt64\libv8_icui18n.so@@ -56,20 +56,20 @@ Total bytes compressed : 4605726512 1172208 2 b22b9ba29bffe328d33c6a1790e5f2b81736bf13 0 game\bin\linuxsteamrt64\libv8_libcpp.so 113320 1 a4144e9f7d534ba89e1b9dd47de7c636819d43e0 0 game\bin\linuxsteamrt64\libv8_libplatform.so 110600 1 1f3829ba17a72c8c705b66d0a48bfbd60d9b9e1d 0 game\bin\linuxsteamrt64\libv8_zlib.so- 494128 1 aa118060f902be05fd2b5e07ac10a8af20c78b29 0 game\bin\linuxsteamrt64\libvconcomm.so+ 494128 1 39626ca8171e6ce123f84f0b55126a0e5f8d9759 0 game\bin\linuxsteamrt64\libvconcomm.so 7032600 7 f892d251c04221fc7e54c32c379a368b8f041bee 0 game\bin\linuxsteamrt64\libvideo.so 183104 1 236012fc609253612d606f5670749387d751a6eb 0 game\bin\linuxsteamrt64\libvorbis.so.0 690400 1 b5d3043cadc61cd22fa21ee22eae3546cc7f621b 0 game\bin\linuxsteamrt64\libvorbisenc.so.2 35360 1 3c4c4fc86877c37c8f637ceae9c91795adfd23d4 0 game\bin\linuxsteamrt64\libvorbisfile.so.3- 5739752 6 b864fa89943f572e78239863c7016133c600044e 0 game\bin\linuxsteamrt64\libvphysics2.so+ 5739752 6 b8a02c1664a9fe22ddc74ecb9a5848342c26ae66 0 game\bin\linuxsteamrt64\libvphysics2.so 3205768 4 7ee108b86e414426587fcf8d64e037c7f3f78544 0 game\bin\linuxsteamrt64\libvpx.so.6- 1296400 2 f63aa2c6334168781aa9b5bd2db22c0cc3a98a71 0 game\bin\linuxsteamrt64\libvscript.so- 4570212 5 9401bc49adf98aa264340e34e93dfc06fd786adc 0 game\bin\linuxsteamrt64\libworldrenderer.so+ 1296400 2 bd6d7e2be9b1a526f017bc474c84296569cf23d7 0 game\bin\linuxsteamrt64\libvscript.so+ 4570212 5 7464ba7da046b1de971e290bfcf582d20aeaedde 0 game\bin\linuxsteamrt64\libworldrenderer.so 3822 1 956919b920713ce452f46c20cf8643674f7543f7 0 game\cs2.sh- 74208376 71 a0729807ba98a01f7c8fde6b2a787897403028f6 0 game\csgo\bin\linuxsteamrt64\libclient.so- 3184412 4 2a6ef4e4bdf777c3ccd9d2d11c8cfce69baeb82f 0 game\csgo\bin\linuxsteamrt64\libhost.so- 3775044 4 4a6bd2fa9528edbac347b03c837c3158d93bca75 0 game\csgo\bin\linuxsteamrt64\libmatchmaking.so- 41807640 40 da6d2163b63dbc977b94d454dd3eb1ceb322e3a5 0 game\csgo\bin\linuxsteamrt64\libserver.so+ 74208760 71 34c9b737c072b81db28a1e84bb5c72404ce9bd19 0 game\csgo\bin\linuxsteamrt64\libclient.so+ 3184412 4 adad77afb94069ba33399c4ed33a5b4f3a64fb04 0 game\csgo\bin\linuxsteamrt64\libhost.so+ 3775044 4 5770b453a084c4d0bb77ca94860111b7bfdaaadf 0 game\csgo\bin\linuxsteamrt64\libmatchmaking.so+ 41807736 40 cb4bab97878a1f04990edf9b68d1240f473b606e 0 game\csgo\bin\linuxsteamrt64\libserver.so 182648578 175 d4b7d7aea361a8b94c54e79904d642d712a1a3f5 0 game\csgo_community_addons\cs_shelter\cs_shelter_000.vpk 107052112 105 2c61877687a4e433f04a62340fb3ce54b70e039c 0 game\csgo_community_addons\cs_shelter\cs_shelter_001.vpk 106101480 104 e5dc305d96a55ae88a396ac6d98037209b4520ce 0 game\csgo_community_addons\cs_shelter\cs_shelter_002.vpkmanifests/manifest_2347779.txt
modified • +30 / -30 • changes: 60
Show patch
@@ -1,10 +1,10 @@ Content Manifest for Depot 2347779 -Manifest ID / date : 6999460720639345485 / 10/30/2026 21:06:20 +Manifest ID / date : 9144463342521858931 / 11/03/2026 00:27:26 Total number of files : 909 Total number of chunks : 2523 -Total bytes on disk : 2108138499 -Total bytes compressed : 576286240 +Total bytes on disk : 2108139011 +Total bytes compressed : 576285616 Size Chunks File SHA Flags Name@@ -633,18 +633,18 @@ Total bytes compressed : 576286240 34 1 5ae7a5871cb358698c8a47d83b787447ebb23b53 0 content\csgo_addons\workshop_items\workshop_items.txt 32991 1 9d6322a3e2262994d74bb905f9fedcea2e5505b8 0 game\bin\assettypes_common.txt 3734 1 970059aac54dddba1b88fdec2836afd7261e5a2f 0 game\bin\sdkenginetools.txt- 3728024 4 cdf9adddba6dab0bb14a296393128ae45c6351a7 0 game\bin\win64\assetbrowser.dll- 33821336 33 526ed6a6ddf2c2d7ff3a0086e635daa8732e2049 0 game\bin\win64\assetrename.dll- 5703320 6 69aef54a5be46a22842ba8a8671ef057da9ffedd 0 game\bin\win64\assetsystem.dll+ 3728024 4 f188f8ac78b13b7f9cbf9bb3a5cc0e8426d8df33 0 game\bin\win64\assetbrowser.dll+ 33821336 33 584e63a192942b91df259e8aef86a9c262567e38 0 game\bin\win64\assetrename.dll+ 5703320 6 265f267641ffa2f5f8eacca5ce3ae23c95c15b01 0 game\bin\win64\assetsystem.dll 1529856 2 45e7d0873608e5424312fa289a270f2faacfe8fa 0 game\bin\win64\bc7e.dll- 396952 1 3a1580720932ad35bdc8455fea40739014877638 0 game\bin\win64\cs2_build_econ_items_workshop.exe- 13866 1 6e66eefa3c87d4a1c8b0971d9c9006ad4bed4f81 0 game\bin\win64\csgo.signatures- 1271448 2 41ff225a0583e28a3755588aac5634c5db7af5c4 0 game\bin\win64\csgocfg.exe- 15683736 15 2e0961f7f4e0776a11546c4f8a6ee8797cd7a478 0 game\bin\win64\cs_mdl_import.exe- 1196696 2 f3364d2c801c80b4e2eb6d8c76a6ec0aca706962 0 game\bin\win64\dmxconvert.exe- 3682968 4 21d3a8712c8d71e2dcc790a44f5c8cda24f79ab7 0 game\bin\win64\exportsystem.dll+ 396952 1 d40100945a08d047d65a8f8c1ba557351467136b 0 game\bin\win64\cs2_build_econ_items_workshop.exe+ 13866 1 22ce12bf18f6df3737c2ac7a83452663ed531f04 0 game\bin\win64\csgo.signatures+ 1271448 2 e0c0511657da151a4b8546e1ccb0f2eb5e6c6a40 0 game\bin\win64\csgocfg.exe+ 15683736 15 2787c3be064fd2215239c7fe9cb6f573d4984d9a 0 game\bin\win64\cs_mdl_import.exe+ 1196696 2 5691c2eec39a867bdb053d6880e5bc18b0bfde2a 0 game\bin\win64\dmxconvert.exe+ 3682968 4 e974da9fba42ae47defaf2d0c0c6bb8e1aba76cf 0 game\bin\win64\exportsystem.dll 1418240 2 d1cc730f23d2b2f8567555d0c09a36dfd01e45c9 0 game\bin\win64\ispc_texcomp.dll- 16949912 17 c45e12842ab3f33a26a6088d9bf6646e2fe9ae33 0 game\bin\win64\modeldoc_utils.dll+ 16949912 17 96d357b1830088fa13a52c230e2744c419424ae5 0 game\bin\win64\modeldoc_utils.dll 177280 1 27c1a881c6648129f95646e61e6f101d15ddd692 0 game\bin\win64\OpenImageDenoise.dll 50625664 49 cb2153ac3d4f75ddfb071802c9dbb39c48acf078 0 game\bin\win64\OpenImageDenoise_core.dll 513664 1 be8640db91ff826e381a9b6ea1a89e5fec462c5c 0 game\bin\win64\OpenImageDenoise_device_cpu.dll@@ -654,26 +654,26 @@ Total bytes compressed : 576286240 831616 1 7ca261e89897f9905ffc656b84e7f0d5c49dd896 0 game\bin\win64\pi_level_zero.dll 95360 1 e7364c7c47a730233631c86b1993b2b5098df426 0 game\bin\win64\pi_win_proxy_loader.dll 165528 1 8fb641fb82a8e7e70f6c6f683ba73b981cccc873 0 game\bin\win64\resourcecompiler.exe- 1479832 2 ee88306dfc4d55150545ecb2c269172d54e86b40 0 game\bin\win64\resourcecopy.exe- 3925656 4 79fa01cfc438e65c2bffa4b7e06f6dedb8f0b5b2 0 game\bin\win64\resourceinfo.exe- 1511576 2 c5c369b26b718e196d7e8ca38063af69574a1e5a 0 game\bin\win64\smartprops.dll- 18281112 19 fda0033b3177971213cc9e0e90a7ac0bff8ac742 0 game\bin\win64\source1import.exe+ 1479832 2 da427e2f64c2ba8a3dc34687d82656fb095f97b5 0 game\bin\win64\resourcecopy.exe+ 3925656 4 af3704a0daf835577cb996711dba9bfd755b62f0 0 game\bin\win64\resourceinfo.exe+ 1511576 2 5166fc0459e04f4c1399ab78760bd23fcc1374bd 0 game\bin\win64\smartprops.dll+ 18281112 19 f11c5023e92886cbeb328234a466c3acb06af547 0 game\bin\win64\source1import.exe 4600960 5 ee4319b51e4210bb9046ec3ddee39878ab4ad33c 0 game\bin\win64\sycl7.dll 319616 1 668b7a5c4c4f9456f73a6014df1b02ae05480195 0 game\bin\win64\tbb12.dll 47744 1 6169fdd71db33cc70ef4e8c853edd73571ffc538 0 game\bin\win64\tbbbind.dll 47744 1 5e52608c5ff4fffb626a9ab3a81a0913c132fd93 0 game\bin\win64\tbbbind_2_0.dll 48768 1 b28a6fd65fe96ff562b07fcbcfe740e63a73604a 0 game\bin\win64\tbbbind_2_5.dll- 14937240 15 f0ef2480f60bb6e9dc51d39f7c1438fb090580f9 0 game\bin\win64\toolscenenodes.dll- 6680216 7 54df7544ec5c62db5d5665fb1d4d93e3fd3c2715 0 game\bin\win64\tools\cs2_item_editor.dll- 2348184 3 b88d5b6645fd70323781fedbf3278493bc17e4c8 0 game\bin\win64\tools\cs2_workshop_manager.dll- 39611544 39 a0ec8807bcb2012b0a15f083f816256536603c2e 0 game\bin\win64\tools\hammer.dll- 4787352 5 a94d36e185c5af92cdaa77b43e6d3164b93e3b1e 0 game\bin\win64\tools\met.dll- 27271832 27 2bccca8deac7cd9fd2e28071af16763ded581220 0 game\bin\win64\tools\modeldoc_editor.dll- 9320088 9 398d5e8f49b7fed99fc89ebdd4580fb99255e2ec 0 game\bin\win64\tools\pet.dll- 7924888 8 c7729a84c9e833d9ecf7b10bd0bc2847e0db9589 0 game\bin\win64\tools\postprocessingeditor.dll- 13459608 13 ef695e294d8f374b855b2178a1cc57d014ee46d1 0 game\bin\win64\tools\sfm.dll- 1532568 2 3cb34f647837b87d48d4581ef24d8283a803cb2b 0 game\bin\win64\tools\subrecteditor.dll- 3269272 4 ffdd183287816b80b05233abd7261ba3a15221fb 0 game\bin\win64\vrad3.dll+ 14937240 15 3186fdb1ad19348d2fdc8150909b4a5c97bcb28c 0 game\bin\win64\toolscenenodes.dll+ 6680216 7 d04da3fbc0469caf5cf5c740f7b7a2a47f534b48 0 game\bin\win64\tools\cs2_item_editor.dll+ 2348184 3 264cb8f108565161c07f98a7613501fe214bab9e 0 game\bin\win64\tools\cs2_workshop_manager.dll+ 39611544 39 33f8a100af6c403c134f05b7f51b6acee9ffeda3 0 game\bin\win64\tools\hammer.dll+ 4787352 5 60d9beb0c22f69363f18a07d3bf10288bc9ad742 0 game\bin\win64\tools\met.dll+ 27271832 27 86e536006e7616a8cee816722b2ac49bf46cfbe2 0 game\bin\win64\tools\modeldoc_editor.dll+ 9320088 9 e6e84532df1bd0ad7c2d493d77daf6358fae614e 0 game\bin\win64\tools\pet.dll+ 7924888 8 4dd16fa1eddda0dbfa587915b0283734cf80987b 0 game\bin\win64\tools\postprocessingeditor.dll+ 13459608 13 b324c9a2bd2e57c2201ade4a64e594bd329f12b1 0 game\bin\win64\tools\sfm.dll+ 1532568 2 93859458c875526b6751d47449cfb097dc80f0e5 0 game\bin\win64\tools\subrecteditor.dll+ 3269272 4 809cb8eff22456e59dc5b6198adffc8ffcdf4b39 0 game\bin\win64\vrad3.dll 165528 1 c1c90737ec6f5507a45e5beb66308ddb430b8fab 0 game\bin\win64\vrad3.exe 74744 1 fdcd0602e39a727985c5b41524c26c5b1f0e4635 0 game\core\ai_basenpc.fgd 40196 1 0ef10aaa7fb9d6f248ea7b9bed4f676cbb2a769b 0 game\core\ai_defaultnpc.fgd@@ -687,7 +687,7 @@ Total bytes compressed : 576286240 2004 1 5cb2856b8584f65147b80cd8c87e1cbe1c155992 0 game\core\postprocessing.fgd 423652 1 c5428fef616a47986946d6c793ec643e42b85246 0 game\core\readonly_tools_asset_info.bin 4922 1 ef927dc90ee64b75629aea8e9b62e8f5dcb0864b 0 game\core\vdata_base.fgd- 17946264 18 555499df53336fd6e9bb6c2e7a85702220fbeda4 0 game\csgo\bin\win64\modtools.dll+ 17946776 18 5a39ede87a3d07051eef69cbf31e70b649ad7b8a 0 game\csgo\bin\win64\modtools.dll 89997 1 e5c2f5ffa14a73b9d5dbc8e967a7371a505d3df2 0 game\csgo\csgo.fgd 398843 1 5ccbe56ddcb35b7e10316f10ab5294742a75b391 0 game\csgo\import_scripts\bin\base.fgd 55534 1 d1dd4689259623923344c03ba682713d4427d7b7 0 game\csgo\import_scripts\bin\csgo.fgd@@ -721,7 +721,7 @@ Total bytes compressed : 576286240 133435 1 5c5acf7bffba281b1fb2de939a6953c385e26ac3 0 game\csgo\lighting\postprocessing\editor\toolsscene_default.vpost_c 3823 1 aaa9517703492629cade78571c39f5fdc2c417e3 0 game\csgo\models_gamedata.fgd 1559 1 ccef3c777e99029f1956e3ad23a718a99fd36d14 0 game\csgo\postprocessing.fgd- 50760417 51 a1997ec54c03935c14e37f7748fecf207030dc7c 0 game\csgo\readonly_tools_asset_info.bin+ 50760417 51 2864b89d3750e3547f9063365e334dca0fcd55c5 0 game\csgo\readonly_tools_asset_info.bin 3009 1 8374c54025aad8c3d4a72b5f7f198d99951b7844 0 game\csgo\tools\cs2_icon_gen\icon_camera.png 2390 1 436ef3b91600906f462a33b9973b3f0955ddf1d6 0 game\csgo\tools\cs2_icon_gen\icon_item.png 2566 1 d78fd6c17e836a35c1cff4b375de7928ea5aea40 0 game\csgo\tools\cs2_icon_gen\icon_light_fill.pngmanifests/manifest_731.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 731 -Manifest ID / date : 3579580227224146060 / 10/30/2026 21:03:36 +Manifest ID / date : 5799502335586127231 / 11/03/2026 00:24:30 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txt+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txtmanifests/manifest_732.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 732 -Manifest ID / date : 4813741465053806363 / 10/30/2026 21:03:43 +Manifest ID / date : 4514904948984964204 / 11/03/2026 00:24:37 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txt+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txtmanifests/manifest_733.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 733 -Manifest ID / date : 7325926150770753053 / 10/30/2026 21:03:50 +Manifest ID / date : 4581807251902851325 / 11/03/2026 00:24:44 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txt+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txtmanifests/manifest_734.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 734 -Manifest ID / date : 263743024181583359 / 10/30/2026 21:03:56 +Manifest ID / date : 519374194040118223 / 11/03/2026 00:24:50 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txt+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txtmanifests/manifest_735.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 735 -Manifest ID / date : 5004729745720806412 / 10/30/2026 21:04:02 +Manifest ID / date : 7430157609109467345 / 11/03/2026 00:24:57 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txt+ 8 1 759958d606a65558944eea2a1f6f5d7f6de48b65 0 game\bin\content_built_from_cl.txt30.10.2026, 22.16.46
General update: “2000939 | 116 files | M game/bin/built_from_cl.txt, M game/csgo/bin/win64/server_strings.txt, M game/csgo/pak01_dir.txt, M game/csgo/pak01_dir/soundevents/music/3kliksphilip_01/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/adambeyer_01/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/alrt_01/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/altare_01/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/amontobin_01/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/austinwintory_01/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/austinwintory_02/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/austinwintory_03/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/austinwintory_04/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/awolnation_01/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soundevents/music/bbnos_01/game_sounds_music.vsndevts, M game/csgo/pak01_dir/soun” Files touched: game/bin/built_from_cl.txt, game/csgo/bin/win64/server_strings.txt, game/csgo/pak01_dir.txt.
Files changed: 116 • +381 / -419
Changed files
game/bin/built_from_cl.txt
modified • +1 / -1 • changes: 2
Show patch
@@ -1 +1 @@-11180900+11191483game/csgo/bin/win64/server_strings.txt
modified • +1 / -0 • changes: 1
Show patch
@@ -21566,6 +21566,7 @@ camera_path_delete\n camera_path_load\n camera_path_save\n campaign+campaign completion bitfield campaign_definitions can't find SRP server param canRemoveVertex: Out of memory 'edges' (%d).game/csgo/pak01_dir.txt
modified • +130 / -160 • changes: 290
Show patch
@@ -1414,14 +1414,6 @@ animation/anims/viewmodel/rifle/rifle_galilar/lookat01_transfix_galilar.vnmclip_ animation/anims/viewmodel/rifle/rifle_galilar/reload_galilar.vnmclip_c CRC:002e81444d size:32222 animation/anims/viewmodel/rifle/rifle_galilar/reload_silent_galilar.vnmclip_c CRC:007be49685 size:57651 animation/anims/viewmodel/rifle/rifle_galilar/shoot1_galilar.vnmclip_c CRC:0024b715f6 size:12180-animation/anims/viewmodel/rifle/rifle_lar/draw_lar.vnmclip_c CRC:00195a603d size:12050-animation/anims/viewmodel/rifle/rifle_lar/idle_lar.vnmclip_c CRC:00dd4e78ce size:4327-animation/anims/viewmodel/rifle/rifle_lar/ironsight_fidget_lar.vnmclip_c CRC:009c8c4bea size:4353-animation/anims/viewmodel/rifle/rifle_lar/ironsight_shoot_lar.vnmclip_c CRC:0020eaa126 size:9624-animation/anims/viewmodel/rifle/rifle_lar/lookat01_lar.vnmclip_c CRC:00612040ab size:19900-animation/anims/viewmodel/rifle/rifle_lar/reload_lar.vnmclip_c CRC:0072310f73 size:15165-animation/anims/viewmodel/rifle/rifle_lar/reload_silent_lar.vnmclip_c CRC:00a7e06c3c size:25769-animation/anims/viewmodel/rifle/rifle_lar/shoot1_lar.vnmclip_c CRC:006a09e8a8 size:10602 animation/anims/viewmodel/rifle/rifle_m249/bullet_hide_m249.vnmclip+non_additive.vnmclip_c CRC:00eb7d47bd size:4631 animation/anims/viewmodel/rifle/rifle_m249/bullet_hide_m249.vnmclip_c CRC:00ac511261 size:3063 animation/anims/viewmodel/rifle/rifle_m249/draw_m249.vnmclip_c CRC:0061f41b42 size:18212@@ -2622,18 +2614,6 @@ animation/anims/world/rifle/rifle_galilar/reload_galilar.vnmclip_c CRC:007edfa8e animation/anims/world/rifle/rifle_galilar/reload_galilar_silent.vnmclip_c CRC:00064d0caa size:36690 animation/anims/world/rifle/rifle_galilar/shoot_galilar.vnmclip+non_additive.vnmclip_c CRC:009b1495e0 size:13167 animation/anims/world/rifle/rifle_galilar/shoot_galilar.vnmclip_c CRC:009fa743bb size:12148-animation/anims/world/rifle/rifle_lar/draw_crouch_lar.vnmclip_c CRC:00c4e0164b size:13700-animation/anims/world/rifle/rifle_lar/draw_lar.vnmclip_c CRC:0076c887ee size:15634-animation/anims/world/rifle/rifle_lar/idle_crouch_lar.vnmclip+non_additive.vnmclip_c CRC:002a6cbaeb size:4611-animation/anims/world/rifle/rifle_lar/idle_crouch_lar.vnmclip_c CRC:004a4afe19 size:4500-animation/anims/world/rifle/rifle_lar/idle_lar.vnmclip+non_additive.vnmclip_c CRC:0075193580 size:4607-animation/anims/world/rifle/rifle_lar/idle_lar.vnmclip_c CRC:00bae309e1 size:4429-animation/anims/world/rifle/rifle_lar/reload_crouch_lar.vnmclip_c CRC:00ee6855a2 size:25041-animation/anims/world/rifle/rifle_lar/reload_crouch_lar_silent.vnmclip_c CRC:006d162091 size:25041-animation/anims/world/rifle/rifle_lar/reload_lar.vnmclip_c CRC:00e235493c size:24967-animation/anims/world/rifle/rifle_lar/reload_lar_silent.vnmclip_c CRC:00bdca8355 size:24983-animation/anims/world/rifle/rifle_lar/shoot_lar.vnmclip+non_additive.vnmclip_c CRC:000f15329a size:10385-animation/anims/world/rifle/rifle_lar/shoot_lar.vnmclip_c CRC:003f8279a8 size:9377 animation/anims/world/rifle/rifle_m249/draw_crouch_m249.vnmclip_c CRC:00fec3b9a7 size:15499 animation/anims/world/rifle/rifle_m249/draw_m249.vnmclip_c CRC:00b587170e size:14892 animation/anims/world/rifle/rifle_m249/idle_crouch_m249.vnmclip+non_additive.vnmclip_c CRC:008005a391 size:4572@@ -3276,7 +3256,6 @@ animation/skeletons/weapons/knife_stiletto.vnmskel_c CRC:00a7950052 size:1540 animation/skeletons/weapons/knife_tactical.vnmskel_c CRC:00c7120e9a size:1493 animation/skeletons/weapons/knife_talon.vnmskel_c CRC:00b191dfab size:1491 animation/skeletons/weapons/knife_ursus.vnmskel_c CRC:00f9abbf7c size:1464-animation/skeletons/weapons/lar.vnmskel_c CRC:001cd323ec size:1689 animation/skeletons/weapons/m249.vnmskel_c CRC:00ee32cbea size:2976 animation/skeletons/weapons/m4a1_silencer.vnmskel_c CRC:0012527b96 size:1754 animation/skeletons/weapons/m4a4.vnmskel_c CRC:00151b57cf size:1658@@ -81960,7 +81939,6 @@ panorama/images/econ/weapons/base_weapons/weapon_knife_tactical_png.vtex_c CRC:0 panorama/images/econ/weapons/base_weapons/weapon_knife_twinblade_png.vtex_c CRC:00c68858dd size:122667 panorama/images/econ/weapons/base_weapons/weapon_knife_ursus_png.vtex_c CRC:00760b6745 size:115614 panorama/images/econ/weapons/base_weapons/weapon_knife_widowmaker_png.vtex_c CRC:005841e323 size:146607-panorama/images/econ/weapons/base_weapons/weapon_lar_png.vtex_c CRC:004244988f size:78190 panorama/images/econ/weapons/base_weapons/weapon_m249_png.vtex_c CRC:004ce94674 size:166667 panorama/images/econ/weapons/base_weapons/weapon_m4a1_png.vtex_c CRC:00ab6dcc85 size:154316 panorama/images/econ/weapons/base_weapons/weapon_m4a1_silencer_png.vtex_c CRC:00b4030a2b size:88074@@ -82224,7 +82202,6 @@ panorama/images/icons/equipment/knife_twinblade.vsvg_c CRC:00e767f94b size:4109 panorama/images/icons/equipment/knife_ursus.vsvg_c CRC:0083428279 size:8170 panorama/images/icons/equipment/knife_widowmaker.vsvg_c CRC:0026b8d24c size:3837 panorama/images/icons/equipment/knifegg.vsvg_c CRC:0029a517f7 size:4239-panorama/images/icons/equipment/lar.vsvg_c CRC:005b4c2f2c size:5479 panorama/images/icons/equipment/m249.vsvg_c CRC:00be3f6faf size:8327 panorama/images/icons/equipment/m4a1.vsvg_c CRC:00785c5ad4 size:5651 panorama/images/icons/equipment/m4a1_silencer.vsvg_c CRC:009eada65d size:6212@@ -88002,36 +87979,36 @@ pulse/csgo_devonly/de_vertigo_script.vpulse_c CRC:00af116e39 size:4860 radial_quickinventory.txt CRC:005a0c1bf5 size:1080 rebuy.txt CRC:008332da3a size:1688 resource/clientscheme.res CRC:00eb299496 size:14136-resource/csgo_brazilian.txt CRC:00a82282a2 size:5024585-resource/csgo_bulgarian.txt CRC:00ebe771bd size:7758533-resource/csgo_czech.txt CRC:005fe2aa54 size:5096987-resource/csgo_danish.txt CRC:000bc32d3d size:5003477-resource/csgo_dutch.txt CRC:00973afde0 size:5049304+resource/csgo_brazilian.txt CRC:0022c7c9bd size:5024748+resource/csgo_bulgarian.txt CRC:00e6aa803c size:7758759+resource/csgo_czech.txt CRC:00aa2da1f8 size:5097152+resource/csgo_danish.txt CRC:001655e064 size:5003477+resource/csgo_dutch.txt CRC:007e635df4 size:5049457 resource/csgo_english.txt CRC:00a7f600cd size:4878645-resource/csgo_finnish.txt CRC:005d413fc3 size:4960257-resource/csgo_french.txt CRC:00d2063a7e size:5254356-resource/csgo_german.txt CRC:006b195d73 size:5164887-resource/csgo_greek.txt CRC:00cd04acb2 size:7151367-resource/csgo_hungarian.txt CRC:0028d04f96 size:5078385-resource/csgo_indonesian.txt CRC:00cd08196f size:4729034-resource/csgo_italian.txt CRC:00e843396f size:5178073-resource/csgo_japanese.txt CRC:0015bd64d3 size:5332761-resource/csgo_koreana.txt CRC:00753724c5 size:5096308-resource/csgo_latam.txt CRC:005efb1433 size:5188121-resource/csgo_norwegian.txt CRC:00ea089aaa size:4924516-resource/csgo_polish.txt CRC:002378ea91 size:5321400-resource/csgo_portuguese.txt CRC:005085ecf4 size:5059708-resource/csgo_romanian.txt CRC:006ffb7342 size:5270911-resource/csgo_russian.txt CRC:00e2df329d size:6563506-resource/csgo_schinese.txt CRC:00e7f44b7d size:4931303+resource/csgo_finnish.txt CRC:0040d7f29a size:4960257+resource/csgo_french.txt CRC:00cf90f727 size:5254356+resource/csgo_german.txt CRC:00768f902a size:5164887+resource/csgo_greek.txt CRC:00d09261eb size:7151367+resource/csgo_hungarian.txt CRC:0009ea7f21 size:5078539+resource/csgo_indonesian.txt CRC:00d09ed436 size:4729034+resource/csgo_italian.txt CRC:00f5d5f436 size:5178073+resource/csgo_japanese.txt CRC:008a06f43d size:5332955+resource/csgo_koreana.txt CRC:0068a1e99c size:5096308+resource/csgo_latam.txt CRC:00436dd96a size:5188121+resource/csgo_norwegian.txt CRC:00f79e57f3 size:4924516+resource/csgo_polish.txt CRC:003eee27c8 size:5321400+resource/csgo_portuguese.txt CRC:00ed24ede6 size:5059879+resource/csgo_romanian.txt CRC:00726dbe1b size:5270911+resource/csgo_russian.txt CRC:00ffa91341 size:6563734+resource/csgo_schinese.txt CRC:000d6871a9 size:4931452 resource/csgo_schinese_pw.txt CRC:0083fe268a size:15645-resource/csgo_spanish.txt CRC:00e84d8548 size:5159573-resource/csgo_swedish.txt CRC:00a5222d4e size:5031803-resource/csgo_tchinese.txt CRC:009fc43dda size:4627815-resource/csgo_thai.txt CRC:00e9e74af9 size:8128621-resource/csgo_turkish.txt CRC:00193dc7c6 size:5165343-resource/csgo_ukrainian.txt CRC:00b68118e5 size:6621012-resource/csgo_vietnamese.txt CRC:0085c7489b size:5450532+resource/csgo_spanish.txt CRC:00f5db4811 size:5159573+resource/csgo_swedish.txt CRC:00b8b4e017 size:5031803+resource/csgo_tchinese.txt CRC:008252f083 size:4627815+resource/csgo_thai.txt CRC:00f47187a0 size:8128621+resource/csgo_turkish.txt CRC:0004ab0a9f size:5165343+resource/csgo_ukrainian.txt CRC:00ab17d5bc size:6621012+resource/csgo_vietnamese.txt CRC:00985185c2 size:5450532 resource/game.gameevents CRC:0090de10bc size:9837 resource/halflife2.vfont CRC:00b064848c size:58000 resource/mod.gameevents CRC:0035ddf423 size:20770@@ -88265,108 +88242,108 @@ soundevents/game_sounds_stopsoundevents.vsndevts_c CRC:00d6805181 size:1193 soundevents/game_sounds_ui.vsndevts_c CRC:00d0987180 size:28368 soundevents/game_sounds_weapons.vsndevts_c CRC:003629ddc2 size:50712 soundevents/game_sounds_world.vsndevts_c CRC:00756a5064 size:6292-soundevents/music/3kliksphilip_01/game_sounds_music.vsndevts_c CRC:00e17cc3c1 size:4597-soundevents/music/adambeyer_01/game_sounds_music.vsndevts_c CRC:00d073883c size:3999-soundevents/music/alrt_01/game_sounds_music.vsndevts_c CRC:00077a5f17 size:4293-soundevents/music/altare_01/game_sounds_music.vsndevts_c CRC:00d1108040 size:4004-soundevents/music/amontobin_01/game_sounds_music.vsndevts_c CRC:008445c8ab size:4185-soundevents/music/austinwintory_01/game_sounds_music.vsndevts_c CRC:0052dcf8da size:4038-soundevents/music/austinwintory_02/game_sounds_music.vsndevts_c CRC:0095c0e93e size:4004-soundevents/music/austinwintory_03/game_sounds_music.vsndevts_c CRC:0069739b86 size:3955-soundevents/music/austinwintory_04/game_sounds_music.vsndevts_c CRC:0089d00749 size:3999-soundevents/music/awolnation_01/game_sounds_music.vsndevts_c CRC:007c7353a4 size:4189-soundevents/music/bbnos_01/game_sounds_music.vsndevts_c CRC:00d4a61f6a size:3826-soundevents/music/beartooth_01/game_sounds_music.vsndevts_c CRC:00649de003 size:4078-soundevents/music/beartooth_02/game_sounds_music.vsndevts_c CRC:0083b20c2f size:4027-soundevents/music/benbromfield_01/game_sounds_music.vsndevts_c CRC:006e8f013c size:3981-soundevents/music/blitzkids_01/game_sounds_music.vsndevts_c CRC:0083981c37 size:4074-soundevents/music/borne_01/game_sounds_music.vsndevts_c CRC:0014c04994 size:4140-soundevents/music/chipzel_01/game_sounds_music.vsndevts_c CRC:004f5ed2ac size:3817-soundevents/music/damjanmravunac_01/game_sounds_music.vsndevts_c CRC:003c0334b7 size:4143-soundevents/music/danielsadowski_01/game_sounds_music.vsndevts_c CRC:003cb0f6a7 size:3833-soundevents/music/danielsadowski_02/game_sounds_music.vsndevts_c CRC:007ead238f size:3833-soundevents/music/danielsadowski_03/game_sounds_music.vsndevts_c CRC:0028f85928 size:3939-soundevents/music/danielsadowski_04/game_sounds_music.vsndevts_c CRC:00aba26504 size:3858-soundevents/music/danielsadowski_05/game_sounds_music.vsndevts_c CRC:0049d91cd7 size:3809-soundevents/music/darude_01/game_sounds_music.vsndevts_c CRC:00d6813173 size:4026-soundevents/music/denzelcurry_01/game_sounds_music.vsndevts_c CRC:00120be127 size:4114-soundevents/music/dren_01/game_sounds_music.vsndevts_c CRC:00e0ac049c size:4134-soundevents/music/dren_02/game_sounds_music.vsndevts_c CRC:00b7bcfa41 size:4206-soundevents/music/dren_03/game_sounds_music.vsndevts_c CRC:00fe8be7fb size:4041-soundevents/music/dryden_01/game_sounds_music.vsndevts_c CRC:0060a8add0 size:3846-soundevents/music/feedme_01/game_sounds_music.vsndevts_c CRC:00a484f37f size:3916-soundevents/music/freakydna_01/game_sounds_music.vsndevts_c CRC:004f9bba64 size:4050-soundevents/music/ghost_01/game_sounds_music.vsndevts_c CRC:00359d2569 size:3980-soundevents/music/hades_01/game_sounds_music.vsndevts_c CRC:00bfc19003 size:4207-soundevents/music/halo_01/game_sounds_music.vsndevts_c CRC:00ae1a18cf size:4035-soundevents/music/health_01/game_sounds_music.vsndevts_c CRC:002c7e5d51 size:3917-soundevents/music/hlalyx_01/game_sounds_music.vsndevts_c CRC:00a3ac22c7 size:3122-soundevents/music/hlb_01/game_sounds_music.vsndevts_c CRC:00a5d77e49 size:4108-soundevents/music/hotlinemiami_01/game_sounds_music.vsndevts_c CRC:004116bb44 size:4268-soundevents/music/hundredth_01/game_sounds_music.vsndevts_c CRC:00a7d3bf60 size:4283-soundevents/music/ianhultquist_01/game_sounds_music.vsndevts_c CRC:00ec028f97 size:4074-soundevents/music/isoxo_01/game_sounds_music.vsndevts_c CRC:0026807e36 size:3914-soundevents/music/jamesandthecoldgun_01/game_sounds_music.vsndevts_c CRC:0006ac8e42 size:4027-soundevents/music/jesseharlin_01/game_sounds_music.vsndevts_c CRC:003e6761f1 size:3883-soundevents/music/jonathanyoung_01/game_sounds_music.vsndevts_c CRC:00502f4e8e size:3832-soundevents/music/juelz_01/game_sounds_music.vsndevts_c CRC:00005095e1 size:4031-soundevents/music/juelz_02/game_sounds_music.vsndevts_c CRC:00cdcda320 size:4112-soundevents/music/kellybailey_01/game_sounds_music.vsndevts_c CRC:0076bf1c05 size:3921-soundevents/music/killermike_01/game_sounds_music.vsndevts_c CRC:00ce189c63 size:3903-soundevents/music/killscript_01/game_sounds_music.vsndevts_c CRC:001b37b2e1 size:3849-soundevents/music/kitheory_01/game_sounds_music.vsndevts_c CRC:00d5926e53 size:3872-soundevents/music/knock2_01/game_sounds_music.vsndevts_c CRC:00b98a46bf size:3886-soundevents/music/knock2_02/game_sounds_music.vsndevts_c CRC:004d159f64 size:3923-soundevents/music/laurashigihara_01/game_sounds_music.vsndevts_c CRC:00f925df2d size:4072-soundevents/music/lenniemoore_01/game_sounds_music.vsndevts_c CRC:0002a5468c size:4324-soundevents/music/mateomessina_01/game_sounds_music.vsndevts_c CRC:00ce613d04 size:4133-soundevents/music/mattlange_01/game_sounds_music.vsndevts_c CRC:00a47e8e4f size:3916-soundevents/music/mattlevine_01/game_sounds_music.vsndevts_c CRC:009e74a9a3 size:4055-soundevents/music/mattlevine_02/game_sounds_music.vsndevts_c CRC:00929421b1 size:4062-soundevents/music/meechydarko_01/game_sounds_music.vsndevts_c CRC:002c6f216b size:4158-soundevents/music/michaelbross_01/game_sounds_music.vsndevts_c CRC:00467977b8 size:3873-soundevents/music/midnightriders_01/game_sounds_music.vsndevts_c CRC:003befb5f4 size:4076-soundevents/music/mordfustang_01/game_sounds_music.vsndevts_c CRC:00c8875ada size:3931-soundevents/music/neckdeep_01/game_sounds_music.vsndevts_c CRC:00f361cb64 size:4206-soundevents/music/neckdeep_02/game_sounds_music.vsndevts_c CRC:008b925735 size:4359-soundevents/music/newbeatfund_01/game_sounds_music.vsndevts_c CRC:0076684d86 size:4053-soundevents/music/noisia_01/game_sounds_music.vsndevts_c CRC:0052b1f913 size:4011-soundevents/music/perfectworld_01/game_sounds_music.vsndevts_c CRC:000d4cc02d size:3846-soundevents/music/perfectworld_02/game_sounds_music.vsndevts_c CRC:009326fcd0 size:3901-soundevents/music/pirapus_01/game_sounds_music.vsndevts_c CRC:0026307603 size:4050-soundevents/music/proxy_01/game_sounds_music.vsndevts_c CRC:00464544ef size:4128-soundevents/music/pvris_01/game_sounds_music.vsndevts_c CRC:0044a47740 size:4314-soundevents/music/radcat_01/game_sounds_music.vsndevts_c CRC:00e120424d size:3889-soundevents/music/repiet_01/game_sounds_music.vsndevts_c CRC:00acdc844d size:4076-soundevents/music/roam_01/game_sounds_music.vsndevts_c CRC:0037a56337 size:4173-soundevents/music/robertallaire_01/game_sounds_music.vsndevts_c CRC:00b0007752 size:4277-soundevents/music/sammarshall_01/game_sounds_music.vsndevts_c CRC:002a81d7d8 size:3961-soundevents/music/sammarshall_02/game_sounds_music.vsndevts_c CRC:007447b1b6 size:4144-soundevents/music/sarahschachner_01/game_sounds_music.vsndevts_c CRC:00ae709e0f size:3954-soundevents/music/sasha_01/game_sounds_music.vsndevts_c CRC:0081561582 size:3804-soundevents/music/scarlxrd_01/game_sounds_music.vsndevts_c CRC:00a38e7f4a size:3845-soundevents/music/scarlxrd_02/game_sounds_music.vsndevts_c CRC:0029b15909 size:3977-soundevents/music/seanmurray_01/game_sounds_music.vsndevts_c CRC:0023bc9d3f size:4070-soundevents/music/selectiveresponse_01/game_sounds_music.vsndevts_c CRC:004a65645b size:3951-soundevents/music/shockone_01/game_sounds_music.vsndevts_c CRC:00ea1208f0 size:4002-soundevents/music/skog_01/game_sounds_music.vsndevts_c CRC:0029303ade size:4209-soundevents/music/skog_02/game_sounds_music.vsndevts_c CRC:0086f5fdd7 size:3981-soundevents/music/skog_03/game_sounds_music.vsndevts_c CRC:000b2e4d42 size:3829-soundevents/music/starjunk95_01/game_sounds_music.vsndevts_c CRC:00e8654d14 size:4295-soundevents/music/sullivanking_01/game_sounds_music.vsndevts_c CRC:00ed0333af size:4047-soundevents/music/theverkkars_01/game_sounds_music.vsndevts_c CRC:00189ff4d0 size:4039-soundevents/music/theverkkars_02/game_sounds_music.vsndevts_c CRC:00ea764f80 size:4096-soundevents/music/tigercub_01/game_sounds_music.vsndevts_c CRC:00dd1f0587 size:3818-soundevents/music/timhuling_01/game_sounds_music.vsndevts_c CRC:000de04cda size:4034-soundevents/music/timhuling_02/game_sounds_music.vsndevts_c CRC:00485e64c0 size:4042-soundevents/music/treeadams_01/game_sounds_music.vsndevts_c CRC:00b936701c size:3895-soundevents/music/treeadams_benbromfield_01/game_sounds_music.vsndevts_c CRC:002490202d size:4170-soundevents/music/troelsfolmann_01/game_sounds_music.vsndevts_c CRC:0023bdb4a1 size:4031-soundevents/music/twerl_01/game_sounds_music.vsndevts_c CRC:003c6f8667 size:3850-soundevents/music/twinatlantic_01/game_sounds_music.vsndevts_c CRC:0099347cee size:4197-soundevents/music/valve_01/game_sounds_music.vsndevts_c CRC:00119cbc38 size:3367-soundevents/music/valve_02/game_sounds_music.vsndevts_c CRC:00e3e778af size:3141-soundevents/music/valve_cs2_01/game_sounds_music.vsndevts_c CRC:00a60c5198 size:3920+soundevents/music/3kliksphilip_01/game_sounds_music.vsndevts_c CRC:00776a2ada size:4597+soundevents/music/adambeyer_01/game_sounds_music.vsndevts_c CRC:0059e4ee95 size:3999+soundevents/music/alrt_01/game_sounds_music.vsndevts_c CRC:00d5208f76 size:4293+soundevents/music/altare_01/game_sounds_music.vsndevts_c CRC:00f0d32ac2 size:4004+soundevents/music/amontobin_01/game_sounds_music.vsndevts_c CRC:00e345c17e size:4185+soundevents/music/austinwintory_01/game_sounds_music.vsndevts_c CRC:00c1b86e6f size:4038+soundevents/music/austinwintory_02/game_sounds_music.vsndevts_c CRC:00f4002576 size:4004+soundevents/music/austinwintory_03/game_sounds_music.vsndevts_c CRC:00f740c8fd size:3955+soundevents/music/austinwintory_04/game_sounds_music.vsndevts_c CRC:008ce0c1b1 size:3999+soundevents/music/awolnation_01/game_sounds_music.vsndevts_c CRC:006594357c size:4189+soundevents/music/bbnos_01/game_sounds_music.vsndevts_c CRC:007005f629 size:3826+soundevents/music/beartooth_01/game_sounds_music.vsndevts_c CRC:00441880be size:4078+soundevents/music/beartooth_02/game_sounds_music.vsndevts_c CRC:00006cc5c5 size:4027+soundevents/music/benbromfield_01/game_sounds_music.vsndevts_c CRC:00e4727f4f size:3981+soundevents/music/blitzkids_01/game_sounds_music.vsndevts_c CRC:00dc606b17 size:4074+soundevents/music/borne_01/game_sounds_music.vsndevts_c CRC:00fa1071fa size:4156+soundevents/music/chipzel_01/game_sounds_music.vsndevts_c CRC:001529e21f size:3817+soundevents/music/damjanmravunac_01/game_sounds_music.vsndevts_c CRC:0090c0fbe4 size:4143+soundevents/music/danielsadowski_01/game_sounds_music.vsndevts_c CRC:0034299d1e size:3833+soundevents/music/danielsadowski_02/game_sounds_music.vsndevts_c CRC:005ae7f251 size:3833+soundevents/music/danielsadowski_03/game_sounds_music.vsndevts_c CRC:002b6d658c size:3939+soundevents/music/danielsadowski_04/game_sounds_music.vsndevts_c CRC:008185ece0 size:3858+soundevents/music/danielsadowski_05/game_sounds_music.vsndevts_c CRC:00200e99ea size:3809+soundevents/music/darude_01/game_sounds_music.vsndevts_c CRC:00b041213b size:4026+soundevents/music/denzelcurry_01/game_sounds_music.vsndevts_c CRC:003161c347 size:4114+soundevents/music/dren_01/game_sounds_music.vsndevts_c CRC:00a4330bce size:4134+soundevents/music/dren_02/game_sounds_music.vsndevts_c CRC:00e182be9f size:4206+soundevents/music/dren_03/game_sounds_music.vsndevts_c CRC:00fd97865b size:4041+soundevents/music/dryden_01/game_sounds_music.vsndevts_c CRC:0014642fbc size:3846+soundevents/music/feedme_01/game_sounds_music.vsndevts_c CRC:00544f22c8 size:3916+soundevents/music/freakydna_01/game_sounds_music.vsndevts_c CRC:0040122f80 size:4050+soundevents/music/ghost_01/game_sounds_music.vsndevts_c CRC:00c3366a28 size:3980+soundevents/music/hades_01/game_sounds_music.vsndevts_c CRC:00d947b718 size:4207+soundevents/music/halo_01/game_sounds_music.vsndevts_c CRC:00a5eae6e8 size:4035+soundevents/music/health_01/game_sounds_music.vsndevts_c CRC:008b320444 size:3917+soundevents/music/hlalyx_01/game_sounds_music.vsndevts_c CRC:00d690e8df size:3122+soundevents/music/hlb_01/game_sounds_music.vsndevts_c CRC:0026ddf3b7 size:4108+soundevents/music/hotlinemiami_01/game_sounds_music.vsndevts_c CRC:00633df5a4 size:4268+soundevents/music/hundredth_01/game_sounds_music.vsndevts_c CRC:000115086d size:4283+soundevents/music/ianhultquist_01/game_sounds_music.vsndevts_c CRC:00b101cc43 size:4074+soundevents/music/isoxo_01/game_sounds_music.vsndevts_c CRC:006dff4bf6 size:3914+soundevents/music/jamesandthecoldgun_01/game_sounds_music.vsndevts_c CRC:00cef4edee size:4027+soundevents/music/jesseharlin_01/game_sounds_music.vsndevts_c CRC:007544b555 size:3883+soundevents/music/jonathanyoung_01/game_sounds_music.vsndevts_c CRC:009be05054 size:3832+soundevents/music/juelz_01/game_sounds_music.vsndevts_c CRC:0087a99726 size:4031+soundevents/music/juelz_02/game_sounds_music.vsndevts_c CRC:00851878bb size:4112+soundevents/music/kellybailey_01/game_sounds_music.vsndevts_c CRC:00192fea8c size:3921+soundevents/music/killermike_01/game_sounds_music.vsndevts_c CRC:00b30c6e1a size:3903+soundevents/music/killscript_01/game_sounds_music.vsndevts_c CRC:00d57837a6 size:3849+soundevents/music/kitheory_01/game_sounds_music.vsndevts_c CRC:00dea0c9ca size:3872+soundevents/music/knock2_01/game_sounds_music.vsndevts_c CRC:0090ef6145 size:3886+soundevents/music/knock2_02/game_sounds_music.vsndevts_c CRC:00a0466ece size:3923+soundevents/music/laurashigihara_01/game_sounds_music.vsndevts_c CRC:005e2262e8 size:4072+soundevents/music/lenniemoore_01/game_sounds_music.vsndevts_c CRC:00d7bf7ae7 size:4324+soundevents/music/mateomessina_01/game_sounds_music.vsndevts_c CRC:001a654fe1 size:4133+soundevents/music/mattlange_01/game_sounds_music.vsndevts_c CRC:00b03558eb size:3916+soundevents/music/mattlevine_01/game_sounds_music.vsndevts_c CRC:000bb46a31 size:4055+soundevents/music/mattlevine_02/game_sounds_music.vsndevts_c CRC:0084207aa8 size:4062+soundevents/music/meechydarko_01/game_sounds_music.vsndevts_c CRC:0018ec467d size:4158+soundevents/music/michaelbross_01/game_sounds_music.vsndevts_c CRC:0038661537 size:3873+soundevents/music/midnightriders_01/game_sounds_music.vsndevts_c CRC:001d920b9a size:4076+soundevents/music/mordfustang_01/game_sounds_music.vsndevts_c CRC:006f35835e size:3931+soundevents/music/neckdeep_01/game_sounds_music.vsndevts_c CRC:001059f303 size:4206+soundevents/music/neckdeep_02/game_sounds_music.vsndevts_c CRC:00bdf64004 size:4359+soundevents/music/newbeatfund_01/game_sounds_music.vsndevts_c CRC:0002c4d404 size:4053+soundevents/music/noisia_01/game_sounds_music.vsndevts_c CRC:0025e23fe7 size:4011+soundevents/music/perfectworld_01/game_sounds_music.vsndevts_c CRC:0099d0a703 size:3846+soundevents/music/perfectworld_02/game_sounds_music.vsndevts_c CRC:00a939a2ad size:3901+soundevents/music/pirapus_01/game_sounds_music.vsndevts_c CRC:00381f963b size:4050+soundevents/music/proxy_01/game_sounds_music.vsndevts_c CRC:0078f5ea9f size:4128+soundevents/music/pvris_01/game_sounds_music.vsndevts_c CRC:008971ec4d size:4314+soundevents/music/radcat_01/game_sounds_music.vsndevts_c CRC:0043f822b5 size:3889+soundevents/music/repiet_01/game_sounds_music.vsndevts_c CRC:006678ad8a size:4076+soundevents/music/roam_01/game_sounds_music.vsndevts_c CRC:008389925f size:4173+soundevents/music/robertallaire_01/game_sounds_music.vsndevts_c CRC:00d51472bc size:4277+soundevents/music/sammarshall_01/game_sounds_music.vsndevts_c CRC:0059874202 size:3961+soundevents/music/sammarshall_02/game_sounds_music.vsndevts_c CRC:007694799e size:4144+soundevents/music/sarahschachner_01/game_sounds_music.vsndevts_c CRC:0052e4163c size:3954+soundevents/music/sasha_01/game_sounds_music.vsndevts_c CRC:00b85c25cc size:3804+soundevents/music/scarlxrd_01/game_sounds_music.vsndevts_c CRC:00b507826f size:3845+soundevents/music/scarlxrd_02/game_sounds_music.vsndevts_c CRC:00c9eceead size:3993+soundevents/music/seanmurray_01/game_sounds_music.vsndevts_c CRC:008d899837 size:4070+soundevents/music/selectiveresponse_01/game_sounds_music.vsndevts_c CRC:00753b6612 size:3951+soundevents/music/shockone_01/game_sounds_music.vsndevts_c CRC:0015a756c2 size:4002+soundevents/music/skog_01/game_sounds_music.vsndevts_c CRC:00c29b735d size:4209+soundevents/music/skog_02/game_sounds_music.vsndevts_c CRC:0078daf83a size:3981+soundevents/music/skog_03/game_sounds_music.vsndevts_c CRC:0057ed2d35 size:3829+soundevents/music/starjunk95_01/game_sounds_music.vsndevts_c CRC:00d11e9ff3 size:4295+soundevents/music/sullivanking_01/game_sounds_music.vsndevts_c CRC:00dd6e9603 size:4031+soundevents/music/theverkkars_01/game_sounds_music.vsndevts_c CRC:005d89f5b8 size:4039+soundevents/music/theverkkars_02/game_sounds_music.vsndevts_c CRC:00d8dc3b1d size:4096+soundevents/music/tigercub_01/game_sounds_music.vsndevts_c CRC:002d75ea0c size:3818+soundevents/music/timhuling_01/game_sounds_music.vsndevts_c CRC:002378d737 size:4034+soundevents/music/timhuling_02/game_sounds_music.vsndevts_c CRC:000409db09 size:4042+soundevents/music/treeadams_01/game_sounds_music.vsndevts_c CRC:008c7d8c7a size:3895+soundevents/music/treeadams_benbromfield_01/game_sounds_music.vsndevts_c CRC:00a664c49b size:4170+soundevents/music/troelsfolmann_01/game_sounds_music.vsndevts_c CRC:00376742a4 size:4031+soundevents/music/twerl_01/game_sounds_music.vsndevts_c CRC:00d3fafcf7 size:3850+soundevents/music/twinatlantic_01/game_sounds_music.vsndevts_c CRC:00a22e3dc8 size:4197+soundevents/music/valve_01/game_sounds_music.vsndevts_c CRC:004a9e237d size:3367+soundevents/music/valve_02/game_sounds_music.vsndevts_c CRC:00010b09bc size:3141+soundevents/music/valve_cs2_01/game_sounds_music.vsndevts_c CRC:00bec3ffd5 size:3920 soundevents/soundevents_from_tools.vsndevts_c CRC:00a0f1a071 size:942 soundevents/soundevents_manifest.vrman_c CRC:0079a0a6ca size:23877 soundevents/soundevents_manifest_csgo_imported.vrman_c CRC:00239a171a size:712@@ -135977,13 +135954,6 @@ weapons/models/knife/knife_ursus/materials/composite_inputs/knife_ursus_pos_pfm_ weapons/models/knife/knife_ursus/materials/composite_inputs/knife_ursus_surface_tga_ad201805.vtex_c CRC:0033c08ae7 size:554767 weapons/models/knife/knife_ursus/materials/weapon_knife_ursus.vmat_c CRC:00c660f578 size:3832 weapons/models/knife/knife_ursus/weapon_knife_ursus.vmdl_c CRC:001d21284c size:83447-weapons/models/lar/materials/weapon_rif_lar.vmat_c CRC:00dd005dd3 size:7476-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_albedo_jpg_a9420be9.vtex_c CRC:0006e63f39 size:3507116-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_emissive_jpg_9d61adb2.vtex_c CRC:003a925511 size:61547-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_normal_png_419b046c.vtex_c CRC:00a304009f size:4881460-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_roughness_jpg_55597ce4.vtex_c CRC:00b49da714 size:3653534-weapons/models/lar/mesh/fbx/do_not_ship/lar_temp.vmat_c CRC:005542aa01 size:4324-weapons/models/lar/weapon_rif_lar.vmdl_c CRC:00c47aa6cf size:1326175 weapons/models/m249/materials/composite_inputs/m249_substrate_color_psd_833b9c73.vtex_c CRC:004df43269 size:4512366 weapons/models/m249/materials/composite_inputs/weapon_mach_m249_cavity_psd_a55d713.vtex_c CRC:000fa7b910 size:788553 weapons/models/m249/materials/composite_inputs/weapon_mach_m249_composite_inputs.vmat_c CRC:00e5c9f686 size:3849game/csgo/pak01_dir/soundevents/music/3kliksphilip_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -400,7 +400,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -425,7 +425,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/adambeyer_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -334,7 +334,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -359,7 +359,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/alrt_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -370,7 +370,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -395,7 +395,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/altare_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/amontobin_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -403,7 +403,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -428,7 +428,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/austinwintory_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -355,7 +355,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/austinwintory_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/austinwintory_03/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/austinwintory_04/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/awolnation_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -364,7 +364,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -389,7 +389,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/bbnos_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -302,7 +302,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -327,7 +327,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/beartooth_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/beartooth_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/benbromfield_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -306,7 +306,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -331,7 +331,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/blitzkids_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -339,7 +339,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -364,7 +364,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/borne_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -370,7 +370,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -395,7 +395,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/chipzel_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -302,7 +302,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -327,7 +327,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/damjanmravunac_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -339,7 +339,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -364,7 +364,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/danielsadowski_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -305,7 +305,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/danielsadowski_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -308,7 +308,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/danielsadowski_03/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -308,7 +308,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/danielsadowski_04/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -305,7 +305,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/danielsadowski_05/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -302,7 +302,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -327,7 +327,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/darude_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -367,7 +367,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -392,7 +392,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/denzelcurry_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -346,7 +346,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -371,7 +371,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/dren_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -383,7 +383,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/dren_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -367,7 +367,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -392,7 +392,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/dren_03/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -383,7 +383,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/dryden_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -334,7 +334,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -359,7 +359,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/feedme_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -306,7 +306,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -331,7 +331,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/freakydna_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -370,7 +370,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -395,7 +395,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/ghost_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -322,7 +322,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -347,7 +347,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/hades_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -349,7 +349,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -374,7 +374,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/halo_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/health_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -318,7 +318,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -343,7 +343,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/hlalyx_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -351,7 +351,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -375,7 +375,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/hlb_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -367,7 +367,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -392,7 +392,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/hotlinemiami_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -351,7 +351,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -376,7 +376,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/hundredth_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -370,7 +370,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -395,7 +395,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/ianhultquist_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -367,7 +367,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -392,7 +392,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/isoxo_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/jamesandthecoldgun_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/jesseharlin_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -308,7 +308,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/jonathanyoung_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -302,7 +302,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -327,7 +327,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/juelz_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/juelz_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -334,7 +334,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -359,7 +359,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/kellybailey_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -306,7 +306,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -331,7 +331,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/killermike_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -318,7 +318,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -343,7 +343,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/killscript_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -306,7 +306,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -331,7 +331,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/kitheory_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -305,7 +305,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/knock2_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -309,7 +309,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -334,7 +334,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/knock2_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -355,7 +355,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/laurashigihara_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -383,7 +383,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/lenniemoore_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -376,7 +376,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -401,7 +401,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/mateomessina_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -376,7 +376,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -401,7 +401,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/mattlange_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -309,7 +309,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -334,7 +334,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/mattlevine_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -367,7 +367,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -392,7 +392,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/mattlevine_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -383,7 +383,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/meechydarko_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -346,7 +346,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -371,7 +371,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/michaelbross_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -305,7 +305,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/midnightriders_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/mordfustang_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/neckdeep_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -386,7 +386,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/neckdeep_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -379,7 +379,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -404,7 +404,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/newbeatfund_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/noisia_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -348,7 +348,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -373,7 +373,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/perfectworld_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -305,7 +305,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/perfectworld_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -326,7 +326,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -351,7 +351,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/pirapus_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/proxy_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -339,7 +339,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -364,7 +364,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/pvris_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -376,7 +376,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -401,7 +401,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/radcat_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/repiet_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -357,7 +357,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -382,7 +382,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/roam_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -364,7 +364,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -389,7 +389,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/robertallaire_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -354,7 +354,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -379,7 +379,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/sammarshall_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -348,7 +348,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -373,7 +373,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/sammarshall_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -376,7 +376,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -401,7 +401,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/sarahschachner_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -334,7 +334,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -359,7 +359,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/sasha_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -302,7 +302,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -327,7 +327,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/scarlxrd_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -302,7 +302,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -327,7 +327,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/scarlxrd_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -313,7 +313,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -338,7 +338,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/seanmurray_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -355,7 +355,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/selectiveresponse_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/shockone_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/skog_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -354,7 +354,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -379,7 +379,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/skog_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -320,7 +320,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -345,7 +345,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/skog_03/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -308,7 +308,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/starjunk95_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -367,7 +367,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -392,7 +392,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/sullivanking_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/theverkkars_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -355,7 +355,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/theverkkars_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -336,7 +336,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -361,7 +361,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/tigercub_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -302,7 +302,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -327,7 +327,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/timhuling_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -367,7 +367,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -392,7 +392,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/timhuling_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -322,7 +322,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -347,7 +347,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/treeadams_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -306,7 +306,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -331,7 +331,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/treeadams_benbromfield_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -342,7 +342,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -367,7 +367,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/troelsfolmann_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -333,7 +333,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -358,7 +358,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/twerl_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -330,7 +330,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -355,7 +355,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/twinatlantic_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -364,7 +364,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -389,7 +389,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/valve_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -352,7 +352,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -376,7 +376,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/valve_02/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -298,7 +298,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -322,7 +322,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/pak01_dir/soundevents/music/valve_cs2_01/game_sounds_music.vsndevts
modified • +2 / -2 • changes: 4
Show patch
@@ -312,7 +312,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"@@ -337,7 +337,7 @@ priority = 4.0 stop_music_except_mvp = "true" volume_fade_out_input_max = 1.6- loop_track = "true"+ loop_track = "false" should_queue_track = "true" skip_if_muted = "true" test_mvp_block = "true"game/csgo/readonly_tools_asset_info.txt
modified • +0 / -9 • changes: 9
Show patch
@@ -134920,15 +134920,6 @@ sounds/graphs/reverb_6_largeroom.vsnd sounds/graphs/reverb_7_mediumhall.vsnd sounds/graphs/reverb_8_mediumcarpetroom.vsnd sounds/graphs/reverb_9_mediumchamber.vsnd-panorama/images/icons/equipment/lar.vsvg panorama/layout/hud/hudmutators.vxml panorama/styles/hud/hudmutators.vcss sounds/graphs/bighead_pitch.vsnd-weapons/models/lar/weapon_rif_lar.vmdl-weapons/models/lar/materials/weapon_rif_lar.vmat-weapons/models/lar/mesh/fbx/do_not_ship/lar_temp.vmat-panorama/images/econ/weapons/base_weapons/weapon_lar_png.vtex-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_albedo_jpg_a9420be9.vtex-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_emissive_jpg_9d61adb2.vtex-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_normal_png_419b046c.vtex-weapons/models/lar/mesh/fbx/do_not_ship/initialshadinggroup_roughness_jpg_55597ce4.vtexgame/csgo/steam.inf
modified • +6 / -6 • changes: 12
Show patch
@@ -1,9 +1,9 @@-ClientVersion=2000938-ServerVersion=2000938-PatchVersion=1.41.9.3+ClientVersion=2000939+ServerVersion=2000939+PatchVersion=1.41.9.4 ProductName=cs2 appID=730 ServerAppID=2347773-SourceRevision=11181008-VersionDate=Oct 28 2026-VersionTime=13:49:20+SourceRevision=11191540+VersionDate=Oct 30 2026+VersionTime=13:55:25manifests/manifest_2347770.txt
modified • +12 / -12 • changes: 24
Show patch
@@ -1,16 +1,16 @@ Content Manifest for Depot 2347770 -Manifest ID / date : 8833146750479675564 / 10/28/2026 20:57:52 +Manifest ID / date : 6694633556888099985 / 10/30/2026 21:05:03 Total number of files : 2992 -Total number of chunks : 65074 -Total bytes on disk : 65065602283 -Total bytes compressed : 55586326720 +Total number of chunks : 65063 +Total bytes on disk : 65051805863 +Total bytes compressed : 55573428128 Size Chunks File SHA Flags Name- 10 1 cbdd67858201fbb67a3af7ec944ee3d8137ade56 0 game\bin\built_from_cl.txt- 10347 1 e50c5dc3f0367da59129c5be7332559bd2fc0918 0 game\bin\win64\csgo.signatures- 8941 1 97782ee451748c773a7732f9fb410892906422a3 0 game\bin\win64\vpk.signatures+ 10 1 2d6149740ea5c8f6b2d653ccf3f38a0d2a294ac3 0 game\bin\built_from_cl.txt+ 10347 1 cf297ff72b6c1648a9cecd8868cfac716c658e3c 0 game\bin\win64\csgo.signatures+ 8941 1 ec38742284e7338bb190a5eb2ff6f77c2a534438 0 game\bin\win64\vpk.signatures 51357 1 0f5112698b482f8c1190c89192a4c0c8b0e50198 0 game\core\cfg\sfm_default_animation_groups.vcfg 2270 1 ab4e0ee92367ba6d28a89dae8f6000631ffdb641 0 game\core\cfg\user_keys_default.vcfg 2474 1 c4ff2f85048812f02c2403b0675208acfc00c7b0 0 game\core\gameinfo.gi@@ -2438,7 +2438,7 @@ Total bytes compressed : 55586326720 118404050 113 796c7932cfeb6772b51013f28bd99bfdfb40483d 0 game\csgo\pak01_033.vpk 116169795 111 e382335666c33007e4a346ded29843a08e8656eb 0 game\csgo\pak01_034.vpk 104201764 102 d897179aaadd2b0de26e19afe39037903f6f424a 0 game\csgo\pak01_035.vpk- 106521791 129 37f5f0b02681e7ffa2052a4b139680303910cf18 0 game\csgo\pak01_036.vpk+ 105234684 129 3493b2d21b1aecc2a0b56c7338a9fcc06f512e91 0 game\csgo\pak01_036.vpk 109137813 105 c1c5d1aeea369e80997338b7f41f8cadb17bbfdb 0 game\csgo\pak01_037.vpk 116538440 112 cf02841fa129fbb93933f539cc8ae0fcb54de2d9 0 game\csgo\pak01_038.vpk 103037018 103 83bd86a8c8cdc17b353c54cd4cf6a1e347a59e63 0 game\csgo\pak01_039.vpk@@ -2903,11 +2903,11 @@ Total bytes compressed : 55586326720 103652491 105 97b078393d02aaed75aa0d5f232ec9573a608d48 0 game\csgo\pak01_498.vpk 105338067 116 4af7ebb5429b351ff2b76c4f9b300cd176157ada 0 game\csgo\pak01_499.vpk 102090495 101 6cac088baddee5012d7a47318b06d119f3cbb859 0 game\csgo\pak01_500.vpk- 99621966 105 a36d3ad51113077cf85943cd5a96a10581c7edaf 0 game\csgo\pak01_501.vpk+ 99621956 106 9d2ae31cb7b16513b47b2aa6bc1a5b55a6ad8d43 0 game\csgo\pak01_501.vpk 99618250 105 568b65b644448b85efe132f8eaebe59c309c3fb3 0 game\csgo\pak01_502.vpk 100220508 102 60654a3f3231ef5de3b458ed332ba064c153c465 0 game\csgo\pak01_503.vpk- 73801782 76 e868db78c1f025ef727560bdeeac4a627960590d 0 game\csgo\pak01_504.vpk- 7715045 8 c8514c1fed295f92b27cf36ba7eea751c5b3273a 0 game\csgo\pak01_dir.vpk+ 61294166 64 7e4515c2e23cc6b96ef870aff144182d3aa0bc84 0 game\csgo\pak01_504.vpk+ 7713358 8 860cb1f89ad46cd24ec82d18dca3f975cc951465 0 game\csgo\pak01_dir.vpk 11893 1 d2f5c237fcac89835ab901bf3cc83850c71d9b46 0 game\csgo\panorama\fonts\fonts.conf 107848 1 90edfc11fa568cd0fb5b9d6e6d369dddadfdb8c4 0 game\csgo\panorama\fonts\notomono-regular.ttf 310556 1 84e39ddc72cd1d2ac4be132d235979f10f916c2b 0 game\csgo\panorama\fonts\notosans-bold.ttf@@ -2996,7 +2996,7 @@ Total bytes compressed : 55586326720 303670574 290 d2d77a7357436cf6fb69b704cebc84718609f70e 0 game\csgo\shaders_vulkan_003.vpk 25004138 28 7a80e74bbd9d763f27ad8788694da6d9d81cc99e 0 game\csgo\shaders_vulkan_004.vpk 41884 1 a9b38a712dcebbc8a985763a9134ec66c4264688 0 game\csgo\shaders_vulkan_dir.vpk- 190 1 3cd68d9dfada742adc3209d9d4bcdfd63c2e2b7a 0 game\csgo\steam.inf+ 190 1 6bd54113491e0ded55a8f7d0f773905099323118 0 game\csgo\steam.inf 209 1 cb2eaab8dbda9f075491a5410326356e127f60ec 0 game\csgo_lv\gameinfo.gi 135 1 7769174b103a021d6390cb2a31b758dbfff04639 0 game\csgo_lv\gameinfo_branchspecific.gi 473822 1 f5ca24bf12b20fee2ffb5d8bbc465ba8805d8abe 0 game\thirdpartylegalnotices.txtmanifests/manifest_2347771.txt
modified • +6 / -6 • changes: 12
Show patch
@@ -1,10 +1,10 @@ Content Manifest for Depot 2347771 -Manifest ID / date : 5218696177408015009 / 10/28/2026 20:58:30 +Manifest ID / date : 4494425425081083634 / 10/30/2026 21:05:41 Total number of files : 183 Total number of chunks : 7219 -Total bytes on disk : 7753536510 -Total bytes compressed : 5011478400 +Total bytes on disk : 7753537022 +Total bytes compressed : 5011481952 Size Chunks File SHA Flags Name@@ -76,7 +76,7 @@ Total bytes compressed : 5011478400 7094936 7 2a0d7c4734b5058b0dcf8e270630c9a8a9dab4b8 0 game\bin\win64\scenesystem.dll 445592 1 a2d1ab7e9bfefb9df339767031cf6b6ce7a1a43e 0 game\bin\win64\schemasystem.dll 2891928 3 2455bae3c453025d4d481afebdc517ac9e3f3659 0 game\bin\win64\SDL3.dll- 5837976 6 19e6268724b2f6b56795d32f048ff957967ba2f1 0 game\bin\win64\soundsystem.dll+ 5838488 6 dd30ad36fdcfb5d9f59b2cfb46b0bef25184328f 0 game\bin\win64\soundsystem.dll 3547288 4 2ed24977ac906ca1596d83f466669849116c2619 0 game\bin\win64\steamaudio.dll 4290200 5 b2a6c8bdb391737a00e9d32a186d726da2037aae 0 game\bin\win64\steamnetworkingsockets.dll 317080 1 a9fd85dbfdcee3209768facb284b8788df41c3d3 0 game\bin\win64\steam_api64.dll@@ -110,10 +110,10 @@ Total bytes compressed : 5011478400 3185298 4 10bea5cfe6883540880c748e9506a04ad11e53ca 0 game\core\shaders_pc_000.vpk 25563 1 72204b8136ab7b8df21a52fb0b8b674f8c578b06 0 game\core\shaders_pc_dir.vpk 1728360 2 4e48ff45949c7f3cd8fd8ab5b7514ae27f44e53a 0 game\csgo\bin\legacy\csgo_legacy_app.exe- 39224472 38 1024028a050cc8bef7a9e9ec193ba1b9f951660c 0 game\csgo\bin\win64\client.dll+ 39224472 38 b5ad5ca0a78e816cf93836327b42d5a5ef49dcab 0 game\csgo\bin\win64\client.dll 1389208 2 40c6db9d0b1a07915441df9e7f002375f1bbad7a 0 game\csgo\bin\win64\host.dll 1890968 2 9aedfe7565fa06c398d7c4a0017bfc6490567b4d 0 game\csgo\bin\win64\matchmaking.dll- 34690200 34 bc9cad39ac62e7154f8de2f0aee6b0c2075d88f5 0 game\csgo\bin\win64\server.dll+ 34690200 34 7eb4d9b19948117424d575b158aa11c565d71eec 0 game\csgo\bin\win64\server.dll 115209034 117 4bbd01e43063ebade958bb509725b1b48c811b00 0 game\csgo\shaders_pc_000.vpk 189827159 182 7829b4ede09333c4e30a53d1ef958b9baeaeac39 0 game\csgo\shaders_pc_001.vpk 38973836 41 55f4f1a11b02a8a25a77a452d24ae14aa04b9f0b 0 game\csgo\shaders_pc_002.vpkmanifests/manifest_2347773.txt
modified • +6 / -6 • changes: 12
Show patch
@@ -1,10 +1,10 @@ Content Manifest for Depot 2347773 -Manifest ID / date : 3474977783625240452 / 10/28/2026 20:58:51 +Manifest ID / date : 6232960523750647649 / 10/30/2026 21:05:58 Total number of files : 135 Total number of chunks : 6673 -Total bytes on disk : 7224463846 -Total bytes compressed : 4605724896 +Total bytes on disk : 7224464934 +Total bytes compressed : 4605726512 Size Chunks File SHA Flags Name@@ -42,7 +42,7 @@ Total bytes compressed : 4605724896 10777468 11 3a9bd9792e999e94206fda1dadeacf2d32c96477 0 game\bin\linuxsteamrt64\libscenesystem.so 713948 1 ad85dae76aad400f723e768ee7286fc6993c7c2f 0 game\bin\linuxsteamrt64\libschemasystem.so 3229400 4 0558f1091e79b187e42491955cf362112598cff5 0 game\bin\linuxsteamrt64\libSDL3.so.0- 7961876 8 ab5e72fe683cd977926ef1d273990dd0f1b829fd 0 game\bin\linuxsteamrt64\libsoundsystem.so+ 7962196 8 f8b3d7618016aef0270517c79848a225837296b8 0 game\bin\linuxsteamrt64\libsoundsystem.so 4771364 5 57b51902f63f93920f5bea8e86feb5b5adcda44e 0 game\bin\linuxsteamrt64\libsteamaudio.so 5692434 6 9ec4204cb535bb2c204a69c2d7d15e2b2c9682a1 0 game\bin\linuxsteamrt64\libsteamnetworkingsockets.so 381976 1 c109666c839a433b5ff8f635ad173cde77bdcdb6 0 game\bin\linuxsteamrt64\libsteam_api.so@@ -66,10 +66,10 @@ Total bytes compressed : 4605724896 1296400 2 f63aa2c6334168781aa9b5bd2db22c0cc3a98a71 0 game\bin\linuxsteamrt64\libvscript.so 4570212 5 9401bc49adf98aa264340e34e93dfc06fd786adc 0 game\bin\linuxsteamrt64\libworldrenderer.so 3822 1 956919b920713ce452f46c20cf8643674f7543f7 0 game\cs2.sh- 74208120 71 6424d7e40ea57f83d0f1a8d49278ddef029a8d94 0 game\csgo\bin\linuxsteamrt64\libclient.so+ 74208376 71 a0729807ba98a01f7c8fde6b2a787897403028f6 0 game\csgo\bin\linuxsteamrt64\libclient.so 3184412 4 2a6ef4e4bdf777c3ccd9d2d11c8cfce69baeb82f 0 game\csgo\bin\linuxsteamrt64\libhost.so 3775044 4 4a6bd2fa9528edbac347b03c837c3158d93bca75 0 game\csgo\bin\linuxsteamrt64\libmatchmaking.so- 41807128 40 caa2892202b928cf2a671fc04fb7c4f4e41b8f81 0 game\csgo\bin\linuxsteamrt64\libserver.so+ 41807640 40 da6d2163b63dbc977b94d454dd3eb1ceb322e3a5 0 game\csgo\bin\linuxsteamrt64\libserver.so 182648578 175 d4b7d7aea361a8b94c54e79904d642d712a1a3f5 0 game\csgo_community_addons\cs_shelter\cs_shelter_000.vpk 107052112 105 2c61877687a4e433f04a62340fb3ce54b70e039c 0 game\csgo_community_addons\cs_shelter\cs_shelter_001.vpk 106101480 104 e5dc305d96a55ae88a396ac6d98037209b4520ce 0 game\csgo_community_addons\cs_shelter\cs_shelter_002.vpkmanifests/manifest_2347779.txt
modified • +5 / -5 • changes: 10
Show patch
@@ -1,9 +1,9 @@ Content Manifest for Depot 2347779 -Manifest ID / date : 2888303856247423407 / 10/28/2026 20:59:18 +Manifest ID / date : 6999460720639345485 / 10/30/2026 21:06:20 Total number of files : 909 -Total number of chunks : 2524 -Total bytes on disk : 2108142576 +Total number of chunks : 2523 +Total bytes on disk : 2108138499 Total bytes compressed : 576286240 @@ -638,7 +638,7 @@ Total bytes compressed : 576286240 5703320 6 69aef54a5be46a22842ba8a8671ef057da9ffedd 0 game\bin\win64\assetsystem.dll 1529856 2 45e7d0873608e5424312fa289a270f2faacfe8fa 0 game\bin\win64\bc7e.dll 396952 1 3a1580720932ad35bdc8455fea40739014877638 0 game\bin\win64\cs2_build_econ_items_workshop.exe- 13866 1 62ca0b9e4c3a3df901dbd1b5f3d2d4d5dead27b5 0 game\bin\win64\csgo.signatures+ 13866 1 6e66eefa3c87d4a1c8b0971d9c9006ad4bed4f81 0 game\bin\win64\csgo.signatures 1271448 2 41ff225a0583e28a3755588aac5634c5db7af5c4 0 game\bin\win64\csgocfg.exe 15683736 15 2e0961f7f4e0776a11546c4f8a6ee8797cd7a478 0 game\bin\win64\cs_mdl_import.exe 1196696 2 f3364d2c801c80b4e2eb6d8c76a6ec0aca706962 0 game\bin\win64\dmxconvert.exe@@ -721,7 +721,7 @@ Total bytes compressed : 576286240 133435 1 5c5acf7bffba281b1fb2de939a6953c385e26ac3 0 game\csgo\lighting\postprocessing\editor\toolsscene_default.vpost_c 3823 1 aaa9517703492629cade78571c39f5fdc2c417e3 0 game\csgo\models_gamedata.fgd 1559 1 ccef3c777e99029f1956e3ad23a718a99fd36d14 0 game\csgo\postprocessing.fgd- 50764494 52 9bf42a6c2e4924dab630257854137646df9fe384 0 game\csgo\readonly_tools_asset_info.bin+ 50760417 51 a1997ec54c03935c14e37f7748fecf207030dc7c 0 game\csgo\readonly_tools_asset_info.bin 3009 1 8374c54025aad8c3d4a72b5f7f198d99951b7844 0 game\csgo\tools\cs2_icon_gen\icon_camera.png 2390 1 436ef3b91600906f462a33b9973b3f0955ddf1d6 0 game\csgo\tools\cs2_icon_gen\icon_item.png 2566 1 d78fd6c17e836a35c1cff4b375de7928ea5aea40 0 game\csgo\tools\cs2_icon_gen\icon_light_fill.pngmanifests/manifest_731.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 731 -Manifest ID / date : 6136897076417766099 / 10/28/2026 20:56:26 +Manifest ID / date : 3579580227224146060 / 10/30/2026 21:03:36 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\bin\content_built_from_cl.txt+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txtmanifests/manifest_732.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 732 -Manifest ID / date : 7263089472237994766 / 10/28/2026 20:56:33 +Manifest ID / date : 4813741465053806363 / 10/30/2026 21:03:43 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\bin\content_built_from_cl.txt+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txtmanifests/manifest_733.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 733 -Manifest ID / date : 7014388039653554958 / 10/28/2026 20:56:39 +Manifest ID / date : 7325926150770753053 / 10/30/2026 21:03:50 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\bin\content_built_from_cl.txt+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txtmanifests/manifest_734.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 734 -Manifest ID / date : 7940209396320497378 / 10/28/2026 20:56:46 +Manifest ID / date : 263743024181583359 / 10/30/2026 21:03:56 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\bin\content_built_from_cl.txt+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txtmanifests/manifest_735.txt
modified • +2 / -2 • changes: 4
Show patch
@@ -1,11 +1,11 @@ Content Manifest for Depot 735 -Manifest ID / date : 4345444102999343217 / 10/28/2026 20:56:52 +Manifest ID / date : 5004729745720806412 / 10/30/2026 21:04:02 Total number of files : 1 Total number of chunks : 1 Total bytes on disk : 8 Total bytes compressed : 64 Size Chunks File SHA Flags Name- 8 1 6dbe87f2df31621a39a598c8ac5d32af40524a01 0 game\bin\content_built_from_cl.txt+ 8 1 edff3ab59b5c9b34ccb8311cb50084f6e601aa36 0 game\bin\content_built_from_cl.txt30.10.2026, 21.09.19
General update: “Queue update runs instead of cancelling them” Files touched: .github/workflows/update.yml.
Files changed: 1 • +2 / -1
Changed files
.github/workflows/update.yml
modified • +2 / -1 • changes: 3
Show patch
@@ -16,7 +16,8 @@ on: concurrency: group: ${{ github.workflow }}- cancel-in-progress: true+ cancel-in-progress: false+ queue: max jobs: process: