Page 1 of 1

H2V to H2X Converter

Posted: Sat May 24, 2014 3:54 am
by DoorM4n
I've never played H2V, but I do know there is a map editing kit for it. You can make maps from scratch from what I can tell. I had a tool that could convert custom Halo CE maps to Halo Xbox maps: the tool was called Magic, which was then made into Arsenic.

Has anyone attempted to make a converter for H2V to H2X? I'm not saying it would be easy, but has anyone looked into it?

Just my thoughts! :)

Re: H2V to H2X Converter

Posted: Sat May 24, 2014 6:50 am
by NotZachary82
Yeah this was a big effort when H2V came out, there was some research on it but AFAIK it led to a dead end. I think it was shade45 leading the way with that stuff though i could easily be wrong

Re: H2V to H2X Converter

Posted: Sat May 24, 2014 7:15 pm
by CaptainPoopface
IIRC It used a different version of Havok that could not be ported back to H2X. Just talking out of my butt though.

Re: H2V to H2X Converter

Posted: Sat May 24, 2014 7:56 pm
by DoorM4n
Damn, those sneaky bastards! :lol:

All we want is to be accepted by our parent, Bungie. Why couldn't they just embrace us and make it easier for us modders?! :mrgreen:

Re: H2V to H2X Converter

Posted: Mon May 26, 2014 4:51 pm
by Grimdoomer
I spent a good amount of time working on it. Unfortunately as CaptainPoopface mentioned the havok code used on the pc version and xbox version are different. I was able to get the bsp and lightmap tags imported into an xbox map, and after some tweaks you could view the bsp in entity. When you tried to load the map on an xbox you would leave the lobby and it would freeze at a black screen. From what kornman last told me if I could figure out how to convert the havok data then my maps should load.

One thing to note is that I've never seen proof that anyone has done this successfully. I've herd rumors, but they are conflicting and just rumors. Also as a side note the work shade45 had done while useful, had some big flaws in it.

Here is the farthest I was able to get. I didn't make a single app to do this, it was a multi-step process that required a few apps I had wrote and some hand work here and there. I have the source code for all of it laying around but I would not be able to do it again using the same method. However, using Mutations core libraries I could build another map like this one. But until we can convert the havok code it wont do much good.
Image

TL;DR: The havok code on pc and xbox are different. Figure out how to convert the havok code and conversions *should* work.

Re: H2V to H2X Converter

Posted: Mon May 26, 2014 5:24 pm
by XZodia
well if you upload your progress source codez and a short tutorial, I might investigate the havok stuff in the future...

Re: H2V to H2X Converter

Posted: Mon May 26, 2014 8:39 pm
by Grimdoomer
I'll see what I can do, although I will most likely whip up something new to do this.

Re: H2V to H2X Converter

Posted: Thu May 29, 2014 7:44 am
by troymac1ure
There seems to be a decent amount of info out there on MOPP data, whether it applies to H2X MOPP data, but NifTools for one has done alot. I remember looking at their site before.

https://software.intel.com/en-us/forums/topic/298458
https://software.intel.com/en-us/forums/topic/295835
http://niftools.sourceforge.net/forum/v ... =24&t=1400

Just thought I'd put these here in case they help at all.

*EDIT*
This states someone is making collisions using the NifTools plugin for 3ds:
http://www.gamesas.com/mesh-mopp-makes- ... 35489.html

Re: H2V to H2X Converter

Posted: Thu May 29, 2014 4:13 pm
by XZodia
There is a slight hurdle in that, all the information that is available is for newer versions of Havok...

Re: H2V to H2X Converter

