Bfres

From EPD Wiki
Jump to navigation Jump to search

Bfres is a model archive file format. A Bfres file can contain models with shapes, materials, and a skeleton as well as skeletal, material, shape, bone visibility, and scene animations.

Header (nn::g3d::ResFile or nn::g3d2::ResFile)

An nn::util::BinaryFileHeader derived file header featuring arrays and dictionaries of each model resource type, as well.

Version 10.0.0
Offset Size Type Description
0x0 0x20 nn::util::BinaryFileHeader Base header
0x20 0x8 const char * (NW) File name
0x28 0x8 ResModel * Model array
0x30 0x8 nn::util::ResDic * Model dictionary
0x38 0x8 void*[4] Only observed as 4 unused null pointers so far
0x58 0x8 ResSkeletalAnim * Skeletal animation array
0x60 0x8 nn::util::ResDic * Skeletal animation dictionary
0x68 0x8 ResMaterialAnim * Material animation array
0x70 0x8 nn::util::ResDic * Material animation dictionary
0x78 0x8 ResBoneVisibilityAnim * Bone visibility animation array
0x80 0x8 nn::util::ResDic * Bone visibility animation dictionary
0x88 0x8 ResShapeAnim * Shape animation array
0x90 0x8 nn::util::ResDic * Shape animation dictionary
0x98 0x8 ResSceneAnim * Scene animation array
0xa0 0x8 nn::util::ResDic * Scene animation dictionary
0xa8 0x8 nn::gfx::TMemoryPool * Runtime MemoryPool (set by g3d)
0xb0 0x8 nn::gfx::MemoryPoolInfo Pre-initialized MemoryPool info pointing to GPU region
0xb8 0x8 nn::gfx::ResEmbedFile * Embed file array
0xc0 0x8 nn::util::ResDic * Embed file dictionary
0xc8 0x8 void * User pointer in EPD software. (possibly a UI tree in nn::ui?)
0xd0 0x8 const char * (NW) Reserved
0xd8 0x4 u32 Reserved
0xdc 0x2 u16 Model array count
0xde 0x2 u16 Reserved
0xe0 0x2 u16 Reserved
0xe2 0x2 u16 Skeletal animation array count
0xe4 0x2 u16 Material animation array count
0xe6 0x2 u16 Bone visibility animation count
0xe8 0x2 u16 Shape animation count
0xea 0x2 u16 Scene animation count
0xec 0x2 u16 Embed file count
0xee 0x2 u16 Reserved