LBA1:File3D entity

From LBA File Information
Jump to: navigation, search
File3D entity
Extension

3DE

Occurence

LBA1

Colour
Programs supporting this format
References

(none)


3DE files contain data that associates 3D models of one character with its animations.

Specification:[edit]

--------------------------------------------------------------------------------
L I T T L E B I G A D V E N T U R E 1
LBA1 File3D format (3de file extensions)
Revision 2

Author: Alexandre Fontoura [alexfont]
Email: alexandrefontoura@gmail.com

Last Modification: 27.05.2007


[#] [ INFORMATION ] ------------------------------------------------------------

This document describes the format in which the LBA1Relentless File3D (character informations) are stored in.
If you find any errors or new stuff in this or for this document please email me the details.
This information is provided AS IS.


[#] [ NOTE ] -------------------------------------------------------------------

In LBA1 this files are inside File3D.HQR with many entries, each one corresponding the following format.

Additional information:
        s32 = signed int (32bit)
        u16 = unsigned short (16bit)
        s16 = signed short (16bit)
        byte (8bit)
        + = to add previeous bytes count

[#] [ FORMAT ] -----------------------------------------------------------------

Do this while not EOF
[ Entry ]
00:        byte        File3D Opcode
                 |-> Opcode = 0x01 -> Body content
                 |-->        Opcode = 0x03 -> Anim content
                 |---> Opcode = 0xFF (255) -> EOF (End Of File)

[ IF Opcode = 0x01 ]
+00:       byte        Body index (in File3D.HQR)
01:        byte        Body data size - 1 (only take the following values)
                 |-> 0x04 (4) -> When no collision box is used
                 |--> 0x11 (17) -> When used a collision box
02:        s16        Body real index (in Body.HQR)
04:        byte        Collision box flag
                 |-> flag = 0x00 (0) -> Model doesn't use collision box
                 |--> flag = 0x01 (1) -> Model use collision box

[ IF Collision box flag is set ]
05:        byte        Number of bytes to read minus 2. In this case the value is always 0x0E, so it will have more 0x0E-0x02 = 0x0C bytes
06:        u16        X (bottom left)
08:        u16        Y (bottom left)
0A:        u16        Z (bottom left)
0C:        u16        X (top right)
0E:        u16        Y (top right)
10:        u16        Z (top right)

[ / Opcode 0x01 ]


[ IF Opcode = 0x03 ]
+00:       byte        Anim index (in File3D.HQR)
01:        byte        Anim data size - 1 (only take the following values)
                 |-> 0x04 (4) -> No actions
                 |--> 0x08 (8) -> Unknown actions
                 |--> 0x10 (17) -> Use anim actions
02:        s16        Anim real index (in Anim.HQR)

[ IF Unknown flag is 0x08 or 0x10 ]

05:        

[ / Opcode 0x03 ]

[ IF Opcode = 0xFF ]
  - EOF (End Of File)
  - No more content is in the file, so the processing of the entry ends here.
[ / Opcode ]

[ / Entry ]

Information provided by: alexfont