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/rpptank.h | 113 ++++++++++++++++++++++++++++++------------- 1 file changed, 80 insertions(+), 33 deletions(-) (limited to 'rwsdk/include/d3d8/rpptank.h') diff --git a/rwsdk/include/d3d8/rpptank.h b/rwsdk/include/d3d8/rpptank.h index 20931f21..d4c1116d 100644 --- a/rwsdk/include/d3d8/rpptank.h +++ b/rwsdk/include/d3d8/rpptank.h @@ -13,12 +13,13 @@ /** * \defgroup rpptank RpPTank - * \ingroup rpplugin + * \ingroup particles * * PTank Plugin for RenderWare. */ /*--- Include files ---*/ + #include #include "rwcore.h" @@ -139,7 +140,7 @@ enum RpPTankInstanceFlags rpPTANKIFLAGCENTER = ((int)0x01000000), /**
publicData.cColor = *col_;\ if( RpGeometryGetMaterial(RpAtomicGetGeometry(atm_),0) )\ {\ - RpMaterialSetColor(\ + (void)RpMaterialSetColor(\ RpGeometryGetMaterial(RpAtomicGetGeometry(atm_),0),\ &RPATOMICPTANKPLUGINDATA(atm_)->publicData.cColor);\ }\ @@ -759,6 +761,14 @@ extern RpAtomic * RpPTankAtomicUnlock(RpAtomic *atomic); +/* + * Stealth functions ********************************************************* + */ +RpAtomic* +_rpPTankAtomicCreateCustom(RwInt32 maxParticleNum, + RwUInt32 dataFlags, RwUInt32 platFlags, + RpPTankCallBacks *callbacks); + #ifdef __cplusplus } #endif /* __cplusplus */ @@ -767,6 +777,41 @@ RpPTankAtomicUnlock(RpAtomic *atomic); /*---- start: c:/daily/rwsdk/plugin/ptank/d3d8/ptankplatform.h----*/ +/** + * \defgroup rpptankd3d8 D3D8 + * \ingroup rpptank + * + * D3D8 specific documentation. + */ + +/** + * \ingroup rpptankd3d8 + * \par D3D8 specific data flags + * + *
    + *
  • rpPTANKD3D8FLAGSUSEPOINTSPRITES selects the D3D8 optimized pipeline. At the + * moment, this pipeline use point sprites when the hardware supports them, + * which don't allow use of all the PTank flags. Only the following flags are + * supported when using the D3D8 optimized pipes: + * + *
      + *
    • rpPTANKDFLAGPOSITION + *
    • rpPTANKDFLAGNORMAL + *
    • rpPTANKDFLAGSIZE (if the hardware supports the D3DFVF_PSIZE vertex format flag) + *
    • rpPTANKDFLAGCOLOR + *
    • rpPTANKDFLAGUSECENTER + *
    • rpPTANKDFLAGARRAY + *
    • rpPTANKDFLAGSTRUCTURE + *
    + * + * The texture coordinates are generated by the hardware and can't be specified. + *
+ * + * If the hardware does not support point sprites, the default pipeline is used + * instead. + * + */ + enum RpPTankD3D8Flags { rpPTANKD3D8FLAGSUSEPOINTSPRITES = 0x00000001, @@ -774,6 +819,8 @@ enum RpPTankD3D8Flags rpPTANKD3D8FLAGFORCEENUMSIZEINT = RWFORCEENUMSIZEINT }; +typedef enum RpPTankD3D8Flags RpPTankD3D8Flags; + /*---- end: c:/daily/rwsdk/plugin/ptank/d3d8/ptankplatform.h----*/ #endif /* RPPTANK_H */ -- cgit v1.2.3