Kya+Dark+Lineage

This is an adventure game developed by Eden Games. This is a wire-frame Collision detection of a level. (The mesh is not connected at all points because of two reasons: 1 The tops will never be seen in game so the level designers made them without the tops so that the Frames Per Second would not be reduced by unseen geometry. 2. some quads that did not fully convert into triangles) It is used to so that the character has something to walk on instead of falling through the level. It is not as detailed as the visual level mesh that the player sees during the game. The Collision Meshes and the Level Meshes, are both in the SECTXX.BNK files, in the level folders. The character models for the wolfen and other characters are in the LEVEL.BNK files.

Use the script below to convert the models inside the .BNK files into .3ds files:



Collision meshes begin with the header COLI Followed by 16 byte arrays of all the vertexes:

verX, verY, verZ, weight

Where the vertexes are all 4byte floating points and weight is an 4byte floating point used as a weight, in most cases its value is 1.00 (00 00 80 3f) Following all the vertex data, is another array of 4bytefloats this might be used for shading.

Which is followed by still another set of arrays, of 20 bytes, consisting of QUAD Faces:

U2Byte, USector1, USector2, Vertex1, Vertex2, Vertex3, Vertex4

Where U2Byte is an 2byte integer, and USector1 and USector2, are 1byte Integers that serve an unknown purpose. Vertex# are 4byte integers representing the vertexes in each Quad vertex face.

These Quad make up Faces by connecting them as follows: [V1, V2, V3], [V1,V2,V4], [V2, V3, V4] [V1, V3, V4]

Objects such as movable rocks and Wolfen are stored in four related formats: With either 16bytesigned integers, or with 4bytefloats. Each of these can use either C0 or C3 as a Connection byte.

A "Nativ"

Some standalone rocks

An incomplete view of a level. The visual part of the level terrain is stored in Floating points in one large subfile.