diff options
Diffstat (limited to 'src/server/shared')
| -rwxr-xr-x | src/server/shared/Database/Implementation/WorldDatabase.cpp | 2 | ||||
| -rwxr-xr-x | src/server/shared/Database/Implementation/WorldDatabase.h | 2 | ||||
| -rwxr-xr-x | src/server/shared/Utilities/Util.cpp | 25 | ||||
| -rwxr-xr-x | src/server/shared/Utilities/Util.h | 3 |
4 files changed, 23 insertions, 9 deletions
diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp index 7fd438daf48..d7d8491008b 100755 --- a/src/server/shared/Database/Implementation/WorldDatabase.cpp +++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp @@ -48,7 +48,7 @@ void WorldDatabaseConnection::DoPrepareStatements() PREPARE_STATEMENT(WORLD_UPD_WAYPOINT_DATA_POINT, "UPDATE waypoint_data SET point = point - 1 WHERE id = ? AND point > ?", CONNECTION_ASYNC); PREPARE_STATEMENT(WORLD_UPD_WAYPOINT_DATA_POSITION, "UPDATE waypoint_data SET position_x = ?, position_y = ?, position_z = ? where id = ? AND point = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(WORLD_UPD_WAYPOINT_DATA_WPGUID, "UPDATE waypoint_data SET wpguid = ? WHERE id = ? and point = ?", CONNECTION_ASYNC); - PREPARE_STATEMENT(WOLRD_UPD_ALL_WAYPOINT_DATA_WPGUID, "UPDATE waypoint_data SET wpguid = 0", CONNECTION_ASYNC); + PREPARE_STATEMENT(WORLD_UPD_ALL_WAYPOINT_DATA_WPGUID, "UPDATE waypoint_data SET wpguid = 0", CONNECTION_ASYNC); PREPARE_STATEMENT(WORLD_INS_CREATURE_ADDON, "INSERT INTO creature_addon(guid, path_id) VALUES (?, ?)", CONNECTION_ASYNC); PREPARE_STATEMENT(WORLD_UPD_CREATURE_ADDON_PATH, "UPDATE creature_addon SET path_id = ? WHERE guid = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(WORLD_DEL_CREATURE_ADDON, "DELETE FROM creature_addon WHERE guid = ?", CONNECTION_ASYNC); diff --git a/src/server/shared/Database/Implementation/WorldDatabase.h b/src/server/shared/Database/Implementation/WorldDatabase.h index 92aa75fae61..e708177503f 100755 --- a/src/server/shared/Database/Implementation/WorldDatabase.h +++ b/src/server/shared/Database/Implementation/WorldDatabase.h @@ -68,7 +68,7 @@ enum WorldDatabaseStatements WORLD_UPD_WAYPOINT_DATA_POINT, WORLD_UPD_WAYPOINT_DATA_POSITION, WORLD_UPD_WAYPOINT_DATA_WPGUID, - WOLRD_UPD_ALL_WAYPOINT_DATA_WPGUID, + WORLD_UPD_ALL_WAYPOINT_DATA_WPGUID, WORLD_UPD_CREATURE_ADDON_PATH, WORLD_INS_CREATURE_ADDON, WORLD_DEL_CREATURE_ADDON, diff --git a/src/server/shared/Utilities/Util.cpp b/src/server/shared/Utilities/Util.cpp index ba385230822..6ae43bc6840 100755 --- a/src/server/shared/Utilities/Util.cpp +++ b/src/server/shared/Utilities/Util.cpp @@ -30,17 +30,22 @@ typedef ACE_TSS<SFMTRand> SFMTRandTSS; static SFMTRandTSS sfmtRand; -int32 irand (int32 min, int32 max) +int32 irand(int32 min, int32 max) { return int32(sfmtRand->IRandom(min, max)); } -uint32 urand (uint32 min, uint32 max) +uint32 urand(uint32 min, uint32 max) { return sfmtRand->URandom(min, max); } -int32 rand32 () +float frand(float min, float max) +{ + return float(sfmtRand->Random() * (max - min) + min); +} + +int32 rand32() { return int32(sfmtRand->BRandom()); } @@ -50,27 +55,33 @@ double rand_norm(void) return sfmtRand->Random(); } -double rand_chance (void) +double rand_chance(void) { return sfmtRand->Random() * 100.0; } + #else typedef ACE_TSS<MTRand> MTRandTSS; static MTRandTSS mtRand; int32 irand(int32 min, int32 max) { - return int32(mtRand->randInt (max - min)) + min; + return int32(mtRand->randInt(max - min)) + min; } uint32 urand(uint32 min, uint32 max) { - return mtRand->randInt (max - min) + min; + return mtRand->randInt(max - min) + min; +} + +float frand(float min, float max) +{ + return float(mtRand->randExc(max - min) + min); } int32 rand32() { - return mtRand->randInt (); + return mtRand->randInt(); } double rand_norm(void) diff --git a/src/server/shared/Utilities/Util.h b/src/server/shared/Utilities/Util.h index b67761c4977..684b26eea63 100755 --- a/src/server/shared/Utilities/Util.h +++ b/src/server/shared/Utilities/Util.h @@ -64,6 +64,9 @@ inline uint32 secsToTimeBitFields(time_t secs) /* Return a random number in the range 0 .. RAND32_MAX. */ int32 rand32(); + /* Return a random number in the range min..max */ + float frand(float min, float max); + /* Return a random double from 0.0 to 1.0 (exclusive). Floats support only 7 valid decimal digits. * A double supports up to 15 valid decimal digits and is used internally (RAND32_MAX has 10 digits). * With an FPU, there is usually no difference in performance between float and double. */ |
