--- src/particles/body_member.cpp | 9 ++++++--- src/particles/explosion_smoke.cpp | 5 +++-- src/particles/fire.cpp | 10 ++++++++-- src/particles/ill_bubble.cpp | 6 ++++-- src/particles/magic_star.cpp | 5 +++-- src/particles/particle.cpp | 21 +++++++++++++-------- src/particles/teleport_member.cpp | 8 +++++--- 7 files changed, 42 insertions(+), 22 deletions(-)
diff --git a/src/particles/body_member.cpp b/src/particles/body_member.cpp index 3320d14..c0df406 100644 --- a/src/particles/body_member.cpp +++ b/src/particles/body_member.cpp @@ -22,7 +22,7 @@ #include "particles/body_member.h" #include "particles/particle.h" #include "graphic/sprite.h" -#include <WORMUX_random.h> +#include "network/randomsync.h" BodyMemberParticle::BodyMemberParticle(const Sprite& spr, const Point2i& position) : Particle("body_member_particle") @@ -36,8 +36,11 @@ BodyMemberParticle::BodyMemberParticle(const Sprite& spr, const Point2i& positio SetSize(image->GetSize()); SetOnTop(true); - SetSpeed( (double)RandomLocal().GetLong(10, 15), - - (double)RandomLocal().GetLong(0, 3000)/1000.0); + MSG_DEBUG("random.get", "BodyMemberParticle::BodyMemberParticle(...) speed vector length"); + double speed_vector_length = (double)RandomSync().GetLong(10, 15); + MSG_DEBUG("random.get", "BodyMemberParticle::BodyMemberParticle(...) speed vector angle"); + double speed_vector_angle = - (double)RandomSync().GetLong(0, 3000)/1000.0; + SetSpeed(speed_vector_length, speed_vector_angle); } void BodyMemberParticle::Refresh() diff --git a/src/particles/explosion_smoke.cpp b/src/particles/explosion_smoke.cpp index 271e0e8..3312c58 100644 --- a/src/particles/explosion_smoke.cpp +++ b/src/particles/explosion_smoke.cpp @@ -24,7 +24,7 @@ #include "particles/particle.h" #include "game/time.h" #include "graphic/sprite.h" -#include <WORMUX_random.h> +#include "network/randomsync.h" ExplosionSmoke::ExplosionSmoke(const uint size_init) : Particle("explosion_smoke_particle") @@ -40,7 +40,8 @@ ExplosionSmoke::ExplosionSmoke(const uint size_init) : image->SetCurrentFrame(0); image->Start(); - SetGravityFactor(RandomLocal().GetDouble(-1.0,-2.0)); + MSG_DEBUG("random.get", "ExplosionSmoke::ExplosionSmoke(...)"); + SetGravityFactor(RandomSync().GetDouble(-1.0,-2.0)); image->ScaleSize(m_initial_size, m_initial_size); SetSize( Point2i(1, 1) ); diff --git a/src/particles/fire.cpp b/src/particles/fire.cpp index 4f1cb96..d6994dd 100644 --- a/src/particles/fire.cpp +++ b/src/particles/fire.cpp @@ -24,7 +24,7 @@ #include "game/time.h" #include "graphic/sprite.h" #include "sound/jukebox.h" -#include <WORMUX_random.h> +#include "network/randomsync.h" #include "weapon/explosion.h" #include "weapon/weapon_cfg.h" @@ -33,11 +33,17 @@ const uint dig_ground_time = 1000; ExplosiveWeaponConfig fire_cfg; +static long GetRandomDigGroundTime() +{ + MSG_DEBUG("random.get", "GetRandomDigGroundTime"); + return RandomSync().GetLong(0, dig_ground_time); +} + FireParticle::FireParticle() : Particle("fire_particle"), creation_time(Time::GetInstance()->Read()), on_ground(false), - oscil_delta(RandomLocal().GetLong(0, dig_ground_time)) + oscil_delta(GetRandomDigGroundTime()) { SetCollisionModel(true, false, false); m_left_time_to_live = 100; diff --git a/src/particles/ill_bubble.cpp b/src/particles/ill_bubble.cpp index c3238b1..c6a3b58 100644 --- a/src/particles/ill_bubble.cpp +++ b/src/particles/ill_bubble.cpp @@ -24,7 +24,7 @@ #include "particles/explosion_smoke.h" #include "game/time.h" #include "graphic/sprite.h" -#include <WORMUX_random.h> +#include "network/randomsync.h" // Vibration period of the bubble const uint vib_period = 250; @@ -35,7 +35,9 @@ IllBubble::IllBubble() : ExplosionSmoke(20) delete image; image = ParticleEngine::GetSprite(ILL_BUBBLE_spr); SetAirResistFactor( GetAirResistFactor() * 3.0 ); - vib_phi = RandomLocal().GetLong(0, vib_period); + + MSG_DEBUG("random.get", "IllBubble::IllBubble()"); + vib_phi = RandomSync().GetLong(0, vib_period); } void IllBubble::Draw() diff --git a/src/particles/magic_star.cpp b/src/particles/magic_star.cpp index bdedda7..7fcfa08 100644 --- a/src/particles/magic_star.cpp +++ b/src/particles/magic_star.cpp @@ -22,7 +22,7 @@ #include "particles/magic_star.h" #include "particles/particle.h" -#include <WORMUX_random.h> +#include "network/randomsync.h" #include "game/time.h" #include "graphic/sprite.h" @@ -33,7 +33,8 @@ MagicStarParticle::MagicStarParticle() : m_left_time_to_live = m_initial_time_to_live; m_time_between_scale = 25; - uint color=RandomLocal().GetLong(0,2); + MSG_DEBUG("random.get", "MagicStarParticle::MagicStarParticle()"); + uint color=RandomSync().GetLong(0,2); switch(color) { case 0 : image = ParticleEngine::GetSprite(MAGIC_STAR_R_spr); break; diff --git a/src/particles/particle.cpp b/src/particles/particle.cpp index 728e675..60d455c 100644 --- a/src/particles/particle.cpp +++ b/src/particles/particle.cpp @@ -26,10 +26,10 @@ #include "graphic/sprite.h" #include "object/objects_list.h" #include "tool/resource_manager.h" -#include <WORMUX_random.h> #include <WORMUX_point.h> #include "weapon/explosion.h" #include "map/map.h" +#include "network/randomsync.h" #include "particles/body_member.h" #include "particles/teleport_member.h" @@ -128,7 +128,8 @@ void ParticleEngine::AddPeriodic(const Point2i &position, particle_t type, uint time = Time::GetInstance()->Read() - m_last_refresh; uint tmp = Time::GetInstance()->Read(); - uint delta = uint(m_time_between_add * double(RandomLocal().GetLong(3, 40)) / 10); + MSG_DEBUG("random.get", "ParticleEngine::AddPeriodic(...)"); + uint delta = uint(m_time_between_add * double(RandomSync().GetLong(3, 40)) / 10); if (time >= delta) { m_last_refresh = tmp; ParticleEngine::AddNow(position, 1, type, upper, angle, norme); @@ -242,15 +243,19 @@ void ParticleEngine::AddNow(const Point2i &position, if (particle != NULL) { - if( norme == -1 ) - tmp_norme = double(RandomLocal().GetLong(0, 5000))/100; - else + if( norme == -1 ) { + MSG_DEBUG("random.get", "ParticleEngine::AddNow(...) speed vector length"); + tmp_norme = double(RandomSync().GetLong(0, 5000))/100; + } else { tmp_norme = norme; + } - if( angle == -1 ) - tmp_angle = - double(RandomLocal().GetLong(0, 3000))/1000; - else + if( angle == -1 ) { + MSG_DEBUG("random.get", "ParticleEngine::AddNow(...) speed vector angle"); + tmp_angle = - double(RandomSync().GetLong(0, 3000))/1000; + } else { tmp_angle = angle; + } particle->SetXY(position); particle->SetOnTop(upper); diff --git a/src/particles/teleport_member.cpp b/src/particles/teleport_member.cpp index aea0545..3e29f42 100644 --- a/src/particles/teleport_member.cpp +++ b/src/particles/teleport_member.cpp @@ -21,7 +21,7 @@ #include "particles/teleport_member.h" #include "particles/particle.h" -#include <WORMUX_random.h> +#include "network/randomsync.h" #include "game/time.h" #include "graphic/sprite.h" #include "map/camera.h" @@ -46,8 +46,10 @@ TeleportMemberParticle::TeleportMemberParticle(const Sprite& spr, const Point2i& start = position; time = Time::GetInstance()->Read(); - sin_x_max = RandomLocal().GetDouble(M_PI_4, 3.0 * M_PI_4); - sin_y_max = RandomLocal().GetDouble(M_PI_4, 3.0 * M_PI_4); + MSG_DEBUG("random.get", "TeleportMemberParticle::TeleportMemberParticle(...)"); + sin_x_max = RandomSync().GetDouble(M_PI_4, 3.0 * M_PI_4); + MSG_DEBUG("random.get", "TeleportMemberParticle::TeleportMemberParticle(...)"); + sin_y_max = RandomSync().GetDouble(M_PI_4, 3.0 * M_PI_4); Camera::GetInstance()->FollowObject(this, true); } -- 1.6.0.4 _______________________________________________ Wormux-dev mailing list Wormux-dev@gna.org https://mail.gna.org/listinfo/wormux-dev