mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2024-11-10 07:12:07 +00:00
Den Zufallsgenerator wieder raus
This commit is contained in:
parent
9447523700
commit
f65ec5eff8
8 changed files with 85 additions and 192 deletions
12
Makefile
12
Makefile
|
@ -199,8 +199,7 @@ COMMON_OBJS = \
|
||||||
build/common/files.o \
|
build/common/files.o \
|
||||||
build/common/md4.o \
|
build/common/md4.o \
|
||||||
build/common/net_chan.o \
|
build/common/net_chan.o \
|
||||||
build/common/pmove.o \
|
build/common/pmove.o
|
||||||
build/common/rand.o
|
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
|
@ -272,8 +271,7 @@ DEDICATED_SERVER_COMMON_OBJS = \
|
||||||
build/dedicated_server_common/files.o \
|
build/dedicated_server_common/files.o \
|
||||||
build/dedicated_server_common/md4.o \
|
build/dedicated_server_common/md4.o \
|
||||||
build/dedicated_server_common/net_chan.o \
|
build/dedicated_server_common/net_chan.o \
|
||||||
build/dedicated_server_common/pmove.o \
|
build/dedicated_server_common/pmove.o
|
||||||
build/dedicated_server_common/rand.o
|
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
|
@ -491,9 +489,6 @@ build/common/net_chan.o : src/common/net_chan.c
|
||||||
build/common/pmove.o : src/common/pmove.c
|
build/common/pmove.o : src/common/pmove.c
|
||||||
$(CC) $(CFLAGS_CLIENT) -o $@ -c $<
|
$(CC) $(CFLAGS_CLIENT) -o $@ -c $<
|
||||||
|
|
||||||
build/common/rand.o : src/common/rand.c
|
|
||||||
$(CC) $(CFLAGS_CLIENT) -o $@ -c $<
|
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
build/unzip/ioapi.o : src/unzip/ioapi.c
|
build/unzip/ioapi.o : src/unzip/ioapi.c
|
||||||
|
@ -624,9 +619,6 @@ build/dedicated_server_common/net_chan.o : src/common/net_chan.c
|
||||||
build/dedicated_server_common/pmove.o : src/common/pmove.c
|
build/dedicated_server_common/pmove.o : src/common/pmove.c
|
||||||
$(CC) $(CFLAGS_DEDICATED_SERVER) -o $@ -c $<
|
$(CC) $(CFLAGS_DEDICATED_SERVER) -o $@ -c $<
|
||||||
|
|
||||||
build/dedicated_server_common/rand.o : src/common/rand.c
|
|
||||||
$(CC) $(CFLAGS_DEDICATED_SERVER) -o $@ -c $<
|
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
# Dedicated server POSIX build
|
# Dedicated server POSIX build
|
||||||
|
|
|
@ -706,7 +706,7 @@ void CL_AddPacketEntities (frame_t *frame) {
|
||||||
if ( renderfx & RF_BEAM ) {
|
if ( renderfx & RF_BEAM ) {
|
||||||
/* the four beam colors are encoded in 32 bits of skinnum (hack) */
|
/* the four beam colors are encoded in 32 bits of skinnum (hack) */
|
||||||
ent.alpha = 0.30f;
|
ent.alpha = 0.30f;
|
||||||
ent.skinnum = (s1->skinnum >> ((mtrand() % 4)*8)) & 0xff;
|
ent.skinnum = (s1->skinnum >> ((rand() % 4)*8)) & 0xff;
|
||||||
ent.model = NULL;
|
ent.model = NULL;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -987,7 +987,7 @@ void CL_AddPacketEntities (frame_t *frame) {
|
||||||
} else if (effects & EF_TRAP) {
|
} else if (effects & EF_TRAP) {
|
||||||
ent.origin[2] += 32;
|
ent.origin[2] += 32;
|
||||||
CL_TrapParticles (&ent);
|
CL_TrapParticles (&ent);
|
||||||
i = (mtrand()%100) + 100;
|
i = (rand()%100) + 100;
|
||||||
V_AddLight (ent.origin, i, 1, 0.8f, 0.1f);
|
V_AddLight (ent.origin, i, 1, 0.8f, 0.1f);
|
||||||
|
|
||||||
} else if (effects & EF_FLAG1) {
|
} else if (effects & EF_FLAG1) {
|
||||||
|
|
|
@ -191,10 +191,10 @@ void CL_ParseMuzzleFlash (void) {
|
||||||
VectorMA (dl->origin, 16, rv, dl->origin);
|
VectorMA (dl->origin, 16, rv, dl->origin);
|
||||||
|
|
||||||
if (silenced)
|
if (silenced)
|
||||||
dl->radius = 100.0f + (mtrand()&31);
|
dl->radius = 100.0f + (rand()&31);
|
||||||
|
|
||||||
else
|
else
|
||||||
dl->radius = 200.0f + (mtrand()&31);
|
dl->radius = 200.0f + (rand()&31);
|
||||||
|
|
||||||
dl->minlight = 32;
|
dl->minlight = 32;
|
||||||
dl->die = cl.time;
|
dl->die = cl.time;
|
||||||
|
@ -228,7 +228,7 @@ void CL_ParseMuzzleFlash (void) {
|
||||||
dl->color[0] = 1;
|
dl->color[0] = 1;
|
||||||
dl->color[1] = 1;
|
dl->color[1] = 1;
|
||||||
dl->color[2] = 0;
|
dl->color[2] = 0;
|
||||||
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (mtrand() % 5) + 1);
|
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (rand() % 5) + 1);
|
||||||
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0);
|
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0);
|
||||||
break;
|
break;
|
||||||
case MZ_SHOTGUN:
|
case MZ_SHOTGUN:
|
||||||
|
@ -245,35 +245,35 @@ void CL_ParseMuzzleFlash (void) {
|
||||||
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound("weapons/sshotf1b.wav"), volume, ATTN_NORM, 0);
|
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound("weapons/sshotf1b.wav"), volume, ATTN_NORM, 0);
|
||||||
break;
|
break;
|
||||||
case MZ_CHAINGUN1:
|
case MZ_CHAINGUN1:
|
||||||
dl->radius = 200.0f + (mtrand()&31);
|
dl->radius = 200.0f + (rand()&31);
|
||||||
dl->color[0] = 1;
|
dl->color[0] = 1;
|
||||||
dl->color[1] = 0.25;
|
dl->color[1] = 0.25;
|
||||||
dl->color[2] = 0;
|
dl->color[2] = 0;
|
||||||
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (mtrand() % 5) + 1);
|
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (rand() % 5) + 1);
|
||||||
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0);
|
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0);
|
||||||
break;
|
break;
|
||||||
case MZ_CHAINGUN2:
|
case MZ_CHAINGUN2:
|
||||||
dl->radius = 225.0f + (mtrand()&31);
|
dl->radius = 225.0f + (rand()&31);
|
||||||
dl->color[0] = 1;
|
dl->color[0] = 1;
|
||||||
dl->color[1] = 0.5;
|
dl->color[1] = 0.5;
|
||||||
dl->color[2] = 0;
|
dl->color[2] = 0;
|
||||||
dl->die = cl.time + 0.1; /* long delay */
|
dl->die = cl.time + 0.1; /* long delay */
|
||||||
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (mtrand() % 5) + 1);
|
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (rand() % 5) + 1);
|
||||||
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0);
|
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0);
|
||||||
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (mtrand() % 5) + 1);
|
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (rand() % 5) + 1);
|
||||||
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0.05);
|
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0.05);
|
||||||
break;
|
break;
|
||||||
case MZ_CHAINGUN3:
|
case MZ_CHAINGUN3:
|
||||||
dl->radius = 250.0f + (mtrand()&31);
|
dl->radius = 250.0f + (rand()&31);
|
||||||
dl->color[0] = 1;
|
dl->color[0] = 1;
|
||||||
dl->color[1] = 1;
|
dl->color[1] = 1;
|
||||||
dl->color[2] = 0;
|
dl->color[2] = 0;
|
||||||
dl->die = cl.time + 0.1; /* long delay */
|
dl->die = cl.time + 0.1; /* long delay */
|
||||||
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (mtrand() % 5) + 1);
|
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (rand() % 5) + 1);
|
||||||
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0);
|
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0);
|
||||||
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (mtrand() % 5) + 1);
|
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (rand() % 5) + 1);
|
||||||
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0.033f);
|
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0.033f);
|
||||||
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (mtrand() % 5) + 1);
|
Com_sprintf(soundname, sizeof(soundname), "weapons/machgf%lub.wav", (rand() % 5) + 1);
|
||||||
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0.066f);
|
S_StartSound (NULL, i, CHAN_WEAPON, S_RegisterSound(soundname), volume, ATTN_NORM, 0.066f);
|
||||||
break;
|
break;
|
||||||
case MZ_RAILGUN:
|
case MZ_RAILGUN:
|
||||||
|
@ -423,7 +423,7 @@ void CL_ParseMuzzleFlash2 (void) {
|
||||||
|
|
||||||
dl = CL_AllocDlight (ent);
|
dl = CL_AllocDlight (ent);
|
||||||
VectorCopy (origin, dl->origin);
|
VectorCopy (origin, dl->origin);
|
||||||
dl->radius = 200.0f + (mtrand()&31);
|
dl->radius = 200.0f + (rand()&31);
|
||||||
dl->minlight = 32;
|
dl->minlight = 32;
|
||||||
dl->die = cl.time;
|
dl->die = cl.time;
|
||||||
|
|
||||||
|
@ -606,7 +606,7 @@ void CL_ParseMuzzleFlash2 (void) {
|
||||||
dl->color[2] = 0;
|
dl->color[2] = 0;
|
||||||
CL_ParticleEffect (origin, vec3_origin, 0, 40);
|
CL_ParticleEffect (origin, vec3_origin, 0, 40);
|
||||||
CL_SmokeAndFlash(origin);
|
CL_SmokeAndFlash(origin);
|
||||||
Com_sprintf(soundname, sizeof(soundname), "tank/tnkatk2%c.wav", 'a' + (char) (mtrand() % 5));
|
Com_sprintf(soundname, sizeof(soundname), "tank/tnkatk2%c.wav", 'a' + (char) (rand() % 5));
|
||||||
S_StartSound (NULL, ent, CHAN_WEAPON, S_RegisterSound(soundname), 1, ATTN_NORM, 0);
|
S_StartSound (NULL, ent, CHAN_WEAPON, S_RegisterSound(soundname), 1, ATTN_NORM, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -806,7 +806,7 @@ void CL_ParseMuzzleFlash2 (void) {
|
||||||
case MZ2_WIDOW2_BEAM_SWEEP_9:
|
case MZ2_WIDOW2_BEAM_SWEEP_9:
|
||||||
case MZ2_WIDOW2_BEAM_SWEEP_10:
|
case MZ2_WIDOW2_BEAM_SWEEP_10:
|
||||||
case MZ2_WIDOW2_BEAM_SWEEP_11:
|
case MZ2_WIDOW2_BEAM_SWEEP_11:
|
||||||
dl->radius = 300.0f + (mtrand()&100);
|
dl->radius = 300.0f + (rand()&100);
|
||||||
dl->color[0] = 1;
|
dl->color[0] = 1;
|
||||||
dl->color[1] = 1;
|
dl->color[1] = 1;
|
||||||
dl->color[2] = 0;
|
dl->color[2] = 0;
|
||||||
|
@ -876,11 +876,11 @@ void CL_ParticleEffect (vec3_t org, vec3_t dir, int color, int count) {
|
||||||
active_particles = p;
|
active_particles = p;
|
||||||
|
|
||||||
p->time = cl.time;
|
p->time = cl.time;
|
||||||
p->color = color + (mtrand()&7);
|
p->color = color + (rand()&7);
|
||||||
d = (float)(mtrand()&31);
|
d = rand()&31;
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = org[j] + ((float)(mtrand()&7)-4) + d*dir[j];
|
p->org[j] = org[j] + ((rand()&7)-4) + d*dir[j];
|
||||||
p->vel[j] = crand()*20;
|
p->vel[j] = crand()*20;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -909,12 +909,12 @@ void CL_ParticleEffect2 (vec3_t org, vec3_t dir, int color, int count) {
|
||||||
active_particles = p;
|
active_particles = p;
|
||||||
|
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->color = color + (mtrand()&7);
|
p->color = color + (rand()&7);
|
||||||
|
|
||||||
d = (float)(mtrand()&7);
|
d = rand()&7;
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = org[j] + ((float)(mtrand()&7)-4) + d*dir[j];
|
p->org[j] = org[j] + ((rand()&7)-4) + d*dir[j];
|
||||||
p->vel[j] = crand()*20;
|
p->vel[j] = crand()*20;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -945,10 +945,10 @@ void CL_ParticleEffect3 (vec3_t org, vec3_t dir, int color, int count) {
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->color = color;
|
p->color = color;
|
||||||
|
|
||||||
d = (float)(mtrand()&7);
|
d = rand()&7;
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = org[j] + ((mtrand()&7)-4) + d*dir[j];
|
p->org[j] = org[j] + ((rand()&7)-4) + d*dir[j];
|
||||||
p->vel[j] = crand()*20;
|
p->vel[j] = crand()*20;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -979,12 +979,12 @@ void CL_TeleporterParticles (entity_state_t *ent) {
|
||||||
p->color = 0xdb;
|
p->color = 0xdb;
|
||||||
|
|
||||||
for (j=0 ; j<2 ; j++) {
|
for (j=0 ; j<2 ; j++) {
|
||||||
p->org[j] = ent->origin[j] - 16 + (mtrand()&31);
|
p->org[j] = ent->origin[j] - 16 + (rand()&31);
|
||||||
p->vel[j] = crand()*14;
|
p->vel[j] = crand()*14;
|
||||||
}
|
}
|
||||||
|
|
||||||
p->org[2] = ent->origin[2] - 8 + (mtrand()&7);
|
p->org[2] = ent->origin[2] - 8 + (rand()&7);
|
||||||
p->vel[2] = 80 + (mtrand()&7);
|
p->vel[2] = 80 + (rand()&7);
|
||||||
|
|
||||||
p->accel[0] = p->accel[1] = 0;
|
p->accel[0] = p->accel[1] = 0;
|
||||||
p->accel[2] = -PARTICLE_GRAVITY;
|
p->accel[2] = -PARTICLE_GRAVITY;
|
||||||
|
@ -1012,13 +1012,13 @@ void CL_LogoutEffect (vec3_t org, int type) {
|
||||||
p->time = time;
|
p->time = time;
|
||||||
|
|
||||||
if (type == MZ_LOGIN)
|
if (type == MZ_LOGIN)
|
||||||
p->color = 0xd0 + (mtrand()&7);
|
p->color = 0xd0 + (rand()&7);
|
||||||
|
|
||||||
else if (type == MZ_LOGOUT)
|
else if (type == MZ_LOGOUT)
|
||||||
p->color = 0x40 + (mtrand()&7);
|
p->color = 0x40 + (rand()&7);
|
||||||
|
|
||||||
else
|
else
|
||||||
p->color = 0xe0 + (mtrand()&7);
|
p->color = 0xe0 + (rand()&7);
|
||||||
|
|
||||||
p->org[0] = org[0] - 16 + frand()*32;
|
p->org[0] = org[0] - 16 + frand()*32;
|
||||||
p->org[1] = org[1] - 16 + frand()*32;
|
p->org[1] = org[1] - 16 + frand()*32;
|
||||||
|
@ -1051,7 +1051,7 @@ void CL_ItemRespawnParticles (vec3_t org) {
|
||||||
active_particles = p;
|
active_particles = p;
|
||||||
|
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->color = 0xd4 + (mtrand()&3);
|
p->color = 0xd4 + (rand()&3);
|
||||||
p->org[0] = org[0] + crand()*8;
|
p->org[0] = org[0] + crand()*8;
|
||||||
p->org[1] = org[1] + crand()*8;
|
p->org[1] = org[1] + crand()*8;
|
||||||
p->org[2] = org[2] + crand()*8;
|
p->org[2] = org[2] + crand()*8;
|
||||||
|
@ -1083,7 +1083,7 @@ void CL_ExplosionParticles (vec3_t org) {
|
||||||
active_particles = p;
|
active_particles = p;
|
||||||
|
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->color = 0xe0 + (mtrand()&7);
|
p->color = 0xe0 + (rand()&7);
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = org[j] + ((rand()%32)-16);
|
p->org[j] = org[j] + ((rand()%32)-16);
|
||||||
|
@ -1116,20 +1116,20 @@ void CL_BigTeleportParticles (vec3_t org) {
|
||||||
active_particles = p;
|
active_particles = p;
|
||||||
|
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->color = colortable[mtrand()&3];
|
p->color = colortable[rand()&3];
|
||||||
|
|
||||||
angle = M_PI*2*(mtrand()&1023)/1023.0f;
|
angle = M_PI*2*(rand()&1023)/1023.0f;
|
||||||
dist = (float)(mtrand()&31);
|
dist = (float)(rand()&31);
|
||||||
p->org[0] = org[0] + (float)cos(angle)*dist;
|
p->org[0] = org[0] + (float)cos(angle)*dist;
|
||||||
p->vel[0] = (float)cos(angle)*(70+(mtrand()&63));
|
p->vel[0] = (float)cos(angle)*(70+(rand()&63));
|
||||||
p->accel[0] = -(float)cos(angle)*100;
|
p->accel[0] = -(float)cos(angle)*100;
|
||||||
|
|
||||||
p->org[1] = org[1] + (float)sin(angle)*dist;
|
p->org[1] = org[1] + (float)sin(angle)*dist;
|
||||||
p->vel[1] = (float)sin(angle)*(70+(mtrand()&63));
|
p->vel[1] = (float)sin(angle)*(70+(rand()&63));
|
||||||
p->accel[1] = -(float)sin(angle)*100;
|
p->accel[1] = -(float)sin(angle)*100;
|
||||||
|
|
||||||
p->org[2] = org[2] + 8 + (mtrand()%90);
|
p->org[2] = org[2] + 8 + (rand()%90);
|
||||||
p->vel[2] = -100 + (mtrand()&31);
|
p->vel[2] = -100 + (rand()&31);
|
||||||
p->accel[2] = PARTICLE_GRAVITY*4;
|
p->accel[2] = PARTICLE_GRAVITY*4;
|
||||||
p->alpha = 1.0;
|
p->alpha = 1.0;
|
||||||
|
|
||||||
|
@ -1157,11 +1157,11 @@ void CL_BlasterParticles (vec3_t org, vec3_t dir) {
|
||||||
active_particles = p;
|
active_particles = p;
|
||||||
|
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->color = 0xe0 + (mtrand()&7);
|
p->color = 0xe0 + (rand()&7);
|
||||||
d = (float)(mtrand()&15);
|
d = rand()&15;
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = org[j] + ((mtrand()&7)-4) + d*dir[j];
|
p->org[j] = org[j] + ((rand()&7)-4) + d*dir[j];
|
||||||
p->vel[j] = dir[j] * 30 + crand()*40;
|
p->vel[j] = dir[j] * 30 + crand()*40;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1347,7 +1347,7 @@ void CL_DiminishingTrail (vec3_t start, vec3_t end, centity_t *old, int flags) {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* drop less particles as it flies */
|
/* drop less particles as it flies */
|
||||||
if ((mtrand()&1023) < old->trailcount) {
|
if ((rand()&1023) < old->trailcount) {
|
||||||
p = free_particles;
|
p = free_particles;
|
||||||
free_particles = p->next;
|
free_particles = p->next;
|
||||||
p->next = active_particles;
|
p->next = active_particles;
|
||||||
|
@ -1359,7 +1359,7 @@ void CL_DiminishingTrail (vec3_t start, vec3_t end, centity_t *old, int flags) {
|
||||||
if (flags & EF_GIB) {
|
if (flags & EF_GIB) {
|
||||||
p->alpha = 1.0;
|
p->alpha = 1.0;
|
||||||
p->alphavel = -1.0f / (1+frand()*0.4f);
|
p->alphavel = -1.0f / (1+frand()*0.4f);
|
||||||
p->color = 0xe8 + (mtrand()&7);
|
p->color = 0xe8 + (rand()&7);
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = move[j] + crand()*orgscale;
|
p->org[j] = move[j] + crand()*orgscale;
|
||||||
|
@ -1372,7 +1372,7 @@ void CL_DiminishingTrail (vec3_t start, vec3_t end, centity_t *old, int flags) {
|
||||||
} else if (flags & EF_GREENGIB) {
|
} else if (flags & EF_GREENGIB) {
|
||||||
p->alpha = 1.0;
|
p->alpha = 1.0;
|
||||||
p->alphavel = -1.0f / (1+frand()*0.4f);
|
p->alphavel = -1.0f / (1+frand()*0.4f);
|
||||||
p->color = 0xdb + (mtrand()&7);
|
p->color = 0xdb + (rand()&7);
|
||||||
|
|
||||||
for (j=0; j< 3; j++) {
|
for (j=0; j< 3; j++) {
|
||||||
p->org[j] = move[j] + crand()*orgscale;
|
p->org[j] = move[j] + crand()*orgscale;
|
||||||
|
@ -1385,7 +1385,7 @@ void CL_DiminishingTrail (vec3_t start, vec3_t end, centity_t *old, int flags) {
|
||||||
} else {
|
} else {
|
||||||
p->alpha = 1.0;
|
p->alpha = 1.0;
|
||||||
p->alphavel = -1.0f / (1+frand()*0.2f);
|
p->alphavel = -1.0f / (1+frand()*0.2f);
|
||||||
p->color = 4 + (mtrand()&7);
|
p->color = 4 + (rand()&7);
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = move[j] + crand()*orgscale;
|
p->org[j] = move[j] + crand()*orgscale;
|
||||||
|
@ -1447,7 +1447,7 @@ void CL_RocketTrail (vec3_t start, vec3_t end, centity_t *old) {
|
||||||
if (!free_particles)
|
if (!free_particles)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ( (mtrand()&7) == 0) {
|
if ( (rand()&7) == 0) {
|
||||||
p = free_particles;
|
p = free_particles;
|
||||||
free_particles = p->next;
|
free_particles = p->next;
|
||||||
p->next = active_particles;
|
p->next = active_particles;
|
||||||
|
@ -1458,7 +1458,7 @@ void CL_RocketTrail (vec3_t start, vec3_t end, centity_t *old) {
|
||||||
|
|
||||||
p->alpha = 1.0;
|
p->alpha = 1.0;
|
||||||
p->alphavel = -1.0f / (1+frand()*0.2f);
|
p->alphavel = -1.0f / (1+frand()*0.2f);
|
||||||
p->color = 0xdc + (mtrand()&3);
|
p->color = 0xdc + (rand()&3);
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = move[j] + crand()*5;
|
p->org[j] = move[j] + crand()*5;
|
||||||
|
@ -1514,7 +1514,7 @@ void CL_RailTrail (vec3_t start, vec3_t end) {
|
||||||
|
|
||||||
p->alpha = 1.0;
|
p->alpha = 1.0;
|
||||||
p->alphavel = -1.0f / (1+frand()*0.2f);
|
p->alphavel = -1.0f / (1+frand()*0.2f);
|
||||||
p->color = clr + (mtrand()&7);
|
p->color = clr + (rand()&7);
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = move[j] + dir[j]*3;
|
p->org[j] = move[j] + dir[j]*3;
|
||||||
|
@ -1589,7 +1589,7 @@ void CL_IonripperTrail (vec3_t start, vec3_t ent) {
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->alpha = 0.5;
|
p->alpha = 0.5;
|
||||||
p->alphavel = -1.0f / (0.3f + frand() * 0.2f);
|
p->alphavel = -1.0f / (0.3f + frand() * 0.2f);
|
||||||
p->color = 0xe4 + (mtrand()&3);
|
p->color = 0xe4 + (rand()&3);
|
||||||
|
|
||||||
for (j=0; j<3; j++) {
|
for (j=0; j<3; j++) {
|
||||||
p->org[j] = move[j];
|
p->org[j] = move[j];
|
||||||
|
@ -1643,7 +1643,7 @@ void CL_BubbleTrail (vec3_t start, vec3_t end) {
|
||||||
|
|
||||||
p->alpha = 1.0;
|
p->alpha = 1.0;
|
||||||
p->alphavel = -1.0f / (1+frand()*0.2f);
|
p->alphavel = -1.0f / (1+frand()*0.2f);
|
||||||
p->color = 4 + (mtrand()&7);
|
p->color = 4 + (rand()&7);
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = move[j] + crand()*2;
|
p->org[j] = move[j] + crand()*2;
|
||||||
|
@ -1673,7 +1673,7 @@ void CL_FlyParticles (vec3_t origin, int count) {
|
||||||
|
|
||||||
if (!avelocities[0][0]) {
|
if (!avelocities[0][0]) {
|
||||||
for (i=0 ; i<NUMVERTEXNORMALS*3 ; i++)
|
for (i=0 ; i<NUMVERTEXNORMALS*3 ; i++)
|
||||||
avelocities[0][i] = (mtrand()&255) * 0.01f;
|
avelocities[0][i] = (rand()&255) * 0.01f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1763,7 +1763,7 @@ void CL_BfgParticles (entity_t *ent) {
|
||||||
|
|
||||||
if (!avelocities[0][0]) {
|
if (!avelocities[0][0]) {
|
||||||
for (i=0 ; i<NUMVERTEXNORMALS*3 ; i++)
|
for (i=0 ; i<NUMVERTEXNORMALS*3 ; i++)
|
||||||
avelocities[0][i] = (mtrand()&255) * 0.01f;
|
avelocities[0][i] = (rand()&255) * 0.01f;
|
||||||
}
|
}
|
||||||
|
|
||||||
ltime = time / 1000.0;
|
ltime = time / 1000.0;
|
||||||
|
@ -1883,20 +1883,20 @@ void CL_TrapParticles (entity_t *ent) {
|
||||||
active_particles = p;
|
active_particles = p;
|
||||||
|
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->color = 0xe0 + (mtrand()&3);
|
p->color = 0xe0 + (rand()&3);
|
||||||
p->alpha = 1.0;
|
p->alpha = 1.0;
|
||||||
p->alphavel = -1.0f / (0.3f + (mtrand()&7) * 0.02f);
|
p->alphavel = -1.0f / (0.3f + (rand()&7) * 0.02f);
|
||||||
|
|
||||||
p->org[0] = org[0] + i + ((mtrand()&23) * crand());
|
p->org[0] = org[0] + i + ((rand()&23) * crand());
|
||||||
p->org[1] = org[1] + j + ((mtrand()&23) * crand());
|
p->org[1] = org[1] + j + ((rand()&23) * crand());
|
||||||
p->org[2] = org[2] + k + ((mtrand()&23) * crand());
|
p->org[2] = org[2] + k + ((rand()&23) * crand());
|
||||||
|
|
||||||
dir[0] = j * 8.0f;
|
dir[0] = j * 8.0f;
|
||||||
dir[1] = i * 8.0f;
|
dir[1] = i * 8.0f;
|
||||||
dir[2] = k * 8.0f;
|
dir[2] = k * 8.0f;
|
||||||
|
|
||||||
VectorNormalize (dir);
|
VectorNormalize (dir);
|
||||||
vel = (float)(50 + (mtrand()&63));
|
vel = (float)(50 + (rand()&63));
|
||||||
VectorScale (dir, vel, p->vel);
|
VectorScale (dir, vel, p->vel);
|
||||||
|
|
||||||
p->accel[0] = p->accel[1] = 0;
|
p->accel[0] = p->accel[1] = 0;
|
||||||
|
@ -1921,11 +1921,11 @@ void CL_BFGExplosionParticles (vec3_t org) {
|
||||||
active_particles = p;
|
active_particles = p;
|
||||||
|
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->color = 0xd0 + (mtrand()&7);
|
p->color = 0xd0 + (rand()&7);
|
||||||
|
|
||||||
for (j=0 ; j<3 ; j++) {
|
for (j=0 ; j<3 ; j++) {
|
||||||
p->org[j] = org[j] + crand() * 16;
|
p->org[j] = org[j] + ((rand()%32)-16);
|
||||||
p->vel[j] = crand() * 192;
|
p->vel[j] = (rand()%384)-192;
|
||||||
}
|
}
|
||||||
|
|
||||||
p->accel[0] = p->accel[1] = 0;
|
p->accel[0] = p->accel[1] = 0;
|
||||||
|
@ -1956,20 +1956,20 @@ void CL_TeleportParticles (vec3_t org) {
|
||||||
active_particles = p;
|
active_particles = p;
|
||||||
|
|
||||||
p->time = time;
|
p->time = time;
|
||||||
p->color = 7 + (mtrand()&7);
|
p->color = 7 + (rand()&7);
|
||||||
p->alpha = 1.0;
|
p->alpha = 1.0;
|
||||||
p->alphavel = -1.0f / (0.3f + (mtrand()&7) * 0.02f);
|
p->alphavel = -1.0f / (0.3f + (rand()&7) * 0.02f);
|
||||||
|
|
||||||
p->org[0] = org[0] + i + (mtrand()&3);
|
p->org[0] = org[0] + i + (rand()&3);
|
||||||
p->org[1] = org[1] + j + (mtrand()&3);
|
p->org[1] = org[1] + j + (rand()&3);
|
||||||
p->org[2] = org[2] + k + (mtrand()&3);
|
p->org[2] = org[2] + k + (rand()&3);
|
||||||
|
|
||||||
dir[0] = j*8.0f;
|
dir[0] = j*8.0f;
|
||||||
dir[1] = i*8.0f;
|
dir[1] = i*8.0f;
|
||||||
dir[2] = k*8.0f;
|
dir[2] = k*8.0f;
|
||||||
|
|
||||||
VectorNormalize (dir);
|
VectorNormalize (dir);
|
||||||
vel = (float)(50 + (mtrand()&63));
|
vel = (float)(50 + (rand()&63));
|
||||||
VectorScale (dir, vel, p->vel);
|
VectorScale (dir, vel, p->vel);
|
||||||
|
|
||||||
p->accel[0] = p->accel[1] = 0;
|
p->accel[0] = p->accel[1] = 0;
|
||||||
|
@ -2057,7 +2057,7 @@ void CL_EntityEvent (entity_state_t *ent) {
|
||||||
case EV_FOOTSTEP:
|
case EV_FOOTSTEP:
|
||||||
|
|
||||||
if (cl_footsteps->value)
|
if (cl_footsteps->value)
|
||||||
S_StartSound (NULL, ent->number, CHAN_BODY, cl_sfx_footsteps[mtrand()&3], 1, ATTN_NORM, 0);
|
S_StartSound (NULL, ent->number, CHAN_BODY, cl_sfx_footsteps[rand()&3], 1, ATTN_NORM, 0);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case EV_FALLSHORT:
|
case EV_FALLSHORT:
|
||||||
|
|
|
@ -1334,6 +1334,16 @@ byte COM_BlockSequenceCRCByte (byte *base, int length, int sequence)
|
||||||
|
|
||||||
//========================================================
|
//========================================================
|
||||||
|
|
||||||
|
float frand(void)
|
||||||
|
{
|
||||||
|
return (rand()&32767)* (1.0/32767);
|
||||||
|
}
|
||||||
|
|
||||||
|
float crand(void)
|
||||||
|
{
|
||||||
|
return (rand()&32767)* (2.0/32767) - 1;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef DEDICATED_ONLY
|
#ifndef DEDICATED_ONLY
|
||||||
void Key_Init (void);
|
void Key_Init (void);
|
||||||
void SCR_EndLoadingPlaque (void);
|
void SCR_EndLoadingPlaque (void);
|
||||||
|
@ -1367,9 +1377,6 @@ void Qcommon_Init (int argc, char **argv)
|
||||||
|
|
||||||
z_chain.next = z_chain.prev = &z_chain;
|
z_chain.next = z_chain.prev = &z_chain;
|
||||||
|
|
||||||
/* seed the PRNG */
|
|
||||||
ini_rand (5489U);
|
|
||||||
|
|
||||||
// prepare enough of the subsystems to handle
|
// prepare enough of the subsystems to handle
|
||||||
// cvar and command buffer management
|
// cvar and command buffer management
|
||||||
COM_InitArgv (argc, argv);
|
COM_InitArgv (argc, argv);
|
||||||
|
|
|
@ -759,6 +759,9 @@ void Com_SetServerState (int state);
|
||||||
unsigned Com_BlockChecksum (void *buffer, int length);
|
unsigned Com_BlockChecksum (void *buffer, int length);
|
||||||
byte COM_BlockSequenceCRCByte (byte *base, int length, int sequence);
|
byte COM_BlockSequenceCRCByte (byte *base, int length, int sequence);
|
||||||
|
|
||||||
|
float frand(void); // 0 ti 1
|
||||||
|
float crand(void); // -1 to 1
|
||||||
|
|
||||||
extern cvar_t *developer;
|
extern cvar_t *developer;
|
||||||
extern cvar_t *modder;
|
extern cvar_t *modder;
|
||||||
extern cvar_t *dedicated;
|
extern cvar_t *dedicated;
|
||||||
|
@ -832,13 +835,5 @@ void SV_Init (void);
|
||||||
void SV_Shutdown (char *finalmsg, qboolean reconnect);
|
void SV_Shutdown (char *finalmsg, qboolean reconnect);
|
||||||
void SV_Frame (int msec);
|
void SV_Frame (int msec);
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
int count;
|
|
||||||
unsigned int cnst [ 2 ], vec [ 624 ];
|
|
||||||
} rand_work_t;
|
|
||||||
|
|
||||||
extern rand_work_t rand_work;
|
|
||||||
void ini_rand (unsigned int u);
|
|
||||||
int mtrand (void);
|
|
||||||
|
|
||||||
|
|
|
@ -1,91 +0,0 @@
|
||||||
/* PRNG based on Mersenne Twister (M. Matsumoto and T. Nishimura, 1998). */
|
|
||||||
|
|
||||||
#include "qcommon.h"
|
|
||||||
|
|
||||||
#define RAND_M 397
|
|
||||||
#define RAND_N 624
|
|
||||||
#define MASK_U 0x80000000U
|
|
||||||
#define MASK_L 0x7fffffffU
|
|
||||||
#define MASK32 0xffffffffU
|
|
||||||
|
|
||||||
rand_work_t rand_work;
|
|
||||||
|
|
||||||
void
|
|
||||||
ini_rand ( unsigned int u )
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
rand_work.count = RAND_N;
|
|
||||||
rand_work.cnst [ 0 ] = 0;
|
|
||||||
rand_work.cnst [ 1 ] = 0x9908b0dfU;
|
|
||||||
|
|
||||||
u &= MASK32;
|
|
||||||
rand_work.vec [ 0 ] = u;
|
|
||||||
|
|
||||||
for ( i = 1; i < RAND_N; i++ )
|
|
||||||
{
|
|
||||||
u = i + 1812433253U * ( u ^ ( u >> 30 ) );
|
|
||||||
u &= MASK32;
|
|
||||||
rand_work.vec [ i ] = u;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
mtrand ( void )
|
|
||||||
{
|
|
||||||
int u, u0, u1, u2;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if ( rand_work.count == RAND_N )
|
|
||||||
{
|
|
||||||
rand_work.count = 0;
|
|
||||||
|
|
||||||
for ( i = 0; i < RAND_N - RAND_M; i++ )
|
|
||||||
{
|
|
||||||
u = rand_work.vec [ i ] & MASK_U;
|
|
||||||
u |= rand_work.vec [ i + 1 ] & MASK_L;
|
|
||||||
|
|
||||||
u0 = rand_work.vec [ i + RAND_M ];
|
|
||||||
u1 = u >> 1;
|
|
||||||
u2 = rand_work.cnst [ u & 1 ];
|
|
||||||
|
|
||||||
rand_work.vec [ i ] = u0 ^ u1 ^ u2;
|
|
||||||
}
|
|
||||||
|
|
||||||
for ( ; i < RAND_N - 1; i++ )
|
|
||||||
{
|
|
||||||
u = rand_work.vec [ i ] & MASK_U;
|
|
||||||
u |= rand_work.vec [ i + 1 ] & MASK_L;
|
|
||||||
|
|
||||||
u0 = rand_work.vec [ i + RAND_M - RAND_N ];
|
|
||||||
u1 = u >> 1;
|
|
||||||
u2 = rand_work.cnst [ u & 1 ];
|
|
||||||
|
|
||||||
rand_work.vec [ i ] = u0 ^ u1 ^ u2;
|
|
||||||
}
|
|
||||||
|
|
||||||
u = rand_work.vec [ RAND_N - 1 ] & MASK_U;
|
|
||||||
u |= rand_work.vec [ 0 ] & MASK_L;
|
|
||||||
|
|
||||||
u0 = rand_work.vec [ RAND_M - 1 ];
|
|
||||||
u1 = u >> 1;
|
|
||||||
u2 = rand_work.cnst [ u & 1 ];
|
|
||||||
|
|
||||||
rand_work.vec [ RAND_N - 1 ] = u0 ^ u1 ^ u2;
|
|
||||||
}
|
|
||||||
|
|
||||||
u = rand_work.vec [ rand_work.count++ ];
|
|
||||||
u ^= ( u >> 11 );
|
|
||||||
u ^= ( u << 7 ) & 0x9d2c5680U;
|
|
||||||
u ^= ( u << 15 ) & 0xefc60000U;
|
|
||||||
u ^= ( u >> 18 );
|
|
||||||
|
|
||||||
if ( u < 0)
|
|
||||||
{
|
|
||||||
return ( ( u * -1 ) / 3 );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return ( u / 3 );
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -506,10 +506,6 @@ extern edict_t *g_edicts;
|
||||||
#define LLOFS(x) (size_t)&(((level_locals_t *)NULL)->x)
|
#define LLOFS(x) (size_t)&(((level_locals_t *)NULL)->x)
|
||||||
#define CLOFS(x) (size_t)&(((gclient_t *)NULL)->x)
|
#define CLOFS(x) (size_t)&(((gclient_t *)NULL)->x)
|
||||||
|
|
||||||
#ifdef random
|
|
||||||
#undef random
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define random() ((rand () & 0x7fff) / ((float)0x7fff))
|
#define random() ((rand () & 0x7fff) / ((float)0x7fff))
|
||||||
#define crandom() (2.0 * (random() - 0.5))
|
#define crandom() (2.0 * (random() - 0.5))
|
||||||
|
|
||||||
|
|
|
@ -31,12 +31,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
typedef unsigned char byte;
|
typedef unsigned char byte;
|
||||||
typedef enum {false, true} qboolean;
|
typedef enum {false, true} qboolean;
|
||||||
|
|
||||||
//32 bit float precision caps this to 0.00000000023283064f which gives max result of .99999998407391880
|
|
||||||
#define random() ((mtrand() * 0.00000000023283064f))
|
|
||||||
|
|
||||||
|
|
||||||
#define frand() (random())
|
|
||||||
#define crand() (((int)mtrand() - 0x7FFFFFFF) * 0.000000000465661287307739257812f)
|
|
||||||
|
|
||||||
#ifndef NULL
|
#ifndef NULL
|
||||||
#define NULL ((void *)0)
|
#define NULL ((void *)0)
|
||||||
|
|
Loading…
Reference in a new issue