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"
6465
6566// #pragma optimize("", off)
6667
67- // #define ALLOW_WATER_TRACK_EDIT
68-
6968// number of vertex pages allocated - allows double buffering of vertex updates.
7069// while one is being rendered, another is being updated. Improves HW parallelism.
7170#define WATER_VB_PAGES 1000
@@ -283,18 +282,6 @@ void WaterTracksObj::init( Real width, const Vector2 &start, const Vector2 &end,
283282// =============================================================================
284283Int WaterTracksObj::update (Int msElapsed)
285284{
286- #ifdef ALLOW_WATER_TRACK_EDIT
287- // if (pauseWaves)
288- // m_elapsedMs = m_timeToReachBeach+m_timeToStop;
289- // else
290- #endif
291-
292- // nothing to do here...most of the work is done on render.
293- m_elapsedMs += msElapsed; // advance time for this update
294-
295- // /@todo: Should check in here if we are done with this object are return FALSE to free it.
296- // return FALSE;
297-
298285 return TRUE ; // assume we had an update
299286}
300287
@@ -310,6 +297,9 @@ Int WaterTracksObj::update(Int msElapsed)
310297
311298Int WaterTracksObj::render (DX8VertexBufferClass *vertexBuffer, Int batchStart)
312299{
300+ // TheSuperHackers @tweak The wave movement time step is now decoupled from the render update.
301+ m_elapsedMs += TheGameEngine->getLogicTimeStepMilliseconds ();
302+
313303 VertexFormatXYZDUV1 *vb;
314304 Vector2 waveTailOrigin,waveFrontOrigin;
315305 Real ooWaveDirLen=1 .0f /m_waveDir.Length (); // one over length
0 commit comments