fix misc bugs/issues/warnings.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4751 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2014-09-14 01:45:11 +00:00
parent 1daac61ea9
commit 6c6999ce78
12 changed files with 49 additions and 52 deletions

View file

@ -2864,6 +2864,8 @@ void CLQW_ParseServerData (void)
Host_EndGame("Server sent us too many alternate clients\n"); Host_EndGame("Server sent us too many alternate clients\n");
for (pnum = 0; pnum < cl.splitclients; pnum++) for (pnum = 0; pnum < cl.splitclients; pnum++)
{ {
if (cls.z_ext & Z_EXT_VIEWHEIGHT)
cl.playerview[pnum].viewheight = 0;
cl.playerview[pnum].playernum = MSG_ReadByte(); cl.playerview[pnum].playernum = MSG_ReadByte();
if (cl.playerview[pnum].playernum >= cl.allocated_client_slots) if (cl.playerview[pnum].playernum >= cl.allocated_client_slots)
Host_EndGame("unsupported local player slot\n"); Host_EndGame("unsupported local player slot\n");
@ -2878,6 +2880,8 @@ void CLQW_ParseServerData (void)
{ {
if (clnum == MAX_SPLITS) if (clnum == MAX_SPLITS)
Host_EndGame("Server sent us too many alternate clients\n"); Host_EndGame("Server sent us too many alternate clients\n");
if (cls.z_ext & Z_EXT_VIEWHEIGHT)
cl.playerview[pnum].viewheight = 0;
cl.playerview[clnum].playernum = pnum; cl.playerview[clnum].playernum = pnum;
if (cl.playerview[clnum].playernum & 128) if (cl.playerview[clnum].playernum & 128)
{ {

View file

@ -2752,7 +2752,7 @@ void M_Menu_ModelViewer_f(void)
#else #else
void M_Menu_ModelViewer_f(void) void M_Menu_ModelViewer_f(void)
{ {
Con_Printf("no.\n"); Con_Printf("modelviewer: not in this build\n");
} }
#endif #endif
@ -2772,6 +2772,9 @@ static void Mods_Draw(int x, int y, struct menucustom_s *c, struct menu_s *m)
mods->y = y; mods->y = y;
if (!mods->nummanifests)
Draw_FunString(x, y, "No games or mods known");
for (i = 0; y+8 <= ym && i < mods->nummanifests; y+=8, i++) for (i = 0; y+8 <= ym && i < mods->nummanifests; y+=8, i++)
{ {
if (mousecursor_y >= y && mousecursor_y < y+8) if (mousecursor_y >= y && mousecursor_y < y+8)

View file

@ -2180,7 +2180,7 @@ void Surf_GenBrushBatches(batch_t **batches, entity_t *ent)
// calculate dynamic lighting for bmodel if it's not an // calculate dynamic lighting for bmodel if it's not an
// instanced model // instanced model
if (model->fromgame != fg_quake3 && model->fromgame != fg_doom3) if (model->fromgame != fg_quake3 && model->fromgame != fg_doom3 && lightmap)
{ {
int k; int k;

View file

@ -3117,6 +3117,7 @@ int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLin
#endif #endif
#ifdef CATCHCRASH #ifdef CATCHCRASH
LoadLibrary ("DBGHELP"); //heap corruption can prevent loadlibrary from working properly, so do this in advance.
#ifdef _MSC_VER #ifdef _MSC_VER
__try __try
#else #else

View file

@ -2448,7 +2448,7 @@ void BE_GenModelBatches(batch_t **batches, const dlight_t *dl, unsigned int bemo
switch(ent->model->type) switch(ent->model->type)
{ {
case mod_brush: case mod_brush:
if (r_drawentities.ival == 2 || !lightmap) if (r_drawentities.ival == 2)
continue; continue;
Surf_GenBrushBatches(batches, ent); Surf_GenBrushBatches(batches, ent);
break; break;

View file

@ -498,6 +498,8 @@ cont:
{ {
msg = "HTTP/1.1 400 Bad Request\r\n" /*"Content-Type: application/octet-stream\r\n"*/ "Content-Length: 69\r\n" "Server: "FULLENGINENAME"/0\r\n" "\r\n" "400 Bad Request\r\nYour client failed to provide the host header line"; msg = "HTTP/1.1 400 Bad Request\r\n" /*"Content-Type: application/octet-stream\r\n"*/ "Content-Length: 69\r\n" "Server: "FULLENGINENAME"/0\r\n" "\r\n" "400 Bad Request\r\nYour client failed to provide the host header line";
IWebPrintf("%s: no host specified\n", cl->peername);
ammount = strlen(msg); ammount = strlen(msg);
ExpandOutBuffer(cl, ammount, true); ExpandOutBuffer(cl, ammount, true);
memcpy(cl->outbuffer, msg, ammount); memcpy(cl->outbuffer, msg, ammount);
@ -540,7 +542,7 @@ cont:
} }
if (!cl->file) if (!cl->file)
{ {
IWebPrintf("%s: Download rejected\n", cl->peername); IWebPrintf("%s: 404 - not found\n", cl->peername);
if (HTTPmarkup >= 3) if (HTTPmarkup >= 3)
msg = "HTTP/1.1 404 Not Found\r\n" "Content-Type: text/plain\r\n" "Content-Length: 15\r\n" "Server: "FULLENGINENAME"/0\r\n" "\r\n" "404 Bad address"; msg = "HTTP/1.1 404 Not Found\r\n" "Content-Type: text/plain\r\n" "Content-Length: 15\r\n" "Server: "FULLENGINENAME"/0\r\n" "\r\n" "404 Bad address";
@ -603,6 +605,7 @@ notimplemented:
msg = NULL; msg = NULL;
cl->closereason = "unsupported http version"; cl->closereason = "unsupported http version";
} }
IWebPrintf("%s: 501 - not implemented\n", cl->peername);
if (msg) if (msg)
{ {

View file

@ -1892,12 +1892,6 @@ QCC_def_t *QCC_PR_StatementFlags (QCC_opcode_t *op, QCC_def_t *var_a, QCC_def_t
QCC_statement_t *statement; QCC_statement_t *statement;
QCC_def_t *var_c=NULL, *temp=NULL; QCC_def_t *var_c=NULL, *temp=NULL;
if (outstatement == (QCC_statement_t **)0xffffffff)
{
outstatement = NULL;
flags &= ~(STFL_CONVERTA|STFL_CONVERTB);
}
if (op->priority != -1 && op->priority != CONDITION_PRIORITY) if (op->priority != -1 && op->priority != CONDITION_PRIORITY)
{ {
if (op->associative!=ASSOC_LEFT) if (op->associative!=ASSOC_LEFT)
@ -3726,9 +3720,9 @@ QCC_def_t *QCC_PR_GenerateFunctionCall (QCC_def_t *newself, QCC_def_t *func, QCC
else if (def_ret.temp->used) else if (def_ret.temp->used)
{ {
if (def_ret.type->size == 3) if (def_ret.type->size == 3)
QCC_FreeTemp(QCC_PR_Statement(&pr_opcodes[OP_STORE_V], &def_ret, oldret, (void*)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(&pr_opcodes[OP_STORE_V], &def_ret, oldret, NULL, 0));
else else
QCC_FreeTemp(QCC_PR_Statement(&pr_opcodes[OP_STORE_F], &def_ret, oldret, (void*)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(&pr_opcodes[OP_STORE_F], &def_ret, oldret, NULL, 0));
QCC_UnFreeTemp(oldret); QCC_UnFreeTemp(oldret);
QCC_UnFreeTemp(&def_ret); QCC_UnFreeTemp(&def_ret);
QCC_PR_ParseWarning(WARN_FIXEDRETURNVALUECONFLICT, "Return value conflict - output is inefficient"); QCC_PR_ParseWarning(WARN_FIXEDRETURNVALUECONFLICT, "Return value conflict - output is inefficient");
@ -3785,21 +3779,21 @@ QCC_def_t *QCC_PR_GenerateFunctionCall (QCC_def_t *newself, QCC_def_t *func, QCC
if (t->type == ev_variant) if (t->type == ev_variant)
{ {
d = QCC_GetTemp(type_variant); d = QCC_GetTemp(type_variant);
QCC_FreeTemp(QCC_PR_Statement(pr_opcodes+OP_STORE_F, &def_ret, d, (void*)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(pr_opcodes+OP_STORE_F, &def_ret, d, NULL, 0));
} }
else else
{ {
d = QCC_GetTemp(t->aux_type); d = QCC_GetTemp(t->aux_type);
if (t->aux_type->size == 3) if (t->aux_type->size == 3)
QCC_FreeTemp(QCC_PR_Statement(pr_opcodes+OP_STORE_V, &def_ret, d, (void*)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(pr_opcodes+OP_STORE_V, &def_ret, d, NULL, 0));
else else
QCC_FreeTemp(QCC_PR_Statement(pr_opcodes+OP_STORE_F, &def_ret, d, (void*)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(pr_opcodes+OP_STORE_F, &def_ret, d, NULL, 0));
} }
def_ret.type = oldrettype; def_ret.type = oldrettype;
if (def_ret.type->size == 3) if (def_ret.type->size == 3)
QCC_FreeTemp(QCC_PR_Statement(pr_opcodes+OP_STORE_V, oldret, &def_ret, (void*)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(pr_opcodes+OP_STORE_V, oldret, &def_ret, NULL, 0));
else else
QCC_FreeTemp(QCC_PR_Statement(pr_opcodes+OP_STORE_F, oldret, &def_ret, (void*)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(pr_opcodes+OP_STORE_F, oldret, &def_ret, NULL, 0));
QCC_FreeTemp(oldret); QCC_FreeTemp(oldret);
QCC_UnFreeTemp(&def_ret); QCC_UnFreeTemp(&def_ret);
QCC_UnFreeTemp(d); QCC_UnFreeTemp(d);
@ -4433,16 +4427,16 @@ QCC_def_t *QCC_PR_ParseFunctionCall (QCC_ref_t *funcref) //warning, the func cou
e = QCC_PR_Expression(TOP_PRIORITY, EXPR_DISALLOW_COMMA); e = QCC_PR_Expression(TOP_PRIORITY, EXPR_DISALLOW_COMMA);
QCC_PR_Expect(")"); QCC_PR_Expect(")");
e = QCC_PR_Statement(&pr_opcodes[OP_DIV_F], e, QCC_MakeIntConst(1), (QCC_statement_t **)0xffffffff); e = QCC_PR_StatementFlags(&pr_opcodes[OP_DIV_F], e, QCC_MakeIntConst(1), NULL, 0);
d = QCC_PR_GetDef(NULL, "nextent", NULL, false, 0, false); d = QCC_PR_GetDef(NULL, "nextent", NULL, false, 0, false);
if (!d) if (!d)
QCC_PR_ParseError(0, "the nextent builtin is not defined"); QCC_PR_ParseError(0, "the nextent builtin is not defined");
QCC_FreeTemp(QCC_PR_Statement(&pr_opcodes[OP_STORE_F], e, &def_parms[0], (QCC_statement_t **)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(&pr_opcodes[OP_STORE_F], e, &def_parms[0], NULL, 0));
d = QCC_PR_Statement(&pr_opcodes[OP_CALL0], d, NULL, NULL); d = QCC_PR_StatementFlags(&pr_opcodes[OP_CALL0], d, NULL, NULL, 0);
d = QCC_PR_Statement(&pr_opcodes[OP_DIV_F], d, QCC_MakeIntConst(1), (QCC_statement_t **)0xffffffff); d = QCC_PR_StatementFlags(&pr_opcodes[OP_DIV_F], d, QCC_MakeIntConst(1), NULL, 0);
e = QCC_PR_Statement(&pr_opcodes[OP_DIV_F], e, d, (QCC_statement_t **)0xffffffff); e = QCC_PR_StatementFlags(&pr_opcodes[OP_DIV_F], e, d, NULL, 0);
return e; return e;
} }
@ -4512,11 +4506,11 @@ QCC_def_t *QCC_PR_ParseFunctionCall (QCC_ref_t *funcref) //warning, the func cou
e = &def_parms[arg]; e = &def_parms[arg];
e->ofs = OFS_PARM0+0; e->ofs = OFS_PARM0+0;
QCC_FreeTemp(QCC_PR_Statement (&pr_opcodes[OP_STORE_F], QCC_MakeFloatConst(pr_immediate.vector[0]), e, (QCC_statement_t **)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags (&pr_opcodes[OP_STORE_F], QCC_MakeFloatConst(pr_immediate.vector[0]), e, NULL, 0));
e->ofs = OFS_PARM0+1; e->ofs = OFS_PARM0+1;
QCC_FreeTemp(QCC_PR_Statement (&pr_opcodes[OP_STORE_F], QCC_MakeFloatConst(pr_immediate.vector[1]), e, (QCC_statement_t **)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags (&pr_opcodes[OP_STORE_F], QCC_MakeFloatConst(pr_immediate.vector[1]), e, NULL, 0));
e->ofs = OFS_PARM0+2; e->ofs = OFS_PARM0+2;
QCC_FreeTemp(QCC_PR_Statement (&pr_opcodes[OP_STORE_F], QCC_MakeFloatConst(pr_immediate.vector[2]), e, (QCC_statement_t **)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags (&pr_opcodes[OP_STORE_F], QCC_MakeFloatConst(pr_immediate.vector[2]), e, NULL, 0));
e->ofs = OFS_PARM0; e->ofs = OFS_PARM0;
e->type = type_vector; e->type = type_vector;
@ -5624,19 +5618,19 @@ QCC_ref_t *QCC_PR_ParseRefValue (QCC_ref_t *refbuf, QCC_type_t *assumeclass, pbo
d = QCC_GetTemp(type_vector); d = QCC_GetTemp(type_vector);
d->type = type_float; d->type = type_float;
if (x->type->type == ev_float) if (x->type->type == ev_float)
QCC_PR_Statement(pr_opcodes + OP_STORE_F, x, d, (QCC_statement_t **)0xffffffff); QCC_PR_StatementFlags(pr_opcodes + OP_STORE_F, x, d, NULL, 0);
else else
QCC_PR_Statement(pr_opcodes+OP_CONV_ITOF, x, d, (QCC_statement_t **)0xffffffff); QCC_PR_StatementFlags(pr_opcodes+OP_CONV_ITOF, x, d, NULL, 0);
d->ofs++; d->ofs++;
if (y->type->type == ev_float) if (y->type->type == ev_float)
QCC_PR_Statement(pr_opcodes + OP_STORE_F, y, d, (QCC_statement_t **)0xffffffff); QCC_PR_StatementFlags(pr_opcodes + OP_STORE_F, y, d, NULL, 0);
else else
QCC_PR_Statement(pr_opcodes+OP_CONV_ITOF, y, d, (QCC_statement_t **)0xffffffff); QCC_PR_StatementFlags(pr_opcodes+OP_CONV_ITOF, y, d, NULL, 0);
d->ofs++; d->ofs++;
if (z->type->type == ev_float) if (z->type->type == ev_float)
QCC_PR_Statement(pr_opcodes + OP_STORE_F, z, d, (QCC_statement_t **)0xffffffff); QCC_PR_StatementFlags(pr_opcodes + OP_STORE_F, z, d, NULL, 0);
else else
QCC_PR_Statement(pr_opcodes+OP_CONV_ITOF, z, d, (QCC_statement_t **)0xffffffff); QCC_PR_StatementFlags(pr_opcodes+OP_CONV_ITOF, z, d, NULL, 0);
d->ofs++; d->ofs++;
d->ofs -= 3; d->ofs -= 3;
d->type = type_vector; d->type = type_vector;
@ -6184,7 +6178,7 @@ void QCC_StoreToOffset(int dest, int source, QCC_type_t *type)
}*/ }*/
void QCC_StoreToDef(QCC_def_t *dest, QCC_def_t *source, QCC_type_t *type, pbool preservesource, pbool preservedest) void QCC_StoreToDef(QCC_def_t *dest, QCC_def_t *source, QCC_type_t *type, pbool preservesource, pbool preservedest)
{ {
int i; unsigned int i;
int flags = 0; int flags = 0;
if (preservesource) if (preservesource)
flags |= STFL_PRESERVEA; flags |= STFL_PRESERVEA;
@ -6540,7 +6534,7 @@ QCC_def_t *QCC_LoadFromArray(QCC_def_t *base, QCC_def_t *index, QCC_type_t *t, p
for (i = 0; i < t->size; i++) for (i = 0; i < t->size; i++)
{ {
if (i) if (i)
args[0] = QCC_PR_Statement(&pr_opcodes[OP_ADD_F], index, QCC_MakeFloatConst(i), (QCC_statement_t **)0xffffffff); args[0] = QCC_PR_StatementFlags(&pr_opcodes[OP_ADD_F], index, QCC_MakeFloatConst(i), NULL, 0);
else else
{ {
args[0] = index; args[0] = index;
@ -6549,7 +6543,7 @@ QCC_def_t *QCC_LoadFromArray(QCC_def_t *base, QCC_def_t *index, QCC_type_t *t, p
r = QCC_PR_GenerateFunctionCall(NULL, funcretr, args, &type_float, 1); r = QCC_PR_GenerateFunctionCall(NULL, funcretr, args, &type_float, 1);
opt_assignments = old_op; opt_assignments = old_op;
QCC_UnFreeTemp(index); QCC_UnFreeTemp(index);
QCC_FreeTemp(QCC_PR_Statement(&pr_opcodes[OP_STORE_F], r, base, (QCC_statement_t **)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(&pr_opcodes[OP_STORE_F], r, base, NULL, 0));
base->ofs++; base->ofs++;
} }
QCC_FreeTemp(index); QCC_FreeTemp(index);
@ -7071,7 +7065,7 @@ QCC_ref_t *QCC_PR_RefExpression (QCC_ref_t *retbuf, int priority, int exprflags)
QCC_FreeTemp(QCC_PR_Statement(&pr_opcodes[OP_IFNOT_I], QCC_RefToDef(lhsr, true), NULL, &fromj)); QCC_FreeTemp(QCC_PR_Statement(&pr_opcodes[OP_IFNOT_I], QCC_RefToDef(lhsr, true), NULL, &fromj));
val = QCC_PR_Expression(TOP_PRIORITY, EXPR_DISALLOW_COMMA); val = QCC_PR_Expression(TOP_PRIORITY, EXPR_DISALLOW_COMMA);
r = QCC_GetTemp(val->type); r = QCC_GetTemp(val->type);
QCC_FreeTemp(QCC_PR_Statement(&pr_opcodes[(r->type->size>=3)?OP_STORE_V:OP_STORE_F], val, r, (QCC_statement_t **)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(&pr_opcodes[(r->type->size>=3)?OP_STORE_V:OP_STORE_F], val, r, NULL, 0));
//r can be stomped upon until its reused anyway //r can be stomped upon until its reused anyway
QCC_UnFreeTemp(r); QCC_UnFreeTemp(r);
@ -7082,7 +7076,7 @@ QCC_ref_t *QCC_PR_RefExpression (QCC_ref_t *retbuf, int priority, int exprflags)
if (typecmp(val->type, r->type) != 0) if (typecmp(val->type, r->type) != 0)
QCC_PR_ParseError(0, "Ternary operator with mismatching types\n"); QCC_PR_ParseError(0, "Ternary operator with mismatching types\n");
QCC_FreeTemp(QCC_PR_Statement(&pr_opcodes[(r->type->size>=3)?OP_STORE_V:OP_STORE_F], val, r, (QCC_statement_t **)0xffffffff)); QCC_FreeTemp(QCC_PR_StatementFlags(&pr_opcodes[(r->type->size>=3)?OP_STORE_V:OP_STORE_F], val, r, NULL, 0));
QCC_UnFreeTemp(r); QCC_UnFreeTemp(r);
elsej->a = &statements[numstatements] - elsej; elsej->a = &statements[numstatements] - elsej;

View file

@ -896,7 +896,7 @@ pbool QCC_WriteData (int crc)
// else // else
// QCC_PR_Warning(WARN_DEADCODE, strings + def->s_file, def->s_line, "%s is never directly called", def->name); // QCC_PR_Warning(WARN_DEADCODE, strings + def->s_file, def->s_line, "%s is never directly called", def->name);
} }
if (opt_stripfunctions && def->timescalled >= def->references-1) //make sure it's not copied into a different var. if (opt_stripfunctions && def->constant && def->timescalled >= def->references-1) //make sure it's not copied into a different var.
{ //if it ever does self.think then it could be needed for saves. { //if it ever does self.think then it could be needed for saves.
optres_stripfunctions++; //if it's only ever called explicitly, the engine doesn't need to know. optres_stripfunctions++; //if it's only ever called explicitly, the engine doesn't need to know.
continue; continue;

View file

@ -575,6 +575,7 @@ void PR_Deinit(void)
PR_Common_Shutdown(svprogfuncs, false); PR_Common_Shutdown(svprogfuncs, false);
if (svprogfuncs->CloseProgs) if (svprogfuncs->CloseProgs)
svprogfuncs->CloseProgs(svprogfuncs); svprogfuncs->CloseProgs(svprogfuncs);
sv.world.progs = NULL;
svprogfuncs=NULL; svprogfuncs=NULL;
for (i = 0; i < MAX_LIGHTSTYLES; i++) for (i = 0; i < MAX_LIGHTSTYLES; i++)

View file

@ -1526,6 +1526,7 @@ SERVICE_TABLE_ENTRY DispatchTable[] =
int main (int argc, char **argv) int main (int argc, char **argv)
{ {
#ifdef CATCHCRASH #ifdef CATCHCRASH
LoadLibrary ("DBGHELP"); //heap corruption can prevent loadlibrary from working properly, so do this in advance.
#ifdef _MSC_VER #ifdef _MSC_VER
__try __try
#else #else

View file

@ -3530,6 +3530,7 @@ void SV_Kill_f (void)
pr_global_struct->time = sv.world.physicstime; pr_global_struct->time = sv.world.physicstime;
pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, sv_player); pr_global_struct->self = EDICT_TO_PROG(svprogfuncs, sv_player);
if (pr_global_ptrs->ClientKill)
PR_ExecuteProgram (svprogfuncs, pr_global_struct->ClientKill); PR_ExecuteProgram (svprogfuncs, pr_global_struct->ClientKill);
} }
@ -4328,6 +4329,9 @@ void Cmd_SetPos_f(void)
SV_TPrintToClient(host_client, PRINT_HIGH, "noclip on\n"); SV_TPrintToClient(host_client, PRINT_HIGH, "noclip on\n");
} }
//make sure they're not going to whizz away from it
VectorClear(sv_player->v->velocity);
sv_player->v->origin[0] = atof(Cmd_Argv(1)); sv_player->v->origin[0] = atof(Cmd_Argv(1));
sv_player->v->origin[1] = atof(Cmd_Argv(2)); sv_player->v->origin[1] = atof(Cmd_Argv(2));
sv_player->v->origin[2] = atof(Cmd_Argv(3)); sv_player->v->origin[2] = atof(Cmd_Argv(3));

View file

@ -798,20 +798,6 @@ qboolean SVQ2_InitGameProgs(void)
if (sv.world.worldmodel && (sv.world.worldmodel->fromgame == fg_quake || sv.world.worldmodel->fromgame == fg_halflife)) if (sv.world.worldmodel && (sv.world.worldmodel->fromgame == fg_quake || sv.world.worldmodel->fromgame == fg_halflife))
{ {
return false; return false;
/*
import.linkentity = SVQ2_Q1BSP_LinkEdict;
import.unlinkentity = SVQ2_Q1BSP_UnlinkEdict;
import.BoxEdicts = SVQ2_Q1BSP_AreaEdicts;
import.trace = SVQ2_Q1BSP_Trace;
import.pointcontents = SVQ2_Q1BSP_PointContents;
import.setmodel = PFQ2_Q1BSP_setmodel;
import.inPVS = PFQ2_Q1BSP_inPVS;
import.inPHS = PFQ2_Q1BSP_inPHS;
import.Pmove = Q2_Pmove;
import.AreasConnected = PFQ2_Q1BSP_AreasConnected;
import.SetAreaPortalState = CMQ2_Q1BSP_SetAreaPortalState;
*/
} }
ge = (game_export_t *)SVQ2_GetGameAPI ((game_import_t*)&import); ge = (game_export_t *)SVQ2_GetGameAPI ((game_import_t*)&import);