0
|
1 #pragma once
|
|
2 #include <vector>
|
|
3 #include "Render.h"
|
|
4 #include "Lights.h"
|
|
5
|
|
6
|
|
7 /* 115 */
|
|
8 #pragma pack(push, 1)
|
|
9 struct Lightmap
|
|
10 {
|
|
11 Lightmap();
|
522
|
12 virtual ~Lightmap() {}
|
0
|
13
|
522
|
14 //void (__thiscall ***vdestructor_ptr)(Lightmap *, bool);
|
0
|
15 unsigned int uNumVertices;
|
|
16 RenderVertexSoft pVertices[64];
|
|
17 __int16 field_C08;
|
|
18 __int16 field_C0A;
|
|
19 __int16 field_C0C;
|
|
20 __int16 field_C0E;
|
|
21 unsigned int uColorMask;
|
|
22 float fBrightness;
|
|
23 int field_C18;
|
|
24 };
|
|
25 #pragma pack(pop)
|
|
26
|
|
27
|
|
28 /* 114 */
|
|
29 #pragma pack(push, 1)
|
|
30 struct LightmapBuilder
|
|
31 {
|
|
32 LightmapBuilder();
|
522
|
33 virtual ~LightmapBuilder() //----- (0045BBAA)
|
0
|
34 {}
|
|
35
|
|
36 void DoDrawLightmaps();
|
|
37 bool DrawLightmap(Lightmap *a1, Vec3_float_ *pColorMult, float z_bias);
|
|
38 bool DrawLightmaps2(float a2);
|
|
39 char _45D74F_MessWithLight(int a2, int *a3);
|
|
40 void DrawLightmaps(int a2);
|
|
41 bool DrawDebugOutlines(char bit_one_for_list1__bit_two_for_list2);
|
|
42 double _45D643(struct Edge *a1, float a2);
|
|
43 int _45D426(struct Span *a1, struct Edge **a2, unsigned int a3, struct Edge *a4, int a5);
|
|
44 bool _45D3C7(struct stru148 *a1);
|
|
45 bool StackLight_TerrainFace(struct StationaryLight *pLight, struct Vec3_float_ *pNormal, float *a3, struct RenderVertexSoft *a1, unsigned int uStripType, int X, unsigned int *pSlot);
|
|
46 bool StackLights_TerrainFace(struct Vec3_float_ *pNormal, float *a3, struct RenderVertexSoft *a1, unsigned int uStripType, bool bLightBackfaces);
|
|
47 bool ApplyLight_ODM(struct StationaryLight *pLight, struct ODMFace *pFace, unsigned int *pSlot, char a4);
|
|
48 bool ApplyLights_OutdoorFace(struct ODMFace *pFace);
|
|
49 double _45CC0C_light(struct Vec3_float_ a1, float a2, float a3, struct Vec3_float_ *pNormal, float a5, int uLightType);
|
|
50 int _45CBD4(struct RenderVertexSoft *a2, int a3, int *a4, int *a5);
|
|
51 int _45CB89(struct RenderVertexSoft *a1, int a2);
|
|
52 int _45CA88(struct stru320 *a2, struct RenderVertexSoft *a3, int a4, struct Vec3_float_ *pNormal);
|
|
53 bool ApplyLight_BLV(struct StationaryLight *pLight, struct BLVFace *a2, unsigned int *pSlot, bool bLightBackfaces, char *a5);
|
|
54 bool ApplyLights_IndoorFace(unsigned int uFaceID);
|
|
55 int _45C6D6(int a2, struct RenderVertexSoft *a3, Lightmap *pLightmap);
|
|
56 int _45C4B9(int a2, struct RenderVertexSoft *a3, Lightmap *pLightmap);
|
|
57 bool _45BE86_build_light_polygon(Vec3_int_ *pos, float radius, unsigned int uColorMask, float dot_dist, int uLightType, struct stru314 *a7, unsigned int uNumVertices, RenderVertexSoft *a9, char uClipFlag);
|
|
58 bool ApplyLights(struct stru320 *a2, struct stru154 *a3, unsigned int uNumVertices, struct RenderVertexSoft *a5, struct IndoorCameraD3D_Vec4 *, char uClipFlag);
|
|
59
|
|
60
|
522
|
61 //void (__thiscall ***vdestructor_ptr)(LightmapBuilder *, bool);
|
0
|
62 //std::vector<Lightmap> std__vector_000004;
|
|
63 //std::vector<Lightmap> std__vector_183808;
|
|
64 Lightmap std__vector_000004[512];
|
|
65 unsigned int std__vector_000004_size;
|
|
66 Lightmap std__vector_183808[768];
|
|
67 unsigned int std__vector_183808_size;
|
|
68 float flt_3C8C0C;
|
|
69 float flt_3C8C10;
|
|
70 float flt_3C8C14;
|
|
71 float flt_3C8C18;
|
|
72 float flt_3C8C1C;
|
|
73 float flt_3C8C20;
|
|
74 float flt_3C8C24;
|
|
75 float flt_3C8C28;
|
|
76 float flt_3C8C2C_lightmaps_brightness;
|
|
77 float flt_3C8C30;
|
|
78 RenderVertexSoft field_3C8C34[256];
|
|
79 int uFlags;
|
|
80 };
|
|
81 #pragma pack(pop)
|
|
82
|
|
83
|
|
84
|
|
85
|
|
86 extern LightsStack_StationaryLight_ *pStationaryLightsStack;
|
|
87 //extern StationaryLight pStationaryLights[400];
|
|
88 //extern int uNumStationaryLightsApplied; // weak
|
|
89 extern LightsStack_MobileLight_ *pMobileLightsStack;
|
|
90 //extern MobileLight pMobileLights[400];
|
|
91 //extern int uNumMobileLightsApplied; |