Small stuph.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@297 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2004-10-03 22:52:02 +00:00
parent 1ba53e017e
commit 5fbe74b582
31 changed files with 884 additions and 528 deletions

View File

@ -1020,7 +1020,7 @@ void CL_LinkPacketEntities (void)
} }
if (i == cl_oldnumvisedicts) if (i == cl_oldnumvisedicts)
{ {
cl.lerpents[s1->number].traildist = 0; cl.lerpents[s1->number].trailstate.lastdist = 0;
continue; // not in last message continue; // not in last message
} }
@ -1032,7 +1032,7 @@ void CL_LinkPacketEntities (void)
} }
if (model->particletrail>=0) if (model->particletrail>=0)
cl.lerpents[s1->number].traildist = R_RocketTrail (old_origin, ent->origin, model->particletrail, cl.lerpents[s1->number].traildist); R_RocketTrail (old_origin, ent->origin, model->particletrail, &cl.lerpents[s1->number].trailstate);
//dlights are not customisable. //dlights are not customisable.
if (model->flags & EF_ROCKET) if (model->flags & EF_ROCKET)

View File

@ -1362,7 +1362,7 @@ void CL_Startdemos_f (void)
for (i=1 ; i<c+1 ; i++) for (i=1 ; i<c+1 ; i++)
Q_strncpyz (cls.demos[i-1], Cmd_Argv(i), sizeof(cls.demos[0])); Q_strncpyz (cls.demos[i-1], Cmd_Argv(i), sizeof(cls.demos[0]));
if (!sv.state && cls.demonum != -1 && cls.demoplayback==DPB_NONE && !media_filmtype) if (!sv.state && cls.demonum != -1 && cls.demoplayback==DPB_NONE && !media_filmtype && COM_CheckParm("-demos"))
{ {
cls.demonum = 0; cls.demonum = 0;
CL_NextDemo (); CL_NextDemo ();

View File

@ -978,7 +978,7 @@ void SCR_ImageName (char *mapname)
GL_BeginRendering (&glx, &gly, &glwidth, &glheight); GL_BeginRendering (&glx, &gly, &glwidth, &glheight);
SCR_DrawLoading(); SCR_DrawLoading();
SCR_SetUpToDrawConsole(); SCR_SetUpToDrawConsole();
SCR_DrawConsole(true); SCR_DrawConsole(!!*levelshotname);
GL_EndRendering(); GL_EndRendering();
scr_drawloading = false; scr_drawloading = false;

View File

@ -679,7 +679,7 @@ void CL_ParseTEnt (void)
// sound // sound
S_StartSound (-1, 0, cl_sfx_r_exp3, pos, 1, 1); S_StartSound (-2, 0, cl_sfx_r_exp3, pos, 1, 1);
// sprite // sprite
if (cl_expsprite.value) // temp hopefully if (cl_expsprite.value) // temp hopefully

View File

@ -357,7 +357,7 @@ typedef struct {
vec3_t origin; vec3_t origin;
vec3_t angles; vec3_t angles;
int frame; int frame;
float traildist; //when to next throw out a trail trailstate_t trailstate; //when to next throw out a trail
} lerpents_t; } lerpents_t;
// //
// the client_state_t structure is wiped completely at every // the client_state_t structure is wiped completely at every

View File

@ -135,7 +135,8 @@ typedef struct q2centity_s
int serverframe; // if not current, this ent isn't in the frame int serverframe; // if not current, this ent isn't in the frame
float trailcount; // for diminishing grenade trails trailstate_t trailstate;
// float trailcount; // for diminishing grenade trails
vec3_t lerp_origin; // for trails (variable hz) vec3_t lerp_origin; // for trails (variable hz)
int fly_stoptime; int fly_stoptime;
@ -158,7 +159,7 @@ void CLQ2_BlasterTrail2(vec3_t oldorg, vec3_t neworg){};
void CLQ2_RocketTrail(vec3_t oldorg, vec3_t neworg, q2centity_t *ent) void CLQ2_RocketTrail(vec3_t oldorg, vec3_t neworg, q2centity_t *ent)
{ {
extern int rt_rocket; extern int rt_rocket;
ent->trailcount = R_RocketTrail(oldorg, neworg, rt_rocket, ent->trailcount); R_RocketTrail(oldorg, neworg, rt_rocket, &ent->trailstate);
}; };
@ -504,7 +505,7 @@ void CLQ2_DeltaEntity (q2frame_t *frame, int newnum, entity_state_t *old, int bi
if (ent->serverframe != cl.q2frame.serverframe - 1) if (ent->serverframe != cl.q2frame.serverframe - 1)
{ // wasn't in last update, so initialize some things { // wasn't in last update, so initialize some things
ent->trailcount = 1024; // for diminishing rocket / grenade trails ent->trailstate.lastdist = 0; // for diminishing rocket / grenade trails
// duplicate the current state so lerping doesn't hurt anything // duplicate the current state so lerping doesn't hurt anything
ent->prev = *state; ent->prev = *state;
if (state->event == Q2EV_OTHER_TELEPORT) if (state->event == Q2EV_OTHER_TELEPORT)

View File

@ -134,6 +134,9 @@ keyname_t keynames[] =
{"MOUSE3", K_MOUSE3}, {"MOUSE3", K_MOUSE3},
{"MOUSE4", K_MOUSE4}, {"MOUSE4", K_MOUSE4},
{"MOUSE5", K_MOUSE5}, {"MOUSE5", K_MOUSE5},
{"MOUSE6", K_MOUSE6},
{"MOUSE7", K_MOUSE7},
{"MOUSE8", K_MOUSE8},
{"LWIN", K_LWIN}, {"LWIN", K_LWIN},
{"RWIN", K_RWIN}, {"RWIN", K_RWIN},

File diff suppressed because it is too large Load Diff

View File

@ -192,7 +192,12 @@ void MediaSW_ShowFrameBGR_24_Flip(qbyte *framedata, int inwidth, int inheight);
void R_ParseParticleEffect (void); void R_ParseParticleEffect (void);
void R_RunParticleEffect (vec3_t org, vec3_t dir, int color, int count); void R_RunParticleEffect (vec3_t org, vec3_t dir, int color, int count);
float R_RocketTrail (vec3_t start, vec3_t end, int type, float olddistance); typedef struct {
float lastdist;
vec3_t lastorg; //use only if lastdist
vec3_t lastdir; //use only if lastdist
} trailstate_t;
void R_RocketTrail (vec3_t start, vec3_t end, int type, trailstate_t *oldpoint);
int R_RunParticleEffectType(vec3_t org, vec3_t dir, float count, int type); int R_RunParticleEffectType(vec3_t org, vec3_t dir, float count, int type);
void R_RunParticleEffect2 (vec3_t org, vec3_t dmin, vec3_t dmax, int color, int effect, int count); void R_RunParticleEffect2 (vec3_t org, vec3_t dmin, vec3_t dmax, int color, int effect, int count);
void R_RunParticleEffect3 (vec3_t org, vec3_t box, int color, int effect, int count); void R_RunParticleEffect3 (vec3_t org, vec3_t box, int color, int effect, int count);

View File

@ -36,9 +36,6 @@ void S_StopAllSoundsC(void);
void S_UpdateCard(soundcardinfo_t *sc, vec3_t origin, vec3_t forward, vec3_t right, vec3_t up); void S_UpdateCard(soundcardinfo_t *sc, vec3_t origin, vec3_t forward, vec3_t right, vec3_t up);
// QuakeWorld hack...
#define viewentity playernum[0]+1
// ======================================================================= // =======================================================================
// Internal sound data & structures // Internal sound data & structures
// ======================================================================= // =======================================================================
@ -83,6 +80,7 @@ cvar_t ambient_fade = {"ambient_fade", "100"};
cvar_t snd_noextraupdate = {"snd_noextraupdate", "0"}; cvar_t snd_noextraupdate = {"snd_noextraupdate", "0"};
cvar_t snd_show = {"snd_show", "0"}; cvar_t snd_show = {"snd_show", "0"};
cvar_t snd_khz = {"snd_khz", "11"}; cvar_t snd_khz = {"snd_khz", "11"};
cvar_t snd_inactive = {"snd_inactive", "0"}; //set if you want sound even when tabbed out.
cvar_t _snd_mixahead = {"_snd_mixahead", "0.2", NULL, CVAR_ARCHIVE}; cvar_t _snd_mixahead = {"_snd_mixahead", "0.2", NULL, CVAR_ARCHIVE};
cvar_t snd_leftisright = {"snd_leftisright", "0", NULL, CVAR_ARCHIVE}; cvar_t snd_leftisright = {"snd_leftisright", "0", NULL, CVAR_ARCHIVE};
cvar_t snd_eax = {"snd_eax", "0"}; cvar_t snd_eax = {"snd_eax", "0"};
@ -482,6 +480,8 @@ void S_Init (void)
Cvar_Register(&snd_capture, "Sound controls"); Cvar_Register(&snd_capture, "Sound controls");
Cvar_Register(&snd_inactive, "Sound controls");
if (host_parms.memsize < 0x800000) if (host_parms.memsize < 0x800000)
{ {
Cvar_Set (&loadas8bit, "1"); Cvar_Set (&loadas8bit, "1");
@ -666,7 +666,7 @@ channel_t *SND_PickChannel(soundcardinfo_t *sc, int entnum, int entchannel)
} }
// don't let monster sounds override player sounds // don't let monster sounds override player sounds
if (sc->channel[ch_idx].entnum == cl.viewentity && entnum != cl.viewentity && sc->channel[ch_idx].sfx) if (sc->channel[ch_idx].entnum == cl.playernum[0]+1 && entnum != cl.playernum[0]+1 && sc->channel[ch_idx].sfx)
continue; continue;
if (sc->channel[ch_idx].end < life_left) if (sc->channel[ch_idx].end < life_left)
@ -699,7 +699,7 @@ void SND_Spatialize(soundcardinfo_t *sc, channel_t *ch)
sfx_t *snd; sfx_t *snd;
// anything coming from the view entity will allways be full volume // anything coming from the view entity will allways be full volume
if (ch->entnum == -1 || ch->entnum == (cl.viewentity?cl.viewentity:cl.playernum[0]+1)) if (ch->entnum == -1 || ch->entnum == cl.playernum[0]+1)
{ {
ch->vol[0] = ch->master_vol; ch->vol[0] = ch->master_vol;
ch->vol[1] = ch->master_vol; ch->vol[1] = ch->master_vol;
@ -788,6 +788,9 @@ void SND_Spatialize(soundcardinfo_t *sc, channel_t *ch)
ch->vol[5] = (int) (ch->master_vol * scale[5]); ch->vol[5] = (int) (ch->master_vol * scale[5]);
if (ch->vol[5] < 0) if (ch->vol[5] < 0)
ch->vol[5] = 0; ch->vol[5] = 0;
if (ch->vol[0])
Con_Printf("Spacialising\n");
} }
// ======================================================================= // =======================================================================
@ -870,6 +873,8 @@ void S_StartSoundCard(soundcardinfo_t *sc, int entnum, int entchannel, sfx_t *sf
void S_StartSound(int entnum, int entchannel, sfx_t *sfx, vec3_t origin, float fvol, float attenuation) void S_StartSound(int entnum, int entchannel, sfx_t *sfx, vec3_t origin, float fvol, float attenuation)
{ {
soundcardinfo_t *sc; soundcardinfo_t *sc;
Con_Printf("Starting sound %s\n", sfx->name);
if (!sfx || !*sfx->name) //no named sounds would need specific starting. if (!sfx || !*sfx->name) //no named sounds would need specific starting.
return; return;
@ -1165,8 +1170,13 @@ void S_UpdateCard(soundcardinfo_t *sc, vec3_t origin, vec3_t forward, vec3_t rig
channel_t *ch; channel_t *ch;
channel_t *combine; channel_t *combine;
if (!sound_started || (snd_blocked > 0)) if (!sound_started)
return; return;
if ((snd_blocked > 0))
{
if (!sc->inactive_sound)
return;
}
VectorCopy(origin, listener_origin); VectorCopy(origin, listener_origin);
VectorCopy(forward, listener_forward); VectorCopy(forward, listener_forward);
@ -1451,7 +1461,7 @@ void S_LocalSound (char *sound)
Con_Printf ("S_LocalSound: can't cache %s\n", sound); Con_Printf ("S_LocalSound: can't cache %s\n", sound);
return; return;
} }
S_StartSound (cl.viewentity, -1, sfx, vec3_origin, 1, 1); S_StartSound (-1, -1, sfx, vec3_origin, 1, 1);
} }

View File

@ -85,6 +85,8 @@ int SNDDMA_Init(soundcardinfo_t *sc)
if (!strcmp(ec->name, snddev)) if (!strcmp(ec->name, snddev))
return 2; return 2;
sc->inactive_sound = true; //linux sound devices always play sound, even when we're not the active app...
// open the sound device, confirm capability to mmap, and get size of dma buffer // open the sound device, confirm capability to mmap, and get size of dma buffer
Q_strncpyz(sc->name, snddev, sizeof(sc->name)); Q_strncpyz(sc->name, snddev, sizeof(sc->name));

View File

@ -587,6 +587,7 @@ void S_PaintChannels(soundcardinfo_t *sc, int endtime)
continue; continue;
if (!ch->vol[0] && !ch->vol[1] && !ch->vol[2] && !ch->vol[3] && !ch->vol[4] && !ch->vol[5]) if (!ch->vol[0] && !ch->vol[1] && !ch->vol[2] && !ch->vol[3] && !ch->vol[4] && !ch->vol[5])
continue; continue;
Con_Printf("Volume %i %i\n", ch->vol[0], ch->vol[1]);
scache = S_LoadSound (ch->sfx); scache = S_LoadSound (ch->sfx);
if (!scache) if (!scache)
continue; continue;

View File

@ -95,9 +95,11 @@ void S_BlockSound (void)
for (sc = sndcardinfo; sc; sc=sc->next) for (sc = sndcardinfo; sc; sc=sc->next)
{ {
if (sc->snd_iswave) if (sc->snd_iswave && !sc->inactive_sound)
if (snd_blocked == 1) {
waveOutReset (sc->hWaveOut); if (snd_blocked == 1)
waveOutReset (sc->hWaveOut);
}
} }
} }
@ -421,7 +423,7 @@ Direct-Sound support
*/ */
sndinitstat SNDDMA_InitDirect (soundcardinfo_t *sc) sndinitstat SNDDMA_InitDirect (soundcardinfo_t *sc)
{ {
extern cvar_t snd_khz, snd_eax, snd_speakers; extern cvar_t snd_khz, snd_eax, snd_speakers, snd_inactive;
DSBUFFERDESC dsbuf; DSBUFFERDESC dsbuf;
DSBCAPS dsbcaps; DSBCAPS dsbcaps;
DWORD dwSize, dwWrite; DWORD dwSize, dwWrite;
@ -613,7 +615,12 @@ sndinitstat SNDDMA_InitDirect (soundcardinfo_t *sc)
// create the secondary buffer we'll actually work with // create the secondary buffer we'll actually work with
memset (&dsbuf, 0, sizeof(dsbuf)); memset (&dsbuf, 0, sizeof(dsbuf));
dsbuf.dwSize = sizeof(DSBUFFERDESC); dsbuf.dwSize = sizeof(DSBUFFERDESC);
dsbuf.dwFlags = DSBCAPS_CTRLFREQUENCY | /*DSBCAPS_LOCSOFTWARE |*/ DSBCAPS_GLOBALFOCUS; //dmw 29 may, 2003 removed locsoftware dsbuf.dwFlags = DSBCAPS_CTRLFREQUENCY; //dmw 29 may, 2003 removed locsoftware
if (snd_inactive.value)
{
dsbuf.dwFlags |= DSBCAPS_GLOBALFOCUS;
sc->inactive_sound = true;
}
dsbuf.dwBufferBytes = SECONDARY_BUFFER_SIZE; dsbuf.dwBufferBytes = SECONDARY_BUFFER_SIZE;
dsbuf.lpwfxFormat = (WAVEFORMATEX *)&format; dsbuf.lpwfxFormat = (WAVEFORMATEX *)&format;
@ -987,6 +994,8 @@ int SNDDMA_Init(soundcardinfo_t *sc)
if (COM_CheckParm ("-wavonly")) if (COM_CheckParm ("-wavonly"))
wavonly = true; wavonly = true;
sc->inactive_sound = false; //don't generate sound when the window is inactive.
#ifndef NODIRECTX #ifndef NODIRECTX
sc->dsound_init = sc->dsound_init =
#endif #endif

View File

@ -222,7 +222,7 @@ struct soundcardinfo_s { //windows has one defined AFTER directsound
qboolean inactive_sound;
qboolean snd_isdirect; qboolean snd_isdirect;
qboolean snd_iswave; qboolean snd_iswave;

View File

@ -96,6 +96,7 @@ struct soundcardinfo_s {
DWORD mmstarttime; DWORD mmstarttime;
DWORD gSndBufSize; DWORD gSndBufSize;
qboolean inactive_sound;
#ifndef NODIRECTX #ifndef NODIRECTX
qboolean snd_isdirect; qboolean snd_isdirect;
#endif #endif

View File

@ -177,9 +177,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// defs common to client and server // defs common to client and server
#define GLQUAKE_VERSION 1.01 #define VERSION 2.56
#define VERSION 2.55
#define LINUX_VERSION 0.98
//#define VERSION3PART //add the 3rd decimal point of a more precise version. //#define VERSION3PART //add the 3rd decimal point of a more precise version.

View File

@ -3984,6 +3984,7 @@ void COM_Gamedir (char *dir)
Cbuf_InsertText("cl_warncmd 1\n", RESTRICT_LOCAL); Cbuf_InsertText("cl_warncmd 1\n", RESTRICT_LOCAL);
Cbuf_InsertText("exec frontend.cfg\n", RESTRICT_LOCAL); Cbuf_InsertText("exec frontend.cfg\n", RESTRICT_LOCAL);
Cbuf_InsertText("exec config.cfg\n", RESTRICT_LOCAL); Cbuf_InsertText("exec config.cfg\n", RESTRICT_LOCAL);
Cbuf_InsertText("exec fte.cfg\n", RESTRICT_LOCAL);
Cbuf_InsertText("cl_warncmd 0\n", RESTRICT_LOCAL); Cbuf_InsertText("cl_warncmd 0\n", RESTRICT_LOCAL);
} }
} }

View File

@ -53,17 +53,25 @@ typedef struct particle_s
float color; float color;
vec3_t rgb; vec3_t rgb;
float alpha; float alpha;
float angle; float scale;
union {
struct {
vec3_t vel;
float angle;
float rotationspeed;
float nextemit;
} p; //point blob
struct {
vec3_t org2;
vec3_t lastdir;
} b; //beam
} u;
// drivers never touch the following fields // drivers never touch the following fields
vec3_t vel;
float rotationspeed;
struct particle_s *next; struct particle_s *next;
float nextemit;
float die; float die;
float scale;
} particle_t; } particle_t;
#define PARTICLE_Z_CLIP 8.0 #define PARTICLE_Z_CLIP 8.0

