1 #ifndef __GNUC__ 2 #pragma once 3 #endif 4 #ifndef __XR_LEVEL_VERSION_H__ 5 #define __XR_LEVEL_VERSION_H__ 6 7 #include "xr_types.h" 8 9 namespace xray_re { 10 11 enum { 12 XRLC_VERSION_5 = 5, // 1098 13 XRLC_VERSION_8 = 8, // 1114, 1154 14 XRLC_VERSION_9 = 9, // 1472 15 XRLC_VERSION_10 = 10, // 1475 16 XRLC_VERSION_11 = 11, // 1537 17 XRLC_VERSION_12 = 12, // 1580, 1844, 1865 18 XRLC_VERSION_13 = 13, // 2215 19 XRLC_VERSION_14 = 14, // 2945+, 3456+ 20 }; 21 22 // chunk ids in level, level.geom and level.geomx 23 enum { 24 FSL_HEADER = 0x1, // for auto-detection 25 26 // 1098 27 FSL5_HEADER = 0x1, 28 FSL5_TEXTURES = 0x2, 29 FSL5_SHADERS = 0x3, 30 FSL5_VISUALS = 0x4, 31 FSL5_VB = 0x5, 32 FSL5_CFORM = 0x6, 33 FSL5_PORTALS = 0x7, 34 FSL5_LIGHT_DYNAMIC = 0x8, 35 FSL5_LIGHT_KEY_FRAMES = 0x9, // ??? 36 FSL5_GLOWS = 0xa, 37 FSL5_SECTORS = 0xb, 38 39 // 1114, 1154 40 FSL8_HEADER = 0x1, 41 FSL8_SHADERS = 0x2, 42 FSL8_VISUALS = 0x3, 43 FSL8_VB = 0x4, 44 FSL8_CFORM = 0x5, 45 FSL8_PORTALS = 0x6, 46 FSL8_LIGHT_DYNAMIC = 0x7, 47 FSL8_GLOWS = 0x9, 48 FSL8_SECTORS = 0xa, 49 50 // 1472 51 FSL9_HEADER = 0x1, 52 FSL9_SHADERS = 0x2, 53 FSL9_VISUALS = 0x3, 54 FSL9_VB_OLD = 0x4, 55 FSL9_CFORM = 0x5, 56 FSL9_PORTALS = 0x6, 57 FSL9_SHADER_CONSTANT= 0x7, //??? 58 FSL9_LIGHT_DYNAMIC = 0x8, 59 FSL9_GLOWS = 0x9, 60 FSL9_SECTORS = 0xa, 61 FSL9_IB = 0xB, 62 FSL9_VB = 0xC, 63 64 // 1475 65 FSL10_HEADER = 0x1, 66 FSL10_SHADERS = 0x2, 67 FSL10_VISUALS = 0x3, 68 FSL10_PORTALS = 0x4, 69 FSL10_LIGHT_DYNAMIC = 0x6, 70 FSL10_GLOWS = 0x7, 71 FSL10_SECTORS = 0x8, 72 FSL10_IB = 0x9, 73 FSL10_VB = 0xa, 74 75 // 1580, 1844, 1865 76 FSL12_HEADER = 0x1, 77 FSL12_SHADERS = 0x2, 78 FSL12_VISUALS = 0x3, 79 FSL12_PORTALS = 0x4, 80 FSL12_LIGHT_DYNAMIC = 0x6, 81 FSL12_GLOWS = 0x7, 82 FSL12_SECTORS = 0x8, 83 FSL12_IB = 0x9, 84 FSL12_VB = 0xa, 85 FSL12_SWIS = 0xb,// build 2218 86 87 // 2215+ 88 FSL13_HEADER = 0x1, 89 FSL13_SHADERS = 0x2, 90 FSL13_VISUALS = 0x3, 91 FSL13_PORTALS = 0x4, 92 FSL13_LIGHT_DYNAMIC = 0x6, 93 FSL13_GLOWS = 0x7, 94 FSL13_SECTORS = 0x8, 95 FSL13_VB = 0x9, 96 FSL13_IB = 0xa, 97 FSL13_SWIS = 0xb, 98 }; 99 100 // not used. just for the record. 101 // v5, v8 102 struct fsl_header_v5 { 103 uint16_t xrlc_version; 104 uint16_t xrlc_quality; 105 char name[124]; 106 }; 107 108 // v13+ 109 struct fsl_header_v13 { 110 uint16_t xrlc_version; 111 uint16_t xrlc_quality; 112 }; 113 114 } // end of namespace xray_re 115 116 #endif 117