Xbox 360 Emulator Research Project
Go to file
emoose 2e93a23a5e [XAM/User] Add support for multiple signed-in users/profiles
This adds support for multiple profiles to Xenia, profiles can be configured with the [Profiles] user_*_xuid / user_*_state config settings.
If state is non-zero (1 = offline, 2 = LIVE), the profile will be counted as logged-on - either with a generated XeniaUser gamertag, or if the XUID is set to 1 the first available profile will be loaded.
The XUID can also be set to the offline-XUID (E000...) of an existing profile, to sign in the user as that profile.
(Profiles should be stored in the Xenia content/FFFE07D1/00010000/ folder, either as an STFS package or an extracted folder)

All the XamUser* functions have been updated to support multiple user_index's provided to them too.
(there's still issues with weird indexes like 0xFF, 0x7FF9... being given though, still dunno what's with that, the KernelState::user_profile() code will treat 0xFF as 0)

I'm not really sure if this is the most ideal way to do things though, but it does appear to work fine, at least Halo 3 does detect the profiles with state > 0 fine.

TODO: look into changing up xam_content to make use of user_index & profiles.
It shouldn't be too difficult now to emulate the same content paths X360 uses (seperating content by XUID etc)
Would probably be a good idea, since it'd probably be needed for us to support multiple profiles properly, so that they don't all share savegames etc...
2020-01-03 00:05:00 +00:00
.github [CI] Skip master branch, also rename xenia.exe to xenia-canary.exe in AppVeyor+Azure 2019-12-11 20:19:15 +01:00
assets [Base] icon fix 2019-12-11 20:19:15 +01:00
docs Remove (hopefully) last OpenGL leftovers & crunch 2019-11-08 09:10:51 -08:00
src/xenia [XAM/User] Add support for multiple signed-in users/profiles 2020-01-03 00:05:00 +00:00
third_party Actually update libav. 2019-11-21 21:50:38 -05:00
tools Remove (hopefully) last OpenGL leftovers & crunch 2019-11-08 09:10:51 -08:00
.appveyor.yml [AppVeyor] Skip tests 2019-12-11 20:19:16 +01:00
.azure-pipelines.yml [CI] Skip master branch, also rename xenia.exe to xenia-canary.exe in AppVeyor+Azure 2019-12-11 20:19:15 +01:00
.clang-format Include order fixes. 2015-12-27 10:27:46 -08:00
.gitattributes gitattributes (maybe). 2015-05-24 01:16:34 -07:00
.gitignore Update .gitignore. 2018-05-22 22:24:39 -05:00
.gitmodules Fix submodule URLs. 2019-08-04 03:23:36 -05:00
.travis.yml Remove (hopefully) last OpenGL leftovers & crunch 2019-11-08 09:10:51 -08:00
LICENSE Adding CONTRIBUTING.md so that github shows it on issues. 2015-08-28 14:16:38 -07:00
README.md [README] stuff 2019-11-21 21:50:38 -05:00
premake5.lua AVX(2/512) builds 2019-11-21 21:50:32 -05:00
xb Add xb symlink to xenia-build to match xb.bat for win 2017-07-11 11:47:24 -06:00
xb.bat Fix handling of paths to Python with spaces in xb.bat. 2019-08-23 10:40:21 -05:00
xenia-build AVX(2/512) builds 2019-11-21 21:50:32 -05:00
xeniarc clang-format detection cleanup. 2015-08-01 00:41:46 -07:00

README.md

Xenia - Xbox 360 Emulator

AppVeyor Build status Azure Build Status Actions Status

Xenia Canary is an experimental fork of Xenia. For more information, see the wiki.

See current Pull Request status here.

Interested in supporting the core contributors? Visit Xenia Project on Patreon.

Please check the FAQ page before asking questions. We've got jobs/lives/etc, so don't expect instant answers.

Discussing illegal activities will get you banned.

Disclaimer

The goal of this project is to experiment, research, and educate on the topic of emulation of modern devices and operating systems. It is not for enabling illegal activity. All information is obtained via reverse engineering of legally purchased devices and games and information made public on the internet (you'd be surprised what's indexed on Google...).

Discord: Discord

Quickstart

See the Quickstart page.

Download

Windows

Building

See building.md for setup and information about the xb script. When writing code, check the style guide and be sure to run clang-format!

FAQ

See the frequently asked questions page.