From 87eb96453a405bfa0fbfffb57c9d6cfc74acfb70 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Sat, 18 Jul 2020 13:30:51 +0300 Subject: Add compatibility with RW 3.4 --- rwsdk/include/d3d8/rppvs.h | 59 ++++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 28 deletions(-) (limited to 'rwsdk/include/d3d8/rppvs.h') diff --git a/rwsdk/include/d3d8/rppvs.h b/rwsdk/include/d3d8/rppvs.h index 29fc2343..08738933 100644 --- a/rwsdk/include/d3d8/rppvs.h +++ b/rwsdk/include/d3d8/rppvs.h @@ -32,7 +32,7 @@ /** * \defgroup rppvs RpPVS - * \ingroup rpplugin + * \ingroup pvs * * Geometric Potentially Visible Set Plugin for RenderWare Graphics. */ @@ -122,11 +122,14 @@ typedef RpWorldSector *(*RpPVSCallBack) (RpWorldSector * worldSector, #define RpPVSCallback RpPVSCallBack typedef struct _RpPVSCallBack _RpPVSCallBack; + +#if (!defined(DOXYGEN)) struct _RpPVSCallBack { RpPVSCallBack callback; void *data; }; +#endif /* (!defined(DOXYGEN)) */ enum _rpPVSPartitionId { @@ -145,6 +148,7 @@ typedef struct _rpPVSPolyList *_rpPVSPolyListPtr; typedef struct _rpPVSPoly _rpPVSPoly; typedef struct _rpPVSPoly *_rpPVSPolyPtr; +#if (!defined(DOXYGEN)) typedef struct _rpPVSPlaneEq _rpPVSPlaneEq; struct _rpPVSPlaneEq { @@ -158,12 +162,13 @@ struct _rpPVSPlaneEq _rpPVSPartitionId lastresult; /* temp: stores result of last polygon wrt this plane */ }; -typedef struct +typedef struct RwV3i RwV3i; +struct RwV3i { RwInt32 x; RwInt32 y; RwInt32 z; -}RwV3i; +}; typedef struct _rpPVSPolyRecord _rpPVSPolyRecord; struct _rpPVSPolyRecord @@ -205,47 +210,45 @@ struct _rpPVSPolyList }; typedef struct RpPVS RpPVS; + struct RpPVS { - RwInt32 sectorID; /* Id of the sector */ - RwInt32 vismaplength; /* Length of vismap */ - RwInt32 sampleKey; /* Currently unused, for future use */ + RwInt32 sectorID; + RwInt32 vismaplength; + RwInt32 sampleKey; RpPVSVisMap *vismap; - _rpPVSPolyListPtr sectailpoly; /* Pointer to last polygon in polygons list that is in this sector */ + _rpPVSPolyListPtr sectailpoly; + _rpPVSPartitionId potential; - _rpPVSPartitionId potential; /* temp: is sector in out or split from current shadow volume - for heirarchical clip */ RwUInt32 numpols; - RwBBox sbox; /* Bounding box of the sector */ - RwBBox gbox; /* Bounding box of the geometry of the sector */ - RwReal diagonal; /* Diagonal size of bounding box of the sector */ - RwV3d centre; /* Centre of the sector */ - RwInt32 axessig[3]; /* sampling significance of the axes of the gbox */ + RwBBox sbox; + RwBBox gbox; + RwReal diagonal; + RwV3d centre; + RwInt32 axessig[3]; }; typedef struct RpPVSCache RpPVSCache; struct RpPVSCache { - RwBool processed; /* flag to indicate exisiting PVS data for the world */ - RwBool formatted; /* flag to indicate exisiting intermediate polygonal data for PVS generation */ + RwBool processed; + RwBool formatted; + RwInt32 NumWorldSectors; - /* stats collection */ RwInt32 ptotal; RwInt32 paccept; - /* pipeline hooking */ RwBool hooked; - /* used during vismap allocation */ RwUInt32 nextID; RwInt32 viscount; - /* Used during construction */ RpPVSProgressCallBack progressCallBack; - _rpPVSPolyListPtr polygons; /* A copy of the input data set of all world polygons */ + _rpPVSPolyListPtr polygons; RpWorldSectorCallBackRender renderCallBack; }; @@ -255,23 +258,23 @@ struct RpPVSGlobalVars { RpWorld *World; - RwInt32 worldOffset; /* Offset into global data */ - RwInt32 sectorOffset; /* Offset into global data */ + RwInt32 worldOffset; + RwInt32 sectorOffset; - RwBool collis; /* Collision detection */ - RwBool bfc; /* Backface culling */ + RwBool collis; + RwBool bfc; - RwInt32 NumWorldSectors; RwInt32 progress_count; RwReal diagonal; RwReal gran; - RwInt32 InSector; /* Current sector id */ - RwV3d ViewPos; /* Current view pos */ - RpPVS *CurrPVS; /* Current PVS sector */ + RwInt32 InSector; + RwV3d ViewPos; + RpPVS *CurrPVS; }; +#endif /* (!defined(DOXYGEN)) */ /**************************************************************************** -- cgit v1.2.3