View File

@ -288,14 +288,26 @@ void *BZF_Malloc(int size) //BZ_Malloc but allowed to fail - like straight mallo
#endif #endif
} }
#ifdef NAMEDMALLOCS
void *BZ_NamedRealloc(void *data, int newsize, char *file, int lineno)
#else
void *BZ_Realloc(void *data, int newsize) void *BZ_Realloc(void *data, int newsize)
#endif
{ {
zone_t *oldzone; zone_t *oldzone;
void *newdata; void *newdata;
#ifdef NAMEDMALLOCS
if (!data)
return Z_MallocNamed(newsize, file, lineno);
oldzone = ((zone_t *)((char *)data-MEMDEBUG))-1;
newdata = Z_MallocNamed(newsize, file, lineno);
#else
if (!data) if (!data)
return Z_Malloc(newsize); return Z_Malloc(newsize);
oldzone = ((zone_t *)((char *)data-MEMDEBUG))-1; oldzone = ((zone_t *)((char *)data-MEMDEBUG))-1;
newdata = BZ_Malloc(newsize); newdata = BZ_Malloc(newsize);
#endif
if (oldzone->size < newsize) if (oldzone->size < newsize)
{ {
memcpy(newdata, data, oldzone->size); memcpy(newdata, data, oldzone->size);
@ -320,6 +332,7 @@ void Zone_Print_f(void)
int blocks = 0; int blocks = 0;
int futurehide = false; int futurehide = false;
int i; int i;
int minsize = 0;
qbyte *sent; qbyte *sent;
zone_t *zone; zone_t *zone;
#if MEMDEBUG > 0 #if MEMDEBUG > 0
@ -331,8 +344,10 @@ void Zone_Print_f(void)
} }
else else
#endif #endif
if (*Cmd_Argv(1)) if (*Cmd_Argv(1) == 'h')
futurehide = true; futurehide = true;
else if (*Cmd_Argv(1))
minsize = atoi(Cmd_Argv(1));
for(zone = zone_head; zone; zone=zone->next) for(zone = zone_head; zone; zone=zone->next)
{ {
blocks++; blocks++;
@ -363,7 +378,7 @@ void Zone_Print_f(void)
} }
} }
} }
else else if (zone->size >= minsize)
#endif #endif
Con_Printf("%i-%s\n", zone->size, (char *)(zone+1) + zone->size+MEMDEBUG*2); Con_Printf("%i-%s\n", zone->size, (char *)(zone+1) + zone->size+MEMDEBUG*2);
if (futurehide) if (futurehide)

