EDIT: Np ARKa. If you have any questions, please compile them into a list and I will try to address them here or in the documentation which I'm continuing to working on 
______
Just want to acknowledge the fact that I know the documentation is lacking in RC1. Like I said, this RC is targeted towards developers who will actually be getting involved with the source code. I didn't want to hold back the release just to work on documentation.
To briefly explain how Yelo's safety checks work so that nothing non-Haloce loads it, you'll need to reference Main.cpp
Code:
if ( strstr(name,PLATFORM_VALUE("haloce","haloceded")) == NULL )
{
#if PLATFORM_IS_USER && defined(DX_WRAPPER)
sprintf_s(warning,
"An application (%s) tried to run Yelo (Open Sauce) which is a plugin that is only compatible with Halo (CE) v1.08. \n"
"The plugin's interface to DirectX 9 will continue to run, but note that this is a kludge."
"\n\n"
"If you don't wish to see this message anymore, then remove this file to uninstall the plugin: \n"
"%s\\d3d9.dll",
name, dir);
#elif PLATFORM_IS_DEDI
sprintf_s(warning,
"An application (%s) tried to run Yelo (Open Sauce) which is a plugin that is only compatible with Halo Dedi (CE) v1.08. \n"
"Plugin will not be loaded, this is just warning.",
name);
#endif
If "haloce" (or "haloceded" for Dedi builds) do not appear in the application's (which loaded the module) name, then this will cause the above error to spawn. Take note that it will explicitly tell you the name of the exe in question.
Code:
else if(IsVersionInfoValid())
{
return _main_globals.enabled = true;
}
Checks to make sure the game exe's version is 1.08.616. If not, performs the following:
Code:
else
{
#if PLATFORM_IS_USER && defined(DX_WRAPPER)
sprintf_s(warning,
"Yelo (Open Sauce) is a plugin that is only compatible with Halo (CE) v1.08. Your version is incompatible."
"\n\n"
"If you wish to use Yelo, you must update by running this file: \n"
"%s\\haloupdate.exe"
"\n\n"
"If you don't wish to use Yelo, then remove this file to uninstall it: \n"
"%s\\d3d9.dll",
dir, dir);
#elif PLATFORM_IS_DEDI
sprintf_s(warning,
"Yelo (Open Sauce) is a plugin that is only compatible with Halo Dedi (CE) v1.08. Your version is incompatible."
"\n\n"
"If you wish to use Yelo, you must update by your haloded.exe file"
);
#endif
}
You'll see this if, for example, sapien tried to load the module thinking it was the real DX dll that Microsoft created.
Bookmarks