Guest User

mapc.bt

a guest
Jul 8th, 2012
586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 33.81 KB | None | 0 0
  1. #include <TypesDef.bt>
  2. #include <PackFile.bt>
  3.  
  4. // parm
  5. typedef struct
  6. {
  7.     float4 rect;
  8.     dword flags;
  9.     byte16 guid;
  10. } MapParam<optimize=false>;
  11. // parm
  12.  
  13. // trn\0
  14. typedef struct
  15. {
  16.     dword chunkFlags;
  17.     TSTRUCT_ARRAY_PTR_START word surfaceIndexArray TSTRUCT_ARRAY_PTR_END;
  18.     TSTRUCT_ARRAY_PTR_START qword surfaceTokenArray TSTRUCT_ARRAY_PTR_END;
  19. } PackMapTerrainChunkV14<optimize=false>;
  20.  
  21. typedef struct
  22. {
  23.     dword tokenName;
  24.     float4 value;
  25. } PackMapTerrainConstV14<optimize=false>;
  26.  
  27. typedef struct
  28. {
  29.     dword tokenName;
  30.     dword flags;
  31.     filename filename_;
  32.     dword2 flags;
  33.     dword layer;
  34. } PackMapTerrainTexV14<optimize=false>;
  35.  
  36. typedef struct
  37. {
  38.     filename materialFile;
  39.     dword fvf;
  40.     TSTRUCT_ARRAY_PTR_START dword constIndexArray TSTRUCT_ARRAY_PTR_END;
  41.     TSTRUCT_ARRAY_PTR_START dword texIndexArray TSTRUCT_ARRAY_PTR_END;
  42. } PackMapTerrainMaterialV14<optimize=false>;
  43.  
  44. typedef struct
  45. {
  46.     float2 translation;
  47.     float2 xScaleRange;
  48.     float2 yScaleRange;
  49.     float2 scaleSpeed;
  50.     float rotation;
  51. } PackMapTerrainChunkUVDataV14<optimize=false>;
  52.  
  53. typedef struct
  54. {
  55.     byte tiling[3];
  56.     PackMapTerrainMaterialV14 hiResMaterial;
  57.     PackMapTerrainMaterialV14 loResMaterial;
  58.     PackMapTerrainMaterialV14 faderMaterial;
  59.     TPTR_START PackMapTerrainChunkUVDataV14 uvData TPTR_END;
  60. } PackMapTerrrainChunkMaterialV14<optimize=false>;
  61.  
  62. typedef struct
  63. {
  64.     filename pagedImage;
  65.     TSTRUCT_ARRAY_PTR_START PackMapTerrainConstV14 constArray TSTRUCT_ARRAY_PTR_END;
  66.     TSTRUCT_ARRAY_PTR_START PackMapTerrainTexV14 texFileArray TSTRUCT_ARRAY_PTR_END;
  67.     TSTRUCT_ARRAY_PTR_START PackMapTerrrainChunkMaterialV14 materials TSTRUCT_ARRAY_PTR_END;
  68.     float2 midFade;
  69.     float2 farFade;
  70. } PackMapTerrainMaterialsV14<optimize=false>;
  71.  
  72. typedef struct
  73. {
  74.     dword2 dims;
  75.     float swapDistance;
  76.     TSTRUCT_ARRAY_PTR_START float heightMapArray TSTRUCT_ARRAY_PTR_END;
  77.     TSTRUCT_ARRAY_PTR_START dword tileFlagArray TSTRUCT_ARRAY_PTR_END;
  78.     TSTRUCT_ARRAY_PTR_START PackMapTerrainChunkV14 chunkArray TSTRUCT_ARRAY_PTR_END;
  79.     TPTR_START PackMapTerrainMaterialsV14 materials TPTR_END;
  80. } PackMapTerrainV14<optimize=false>;
  81. // trn\0
  82.  
  83. // trni
  84. typedef struct
  85. {
  86.     dword2 rawDims;
  87.     dword2 strippedDims;
  88.     dword rawFormat;
  89.     dword strippedFormat;
  90.     dword diskFormat;
  91. } PagedImageLayerDataV3<optimize=false>;
  92.  
  93. typedef struct
  94. {
  95.     dword layer;
  96.     dword2 coord;
  97.     filename filename_;
  98.     dword flags;
  99.     byte4 solidColor;
  100. } PagedImagePageDataV3<optimize=false>;
  101.  
  102. typedef struct
  103. {
  104.     TSTRUCT_ARRAY_PTR_START PagedImageLayerDataV3 layers TSTRUCT_ARRAY_PTR_END;
  105.     TSTRUCT_ARRAY_PTR_START PagedImagePageDataV3 rawPages TSTRUCT_ARRAY_PTR_END;
  106.     TSTRUCT_ARRAY_PTR_START PagedImagePageDataV3 strippedPages TSTRUCT_ARRAY_PTR_END;
  107.     dword flags;
  108. } PagedImageTableDataV3<optimize=false>;
  109.  
  110. typedef struct
  111. {
  112.     dword layer;
  113.     dword2 coord;
  114.     TSTRUCT_ARRAY_PTR_START byte data TSTRUCT_ARRAY_PTR_END;
  115. } PagedImageEmbeddedPageDataV3<optimize=false>;
  116.  
  117. typedef struct
  118. {
  119.     TSTRUCT_ARRAY_PTR_START PagedImageEmbeddedPageDataV3 rawPages TSTRUCT_ARRAY_PTR_END;
  120.     TSTRUCT_ARRAY_PTR_START PagedImageEmbeddedPageDataV3 strippedPages TSTRUCT_ARRAY_PTR_END;
  121. } PagedImageEmbeddedPagesDataV3<optimize=false>;
  122.  
  123. typedef struct
  124. {
  125.     TPTR_START PagedImageTableDataV3 tableData TPTR_END;
  126.     TPTR_START PagedImageEmbeddedPagesDataV3 pageData TPTR_END;
  127. } MapTerrainImg<optimize=false>;
  128. // trni
  129.  
  130. // surf
  131. typedef struct
  132. {
  133.     qword Id;
  134.     qword Sound;
  135.     dword flags;
  136. } MapSurfaceAttribute<optimize=false>;
  137.  
  138. typedef struct
  139. {
  140.     wchar_ptr name;
  141.     wchar_ptr category;
  142.     byte4 color;
  143. } MapSurfaceAttributeTool<optimize=false>;
  144.  
  145. typedef struct
  146. {
  147.     qword surfaceId;
  148.     TSTRUCT_ARRAY_PTR_START dword bitArray TSTRUCT_ARRAY_PTR_END;
  149. } MapSurfaceOverride<optimize=false>;
  150.  
  151. typedef struct
  152. {
  153.     dword2 chunkCoord;
  154.     TSTRUCT_ARRAY_PTR_START MapSurfaceOverride overrideArray TSTRUCT_ARRAY_PTR_END;
  155. } MapSurfaceTerrainOverride<optimize=false>;
  156.  
  157. typedef struct
  158. {
  159.     qword propId;
  160.     TSTRUCT_ARRAY_PTR_START MapSurfaceOverride overrideArray TSTRUCT_ARRAY_PTR_END;
  161. } MapSurfacePropOverride<optimize=false>;
  162.  
  163. typedef struct
  164. {
  165.     TSTRUCT_ARRAY_PTR_START MapSurfaceAttribute attributeData TSTRUCT_ARRAY_PTR_END;
  166.     TSTRUCT_ARRAY_PTR_START MapSurfaceAttributeTool toolData TSTRUCT_ARRAY_PTR_END;
  167.     TSTRUCT_ARRAY_PTR_START MapSurfaceTerrainOverride terrainArray TSTRUCT_ARRAY_PTR_END;
  168.     TSTRUCT_ARRAY_PTR_START MapSurfacePropOverride propArray TSTRUCT_ARRAY_PTR_END;
  169. } MapSurfaces<optimize=false>;
  170. // surf
  171.  
  172. // area
  173. typedef struct
  174. {
  175.     TSTRUCT_ARRAY_PTR_START float3 points TSTRUCT_ARRAY_PTR_END;
  176.     float height;
  177. } PackMapAreaPolygonV4<optimize=false>;
  178.  
  179. typedef struct
  180. {
  181.     float3 position;
  182.     float3 extents;
  183.     float3 rotation;
  184. } PackMapAreaPortalV4<optimize=false>;
  185.  
  186. typedef struct
  187. {
  188.     TSTRUCT_ARRAY_PTR_START PackMapAreaPortalV4 portals TSTRUCT_ARRAY_PTR_END;
  189.     float3 position;
  190.     float3 extents;
  191.     float3 pointInterior;
  192.     float3 pointExterior;
  193. } PackMapAreaVolumeV4<optimize=false>;
  194.  
  195. typedef struct
  196. {
  197.     qword token;
  198.     byte type;
  199.     byte floor;
  200.     dword flags;
  201.     PackMapAreaPolygonV4 polygon;
  202.     PackMapAreaVolumeV4 volume;
  203. } PackMapAreaV4<optimize=false>;
  204.  
  205. typedef struct
  206. {
  207.     wchar_ptr annotation;
  208.     float renderOffset;
  209. } PackMapAreaToolV4<optimize=false>;
  210.  
  211. typedef struct
  212. {
  213.     TSTRUCT_ARRAY_PTR_START PackMapAreaV4 areas TSTRUCT_ARRAY_PTR_END;
  214.     TSTRUCT_ARRAY_PTR_START PackMapAreaToolV4 areaTools TSTRUCT_ARRAY_PTR_END;
  215. } PackMapAreasV4<optimize=false>;
  216. // area
  217.  
  218. // msn\0
  219. typedef struct
  220. {
  221.     float3 position;
  222.     float3 forward;
  223.     wchar_ptr description;
  224. } PackMapInterestPoint<optimize=false>;
  225.  
  226. typedef struct
  227. {
  228.     TSTRUCT_ARRAY_PTR_START PackMapInterestPoint interestPoint TSTRUCT_ARRAY_PTR_END;
  229. } MapMission<optimize=false>;
  230. // msn\0
  231.  
  232. // havk
  233. typedef struct
  234. {
  235.     TSTRUCT_ARRAY_PTR_START byte moppData TSTRUCT_ARRAY_PTR_END;
  236. } PackMoppType<optimize=false>;
  237.  
  238. typedef struct
  239. {
  240.     TSTRUCT_ARRAY_PTR_START word indices TSTRUCT_ARRAY_PTR_END;
  241.     TSTRUCT_ARRAY_PTR_START float3 vertices TSTRUCT_ARRAY_PTR_END;
  242.     TSTRUCT_ARRAY_PTR_START word surfaces TSTRUCT_ARRAY_PTR_END;
  243.     PackMoppType moppCodeData;
  244. } PackMapCollideCollisionV14<optimize=false>;
  245.  
  246. typedef struct
  247. {
  248.     TSTRUCT_ARRAY_PTR_START float3 vertices TSTRUCT_ARRAY_PTR_END;
  249. } PackMapCollideBlockerV14<optimize=false>;
  250.  
  251. typedef struct
  252. {
  253.     TSTRUCT_ARRAY_PTR_START byte navMesh TSTRUCT_ARRAY_PTR_END;
  254.     TSTRUCT_ARRAY_PTR_START byte graph TSTRUCT_ARRAY_PTR_END;
  255.     TSTRUCT_ARRAY_PTR_START byte mediator TSTRUCT_ARRAY_PTR_END;
  256. } PackMapCollideNavMeshV14<optimize=false>;
  257.  
  258. typedef struct
  259. {
  260.     qword sequence;
  261.     TSTRUCT_ARRAY_PTR_START dword collisionIndices TSTRUCT_ARRAY_PTR_END;
  262.     TSTRUCT_ARRAY_PTR_START dword blockerIndices TSTRUCT_ARRAY_PTR_END;
  263. } PackMapCollideAnimationV14<optimize=false>;
  264.  
  265. typedef struct
  266. {
  267.     byte quantizedExtents;
  268.     TSTRUCT_ARRAY_PTR_START dword animations TSTRUCT_ARRAY_PTR_END;
  269.     word navMeshIndex;
  270. } PackMapCollideGeometryV14<optimize=false>;
  271.  
  272. typedef struct
  273. {
  274.     float3 translate;
  275.     dword geometryIndex;
  276. } PackMapCollideModelObsV14<optimize=false>;
  277.  
  278. typedef struct
  279. {
  280.     qword token;
  281.     qword sequence;
  282.     float scale;
  283.     float3 translate;
  284.     float3 rotate;
  285.     dword geometryIndex;
  286. } PackMapCollideModelPropV14<optimize=false>;
  287.  
  288. typedef struct
  289. {
  290.     float scale;
  291.     float3 translate;
  292.     float3 rotate;
  293.     dword geometryIndex;
  294. } PackMapCollideModelZoneV14<optimize=false>;
  295.  
  296. typedef struct
  297. {
  298.     float3 boundsMin;
  299.     float3 boundsMax;
  300.     TSTRUCT_ARRAY_PTR_START PackMapCollideCollisionV14 collisions TSTRUCT_ARRAY_PTR_END;
  301.     TSTRUCT_ARRAY_PTR_START PackMapCollideBlockerV14 blockers TSTRUCT_ARRAY_PTR_END;
  302.     TSTRUCT_ARRAY_PTR_START PackMapCollideNavMeshV14 navMeshes TSTRUCT_ARRAY_PTR_END;
  303.     TSTRUCT_ARRAY_PTR_START PackMapCollideAnimationV14 animations TSTRUCT_ARRAY_PTR_END;
  304.     TSTRUCT_ARRAY_PTR_START PackMapCollideGeometryV14 geometries TSTRUCT_ARRAY_PTR_END;
  305.     TSTRUCT_ARRAY_PTR_START PackMapCollideModelObsV14 obsModels TSTRUCT_ARRAY_PTR_END;
  306.     TSTRUCT_ARRAY_PTR_START PackMapCollideModelPropV14 propModels TSTRUCT_ARRAY_PTR_END;
  307.     TSTRUCT_ARRAY_PTR_START PackMapCollideModelZoneV14 zoneModels TSTRUCT_ARRAY_PTR_END;
  308. } PackMapCollideV14<optimize=false>;
  309. // havk
  310.  
  311. // zon2
  312. typedef struct
  313. {
  314.     filename filename_;
  315.     float probability;
  316.     dword flags;
  317.     float3 hslOffset;
  318.     byte zOffsets[2];
  319. } PackMapZoneModelV22<optimize=false>;
  320.  
  321. typedef struct
  322. {
  323.     byte type;
  324.     byte height;
  325.     byte width;
  326.     byte radiusGround;
  327.     byte sortGroup;
  328.     byte tiling;
  329.     float2 scaleRange;
  330.     float probability;
  331.     float2 fadeRange;
  332.     float2 rotRange[3];
  333.     float2 hslRanges[4];
  334.     float instanceScaleJitter;
  335.     byte noise;
  336.     dword layerFlags;
  337.     filename materialname;
  338.     TSTRUCT_ARRAY_PTR_START PackMapZoneModelV22 modelArray TSTRUCT_ARRAY_PTR_END;
  339.     TPTR_START PackMapZoneModelV22 subModel TPTR_END;
  340.     wchar_ptr reserved;
  341. } PackMapZoneLayerDefV22<optimize=false>;
  342.  
  343. typedef struct
  344. {
  345.     TSTRUCT_ARRAY_PTR_START byte flags TSTRUCT_ARRAY_PTR_END;
  346.     dword2 chunkCoord;
  347.     byte seed;
  348.     TSTRUCT_ARRAY_PTR_START dword paintFlags TSTRUCT_ARRAY_PTR_END;
  349.     wchar_ptr string_;
  350. } PackMapZonePageV10<optimize=false>;
  351.  
  352. typedef struct
  353. {
  354.     TSTRUCT_ARRAY_PTR_START PackMapZonePageV10 pageArray TSTRUCT_ARRAY_PTR_END;
  355.     dword flags;
  356. } PackMapZonePageTableV10<optimize=false>;
  357.  
  358. typedef struct
  359. {
  360.     filename defFilename;
  361.     dword token;
  362.     TSTRUCT_ARRAY_PTR_START PackMapZoneLayerDefV22 layerDefArray TSTRUCT_ARRAY_PTR_END;
  363.     qword timeStamp;
  364.     TPTR_START PackMapZonePageTableV10 pageTable TPTR_END;
  365.     wchar_ptr reserved;
  366. } PackMapZoneDefV22<optimize=false>;
  367.  
  368. typedef struct
  369. {
  370.     word index;
  371.     byte offset;
  372. } PackMapZoneEncodingDataV22<optimize=false>;
  373.  
  374. typedef struct
  375. {
  376.     float normalX;
  377.     float normalY;
  378.     float zPos;
  379. } PackMapZoneCollideDataV22<optimize=false>;
  380.  
  381. typedef struct
  382. {
  383.     dword zoneFlags;
  384.     dword4 vertRect;
  385.     float waterHeight;
  386.     byte seed;
  387.     dword defToken;
  388.     float2 range;
  389.     float zPos;
  390.     TSTRUCT_ARRAY_PTR_START byte flags TSTRUCT_ARRAY_PTR_END;
  391.     TSTRUCT_ARRAY_PTR_START PackMapZoneEncodingDataV22 encodeData TSTRUCT_ARRAY_PTR_END;
  392.     TSTRUCT_ARRAY_PTR_START PackMapZoneCollideDataV22 collideData TSTRUCT_ARRAY_PTR_END;
  393.     TSTRUCT_ARRAY_PTR_START word offsetData TSTRUCT_ARRAY_PTR_END;
  394.     TSTRUCT_ARRAY_PTR_START float2 vertices TSTRUCT_ARRAY_PTR_END;
  395.     word broadId;
  396.     wchar_ptr reserved;
  397. } PackMapZoneV22<optimize=false>;
  398.  
  399. typedef struct
  400. {
  401.     TSTRUCT_ARRAY_PTR_START byte broadphaseData TSTRUCT_ARRAY_PTR_END;
  402. } PackBroadphaseType<optimize=false>;
  403.  
  404. typedef struct
  405. {
  406.     TSTRUCT_ARRAY_PTR_START PackMapZoneDefV22 zoneDefArray TSTRUCT_ARRAY_PTR_END;
  407.     TSTRUCT_ARRAY_PTR_START PackMapZoneV22 zoneArray TSTRUCT_ARRAY_PTR_END;
  408.     PackBroadphaseType broadPhase;
  409.     word maxBroadId;
  410.     wchar_ptr string_;
  411. } PackMapZonesV22<optimize=false>;
  412. // zon2
  413.  
  414. // prp2
  415. typedef struct
  416. {
  417.     dword token;
  418.     float4 constant;
  419.     dword submodel;
  420. } PackMapPropConstantV18<optimize=false>;
  421.  
  422. typedef struct
  423. {
  424.     filename filename_;
  425.     TSTRUCT_ARRAY_PTR_START filename blitTextures TSTRUCT_ARRAY_PTR_END;
  426.     TSTRUCT_ARRAY_PTR_START PackMapPropConstantV18 constants TSTRUCT_ARRAY_PTR_END;
  427.     qword guid;
  428.     qword permutation;
  429.     float4 bounds;
  430.     float3 position;
  431.     float3 rotation;
  432.     byte4 color;
  433.     float scale;
  434.     float lod1;
  435.     float lod2;
  436.     dword flags;
  437.     dword reserved;
  438.     word broadId;
  439.     word bucketId;
  440.     byte byte_;
  441.     byte sortLayer;
  442. } PackMapPropObjV21<optimize=false>;
  443.  
  444. typedef struct
  445. {
  446.     filename filename_;
  447.     TSTRUCT_ARRAY_PTR_START filename blitTextures TSTRUCT_ARRAY_PTR_END;
  448.     TSTRUCT_ARRAY_PTR_START PackMapPropConstantV18 constants TSTRUCT_ARRAY_PTR_END;
  449.     qword guid;
  450.     qword permutation;
  451.     float4 bounds;
  452.     float3 position;
  453.     float3 rotation;
  454.     byte4 color;
  455.     float scale;
  456.     float lod1;
  457.     float lod2;
  458.     dword flags;
  459.     dword reserved;
  460.     word broadId;
  461.     word bucketId;
  462.     byte byte_;
  463.     byte sortLayer;
  464.     qword animSequence;
  465. } PackMapPropObjAnimSeqV21<optimize=false>;
  466.  
  467. typedef struct
  468. {
  469.     float3 position;
  470.     float3 rotation;
  471.     float scale;
  472. } PackMapPropTransformV21<optimize=false>;
  473.  
  474. typedef struct
  475. {
  476.     filename filename_;
  477.     TSTRUCT_ARRAY_PTR_START filename blitTextures TSTRUCT_ARRAY_PTR_END;
  478.     TSTRUCT_ARRAY_PTR_START PackMapPropConstantV18 constants TSTRUCT_ARRAY_PTR_END;
  479.     qword guid;
  480.     qword permutation;
  481.     float4 bounds;
  482.     float3 position;
  483.     float3 rotation;
  484.     byte4 color;
  485.     float scale;
  486.     float lod1;
  487.     float lod2;
  488.     dword flags;
  489.     dword reserved;
  490.     word broadId;
  491.     word bucketId;
  492.     byte byte_;
  493.     byte sortLayer;
  494.     TSTRUCT_ARRAY_PTR_START PackMapPropTransformV21 transforms TSTRUCT_ARRAY_PTR_END;
  495.     TSTRUCT_ARRAY_PTR_START qword origGuidArray TSTRUCT_ARRAY_PTR_END;
  496. } PackMapPropObjInstanceV21<optimize=false>;
  497.  
  498. typedef struct
  499. {
  500.     qword guid;
  501.     dword layerMask;
  502.     byte glomType;
  503.     TSTRUCT_ARRAY_PTR_START qword children TSTRUCT_ARRAY_PTR_END;
  504. } PackMapPropObjToolV21<optimize=false>;
  505.  
  506. typedef struct
  507. {
  508.     filename filename_;
  509.     TSTRUCT_ARRAY_PTR_START filename blitTextures TSTRUCT_ARRAY_PTR_END;
  510.     TSTRUCT_ARRAY_PTR_START PackMapPropConstantV18 constants TSTRUCT_ARRAY_PTR_END;
  511.     qword guid;
  512.     qword permutation;
  513.     float4 bounds;
  514.     float3 position;
  515.     float3 rotation;
  516.     byte4 color;
  517.     float scale;
  518.     float lod1;
  519.     float lod2;
  520.     dword flags;
  521.     dword reserved;
  522.     word broadId;
  523.     word bucketId;
  524.     byte byte_;
  525.     byte sortLayer;
  526.     dword layerMask;
  527.     byte glomType;
  528.     qword parent;
  529.     float3 glomOrigin;
  530. } PackMapPropObjMetaV21<optimize=false>;
  531.  
  532. typedef struct
  533. {
  534.     qword guid;
  535.     dword layerMask;
  536.     byte glomType;
  537.     TSTRUCT_ARRAY_PTR_START qword children TSTRUCT_ARRAY_PTR_END;
  538.     float3 glomClipScale;
  539.     float3 position;
  540.     float3 rotation;
  541.     float scale;
  542. } PackMapPropObjVolumeV21<optimize=false>;
  543.  
  544. typedef struct
  545. {
  546.     TSTRUCT_ARRAY_PTR_START PackMapPropObjV21 propArray TSTRUCT_ARRAY_PTR_END;
  547.     TSTRUCT_ARRAY_PTR_START PackMapPropObjAnimSeqV21 propAnimArray TSTRUCT_ARRAY_PTR_END;
  548.     TSTRUCT_ARRAY_PTR_START PackMapPropObjInstanceV21 propInstanceArray TSTRUCT_ARRAY_PTR_END;
  549.     TSTRUCT_ARRAY_PTR_START PackMapPropObjToolV21 propToolArray TSTRUCT_ARRAY_PTR_END;
  550.     TSTRUCT_ARRAY_PTR_START PackMapPropObjMetaV21 propMetaArray TSTRUCT_ARRAY_PTR_END;
  551.     TSTRUCT_ARRAY_PTR_START PackMapPropObjVolumeV21 propVolumeArray TSTRUCT_ARRAY_PTR_END;
  552.     wchar_ptr reserved;
  553.     PackBroadphaseType broadPhase;
  554.     dword nextBroadId;
  555. } PackMapPropV21<optimize=false>;
  556. // prp2
  557.  
  558. // rive
  559. typedef struct
  560. {
  561.     float scale;
  562.     float speedX;
  563.     float speedY;
  564.     float tiling;
  565.     dword flags;
  566.     byte uvIndex;
  567. } MapRiverTextureMap<optimize=false>;
  568.  
  569. typedef struct
  570. {
  571.     filename materialFile;
  572.     TSTRUCT_ARRAY_PTR_START filename textureFiles TSTRUCT_ARRAY_PTR_END;
  573.     TSTRUCT_ARRAY_PTR_START dword constantTokens TSTRUCT_ARRAY_PTR_END;
  574.     TSTRUCT_ARRAY_PTR_START float4 constantValues TSTRUCT_ARRAY_PTR_END;
  575.     TSTRUCT_ARRAY_PTR_START MapRiverTextureMap textureMaps TSTRUCT_ARRAY_PTR_END;
  576.     dword flags;
  577. } MapRiverMaterial<optimize=false>;
  578.  
  579. typedef struct
  580. {
  581.     float width;
  582.     float curveLength;
  583.     float curvePercent;
  584.     dword xTessellation;
  585.     dword2 yTessellation;
  586.     dword broadId;
  587.     dword fvf;
  588.     dword flags;
  589.     TSTRUCT_ARRAY_PTR_START MapRiverMaterial materials TSTRUCT_ARRAY_PTR_END;
  590.     wchar_ptr reserved;
  591. } MapRiverReach<optimize=false>;
  592.  
  593. typedef struct
  594. {
  595.     qword guid;
  596.     wchar_ptr name;
  597.     float xTiling;
  598.     TSTRUCT_ARRAY_PTR_START float3 points TSTRUCT_ARRAY_PTR_END;
  599.     TSTRUCT_ARRAY_PTR_START MapRiverReach reaches TSTRUCT_ARRAY_PTR_END;
  600.     dword flags;
  601. } MapRiver<optimize=false>;
  602.  
  603. typedef struct
  604. {
  605.     dword flags;
  606.     dword nextBroadId;
  607.     TSTRUCT_ARRAY_PTR_START MapRiver rivers TSTRUCT_ARRAY_PTR_END;
  608.     PackBroadphaseType broadPhase;
  609. } PackMapRivers<optimize=false>;
  610. // rive
  611.  
  612. // shex
  613. typedef struct
  614. {
  615.     filename filename_;
  616.     dword2 shadowDims;
  617. } PackMapShadowExtV1<optimize=false>;
  618. // shex
  619.  
  620. // cube
  621. typedef struct
  622. {
  623.     float3 position;
  624.     filename filenameDayDefault;
  625.     filename filenameNightDefault;
  626.     filename filenameDayScript;
  627.     filename filenameNightScript;
  628.     qword envID;
  629. } PackMapCubeMapSampleV3<optimize=false>;
  630.  
  631. typedef struct
  632. {
  633.     dword modulateColor;
  634.     float brightness;
  635.     float contrast;
  636.     dword blurPasses;
  637.     wchar_ptr envVolume;
  638. } PackMapCubeMapParamsV3<optimize=false>;
  639.  
  640. typedef struct
  641. {
  642.     TSTRUCT_ARRAY_PTR_START PackMapCubeMapSampleV3 sampleArray TSTRUCT_ARRAY_PTR_END;
  643.     TSTRUCT_ARRAY_PTR_START PackMapCubeMapParamsV3 paramsArray TSTRUCT_ARRAY_PTR_END;
  644. } PackMapCubeMapV3<optimize=false>;
  645. // cube
  646.  
  647. // env\0
  648. typedef struct
  649. {
  650.     byte3 color;
  651.     float intensity;
  652.     float3 direction;
  653. } PackMapEnvDataLightV74<optimize=false>;
  654.  
  655. typedef struct
  656. {
  657.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataLightV74 lights TSTRUCT_PTR_ARRAY_PTR_END;
  658.     float shadowInfluence;
  659.     byte3 backlightColor;
  660.     float backlightIntensity;
  661. } PackMapEnvDataLightingV74<optimize=false>;
  662.  
  663. typedef struct
  664. {
  665.     float sunScale;
  666.     float saturation;
  667.     float sunFill;
  668.     float ambScale;
  669.     float ambFill;
  670.     byte flags;
  671. } PackMapEnvDataLightingCharV45<optimize=false>;
  672.  
  673. typedef struct
  674. {
  675.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataLightingCharV45 lightingChar TSTRUCT_ARRAY_PTR_END;
  676. } PackMapEnvDataLightingCharGroupV45<optimize=false>;
  677.  
  678. typedef struct
  679. {
  680.     float brightness;
  681.     float density;
  682.     float haze;
  683.     float lightIntensity;
  684.     float2 velocity;
  685.     float fadeWidth;
  686.     float fadeEnd;
  687.     dword reserved;
  688. } PackMapEnvDataLayerAttributesV74<optimize=false>;
  689.  
  690. typedef struct
  691. {
  692.     float altitude;
  693.     float cutOut;
  694.     float depth;
  695.     float extent;
  696.     float scale;
  697.     filename texture;
  698.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataLayerAttributesV74 attributes TSTRUCT_ARRAY_PTR_END;
  699.     wchar_ptr name;
  700.     dword reserved;
  701. } PackMapEnvDataLayerV74<optimize=false>;
  702.  
  703. typedef struct
  704. {
  705.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataLayerV74 layers TSTRUCT_ARRAY_PTR_END;
  706. } PackMapEnvDataCloudsV74<optimize=false>;
  707.  
  708. typedef struct
  709. {
  710.     float2 range;
  711.     float distances[6];
  712.     byte4 lightColors[6];
  713.     byte4 shadowColors[6];
  714. } PackMapEnvDataColoredLightRingsV45<optimize=false>;
  715.  
  716. typedef struct
  717. {
  718.     byte4 glow;
  719.     byte4 tintColor;
  720.     byte4 tintTargetColor;
  721.     float saturation;
  722.     float tintAmount;
  723.     float tintFocus;
  724.     byte4 glowLevel;
  725.     float glowAmplify;
  726.     float focalDepth;
  727.     float focalRange;
  728.     float2 flatteningRange;
  729.     float2 flatteningCharacterRange;
  730. } PackMapEnvDataEffectV74<optimize=false>;
  731.  
  732. typedef struct
  733. {
  734.     byte4 nearColor;
  735.     byte4 farColor;
  736.     float2 distRange;
  737.     byte4 heightColor;
  738.     float2 heightRange;
  739.     float depthCue;
  740.     float2 sunDirRange;
  741. } PackMapEnvDataHazeV74<optimize=false>;
  742.  
  743. typedef struct
  744. {
  745.     float altitude;
  746.     float2 angle;
  747.     word clusterCount;
  748.     float2 clustering;
  749.     float depth;
  750.     float deviation;
  751.     float2 deviationSpeed;
  752.     word extent;
  753.     float fade;
  754.     float3 fieldDirection;
  755.     word flags;
  756.     float2 lifetime;
  757.     float2 opacity;
  758.     word particleCount;
  759.     float2 period;
  760.     float2 rotation;
  761.     float2 scaleX;
  762.     float2 scaleY;
  763.     dword seed;
  764.     float2 speed;
  765.     dword2 texColRow;
  766.     float texFPS;
  767.     filename texPath;
  768.     byte type;
  769.     wchar_ptr name;
  770.     dword reserved;
  771. } PackMapEnvDataPFieldV74<optimize=false>;
  772.  
  773. typedef struct
  774. {
  775.     wchar_ptr name;
  776.     float4 x;
  777.     float4 y;
  778.     float4 z;
  779. } PackMapEnvDataPFieldCutoutV45<optimize=false>;
  780.  
  781. typedef struct
  782. {
  783.     byte flags;
  784.     float dayBrightness;
  785.     float dayHazeBottom;
  786.     float dayHazeDensity;
  787.     float dayHazeFalloff;
  788.     float dayLightIntensity;
  789.     float dayStarDensity;
  790.     float nightBrightness;
  791.     float nightHazeBottom;
  792.     float nightHazeDensity;
  793.     float nightHazeFalloff;
  794.     float nightLightIntensity;
  795.     float nightStarDensity;
  796.     float verticalOffset;
  797. } PackMapEnvDataSkyV74<optimize=false>;
  798.  
  799. typedef struct
  800. {
  801.     float azimuth;
  802.     float density;
  803.     float hazeDensity;
  804.     float latitude;
  805.     float lightIntensity;
  806.     float minHaze;
  807.     float2 scale;
  808.     float speed;
  809.     filename texture;
  810.     float4 textureUV;
  811.     float brightness;
  812. } PackMapEnvDataSkyCardAttributesV74<optimize=false>;
  813.  
  814. typedef struct
  815. {
  816.     PackMapEnvDataSkyCardAttributesV74 day;
  817.     PackMapEnvDataSkyCardAttributesV74 night;
  818.     dword flags;
  819.     wchar_ptr name;
  820. } PackMapEnvDataSkyCardV74<optimize=false>;
  821.  
  822. typedef struct
  823. {
  824.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataSkyCardV74 cards TSTRUCT_ARRAY_PTR_END;
  825. } PackMapEnvDataSkyCardsV74<optimize=false>;
  826.  
  827. typedef struct
  828. {
  829.     dword2 spawnRange;
  830.     dword2 lifeSpan;
  831.     float2 scaleRange;
  832.     float2 heightRange;
  833.     float2 rotXRange;
  834.     float2 rotYRange;
  835.     float2 rotZRange;
  836.     float probability;
  837.     float delay;
  838.     dword flags;
  839.     qword animSequence;
  840.     filename modelFile;
  841.     word maxConcurrent;
  842. } PackMapEnvDataSpawnModelDataV45<optimize=false>;
  843.  
  844. typedef struct
  845. {
  846.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataSpawnModelDataV45 spawns TSTRUCT_ARRAY_PTR_END;
  847. } PackMapEnvDataSpawnListV45<optimize=false>;
  848.  
  849. typedef struct
  850. {
  851.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataSpawnListV45 spawnGroups TSTRUCT_ARRAY_PTR_END;
  852.     TSTRUCT_ARRAY_PTR_START qword targets TSTRUCT_ARRAY_PTR_END;
  853. } PackMapEnvDataSpawnGroupsV45<optimize=false>;
  854.  
  855. typedef struct
  856. {
  857.     dword waterFlags;
  858.     float animAmplitude;
  859.     float animChoppiness;
  860.     float2 animWind;
  861.     float bumpAmount;
  862.     float bumpAngle0;
  863.     float bumpAngle1;
  864.     float bumpScale0;
  865.     float bumpScale1;
  866.     float bumpSpeed0;
  867.     float bumpSpeed1;
  868.     float bumpTile0;
  869.     float bumpTile1;
  870.     float patternAngle;
  871.     float patternTile;
  872.     float patternSpeed;
  873.     float patternEdge;
  874.     byte4 surfaceShallowColor;
  875.     byte4 surfaceDeepColor;
  876.     byte4 patternColor;
  877.     float surfaceFresnel;
  878.     float distortAmount;
  879.     float depthAttenuation;
  880.     filename materialFilename;
  881.     TSTRUCT_ARRAY_PTR_START filename textureFilenames TSTRUCT_ARRAY_PTR_END;
  882.     TSTRUCT_ARRAY_PTR_START dword constantTokens TSTRUCT_ARRAY_PTR_END;
  883.     TSTRUCT_ARRAY_PTR_START float4 constantValues TSTRUCT_ARRAY_PTR_END;
  884.     float foamSpawn;
  885.     float foamDissolve;
  886.     float foamDepthAttenuation;
  887.     byte4 foamColor0;
  888.     byte4 foamColor1;
  889. } PackMapEnvDataWaterV74<optimize=false>;
  890.  
  891. typedef struct
  892. {
  893.     byte azimuth;
  894.     byte elevation;
  895.     byte noise;
  896.     byte speed;
  897.     byte gust;
  898.     byte gustFreq;
  899.     byte gustSpeed;
  900. } PackMapEnvDataWindV74<optimize=false>;
  901.  
  902. typedef struct
  903. {
  904.     qword token;
  905. } PackMapEnvDataAudioV45<optimize=false>;
  906.  
  907. typedef struct
  908. {
  909.     float3 center;
  910.     float height;
  911.     float fadeHorizInner;
  912.     float fadeHorizOuter;
  913.     float fadeVertical;
  914.     TSTRUCT_ARRAY_PTR_START float2 vertexArray TSTRUCT_ARRAY_PTR_END;
  915.     byte shapeType;
  916. } PackMapEnvDataShapeV45<optimize=false>;
  917.  
  918. typedef struct
  919. {
  920.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataLightingV74 lighting TSTRUCT_ARRAY_PTR_END;
  921.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataLightingCharGroupV45 lightingCharGroups TSTRUCT_ARRAY_PTR_END;
  922.     TPTR_START PackMapEnvDataCloudsV74 clouds TPTR_END;
  923.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataColoredLightRingsV45 coloredLightRings TSTRUCT_PTR_ARRAY_PTR_END;
  924.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataEffectV74 effect TSTRUCT_PTR_ARRAY_PTR_END;
  925.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataHazeV74 haze TSTRUCT_PTR_ARRAY_PTR_END;
  926.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataPFieldV74 particleFields TSTRUCT_PTR_ARRAY_PTR_END;
  927.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataPFieldCutoutV45 particleFieldCutouts TSTRUCT_ARRAY_PTR_END;
  928.     TPTR_START PackMapEnvDataSkyV74 sky TPTR_END;
  929.     TPTR_START PackMapEnvDataSkyCardsV74 skyCards TPTR_END;
  930.     TPTR_START PackMapEnvDataSpawnGroupsV45 spawns TPTR_END;
  931.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataWaterV74 water TSTRUCT_PTR_ARRAY_PTR_END;
  932.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataWindV74 wind TSTRUCT_PTR_ARRAY_PTR_END;
  933.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataAudioV45 audio TSTRUCT_PTR_ARRAY_PTR_END;
  934.     wchar_ptr name;
  935.     TSTRUCT_ARRAY_PTR_START byte nightMods TSTRUCT_ARRAY_PTR_END;
  936.     qword bindTarget;
  937.     wchar_ptr reserved;
  938.     byte type;
  939.     qword guid;
  940.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataShapeV45 shapeArray TSTRUCT_ARRAY_PTR_END;
  941. } PackMapEnvDataLocalV74<optimize=false>;
  942.  
  943. typedef struct
  944. {
  945.     filename texPathNE;
  946.     filename texPathSW;
  947.     filename texPathT;
  948. } PackMapEnvDataSkyModeTexV74<optimize=false>;
  949.  
  950. typedef struct
  951. {
  952.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataLightingV74 lighting TSTRUCT_ARRAY_PTR_END;
  953.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataLightingCharGroupV45 lightingCharGroups TSTRUCT_ARRAY_PTR_END;
  954.     TPTR_START PackMapEnvDataCloudsV74 clouds TPTR_END;
  955.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataColoredLightRingsV45 coloredLightRings TSTRUCT_PTR_ARRAY_PTR_END;
  956.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataEffectV74 effect TSTRUCT_PTR_ARRAY_PTR_END;
  957.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataHazeV74 haze TSTRUCT_PTR_ARRAY_PTR_END;
  958.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataPFieldV74 particleFields TSTRUCT_PTR_ARRAY_PTR_END;
  959.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataPFieldCutoutV45 particleFieldCutouts TSTRUCT_ARRAY_PTR_END;
  960.     TPTR_START PackMapEnvDataSkyV74 sky TPTR_END;
  961.     TPTR_START PackMapEnvDataSkyCardsV74 skyCards TPTR_END;
  962.     TPTR_START PackMapEnvDataSpawnGroupsV45 spawns TPTR_END;
  963.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataWaterV74 water TSTRUCT_PTR_ARRAY_PTR_END;
  964.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataWindV74 wind TSTRUCT_PTR_ARRAY_PTR_END;
  965.     TSTRUCT_PTR_ARRAY_PTR_START PackMapEnvDataAudioV45 audio TSTRUCT_PTR_ARRAY_PTR_END;
  966.     wchar_ptr name;
  967.     TSTRUCT_ARRAY_PTR_START byte nightMods TSTRUCT_ARRAY_PTR_END;
  968.     qword bindTarget;
  969.     wchar_ptr reserved;
  970.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataSkyModeTexV74 skyModeTex TSTRUCT_ARRAY_PTR_END;
  971.     filename starFile;
  972. } PackMapEnvDataGlobalV74<optimize=false>;
  973.  
  974. typedef struct
  975. {
  976.     TSTRUCT_ARRAY_PTR_START PackMapEnvDataLocalV74 dataLocalArray TSTRUCT_ARRAY_PTR_END;
  977.     TPTR_START PackMapEnvDataGlobalV74 dataGlobal TPTR_END;
  978. } PackMapEnvironmentV74<optimize=false>;
  979. // env\0
  980.  
  981. // dcal
  982. typedef struct
  983. {
  984.     float3 position;
  985.     float3 normal;
  986.     float3 tangent;
  987.     float3 bitangent;
  988. } PackMapDecalVertexV8<optimize=false>;
  989.  
  990. typedef struct
  991. {
  992.     float3 position;
  993.     float3 extents;
  994.     float3 rotation;
  995.     float2 textureScaleUV0;
  996.     float2 textureOffsetUV0;
  997.     float2 textureScaleUV1;
  998.     float2 textureOffsetUV1;
  999.     filename materialFilename;
  1000.     TSTRUCT_ARRAY_PTR_START filename textureFilenames TSTRUCT_ARRAY_PTR_END;
  1001.     dword flags;
  1002.     float2 animTranslation;
  1003.     float2 animScaleRangeX;
  1004.     float2 animScaleRangeY;
  1005.     float2 animScaleSpeed;
  1006.     float animRotation;
  1007.     float surfaceBias;
  1008.     TSTRUCT_ARRAY_PTR_START dword constantTokens TSTRUCT_ARRAY_PTR_END;
  1009.     TSTRUCT_ARRAY_PTR_START float4 constantValues TSTRUCT_ARRAY_PTR_END;
  1010.     TSTRUCT_ARRAY_PTR_START PackMapDecalVertexV8 vertices TSTRUCT_ARRAY_PTR_END;
  1011.     TSTRUCT_ARRAY_PTR_START word indices TSTRUCT_ARRAY_PTR_END;
  1012.     TSTRUCT_ARRAY_PTR_START qword propIds TSTRUCT_ARRAY_PTR_END;
  1013.     byte projection;
  1014.     qword surfaceId;
  1015.     qword id;
  1016. } PackMapDecalV9<optimize=false>;
  1017.  
  1018. typedef struct
  1019. {
  1020.     TSTRUCT_ARRAY_PTR_START PackMapDecalV9 decals TSTRUCT_ARRAY_PTR_END;
  1021. } PackMapDecalsV9<optimize=false>;
  1022. // dcal
  1023.  
  1024. // shor
  1025. typedef struct
  1026. {
  1027.     float offset;
  1028.     float opacity;
  1029.     float animationSpeed;
  1030.     float2 edgeSize;
  1031.     dword flags;
  1032.     TSTRUCT_ARRAY_PTR_START float2 points TSTRUCT_ARRAY_PTR_END;
  1033.     filename materialFilename;
  1034.     TSTRUCT_ARRAY_PTR_START filename textureFilenames TSTRUCT_ARRAY_PTR_END;
  1035.     float restTime;
  1036.     float2 fadeRanges[4];
  1037.     float simplifyDistMin;
  1038.     float simplifyDistMax;
  1039.     float simplifyDot;
  1040. } MapShoreChain<optimize=false>;
  1041.  
  1042. typedef struct
  1043. {
  1044.     TSTRUCT_ARRAY_PTR_START MapShoreChain chains TSTRUCT_ARRAY_PTR_END;
  1045. } MapShore<optimize=false>;
  1046. // shor
  1047.  
  1048. // audi
  1049. typedef struct
  1050. {
  1051.     dword regionType;
  1052.     dword overrideMode;
  1053.     filename filenameSourceDay;
  1054.     filename filenameAmbientDay;
  1055.     filename filenameSourceNight;
  1056.     filename filenameAmbientNight;
  1057.     filename filenameInterior;
  1058.     float exteriorVolume;
  1059.     dword priority;
  1060.     TSTRUCT_ARRAY_PTR_START float3 points TSTRUCT_ARRAY_PTR_END;
  1061.     float3 position;
  1062.     float3 orientation;
  1063.     float fadeBand;
  1064.     float height;
  1065.     float radius;
  1066.     qword guid;
  1067.     dword flags;
  1068. } PackMapAudioRegion<optimize=false>;
  1069.  
  1070. typedef struct
  1071. {
  1072.     wchar_ptr annotation;
  1073. } PackMapAudioRegionTool<optimize=false>;
  1074.  
  1075. typedef struct
  1076. {
  1077.     filename dependency;
  1078.     dword flags;
  1079. } PackMapAudioDep<optimize=false>;
  1080.  
  1081. typedef struct
  1082. {
  1083.     filename filenameAmbientDaySurface;
  1084.     filename filenameAmbientDayUnderwater;
  1085.     filename filenameAmbientNightSurface;
  1086.     filename filenameAmbientNightUnderwater;
  1087.     TSTRUCT_ARRAY_PTR_START PackMapAudioRegion audioRegions TSTRUCT_ARRAY_PTR_END;
  1088.     TSTRUCT_ARRAY_PTR_START PackMapAudioRegionTool audioRegionTools TSTRUCT_ARRAY_PTR_END;
  1089.     TSTRUCT_ARRAY_PTR_START PackMapAudioDep audioDepArray TSTRUCT_ARRAY_PTR_END;
  1090. } MapAudio<optimize=false>;
  1091. // audi
  1092.  
  1093. // lght
  1094. typedef struct
  1095. {
  1096.     float3 position;
  1097.     byte3 color;
  1098.     float intensity;
  1099.     float nearDistance;
  1100.     float farDistance;
  1101.     dword flags;
  1102. } PackMapLight<optimize=false>;
  1103.  
  1104. typedef struct
  1105. {
  1106.     float gust;
  1107.     float gustFreq;
  1108.     float noise;
  1109.     float phase;
  1110.     float offset;
  1111.     float amplitude;
  1112.     dword curveType;
  1113. } PackMapCurve<optimize=false>;
  1114.  
  1115. typedef struct
  1116. {
  1117.     qword guid;
  1118.     TSTRUCT_ARRAY_PTR_START PackMapLight lights TSTRUCT_ARRAY_PTR_END;
  1119.     TSTRUCT_ARRAY_PTR_START PackMapCurve curves TSTRUCT_ARRAY_PTR_END;
  1120.     word broadId;
  1121. } PackMapPointLightgroups<optimize=false>;
  1122.  
  1123. typedef struct
  1124. {
  1125.     float fadeCamera;
  1126.     float fadeLight;
  1127.     float lighten;
  1128.     float darken;
  1129. } PackMapPortalData<optimize=false>;
  1130.  
  1131. typedef struct
  1132. {
  1133.     qword guid;
  1134.     TSTRUCT_ARRAY_PTR_START float3 points TSTRUCT_ARRAY_PTR_END;
  1135.     TSTRUCT_ARRAY_PTR_START PackMapPortalData portalData TSTRUCT_ARRAY_PTR_END;
  1136.     word broadId;
  1137. } PackMapPortalLight<optimize=false>;
  1138.  
  1139. typedef struct
  1140. {
  1141.     filename shadowFilename;
  1142. } PackMapSpotShadow<optimize=false>;
  1143.  
  1144. typedef struct
  1145. {
  1146.     float3 position;
  1147.     byte3 color;
  1148.     float intensity;
  1149.     float nearDistance;
  1150.     float farDistance;
  1151.     dword flags;
  1152.     float3 direction;
  1153.     float innerAngle;
  1154.     float outerAngle;
  1155.     filename textureName;
  1156.     TPTR_START PackMapSpotShadow shadowData TPTR_END;
  1157. } PackMapSpotLight<optimize=false>;
  1158.  
  1159. typedef struct
  1160. {
  1161.     qword guid;
  1162.     TSTRUCT_ARRAY_PTR_START PackMapSpotLight lights TSTRUCT_ARRAY_PTR_END;
  1163.     TSTRUCT_ARRAY_PTR_START PackMapCurve curves TSTRUCT_ARRAY_PTR_END;
  1164.     word broadId;
  1165. } PackMapSpotLightgroups<optimize=false>;
  1166.  
  1167. typedef struct
  1168. {
  1169.     filename filename_;
  1170.     dword2 dims;
  1171.     dword format;
  1172.     TSTRUCT_ARRAY_PTR_START byte image TSTRUCT_ARRAY_PTR_END;
  1173. } PackMapVolumeImage<optimize=false>;
  1174.  
  1175. typedef struct
  1176. {
  1177.     qword guid;
  1178.     float3 position;
  1179.     float3 extents;
  1180.     float3 rotation;
  1181.     float2 intensities;
  1182.     float4 pack;
  1183.     wchar_ptr name;
  1184.     TSTRUCT_ARRAY_PTR_START float3 floodPoints TSTRUCT_ARRAY_PTR_END;
  1185.     dword flags;
  1186.     TSTRUCT_ARRAY_PTR_START PackMapVolumeImage images TSTRUCT_ARRAY_PTR_END;
  1187.     word broadId;
  1188. } PackMapVolumeLight<optimize=false>;
  1189.  
  1190. typedef struct
  1191. {
  1192.     TSTRUCT_ARRAY_PTR_START PackMapPointLightgroups pointLights TSTRUCT_ARRAY_PTR_END;
  1193.     TSTRUCT_ARRAY_PTR_START PackMapPortalLight portalLights TSTRUCT_ARRAY_PTR_END;
  1194.     TSTRUCT_ARRAY_PTR_START PackMapSpotLightgroups spotLights TSTRUCT_ARRAY_PTR_END;
  1195.     TSTRUCT_ARRAY_PTR_START PackMapVolumeLight volumeLights TSTRUCT_ARRAY_PTR_END;
  1196.     PackBroadphaseType broadPhase;
  1197.     word maxBroadId;
  1198. } PackMapLights<optimize=false>;
  1199. // lght
  1200.  
  1201. PackFile mapcPackFile(0, FileSize());
  1202.  
  1203. local uint32 lLoopIndex = 0;
  1204. local string lMagic;
  1205. while (exists(mapcPackFile.chunk[lLoopIndex]))
  1206. {
  1207.     FSeek(startof(mapcPackFile.chunk[lLoopIndex].data));
  1208.    
  1209.     lMagic = mapcPackFile.chunk[lLoopIndex].header.magic;
  1210.  
  1211.     if (lMagic == "parm")
  1212.     {
  1213.         MapParam parmChunk;
  1214.     }
  1215.     if (lMagic == "trn\0")
  1216.     {
  1217.         PackMapTerrainV14 trnChunk;
  1218.     }
  1219.     if (lMagic == "trni")
  1220.     {
  1221.         MapTerrainImg trniChunk;
  1222.     }
  1223.     if (lMagic == "surf")
  1224.     {
  1225.         MapSurfaces surfChunk;
  1226.     }
  1227.     if (lMagic == "area")
  1228.     {
  1229.         PackMapAreasV4 areaChunk;
  1230.     }
  1231.     if (lMagic == "msn\0")
  1232.     {
  1233.         MapMission msnChunk;
  1234.     }
  1235.     if (lMagic == "havk")
  1236.     {
  1237.         PackMapCollideV14 havkChunk;
  1238.     }
  1239.     if (lMagic == "zon2")
  1240.     {
  1241.         PackMapZonesV22 zon2Chunk;
  1242.     }
  1243.     if (lMagic == "prp2")
  1244.     {
  1245.         PackMapPropV21 prp2Chunk;
  1246.     }
  1247.     if (lMagic == "rive")
  1248.     {
  1249.         PackMapRivers riveChunk;
  1250.     }
  1251.     if (lMagic == "shex")
  1252.     {
  1253.         PackMapShadowExtV1 shexChunk;
  1254.     }
  1255.     if (lMagic == "cube")
  1256.     {
  1257.         PackMapCubeMapV3 cubeChunk;
  1258.     }
  1259.     if (lMagic == "env\0")
  1260.     {
  1261.         PackMapEnvironmentV74 envChunk;
  1262.     }
  1263.     if (lMagic == "dcal")
  1264.     {
  1265.         PackMapDecalsV9 dcalChunk;
  1266.     }
  1267.     if (lMagic == "shor")
  1268.     {
  1269.         MapShore shorChunk;
  1270.     }
  1271.     if (lMagic == "audi")
  1272.     {
  1273.         MapAudio audiChunk;
  1274.     }
  1275.     if (lMagic == "lght")
  1276.     {
  1277.         PackMapLights lghtChunk;
  1278.     }
  1279.  
  1280.     lLoopIndex = lLoopIndex + 1;
  1281. }
Add Comment
Please, Sign In to add comment