Skip to content

Commit fa72919

Browse files
committed
tweak(water): Decouple wave movement time step from render update
1 parent 358f660 commit fa72919

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Water/W3DWaterTracks.cpp

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
#include "GameClient/InGameUI.h"
5151
#include "GameClient/Water.h"
5252
#include "GameLogic/TerrainLogic.h"
53+
#include "Common/GameEngine.h"
5354
#include "Common/GlobalData.h"
5455
#include "Common/UnicodeString.h"
5556
#include "Common/file.h"
@@ -62,8 +63,6 @@
6263
#include "assetmgr.h"
6364
#include "WW3D2/dx8wrapper.h"
6465

65-
//#define ALLOW_WATER_TRACK_EDIT
66-
6766
//number of vertex pages allocated - allows double buffering of vertex updates.
6867
//while one is being rendered, another is being updated. Improves HW parallelism.
6968
#define WATER_VB_PAGES 1000
@@ -281,18 +280,6 @@ void WaterTracksObj::init( Real width, const Vector2 &start, const Vector2 &end,
281280
//=============================================================================
282281
Int WaterTracksObj::update(Int msElapsed)
283282
{
284-
#ifdef ALLOW_WATER_TRACK_EDIT
285-
// if (pauseWaves)
286-
// m_elapsedMs = m_timeToReachBeach+m_timeToStop;
287-
// else
288-
#endif
289-
290-
//nothing to do here...most of the work is done on render.
291-
m_elapsedMs += msElapsed; //advance time for this update
292-
293-
///@todo: Should check in here if we are done with this object are return FALSE to free it.
294-
// return FALSE;
295-
296283
return TRUE; //assume we had an update
297284
}
298285

@@ -308,6 +295,9 @@ Int WaterTracksObj::update(Int msElapsed)
308295

309296
Int WaterTracksObj::render(DX8VertexBufferClass *vertexBuffer, Int batchStart)
310297
{
298+
// TheSuperHackers @tweak The wave movement time step is now decoupled from the render update.
299+
m_elapsedMs += TheGameEngine->getLogicTimeStepMilliseconds();
300+
311301
VertexFormatXYZDUV1 *vb;
312302
Vector2 waveTailOrigin,waveFrontOrigin;
313303
Real ooWaveDirLen=1.0f/m_waveDir.Length(); //one over length

0 commit comments

Comments
 (0)