Door Tags

Feb 26, 2016
342
76
28
27
USA
#1
Something I've been working on ever since Twinreapers attempt at it.


I got it working 100% and now wanted to share the result with anyone who might be interested. I will go over how I fixed each tag to work with the animation and work without issues. I used tags I extracted from deltatemple.map as a base.

Render Model -
These are a bitch to get proper in H2V. You have three choices when it comes to render models at the moment. You can use the GBXmodel Upgrader to upgrade a model tag from Halo CE into a render model. Very useful but due to the differences between Halo CE and Halo 2 you will encounter broken UVs. You can convert a BSP by transferring all of the render data in it to a render model tag. This method will get you perfect UVs for sure though is very limited by the fact that if the model demands more than one node or a region and permutation then it this method can't be used. You can also fuck off and cry in a corner.

I choose the first option which was to upgrade the model as the door had two nodes. Luckily the model actually came over fine and without issue. It was just a matter of adding the missing stuff such as markers and shaders. Frame location was mostly guessed. A process which involved looking at the original render model and multiplying the location of the frame by 100 which was then the value I would use in my 3D modeling software. If the frame was 1 world unit on the z axis then I would do x100 on the value and type in 100 units in my 3D modeling program for the models z axis.

Collision -
Collisions that you extract will cause crashes due to missing data. The only way to get around this is to remake the collision. I started by using Entity to extract the original model from the H2X version of the game and then scaled everything appropriately. I then exported the model using a standard JMS exporter for Halo CE. I was then able to import the model with H2Tool using a modded DLL to inject custom commands. The result is almost 1:1 with the original file besides some small differences. It also works perfectly ingame.

Physics Model -
This one was a bit more tricky. There is no good way to export physics JMS files for Halo 2 since the format is completely different from Halo CE. I started by using a template and then modifying an exporter to only write vertices and vertices count to a JMS file. I then copied this data over to my template and set it up as it would be by an exporter. Locations for the objects themselves were done by hand and guessed as I'm not sure how that value is made. Some edits were made to the physics file afterwards by comparing it to the original physics file.

For the purposes of documenting my mistakes and solutions:
At the start I would get an error related to all meshes needing to have a parent object. I was confused because I believed to have setup the file right. Turns out that is not the case. Node index starts at -1. So you go -1, 0, 1, etc. If two nodes have the same index then that means they are sibling nodes or nodes that are under the same parent node. Objects in the list however start at 0. If you wanted object door_tower to reference node door which had an index of 0 then the parent number for the object would be 1

When I first compiled all the files I could not walk through the opening of the door. After some playing around with the model files the culprit turned out to be the physics file. The problem seemed to be that the physics file when compiled was connecting the vertices of the two pillars on each side across the middle. Convex shaped physics files only take the location of vertices. I don't even know how it can get a proper shape by just the location of the vertices. I solved this by turning the two pillars and the arch into 3 separate objects.

Sounds -
Sounds are completely useless upon extraction. I instead ripped the sounds from H2X using Gravemind and then converted them to playable WAV files using the XBADPCM. From there I saved the files as a WAV 16 bit and used H1Tool to compile the sounds in the Xbox codec. These sounds are usable in Halo 2.

Download link -
https://mega.nz/#!MoNyxKCT!tknAbYA5-32SREK6tPkqEIYkwt3IEoz5UpBzI4Z7Za0

FAQ -
Q. How can I speed or slow down the door opening animation?
A. Play around with position acceleration time in the device_machine tag. It's under the $$$DEVICE$$$ section.

Credits -
Bungie for making Halo 2 and the assets.
Hired Gun for porting the game for better or worse.
Kornmann00 for his research into tag extraction and tool modifications for H2V.
Himanshu01 for bringing us these tools and expanding them in a form that us plebs can use.
Ale(Num0005) for the launcher I now use that significantly cuts down on my time spent typing commands along with his H2EK modifications.
Twinreaper - For dealing with my shit and answering my questions.
The Project Cartographer team for reviving Halo 2.
 
Last edited:
Feb 26, 2016
342
76
28
27
USA
#3
Wow, I didn't even think about that. Yea, it will push the player up and they can stand on it just fine as it moves and after. I suppose with enough effort one could use this animation to make a working elevator if that is the direction you were going in.
 

Himanshu01

Lead Dev
Project Cartographer Staff
May 16, 2013
243
22
18
25
India
Gamertag
Himanshu01
#5
An elevator lol
Not a Bad idea at all.
I really love the effort everyone is putting into right now.
 
Mar 15, 2013
188
15
18
45
#6
Now get working on the ODST Highrise doors I need, since i could never get the collision and physics to animate with it....