Compare commits

..

448 Commits

Author SHA1 Message Date
redphx
adf689d61d Bump version to 3.2.3 2024-03-10 20:47:21 +07:00
redphx
086385fbfb Update translations 2024-03-10 20:45:18 +07:00
redphx
705446ffb9 Fix language names 2024-03-10 20:21:45 +07:00
redphx
e366cb73e4 Stop exposing Toast class 2024-03-10 18:02:03 +07:00
redphx
d148fc708e Minor bug fixes 2024-03-10 18:01:36 +07:00
redphx
f75e22b5f6 Move Touch control settings to Controller tab 2024-03-10 17:57:16 +07:00
redphx
0f7ac4c372 Don't call MkbHandler.destroy() if the MKB feature is not enabled 2024-03-10 17:45:19 +07:00
redphx
a4874c76db Stop redrawing the "👀" emoji every seconds in the stats bar 2024-03-10 17:39:08 +07:00
redphx
397b3baa9b Avoid rendering the Settings multiple times 2024-03-10 16:20:53 +07:00
redphx
0330d0d811 Shorten name of the MKB controller 2024-03-10 07:54:08 +07:00
redphx
f8e035d98f Show a toast when a controller is connected/disconnected 2024-03-09 22:51:42 +07:00
redphx
1e7bc366ca Change STREAM_TARGET_RESOLUTION's default value back to "auto" 2024-03-09 21:29:19 +07:00
redphx
c207025df9 Bump version to 3.2.2 2024-03-08 17:16:36 +07:00
redphx
83b35dfc61 Update translations 2024-03-08 17:06:12 +07:00
redphx
e6ec664087 Update styling of disabled <select> 2024-03-08 17:03:23 +07:00
redphx
06790c8098 Use "accent-color" style on inputs 2024-03-08 16:50:53 +07:00
redphx
7310a009df Update style of the Reload page button 2024-03-08 16:50:25 +07:00
redphx
5392414abd Show Settings' reload button at the bottom when modifying settings 2024-03-07 18:36:47 +07:00
redphx
d78e55586e Update style of disabled <select> in Settings 2024-03-07 17:46:08 +07:00
redphx
77abc44f3d Add "STREAM_TOUCH_CONTROLLER_AUTO_OFF" setting 2024-03-07 17:39:37 +07:00
redphx
788ac3d527 Add "disableTakRenderer" patch 2024-03-07 09:12:30 +07:00
redphx
47ef5a9cd2 Fix "blockWebRtcStatsCollector" patch and add "blockGamepadStatsCollector" patch 2024-03-06 17:57:18 +07:00
redphx
7342da775f Bump version to 3.2.1 2024-03-05 18:02:07 +07:00
redphx
ba9642fe7e Reduce translations size 2024-03-05 17:54:27 +07:00
redphx
e547048c09 Migrate old local co-op setting 2024-03-05 17:18:04 +07:00
redphx
f110b9f2e9 Disable LOCAL_CO_OP_SEPARATE_TOUCH_CONTROLLER as it's too complicated 2024-03-05 08:00:53 +07:00
redphx
d191622a8d Add option to separate touch controller & controller 1 2024-03-05 06:32:27 +07:00
redphx
d48d2ba5f0 Disable "volume control" feature by default 2024-03-05 05:17:15 +07:00
Rodrigo Oliveira
5703f24418 refactor: update locale function's name (#277) 2024-03-05 05:15:46 +07:00
redphx
d2ddc2fd23 Bump version to 3.2 2024-03-03 16:08:18 +07:00
redphx
a00b0b6879 Update translations 2024-03-03 16:00:57 +07:00
redphx
83ff859798 Add link to list of supported local co-op games 2024-03-03 10:20:37 +07:00
redphx
0ef1e8a526 Add local co-op support 2024-03-03 09:08:53 +07:00
redphx
20caac4821 Bump version to 3.1.9 2024-03-01 17:19:09 +07:00
redphx
dac9823d5b Change default values of stream stats 2024-03-01 17:04:14 +07:00
redphx
bcdabbf1b9 Stop setting codec's default value to the best codec profile 2024-02-29 18:02:53 +07:00
redphx
11f3513b0c Fix no audio when the stream drops (#259) 2024-02-29 17:31:30 +07:00
redphx
9786c7c8ee Fix native MKB not working 2024-02-29 16:54:23 +07:00
redphx
e48b277535 Bump version to 3.1.8 2024-02-15 16:46:56 +07:00
redphx
e2dbf873a6 Update translations 2024-02-15 16:46:28 +07:00
redphx
6510eac0c3 Fix error while loading profile page 2024-02-15 16:23:06 +07:00
redphx
3dd83ace6c Fix mkb's note 2024-02-15 15:49:28 +07:00
redphx
45d8aed841 Bump version to 3.1.7 2024-02-15 11:08:02 +07:00
redphx
cf1d11185b Add a link for MKB's note 2024-02-14 17:54:03 +07:00
redphx
21f119e4eb Update translations 2024-02-14 17:45:05 +07:00
redphx
ebb7920d82 Fortnite: allow playing console version on mobile 2024-02-12 19:40:28 +07:00
redphx
5ca8eb754c Bump version to 3.1.6 2024-02-11 17:50:54 +07:00
redphx
506f89ea51 Fix game's gallery failed to load (#250) 2024-02-11 16:21:40 +07:00
redphx
9332f375b8 Cache base custom touch layouts 2024-02-10 15:05:13 +07:00
redphx
dbe0435669 Use async/await in TouchController.getCustomLayouts() 2024-02-10 14:57:11 +07:00
redphx
c1684abf27 Switch to another Remote Play server if one is down 2024-02-10 14:46:51 +07:00
redphx
07e4f9dffd Add REMOTE_PLAY_SERVER for switching Remote Play server 2024-02-09 21:52:58 +07:00
redphx
bb980d2cad Bump version to 3.1.5 2024-02-09 18:07:40 +07:00
redphx
102c796c69 Set USE_DEV_TOUCH_LAYOUT to "false" 2024-02-09 18:07:04 +07:00
redphx
2f7218d165 Update translations 2024-02-09 18:04:06 +07:00
redphx
b07318e07f Add BX_EXPOSED.test_touch_control() for layout testing 2024-02-09 17:57:25 +07:00
redphx
70a8fc9866 Test new structure of custom touch layout 2024-02-09 17:46:05 +07:00
redphx
2d9ee16531 Bump version to 3.1.4 2024-02-07 21:43:49 +07:00
redphx
21168803e0 Set default value of STREAM_CODEC_PROFILE to the best codec profile 2024-02-07 21:37:35 +07:00
redphx
3068aa8a06 Minor fix for touch control 2024-02-07 18:40:36 +07:00
redphx
b6b9ec49f6 Update touch support detection in Remote Play 2024-02-07 17:35:13 +07:00
redphx
4dc60f965f Minor fix 2024-02-07 15:22:27 +07:00
redphx
2142c4a83c Only request custom touch control when the game is focused 2024-02-07 15:15:53 +07:00
redphx
6b090194c9 Only show toast when the layout has been changed 2024-02-07 14:56:36 +07:00
redphx
a878150ec3 Show a toast with layout's name when switching touch control layout 2024-02-07 11:09:10 +07:00
redphx
5fb1dded42 Change default value of "STREAM_TARGET_RESOLUTION" to "1080p" 2024-02-07 10:53:12 +07:00
redphx
ac6879c189 Change default value of "STREAM_TOUCH_CONTROLLER" to "all" 2024-02-07 10:52:04 +07:00
redphx
b8efaf9648 Fix not loading Better xCloud after logging in 2024-02-06 22:53:53 +07:00
redphx
033ac31333 Bump version to 3.1.3 2024-02-03 07:16:46 +07:00
redphx
1f754d4a1d Add STREAM_STOPPED and STREAM_ERROR_PAGE events 2024-02-02 10:31:40 +07:00
redphx
0d39ccf8bf Typo 2024-02-02 10:04:59 +07:00
redphx
966d7f2f6c Hide touchscreen using bx-offscreen instead of bx-gone 2024-02-02 10:02:57 +07:00
redphx
fdbf618253 Add STREAM_MENU_SHOWN and STREAM_MENU_HIDDEN events 2024-02-02 09:59:42 +07:00
redphx
aaa7612293 Fix default touch control not showing sometimes 2024-02-01 20:22:18 +07:00
redphx
d578718958 Bump version to 3.1.2 2024-02-01 09:21:26 +07:00
redphx
46647dbffd Refactor + bug fixes (#245)
* Create DATA_CHANNEL_CREATED event

* Add BxEvent.dispatch()

* Dispatch STREAM_WEBRTC_CONNECTED event

* Fix not being able to hide touch control in Remote Play

* Fix touch bar again

* Listen to STREAM_LOADING & STREAM_STARTING events

* Add setupEvents() functions

* Show/hide touch controller using CSS instead

* Fix exception in LoadingScreen class

* Fix Remote Play stopped working
2024-02-01 09:20:17 +07:00
redphx
6f517d85b3 Bump version to 3.1.1 2024-01-31 07:28:44 +07:00
redphx
bf06ef6aa6 Custom layout selector (#243)
* Read layout from "layouts" property

* Support schema version 2

* Support switching custom layouts

* Fix custom touch layouts not working in Remote Play

* Fix game's layout not working when switching between games

* Fix loading custom layout before touch_layout_manager is ready

* Fix game's custom layout not working sometimes

* Set USE_DEV_TOUCH_LAYOUT to false
2024-01-31 07:26:53 +07:00
redphx
a90868ef2f Fix not showing custom touch controller layout sometimes 2024-01-30 09:40:07 +07:00
redphx
a132a1b1e0 Update README.md 2024-01-29 17:09:46 +07:00
redphx
a6c1e5f487 Bump version to 3.1 2024-01-29 16:04:18 +07:00
redphx
c3432ea125 Custom touch layout (#238)
* Expose Layout Manager

* Test layout

* Update better-xcloud.user.js

* Fix custom layout not being applied after switching off "Basic controls" setting

* Support custom layout in Remote Play

* Fix bug when showing/hiding touch controller

* Fix Remote Play

* Wait for 1s before displaying custom layout

* Support dev layouts

* Update translations

* Show notes in Settings

* Fix not being able to show touch controller
2024-01-29 15:48:21 +07:00
redphx
886a23e5ac Bump version to 3.0.5 2024-01-21 12:27:57 +07:00
redphx
309feca3f9 Only set "pointerEvents" property on touch-supported devices 2024-01-21 11:55:17 +07:00
redphx
82a9a91534 Fix Clarity Boost warning not working 2024-01-21 11:32:52 +07:00
redphx
7248dac3f6 Fix patches 2024-01-21 11:15:09 +07:00
redphx
9a0374923c Update translations 2024-01-16 06:46:44 +07:00
redphx
6952bad46d Bump version to 3.0.4 2024-01-16 06:44:33 +07:00
redphx
5afdbeb9f8 Increase maximum mouse's sensitivities to 200% 2024-01-15 17:35:38 +07:00
redphx
241cfae9a1 Optimize Preferences.get() 2024-01-15 17:28:34 +07:00
redphx
0b37ed40f6 Use getPref() & setPref() 2024-01-15 17:06:38 +07:00
redphx
dc4c1d7256 Reorganize patches 2024-01-15 17:00:42 +07:00
redphx
4add599f8e Optimize classList.remove() 2024-01-15 16:45:12 +07:00
redphx
7271478ebc Update translations 2024-01-15 16:29:39 +07:00
redphx
69d33719e6 Update README.md 2024-01-15 15:36:19 +07:00
redphx
5ce311f873 Fix the Stream Settings doesn't hide when clicking outside 2024-01-15 10:15:49 +07:00
redphx
fd127cf2fa Improve stick's responsiveness 2024-01-15 10:05:06 +07:00
redphx
cf65d12a84 Add a button to show MKB settings to the MKB overlay message 2024-01-14 17:01:45 +07:00
redphx
7838236d0d Remove "cursor: help" style from stats bar 2024-01-14 16:29:35 +07:00
redphx
1a77352f22 Fix the "Show stats when starting the game" setting doesn't work with Quick Glance mode 2024-01-14 16:27:29 +07:00
redphx
237d3919fa Optimize class prototypes 2024-01-14 16:15:42 +07:00
redphx
780deccae2 Optimize Safari's workaround 2024-01-14 15:55:16 +07:00
redphx
6dbc0990cd Optimize createElement() 2024-01-14 15:49:02 +07:00
redphx
83a8e1f847 Bump version to 3.0.3 2024-01-13 17:14:15 +07:00
redphx
5ccd04478d Reduce the chance that other Webpack extensions can cause the Patcher class not to work 2024-01-13 16:38:04 +07:00
redphx
da2a3c87bc Update Remote Play's CSS 2024-01-13 15:49:03 +07:00
redphx
a8996fe3a5 Fix minor CSS 2024-01-13 15:26:32 +07:00
redphx
89a5bbdd2e Fix strafing doesn't work (#216) 2024-01-13 15:15:50 +07:00
redphx
58f8f6e762 Update translations 2024-01-13 14:45:42 +07:00
redphx
401f8def06 Cut off button's label when it's too long 2024-01-12 18:30:49 +07:00
redphx
f560c225de Show stat's full name when hovering on it 2024-01-12 18:12:59 +07:00
redphx
d6b254b134 Don't show "0.00%" on stats bar 2024-01-12 17:57:33 +07:00
redphx
36a6259817 Put MKB settings before Touch Controller settings 2024-01-12 17:49:16 +07:00
redphx
76947a39de Update styling of the Connect button in the Remote Play dialog 2024-01-12 17:43:04 +07:00
redphx
151b87fb69 Change button's height from 32px to 36px 2024-01-12 17:14:35 +07:00
redphx
0a6bd5b763 Fix layout on small screen devices 2024-01-12 17:02:50 +07:00
redphx
477989d542 Update styling of buttons in header 2024-01-12 16:46:19 +07:00
redphx
15eaf76042 Add ButtonStyle enum 2024-01-12 16:03:45 +07:00
redphx
a495d3147b Update styling of Stream Settings 2024-01-12 15:28:27 +07:00
redphx
2fb61c1c44 Truncate long headers in Stream Settings dialog (#215) 2024-01-09 17:31:30 +07:00
redphx
0c45a7705d Bump version to 3.0.2.1 2024-01-08 20:40:46 +07:00
redphx
5655c5f3b6 Update styling of dialog 2024-01-08 20:36:55 +07:00
redphx
2a6713a038 Move the "Remote Play" button to header 2024-01-08 20:30:23 +07:00
redphx
ecd2d4af1d Bump version to 3.0.2 2024-01-08 17:22:37 +07:00
redphx
c0a14d59a1 Update translations 2024-01-08 16:58:44 +07:00
redphx
73b1142c1e Update styling of the Remote Play button 2024-01-08 16:56:57 +07:00
redphx
1b7fe7f7d0 Set UI_LOADING_SCREEN_WAIT_TIME default value to "true" 2024-01-08 08:54:54 +07:00
redphx
41da54a27c Add server name to the loading screen 2024-01-08 08:54:06 +07:00
redphx
649bb0452d Merge branch 'main' of https://github.com/redphx/better-xcloud 2024-01-08 08:53:28 +07:00
redphx
9c0949930f Add Phosphor Icons license 2024-01-08 08:06:23 +07:00
redphx
2ecb40e6ee Add a help button to the Remote Play dialog 2024-01-08 07:59:26 +07:00
redphx
3490ce47bb Update styling of the Remote Play button 2024-01-07 22:43:13 +07:00
redphx
bb912ae1b4 Replace Icon.BOOK with Icon.QUESTION 2024-01-07 22:34:05 +07:00
redphx
b3e10ce721 Update the help buttons in Stream Settings 2024-01-07 18:50:40 +07:00
redphx
7e6800b3ef In Settings, replace the "Remote Play" button with the "Help" button 2024-01-07 18:39:46 +07:00
redphx
32422e5a62 Catch exception in clearDbLogs() 2024-01-07 17:05:54 +07:00
redphx
75d4e6f65c Add a "Remote Play" button to the "Jump back in" list 2024-01-07 16:59:42 +07:00
redphx
675aac207f Bump version to 3.0.1 2024-01-06 19:08:17 +07:00
redphx
0c7a6153f2 Update translations 2024-01-06 18:03:08 +07:00
redphx
d3ce3dd26d Update translations 2024-01-06 17:38:25 +07:00
redphx
25d87c5367 Allow connecting to IPv6 address when Remote Playing 2024-01-06 16:46:34 +07:00
redphx
989634b52e Clear logs in DB 2024-01-06 16:04:07 +07:00
redphx
281787d955 Fix iPhone detection 2024-01-06 15:47:34 +07:00
redphx
9d4eaf8024 Fix StreamHud not collapsing when clicking on custom buttons 2024-01-06 15:38:00 +07:00
redphx
4c601234ef Fix the StreamHud buttons being wonky 2024-01-06 14:38:18 +07:00
redphx
e8de67c817 Optimize Patcher.#patchFunctionBind() 2024-01-06 12:05:08 +07:00
redphx
c3d37b7034 Another attempt to fix the StreamMenu buttons 2024-01-06 11:51:02 +07:00
redphx
03926451ec Fix some buttons not hiding when the System menu bar is collapsed 2024-01-06 11:12:41 +07:00
redphx
dac5b39097 Disable the MKB feature for mobile browsers 2024-01-06 10:36:41 +07:00
redphx
9332892353 Add "unsupported" property to Preferences.SETTINGS 2024-01-06 10:21:35 +07:00
redphx
00041eb911 Use a different method to disable StreamGate (#210) 2024-01-06 08:12:49 +07:00
redphx
6c996769b7 Update README.md 2024-01-05 17:18:52 +07:00
redphx
e4d6afc2d2 Bump version to 3.0 2024-01-04 21:05:56 +07:00
redphx
7b59a8cd5e Add Mouse & Keyboard support (#194)
* Add initial support for MKB

* Refactor icons

* Enable native MKB support for some games

* Move Stream settings & stats buttons to Stream HUD bar

* Split stream settings into tabs

* Use bx-gone class to show/hide Settings sidebar

* Update translations

* Update Toast class

* Press F9 to toggle MKB feature

* Disable Gamepad Disconnected screen

* Change from F9 key to F8 key

* Reverse back to F9 key + disable "disableGamepadDisconnectedScreen" patch

* Fix "disableGamepadDisconnectedScreen" patch

* Add fade in/out animations for Toast

* Fix Settings tabs not showing

* Fix touch controller not showing sometimes

* Add basic remapping screen

* Update MKB layout

* Add edit/save states

* Add borders to highlight Quick Settings tabs

* Get key name from key code

* Move the Dots button to the beginning

* Disable non-working native MKB games

* Optimize Patcher class: only apply "playing" patches when needed

* Refactor renderMkbSettings() to MkbRemapper class

* Refactor the rendering process of MkbRemapper

* Implement new method to control analog stick using mouse

Heavily inspired by Yuzu's "Mouse panning" feature

* Update README.md

* Refactor setting elements

* Reduce button prompt's font size

* Render mouse settings

* Add a warning in MKB remapper

* Update preset's structure

* Disable "contextmenu" event of dialog & its overlay

* Fix bug in MkbPreset.convert()

* Detect scrolling events while binding

* Convert wheel events to button press

* Fix minor bugs in Stream settings

* Fix RT mapping

* Add setValue() method to SettingElement

* Update preset after binding new key

* Update preset after changing mouse's settings

* Update UI of mouse's settings

* Update style

* Fixed action buttons at the bottom

* Add support for "exactTicks" param to Number Stepper element

* Don't render first & last markers

* Add basic LocalDb class

* Allow switching between presets

* Enable/disable elements when editing preset

* Update translations

* Refactor code

* Define  "CE = createElement" globally

* Add createButton()

* Add icons to buttons

* Implement the "Cancel" button

* Implement the "Rename" button

* Add styling for disabled buttons

* Implement "New" & "Copy" buttons

* Implement "Delete" button

* Refactor code

* Fix exception when creating Default preset

* Set default name when copying preset

* Implement "Save" button

* Implement "Activate" button

* Implement switching preset data

* Pre-calculate mouse's sensitivities + fix not converting preset before using

* Fix mouse buttons not working

* Remove "not working" line

* Show "right-click-to-unbind" text

* Bug fixes

* Add ENABLE_NATIVE_MKB_BETA flag

* Update styling

* Add mention to Yuzu emu

* Pre-calculate mouse's sensitivities in MkbPreset.convert()

* Update translations

* Add donation link

* Update translations

* Add "Map mouse to" setting

* Fix styling

* Bug fixes

* Implement requestPointerLock()

* Hide pointerLock message when StreamMenu is being shown

* Fix bugs in Chrome

* Fix a bug causing Remote Play not working

* Remove "Disable bandwidth checking" feature as it's useless

* Update README.md

* Update styling

* Add URL to document

* Temporary disable the "Controller shortcuts" feature as it conflicts with the MKB feature

* Update translations

* Update README.md
2024-01-04 21:04:27 +07:00
redphx
b73109d9b4 Update README.md 2023-12-29 17:42:36 +07:00
redphx
e3b7365910 Update README.md 2023-12-21 09:04:53 +07:00
redphx
bdfb23257c Update README.md 2023-12-20 14:40:54 +07:00
redphx
0870065a81 Bump version to 2.1.2 2023-12-19 18:10:50 +07:00
redphx
e0f0617b12 Update translations 2023-12-19 18:10:30 +07:00
redphx
38623cc086 Fix Remote Play (#188)
* Try to fix remote play not working when not using local network

* Fix Server badge reporting incorrect info

* Refactor remote play requests in window.fetch

* Fix exceptions

* Stop overriding WebSocket class

* Fix not connecting to IPv6 server as expected
2023-12-19 18:08:14 +07:00
redphx
bbce49791f Bump version to 2.1.1 2023-12-14 17:52:40 +07:00
redphx
d719f0c2b5 Update translations 2023-12-14 17:52:19 +07:00
redphx
622057980d Update README.md 2023-12-14 17:50:47 +07:00
redphx
24d608bc3e Redesign Quick Settings sidebar (#186)
* Redesign Quick Settings bar

* Move stream stats settings to quick settings bar

* Add "for" attributes to labels

* Minor optimization

* Stop rendering Toast

* Don't render UI elements when not playing
2023-12-14 17:44:12 +07:00
redphx
f55344b4cb Update README.md 2023-12-14 09:41:00 +07:00
redphx
6139fb386b Update README.md 2023-12-14 09:14:37 +07:00
redphx
f7c46c5ef3 Update README.md 2023-12-14 08:03:27 +07:00
redphx
f5b495efa8 Update README.md 2023-12-13 08:33:21 +07:00
redphx
eb4803492e Update README.md 2023-12-13 08:07:39 +07:00
redphx
47ef7da37b Bump version to 2.1 2023-12-12 17:55:41 +07:00
redphx
63896469e2 Update README.md 2023-12-12 17:52:19 +07:00
redphx
4ab265e370 Controller & device vibration (#184)
* Test vibration

* Modify vibration patterns

* Try another vibration patterns

* Update vibration patterns

* Add setting to toggle device vibration

* Disable device vibration based on setting

* Bug fixes

* Test PWM

* Rename GamepadVibration to VibrationManager

* Add setting to toggle controller vibration

* Add vibration intensity setting

* Move Controller settings to the top

* Fix device vibration intensity

* No longer parse "delayMs" and "repeat"

* Fix device vibration intensity

* Disable vibration features on unsupported browsers

* Add "step" property to Vibration intensity slider

* Disable PWA prompt & Stream Gate dialog

* Update translations
2023-12-12 17:37:04 +07:00
redphx
584509a53d Improve IPv6 server detection 2023-12-09 11:09:08 +07:00
redphx
f3b9ebdb22 Bump version to 2.0.5 2023-12-08 07:43:30 +07:00
redphx
abd1aae57a Add "enableConsoleLogging" patch 2023-12-08 07:35:45 +07:00
redphx
ccdb944b99 Fix the Settings button not showing for some users 2023-12-08 07:23:44 +07:00
redphx
b4149e718b Bump version to 2.0.4 2023-12-06 20:06:41 +07:00
redphx
7c22685e95 Update README.md 2023-12-05 14:50:32 +07:00
redphx
ad98eb60e1 Only call eval() once per patch group 2023-12-05 06:38:35 +07:00
redphx
049e65429a Fix not applying patches correctly 2023-12-03 16:36:02 +07:00
redphx
a5b77ae8c0 Improve Patcher class 2023-12-03 10:38:10 +07:00
redphx
49550eed0a Add "enableXcloudLogger" patch 2023-12-02 17:31:51 +07:00
redphx
01861e0ca5 Bump version to 2.0.3 2023-12-02 11:27:37 +07:00
redphx
12d6fbd9c8 Check patches one by one to improve performance 2023-12-02 11:10:36 +07:00
redphx
1b0b15de76 Update README.md 2023-12-02 10:31:46 +07:00
redphx
5eba0f0ed7 Optimize Patcher class 2023-12-02 10:22:50 +07:00
redphx
0a851e5417 Rearrange patches to improve performance 2023-12-02 09:54:37 +07:00
redphx
d38e5e8812 Fix Ukrainian translation 2023-12-02 09:14:12 +07:00
redphx
69261a7f1d Add Ukranian translations 2023-12-01 17:12:45 +07:00
redphx
96b20dcb19 Fix Remote Play's stream didn't close properly 2023-12-01 06:24:58 +07:00
redphx
c5a4af9f49 Fix cloud gaming opened instead of Remote Play 2023-12-01 06:20:51 +07:00
redphx
3c62d1356f Update device info for Remote Play 2023-12-01 05:57:26 +07:00
redphx
78bfc09749 Fix Remote Play's resolution setting not applying correctly 2023-11-30 21:58:34 +07:00
redphx
f3bf7a0230 Update translations 2023-11-30 20:57:15 +07:00
redphx
c9a2d92c47 Disable idle warning while remote playing 2023-11-30 20:52:23 +07:00
redphx
5f18026f85 Update README.md 2023-11-28 20:42:03 +07:00
redphx
f4c299e730 Bump version to 2.0.2 2023-11-28 20:34:41 +07:00
redphx
baf7893769 Update translations 2023-11-28 20:31:08 +07:00
redphx
26ef306bab Fix Remote Play not working for free users (#171) 2023-11-28 20:22:39 +07:00
redphx
dc55b85772 Fix Remote Play connecting to the wrong console (#170) 2023-11-28 07:44:56 +07:00
redphx
bec3f771f2 Update README.md 2023-11-26 20:27:52 +07:00
redphx
7dc35a09c4 Bump version to 2.0.1 2023-11-26 20:13:45 +07:00
redphx
b72b881f2d Update README.md 2023-11-26 20:12:23 +07:00
redphx
4748d72d59 Update translations 2023-11-26 20:11:26 +07:00
redphx
95d4216824 Update translations 2023-11-26 16:00:54 +07:00
redphx
a0a453084a Add patches to block ApplicationInsights.track() and WebRTC stats collector 2023-11-26 15:57:16 +07:00
redphx
9b84690328 Fix a weird bug with Search box (#168) 2023-11-26 11:47:47 +07:00
redphx
1ffe5c218a Remove the "Controller Polling Rate" setting as it didn't work (#167) 2023-11-26 11:25:56 +07:00
redphx
1ea5f5031e Disable Remote Play feature by default & add a setting to enable it 2023-11-26 11:19:09 +07:00
redphx
526ceec0db Version 2.0 (#163)
* Update README.md

* Bump version to 2.0

* Bump version to 2.0
2023-11-25 17:17:14 +07:00
redphx
d54c3d50c4 Remote Play & Patcher (#162)
* Test remote play

* Add a link to dev-tools page

* Add Remote Play dialog

* Bug fixes

* Fix URL

* Fix header

* Path xHome domain

* Remote Remote Play config from window.location while playing

* Update style of the Remote Play button

* Add dialog overlay

* Hide Settings when opening the Remote Play dialog

* Update styles

* Path /direct-connect link

* Fix bind() monkey-patching

* Stop patching when it's done

* Fix exception with GAME_TITLE_ID

* Add resolution setting

* Add Patcher class

* Stop storing Remote Play config in location.hash

* Apply resolution

* Display state's label

* Fix IPv6

* Update translations

* Move Patcher class to the top

* Add "disableTelemetry" and "disableTrackEvent" patches

* Add Layout setting

* Add setting to adjust controller polling rate

* Add Mouse & Keyboard support

* Add Italian translations
2023-11-25 16:47:11 +07:00
redphx
f306cb5eee Bump version to 1.19 2023-11-19 16:22:27 +07:00
redphx
c1acb689fe Bump version to 1.19 2023-11-19 16:22:03 +07:00
redphx
5837e30afc Update README.md 2023-11-19 16:21:31 +07:00
redphx
9b955aabb9 Controller shortcuts (#157)
* Basic code for GamepadHandler

* Take screenshot using Home + RB

* Enable shortcuts using setting

* Only poll gamepad when playing

* Toogle stats using Home + Select

* Add basic Toast class

* Update translations
2023-11-19 16:09:41 +07:00
redphx
d73f91ed5f Bump version to 1.18.2 2023-10-27 17:44:29 +07:00
redphx
b918fadaab Bump version to 1.18.2 2023-10-27 17:44:03 +07:00
redphx
b79775839b Update README.md 2023-10-27 17:37:19 +07:00
redphx
d3e0ba9d9f Change "Target Resolution > Auto" to "Default" 2023-10-27 17:26:33 +07:00
redphx
e6e8297632 Clear touch controller's style after switching game 2023-10-27 17:20:06 +07:00
redphx
e94fb28266 Fix TitlesInfo 2023-10-27 17:00:25 +07:00
redphx
11e953c382 Bump version to 1.18.1 2023-10-26 20:06:46 +07:00
redphx
4845ea6994 Bump version to 1.18.1 2023-10-26 20:06:27 +07:00
redphx
0f0072bcb0 Update README.md 2023-10-26 20:05:57 +07:00
redphx
85d156f6b2 Clear Application Insights buffers periodically 2023-10-26 15:43:33 +07:00
redphx
8d24494b02 Add French & Japanese translations 2023-10-26 15:28:13 +07:00
redphx
9d1bca99aa Clear Analytics Insight buffers no page load 2023-10-26 15:14:35 +07:00
redphx
a8cf0896c5 Loading screen: use Image_Tile when Image_Hero is not available 2023-10-26 15:02:32 +07:00
redphx
4767df442e Update translations 2023-10-15 17:28:11 +07:00
redphx
8314074957 Update README.md 2023-10-15 17:12:57 +07:00
redphx
6ffa75a4ec Bump version to 1.18 2023-10-15 17:09:47 +07:00
redphx
7813e6f432 Bump version to 1.18 2023-10-15 17:09:32 +07:00
redphx
75d9639c01 Hide the "Play with friends" section when social features are disabled 2023-10-15 16:23:51 +07:00
redphx
fb80c3662a Add option to disable post-stream feedback dialog 2023-10-15 16:07:59 +07:00
redphx
9e1d8866ce Fix minor bugs in StreamMenu 2023-10-15 14:23:08 +07:00
redphx
28438c7c9e Add German translation 2023-10-10 09:40:05 +07:00
redphx
0cb0901ae2 Add Polish and Spanish translations 2023-10-05 09:27:40 +07:00
redphx
9d7c537eaa Update README.md 2023-10-03 16:53:43 +07:00
redphx
eccd306d03 Bump version to 1.17.2 2023-10-03 16:51:45 +07:00
redphx
e15afd2396 Bump version to 1.17.2 2023-10-03 16:51:25 +07:00
redphx
f0dbc72987 Add Korean translation 2023-10-03 16:03:49 +07:00
redphx
25bf6c209d Merge branch 'main' of https://github.com/redphx/better-xcloud 2023-10-03 09:55:14 +07:00
redphx
f229dbdbe4 Update README.md 2023-10-02 21:46:35 +07:00
redphx
e845c902b2 Fix Stats settings dialog being too big on small screens 2023-10-02 17:27:37 +07:00
redphx
c424c6f94b Add Chinese (Simplified) translation 2023-09-29 08:21:29 +07:00
redphx
1619fb2b26 Bump version to 1.17.1 2023-09-25 20:06:44 +07:00
redphx
d72641ba77 Bump version to 1.17.1 2023-09-25 20:06:22 +07:00
redphx
7c3f00f277 Update README.md 2023-09-25 20:05:50 +07:00
redphx
9bd0ee9097 Fix volume booster feature (#141)
* Trying to fix the audio problem with volume booster

* Add an option to disable volume control feature

* Update translations
2023-09-25 19:55:36 +07:00
redphx
a9bb977311 Update TR translation 2023-09-21 07:45:44 +07:00
redphx
3e0653fadf Add RU & TR to language list 2023-09-20 07:09:42 +07:00
redphx
36f6b04ad9 Add TR translation 2023-09-20 07:08:13 +07:00
redphx
60b70e259b Add RU translation 2023-09-20 07:06:12 +07:00
redphx
c50e0d6aff Update BR translation 2023-09-20 07:03:40 +07:00
redphx
a3fd3c9ebe Update README.md 2023-09-18 09:26:06 +07:00
redphx
c47caea65e Bump version to 1.17 2023-09-18 08:12:57 +07:00
redphx
6f540cca7a Bump version to 1.17 2023-09-18 08:12:35 +07:00
redphx
7a202ba8a7 Disable "Visual quality" setting on unsupported browsers 2023-09-18 08:10:52 +07:00
redphx
1f787b7888 Update README.md 2023-09-18 07:56:44 +07:00
redphx
0cc96135c9 Support more languages (#134)
* Define CSS variables

* Shorten CSS prefix "better-xcloud-" to "bx-"

* Move Safari's workaround code to the end of the script

* Add setting to change Better xCloud's language

* Support Vietnamese language

* Use the same language as browser

* Minor fixes

* Add Portuguese (Brazilian)

* Update BR translation

* Adjust CSS of Settings' reload button

* Reload the page after changing language

* Fix setting locale on first run

* Replace "Force high-quality codec" option with "Visual quality"

* Add Italian translation

* Update texts

* Deprecate "Prefer high-quality codec" setting

* Show stat's abbr. in slection box

* Reduce border size in stats bar from 2px to 1px

* Remove unused texts

* Remove Italian translation (because it's unfinised) + update Brazillian + Vietnamese translations
2023-09-18 07:43:03 +07:00
redphx
ed2fb13e17 Create MouseHoldEvent 2023-09-13 17:40:54 +07:00
redphx
b91474c20b Hide Stream Settings dialog when opening Stream Menu 2023-09-13 17:18:50 +07:00
redphx
18eec8b8da Update CSS selectors for REDUCE_ANIMATIONS 2023-09-13 17:00:00 +07:00
redphx
949a180047 Update README.md 2023-09-13 16:54:29 +07:00
redphx
c9a67cf6b7 Create FUNDING.yml 2023-09-13 16:48:12 +07:00
redphx
b469ba4867 Update README.md 2023-09-11 14:40:49 +07:00
redphx
a0d0d6e1e6 Update README.md 2023-09-10 17:51:42 +07:00
redphx
cc466ff2ac Bump version to 1.16 2023-09-10 17:16:11 +07:00
redphx
b1bfe96935 Bump version to 1.16 2023-09-10 17:15:47 +07:00
redphx
241be49d09 Update README.md 2023-09-10 17:15:23 +07:00
redphx
7c48b7e6fb Volume booster (#125)
* Move Video settings box from bottom to the right side

* Rename "Video Settings" to "Stream Settings"

* Volume booster

* Fix volume booster not working

* Typo

* Fix not working in Kiwi

* Show input range

* Update monkey patching method for AudioContext

* Refactor Preferences

* Add tick markers

* Add Audio & Video headers

* Reduce stats bar size

* Show warning when Clarity Boost mode is ON

* Increase max volume to 600

* Try to fix audio problem on iOS/iPadOS

* Pause <audio>

* Fix crashing when enabling touch controller

* Fix touch controller not working

* Fix volume booster not working on iOS/iPadOS
2023-09-10 17:04:23 +07:00
redphx
cc9a644a5e Bump version to 1.15.1 2023-09-08 17:24:05 +07:00
redphx
a77db68afb Bump version to 1.15.1 2023-09-08 17:23:46 +07:00
redphx
cd7a7c92c7 Validate settings when getting its values 2023-09-08 17:16:38 +07:00
redphx
651402a6b4 Restore stretch to full screen feature 2023-09-08 17:15:45 +07:00
redphx
6cd2648325 Update README.md 2023-09-04 10:40:14 +07:00
redphx
fa0d761d24 Bump version to 1.15 2023-09-04 10:37:31 +07:00
redphx
f01d7a3b0b Bump version to 1.15 2023-09-04 10:37:12 +07:00
redphx
b520e8173e Update README.md 2023-09-04 10:36:43 +07:00
redphx
f15f43faf7 Remove "Bitrate" & "Decode Time" stats from default items 2023-09-04 10:31:52 +07:00
redphx
e470cb20a3 Replace "Stretch Video" setting with "Video Ratio" (#121)
* Make Game Pass' app version easier to read

* Replace numberPicker with NumberStepper

* Replace "Stretch Video" setting with "Video Ratio"

* Make number stepper's buttons a little bit bigger
2023-09-04 09:11:08 +07:00
redphx
d1882046e2 Update README.md 2023-08-29 08:42:04 +07:00
redphx
fb7bd2da0d Update README.md 2023-08-28 14:31:13 +07:00
redphx
d9a14f9d83 Bump version to 1.14.1 2023-08-27 15:04:41 +07:00
redphx
18dd006aad Bump version to 1.14.1 2023-08-27 15:04:25 +07:00
redphx
f74de11e10 Fix Clarity Boost mode detection 2023-08-27 15:03:24 +07:00
redphx
2a71e17d2d Fix the stats selection box not working on mobile 2023-08-27 14:39:35 +07:00
redphx
2a85dd574e Version 1.14 (#116)
* Update README.md

* Update better-xcloud.meta.js

* Bump version to 1.14
2023-08-26 18:21:05 +07:00
redphx
9692286f1e Show a warning when the Clarity Boost mode is ON 2023-08-26 18:14:19 +07:00
redphx
26498efa7c Fix Settings button not showing when after playing (#112) 2023-08-26 18:02:53 +07:00
redphx
d1c724ff2c Improve Stats bar (#115)
* Rename "RTT" to "PNG"

* Show select box to select stats items

* Toggle stats

* Prevent select box from jumping around

* Put Ping before FPS & remove "ms" suffix from Ping
2023-08-26 18:01:31 +07:00
redphx
eec41c58b6 Bump version to 1.13.1 2023-08-18 17:44:01 +07:00
redphx
38cc78e0da Bump version to 1.13.1 2023-08-18 17:43:43 +07:00
redphx
3cf029818e Fix crashing when not skipping splash video 2023-08-18 17:07:43 +07:00
redphx
5104cf33b4 Version 1.13 (#105)
* Update README.md

* Bump version to 1.13

* Bump version to 1.13
2023-08-15 18:04:26 +07:00
redphx
771111d1f8 Loading screen (#104)
* Show game's art in the loading screen

* Fade in/out game's art

* Enable UI_GAME_ART_LOADING_SCREEN by default

* Check PREF_UI_GAME_ART_LOADING_SCREEN

* Fix touch controller setting

* Show estimated time

* Show countdown time on web title

* Rename PREF_UI_GAME_ART_LOADING_SCREEN to UI_LOADING_SCREEN_GAME_ART

* Add setting to show/hide the wait time

* Add time zone offset to end time

* Store APP_CONTEXT

* Add setting to hide the rocket animation
2023-08-15 17:42:21 +07:00
redphx
79e0661977 Update README.md 2023-08-15 06:04:05 +07:00
redphx
2dc3097737 Change clarity range from 0-3 (1 per step) to 0-5 (0.5 per step) 2023-08-14 16:54:25 +07:00
redphx
0833afc0a2 Set the opacity of stat's stroke to 90% 2023-08-14 16:27:15 +07:00
redphx
ca8b3cfbd8 Update README.md 2023-08-13 17:27:31 +07:00
redphx
bd852c788d Update README.md 2023-08-13 17:13:22 +07:00
redphx
3a82b74cda Version 1.12 (#95)
* Update README.md

* Bump version to 1.12

* Bump version to 1.12
2023-08-13 16:48:46 +07:00
redphx
dce0a44d2a Add poor man's "Clarity Boost" feature (#94)
* Add Video clarity setting

* Disable Clarity feature in Safari

* Make the Video settings bar smaller

* Stop loading the page when running into the "We are sorry..." error message

* Fix problems with named parameters
2023-08-13 16:22:13 +07:00
redphx
1d0d69850f Update issue templates 2023-08-13 10:31:30 +07:00
redphx
e719e6e1c5 Update README.md 2023-08-13 10:13:31 +07:00
redphx
9f3c6e5a6d Update README.md 2023-08-13 10:11:15 +07:00
redphx
b6e1d3debc Update README.md 2023-08-12 21:26:13 +07:00
redphx
c229cf7c47 Update README.md 2023-08-12 19:49:51 +07:00
redphx
343e243c77 Version 1.11 (#91)
* Update README.md

* Bump version to 1.11

* Bump version to 1.11
2023-08-12 19:41:14 +07:00
redphx
0722e02ab0 Minor fix 2023-08-12 17:56:23 +07:00
redphx
c520fde438 Show GamePass app's version (#85) 2023-08-12 17:35:40 +07:00
redphx
2f4396d948 Update Settings UI 2023-08-12 17:01:44 +07:00
redphx
88d46581bf Add touch's controller button styles: default/white/muted 2023-08-12 16:24:37 +07:00
redphx
0cd6106957 Increase TouchController.#dispatchMessage timeout time from 10ms to 100ms 2023-08-12 14:55:54 +07:00
redphx
43b932f5d6 Add "Enable microphone on game launch" setting (#89)
* Add "Enable microphone on game launch" setting

* Stream menu: clone the second last button instead of the first one (usually the mic button)

* Close the HUD when clicking clicking on the Video Settings button

* Use a different CSS for the Stream Stats button when it's ON
2023-08-12 14:52:27 +07:00
redphx
8315cee7ec Update README.md 2023-08-12 14:31:21 +07:00
redphx
9d6db3ed37 Fix for Safari (#88)
* Reload the page until the script is loaded first

* Trying to fix the issue with error page

* Show a message when reloading the page

* Minor refactoring in overrides.inputConfiguration

* Automatically reload the page when running into the "We are sorry..." error message
2023-08-12 10:43:51 +07:00
redphx
e85fc9aa47 Update README.md 2023-08-11 08:18:41 +07:00
redphx
2d680d63a1 Update README.md 2023-08-10 11:03:22 +07:00
redphx
aefd9e9320 Add warnings for Safari 2023-08-08 21:33:40 +07:00
redphx
ecaead1522 Update README.md 2023-08-08 08:47:01 +07:00
redphx
f71152595f Update issue templates 2023-08-08 08:14:58 +07:00
redphx
c633c81c90 Bump version to 1.10.2 2023-08-08 07:37:39 +07:00
redphx
c76cf83c58 Bump version to 1.10.2 2023-08-08 07:37:23 +07:00
redphx
5a5c65e7a2 Fix the fullscreen bug on Android (#49) 2023-08-08 07:35:34 +07:00
redphx
da7ff64471 Update feature_request.md 2023-08-07 08:54:28 +07:00
redphx
cd9f53a052 Update issue templates 2023-08-07 08:53:16 +07:00
redphx
c782526c32 Update README.md 2023-08-07 07:49:02 +07:00
redphx
e8ad1f9350 Update README.md 2023-08-07 07:19:22 +07:00
redphx
7779473eee Version 1.10.1 (#73)
* Update README.md

* Bump version to 1.10.1

* Bump version to 1.10.1
2023-08-06 18:57:14 +07:00
redphx
0b0f5add1b Toggle touch controller visibility (#72)
* Double-tap anywhere at the bottom of the screen to show/hide touch controller

* Update CSS

* Update the size of the screenshot button

* Update screenshot button's CSS

* Update screenshot button's opacity
2023-08-06 18:51:06 +07:00
redphx
cd82c5a94c Update README.md 2023-08-06 10:33:23 +07:00
redphx
140005bda5 Fix borken layout 2023-08-06 10:24:54 +07:00
redphx
76d99a994a Update README.md 2023-08-06 09:53:16 +07:00
redphx
48e1eb1a52 Update README.md 2023-08-06 09:38:18 +07:00
redphx
2ecd6f23ff Version 1.10 (#68)
* Update README.md

* Fix sometimes the touch controller layout doesn't show at the beginning

* Restore GAME_TITLE_ID

* Update README.md

* Bump version to 1.10

* Bump version to 1.10
2023-08-06 09:29:23 +07:00
redphx
3e97263caa Change text of the "Reload" button to "Reloading..." after clicking on it 2023-08-06 07:25:57 +07:00
redphx
19856e6381 Split settings into groups (#67) 2023-08-06 07:17:46 +07:00
redphx
d6852e132d Show stats bar on startup if Quick Glance mode is enabled 2023-08-06 06:21:12 +07:00
redphx
a5d340e4e8 Show charging status in Battery badge 2023-08-06 06:20:54 +07:00
redphx
34f33f2508 Add setting to enable touch controller for all games (#66)
* Add "Enable touch controller for all games" feature

* Minor fixes

* Disable STREAM_ENABLE_TOUCH_CONTROLLER when STREAM_ENABLE_TOUCH_CONTROLLER is enabled

* Combine STREAM_ENABLE_TOUCH_CONTROLLER & STREAM_HIDE_TOUCH_CONTROLLER into STREAM_TOUCH_CONTROLLER
2023-08-06 05:48:38 +07:00
redphx
ebde464bfa Update README.md 2023-08-05 14:48:02 +07:00
redphx
244fef1475 Update README.md 2023-08-05 11:58:53 +07:00
redphx
d43659da30 Fix missing key for STREAM_HIDE_IDLE_CURSOR 2023-08-05 10:17:46 +07:00
redphx
1dc411281c Fix check for update feature 2023-08-05 10:03:56 +07:00
redphx
3d3811b8f3 Disable the "Disable touch controller" setting on non-touchable devices 2023-08-05 09:49:22 +07:00
redphx
e940524ab1 Improve high-quality codec support detection 2023-08-05 09:39:54 +07:00
redphx
fe7b8d1ade Minor optimization 2023-08-05 09:20:25 +07:00
redphx
6264eaf32d Add onStreamStarted() 2023-08-05 09:09:25 +07:00
redphx
e6980b5204 Update README.md 2023-08-05 08:51:50 +07:00
redphx
4a0830895f Change "Enable quick glance" to "Enable 'Quick Glance' mode" 2023-08-05 08:38:27 +07:00
redphx
92157cdd5d Change "Dots icon" to "System menu's icon" 2023-08-05 08:36:38 +07:00
redphx
066d999241 Update README.md 2023-08-05 08:12:06 +07:00
redphx
1307b43f0c Switch to icons from phosphoricons.com 2023-08-05 08:03:40 +07:00
redphx
ecad1dc51b Bump version to 1.9 2023-08-04 18:40:24 +07:00
redphx
e1c1d74a22 Bump version to 1.9 2023-08-04 18:40:08 +07:00
redphx
b1881678b1 Update README.md 2023-08-04 18:30:08 +07:00
redphx
9d8d9680d3 Add "Quick glance" setting for Stream stats (#59) 2023-08-04 18:16:12 +07:00
redphx
4d2b6c5ef7 Simplify stream menu (#58)
* Add "Simplify Stream's menu" setting

* Fix Smart TV layout

* Fix not able to hide Video bar if the "Disable touch controller" is on

* Combine Region + Server badges into one

* Reduce badge's font-size from 16 to 14px

* Fix battery level showing .99999

* Don't show battery badge when it's 100%

* Fix showing incorrect Audio codec in Safari

* Add "Safari on macOS" User-Agent profile

* Fix showing incorrect Video codec in Safari

* Use "-webkit-user-select" for Safari

* Update Video badge's color
2023-08-04 16:19:18 +07:00
redphx
0c80e3ab1d Disable PWA prompt in Safari on iOS/iPadOS (#52) 2023-08-04 07:17:59 +07:00
redphx
6f326e8f2a Update README.md 2023-08-03 09:37:28 +07:00
redphx
92fe3756cf Update README.md 2023-08-02 20:35:27 +07:00
redphx
8ee28d92d9 Bump version to 1.8.2 2023-08-02 12:45:23 +07:00
redphx
1f94058b99 Bump version to 1.8.2 2023-08-02 12:45:08 +07:00
redphx
95e94242aa Update README.md 2023-08-02 12:44:40 +07:00
redphx
91aa28450d Fix battery status 2023-08-02 11:58:18 +07:00
redphx
8eb8bbf598 Add In/Out badges (#48)
* Show In/Out badges

* Cache DOMs of Stream badges

* Refresh badges every 3s

* Shorten Video badge: "1920x1080" -> "1080p"

* Fix 404 error when spoofing User-Agent (#34)
2023-08-02 11:51:46 +07:00
redphx
47817d9d36 Update color of "Video" badge 2023-08-01 21:17:27 +07:00
redphx
b770a4c9d3 Bump version to 1.8.1 2023-08-01 08:32:29 +07:00
redphx
a27c0ed8f6 Bump version to 1.8.1 2023-08-01 08:31:56 +07:00
redphx
8ac37754e6 Combine "Resolution" and "Video" badges into one 2023-08-01 08:31:01 +07:00
redphx
d9288a322b Update battery stat 2023-08-01 08:23:48 +07:00
redphx
5facfd2348 Fix inaccurate percentages of PL & FL stats 2023-08-01 08:18:03 +07:00
redphx
889717be7d Show confirm dialog to refresh the stream after holding for 1s 2023-08-01 08:07:57 +07:00
redphx
4b0f0784ae Fix stats bar not showing sometimes 2023-08-01 08:05:18 +07:00
redphx
31217d01bb Update bug_report.md 2023-08-01 07:40:50 +07:00
redphx
2f6176e906 Update README.md 2023-07-31 14:49:03 +07:00
redphx
fe011fd0f2 Update README.md 2023-07-31 08:28:37 +07:00
redphx
c23f55ee6b Bump version to 1.8 2023-07-31 07:49:11 +07:00
redphx
0c85770ed1 Bump version to 1.8 2023-07-31 07:48:52 +07:00
redphx
8233192b8d Update README.md 2023-07-31 07:47:45 +07:00
redphx
6c5fa3c061 Simplify playtime text 2023-07-31 07:31:03 +07:00
redphx
e47c6d9103 Use colors from PICO-8 palette for stream badges 2023-07-31 07:25:52 +07:00
redphx
563ad65580 Fix battery calculation 2023-07-31 07:16:32 +07:00
redphx
7933d8d22c Update README.md 2023-07-31 06:43:47 +07:00
redphx
b0e23ca335 Hold the "Quit game" button for 1s to refresh the stream (#43)
* Hold "Quit game" button to refresh the stream

* Fix problem with touch screen

* Another fix
2023-07-30 22:03:25 +07:00
redphx
c9f3990173 Show playtime & battery level badges (#42) 2023-07-30 21:07:25 +07:00
redphx
5d301b6588 Add setting to hide/disable touch controller (#38) 2023-07-30 15:47:56 +07:00
redphx
32123a7891 Update README.md 2023-07-29 18:02:20 +07:00
redphx
dad4d43313 Bump version to 1.7 2023-07-29 17:21:01 +07:00
redphx
e3af588b13 Bump version to 1.7 2023-07-29 17:20:47 +07:00
redphx
50226baa5c Update README.md 2023-07-29 17:20:02 +07:00
redphx
d2e3ad36da Fix check for update 2023-07-29 16:54:54 +07:00
redphx
26528fe2d7 Refactor code (#36)
* Refactor class names

* Move Quick settings bar's CSS to addCss()

* Adjust Stream menu button's size

* Add shadow to Video settings bar

* Put "Stream Stats" button before "Video Settings" button
2023-07-29 16:39:40 +07:00
redphx
9d44c9c779 Add "Preferred game's language" setting (#35) 2023-07-29 15:56:19 +07:00
redphx
423ac5c356 Start hiding cursor as soon as possible 2023-07-29 15:15:23 +07:00
redphx
746e32ecae Add "Hide mouse cursor while playing" setting (#33) 2023-07-29 12:11:41 +07:00
redphx
931d70ba3a Custom User-Agent (#32)
* Add "Custom User-Agent" feature

* Override navigator.userAgent

* Save the original User-Agent before overriding it
2023-07-29 10:49:12 +07:00
redphx
654d82208b Update README.md 2023-07-29 09:41:40 +07:00
redphx
0d5e3ed70f Replace "Force 1080p stream" setting with "Stream's target resolution" (#31) 2023-07-29 08:23:01 +07:00
redphx
fcd312344b Update README.md 2023-07-28 12:14:58 +07:00
redphx
d53aeb6c3e Update README.md 2023-07-28 06:32:12 +07:00
redphx
af5c758512 Update README.md 2023-07-27 08:45:03 +07:00
redphx
d1f39927d7 Update README.md 2023-07-27 08:29:48 +07:00
redphx
bd53961d67 Update README.md 2023-07-27 08:11:17 +07:00
redphx
ab6208a948 Bump version to 1.6.2 2023-07-27 07:29:53 +07:00
redphx
bae8c193d3 Bump version to 1.6.2 2023-07-27 07:29:39 +07:00
redphx
b9283eb435 Update README.md 2023-07-27 07:28:50 +07:00
redphx
e73e018380 Update Stream stats (#24)
* Change label's font

* Add Stats settings popup

* Toggle Stats settings dialog

* Update structure of Preferences.SETTINGS

* Add dialog title

* Add "Show stats when starting the game" setting

* Update texts

* Validate setting value before saving

* Add Preferences.toElement()

* Add "Text size" setting

* Add "Decode time" stat

* Add "Conditional formatting text color" feature

* Add "for" attributes to labels

* Update grade's colors

* Fix text wrapping

* Update stats using setInterval() instead of setTimeout()
2023-07-27 07:18:06 +07:00
redphx
e98ad00bb9 Update README.md 2023-07-26 15:42:38 +07:00
redphx
d232dc164f Update README.md 2023-07-26 09:07:31 +07:00
redphx
ee192bc98e Change value of "updateURL" 2023-07-25 11:35:50 +07:00
redphx
1210176413 Change "updateURL" to meta file 2023-07-25 11:33:21 +07:00
redphx
9262d0e14f Create better-xcloud.meta.js 2023-07-25 11:32:35 +07:00
redphx
df87a51329 Update README.md 2023-07-25 11:20:40 +07:00
redphx
8c7013659b Fix Stream stats bar's CSS 2023-07-25 09:14:28 +07:00
redphx
b3b7a51979 Bump version to 1.6.1 2023-07-25 09:01:04 +07:00
redphx
831ccb31c1 Stop stretching stream stats' background to full screen 2023-07-25 09:00:48 +07:00
redphx
d87ac78e57 Add "Check for update" feature (#21) 2023-07-25 08:58:42 +07:00
redphx
67b419c37d Update README.md 2023-07-25 07:57:16 +07:00
redphx
a7b796362a Update README.md 2023-07-25 07:12:01 +07:00
redphx
889ee890f1 Update README.md 2023-07-24 11:38:29 +07:00
redphx
71a48f8afb Update README.md 2023-07-24 08:00:56 +07:00
redphx
354ecac97e Update README.md 2023-07-23 20:22:39 +07:00
redphx
45a7c28d3f Update README.md 2023-07-23 17:53:56 +07:00
redphx
e43c34ed3a Bump version to 1.6 2023-07-23 17:45:27 +07:00
redphx
28a2e32fc5 Update README.md 2023-07-23 17:44:50 +07:00
redphx
b564de249a Show stream stats (#16)
* Get video and audio info from RTCPeerConnection.getStats()

* Show stream's stats bar

* Make Stream menu icon's size smaller

* Add shadow to stream badges

* Show bitrate

* Add button to toggle Stream Stats

* Rename StreamStatus to StreamBadges

* Show '???' then currentRoundTripTime is undefined

* Remove work-around for browsers with no setCodecPreferences() support as it's not working

* Remove updateVideoPlayerPreview()

* Disable USE_DESKTOP_CODEC setting on unsupported browsers
2023-07-23 17:09:30 +07:00
redphx
9fa073da82 Update README.md 2023-07-22 15:41:14 +07:00
redphx
958f5410f4 Update README.md 2023-07-22 15:20:45 +07:00
redphx
15d3efdf4e Update README.md 2023-07-22 15:20:35 +07:00
redphx
645b49751d Update README.md 2023-07-22 15:15:16 +07:00
redphx
53913ae218 Update README.md 2023-07-22 12:23:31 +07:00
redphx
2569e73018 Bump version to 1.5 2023-07-22 12:13:42 +07:00
redphx
4c790ac38d Update README.md 2023-07-22 12:08:27 +07:00
redphx
11c233e14e Add screenshot capture feature (#15)
* Add a button to test screenshot feature

* Update CSS of the screenshot button

* Prevent screenshot button from blocking UI

* Add setting to change screenshot button's position
2023-07-22 11:46:19 +07:00
redphx
a81cb86140 Update README.md 2023-07-22 09:23:58 +07:00
redphx
c3de245545 Rename "Dimension" to "Resolution" 2023-07-22 07:29:31 +07:00
redphx
a7ab506f0f Update README.md 2023-07-22 07:02:42 +07:00
redphx
8ecff6adae Update issue templates 2023-07-22 06:51:44 +07:00
redphx
27ec45512d Update issue templates 2023-07-22 06:42:30 +07:00
redphx
3a654b99cb Fix video not showing in Chrome 2023-07-22 06:36:26 +07:00
redphx
a009cca866 Update README.md 2023-07-21 17:28:29 +07:00
redphx
19302ea444 Update README.md 2023-07-21 17:03:03 +07:00
redphx
3c4248c1c7 Update README.md 2023-07-21 16:51:40 +07:00
redphx
de834fcb80 Bump version to 1.4.2 2023-07-21 16:49:28 +07:00
redphx
baf2c2a35d Fix "Force high quality codec" feature not working with Kiwi Browser 2023-07-21 16:42:57 +07:00
redphx
522830a47d Update README.md 2023-07-21 15:16:57 +07:00
7 changed files with 10919 additions and 827 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
ko_fi: redphx

21
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,21 @@
---
name: Bug report
about: Create a report to help us improve
title: "[Bug] ..."
labels: bug
assignees: ''
---
**Platform**
- Device: Phone, Laptop, Desktop, TV...
- OS: Windows, Android, iOS...
- Browser: Chrome, Safari, Kiwi...
- Browser Version:
- Better xCloud Version:
**Describe the bug**
...
**Screenshots/Videos**
If applicable, add screenshots/videos to help explain your problem.

View File

@@ -0,0 +1,16 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[Feature] ..."
labels: enhancement
assignees: ''
---
**I'm using:**
- Device:
- OS:
- Browser:
**I want to suggest this feature:**
...

View File

@@ -1,6 +1,7 @@
MIT License MIT License
Copyright (c) 2023 redphx Copyright (c) 2023 redphx
Copyright (c) 2020 Phosphor Icons
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
@@ -19,3 +20,5 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
---

174
README.md
View File

@@ -1,127 +1,79 @@
# Better xCloud # Better xCloud
Improve [Xbox Cloud Gaming (xCloud)](https://www.xbox.com/play/) experience on web browser. Improve Xbox Cloud Gaming (xCloud) experience on [xbox.com/play](https://www.xbox.com/play). It also allows you to use Remote Play on the xCloud website.
The main target of this script is mobile users, but it should work great on desktop too.
Give this project a 🌟 if you like it. Thank you 🙏. **Supported platforms:**
- Windows
- macOS
- Linux, SteamOS (including Steam Deck)
- Android, Android TV (including Meta Quest VR Headsets)
- iOS, iPadOS
This script makes me spend more time with xCloud, and I hope the same thing happens to you.
If you like this project please give it a 🌟. Thank you 🙏.
[![Latest version](https://img.shields.io/github/v/release/redphx/better-xcloud?label=latest)](https://github.com/redphx/better-xcloud/releases)
[![Total downloads](https://img.shields.io/github/downloads/redphx/better-xcloud/total?color=%23e15f2c)](https://github.com/redphx/better-xcloud/releases)
[![Total stars](https://img.shields.io/github/stars/redphx/better-xcloud?color=%23cca400)](https://github.com/redphx/better-xcloud/stargazers)
## Full documentations
- For the full details please visit: https://better-xcloud.github.io
- [Demo video](https://youtu.be/hyp69Jrb2sQ)
⚠️ Please DO NOT report **Better xCloud**'s bugs on [/r/xcloud subreddit](https://reddit.com/r/xcloud/). Report bugs in [Issues](https://github.com/redphx/better-xcloud/issues) or [Telegram channel](https://t.me/betterxcloud) instead.
## Table of Contents
- [**How to install**](#how-to-install)
- [**Features**](#features)
- [**Donation**](#donation)
- [**Acknowledgements**](#acknowledgements)
- [**Disclaimers**](#disclaimers)
## How to install
Visit [this page](https://better-xcloud.github.io/browsers) to know how to install Better xCloud on your device.
## Features ## Features
<img width="500" alt="Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/8fb9f0ac-85f5-4e5a-9570-5a5e119e4fc1"> <img width="400" alt="Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/4bec2d62-31df-499c-9aad-2485626b6925">
<img width="500" alt="Video Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/ed219d50-02ab-40bd-95c5-a010956d77bf"> <br>
<img width="400" alt="Remote Play dialog" src="https://github.com/redphx/better-xcloud/assets/96280/daf7f698-a228-4f9c-8f23-9669e061a64c">
<br>
<img width="600" alt="Stream HUD" src="https://github.com/redphx/better-xcloud/assets/96280/51bdb96c-79ab-402f-902a-a9e6229973b2">
<br>
<img width="600" alt="Stream settings" src="https://github.com/redphx/better-xcloud/assets/96280/ed513cb3-6e6c-4e8e-9e06-c62e71e41c90">
<br>
<img width="600" alt="Remapper" src="https://github.com/redphx/better-xcloud/assets/96280/f2e2bc51-f673-4b24-b127-c7169b86462b">
- **Switch region of streaming server** &nbsp;
> Connect to another server instead of the default one. Check [FAQ section](#faq) for some notes.
> Not working in Hermit ([#5](https://github.com/redphx/better-xcloud/issues/5)).
- **Force 1080p stream**
> By default you only get 1080p stream when playing on desktop.
> This feature will give you 1080p stream even on mobile, without having to change User-Agent.
> Not working in Hermit ([#5](https://github.com/redphx/better-xcloud/issues/5)).
- **Force high quality codec (if possible)<sup>(\*)</sup>**
> Force xCloud to use the best streaming codec profile (same as desktop & TV) if possible. You don't have to change User-Agent anymore.
> You should enable this feature even if you're on desktop.
> Use more bandwidth & battery.
> Comparison video with the setting ON & OFF: https://youtu.be/-9PuBJJSgR4
> Disable if it causes crashes.
> This feature doesn't work on Kiwi Browser (unsupported codec).
- **Prefer IPv6 streaming server**
> Might reduce latency
- **Disable bandwidth checking**
> xCloud won't reduce quality when the internet speed is slow
- **Skip Xbox splash video**
> Save 3 seconds
- **Hide Dots icon while playing**
> You can still click on it, but it doesn't block the screen anymore
- **Reduce UI animations**
> Disable `transition` CSS property in some elements. The smooth scrolling cannot be disabled.
- **Stretch video to full sctreen**
> Useful when you don't have a 16:9 screen
- **Adjust video filters**
> Brightness/Contrast/Saturation
- **Display stream's statuses**
> Region/Server/Quality/Dimension...
- **Disable social features**
> Features like friends, chat... Disable these will make the page load faster.
> Not working in Hermit ([#5](https://github.com/redphx/better-xcloud/issues/5)).
- **Disable xCloud analytics**
> The analytics contains statistics of your streaming session, so I'd recommend to allow analytics to help Xbox improve xCloud's experence in the future.
> Not working in Hermit ([#5](https://github.com/redphx/better-xcloud/issues/5)).
- **Hide footer and other UI elements**
<sup>(\*)</sup> By default (for compatibility reasons) xCloud only uses high quality codec profile when you use Tizen TV or Chrome/Edge/Chromium browser on Chrome/MacOS. Enable this setting will give you the best experience no matter what platform & browser you're on. **Demo video:** [https://youtu.be/oDr5Eddp55E ](https://youtu.be/AYb-EUcz72U)
- **🔥 Totally free and open-source**
- **🔥 Allow playing with [Mouse & Keyboard](https://better-xcloud.github.io/mouse-and-keyboard)**
- **🔥 Enable [Remote Play](https://better-xcloud.github.io/remote-play) support**
> 1080p resolution and can stream Xbox 360 games.
- **🔥 [Improve visual quality](https://better-xcloud.github.io/ingame-features/#improve-streams-clarity) of the stream**
> Similar to (but not as good as) the "Clarity Boost" of xCloud on Edge browser. [Demo video](https://youtu.be/ZhW2choAHUs).
- **🔥 Show [Stream stats](https://better-xcloud.github.io/stream-stats)**
- **🔥 [Screenshot capture](https://better-xcloud.github.io/screenshot-capture)**
- **🔥 [Touch controller](https://better-xcloud.github.io/features/#touch-controller)**
> Enable touch controller support for all games.
- [And more...](https://better-xcloud.github.io/features/)
## How to use ## Donation
1. Install [Tampermonkey extension](https://www.tampermonkey.net/) on suppported browsers. It's also available for Firefox on Android. If you think this project is useful and want to support future developments, please consider making a donate via [my Ko-fi page](https://ko-fi.com/redphx).
2. Install **Better xCloud**: Or you can give this project a star, that's also helpful.
- [Stable version](https://github.com/redphx/better-xcloud/releases/latest/download/better-xcloud.user.js) Thank you.
- [Dev version](https://github.com/redphx/better-xcloud/raw/main/better-xcloud.user.js)
4. Refresh [xCloud web page](https://www.xbox.com/play/).
5. Click on the new "SERVER NAME" button next to your profile picture to adjust settings.
6. Don't forget to enable auto updating for the script in Tampermonkey.
To update manually, just install the script again (you won't lose your settings). ## Translation
Help translating **Better xCloud** to another languagues using [Crowdin](https://crowdin.com/project/better-xcloud).
## Compatibility Use [this post](https://github.com/redphx/better-xcloud/discussions/131) for discussion.
✅ = confirmed to be working
❓ = not yet tested
❌ = not supported (mostly because of lacking Userscript/extension support)
= unavailable
⚠️ = see custom notes
| | Desktop | Android | iOS |
|----------------------------------------|------------------|------------------|------------------|
| Chrome/Edge/Chromium variants | ✅ | ❌ | ❌ |
| Firefox | ✅ | ✅<sup>(1)</sup> | ❌ |
| Safari | ✅<sup>(2)</sup> | | ✅<sup>(3)</sup> |
| [Hermit](https://hermit.chimbori.com) | | ⚠️<sup>(4)</sup> | |
| Kiwi Browser | | ✅<sup>(5)</sup> | |
Don't see your browser in the table? If it supports Tampermonkey/Userscript then the answer is likely **"YES"**.
<sup>1</sup> Follow [this guide](https://support.mozilla.org/en-US/kb/find-and-install-add-ons-firefox-android) to install Tampermonkey on Firefox Android.
<sup>2, 3</sup> Requires [Userscripts app](https://apps.apple.com/us/app/userscripts/id1463298887) (free & open source).
<sup>4</sup> NOT RECOMMENDED at the moment since its Userscript implementation is not working properly (see https://github.com/redphx/better-xcloud/issues/5 for full details). It's still my favorite app to play xCloud on because it's lightweight, supports Userscript (premium features, only $1.99) without having to install anything else. I built **Better xCloud** just so I could use it with Hermit.
<sup>5</sup> The "Force high quality codec" is unsupported (causes crashes).
## FAQ
1. **Will I get banned for using this?**
I think it's very unlikely that you'll get banned for using this. Most of the features only affect client-side, except for switching region of streaming server (you'll connect to another server instead of the default one). If you want to be safe just avoid using that. As always, use as your own risk.
2. **Why is it an Userscript and not extension?**
It's because not many browsers on Android support installing extensions (and not all extensions can be installed).
3. **I see "???" button instead of server's name**
That means Tampermonkey is not working properly. Please make sure you're using the latest version or switch to a well-known browser.
4. **Can I use this with the Xbox Android app?**
No you can't. You'll have to modify the app.
5. **Will you able to enable "Clarity Boost" feature on non-Edge browsers?**
No. "Clarity Boost" feature uses an exclusive API (`Video.msVideoProcessing`) that's only available on Edge browser for desktop at the moment.
## User-Agent
You're no longer needed to change User-Agent since you can just use the **Force high quality stream** setting.
If your browser doesn't support **Force high quality stream** setting, try changing User-Agent to:
```
Mozilla/5.0 (SMART-TV; LINUX; Tizen 7.0) AppleWebKit/537.36 (KHTML, like Gecko) 94.0.4606.31/7.0 TV Safari/537.36
```
This will change your device to a Samsung TV running Tizen OS. It will improve the stream quality.
---
Change User-Agent to:
```
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67
```
This will trick xCloud into thinking you're using Edge browser on desktop.
Other options (only do one of these):
- Add ` smarttv` to switch to Smart TV layout.
- Add ` Xbox;` to become an Xbox console.
- Add ` 36102dd3-6953-45f6-8b48-031fb95e0e0d` to become a Logitech G Cloud device.
- Add ` 0ed22b6f-b61d-41eb-810a-a1ed586a550b` to become a Razer Edge device.
## Acknowledgements ## Acknowledgements
- The mouse controlling feature is heavily inspired by the "Mouse spinning" feature in [Yuzu emulator](https://github.com/yuzu-emu/yuzu-mainline)
- [n-thumann/xbox-cloud-server-selector](https://github.com/n-thumann/xbox-cloud-server-selector) for the idea of IPv6 feature - [n-thumann/xbox-cloud-server-selector](https://github.com/n-thumann/xbox-cloud-server-selector) for the idea of IPv6 feature
- Icons by [Adam Design](https://www.iconfinder.com/iconsets/user-interface-outline-27) - Icons by [Phosphor Icons](https://phosphoricons.com)
- [PromptFont](https://shinmera.com/promptfont) by Yukari "Shinmera" Hafner
## Disclaimers ## Disclaimers
- Use as your own risk. - Use it at your own risk.
- This project is not affiliated with Xbox in any way. All Xbox logos/icons/trademarks are copyright of their respective owners. - This project is not affiliated with Xbox in any way. All Xbox logos/icons/trademarks are copyright of their respective owners.

5
better-xcloud.meta.js Normal file
View File

@@ -0,0 +1,5 @@
// ==UserScript==
// @name Better xCloud
// @namespace https://github.com/redphx
// @version 3.2.3
// ==/UserScript==

File diff suppressed because it is too large Load Diff