Trying to mod the sensors manager, something changed, help

Hi there. I have spent about 3 full days trying to do something that should be straightforward, that being make a simple replacement .hod for diskabove.hod (& diskbelow, world plane lines etc.)

Pre 2.0 patch, I used blender to export my model as an .obj, then CFHodEd to pack it into a .hod

Unfortunately since that was over a year ago, I am slowly rediscovering the ins and outs of modding in this game and obviously things have changed significantly. I just basically wanted to update my mod for post 2.0 patch.

Now my old worldplane lines and compass .hods work fine - but for some reason when it comes to the diskabove file it parses it wrong. The vertice data is correct but all drawn triangles are mashed up (because they are now all sharing a single vertice for one of their corners)

And no matter what I do, with all the tools I can find, I can’t create an in game working version of this .hod file. I’m not above hand editing .dae or .obj files for this task it’s a fairly simple shape.

So, can someone explain what specific tools and process to achieve it?

Would Hodor create a hod for from your dae? I wonder if that might be a better route…

1 Like

Definitely curious to see what HODOR says about your DAE. Also, how many vertices are in your diskabove mesh?

I can get HODOR to make a diskabove.hod from the .DAE file exported from Blender 2.79 using the HWRM collada exporter from the most recent tools I could find here, after exporting and importing from the blender 2.8 .blend project file. so far it only spits out what I assume to be a blank .hod file at 695 bytes so nothing appears in game. Or it could be something simple like I’ve got the axis orientation wrong, so I’m always looking at the blank side.

There’s about 650 vertices in the mesh I am attempting to use. I could use simpler meshes to test but it’s a similar number to the one I used previously. I note there’s no setup options on the HWRM collada DAE exporter, just some tabs - I assume all should remain checked? I tried it with just the mesh tab same result.

Now please do correct me if I’m wrong, but I’m thinking that HODOR needs a specific subset of metadata as well as the vertex data in a particular format, so I have been trying to RODOH the HW2 diskabove.hod (from the classic homeworld2.big) to perhaps take a peek at the exact format it spits out, then I could possibly hand edit my .DAE accordingly but so far RODOH doesn’t want to output that .DAE for me.

You might be better off with blender 2.76. The toolkit hasn’t really been validated with it versions…

one way to check if it’s an axis issue might be to try importing a fully 3d object and seeing if you see them at all

Hmmm. Tried in 2.76, no difference. Tried flipping normals for axis, with this one I’m pretty sure I got it right since I can load the classic hod in CFHodED, I can import my model and it is in the same axis orientation. but it won’t output a useable .hod (the faces are distorted as mentioned in the op)

I think the trouble I am having relates to the fact that this particular file is a very simple part of the game, the .hod format is obviously capable of containing masses of 3d object data, as well as game specific object data. Like, for my purposes all I want to do is change the mesh data of a single circular plane, but obviously the .hod file will need whatever else the game expects it to have plus that mesh data in precisely the format it expects.

Because the 2.3 game draws my old working .hod messed up with every triangle sharing one vertex somewhere on the edge of the shape, it seems the format of listing the triangles has been changed and each face is taking an index number (probably meant for normals as it’s the same for every triangle) for one of it’s vertices.

CFHodeED seems to be able to sort the rest of the file in a game acceptable format, just lists the triangles in an obsoleted format. Or at least it used to, I can’t get version 4.1.1.0 to load or save any .hods.

HODOR seems to work with some .DAEs and not others, depending on the exporter settings in blender but I have yet to create a properly working .hod of any kind with it.

RODOH as yet can’t get it to output anything from anything.

Can you post your files for us to play around with?

Yes certainly.

https://filebin.net/v15b5xp3geuwlint

the .hod is my old mod file, still works but triangles are messed up.

the .DAE is the output from HWRM collada DAE exporter in Blender 2.76 for the new model…

I can get this into the old .hod in CFHodEd but it crashes the game (now I look back it’s actully got a lot more vertices) so am going to try using the old model for now.

[edit] diskabove2.hod is produced from a new trimmed down version of the mesh, exported as .obj and imported over my old mesh in CFHodEd - works in game but triangles are messed up.

diskabove.blend - the blender 2.76 project file for the new trimmed down shape.

[edit 2] the output from HODOR using the .dae file is like this:

