Mercurial > might-and-magic-trilogy
diff IndoorCameraD3D.h @ 67:476145dc3441
Слияние
author | Ritor1 |
---|---|
date | Fri, 26 Oct 2012 23:22:41 +0600 |
parents | 5159d2e6f559 |
children |
line wrap: on
line diff
--- a/IndoorCameraD3D.h Fri Oct 26 23:20:39 2012 +0600 +++ b/IndoorCameraD3D.h Fri Oct 26 23:22:41 2012 +0600 @@ -15,9 +15,17 @@ //void ~IndoorCameraD3D_Vec3() {} void (__thiscall ***vdestructor_ptr)(IndoorCameraD3D_Vec3 *, bool); - float x; - float y; - float z; + + union + { + struct + { + float x; + float y; + float z; + }; + float v[3]; + }; }; #pragma pack(pop) @@ -121,16 +129,16 @@ double GetPolygonMinZ(struct RenderVertexSoft *pVertices, unsigned int uStripType); struct IDirect3DTexture2 *LoadTextureAndGetHardwarePtr(char *Str1); void Project(signed int x, signed int y, signed int z, int *a5, int *a6); - void _436BB7_project_and_stuff(struct RenderVertexSoft *pVertices, unsigned int uNumVertices, char a4); - void _436CDC(struct RenderVertexSoft *pInVertices, int uNumInVertices, struct RenderVertexSoft *pOutVertices, unsigned int *pOutNumVertices); - void _436F09(struct RenderVertexSoft *pInVertices, int uNumInVertices, struct RenderVertexSoft *pOutVertices, unsigned int *pOutNumVertices); + void Project(struct RenderVertexSoft *pVertices, unsigned int uNumVertices, char a4); + void _436CDC_mess_with_lightmap__clipflag_2(struct RenderVertexSoft *pInVertices, int uNumInVertices, struct RenderVertexSoft *pOutVertices, unsigned int *pOutNumVertices); + void _436F09_mess_with_lightmap__clipflag_4(struct RenderVertexSoft *pInVertices, int uNumInVertices, struct RenderVertexSoft *pOutVertices, unsigned int *pOutNumVertices); int _437143(unsigned int uNumInVertices, struct RenderVertexSoft *pOutVertices, struct RenderVertexSoft *pInVertices, unsigned int *pOutNumVertices); bool _4371C3(struct RenderVertexSoft *pVertices, unsigned int *pOutNumVertices, int _unused); bool _437285_prolly_colide_vertices_against_frustrum(struct RenderVertexSoft *a1, unsigned int *pOutNumVertices, struct RenderVertexSoft *pVertices, IndoorCameraD3D_Vec4 *a4, signed int uNumVertices, char a6, int _unused); char _437376(struct stru154 *thisa, struct RenderVertexSoft *a2, unsigned int *pOutNumVertices); void _4374E8_ProllyBuildFrustrum(); void _437607(IndoorCameraD3D_Vec3 *a1, IndoorCameraD3D_Vec4 *a2); - IndoorCameraD3D_Vec3 *Vec3Transform(const IndoorCameraD3D_Vec3 *pVector, IndoorCameraD3D_Vec3 *pOut); + void Vec3Transform(const IndoorCameraD3D_Vec3 *pVector, IndoorCameraD3D_Vec3 *pOut); void CreateWorldMatrixAndSomeStuff(); void MatrixMultiply(struct Matrix3x3_float_ *a1, struct Matrix3x3_float_ *a2, struct Matrix3x3_float_ *a3); void PrepareAndDrawDebugOutline(struct BLVFace *pFace, unsigned int uDiffuse); @@ -142,24 +150,24 @@ void _438141_draw_list_0037C(); void _438240_draw_lits(); void Reset_list_0037C(); - bool is_vertex_with_normal_from_face_towards_camera(struct BLVFace *pFace, struct RenderVertexSoft *a2); - char GetFacetOrientation(char a1, struct Vec3_float_ *a2, struct Vec3_float_ *a3, struct Vec3_float_ *a4); + bool is_face_faced_to_camera(struct BLVFace *pFace, struct RenderVertexSoft *a2); + bool GetFacetOrientation(char polyType, struct Vec3_float_ *a2, struct Vec3_float_ *a3, struct Vec3_float_ *a4); void ViewTransform(struct RenderVertexSoft *a1a, unsigned int uNumVertices); - bool IsFaceFacedTowardsCamera(struct BLVFace *pFace); - void _4364C5(struct RenderVertexSoft *pVertices, unsigned int uNumVertices, struct RenderVertexSoft *a1, struct stru320 *a5); + bool IsCulled(struct BLVFace *pFace); + void ViewTransfrom_OffsetUV(struct RenderVertexSoft *pVertices, unsigned int uNumVertices, struct RenderVertexSoft *pOutVertices, struct stru320 *a5); char ApplyViewTransform_TrueIfStillVisible(int x, int y, int z, signed int *pOutX, int *pOutZ, int *pOutY, char bDoNotShow); void (__thiscall ***vdestructor_ptr)(IndoorCameraD3D *, bool); - IndoorCameraD3D_Vec3 field_4; - IndoorCameraD3D_Vec3 field_14; - IndoorCameraD3D_Vec3 field_24; + IndoorCameraD3D_Vec3 field_4[3]; + //IndoorCameraD3D_Vec3 field_14; + //IndoorCameraD3D_Vec3 field_24; IndoorCameraD3D_Vec4 std__vector_000034_prolly_frustrum[6]; - float flt_fov; - float field_C8; - float field_CC; - float flt_D0; - float flt_D4; - float field_D8; + float fov; + float screenCenterX; + float screenCenterY; + float fov_x; + float fov_y; + float inv_fov; float field_DC; float field_E0; float field_E4;