diff options
author | Tycho <work.tycho+git@gmail.com> | 2015-01-11 22:12:26 +0100 |
---|---|---|
committer | Tycho <work.tycho+git@gmail.com> | 2015-01-11 22:12:26 +0100 |
commit | 2a9664d6ca8aa9eb4f554301e4d9b0ec33b465ce (patch) | |
tree | 86e5b6b66d4791bd64485313db23d7f281f59ab5 /src/Entities | |
parent | Created new type cTickTime and rewrote cWorld::TickThread to use it (diff) | |
download | cuberite-2a9664d6ca8aa9eb4f554301e4d9b0ec33b465ce.tar cuberite-2a9664d6ca8aa9eb4f554301e4d9b0ec33b465ce.tar.gz cuberite-2a9664d6ca8aa9eb4f554301e4d9b0ec33b465ce.tar.bz2 cuberite-2a9664d6ca8aa9eb4f554301e4d9b0ec33b465ce.tar.lz cuberite-2a9664d6ca8aa9eb4f554301e4d9b0ec33b465ce.tar.xz cuberite-2a9664d6ca8aa9eb4f554301e4d9b0ec33b465ce.tar.zst cuberite-2a9664d6ca8aa9eb4f554301e4d9b0ec33b465ce.zip |
Diffstat (limited to 'src/Entities')
38 files changed, 69 insertions, 69 deletions
diff --git a/src/Entities/ArrowEntity.cpp b/src/Entities/ArrowEntity.cpp index 30f18f677..2ec825ddb 100644 --- a/src/Entities/ArrowEntity.cpp +++ b/src/Entities/ArrowEntity.cpp @@ -174,10 +174,10 @@ void cArrowEntity::CollectedBy(cPlayer & a_Dest) -void cArrowEntity::Tick(float a_Dt, cChunk & a_Chunk) +void cArrowEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { super::Tick(a_Dt, a_Chunk); - m_Timer += a_Dt; + m_Timer += a_Dt.count(); if (m_bIsCollected) { @@ -209,7 +209,7 @@ void cArrowEntity::Tick(float a_Dt, cChunk & a_Chunk) } else { - m_HitGroundTimer += a_Dt; + m_HitGroundTimer += a_Dt.count(); } } diff --git a/src/Entities/ArrowEntity.h b/src/Entities/ArrowEntity.h index 436ec0293..8c92049b0 100644 --- a/src/Entities/ArrowEntity.h +++ b/src/Entities/ArrowEntity.h @@ -103,6 +103,6 @@ protected: virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override; virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override; virtual void CollectedBy(cPlayer & a_Player) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; }; // tolua_export diff --git a/src/Entities/Boat.cpp b/src/Entities/Boat.cpp index 953213bca..6d8b4ef31 100644 --- a/src/Entities/Boat.cpp +++ b/src/Entities/Boat.cpp @@ -91,7 +91,7 @@ void cBoat::OnRightClicked(cPlayer & a_Player) -void cBoat::Tick(float a_Dt, cChunk & a_Chunk) +void cBoat::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { super::Tick(a_Dt, a_Chunk); BroadcastMovementUpdate(); diff --git a/src/Entities/Boat.h b/src/Entities/Boat.h index 8de88d165..a873ff822 100644 --- a/src/Entities/Boat.h +++ b/src/Entities/Boat.h @@ -27,7 +27,7 @@ public: virtual void SpawnOn(cClientHandle & a_ClientHandle) override; virtual void OnRightClicked(cPlayer & a_Player) override; virtual bool DoTakeDamage(TakeDamageInfo & TDI) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void HandleSpeedFromAttachee(float a_Forward, float a_Sideways) override; cBoat(double a_X, double a_Y, double a_Z); diff --git a/src/Entities/EnderCrystal.cpp b/src/Entities/EnderCrystal.cpp index 30df2c110..7a911d4db 100644 --- a/src/Entities/EnderCrystal.cpp +++ b/src/Entities/EnderCrystal.cpp @@ -29,7 +29,7 @@ void cEnderCrystal::SpawnOn(cClientHandle & a_ClientHandle) -void cEnderCrystal::Tick(float a_Dt, cChunk & a_Chunk) +void cEnderCrystal::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { UNUSED(a_Dt); // No further processing (physics e.t.c.) is needed diff --git a/src/Entities/EnderCrystal.h b/src/Entities/EnderCrystal.h index c98c3b681..8f7e2e9b9 100644 --- a/src/Entities/EnderCrystal.h +++ b/src/Entities/EnderCrystal.h @@ -23,7 +23,7 @@ private: // cEntity overrides: virtual void SpawnOn(cClientHandle & a_ClientHandle) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void KilledBy(TakeDamageInfo & a_TDI) override; }; // tolua_export diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp index 54b9f2a20..c64d94528 100644 --- a/src/Entities/Entity.cpp +++ b/src/Entities/Entity.cpp @@ -772,7 +772,7 @@ void cEntity::SetHealth(int a_Health) -void cEntity::Tick(float a_Dt, cChunk & a_Chunk) +void cEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { m_TicksAlive++; @@ -841,7 +841,7 @@ void cEntity::Tick(float a_Dt, cChunk & a_Chunk) -void cEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) +void cEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { int BlockX = POSX_TOINT; int BlockY = POSY_TOINT; @@ -851,15 +851,15 @@ void cEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) GET_AND_VERIFY_CURRENT_CHUNK(NextChunk, BlockX, BlockZ) // TODO Add collision detection with entities. - a_Dt /= 1000; // Convert from msec to sec + auto DtSec = std::chrono::duration_cast<std::chrono::duration<double>>(a_Dt); Vector3d NextPos = Vector3d(GetPosX(), GetPosY(), GetPosZ()); Vector3d NextSpeed = Vector3d(GetSpeedX(), GetSpeedY(), GetSpeedZ()); if ((BlockY >= cChunkDef::Height) || (BlockY < 0)) { // Outside of the world - AddSpeedY(m_Gravity * a_Dt); - AddPosition(GetSpeed() * a_Dt); + AddSpeedY(m_Gravity * DtSec.count()); + AddPosition(GetSpeed() * DtSec.count()); return; } @@ -930,8 +930,8 @@ void cEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) float fallspeed; if (IsBlockWater(BlockIn)) { - fallspeed = m_Gravity * a_Dt / 3; // Fall 3x slower in water - ApplyFriction(NextSpeed, 0.7, a_Dt); + fallspeed = m_Gravity * DtSec.count() / 3; // Fall 3x slower in water + ApplyFriction(NextSpeed, 0.7, DtSec.count()); } else if (BlockIn == E_BLOCK_COBWEB) { @@ -941,13 +941,13 @@ void cEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) else { // Normal gravity - fallspeed = m_Gravity * a_Dt; + fallspeed = m_Gravity * DtSec.count(); } NextSpeed.y += fallspeed; } else { - ApplyFriction(NextSpeed, 0.7, a_Dt); + ApplyFriction(NextSpeed, 0.7, DtSec.count()); } // Adjust X and Z speed for COBWEB temporary. This speed modification should be handled inside block handlers since we @@ -1002,14 +1002,14 @@ void cEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) { cTracer Tracer(GetWorld()); // Distance traced is an integer, so we round up from the distance we should go (Speed * Delta), else we will encounter collision detection failurse - int DistanceToTrace = (int)(ceil((NextSpeed * a_Dt).SqrLength()) * 2); + int DistanceToTrace = (int)(ceil((NextSpeed * DtSec.count()).SqrLength()) * 2); bool HasHit = Tracer.Trace(NextPos, NextSpeed, DistanceToTrace); if (HasHit) { // Oh noez! We hit something: verify that the (hit position - current) was smaller or equal to the (position that we should travel without obstacles - current) // This is because previously, we traced with a length that was rounded up (due to integer limitations), and in the case that something was hit, we don't want to overshoot our projected movement - if ((Tracer.RealHit - NextPos).SqrLength() <= (NextSpeed * a_Dt).SqrLength()) + if ((Tracer.RealHit - NextPos).SqrLength() <= (NextSpeed * DtSec.count()).SqrLength()) { // Block hit was within our projected path // Begin by stopping movement in the direction that we hit something. The Normal is the line perpendicular to a 2D face and in this case, stores what block face was hit through either -1 or 1. @@ -1044,13 +1044,13 @@ void cEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) // and that this piece of software will come to be hailed as the epitome of performance and functionality in C++, never before seen, and of such a like that will never // be henceforth seen again in the time of programmers and man alike // </&sensationalist> - NextPos += (NextSpeed * a_Dt); + NextPos += (NextSpeed * DtSec.count()); } } else { // We didn't hit anything, so move =] - NextPos += (NextSpeed * a_Dt); + NextPos += (NextSpeed * DtSec.count()); } } diff --git a/src/Entities/Entity.h b/src/Entities/Entity.h index af545fe4a..de9b88dfb 100644 --- a/src/Entities/Entity.h +++ b/src/Entities/Entity.h @@ -326,10 +326,10 @@ public: // tolua_end - virtual void Tick(float a_Dt, cChunk & a_Chunk); + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); /// Handles the physics of the entity - updates position based on speed, updates speed based on environment - virtual void HandlePhysics(float a_Dt, cChunk & a_Chunk); + virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); /// Updates the state related to this entity being on fire virtual void TickBurning(cChunk & a_Chunk); diff --git a/src/Entities/ExpOrb.cpp b/src/Entities/ExpOrb.cpp index 751308661..9767f96ca 100644 --- a/src/Entities/ExpOrb.cpp +++ b/src/Entities/ExpOrb.cpp @@ -42,7 +42,7 @@ void cExpOrb::SpawnOn(cClientHandle & a_Client) -void cExpOrb::Tick(float a_Dt, cChunk & a_Chunk) +void cExpOrb::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { cPlayer * a_ClosestPlayer(m_World->FindClosestPlayer(Vector3f(GetPosition()), 5)); if (a_ClosestPlayer != nullptr) @@ -69,7 +69,7 @@ void cExpOrb::Tick(float a_Dt, cChunk & a_Chunk) } HandlePhysics(a_Dt, a_Chunk); - m_Timer += a_Dt; + m_Timer += a_Dt.count(); if (m_Timer >= 1000 * 60 * 5) // 5 minutes { Destroy(true); diff --git a/src/Entities/ExpOrb.h b/src/Entities/ExpOrb.h index bdb9a5b19..e12e3c504 100644 --- a/src/Entities/ExpOrb.h +++ b/src/Entities/ExpOrb.h @@ -22,7 +22,7 @@ public: cExpOrb(const Vector3d & a_Pos, int a_Reward); // Override functions - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void SpawnOn(cClientHandle & a_Client) override; /** Returns the number of ticks that this entity has existed */ diff --git a/src/Entities/FallingBlock.cpp b/src/Entities/FallingBlock.cpp index 111c5fa84..75105a0cd 100644 --- a/src/Entities/FallingBlock.cpp +++ b/src/Entities/FallingBlock.cpp @@ -31,7 +31,7 @@ void cFallingBlock::SpawnOn(cClientHandle & a_ClientHandle) -void cFallingBlock::Tick(float a_Dt, cChunk & a_Chunk) +void cFallingBlock::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { // GetWorld()->BroadcastTeleportEntity(*this); // Test position @@ -82,7 +82,7 @@ void cFallingBlock::Tick(float a_Dt, cChunk & a_Chunk) return; } - float MilliDt = a_Dt * 0.001f; + float MilliDt = a_Dt.count() * 0.001f; AddSpeedY(MilliDt * -9.8f); AddPosition(GetSpeed() * MilliDt); diff --git a/src/Entities/FallingBlock.h b/src/Entities/FallingBlock.h index c20fe8eb9..884938f4d 100644 --- a/src/Entities/FallingBlock.h +++ b/src/Entities/FallingBlock.h @@ -30,7 +30,7 @@ public: // cEntity overrides: virtual void SpawnOn(cClientHandle & a_ClientHandle) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; private: BLOCKTYPE m_BlockType; diff --git a/src/Entities/FireworkEntity.cpp b/src/Entities/FireworkEntity.cpp index 68d02640a..9dc7850a7 100644 --- a/src/Entities/FireworkEntity.cpp +++ b/src/Entities/FireworkEntity.cpp @@ -19,7 +19,7 @@ cFireworkEntity::cFireworkEntity(cEntity * a_Creator, double a_X, double a_Y, do -void cFireworkEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) +void cFireworkEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { int RelX = POSX_TOINT - a_Chunk.GetPosX() * cChunkDef::Width; int RelZ = POSZ_TOINT - a_Chunk.GetPosZ() * cChunkDef::Width; @@ -28,7 +28,7 @@ void cFireworkEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) if ((PosY < 0) || (PosY >= cChunkDef::Height)) { AddSpeedY(1); - AddPosition(GetSpeed() * (a_Dt / 1000)); + AddPosition(GetSpeed() * (a_Dt.count() / 1000)); return; } @@ -53,14 +53,14 @@ void cFireworkEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) } AddSpeedY(1); - AddPosition(GetSpeed() * (a_Dt / 1000)); + AddPosition(GetSpeed() * (a_Dt.count() / 1000)); } -void cFireworkEntity::Tick(float a_Dt, cChunk & a_Chunk) +void cFireworkEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { super::Tick(a_Dt, a_Chunk); diff --git a/src/Entities/FireworkEntity.h b/src/Entities/FireworkEntity.h index 300ec571e..c0a38a943 100644 --- a/src/Entities/FireworkEntity.h +++ b/src/Entities/FireworkEntity.h @@ -49,8 +49,8 @@ public: protected: // cProjectileEntity overrides: - virtual void HandlePhysics(float a_Dt, cChunk & a_Chunk) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; private: diff --git a/src/Entities/Floater.cpp b/src/Entities/Floater.cpp index 5fe6a1238..cf8dd6c6f 100644 --- a/src/Entities/Floater.cpp +++ b/src/Entities/Floater.cpp @@ -125,7 +125,7 @@ void cFloater::SpawnOn(cClientHandle & a_Client) -void cFloater::Tick(float a_Dt, cChunk & a_Chunk) +void cFloater::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { HandlePhysics(a_Dt, a_Chunk); if (IsBlockWater(m_World->GetBlock((int) GetPosX(), (int) GetPosY(), (int) GetPosZ())) && m_World->GetBlockMeta((int) GetPosX(), (int) GetPosY(), (int) GetPosZ()) == 0) diff --git a/src/Entities/Floater.h b/src/Entities/Floater.h index 96d77ac82..d5715f89e 100644 --- a/src/Entities/Floater.h +++ b/src/Entities/Floater.h @@ -21,7 +21,7 @@ public: cFloater(double a_X, double a_Y, double a_Z, Vector3d a_Speed, int a_PlayerID, int a_CountDownTime); virtual void SpawnOn(cClientHandle & a_Client) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; // tolua_begin bool CanPickup(void) const { return m_CanPickupItem; } diff --git a/src/Entities/HangingEntity.h b/src/Entities/HangingEntity.h index 67146a20b..d1ef79a68 100644 --- a/src/Entities/HangingEntity.h +++ b/src/Entities/HangingEntity.h @@ -43,7 +43,7 @@ public: private: virtual void SpawnOn(cClientHandle & a_ClientHandle) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override {} + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override {} eBlockFace m_Facing; diff --git a/src/Entities/Minecart.cpp b/src/Entities/Minecart.cpp index fac4f0714..552d70de7 100644 --- a/src/Entities/Minecart.cpp +++ b/src/Entities/Minecart.cpp @@ -111,7 +111,7 @@ void cMinecart::SpawnOn(cClientHandle & a_ClientHandle) -void cMinecart::HandlePhysics(float a_Dt, cChunk & a_Chunk) +void cMinecart::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (IsDestroyed()) // Mainly to stop detector rails triggering again after minecart is dead { @@ -165,19 +165,19 @@ void cMinecart::HandlePhysics(float a_Dt, cChunk & a_Chunk) switch (InsideType) { - case E_BLOCK_RAIL: HandleRailPhysics(InsideMeta, a_Dt); break; + case E_BLOCK_RAIL: HandleRailPhysics(InsideMeta, a_Dt.count()); break; case E_BLOCK_ACTIVATOR_RAIL: break; case E_BLOCK_POWERED_RAIL: HandlePoweredRailPhysics(InsideMeta); break; case E_BLOCK_DETECTOR_RAIL: { - HandleDetectorRailPhysics(InsideMeta, a_Dt); + HandleDetectorRailPhysics(InsideMeta, a_Dt.count()); WasDetectorRail = true; break; } default: VERIFY(!"Unhandled rail type despite checking if block was rail!"); break; } - AddPosition(GetSpeed() * (a_Dt / 1000)); // Commit changes; as we use our own engine when on rails, this needs to be done, whereas it is normally in Entity.cpp + AddPosition(GetSpeed() * (a_Dt.count() / 1000)); // Commit changes; as we use our own engine when on rails, this needs to be done, whereas it is normally in Entity.cpp } else { @@ -1213,7 +1213,7 @@ void cMinecartWithFurnace::OnRightClicked(cPlayer & a_Player) -void cMinecartWithFurnace::Tick(float a_Dt, cChunk & a_Chunk) +void cMinecartWithFurnace::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { super::Tick(a_Dt, a_Chunk); diff --git a/src/Entities/Minecart.h b/src/Entities/Minecart.h index f7d0d5dda..1c6f4a6c4 100644 --- a/src/Entities/Minecart.h +++ b/src/Entities/Minecart.h @@ -38,7 +38,7 @@ public: // cEntity overrides: virtual void SpawnOn(cClientHandle & a_ClientHandle) override; - virtual void HandlePhysics(float a_Dt, cChunk & a_Chunk) override; + virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual bool DoTakeDamage(TakeDamageInfo & TDI) override; virtual void Destroyed() override; @@ -171,7 +171,7 @@ public: // cEntity overrides: virtual void OnRightClicked(cPlayer & a_Player) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; // Set functions. void SetIsFueled(bool a_IsFueled, int a_FueledTimeLeft = -1) {m_IsFueled = a_IsFueled; m_FueledTimeLeft = a_FueledTimeLeft;} diff --git a/src/Entities/Painting.cpp b/src/Entities/Painting.cpp index 1aa6da0a1..6f6277f28 100644 --- a/src/Entities/Painting.cpp +++ b/src/Entities/Painting.cpp @@ -31,7 +31,7 @@ void cPainting::SpawnOn(cClientHandle & a_Client) -void cPainting::Tick(float a_Dt, cChunk & a_Chunk) +void cPainting::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { UNUSED(a_Dt); UNUSED(a_Chunk); diff --git a/src/Entities/Painting.h b/src/Entities/Painting.h index 078270b42..6e8a382fc 100644 --- a/src/Entities/Painting.h +++ b/src/Entities/Painting.h @@ -31,7 +31,7 @@ public: private: virtual void SpawnOn(cClientHandle & a_Client) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void GetDrops(cItems & a_Items, cEntity * a_Killer) override; virtual void KilledBy(TakeDamageInfo & a_TDI) override { diff --git a/src/Entities/Pawn.cpp b/src/Entities/Pawn.cpp index fc8ca3d47..baf8a2f3b 100644 --- a/src/Entities/Pawn.cpp +++ b/src/Entities/Pawn.cpp @@ -19,7 +19,7 @@ cPawn::cPawn(eEntityType a_EntityType, double a_Width, double a_Height) : -void cPawn::Tick(float a_Dt, cChunk & a_Chunk) +void cPawn::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { // Iterate through this entity's applied effects for (tEffectMap::iterator iter = m_EntityEffects.begin(); iter != m_EntityEffects.end();) diff --git a/src/Entities/Pawn.h b/src/Entities/Pawn.h index d50bcd8af..e3e99651d 100644 --- a/src/Entities/Pawn.h +++ b/src/Entities/Pawn.h @@ -20,7 +20,7 @@ public: cPawn(eEntityType a_EntityType, double a_Width, double a_Height); - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void KilledBy(TakeDamageInfo & a_TDI) override; // tolua_begin diff --git a/src/Entities/Pickup.cpp b/src/Entities/Pickup.cpp index e5e28446d..accb42a63 100644 --- a/src/Entities/Pickup.cpp +++ b/src/Entities/Pickup.cpp @@ -110,12 +110,12 @@ void cPickup::SpawnOn(cClientHandle & a_Client) -void cPickup::Tick(float a_Dt, cChunk & a_Chunk) +void cPickup::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { super::Tick(a_Dt, a_Chunk); BroadcastMovementUpdate(); // Notify clients of position - m_Timer += a_Dt; + m_Timer += a_Dt.count(); if (!m_bCollected) { @@ -142,7 +142,7 @@ void cPickup::Tick(float a_Dt, cChunk & a_Chunk) { m_bCollected = true; m_Timer = 0; // We have to reset the timer. - m_Timer += a_Dt; // In case we have to destroy the pickup in the same tick. + m_Timer += a_Dt.count(); // In case we have to destroy the pickup in the same tick. if (m_Timer > 500.f) { Destroy(true); diff --git a/src/Entities/Pickup.h b/src/Entities/Pickup.h index d1176a7cf..67f2756ca 100644 --- a/src/Entities/Pickup.h +++ b/src/Entities/Pickup.h @@ -34,7 +34,7 @@ public: bool CollectedBy(cPlayer & a_Dest); // tolua_export - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; /** Returns the number of ticks that this entity has existed */ int GetAge(void) const { return static_cast<int>(m_Timer / 50); } // tolua_export diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp index 1d5cc6554..1ca131375 100644 --- a/src/Entities/Player.cpp +++ b/src/Entities/Player.cpp @@ -191,7 +191,7 @@ void cPlayer::SpawnOn(cClientHandle & a_Client) -void cPlayer::Tick(float a_Dt, cChunk & a_Chunk) +void cPlayer::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (m_ClientHandle != nullptr) { diff --git a/src/Entities/Player.h b/src/Entities/Player.h index b94d2659e..d3ed46db6 100644 --- a/src/Entities/Player.h +++ b/src/Entities/Player.h @@ -46,9 +46,9 @@ public: virtual void SpawnOn(cClientHandle & a_Client) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; - virtual void HandlePhysics(float a_Dt, cChunk &) override { UNUSED(a_Dt); } + virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk &) override { UNUSED(a_Dt); } /** Returns the curently equipped weapon; empty item if none */ virtual cItem GetEquippedWeapon(void) const override { return m_Inventory.GetEquippedItem(); } diff --git a/src/Entities/ProjectileEntity.cpp b/src/Entities/ProjectileEntity.cpp index 1768714f8..4f20bfae6 100644 --- a/src/Entities/ProjectileEntity.cpp +++ b/src/Entities/ProjectileEntity.cpp @@ -331,7 +331,7 @@ AString cProjectileEntity::GetMCAClassName(void) const -void cProjectileEntity::Tick(float a_Dt, cChunk & a_Chunk) +void cProjectileEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { super::Tick(a_Dt, a_Chunk); @@ -346,7 +346,7 @@ void cProjectileEntity::Tick(float a_Dt, cChunk & a_Chunk) -void cProjectileEntity::HandlePhysics(float a_Dt, cChunk & a_Chunk) +void cProjectileEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (m_IsInGround) { diff --git a/src/Entities/ProjectileEntity.h b/src/Entities/ProjectileEntity.h index 2a98e31c7..93e442d8c 100644 --- a/src/Entities/ProjectileEntity.h +++ b/src/Entities/ProjectileEntity.h @@ -118,8 +118,8 @@ protected: bool m_IsInGround; // cEntity overrides: - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; - virtual void HandlePhysics(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; + virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void SpawnOn(cClientHandle & a_Client) override; } ; // tolua_export diff --git a/src/Entities/SplashPotionEntity.h b/src/Entities/SplashPotionEntity.h index 9302d8292..264dc0eb9 100644 --- a/src/Entities/SplashPotionEntity.h +++ b/src/Entities/SplashPotionEntity.h @@ -58,7 +58,7 @@ protected: // cProjectileEntity overrides: virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override; virtual void OnHitEntity (cEntity & a_EntityHit, const Vector3d & a_HitPos) override; - virtual void Tick (float a_Dt, cChunk & a_Chunk) override + virtual void Tick (std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override { if (m_DestroyTimer > 0) { diff --git a/src/Entities/TNTEntity.cpp b/src/Entities/TNTEntity.cpp index 53af446cc..a89d2f300 100644 --- a/src/Entities/TNTEntity.cpp +++ b/src/Entities/TNTEntity.cpp @@ -50,7 +50,7 @@ void cTNTEntity::Explode(void) -void cTNTEntity::Tick(float a_Dt, cChunk & a_Chunk) +void cTNTEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { super::Tick(a_Dt, a_Chunk); BroadcastMovementUpdate(); diff --git a/src/Entities/TNTEntity.h b/src/Entities/TNTEntity.h index 48503cf76..9f894338e 100644 --- a/src/Entities/TNTEntity.h +++ b/src/Entities/TNTEntity.h @@ -21,7 +21,7 @@ public: // cEntity overrides: virtual void SpawnOn(cClientHandle & a_ClientHandle) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; // tolua_begin diff --git a/src/Entities/ThrownEggEntity.cpp b/src/Entities/ThrownEggEntity.cpp index 24c946a9c..e9ef29239 100644 --- a/src/Entities/ThrownEggEntity.cpp +++ b/src/Entities/ThrownEggEntity.cpp @@ -44,7 +44,7 @@ void cThrownEggEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_Hit -void cThrownEggEntity::Tick(float a_Dt, cChunk & a_Chunk) +void cThrownEggEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (m_DestroyTimer > 0) { diff --git a/src/Entities/ThrownEggEntity.h b/src/Entities/ThrownEggEntity.h index 6ffedf5b5..620927c5d 100644 --- a/src/Entities/ThrownEggEntity.h +++ b/src/Entities/ThrownEggEntity.h @@ -35,7 +35,7 @@ protected: // cProjectileEntity overrides: virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override; virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; // Randomly decides whether to spawn a chicken where the egg lands. void TrySpawnChicken(const Vector3d & a_HitPos); diff --git a/src/Entities/ThrownEnderPearlEntity.cpp b/src/Entities/ThrownEnderPearlEntity.cpp index 8f1b62934..f01cdc18c 100644 --- a/src/Entities/ThrownEnderPearlEntity.cpp +++ b/src/Entities/ThrownEnderPearlEntity.cpp @@ -46,7 +46,7 @@ void cThrownEnderPearlEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d -void cThrownEnderPearlEntity::Tick(float a_Dt, cChunk & a_Chunk) +void cThrownEnderPearlEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (m_DestroyTimer > 0) { diff --git a/src/Entities/ThrownEnderPearlEntity.h b/src/Entities/ThrownEnderPearlEntity.h index 475ebde87..94f3ab5cb 100644 --- a/src/Entities/ThrownEnderPearlEntity.h +++ b/src/Entities/ThrownEnderPearlEntity.h @@ -35,7 +35,7 @@ protected: // cProjectileEntity overrides: virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override; virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; /** Teleports the creator where the ender pearl lands */ void TeleportCreator(const Vector3d & a_HitPos); diff --git a/src/Entities/ThrownSnowballEntity.cpp b/src/Entities/ThrownSnowballEntity.cpp index 88e39d22e..24db1e7ee 100644 --- a/src/Entities/ThrownSnowballEntity.cpp +++ b/src/Entities/ThrownSnowballEntity.cpp @@ -48,7 +48,7 @@ void cThrownSnowballEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & -void cThrownSnowballEntity::Tick(float a_Dt, cChunk & a_Chunk) +void cThrownSnowballEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { if (m_DestroyTimer > 0) { diff --git a/src/Entities/ThrownSnowballEntity.h b/src/Entities/ThrownSnowballEntity.h index f806996cc..391b0c40b 100644 --- a/src/Entities/ThrownSnowballEntity.h +++ b/src/Entities/ThrownSnowballEntity.h @@ -35,7 +35,7 @@ protected: // cProjectileEntity overrides: virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override; virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override; - virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; private: |