View File

@ -107,6 +107,7 @@ int Z_Allocated(void);
void *BZ_Malloc(int size); void *BZ_Malloc(int size);
void *BZF_Malloc(int size); void *BZF_Malloc(int size);
void *BZ_Realloc(void *ptr, int size); void *BZ_Realloc(void *ptr, int size);
void *BZ_NamedRealloc(void *ptr, int size, char *, int);
void BZ_Free(void *ptr); void BZ_Free(void *ptr);
#ifdef NAMEDMALLOCS #ifdef NAMEDMALLOCS
@ -114,6 +115,8 @@ void BZ_Free(void *ptr);
#define Z_Malloc(size) Z_MallocNamed(size, __FILE__, __LINE__) #define Z_Malloc(size) Z_MallocNamed(size, __FILE__, __LINE__)
#define BZ_Realloc(ptr, size) BZ_NamedRealloc(ptr, size, __FILE__, __LINE__)
#endif #endif
void *Hunk_Alloc (int size); // returns 0 filled memory void *Hunk_Alloc (int size); // returns 0 filled memory

View File

@ -87,7 +87,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 comctl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /out:"../../fteqw.exe" /pdbtype:sept # ADD LINK32 comctl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib ws32_2.lib /nologo /subsystem:windows /debug /machine:I386 /out:"../../fteqw.exe" /pdbtype:sept
!ELSEIF "$(CFG)" == "ftequake - Win32 GLDebug" !ELSEIF "$(CFG)" == "ftequake - Win32 GLDebug"
@ -6535,6 +6535,10 @@ SOURCE=..\common\bothdefs.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\sw\d_ifacea.h
# End Source File
# Begin Source File
SOURCE=..\common\protocol.h SOURCE=..\common\protocol.h
# End Source File # End Source File
# End Group # End Group

