├── window_keybinds.cfg ├── .gitattributes ├── styles ├── popups │ ├── popup_validated_text_entry.css │ ├── popup_commend_player.css │ ├── popup_report_player.css │ ├── popup_report_server.css │ ├── popup_custom.css │ ├── popup_play_gamemodeflags.css │ ├── popup_tournament_select_spray.css │ ├── popup_workshop_mode_select.css │ ├── popup_go_team_matchmaking.css │ ├── popup_choices.css │ ├── popup_welcome_launch.css │ ├── popup_manager.css │ ├── popup_directchallenge_join.css │ ├── popup_hud_edge_positions.css │ ├── popup_rankup_redemption_store.css │ ├── popup_add_friend.css │ ├── popup_premier_matchmaking.css │ ├── popup_mainmenu_overwatch_verdict.css │ └── popup_operation_launch.css ├── gamestyles.css ├── base.css ├── tooltips │ ├── tooltip_custom_test.css │ ├── tooltip_playerprofile.css │ ├── tooltip_title_image_text.css │ ├── tooltip_scoreboard_casualties.css │ ├── tooltip_title_text.css │ └── tooltip_text.css ├── globalpopups.css ├── context_menus │ ├── context_menu_vote.css │ ├── context_menu_rewards.css │ ├── context_menu_mainmenu_vanity.css │ ├── context_menu_store_linked_items.css │ └── context_menu_lobbies.css ├── steaminputglyphs │ ├── steaminputactionlabel.css │ ├── steaminputglyphs.css │ └── steaminputaction.css ├── mainmenu_vanity_test.css ├── mainmenu_left_column.css ├── triplemonitorbackground.css ├── mainmenu_right_column.css ├── intromovie.css ├── tests │ └── anim.css ├── hud │ ├── hudpassiveitems.css │ ├── hudtablethints.css │ ├── hudmissionpanel.css │ └── hudautodisconnect.css ├── premier_mapwinrecord.css ├── outofammo.css ├── survival │ ├── survival_zonemoneyprogress.css │ ├── survival_playerremainingcounter.css │ └── survival_zonetimer.css ├── settings │ └── settings_enum.css ├── mainmenu_operation_balance_reminder.css ├── notification │ └── notification_equip.css ├── mainmenu_license.css ├── simple_player_tile.css ├── shielddamagealert.css ├── characterbuttons.css └── mute_spinner.css ├── version.json ├── .gitignore ├── layout ├── base_mainmenu.xml ├── hud │ ├── base_hud.xml │ ├── hudspectator__vignetting.xml │ ├── hudtablethints.xml │ ├── hudpassiveitems.xml │ ├── hudalerts.xml │ ├── hudautodisconnect.xml │ ├── hudmissionpanel.xml │ ├── hudradio.xml │ ├── huddamageindicator.xml │ ├── hudhinttext.xml │ ├── hudretake.xml │ └── hudchat.xml ├── base_intromovie.xml ├── base_globalpopups.xml ├── base_loadingscreen.xml ├── operation │ ├── operation_coin.xml │ ├── operation_title.xml │ ├── operation_active_mission.xml │ └── operation_missions.xml ├── mainmenu_home.xml ├── console.xml ├── debugtooltip.xml ├── tooltip.xml ├── tests │ ├── perf │ │ ├── perf_item_cpp.xml │ │ ├── test_panel1.xml │ │ ├── test_panel2.xml │ │ ├── perf_item_jscontext.xml │ │ ├── perf_jscontextexperiment2.xml │ │ ├── perf_jscontextexperiment_otherpanel.xml │ │ ├── perf_item_jscontext_single.xml │ │ ├── perf_cpp.xml │ │ ├── perf_jscontextexperiment.xml │ │ ├── perf_jssinglecontext.xml │ │ ├── type_safety.xml │ │ └── perf_jsmultiplecontexts.xml │ ├── endofmatch_test.xml │ ├── anim.xml │ └── controllibtestpanel.xml ├── debugindividualstyle.xml ├── outofammo.xml ├── settings │ ├── settings_enum.xml │ ├── settings_slider.xml │ ├── settings_keybinder.xml │ ├── settings_audio_panel.xml │ ├── settings_video_panel.xml │ ├── settings_promoted.xml │ └── settings_search.xml ├── debuginheritedstylesheader.xml ├── btn_alert.xml ├── steaminputglyphs │ ├── steaminputactionlabel.xml │ └── steaminputaction.xml ├── tooltips │ ├── tooltip_title_text.xml │ ├── tooltip_title_image_text.xml │ ├── tooltip_scoreboard_casualties.xml │ ├── tooltip_model_panel_instructions_info.xml │ ├── stats │ │ ├── tooltip_playerstats_progress_graph.xml │ │ ├── tooltip_playerstats_weaponsgraph_category.xml │ │ ├── tooltip_playerstats_weaponsgraph.xml │ │ ├── tooltip_playerstats_generic.xml │ │ └── tooltip_playerstats_progress_graph_stat_button.xml │ ├── tooltip_custom_test.xml │ ├── tooltip_base.xml │ ├── tooltip_text.xml │ ├── tooltip_loadout_item.xml │ ├── tooltip_title_progressbar.xml │ ├── tooltip_model_panel_instructions_camera.xml │ ├── tooltip_playerprofile.xml │ ├── tooltip_eventsched_team_simple.xml │ ├── tooltip_player_xp.xml │ └── tooltip_model_panel_instructions_scene.xml ├── pausemenu_gift.xml ├── survival │ ├── survival_zonemoneyprogress.xml │ ├── survival_zonetimer.xml │ └── survival_playerremainingcounter.xml ├── debugstyleblock.xml ├── controlslibrary_frameexample.xml ├── slider_toggle.xml ├── shielddamagealert.xml ├── base_jsregistration.xml ├── popups │ ├── popup_manager.xml │ ├── popup_custom_layout_test.xml │ ├── popup_license_register.xml │ ├── popup_store_status.xml │ ├── popup_activate_mission.xml │ ├── popup_rankup_redemption_store.xml │ ├── popup_welcome_launch.xml │ ├── popup_tournament_select_spray.xml │ ├── popup_generic_text_entry.xml │ ├── stats │ │ └── popup_playerstats_singlematch.xml │ ├── popup_inspect_header.xml │ ├── popup_custom_layout_test_image.xml │ ├── popup_workshop_mode_select.xml │ ├── popup_capability_header.xml │ ├── popup_choices.xml │ ├── popup_premier_matchmaking.xml │ └── popup_generic.xml ├── inventory_item_list.xml ├── contextmenu.xml ├── storeitem.xml ├── carousel_nav.xml ├── notification │ └── notification_equip.xml ├── mainmenu_left_column.xml ├── simple_player_tile.xml ├── context_menus │ ├── context_menu_playercard.xml │ ├── context_menu_base.xml │ ├── context_menu_inventory_item.xml │ ├── context_menu_store_linked_items.xml │ ├── context_menu_vote.xml │ ├── context_menu_lobbies.xml │ ├── context_menu_rewards.xml │ └── context_menu_custom_layout_test.xml ├── intromovie.xml ├── base_triplemonitorbackground.xml ├── mainmenu_right_column.xml ├── tournaments │ └── loading_status.xml ├── debugstyleanimation.xml ├── debugpanel.xml ├── globalpopups.xml ├── matchtiles │ ├── gotv.xml │ ├── menu.xml │ ├── live.xml │ └── player.xml ├── mainmenu_limitedtest.xml ├── advertising_icon.xml ├── honor_icon.xml ├── moviedebug.xml ├── mainmenu_license.xml ├── debuglayout.xml ├── mute_spinner.xml ├── broadcast_toggle.xml ├── tournament_tile_champions.xml ├── match-reconnect.xml ├── advertising_toggle.xml ├── watchmatchtile.xml ├── quickinventory.xml ├── premier_mapwinrecord.xml ├── mainmenu_operation_balance_reminder.xml └── mainmenu_featured.xml ├── scripts ├── popups │ ├── popup_choices.js │ ├── popup_rankup_redemption_store.js │ ├── popup_subscription_upsell.js │ ├── popup_hud_edge_positions.js │ ├── popup_welcome_launch.js │ ├── popup_report_server.js │ ├── popup_report_player.js │ └── popup_tournament_select_spray.js ├── endofmatch_test.js ├── tests │ ├── endofmatch_test.js │ ├── perf │ │ ├── perf_context_panel_c.js │ │ ├── perf_jssinglecontext.js │ │ ├── perf_context_panel_b.js │ │ ├── perf_jsmultiplecontexts.js │ │ ├── type_safety.js │ │ ├── perf_context_panel_a.js │ │ └── perf_item_jscontext.js │ ├── endofmatch_controls.js │ └── anim.js ├── audiovideosettingsmenu.js ├── inventory_item_list.js ├── tooltips │ └── stats │ │ ├── tooltip_playerstats_progress_graph.js │ │ ├── tooltip_playerstats_linegraph_stat_button.js │ │ └── tooltip_playerstats_generic.js ├── common │ ├── menuanims.js │ ├── panelregistration.js │ ├── anim_background.js │ ├── icon.js │ └── gamerules_constants.js ├── mainmenu_limitedtest.js ├── mainmenu_featured.js ├── stats │ ├── playerstats_mapsgraph.js │ ├── playerstats_weaponsgraph.js │ └── fakestats.js ├── mainmenu_operation_balance_reminder.js ├── mainmenu_perf.js ├── server_browser │ └── server_browser_api.js └── hud │ └── hudcolor.js ├── panorama.cfg ├── browser └── webkit.css ├── csgo_keybinds.cfg └── default_keybinds.cfg /window_keybinds.cfg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /styles/popups/popup_validated_text_entry.css: -------------------------------------------------------------------------------- 1 | 2 | .root 3 | { 4 | padding: 32px; 5 | } -------------------------------------------------------------------------------- /styles/popups/popup_commend_player.css: -------------------------------------------------------------------------------- 1 | .PopupPanel 2 | { 3 | width: 600px; 4 | height: fit-children; 5 | } 6 | -------------------------------------------------------------------------------- /styles/gamestyles.css: -------------------------------------------------------------------------------- 1 | 2 | @import url("file://{resources}/styles/csgostyles.css"); -------------------------------------------------------------------------------- /styles/popups/popup_report_player.css: -------------------------------------------------------------------------------- 1 | .PopupPanel 2 | { 3 | width: 800px; 4 | } 5 | 6 | .PopupTitle 7 | { 8 | max-height: 64px; 9 | } -------------------------------------------------------------------------------- /version.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.9.0b", 3 | "changelog": "Lobby System Test / Loadout Test", 4 | "release_date": "2025-09-02" 5 | } -------------------------------------------------------------------------------- /styles/popups/popup_report_server.css: -------------------------------------------------------------------------------- 1 | .PopupPanel 2 | { 3 | width: 800px; 4 | } 5 | 6 | .report-server-name 7 | { 8 | margin: 0px 64px 16px 64px; 9 | } 10 | -------------------------------------------------------------------------------- /styles/base.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .WindowRoot 4 | { 5 | width: 100%; 6 | height: 100%; 7 | } 8 | 9 | .WindowRoot_TripleMonitor 10 | { 11 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | layout/mainmenu_inventory - Copy.xml 3 | layout/mainmenu_mini_store.xml 4 | fonts/ST2BD.ttf 5 | fonts/ST2BD.ttf 6 | fonts/ST2BDCOND.ttf 7 | fonts/ST2BL.ttf 8 | fonts/ST2BLCOND.ttf 9 | -------------------------------------------------------------------------------- /styles/tooltips/tooltip_custom_test.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .TestContents 4 | { 5 | min-width: 80px; 6 | max-width: 350px; 7 | flow-children: down; 8 | } 9 | -------------------------------------------------------------------------------- /styles/globalpopups.css: -------------------------------------------------------------------------------- 1 | 2 | CSGOGlobalPopups, 3 | #TooltipManager, 4 | #ContextMenuManager, 5 | #PopupManager 6 | { 7 | width: 100%; 8 | height: 100%; 9 | } -------------------------------------------------------------------------------- /layout/base_mainmenu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /layout/hud/base_hud.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /layout/base_intromovie.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /layout/base_globalpopups.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /layout/base_loadingscreen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scripts/popups/popup_choices.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var PopupChoices = ( function(){ 4 | 5 | var _Init = function () 6 | { 7 | } 8 | 9 | return { 10 | Init : _Init, 11 | } 12 | 13 | })(); 14 | 15 | (function() 16 | { 17 | })(); 18 | -------------------------------------------------------------------------------- /layout/operation/operation_coin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /layout/mainmenu_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /styles/context_menus/context_menu_vote.css: -------------------------------------------------------------------------------- 1 | .vote-option 2 | { 3 | flow-children: right; 4 | } 5 | 6 | #ContextMenuBody Button.vote-option 7 | { 8 | max-width: 400px; 9 | } 10 | 11 | #ContextMenuBody Button.vote-option Label 12 | { 13 | text-overflow: shrink; 14 | } 15 | 16 | .vote-option__icon 17 | { 18 | 19 | } -------------------------------------------------------------------------------- /layout/console.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /layout/debugtooltip.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | -------------------------------------------------------------------------------- /layout/tooltip.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | -------------------------------------------------------------------------------- /layout/tests/perf/perf_item_cpp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /layout/debugindividualstyle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /layout/tests/perf/test_panel1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /layout/tests/perf/test_panel2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /layout/outofammo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /layout/settings/settings_enum.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /layout/debuginheritedstylesheader.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /scripts/endofmatch_test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | function Init() 5 | { 6 | var elContainer = $.GetContextPanel(); 7 | var elRoot = $.GetContextPanel(); 8 | 9 | while ( elRoot.GetParent() ) 10 | elRoot = elRoot.GetParent(); 11 | 12 | var elEom = elRoot.FindChildTraverse( "EndOfMatch" ); 13 | 14 | elEom.SetParent( $.GetContextPanel() ); 15 | } -------------------------------------------------------------------------------- /layout/btn_alert.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /scripts/tests/endofmatch_test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | function Init() 5 | { 6 | var elContainer = $.GetContextPanel(); 7 | var elRoot = $.GetContextPanel(); 8 | 9 | while ( elRoot.GetParent() ) 10 | elRoot = elRoot.GetParent(); 11 | 12 | var elEom = elRoot.FindChildTraverse( "EndOfMatch" ); 13 | 14 | elEom.SetParent( $.GetContextPanel() ); 15 | } -------------------------------------------------------------------------------- /layout/hud/hudspectator__vignetting.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /styles/steaminputglyphs/steaminputactionlabel.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | .steam-action-name 6 | { 7 | horizontal-align : center; 8 | vertical-align : center; 9 | width: fit-children; 10 | height: fit-children; 11 | } 12 | 13 | .play-menu__playbtn CCSGOSteamInputAction .steam-action-name 14 | { 15 | visibility: collapse; 16 | } -------------------------------------------------------------------------------- /layout/steaminputglyphs/steaminputactionlabel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12 | -------------------------------------------------------------------------------- /scripts/audiovideosettingsmenu.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | 4 | 5 | 6 | (function () 7 | { 8 | 9 | })(); 10 | 11 | 12 | -------------------------------------------------------------------------------- /scripts/inventory_item_list.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | "use strict"; 6 | 7 | 8 | 9 | 10 | (function() 11 | { 12 | 13 | })(); 14 | -------------------------------------------------------------------------------- /layout/tests/endofmatch_test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_title_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /layout/pausemenu_gift.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /layout/survival/survival_zonemoneyprogress.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /layout/debugstyleblock.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /layout/controlslibrary_frameexample.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /styles/mainmenu_vanity_test.css: -------------------------------------------------------------------------------- 1 | .hidden 2 | { 3 | visibility: collapse; 4 | } 5 | 6 | .mainmenu-vanity-2 7 | { 8 | width: 800px; 9 | z-index: -1; 10 | y: -15px; 11 | } 12 | 13 | .mainmenu-vanity-3 14 | { 15 | width: 800px; 16 | z-index: -2; 17 | y: -15px; 18 | } 19 | .mainmenu-vanity-4 20 | { 21 | width: 800px; 22 | z-index: -3; 23 | y: -20px; 24 | } 25 | .mainmenu-vanity-5 26 | { 27 | width: 800px; 28 | z-index: -3; 29 | y: -20px; 30 | } -------------------------------------------------------------------------------- /layout/operation/operation_title.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_title_image_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /panorama.cfg: -------------------------------------------------------------------------------- 1 | "config" 2 | { 3 | "NamedPaths" 4 | { 5 | "resources" "panorama/custom" 6 | "videos" "panorama" 7 | "config" "panorama/config" 8 | "images" "materials/panorama/images" 9 | "images_econ" "resource/Flash" 10 | "images_overviews" "resource/overviews" 11 | "localization" "panorama/localization" 12 | } 13 | 14 | "DebuggerOpenForEdit" 15 | { 16 | "Notepad++" "%file -n%line" 17 | "Code" "-g %file:%line" 18 | } 19 | } -------------------------------------------------------------------------------- /styles/tooltips/tooltip_playerprofile.css: -------------------------------------------------------------------------------- 1 | 2 | #Contents 3 | { 4 | background-color: gradient( linear, 75% 0%, 0% 100%, from( #14202b ), to( #1e2d3d ) ); 5 | } 6 | 7 | .ToolTip 8 | { 9 | height: fit-children; 10 | width: fit-children; 11 | min-height: 42px; 12 | min-width: 256px; 13 | 14 | transition-property: height, width; 15 | transition-duration: .3s; 16 | transition-timing-function: ease-in; 17 | } -------------------------------------------------------------------------------- /scripts/tooltips/stats/tooltip_playerstats_progress_graph.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function setupTooltip() 4 | { 5 | var ctx = $.GetContextPanel(); 6 | 7 | var elBody = $("#BodyLabel"); 8 | elBody.text = ""; 9 | 10 | var nTimestamp = ctx.GetAttributeInt( 'timestamp', 0 ); 11 | var strStatValue = ctx.GetAttributeString( 'stat_value', 0 ); 12 | var strStatIdx = ctx.GetAttributeInt( 'stat_index', 0 ); 13 | var strSeriestName = ctx.GetAttributeString( 'series_name', "" ); 14 | } -------------------------------------------------------------------------------- /layout/slider_toggle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /styles/popups/popup_custom.css: -------------------------------------------------------------------------------- 1 | #popupimage 2 | { 3 | horizontal-align: center; 4 | } 5 | 6 | #Spinner 7 | { 8 | horizontal-align: center; 9 | visibility: collapse; 10 | margin-top: 10px; 11 | } 12 | 13 | #Spinner.SpinnerVisible 14 | { 15 | visibility: visible; 16 | } 17 | 18 | #ProgressBar 19 | { 20 | horizontal-align: center; 21 | visibility: collapse; 22 | margin-top: 10px; 23 | } 24 | 25 | #ProgressBar.ProgressBarVisible 26 | { 27 | visibility: visible; 28 | } -------------------------------------------------------------------------------- /layout/shielddamagealert.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /styles/mainmenu_left_column.css: -------------------------------------------------------------------------------- 1 | .mainmenu-left-column 2 | { 3 | padding: 64px 0px 16px 16px; 4 | height: fit-children; 5 | vertical-align: bottom; 6 | width: 620px; 7 | flow-children: up; 8 | visibility: collapse; 9 | transform: translateX(0); 10 | transition-property: transform; 11 | transition-duration: .25s; 12 | transition-timing-function: ease-in-out; 13 | } 14 | 15 | .mainmenu-left-column.hidden 16 | { 17 | transform: translateX(-100%); 18 | } 19 | 20 | -------------------------------------------------------------------------------- /styles/popups/popup_play_gamemodeflags.css: -------------------------------------------------------------------------------- 1 | .radio-options-container 2 | { 3 | flow-children:down; 4 | width: 100%; 5 | margin: 16px 16px; 6 | } 7 | 8 | #RadioOptionsContainer .PopupButton 9 | { 10 | margin: 12px 0px; 11 | horizontal-align: left; 12 | 13 | } 14 | #RadioOptionsContainer .PopupButton Label{ 15 | margin: 0px 12px 0px 16px; 16 | } 17 | 18 | #RadioOptionsContainer .PopupButton Label.small{ 19 | margin: 0px 12px 0px 16px; 20 | font-size: 12px; 21 | font-weight: normal; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /layout/base_jsregistration.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /layout/popups/popup_manager.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 14 | 15 | -------------------------------------------------------------------------------- /layout/tests/perf/perf_jscontextexperiment2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /styles/context_menus/context_menu_rewards.css: -------------------------------------------------------------------------------- 1 | #Contents 2 | { 3 | background-color: rgb(50, 31, 66); 4 | padding-top: 0px; 5 | } 6 | 7 | .ContextMenuItem .Rewards 8 | { 9 | padding: 16px 16px; 10 | max-width: 340px; 11 | width: fill-parent-flow( 1 ); 12 | border-bottom: 1px solid rgba(255, 255, 255, 0.10 ); 13 | background-color: rgb(78, 52, 100); 14 | flow-children: right; 15 | } 16 | 17 | .ContextMenuItem .Rewards Label 18 | { 19 | height: fit-Children; 20 | max-height: 100px; 21 | font-size: 18px; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /styles/triplemonitorbackground.css: -------------------------------------------------------------------------------- 1 | .triplemonitorbg 2 | { 3 | height:100%; 4 | width:33.333%; 5 | } 6 | 7 | .triplemonitorbg--left 8 | { 9 | horizontal-align: left; 10 | 11 | 12 | background-image: url( "file://{images}/backgrounds/background_triple.png" ); 13 | background-size: 100% 100%; 14 | } 15 | 16 | .triplemonitorbg--right 17 | { 18 | horizontal-align: right; 19 | 20 | 21 | background-image: url( "file://{images}/backgrounds/background_triple.png" ); 22 | background-size: 100% 100%; 23 | } -------------------------------------------------------------------------------- /layout/inventory_item_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /layout/contextmenu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /layout/storeitem.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /layout/carousel_nav.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /styles/mainmenu_right_column.css: -------------------------------------------------------------------------------- 1 | .mainmenu-right-column 2 | { 3 | padding: 64px 80px 16px 16px; 4 | height: fit-children; 5 | vertical-align: bottom; 6 | horizontal-align: right; 7 | width: 620px; 8 | flow-children: left; 9 | visibility: visible; 10 | transition-property: opacity; 11 | transition-duration: .25s; 12 | transition-timing-function: ease-in-out; 13 | } 14 | 15 | .mainmenu-right-column.hidden 16 | { 17 | opacity: 0; 18 | } 19 | 20 | .mainmenu-right-column .mainmenu-right-column__thin 21 | { 22 | width: 256px; 23 | } 24 | -------------------------------------------------------------------------------- /layout/tests/perf/perf_item_jscontext_single.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /layout/notification/notification_equip.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | -------------------------------------------------------------------------------- /layout/mainmenu_left_column.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /layout/simple_player_tile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 17 | -------------------------------------------------------------------------------- /layout/tests/perf/perf_cpp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 14 | -------------------------------------------------------------------------------- /scripts/mainmenu_limitedtest.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var LimitedTest = ( function() 4 | { 5 | var _m_cp = $.GetContextPanel(); 6 | 7 | 8 | var _Init = function() 9 | { 10 | _m_cp.FindChildInLayoutFile( 'id-mainmenu-limitedtest' ).SetPanelEvent( 11 | 'onactivate', 12 | function(){ 13 | UiToolkitAPI.ShowCustomLayoutPopupParameters( '', 'file://{resources}/layout/popups/popup_limitedtest.xml', '' ); 14 | 15 | }); 16 | }; 17 | 18 | return { 19 | Init: _Init 20 | }; 21 | 22 | } )(); 23 | 24 | 25 | ( function() 26 | { 27 | LimitedTest.Init(); 28 | } )(); -------------------------------------------------------------------------------- /layout/context_menus/context_menu_playercard.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /layout/intromovie.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /scripts/tests/perf/perf_context_panel_c.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | 4 | function OnLoadedC() 5 | { 6 | 7 | } 8 | 9 | function ButtonActivatedC() 10 | { 11 | 12 | } 13 | 14 | 15 | 16 | 17 | (function () 18 | { 19 | 20 | })(); 21 | 22 | 23 | -------------------------------------------------------------------------------- /styles/intromovie.css: -------------------------------------------------------------------------------- 1 | 2 | CSGOIntroMovie 3 | { 4 | width: 100%; 5 | height: 100%; 6 | sound: "UIPanorama.IntroLogo"; 7 | } 8 | 9 | #IntroMoviePlayer { 10 | width: 1920px; 11 | height: 1080px; 12 | overflow: noclip; 13 | opacity: 0; 14 | horizontal-align: center; 15 | transition-property: opacity; 16 | transition-duration: 1s; 17 | transition-timing-function: ease-in-out; 18 | } 19 | 20 | 21 | .AspectRatio21x9 #IntroMoviePlayer 22 | { 23 | width: 2520px; 24 | height: 1080px; 25 | transform: scaleY( 1.3 ); 26 | overflow: noclip; 27 | } 28 | 29 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_model_panel_instructions_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /layout/hud/hudtablethints.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | -------------------------------------------------------------------------------- /layout/tooltips/stats/tooltip_playerstats_progress_graph.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 17 | 18 | -------------------------------------------------------------------------------- /layout/base_triplemonitorbackground.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /scripts/tests/perf/perf_jssinglecontext.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | 5 | 6 | (function() 7 | { 8 | for (var i = 0; i < 200; i++) 9 | { 10 | var newPanel = $.CreatePanel( 'Panel', $('#JsContent'), '' ); 11 | newPanel.SetAttributeInt( 'id', i ); 12 | newPanel.BLoadLayout( 'file://{resources}/layout/tests/perf/perf_item_jscontext_single.xml', false, false ); 13 | } 14 | })(); -------------------------------------------------------------------------------- /layout/mainmenu_right_column.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /styles/tests/anim.css: -------------------------------------------------------------------------------- 1 | .animateanimate { 2 | opacity: 1.0; 3 | transform: translateX(0px); /* Use transform for positioning */ 4 | animation-name: slidein; 5 | animation-duration: 6.0s; 6 | animation-timing-function: linear; 7 | animation-iteration-count: 1; 8 | } 9 | 10 | @keyframes slidein { 11 | 0% { 12 | transform: translateX(0px); /* Adjusts position using transform */ 13 | wash-color: none; /* Assuming this is valid in your environment */ 14 | } 15 | 90% { 16 | transform: translateX(0px); /* Adjust position if needed */ 17 | wash-color: #FFFFFFE6; /* Assuming this is valid */ 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /scripts/tests/perf/perf_context_panel_b.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | 4 | function OnLoadedB() 5 | { 6 | 7 | } 8 | 9 | function ButtonActivatedOther() 10 | { 11 | 12 | $.GetContextPanel().Data().moo_(); 13 | } 14 | 15 | 16 | 17 | 18 | (function () 19 | { 20 | 21 | })(); 22 | 23 | 24 | -------------------------------------------------------------------------------- /layout/tests/perf/perf_jscontextexperiment.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /layout/tournaments/loading_status.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | -------------------------------------------------------------------------------- /layout/hud/hudpassiveitems.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /layout/tests/anim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | > 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /scripts/tests/endofmatch_controls.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | 4 | function EOMTestStart ( options ) 5 | { 6 | var elMode = $.GetContextPanel().FindChildTraverse( 'eom-test-game-mode' ); 7 | options = options + ',' + elMode.GetSelected().id; 8 | 9 | var elTeam = $.GetContextPanel().FindChildTraverse( 'eom-test-player-team' ); 10 | options = options + ',' + elTeam.GetSelected().id; 11 | 12 | var elCharacter = $.GetContextPanel().FindChildTraverse( 'eom-test-player-character' ); 13 | options = options + ',' + elCharacter.GetSelected().id; 14 | 15 | $.DispatchEvent( 'EndOfMatch_Shutdown' ); 16 | 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /styles/popups/popup_tournament_select_spray.css: -------------------------------------------------------------------------------- 1 | .PopupPanel.popup-tournament-select-spray 2 | { 3 | max-width: 900px; 4 | } 5 | 6 | .popup-tournament-select-spray-team 7 | { 8 | height:110px; 9 | width: height-percentage( 130% ); 10 | margin: 8px; 11 | 12 | transition-property: brightness, background-color; 13 | transition-duration: .20s; 14 | transition-timing-function: ease-in-out; 15 | } 16 | 17 | .popup-tournament-select-spray-team:hover 18 | { 19 | brightness: 1.5; 20 | background-color: rgba(255, 255, 255, 0.02); 21 | 22 | transition-property: brightness, background-color; 23 | transition-duration: .20s; 24 | transition-timing-function: ease-in-out; 25 | } -------------------------------------------------------------------------------- /layout/debugstyleanimation.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 19 | 20 | -------------------------------------------------------------------------------- /scripts/mainmenu_featured.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var FeaturedSurvival = (function () { 4 | 5 | 6 | var _OnSurvivalPlayPressed = function() 7 | { 8 | if ( PartyListAPI.GetCount() <= 1 ) 9 | { 10 | if ( PartyListAPI.GetPartySessionSetting( "game/mode" ) !== "survival" ) 11 | { 12 | LobbyAPI.CloseSession(); 13 | } 14 | 15 | GameInterfaceAPI.SetSettingString( 'ui_playsettings_mode_official', 'survival' ); 16 | } 17 | 18 | $.DispatchEvent( 'OpenPlayMenu' ); 19 | }; 20 | 21 | return { 22 | OnSurvivalPlayPressed: _OnSurvivalPlayPressed 23 | }; 24 | })(); 25 | 26 | 27 | (function () { 28 | })(); -------------------------------------------------------------------------------- /scripts/popups/popup_rankup_redemption_store.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | /// 3 | var PopupRankUpRedemptionStore; 4 | (function (PopupRankUpRedemptionStore) { 5 | function OnClose() { 6 | const callbackHandle = $.GetContextPanel().GetAttributeInt("callback", -1); 7 | if (callbackHandle != -1) { 8 | UiToolkitAPI.InvokeJSCallback(callbackHandle); 9 | } 10 | $.DispatchEvent('UIPopupButtonClicked', ''); 11 | $.DispatchEvent('CSGOPlaySoundEffect', 'UIPanorama.inventory_new_item_accept', 'MOUSE'); 12 | } 13 | PopupRankUpRedemptionStore.OnClose = OnClose; 14 | })(PopupRankUpRedemptionStore || (PopupRankUpRedemptionStore = {})); -------------------------------------------------------------------------------- /styles/tooltips/tooltip_title_image_text.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .TitleImageTextContents 4 | { 5 | min-width: 200px; 6 | max-width: 400px; 7 | flow-children: down; 8 | } 9 | 10 | #TitleLabel 11 | { 12 | font-family: Stratum2; 13 | font-size: 24px; 14 | color: white; 15 | font-weight: bold; 16 | horizontal-align: center; 17 | text-align: center; 18 | } 19 | 20 | #Image 21 | { 22 | horizontal-align: center; 23 | margin: 8px; 24 | } 25 | 26 | #TextLabel 27 | { 28 | font-family: Stratum2; 29 | font-size: 20px; 30 | font-weight: medium; 31 | color: white; 32 | horizontal-align: center; 33 | text-align: center; 34 | } 35 | -------------------------------------------------------------------------------- /layout/settings/settings_slider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /styles/hud/hudpassiveitems.css: -------------------------------------------------------------------------------- 1 | @define defaultColor: #ffffff; 2 | 3 | .hudpassiveitems 4 | { 5 | height: 43px; 6 | vertical-align: bottom; 7 | margin-left: 24px; 8 | flow-children: right; 9 | visibility: collapse; 10 | } 11 | 12 | .hudpassiveitem 13 | { 14 | vertical-align: center; 15 | wash-color: defaultColor; 16 | margin: 0px 8px; 17 | margin-left: 15px; 18 | margin-right: 10px; 19 | visibility: collapse; 20 | opacity: 0; 21 | img-shadow: 0px 0px 1px 0.0 #000000DD; 22 | 23 | transition-property: opacity; 24 | transition-timing-function: ease-in-out; 25 | transition-duration: 0.3s; 26 | } 27 | 28 | .hudpassiveitems-visible 29 | { 30 | visibility: collapse; 31 | opacity: 1; 32 | } 33 | -------------------------------------------------------------------------------- /layout/debugpanel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /layout/globalpopups.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /layout/tooltips/stats/tooltip_playerstats_weaponsgraph_category.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /scripts/tests/perf/perf_jsmultiplecontexts.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | 5 | 6 | (function() 7 | { 8 | for (var i = 0; i < 200; i++) 9 | { 10 | var newPanel = $.CreatePanel( 'Panel', $('#JsContent'), '' , { 11 | useglobalcontext: 'true' 12 | }); 13 | newPanel.SetAttributeInt( 'id', i ); 14 | newPanel.BLoadLayout( 'file://{resources}/layout/tests/perf/perf_item_jscontext.xml', false, false ); 15 | } 16 | })(); -------------------------------------------------------------------------------- /layout/settings/settings_keybinder.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /layout/tests/perf/perf_jsmultiplecontexts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 18 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | -------------------------------------------------------------------------------- /layout/advertising_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /layout/context_menus/context_menu_inventory_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /layout/popups/popup_custom_layout_test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 22 | 23 | -------------------------------------------------------------------------------- /layout/tests/controllibtestpanel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 18 | 19 | 20 | 24 | -------------------------------------------------------------------------------- /styles/outofammo.css: -------------------------------------------------------------------------------- 1 | .OutOfAmmo 2 | { 3 | width: 85px; 4 | height: 85px; 5 | vertical-align: center; 6 | horizontal-align: center; 7 | 8 | } 9 | 10 | .OutOfAmmoOverlay 11 | { 12 | width: 100%; 13 | height: 100%; 14 | 15 | background-image: url( "file://{images}/icons/ui/outofammo.svg" ); 16 | background-size: 100% 100%; 17 | background-position: center; 18 | background-repeat: no-repeat no-repeat; 19 | 20 | wash-color: #FF0000FF; 21 | -s2-mix-blend-mode: additive; 22 | 23 | opacity: 0.9; 24 | } 25 | 26 | .OutOfAmmoBackdrop 27 | { 28 | width: 100%; 29 | height: 100%; 30 | 31 | background-image: url( "file://{images}/icons/ui/outofammo.svg" ); 32 | background-size: 100% 100%; 33 | background-position: center; 34 | background-repeat: no-repeat no-repeat; 35 | 36 | wash-color: #000000FF; 37 | 38 | opacity: 0.5; 39 | } -------------------------------------------------------------------------------- /styles/survival/survival_zonemoneyprogress.css: -------------------------------------------------------------------------------- 1 | .zoneprogress 2 | { 3 | margin-left: 20px; 4 | opacity-mask: url( "file://{images}/icons/ui/zoneprogress.svg" ); 5 | background-color: rgb(88, 88, 88); 6 | width: 48px; 7 | height: 48px; 8 | -s2-mix-blend-mode: additive; 9 | } 10 | 11 | .zoneprogress.hidden 12 | { 13 | visibility: collapse; 14 | transform: translateX( -100% ); 15 | opacity: 0; 16 | 17 | transition-property: transform, opacity; 18 | transition-duration: 0.25s; 19 | transition-timing-function: ease-in-out; 20 | } 21 | 22 | .zoneprogress__bar 23 | { 24 | background-color: white; 25 | height: 15%; 26 | width: 100%; 27 | vertical-align: bottom; 28 | -s2-mix-blend-mode: additive; 29 | wash-color-fast: lightgreen; 30 | 31 | transition-property: height; 32 | transition-duration: 0.1s; 33 | transition-timing-function: ease-in-out; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /styles/popups/popup_workshop_mode_select.css: -------------------------------------------------------------------------------- 1 | .PopupPanel 2 | { 3 | width: 1200px; 4 | } 5 | 6 | .PopupPanel--wide 7 | { 8 | width: 1600px; 9 | } 10 | 11 | .PopupButtonRow 12 | { 13 | horizontal-align:right; 14 | } 15 | 16 | .popup-workshop-mode-block 17 | { 18 | width: fit-children; 19 | height: fit-children; 20 | horizontal-align: middle; 21 | flow-children: down; 22 | } 23 | 24 | .popup-workshop-mode 25 | { 26 | width: fit-children; 27 | height: fit-children; 28 | 29 | flow-children: down; 30 | horizontal-align: left; 31 | } 32 | 33 | .popup-workshop-mode.hidden 34 | { 35 | background-color: #00000000; 36 | 37 | transition-property: background-color; 38 | transition-duration: .25s; 39 | transition-timing-function: ease-in-out; 40 | } 41 | 42 | .popup-workshop-mode .PopupButton 43 | { 44 | vertical-align: middle; 45 | horizontal-align: left; 46 | } 47 | -------------------------------------------------------------------------------- /layout/honor_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /scripts/popups/popup_subscription_upsell.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var SetupPopup = function() 4 | { 5 | var sPrice = StoreAPI.GetStoreItemSalePrice( InventoryAPI.GetFauxItemIDFromDefAndPaintIndex( 4748, 0 ), 1, '' ); 6 | $.GetContextPanel().SetDialogVariable( "price", sPrice ? sPrice : '$0' ); 7 | }; 8 | 9 | function OnOKPressed() 10 | { 11 | MyPersonaAPI.ActionManageRecurringSubscription(); 12 | $.DispatchEvent( 'UIPopupButtonClicked', '' ); 13 | 14 | SendCallback(); 15 | } 16 | 17 | function OnCancelPressed() 18 | { 19 | $.DispatchEvent( 'UIPopupButtonClicked', '' ); 20 | SendCallback(); 21 | } 22 | 23 | function SendCallback() 24 | { 25 | var callbackHandle = $.GetContextPanel().GetAttributeInt( "callback", -1 ); 26 | if ( callbackHandle != -1 ) 27 | { 28 | UiToolkitAPI.InvokeJSCallback( callbackHandle, 'close' ); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /styles/steaminputglyphs/steaminputglyphs.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CCSGOSteamInputGlyph, 6 | .glyph-container, 7 | .steam-button-glyph, 8 | .steam-button-name, 9 | { 10 | horizontal-align : center; 11 | vertical-align : center; 12 | width: fit-children; 13 | height: fit-children; 14 | } 15 | 16 | .action-container 17 | { 18 | flow-children: down; 19 | } 20 | 21 | .glyph-container 22 | { 23 | flow-children: down; 24 | } 25 | 26 | .steam-button-glyph 27 | { 28 | width: 24px; 29 | height: 24px; 30 | } 31 | 32 | .steam-button-name 33 | { 34 | text-align: center; 35 | font-family: stratum2Font; 36 | font-weight: lighter; 37 | font-size: 20px; 38 | text-transform: uppercase; 39 | text-overflow: ellipsis; 40 | visibility: collapse; 41 | } 42 | -------------------------------------------------------------------------------- /styles/settings/settings_enum.css: -------------------------------------------------------------------------------- 1 | CSGOSettingsEnum 2 | { 3 | flow-children: right; 4 | padding: 4px 4px; 5 | } 6 | 7 | CSGOSettingsEnum Label 8 | { 9 | font-size: 18px; 10 | color: #7d8688; 11 | margin: 0px; 12 | padding-top: 0px; 13 | padding-left: 5px; 14 | letter-spacing: 1px; 15 | font-weight: thin; 16 | margin-bottom: 6px; 17 | } 18 | 19 | CSGOSettingsEnum #title 20 | { 21 | margin-right: 8px; 22 | } 23 | 24 | CSGOSettingsEnum #values 25 | { 26 | flow-children: down; 27 | } 28 | 29 | CSGOSettingsEnum.HorizontalEnum #values 30 | { 31 | flow-children: right; 32 | } 33 | 34 | CSGOSettingsEnum.HorizontalEnum #values RadioButton 35 | { 36 | margin-right: 5px; 37 | } 38 | 39 | CSGOSettingsEnum:disabled Label 40 | { 41 | color: #333333; 42 | } 43 | 44 | CSGOSettingsEnum:disabled RadioButton:selected Label 45 | { 46 | 47 | } 48 | 49 | -------------------------------------------------------------------------------- /layout/moviedebug.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 16 | 17 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /layout/survival/survival_zonetimer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 18 | 19 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_loadout_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 19 | -------------------------------------------------------------------------------- /styles/mainmenu_operation_balance_reminder.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .op_balance 4 | { 5 | width: 100%; 6 | 7 | Padding-left: 10px; 8 | margin-top: 8px; 9 | 10 | transition-property: brightness; 11 | transition-duration: .25s; 12 | transition-timing-function: ease-in-out; 13 | } 14 | 15 | .op_balance:hover 16 | { 17 | brightness: 1.6; 18 | 19 | transition-property: brightness; 20 | transition-duration: .25s; 21 | transition-timing-function: ease-in-out; 22 | } 23 | 24 | .op_balance__container 25 | { 26 | flow-children: right; 27 | vertical-align: center; 28 | padding-left: 8px; 29 | height: 32px; 30 | } 31 | 32 | .op_balance__container__text 33 | { 34 | font-size: 14px; 35 | color: opCompleteColor; 36 | text-overflow: shrink; 37 | } 38 | 39 | .op_balance__container__icon 40 | { 41 | wash-color: opTenYellow; 42 | } -------------------------------------------------------------------------------- /layout/mainmenu_license.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 16 | 17 | -------------------------------------------------------------------------------- /scripts/tests/perf/type_safety.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | 5 | 6 | (function() 7 | { 8 | var panel1 = $.FindChildInContext('#Test1'); 9 | var panel2 = $.FindChildInContext('#Test2'); 10 | 11 | var str = ""; 12 | 13 | $('#Info').text = str + "-> One"; 14 | str += "One = " + panel1.One() + " | "; 15 | 16 | $('#Info').text = str + "-> Two"; 17 | str += "Two = " + panel2.Two() + " | "; 18 | 19 | 20 | $('#Info').text = str + "-> WatTwo"; 21 | panel1.WatTwo = panel2.Two; 22 | str += "WatTwo = " + panel1.WatTwo() + " | "; 23 | 24 | $('#Info').text = str; 25 | })(); -------------------------------------------------------------------------------- /layout/debuglayout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /layout/matchtiles/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /layout/survival/survival_playerremainingcounter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /layout/hud/hudradio.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /scripts/tooltips/stats/tooltip_playerstats_linegraph_stat_button.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var PlayerStatsLineGraphStatButtonTooltip = ( function() 4 | { 5 | 6 | function _Init () 7 | { 8 | var title = $.GetContextPanel().GetAttributeString( "title", "" ); 9 | var text = $.GetContextPanel().GetAttributeString( "text", "" ); 10 | var addClass = $.GetContextPanel().GetAttributeString( "class", "" ); 11 | 12 | var elTitle = $.GetContextPanel().FindChildTraverse( 'title' ); 13 | $.GetContextPanel().SetDialogVariable( 'title', title ); 14 | elTitle.visible = title != undefined && title != ''; 15 | 16 | var elText = $.GetContextPanel().FindChildTraverse( 'text' ); 17 | $.GetContextPanel().SetDialogVariable( 'text', text ); 18 | elText.visible = text != undefined && text != ''; 19 | 20 | $.GetContextPanel().AddClass( addClass ); 21 | } 22 | 23 | return { 24 | Init: _Init, 25 | } 26 | 27 | 28 | })(); 29 | 30 | (function() 31 | { 32 | })(); -------------------------------------------------------------------------------- /scripts/tests/anim.js: -------------------------------------------------------------------------------- 1 | function TestKeyframes() 2 | { 3 | var panel = $('#csstest'); 4 | 5 | 6 | var kfs = panel.CreateCopyOfCSSKeyframes( 'slidein' ); 7 | 8 | 9 | var kf = kfs.FindClosestKeyframe( 90.0 ); 10 | kfs.SetKeyframeProperty( kf, 'x:300px;'); 11 | 12 | 13 | kf = kfs.FindClosestKeyframe( 0.0 ); 14 | kf = kfs.InsertCopyOfKeyframe( 45.0, kf ); 15 | 16 | 17 | kfs.SetKeyframeProperty( kf, 'x:200px;y:200px;'); 18 | 19 | 20 | panel.UpdateCurrentAnimationKeyframes( kfs ); 21 | 22 | 23 | panel.DeleteKeyframes( kfs ); 24 | } 25 | 26 | 27 | ( function() { 28 | 29 | } )(); -------------------------------------------------------------------------------- /layout/tooltips/stats/tooltip_playerstats_generic.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /styles/tooltips/tooltip_scoreboard_casualties.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .tooltip-sb-casualties 4 | { 5 | 6 | 7 | flow-children: none; 8 | background-color: #00000000; 9 | } 10 | 11 | .tooltip-txt-default 12 | { 13 | font-family: Stratum2, 'Arial Unicode MS'; 14 | font-size: 18px; 15 | color: #fff; 16 | vertical-align: middle; 17 | opacity: 0.5; 18 | 19 | 20 | } 21 | 22 | .TooltipContainer.RightArrowVisible #Contents 23 | { 24 | min-height: 200px; 25 | } 26 | 27 | #Contents{ 28 | background-color: #00000000; 29 | padding: 0px; 30 | box-shadow: none; 31 | } 32 | 33 | #TextLabel--CT{ 34 | 35 | vertical-align: middle; 36 | margin-bottom: 65px; 37 | wash-color: color-CT; 38 | 39 | } 40 | 41 | #TextLabel--T{ 42 | 43 | vertical-align: middle; 44 | margin-top: 65px; 45 | wash-color: color-T; 46 | } 47 | 48 | #id-tooltip-sb-casualties #RightArrow{ 49 | 50 | visibility: collapse; 51 | } 52 | 53 | -------------------------------------------------------------------------------- /csgo_keybinds.cfg: -------------------------------------------------------------------------------- 1 | buymenu#key_1 BuyMenu_ActivateWedge(0) 2 | buymenu#key_pad_1 BuyMenu_ActivateWedge(0) 3 | buymenu#key_2 BuyMenu_ActivateWedge(1) 4 | buymenu#key_pad_2 BuyMenu_ActivateWedge(1) 5 | buymenu#key_3 BuyMenu_ActivateWedge(2) 6 | buymenu#key_pad_3 BuyMenu_ActivateWedge(2) 7 | buymenu#key_4 BuyMenu_ActivateWedge(3) 8 | buymenu#key_pad_4 BuyMenu_ActivateWedge(3) 9 | buymenu#key_5 BuyMenu_ActivateWedge(4) 10 | buymenu#key_pad_5 BuyMenu_ActivateWedge(4) 11 | buymenu#key_6 BuyMenu_ActivateWedge(5) 12 | buymenu#key_pad_6 BuyMenu_ActivateWedge(5) 13 | popup_ban_player#key_1 Test(0) 14 | popup_ban_player#key_pad_1 Test(0) 15 | popup_ban_player#key_2 Test(1) 16 | popup_ban_player#key_pad_2 Test(1) 17 | popup_ban_player#key_3 Test(2) 18 | popup_ban_player#key_pad_3 Test(2) 19 | popup_ban_player#key_4 Test(3) 20 | popup_ban_player#key_pad_4 Test(3) 21 | popup_ban_player#key_5 Test(4) 22 | popup_ban_player#key_pad_5 Test(4) 23 | popup_ban_player#key_6 Test(5) 24 | popup_ban_player#key_pad_6 Test(5) 25 | -------------------------------------------------------------------------------- /layout/mute_spinner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 22 | 23 | 24 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /layout/context_menus/context_menu_store_linked_items.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /styles/popups/popup_go_team_matchmaking.css: -------------------------------------------------------------------------------- 1 | .PopupPanel 2 | { 3 | max-width: 900px; 4 | } 5 | 6 | .popup-go-team-matchmaking-group 7 | { 8 | flow-children: down; 9 | border: 1px solid rgba( 128, 128, 128, 0.3 ); 10 | padding: 10px; 11 | margin: 10px 40px; 12 | } 13 | 14 | .popup-directcode-entry 15 | { 16 | margin-left: 28px; 17 | margin-bottom: 16px; 18 | width: fit-children; 19 | height: fit-children; 20 | 21 | flow-children: right; 22 | horizontal-align: right; 23 | } 24 | 25 | .popup-directcode-entry TextEntry 26 | { 27 | width: 250px; 28 | margin-right: 10px; 29 | text-transform: uppercase; 30 | } 31 | 32 | 33 | .play-menu__playbtn.play-menu__playbtn--startsearch 34 | { 35 | min-width:375px; 36 | horizontal-align: right; 37 | } 38 | 39 | .play-menu__playbtn.play-menu__playbtn--startsearch Label 40 | { 41 | horizontal-align: center; 42 | font-size: 28px; 43 | } 44 | 45 | .team_popup_image 46 | { 47 | margin-top: 12px; 48 | margin-left: 24px; 49 | opacity:.1; 50 | } 51 | 52 | -------------------------------------------------------------------------------- /styles/context_menus/context_menu_mainmenu_vanity.css: -------------------------------------------------------------------------------- 1 | #ContextMenuBodyWeapons 2 | { 3 | max-height: 300px; 4 | width:fit-children; 5 | overflow: scroll; 6 | } 7 | 8 | .ContextMenuItem Button.vanity-item--weapon 9 | { 10 | height:30px; 11 | padding: 0px; 12 | width:fit-children; 13 | } 14 | 15 | .ContextMenuItem Button.vanity-item 16 | { 17 | width: 300px; 18 | } 19 | 20 | .ContextMenuItem .vanity-item--weapon .vanity-item__label 21 | { 22 | padding: 4px 16px; 23 | width:fit-children; 24 | } 25 | 26 | .ContextMenuItem .vanity-item__label 27 | { 28 | max-height: 100%; 29 | text-overflow:shrink; 30 | width:fit-children; 31 | } 32 | 33 | .ContextMenuItem .vanity-item__rarity 34 | { 35 | max-height: 100%; 36 | height: 100%; 37 | width:25px; 38 | } 39 | .content-navbar__tabs__dropdown_vanity 40 | { 41 | height: 30px; 42 | width: 300px; 43 | margin: 0px 4px 0px 4px; 44 | border: 1px solid rgba(255, 255, 255, 0.1); 45 | border-radius: 0px; 46 | } 47 | -------------------------------------------------------------------------------- /styles/notification/notification_equip.css: -------------------------------------------------------------------------------- 1 | .inv-notification 2 | { 3 | max-width: 512px; 4 | background-color: contextMenuBackground; 5 | vertical-align: Bottom; 6 | margin: 0px 0px 64px 64px; 7 | box-shadow: shadowOffset; 8 | 9 | opacity: 0; 10 | visibility: collapse; 11 | } 12 | 13 | .inv-notification-text 14 | { 15 | padding: 32px; 16 | } 17 | 18 | .inv-notification.show 19 | { 20 | visibility: visible; 21 | animation-name: NotificationShowHide; 22 | animation-duration: 5s; 23 | animation-timing-function: ease-in-out; 24 | animation-iteration-count: 1; 25 | } 26 | 27 | @keyframes 'NotificationShowHide' 28 | { 29 | 0% 30 | { 31 | transform: translateY( 100% ); 32 | opacity: 0; 33 | } 34 | 35 | 15% 36 | { 37 | transform: translateY( 0% ); 38 | opacity: 1; 39 | } 40 | 41 | 90% 42 | { 43 | transform: translateY( 0% ); 44 | opacity: 1; 45 | } 46 | 47 | 100% 48 | { 49 | transform: translateY( 100% ); 50 | opacity: 0; 51 | } 52 | } -------------------------------------------------------------------------------- /styles/popups/popup_choices.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .PopupPanel 4 | { 5 | width: 500px; 6 | } 7 | 8 | .popup-choices 9 | { 10 | flow-children: down; 11 | height: fit-children; 12 | width: 100%; 13 | margin-left: 20px; 14 | margin-right: 20px; 15 | } 16 | 17 | .popup-choices CSGOAvatarImage Image 18 | { 19 | margin: 0px; 20 | } 21 | 22 | 23 | 24 | 25 | 26 | .popup-map-vote #ChoicesContainer Button Label 27 | { 28 | text-transform: none; 29 | } 30 | 31 | .popup-choices 32 | { 33 | color: black; 34 | } -------------------------------------------------------------------------------- /layout/context_menus/context_menu_vote.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /layout/settings/settings_audio_panel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /layout/tooltips/stats/tooltip_playerstats_progress_graph_stat_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /styles/context_menus/context_menu_store_linked_items.css: -------------------------------------------------------------------------------- 1 | #ContextMenuBody.LeftArrowVisible #Contents 2 | { 3 | overflow: squish; 4 | box-shadow: fill #0000008b 1px 1px 8px 0px; 5 | margin: 8px; 6 | } 7 | 8 | #Contents.store-linked-items 9 | { 10 | width: fit-children; 11 | flow-children: down; 12 | padding: 12px; 13 | } 14 | 15 | .store-linked-items__tiles 16 | { 17 | flow-children: right; 18 | height: 280px; 19 | } 20 | 21 | .store-linked-items__warning 22 | { 23 | flow-children: right; 24 | background-color: rgba(0, 0, 0, 0.60); 25 | horizontal-align: center; 26 | border-radius: 3px; 27 | opacity: .5; 28 | } 29 | 30 | .store-linked-items__warning Image 31 | { 32 | margin-left: 6px; 33 | } 34 | 35 | .store-linked-items__warning__text 36 | { 37 | font-size: 14px; 38 | padding: 8px 0px 8px 8px; 39 | width: 318px; 40 | visibility: visible; 41 | } 42 | 43 | .hidewarning .store-linked-items__warning 44 | { 45 | visibility: collapse; 46 | } 47 | -------------------------------------------------------------------------------- /styles/popups/popup_welcome_launch.css: -------------------------------------------------------------------------------- 1 | 2 | .PopupPanel 3 | { 4 | max-width: 900px; 5 | background-color: gradient( linear, 0% 0%, 0% 100%, from( black ), to( rgba(44, 44, 44, 1)) ); 6 | border: 0px solid black; 7 | } 8 | 9 | .PopupPanel Label 10 | { 11 | font-family: Stratum2, 'Arial Unicode MS'; 12 | } 13 | 14 | .PopupTitle 15 | { 16 | margin-bottom: 0px; 17 | } 18 | 19 | .popup_welcome_title 20 | { 21 | horizontal-align: center; 22 | margin-top: 32px; 23 | } 24 | 25 | .popup_welcome_bg 26 | { 27 | width: 695px; 28 | height: 768px; 29 | background-image: url("file://{images}/backgrounds/welcome_popup_bg.png"); 30 | } 31 | 32 | .popup_welcome_fade 33 | { 34 | background-color: gradient( linear, 0% 100%, 0% 0%, from( #000000d3 ), to( #00000000 ) ); 35 | vertical-align: bottom; 36 | height: 100%; 37 | width: 100%; 38 | } 39 | 40 | .popup_welcome_body 41 | { 42 | width: 100%; 43 | color: white; 44 | padding: 0px 64px 32px 64px; 45 | vertical-align: bottom; 46 | text-align: center; 47 | } 48 | 49 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_title_progressbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 22 | 23 | -------------------------------------------------------------------------------- /layout/context_menus/context_menu_lobbies.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /layout/hud/huddamageindicator.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /styles/hud/hudtablethints.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .tablethints 4 | { 5 | flow-children: right; 6 | vertical-align: bottom; 7 | horizontal-align: center; 8 | margin-bottom: 0px; 9 | visibility: collapse; 10 | transform: translateY( 100% ); 11 | background-color: gradient( linear, 100% 0%, 0% 0%, from( #00000000 ), color-stop(0.2, #000000BB), color-stop( 0.3, #000000CB ) , color-stop(0.7, #000000CB), color-stop(0.8, #000000BB), to( #00000000 ) ); 12 | 13 | padding: 12px 16px; 14 | margin-bottom: 0px; 15 | 16 | transition-property: transform; 17 | transition-duration: .25s; 18 | transition-timing-function: ease-in-out; 19 | 20 | } 21 | 22 | .tablethints__text 23 | { 24 | font-size: 18px; 25 | font-weight: medium; 26 | white-space:nowrap; 27 | letter-spacing: 0.4px; 28 | margin: 0px 8px; 29 | text-shadow-fast: 1px 1px #00000088; 30 | color: white; 31 | } 32 | 33 | .tabletenabled.survival .tablethints 34 | { 35 | visibility: visible; 36 | transform: translateY( 0% ); 37 | } 38 | -------------------------------------------------------------------------------- /layout/broadcast_toggle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /layout/operation/operation_active_mission.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /scripts/common/panelregistration.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | 4 | 5 | 6 | 7 | (function() 8 | { 9 | 10 | 11 | 12 | UiToolkitAPI.RegisterPanel2d( 'CSGOPerfTestsJsMultipleContexts', 'file://{resources}/layout/tests/perf/perf_jsmultiplecontexts.xml' ); 13 | UiToolkitAPI.RegisterPanel2d( 'CSGOPerfTestsJsSingleContext', 'file://{resources}/layout/tests/perf/perf_jssinglecontext.xml' ); 14 | UiToolkitAPI.RegisterPanel2d( 'CSGOPerfTestsTypeSafety', 'file://{resources}/layout/tests/perf/type_safety.xml'); 15 | 16 | 17 | UiToolkitAPI.RegisterPanel2d( 'ControlLibTestPanel', 'file://{resources}/layout/tests/controllibtestpanel.xml' ); 18 | })(); -------------------------------------------------------------------------------- /layout/hud/hudhinttext.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /layout/context_menus/context_menu_rewards.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /styles/mainmenu_license.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .mainmenu-license-container 4 | { 5 | height: 275px; 6 | width: 256px; 7 | background-color: black; 8 | padding: 8px; 9 | flow-children: down; 10 | background-image: url("file://{images}/backgrounds/license_bg.png"); 11 | background-size: cover; 12 | background-img-opacity: .3; 13 | box-shadow: shadowOffset; 14 | margin-top: 8px; 15 | transition-property: opacity, height; 16 | transition-duration: .25s; 17 | transition-timing-function: ease-in-out; 18 | } 19 | 20 | .mainmenu-license-container.hidden 21 | { 22 | opacity: 0; 23 | height: 0px; 24 | margin-top: 0px; 25 | transition-property: opacity, height; 26 | transition-duration: .25s; 27 | transition-timing-function: ease-in-out; 28 | } 29 | 30 | .mainmenu-license-container .mainmenu-license__text 31 | { 32 | height: fit-children; 33 | vertical-align: top; 34 | color: white; 35 | max-height: 150px; 36 | text-overflow: shrink; 37 | } 38 | 39 | .mainmenu-license-container .mainmenu-license__text--title 40 | { 41 | margin: 4px 0px; 42 | } 43 | 44 | -------------------------------------------------------------------------------- /styles/simple_player_tile.css: -------------------------------------------------------------------------------- 1 | .simple-avatar 2 | { 3 | width: 100%; 4 | flow-children: right; 5 | opacity: 1; 6 | 7 | transition-property: opacity, transform, position, brightness; 8 | transition-duration: .25s; 9 | transition-timing-function: ease-in-out; 10 | } 11 | 12 | .simple-avatar:hover 13 | { 14 | brightness: 1.5; 15 | background-color: rgba( 0, 0, 0, 0.2); 16 | } 17 | 18 | .simple-avatar.hidden 19 | { 20 | opacity: 0; 21 | transform: scale3d( 0.9, 0.9, 1); 22 | 23 | transition-property: opacity, transform, position, brightness; 24 | transition-duration: 0.25s; 25 | transition-timing-function: ease-in-out; 26 | } 27 | 28 | .simple-avatar CSGOAvatarImage 29 | { 30 | width: 30px; 31 | height: 30px; 32 | } 33 | 34 | .simple-avatar-name 35 | { 36 | font-size: 18px; 37 | padding: 0px 8px; 38 | width: 100%; 39 | text-overflow: ellipsis; 40 | vertical-align: center; 41 | 42 | color: #EEEEEE; 43 | font-weight: bold; 44 | text-shadow: 1px 1px 2px #000000; 45 | 46 | 47 | max-height: 20px; 48 | } 49 | 50 | -------------------------------------------------------------------------------- /styles/popups/popup_manager.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | PopupManager 4 | { 5 | width: 100%; 6 | height: 100%; 7 | } 8 | 9 | #DimBackground 10 | { 11 | width: 100%; 12 | height: 100%; 13 | background-color: #000000; 14 | opacity: 0.75; 15 | 16 | transition-property: opacity; 17 | transition-duration: 0.3s; 18 | transition-timing-function: ease-in; 19 | transition-delay: 0s; 20 | 21 | } 22 | 23 | #DimBackground.Hidden 24 | { 25 | opacity: 0; 26 | } 27 | 28 | #BlurBackground 29 | { 30 | width: 100%; 31 | height: 100%; 32 | background-color: blurBackgroundColor; 33 | 34 | transition-property: background-color, opacity; 35 | transition-duration: 0.3s; 36 | transition-timing-function: ease-in-out; 37 | } 38 | 39 | #BlurBackground.Hidden 40 | { 41 | opacity: 0; 42 | 43 | transition-property: background-color, opacity; 44 | transition-duration: 0.3s; 45 | transition-timing-function: ease-in-out; 46 | } 47 | 48 | #BlurBackground:active 49 | { 50 | sound: "ui_settings_out_multi"; 51 | } 52 | 53 | -------------------------------------------------------------------------------- /layout/tournament_tile_champions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /scripts/tooltips/stats/tooltip_playerstats_generic.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var PlayerStatsGenericTooltip = ( function() 4 | { 5 | 6 | function _Init () 7 | { 8 | var title = $.GetContextPanel().GetAttributeString( "title", "" ); 9 | var text = $.GetContextPanel().GetAttributeString( "text", "" ); 10 | var loc = $.GetContextPanel().GetAttributeString( "loc", "" ); 11 | var addClass = $.GetContextPanel().GetAttributeString( "class", "" ); 12 | 13 | var elTitle = $.GetContextPanel().FindChildTraverse( 'title' ); 14 | $.GetContextPanel().SetDialogVariable( 'title', title ); 15 | elTitle.visible = title != undefined && title != ''; 16 | 17 | var elText = $.GetContextPanel().FindChildTraverse( 'text' ); 18 | if ( loc != "" ) 19 | text = $.Localize( loc ); 20 | 21 | $.GetContextPanel().SetDialogVariable( 'text', text ); 22 | elText.visible = text != undefined && text != ''; 23 | 24 | $.GetContextPanel().AddClass( addClass ); 25 | } 26 | 27 | return { 28 | Init: _Init, 29 | } 30 | 31 | 32 | })(); 33 | 34 | (function() 35 | { 36 | })(); -------------------------------------------------------------------------------- /styles/shielddamagealert.css: -------------------------------------------------------------------------------- 1 | .ShieldDamageAlert 2 | { 3 | width: 110px; 4 | height: 110px; 5 | vertical-align: center; 6 | horizontal-align: center; 7 | } 8 | 9 | .ShieldDamageAlertOverlay 10 | { 11 | width: 100%; 12 | height: 100%; 13 | 14 | background-image: url( "file://{images}/icons/ui/shield_alert.svg" ); 15 | background-size: 100% 100%; 16 | background-position: center; 17 | background-repeat: no-repeat no-repeat; 18 | 19 | wash-color: #ffe100; 20 | -s2-mix-blend-mode: additive; 21 | 22 | opacity: 0.7; 23 | } 24 | 25 | .ShieldDamageAlertBackdrop 26 | { 27 | width: 100%; 28 | height: 100%; 29 | 30 | background-image: url( "file://{images}/icons/ui/shield_alert.svg" ); 31 | background-size: 100% 100%; 32 | background-position: center; 33 | background-repeat: no-repeat no-repeat; 34 | 35 | wash-color: #000000FF; 36 | 37 | opacity: 0.5; 38 | } 39 | 40 | .ShieldDamageAlertProgress 41 | { 42 | border: 1px solid #ffe100; 43 | width: 100%; 44 | height: 10%; 45 | background-color: #ffe100; 46 | margin-top: 100px; 47 | opacity: 0.7; 48 | } 49 | -------------------------------------------------------------------------------- /styles/popups/popup_directchallenge_join.css: -------------------------------------------------------------------------------- 1 | 2 | .root 3 | { 4 | 5 | } 6 | 7 | .entry-row 8 | { 9 | margin-left: 32px; 10 | } 11 | 12 | .entry-row TextEntry 13 | { 14 | width: 400px; 15 | } 16 | 17 | .results-panel 18 | { 19 | font-size : 14px; 20 | max-width : 500px; 21 | horizontal-align : left; 22 | } 23 | 24 | .not-vailid 25 | { 26 | color: warningColor; 27 | text-overflow: noclip; 28 | height: 40px; 29 | } 30 | 31 | .validation-results-container 32 | { 33 | margin-left: 28px; 34 | margin-right: 78px; 35 | padding: 0px; 36 | } 37 | 38 | .results-panel-valid .validation-results-container 39 | { 40 | 41 | 42 | 43 | 44 | 45 | transition-property: background-color; 46 | transition-duration: .25s; 47 | transition-timing-function: ease-in-out; 48 | } 49 | 50 | .avatar-container 51 | { 52 | horizontal-align: center; 53 | width: 100%; 54 | } 55 | 56 | .results-panel-valid .validation-results-container:hover .simple-avatar 57 | { 58 | background-color: #00000000; 59 | } 60 | -------------------------------------------------------------------------------- /layout/settings/settings_video_panel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /layout/popups/popup_license_register.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 26 | 27 | -------------------------------------------------------------------------------- /styles/characterbuttons.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | .border-right-white { 5 | border-right: 1px solid #ffffff22; 6 | } 7 | 8 | .margin-right-20 { 9 | padding-right: 20px; 10 | } 11 | 12 | #LoadoutSingleItemModelWeaponChoice { 13 | width: 370px; 14 | 15 | height: 50px; 16 | } 17 | 18 | #LoadoutSingleItemModelWeaponChoice Label{ 19 | text-overflow: shrink; 20 | } 21 | 22 | .popup-button-row 23 | { 24 | width: 90%; 25 | border-top: 1px solid rgba(145, 145, 145, 0.5); 26 | vertical-align: bottom; 27 | horizontal-align: center; 28 | padding: 8px 0px 8px 0px; 29 | } 30 | 31 | .loadout-character-controls .IconButton Image 32 | { 33 | height: 36px; 34 | } 35 | 36 | .loadout-character-controls 37 | { 38 | width: 90%; 39 | vertical-align: bottom; 40 | horizontal-align: center; 41 | flow-children: right; 42 | } 43 | 44 | #LoadoutCharacterControls { 45 | vertical-align: center; 46 | } 47 | 48 | .hidden 49 | { 50 | visibility: collapse; 51 | } 52 | 53 | 54 | .loadout--no-item ItemImage 55 | { 56 | visibility: collapse; 57 | } 58 | -------------------------------------------------------------------------------- /styles/hud/hudmissionpanel.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .hud-mission-panel { 4 | width: 400px; 5 | height: fit-children; 6 | vertical-align:top; 7 | horizontal-align:left; 8 | 9 | padding: 10px 0px 10px 0px; 10 | opacity: 0; 11 | transform: translateX( -200px); 12 | 13 | transition-property: transform, opacity; 14 | transition-duration: 0.20s; 15 | transition-timing-function: ease-in-out; 16 | } 17 | 18 | .show.hud-mission-panel 19 | { 20 | visibility: visible; 21 | opacity: 1; 22 | transform: translateX( 0px); 23 | 24 | transition-property: transform, opacity; 25 | transition-duration: 0.20s; 26 | transition-timing-function: ease-in-out; 27 | } 28 | 29 | .hud-mission-panel-bg 30 | { 31 | background-color: gradient( linear, 100% 0%, 0% 0%, from( #00000000 ), color-stop( 0.5, #000000CC ) , color-stop(0.6, #000000CC), color-stop( 0.9, #000000BB ), to( #00000000 ) ); 32 | width: 100%; 33 | height: 100%; 34 | } 35 | 36 | .hud-mission-content 37 | { 38 | width: 100%; 39 | height: fit-children; 40 | } 41 | 42 | -------------------------------------------------------------------------------- /styles/tooltips/tooltip_title_text.css: -------------------------------------------------------------------------------- 1 | .TitleTextContents 2 | { 3 | width: 350px; 4 | flow-children: down; 5 | } 6 | 7 | #TitleLabel 8 | { 9 | font-size: 18px; 10 | font-family: Stratum2; 11 | color: white; 12 | font-weight: bold; 13 | } 14 | 15 | #TextLabel 16 | { 17 | font-size: 14px; 18 | font-family: Stratum2; 19 | font-weight: medium; 20 | color: #bbbbbb; 21 | } 22 | 23 | #TextPercentage 24 | { 25 | font-size: 12px; 26 | font-family: Stratum2; 27 | font-weight: medium; 28 | color: #bbbbbb; 29 | margin-right: 4px; 30 | vertical-align: center; 31 | } 32 | 33 | .tooltip-progress-bar 34 | { 35 | vertical-align: center; 36 | width: 100%; 37 | height: fit-children; 38 | box-shadow: shadowOffset; 39 | } 40 | 41 | .tooltip-progress-bar__bar 42 | { 43 | background-color: #062f46; 44 | height: 8px; 45 | width: 100%; 46 | } 47 | 48 | .tooltip-progress-bar__bar--inner 49 | { 50 | background-color: gradient( linear, 0% 0%, 100% 0%, from ( #0A5A84 ), to( #5DC6FF )); 51 | width: 50%; 52 | height: 100%; 53 | } 54 | 55 | -------------------------------------------------------------------------------- /layout/popups/popup_store_status.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 22 | 23 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_model_panel_instructions_camera.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /layout/match-reconnect.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 25 | -------------------------------------------------------------------------------- /styles/hud/hudautodisconnect.css: -------------------------------------------------------------------------------- 1 | 2 | .hidden 3 | { 4 | visibility: collapse; 5 | } 6 | 7 | .auto-disconnect 8 | { 9 | width: fit-children; 10 | height: fit-children; 11 | horizontal-align: right; 12 | vertical-align: top; 13 | margin-right: 10px; 14 | } 15 | 16 | .auto-disconnect-container 17 | { 18 | flow-children: down; 19 | background-color: contentPanelBackground; 20 | padding: 16px; 21 | } 22 | 23 | .auto-disconnect-container Label 24 | { 25 | font-family: stratum2, 'Arial Unicode MS'; 26 | font-weight: medium; 27 | wash-color: red; 28 | } 29 | 30 | .auto-disconnect-container Image 31 | { 32 | wash-color: red; 33 | } 34 | 35 | .auto-disconnect_top-label 36 | { 37 | text-align: center; 38 | padding: 4px; 39 | font-size: 32px; 40 | } 41 | 42 | .bottom-container 43 | { 44 | horizontal-align: center; 45 | flow-children: right; 46 | } 47 | 48 | .bottom-container Image 49 | { 50 | vertical-align: center; 51 | } 52 | 53 | .auto-disconnect_bottom-label 54 | { 55 | text-align: center; 56 | padding: 4px; 57 | font-size: 28px; 58 | } 59 | -------------------------------------------------------------------------------- /scripts/popups/popup_hud_edge_positions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var HudEdgePositions = ( function() { 4 | 5 | 6 | var _OnSliderValueChanged = function() 7 | { 8 | var width = $('#HudEdgeX').ActualValue() * 100; 9 | width = width.toString() + '%'; 10 | 11 | var height = $('#HudEdgeY').ActualValue() * 100; 12 | height = height.toString() + '%'; 13 | 14 | var elHudEdge = $( '#HudEdge' ); 15 | elHudEdge.style.width = width; 16 | elHudEdge.style.height = height; 17 | } 18 | 19 | 20 | return { 21 | OnSliderValueChanged : _OnSliderValueChanged 22 | }; 23 | 24 | 25 | } )(); 26 | 27 | ( function() 28 | { 29 | 30 | 31 | 32 | $('#HudEdgeX').OnShow(); 33 | $('#HudEdgeY').OnShow(); 34 | 35 | HudEdgePositions.OnSliderValueChanged(); 36 | } )(); -------------------------------------------------------------------------------- /scripts/popups/popup_welcome_launch.js: -------------------------------------------------------------------------------- 1 | var WelcomeLaunch = (function () { 2 | 3 | function _OnOKPressed() { 4 | var strGoalVersion = $.GetContextPanel().GetAttributeString("uisettingversion", ''); 5 | GameInterfaceAPI.SetSettingString('ui_popup_weaponupdate_version', strGoalVersion); 6 | $.DispatchEvent('UIPopupButtonClicked', ''); 7 | $.DispatchEvent('PlayMainMenuMusic', true, true ); 8 | _PlayMenuSong(); 9 | } 10 | 11 | function _OnCancelPressed() { 12 | _OnOKPressed(); 13 | } 14 | 15 | function _OnGithubButtonPressed() { 16 | SteamOverlayAPI.OpenUrlInOverlayOrExternalBrowser("https://github.com/DeformedSAS/CS-GO-Custom-Panorama-CS2-"); 17 | } 18 | 19 | function _PlayMenuSong() { 20 | $.DispatchEvent('PlayMainMenuMusic', true, false ); 21 | } 22 | 23 | return { 24 | OnOKPressed: _OnOKPressed, 25 | OnCancelPressed: _OnCancelPressed, 26 | OnGithubButtonPressed: _OnGithubButtonPressed, 27 | }; 28 | })(); 29 | 30 | $.DispatchEvent('PlayMainMenuMusic', false, true); 31 | $.DispatchEvent('PlaySoundEffect', 'UIPanorama.welcome_popup', 'MOUSE'); 32 | -------------------------------------------------------------------------------- /styles/mute_spinner.css: -------------------------------------------------------------------------------- 1 | 2 | #id-mute-spinner { 3 | 4 | 5 | width: 34px; 6 | height:34px; 7 | 8 | 9 | 10 | 11 | background-image: url('file://{images}/icons/ui/unmuted.svg'); 12 | background-size: 100% 100%; 13 | background-position: center; 14 | background-img-opacity: 0.1; 15 | 16 | } 17 | 18 | 19 | #id-mute-spinner.muted { 20 | background-img-opacity: 0.0; 21 | } 22 | 23 | #id-mute-value { 24 | 25 | vertical-align: center; 26 | horizontal-align: center; 27 | 28 | opacity: 1.0; 29 | 30 | font-size: 18px; 31 | 32 | font-family: Stratum2 Monodigit, 'Arial Unicode MS'; 33 | text-shadow: 0px 0px 1px 2.0 black; 34 | } 35 | 36 | #id-mute-muted-img { 37 | 38 | width: 100%; 39 | height: 100%; 40 | 41 | margin: 0px; 42 | 43 | } 44 | 45 | #id-mute-bar { 46 | 47 | width: 100%; 48 | height: 100%; 49 | 50 | background-color: white; 51 | opacity: 0.5; 52 | 53 | transition-property: opacity, height; 54 | transition-duration: 1.0s, 0.01s; 55 | 56 | vertical-align: bottom; 57 | } 58 | 59 | #id-mute-bar.fade { 60 | 61 | opacity: 0.0; 62 | } 63 | 64 | 65 | .hidden { 66 | 67 | visibility: collapse; 68 | } 69 | -------------------------------------------------------------------------------- /styles/popups/popup_hud_edge_positions.css: -------------------------------------------------------------------------------- 1 | 2 | .hud_edge_positions 3 | { 4 | width: 100%; 5 | height: 100%; 6 | 7 | position: 0px 0px 0px; 8 | padding: 0px 0px 0px 0px; 9 | min-width: 0px; 10 | opacity: 0.75; 11 | background-color: black; 12 | border: 2px solid white; 13 | border-radius: 0px; 14 | horizontal-align: center; 15 | vertical-align: center; 16 | } 17 | 18 | .hud_edge_button_container 19 | { 20 | flow-children: down; 21 | horizontal-align: center; 22 | vertical-align: center; 23 | } 24 | 25 | .hud_edge_button_container Label 26 | { 27 | horizontal-align: center; 28 | } 29 | 30 | .hud_edge 31 | { 32 | opacity: 1; 33 | transition-property: opacity; 34 | transition-duration: .25s; 35 | transition-timing-function: ease-in-out; 36 | } 37 | 38 | .hud_edge.Hidden 39 | { 40 | opacity: 0; 41 | } 42 | 43 | .hud_edge_button_title 44 | { 45 | font-size: 24px; 46 | margin-bottom: 20px; 47 | } 48 | 49 | .hud_edge_button_type 50 | { 51 | font-size: 16px; 52 | margin-bottom: 20px; 53 | } 54 | 55 | .hud_edge_slider_container 56 | { 57 | width: 300px; 58 | horizontal-align: center; 59 | } 60 | -------------------------------------------------------------------------------- /styles/popups/popup_rankup_redemption_store.css: -------------------------------------------------------------------------------- 1 | .PopupPanel 2 | { 3 | background-color: none; 4 | box-shadow: none; 5 | border: 1px solid rgba(0,0,0,0); 6 | } 7 | 8 | @define store-home-section-width: 1280px; 9 | .popup-rrs-root 10 | { 11 | width: store-home-section-width; 12 | max-width: 1600px; 13 | } 14 | 15 | .store-home-rewards-section-bg 16 | { 17 | width: 100%; 18 | height: 100%; 19 | ignore-parent-flow:true; 20 | blur: mipmapgaussian(4, 4, 2); 21 | background-image: url("file://{images}/backgrounds/weekly_rewards.png"); 22 | background-size: cover; 23 | background-position: 50% 50%; 24 | background-repeat: no-repeat; 25 | background-img-opacity: 1; 26 | } 27 | 28 | .rrs-popup__bg 29 | { 30 | horizontal-align: center; 31 | flow-children: down; 32 | width: 100%; 33 | } 34 | 35 | .rrs-popup__desc 36 | { 37 | horizontal-align: center; 38 | font-family: Stratum2; 39 | font-size: 20px; 40 | margin: 10px; 41 | padding: 20px; 42 | } 43 | 44 | .rrs-popup__frame 45 | { 46 | margin: 20px; 47 | } 48 | 49 | .PopupButtonRow 50 | { 51 | margin: 0px 32px 0px 32px; 52 | } 53 | -------------------------------------------------------------------------------- /layout/popups/popup_activate_mission.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 27 | 28 | -------------------------------------------------------------------------------- /default_keybinds.cfg: -------------------------------------------------------------------------------- 1 | key_left MoveLeft 2 | key_right MoveRight 3 | key_up MoveUp 4 | key_down MoveDown 5 | key_minus ScrollUp 6 | key_equal ScrollDown 7 | key_pageup PageUp 8 | key_pagedown PageDown 9 | key_tab TabForward 10 | mod_shift+key_tab TabBackward 11 | mod_alt+key_q QuitApp 12 | key_home ShowHome 13 | 14 | key_enter Activated 15 | key_pad_enter Activated 16 | key_escape Cancelled 17 | key_app ContextMenu 18 | mod_ctrl+mod_shift+key_left PageShiftLeft 19 | mod_ctrl+mod_shift+key_right PageShiftRight 20 | 21 | pad_stick1_up MoveUp 22 | pad_stick1_down MoveDown 23 | pad_stick1_left MoveLeft 24 | pad_stick1_right MoveRight 25 | pad_up MoveUp 26 | pad_down MoveDown 27 | pad_left MoveLeft 28 | pad_right MoveRight 29 | pad_left_shoulder PageShiftLeft 30 | pad_right_shoulder PageShiftRight 31 | pad_a Activated 32 | pad_b Cancelled 33 | pad_guide GuideButton 34 | pad_guide(up) GuideButtonUp 35 | 36 | key_volume_mute MediaVolumeMute 37 | key_volume_down MediaVolumeDown 38 | key_volume_up MediaVolumeUp 39 | key_media_next_track MediaNextTrack 40 | key_media_prev_track MediaPrevTrack 41 | key_media_stop MediaStop 42 | key_media_play_pause MediaPlayPause 43 | 44 | key_g ShowQuitDialog -------------------------------------------------------------------------------- /scripts/common/anim_background.js: -------------------------------------------------------------------------------- 1 | /// 2 | var HudSpecatorBg = (function () { 3 | const m_aPlayerTable = []; 4 | const m_elBg = $.GetContextPanel().FindChildTraverse('AnimBackground'); 5 | 6 | function _pickBg(xuid) { 7 | const playerXuid = xuid; 8 | if (!m_elBg || !m_elBg.IsValid()) { 9 | return; 10 | } 11 | m_elBg.steamid = playerXuid; 12 | return; 13 | } 14 | 15 | function _setBackground(bgIdx) { 16 | if (m_elBg) { 17 | m_elBg.SetHasClass('hidden', false); 18 | m_elBg.style.backgroundImage = 'url("file://{resources}/videos/card_' + bgIdx + '.webm");'; 19 | m_elBg.style.backgroundPosition = '0% 50%;'; 20 | m_elBg.style.backgroundSize = '100% auto;'; 21 | } 22 | } 23 | 24 | function _addPlayerToTable(playerXuid) { 25 | const nPlayers = m_aPlayerTable.length; 26 | const newIdx = (nPlayers + 1) % 10; 27 | m_aPlayerTable.push({ xuid: playerXuid, bgIdx: newIdx }); 28 | _setBackground(newIdx); 29 | } 30 | 31 | return { 32 | PickBg: _pickBg 33 | }; 34 | })(); -------------------------------------------------------------------------------- /layout/popups/popup_rankup_redemption_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 20 | -------------------------------------------------------------------------------- /styles/popups/popup_add_friend.css: -------------------------------------------------------------------------------- 1 | .PopupPanel 2 | { 3 | max-width: 900px; 4 | } 5 | 6 | .popup-addfriend-entry 7 | { 8 | margin-left: 28px; 9 | margin-bottom: 16px; 10 | width: fit-children; 11 | height: fit-children; 12 | 13 | flow-children: right; 14 | horizontal-align: left; 15 | } 16 | 17 | .popup-addfriend-entry TextEntry 18 | { 19 | text-transform: uppercase; 20 | } 21 | 22 | .popup-addfriend-icon 23 | { 24 | vertical-align: center; 25 | wash-color: #3E3E3E; 26 | margin-right: 16px; 27 | opacity: 1; 28 | visibility: visible; 29 | } 30 | 31 | .popup-addfriend-icon.hidden 32 | { 33 | opacity: 0; 34 | visibility: collapse; 35 | 36 | transition-property: opacity; 37 | transition-duration: .5s ; 38 | transition-timing-function: ease-in-out; 39 | } 40 | 41 | .PopupMessage 42 | { 43 | max-width: 520px; 44 | max-height: 68px; 45 | text-overflow: ellipsis; 46 | font-size: 14px; 47 | } 48 | 49 | .hidden 50 | { 51 | opacity: 0; 52 | } 53 | 54 | .validiation-icon 55 | { 56 | opacity: .04; 57 | vertical-align: center; 58 | margin-left: 8px; 59 | } 60 | 61 | .valid.validiation-icon 62 | { 63 | opacity: 1; 64 | 65 | } 66 | -------------------------------------------------------------------------------- /scripts/popups/popup_report_server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var PopupReportServer = ( function () 4 | { 5 | var _Init = function () 6 | { 7 | $.GetContextPanel().SetDialogVariable( "server_name", GameStateAPI.GetServerName() ); 8 | _UpdateSubmitButton(); 9 | } 10 | 11 | var _Submit = function () 12 | { 13 | var categories = ""; 14 | 15 | 16 | $.GetContextPanel().FindChildInLayoutFile( "id-report" ).Children().forEach( el => 17 | { 18 | if ( el.checked ) 19 | categories += el.GetAttributeString( "data-category", "" ) + ","; 20 | }); 21 | 22 | GameStateAPI.SubmitServerReport( categories ); 23 | 24 | $.DispatchEvent( 'UIPopupButtonClicked', '' ); 25 | } 26 | 27 | var _UpdateSubmitButton = function () 28 | { 29 | var bCanSubmit = $.GetContextPanel().FindChildInLayoutFile( "id-report" ).Children().some( function ( el ) 30 | { 31 | return el.checked; 32 | } ); 33 | 34 | $.GetContextPanel().FindChildInLayoutFile( "SubmitButton" ).enabled = bCanSubmit; 35 | } 36 | 37 | return { 38 | Init : _Init, 39 | Submit : _Submit, 40 | UpdateSubmitButton : _UpdateSubmitButton, 41 | }; 42 | })(); 43 | -------------------------------------------------------------------------------- /styles/tooltips/tooltip_text.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | .TextContents 4 | { 5 | min-width: 80px; 6 | max-width: 350px; 7 | flow-children: down; 8 | } 9 | 10 | .tooltip-txt-default, 11 | #TextLabel 12 | { 13 | font-family: Stratum2; 14 | font-size: 20px; 15 | font-weight: medium; 16 | color: #c8c8c8; 17 | vertical-align: middle; 18 | } 19 | 20 | .GameModeTooltip #TextLabel 21 | { 22 | font-family: Stratum2; 23 | font-size: 20px; 24 | font-weight: medium; 25 | color: #c8c8c8; 26 | horizontal-align: left; 27 | vertical-align: middle; 28 | } 29 | 30 | .BindingsTooltip #TextLabel 31 | { 32 | color: #c8c8c8; 33 | font-size: 20px; 34 | font-family: Stratum2; 35 | font-weight: medium; 36 | background-color: #1e2d3d; 37 | } 38 | 39 | .ShortTextTooltip #TextLabel 40 | { 41 | font-family: Stratum2; 42 | font-size: 20px; 43 | font-weight: medium; 44 | color: #c8c8c8; 45 | horizontal-align: left; 46 | vertical-align: middle; 47 | max-width: 400px; 48 | } 49 | 50 | .LeaverConsequencesTooltip #TextLabel 51 | { 52 | text-shadow: 0px 0px 6px 1.0 #ff000088; 53 | } 54 | 55 | .RecommendedUpgradeTooltip #TextLabel 56 | { 57 | color: #FF9900; 58 | } 59 | 60 | -------------------------------------------------------------------------------- /scripts/mainmenu_operation_balance_reminder.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var OpBalanceReminder = ( function() 4 | { 5 | var _Init = function() 6 | { 7 | var nSeasonIndex = 9; 8 | if( OperationUtil.ValidateOperationInfo( nSeasonIndex ) ) 9 | { 10 | var isPremium = OperationUtil.GetOperationInfo().bPremiumUser; 11 | var nBalance = OperationUtil.GetOperationInfo().nRedeemableBalance; 12 | if ( !isPremium || !nBalance || nBalance <= 0 ) { 13 | nBalance = 0; 14 | } 15 | $.GetContextPanel().FindChildInLayoutFile( 'id-op_balance-container').visible = ( nBalance > 0 ); 16 | $.GetContextPanel().FindChildInLayoutFile('id-store-operation-balance').SetDialogVariableInt( "your_stars", nBalance ); 17 | } 18 | } 19 | 20 | return{ 21 | Init: _Init 22 | } 23 | } )(); 24 | 25 | ( function() 26 | { 27 | OpBalanceReminder.Init(); 28 | $.RegisterForUnhandledEvent( 'PanoramaComponent_MyPersona_InventoryUpdated', OpBalanceReminder.Init ); 29 | } )(); -------------------------------------------------------------------------------- /layout/popups/popup_welcome_launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 23 | 24 | -------------------------------------------------------------------------------- /scripts/mainmenu_perf.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | 5 | 6 | 7 | var activeTab; 8 | 9 | function NavigateToTab( tab, PanelName, pressedBtnId ) 10 | { 11 | if ( activeTab ) 12 | { 13 | 14 | $.DispatchEvent( 'DeletePanel', activeTab ); 15 | } 16 | 17 | UiToolkitAPI.ProfilingScopeBegin( 'PerfNavigate' ); 18 | 19 | 20 | var newPanel = $.CreatePanel( PanelName, $.FindChildInContext('#JsPerfContent'), tab ); 21 | 22 | var durationMS = UiToolkitAPI.ProfilingScopeEnd(); 23 | 24 | $( '#JsPerfTime' ).text = durationMS.toFixed( 3 ); 25 | 26 | activeTab = tab; 27 | } 28 | 29 | 30 | 31 | 32 | (function () 33 | { 34 | activeTab = "JsPerfIntro"; 35 | })(); -------------------------------------------------------------------------------- /layout/popups/popup_tournament_select_spray.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 27 | 28 | -------------------------------------------------------------------------------- /layout/advertising_toggle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /styles/survival/survival_playerremainingcounter.css: -------------------------------------------------------------------------------- 1 | .playerremainingcounter 2 | { 3 | 4 | width: fit-children; 5 | 6 | height: 300px; 7 | } 8 | 9 | .playerremainingcounter-bg1 10 | { 11 | height: 164px; 12 | width: 164px; 13 | horizontal-align: center; 14 | vertical-align: top; 15 | margin-top: 66px; 16 | -s2-mix-blend-mode: multiply; 17 | } 18 | 19 | .playerremainingcounter-container 20 | { 21 | horizontal-align: center; 22 | vertical-align: top; 23 | flow-children: down; 24 | margin-top: 100px; 25 | 26 | padding-bottom: 1px; 27 | } 28 | 29 | .playerremainingcounter-counter 30 | { 31 | horizontal-align: center; 32 | color: #ddd; 33 | font-family: Stratum2 Bold Monodigit, 'Arial Unicode MS'; 34 | font-size: 68px; 35 | height: 72px; 36 | font-weight: bold; 37 | text-align: center; 38 | text-shadow: 0px 0px 3px 0.0 #000000DD; 39 | opacity: 0.9; 40 | } 41 | 42 | .playerremainingcounter-playersremain 43 | { 44 | color: #ddd; 45 | horizontal-align: center; 46 | font-family: Stratum2; 47 | font-size: 19px; 48 | text-align: center; 49 | font-weight: medium; 50 | text-shadow: 0px 0px 3px 0.0 #000000DD; 51 | 52 | background-color: rgba(0, 0, 0, 0.712); 53 | } -------------------------------------------------------------------------------- /layout/popups/popup_generic_text_entry.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 26 | 27 | -------------------------------------------------------------------------------- /styles/popups/popup_premier_matchmaking.css: -------------------------------------------------------------------------------- 1 | .PopupPanel 2 | { 3 | max-width: 1800px; 4 | width: 640px; 5 | } 6 | 7 | .popup-premier-title-container 8 | { 9 | height: fit-children; 10 | margin: 20px; 11 | padding: 12px 0px; 12 | background-color:#00000040; 13 | width: 100%; 14 | flow-children: down; 15 | 16 | background-image: url("file://{images}/map_icons/screenshots/360p/lobby_mapveto.png"); 17 | background-size: auto auto; 18 | background-repeat: no-repeat; 19 | background-position: 50% 0%; 20 | background-img-opacity: 0.25; 21 | } 22 | 23 | .popup-premier-title 24 | { 25 | font-size: 28px; 26 | font-weight: bold; 27 | font-family: Stratum2, 'Arial Unicode MS'; 28 | horizontal-align: center; 29 | vertical-align: center; 30 | text-align: center; 31 | } 32 | 33 | .popup-premier-desc 34 | { 35 | font-size: 18px; 36 | horizontal-align: center; 37 | margin: 0px 20px; 38 | height: fit-children; 39 | vertical-align: top; 40 | width: 520px; 41 | } 42 | 43 | .popup-premier-pick-ban-container 44 | { 45 | margin: 20px 20px 0px 20px; 46 | flow-children: down; 47 | height: fit-children; 48 | horizontal-align: center; 49 | } 50 | 51 | .popup-premier-pick-ban-image 52 | { 53 | margin-top: 12px; 54 | } 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /scripts/common/icon.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | "use strict"; 4 | 5 | var IconUtil = ( function () 6 | { 7 | 8 | var _SetPNGImageFallback = function( mapIconDetails, icon_image_path ) 9 | { 10 | if ( mapIconDetails.m_type == 'svg' ) 11 | { 12 | mapIconDetails.m_type = 'png'; 13 | mapIconDetails.m_icon.SetImage( icon_image_path + '.png' ); 14 | } 15 | else 16 | { 17 | $.UnregisterEventHandler( 'ImageFailedLoad', mapIconDetails.m_icon, mapIconDetails.m_handler ); 18 | mapIconDetails.m_icon.SetImage( 'file://{images}/map_icons/map_icon_NONE.png' ); 19 | } 20 | }; 21 | 22 | var _SetupFallbackMapIcon = function( elIconPanel, icon_image_path ) 23 | { 24 | var mapIconDetails = { m_icon: elIconPanel, m_type: 'svg', m_handler: -1 }; 25 | var eventHandler = $.RegisterEventHandler( 'ImageFailedLoad', elIconPanel, _SetPNGImageFallback.bind( undefined, mapIconDetails, icon_image_path ) ); 26 | mapIconDetails.m_handler = eventHandler; 27 | }; 28 | 29 | return{ 30 | SetupFallbackMapIcon : _SetupFallbackMapIcon 31 | }; 32 | })(); -------------------------------------------------------------------------------- /layout/hud/hudretake.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /layout/watchmatchtile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /layout/popups/stats/popup_playerstats_singlematch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /layout/hud/hudchat.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_playerprofile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /layout/popups/popup_inspect_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /layout/quickinventory.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_eventsched_team_simple.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /layout/premier_mapwinrecord.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 26 | 27 | -------------------------------------------------------------------------------- /layout/operation/operation_missions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /layout/popups/popup_custom_layout_test_image.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 31 | 32 | -------------------------------------------------------------------------------- /layout/settings/settings_promoted.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /scripts/popups/popup_report_player.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var PopupReportPlayer = ( function(){ 4 | 5 | var _Init = function () 6 | { 7 | 8 | var xuid = $.GetContextPanel().GetAttributeString( "xuid", "" ); 9 | 10 | $.GetContextPanel().SetDialogVariable( "target_player", GameStateAPI.GetPlayerName( xuid )); 11 | 12 | 13 | $.GetContextPanel().FindChildInLayoutFile( "id-report" ).Children().forEach( el => 14 | { 15 | var category = el.GetAttributeString( "data-category", "" ); 16 | 17 | el.enabled = GameStateAPI.IsReportCategoryEnabledForSelectedPlayer( xuid, category ); 18 | }); 19 | 20 | } 21 | 22 | var _Submit = function () 23 | { 24 | var categories = ""; 25 | 26 | 27 | $.GetContextPanel().FindChildInLayoutFile( "id-report" ).Children().forEach( el => 28 | { 29 | if ( el.checked ) 30 | categories += el.GetAttributeString( "data-category", "" ) + ","; 31 | }); 32 | 33 | var xuid = $.GetContextPanel().GetAttributeString( "xuid", "" ); 34 | 35 | GameStateAPI.SubmitPlayerReport( xuid, categories ); 36 | 37 | $.DispatchEvent( 'UIPopupButtonClicked', '' ); 38 | } 39 | 40 | return { 41 | Init : _Init, 42 | Submit : _Submit, 43 | }; 44 | })(); 45 | -------------------------------------------------------------------------------- /layout/tooltips/tooltip_player_xp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 19 | 27 | 28 | 30 | 31 | -------------------------------------------------------------------------------- /styles/popups/popup_mainmenu_overwatch_verdict.css: -------------------------------------------------------------------------------- 1 | .overwatch_verdict_desc 2 | { 3 | font-size: 18px; 4 | 5 | margin: 32px 64px; 6 | } 7 | 8 | .overwatch_verdict_type_title 9 | { 10 | font-size: 28px; 11 | font-weight: bold; 12 | 13 | margin: 4px 32px 0px 32px; 14 | } 15 | 16 | .overwatch_verdict_type_subtitle 17 | { 18 | font-size:18px; 19 | font-weight:bold; 20 | margin: 32px 32px 0px 32px; 21 | } 22 | 23 | .overwatch_verdict_type_desc 24 | { 25 | font-size: 18px; 26 | 27 | margin: 32px 32px; 28 | } 29 | 30 | .overwatch-button-container 31 | { 32 | flow-children:down; 33 | width:100%; 34 | margin: 0px 64px 28px 64px; 35 | } 36 | 37 | .overwatch-button 38 | { 39 | horizontal-align:left; 40 | } 41 | 42 | .overwatch-separator 43 | { 44 | margin: 0px 64px 0px 64px; 45 | } 46 | 47 | .overwatch-verdict-container 48 | { 49 | flow-children:down; 50 | overflow:squish scroll; 51 | } 52 | 53 | .overwatch-verdict-background 54 | { 55 | margin: 16px 64px; 56 | background-color: #00000040; 57 | } 58 | 59 | .overwatch-verdict-popup 60 | { 61 | width:900px; 62 | margin-top:64px; 63 | margin-bottom:64px; 64 | } 65 | 66 | .content-navbar__seperator--partial 67 | { 68 | margin-left:32px; 69 | margin-right:32px; 70 | } 71 | 72 | .overwatch-verdict-popup Label 73 | { 74 | font-family:Stratum2; 75 | } -------------------------------------------------------------------------------- /scripts/server_browser/server_browser_api.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var ServerBrowserAPI = (function () { 4 | 5 | function _HTTPRequest(url, type, body, callback) { 6 | if(url == undefined){ 7 | $.Msg('HttpRequest failed due to missing url!'); 8 | return; 9 | } 10 | if(type == undefined){ 11 | $.Msg('HttpRequest failed due to missing type!'); 12 | return; 13 | } 14 | 15 | var request = { 16 | type: type, 17 | body: body, 18 | success: function (response) { 19 | if (callback) callback(null, response); 20 | }, 21 | error: function (error) { 22 | if (callback) callback(error, null); 23 | } 24 | }; 25 | 26 | $.AsyncWebRequest(url, request); 27 | } 28 | 29 | async function _RequestServerBrowser() { 30 | _HTTPRequest('https://shashlik226.ru/plus_api?request=servers', 'GET', '', function(error, response) { 31 | if (!error) { 32 | ServerBrowser.BuildServerBrowser(response); 33 | } 34 | }); 35 | } 36 | 37 | return { 38 | HTTPRequest : _HTTPRequest, 39 | RequestServerBrowser : _RequestServerBrowser 40 | }; 41 | })(); 42 | 43 | ( function() { 44 | } )(); 45 | -------------------------------------------------------------------------------- /layout/context_menus/context_menu_custom_layout_test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /layout/mainmenu_operation_balance_reminder.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 22 | 23 | -------------------------------------------------------------------------------- /styles/steaminputglyphs/steaminputaction.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CCSGOSteamInputAction, 6 | { 7 | flow-children: right; 8 | horizontal-align: center; 9 | vertical-align: center; 10 | width: fit-children; 11 | height: fit-children; 12 | transition-property: transform, brightness; 13 | transition-duration: 0.125s; 14 | transition-timing-function: ease-out; 15 | visibility: collapse; 16 | 17 | 18 | margin-top: 1px; 19 | margin-bottom: 1px; 20 | } 21 | 22 | .SteamInputGlyphsActive CCSGOSteamInputAction.ControllerConnected 23 | { 24 | visibility: visible; 25 | } 26 | 27 | 28 | 29 | 30 | CCSGOSteamInputAction.AnalogDeadZoned, 31 | CCSGOSteamInputAction.DigitalReleased 32 | { 33 | brightness: 1; 34 | transform: translateY(-1px); 35 | } 36 | 37 | CCSGOSteamInputAction.AnalogThrown, 38 | CCSGOSteamInputAction.DigitalPressed 39 | { 40 | brightness: 0.5; 41 | transform: translateY(1px); 42 | } 43 | 44 | 45 | 46 | 47 | .HoldButtonToActivate .steam-button-glyph 48 | { 49 | border: 2px solid green; 50 | } 51 | 52 | 53 | -------------------------------------------------------------------------------- /layout/mainmenu_featured.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 25 | -------------------------------------------------------------------------------- /scripts/common/gamerules_constants.js: -------------------------------------------------------------------------------- 1 | var dictPlayerStatusImage = { 2 | 0: "", 3 | 1: "file://{images}/icons/ui/elimination.svg", 4 | 2: "file://{images}/icons/ui/bomb_c4.svg", 5 | 3: "file://{images}/icons/ui/dominated.svg", 6 | 4: "file://{images}/icons/ui/dominated_dead.svg", 7 | 5: "file://{images}/icons/ui/nemesis.svg", 8 | 6: "file://{images}/icons/ui/nemesis_dead.svg", 9 | 7: "file://{images}/icons/equipment/defuser.svg", 10 | 8: "file://{images}/icons/ui/VoteTeamSwitch.svg", 11 | 9: "file://{images}/icons/ui/switch_teams_dead.svg", 12 | 10: "file://{images}/icons/ui/two_stack_line.svg", 13 | 11: "file://{images}/icons/ui/two_stack.svg", 14 | 12: "file://{images}/icons/ui/three_stack.svg", 15 | 13: "file://{images}/icons/ui/four_stack.svg", 16 | 14: "file://{images}/icons/ui/five_stack.svg" 17 | }; 18 | 19 | var dictRoundResultImage = { 20 | "win_elimination": "file://{images}/icons/ui/elimination.svg", 21 | "win_rescue": "file://{images}/icons/ui/rescue.svg", 22 | "win_defuse": "file://{images}/icons/equipment/defuser.svg", 23 | "win_time": "file://{images}/icons/ui/timer.svg", 24 | "win_bomb": "file://{images}/icons/ui/bomb.svg", 25 | "win": "file://{images}/icons/ui/trophy.svg" 26 | }; 27 | 28 | -------------------------------------------------------------------------------- /layout/popups/popup_workshop_mode_select.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 38 | 39 | -------------------------------------------------------------------------------- /layout/matchtiles/live.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 20 | 21 | 25 | 28 | 29 | -------------------------------------------------------------------------------- /scripts/hud/hudcolor.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var HUDTeamColor = ( function () 4 | { 5 | function _Init() 6 | { 7 | } 8 | 9 | function _UpdateHUD() 10 | { 11 | var elLogo = $.GetContextPanel().FindChildInLayoutFile("TeamLogoHud"); 12 | if (!elLogo) 13 | { 14 | // try again shortly if the panel doesn't exist yet 15 | $.Schedule(0.1, _UpdateHUD); 16 | return; 17 | } 18 | 19 | _SetTeamColor(); 20 | } 21 | 22 | function _SetTeamColor() 23 | { 24 | var teamname = MockAdapter.GetPlayerTeamName( MockAdapter.GetLocalPlayerXuid() ) 25 | var elRoot = $.GetContextPanel(); 26 | while ( elRoot.GetParent() ) 27 | elRoot = elRoot.GetParent(); 28 | 29 | elRoot.SetHasClass('hud-team-ct', teamname == "CT") 30 | elRoot.SetHasClass('hud-team-t', teamname == "TERRORIST") 31 | if (teamname == "TERRORIST") 32 | { 33 | $( "#TeamLogoHud" ).SetImage( "file://{images}/hud/killbar/t_killbar.png" ); 34 | } 35 | else if (teamname == "CT") 36 | { 37 | $( "#TeamLogoHud" ).SetImage( "file://{images}/hud/killbar/ct_killbar.png" ); 38 | } 39 | } 40 | 41 | return { 42 | Init : _Init, 43 | UpdateHUD : _UpdateHUD, 44 | }; 45 | })(); 46 | 47 | 48 | (function() 49 | { 50 | HUDTeamColor.Init(); 51 | $.RegisterForUnhandledEvent( "PlayerTeamChanged", HUDTeamColor.UpdateHUD ); 52 | })(); -------------------------------------------------------------------------------- /layout/settings/settings_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /scripts/tests/perf/perf_context_panel_a.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var gPanelName = "PanelA"; 4 | 5 | function OnLoadedA() 6 | { 7 | 8 | } 9 | 10 | function ButtonActivated() 11 | { 12 | var parentPanel = $('#JSContextExperiment'); 13 | $.GetContextPanel().Data().name_ = "parent"; 14 | 15 | var newPanel = $.CreatePanel('Panel', parentPanel, "PanelB" ); 16 | 17 | newPanel.Data().name_ = "PanelB"; 18 | newPanel.Data().moo_ = OnLoadedA; 19 | 20 | newPanel.BLoadLayout('file://{resources}/layout/tests/perf/perf_jscontextexperiment_otherpanel.xml', false, false ); 21 | 22 | 23 | 24 | 25 | 26 | 27 | } 28 | 29 | 30 | 31 | 32 | (function () 33 | { 34 | })(); 35 | 36 | 37 | -------------------------------------------------------------------------------- /styles/context_menus/context_menu_lobbies.css: -------------------------------------------------------------------------------- 1 | #ContextMenuBody 2 | { 3 | width: fit-children; 4 | } 5 | 6 | .context-menu-lobbies 7 | { 8 | flow-children:down; 9 | max-height: 928px; 10 | padding: 0px 16px; 11 | overflow: clip scroll; 12 | } 13 | 14 | .context-menu-lobbies__title 15 | { 16 | margin: 16px 16px; 17 | font-size: 24px; 18 | } 19 | 20 | .context-menu-lobbies__new-lobbies-btn 21 | { 22 | vertical-align: bottom; 23 | margin-bottom: 16px; 24 | horizontal-align: center; 25 | ignore-parent-flow: true; 26 | z-index: 200; 27 | flow-children: right; 28 | box-shadow: shadowOffset; 29 | background-color: blueColor; 30 | border-radius: 5px; 31 | padding: 4px 8px; 32 | } 33 | 34 | .context-menu-lobbies__new-lobbies-btn Label 35 | { 36 | text-align: center; 37 | font-family: Stratum2 Medium, "Arial Unicode MS"; 38 | color: white; 39 | font-size: 14px; 40 | } 41 | 42 | .context-menu-lobbies__new-lobbies-btn Image 43 | { 44 | transform: rotateZ(-90deg) translateY(-1px); 45 | vertical-align: center; 46 | margin-right: 4px; 47 | } 48 | 49 | .context-menu-lobbies__new-lobbies-btn:hover 50 | { 51 | brightness: 1.2; 52 | } 53 | 54 | .context-menu-lobbies__new-lobbies-btn.hide 55 | { 56 | visibility: collapse; 57 | } 58 | 59 | VerticalScrollBar 60 | { 61 | margin: 4px; 62 | opacity: .25; 63 | } -------------------------------------------------------------------------------- /layout/tooltips/tooltip_model_panel_instructions_scene.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /layout/popups/popup_capability_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 26 | -------------------------------------------------------------------------------- /layout/popups/popup_choices.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 25 | 26 | 27 | 28 | 29 | 38 | 39 | -------------------------------------------------------------------------------- /layout/popups/popup_premier_matchmaking.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 31 | 32 | -------------------------------------------------------------------------------- /styles/popups/popup_operation_launch.css: -------------------------------------------------------------------------------- 1 | .popup-operation-launch 2 | { 3 | width: 100%; 4 | height: 100%; 5 | max-width: 100%; 6 | padding-bottom: 0px; 7 | flow-children: none; 8 | } 9 | 10 | .popup-operation-launch__movie 11 | { 12 | width: 1920px; 13 | height: 1080px; 14 | overflow: noclip; 15 | horizontal-align: center; 16 | } 17 | 18 | .popup-operation-launch__buttons-row 19 | { 20 | height: 96px; 21 | vertical-align: bottom; 22 | width: 100%; 23 | horizontal-align: right; 24 | padding-right: 64px; 25 | opacity: 0; 26 | 27 | transition-property: opacity; 28 | transition-duration: 10s; 29 | transition-timing-function: ease-in; 30 | } 31 | 32 | .popup-operation-launch__buttons-row__buy-Btn 33 | { 34 | flow-children: right; 35 | vertical-align: center; 36 | margin-left: 32px; 37 | } 38 | 39 | .popup-operation-launch__buttons-row.show 40 | { 41 | opacity: 1; 42 | 43 | transition-property: opacity; 44 | transition-duration: 10s; 45 | transition-timing-function: ease-in; 46 | } 47 | 48 | .popup-operation-launch__buttons-row__buy-Btn__label 49 | { 50 | color: black; 51 | font-weight: bold; 52 | font-size: 20px; 53 | background-color: opCompleteColor; 54 | padding: 8px; 55 | border-radius: 3px; 56 | text-transform: uppercase; 57 | margin-left: 12px; 58 | } 59 | 60 | .popup-operation-launch__buttons-row__buy-Btn__label:hover 61 | { 62 | color: opTenYellow; 63 | background-color: opTenDark; 64 | 65 | } -------------------------------------------------------------------------------- /scripts/stats/fakestats.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var fakeStats = ( function() 4 | { 5 | 6 | function _randomG(v){ 7 | var r = 0; 8 | for(var i = v; i > 0; i --){ 9 | r += Math.random(); 10 | } 11 | return r / v; 12 | } 13 | 14 | function _RandomMap () 15 | { 16 | switch ( Math.floor( Math.random() * 7 ) ) 17 | { 18 | case 0: return 'dust ii'; 19 | case 1: return 'nuke'; 20 | case 2: return 'inferno'; 21 | case 3: return 'aztec'; 22 | case 4: return 'mirage'; 23 | case 5: return 'overpass'; 24 | case 6: return 'vertigo'; 25 | } 26 | } 27 | 28 | function _RandomScore () 29 | { 30 | return ( Math.floor( Math.random() * 15 ) ) 31 | } 32 | 33 | 34 | function _RandomMatch () 35 | { 36 | var win = Math.floor( Math.random() * 3 ) - 1; 37 | 38 | return { 39 | map: _RandomMap(), 40 | myScore: win == 1 ? 16 : win == 0 ? 15 : _RandomScore(), 41 | enemyScore: win == -1 ? 16 : win == 0 ? 15 : _RandomScore(), 42 | win: win 43 | } 44 | } 45 | 46 | function _RandomMatchSeries () 47 | { 48 | var n = Math.ceil( 40 * ( _randomG( 50 ) - 0.5 ) ); 49 | 50 | var day = {}; 51 | 52 | for ( var m = 0; m < n; m++ ) 53 | { 54 | day[ m ] = _RandomMatch(); 55 | } 56 | 57 | return day; 58 | } 59 | 60 | return { 61 | 62 | RandomMatch : _RandomMatch, 63 | RandomMatchSeries: _RandomMatchSeries, 64 | } 65 | 66 | 67 | } )(); 68 | -------------------------------------------------------------------------------- /layout/popups/popup_generic.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 35 | -------------------------------------------------------------------------------- /scripts/tests/perf/perf_item_jscontext.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var PerfItemJsContext = ( function() { 4 | 5 | var _m_Id; 6 | 7 | var _Init = function() 8 | { 9 | _m_Id = $.GetContextPanel().GetAttributeInt( "id", 1 ); 10 | 11 | _SetButtonTextFromId( _m_Id ); 12 | } 13 | 14 | var _SetButtonTextFromId = function( id ) 15 | { 16 | var buttonStr = 'Button_'; 17 | if ( id < 10 ) 18 | { 19 | buttonStr += '00'; 20 | } 21 | else if ( id < 100 ) 22 | { 23 | buttonStr += '0'; 24 | } 25 | buttonStr += id.toString(); 26 | $( '#buttonText' ).text = buttonStr; 27 | } 28 | 29 | var _OnMouseOver = function() 30 | { 31 | _SetButtonTextFromId( _m_Id + 10 ); 32 | } 33 | 34 | var _OnMouseOut = function() 35 | { 36 | _SetButtonTextFromId( _m_Id ); 37 | } 38 | 39 | 40 | 41 | return { 42 | Init : _Init, 43 | OnMouseOver : _OnMouseOver, 44 | OnMouseOut : _OnMouseOut 45 | }; 46 | 47 | } )(); 48 | 49 | 50 | 51 | 52 | (function() 53 | { 54 | PerfItemJsContext.Init(); 55 | })(); -------------------------------------------------------------------------------- /styles/survival/survival_zonetimer.css: -------------------------------------------------------------------------------- 1 | .zonetimer-container 2 | { 3 | height: fit-children; 4 | width: 200px; 5 | visibility: collapse; 6 | 7 | margin-top: -38px; 8 | padding-bottom: 36px; 9 | } 10 | 11 | .survival .zonetimer-container 12 | { 13 | visibility: visible; 14 | opacity: 0; 15 | 16 | } 17 | 18 | .survival .zonetimer-container.show 19 | { 20 | visibility: visible; 21 | opacity: 1; 22 | } 23 | 24 | .zonetimer-background 25 | { 26 | width: 100%; 27 | height: 48px; 28 | vertical-align: middle; 29 | margin-top: -4px; 30 | margin-left: 12px; 31 | background-color: gradient( linear, 100% 0%, 0% 0%, from( #00000000 ), color-stop( 0.5, #000000CC ) , color-stop(0.6, #000000CC), color-stop( 0.9, #000000BB ), to( #00000000 ) ); 32 | } 33 | 34 | .zonetimer-label 35 | { 36 | color: white; 37 | font-size: 19px; 38 | text-shadow-fast:0px 0px 3px 0.0 #00000080; 39 | 40 | 41 | font-family: Stratum2 Bold Monodigit, 'Arial Unicode MS'; 42 | font-size: 32px; 43 | } 44 | 45 | .zonetimer-container.lowtime .zonetimer-label 46 | { 47 | text-shadow: 0px 0px 9px 2.5 #DD0000; 48 | } 49 | 50 | .zonetimer-icon 51 | { 52 | transform: rotateZ( -135deg ); 53 | vertical-align: middle; 54 | wash-color: white; 55 | margin-left: 31px; 56 | margin-right: 16px; 57 | 58 | } 59 | -------------------------------------------------------------------------------- /layout/matchtiles/player.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 23 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /scripts/popups/popup_tournament_select_spray.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var PopupTournamentTeamsList = ( function() 4 | { 5 | 6 | var _Init = function() 7 | { 8 | var journalId = $.GetContextPanel().GetAttributeString( "journalid", '' ); 9 | var graffitiList = g_ActiveTournamentTeams 10 | graffitiList.push( g_ActiveTournamentInfo ); 11 | 12 | graffitiList.forEach( function( team ) 13 | { 14 | var itemid = ItemInfo.GetFauxItemIdForGraffiti( team.stickerid_graffiti ); 15 | var elTeam = $.CreatePanel( "ItemImage", 16 | $.GetContextPanel().FindChildInLayoutFile( 'id-popup-tournament-teams' ), 17 | team.team, 18 | { 19 | itemid: itemid, 20 | class: 'popup-tournament-select-spray-team' 21 | } 22 | 23 | ); 24 | 25 | function EquipSpray ( id ) 26 | { 27 | InventoryAPI.SetItemAttributeValueAsync( journalId, "sticker slot 0 id", id ); 28 | LoadoutAPI.EquipItemInSlot( 'noteam', journalId, 'spray0' ); 29 | $.DispatchEvent( 'UIPopupButtonClicked', '' ); 30 | } 31 | 32 | elTeam.SetPanelEvent( 'onactivate', EquipSpray.bind( undefined, team.stickerid_graffiti ) ); 33 | } ); 34 | 35 | }; 36 | 37 | 38 | return { 39 | Init: _Init 40 | }; 41 | 42 | })(); --------------------------------------------------------------------------------