Crash+Twinsanity

Most of the game's data is in the CRASH.BD file. It was extracted by the help of MrShasoft Use Twinsanity Editor by Neo_Kesha (twinsanity-hacking.tigersoftware.ru) to open rm2 (Objects) and sm2 (Terrain) Graphic section -> Models (ID:2) Format: Int32 number of submodels Submodel: Int32 Vertexes UInt32 BlockSize UInt16 k - depends on vertex count UInt16 c - constant in most cases <---Block starts here-> UInt32 Null1 - always null UInt32 Something - always constant in every model UInt32 Null2 - nuff said Groups (Number of groups are not listed\ found. Check for Vertex count and block size): UInt32 SomeNum1 Byte Vertexes Byte Some80h - 80 in most cases. Maybe boolean var? UInt32 Null1 UInt32 SomeNum2 UInt32 SomeNum3 UInt32 Null2 UInt32 Signature1 UInt32 SomeShit1 - looks like structure header with one element, but Editor not errors while reading like this UInt32 SomeShit2 UInt32 SomeShit3 UInt32 VertexHead (03 80 XX 68) XX - Count of records, equal to Vertexes in group Vertexes Count times Vertex structure UInt32 WeightHead (04 80 XX 6C) XX - Count of records, equal to Vertexes in group Vertexes Count times Weight structure UInt32 NormalHead (05 80 XX 68) XX - Count of records, equal to Vertexes in group Vertexes Count times Normal structure UInt32 ColorHead (06 80 XX 6A) XX - Count of records, equal to Vertexes in group Vertexes Count times Color structure UInt32 EndSignature1 UInt32 EndSignature2 Byte array of leftovers nulls (Length is BlockSize - readed bytes length, if that group is last) Vertex Format : X,Y,Z floats Weight Format : Some Vector3 (X,Y,Z floats), 7F, CONN byte and 00 00 Where CONN equals either 00, or 80 If thrid vertex in face has CONN = 80, that face shoud not be drawn. Normal Format: X, Y, Z floats Color Format: B, G, R, A bytes