EDIT: Here's a script that exports smaller md5anim files and doesn't require baking:
I tested this addon for importing and exporting md5.mesh and md5.anim in Blender: https://github.com/KozGit/Blender-2.8-MD5-import-export-addon
It works with Blender 3.6.15 which is the latest version in the 3.0 series. It doesn't work with Blender 4.2. It seems that the culprit is the change in the 4.0 series from bone layers to bone collections.
Here's an updated .blend file with male NPC an
It has always bothered me that Blender md5anim exporters write a lot of unnecessary data by storing every value for every bone. Here's an example of a typical frame exported from Blender:
And here's a frame exported from some other software:
Since skeletons are hierarchical, rotations can be inherited instead, making the files 3x smaller.
I asked Google's Gemini to rewrite the script. Simply select the armature and export. No need for baking any more. The code will automatical