e9eca0a4c9
This mostly works the same as https://github.com/xenia-project/xenia/pull/1354, with a couple minor fixes (thanks to Dr. Chat for the suggestions!) Eg. the library will only be loaded inside SetupLibraryImports now, instead of inside GetModule - this seems like a better solution, as Dr. Chat said GetModule could be used in places that aren't meant to load any extra modules. Libraries loaded by guest code (eg. LoadLibrary) should still execute under the same thread as the caller now too - I'm sure I already had code for this in the PR already, but seems not... maybe forgot to commit or something. So now only libraries that are included in the import headers will have a guest thread created to run DllMain (as there wouldn't be any guest threads available to run it inside, since the main XEX is still being loaded) I've also added some code in this commit to wait for this DllMain thread to complete before continuing the import load, which should help prevent any race conditions. With these changes Fuzion Frenzy 2 will now get to the intro movies (as long as signin_state > 0) but quickly freezes during them... unsure why this happens. (the old imports PR also did the same AFAIK, and apparently also broke BF3, haven't been able to test that yet though) |
||
---|---|---|
.github | ||
assets | ||
docs | ||
src/xenia | ||
third_party | ||
tools | ||
.appveyor.yml | ||
.azure-pipelines.yml | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
premake5.lua | ||
xb | ||
xb.bat | ||
xenia-build | ||
xeniarc |
README.md
Xenia Canary - Xbox 360 Emulator
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...).
Quickstart
See the Quickstart page.
Download
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.