…\GBXTools\HODOR>HODOR.exe -script=Single_DAE_to_Remastered.txt
DAE->HOD: Loading C:\Users\Samuel\Desktop\diskabove.DAE
DAE->HOD: Creating Homeworld2 Multi Mesh File - Version 512
Parsing SHADERS.MAP
DAE->HOD: Generating Animation Channels

Press any key to continue . . .

so it seems to be stuck at animation channels and leaving a file stub.

I tried adding some INFO joints like this:

image

HODOR then produced a 1kB HOD that doesn’t appear to have anything in it…

Class[UIMesh] was a guess, no idea if it is helping.

The trouble is that we are guessing at how to get HODOR to generate these meshes. @pdeupree do you know?

Thanks so much for taking a look. I will keep going at it, anything I find out I will share.

some thoughts;

the closest I have managed so far is using CFHodEd 4.1.1.0 to import the mesh data from an exported .obj file to my old modified .hod file. I can work in Blender 2.8, It’s messed up in game but it works.

Other .hods that contain no triangle face data (like worldplanewireframe.hod or horizonabove.hod etc…) can be successfully modified this way, export mesh as .obj from CFHodEd, edit in Blender, import mesh in CFHod, save .hod

In CFHodEd these meshes have the mode [UI] and the single tab [UI Meshes], not sure if this might relate to the ROOT_INFO and Class[UImesh] outliner you have in the picture above. I have edited mine simillarly trying [UI], [UI Mesh] for the class, the exported .DAE is looking similar in structure to similar parts in working .DAEs but every time I get the same 695 byte stub from HODOR.

It is strange that RODOH won’t seem to touch these simple .hods (from the classic HW2) it is making me think that because HODOR needs to be capable for heavy multiple data type objects it might be unable to build these very simple ones at all.
The remastered .hod is slighty lighter, I very much doubt any 3D changes were made to the classic version so some superfluous data stripped out? or just a more efficient format for listing the faces probably. in the .obj files exported from CFHodEd, each vertice is listed along with normal and texture coordinates, for meshes with no faces this is just wasted data, and for flat meshes we only need one normal. CFHodEd has no problem importing from cleaner .obj files.
Might have something to do with the messed up triangles in the diskabove.hods it creates.

It’s a long shot, but it seems worth it to ping @BitVenom about this. He may not be working on homeworld stuff anymore, but if he happens to ever look at the forums he may be able to enlighten us a bit on how to set a DAE up properly for UI meshes

2 Likes

The other person who might be able to help is @radar3301 - he has some magic way of breaking into hod files…

2 Likes

I’ll take a look…

edit: havent looked yet, but iirc, UI meshes are still in the pre-2.0 format. i.e. you should be able to use the latest version of CFHodEd version 3 (not 4) to generate them.

(didnt read entire thread yet, so not sure if you tried that already)

1 Like

Oh thanks for taking a look.

I tried CFHodED 3.15 and 3.2 from ModDB with the same results as 4.110, game ready file but triangle list is messed up. Tried with the original HW2 .hod putting it through CFHodEd same issue even with the simple disk.

My efforts at hand editing .DAEs and trying to get blender to define the info node structure has only resulted in breaking the importer and exporter… so far.

If I remember correctly, there is a fairly tight limit on how many vertices/faces this object can have beyond which the renderer simply clips the rest. If I used a mesh with too many it simply wouldn’t draw the whole shape in game.

I guess I should mention I’m in Win10x64, don’t know if that might have some bearing on my issues, would a 32 bit blender work better perhaps that is something I can try.

@Dom2, @Sammi79 Try using Class[SimpleMesh]. Might have to be under a node named ROOT_SIMP.

Edit: HODOR understands the following class names:
MultiMesh
Background
SimpleMesh
WireMesh

You can also add LODs using the syntax ROOT_LOD[%d] (where %d is a number)

Also, apparently, there are commands in HODOR for creating levels (PLAYER[%d]_RACE[%d]_RU[%d]_START[%d]_NAME[%s]), though I have no idea what that’s supposed to mean…

1 Like

That was mentioned in one of the early posts about hodor but never documented publicly

I tried various combinations of the above in the joints in the dae file. Hodor gave some encouraging messages but failed to produce anything except a 1kb hod…

@radar3301 could you examine the vanilla discbove.hod to see what might be expected?