mirror of
https://github.com/UberGames/rpgxEF.git
synced 2024-11-10 07:11:34 +00:00
fix problems concering q_shared radom macro
This commit is contained in:
parent
5e6e09b7f4
commit
030154c6cb
13 changed files with 125 additions and 125 deletions
|
@ -594,9 +594,8 @@ void Vector4Scale( const vec4_t in, vec_t scale, vec4_t out );
|
|||
void VectorRotate( vec3_t in, vec3_t matrix[3], vec3_t out );
|
||||
int32_t Q_log2(int32_t val);
|
||||
|
||||
#undef random
|
||||
inline auto random() { return ((rand () & 0x7fff) / ((float)0x7fff)); }
|
||||
#define crandom() (2.0 * (random() - 0.5))
|
||||
#define qrandom() ((rand () & 0x7fff) / ((float)0x7fff))
|
||||
#define crandom() (2.0 * (qrandom() - 0.5))
|
||||
|
||||
float flrandom(float min, float max);
|
||||
int32_t irandom(int32_t min, int32_t max);
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
#include "Random.h"
|
||||
#include <catch2/catch.hpp>
|
||||
|
||||
TEST_CASE("random_int", "[common::random]") {
|
||||
TEST_CASE("random_int", "[common::getRandom]") {
|
||||
for (auto x = 0; x < 1000; x++) {
|
||||
auto i = common::random<int>();
|
||||
auto a = common::random<int>();
|
||||
auto i = common::getRandom<int>();
|
||||
auto a = common::getRandom<int>();
|
||||
REQUIRE(i != a);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("random_int_limit", "[common::random]") {
|
||||
TEST_CASE("random_int_limit", "[common::getRandom]") {
|
||||
for (auto j = 0; j < 10; j++) {
|
||||
auto min = common::random<int>();
|
||||
auto max = common::random<int>();
|
||||
auto min = common::getRandom<int>();
|
||||
auto max = common::getRandom<int>();
|
||||
if (min > max) {
|
||||
std::swap(min, max);
|
||||
}
|
||||
|
@ -25,25 +25,25 @@ TEST_CASE("random_int_limit", "[common::random]") {
|
|||
}
|
||||
|
||||
for (auto x = 0; x < 100; x++) {
|
||||
auto a = common::random(min, max);
|
||||
auto a = common::getRandom(min, max);
|
||||
REQUIRE(a >= min);
|
||||
REQUIRE(a <= max);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("random_real", "[common::random]") {
|
||||
TEST_CASE("random_real", "[common::getRandom]") {
|
||||
for (auto x = 0; x < 1000; x++) {
|
||||
auto a = common::random<double>();
|
||||
auto b = common::random<double>();
|
||||
auto a = common::getRandom<double>();
|
||||
auto b = common::getRandom<double>();
|
||||
REQUIRE(a != b);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("random_real_limit", "[common::random]") {
|
||||
TEST_CASE("random_real_limit", "[common::getRandom]") {
|
||||
for (auto j = 0; j < 10; j++) {
|
||||
auto min = common::random<double>();
|
||||
auto max = common::random<double>();
|
||||
auto min = common::getRandom<double>();
|
||||
auto max = common::getRandom<double>();
|
||||
if (min > max) {
|
||||
std::swap(min, max);
|
||||
}
|
||||
|
@ -56,7 +56,7 @@ TEST_CASE("random_real_limit", "[common::random]") {
|
|||
}
|
||||
|
||||
for (auto x = 0; x < 100; x++) {
|
||||
auto a = common::random(min, max);
|
||||
auto a = common::getRandom(min, max);
|
||||
REQUIRE(a >= min);
|
||||
REQUIRE(a <= max);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
namespace common {
|
||||
|
||||
template <typename T, typename = std::enable_if_t<std::is_integral_v<T>>>
|
||||
T random(T min = std::numeric_limits<T>::min(),
|
||||
T getRandom(T min = std::numeric_limits<T>::min(),
|
||||
T max = std::numeric_limits<T>::max()) {
|
||||
static auto seeder = std::random_device();
|
||||
static auto engine = std::mt19937_64(seeder());
|
||||
|
@ -15,7 +15,7 @@ T random(T min = std::numeric_limits<T>::min(),
|
|||
|
||||
template <typename T, bool Dummy = true,
|
||||
typename = std::enable_if_t<std::is_floating_point_v<T> && Dummy>>
|
||||
T random(T min = std::numeric_limits<T>::min(),
|
||||
T getRandom(T min = std::numeric_limits<T>::min(),
|
||||
T max = std::numeric_limits<T>::max()) {
|
||||
static auto seeder = std::random_device();
|
||||
static auto engine = std::mt19937_64(seeder());
|
||||
|
|
|
@ -51,12 +51,12 @@ TEST_CASE("vector_dotproduct", "[common::Vector]") {
|
|||
REQUIRE(common::dotProduct({1, 5, 3}, {3, 2, 1}) == Approx(16.0f));
|
||||
|
||||
for (auto i = 0; i < 100; i++) {
|
||||
auto v1 = common::Vector{common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000)};
|
||||
auto v2 = common::Vector{common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000)};
|
||||
auto v1 = common::Vector{common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000)};
|
||||
auto v2 = common::Vector{common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000)};
|
||||
|
||||
REQUIRE(common::dotProduct(v1, v2) ==
|
||||
Approx(v1.x_ * v2.x_ + v1.y_ * v2.y_ + v1.z_ * v2.z_));
|
||||
|
@ -73,12 +73,12 @@ TEST_CASE("vector_substract", "[common::Vector}") {
|
|||
REQUIRE((common::Vector{2, 5, 4} - common::Vector{1, -2, 4}).z_ == 0.0f);
|
||||
|
||||
for (auto i = 0; i < 100; i++) {
|
||||
auto v1 = common::Vector{common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000)};
|
||||
auto v2 = common::Vector{common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000)};
|
||||
auto v1 = common::Vector{common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000)};
|
||||
auto v2 = common::Vector{common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000)};
|
||||
|
||||
auto res = v1 - v2;
|
||||
REQUIRE(res.x_ == v1.x_ - v2.x_);
|
||||
|
@ -97,12 +97,12 @@ TEST_CASE("vector_add", "[common::Vector]") {
|
|||
REQUIRE((common::Vector{2, 5, 4} + common::Vector{1, -2, 4}).z_ == 8.0f);
|
||||
|
||||
for (auto i = 0; i < 100; i++) {
|
||||
auto v1 = common::Vector{common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000)};
|
||||
auto v2 = common::Vector{common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000),
|
||||
common::random<float>(-100000, 100000)};
|
||||
auto v1 = common::Vector{common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000)};
|
||||
auto v2 = common::Vector{common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000),
|
||||
common::getRandom<float>(-100000, 100000)};
|
||||
|
||||
auto res = v1 + v2;
|
||||
REQUIRE(res.x_ == v1.x_ + v2.x_);
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#include "match.h" //string matching types and vars
|
||||
//
|
||||
#include "g_syscalls.h"
|
||||
#include "g_syscalls.h"
|
||||
|
||||
|
||||
/*
|
||||
|
@ -280,7 +281,7 @@ static char* BotRandomOpponentName(bot_state_t* bs) {
|
|||
numopponents++;
|
||||
}
|
||||
|
||||
count = random() * numopponents;
|
||||
count = qrandom() * numopponents;
|
||||
|
||||
for (i = 0; i < numopponents; i++) {
|
||||
count--;
|
||||
|
@ -357,7 +358,7 @@ BotRandomWeaponName
|
|||
==================
|
||||
*/
|
||||
static const char* BotRandomWeaponName(void) {
|
||||
int32_t rnd = random() * 8.9;
|
||||
int32_t rnd = qrandom() * 8.9;
|
||||
|
||||
switch (rnd) {
|
||||
case 0: return "Phaser";
|
||||
|
@ -500,7 +501,7 @@ int32_t BotChat_EnterGame(bot_state_t* bs) {
|
|||
}
|
||||
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd) {
|
||||
if (qrandom() > rnd) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -547,7 +548,7 @@ int32_t BotChat_ExitGame(bot_state_t* bs) {
|
|||
}
|
||||
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd) {
|
||||
if (qrandom() > rnd) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -596,7 +597,7 @@ int32_t BotChat_StartLevel(bot_state_t* bs) {
|
|||
}
|
||||
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd) {
|
||||
if (qrandom() > rnd) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -640,7 +641,7 @@ int32_t BotChat_EndLevel(bot_state_t* bs) {
|
|||
}
|
||||
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd) {
|
||||
if (qrandom() > rnd) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -699,7 +700,7 @@ int32_t BotChat_Death(bot_state_t* bs) {
|
|||
|
||||
//if fast chatting is off
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd) {
|
||||
if (qrandom() > rnd) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -747,7 +748,7 @@ int32_t BotChat_Death(bot_state_t* bs) {
|
|||
else if (bs->botdeathtype == MOD_TELEFRAG) {
|
||||
AI_main_BotAIInitialChat(bs, "death_telefrag", name, NULL);
|
||||
} else {
|
||||
if (random() < trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_INSULT, 0, 1)) {
|
||||
if (qrandom() < trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_INSULT, 0, 1)) {
|
||||
AI_main_BotAIInitialChat(bs, "death_insult",
|
||||
name, // 0
|
||||
BotWeaponNameForMeansOfDeath(bs->botdeathtype), // 1
|
||||
|
@ -785,7 +786,7 @@ int32_t BotChat_Kill(bot_state_t* bs) {
|
|||
|
||||
//if fast chat is off
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd) {
|
||||
if (qrandom() > rnd) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -818,7 +819,7 @@ int32_t BotChat_Kill(bot_state_t* bs) {
|
|||
return qfalse;
|
||||
} else if (bs->enemydeathtype == MOD_TELEFRAG) {
|
||||
AI_main_BotAIInitialChat(bs, "kill_telefrag", name, NULL);
|
||||
} else if (random() < trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_INSULT, 0, 1)) { //choose between insult and praise
|
||||
} else if (qrandom() < trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_INSULT, 0, 1)) { //choose between insult and praise
|
||||
AI_main_BotAIInitialChat(bs, "kill_insult", name, NULL);
|
||||
} else {
|
||||
AI_main_BotAIInitialChat(bs, "kill_praise", name, NULL);
|
||||
|
@ -857,7 +858,7 @@ int32_t BotChat_EnemySuicide(bot_state_t* bs) {
|
|||
|
||||
//if fast chat is off
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd) {
|
||||
if (qrandom() > rnd) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -924,7 +925,7 @@ int32_t BotChat_HitTalking(bot_state_t* bs) {
|
|||
|
||||
//if fast chat is off
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd * 0.5) {
|
||||
if (qrandom() > rnd * 0.5) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -985,7 +986,7 @@ int32_t BotChat_HitNoDeath(bot_state_t* bs) {
|
|||
|
||||
//if fast chat is off
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd * 0.5) {
|
||||
if (qrandom() > rnd * 0.5) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -1043,7 +1044,7 @@ int32_t BotChat_HitNoKill(bot_state_t* bs) {
|
|||
|
||||
//if fast chat is off
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd * 0.5) {
|
||||
if (qrandom() > rnd * 0.5) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -1102,16 +1103,16 @@ int32_t BotChat_Random(bot_state_t* bs) {
|
|||
return qfalse;
|
||||
}
|
||||
|
||||
if (random() > bs->thinktime * 0.1) {
|
||||
if (qrandom() > bs->thinktime * 0.1) {
|
||||
return qfalse;
|
||||
}
|
||||
|
||||
if (bot_fastchat.integer == 0) {
|
||||
if (random() > rnd) {
|
||||
if (qrandom() > rnd) {
|
||||
return qfalse;
|
||||
}
|
||||
|
||||
if (random() > 0.25) {
|
||||
if (qrandom() > 0.25) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -1130,7 +1131,7 @@ int32_t BotChat_Random(bot_state_t* bs) {
|
|||
EasyClientName(bs->lastkilledplayer, name, sizeof(name));
|
||||
}
|
||||
|
||||
if (random() < trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_MISC, 0, 1)) {
|
||||
if (qrandom() < trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_CHAT_MISC, 0, 1)) {
|
||||
AI_main_BotAIInitialChat(bs, "random_misc",
|
||||
BotRandomOpponentName(bs), // 0
|
||||
name, // 1
|
||||
|
|
|
@ -422,7 +422,7 @@ static int32_t BotAddressedToBot(bot_state_t* bs, bot_match_t* match) {
|
|||
return qfalse;
|
||||
} else {
|
||||
//make sure not everyone reacts to this message
|
||||
if (random() > (float) 1.0 / (NumPlayersOnSameTeam(bs) - 1)) {
|
||||
if (qrandom() > (float) 1.0 / (NumPlayersOnSameTeam(bs) - 1)) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
@ -571,7 +571,7 @@ static void BotMatch_HelpAccompany(bot_state_t* bs, bot_match_t* match) {
|
|||
bs->teammatevisible_time = trap_AAS_Time();
|
||||
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
|
||||
//get the team goal time
|
||||
bs->teamgoal_time = BotGetTime(match);
|
||||
|
@ -615,7 +615,7 @@ void BotMatch_DefendKeyArea(bot_state_t *bs, bot_match_t *match) {
|
|||
return;
|
||||
}
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//set the ltg type
|
||||
bs->ltgtype = LTG_DEFENDKEYAREA;
|
||||
//get the team goal time
|
||||
|
@ -649,7 +649,7 @@ void BotMatch_GetItem(bot_state_t *bs, bot_match_t *match) {
|
|||
return;
|
||||
}
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//set the ltg type
|
||||
bs->ltgtype = LTG_GETITEM;
|
||||
//set the team goal time
|
||||
|
@ -725,7 +725,7 @@ void BotMatch_Camp(bot_state_t *bs, bot_match_t *match) {
|
|||
return;
|
||||
}
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//set the ltg type
|
||||
bs->ltgtype = LTG_CAMPORDER;
|
||||
//get the team goal time
|
||||
|
@ -754,7 +754,7 @@ void BotMatch_Patrol(bot_state_t *bs, bot_match_t *match) {
|
|||
//get the patrol waypoints
|
||||
if (!BotGetPatrolWaypoints(bs, match)) return;
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//set the ltg type
|
||||
bs->ltgtype = LTG_PATROL;
|
||||
//get the team goal time
|
||||
|
@ -778,7 +778,7 @@ void BotMatch_GetFlag(bot_state_t *bs, bot_match_t *match) {
|
|||
//if not addressed to this bot
|
||||
if (!BotAddressedToBot(bs, match)) return;
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//set the ltg type
|
||||
bs->ltgtype = LTG_GETFLAG;
|
||||
//set the team goal time
|
||||
|
@ -799,7 +799,7 @@ void BotMatch_RushBase(bot_state_t *bs, bot_match_t *match) {
|
|||
//if not addressed to this bot
|
||||
if (!BotAddressedToBot(bs, match)) return;
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//set the ltg type
|
||||
bs->ltgtype = LTG_RUSHBASE;
|
||||
//set the team goal time
|
||||
|
@ -865,7 +865,7 @@ void BotMatch_ReturnFlag(bot_state_t *bs, bot_match_t *match) {
|
|||
//if not addressed to this bot
|
||||
if (!BotAddressedToBot(bs, match)) return;
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//set the ltg type
|
||||
bs->ltgtype = LTG_RETURNFLAG;
|
||||
//set the team goal time
|
||||
|
@ -1347,7 +1347,7 @@ void BotMatch_LeadTheWay(bot_state_t *bs, bot_match_t *match) {
|
|||
bs->lead_teammate = client;
|
||||
bs->lead_time = trap_AAS_Time() + TEAM_LEAD_TIME;
|
||||
bs->leadvisible_time = 0;
|
||||
bs->leadmessage_time = -(trap_AAS_Time() + 2 * random());
|
||||
bs->leadmessage_time = -(trap_AAS_Time() + 2 * qrandom());
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1373,7 +1373,7 @@ void BotMatch_Kill(bot_state_t *bs, bot_match_t *match) {
|
|||
}
|
||||
bs->teamgoal.entitynum = client;
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//set the ltg type
|
||||
bs->ltgtype = LTG_KILL;
|
||||
//set the team goal time
|
||||
|
|
|
@ -438,7 +438,7 @@ static int32_t AI_dmnet_BotGetLongTermGoal(bot_state_t* bs, int32_t tfl, int32_t
|
|||
//don't crouch if crouched less than 5 seconds ago
|
||||
if (bs->attackcrouch_time < trap_AAS_Time() - 5) {
|
||||
croucher = 1;
|
||||
if (random() < bs->thinktime * croucher) {
|
||||
if (qrandom() < bs->thinktime * croucher) {
|
||||
bs->attackcrouch_time = trap_AAS_Time() + 5 + croucher * 15;
|
||||
}
|
||||
}
|
||||
|
@ -458,7 +458,7 @@ static int32_t AI_dmnet_BotGetLongTermGoal(bot_state_t* bs, int32_t tfl, int32_t
|
|||
bs->arrive_time = trap_AAS_Time();
|
||||
} else if (bs->attackcrouch_time > trap_AAS_Time()) { //if the bot wants to crouch
|
||||
trap_EA_Crouch(bs->client);
|
||||
} else if (random() < bs->thinktime * 0.3) { //else do some model taunts
|
||||
} else if (qrandom() < bs->thinktime * 0.3) { //else do some model taunts
|
||||
//do a gesture :)
|
||||
trap_EA_Gesture(bs->client);
|
||||
}
|
||||
|
@ -469,7 +469,7 @@ static int32_t AI_dmnet_BotGetLongTermGoal(bot_state_t* bs, int32_t tfl, int32_t
|
|||
VectorSubtract(entinfo.origin, bs->origin, dir);
|
||||
vectoangles(dir, bs->ideal_viewangles);
|
||||
bs->ideal_viewangles[2] *= 0.5;
|
||||
} else if (random() < bs->thinktime * 0.8) { //else look strategically around for enemies
|
||||
} else if (qrandom() < bs->thinktime * 0.8) { //else look strategically around for enemies
|
||||
BotRoamGoal(bs, target);
|
||||
VectorSubtract(target, bs->origin, dir);
|
||||
vectoangles(dir, bs->ideal_viewangles);
|
||||
|
@ -550,7 +550,7 @@ static int32_t AI_dmnet_BotGetLongTermGoal(bot_state_t* bs, int32_t tfl, int32_t
|
|||
VectorSubtract(goal->origin, bs->origin, dir);
|
||||
if (VectorLength(dir) < 70) {
|
||||
trap_BotResetAvoidReach(bs->ms);
|
||||
bs->defendaway_time = trap_AAS_Time() + 2 + 5 * random();
|
||||
bs->defendaway_time = trap_AAS_Time() + 2 + 5 * qrandom();
|
||||
bs->defendaway_range = 250;
|
||||
}
|
||||
return qtrue;
|
||||
|
@ -650,7 +650,7 @@ static int32_t AI_dmnet_BotGetLongTermGoal(bot_state_t* bs, int32_t tfl, int32_t
|
|||
}
|
||||
|
||||
//look strategically around for enemies
|
||||
if (random() < bs->thinktime * 0.8) {
|
||||
if (qrandom() < bs->thinktime * 0.8) {
|
||||
BotRoamGoal(bs, target);
|
||||
VectorSubtract(target, bs->origin, dir);
|
||||
vectoangles(dir, bs->ideal_viewangles);
|
||||
|
@ -661,7 +661,7 @@ static int32_t AI_dmnet_BotGetLongTermGoal(bot_state_t* bs, int32_t tfl, int32_t
|
|||
//don't crouch if crouched less than 5 seconds ago
|
||||
if (bs->attackcrouch_time < trap_AAS_Time() - 5) {
|
||||
croucher = 1;
|
||||
if (random() < bs->thinktime * croucher) {
|
||||
if (qrandom() < bs->thinktime * croucher) {
|
||||
bs->attackcrouch_time = trap_AAS_Time() + 5 + croucher * 15;
|
||||
}
|
||||
}
|
||||
|
@ -821,7 +821,7 @@ static int32_t AI_dmnet_BotGetLongTermGoal(bot_state_t* bs, int32_t tfl, int32_t
|
|||
//base flag is gone, now just walk near the base a bit
|
||||
if (BotCTFCarryingFlag(bs) != 0) {
|
||||
trap_BotResetAvoidReach(bs->ms);
|
||||
bs->rushbaseaway_time = trap_AAS_Time() + 5 + 10 * random();
|
||||
bs->rushbaseaway_time = trap_AAS_Time() + 5 + 10 * qrandom();
|
||||
//FIXME: add chat to tell the others to get back the flag
|
||||
//FIXME: Make them camp? Get health? Preserve themselves?
|
||||
} else {
|
||||
|
@ -1142,7 +1142,7 @@ static void AI_dmnet_AIEnter_Respawn(bot_state_t* bs) {
|
|||
bs->respawn_time = trap_AAS_Time() + BotChatTime(bs);
|
||||
bs->respawnchat_time = trap_AAS_Time();
|
||||
} else {
|
||||
bs->respawn_time = trap_AAS_Time() + 1 + random();
|
||||
bs->respawn_time = trap_AAS_Time() + 1 + qrandom();
|
||||
bs->respawnchat_time = 0;
|
||||
}
|
||||
|
||||
|
@ -1234,7 +1234,7 @@ static int32_t AI_dmnet_AINode_Seek_ActivateEntity(bot_state_t* bs) {
|
|||
if ((moveresult.flags & (MOVERESULT_MOVEMENTVIEWSET | MOVERESULT_MOVEMENTVIEW | MOVERESULT_SWIMVIEW)) != 0) {
|
||||
VectorCopy(moveresult.ideal_viewangles, bs->ideal_viewangles);
|
||||
} else if (moveresult.flags & MOVERESULT_WAITING) { //if waiting for something
|
||||
if (random() < bs->thinktime * 0.8) {
|
||||
if (qrandom() < bs->thinktime * 0.8) {
|
||||
BotRoamGoal(bs, target);
|
||||
VectorSubtract(target, bs->origin, dir);
|
||||
vectoangles(dir, bs->ideal_viewangles);
|
||||
|
@ -1392,7 +1392,7 @@ int32_t AI_dmnat_AINode_Seek_NBG(bot_state_t* bs) {
|
|||
if ((moveresult.flags & (MOVERESULT_MOVEMENTVIEWSET|MOVERESULT_MOVEMENTVIEW|MOVERESULT_SWIMVIEW)) != 0) {
|
||||
VectorCopy(moveresult.ideal_viewangles, bs->ideal_viewangles);
|
||||
} else if ((moveresult.flags & MOVERESULT_WAITING) != 0) { //if waiting for something
|
||||
if (random() < bs->thinktime * 0.8) {
|
||||
if (qrandom() < bs->thinktime * 0.8) {
|
||||
BotRoamGoal(bs, target);
|
||||
VectorSubtract(target, bs->origin, dir);
|
||||
vectoangles(dir, bs->ideal_viewangles);
|
||||
|
@ -1493,7 +1493,7 @@ int32_t AI_dmnet_AINode_Seek_LTG(bot_state_t* bs) {
|
|||
bs->enemy = -1;
|
||||
|
||||
if (bs->killedenemy_time > trap_AAS_Time() - 2) {
|
||||
if (random() < bs->thinktime * 1) {
|
||||
if (qrandom() < bs->thinktime * 1) {
|
||||
trap_EA_Gesture(bs->client);
|
||||
}
|
||||
}
|
||||
|
@ -1580,7 +1580,7 @@ int32_t AI_dmnet_AINode_Seek_LTG(bot_state_t* bs) {
|
|||
if ((moveresult.flags & (MOVERESULT_MOVEMENTVIEWSET | MOVERESULT_MOVEMENTVIEW | MOVERESULT_SWIMVIEW)) != 0) {
|
||||
VectorCopy(moveresult.ideal_viewangles, bs->ideal_viewangles);
|
||||
} else if ((moveresult.flags & MOVERESULT_WAITING) != 0) { //if waiting for something
|
||||
if (random() < bs->thinktime * 0.8) {
|
||||
if (qrandom() < bs->thinktime * 0.8) {
|
||||
BotRoamGoal(bs, target);
|
||||
VectorSubtract(target, bs->origin, dir);
|
||||
vectoangles(dir, bs->ideal_viewangles);
|
||||
|
@ -1592,7 +1592,7 @@ int32_t AI_dmnet_AINode_Seek_LTG(bot_state_t* bs) {
|
|||
vectoangles(dir, bs->ideal_viewangles);
|
||||
} else if (VectorLength(moveresult.movedir)) { //FIXME: look at cluster portals?
|
||||
vectoangles(moveresult.movedir, bs->ideal_viewangles);
|
||||
} else if (random() < bs->thinktime * 0.8) {
|
||||
} else if (qrandom() < bs->thinktime * 0.8) {
|
||||
BotRoamGoal(bs, target);
|
||||
VectorSubtract(target, bs->origin, dir);
|
||||
vectoangles(dir, bs->ideal_viewangles);
|
||||
|
@ -1729,7 +1729,7 @@ static int32_t AI_dmnet_AINode_Battle_Fight(bot_state_t* bs) {
|
|||
|
||||
//if the enemy is invisible and not shooting the bot looses track easily
|
||||
if (EntityIsInvisible(&entinfo) && !EntityIsShooting(&entinfo)) {
|
||||
if (random() < 0.2) {
|
||||
if (qrandom() < 0.2) {
|
||||
AI_dmnet_AIEnter_Seek_LTG(bs);
|
||||
return qfalse;
|
||||
}
|
||||
|
|
|
@ -255,7 +255,7 @@ void BotCTFSeekGoals(bot_state_t *bs) {
|
|||
//last time the team mate was visible
|
||||
bs->teammatevisible_time = trap_AAS_Time();
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//get the team goal time
|
||||
bs->teamgoal_time = trap_AAS_Time() + TEAM_ACCOMPANY_TIME;
|
||||
bs->ltgtype = LTG_TEAMACCOMPANY;
|
||||
|
@ -315,9 +315,9 @@ void BotCTFSeekGoals(bot_state_t *bs) {
|
|||
//if the bot has anough aggression to decide what to do
|
||||
if (BotAggression(bs) < 50) return;
|
||||
//set the time to send a message to the team mates
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * random();
|
||||
bs->teammessage_time = trap_AAS_Time() + 2 * qrandom();
|
||||
//get the flag or defend the base
|
||||
rnd = random();
|
||||
rnd = qrandom();
|
||||
if (rnd < 0.33 && ctf_redflag.areanum && ctf_blueflag.areanum) {
|
||||
bs->ltgtype = LTG_GETFLAG;
|
||||
//set the time the bot will stop getting the flag
|
||||
|
@ -1068,7 +1068,7 @@ void BotGoCamp(bot_state_t *bs, bot_goal_t *goal) {
|
|||
//get the team goal time
|
||||
camper = 0;
|
||||
if (camper > 0.99) bs->teamgoal_time = 99999;
|
||||
else bs->teamgoal_time = 120 + 180 * camper + random() * 15;
|
||||
else bs->teamgoal_time = 120 + 180 * camper + qrandom() * 15;
|
||||
//set the last time the bot started camping
|
||||
bs->camp_time = trap_AAS_Time();
|
||||
//the teammate that requested the camping
|
||||
|
@ -1136,19 +1136,19 @@ void BotRoamGoal(bot_state_t *bs, vec3_t goal) {
|
|||
for (i = 0; i < 10; i++) {
|
||||
//start at the bot origin
|
||||
VectorCopy(bs->origin, bestorg);
|
||||
rnd = random();
|
||||
rnd = qrandom();
|
||||
if (rnd > 0.25) {
|
||||
//add a random value to the x-coordinate
|
||||
if (random() < 0.5) bestorg[0] -= 800 * random() + 100;
|
||||
else bestorg[0] += 800 * random() + 100;
|
||||
if (qrandom() < 0.5) bestorg[0] -= 800 * qrandom() + 100;
|
||||
else bestorg[0] += 800 * qrandom() + 100;
|
||||
}
|
||||
if (rnd < 0.75) {
|
||||
//add a random value to the y-coordinate
|
||||
if (random() < 0.5) bestorg[1] -= 800 * random() + 100;
|
||||
else bestorg[1] += 800 * random() + 100;
|
||||
if (qrandom() < 0.5) bestorg[1] -= 800 * qrandom() + 100;
|
||||
else bestorg[1] += 800 * qrandom() + 100;
|
||||
}
|
||||
//add a random value to the z-coordinate (NOTE: 48 = maxjump?)
|
||||
bestorg[2] += 2 * 48 * crandom();
|
||||
bestorg[2] += 2 * 48 * cqrandom();
|
||||
//trace a line from the origin to the roam target
|
||||
AI_main_BotAITrace(&trace, bs->origin, NULL, NULL, bestorg, bs->entitynum, MASK_SOLID);
|
||||
//direction and length towards the roam target
|
||||
|
@ -1224,11 +1224,11 @@ bot_moveresult_t BotAttackMove(bot_state_t *bs, int tfl) {
|
|||
movetype = MOVE_WALK;
|
||||
//
|
||||
if (bs->attackcrouch_time < trap_AAS_Time() - 1) {
|
||||
if (random() < jumper) {
|
||||
if (qrandom() < jumper) {
|
||||
movetype = MOVE_JUMP;
|
||||
}
|
||||
//wait at least one second before crouching again
|
||||
else if (bs->attackcrouch_time < trap_AAS_Time() - 1 && random() < croucher) {
|
||||
else if (bs->attackcrouch_time < trap_AAS_Time() - 1 && qrandom() < croucher) {
|
||||
bs->attackcrouch_time = trap_AAS_Time() + croucher * 5;
|
||||
}
|
||||
}
|
||||
|
@ -1260,11 +1260,11 @@ bot_moveresult_t BotAttackMove(bot_state_t *bs, int tfl) {
|
|||
bs->attackstrafe_time += bs->thinktime;
|
||||
//get the strafe change time
|
||||
strafechange_time = 0.4 + (1 - attack_skill) * 0.2;
|
||||
if (attack_skill > 0.7) strafechange_time += crandom() * 0.2;
|
||||
if (attack_skill > 0.7) strafechange_time += cqrandom() * 0.2;
|
||||
//if the strafe direction should be changed
|
||||
if (bs->attackstrafe_time > strafechange_time) {
|
||||
//some magic number :)
|
||||
if (random() > 0.935) {
|
||||
if (qrandom() > 0.935) {
|
||||
//flip the strafe direction
|
||||
bs->flags ^= BFL_STRAFERIGHT;
|
||||
bs->attackstrafe_time = 0;
|
||||
|
@ -1281,7 +1281,7 @@ bot_moveresult_t BotAttackMove(bot_state_t *bs, int tfl) {
|
|||
//reverse the vector depending on the strafe direction
|
||||
if (bs->flags & BFL_STRAFERIGHT) VectorNegate(sideward, sideward);
|
||||
//randomly go back a little
|
||||
if (random() > 0.9) {
|
||||
if (qrandom() > 0.9) {
|
||||
VectorAdd(sideward, backward, sideward);
|
||||
}
|
||||
else {
|
||||
|
@ -1681,7 +1681,7 @@ void BotAimAtEnemy(bot_state_t *bs) {
|
|||
AI_main_BotEntityInfo(bs->enemy, &entinfo);
|
||||
//if the enemy is invisible then shoot crappy most of the time
|
||||
if (EntityIsInvisible(&entinfo)) {
|
||||
if (random() > 0.1) aim_accuracy *= 0.4;
|
||||
if (qrandom() > 0.1) aim_accuracy *= 0.4;
|
||||
}
|
||||
//
|
||||
VectorSubtract(entinfo.origin, entinfo.lastvisorigin, enemyvelocity);
|
||||
|
@ -1808,9 +1808,9 @@ void BotAimAtEnemy(bot_state_t *bs) {
|
|||
}
|
||||
}
|
||||
}
|
||||
bestorigin[0] += 20 * crandom() * (1 - aim_accuracy);
|
||||
bestorigin[1] += 20 * crandom() * (1 - aim_accuracy);
|
||||
bestorigin[2] += 10 * crandom() * (1 - aim_accuracy);
|
||||
bestorigin[0] += 20 * cqrandom() * (1 - aim_accuracy);
|
||||
bestorigin[1] += 20 * cqrandom() * (1 - aim_accuracy);
|
||||
bestorigin[2] += 10 * cqrandom() * (1 - aim_accuracy);
|
||||
}
|
||||
else {
|
||||
//
|
||||
|
@ -1865,14 +1865,14 @@ void BotAimAtEnemy(bot_state_t *bs) {
|
|||
int i;
|
||||
|
||||
VectorNormalize(dir);
|
||||
for (i = 0; i < 3; i++) dir[i] += 0.3 * crandom() * (1 - aim_accuracy);
|
||||
for (i = 0; i < 3; i++) dir[i] += 0.3 * cqrandom() * (1 - aim_accuracy);
|
||||
}
|
||||
//set the ideal view angles
|
||||
vectoangles(dir, bs->ideal_viewangles);
|
||||
//take the weapon spread into account for lower skilled bots
|
||||
bs->ideal_viewangles[PITCH] += 6 * wi.vspread * crandom() * (1 - aim_accuracy);
|
||||
bs->ideal_viewangles[PITCH] += 6 * wi.vspread * cqrandom() * (1 - aim_accuracy);
|
||||
bs->ideal_viewangles[PITCH] = AngleMod(bs->ideal_viewangles[PITCH]);
|
||||
bs->ideal_viewangles[YAW] += 6 * wi.hspread * crandom() * (1 - aim_accuracy);
|
||||
bs->ideal_viewangles[YAW] += 6 * wi.hspread * cqrandom() * (1 - aim_accuracy);
|
||||
bs->ideal_viewangles[YAW] = AngleMod(bs->ideal_viewangles[YAW]);
|
||||
//if the bots should be really challenging
|
||||
//if the bot is really accurate and has the enemy in view for some time
|
||||
|
@ -1914,7 +1914,7 @@ void BotCheckAttack(bot_state_t *bs) {
|
|||
if (bs->firethrottlewait_time > trap_AAS_Time()) return;
|
||||
firethrottle = 1;
|
||||
if (bs->firethrottleshoot_time < trap_AAS_Time()) {
|
||||
if (random() > firethrottle) {
|
||||
if (qrandom() > firethrottle) {
|
||||
bs->firethrottlewait_time = trap_AAS_Time() + firethrottle;
|
||||
bs->firethrottleshoot_time = 0;
|
||||
}
|
||||
|
@ -1967,7 +1967,7 @@ void BotCheckAttack(bot_state_t *bs) {
|
|||
float points = (wi.proj.damage - 0.5 * trace.fraction * 1000) * 0.5;
|
||||
if (points > 0) {
|
||||
// selfpreservation = trap_Characteristic_BFloat(bs->character, CHARACTERISTIC_SELFPRESERVATION, 0, 1);
|
||||
// if (random() < selfpreservation) return;
|
||||
// if (qrandom() < selfpreservation) return;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -2068,9 +2068,9 @@ void BotMapScripts(bot_state_t *bs) {
|
|||
bs->flags |= BFL_IDEALVIEWSET;
|
||||
VectorSubtract(buttonorg, bs->eye, dir);
|
||||
vectoangles(dir, bs->ideal_viewangles);
|
||||
bs->ideal_viewangles[PITCH] += 8 * crandom() * (1 - aim_accuracy);
|
||||
bs->ideal_viewangles[PITCH] += 8 * cqrandom() * (1 - aim_accuracy);
|
||||
bs->ideal_viewangles[PITCH] = AngleMod(bs->ideal_viewangles[PITCH]);
|
||||
bs->ideal_viewangles[YAW] += 8 * crandom() * (1 - aim_accuracy);
|
||||
bs->ideal_viewangles[YAW] += 8 * cqrandom() * (1 - aim_accuracy);
|
||||
bs->ideal_viewangles[YAW] = AngleMod(bs->ideal_viewangles[YAW]);
|
||||
//
|
||||
if (InFieldOfVision(bs->viewangles, 20, bs->ideal_viewangles))
|
||||
|
@ -2408,7 +2408,7 @@ void BotAIBlocked(bot_state_t *bs, bot_moveresult_t *moveresult, int activate) {
|
|||
hordir[2] = 0;
|
||||
//if no direction just take a random direction
|
||||
if (VectorNormalize(hordir) < 0.1) {
|
||||
VectorSet(angles, 0, 360 * random(), 0);
|
||||
VectorSet(angles, 0, 360 * qrandom(), 0);
|
||||
AngleVectors(angles, hordir, NULL, NULL);
|
||||
}
|
||||
//
|
||||
|
@ -2469,7 +2469,7 @@ void BotCheckConsoleMessages(bot_state_t *bs) {
|
|||
//if the chat state is flooded with messages the bot will read them quickly
|
||||
if (trap_BotNumConsoleMessages(bs->cs) < 10) {
|
||||
//if it is a chat message the bot needs some time to read it
|
||||
if (m.type == CMS_CHAT && m.time > trap_AAS_Time() - (1 + random())) break;
|
||||
if (m.type == CMS_CHAT && m.time > trap_AAS_Time() - (1 + qrandom())) break;
|
||||
}
|
||||
//
|
||||
ptr = m.message;
|
||||
|
@ -2532,7 +2532,7 @@ void BotCheckConsoleMessages(bot_state_t *bs) {
|
|||
//if at a valid chat position and not chatting already
|
||||
else if (bs->ainode != AI_dmnet_AINode_Stand && BotValidChatPosition(bs)) {
|
||||
chat_reply = 0;
|
||||
if (random() < 1.5 / (AI_main_NumBots()+1) && random() < chat_reply) {
|
||||
if (qrandom() < 1.5 / (AI_main_NumBots()+1) && qrandom() < chat_reply) {
|
||||
//if bot replies with a chat message
|
||||
if (trap_BotReplyChat(bs->cs, message, context, CONTEXT_REPLY,
|
||||
NULL, NULL,
|
||||
|
|
|
@ -576,10 +576,10 @@ void BotTeamAI(bot_state_t *bs) {
|
|||
//
|
||||
if (!bs->askteamleader_time && !bs->becometeamleader_time) {
|
||||
if (bs->entergame_time + 10 > trap_AAS_Time()) {
|
||||
bs->askteamleader_time = trap_AAS_Time() + 5 + random() * 10;
|
||||
bs->askteamleader_time = trap_AAS_Time() + 5 + qrandom() * 10;
|
||||
}
|
||||
else {
|
||||
bs->becometeamleader_time = trap_AAS_Time() + 5 + random() * 10;
|
||||
bs->becometeamleader_time = trap_AAS_Time() + 5 + qrandom() * 10;
|
||||
}
|
||||
}
|
||||
if (bs->askteamleader_time && bs->askteamleader_time < trap_AAS_Time()) {
|
||||
|
@ -587,7 +587,7 @@ void BotTeamAI(bot_state_t *bs) {
|
|||
AI_main_BotAIInitialChat(bs, "whoisteamleader", NULL);
|
||||
trap_BotEnterChat(bs->cs, bs->client, CHAT_TEAM);
|
||||
bs->askteamleader_time = 0;
|
||||
bs->becometeamleader_time = trap_AAS_Time() + 15 + random() * 10;
|
||||
bs->becometeamleader_time = trap_AAS_Time() + 15 + qrandom() * 10;
|
||||
}
|
||||
if (bs->becometeamleader_time && bs->becometeamleader_time < trap_AAS_Time()) {
|
||||
AI_main_BotAIInitialChat(bs, "iamteamleader", NULL);
|
||||
|
@ -640,7 +640,7 @@ void BotTeamAI(bot_state_t *bs) {
|
|||
if (bs->lastflagcapture_time < trap_AAS_Time() - 240) {
|
||||
bs->lastflagcapture_time = trap_AAS_Time();
|
||||
//randomly change the CTF strategy
|
||||
if (random() < 0.4) {
|
||||
if (qrandom() < 0.4) {
|
||||
bs->ctfstrategy ^= CTFS_PASSIVE;
|
||||
bs->teamgiveorders_time = trap_AAS_Time();
|
||||
}
|
||||
|
|
|
@ -256,7 +256,7 @@ void G_AddRandomBot(int32_t team) {
|
|||
num++;
|
||||
}
|
||||
}
|
||||
num = random() * num;
|
||||
num = qrandom() * num;
|
||||
for (n = 0; n < g_numBots; n++) {
|
||||
value = Info_ValueForKey(g_botInfos[n], "name");
|
||||
//
|
||||
|
|
|
@ -1546,7 +1546,7 @@ static const uint8_t ELEC_FIRE_STARTOFF = 1;
|
|||
static void electric_fire_think(gentity_t *ent)
|
||||
{
|
||||
G_AddEvent(ent, EV_FX_ELECFIRE, 0);
|
||||
ent->nextthink = level.time + (750 + (random() * 300));
|
||||
ent->nextthink = level.time + (750 + (qrandom() * 300));
|
||||
}
|
||||
|
||||
//------------------------------------------
|
||||
|
@ -1638,7 +1638,7 @@ enum fx_forgeBoltSpawnflags_e {
|
|||
static void forge_bolt_think(gentity_t *ent)
|
||||
{
|
||||
G_AddEvent(ent, EV_FX_FORGE_BOLT, ent->spawnflags & FORGE_BOLT_DELAYED);
|
||||
ent->nextthink = (int)(level.time + (ent->wait + crandom() * ent->wait * 0.25) * 1000);
|
||||
ent->nextthink = (int)(level.time + (ent->wait + cqrandom() * ent->wait * 0.25) * 1000);
|
||||
|
||||
// If a fool gets in the bolt path, zap 'em
|
||||
if (ent->damage != 0)
|
||||
|
@ -2445,7 +2445,7 @@ static void borg_bolt_think(gentity_t *ent)
|
|||
{
|
||||
if ((ent->spawnflags & BORG_BOLT_FX_NO_PROXIMITY_FX) != 0) {
|
||||
G_AddEvent(ent, EV_FX_BORG_BOLT, 0);
|
||||
ent->nextthink = level.time + 100 + random() * 25;
|
||||
ent->nextthink = level.time + 100 + qrandom() * 25;
|
||||
}
|
||||
else {
|
||||
G_AddEvent(ent, EV_FX_BORG_BOLT, 1);
|
||||
|
|
|
@ -340,7 +340,7 @@ Get a random floating point number.
|
|||
*/
|
||||
static int Qmath_Random(lua_State * L)
|
||||
{
|
||||
lua_pushnumber(L, random());
|
||||
lua_pushnumber(L, qrandom());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -351,7 +351,7 @@ Get a random floating point number (using crazy random function).
|
|||
*/
|
||||
static int Qmath_Crandom(lua_State * L)
|
||||
{
|
||||
lua_pushnumber(L, crandom());
|
||||
lua_pushnumber(L, cqrandom());
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -2664,20 +2664,20 @@ static void Quit_MenuBlinkies(void)
|
|||
|
||||
for (i = 0; i < 5; ++i)
|
||||
{
|
||||
quitmenu_graphics[i + QMG_COL1_NUM1].target = (random() * (900000000)) + 99999999;
|
||||
quitmenu_graphics[i + QMG_COL3_NUM1].target = (random() * (900000000)) + 99999999;
|
||||
quitmenu_graphics[i + QMG_COL4_NUM1].target = (random() * (900000000)) + 99999999;
|
||||
quitmenu_graphics[i + QMG_COL1_NUM1].target = (qrandom() * (900000000)) + 99999999;
|
||||
quitmenu_graphics[i + QMG_COL3_NUM1].target = (qrandom() * (900000000)) + 99999999;
|
||||
quitmenu_graphics[i + QMG_COL4_NUM1].target = (qrandom() * (900000000)) + 99999999;
|
||||
}
|
||||
|
||||
for (i = 0; i < 5; ++i)
|
||||
{
|
||||
quitmenu_graphics[i + QMG_COL2_NUM1].target = (random() * (900000)) + 99999;
|
||||
quitmenu_graphics[i + QMG_COL2_NUM1].target = (qrandom() * (900000)) + 99999;
|
||||
}
|
||||
|
||||
for (i = 0; i < 5; ++i)
|
||||
{
|
||||
quitmenu_graphics[i + QMG_COL5_NUM1].target = (random() * (90)) + 9;
|
||||
quitmenu_graphics[i + QMG_COL6_NUM1].target = (random() * (90)) + 9;
|
||||
quitmenu_graphics[i + QMG_COL5_NUM1].target = (qrandom() * (90)) + 9;
|
||||
quitmenu_graphics[i + QMG_COL6_NUM1].target = (qrandom() * (90)) + 9;
|
||||
}
|
||||
|
||||
quitmenu_graphics[QMG_NUMBERS].target = 1;
|
||||
|
|
Loading…
Reference in a new issue