Posted: Thu May 29, 2014 8:03 pm
by troymac1ure
Right. I found a post from Kornman stating that later on (I think I spent 1-2 hours reading previous posts throughout the span of Entity's thread). Although the NifTools creators state that you can get their maps to load if you have blank MOPP or just a bounding box defined in MOPP (but I think they said it was laggy).
Has anyone tried to remove the MOPP data completely and see what happens?

Re: H2V to H2X Converter

Posted: Thu May 29, 2014 10:57 pm
by XZodia
I would imagine that has never been tried...
I would also imagine if it loaded, it would have no collision...but I guess it would be a step in the right direction.

There's 2 possibilities here:
1. null the reflexive
2. zero the mopp data

Re: H2V to H2X Converter

Posted: Sat May 31, 2014 5:38 pm
by Grimdoomer
Well if I can get Visual Studio 2003 to work correctly on anything I can give it a go and find exactly where the game crashes (if it does) and that at least gives a point of reference into the executable code. I don't think I will be able to get it to work using a Cisco switch though. For some reason xbox and xbox 360 consoles using DHCP through Cisco 2950 switches never seem to successfully get a DHCP lease from the default gateway. I have to log into the switch and see how the ports are configured, but I might just attach a dumb hub up for now and see what happens -_-

On an unrelated note, while doing some research on the unicode tables and unic tags I got side tracked with reverse engineering how the font files work. So expect some information on those in the future.

Re: H2V to H2X Converter

Posted: Sat May 31, 2014 8:27 pm
by troymac1ure
Grimdoomer wrote:Well if I can get Visual Studio 2003 to work correctly on anything I can give it a go and find exactly where the game crashes (if it does) and that at least gives a point of reference into the executable code. I don't think I will be able to get it to work using a Cisco switch though. For some reason xbox and xbox 360 consoles using DHCP through Cisco 2950 switches never seem to successfully get a DHCP lease from the default gateway. I have to log into the switch and see how the ports are configured, but I might just attach a dumb hub up for now and see what happens -_-
Is there any method of doing run-time debugging? Is 2003 the only VS that allows tracking? Would you mind posting an tutorial on your methods?
Grimdoomer wrote:On an unrelated note, while doing some research on the unicode tables and unic tags I got side tracked with reverse engineering how the font files work. So expect some information on those in the future.
I uncovered most of the information for these already (I know some sections are incorrect, but very close):
viewtopic.php?f=85&t=2267

Re: H2V to H2X Converter

Posted: Sun Jun 01, 2014 2:37 am
by Grimdoomer
troymac1ure wrote: Is there any method of doing run-time debugging? Is 2003 the only VS that allows tracking? Would you mind posting an tutorial on your methods?
Visual Studio 2003 does allow runtime debugging with the xbox sdk installed. You need the debug bios and dashboard running on your console. Once you do you simply open visual studio and go to Tools->Debug Processes, and select Xbox Consoles, and then your console.
troymac1ure wrote: I uncovered most of the information for these already (I know some sections are incorrect, but very close):
viewtopic.php?f=85&t=2267
I know, I was using it as a reference. But I like to find out exactly how the game does things :p

I fixed all my network issues so I can now debug on my console using visual studio. I'll fuck around with the MOPP code when I get a chance tonight.

Re: H2V to H2X Converter

Posted: Wed Jun 04, 2014 12:13 am
by neodos
troymac1ure wrote:Right. I found a post from Kornman stating that later on (I think I spent 1-2 hours reading previous posts throughout the span of Entity's thread). Although the NifTools creators state that you can get their maps to load if you have blank MOPP or just a bounding box defined in MOPP (but I think they said it was laggy).
Has anyone tried to remove the MOPP data completely and see what happens?
I tried it years ago, you either crash or you pass through the map.

If i recall the bsp has multiple collision meshes, one for projectile other for physical collision and player colliders, I don't remember if there was a third, I was able to successfully modify the projectile collision mesh, but the physics collision mesh depends on the mopp code which is necesary for the physics collision to work.
If you edit the physics collision mesh you'll basically pass through the modified faces if you move them too far from their original positions.
I guess you need the mopp to be recalculated for that mesh, how its recalculated is the mystery since we don't know what version of Havok Bungie used for H2, for all we know they might just have modified Havok themselves.

Re: H2V to H2X Converter

Posted: Wed Jun 04, 2014 5:58 pm
by XZodia
Has anyone done a direct hex comparison of a H2V tag with a H2X tag? To locate the differences?

Re: H2V to H2X Converter

Posted: Wed Jun 04, 2014 11:33 pm
by troymac1ure
neodos wrote:
troymac1ure wrote:Right. I found a post from Kornman stating that later on (I think I spent 1-2 hours reading previous posts throughout the span of Entity's thread). Although the NifTools creators state that you can get their maps to load if you have blank MOPP or just a bounding box defined in MOPP (but I think they said it was laggy).
Has anyone tried to remove the MOPP data completely and see what happens?
I tried it years ago, you either crash or you pass through the map.

If i recall the bsp has multiple collision meshes, one for projectile other for physical collision and player colliders, I don't remember if there was a third, I was able to successfully modify the projectile collision mesh, but the physics collision mesh depends on the mopp code which is necesary for the physics collision to work.
If you edit the physics collision mesh you'll basically pass through the modified faces if you move them too far from their original positions.
I guess you need the mopp to be recalculated for that mesh, how its recalculated is the mystery since we don't know what version of Havok Bungie used for H2, for all we know they might just have modified Havok themselves.
Well that's a good start. We could forget the MOPP data and just inject visual meshes. Then use the box method to create physics collision. We still need to create a BSP tree for the visual though or it lags out I think.