View File

@ -27,6 +27,18 @@ Package=<4>
############################################################################### ###############################################################################
Project: "irc"=..\..\PLUGINS\IRC\irc.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "qcc"=..\qclib\qcc.dsp - Package Owner=<4> Project: "qcc"=..\qclib\qcc.dsp - Package Owner=<4>
Package=<5> Package=<5>
@ -39,6 +51,18 @@ Package=<4>
############################################################################### ###############################################################################
Project: "serverb"=..\..\PLUGINS\serverb\serverb.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global: Global:
Package=<5> Package=<5>

View File

@ -1468,21 +1468,6 @@ void GLDraw_ConsoleBackground (int lines)
{ {
GLDraw_AlphaPic (0, lines - vid.height, conback, (float)(1.2 * lines)/y); GLDraw_AlphaPic (0, lines - vid.height, conback, (float)(1.2 * lines)/y);
} }
/*
// hack the version number directly into the pic
// y = lines-186;
y = lines-14;
if (!cls.download) {
#ifdef __linux__
sprintf (ver, "LinuxGL (%4.2f) QuakeWorld", LINUX_VERSION);
#else
sprintf (ver, "GL (%4.2f) QuakeWorld", GLQUAKE_VERSION);
#endif
x = vid.conwidth - (strlen(ver)*8 + 11) - (vid.conwidth*8/320)*7;
for (i=0 ; i<strlen(ver) ; i++)
Draw_Character (x + i * 8, y, ver[i] | 0x80);
}
*/
} }
void GLDraw_EditorBackground (int lines) void GLDraw_EditorBackground (int lines)

