I hope you relise, this is to get the game to work for XP. This is NOT to let people who have Vista use a pirated version.
So why exactly are you trying to get it to work when you have Vista?
Printable View
To those of you who consider bumping old threads bad style, please accept my apologies. I didn't realize quite how old this thread was, sorry.
> So why exactly are you trying to get it to work when you have Vista?
Yes, I'm perfectly aware what the purpose is. And no, it's not a question of pirating. I've bought my Vista and my H2 - once for the Xbox and once for Vista, and completed both. But thanks for asking.
No, it's simply a matter of curiosity. Being a kernel programmer myself (embedded systems though) I'm rather impressed by what abcba has managed to do, and, as said, would like to get a glimpse of the magic.
Sorry for the late reply. I don't check this account very often.
You're most welcome, and thanks for the compliment :)
Hmm. I did forget to tell about an issue in the mf project. In my first stab at implementing everything I thought was needed, I discovered that the version of IMFPresentationDescriptor used by H2V was different from the one in the Windows SDK (6.0.5383.1.1) which I used. This manifested itself as certain calls beeing off, ie. it was making ::GetMetadata calls with obviously invalid arguments. The quick solution was to remove the function from the SDK headers. A cleaner solution would have been to create a new interface and rename all references, but hacking the headers was less work.
Also, regarding detours. Since the 2.1 version went commercial, they instated a requirement that you also load a dummy DLL (detoured.dll) whenever you use detours. Which I find redundant. So I used the elder version, 1.5. The API's haven't changed (IIRC) apart from the requirement of loading the dummy DLL. So if you can't find the old version you'll have to take that into consideration.
The wrapper classes such as CMFTopology and CAudioSessionManager inherit from interfaces (IMFTopology and IAudioSessionManager respectively) defined in the Windows SDK. The only reason why either class would be abstract, is if the interfaces have changed. If you look at the compiler error in the output view, it should tell you which members makes the class abstract.
That being the case, you've got the choice of hacking the headers or creating your own interfaces. If you're planning on using any of these interfaces in your own software, then I would strongly advice against hacking the headers.
Apparently that enum has been removed from the SDK: http://forums.microsoft.com/MSDN/Sho...16582&SiteID=1
The link provides an alternative definition of the removed values.
It looks like they've been doing some compatibility breaking changes to the SDK. The easiest thing might be to track down 6.0.5383.1.1.WindowsSDK_Vista_idw.DVD.Rel.img unless you're up for creating your own set of interfaces and typedefs :)
There's probably one more thing I should mention. If you're planning to have a go at Live then there's something you need to know. Once I had the game starting up. It would randomly crash, without affecting the operation of the game itself. I tracked this down to being a thread in the Live component, making invalid reads/writes to memory. However since it didn't have any effect on the game itself, I decided to catch the exception, using an unhandled exception filter (WowUnhandledExceptionFilter) and skip the faulting instruction upon failure. I can't say what implications this will have on the operation of Live, but I would think it has some significance.
Furthermore there's a fix for the Gravemind level glitch by grue697, which you could integrate into the source code.
Apparently ReadFile on Vista is capable of doing larger reads than previous versions. This causes the ReadFile API to fail on XP.
The reason he is using the Vista SDK is because it defines the interfaces and types which WowLoader implements. The whole point of WowLoader is to provide the functionality which is only available on Vista. This project wouldn't have been possible in such a short time, without the Vista SDK and documentation.
No need to apologize, quite the opposite. I really wasn't expecting to get a reply within less than 24 hours :-)
Yup indeed, someone's been tinkering with the code. The IAudioSessionManager interface has gotten a facelift (http://forums.microsoft.com/MSDN/Sho...36621&SiteID=1) and I imagine the same applies to IMFTopology. Trying to bend things back into shape will probably lead to nothing but trouble, so I'll just get hold of build 6.0.5383.1.1 of the SDK.
Thanks for the excellent help. If we ever meet in real life I owe you a beer ...heck even a crate probably won't do ;-)
Well, if no one gets multiplayer to work with this, you can look forward to Alky!
Psh, yeah right...for the record, another good reason to play Halo 2 on XP even if you legally own it and/or Vista is because the performance boost that a number of people including myself have experienced.
HELP................HELP................HELP
i got halo to install....
an now, i use d loader to launch the game and this message comes up
initialisation failed. Either insufficienct systems resources were not found to run the game or game is missing or damaged. Reinstalling the game may fix this problem.....thats the message.
what to do...?
?????????????????????????????????????????????????? ??????????????????????????
first of all,
dont bump really old topics
second of all, go to halo2xp.tk
they give all help
third of all
get vista and a good pc
I've been away for a long time but here is everything u need to play halo 2 on XP platform
The WOW Loader itself:
Gravemind level fix:Code:http://rapidshare.com/files/43119769/Halo_2_XP_Install_Package_0.3.zip
Have fun. :cool:Code:http://rapidshare.com/files/63766338/Halo_level_Fix.zip