4747#include " W3DDevice/GameClient/W3DWaterTracks.h"
4848#include " GameClient/InGameUI.h"
4949#include " GameLogic/TerrainLogic.h"
50+ #include " Common/GameEngine.h"
5051#include " Common/GlobalData.h"
5152#include " Common/UnicodeString.h"
5253#include " Common/file.h"
5960#include " assetmgr.h"
6061#include " WW3D2/dx8wrapper.h"
6162
62- // #define ALLOW_WATER_TRACK_EDIT
63-
6463// number of vertex pages allocated - allows double buffering of vertex updates.
6564// while one is being rendered, another is being updated. Improves HW parallelism.
6665#define WATER_VB_PAGES 1000
@@ -278,18 +277,6 @@ void WaterTracksObj::init( Real width, const Vector2 &start, const Vector2 &end,
278277// =============================================================================
279278Int WaterTracksObj::update (Int msElapsed)
280279{
281- #ifdef ALLOW_WATER_TRACK_EDIT
282- // if (pauseWaves)
283- // m_elapsedMs = m_timeToReachBeach+m_timeToStop;
284- // else
285- #endif
286-
287- // nothing to do here...most of the work is done on render.
288- m_elapsedMs += msElapsed; // advance time for this update
289-
290- // /@todo: Should check in here if we are done with this object are return FALSE to free it.
291- // return FALSE;
292-
293280 return TRUE ; // assume we had an update
294281}
295282
@@ -305,6 +292,9 @@ Int WaterTracksObj::update(Int msElapsed)
305292
306293Int WaterTracksObj::render (DX8VertexBufferClass *vertexBuffer, Int batchStart)
307294{
295+ // TheSuperHackers @tweak The wave movement time step is now decoupled from the render update.
296+ m_elapsedMs += TheGameEngine->getLogicTimeStepMilliseconds ();
297+
308298 VertexFormatXYZDUV1 *vb;
309299 Vector2 waveTailOrigin,waveFrontOrigin;
310300 Real ooWaveDirLen=1 .0f /m_waveDir.Length (); // one over length
0 commit comments