diff options
author | Nikolay Korolev <nickvnuk@gmail.com> | 2020-11-11 10:22:57 +0100 |
---|---|---|
committer | Nikolay Korolev <nickvnuk@gmail.com> | 2020-11-11 10:22:57 +0100 |
commit | a67d4c70d703197577bf3dbd54add86c9c297891 (patch) | |
tree | aff8a08cb5b7dcfb52f14fb7c4c1c4e75c1a34f9 /src/vehicles | |
parent | fixed top gear (diff) | |
parent | urgh, merge and changes to RW layer in one commit. (diff) | |
download | re3-a67d4c70d703197577bf3dbd54add86c9c297891.tar re3-a67d4c70d703197577bf3dbd54add86c9c297891.tar.gz re3-a67d4c70d703197577bf3dbd54add86c9c297891.tar.bz2 re3-a67d4c70d703197577bf3dbd54add86c9c297891.tar.lz re3-a67d4c70d703197577bf3dbd54add86c9c297891.tar.xz re3-a67d4c70d703197577bf3dbd54add86c9c297891.tar.zst re3-a67d4c70d703197577bf3dbd54add86c9c297891.zip |
Diffstat (limited to 'src/vehicles')
-rw-r--r-- | src/vehicles/Boat.cpp | 20 | ||||
-rw-r--r-- | src/vehicles/Boat.h | 3 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/vehicles/Boat.cpp b/src/vehicles/Boat.cpp index 239cb9a1..7fea8c6e 100644 --- a/src/vehicles/Boat.cpp +++ b/src/vehicles/Boat.cpp @@ -1,5 +1,6 @@ #include "common.h" +#include "main.h" #include "General.h" #include "Timecycle.h" #include "Weather.h" @@ -1100,6 +1101,15 @@ CBoat::Render() m_nSetPieceExtendedRangeTime = CTimer::GetTimeInMilliseconds() + 3000; if (!CVehicle::bWheelsOnlyCheat) CEntity::Render(); +#ifdef NEW_RENDERER + if(!gbNewRenderer) +#endif + RenderWaterOutPolys(); // not separate function in VC +} + +void +CBoat::RenderWaterOutPolys(void) +{ if(GetModelIndex() == MI_SKIMMER) return; KeepWaterOutIndices[0] = 0; @@ -1178,11 +1188,16 @@ CBoat::Render() KeepWaterOutVertices[2].v = 1.0f; KeepWaterOutVertices[3].u = 1.0f; KeepWaterOutVertices[3].v = 1.0f; +#ifdef NEW_RENDERER + if(!gbNewRenderer) +#endif +{ RwRenderStateSet(rwRENDERSTATETEXTURERASTER, gpWaterRaster); RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void*)TRUE); RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void*)FALSE); RwRenderStateSet(rwRENDERSTATESRCBLEND, (void*)rwBLENDZERO); RwRenderStateSet(rwRENDERSTATEDESTBLEND, (void*)rwBLENDONE); +} if (!CVehicle::bWheelsOnlyCheat && RwIm3DTransform(KeepWaterOutVertices, 4, GetMatrix().m_attachment, rwIM3D_VERTEXUV)) { RwIm3DRenderIndexedPrimitive(rwPRIMTYPETRILIST, KeepWaterOutIndices, 6); RwIm3DEnd(); @@ -1209,10 +1224,15 @@ CBoat::Render() RwIm3DEnd(); } } +#ifdef NEW_RENDERER + if(!gbNewRenderer) +#endif +{ RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void*)TRUE); RwRenderStateSet(rwRENDERSTATESRCBLEND, (void*)rwBLENDSRCALPHA); RwRenderStateSet(rwRENDERSTATEDESTBLEND, (void*)rwBLENDINVSRCALPHA); } +} void CBoat::Teleport(CVector v) diff --git a/src/vehicles/Boat.h b/src/vehicles/Boat.h index 5f8cc8a8..5d866c48 100644 --- a/src/vehicles/Boat.h +++ b/src/vehicles/Boat.h @@ -62,7 +62,8 @@ public: virtual void GetComponentWorldPosition(int32 component, CVector &pos); virtual bool IsComponentPresent(int32 component) { return true; } virtual void BlowUpCar(CEntity *ent); - + + void RenderWaterOutPolys(void); void ApplyWaterResistance(void); void SetupModelNodes(); void PruneWakeTrail(void); |