Guest User

Untitled

a guest
Nov 18th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.76 KB | None | 0 0
  1. #pragma once
  2. #include "../Tags.hpp"
  3. #include "../../Text/StringID.hpp"
  4. #include "../../Math/Bounds.hpp"
  5. #include "../../Math/RealPlane3D.hpp"
  6. #include "../../Math/RealPoint3D.hpp"
  7. #include "../../Math/RealQuaternion.hpp"
  8. #include "../../Math/RealVector3D.hpp"
  9.  
  10. namespace Blam::Tags::Models
  11. {
  12. struct RenderModel : TagGroup<'mode'>
  13. {
  14. enum class FlagsValues : uint16_t;
  15.  
  16. struct RegionsBlock;
  17. struct InstancesBlock;
  18. struct NodesBlock;
  19. struct MarkerGroupsBlock;
  20. struct MaterialsBlock;
  21. struct MeshesBlock;
  22. struct CompressionInfoBlock;
  23. struct BoundingSpheresBlock;
  24. struct UnknownBlock;
  25. struct UnknownMeshesBlock;
  26. struct NodeMapsBlock;
  27. struct UnknownBlock2;
  28. struct UnknownYoBlock;
  29. struct UnknownBlock3;
  30. struct UnknownBlock4;
  31. struct NewNodesBlock;
  32.  
  33. Text::StringID Name;
  34. RenderModel::FlagsValues FlagsValue : 16;
  35. int16_t Unknown;
  36. int32_t ModelChecksum;
  37. Tags::TagBlock<RenderModel::RegionsBlock> Regions;
  38. int32_t Unknown2;
  39. int32_t InstanceStartingMeshIndex;
  40. Tags::TagBlock<RenderModel::InstancesBlock> Instances;
  41. int32_t NodesChecksum;
  42. Tags::TagBlock<RenderModel::NodesBlock> Nodes;
  43. Tags::TagBlock<RenderModel::MarkerGroupsBlock> MarkerGroups;
  44. Tags::TagBlock<RenderModel::MaterialsBlock> Materials;
  45. int32_t Unknown4;
  46. int32_t Unknown5;
  47. int32_t Unknown6;
  48. int32_t Unknown7;
  49. int32_t Unknown8;
  50. Tags::TagBlock<RenderModel::MeshesBlock> Meshes;
  51. Tags::TagBlock<RenderModel::CompressionInfoBlock> CompressionInfo;
  52. Tags::TagBlock<RenderModel::BoundingSpheresBlock> UnknownNodey;
  53. Tags::TagBlock<RenderModel::UnknownBlock> Unknown9;
  54. int32_t Unknown10;
  55. int32_t Unknown11;
  56. int32_t Unknown12;
  57. Tags::TagBlock<RenderModel::UnknownMeshesBlock> UnknownMeshes;
  58. Tags::TagBlock<RenderModel::NodeMapsBlock> NodeMaps;
  59. Tags::TagBlock<RenderModel::UnknownBlock2> Unknown13;
  60. int32_t Unknown14;
  61. int32_t Unknown15;
  62. int32_t Unknown16;
  63. Tags::TagBlock<RenderModel::UnknownYoBlock> UnknownYo;
  64. uint32_t ResourceReferenceAddress;
  65. int32_t UselessPadding;
  66. Tags::TagBlock<RenderModel::UnknownBlock3> Unknown17;
  67. int32_t UnknownA;
  68. int32_t UnknownA2;
  69. int32_t UnknownA3;
  70. int32_t UnknownA4;
  71. int32_t UnknownA5;
  72. int32_t UnknownA6;
  73. int32_t UnknownA7;
  74. int32_t UnknownA8;
  75. int32_t UnknownA9;
  76. int32_t UnknownA10;
  77. int32_t UnknownA11;
  78. int32_t UnknownA12;
  79. int32_t UnknownA13;
  80. int32_t UnknownA14;
  81. int32_t UnknownA15;
  82. int32_t UnknownA16;
  83. int32_t UnknownB;
  84. int32_t UnknownB2;
  85. int32_t UnknownB3;
  86. int32_t UnknownB4;
  87. int32_t UnknownB5;
  88. int32_t UnknownB6;
  89. int32_t UnknownB7;
  90. int32_t UnknownB8;
  91. int32_t UnknownB9;
  92. int32_t UnknownB10;
  93. int32_t UnknownB11;
  94. int32_t UnknownB12;
  95. int32_t UnknownB13;
  96. int32_t UnknownB14;
  97. int32_t UnknownB15;
  98. int32_t UnknownB16;
  99. int32_t UnknownC;
  100. int32_t UnknownC2;
  101. int32_t UnknownC3;
  102. int32_t UnknownC4;
  103. int32_t UnknownC5;
  104. int32_t UnknownC6;
  105. int32_t UnknownC7;
  106. int32_t UnknownC8;
  107. int32_t UnknownC9;
  108. int32_t UnknownC10;
  109. int32_t UnknownC11;
  110. int32_t UnknownC12;
  111. int32_t UnknownC13;
  112. int32_t UnknownC14;
  113. int32_t UnknownC15;
  114. int32_t UnknownC16;
  115. Tags::TagBlock<RenderModel::UnknownBlock4> Unknown18;
  116. Tags::TagBlock<RenderModel::NewNodesBlock> NewNodes;
  117. int32_t Unknown19;
  118.  
  119. enum class RenderModel::FlagsValues : uint16_t
  120. {
  121. None,
  122. Bit0 = 1 << 0,
  123. Bit1 = 1 << 1,
  124. ForceNodeMaps = 1 << 2,
  125. Bit3 = 1 << 3,
  126. Bit4 = 1 << 4,
  127. Bit5 = 1 << 5,
  128. Bit6 = 1 << 6,
  129. Bit7 = 1 << 7,
  130. Bit8 = 1 << 8,
  131. Bit9 = 1 << 9,
  132. Bit10 = 1 << 10,
  133. Bit11 = 1 << 11,
  134. Bit12 = 1 << 12,
  135. Bit13 = 1 << 13,
  136. Bit14 = 1 << 14,
  137. Bit15 = 1 << 15
  138. };
  139.  
  140. struct RenderModel::RegionsBlock
  141. {
  142. struct PermutationsBlock;
  143.  
  144. Text::StringID Name;
  145. Tags::TagBlock<RenderModel::RegionsBlock::PermutationsBlock> Permutations;
  146.  
  147. struct RenderModel::RegionsBlock::PermutationsBlock
  148. {
  149. Text::StringID Name;
  150. int16_t MeshIndex;
  151. int16_t MeshCount;
  152. int32_t Unknown;
  153. int32_t Unknown2;
  154. int32_t Unknown3;
  155. int32_t Unknown4;
  156. };
  157. static_assert(sizeof(RenderModel::RegionsBlock::PermutationsBlock) == 0x18,
  158. "RenderModel::RegionsBlock::PermutationsBlock");
  159. };
  160. static_assert(sizeof(RenderModel::RegionsBlock) == 0x10,
  161. "RenderModel::RegionsBlock");
  162.  
  163. struct RenderModel::InstancesBlock
  164. {
  165. Text::StringID Name;
  166. int32_t NodeIndex;
  167. float DefaultScale;
  168. Math::RealVector3D InverseForward;
  169. Math::RealVector3D InverseLeft;
  170. Math::RealVector3D InverseUp;
  171. Math::RealPoint3D InversePosition;
  172. };
  173. static_assert(sizeof(RenderModel::InstancesBlock) == 0x3C,
  174. "RenderModel::InstancesBlock");
  175.  
  176. struct RenderModel::NodesBlock
  177. {
  178. Text::StringID Name;
  179. int16_t ParentNode;
  180. int16_t FirstChildNode;
  181. int16_t NextSiblingNode;
  182. int16_t ImportNodeIndex;
  183. Math::RealPoint3D DefaultTranslation;
  184. Math::RealQuaternion DefaultRotation;
  185. float DefaultScale;
  186. Math::RealVector3D InverseForward;
  187. Math::RealVector3D InverseLeft;
  188. Math::RealVector3D InverseUp;
  189. Math::RealPoint3D InversePosition;
  190. float DistanceFromParent;
  191. };
  192. static_assert(sizeof(RenderModel::NodesBlock) == 0x60,
  193. "RenderModel::NodesBlock");
  194.  
  195. struct RenderModel::MarkerGroupsBlock
  196. {
  197. struct Markers;
  198.  
  199. Text::StringID Name;
  200. Tags::TagBlock<RenderModel::MarkerGroupsBlock::Markers> Unknown4;
  201.  
  202. struct RenderModel::MarkerGroupsBlock::Markers
  203. {
  204. int8_t Unknown;
  205. int8_t Unknown1;
  206. int8_t Unknown2;
  207. int8_t Unknown3;
  208. Math::RealPoint3D Translation;
  209. Math::RealQuaternion Rotation;
  210. float Scale;
  211. };
  212. static_assert(sizeof(RenderModel::MarkerGroupsBlock::Markers) == 0x24,
  213. "RenderModel::MarkerGroupsBlock::Markers");
  214. };
  215. static_assert(sizeof(RenderModel::MarkerGroupsBlock) == 0x10,
  216. "RenderModel::MarkerGroupsBlock");
  217.  
  218. struct RenderModel::MaterialsBlock
  219. {
  220. struct PropertiesBlock;
  221.  
  222. Tags::TagReference Shader;
  223. Tags::TagBlock<RenderModel::MaterialsBlock::PropertiesBlock> Properties;
  224. int32_t BreakableSurfaceIndex;
  225. int8_t Unknown2;
  226. int8_t Unknown3;
  227. int8_t Unknown4;
  228. int8_t RealValue;
  229.  
  230. struct RenderModel::MaterialsBlock::PropertiesBlock
  231. {
  232. int16_t Type;
  233. int16_t IntValue;
  234. int8_t Unknown;
  235. int8_t Unknown2;
  236. int8_t Unknown3;
  237. int8_t Unknown4;
  238. float RealValue;
  239. };
  240. static_assert(sizeof(RenderModel::MaterialsBlock::PropertiesBlock) == 0xC,
  241. "RenderModel::MaterialsBlock::PropertiesBlock");
  242. };
  243. static_assert(sizeof(RenderModel::MaterialsBlock) == 0x24,
  244. "RenderModel::MaterialsBlock");
  245.  
  246. struct RenderModel::MeshesBlock
  247. {
  248. struct PartsBlock;
  249. struct SubpartsBlock;
  250. enum class FlagsValues : uint8_t;
  251. enum class VertexTypes : int8_t;
  252. enum class PRTTypes : int8_t;
  253. enum class IndexBufferTypes : int8_t;
  254. struct InstancedGeometryIndicesBlock;
  255. struct UnknownWaterBlock;
  256.  
  257. Tags::TagBlock<RenderModel::MeshesBlock::PartsBlock> Parts;
  258. Tags::TagBlock<RenderModel::MeshesBlock::SubpartsBlock> Subparts;
  259. int16_t VertexBufferIndex;
  260. int16_t VertexBufferIndex2;
  261. int16_t VertexBufferIndex3;
  262. int16_t VertexBufferIndex4;
  263. int16_t VertexBufferIndex5;
  264. int16_t VertexBufferIndex6;
  265. int16_t VertexBufferIndex7;
  266. int16_t VertexBufferIndex8;
  267. int16_t IndexBufferIndex;
  268. int16_t IndexBufferIndex2;
  269. RenderModel::MeshesBlock::FlagsValues FlagsValue;
  270. int8_t RigidNode;
  271. RenderModel::MeshesBlock::VertexTypes VertexType;
  272. RenderModel::MeshesBlock::PRTTypes PRTType;
  273. RenderModel::MeshesBlock::IndexBufferTypes IndexBufferType;
  274. int8_t Unknown;
  275. int8_t Unknown2;
  276. int8_t Unknown3;
  277. Tags::TagBlock<RenderModel::MeshesBlock::InstancedGeometryIndicesBlock> InstancedGeometryIndices;
  278. Tags::TagBlock<RenderModel::MeshesBlock::UnknownWaterBlock> UnknownWater;
  279.  
  280. struct RenderModel::MeshesBlock::PartsBlock
  281. {
  282. enum class FlagsValues : uint8_t;
  283.  
  284. int16_t MaterialIndex;
  285. int16_t UnknownNodeyIndex;
  286. int16_t IndexBufferStart;
  287. int16_t IndexBufferCount;
  288. int16_t SubpartBufferStart;
  289. int16_t SubpartBufferCount;
  290. int8_t UnknownEnum;
  291. RenderModel::MeshesBlock::PartsBlock::FlagsValues FlagsValue : 8;
  292. int16_t VertexCount;
  293.  
  294. enum class RenderModel::MeshesBlock::PartsBlock::FlagsValues : uint8_t
  295. {
  296. None,
  297. Bit0 = 1 << 0,
  298. Bit1 = 1 << 1,
  299. Bit2 = 1 << 2,
  300. Water = 1 << 3,
  301. Bit4 = 1 << 4,
  302. Bit5 = 1 << 5,
  303. Bit6 = 1 << 6,
  304. Bit7 = 1 << 7
  305. };
  306. };
  307. static_assert(sizeof(RenderModel::MeshesBlock::PartsBlock) == 0x10,
  308. "RenderModel::MeshesBlock::PartsBlock");
  309.  
  310. struct RenderModel::MeshesBlock::SubpartsBlock
  311. {
  312. int16_t Unknown;
  313. int16_t Unknown2;
  314. int16_t Unknown3;
  315. int16_t Unknown4;
  316. };
  317. static_assert(sizeof(RenderModel::MeshesBlock::SubpartsBlock) == 0x8,
  318. "RenderModel::MeshesBlock::SubpartsBlock");
  319.  
  320. enum class RenderModel::MeshesBlock::FlagsValues : uint8_t
  321. {
  322. HasVertexColors,
  323. Bit0 = 1 << 0,
  324. Bit1 = 1 << 1,
  325. Bit2 = 1 << 2,
  326. Water = 1 << 3,
  327. Bit4 = 1 << 4,
  328. Bit5 = 1 << 5,
  329. Bit6 = 1 << 6,
  330. Bit7 = 1 << 7
  331. };
  332.  
  333. enum class RenderModel::MeshesBlock::VertexTypes : int8_t
  334. {
  335. World,
  336. Rigid,
  337. Skinned,
  338. ParticleModel,
  339. FlatWorld,
  340. FlatRigid,
  341. FlatSkinned,
  342. Screen,
  343. Debug,
  344. Transparent,
  345. Particle,
  346. Contrail,
  347. LightVolume,
  348. ChudSimple,
  349. ChudFancy,
  350. Decorator,
  351. TinyPosition,
  352. PatchyFog,
  353. Water,
  354. Ripple,
  355. Implicit,
  356. Beam
  357. };
  358.  
  359. enum class RenderModel::MeshesBlock::PRTTypes : int8_t
  360. {
  361. None,
  362. Ambient,
  363. Linear,
  364. Quadratic
  365. };
  366.  
  367. enum class RenderModel::MeshesBlock::IndexBufferTypes : int8_t
  368. {
  369. PointList,
  370. LineList,
  371. LineStrip,
  372. TriangeList,
  373. TriangeFan,
  374. TriangeStrip
  375. };
  376.  
  377. struct RenderModel::MeshesBlock::InstancedGeometryIndicesBlock
  378. {
  379. struct MeshContentsBlock;
  380.  
  381. int16_t InstancedGeometryIndex;
  382. int16_t InstancedGeometryIndex2;
  383. Tags::TagBlock<RenderModel::MeshesBlock::InstancedGeometryIndicesBlock::MeshContentsBlock> InstancedGeometryIndices;
  384.  
  385. struct RenderModel::MeshesBlock::InstancedGeometryIndicesBlock::MeshContentsBlock
  386. {
  387. int16_t InstancedGeometryIndex;
  388. };
  389. static_assert(sizeof(RenderModel::MeshesBlock::InstancedGeometryIndicesBlock::MeshContentsBlock) == 0x2,
  390. "RenderModel::MeshesBlock::InstancedGeometryIndicesBlock::MeshContentsBlock");
  391. };
  392. static_assert(sizeof(RenderModel::MeshesBlock::InstancedGeometryIndicesBlock) == 0x10,
  393. "RenderModel::MeshesBlock::InstancedGeometryIndicesBlock");
  394.  
  395. struct RenderModel::MeshesBlock::UnknownWaterBlock
  396. {
  397. int16_t Unknown;
  398. };
  399. static_assert(sizeof(RenderModel::MeshesBlock::UnknownWaterBlock) == 0x2,
  400. "RenderModel::MeshesBlock::UnknownWaterBlock");
  401. };
  402. static_assert(sizeof(RenderModel::MeshesBlock) == 0x4C,
  403. "RenderModel::MeshesBlock");
  404.  
  405. struct RenderModel::CompressionInfoBlock
  406. {
  407. enum class GeometryCompressionFlags : uint16_t;
  408.  
  409. RenderModel::CompressionInfoBlock::GeometryCompressionFlags Flags;
  410. int16_t Unknown2;
  411. Math::Bounds<float> X;
  412. Math::Bounds<float> Y;
  413. Math::Bounds<float> Z;
  414. Math::Bounds<float> U;
  415. Math::Bounds<float> V;
  416.  
  417. enum class RenderModel::CompressionInfoBlock::GeometryCompressionFlags : uint16_t
  418. {
  419. None,
  420. CompressedPosition = 1 << 0,
  421. CompressedTexcoord = 1 << 1,
  422. CompressionOptimized = 1 << 2
  423. };
  424. };
  425. static_assert(sizeof(RenderModel::CompressionInfoBlock) == 0x2C,
  426. "RenderModel::CompressionInfoBlock");
  427.  
  428. struct RenderModel::BoundingSpheresBlock
  429. {
  430. Math::RealPlane3D Plane;
  431. Math::RealPoint3D Position;
  432. float Radius;
  433. int8_t NodeIndices[4];
  434. float NodeWeights[3];
  435. };
  436. static_assert(sizeof(RenderModel::BoundingSpheresBlock) == 0x30,
  437. "RenderModel::BoundingSpheresBlock");
  438.  
  439. struct RenderModel::UnknownBlock
  440. {
  441. int8_t UnknownByte;
  442. int8_t UnknownByte2;
  443. int16_t Unknown2;
  444. Tags::TagData<byte> Unknown3;
  445. };
  446. static_assert(sizeof(RenderModel::UnknownBlock) == 0x18,
  447. "RenderModel::UnknownBlock");
  448.  
  449. struct RenderModel::UnknownMeshesBlock
  450. {
  451. struct UnknownBlock;
  452.  
  453. Tags::TagData<byte> Unknown;
  454. Tags::TagBlock<RenderModel::UnknownMeshesBlock::UnknownBlock> Unknown2;
  455.  
  456. struct RenderModel::UnknownMeshesBlock::UnknownBlock
  457. {
  458. int16_t Unknown;
  459. };
  460. static_assert(sizeof(RenderModel::UnknownMeshesBlock::UnknownBlock) == 0x2,
  461. "RenderModel::UnknownMeshesBlock::UnknownBlock");
  462. };
  463. static_assert(sizeof(RenderModel::UnknownMeshesBlock) == 0x20,
  464. "RenderModel::UnknownMeshesBlock");
  465.  
  466. struct RenderModel::NodeMapsBlock
  467. {
  468. struct NodeIndicesBlock;
  469.  
  470. Tags::TagBlock<RenderModel::NodeMapsBlock::NodeIndicesBlock> NodeIndices;
  471.  
  472. struct RenderModel::NodeMapsBlock::NodeIndicesBlock
  473. {
  474. uint8_t NodeIndex;
  475. };
  476. static_assert(sizeof(RenderModel::NodeMapsBlock::NodeIndicesBlock) == 0x1,
  477. "RenderModel::NodeMapsBlock::NodeIndicesBlock");
  478. };
  479. static_assert(sizeof(RenderModel::NodeMapsBlock) == 0xC,
  480. "RenderModel::NodeMapsBlock");
  481.  
  482. struct RenderModel::UnknownBlock2
  483. {
  484. int32_t Unknown;
  485. int32_t Unknown2;
  486. int32_t Unknown3;
  487. int32_t Unknown4;
  488. int32_t Unknown5;
  489. int32_t Unknown6;
  490. int32_t Unknown7;
  491. int32_t Unknown8;
  492. int32_t Unknown9;
  493. int32_t Unknown10;
  494. int32_t Unknown11;
  495. int32_t Unknown12;
  496. };
  497. static_assert(sizeof(RenderModel::UnknownBlock2) == 0x30,
  498. "RenderModel::UnknownBlock2");
  499.  
  500. struct RenderModel::UnknownYoBlock
  501. {
  502. int32_t Unknown;
  503. int32_t Unknown2;
  504. int32_t Unknown3;
  505. int16_t Unknown4;
  506. int16_t Unknown5;
  507. };
  508. static_assert(sizeof(RenderModel::UnknownYoBlock) == 0x10,
  509. "RenderModel::UnknownYoBlock");
  510.  
  511. struct RenderModel::UnknownBlock3
  512. {
  513. int32_t Unknown;
  514. int32_t Unknown2;
  515. int32_t Unknown3;
  516. int32_t Unknown4;
  517. int32_t Unknown5;
  518. int32_t Unknown6;
  519. int32_t Unknown7;
  520. };
  521. static_assert(sizeof(RenderModel::UnknownBlock3) == 0x1C,
  522. "RenderModel::UnknownBlock3");
  523.  
  524. struct RenderModel::UnknownBlock4
  525. {
  526. int32_t Unknown;
  527. int32_t Unknown2;
  528. int32_t Unknown3;
  529. int32_t Unknown4;
  530. int32_t Unknown5;
  531. int32_t Unknown6;
  532. int32_t Unknown7;
  533. int32_t Unknown8;
  534. int32_t Unknown9;
  535. int32_t Unknown10;
  536. int32_t Unknown11;
  537. int32_t Unknown12;
  538. int32_t Unknown13;
  539. int32_t Unknown14;
  540. int32_t Unknown15;
  541. int32_t Unknown16;
  542. int32_t Unknown17;
  543. int32_t Unknown18;
  544. int32_t Unknown19;
  545. int32_t Unknown20;
  546. int32_t Unknown21;
  547. int32_t Unknown22;
  548. int32_t Unknown23;
  549. int32_t Unknown24;
  550. int32_t Unknown25;
  551. int32_t Unknown26;
  552. int32_t Unknown27;
  553. int32_t Unknown28;
  554. int32_t Unknown29;
  555. int32_t Unknown30;
  556. int32_t Unknown31;
  557. int32_t Unknown32;
  558. int32_t Unknown33;
  559. int32_t Unknown34;
  560. int32_t Unknown35;
  561. int32_t Unknown36;
  562. int32_t Unknown37;
  563. int32_t Unknown38;
  564. int32_t Unknown39;
  565. int32_t Unknown40;
  566. int32_t Unknown41;
  567. int32_t Unknown42;
  568. int32_t Unknown43;
  569. int32_t Unknown44;
  570. int32_t Unknown45;
  571. int32_t Unknown46;
  572. int32_t Unknown47;
  573. int32_t Unknown48;
  574. int32_t Unknown49;
  575. int32_t Unknown50;
  576. int32_t Unknown51;
  577. int32_t Unknown52;
  578. int32_t Unknown53;
  579. int32_t Unknown54;
  580. int32_t Unknown55;
  581. int32_t Unknown56;
  582. int32_t Unknown57;
  583. int32_t Unknown58;
  584. int32_t Unknown59;
  585. int32_t Unknown60;
  586. int32_t Unknown61;
  587. int32_t Unknown62;
  588. int32_t Unknown63;
  589. int32_t Unknown64;
  590. int32_t Unknown65;
  591. int32_t Unknown66;
  592. int32_t Unknown67;
  593. int32_t Unknown68;
  594. int32_t Unknown69;
  595. int32_t Unknown70;
  596. int32_t Unknown71;
  597. int32_t Unknown72;
  598. int32_t Unknown73;
  599. int32_t Unknown74;
  600. int32_t Unknown75;
  601. int32_t Unknown76;
  602. int32_t Unknown77;
  603. int32_t Unknown78;
  604. int32_t Unknown79;
  605. int32_t Unknown80;
  606. int32_t Unknown81;
  607. int32_t Unknown82;
  608. int32_t Unknown83;
  609. int32_t Unknown84;
  610. int8_t Unknown85;
  611. };
  612. static_assert(sizeof(RenderModel::UnknownBlock4) == 0x154,
  613. "RenderModel::UnknownBlock4");
  614.  
  615. struct RenderModel::NewNodesBlock
  616. {
  617. Math::RealQuaternion DefaultRotation;
  618. Math::RealPoint3D DefaultTranslation;
  619. float DefaultScale;
  620. };
  621. static_assert(sizeof(RenderModel::NewNodesBlock) == 0x20,
  622. "RenderModel::NewNodesBlock");
  623. };
  624. static_assert(sizeof(RenderModel) == 0x1D0,
  625. "RenderModel");
  626. }
Add Comment
Please, Sign In to add comment