Hello! I'm delving into the BMDL format from the Darkspore game, which encompasses 3D elements like meshes, and potentially bones and animations. This format appears to share similarities with SPORE's GMDL, both from RenderWare engine, though BMDL is from a more recent version.
the original game is dead, EA abandoned the game by closing the servers, but it is still possible to download the game via steam with a link, despite being named as Demo, inside the folder the game is complete with all files.
I believe that the engine used to create Darkspore is the same as that of SPORE, because their files are very similar from the outside (.package and folders). Using a software to create SPORE mods by emd4600, I was able to extract the Darkspore .package files, however it only supports files used in SPORE (like .gmdl) and .bmdl is not included.
There is broader support for GMDL thanks to developer emd4600, who focuses on SPORE files:
https://github.com/emd4600/SporeModder-Blender-Addons
Meanwhile, BMDL has limited support, with an old Blender script by emd4600, effective only for some BMDL files:
https://raw.githubusercontent.com/JeanxPereira/BMDL-Importer/main/bmdlImporter_new.py
I've made modifications to the script with ChatGPT's help to enhance compatibility with BMDL files:
https://raw.githubusercontent.com/JeanxPereira/BMDL-Importer/main/BMDL-Importer_2.8.py
These changes aim to identify 3D meshes (vertices, faces, points, normals) in the file. However, the absence of a clear pattern in BMDL's operation hampers progress. Unfortunately, I don't have extensive knowledge in Reverse Engineering.
here have some bmdl files for example:
https://github.com/JeanxPereira/BMDL-Importer
I'm grateful in advance for any help and insights on reverse engineering this format.🙂