My app can load a lot more stuff now - check out
this video to see some of it in action. Note that some of the stuff you see in the video isn't how it appears in-game. This is because I have placeholder stuff there while I figure out the rest of the data-- it's all described in the video description.
I'm getting close to having all the info I want in some of my templates, so once I have that all in order, I'd like to post those for the community. My template list is getting quite large now:
- FLVER (95%)
- BDT (100%)
- BHD (100%)
- BHD5 (100%)
- BND (99%)
- HKX (60%) - this is temporary as it may not be needed in the future
- FFX (3%)
- MSB (80%)
- MTD (87%)
- TAE (84%)
- TPF (100%)
I might also take a look at the Noesis plugin to update it, but no promises there.
Here's a rundown on the files, and what they're used for:
FLVER: Mesh, Binding Pose, LODs, and references to material definitions & textures
BDT: Archive data. Just a bunch of data stuck together without any information about how to read it- that info is in one of the header files, below. However for any given "file" of data within the archive, if it's compressed, the compression header info is in this file.
BHD: Archive header with filenames. Contains offsets, sizes, file names, etc.. about the files that are in the associated BDT file
BHD5: Archive header without filenames. Contains offsets, sizes, filename hashes, etc.. about the files that are in the associated BDT file
BND: Single file archive. Contains all the header information as well as data for a group of same-file-type files.
HKX: Havok binary file. May contain any combination of a huge variety of data - sometimes skeleton data, sometimes collision meshes, sometimes animation data.
FFX: Particle effect file. Defines everything about rendering one specific instance of a particle effect. As far as I can tell, the only "configurable" value for a particle effect is it's position and rotation on the map.
MSB: Map Studio Binary. It's like the "glue" for a map. Contains all the info required to put all the proper map piece, entity, and object FLVERs together to create a specific zone of the world.
MTD: Material Type Definition. Contains a variety of constant values to be passed to a shader for rendering, and a few configurable values to be passed on - these always appear to be textures, and are passed in by the FLVER.
TAE: Animation set file. Contains a variety of information pertaining to animations, their IDs (for referencing externally), etc..
TPF: Texture Package Format. Contains a group of textures that always need to be loaded together.
There's other filetypes I know about, and what they're for, but they're not on my template list, so it's not convenient for me to write about them right now.