mirror of
https://github.com/UberGames/lilium-voyager.git
synced 2024-11-14 00:10:39 +00:00
Correct spelling mistakes.
This commit is contained in:
parent
14cb72f912
commit
fe42b8653d
105 changed files with 212 additions and 212 deletions
18
ChangeLog
18
ChangeLog
|
@ -634,7 +634,7 @@
|
||||||
#1 current directory
|
#1 current directory
|
||||||
#2 fs_homepath
|
#2 fs_homepath
|
||||||
#3 fs_basepath
|
#3 fs_basepath
|
||||||
this was needed to make mod developement easier
|
this was needed to make mod development easier
|
||||||
|
|
||||||
2001-10-09 Timothee Besset <ttimo@idsoftware.com>
|
2001-10-09 Timothee Besset <ttimo@idsoftware.com>
|
||||||
+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=51
|
+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=51
|
||||||
|
@ -814,7 +814,7 @@
|
||||||
* rebuilding 1.28b, various fixes on linux build:
|
* rebuilding 1.28b, various fixes on linux build:
|
||||||
- SetProgramPath was renamed to Sys_SetDefaultCDPath in unix_shared.c
|
- SetProgramPath was renamed to Sys_SetDefaultCDPath in unix_shared.c
|
||||||
updated unix_main.c accordingly
|
updated unix_main.c accordingly
|
||||||
- some prototypes in qgl.h are guarded by #ifndef GL_VERSION_1_2 (ARB extentions)
|
- some prototypes in qgl.h are guarded by #ifndef GL_VERSION_1_2 (ARB extensions)
|
||||||
those prototypes are needed by linux_glimp for importing functions and casting, added a #ifdef __linux__
|
those prototypes are needed by linux_glimp for importing functions and casting, added a #ifdef __linux__
|
||||||
(not a clean solution)
|
(not a clean solution)
|
||||||
- game/q_shared.h
|
- game/q_shared.h
|
||||||
|
@ -861,7 +861,7 @@
|
||||||
2001-04-23 Timothee Besset <ttimo@idsoftware.com>
|
2001-04-23 Timothee Besset <ttimo@idsoftware.com>
|
||||||
|
|
||||||
* cleanup the mod selection code, remove duplicates
|
* cleanup the mod selection code, remove duplicates
|
||||||
* some issues with release builds, my main developement box doesn't build stable binaries with release settings
|
* some issues with release builds, my main development box doesn't build stable binaries with release settings
|
||||||
removing -fomit-frame-pointer seems to fix (there's probably a performance hit)
|
removing -fomit-frame-pointer seems to fix (there's probably a performance hit)
|
||||||
see OMIT-FRAME-POINTER.txt
|
see OMIT-FRAME-POINTER.txt
|
||||||
|
|
||||||
|
@ -984,7 +984,7 @@
|
||||||
//* or // /* or variations of this. I reverted to exact mirror
|
//* or // /* or variations of this. I reverted to exact mirror
|
||||||
image of SOS to be sure - short of removing it's too easy to mistake
|
image of SOS to be sure - short of removing it's too easy to mistake
|
||||||
live code for dead one.
|
live code for dead one.
|
||||||
Later: have to change 5 occurences to avoid gcc complaints about
|
Later: have to change 5 occurrences to avoid gcc complaints about
|
||||||
nested comment tokens.
|
nested comment tokens.
|
||||||
TODO: somebody please get rid of the cruft in here.
|
TODO: somebody please get rid of the cruft in here.
|
||||||
|
|
||||||
|
@ -1235,7 +1235,7 @@
|
||||||
* code/game/g_cmds.c (G_SayTo): CON_CONNECTED.
|
* code/game/g_cmds.c (G_SayTo): CON_CONNECTED.
|
||||||
* code/game/ai_main.c: HOOK added (SOS).
|
* code/game/ai_main.c: HOOK added (SOS).
|
||||||
* code/botlib/be_aas_move.c (AAS_HorizontalVelocityForJump):
|
* code/botlib/be_aas_move.c (AAS_HorizontalVelocityForJump):
|
||||||
correct fix for FPE occuring (SOS).
|
correct fix for FPE occurring (SOS).
|
||||||
* code/game/ai_dmq3.c: initmove.viewoffset (SOS).
|
* code/game/ai_dmq3.c: initmove.viewoffset (SOS).
|
||||||
|
|
||||||
* code/game/q_math.c: guard asser/isnan with Q3_VM (q3asm).
|
* code/game/q_math.c: guard asser/isnan with Q3_VM (q3asm).
|
||||||
|
@ -1679,7 +1679,7 @@
|
||||||
* code/game/q_shared.c: Q_strncpyz does zero padding (duh).
|
* code/game/q_shared.c: Q_strncpyz does zero padding (duh).
|
||||||
Note: calls strncpy, which does a zero fill up to destsize.
|
Note: calls strncpy, which does a zero fill up to destsize.
|
||||||
If destsize exceeds memory size, zero padding will overwrite
|
If destsize exceeds memory size, zero padding will overwrite
|
||||||
adjacent memory. Suspicion was this happend to botimport.
|
adjacent memory. Suspicion was this happened to botimport.
|
||||||
|
|
||||||
* code/qcommon/cvar.c: possible problem in Q_strncpyz call.
|
* code/qcommon/cvar.c: possible problem in Q_strncpyz call.
|
||||||
|
|
||||||
|
@ -1783,7 +1783,7 @@
|
||||||
* TEST: running with RC4 data files.
|
* TEST: running with RC4 data files.
|
||||||
TODO: "bot library used before setup" (Q3+TA)
|
TODO: "bot library used before setup" (Q3+TA)
|
||||||
TODO: Q3 old mods wreak havoc (graceful bounce)
|
TODO: Q3 old mods wreak havoc (graceful bounce)
|
||||||
TODO: supress "FreeType code not available" in renderer
|
TODO: suppress "FreeType code not available" in renderer
|
||||||
TODO: can't move in Q3
|
TODO: can't move in Q3
|
||||||
TODO: items flicker in Q3
|
TODO: items flicker in Q3
|
||||||
TODO: no decals in Q3
|
TODO: no decals in Q3
|
||||||
|
@ -2015,7 +2015,7 @@
|
||||||
|
|
||||||
* TEST: tried executing a script - get bounced.
|
* TEST: tried executing a script - get bounced.
|
||||||
TODO: is there any way to jump into a map?
|
TODO: is there any way to jump into a map?
|
||||||
TODO: cl_cinematics 0 (supress all fullscreen RoQ)
|
TODO: cl_cinematics 0 (suppress all fullscreen RoQ)
|
||||||
Next: used r_logfile 200 in Win32 (RC4) and Linux.
|
Next: used r_logfile 200 in Win32 (RC4) and Linux.
|
||||||
There is a buckload of setup code seemingly not done
|
There is a buckload of setup code seemingly not done
|
||||||
at all in Linux? Either that, or logging is enabled
|
at all in Linux? Either that, or logging is enabled
|
||||||
|
@ -2983,7 +2983,7 @@
|
||||||
Modules:
|
Modules:
|
||||||
code: the Q3 engine code, including a jpeg-6/ copy
|
code: the Q3 engine code, including a jpeg-6/ copy
|
||||||
common: code shared by tools
|
common: code shared by tools
|
||||||
libs: code shared by tools, inlcuding a jpeg6/ copy
|
libs: code shared by tools, including a jpeg6/ copy
|
||||||
q3asm: VM bytecode assembly
|
q3asm: VM bytecode assembly
|
||||||
q3data: misc. Q3 data conversions
|
q3data: misc. Q3 data conversions
|
||||||
q3map: BSP builder
|
q3map: BSP builder
|
||||||
|
|
|
@ -191,7 +191,7 @@ typedef struct aas_edge_s
|
||||||
//edge index, negative if vertexes are reversed
|
//edge index, negative if vertexes are reversed
|
||||||
typedef int aas_edgeindex_t;
|
typedef int aas_edgeindex_t;
|
||||||
|
|
||||||
//a face bounds an area, often it will also seperate two areas
|
//a face bounds an area, often it will also separate two areas
|
||||||
typedef struct aas_face_s
|
typedef struct aas_face_s
|
||||||
{
|
{
|
||||||
int planenum; //number of the plane this face is in
|
int planenum; //number of the plane this face is in
|
||||||
|
|
|
@ -70,7 +70,7 @@ typedef struct bsp_entity_s
|
||||||
bsp_epair_t *epairs;
|
bsp_epair_t *epairs;
|
||||||
} bsp_entity_t;
|
} bsp_entity_t;
|
||||||
|
|
||||||
//id Sofware BSP data
|
//id Software BSP data
|
||||||
typedef struct bsp_s
|
typedef struct bsp_s
|
||||||
{
|
{
|
||||||
//true when bsp file is loaded
|
//true when bsp file is loaded
|
||||||
|
|
|
@ -1168,7 +1168,7 @@ void AAS_RemoveNotClusterClosingPortals(void)
|
||||||
if (aasworld.areasettings[otherareanum].contents & AREACONTENTS_CLUSTERPORTAL) continue;
|
if (aasworld.areasettings[otherareanum].contents & AREACONTENTS_CLUSTERPORTAL) continue;
|
||||||
//if the area already has a cluster set
|
//if the area already has a cluster set
|
||||||
if (aasworld.areasettings[otherareanum].cluster) continue;
|
if (aasworld.areasettings[otherareanum].cluster) continue;
|
||||||
//another cluster is seperated by this portal
|
//another cluster is separated by this portal
|
||||||
numseperatedclusters++;
|
numseperatedclusters++;
|
||||||
//flood the cluster
|
//flood the cluster
|
||||||
AAS_FloodCluster_r(otherareanum, numseperatedclusters);
|
AAS_FloodCluster_r(otherareanum, numseperatedclusters);
|
||||||
|
@ -1185,13 +1185,13 @@ void AAS_RemoveNotClusterClosingPortals(void)
|
||||||
if (aasworld.areasettings[otherareanum].contents & AREACONTENTS_CLUSTERPORTAL) continue;
|
if (aasworld.areasettings[otherareanum].contents & AREACONTENTS_CLUSTERPORTAL) continue;
|
||||||
//if the area already has a cluster set
|
//if the area already has a cluster set
|
||||||
if (aasworld.areasettings[otherareanum].cluster) continue;
|
if (aasworld.areasettings[otherareanum].cluster) continue;
|
||||||
//another cluster is seperated by this portal
|
//another cluster is separated by this portal
|
||||||
numseperatedclusters++;
|
numseperatedclusters++;
|
||||||
//flood the cluster
|
//flood the cluster
|
||||||
AAS_FloodCluster_r(otherareanum, numseperatedclusters);
|
AAS_FloodCluster_r(otherareanum, numseperatedclusters);
|
||||||
AAS_FloodClusterReachabilities(numseperatedclusters);
|
AAS_FloodClusterReachabilities(numseperatedclusters);
|
||||||
} //end for
|
} //end for
|
||||||
//a portal must seperate no more and no less than 2 clusters
|
//a portal must separate no more and no less than 2 clusters
|
||||||
if (numseperatedclusters != 2)
|
if (numseperatedclusters != 2)
|
||||||
{
|
{
|
||||||
aasworld.areasettings[i].contents &= ~AREACONTENTS_CLUSTERPORTAL;
|
aasworld.areasettings[i].contents &= ~AREACONTENTS_CLUSTERPORTAL;
|
||||||
|
|
|
@ -241,7 +241,7 @@ int AAS_LoadFiles(const char *mapname)
|
||||||
return BLERR_NOERROR;
|
return BLERR_NOERROR;
|
||||||
} //end of the function AAS_LoadFiles
|
} //end of the function AAS_LoadFiles
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
// called everytime a map changes
|
// called every time a map changes
|
||||||
//
|
//
|
||||||
// Parameter: -
|
// Parameter: -
|
||||||
// Returns: -
|
// Returns: -
|
||||||
|
|
|
@ -1416,7 +1416,7 @@ int AAS_Reachability_Step_Barrier_WaterJump_WalkOffLedge(int area1num, int area2
|
||||||
//if there IS water the sv_maxwaterjump height below the bestend point
|
//if there IS water the sv_maxwaterjump height below the bestend point
|
||||||
if (aasworld.areasettings[AAS_PointAreaNum(testpoint)].areaflags & AREA_LIQUID)
|
if (aasworld.areasettings[AAS_PointAreaNum(testpoint)].areaflags & AREA_LIQUID)
|
||||||
{
|
{
|
||||||
//don't create rediculous water jump reachabilities from areas very far below
|
//don't create ridiculous water jump reachabilities from areas very far below
|
||||||
//the water surface
|
//the water surface
|
||||||
if (water_bestdist < aassettings.phys_maxwaterjump + 24)
|
if (water_bestdist < aassettings.phys_maxwaterjump + 24)
|
||||||
{
|
{
|
||||||
|
@ -3054,7 +3054,7 @@ void AAS_Reachability_Elevator(void)
|
||||||
bottomorg[2] += 24;
|
bottomorg[2] += 24;
|
||||||
} //end else
|
} //end else
|
||||||
//look at adjacent areas around the top of the plat
|
//look at adjacent areas around the top of the plat
|
||||||
//make larger steps to outside the plat everytime
|
//make larger steps to outside the plat every time
|
||||||
for (n = 0; n < 3; n++)
|
for (n = 0; n < 3; n++)
|
||||||
{
|
{
|
||||||
for (k = 0; k < 3; k++)
|
for (k = 0; k < 3; k++)
|
||||||
|
|
|
@ -688,7 +688,7 @@ aas_trace_t AAS_TraceClientBBox(vec3_t start, vec3_t end, int presencetype,
|
||||||
side = front < 0;
|
side = front < 0;
|
||||||
//first put the end part of the line on the stack (back side)
|
//first put the end part of the line on the stack (back side)
|
||||||
VectorCopy(cur_mid, tstack_p->start);
|
VectorCopy(cur_mid, tstack_p->start);
|
||||||
//not necesary to store because still on stack
|
//not necessary to store because still on stack
|
||||||
//VectorCopy(cur_end, tstack_p->end);
|
//VectorCopy(cur_end, tstack_p->end);
|
||||||
tstack_p->planenum = aasnode->planenum;
|
tstack_p->planenum = aasnode->planenum;
|
||||||
tstack_p->nodenum = aasnode->children[!side];
|
tstack_p->nodenum = aasnode->children[!side];
|
||||||
|
@ -874,7 +874,7 @@ int AAS_TraceAreas(vec3_t start, vec3_t end, int *areas, vec3_t *points, int max
|
||||||
side = front < 0;
|
side = front < 0;
|
||||||
//first put the end part of the line on the stack (back side)
|
//first put the end part of the line on the stack (back side)
|
||||||
VectorCopy(cur_mid, tstack_p->start);
|
VectorCopy(cur_mid, tstack_p->start);
|
||||||
//not necesary to store because still on stack
|
//not necessary to store because still on stack
|
||||||
//VectorCopy(cur_end, tstack_p->end);
|
//VectorCopy(cur_end, tstack_p->end);
|
||||||
tstack_p->planenum = aasnode->planenum;
|
tstack_p->planenum = aasnode->planenum;
|
||||||
tstack_p->nodenum = aasnode->children[!side];
|
tstack_p->nodenum = aasnode->children[!side];
|
||||||
|
@ -959,7 +959,7 @@ qboolean AAS_InsideFace(aas_face_t *face, vec3_t pnormal, vec3_t point, float ep
|
||||||
//edge) and through both the edge vector and the normal vector
|
//edge) and through both the edge vector and the normal vector
|
||||||
//of the plane
|
//of the plane
|
||||||
AAS_OrthogonalToVectors(edgevec, pnormal, sepnormal);
|
AAS_OrthogonalToVectors(edgevec, pnormal, sepnormal);
|
||||||
//check on wich side of the above plane the point is
|
//check on which side of the above plane the point is
|
||||||
//this is done by checking the sign of the dot product of the
|
//this is done by checking the sign of the dot product of the
|
||||||
//vector orthogonal vector from above and the vector from the
|
//vector orthogonal vector from above and the vector from the
|
||||||
//origin (first vertex of edge) to the point
|
//origin (first vertex of edge) to the point
|
||||||
|
|
|
@ -553,11 +553,11 @@ void StringReplaceWords(char *string, char *synonym, char *replacement)
|
||||||
|
|
||||||
//find the synonym in the string
|
//find the synonym in the string
|
||||||
str = StringContainsWord(string, synonym, qfalse);
|
str = StringContainsWord(string, synonym, qfalse);
|
||||||
//if the synonym occured in the string
|
//if the synonym occurred in the string
|
||||||
while(str)
|
while(str)
|
||||||
{
|
{
|
||||||
//if the synonym isn't part of the replacement which is already in the string
|
//if the synonym isn't part of the replacement which is already in the string
|
||||||
//usefull for abreviations
|
//useful for abreviations
|
||||||
str2 = StringContainsWord(string, replacement, qfalse);
|
str2 = StringContainsWord(string, replacement, qfalse);
|
||||||
while(str2)
|
while(str2)
|
||||||
{
|
{
|
||||||
|
|
|
@ -62,7 +62,7 @@ int GeneticSelection(int numranks, float *rankings)
|
||||||
} //end for
|
} //end for
|
||||||
if (sum > 0)
|
if (sum > 0)
|
||||||
{
|
{
|
||||||
//select a bot where the ones with the higest rankings have
|
//select a bot where the ones with the highest rankings have
|
||||||
//the highest chance of being selected
|
//the highest chance of being selected
|
||||||
//sum *= random();
|
//sum *= random();
|
||||||
for (i = 0; i < numranks; i++)
|
for (i = 0; i < numranks; i++)
|
||||||
|
|
|
@ -1605,7 +1605,7 @@ bot_moveresult_t BotTravel_WalkOffLedge(bot_movestate_t *ms, aas_reachability_t
|
||||||
VectorSubtract(reach->start, ms->origin, dir);
|
VectorSubtract(reach->start, ms->origin, dir);
|
||||||
VectorNormalize(dir);
|
VectorNormalize(dir);
|
||||||
BotCheckBlocked(ms, dir, qtrue, &result);
|
BotCheckBlocked(ms, dir, qtrue, &result);
|
||||||
//if the reachability start and end are practially above each other
|
//if the reachability start and end are practically above each other
|
||||||
VectorSubtract(reach->end, reach->start, dir);
|
VectorSubtract(reach->end, reach->start, dir);
|
||||||
dir[2] = 0;
|
dir[2] = 0;
|
||||||
reachhordist = VectorLength(dir);
|
reachhordist = VectorLength(dir);
|
||||||
|
@ -2744,7 +2744,7 @@ bot_moveresult_t BotTravel_RocketJump(bot_movestate_t *ms, aas_reachability_t *r
|
||||||
result.ideal_viewangles[PITCH] = 90;
|
result.ideal_viewangles[PITCH] = 90;
|
||||||
//set the view angles directly
|
//set the view angles directly
|
||||||
EA_View(ms->client, result.ideal_viewangles);
|
EA_View(ms->client, result.ideal_viewangles);
|
||||||
//view is important for the movment
|
//view is important for the movement
|
||||||
result.flags |= MOVERESULT_MOVEMENTVIEWSET;
|
result.flags |= MOVERESULT_MOVEMENTVIEWSET;
|
||||||
//select the rocket launcher
|
//select the rocket launcher
|
||||||
EA_SelectWeapon(ms->client, (int) weapindex_rocketlauncher->value);
|
EA_SelectWeapon(ms->client, (int) weapindex_rocketlauncher->value);
|
||||||
|
@ -2804,7 +2804,7 @@ bot_moveresult_t BotTravel_BFGJump(bot_movestate_t *ms, aas_reachability_t *reac
|
||||||
result.ideal_viewangles[PITCH] = 90;
|
result.ideal_viewangles[PITCH] = 90;
|
||||||
//set the view angles directly
|
//set the view angles directly
|
||||||
EA_View(ms->client, result.ideal_viewangles);
|
EA_View(ms->client, result.ideal_viewangles);
|
||||||
//view is important for the movment
|
//view is important for the movement
|
||||||
result.flags |= MOVERESULT_MOVEMENTVIEWSET;
|
result.flags |= MOVERESULT_MOVEMENTVIEWSET;
|
||||||
//select the rocket launcher
|
//select the rocket launcher
|
||||||
EA_SelectWeapon(ms->client, (int) weapindex_bfg10k->value);
|
EA_SelectWeapon(ms->client, (int) weapindex_bfg10k->value);
|
||||||
|
|
|
@ -726,7 +726,7 @@ void EvolveFuzzySeperator_r(fuzzyseperator_t *fs)
|
||||||
//every once in a while an evolution leap occurs, mutation
|
//every once in a while an evolution leap occurs, mutation
|
||||||
if (random() < 0.01) fs->weight += crandom() * (fs->maxweight - fs->minweight);
|
if (random() < 0.01) fs->weight += crandom() * (fs->maxweight - fs->minweight);
|
||||||
else fs->weight += crandom() * (fs->maxweight - fs->minweight) * 0.5;
|
else fs->weight += crandom() * (fs->maxweight - fs->minweight) * 0.5;
|
||||||
//modify bounds if necesary because of mutation
|
//modify bounds if necessary because of mutation
|
||||||
if (fs->weight < fs->minweight) fs->minweight = fs->weight;
|
if (fs->weight < fs->minweight) fs->minweight = fs->weight;
|
||||||
else if (fs->weight > fs->maxweight) fs->maxweight = fs->weight;
|
else if (fs->weight > fs->maxweight) fs->maxweight = fs->weight;
|
||||||
} //end else if
|
} //end else if
|
||||||
|
|
|
@ -64,7 +64,7 @@ typedef struct weightconfig_s
|
||||||
weightconfig_t *ReadWeightConfig(char *filename);
|
weightconfig_t *ReadWeightConfig(char *filename);
|
||||||
//free a weight configuration
|
//free a weight configuration
|
||||||
void FreeWeightConfig(weightconfig_t *config);
|
void FreeWeightConfig(weightconfig_t *config);
|
||||||
//writes a weight configuration, returns true if successfull
|
//writes a weight configuration, returns true if successful
|
||||||
qboolean WriteWeightConfig(char *filename, weightconfig_t *config);
|
qboolean WriteWeightConfig(char *filename, weightconfig_t *config);
|
||||||
//find the fuzzy weight with the given name
|
//find the fuzzy weight with the given name
|
||||||
int FindFuzzyWeight(weightconfig_t *wc, char *name);
|
int FindFuzzyWeight(weightconfig_t *wc, char *name);
|
||||||
|
|
|
@ -218,7 +218,7 @@ char *PunctuationFromNum(script_t *script, int num)
|
||||||
{
|
{
|
||||||
if (script->punctuations[i].n == num) return script->punctuations[i].p;
|
if (script->punctuations[i].n == num) return script->punctuations[i].p;
|
||||||
} //end for
|
} //end for
|
||||||
return "unkown punctuation";
|
return "unknown punctuation";
|
||||||
} //end of the function PunctuationFromNum
|
} //end of the function PunctuationFromNum
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//
|
//
|
||||||
|
@ -836,7 +836,7 @@ int PS_ReadPrimitive(script_t *script, token_t *token)
|
||||||
token->string[len] = 0;
|
token->string[len] = 0;
|
||||||
//copy the token into the script structure
|
//copy the token into the script structure
|
||||||
Com_Memcpy(&script->token, token, sizeof(token_t));
|
Com_Memcpy(&script->token, token, sizeof(token_t));
|
||||||
//primitive reading successfull
|
//primitive reading successful
|
||||||
return 1;
|
return 1;
|
||||||
} //end of the function PS_ReadPrimitive
|
} //end of the function PS_ReadPrimitive
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
|
@ -197,7 +197,7 @@ typedef struct centity_s {
|
||||||
//======================================================================
|
//======================================================================
|
||||||
|
|
||||||
// local entities are created as a result of events or predicted actions,
|
// local entities are created as a result of events or predicted actions,
|
||||||
// and live independantly from all server transmitted entities
|
// and live independently from all server transmitted entities
|
||||||
|
|
||||||
typedef struct markPoly_s {
|
typedef struct markPoly_s {
|
||||||
struct markPoly_s *prevMark, *nextMark;
|
struct markPoly_s *prevMark, *nextMark;
|
||||||
|
@ -458,7 +458,7 @@ typedef struct {
|
||||||
qboolean loading; // don't defer players at initial startup
|
qboolean loading; // don't defer players at initial startup
|
||||||
qboolean intermissionStarted; // don't play voice rewards, because game will end shortly
|
qboolean intermissionStarted; // don't play voice rewards, because game will end shortly
|
||||||
|
|
||||||
// there are only one or two snapshot_t that are relevent at a time
|
// there are only one or two snapshot_t that are relevant at a time
|
||||||
int latestSnapshotNum; // the number of snapshots the client system has received
|
int latestSnapshotNum; // the number of snapshots the client system has received
|
||||||
int latestSnapshotTime; // the time from latestSnapshotNum, so we don't need to read the snapshot yet
|
int latestSnapshotTime; // the time from latestSnapshotNum, so we don't need to read the snapshot yet
|
||||||
|
|
||||||
|
@ -601,7 +601,7 @@ typedef struct {
|
||||||
|
|
||||||
int itemPickup;
|
int itemPickup;
|
||||||
int itemPickupTime;
|
int itemPickupTime;
|
||||||
int itemPickupBlendTime; // the pulse around the crosshair is timed seperately
|
int itemPickupBlendTime; // the pulse around the crosshair is timed separately
|
||||||
|
|
||||||
int weaponSelectTime;
|
int weaponSelectTime;
|
||||||
int weaponAnimation;
|
int weaponAnimation;
|
||||||
|
@ -1613,7 +1613,7 @@ void trap_GetGlconfig( glconfig_t *glconfig );
|
||||||
void trap_GetGameState( gameState_t *gamestate );
|
void trap_GetGameState( gameState_t *gamestate );
|
||||||
|
|
||||||
// cgame will poll each frame to see if a newer snapshot has arrived
|
// cgame will poll each frame to see if a newer snapshot has arrived
|
||||||
// that it is interested in. The time is returned seperately so that
|
// that it is interested in. The time is returned separately so that
|
||||||
// snapshot latency can be calculated.
|
// snapshot latency can be calculated.
|
||||||
void trap_GetCurrentSnapshotNumber( int *snapshotNumber, int *serverTime );
|
void trap_GetCurrentSnapshotNumber( int *snapshotNumber, int *serverTime );
|
||||||
|
|
||||||
|
|
|
@ -499,7 +499,7 @@ static void CG_RegisterItemSounds( int itemNum ) {
|
||||||
trap_S_RegisterSound( item->pickup_sound, qfalse );
|
trap_S_RegisterSound( item->pickup_sound, qfalse );
|
||||||
}
|
}
|
||||||
|
|
||||||
// parse the space seperated precache string for other media
|
// parse the space separated precache string for other media
|
||||||
s = item->sounds;
|
s = item->sounds;
|
||||||
if (!s || !s[0])
|
if (!s || !s[0])
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1371,7 +1371,7 @@ static void CG_AddPainTwitch( centity_t *cent, vec3_t torsoAngles ) {
|
||||||
===============
|
===============
|
||||||
CG_PlayerAngles
|
CG_PlayerAngles
|
||||||
|
|
||||||
Handles seperate torso motion
|
Handles separate torso motion
|
||||||
|
|
||||||
legs pivot based on direction of movement
|
legs pivot based on direction of movement
|
||||||
|
|
||||||
|
|
|
@ -206,7 +206,7 @@ typedef enum {
|
||||||
|
|
||||||
CG_SHUTDOWN,
|
CG_SHUTDOWN,
|
||||||
// void (*CG_Shutdown)( void );
|
// void (*CG_Shutdown)( void );
|
||||||
// oportunity to flush and close any open files
|
// opportunity to flush and close any open files
|
||||||
|
|
||||||
CG_CONSOLE_COMMAND,
|
CG_CONSOLE_COMMAND,
|
||||||
// qboolean (*CG_ConsoleCommand)( void );
|
// qboolean (*CG_ConsoleCommand)( void );
|
||||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
//
|
//
|
||||||
// cg_servercmds.c -- reliably sequenced text commands sent by the server
|
// cg_servercmds.c -- reliably sequenced text commands sent by the server
|
||||||
// these are processed at snapshot transition time, so there will definately
|
// these are processed at snapshot transition time, so there will definitely
|
||||||
// be a valid snapshot this frame
|
// be a valid snapshot this frame
|
||||||
|
|
||||||
#include "cg_local.h"
|
#include "cg_local.h"
|
||||||
|
|
|
@ -137,7 +137,7 @@ static void CG_TransitionSnapshot( void ) {
|
||||||
// execute any server string commands before transitioning entities
|
// execute any server string commands before transitioning entities
|
||||||
CG_ExecuteNewServerCommands( cg.nextSnap->serverCommandSequence );
|
CG_ExecuteNewServerCommands( cg.nextSnap->serverCommandSequence );
|
||||||
|
|
||||||
// if we had a map_restart, set everthing with initial
|
// if we had a map_restart, set everything with initial
|
||||||
if ( cg.mapRestart ) {
|
if ( cg.mapRestart ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ Testmodel will create a fake entity 100 units in front of the current view
|
||||||
position, directly facing the viewer. It will remain immobile, so you can
|
position, directly facing the viewer. It will remain immobile, so you can
|
||||||
move around it to view it from different angles.
|
move around it to view it from different angles.
|
||||||
|
|
||||||
Testgun will cause the model to follow the player around and supress the real
|
Testgun will cause the model to follow the player around and suppress the real
|
||||||
view weapon model. The default frame 0 of most guns is completely off screen,
|
view weapon model. The default frame 0 of most guns is completely off screen,
|
||||||
so you will probably have to cycle a couple frames to see it.
|
so you will probably have to cycle a couple frames to see it.
|
||||||
|
|
||||||
|
|
|
@ -1289,7 +1289,7 @@ void CG_AddPlayerWeapon( refEntity_t *parent, playerState_t *ps, centity_t *cent
|
||||||
nonPredictedCent = &cg_entities[cent->currentState.clientNum];
|
nonPredictedCent = &cg_entities[cent->currentState.clientNum];
|
||||||
|
|
||||||
// if the index of the nonPredictedCent is not the same as the clientNum
|
// if the index of the nonPredictedCent is not the same as the clientNum
|
||||||
// then this is a fake player (like on teh single player podiums), so
|
// then this is a fake player (like on the single player podiums), so
|
||||||
// go ahead and use the cent
|
// go ahead and use the cent
|
||||||
if( ( nonPredictedCent - cg_entities ) != cent->currentState.clientNum ) {
|
if( ( nonPredictedCent - cg_entities ) != cent->currentState.clientNum ) {
|
||||||
nonPredictedCent = cent;
|
nonPredictedCent = cent;
|
||||||
|
|
|
@ -341,7 +341,7 @@ rescan:
|
||||||
// the clientLevelShot command is used during development
|
// the clientLevelShot command is used during development
|
||||||
// to generate 128*128 screenshots from the intermission
|
// to generate 128*128 screenshots from the intermission
|
||||||
// point of levels for the menu system to use
|
// point of levels for the menu system to use
|
||||||
// we pass it along to the cgame to make apropriate adjustments,
|
// we pass it along to the cgame to make appropriate adjustments,
|
||||||
// but we also clear the console and notify lines here
|
// but we also clear the console and notify lines here
|
||||||
if ( !strcmp( cmd, "clientLevelShot" ) ) {
|
if ( !strcmp( cmd, "clientLevelShot" ) ) {
|
||||||
// don't do it if we aren't running the server locally,
|
// don't do it if we aren't running the server locally,
|
||||||
|
@ -1026,7 +1026,7 @@ void CL_SetCGameTime( void ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we are playing a demo back, we can just keep reading
|
// if we are playing a demo back, we can just keep reading
|
||||||
// messages from the demo file until the cgame definately
|
// messages from the demo file until the cgame definitely
|
||||||
// has valid snapshots to interpolate between
|
// has valid snapshots to interpolate between
|
||||||
|
|
||||||
// a timedemo will always use a deterministic set of time samples
|
// a timedemo will always use a deterministic set of time samples
|
||||||
|
|
|
@ -320,7 +320,7 @@ void CL_KeyMove( usercmd_t *cmd ) {
|
||||||
|
|
||||||
//
|
//
|
||||||
// adjust for speed key / running
|
// adjust for speed key / running
|
||||||
// the walking flag is to keep animations consistant
|
// the walking flag is to keep animations consistent
|
||||||
// even during acceleration and develeration
|
// even during acceleration and develeration
|
||||||
//
|
//
|
||||||
if ( in_speed.active ^ cl_run->integer ) {
|
if ( in_speed.active ^ cl_run->integer ) {
|
||||||
|
|
|
@ -177,7 +177,7 @@ keyname_t keynames[] =
|
||||||
|
|
||||||
{"PAUSE", K_PAUSE},
|
{"PAUSE", K_PAUSE},
|
||||||
|
|
||||||
{"SEMICOLON", ';'}, // because a raw semicolon seperates commands
|
{"SEMICOLON", ';'}, // because a raw semicolon separates commands
|
||||||
|
|
||||||
{"WORLD_0", K_WORLD_0},
|
{"WORLD_0", K_WORLD_0},
|
||||||
{"WORLD_1", K_WORLD_1},
|
{"WORLD_1", K_WORLD_1},
|
||||||
|
@ -919,7 +919,7 @@ void Key_SetBinding( int keynum, const char *binding ) {
|
||||||
keys[keynum].binding = CopyString( binding );
|
keys[keynum].binding = CopyString( binding );
|
||||||
|
|
||||||
// consider this like modifying an archived cvar, so the
|
// consider this like modifying an archived cvar, so the
|
||||||
// file write will be triggered at the next oportunity
|
// file write will be triggered at the next opportunity
|
||||||
cvar_modifiedFlags |= CVAR_ARCHIVE;
|
cvar_modifiedFlags |= CVAR_ARCHIVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1305,7 +1305,7 @@ void CL_KeyDownEvent( int key, unsigned time )
|
||||||
// send the bound action
|
// send the bound action
|
||||||
CL_ParseBinding( key, qtrue, time );
|
CL_ParseBinding( key, qtrue, time );
|
||||||
|
|
||||||
// distribute the key down event to the apropriate handler
|
// distribute the key down event to the appropriate handler
|
||||||
if ( Key_GetCatcher( ) & KEYCATCH_CONSOLE ) {
|
if ( Key_GetCatcher( ) & KEYCATCH_CONSOLE ) {
|
||||||
Console_Key( key );
|
Console_Key( key );
|
||||||
} else if ( Key_GetCatcher( ) & KEYCATCH_UI ) {
|
} else if ( Key_GetCatcher( ) & KEYCATCH_UI ) {
|
||||||
|
@ -1387,7 +1387,7 @@ void CL_CharEvent( int key ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// distribute the key down event to the apropriate handler
|
// distribute the key down event to the appropriate handler
|
||||||
if ( Key_GetCatcher( ) & KEYCATCH_CONSOLE )
|
if ( Key_GetCatcher( ) & KEYCATCH_CONSOLE )
|
||||||
{
|
{
|
||||||
Field_CharEvent( &g_consoleField, key );
|
Field_CharEvent( &g_consoleField, key );
|
||||||
|
|
|
@ -573,7 +573,7 @@ CLIENT RELIABLE COMMAND COMMUNICATION
|
||||||
======================
|
======================
|
||||||
CL_AddReliableCommand
|
CL_AddReliableCommand
|
||||||
|
|
||||||
The given command will be transmitted to the server, and is gauranteed to
|
The given command will be transmitted to the server, and is guaranteed to
|
||||||
not have future usercmd_t executed before it is executed
|
not have future usercmd_t executed before it is executed
|
||||||
======================
|
======================
|
||||||
*/
|
*/
|
||||||
|
@ -1960,7 +1960,7 @@ void CL_Vid_Restart_f( void ) {
|
||||||
CL_ShutdownCGame();
|
CL_ShutdownCGame();
|
||||||
// shutdown the renderer and clear the renderer interface
|
// shutdown the renderer and clear the renderer interface
|
||||||
CL_ShutdownRef();
|
CL_ShutdownRef();
|
||||||
// client is no longer pure untill new checksums are sent
|
// client is no longer pure until new checksums are sent
|
||||||
CL_ResetPureClientAtServer();
|
CL_ResetPureClientAtServer();
|
||||||
// clear pak references
|
// clear pak references
|
||||||
FS_ClearPakReferences( FS_UI_REF | FS_CGAME_REF );
|
FS_ClearPakReferences( FS_UI_REF | FS_CGAME_REF );
|
||||||
|
@ -1971,7 +1971,7 @@ void CL_Vid_Restart_f( void ) {
|
||||||
cls.cgameStarted = qfalse;
|
cls.cgameStarted = qfalse;
|
||||||
cls.soundRegistered = qfalse;
|
cls.soundRegistered = qfalse;
|
||||||
|
|
||||||
// unpause so the cgame definately gets a snapshot and renders a frame
|
// unpause so the cgame definitely gets a snapshot and renders a frame
|
||||||
Cvar_Set("cl_paused", "0");
|
Cvar_Set("cl_paused", "0");
|
||||||
|
|
||||||
// initialize the renderer interface
|
// initialize the renderer interface
|
||||||
|
@ -3301,7 +3301,7 @@ void CL_InitRef( void ) {
|
||||||
|
|
||||||
re = *ret;
|
re = *ret;
|
||||||
|
|
||||||
// unpause so the cgame definately gets a snapshot and renders a frame
|
// unpause so the cgame definitely gets a snapshot and renders a frame
|
||||||
Cvar_Set( "cl_paused", "0" );
|
Cvar_Set( "cl_paused", "0" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
/*
|
/*
|
||||||
** Intel/DVI ADPCM coder/decoder.
|
** Intel/DVI ADPCM coder/decoder.
|
||||||
**
|
**
|
||||||
** The algorithm for this coder was taken from the IMA Compatability Project
|
** The algorithm for this coder was taken from the IMA Compatibility Project
|
||||||
** proceedings, Vol 2, Number 2; May 1992.
|
** proceedings, Vol 2, Number 2; May 1992.
|
||||||
**
|
**
|
||||||
** Version 1.2, 18-Dec-92.
|
** Version 1.2, 18-Dec-92.
|
||||||
|
|
|
@ -432,7 +432,7 @@ void S_SpatializeOrigin (vec3_t origin, int master_vol, int *left_vol, int *righ
|
||||||
|
|
||||||
const float dist_mult = SOUND_ATTENUATE;
|
const float dist_mult = SOUND_ATTENUATE;
|
||||||
|
|
||||||
// calculate stereo seperation and distance attenuation
|
// calculate stereo separation and distance attenuation
|
||||||
VectorSubtract(origin, listener_origin, source_vec);
|
VectorSubtract(origin, listener_origin, source_vec);
|
||||||
|
|
||||||
dist = VectorNormalize(source_vec);
|
dist = VectorNormalize(source_vec);
|
||||||
|
|
|
@ -515,7 +515,7 @@ static void S_PaintChannelFrom16_scalar( channel_t *ch, const sfx_t *sc, int cou
|
||||||
static void S_PaintChannelFrom16( channel_t *ch, const sfx_t *sc, int count, int sampleOffset, int bufferOffset ) {
|
static void S_PaintChannelFrom16( channel_t *ch, const sfx_t *sc, int count, int sampleOffset, int bufferOffset ) {
|
||||||
#if idppc_altivec
|
#if idppc_altivec
|
||||||
if (com_altivec->integer) {
|
if (com_altivec->integer) {
|
||||||
// must be in a seperate function or G3 systems will crash.
|
// must be in a separate function or G3 systems will crash.
|
||||||
S_PaintChannelFrom16_altivec( ch, sc, count, sampleOffset, bufferOffset );
|
S_PaintChannelFrom16_altivec( ch, sc, count, sampleOffset, bufferOffset );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -329,7 +329,7 @@ int BotGetItemLongTermGoal(bot_state_t *bs, int tfl, bot_goal_t *goal) {
|
||||||
==================
|
==================
|
||||||
BotGetLongTermGoal
|
BotGetLongTermGoal
|
||||||
|
|
||||||
we could also create a seperate AI node for every long term goal type
|
we could also create a separate AI node for every long term goal type
|
||||||
however this saves us a lot of code
|
however this saves us a lot of code
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2759,7 +2759,7 @@ bot_moveresult_t BotAttackMove(bot_state_t *bs, int tfl) {
|
||||||
bs->flags ^= BFL_STRAFERIGHT;
|
bs->flags ^= BFL_STRAFERIGHT;
|
||||||
bs->attackstrafe_time = 0;
|
bs->attackstrafe_time = 0;
|
||||||
}
|
}
|
||||||
//bot couldn't do any usefull movement
|
//bot couldn't do any useful movement
|
||||||
// bs->attackchase_time = AAS_Time() + 6;
|
// bs->attackchase_time = AAS_Time() + 6;
|
||||||
return moveresult;
|
return moveresult;
|
||||||
}
|
}
|
||||||
|
@ -4862,7 +4862,7 @@ void BotCheckEvents(bot_state_t *bs, entityState_t *state) {
|
||||||
else*/
|
else*/
|
||||||
#ifdef MISSIONPACK
|
#ifdef MISSIONPACK
|
||||||
if (!strcmp(buf, "sound/items/kamikazerespawn.wav" )) {
|
if (!strcmp(buf, "sound/items/kamikazerespawn.wav" )) {
|
||||||
//the kamikaze respawned so dont avoid it
|
//the kamikaze respawned so don't avoid it
|
||||||
BotDontAvoid(bs, "Kamikaze");
|
BotDontAvoid(bs, "Kamikaze");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -136,7 +136,7 @@ int BotPopFromActivateGoalStack(bot_state_t *bs);
|
||||||
void BotClearActivateGoalStack(bot_state_t *bs);
|
void BotClearActivateGoalStack(bot_state_t *bs);
|
||||||
//returns the team the bot is in
|
//returns the team the bot is in
|
||||||
int BotTeam(bot_state_t *bs);
|
int BotTeam(bot_state_t *bs);
|
||||||
//retuns the opposite team of the bot
|
//returns the opposite team of the bot
|
||||||
int BotOppositeTeam(bot_state_t *bs);
|
int BotOppositeTeam(bot_state_t *bs);
|
||||||
//returns the flag the bot is carrying (CTFFLAG_?)
|
//returns the flag the bot is carrying (CTFFLAG_?)
|
||||||
int BotCTFCarryingFlag(bot_state_t *bs);
|
int BotCTFCarryingFlag(bot_state_t *bs);
|
||||||
|
|
|
@ -1260,7 +1260,7 @@ int BotAISetupClient(int client, struct bot_settings_s *settings, qboolean resta
|
||||||
if (restart) {
|
if (restart) {
|
||||||
BotReadSessionData(bs);
|
BotReadSessionData(bs);
|
||||||
}
|
}
|
||||||
//bot has been setup succesfully
|
//bot has been setup successfully
|
||||||
return qtrue;
|
return qtrue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1016,7 +1016,7 @@ void Bot1FCTFOrders_FlagAtCenter(bot_state_t *bs) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { //agressive
|
else { //aggressive
|
||||||
//different orders based on the number of team mates
|
//different orders based on the number of team mates
|
||||||
switch(numteammates) {
|
switch(numteammates) {
|
||||||
case 1: break;
|
case 1: break;
|
||||||
|
@ -1202,7 +1202,7 @@ void Bot1FCTFOrders_TeamHasFlag(bot_state_t *bs) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { //agressive
|
else { //aggressive
|
||||||
//different orders based on the number of team mates
|
//different orders based on the number of team mates
|
||||||
switch(numteammates) {
|
switch(numteammates) {
|
||||||
case 1: break;
|
case 1: break;
|
||||||
|
@ -1366,7 +1366,7 @@ void Bot1FCTFOrders_EnemyHasFlag(bot_state_t *bs) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { //agressive
|
else { //aggressive
|
||||||
//different orders based on the number of team mates
|
//different orders based on the number of team mates
|
||||||
switch(numteammates) {
|
switch(numteammates) {
|
||||||
case 1: break;
|
case 1: break;
|
||||||
|
@ -1513,7 +1513,7 @@ void Bot1FCTFOrders_EnemyDroppedFlag(bot_state_t *bs) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { //agressive
|
else { //aggressive
|
||||||
//different orders based on the number of team mates
|
//different orders based on the number of team mates
|
||||||
switch(numteammates) {
|
switch(numteammates) {
|
||||||
case 1: break;
|
case 1: break;
|
||||||
|
|
|
@ -1376,7 +1376,7 @@ double fabs( double x ) {
|
||||||
* probably requires libm on most operating systems. Don't yet
|
* probably requires libm on most operating systems. Don't yet
|
||||||
* support the exponent (e,E) and sigfig (g,G). Also, fmtint()
|
* support the exponent (e,E) and sigfig (g,G). Also, fmtint()
|
||||||
* was pretty badly broken, it just wasn't being exercised in ways
|
* was pretty badly broken, it just wasn't being exercised in ways
|
||||||
* which showed it, so that's been fixed. Also, formated the code
|
* which showed it, so that's been fixed. Also, formatted the code
|
||||||
* to mutt conventions, and removed dead code left over from the
|
* to mutt conventions, and removed dead code left over from the
|
||||||
* original. Also, there is now a builtin-test, just compile with:
|
* original. Also, there is now a builtin-test, just compile with:
|
||||||
* gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm
|
* gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm
|
||||||
|
|
|
@ -899,7 +899,7 @@ static void PM_NoclipMove( void ) {
|
||||||
================
|
================
|
||||||
PM_FootstepForSurface
|
PM_FootstepForSurface
|
||||||
|
|
||||||
Returns an event number apropriate for the groundsurface
|
Returns an event number appropriate for the groundsurface
|
||||||
================
|
================
|
||||||
*/
|
*/
|
||||||
static int PM_FootstepForSurface( void ) {
|
static int PM_FootstepForSurface( void ) {
|
||||||
|
@ -1402,7 +1402,7 @@ static void PM_Footsteps( void ) {
|
||||||
old = pm->ps->bobCycle;
|
old = pm->ps->bobCycle;
|
||||||
pm->ps->bobCycle = (int)( old + bobmove * pml.msec ) & 255;
|
pm->ps->bobCycle = (int)( old + bobmove * pml.msec ) & 255;
|
||||||
|
|
||||||
// if we just crossed a cycle boundary, play an apropriate footstep event
|
// if we just crossed a cycle boundary, play an appropriate footstep event
|
||||||
if ( ( ( old + 64 ) ^ ( pm->ps->bobCycle + 64 ) ) & 128 ) {
|
if ( ( ( old + 64 ) ^ ( pm->ps->bobCycle + 64 ) ) & 128 ) {
|
||||||
if ( pm->waterlevel == 0 ) {
|
if ( pm->waterlevel == 0 ) {
|
||||||
// on ground will only play sounds if running
|
// on ground will only play sounds if running
|
||||||
|
|
|
@ -210,7 +210,7 @@ typedef enum {
|
||||||
STAT_ARMOR,
|
STAT_ARMOR,
|
||||||
STAT_DEAD_YAW, // look this direction when dead (FIXME: get rid of?)
|
STAT_DEAD_YAW, // look this direction when dead (FIXME: get rid of?)
|
||||||
STAT_CLIENTS_READY, // bit mask of clients wishing to exit the intermission (FIXME: configstring?)
|
STAT_CLIENTS_READY, // bit mask of clients wishing to exit the intermission (FIXME: configstring?)
|
||||||
STAT_MAX_HEALTH // health / armor limit, changable by handicap
|
STAT_MAX_HEALTH // health / armor limit, changeable by handicap
|
||||||
} statIndex_t;
|
} statIndex_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ void P_DamageFeedback( gentity_t *player ) {
|
||||||
client->ps.damageYaw = angles[YAW]/360.0 * 256;
|
client->ps.damageYaw = angles[YAW]/360.0 * 256;
|
||||||
}
|
}
|
||||||
|
|
||||||
// play an apropriate pain sound
|
// play an appropriate pain sound
|
||||||
if ( (level.time > player->pain_debounce_time) && !(player->flags & FL_GODMODE) ) {
|
if ( (level.time > player->pain_debounce_time) && !(player->flags & FL_GODMODE) ) {
|
||||||
player->pain_debounce_time = level.time + 700;
|
player->pain_debounce_time = level.time + 700;
|
||||||
G_AddEvent( player, EV_PAIN, player->health );
|
G_AddEvent( player, EV_PAIN, player->health );
|
||||||
|
@ -279,7 +279,7 @@ void G_TouchTriggers( gentity_t *ent ) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// use seperate code for determining if an item is picked up
|
// use separate code for determining if an item is picked up
|
||||||
// so you don't have to actually contact its bounding box
|
// so you don't have to actually contact its bounding box
|
||||||
if ( hit->s.eType == ET_ITEM ) {
|
if ( hit->s.eType == ET_ITEM ) {
|
||||||
if ( !BG_PlayerTouchesItem( &ent->client->ps, &hit->s, level.time ) ) {
|
if ( !BG_PlayerTouchesItem( &ent->client->ps, &hit->s, level.time ) ) {
|
||||||
|
|
|
@ -48,7 +48,7 @@ void SP_info_player_deathmatch( gentity_t *ent ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*QUAKED info_player_start (1 0 0) (-16 -16 -24) (16 16 32)
|
/*QUAKED info_player_start (1 0 0) (-16 -16 -24) (16 16 32)
|
||||||
equivelant to info_player_deathmatch
|
equivalent to info_player_deathmatch
|
||||||
*/
|
*/
|
||||||
void SP_info_player_start(gentity_t *ent) {
|
void SP_info_player_start(gentity_t *ent) {
|
||||||
ent->classname = "info_player_deathmatch";
|
ent->classname = "info_player_deathmatch";
|
||||||
|
@ -377,7 +377,7 @@ void InitBodyQue (void) {
|
||||||
=============
|
=============
|
||||||
BodySink
|
BodySink
|
||||||
|
|
||||||
After sitting around for five seconds, fall into the ground and dissapear
|
After sitting around for five seconds, fall into the ground and disappear
|
||||||
=============
|
=============
|
||||||
*/
|
*/
|
||||||
void BodySink( gentity_t *ent ) {
|
void BodySink( gentity_t *ent ) {
|
||||||
|
@ -954,7 +954,7 @@ char *ClientConnect( int clientNum, qboolean firstTime, qboolean isBot ) {
|
||||||
}
|
}
|
||||||
G_ReadSessionData( client );
|
G_ReadSessionData( client );
|
||||||
|
|
||||||
// get and distribute relevent paramters
|
// get and distribute relevant parameters
|
||||||
G_LogPrintf( "ClientConnect: %i\n", clientNum );
|
G_LogPrintf( "ClientConnect: %i\n", clientNum );
|
||||||
ClientUserinfoChanged( clientNum );
|
ClientUserinfoChanged( clientNum );
|
||||||
|
|
||||||
|
|
|
@ -639,7 +639,7 @@ void SetTeam( gentity_t *ent, const char *s ) {
|
||||||
|
|
||||||
BroadcastTeamChange( client, oldTeam );
|
BroadcastTeamChange( client, oldTeam );
|
||||||
|
|
||||||
// get and distribute relevent paramters
|
// get and distribute relevant parameters
|
||||||
ClientUserinfoChanged( clientNum );
|
ClientUserinfoChanged( clientNum );
|
||||||
|
|
||||||
// client hasn't spawned yet, they sent an early team command, teampref userinfo, or g_teamAutoJoin is enabled
|
// client hasn't spawned yet, they sent an early team command, teampref userinfo, or g_teamAutoJoin is enabled
|
||||||
|
@ -921,7 +921,7 @@ void G_Say( gentity_t *ent, gentity_t *target, int mode, const char *chatText )
|
||||||
G_Printf( "%s%s\n", name, text);
|
G_Printf( "%s%s\n", name, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
// send it to all the apropriate clients
|
// send it to all the appropriate clients
|
||||||
for (j = 0; j < level.maxclients; j++) {
|
for (j = 0; j < level.maxclients; j++) {
|
||||||
other = &g_entities[j];
|
other = &g_entities[j];
|
||||||
G_SayTo( ent, other, mode, color, name, text );
|
G_SayTo( ent, other, mode, color, name, text );
|
||||||
|
@ -1062,7 +1062,7 @@ void G_Voice( gentity_t *ent, gentity_t *target, int mode, const char *id, qbool
|
||||||
G_Printf( "voice: %s %s\n", ent->client->pers.netname, id);
|
G_Printf( "voice: %s %s\n", ent->client->pers.netname, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// send it to all the apropriate clients
|
// send it to all the appropriate clients
|
||||||
for (j = 0; j < level.maxclients; j++) {
|
for (j = 0; j < level.maxclients; j++) {
|
||||||
other = &g_entities[j];
|
other = &g_entities[j];
|
||||||
G_VoiceTo( ent, other, mode, id, voiceonly );
|
G_VoiceTo( ent, other, mode, id, voiceonly );
|
||||||
|
|
|
@ -32,7 +32,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
Respawnable items don't actually go away when picked up, they are
|
Respawnable items don't actually go away when picked up, they are
|
||||||
just made invisible and untouchable. This allows them to ride
|
just made invisible and untouchable. This allows them to ride
|
||||||
movers and respawn apropriately.
|
movers and respawn appropriately.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -145,7 +145,7 @@ void ProximityMine_Trigger( gentity_t *trigger, gentity_t *other, trace_t *trace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ok, now check for ability to damage so we don't get triggered thru walls, closed doors, etc...
|
// ok, now check for ability to damage so we don't get triggered through walls, closed doors, etc...
|
||||||
if( !CanDamage( other, trigger->s.pos.trBase ) ) {
|
if( !CanDamage( other, trigger->s.pos.trBase ) ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,7 +180,7 @@ qboolean G_TryPushingEntity( gentity_t *check, gentity_t *pusher, vec3_t move, v
|
||||||
}
|
}
|
||||||
|
|
||||||
// if it is ok to leave in the old position, do it
|
// if it is ok to leave in the old position, do it
|
||||||
// this is only relevent for riding entities, not pushed
|
// this is only relevant for riding entities, not pushed
|
||||||
// Sliding trapdoors can cause this.
|
// Sliding trapdoors can cause this.
|
||||||
VectorCopy( (pushed_p-1)->origin, check->s.pos.trBase);
|
VectorCopy( (pushed_p-1)->origin, check->s.pos.trBase);
|
||||||
if ( check->client ) {
|
if ( check->client ) {
|
||||||
|
@ -424,7 +424,7 @@ void G_MoverTeam( gentity_t *ent ) {
|
||||||
|
|
||||||
obstacle = NULL;
|
obstacle = NULL;
|
||||||
|
|
||||||
// make sure all team slaves can move before commiting
|
// make sure all team slaves can move before committing
|
||||||
// any moves or calling any think functions
|
// any moves or calling any think functions
|
||||||
// if the move is blocked, all moved objects will be backed out
|
// if the move is blocked, all moved objects will be backed out
|
||||||
pushed_p = pushed;
|
pushed_p = pushed;
|
||||||
|
@ -718,7 +718,7 @@ void InitMover( gentity_t *ent ) {
|
||||||
qboolean lightSet, colorSet;
|
qboolean lightSet, colorSet;
|
||||||
char *sound;
|
char *sound;
|
||||||
|
|
||||||
// if the "model2" key is set, use a seperate model
|
// if the "model2" key is set, use a separate model
|
||||||
// for drawing, but clip against the brushes
|
// for drawing, but clip against the brushes
|
||||||
if ( ent->model2 ) {
|
if ( ent->model2 ) {
|
||||||
ent->s.modelindex2 = G_ModelIndex( ent->model2 );
|
ent->s.modelindex2 = G_ModelIndex( ent->model2 );
|
||||||
|
@ -1279,7 +1279,7 @@ void Reached_Train( gentity_t *ent ) {
|
||||||
vec3_t move;
|
vec3_t move;
|
||||||
float length;
|
float length;
|
||||||
|
|
||||||
// copy the apropriate values
|
// copy the appropriate values
|
||||||
next = ent->nextTrain;
|
next = ent->nextTrain;
|
||||||
if ( !next || !next->nextTrain ) {
|
if ( !next || !next->nextTrain ) {
|
||||||
return; // just stop
|
return; // just stop
|
||||||
|
|
|
@ -391,7 +391,7 @@ void G_ParseField( const char *key, const char *value, gentity_t *ent ) {
|
||||||
G_SpawnGEntityFromSpawnVars
|
G_SpawnGEntityFromSpawnVars
|
||||||
|
|
||||||
Spawn an entity and fill in all of the level fields from
|
Spawn an entity and fill in all of the level fields from
|
||||||
level.spawnVars[], then call the class specfic spawn function
|
level.spawnVars[], then call the class specific spawn function
|
||||||
===================
|
===================
|
||||||
*/
|
*/
|
||||||
void G_SpawnGEntityFromSpawnVars( void ) {
|
void G_SpawnGEntityFromSpawnVars( void ) {
|
||||||
|
|
|
@ -102,7 +102,7 @@ void Use_Target_Delay( gentity_t *ent, gentity_t *other, gentity_t *activator )
|
||||||
}
|
}
|
||||||
|
|
||||||
void SP_target_delay( gentity_t *ent ) {
|
void SP_target_delay( gentity_t *ent ) {
|
||||||
// check delay for backwards compatability
|
// check delay for backwards compatibility
|
||||||
if ( !G_SpawnFloat( "delay", "0", &ent->wait ) ) {
|
if ( !G_SpawnFloat( "delay", "0", &ent->wait ) ) {
|
||||||
G_SpawnFloat( "wait", "1", &ent->wait );
|
G_SpawnFloat( "wait", "1", &ent->wait );
|
||||||
}
|
}
|
||||||
|
|
|
@ -336,7 +336,7 @@ Any entity that touches this will be hurt.
|
||||||
It does dmg points of damage each server frame
|
It does dmg points of damage each server frame
|
||||||
Targeting the trigger will toggle its on / off state.
|
Targeting the trigger will toggle its on / off state.
|
||||||
|
|
||||||
SILENT supresses playing the sound
|
SILENT suppresses playing the sound
|
||||||
SLOW changes the damage rate to once per second
|
SLOW changes the damage rate to once per second
|
||||||
NO_PROTECTION *nothing* stops the damage
|
NO_PROTECTION *nothing* stops the damage
|
||||||
|
|
||||||
|
|
|
@ -918,7 +918,7 @@ static void KamikazeRadiusDamage( vec3_t origin, gentity_t *attacker, float dama
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// dont hit things we have already hit
|
// don't hit things we have already hit
|
||||||
if( ent->kamikazeTime > level.time ) {
|
if( ent->kamikazeTime > level.time ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -978,7 +978,7 @@ static void KamikazeShockWave( vec3_t origin, gentity_t *attacker, float damage,
|
||||||
for ( e = 0 ; e < numListedEntities ; e++ ) {
|
for ( e = 0 ; e < numListedEntities ; e++ ) {
|
||||||
ent = &g_entities[entityList[ e ]];
|
ent = &g_entities[entityList[ e ]];
|
||||||
|
|
||||||
// dont hit things we have already hit
|
// don't hit things we have already hit
|
||||||
if( ent->kamikazeShockTime > level.time ) {
|
if( ent->kamikazeShockTime > level.time ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -803,7 +803,7 @@ static void NeedCDKeyAction( qboolean result ) {
|
||||||
|
|
||||||
void UI_SetActiveMenu( uiMenuCommand_t menu ) {
|
void UI_SetActiveMenu( uiMenuCommand_t menu ) {
|
||||||
// this should be the ONLY way the menu system is brought up
|
// this should be the ONLY way the menu system is brought up
|
||||||
// enusure minumum menu data is cached
|
// ensure minimum menu data is cached
|
||||||
Menu_Cache();
|
Menu_Cache();
|
||||||
|
|
||||||
switch ( menu ) {
|
switch ( menu ) {
|
||||||
|
|
|
@ -221,7 +221,7 @@ typedef struct
|
||||||
int width;
|
int width;
|
||||||
int height;
|
int height;
|
||||||
int columns;
|
int columns;
|
||||||
int seperation;
|
int separation;
|
||||||
} menulist_s;
|
} menulist_s;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|
|
@ -339,14 +339,14 @@ static void PlayerModel_PicEvent( void* ptr, int event )
|
||||||
Q_strncpyz(s_playermodel.modelskin,buffptr,pdest-buffptr+1);
|
Q_strncpyz(s_playermodel.modelskin,buffptr,pdest-buffptr+1);
|
||||||
strcat(s_playermodel.modelskin,pdest + 5);
|
strcat(s_playermodel.modelskin,pdest + 5);
|
||||||
|
|
||||||
// seperate the model name
|
// separate the model name
|
||||||
maxlen = pdest-buffptr;
|
maxlen = pdest-buffptr;
|
||||||
if (maxlen > 16)
|
if (maxlen > 16)
|
||||||
maxlen = 16;
|
maxlen = 16;
|
||||||
Q_strncpyz( s_playermodel.modelname.string, buffptr, maxlen );
|
Q_strncpyz( s_playermodel.modelname.string, buffptr, maxlen );
|
||||||
Q_strupr( s_playermodel.modelname.string );
|
Q_strupr( s_playermodel.modelname.string );
|
||||||
|
|
||||||
// seperate the skin name
|
// separate the skin name
|
||||||
maxlen = strlen(pdest+5)+1;
|
maxlen = strlen(pdest+5)+1;
|
||||||
if (maxlen > 16)
|
if (maxlen > 16)
|
||||||
maxlen = 16;
|
maxlen = 16;
|
||||||
|
@ -494,14 +494,14 @@ static void PlayerModel_SetMenuItems( void )
|
||||||
s_playermodel.selectedmodel = i;
|
s_playermodel.selectedmodel = i;
|
||||||
s_playermodel.modelpage = i/MAX_MODELSPERPAGE;
|
s_playermodel.modelpage = i/MAX_MODELSPERPAGE;
|
||||||
|
|
||||||
// seperate the model name
|
// separate the model name
|
||||||
maxlen = pdest-buffptr;
|
maxlen = pdest-buffptr;
|
||||||
if (maxlen > 16)
|
if (maxlen > 16)
|
||||||
maxlen = 16;
|
maxlen = 16;
|
||||||
Q_strncpyz( s_playermodel.modelname.string, buffptr, maxlen );
|
Q_strncpyz( s_playermodel.modelname.string, buffptr, maxlen );
|
||||||
Q_strupr( s_playermodel.modelname.string );
|
Q_strupr( s_playermodel.modelname.string );
|
||||||
|
|
||||||
// seperate the skin name
|
// separate the skin name
|
||||||
maxlen = strlen(pdest+5)+1;
|
maxlen = strlen(pdest+5)+1;
|
||||||
if (maxlen > 16)
|
if (maxlen > 16)
|
||||||
maxlen = 16;
|
maxlen = 16;
|
||||||
|
|
|
@ -881,13 +881,13 @@ static void ScrollList_Init( menulist_s *l )
|
||||||
|
|
||||||
if( !l->columns ) {
|
if( !l->columns ) {
|
||||||
l->columns = 1;
|
l->columns = 1;
|
||||||
l->seperation = 0;
|
l->separation = 0;
|
||||||
}
|
}
|
||||||
else if( !l->seperation ) {
|
else if( !l->separation ) {
|
||||||
l->seperation = 3;
|
l->separation = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
w = ( (l->width + l->seperation) * l->columns - l->seperation) * SMALLCHAR_WIDTH;
|
w = ( (l->width + l->separation) * l->columns - l->separation) * SMALLCHAR_WIDTH;
|
||||||
|
|
||||||
l->generic.left = l->generic.x;
|
l->generic.left = l->generic.x;
|
||||||
l->generic.top = l->generic.y;
|
l->generic.top = l->generic.y;
|
||||||
|
@ -926,14 +926,14 @@ sfxHandle_t ScrollList_Key( menulist_s *l, int key )
|
||||||
// check scroll region
|
// check scroll region
|
||||||
x = l->generic.x;
|
x = l->generic.x;
|
||||||
y = l->generic.y;
|
y = l->generic.y;
|
||||||
w = ( (l->width + l->seperation) * l->columns - l->seperation) * SMALLCHAR_WIDTH;
|
w = ( (l->width + l->separation) * l->columns - l->separation) * SMALLCHAR_WIDTH;
|
||||||
if( l->generic.flags & QMF_CENTER_JUSTIFY ) {
|
if( l->generic.flags & QMF_CENTER_JUSTIFY ) {
|
||||||
x -= w / 2;
|
x -= w / 2;
|
||||||
}
|
}
|
||||||
if (UI_CursorInRect( x, y, w, l->height*SMALLCHAR_HEIGHT ))
|
if (UI_CursorInRect( x, y, w, l->height*SMALLCHAR_HEIGHT ))
|
||||||
{
|
{
|
||||||
cursorx = (uis.cursorx - x)/SMALLCHAR_WIDTH;
|
cursorx = (uis.cursorx - x)/SMALLCHAR_WIDTH;
|
||||||
column = cursorx / (l->width + l->seperation);
|
column = cursorx / (l->width + l->separation);
|
||||||
cursory = (uis.cursory - y)/SMALLCHAR_HEIGHT;
|
cursory = (uis.cursory - y)/SMALLCHAR_HEIGHT;
|
||||||
index = column * l->height + cursory;
|
index = column * l->height + cursory;
|
||||||
if (l->top + index < l->numitems)
|
if (l->top + index < l->numitems)
|
||||||
|
@ -1285,7 +1285,7 @@ void ScrollList_Draw( menulist_s *l )
|
||||||
|
|
||||||
y += SMALLCHAR_HEIGHT;
|
y += SMALLCHAR_HEIGHT;
|
||||||
}
|
}
|
||||||
x += (l->width + l->seperation) * SMALLCHAR_WIDTH;
|
x += (l->width + l->separation) * SMALLCHAR_WIDTH;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1105,7 +1105,7 @@ static void CM_PatchCollideFromGrid( cGrid_t *grid, patchCollide_t *pf ) {
|
||||||
numFacets++;
|
numFacets++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// two seperate triangles
|
// two separate triangles
|
||||||
facet->surfacePlane = gridPlanes[i][j][0];
|
facet->surfacePlane = gridPlanes[i][j][0];
|
||||||
facet->numBorders = 3;
|
facet->numBorders = 3;
|
||||||
facet->borderPlanes[0] = borders[EN_TOP];
|
facet->borderPlanes[0] = borders[EN_TOP];
|
||||||
|
@ -1214,7 +1214,7 @@ struct patchCollide_s *CM_GeneratePatchCollide( int width, int height, vec3_t *p
|
||||||
CM_RemoveDegenerateColumns( &grid );
|
CM_RemoveDegenerateColumns( &grid );
|
||||||
|
|
||||||
// we now have a grid of points exactly on the curve
|
// we now have a grid of points exactly on the curve
|
||||||
// the aproximate surface defined by these points will be
|
// the approximate surface defined by these points will be
|
||||||
// collided against
|
// collided against
|
||||||
pf = Hunk_Alloc( sizeof( *pf ), h_high );
|
pf = Hunk_Alloc( sizeof( *pf ), h_high );
|
||||||
ClearBounds( pf->bounds[0], pf->bounds[1] );
|
ClearBounds( pf->bounds[0], pf->bounds[1] );
|
||||||
|
@ -1369,7 +1369,7 @@ int CM_CheckFacetPlane(float *plane, vec3_t start, vec3_t end, float *enterFrac,
|
||||||
return qfalse;
|
return qfalse;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if it doesn't cross the plane, the plane isn't relevent
|
// if it doesn't cross the plane, the plane isn't relevant
|
||||||
if (d1 <= 0 && d2 <= 0 ) {
|
if (d1 <= 0 && d2 <= 0 ) {
|
||||||
return qtrue;
|
return qtrue;
|
||||||
}
|
}
|
||||||
|
@ -1433,7 +1433,7 @@ void CM_TraceThroughPatchCollide( traceWork_t *tw, const struct patchCollide_s *
|
||||||
VectorCopy(planes->plane, plane);
|
VectorCopy(planes->plane, plane);
|
||||||
plane[3] = planes->plane[3];
|
plane[3] = planes->plane[3];
|
||||||
if ( tw->sphere.use ) {
|
if ( tw->sphere.use ) {
|
||||||
// adjust the plane distance apropriately for radius
|
// adjust the plane distance appropriately for radius
|
||||||
plane[3] += tw->sphere.radius;
|
plane[3] += tw->sphere.radius;
|
||||||
|
|
||||||
// find the closest point on the capsule to the plane
|
// find the closest point on the capsule to the plane
|
||||||
|
@ -1472,7 +1472,7 @@ void CM_TraceThroughPatchCollide( traceWork_t *tw, const struct patchCollide_s *
|
||||||
plane[3] = planes->plane[3];
|
plane[3] = planes->plane[3];
|
||||||
}
|
}
|
||||||
if ( tw->sphere.use ) {
|
if ( tw->sphere.use ) {
|
||||||
// adjust the plane distance apropriately for radius
|
// adjust the plane distance appropriately for radius
|
||||||
plane[3] += tw->sphere.radius;
|
plane[3] += tw->sphere.radius;
|
||||||
|
|
||||||
// find the closest point on the capsule to the plane
|
// find the closest point on the capsule to the plane
|
||||||
|
@ -1561,7 +1561,7 @@ qboolean CM_PositionTestInPatchCollide( traceWork_t *tw, const struct patchColli
|
||||||
VectorCopy(planes->plane, plane);
|
VectorCopy(planes->plane, plane);
|
||||||
plane[3] = planes->plane[3];
|
plane[3] = planes->plane[3];
|
||||||
if ( tw->sphere.use ) {
|
if ( tw->sphere.use ) {
|
||||||
// adjust the plane distance apropriately for radius
|
// adjust the plane distance appropriately for radius
|
||||||
plane[3] += tw->sphere.radius;
|
plane[3] += tw->sphere.radius;
|
||||||
|
|
||||||
// find the closest point on the capsule to the plane
|
// find the closest point on the capsule to the plane
|
||||||
|
@ -1594,7 +1594,7 @@ qboolean CM_PositionTestInPatchCollide( traceWork_t *tw, const struct patchColli
|
||||||
plane[3] = planes->plane[3];
|
plane[3] = planes->plane[3];
|
||||||
}
|
}
|
||||||
if ( tw->sphere.use ) {
|
if ( tw->sphere.use ) {
|
||||||
// adjust the plane distance apropriately for radius
|
// adjust the plane distance appropriately for radius
|
||||||
plane[3] += tw->sphere.radius;
|
plane[3] += tw->sphere.radius;
|
||||||
|
|
||||||
// find the closest point on the capsule to the plane
|
// find the closest point on the capsule to the plane
|
||||||
|
|
|
@ -353,7 +353,7 @@ void ClipWindingEpsilon (winding_t *in, vec3_t normal, vec_t dist,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
maxpts = in->numpoints+4; // cant use counts[0]+2 because
|
maxpts = in->numpoints+4; // can't use counts[0]+2 because
|
||||||
// of fp grouping errors
|
// of fp grouping errors
|
||||||
|
|
||||||
*front = f = AllocWinding (maxpts);
|
*front = f = AllocWinding (maxpts);
|
||||||
|
@ -462,7 +462,7 @@ void ChopWindingInPlace (winding_t **inout, vec3_t normal, vec_t dist, vec_t eps
|
||||||
if (!counts[1])
|
if (!counts[1])
|
||||||
return; // inout stays the same
|
return; // inout stays the same
|
||||||
|
|
||||||
maxpts = in->numpoints+4; // cant use counts[0]+2 because
|
maxpts = in->numpoints+4; // can't use counts[0]+2 because
|
||||||
// of fp grouping errors
|
// of fp grouping errors
|
||||||
|
|
||||||
f = AllocWinding (maxpts);
|
f = AllocWinding (maxpts);
|
||||||
|
@ -574,7 +574,7 @@ void CheckWinding (winding_t *w)
|
||||||
if (d < -ON_EPSILON || d > ON_EPSILON)
|
if (d < -ON_EPSILON || d > ON_EPSILON)
|
||||||
Com_Error (ERR_DROP, "CheckWinding: point off plane");
|
Com_Error (ERR_DROP, "CheckWinding: point off plane");
|
||||||
|
|
||||||
// check the edge isnt degenerate
|
// check the edge isn't degenerate
|
||||||
p2 = w->p[j];
|
p2 = w->p[j];
|
||||||
VectorSubtract (p2, p1, dir);
|
VectorSubtract (p2, p1, dir);
|
||||||
|
|
||||||
|
|
|
@ -189,7 +189,7 @@ void CM_TestBoxInBrush( traceWork_t *tw, cbrush_t *brush ) {
|
||||||
side = brush->sides + i;
|
side = brush->sides + i;
|
||||||
plane = side->plane;
|
plane = side->plane;
|
||||||
|
|
||||||
// adjust the plane distance apropriately for radius
|
// adjust the plane distance appropriately for radius
|
||||||
dist = plane->dist + tw->sphere.radius;
|
dist = plane->dist + tw->sphere.radius;
|
||||||
// find the closest point on the capsule to the plane
|
// find the closest point on the capsule to the plane
|
||||||
t = DotProduct( plane->normal, tw->sphere.offset );
|
t = DotProduct( plane->normal, tw->sphere.offset );
|
||||||
|
@ -214,7 +214,7 @@ void CM_TestBoxInBrush( traceWork_t *tw, cbrush_t *brush ) {
|
||||||
side = brush->sides + i;
|
side = brush->sides + i;
|
||||||
plane = side->plane;
|
plane = side->plane;
|
||||||
|
|
||||||
// adjust the plane distance apropriately for mins/maxs
|
// adjust the plane distance appropriately for mins/maxs
|
||||||
dist = plane->dist - DotProduct( tw->offsets[ plane->signbits ], plane->normal );
|
dist = plane->dist - DotProduct( tw->offsets[ plane->signbits ], plane->normal );
|
||||||
|
|
||||||
d1 = DotProduct( tw->start, plane->normal ) - dist;
|
d1 = DotProduct( tw->start, plane->normal ) - dist;
|
||||||
|
@ -517,7 +517,7 @@ void CM_TraceThroughBrush( traceWork_t *tw, cbrush_t *brush ) {
|
||||||
side = brush->sides + i;
|
side = brush->sides + i;
|
||||||
plane = side->plane;
|
plane = side->plane;
|
||||||
|
|
||||||
// adjust the plane distance apropriately for radius
|
// adjust the plane distance appropriately for radius
|
||||||
dist = plane->dist + tw->sphere.radius;
|
dist = plane->dist + tw->sphere.radius;
|
||||||
|
|
||||||
// find the closest point on the capsule to the plane
|
// find the closest point on the capsule to the plane
|
||||||
|
@ -548,7 +548,7 @@ void CM_TraceThroughBrush( traceWork_t *tw, cbrush_t *brush ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if it doesn't cross the plane, the plane isn't relevent
|
// if it doesn't cross the plane, the plane isn't relevant
|
||||||
if (d1 <= 0 && d2 <= 0 ) {
|
if (d1 <= 0 && d2 <= 0 ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -584,7 +584,7 @@ void CM_TraceThroughBrush( traceWork_t *tw, cbrush_t *brush ) {
|
||||||
side = brush->sides + i;
|
side = brush->sides + i;
|
||||||
plane = side->plane;
|
plane = side->plane;
|
||||||
|
|
||||||
// adjust the plane distance apropriately for mins/maxs
|
// adjust the plane distance appropriately for mins/maxs
|
||||||
dist = plane->dist - DotProduct( tw->offsets[ plane->signbits ], plane->normal );
|
dist = plane->dist - DotProduct( tw->offsets[ plane->signbits ], plane->normal );
|
||||||
|
|
||||||
d1 = DotProduct( tw->start, plane->normal ) - dist;
|
d1 = DotProduct( tw->start, plane->normal ) - dist;
|
||||||
|
@ -602,7 +602,7 @@ void CM_TraceThroughBrush( traceWork_t *tw, cbrush_t *brush ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if it doesn't cross the plane, the plane isn't relevent
|
// if it doesn't cross the plane, the plane isn't relevant
|
||||||
if (d1 <= 0 && d2 <= 0 ) {
|
if (d1 <= 0 && d2 <= 0 ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1059,7 +1059,7 @@ void CM_TraceThroughTree( traceWork_t *tw, int num, float p1f, float p2f, vec3_t
|
||||||
node = cm.nodes + num;
|
node = cm.nodes + num;
|
||||||
plane = node->plane;
|
plane = node->plane;
|
||||||
|
|
||||||
// adjust the plane distance apropriately for mins/maxs
|
// adjust the plane distance appropriately for mins/maxs
|
||||||
if ( plane->type < 3 ) {
|
if ( plane->type < 3 ) {
|
||||||
t1 = p1[plane->type] - plane->dist;
|
t1 = p1[plane->type] - plane->dist;
|
||||||
t2 = p2[plane->type] - plane->dist;
|
t2 = p2[plane->type] - plane->dist;
|
||||||
|
@ -1204,7 +1204,7 @@ void CM_Trace( trace_t *results, const vec3_t start, const vec3_t end, vec3_t mi
|
||||||
|
|
||||||
tw.maxOffset = tw.size[1][0] + tw.size[1][1] + tw.size[1][2];
|
tw.maxOffset = tw.size[1][0] + tw.size[1][1] + tw.size[1][2];
|
||||||
|
|
||||||
// tw.offsets[signbits] = vector to apropriate corner from origin
|
// tw.offsets[signbits] = vector to appropriate corner from origin
|
||||||
tw.offsets[0][0] = tw.size[0][0];
|
tw.offsets[0][0] = tw.size[0][0];
|
||||||
tw.offsets[0][1] = tw.size[0][1];
|
tw.offsets[0][1] = tw.size[0][1];
|
||||||
tw.offsets[0][2] = tw.size[0][2];
|
tw.offsets[0][2] = tw.size[0][2];
|
||||||
|
|
|
@ -489,8 +489,8 @@ void Cmd_Args_Sanitize(void)
|
||||||
Cmd_TokenizeString
|
Cmd_TokenizeString
|
||||||
|
|
||||||
Parses the given string into command line tokens.
|
Parses the given string into command line tokens.
|
||||||
The text is copied to a seperate buffer and 0 characters
|
The text is copied to a separate buffer and 0 characters
|
||||||
are inserted in the apropriate place, The argv array
|
are inserted in the appropriate place, The argv array
|
||||||
will point into this temporary buffer.
|
will point into this temporary buffer.
|
||||||
============
|
============
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -46,7 +46,7 @@ int demo_protocols[] =
|
||||||
int com_argc;
|
int com_argc;
|
||||||
char *com_argv[MAX_NUM_ARGVS+1];
|
char *com_argv[MAX_NUM_ARGVS+1];
|
||||||
|
|
||||||
jmp_buf abortframe; // an ERR_DROP occured, exit the entire frame
|
jmp_buf abortframe; // an ERR_DROP occurred, exit the entire frame
|
||||||
|
|
||||||
|
|
||||||
FILE *debuglogfile;
|
FILE *debuglogfile;
|
||||||
|
@ -158,7 +158,7 @@ void Com_EndRedirect (void)
|
||||||
Com_Printf
|
Com_Printf
|
||||||
|
|
||||||
Both client and server can use this, and it will output
|
Both client and server can use this, and it will output
|
||||||
to the apropriate place.
|
to the appropriate place.
|
||||||
|
|
||||||
A raw string should NEVER be passed as fmt, because of "%f" type crashers.
|
A raw string should NEVER be passed as fmt, because of "%f" type crashers.
|
||||||
=============
|
=============
|
||||||
|
@ -370,7 +370,7 @@ void QDECL Com_Error( int code, const char *fmt, ... ) {
|
||||||
Com_Quit_f
|
Com_Quit_f
|
||||||
|
|
||||||
Both client and server can use this, and it will
|
Both client and server can use this, and it will
|
||||||
do the apropriate things.
|
do the appropriate things.
|
||||||
=============
|
=============
|
||||||
*/
|
*/
|
||||||
void Com_Quit_f( void ) {
|
void Com_Quit_f( void ) {
|
||||||
|
@ -398,7 +398,7 @@ void Com_Quit_f( void ) {
|
||||||
|
|
||||||
COMMAND LINE FUNCTIONS
|
COMMAND LINE FUNCTIONS
|
||||||
|
|
||||||
+ characters seperate the commandLine string into multiple console
|
+ characters separate the commandLine string into multiple console
|
||||||
command lines.
|
command lines.
|
||||||
|
|
||||||
All of these are valid:
|
All of these are valid:
|
||||||
|
@ -507,7 +507,7 @@ void Com_StartupVariable( const char *match ) {
|
||||||
Com_AddStartupCommands
|
Com_AddStartupCommands
|
||||||
|
|
||||||
Adds command line parameters as script statements
|
Adds command line parameters as script statements
|
||||||
Commands are seperated by + signs
|
Commands are separated by + signs
|
||||||
|
|
||||||
Returns qtrue if any late commands were added, which
|
Returns qtrue if any late commands were added, which
|
||||||
will keep the demoloop from immediately starting
|
will keep the demoloop from immediately starting
|
||||||
|
@ -1209,7 +1209,7 @@ char *CopyString( const char *in ) {
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
Goals:
|
Goals:
|
||||||
reproducable without history effects -- no out of memory errors on weird map to map changes
|
reproducible without history effects -- no out of memory errors on weird map to map changes
|
||||||
allow restarting of the client without fragmentation
|
allow restarting of the client without fragmentation
|
||||||
minimize total pages in use at run time
|
minimize total pages in use at run time
|
||||||
minimize total pages needed during load time
|
minimize total pages needed during load time
|
||||||
|
|
|
@ -88,7 +88,7 @@ File search order: when FS_FOpenFileRead gets called it will go through the fs_s
|
||||||
structure and stop on the first successful hit. fs_searchpaths is built with successive
|
structure and stop on the first successful hit. fs_searchpaths is built with successive
|
||||||
calls to FS_AddGameDirectory
|
calls to FS_AddGameDirectory
|
||||||
|
|
||||||
Additionaly, we search in several subdirectories:
|
Additionally, we search in several subdirectories:
|
||||||
current game is the current mode
|
current game is the current mode
|
||||||
base game is a variable to allow mods based on other mods
|
base game is a variable to allow mods based on other mods
|
||||||
(such as baseq3 + missionpack content combination in a mod for instance)
|
(such as baseq3 + missionpack content combination in a mod for instance)
|
||||||
|
@ -1420,7 +1420,7 @@ long FS_FOpenFileRead(const char *filename, fileHandle_t *file, qboolean uniqueF
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// When file is NULL, we're querying the existance of the file
|
// When file is NULL, we're querying the existence of the file
|
||||||
// If we've got here, it doesn't exist
|
// If we've got here, it doesn't exist
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -3931,7 +3931,7 @@ void FS_PureServerSetReferencedPaks( const char *pakSums, const char *pakNames )
|
||||||
================
|
================
|
||||||
FS_InitFilesystem
|
FS_InitFilesystem
|
||||||
|
|
||||||
Called only at inital startup, not when the filesystem
|
Called only at initial startup, not when the filesystem
|
||||||
is resetting due to a game change
|
is resetting due to a game change
|
||||||
================
|
================
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -264,7 +264,7 @@ typedef int clipHandle_t;
|
||||||
|
|
||||||
#define MAX_SAY_TEXT 150
|
#define MAX_SAY_TEXT 150
|
||||||
|
|
||||||
// paramters for command buffer stuffing
|
// parameters for command buffer stuffing
|
||||||
typedef enum {
|
typedef enum {
|
||||||
EXEC_NOW, // don't return until completed, a VM should NEVER use this,
|
EXEC_NOW, // don't return until completed, a VM should NEVER use this,
|
||||||
// because some commands might cause the VM to be unloaded...
|
// because some commands might cause the VM to be unloaded...
|
||||||
|
@ -1221,7 +1221,7 @@ typedef struct playerState_s {
|
||||||
#define BUTTON_TALK 2 // displays talk balloon and disables actions
|
#define BUTTON_TALK 2 // displays talk balloon and disables actions
|
||||||
#define BUTTON_USE_HOLDABLE 4
|
#define BUTTON_USE_HOLDABLE 4
|
||||||
#define BUTTON_GESTURE 8
|
#define BUTTON_GESTURE 8
|
||||||
#define BUTTON_WALKING 16 // walking can't just be infered from MOVE_RUN
|
#define BUTTON_WALKING 16 // walking can't just be inferred from MOVE_RUN
|
||||||
// because a key pressed late in the frame will
|
// because a key pressed late in the frame will
|
||||||
// only generate a small move value for that frame
|
// only generate a small move value for that frame
|
||||||
// walking will use different animations and
|
// walking will use different animations and
|
||||||
|
|
|
@ -669,7 +669,7 @@ long FS_ReadFileDir(const char *qpath, void *searchPath, qboolean unpure, void *
|
||||||
long FS_ReadFile(const char *qpath, void **buffer);
|
long FS_ReadFile(const char *qpath, void **buffer);
|
||||||
// returns the length of the file
|
// returns the length of the file
|
||||||
// a null buffer will just return the file length without loading
|
// a null buffer will just return the file length without loading
|
||||||
// as a quick check for existance. -1 length == not present
|
// as a quick check for existence. -1 length == not present
|
||||||
// A 0 byte will always be appended at the end, so string ops are safe.
|
// A 0 byte will always be appended at the end, so string ops are safe.
|
||||||
// the buffer should be considered read-only, because it may be cached
|
// the buffer should be considered read-only, because it may be cached
|
||||||
// for other uses.
|
// for other uses.
|
||||||
|
|
|
@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
//
|
//
|
||||||
// This file must be identical in the quake and utils directories
|
// This file must be identical in the quake and utils directories
|
||||||
|
|
||||||
// contents flags are seperate bits
|
// contents flags are separate bits
|
||||||
// a given brush can contribute multiple content bits
|
// a given brush can contribute multiple content bits
|
||||||
|
|
||||||
// these definitions also need to be in q_shared.h!
|
// these definitions also need to be in q_shared.h!
|
||||||
|
|
|
@ -151,7 +151,7 @@ typedef struct
|
||||||
/* ===========================================================================
|
/* ===========================================================================
|
||||||
Read a byte from a gz_stream; update next_in and avail_in. Return EOF
|
Read a byte from a gz_stream; update next_in and avail_in. Return EOF
|
||||||
for end of file.
|
for end of file.
|
||||||
IN assertion: the stream s has been sucessfully opened for reading.
|
IN assertion: the stream s has been successfully opened for reading.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -290,8 +290,8 @@ local int strcmpcasenosensitive_internal (fileName1,fileName2)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Compare two filename (fileName1,fileName2).
|
Compare two filename (fileName1,fileName2).
|
||||||
If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
|
If iCaseSenisivity = 1, comparison is case sensitivity (like strcmp)
|
||||||
If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
|
If iCaseSenisivity = 2, comparison is not case sensitivity (like strcmpi
|
||||||
or strcasecmp)
|
or strcasecmp)
|
||||||
If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
|
If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
|
||||||
(like 1 on Unix, 2 on Windows)
|
(like 1 on Unix, 2 on Windows)
|
||||||
|
|
|
@ -125,8 +125,8 @@ extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
|
||||||
int iCaseSensitivity));
|
int iCaseSensitivity));
|
||||||
/*
|
/*
|
||||||
Compare two filename (fileName1,fileName2).
|
Compare two filename (fileName1,fileName2).
|
||||||
If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
|
If iCaseSenisivity = 1, comparison is case sensitivity (like strcmp)
|
||||||
If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
|
If iCaseSenisivity = 2, comparison is not case sensitivity (like strcmpi
|
||||||
or strcasecmp)
|
or strcasecmp)
|
||||||
If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
|
If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
|
||||||
(like 1 on Unix, 2 on Windows)
|
(like 1 on Unix, 2 on Windows)
|
||||||
|
|
|
@ -401,7 +401,7 @@ struct symbolic_jump {
|
||||||
// extensions / modifiers (branch-link)
|
// extensions / modifiers (branch-link)
|
||||||
unsigned long ext;
|
unsigned long ext;
|
||||||
|
|
||||||
// dest_instruction refering to this jump
|
// dest_instruction referring to this jump
|
||||||
dest_instruction_t *parent;
|
dest_instruction_t *parent;
|
||||||
|
|
||||||
// next jump
|
// next jump
|
||||||
|
@ -656,7 +656,7 @@ PPC_MakeFastMask( int mask )
|
||||||
* function local registers,
|
* function local registers,
|
||||||
*
|
*
|
||||||
* normally only volatile registers are used, but if there aren't enough
|
* normally only volatile registers are used, but if there aren't enough
|
||||||
* or function has to preserve some value while calling annother one
|
* or function has to preserve some value while calling another one
|
||||||
* then caller safe registers are used as well
|
* then caller safe registers are used as well
|
||||||
*/
|
*/
|
||||||
static const long int gpr_list[] = {
|
static const long int gpr_list[] = {
|
||||||
|
|
|
@ -571,7 +571,7 @@ static uint32_t DecompressIDATs(struct BufferedFile *BF, uint8_t **Buffer)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Rewind to the start of this adventure
|
* Rewind to the start of this adventure
|
||||||
* and return unsuccessfull
|
* and return unsuccessful
|
||||||
*/
|
*/
|
||||||
|
|
||||||
BufferedFileRewind(BF, BytesToRewind);
|
BufferedFileRewind(BF, BytesToRewind);
|
||||||
|
@ -754,7 +754,7 @@ static uint32_t DecompressIDATs(struct BufferedFile *BF, uint8_t **Buffer)
|
||||||
ri.Free(CompressedData);
|
ri.Free(CompressedData);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if the last puff() was successfull.
|
* Check if the last puff() was successful.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(!((puffResult == 0) && (puffDestLen > 0)))
|
if(!((puffResult == 0) && (puffDestLen > 0)))
|
||||||
|
|
|
@ -151,7 +151,7 @@ typedef struct {
|
||||||
void (*CM_DrawDebugSurface)( void (*drawPoly)(int color, int numPoints, float *points) );
|
void (*CM_DrawDebugSurface)( void (*drawPoly)(int color, int numPoints, float *points) );
|
||||||
|
|
||||||
// a -1 return means the file does not exist
|
// a -1 return means the file does not exist
|
||||||
// NULL can be passed for buf to just determine existance
|
// NULL can be passed for buf to just determine existence
|
||||||
int (*FS_FileIsInPAK)( const char *name, int *pCheckSum );
|
int (*FS_FileIsInPAK)( const char *name, int *pCheckSum );
|
||||||
long (*FS_ReadFile)( const char *name, void **buf );
|
long (*FS_ReadFile)( const char *name, void **buf );
|
||||||
void (*FS_FreeFile)( void *buf );
|
void (*FS_FreeFile)( void *buf );
|
||||||
|
|
|
@ -173,7 +173,7 @@ typedef enum {
|
||||||
} glDriverType_t;
|
} glDriverType_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
GLHW_GENERIC, // where everthing works the way it should
|
GLHW_GENERIC, // where everything works the way it should
|
||||||
GLHW_3DFX_2D3D, // Voodoo Banshee or Voodoo3, relevant since if this is
|
GLHW_3DFX_2D3D, // Voodoo Banshee or Voodoo3, relevant since if this is
|
||||||
// the hardware type then there can NOT exist a secondary
|
// the hardware type then there can NOT exist a secondary
|
||||||
// display adapter
|
// display adapter
|
||||||
|
|
|
@ -541,7 +541,7 @@ void RB_RenderDrawSurfList( drawSurf_t *drawSurfs, int numDrawSurfs ) {
|
||||||
|
|
||||||
//
|
//
|
||||||
// change the tess parameters if needed
|
// change the tess parameters if needed
|
||||||
// a "entityMergable" shader is a shader that can have surfaces from seperate
|
// a "entityMergable" shader is a shader that can have surfaces from separate
|
||||||
// entities merged into a single batch, like smoke and blood puff sprites
|
// entities merged into a single batch, like smoke and blood puff sprites
|
||||||
if ( shader != NULL && ( shader != oldShader || fogNum != oldFogNum || dlighted != oldDlighted
|
if ( shader != NULL && ( shader != oldShader || fogNum != oldFogNum || dlighted != oldDlighted
|
||||||
|| ( entityNum != oldEntityNum && !shader->entityMergable ) ) ) {
|
|| ( entityNum != oldEntityNum && !shader->entityMergable ) ) ) {
|
||||||
|
@ -742,7 +742,7 @@ void RE_StretchRaw (int x, int y, int w, int h, int cols, int rows, const byte *
|
||||||
RB_EndSurface();
|
RB_EndSurface();
|
||||||
}
|
}
|
||||||
|
|
||||||
// we definately want to sync every frame for the cinematics
|
// we definitely want to sync every frame for the cinematics
|
||||||
qglFinish();
|
qglFinish();
|
||||||
|
|
||||||
start = 0;
|
start = 0;
|
||||||
|
|
|
@ -1428,7 +1428,7 @@ static void R_LoadNodesAndLeafs (lump_t *nodeLump, lump_t *leafLump) {
|
||||||
out->nummarksurfaces = LittleLong(inLeaf->numLeafSurfaces);
|
out->nummarksurfaces = LittleLong(inLeaf->numLeafSurfaces);
|
||||||
}
|
}
|
||||||
|
|
||||||
// chain decendants
|
// chain descendants
|
||||||
R_SetParent (s_worldData.nodes, NULL);
|
R_SetParent (s_worldData.nodes, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -941,7 +941,7 @@ static int numImageLoaders = ARRAY_LEN( imageLoaders );
|
||||||
=================
|
=================
|
||||||
R_LoadImage
|
R_LoadImage
|
||||||
|
|
||||||
Loads any of the supported image types into a cannonical
|
Loads any of the supported image types into a canonical
|
||||||
32 bit format.
|
32 bit format.
|
||||||
=================
|
=================
|
||||||
*/
|
*/
|
||||||
|
@ -1400,7 +1400,7 @@ SKINS
|
||||||
CommaParse
|
CommaParse
|
||||||
|
|
||||||
This is unfortunate, but the skin files aren't
|
This is unfortunate, but the skin files aren't
|
||||||
compatable with our normal parsing rules.
|
compatible with our normal parsing rules.
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
static char *CommaParse( char **data_p ) {
|
static char *CommaParse( char **data_p ) {
|
||||||
|
|
|
@ -134,7 +134,7 @@ static void R_SetupEntityLightingGrid( trRefEntity_t *ent ) {
|
||||||
float totalFactor;
|
float totalFactor;
|
||||||
|
|
||||||
if ( ent->e.renderfx & RF_LIGHTING_ORIGIN ) {
|
if ( ent->e.renderfx & RF_LIGHTING_ORIGIN ) {
|
||||||
// seperate lightOrigins are needed so an object that is
|
// separate lightOrigins are needed so an object that is
|
||||||
// sinking into the ground can still be lit, and so
|
// sinking into the ground can still be lit, and so
|
||||||
// multi-part models can be lit identically
|
// multi-part models can be lit identically
|
||||||
VectorCopy( ent->e.lightingOrigin, lightOrigin );
|
VectorCopy( ent->e.lightingOrigin, lightOrigin );
|
||||||
|
@ -304,7 +304,7 @@ void R_SetupEntityLighting( const trRefdef_t *refdef, trRefEntity_t *ent ) {
|
||||||
// trace a sample point down to find ambient light
|
// trace a sample point down to find ambient light
|
||||||
//
|
//
|
||||||
if ( ent->e.renderfx & RF_LIGHTING_ORIGIN ) {
|
if ( ent->e.renderfx & RF_LIGHTING_ORIGIN ) {
|
||||||
// seperate lightOrigins are needed so an object that is
|
// separate lightOrigins are needed so an object that is
|
||||||
// sinking into the ground can still be lit, and so
|
// sinking into the ground can still be lit, and so
|
||||||
// multi-part models can be lit identically
|
// multi-part models can be lit identically
|
||||||
VectorCopy( ent->e.lightingOrigin, lightOrigin );
|
VectorCopy( ent->e.lightingOrigin, lightOrigin );
|
||||||
|
|
|
@ -840,7 +840,7 @@ typedef struct {
|
||||||
int msec; // total msec for backend run
|
int msec; // total msec for backend run
|
||||||
} backEndCounters_t;
|
} backEndCounters_t;
|
||||||
|
|
||||||
// all state modified by the back end is seperated
|
// all state modified by the back end is separated
|
||||||
// from the front end state
|
// from the front end state
|
||||||
typedef struct {
|
typedef struct {
|
||||||
trRefdef_t refdef;
|
trRefdef_t refdef;
|
||||||
|
@ -981,7 +981,7 @@ extern cvar_t *r_measureOverdraw; // enables stencil buffer overdraw measuremen
|
||||||
extern cvar_t *r_lodbias; // push/pull LOD transitions
|
extern cvar_t *r_lodbias; // push/pull LOD transitions
|
||||||
extern cvar_t *r_lodscale;
|
extern cvar_t *r_lodscale;
|
||||||
|
|
||||||
extern cvar_t *r_primitives; // "0" = based on compiled vertex array existance
|
extern cvar_t *r_primitives; // "0" = based on compiled vertex array existence
|
||||||
// "1" = glDrawElemet tristrips
|
// "1" = glDrawElemet tristrips
|
||||||
// "2" = glDrawElements triangles
|
// "2" = glDrawElements triangles
|
||||||
// "-1" = no drawing
|
// "-1" = no drawing
|
||||||
|
|
|
@ -448,7 +448,7 @@ static void ProjectDlightTexture_altivec( void ) {
|
||||||
dlight_t *dl;
|
dlight_t *dl;
|
||||||
|
|
||||||
if ( !( tess.dlightBits & ( 1 << l ) ) ) {
|
if ( !( tess.dlightBits & ( 1 << l ) ) ) {
|
||||||
continue; // this surface definately doesn't have any of this light
|
continue; // this surface definitely doesn't have any of this light
|
||||||
}
|
}
|
||||||
texCoords = texCoordsArray[0];
|
texCoords = texCoordsArray[0];
|
||||||
colors = colorArray[0];
|
colors = colorArray[0];
|
||||||
|
@ -613,7 +613,7 @@ static void ProjectDlightTexture_scalar( void ) {
|
||||||
dlight_t *dl;
|
dlight_t *dl;
|
||||||
|
|
||||||
if ( !( tess.dlightBits & ( 1 << l ) ) ) {
|
if ( !( tess.dlightBits & ( 1 << l ) ) ) {
|
||||||
continue; // this surface definately doesn't have any of this light
|
continue; // this surface definitely doesn't have any of this light
|
||||||
}
|
}
|
||||||
texCoords = texCoordsArray[0];
|
texCoords = texCoordsArray[0];
|
||||||
colors = colorArray[0];
|
colors = colorArray[0];
|
||||||
|
@ -745,7 +745,7 @@ static void ProjectDlightTexture_scalar( void ) {
|
||||||
static void ProjectDlightTexture( void ) {
|
static void ProjectDlightTexture( void ) {
|
||||||
#if idppc_altivec
|
#if idppc_altivec
|
||||||
if (com_altivec->integer) {
|
if (com_altivec->integer) {
|
||||||
// must be in a seperate function or G3 systems will crash.
|
// must be in a separate function or G3 systems will crash.
|
||||||
ProjectDlightTexture_altivec();
|
ProjectDlightTexture_altivec();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -345,7 +345,7 @@ static void GlobalVectorToLocal( const vec3_t in, vec3_t out ) {
|
||||||
=====================
|
=====================
|
||||||
AutospriteDeform
|
AutospriteDeform
|
||||||
|
|
||||||
Assuming all the triangles for this shader are independant
|
Assuming all the triangles for this shader are independent
|
||||||
quads, rebuild them as forward facing sprites
|
quads, rebuild them as forward facing sprites
|
||||||
=====================
|
=====================
|
||||||
*/
|
*/
|
||||||
|
@ -1206,7 +1206,7 @@ void RB_CalcDiffuseColor( unsigned char *colors )
|
||||||
{
|
{
|
||||||
#if idppc_altivec
|
#if idppc_altivec
|
||||||
if (com_altivec->integer) {
|
if (com_altivec->integer) {
|
||||||
// must be in a seperate function or G3 systems will crash.
|
// must be in a separate function or G3 systems will crash.
|
||||||
RB_CalcDiffuseColor_altivec( colors );
|
RB_CalcDiffuseColor_altivec( colors );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2088,7 +2088,7 @@ static shader_t *GeneratePermanentShader( void ) {
|
||||||
VertexLightingCollapse
|
VertexLightingCollapse
|
||||||
|
|
||||||
If vertex lighting is enabled, only render a single
|
If vertex lighting is enabled, only render a single
|
||||||
pass, trying to guess which is the correct one to best aproximate
|
pass, trying to guess which is the correct one to best approximate
|
||||||
what it is supposed to look like.
|
what it is supposed to look like.
|
||||||
=================
|
=================
|
||||||
*/
|
*/
|
||||||
|
@ -2493,18 +2493,18 @@ be defined for every single image used in the game, three default
|
||||||
shader behaviors can be auto-created for any image:
|
shader behaviors can be auto-created for any image:
|
||||||
|
|
||||||
If lightmapIndex == LIGHTMAP_NONE, then the image will have
|
If lightmapIndex == LIGHTMAP_NONE, then the image will have
|
||||||
dynamic diffuse lighting applied to it, as apropriate for most
|
dynamic diffuse lighting applied to it, as appropriate for most
|
||||||
entity skin surfaces.
|
entity skin surfaces.
|
||||||
|
|
||||||
If lightmapIndex == LIGHTMAP_2D, then the image will be used
|
If lightmapIndex == LIGHTMAP_2D, then the image will be used
|
||||||
for 2D rendering unless an explicit shader is found
|
for 2D rendering unless an explicit shader is found
|
||||||
|
|
||||||
If lightmapIndex == LIGHTMAP_BY_VERTEX, then the image will use
|
If lightmapIndex == LIGHTMAP_BY_VERTEX, then the image will use
|
||||||
the vertex rgba modulate values, as apropriate for misc_model
|
the vertex rgba modulate values, as appropriate for misc_model
|
||||||
pre-lit surfaces.
|
pre-lit surfaces.
|
||||||
|
|
||||||
Other lightmapIndex values will have a lightmap stage created
|
Other lightmapIndex values will have a lightmap stage created
|
||||||
and src*dest blending applied with the texture, as apropriate for
|
and src*dest blending applied with the texture, as appropriate for
|
||||||
most world construction surfaces.
|
most world construction surfaces.
|
||||||
|
|
||||||
===============
|
===============
|
||||||
|
@ -2551,7 +2551,7 @@ shader_t *R_FindShader( const char *name, int lightmapIndex, qboolean mipRawImag
|
||||||
|
|
||||||
InitShader( strippedName, lightmapIndex );
|
InitShader( strippedName, lightmapIndex );
|
||||||
|
|
||||||
// FIXME: set these "need" values apropriately
|
// FIXME: set these "need" values appropriately
|
||||||
shader.needsNormal = qtrue;
|
shader.needsNormal = qtrue;
|
||||||
shader.needsST1 = qtrue;
|
shader.needsST1 = qtrue;
|
||||||
shader.needsST2 = qtrue;
|
shader.needsST2 = qtrue;
|
||||||
|
@ -2689,7 +2689,7 @@ qhandle_t RE_RegisterShaderFromImage(const char *name, int lightmapIndex, image_
|
||||||
|
|
||||||
InitShader( name, lightmapIndex );
|
InitShader( name, lightmapIndex );
|
||||||
|
|
||||||
// FIXME: set these "need" values apropriately
|
// FIXME: set these "need" values appropriately
|
||||||
shader.needsNormal = qtrue;
|
shader.needsNormal = qtrue;
|
||||||
shader.needsST1 = qtrue;
|
shader.needsST1 = qtrue;
|
||||||
shader.needsST2 = qtrue;
|
shader.needsST2 = qtrue;
|
||||||
|
|
|
@ -569,7 +569,7 @@ static void VectorArrayNormalize(vec4_t *normals, unsigned int count)
|
||||||
|
|
||||||
// Vanilla PPC code, but since PPC has a reciprocal square root estimate instruction,
|
// Vanilla PPC code, but since PPC has a reciprocal square root estimate instruction,
|
||||||
// runs *much* faster than calling sqrt(). We'll use a single Newton-Raphson
|
// runs *much* faster than calling sqrt(). We'll use a single Newton-Raphson
|
||||||
// refinement step to get a little more precision. This seems to yeild results
|
// refinement step to get a little more precision. This seems to yield results
|
||||||
// that are correct to 3 decimal places and usually correct to at least 4 (sometimes 5).
|
// that are correct to 3 decimal places and usually correct to at least 4 (sometimes 5).
|
||||||
// (That is, for the given input range of about 0.6 to 2.0).
|
// (That is, for the given input range of about 0.6 to 2.0).
|
||||||
do {
|
do {
|
||||||
|
@ -844,7 +844,7 @@ static void LerpMeshVertexes(md3Surface_t *surf, float backlerp)
|
||||||
{
|
{
|
||||||
#if idppc_altivec
|
#if idppc_altivec
|
||||||
if (com_altivec->integer) {
|
if (com_altivec->integer) {
|
||||||
// must be in a seperate function or G3 systems will crash.
|
// must be in a separate function or G3 systems will crash.
|
||||||
LerpMeshVertexes_altivec( surf, backlerp );
|
LerpMeshVertexes_altivec( surf, backlerp );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -471,7 +471,7 @@ void RB_RenderDrawSurfList( drawSurf_t *drawSurfs, int numDrawSurfs ) {
|
||||||
|
|
||||||
//
|
//
|
||||||
// change the tess parameters if needed
|
// change the tess parameters if needed
|
||||||
// a "entityMergable" shader is a shader that can have surfaces from seperate
|
// a "entityMergable" shader is a shader that can have surfaces from separate
|
||||||
// entities merged into a single batch, like smoke and blood puff sprites
|
// entities merged into a single batch, like smoke and blood puff sprites
|
||||||
if ( shader != NULL && ( shader != oldShader || fogNum != oldFogNum || dlighted != oldDlighted || pshadowed != oldPshadowed || cubemapIndex != oldCubemapIndex
|
if ( shader != NULL && ( shader != oldShader || fogNum != oldFogNum || dlighted != oldDlighted || pshadowed != oldPshadowed || cubemapIndex != oldCubemapIndex
|
||||||
|| ( entityNum != oldEntityNum && !shader->entityMergable ) ) ) {
|
|| ( entityNum != oldEntityNum && !shader->entityMergable ) ) ) {
|
||||||
|
@ -689,7 +689,7 @@ void RE_StretchRaw (int x, int y, int w, int h, int cols, int rows, const byte *
|
||||||
RB_EndSurface();
|
RB_EndSurface();
|
||||||
}
|
}
|
||||||
|
|
||||||
// we definately want to sync every frame for the cinematics
|
// we definitely want to sync every frame for the cinematics
|
||||||
qglFinish();
|
qglFinish();
|
||||||
|
|
||||||
start = 0;
|
start = 0;
|
||||||
|
|
|
@ -1947,7 +1947,7 @@ static void R_LoadNodesAndLeafs (lump_t *nodeLump, lump_t *leafLump) {
|
||||||
out->nummarksurfaces = LittleLong(inLeaf->numLeafSurfaces);
|
out->nummarksurfaces = LittleLong(inLeaf->numLeafSurfaces);
|
||||||
}
|
}
|
||||||
|
|
||||||
// chain decendants
|
// chain descendants
|
||||||
R_SetParent (s_worldData.nodes, NULL);
|
R_SetParent (s_worldData.nodes, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ qboolean R_CheckFBO(const FBO_t * fbo)
|
||||||
if(code == GL_FRAMEBUFFER_COMPLETE)
|
if(code == GL_FRAMEBUFFER_COMPLETE)
|
||||||
return qtrue;
|
return qtrue;
|
||||||
|
|
||||||
// an error occured
|
// an error occurred
|
||||||
switch (code)
|
switch (code)
|
||||||
{
|
{
|
||||||
case GL_FRAMEBUFFER_UNSUPPORTED:
|
case GL_FRAMEBUFFER_UNSUPPORTED:
|
||||||
|
|
|
@ -2286,7 +2286,7 @@ static int numImageLoaders = ARRAY_LEN( imageLoaders );
|
||||||
=================
|
=================
|
||||||
R_LoadImage
|
R_LoadImage
|
||||||
|
|
||||||
Loads any of the supported image types into a cannonical
|
Loads any of the supported image types into a canonical
|
||||||
32 bit format.
|
32 bit format.
|
||||||
=================
|
=================
|
||||||
*/
|
*/
|
||||||
|
@ -2951,7 +2951,7 @@ SKINS
|
||||||
CommaParse
|
CommaParse
|
||||||
|
|
||||||
This is unfortunate, but the skin files aren't
|
This is unfortunate, but the skin files aren't
|
||||||
compatable with our normal parsing rules.
|
compatible with our normal parsing rules.
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
static char *CommaParse( char **data_p ) {
|
static char *CommaParse( char **data_p ) {
|
||||||
|
|
|
@ -138,7 +138,7 @@ static void R_SetupEntityLightingGrid( trRefEntity_t *ent, world_t *world ) {
|
||||||
float totalFactor;
|
float totalFactor;
|
||||||
|
|
||||||
if ( ent->e.renderfx & RF_LIGHTING_ORIGIN ) {
|
if ( ent->e.renderfx & RF_LIGHTING_ORIGIN ) {
|
||||||
// seperate lightOrigins are needed so an object that is
|
// separate lightOrigins are needed so an object that is
|
||||||
// sinking into the ground can still be lit, and so
|
// sinking into the ground can still be lit, and so
|
||||||
// multi-part models can be lit identically
|
// multi-part models can be lit identically
|
||||||
VectorCopy( ent->e.lightingOrigin, lightOrigin );
|
VectorCopy( ent->e.lightingOrigin, lightOrigin );
|
||||||
|
@ -335,7 +335,7 @@ void R_SetupEntityLighting( const trRefdef_t *refdef, trRefEntity_t *ent ) {
|
||||||
// trace a sample point down to find ambient light
|
// trace a sample point down to find ambient light
|
||||||
//
|
//
|
||||||
if ( ent->e.renderfx & RF_LIGHTING_ORIGIN ) {
|
if ( ent->e.renderfx & RF_LIGHTING_ORIGIN ) {
|
||||||
// seperate lightOrigins are needed so an object that is
|
// separate lightOrigins are needed so an object that is
|
||||||
// sinking into the ground can still be lit, and so
|
// sinking into the ground can still be lit, and so
|
||||||
// multi-part models can be lit identically
|
// multi-part models can be lit identically
|
||||||
VectorCopy( ent->e.lightingOrigin, lightOrigin );
|
VectorCopy( ent->e.lightingOrigin, lightOrigin );
|
||||||
|
|
|
@ -1392,7 +1392,7 @@ typedef struct {
|
||||||
int msec; // total msec for backend run
|
int msec; // total msec for backend run
|
||||||
} backEndCounters_t;
|
} backEndCounters_t;
|
||||||
|
|
||||||
// all state modified by the back end is seperated
|
// all state modified by the back end is separated
|
||||||
// from the front end state
|
// from the front end state
|
||||||
typedef struct {
|
typedef struct {
|
||||||
trRefdef_t refdef;
|
trRefdef_t refdef;
|
||||||
|
|
|
@ -341,7 +341,7 @@ static void ProjectDlightTexture( void ) {
|
||||||
vec4_t vector;
|
vec4_t vector;
|
||||||
|
|
||||||
if ( !( tess.dlightBits & ( 1 << l ) ) ) {
|
if ( !( tess.dlightBits & ( 1 << l ) ) ) {
|
||||||
continue; // this surface definately doesn't have any of this light
|
continue; // this surface definitely doesn't have any of this light
|
||||||
}
|
}
|
||||||
|
|
||||||
dl = &backEnd.refdef.dlights[l];
|
dl = &backEnd.refdef.dlights[l];
|
||||||
|
@ -672,7 +672,7 @@ static void ForwardDlight( void ) {
|
||||||
vec4_t texOffTurb;
|
vec4_t texOffTurb;
|
||||||
|
|
||||||
if ( !( tess.dlightBits & ( 1 << l ) ) ) {
|
if ( !( tess.dlightBits & ( 1 << l ) ) ) {
|
||||||
continue; // this surface definately doesn't have any of this light
|
continue; // this surface definitely doesn't have any of this light
|
||||||
}
|
}
|
||||||
|
|
||||||
dl = &backEnd.refdef.dlights[l];
|
dl = &backEnd.refdef.dlights[l];
|
||||||
|
@ -836,7 +836,7 @@ static void ProjectPshadowVBOGLSL( void ) {
|
||||||
vec4_t vector;
|
vec4_t vector;
|
||||||
|
|
||||||
if ( !( tess.pshadowBits & ( 1 << l ) ) ) {
|
if ( !( tess.pshadowBits & ( 1 << l ) ) ) {
|
||||||
continue; // this surface definately doesn't have any of this shadow
|
continue; // this surface definitely doesn't have any of this shadow
|
||||||
}
|
}
|
||||||
|
|
||||||
ps = &backEnd.refdef.pshadows[l];
|
ps = &backEnd.refdef.pshadows[l];
|
||||||
|
|
|
@ -350,7 +350,7 @@ static void GlobalVectorToLocal( const vec3_t in, vec3_t out ) {
|
||||||
=====================
|
=====================
|
||||||
AutospriteDeform
|
AutospriteDeform
|
||||||
|
|
||||||
Assuming all the triangles for this shader are independant
|
Assuming all the triangles for this shader are independent
|
||||||
quads, rebuild them as forward facing sprites
|
quads, rebuild them as forward facing sprites
|
||||||
=====================
|
=====================
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2794,7 +2794,7 @@ static shader_t *GeneratePermanentShader( void ) {
|
||||||
VertexLightingCollapse
|
VertexLightingCollapse
|
||||||
|
|
||||||
If vertex lighting is enabled, only render a single
|
If vertex lighting is enabled, only render a single
|
||||||
pass, trying to guess which is the correct one to best aproximate
|
pass, trying to guess which is the correct one to best approximate
|
||||||
what it is supposed to look like.
|
what it is supposed to look like.
|
||||||
=================
|
=================
|
||||||
*/
|
*/
|
||||||
|
@ -3214,18 +3214,18 @@ be defined for every single image used in the game, three default
|
||||||
shader behaviors can be auto-created for any image:
|
shader behaviors can be auto-created for any image:
|
||||||
|
|
||||||
If lightmapIndex == LIGHTMAP_NONE, then the image will have
|
If lightmapIndex == LIGHTMAP_NONE, then the image will have
|
||||||
dynamic diffuse lighting applied to it, as apropriate for most
|
dynamic diffuse lighting applied to it, as appropriate for most
|
||||||
entity skin surfaces.
|
entity skin surfaces.
|
||||||
|
|
||||||
If lightmapIndex == LIGHTMAP_2D, then the image will be used
|
If lightmapIndex == LIGHTMAP_2D, then the image will be used
|
||||||
for 2D rendering unless an explicit shader is found
|
for 2D rendering unless an explicit shader is found
|
||||||
|
|
||||||
If lightmapIndex == LIGHTMAP_BY_VERTEX, then the image will use
|
If lightmapIndex == LIGHTMAP_BY_VERTEX, then the image will use
|
||||||
the vertex rgba modulate values, as apropriate for misc_model
|
the vertex rgba modulate values, as appropriate for misc_model
|
||||||
pre-lit surfaces.
|
pre-lit surfaces.
|
||||||
|
|
||||||
Other lightmapIndex values will have a lightmap stage created
|
Other lightmapIndex values will have a lightmap stage created
|
||||||
and src*dest blending applied with the texture, as apropriate for
|
and src*dest blending applied with the texture, as appropriate for
|
||||||
most world construction surfaces.
|
most world construction surfaces.
|
||||||
|
|
||||||
===============
|
===============
|
||||||
|
|
|
@ -135,9 +135,9 @@ typedef struct client_s {
|
||||||
char userinfo[MAX_INFO_STRING]; // name, etc
|
char userinfo[MAX_INFO_STRING]; // name, etc
|
||||||
|
|
||||||
char reliableCommands[MAX_RELIABLE_COMMANDS][MAX_STRING_CHARS];
|
char reliableCommands[MAX_RELIABLE_COMMANDS][MAX_STRING_CHARS];
|
||||||
int reliableSequence; // last added reliable message, not necesarily sent or acknowledged yet
|
int reliableSequence; // last added reliable message, not necessarily sent or acknowledged yet
|
||||||
int reliableAcknowledge; // last acknowledged reliable message
|
int reliableAcknowledge; // last acknowledged reliable message
|
||||||
int reliableSent; // last sent reliable message, not necesarily acknowledged yet
|
int reliableSent; // last sent reliable message, not necessarily acknowledged yet
|
||||||
int messageAcknowledge;
|
int messageAcknowledge;
|
||||||
|
|
||||||
int gamestateMessageNum; // netchan->outgoingSequence of gamestate
|
int gamestateMessageNum; // netchan->outgoingSequence of gamestate
|
||||||
|
|
|
@ -128,7 +128,7 @@ void SV_SetConfigstring (int index, const char *val) {
|
||||||
// spawning a new server
|
// spawning a new server
|
||||||
if ( sv.state == SS_GAME || sv.restarting ) {
|
if ( sv.state == SS_GAME || sv.restarting ) {
|
||||||
|
|
||||||
// send the data to all relevent clients
|
// send the data to all relevant clients
|
||||||
for (i = 0, client = svs.clients; i < sv_maxclients->integer ; i++, client++) {
|
for (i = 0, client = svs.clients; i < sv_maxclients->integer ; i++, client++) {
|
||||||
if ( client->state < CS_ACTIVE ) {
|
if ( client->state < CS_ACTIVE ) {
|
||||||
if ( client->state == CS_PRIMED )
|
if ( client->state == CS_PRIMED )
|
||||||
|
@ -376,7 +376,7 @@ static void SV_ClearServer(void) {
|
||||||
================
|
================
|
||||||
SV_TouchCGame
|
SV_TouchCGame
|
||||||
|
|
||||||
touch the cgame.vm so that a pure client can load it if it's in a seperate pk3
|
touch the cgame.vm so that a pure client can load it if it's in a separate pk3
|
||||||
================
|
================
|
||||||
*/
|
*/
|
||||||
static void SV_TouchCGame(void) {
|
static void SV_TouchCGame(void) {
|
||||||
|
@ -575,7 +575,7 @@ void SV_SpawnServer( char *server, qboolean killBots ) {
|
||||||
Cvar_Set( "sv_pakNames", p );
|
Cvar_Set( "sv_pakNames", p );
|
||||||
|
|
||||||
// if a dedicated pure server we need to touch the cgame because it could be in a
|
// if a dedicated pure server we need to touch the cgame because it could be in a
|
||||||
// seperate pk3 file and the client will need to load the latest cgame.qvm
|
// separate pk3 file and the client will need to load the latest cgame.qvm
|
||||||
if ( com_dedicated->integer ) {
|
if ( com_dedicated->integer ) {
|
||||||
SV_TouchCGame();
|
SV_TouchCGame();
|
||||||
}
|
}
|
||||||
|
|
|
@ -209,7 +209,7 @@ void QDECL SV_SendServerCommand(client_t *cl, const char *fmt, ...) {
|
||||||
Com_Printf ("broadcast: %s\n", SV_ExpandNewlines((char *)message) );
|
Com_Printf ("broadcast: %s\n", SV_ExpandNewlines((char *)message) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// send the data to all relevent clients
|
// send the data to all relevant clients
|
||||||
for (j = 0, client = svs.clients; j < sv_maxclients->integer ; j++, client++) {
|
for (j = 0, client = svs.clients; j < sv_maxclients->integer ; j++, client++) {
|
||||||
SV_AddServerCommand( client, (char *)message );
|
SV_AddServerCommand( client, (char *)message );
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,7 +87,7 @@ static void SV_EmitPacketEntities( clientSnapshot_t *from, clientSnapshot_t *to,
|
||||||
if ( newnum == oldnum ) {
|
if ( newnum == oldnum ) {
|
||||||
// delta update from old position
|
// delta update from old position
|
||||||
// because the force parm is qfalse, this will not result
|
// because the force parm is qfalse, this will not result
|
||||||
// in any bytes being emited if the entity has not changed at all
|
// in any bytes being emitted if the entity has not changed at all
|
||||||
MSG_WriteDeltaEntity (msg, oldent, newent, qfalse );
|
MSG_WriteDeltaEntity (msg, oldent, newent, qfalse );
|
||||||
oldindex++;
|
oldindex++;
|
||||||
newindex++;
|
newindex++;
|
||||||
|
|
|
@ -495,7 +495,7 @@ void Sys_FreeFileList( char **list )
|
||||||
==================
|
==================
|
||||||
Sys_Sleep
|
Sys_Sleep
|
||||||
|
|
||||||
Block execution for msec or until input is recieved.
|
Block execution for msec or until input is received.
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Sys_Sleep( int msec )
|
void Sys_Sleep( int msec )
|
||||||
|
|
|
@ -734,7 +734,7 @@ int LoadFile( const char *filename, void **bufferptr )
|
||||||
==============
|
==============
|
||||||
LoadFileBlock
|
LoadFileBlock
|
||||||
-
|
-
|
||||||
rounds up memory allocation to 4K boundry
|
rounds up memory allocation to 4K boundary
|
||||||
-
|
-
|
||||||
==============
|
==============
|
||||||
*/
|
*/
|
||||||
|
@ -810,7 +810,7 @@ void DefaultExtension (char *path, const char *extension)
|
||||||
{
|
{
|
||||||
char *src;
|
char *src;
|
||||||
//
|
//
|
||||||
// if path doesnt have a .EXT, append extension
|
// if path doesn't have a .EXT, append extension
|
||||||
// (extension should include the .)
|
// (extension should include the .)
|
||||||
//
|
//
|
||||||
src = path + strlen(path) - 1;
|
src = path + strlen(path) - 1;
|
||||||
|
|
|
@ -59,7 +59,7 @@ typedef unsigned char byte;
|
||||||
#define MAX_OS_PATH 1024
|
#define MAX_OS_PATH 1024
|
||||||
#define MEM_BLOCKSIZE 4096
|
#define MEM_BLOCKSIZE 4096
|
||||||
|
|
||||||
// the dec offsetof macro doesnt work very well...
|
// the dec offsetof macro doesn't work very well...
|
||||||
#define myoffsetof(type,identifier) ((size_t)&((type *)0)->identifier)
|
#define myoffsetof(type,identifier) ((size_t)&((type *)0)->identifier)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
don't do any paramter conversion (double to float, etc)
|
don't do any parameter conversion (double to float, etc)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -788,7 +788,7 @@ HackToSegment
|
||||||
|
|
||||||
BIG HACK: I want to put all 32 bit values in the data
|
BIG HACK: I want to put all 32 bit values in the data
|
||||||
segment so they can be byte swapped, and all char data in the lit
|
segment so they can be byte swapped, and all char data in the lit
|
||||||
segment, but switch jump tables are emited in the lit segment and
|
segment, but switch jump tables are emitted in the lit segment and
|
||||||
initialized strng variables are put in the data segment.
|
initialized strng variables are put in the data segment.
|
||||||
|
|
||||||
I can change segments here, but I also need to fixup the
|
I can change segments here, but I also need to fixup the
|
||||||
|
@ -1129,7 +1129,7 @@ STAT("BYTE");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// code labels are emited as instruction counts, not byte offsets,
|
// code labels are emitted as instruction counts, not byte offsets,
|
||||||
// because the physical size of the code will change with
|
// because the physical size of the code will change with
|
||||||
// different run time compilers and we want to minimize the
|
// different run time compilers and we want to minimize the
|
||||||
// size of the required translation table
|
// size of the required translation table
|
||||||
|
@ -1564,7 +1564,7 @@ int main( int argc, char **argv ) {
|
||||||
|
|
||||||
if ( !strcmp( argv[i], "-o" ) ) {
|
if ( !strcmp( argv[i], "-o" ) ) {
|
||||||
if ( i == argc - 1 ) {
|
if ( i == argc - 1 ) {
|
||||||
Error( "-o must preceed a filename" );
|
Error( "-o must precede a filename" );
|
||||||
}
|
}
|
||||||
/* Timbo of Tremulous pointed out -o not working; stock ID q3asm folded in the change. Yay. */
|
/* Timbo of Tremulous pointed out -o not working; stock ID q3asm folded in the change. Yay. */
|
||||||
strcpy( outputFilename, argv[ i+1 ] );
|
strcpy( outputFilename, argv[ i+1 ] );
|
||||||
|
@ -1574,7 +1574,7 @@ int main( int argc, char **argv ) {
|
||||||
|
|
||||||
if ( !strcmp( argv[i], "-f" ) ) {
|
if ( !strcmp( argv[i], "-f" ) ) {
|
||||||
if ( i == argc - 1 ) {
|
if ( i == argc - 1 ) {
|
||||||
Error( "-f must preceed a filename" );
|
Error( "-f must precede a filename" );
|
||||||
}
|
}
|
||||||
ParseOptionFile( argv[ i+1 ] );
|
ParseOptionFile( argv[ i+1 ] );
|
||||||
i++;
|
i++;
|
||||||
|
|
|
@ -41,7 +41,7 @@ and insisted that pointers fit in unsigned integers (see Sec. 5.1 of <cite>A Ret
|
||||||
C Compiler</cite>). These assumptions simplified the compiler, and were suitable for
|
C Compiler</cite>). These assumptions simplified the compiler, and were suitable for
|
||||||
32-bit architectures. But on 64-bit architectures, such as the DEC ALPHA, it's natural to
|
32-bit architectures. But on 64-bit architectures, such as the DEC ALPHA, it's natural to
|
||||||
have four sizes of integers and perhaps three sizes of floats, and on 16-bit
|
have four sizes of integers and perhaps three sizes of floats, and on 16-bit
|
||||||
architectures, 32-bit pointers don't fit in unsigned integers. Also, the 3.x constaints
|
architectures, 32-bit pointers don't fit in unsigned integers. Also, the 3.x constraints
|
||||||
limited the use of lcc's back ends for other languages, such as Java.</p>
|
limited the use of lcc's back ends for other languages, such as Java.</p>
|
||||||
|
|
||||||
<p>Version 4.x removes all of these restrictions: It supports any number of sizes for
|
<p>Version 4.x removes all of these restrictions: It supports any number of sizes for
|
||||||
|
|
|
@ -636,7 +636,7 @@ static void opt(char *arg) {
|
||||||
clist = append(&arg[3], clist);
|
clist = append(&arg[3], clist);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break; /* and fall thru */
|
break; /* and fall through */
|
||||||
case 'a':
|
case 'a':
|
||||||
alist = append(&arg[3], alist);
|
alist = append(&arg[3], alist);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -401,7 +401,7 @@ Tree addrof(Tree p) {
|
||||||
Symbol t1 = q->u.sym;
|
Symbol t1 = q->u.sym;
|
||||||
q->u.sym = 0;
|
q->u.sym = 0;
|
||||||
q = idtree(t1);
|
q = idtree(t1);
|
||||||
/* fall thru */
|
/* fall through */
|
||||||
}
|
}
|
||||||
case INDIR:
|
case INDIR:
|
||||||
if (p == q)
|
if (p == q)
|
||||||
|
|
|
@ -80,7 +80,7 @@ int fatal(const char *name, const char *fmt, int n) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* printtoken - print current token preceeded by a space */
|
/* printtoken - print current token preceded by a space */
|
||||||
static void printtoken(void) {
|
static void printtoken(void) {
|
||||||
switch (t) {
|
switch (t) {
|
||||||
case ID: fprint(stderr, " `%s'", token); break;
|
case ID: fprint(stderr, " `%s'", token); break;
|
||||||
|
|
|
@ -292,7 +292,7 @@ static void dumptree(Node p) {
|
||||||
dumptree(p->kids[0]);
|
dumptree(p->kids[0]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* else fall thru */
|
/* else fall through */
|
||||||
case EQ: case NE: case GT: case GE: case LE: case LT:
|
case EQ: case NE: case GT: case GE: case LE: case LT:
|
||||||
case ASGN: case BOR: case BAND: case BXOR: case RSH: case LSH:
|
case ASGN: case BOR: case BAND: case BXOR: case RSH: case LSH:
|
||||||
case ADD: case SUB: case DIV: case MUL: case MOD:
|
case ADD: case SUB: case DIV: case MUL: case MOD:
|
||||||
|
|
|
@ -40,7 +40,7 @@ static int genconst(Tree e, int def) {
|
||||||
if (isarith(e->type))
|
if (isarith(e->type))
|
||||||
error("cast from `%t' to `%t' is illegal in constant expressions\n",
|
error("cast from `%t' to `%t' is illegal in constant expressions\n",
|
||||||
e->kids[0]->type, e->type);
|
e->kids[0]->type, e->type);
|
||||||
/* fall thru */
|
/* fall through */
|
||||||
case CVI: case CVU: case CVF:
|
case CVI: case CVU: case CVF:
|
||||||
e = e->kids[0];
|
e = e->kids[0];
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -86,7 +86,7 @@ static Tree root1(Tree p) {
|
||||||
warning("reference to `%t' elided\n", p->type);
|
warning("reference to `%t' elided\n", p->type);
|
||||||
if (isptr(p->kids[0]->type) && isvolatile(p->kids[0]->type->type))
|
if (isptr(p->kids[0]->type) && isvolatile(p->kids[0]->type->type))
|
||||||
warning("reference to `volatile %t' elided\n", p->type);
|
warning("reference to `volatile %t' elided\n", p->type);
|
||||||
/* fall thru */
|
/* fall through */
|
||||||
case CVI: case CVF: case CVU: case CVP:
|
case CVI: case CVF: case CVU: case CVP:
|
||||||
case NEG: case BCOM: case FIELD:
|
case NEG: case BCOM: case FIELD:
|
||||||
if (warn++ == 0)
|
if (warn++ == 0)
|
||||||
|
|
|
@ -258,7 +258,7 @@ typedef struct
|
||||||
int width;
|
int width;
|
||||||
int height;
|
int height;
|
||||||
int columns;
|
int columns;
|
||||||
int seperation;
|
int separation;
|
||||||
} menulist_s;
|
} menulist_s;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue