view Vis.h @ 26:93bf1d5f6a6d

Game loading.
author Nomad
date Tue, 16 Oct 2012 00:05:53 +0200
parents 8b8875f5b359
children
line wrap: on
line source

#pragma once
#include "Render.h"






#pragma pack(push, 1)
struct Vis_stru1_stru0
{
  void *pObjectInfo;
  int sZValue;
  unsigned int uObjectType;
};
#pragma pack(pop)

#pragma pack(push, 1)
struct Vis_stru1
{
  Vis_stru1();
  //----- (004C0585) --------------------------------------------------------
  ~Vis_stru1() {}
  Vis_stru1_stru0 *sub_4C2551(int a2, int a3);
  Vis_stru1_stru0 **create_object_pointers(unsigned int flag);

  void (__thiscall ***vdestructor_ptr)(Vis_stru1 *, bool);
  Vis_stru1_stru0 array_0004[512];
  Vis_stru1_stru0 *array_1804[512];
  unsigned int uNumPointers;
};
#pragma pack(pop)



/*  116 */
#pragma pack(push, 1)
struct Vis
{
  Vis();
  //----- (004C05A2) --------------------------------------------------------
  //virtual ~Vis() {}
  //----- (004C05BE) --------------------------------------------------------
  ~Vis() {}
  bool _4C05CC(Vis_stru1 *a2, struct stru157 *a3, struct stru157 *a4);
  bool PickMouse(float fDepth, float fMouseX, float fMouseY, struct stru157 *a5, struct stru157 *a6);
  void _4C06F8(float arg0, Vis_stru1 *a3, struct stru157 *a2);
  bool is_part_of_selection(struct BLVFace *uD3DBillboardIdx_or_pBLVFace_or_pODMFace, struct stru157 *a2);
  bool DoesRayIntersectBillboard(float fDepth, unsigned int uD3DBillboardIdx);
  int _4C0D32_BLV(float a1, Vis_stru1 *arg4, struct stru157 *a2);
  void _4C0DEA_ODM(float arg0, Vis_stru1 *a3, struct stru157 *a2);
  Vis_stru1_stru0 *_4C1026(struct BLVFace *a2, unsigned int a3, float a4);
  char _4C12C3_FindSomeBillboard(struct RenderVertexSoft *a1, int a2, float a3, float a4);
  void GetPolygonCenter(struct RenderVertexD3D3 *pVertices, unsigned int uNumVertices, float *pCenterX, float *pCenterY);
  float *_4C1495(struct RenderVertexSoft *Src, int a2, float *a3, float *a4);
  void PickBillboards(float fPickDepth, float fX, float fY, Vis_stru1 *a4, stru157 *a2);
  bool IsPointInsideD3DBillboard(struct RenderBillboardD3D *a1, float x, float y);
  void PickIndoor(float fDepth, struct RenderVertexSoft *pRay, Vis_stru1 *a4, stru157 *a5);
  void PickOutdoor(float fDepth, struct RenderVertexSoft *pRay, Vis_stru1 *a4, stru157 *a5, char a6);
  int _4C1944(int a2, unsigned int a3, int a4, int a5, int a6);
  void _4C1A02();
  bool SortVectors_x(RenderVertexSoft *a2, int a3, int a4);
  int get_object_zbuf_val(Vis_stru1_stru0 *a2);
  int get_picked_object_zbuf_val();
  bool Intersect_Ray_Face(struct RenderVertexSoft *pRayStart, struct RenderVertexSoft *pRayEnd, float *pDepth, RenderVertexSoft *a4, BLVFace *a5, unsigned int a6);
  int _4C1D2B(BLVFace *pFace, Vec3_short_ a2, unsigned int uModelID);
  bool _4C1EE5_BLV_IntersectBModel_2(int *a1, int *a2, __int16 *a3, __int16 *a4, Vec3_short_ *a5, BLVFace *pFace);
  bool _4C2186_BLV_IntersectBModel(int *a1, int *a2, __int16 *a3, __int16 *a4, Vec3_short_ *a5, BLVFace *a6, unsigned int uModelID);
  void CastPickRay(RenderVertexSoft *pRay, float fMouseX, float fMouseY, float fPickDepth);
  void sort_object_pointers(Vis_stru1_stru0 **pPointers, int left, int right);
  bool SortVerticesByX(struct RenderVertexD3D3 *a2, unsigned int uStart, unsigned int uEnd);
  bool SortVerticesByY(struct RenderVertexD3D3 *a2, unsigned int uStart, unsigned int uEnd);
  bool sort_objects_2(struct RenderVertexSoft *pArray, int sLeft, int sRight);
  bool sort_objects_3(struct RenderVertexSoft *pArray, int sLeft, int sRight);

  void (__thiscall ***vdestructor_ptr)(Vis *, bool);
  Vis_stru1 stru1;
  RenderVertexSoft stru_200C;
  RenderVertexSoft stru_203C;
  RenderVertexSoft stru_206C;
  RenderVertexSoft stru_209C;
  int field_20CC;
};
#pragma pack(pop)