In case anyone wants to try editing some models, here's everything I'm using. I don't want to keep this secret all to myself.
Archive unpacking: GarBro
Releases · morkt/GARbro · GitHub - use the .exe version
Mesh editing: HxD
HxD Hex Editor
Previewing meshes so I don't have to load the game every 10 seconds: 3D Object Converter
3D Object Converter - If you use this, you can use the Draw menu to show vertices and the wireframe, so you can see if you missed something somewhere. If there's anything out of place, it'll cause issues in-game. It can convert .mdl files to .obj, but unfortunately, there is no conversion back to .mdl. I'm talking with the original developer of it, and looking through some information he sent me, to see if I can streamline this process a bit.
And a few tricks I've learned over the past couple days:
- You can add more meshes to a single mesh file by adding a CLSN reference and the MESH vertex data/texture mapping. So far, I've only been able to copy and paste from other existing meshes, but it's good enough for now.
- NEVER delete or add new vertex data. Instead, find a different vertex with a location that's nearby (or replace everything with 0's), and overwrite the location info. If you change the data size for mesh vertex info, it won't load. But if you have a ton of vertices sitting at 00-00-00..., then it'll usually be fine.
- In the .mdl file, in the hex editor, each vertex ends with FF FF FF FF in hex, or ÿÿÿÿ in the viewer. Changing these seems to do nothing, but the two hex sets right
before the FF's are the z-coordinates of the vertex. Make it bigger to move it up, or smaller to move it down. I haven't had consistent results on what the other hex sets are for, but if I find out, I'll let everyone know.