Skip to content
widberg edited this page Oct 12, 2023 · 20 revisions

Chum World SKIN
ImZouna Skin_Z

This has an associated Data Class.

struct Skin_Z : Object_Z {
    PascalArray<crc32_t> meshCRC32s;
        // equals skinSections.size
    std::uint32_t zero0;
        // always 0
    std::uint32_t zero1;
        // always 0
    std::uint32_t zero2;
        // always 0
    std::uint32_t zero3;
        // always 0
    float oneAndAHalf;
        // always 1.5
    std::uint32_t bone_names_count;
        // always 21
    PascalArray<struct SkinSection {
        PascalArray<struct SkinSubsection {
            crc32_t animationNodeName0;
            crc32_t animationNodeName1;
            crc32_t animationNodeName2;
            crc32_t animationNodeName3;
            crc32_t bone_names[bone_names_count];
        }> skinSubsections;
    }> skinSections;
        // skinSections.size = meshCRC32s.size
};
//------------------------------------------------
//--- 010 Editor v11.0.1 Binary Template
//------------------------------------------------
struct Skin_Z
{
    uint32 meshCRC32Count;
    uint32 meshCRC32s[meshCRC32Count];
    uint32 u0;
    uint32 u1;
    uint32 u2;
    uint32 u3;
    float oneAndAHalf;
    uint32 dataCount;
    uint32 skinSectionCount;
    struct SkinSection
    {
        uint32 skinSubsectionCount;
        struct SkinSubsection
        {
            uint32 vertexGroupCRC32;
            uint32 unknown0;
            uint32 unknown1;
            uint32 unknown2;
            uint32 data[dataCount];
        } skinSubsections[skinSubsectionCount];
    } skinSections[skinSectionCount] <optimize=false>;
} skin;
//------------------------------------------------
//--- 010 Editor v11.0.1 Binary Template
//------------------------------------------------

struct Skin_Z_Alt
{
    uint32 meshCRC32Count;
    uint32 meshCRC32s[meshCRC32Count];
    uint32 u0;
    uint32 u1;
    byte u2;
    float oneAndAHalf;
    uint32 dataCount;
    uint32 skinSectionCount;
    struct SkinSection
    {
        uint32 skinSubsectionCount;
        struct SkinSubsection
        {
            uint32 vertexGroupCRC32;
            uint32 unknown0;
            uint32 unknown1;
            uint32 unknown2;
            uint32 data[dataCount];
        } skinSubsections[skinSubsectionCount];
    } skinSections[skinSectionCount] <optimize=false>;
} skin;

Home
FAQ

For FMTK Users and Mod Developers

Read the Docs

For FMTK Developers

Asobo BigFile Format Specification
Asobo Classes
      Animation_Z
      Binary_Z
      Bitmap_Z
      Camera_Z
      CollisionVol_Z
      Fonts_Z
      GameObj_Z
      GenWorld_Z
      GwRoad_Z
      Keyframer*_Z
      Light_Z
      LightData_Z
      Lod_Z
      LodData_Z
      Material_Z
      MaterialAnim_Z
      MaterialObj_Z
      Mesh_Z
      MeshData_Z
      Node_Z
      Omni_Z
      Particles_Z
      ParticlesData_Z
      RotShape_Z
      RotShapeData_Z
      Rtc_Z
      Skel_Z
      Skin_Z
      Sound_Z
      Spline_Z
      SplineGraph_Z
      Surface_Z
      SurfaceDatas_Z
      UserDefine_Z
      Warp_Z
      World_Z
      WorldRef_Z
Asobo File Format Idioms
Asobo CRC32
Asobo LZ Compression
Asobo Arithmetic Coding Compression
Asobo Save Game File Format Specification
Asobo Audio Formats
TotemTech/ToonTech/Zouna/ACE/BSSTech/Opal Timeline
Zouna Modding Resources
Miscellaneous

Clone this wiki locally