0
|
1 #pragma once
|
|
2 #include "Render.h"
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
9 #pragma pack(push, 1)
|
|
10 struct Vis_stru1_stru0
|
|
11 {
|
|
12 void *pObjectInfo;
|
|
13 int sZValue;
|
|
14 unsigned int uObjectType;
|
|
15 };
|
|
16 #pragma pack(pop)
|
|
17
|
|
18 #pragma pack(push, 1)
|
|
19 struct Vis_stru1
|
|
20 {
|
|
21 Vis_stru1();
|
|
22 //----- (004C0585) --------------------------------------------------------
|
|
23 ~Vis_stru1() {}
|
|
24 Vis_stru1_stru0 *sub_4C2551(int a2, int a3);
|
|
25 Vis_stru1_stru0 **create_object_pointers(unsigned int flag);
|
|
26
|
|
27 void (__thiscall ***vdestructor_ptr)(Vis_stru1 *, bool);
|
|
28 Vis_stru1_stru0 array_0004[512];
|
|
29 Vis_stru1_stru0 *array_1804[512];
|
|
30 unsigned int uNumPointers;
|
|
31 };
|
|
32 #pragma pack(pop)
|
|
33
|
|
34
|
|
35
|
|
36 /* 116 */
|
|
37 #pragma pack(push, 1)
|
|
38 struct Vis
|
|
39 {
|
|
40 Vis();
|
|
41 //----- (004C05A2) --------------------------------------------------------
|
|
42 //virtual ~Vis() {}
|
|
43 //----- (004C05BE) --------------------------------------------------------
|
|
44 ~Vis() {}
|
|
45 bool _4C05CC(Vis_stru1 *a2, struct stru157 *a3, struct stru157 *a4);
|
|
46 bool PickMouse(float fDepth, float fMouseX, float fMouseY, struct stru157 *a5, struct stru157 *a6);
|
|
47 void _4C06F8(float arg0, Vis_stru1 *a3, struct stru157 *a2);
|
|
48 bool is_part_of_selection(struct BLVFace *uD3DBillboardIdx_or_pBLVFace_or_pODMFace, struct stru157 *a2);
|
|
49 bool DoesRayIntersectBillboard(float fDepth, unsigned int uD3DBillboardIdx);
|
|
50 int _4C0D32_BLV(float a1, Vis_stru1 *arg4, struct stru157 *a2);
|
|
51 void _4C0DEA_ODM(float arg0, Vis_stru1 *a3, struct stru157 *a2);
|
|
52 Vis_stru1_stru0 *_4C1026(struct BLVFace *a2, unsigned int a3, float a4);
|
|
53 char _4C12C3_FindSomeBillboard(struct RenderVertexSoft *a1, int a2, float a3, float a4);
|
|
54 void GetPolygonCenter(struct RenderVertexD3D3 *pVertices, unsigned int uNumVertices, float *pCenterX, float *pCenterY);
|
|
55 float *_4C1495(struct RenderVertexSoft *Src, int a2, float *a3, float *a4);
|
|
56 void PickBillboards(float fPickDepth, float fX, float fY, Vis_stru1 *a4, stru157 *a2);
|
|
57 bool IsPointInsideD3DBillboard(struct RenderBillboardD3D *a1, float x, float y);
|
|
58 void PickIndoor(float fDepth, struct RenderVertexSoft *pRay, Vis_stru1 *a4, stru157 *a5);
|
|
59 void PickOutdoor(float fDepth, struct RenderVertexSoft *pRay, Vis_stru1 *a4, stru157 *a5, char a6);
|
|
60 int _4C1944(int a2, unsigned int a3, int a4, int a5, int a6);
|
|
61 void _4C1A02();
|
|
62 bool SortVectors_x(RenderVertexSoft *a2, int a3, int a4);
|
|
63 int get_object_zbuf_val(Vis_stru1_stru0 *a2);
|
|
64 int get_picked_object_zbuf_val();
|
|
65 bool Intersect_Ray_Face(struct RenderVertexSoft *pRayStart, struct RenderVertexSoft *pRayEnd, float *pDepth, RenderVertexSoft *a4, BLVFace *a5, unsigned int a6);
|
|
66 int _4C1D2B(BLVFace *pFace, Vec3_short_ a2, unsigned int uModelID);
|
|
67 bool _4C1EE5_BLV_IntersectBModel_2(int *a1, int *a2, __int16 *a3, __int16 *a4, Vec3_short_ *a5, BLVFace *pFace);
|
|
68 bool _4C2186_BLV_IntersectBModel(int *a1, int *a2, __int16 *a3, __int16 *a4, Vec3_short_ *a5, BLVFace *a6, unsigned int uModelID);
|
|
69 void CastPickRay(RenderVertexSoft *pRay, float fMouseX, float fMouseY, float fPickDepth);
|
|
70 void sort_object_pointers(Vis_stru1_stru0 **pPointers, int left, int right);
|
|
71 bool SortVerticesByX(struct RenderVertexD3D3 *a2, unsigned int uStart, unsigned int uEnd);
|
|
72 bool SortVerticesByY(struct RenderVertexD3D3 *a2, unsigned int uStart, unsigned int uEnd);
|
|
73 bool sort_objects_2(struct RenderVertexSoft *pArray, int sLeft, int sRight);
|
|
74 bool sort_objects_3(struct RenderVertexSoft *pArray, int sLeft, int sRight);
|
|
75
|
|
76 void (__thiscall ***vdestructor_ptr)(Vis *, bool);
|
|
77 Vis_stru1 stru1;
|
|
78 RenderVertexSoft stru_200C;
|
|
79 RenderVertexSoft stru_203C;
|
|
80 RenderVertexSoft stru_206C;
|
|
81 RenderVertexSoft stru_209C;
|
|
82 int field_20CC;
|
|
83 };
|
|
84 #pragma pack(pop)
|