View File

@ -1481,6 +1481,8 @@ void PPL_BaseEntTextures(void)
if (cl.viewentity[r_refdef.currentplayernum] && currententity->keynum == cl.viewentity[r_refdef.currentplayernum]) if (cl.viewentity[r_refdef.currentplayernum] && currententity->keynum == cl.viewentity[r_refdef.currentplayernum])
continue; continue;
if (!Cam_DrawPlayer(0, currententity->keynum-1))
continue;
if (!currententity->model) if (!currententity->model)
continue; continue;

View File

@ -741,6 +741,7 @@ R_PolyBlend
*/ */
void R_PolyBlend (void) void R_PolyBlend (void)
{ {
extern qboolean gammaworks;
if (!v_blend[3]) if (!v_blend[3])
return; return;

View File

@ -2617,6 +2617,8 @@ void SV_Impulse_f (void)
pr_global_struct->time = sv.time; pr_global_struct->time = sv.time;
memset (&svs.clients[i].edict->v, 0, pr_edict_size-svprogparms.edictsize);
svs.clients[i].edict->v.netname = PR_SetString(svprogfuncs, "Console"); svs.clients[i].edict->v.netname = PR_SetString(svprogfuncs, "Console");
pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, svs.clients[i].edict); pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, svs.clients[i].edict);
@ -2631,6 +2633,13 @@ void SV_Impulse_f (void)
pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, svs.clients[i].edict); pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, svs.clients[i].edict);
PR_ExecuteProgram (svprogfuncs, pr_global_struct->PlayerPreThink); PR_ExecuteProgram (svprogfuncs, pr_global_struct->PlayerPreThink);
pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, svs.clients[i].edict);
PR_ExecuteProgram (svprogfuncs, svs.clients[i].edict->v.think);
{
char buffer[256] = "self.ishuman";
pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, svs.clients[i].edict);
Con_Printf("Result: %s\n", svprogfuncs->EvaluateDebugString(svprogfuncs, buffer));
}
pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, svs.clients[i].edict); pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, svs.clients[i].edict);
PR_ExecuteProgram (svprogfuncs, pr_global_struct->PlayerPostThink); PR_ExecuteProgram (svprogfuncs, pr_global_struct->PlayerPostThink);

