Advertisement
Guest User

.l?? Structures

a guest
Nov 9th, 2011
692
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 22.45 KB | None | 0 0
  1. /* ***************************************************************** *
  2.    STRUCTURES
  3.  * ***************************************************************** */
  4.  
  5. struct MindPower::lwGeomObjInfo::lwGeomObjInfoHeader {
  6.     /* this+0x0 */ unsigned long id;
  7.     /* this+0x4 */ unsigned long parent_id;
  8.     /* this+0x8 */ unsigned long type; // MindPower::lwModelObjectLoadType ???
  9.     /* this+0xc */ struct D3DXMATRIX mat_local;
  10.     /* this+0x4c */ struct MindPower::lwRenderCtrlCreateInfo rcci;
  11.     /* this+0x5c */ class MindPower::lwStateCtrl state_ctrl;
  12.     /* this+0x64 */ unsigned long mtl_size;
  13.     /* this+0x68 */ unsigned long mesh_size;
  14.     /* this+0x6c */ unsigned long helper_size;
  15.     /* this+0x70 */ unsigned long anim_size;
  16. }
  17.  
  18. struct MindPower::lwGeomObjInfo {
  19.     /* this+0x4 */ MindPower::lwGeomObjInfo::lwGeomObjInfoHeader header;
  20.     /* this+0x78 */ unsigned long mtl_num;
  21.     /* this+0x7c */ struct MindPower::lwMtlTexInfo * mtl_seq;
  22.     /* this+0x80 */ struct MindPower::lwMeshInfo mesh;
  23.     /* this+0x130 */ struct MindPower::lwHelperInfo helper_data;
  24.     /* this+0x160 */ class MindPower::lwAnimDataInfo anim_data;
  25. }
  26.  
  27. struct MindPower::lwRenderCtrlCreateInfo {
  28.     /* this+0x0 */ unsigned long ctrl_id;
  29.     /* this+0x4 */ unsigned long decl_id;
  30.     /* this+0x8 */ unsigned long vs_id;
  31.     /* this+0xc */ unsigned long ps_id;
  32. }
  33.  
  34. class MindPower::lwStateCtrl {
  35.     /* this+0x0 */ unsigned char _state_seq[8]; // MindPower::lwObjectStateEnum ???
  36. }
  37.  
  38. struct MindPower::lwMtlTexInfo {
  39.     /* this+0x0 */ float opacity;
  40.     /* this+0x4 */ unsigned long transp_type; // MindPower::lwMtlTexInfoTransparencyTypeEnum
  41.     /* this+0x8 */ struct MindPower::lwMaterial mtl;
  42.     /* this+0x4c */ struct MindPower::lwRenderStateAtom rs_set[8];
  43.     /* this+0xac */ struct MindPower::lwTexInfo tex_seq[4];
  44. };
  45.  
  46. struct MindPower::lwMtlTexInfo_0000 {
  47.     /* this+0x0 */ struct MindPower::lwMaterial mtl;
  48.     /* this+0x44 */ struct MindPower::lwRenderStateSetTemplate<2,8> rs_set;
  49.     /* this+0xc4 */ struct MindPower::lwTexInfo[4] tex_seq;
  50. };
  51.  
  52. struct MindPower::lwMtlTexInfo_0001 {
  53.     /* this+0x0 */ float opacity;
  54.     /* this+0x4 */ unsigned long transp_type; // MindPower::lwMtlTexInfoTransparencyTypeEnum
  55.     /* this+0x8 */ struct MindPower::lwMaterial mtl;
  56.     /* this+0x4c */ struct MindPower::lwRenderStateSetTemplate<2,8> rs_set;
  57.     /* this+0xcc */ struct MindPower::lwTexInfo[4] tex_seq;
  58. };
  59.  
  60. struct MindPower::lwMaterial {
  61.   /* this+0x0 */ struct MindPower::lwColorValue4f dif;
  62.   /* this+0x10 */ struct MindPower::lwColorValue4f amb;
  63.   /* this+0x20 */ struct MindPower::lwColorValue4f spe;
  64.   /* this+0x30 */ struct MindPower::lwColorValue4f emi;
  65.   /* this+0x40 */ float power;
  66. }
  67.  
  68. struct MindPower::lwColorValue4b {
  69.   /* this+0x0 */ unsigned char b;
  70.   /* this+0x1 */ unsigned char g;
  71.   /* this+0x2 */ unsigned char r;
  72.   /* this+0x3 */ unsigned char a;
  73. }
  74.  
  75. struct MindPower::lwColorValue4f {
  76.   /* this+0x0 */ float r;
  77.   /* this+0x4 */ float g;
  78.   /* this+0x8 */ float b;
  79.   /* this+0xc */ float a;
  80. }
  81.  
  82. struct MindPower::lwRenderStateAtom {
  83.   /* this+0x0 */ unsigned long state; // MindPower::lwRenderStateAtomType
  84.   /* this+0x4 */ unsigned long value0;
  85.   /* this+0x8 */ unsigned long value1;
  86. }
  87.  
  88. struct MindPower::lwRenderStateSetTemplate<2,8> {
  89.   /* this+0x0 */ struct MindPower::lwRenderStateValue rsv_seq[2][8];
  90. }
  91.  
  92. struct MindPower::lwRenderStateValue {
  93.   /* this+0x0 */ unsigned long state;
  94.   /* this+0x4 */ unsigned long value;
  95. }
  96.  
  97. struct MindPower::lwTexInfo {
  98.     /* this+0x0 */ unsigned long stage;
  99.     /* this+0x4 */ unsigned long level;
  100.     /* this+0x8 */ unsigned long usage;
  101.     /* this+0xc */ enum _D3DFORMAT format;
  102.     /* this+0x10 */ enum _D3DPOOL pool;
  103.     /* this+0x14 */ unsigned long byte_alignment_flag;
  104.     /* this+0x18 */ unsigned long type; // MindPower::lwTexInfoTypeEnum
  105.     /* this+0x1c */ unsigned long width;
  106.     /* this+0x20 */ unsigned long height;
  107.     /* this+0x24 */ unsigned long colorkey_type; // MindPower::lwColorKeyTypeEnum
  108.     /* this+0x28 */ struct MindPower::lwColorValue4b colorkey;
  109.     /* this+0x2c */ char file_name[64];
  110.     /* this+0x6c */ void * data;
  111.     /* this+0x70 */ struct MindPower::lwRenderStateAtom[8] tss_set;
  112. }
  113.  
  114. struct MindPower::lwTexInfo_0000 {
  115.     /* this+0x0 */ unsigned long stage;
  116.     /* this+0x4 */ unsigned long colorkey_type; // MindPower::lwColorKeyTypeEnum
  117.     /* this+0x8 */ struct MindPower::lwColorValue4b colorkey;
  118.     /* this+0xc */ enum _D3DFORMAT format;
  119.     /* this+0x10 */ char file_name[64];
  120.     /* this+0x50 */ struct MindPower::lwRenderStateSetTemplate<2,8> tss_set;
  121. }
  122.  
  123. struct MindPower::lwTexInfo_0001 {
  124.     /* this+0x0 */ unsigned long stage;
  125.     /* this+0x4 */ unsigned long level;
  126.     /* this+0x8 */ unsigned long usage;
  127.     /* this+0xc */ enum _D3DFORMAT format;
  128.     /* this+0x10 */ enum _D3DPOOL pool;
  129.     /* this+0x14 */ unsigned long byte_alignment_flag;
  130.     /* this+0x18 */ unsigned long type; // MindPower::lwTexInfoTypeEnum
  131.     /* this+0x1c */ unsigned long width;
  132.     /* this+0x20 */ unsigned long height;
  133.     /* this+0x24 */ unsigned long colorkey_type; // MindPower::lwColorKeyTypeEnum
  134.     /* this+0x28 */ struct MindPower::lwColorValue4b colorkey;
  135.     /* this+0x2c */ char file_name[64];
  136.     /* this+0x6c */ void * data;
  137.     /* this+0x70 */ struct MindPower::lwRenderStateSetTemplate<2,8> tss_set;
  138. }
  139.  
  140. struct MindPower::lwMeshInfo {
  141.     /* this+0x0 */ struct MindPower::lwMeshInfo::lwMeshInfoHeader header;
  142.     /* this+0x80 */ struct D3DXVECTOR3 * vertex_seq;
  143.     /* this+0x84 */ struct D3DXVECTOR3 * normal_seq;
  144.     /* this+0x88 */ struct D3DXVECTOR2 * texcoord_seq[4];
  145.     /* this+0x88 */ struct D3DXVECTOR2 * texcoord0_seq;
  146.     /* this+0x8c */ struct D3DXVECTOR2 * texcoord1_seq;
  147.     /* this+0x90 */ struct D3DXVECTOR2 * texcoord2_seq;
  148.     /* this+0x94 */ struct D3DXVECTOR2 * texcoord3_seq;
  149.     /* this+0x98 */ unsigned long * vercol_seq;
  150.     /* this+0x9c */ unsigned long * index_seq;
  151.     /* this+0xa0 */ unsigned long * bone_index_seq;
  152.     /* this+0xa4 */ struct MindPower::lwBlendInfo * blend_seq;
  153.     /* this+0xa8 */ struct MindPower::lwSubsetInfo * subset_seq;
  154.     /* this+0xac */ struct _D3DVERTEXELEMENT9 * vertex_element_seq;
  155. };
  156.  
  157. struct MindPower::lwMeshInfo_0000 {
  158.     /* this+0x0 */ struct MindPower::lwMeshInfo_0000::lwMeshInfoHeader header;
  159.     /* this+0x98 */ struct D3DXVECTOR3 * vertex_seq;
  160.     /* this+0x9c */ struct D3DXVECTOR3 * normal_seq;
  161.     /* this+0xa0 */ struct D3DXVECTOR2 * texcoord_seq[4];
  162.     /* this+0xa0 */ struct D3DXVECTOR2 * texcoord0_seq;
  163.     /* this+0xa4 */ struct D3DXVECTOR2 * texcoord1_seq;
  164.     /* this+0xa8 */ struct D3DXVECTOR2 * texcoord2_seq;
  165.     /* this+0xac */ struct D3DXVECTOR2 * texcoord3_seq;
  166.     /* this+0xb0 */ unsigned long * vercol_seq;
  167.     /* this+0xb4 */ unsigned long * index_seq;
  168.     /* this+0xb8 */ struct MindPower::lwBlendInfo * blend_seq;
  169.     /* this+0xbc */ struct MindPower::lwSubsetInfo subset_seq[16];
  170.     /* this+0x1bc */ unsigned char bone_index_seq[25];
  171. };
  172.  
  173. struct MindPower::lwMeshInfo_0003 {
  174.     /* this+0x0 */ struct MindPower::lwMeshInfo_0003::lwMeshInfoHeader header;
  175.     /* this+0x78 */ struct D3DXVECTOR3 * vertex_seq;
  176.     /* this+0x7c */ struct D3DXVECTOR3 * normal_seq;
  177.     /* this+0x80 */ struct D3DXVECTOR2 * texcoord_seq[4];
  178.     /* this+0x80 */ struct D3DXVECTOR2 * texcoord0_seq;
  179.     /* this+0x84 */ struct D3DXVECTOR2 * texcoord1_seq;
  180.     /* this+0x88 */ struct D3DXVECTOR2 * texcoord2_seq;
  181.     /* this+0x8c */ struct D3DXVECTOR2 * texcoord3_seq;
  182.     /* this+0x90 */ unsigned long * vercol_seq;
  183.     /* this+0x94 */ unsigned long * index_seq;
  184.     /* this+0x98 */ struct MindPower::lwBlendInfo * blend_seq;
  185.     /* this+0x9c */ struct MindPower::lwSubsetInfo subset_seq[16];
  186.     /* this+0x19c */ unsigned char bone_index_seq[25];
  187. };
  188.  
  189. struct MindPower::lwMeshInfo::lwMeshInfoHeader {
  190.     /* this+0x0 */ unsigned long fvf;
  191.     /* this+0x4 */ enum _D3DPRIMITIVETYPE pt_type;
  192.     /* this+0x8 */ unsigned long vertex_num;
  193.     /* this+0xc */ unsigned long index_num;
  194.     /* this+0x10 */ unsigned long subset_num;
  195.     /* this+0x14 */ unsigned long bone_index_num;
  196.     /* this+0x18 */ unsigned long bone_infl_factor;
  197.     /* this+0x1c */ unsigned long vertex_element_num;
  198.     /* this+0x20 */ struct MindPower::lwRenderStateAtom rs_set[8];
  199. };
  200.  
  201. struct MindPower::lwMeshInfo_0000::lwMeshInfoHeader {
  202.     /* this+0x0 */ unsigned long fvf;
  203.     /* this+0x4 */ enum _D3DPRIMITIVETYPE pt_type;
  204.     /* this+0x8 */ unsigned long vertex_num;
  205.     /* this+0xc */ unsigned long index_num;
  206.     /* this+0x10 */ unsigned long subset_num;
  207.     /* this+0x14 */ unsigned long bone_index_num;
  208.     /* this+0x18 */ struct MindPower::lwRenderStateSetTemplate<2,8> rs_set;
  209. };
  210.  
  211. struct MindPower::lwMeshInfo_0003::lwMeshInfoHeader {
  212.     /* this+0x0 */ unsigned long fvf;
  213.     /* this+0x4 */ enum _D3DPRIMITIVETYPE pt_type;
  214.     /* this+0x8 */ unsigned long vertex_num;
  215.     /* this+0xc */ unsigned long index_num;
  216.     /* this+0x10 */ unsigned long subset_num;
  217.     /* this+0x14 */ unsigned long bone_index_num;
  218.     /* this+0x18 */ struct MindPower::lwRenderStateAtom rs_set[8];
  219. };
  220.  
  221. struct MindPower::lwRenderStateAtom {
  222.     /* this+0x0 */ unsigned long state; // MindPower::lwRenderStateAtomType
  223.     /* this+0x4 */ unsigned long value0;
  224.     /* this+0x8 */ unsigned long value1;
  225. };
  226.  
  227. struct MindPower::lwRenderStateSetTemplate<2,8> {
  228.     /* this+0x0 */ struct MindPower::lwRenderStateValue rsv_seq[2][8];
  229. };
  230.  
  231. struct MindPower::lwBlendInfo {
  232.   /* this+0x0 */ unsigned char index[4];
  233.   /* this+0x0 */ unsigned long indexd;
  234.   /* this+0x4 */ float weight[4];
  235. }
  236.  
  237. struct MindPower::lwSubsetInfo {
  238.   /* this+0x0 */ unsigned long primitive_num;
  239.   /* this+0x4 */ unsigned long start_index;
  240.   /* this+0x8 */ unsigned long vertex_num;
  241.   /* this+0xc */ unsigned long min_index;
  242. }
  243.  
  244. struct MindPower::lwHelperInfo {
  245.     /* this+0x4 */ unsigned long type; // MindPower::lwHelperInfoType
  246.     /* this+0x8 */ struct MindPower::lwHelperDummyInfo * dummy_seq;
  247.     /* this+0xc */ struct MindPower::lwHelperBoxInfo * box_seq;
  248.     /* this+0x10 */ struct MindPower::lwHelperMeshInfo * mesh_seq;
  249.     /* this+0x14 */ struct MindPower::lwBoundingBoxInfo * bbox_seq;
  250.     /* this+0x18 */ struct MindPower::lwBoundingSphereInfo * bsphere_seq;
  251.     /* this+0x1c */ unsigned long dummy_num;
  252.     /* this+0x20 */ unsigned long box_num;
  253.     /* this+0x24 */ unsigned long mesh_num;
  254.     /* this+0x28 */ unsigned long bbox_num;
  255.     /* this+0x2c */ unsigned long bsphere_num;
  256. }
  257.  
  258. struct MindPower::lwHelperDummyInfo {
  259.     /* this+0x0 */ unsigned long id;
  260.     /* this+0x4 */ struct D3DXMATRIX mat;
  261.     /* this+0x44 */ struct D3DXMATRIX mat_local;
  262.     /* this+0x84 */ unsigned long parent_type;
  263.     /* this+0x88 */ unsigned long parent_id;
  264. }
  265.  
  266. struct MindPower::lwHelperDummyInfo_1000 {
  267.     /* this+0x0 */ unsigned long id;
  268.     /* this+0x4 */ struct D3DXMATRIX mat;
  269. }
  270.  
  271. struct MindPower::lwHelperBoxInfo {
  272.     /* this+0x0 */ unsigned long id;
  273.     /* this+0x4 */ unsigned long type;
  274.     /* this+0x8 */ unsigned long state;
  275.     /* this+0xc */ class MindPower::lwBox box;
  276.     /* this+0x24 */ struct D3DXMATRIX mat;
  277.     /* this+0x64 */ char name[32];
  278. }
  279.  
  280. class MindPower::lwBox {
  281.     /* this+0x0 */ struct D3DXVECTOR3 c;
  282.     /* this+0xc */ struct D3DXVECTOR3 r;
  283. }
  284.  
  285. class MindPower::lwBox_1001 {
  286.     /* this+0x0 */ struct D3DXVECTOR3 p;
  287.     /* this+0xc */ struct D3DXVECTOR3 s;
  288. }
  289.  
  290. struct MindPower::lwHelperMeshInfo {
  291.     /* this+0x0 */ unsigned long id;
  292.     /* this+0x4 */ unsigned long type;
  293.     /* this+0x8 */ char name[32];
  294.     /* this+0x28 */ unsigned long state;
  295.     /* this+0x2c */ unsigned long sub_type;
  296.     /* this+0x30 */ struct D3DXMATRIX mat;
  297.     /* this+0x70 */ class MindPower::lwBox box;
  298.     /* this+0x88 */ struct D3DXVECTOR3 * vertex_seq;
  299.     /* this+0x8c */ struct MindPower::lwHelperMeshFaceInfo * face_seq;
  300.     /* this+0x90 */ unsigned long vertex_num;
  301.     /* this+0x94 */ unsigned long face_num;
  302. };
  303.  
  304. struct MindPower::lwHelperMeshFaceInfo {
  305.     /* this+0x0 */ unsigned long vertex[3];
  306.     /* this+0xc */ unsigned long adj_face[3];
  307.     /* this+0x18 */ class MindPower::_lwPlane plane;
  308.     /* this+0x28 */ struct D3DXVECTOR3 center;
  309. };
  310.  
  311. struct MindPower::lwBoundingBoxInfo {
  312.     /* this+0x0 */ unsigned long id;
  313.     /* this+0x4 */ class MindPower::lwBox box;
  314.     /* this+0x1c */ struct D3DXMATRIX mat;
  315. };
  316.  
  317. struct MindPower::lwBoundingSphereInfo {
  318.     /* this+0x0 */ unsigned long id;
  319.     /* this+0x4 */ class MindPower::lwSphere sphere;
  320.     /* this+0x14 */ struct D3DXMATRIX mat;
  321. };
  322.  
  323. class MindPower::lwSphere {
  324.     /* this+0x0 */ struct D3DXVECTOR3 c;
  325.     /* this+0xc */ float r;
  326. };
  327.  
  328. class MindPower::_lwPlane {
  329.     /* this+0x0 */ float a;
  330.     /* this+0x4 */ float b;
  331.     /* this+0x8 */ float c;
  332.     /* this+0xc */ float d;
  333. };
  334.  
  335. class MindPower::lwAnimDataInfo {
  336.   /* this+0x4 */ class MindPower::lwAnimDataBone * anim_bone;
  337.   /* this+0x8 */ class MindPower::lwAnimDataMatrix * anim_mat;
  338.   /* this+0xc */ struct MindPower::lwAnimDataMtlOpacity * anim_mtlopac[16];
  339.   /* this+0x4c */ struct MindPower::lwAnimDataTexUV * anim_tex[16][4];
  340.   /* this+0x14c */ class MindPower::lwAnimDataTexImg * anim_img[16][4];
  341. }
  342.  
  343. class MindPower::lwAnimDataBone {
  344.   /* this+0x4 */ struct MindPower::lwAnimDataBone::lwBoneInfoHeader _header;
  345.   /* this+0x14 */ struct MindPower::lwBoneBaseInfo * _base_seq;
  346.   /* this+0x18 */ struct MindPower::lwBoneDummyInfo * _dummy_seq;
  347.   /* this+0x1c */ struct MindPower::lwBoneKeyInfo * _key_seq;
  348.   /* this+0x20 */ struct D3DXMATRIX * _invmat_seq;
  349. }
  350.  
  351. struct MindPower::lwAnimDataBone::lwBoneInfoHeader {
  352.   /* this+0x0 */ unsigned long bone_num;
  353.   /* this+0x4 */ unsigned long frame_num;
  354.   /* this+0x8 */ unsigned long dummy_num;
  355.   /* this+0xc */ unsigned long key_type; // MindPower::lwBoneKeyInfoType
  356. }
  357.  
  358. struct MindPower::lwBoneBaseInfo {
  359.   /* this+0x0 */ char name[64];
  360.   /* this+0x40 */ unsigned long id;
  361.   /* this+0x44 */ unsigned long parent_id;
  362. }
  363.  
  364. struct MindPower::lwBoneDummyInfo {
  365.   /* this+0x0 */ unsigned long id;
  366.   /* this+0x4 */ unsigned long parent_bone_id;
  367.   /* this+0x8 */ struct D3DXMATRIX mat;
  368. }
  369.  
  370. struct MindPower::lwBoneKeyInfo {
  371.   /* this+0x0 */ class MindPower::lwMatrix43 * mat43_seq;
  372.   /* this+0x4 */ struct D3DXMATRIX * mat44_seq;
  373.   /* this+0x8 */ struct D3DXVECTOR3 * pos_seq;
  374.   /* this+0xc */ struct D3DXQUATERNION * quat_seq;
  375. }
  376.  
  377. class MindPower::lwMatrix33 {
  378.   /* this+0x0 */ float m[3][3];
  379. }
  380.  
  381. class MindPower::lwMatrix43 {
  382.   /* this+0x0 */ float m[4][3];
  383. }
  384.  
  385. class MindPower::lwAnimDataMatrix {
  386.   /* this+0x4 */ class MindPower::lwMatrix43 * _mat_seq;
  387.   /* this+0x8 */ unsigned long _frame_num;
  388. }
  389.  
  390. struct MindPower::lwAnimDataMtlOpacity {
  391.   /* this+0x4 */ class MindPower::lwIAnimKeySetFloat * _aks_ctrl;
  392. }
  393.  
  394. class MindPower::lwAnimKeySetFloat {
  395.   /* this+0x4 */ struct MindPower::lwKeyFloat * _data_seq;
  396.   /* this+0x8 */ unsigned long _data_num;
  397.   /* this+0xc */ unsigned long _data_capacity;
  398. }
  399.  
  400. struct MindPower::lwKeyFloat {
  401.   /* this+0x0 */ unsigned long key;
  402.   /* this+0x4 */ unsigned long slerp_type;
  403.   /* this+0x8 */ float data;
  404. }
  405.  
  406. struct MindPower::lwAnimDataTexUV {
  407.   /* this+0x4 */ struct D3DXMATRIX * _mat_seq;
  408.   /* this+0x8 */ unsigned long _frame_num;
  409. }
  410.  
  411. class MindPower::lwAnimDataTexImg {
  412.   /* this+0x4 */ struct MindPower::lwTexInfo * _data_seq;
  413.   /* this+0x8 */ unsigned long _data_num;
  414.   /* this+0xc */ char _tex_path[260];
  415. }
  416.  
  417. class MindPower::lwModelInfo {
  418.     /* this+0x0 */ struct MindPower::lwModelHeadInfo _head;
  419.     /* this+0x48 */ class MindPower::lwITreeNode * _obj_tree;
  420. }
  421.  
  422. struct MindPower::lwModelHeadInfo {
  423.     /* this+0x0 */ unsigned long mask;
  424.     /* this+0x4 */ unsigned long version;
  425.     /* this+0x8 */ char decriptor[64];
  426. };
  427.  
  428. class MindPower::lwTreeNode {
  429.   /* this+0x4 */ void * _data;
  430.   /* this+0x8 */ class MindPower::lwITreeNode * _parent;
  431.   /* this+0xc */ class MindPower::lwITreeNode * _child;
  432.   /* this+0x10 */ class MindPower::lwITreeNode * _sibling;
  433. }
  434.  
  435. struct MindPower::lwModelObjInfo {
  436.   /* this+0x4 */ unsigned long geom_obj_num;
  437.   /* this+0x8 */ struct MindPower::lwGeomObjInfo * geom_obj_seq[32];
  438.   /* this+0x88 */ struct MindPower::lwHelperInfo helper_data;
  439. }
  440.  
  441. struct MindPower::lwModelObjInfo::lwModelObjInfoHeader {
  442.     /* this+0x0 */ unsigned long type;
  443.     /* this+0x4 */ unsigned long addr;
  444.     /* this+0x8 */ unsigned long size;
  445. }
  446.  
  447. struct D3DXMATRIX {
  448.     /* this+0x0 */ float m[4][4];
  449. };
  450.  
  451. struct _D3DVECTOR {
  452.     /* this+0x0 */ float x;
  453.     /* this+0x4 */ float y;
  454.     /* this+0x8 */ float z;
  455. };
  456.  
  457. struct D3DXVECTOR2 {
  458.     /* this+0x0 */ float x;
  459.     /* this+0x4 */ float y;
  460. };
  461.  
  462. struct D3DXVECTOR3 {
  463.     /* this+0x0 */ float x;
  464.     /* this+0x4 */ float y;
  465.     /* this+0x8 */ float z;
  466. };
  467.  
  468. struct D3DXVECTOR4 {
  469.     /* this+0x0 */ float x;
  470.     /* this+0x4 */ float y;
  471.     /* this+0x8 */ float z;
  472.     /* this+0xc */ float w;
  473. };
  474.  
  475. struct _D3DVERTEXELEMENT9 {
  476.     /* this+0x0 */ unsigned short Stream;
  477.     /* this+0x2 */ unsigned short Offset;
  478.     /* this+0x4 */ unsigned char Type;
  479.     /* this+0x5 */ unsigned char Method;
  480.     /* this+0x6 */ unsigned char Usage;
  481.     /* this+0x7 */ unsigned char UsageIndex;
  482. };
  483.  
  484. struct D3DXQUATERNION {
  485.     /* this+0x0 */ float x
  486.     /* this+0x4 */ float y
  487.     /* this+0x8 */ float z
  488.     /* this+0xc */ float w
  489. };
  490.  
  491. /* ***************************************************************** *
  492.    ENUMS
  493.  * ***************************************************************** */
  494.  
  495. typedef enum MindPower::lwRenderCtrlVSTypesEnum {
  496.   RENDERCTRL_VS_FIXEDFUNCTION =  0x1,
  497.   RENDERCTRL_VS_VERTEXBLEND =  0x2,
  498.   RENDERCTRL_VS_VERTEXBLEND_DX9 =  0x3,
  499.   RENDERCTRL_VS_USER =  0x100,
  500.   RENDERCTRL_VS_INVALID =  0xff,
  501. } MindPower::lwRenderCtrlVSTypesEnum;
  502.  
  503. typedef enum MindPower::lwModelObjectLoadType {
  504.   MODELOBJECT_LOAD_RESET =  0x0,
  505.   MODELOBJECT_LOAD_MERGE =  0x1,
  506.   MODELOBJECT_LOAD_MERGE2 =  0x2,
  507. } MindPower::lwModelObjectLoadType;
  508.  
  509. typedef enum MindPower::__unnamed {
  510.   GEOMOBJ_TYPE_GENERIC =  0x0,
  511.   GEOMOBJ_TYPE_CHECK_BB =  0x1,
  512.   GEOMOBJ_TYPE_CHECK_BB2 =  0x2,
  513. } MindPower::__unnamed;
  514.  
  515. typedef enum MindPower::lwObjectStateEnum {
  516.   STATE_VISIBLE =  0x0,
  517.   STATE_ENABLE =  0x1,
  518.   STATE_UPDATETRANSPSTATE =  0x3,
  519.   STATE_TRANSPARENT =  0x4,
  520.   STATE_FRAMECULLING =  0x5,
  521.   STATE_INVALID =  0xff,
  522.   OBJECT_STATE_NUM =  0x8,
  523. } MindPower::lwObjectStateEnum;
  524.  
  525. typedef enum MindPower::lwMtlTexInfoTransparencyTypeEnum {
  526.   MTLTEX_TRANSP_FILTER =  0x0,
  527.   MTLTEX_TRANSP_ADDITIVE =  0x1,
  528.   MTLTEX_TRANSP_SUBTRACTIVE =  0x2,
  529. } MindPower::lwMtlTexInfoTransparencyTypeEnum;
  530.  
  531. typedef enum MindPower::lwTexInfoTypeEnum {
  532.   TEX_TYPE_FILE =  0x0,
  533.   TEX_TYPE_SIZE =  0x1,
  534.   TEX_TYPE_DATA =  0x2,
  535.   TEX_TYPE_INVALID =  0xff,
  536. } MindPower::lwTexInfoTypeEnum;
  537.  
  538. typedef enum MindPower::lwColorKeyTypeEnum {
  539.   COLORKEY_TYPE_NONE =  0x0,
  540.   COLORKEY_TYPE_COLOR =  0x1,
  541.   COLORKEY_TYPE_PIXEL =  0x2,
  542. } MindPower::lwColorKeyTypeEnum;
  543.  
  544. typedef enum MindPower::lwRenderStateAtomType {
  545.   RENDERSTATE_TYPE_RS =  0x0,
  546.   RENDERSTATE_TYPE_TSS =  0x1,
  547.   RENDERSTATE_TYPE_SS =  0x2,
  548.   RENDERSTATE_TYPE_INVALID =  0xff,
  549. } MindPower::lwRenderStateAtomType;
  550.  
  551. typedef enum MindPower::lwMtlTexAgent::__unnamed {
  552.   RSA_SET_SIZE =  0x8,
  553. } MindPower::lwMtlTexAgent::__unnamed;
  554.  
  555. typedef enum MindPower::lwRenderStateAtomType {
  556.   RENDERSTATE_TYPE_RS =  0x0,
  557.   RENDERSTATE_TYPE_TSS =  0x1,
  558.   RENDERSTATE_TYPE_SS =  0x2,
  559.   RENDERSTATE_TYPE_INVALID =  0xff,
  560. } MindPower::lwRenderStateAtomType;
  561.  
  562. typedef enum MindPower::lwHelperInfoType {
  563.   HELPER_TYPE_DUMMY =  0x1,
  564.   HELPER_TYPE_BOX =  0x2,
  565.   HELPER_TYPE_MESH =  0x4,
  566.   HELPER_TYPE_BOUNDINGBOX =  0x10,
  567.   HELPER_TYPE_BOUNDINGSPHERE =  0x20,
  568.   HELPER_TYPE_INVALID =  0x0,
  569. } MindPower::lwHelperInfoType;
  570.  
  571.  
  572. typedef enum MindPower::lwPlaneClassifyType {
  573.   PLANE_ON_SIDE =  0x0,
  574.   PLANE_FRONT_SIDE =  0x1,
  575.   PLANE_BACK_SIDE =  0x2,
  576. } MindPower::lwPlaneClassifyType;
  577.  
  578. typedef enum MindPower::lwAnimDataInfo::__unnamed {
  579.   ANIM_DATA_NUM =  0x92,
  580. } MindPower::lwAnimDataInfo::__unnamed;
  581.  
  582. typedef enum MindPower::lwBoneKeyInfoType {
  583.   BONE_KEY_TYPE_MAT43 =  0x1,
  584.   BONE_KEY_TYPE_MAT44 =  0x2,
  585.   BONE_KEY_TYPE_QUAT =  0x3,
  586.   BONE_KEY_TYPE_INVALID =  0xff,
  587. } MindPower::lwBoneKeyInfoType;
  588.  
  589. typedef enum MindPower::__unnamed {
  590.   ANIM_CTRL_TYPE_MAT =  0x0,
  591.   ANIM_CTRL_TYPE_BONE =  0x1,
  592.   ANIM_CTRL_TYPE_TEXUV =  0x2,
  593.   ANIM_CTRL_TYPE_TEXIMG =  0x3,
  594.   ANIM_CTRL_TYPE_MTLOPACITY =  0x4,
  595.   ANIM_CTRL_TYPE_NUM =  0x5,
  596.   ANIM_CTRL_TYPE_INVALID =  0xff,
  597. } MindPower::__unnamed;
  598.  
  599. typedef enum MindPower::lwAnimKeySetMask {
  600.   AKSM_KEY =  0x1,
  601.   AKSM_DATA =  0x2,
  602.   AKSM_SLERPTYPE =  0x4,
  603. } MindPower::lwAnimKeySetMask;
  604.  
  605. typedef enum MindPower::lwAnimKeySetSlerpType {
  606.   AKST_INVALID =  0x0,
  607.   __akst_begin =  0x0,
  608.   AKST_LINEAR =  0x1,
  609.   AKST_SIN1 =  0x2,
  610.   AKST_SIN2 =  0x3,
  611.   AKST_SIN3 =  0x4,
  612.   AKST_SIN4 =  0x5,
  613.   AKST_COS1 =  0x6,
  614.   AKST_COS2 =  0x7,
  615.   AKST_COS3 =  0x8,
  616.   AKST_COS4 =  0x9,
  617.   AKST_TAN1 =  0xa,
  618.   AKST_CTAN1 =  0xb,
  619.   __akst_end =  0xc,
  620. } MindPower::lwAnimKeySetSlerpType;
  621.  
  622. typedef enum MindPower::lwModelEntityTypeEnum {
  623.   NODE_PRIMITIVE =  0x1,
  624.   NODE_BONECTRL =  0x2,
  625.   NODE_DUMMY =  0x3,
  626.   NODE_HELPER =  0x4,
  627.   NODE_LIGHT =  0x5,
  628.   NODE_CAMERA =  0x6,
  629.   MODELNODE_INVALID =  0xff,
  630. } MindPower::lwModelEntityTypeEnum;
  631.  
  632. typedef enum MindPower::lwModelNodeQueryMask {
  633.   MNQI_ID =  0x1,
  634.   MNQI_TYPE =  0x2,
  635.   MNQI_DATA =  0x4,
  636.   MNQI_DESCRIPTOR =  0x8,
  637.   MNQI_USERPROC =  0x10,
  638. } MindPower::lwModelNodeQueryMask;
  639.  
  640. typedef enum MindPower::lwModelObjectLoadType {
  641.   MODELOBJECT_LOAD_RESET =  0x0,
  642.   MODELOBJECT_LOAD_MERGE =  0x1,
  643.   MODELOBJECT_LOAD_MERGE2 =  0x2,
  644. } MindPower::lwModelObjectLoadType;
  645.  
  646. typedef enum _D3DPRIMITIVETYPE {
  647.   D3DPT_POINTLIST =  0x1,
  648.   D3DPT_LINELIST =  0x2,
  649.   D3DPT_LINESTRIP =  0x3,
  650.   D3DPT_TRIANGLELIST =  0x4,
  651.   D3DPT_TRIANGLESTRIP =  0x5,
  652.   D3DPT_TRIANGLEFAN =  0x6,
  653.   D3DPT_FORCE_DWORD =  0x7fffffff,
  654. } _D3DPRIMITIVETYPE;
  655.  
  656. typedef enum _D3DFORMAT {
  657.   D3DFMT_UNKNOWN =  0x0,
  658.   D3DFMT_R8G8B8 =  0x14,
  659.   D3DFMT_A8R8G8B8 =  0x15,
  660.   D3DFMT_X8R8G8B8 =  0x16,
  661.   D3DFMT_R5G6B5 =  0x17,
  662.   D3DFMT_X1R5G5B5 =  0x18,
  663.   D3DFMT_A1R5G5B5 =  0x19,
  664.   D3DFMT_A4R4G4B4 =  0x1a,
  665.   D3DFMT_R3G3B2 =  0x1b,
  666.   D3DFMT_A8 =  0x1c,
  667.   D3DFMT_A8R3G3B2 =  0x1d,
  668.   D3DFMT_X4R4G4B4 =  0x1e,
  669.   D3DFMT_A2B10G10R10 =  0x1f,
  670.   D3DFMT_G16R16 =  0x22,
  671.   D3DFMT_A8P8 =  0x28,
  672.   D3DFMT_P8 =  0x29,
  673.   D3DFMT_L8 =  0x32,
  674.   D3DFMT_A8L8 =  0x33,
  675.   D3DFMT_A4L4 =  0x34,
  676.   D3DFMT_V8U8 =  0x3c,
  677.   D3DFMT_L6V5U5 =  0x3d,
  678.   D3DFMT_X8L8V8U8 =  0x3e,
  679.   D3DFMT_Q8W8V8U8 =  0x3f,
  680.   D3DFMT_V16U16 =  0x40,
  681.   D3DFMT_W11V11U10 =  0x41,
  682.   D3DFMT_A2W10V10U10 =  0x43,
  683.   D3DFMT_UYVY =  0x59565955,
  684.   D3DFMT_YUY2 =  0x32595559,
  685.   D3DFMT_DXT1 =  0x31545844,
  686.   D3DFMT_DXT2 =  0x32545844,
  687.   D3DFMT_DXT3 =  0x33545844,
  688.   D3DFMT_DXT4 =  0x34545844,
  689.   D3DFMT_DXT5 =  0x35545844,
  690.   D3DFMT_D16_LOCKABLE =  0x46,
  691.   D3DFMT_D32 =  0x47,
  692.   D3DFMT_D15S1 =  0x49,
  693.   D3DFMT_D24S8 =  0x4b,
  694.   D3DFMT_D16 =  0x50,
  695.   D3DFMT_D24X8 =  0x4d,
  696.   D3DFMT_D24X4S4 =  0x4f,
  697.   D3DFMT_VERTEXDATA =  0x64,
  698.   D3DFMT_INDEX16 =  0x65,
  699.   D3DFMT_INDEX32 =  0x66,
  700.   D3DFMT_FORCE_DWORD =  0x7fffffff,
  701. } _D3DFORMAT;
  702.  
  703. typedef enum _D3DPOOL {
  704.   D3DPOOL_DEFAULT =  0x0,
  705.   D3DPOOL_MANAGED =  0x1,
  706.   D3DPOOL_SYSTEMMEM =  0x2,
  707.   D3DPOOL_SCRATCH =  0x3,
  708.   D3DPOOL_FORCE_DWORD =  0x7fffffff,
  709. } _D3DPOOL;
  710.  
  711.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement