extension changes. DP_INPUTBUTTONS and EXT_DIMENSION_XYZ
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@125 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
123eb55418
commit
34f7c5e517
1 changed files with 49 additions and 20 deletions
|
@ -126,16 +126,18 @@ int COM_FileSize(char *path);
|
||||||
pbool QC_WriteFile(char *name, void *data, int len)
|
pbool QC_WriteFile(char *name, void *data, int len)
|
||||||
{
|
{
|
||||||
char buffer[256];
|
char buffer[256];
|
||||||
sprintf(buffer, "src/%s", name);
|
sprintf(buffer, "%s", name);
|
||||||
COM_WriteFile(buffer, data, len);
|
COM_WriteFile(buffer, data, len);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ED_Spawned (struct edict_s *ent)
|
void ED_Spawned (struct edict_s *ent)
|
||||||
{
|
{
|
||||||
ent->v.dimension_mask = 255;
|
ent->v.dimension_see = 255;
|
||||||
|
ent->v.dimension_seen = 255;
|
||||||
ent->v.dimension_ghost = 0;
|
ent->v.dimension_ghost = 0;
|
||||||
ent->v.dimension_physics = 255;
|
ent->v.dimension_solid = 255;
|
||||||
|
ent->v.dimension_hit = 255;
|
||||||
}
|
}
|
||||||
|
|
||||||
pbool ED_CanFree (edict_t *ed)
|
pbool ED_CanFree (edict_t *ed)
|
||||||
|
@ -442,10 +444,11 @@ void PR_LoadGlabalStruct(void)
|
||||||
|
|
||||||
if (!((nqglobalvars_t*)pr_globals)->dimension_send)
|
if (!((nqglobalvars_t*)pr_globals)->dimension_send)
|
||||||
{
|
{
|
||||||
dimension_send_default = 255;
|
|
||||||
((nqglobalvars_t*)pr_globals)->dimension_send = &dimension_send_default;
|
((nqglobalvars_t*)pr_globals)->dimension_send = &dimension_send_default;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pr_global_struct->dimension_send = 255;
|
||||||
|
|
||||||
pr_teamfield = 0;
|
pr_teamfield = 0;
|
||||||
|
|
||||||
SpectatorConnect = PR_FindFunction(svprogfuncs, "SpectatorConnect", PR_ANY);
|
SpectatorConnect = PR_FindFunction(svprogfuncs, "SpectatorConnect", PR_ANY);
|
||||||
|
@ -1623,16 +1626,27 @@ void PF_setmodel (progfuncs_t *prinst, struct globalvars_s *pr_globals)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (i=1; *sv.model_precache[i] ; i++)
|
for (i=1; *sv.model_precache[i] ; i++)
|
||||||
|
{
|
||||||
if (!strcmp(sv.model_precache[i], m))
|
if (!strcmp(sv.model_precache[i], m))
|
||||||
{
|
{
|
||||||
m = sv.model_precache[i];
|
m = sv.model_precache[i];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!*sv.model_precache[i])
|
if (i==MAX_MODELS || !*sv.model_precache[i])
|
||||||
{
|
{
|
||||||
PR_BIError ("no precache: %s\n", m);
|
if (i!=MAX_MODELS && sv.state == ss_loading)
|
||||||
return;
|
{
|
||||||
|
Q_strncpyz(sv.model_precache[i], m, sizeof(sv.model_precache[i]));
|
||||||
|
if (!strcmp(m + strlen(m) - 4, ".bsp"))
|
||||||
|
sv.models[i] = Mod_FindName(sv.model_precache[i]);
|
||||||
|
Con_Printf("WARNING: SV_ModelIndex: model %s not precached", m);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PR_BIError ("no precache: %s\n", m);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2863,7 +2877,10 @@ void PF_registercvar (progfuncs_t *prinst, struct globalvars_s *pr_globals)
|
||||||
{
|
{
|
||||||
name = BZ_Malloc(strlen(value)+1);
|
name = BZ_Malloc(strlen(value)+1);
|
||||||
strcpy(name, value);
|
strcpy(name, value);
|
||||||
value = PR_GetStringOfs(prinst, OFS_PARM1);
|
if (*prinst->callargc > 1)
|
||||||
|
value = PR_GetStringOfs(prinst, OFS_PARM1);
|
||||||
|
else
|
||||||
|
value = "";
|
||||||
|
|
||||||
// archive?
|
// archive?
|
||||||
if (Cvar_Get(name, value, CVAR_USERCREATED, "QC created vars"))
|
if (Cvar_Get(name, value, CVAR_USERCREATED, "QC created vars"))
|
||||||
|
@ -5044,7 +5061,10 @@ lh_extension_t QSG_Extensions[] = {
|
||||||
{"ZQ_MOVETYPE_FLY"},
|
{"ZQ_MOVETYPE_FLY"},
|
||||||
{"ZQ_MOVETYPE_NONE"},
|
{"ZQ_MOVETYPE_NONE"},
|
||||||
|
|
||||||
{"QSG_DIMENSION_PLANES", 1, NULL, {"bitshift"}},
|
{"EXT_DIMENSION_VISIBILITY"},
|
||||||
|
{"EXT_DIMENSION_PHYSICS"},
|
||||||
|
{"EXT_DIMENSION_GHOST"},
|
||||||
|
{"EXT_BITSHIFT", 1, NULL, {"bitshift"}},
|
||||||
|
|
||||||
{"FTE_FORCEINFOKEY", 1, NULL, {"forceinfokey"}},
|
{"FTE_FORCEINFOKEY", 1, NULL, {"forceinfokey"}},
|
||||||
{"FTE_MULTITHREADED", 3, NULL, {"sleep", "fork", "abort"}},
|
{"FTE_MULTITHREADED", 3, NULL, {"sleep", "fork", "abort"}},
|
||||||
|
@ -6438,7 +6458,7 @@ void PF_Fork(progfuncs_t *prinst, struct globalvars_s *pr_globals)
|
||||||
|
|
||||||
//QSG_DIMENSION_PLANES
|
//QSG_DIMENSION_PLANES
|
||||||
//helper function
|
//helper function
|
||||||
//void(float number, float quantity) bitshift = #218;
|
//float(float number, float quantity) bitshift = #218;
|
||||||
void PF_bitshift(progfuncs_t *prinst, struct globalvars_s *pr_globals)
|
void PF_bitshift(progfuncs_t *prinst, struct globalvars_s *pr_globals)
|
||||||
{
|
{
|
||||||
int bitmask;
|
int bitmask;
|
||||||
|
@ -6955,8 +6975,8 @@ BuiltinList_t BuiltinList[] = { //nq qw h2 ebfs
|
||||||
//mvd command
|
//mvd command
|
||||||
{"teamfield", PF_teamfield, 0, 0, 0, 87},
|
{"teamfield", PF_teamfield, 0, 0, 0, 87},
|
||||||
{"substr", PF_substr, 0, 0, 0, 88},
|
{"substr", PF_substr, 0, 0, 0, 88},
|
||||||
{"strcat", PF_strcat, 0, 0, 0, 89},
|
{"mvdstrcat", PF_strcat, 0, 0, 0, 89},
|
||||||
{"strlen", PF_strlen, 0, 0, 0, 90},
|
{"mvdstrlen", PF_strlen, 0, 0, 0, 90},
|
||||||
{"str2byte", PF_str2byte, 0, 0, 0, 91},
|
{"str2byte", PF_str2byte, 0, 0, 0, 91},
|
||||||
{"str2short", PF_str2short, 0, 0, 0, 92},
|
{"str2short", PF_str2short, 0, 0, 0, 92},
|
||||||
{"newstr", PF_newstring, 0, 0, 0, 93},
|
{"newstr", PF_newstring, 0, 0, 0, 93},
|
||||||
|
@ -7224,8 +7244,8 @@ void PR_ResetBuiltins(progstype_t type) //fix all nulls to PF_FIXME and add any
|
||||||
{
|
{
|
||||||
PR_EnableEBFSBuiltin("teamfield");
|
PR_EnableEBFSBuiltin("teamfield");
|
||||||
PR_EnableEBFSBuiltin("substr");
|
PR_EnableEBFSBuiltin("substr");
|
||||||
PR_EnableEBFSBuiltin("strcat");
|
PR_EnableEBFSBuiltin("mvdstrcat");
|
||||||
PR_EnableEBFSBuiltin("strlen");
|
PR_EnableEBFSBuiltin("mvdstrlen");
|
||||||
PR_EnableEBFSBuiltin("str2byte");
|
PR_EnableEBFSBuiltin("str2byte");
|
||||||
PR_EnableEBFSBuiltin("str2short");
|
PR_EnableEBFSBuiltin("str2short");
|
||||||
PR_EnableEBFSBuiltin("newstr");
|
PR_EnableEBFSBuiltin("newstr");
|
||||||
|
@ -7247,7 +7267,7 @@ int pr_numbuiltins = sizeof(pr_builtin)/sizeof(pr_builtin[0]);
|
||||||
|
|
||||||
|
|
||||||
void PR_RegisterSVBuiltins(void)
|
void PR_RegisterSVBuiltins(void)
|
||||||
{
|
{/*
|
||||||
PR_RegisterBuiltin(svprogfuncs, "getmodelindex", &PF_WeapIndex);
|
PR_RegisterBuiltin(svprogfuncs, "getmodelindex", &PF_WeapIndex);
|
||||||
PR_RegisterBuiltin(svprogfuncs, "tracebox", &PF_traceline);
|
PR_RegisterBuiltin(svprogfuncs, "tracebox", &PF_traceline);
|
||||||
#ifdef Q2BSPS
|
#ifdef Q2BSPS
|
||||||
|
@ -7284,7 +7304,7 @@ void PR_RegisterSVBuiltins(void)
|
||||||
//these are for nq progs
|
//these are for nq progs
|
||||||
PR_RegisterBuiltin(svprogfuncs, "logfrag", &PF_logfrag);
|
PR_RegisterBuiltin(svprogfuncs, "logfrag", &PF_logfrag);
|
||||||
PR_RegisterBuiltin(svprogfuncs, "infokey", &PF_infokey);
|
PR_RegisterBuiltin(svprogfuncs, "infokey", &PF_infokey);
|
||||||
PR_RegisterBuiltin(svprogfuncs, "stof", &PF_stof);
|
PR_RegisterBuiltin(svprogfuncs, "stof", &PF_stof);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void PR_RegisterFields(void) //it's just easier to do it this way.
|
void PR_RegisterFields(void) //it's just easier to do it this way.
|
||||||
|
@ -7339,6 +7359,12 @@ void PR_RegisterFields(void) //it's just easier to do it this way.
|
||||||
fieldfloat(button0);
|
fieldfloat(button0);
|
||||||
fieldfloat(button1);
|
fieldfloat(button1);
|
||||||
fieldfloat(button2);
|
fieldfloat(button2);
|
||||||
|
fieldfloat(button3);
|
||||||
|
fieldfloat(button4);
|
||||||
|
fieldfloat(button5);
|
||||||
|
fieldfloat(button6);
|
||||||
|
fieldfloat(button7);
|
||||||
|
fieldfloat(button8);
|
||||||
fieldfloat(impulse);
|
fieldfloat(impulse);
|
||||||
fieldfloat(fixangle);
|
fieldfloat(fixangle);
|
||||||
fieldvector(v_angle);
|
fieldvector(v_angle);
|
||||||
|
@ -7463,9 +7489,12 @@ void PR_RegisterFields(void) //it's just easier to do it this way.
|
||||||
fieldfunction(chainmoved);
|
fieldfunction(chainmoved);
|
||||||
|
|
||||||
//QSG_DIMENSION_PLANES
|
//QSG_DIMENSION_PLANES
|
||||||
fieldfloat(dimension_mask);
|
fieldfloat(dimension_see);
|
||||||
|
fieldfloat(dimension_seen);
|
||||||
fieldfloat(dimension_ghost);
|
fieldfloat(dimension_ghost);
|
||||||
fieldfloat(dimension_physics);
|
fieldfloat(dimension_ghost_alpha);
|
||||||
|
fieldfloat(dimension_solid);
|
||||||
|
fieldfloat(dimension_hit);
|
||||||
|
|
||||||
if (pr_fixbrokenqccarrays.value)
|
if (pr_fixbrokenqccarrays.value)
|
||||||
QC_RegisterFieldVar(svprogfuncs, 0, NULL, 0,0);
|
QC_RegisterFieldVar(svprogfuncs, 0, NULL, 0,0);
|
||||||
|
|
Loading…
Reference in a new issue