View File

@ -321,7 +321,7 @@ int SV_FlyMove (edict_t *ent, float time, trace_t *steptrace)
return 3; return 3;
} }
if (1) if (0)
{ {
ClipVelocity(ent->v.velocity, trace.plane.normal, ent->v.velocity, 1); ClipVelocity(ent->v.velocity, trace.plane.normal, ent->v.velocity, 1);
break; break;

View File

@ -3916,6 +3916,20 @@ haveannothergo:
cl->lastcmd = newcmd; cl->lastcmd = newcmd;
cl->lastcmd.buttons = 0; // avoid multiple fires on lag cl->lastcmd.buttons = 0; // avoid multiple fires on lag
if (msg_badread)
{
Con_Printf ("SV_ReadClientMessage: badread\n");
SV_DropClient (cl);
return;
}
c = MSG_ReadByte ();
if (c != clc_move)
{
host_client = cl = split;
sv_player = cl->edict;
goto haveannothergo;
}
continue; continue;
} }
SV_PreRunCmd(); SV_PreRunCmd();
@ -4661,5 +4675,7 @@ void SV_ClientThink (void)
} }
SV_AirMove (); SV_AirMove ();
Con_Printf("%f %f %f\n", sv_player->v.velocity[0], sv_player->v.velocity[1], sv_player->v.velocity[2]);
} }

View File

@ -49,12 +49,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define pt_org 0 #define pt_org 0
#define pt_color 12 #define pt_color 12
// drivers never touch the following fields // drivers never touch the following fields
#define pt_next 16 /*#define pt_next 16
#define pt_vel 20 #define pt_vel 20
#define pt_ramp 32 #define pt_ramp 32
#define pt_die 36 #define pt_die 36
#define pt_type 40 #define pt_type 40
#define pt_size 44 #define pt_size 44*/
#define PARTICLE_Z_CLIP 8.0 #define PARTICLE_Z_CLIP 8.0

View File

@ -752,7 +752,7 @@ void D_DrawSparkTrans32 (particle_t *pparticle) //draw a line in 3d space
if (pparticle->alpha <= 0.0) if (pparticle->alpha <= 0.0)
return; return;
speed = Length(pparticle->vel); speed = Length(pparticle->u.p.vel);
if ((speed) < 1) if ((speed) < 1)
{ {
D_2dPos(pparticle->org, &u1, &v1, &z1); D_2dPos(pparticle->org, &u1, &v1, &z1);
@ -762,9 +762,9 @@ void D_DrawSparkTrans32 (particle_t *pparticle) //draw a line in 3d space
{ //causes flickers with lower vels (due to bouncing in physics) { //causes flickers with lower vels (due to bouncing in physics)
if (speed < 50) if (speed < 50)
speed *= 50/speed; speed *= 50/speed;
VectorMA(pparticle->org, 5/(speed), pparticle->vel, delta); VectorMA(pparticle->org, 5/(speed), pparticle->u.p.vel, delta);
D_2dPos(delta, &u1, &v1, &z1); D_2dPos(delta, &u1, &v1, &z1);
VectorMA(pparticle->org, -5/(speed), pparticle->vel, delta); VectorMA(pparticle->org, -5/(speed), pparticle->u.p.vel, delta);
D_2dPos(delta, &u2, &v2, &z2); D_2dPos(delta, &u2, &v2, &z2);
} }
@ -851,7 +851,7 @@ void D_DrawSparkTrans16 (particle_t *pparticle) //draw a line in 3d space, 8bpp
if (pparticle->alpha <= 0.0) if (pparticle->alpha <= 0.0)
return; return;
speed = Length(pparticle->vel); speed = Length(pparticle->u.p.vel);
if ((speed) < 1) if ((speed) < 1)
{ {
D_2dPos(pparticle->org, &u1, &v1, &z1); D_2dPos(pparticle->org, &u1, &v1, &z1);
@ -861,9 +861,9 @@ void D_DrawSparkTrans16 (particle_t *pparticle) //draw a line in 3d space, 8bpp
{ //causes flickers with lower vels (due to bouncing in physics) { //causes flickers with lower vels (due to bouncing in physics)
if (speed < 50) if (speed < 50)
speed *= 50/speed; speed *= 50/speed;
VectorMA(pparticle->org, 2.5/(speed), pparticle->vel, delta); VectorMA(pparticle->org, 2.5/(speed), pparticle->u.p.vel, delta);
D_2dPos(delta, &u1, &v1, &z1); D_2dPos(delta, &u1, &v1, &z1);
VectorMA(pparticle->org, -2.5/(speed), pparticle->vel, delta); VectorMA(pparticle->org, -2.5/(speed), pparticle->u.p.vel, delta);
D_2dPos(delta, &u2, &v2, &z2); D_2dPos(delta, &u2, &v2, &z2);
} }
@ -955,7 +955,7 @@ void D_DrawSparkTrans (particle_t *pparticle) //draw a line in 3d space, 8bpp
if (t_state & TT_ZERO) if (t_state & TT_ZERO)
return; return;
speed = Length(pparticle->vel); speed = Length(pparticle->u.p.vel);
if ((speed) < 1) if ((speed) < 1)
{ {
D_2dPos(pparticle->org, &u1, &v1, &z1); D_2dPos(pparticle->org, &u1, &v1, &z1);
@ -965,9 +965,9 @@ void D_DrawSparkTrans (particle_t *pparticle) //draw a line in 3d space, 8bpp
{ //causes flickers with lower vels (due to bouncing in physics) { //causes flickers with lower vels (due to bouncing in physics)
if (speed < 50) if (speed < 50)
speed *= 50/speed; speed *= 50/speed;
VectorMA(pparticle->org, 2.5/(speed), pparticle->vel, delta); VectorMA(pparticle->org, 2.5/(speed), pparticle->u.p.vel, delta);
D_2dPos(delta, &u1, &v1, &z1); D_2dPos(delta, &u1, &v1, &z1);
VectorMA(pparticle->org, -2.5/(speed), pparticle->vel, delta); VectorMA(pparticle->org, -2.5/(speed), pparticle->u.p.vel, delta);
D_2dPos(delta, &u2, &v2, &z2); D_2dPos(delta, &u2, &v2, &z2);
} }

View File

@ -1639,43 +1639,8 @@ void SWDraw_ConsoleBackground (int lines)
//sprintf (ver, "start commands with a \\ character %4.2f", VERSION); //sprintf (ver, "start commands with a \\ character %4.2f", VERSION);
if (cls.downloadmethod) //don't cover the downloading bit. sprintf (ver, "%4.2f", VERSION);
{ dest = conback->data + 320 + 320*186 - 11 - 8*strlen(ver);
sprintf (ver, "%4.2f", VERSION);
dest = conback->data + 320 + 320*186 - 11 - 8*strlen(ver);
}
else
{
if (r_pixbytes == 4)
#ifdef DISTRIBUTION
#if defined(__linux__)
sprintf (ver, "rgb Linux (%4.2f) QuakeWorld %s %4.2f", LINUX_VERSION, DISTRIBUTION, VERSION);
#else
sprintf (ver, "rgb QuakeWorld %s %4.2f", DISTRIBUTION, VERSION);
#endif
#else
#if defined(__linux__)
sprintf (ver, "rgb Linux (%4.2f) QuakeWorld %4.2f", LINUX_VERSION, VERSION);
#else
sprintf (ver, "rgb QuakeWorld %4.2f", VERSION);
#endif
#endif
else
#ifdef DISTRIBUTION
#if defined(__linux__)
sprintf (ver, "Linux (%4.2f) QuakeWorld %s %4.2f", LINUX_VERSION, DISTRIBUTION, VERSION);
#else
sprintf (ver, "QuakeWorld %s %4.2f", DISTRIBUTION, VERSION);
#endif
#else
#if defined(__linux__)
sprintf (ver, "Linux (%4.2f) QuakeWorld %4.2f", LINUX_VERSION, VERSION);
#else
sprintf (ver, "QuakeWorld %4.2f", VERSION);
#endif
#endif
dest = conback->data + 320 - (strlen(ver)*8 + 11) + 320*186;
}
memcpy(saveback, conback->data + 320*186, 320*8); memcpy(saveback, conback->data + 320*186, 320*8);
for (x=0 ; x<strlen(ver) ; x++) for (x=0 ; x<strlen(ver) ; x++)