clean up some redundant progs functions (may be broken for a while)

This is an imperfect revision of history.
This commit is contained in:
Bill Currie 2004-11-05 11:49:00 +00:00 committed by Jeff Teunissen
parent b46cff08aa
commit f5bc90a53a
12 changed files with 245 additions and 252 deletions

View file

@ -266,7 +266,7 @@ PF_Find (progs_t *pr)
e = P_EDICTNUM (pr, 0);
f = P_INT (pr, 1);
field_def = ED_FieldAtOfs (pr, f);
field_def = PR_FieldAtOfs (pr, f);
if (!field_def)
PR_RunError (pr, "PF_Find: bad search field: %d", f);
type = field_def->type & ~DEF_SAVEGLOBAL;

View file

@ -486,7 +486,7 @@ value_string (progs_t *pr, etype_t type, pr_type_t *val)
}
break;
case ev_field:
def = ED_FieldAtOfs (pr, val->integer_var);
def = PR_FieldAtOfs (pr, val->integer_var);
if (def)
dsprintf (line, ".%s", PR_GetString (pr, def->s_name));
else
@ -508,7 +508,7 @@ value_string (progs_t *pr, etype_t type, pr_type_t *val)
if (pr_debug->int_val && pr->debug)
def = PR_Get_Local_Def (pr, ofs);
if (!def)
def = ED_GlobalAtOfs (pr, ofs);
def = PR_GlobalAtOfs (pr, ofs);
if (def && def->s_name)
dsprintf (line, "&%s", PR_GetString (pr, def->s_name));
else
@ -545,7 +545,7 @@ def_string (progs_t *pr, int ofs, dstring_t *dstr)
if (pr_debug->int_val && pr->debug)
def = PR_Get_Local_Def (pr, ofs);
if (!def)
def = ED_GlobalAtOfs (pr, ofs);
def = PR_GlobalAtOfs (pr, ofs);
if (!def || !*(name = PR_GetString (pr, def->s_name)))
dsprintf (dstr, "[$%x]", ofs);
else

View file

@ -160,7 +160,7 @@ ED_PrintEdicts (progs_t *pr, const char *fieldval)
int count;
ddef_t *def;
def = ED_FindField(pr, "classname");
def = PR_FindField(pr, "classname");
if (fieldval && fieldval[0] && def) {
count = 0;
@ -192,8 +192,8 @@ ED_Count (progs_t *pr)
ddef_t *model_def;
edict_t *ent;
solid_def = ED_FindField (pr, "solid");
model_def = ED_FindField (pr, "model");
solid_def = PR_FindField (pr, "solid");
model_def = PR_FindField (pr, "model");
active = models = solid = step = zombie = 0;
for (i = 0; i < *(pr)->num_edicts; i++) {
ent = EDICT_NUM (pr, i);
@ -217,7 +217,7 @@ ED_Count (progs_t *pr)
}
edict_t *
EDICT_NUM (progs_t *pr, int n)
ED_EdictNum (progs_t *pr, int n)
{
int offs = n * pr->pr_edict_size;
if (offs < 0 || n >= pr->pr_edictareasize)
@ -227,20 +227,7 @@ EDICT_NUM (progs_t *pr, int n)
}
int
NUM_FOR_BAD_EDICT (progs_t *pr, edict_t *e)
{
int b;
b = (byte *) e - (byte *) * (pr)->edicts;
if (pr->pr_edict_size)
b /= pr->pr_edict_size;
return b;
}
int
NUM_FOR_EDICT (progs_t *pr, edict_t *e)
ED_NumForEdict (progs_t *pr, edict_t *e)
{
int b;

View file

@ -86,7 +86,7 @@ PR_UglyValueString (progs_t *pr, etype_t type, pr_type_t *val)
snprintf (line, sizeof (line), "%s", PR_GetString (pr, f->s_name));
break;
case ev_field:
def = ED_FieldAtOfs (pr, val->integer_var);
def = PR_FieldAtOfs (pr, val->integer_var);
snprintf (line, sizeof (line), "%s",
PR_GetString (pr, def->s_name));
break;
@ -258,7 +258,7 @@ ED_ParseEpair (progs_t *pr, pr_type_t *base, ddef_t *key, const char *s)
break;
case ev_field:
def = ED_FindField (pr, s);
def = PR_FindField (pr, s);
if (!def) {
Sys_Printf ("Can't find field %s\n", s);
return false;
@ -267,7 +267,7 @@ ED_ParseEpair (progs_t *pr, pr_type_t *base, ddef_t *key, const char *s)
break;
case ev_func:
func = ED_FindFunction (pr, s);
func = PR_FindFunction (pr, s);
if (!func) {
Sys_Printf ("Can't find function %s\n", s);
return false;
@ -346,7 +346,7 @@ ED_ParseEdict (progs_t *pr, const char *data, edict_t *ent)
if (keyname->str[0] == '_')
continue;
key = ED_FindField (pr, keyname->str);
key = PR_FindField (pr, keyname->str);
if (!key) {
if (!pr->parse_field
|| !pr->parse_field (pr, keyname->str, com_token)) {
@ -357,9 +357,9 @@ ED_ParseEdict (progs_t *pr, const char *data, edict_t *ent)
int ret;
if (anglehack) {
ret = ED_ParseEpair (pr, ent->v, key, va ("0 %s 0", com_token));
ret = ED_ParseEpair (pr, ent->v, key, va ("0 %s 0", token));
} else {
ret = ED_ParseEpair (pr, ent->v, key, com_token);
ret = ED_ParseEpair (pr, ent->v, key, token);
}
if (!ret)
PR_Error (pr, "ED_ParseEdict: parse error");
@ -374,7 +374,7 @@ ED_ParseEdict (progs_t *pr, const char *data, edict_t *ent)
}
void
ED_ParseGlobals (progs_t *pr, const char *data)
ED_ParseGlobals (progs_t *pr, script_t *script)
{
dstring_t *keyname = dstring_new ();
ddef_t *key;
@ -454,10 +454,8 @@ ED_ParseOld (progs_t *pr, const char *data)
continue;
}
//
// immediately call spawn function
//
def = ED_FindField (pr, "classname");
def = PR_FindField (pr, "classname");
if (!def) {
Sys_Printf ("No classname for:\n");
ED_Print (pr, ent);
@ -467,7 +465,7 @@ ED_ParseOld (progs_t *pr, const char *data)
classname = &ent->v[def->ofs];
// look for the spawn function
func = ED_FindFunction (pr, PR_GetString (pr, classname->string_var));
func = PR_FindFunction (pr, PR_GetString (pr, classname->string_var));
if (!func) {
Sys_Printf ("No spawn function for:\n");
ED_Print (pr, ent);

View file

@ -55,11 +55,8 @@ static __attribute__ ((unused)) const char rcsid[] =
#include "compat.h"
/*
ED_GlobalAtOfs
*/
ddef_t *
ED_GlobalAtOfs (progs_t * pr, int ofs)
ddef_t *
PR_GlobalAtOfs (progs_t * pr, int ofs)
{
ddef_t *def;
unsigned int i;
@ -72,11 +69,8 @@ ED_GlobalAtOfs (progs_t * pr, int ofs)
return NULL;
}
/*
ED_FieldAtOfs
*/
ddef_t *
ED_FieldAtOfs (progs_t * pr, int ofs)
ddef_t *
PR_FieldAtOfs (progs_t * pr, int ofs)
{
ddef_t *def;
unsigned int i;
@ -89,76 +83,30 @@ ED_FieldAtOfs (progs_t * pr, int ofs)
return NULL;
}
/*
ED_FindField
*/
ddef_t *
ED_FindField (progs_t * pr, const char *name)
ddef_t *
PR_FindField (progs_t * pr, const char *name)
{
return Hash_Find (pr->field_hash, name);
}
int
ED_GetFieldIndex (progs_t *pr, const char *name)
{
ddef_t *def;
def = ED_FindField (pr, name);
if (def)
return def->ofs;
return -1;
}
/*
PR_FindGlobal
*/
ddef_t *
ddef_t *
PR_FindGlobal (progs_t * pr, const char *name)
{
return Hash_Find (pr->global_hash, name);
}
pr_type_t *
PR_GetGlobalPointer (progs_t *pr, const char *name)
{
ddef_t *def;
def = PR_FindGlobal (pr, name);
if (def)
return &pr->pr_globals[def->ofs];
PR_Error (pr, "undefined global %s", name);
return 0;
}
func_t
PR_GetFunctionIndex (progs_t *pr, const char *name)
{
dfunction_t *func = ED_FindFunction (pr, name);
if (func)
return func - pr->pr_functions;
PR_Error (pr, "undefined function %s", name);
return -1;
}
int
PR_GetFieldOffset (progs_t *pr, const char *name)
{
ddef_t *def = ED_FindField (pr, name);
if (def)
return def->ofs;
PR_Error (pr, "undefined field %s", name);
return -1;
}
/*
ED_FindFunction
*/
dfunction_t *
ED_FindFunction (progs_t * pr, const char *name)
PR_FindFunction (progs_t * pr, const char *name)
{
return Hash_Find (pr->function_hash, name);
}
void
PR_Undefined (progs_t *pr, const char *type, const char *name)
{
PR_Error (pr, "undefined %s %s", type, name);
}
int
PR_ResolveGlobals (progs_t *pr)
{
@ -200,11 +148,14 @@ PR_ResolveGlobals (progs_t *pr)
pr->globals.self = &G_INT (pr, def->ofs);
}
if (pr->fields.nextthink == -1)
pr->fields.nextthink = ED_GetFieldIndex (pr, sym = "nextthink");
if ((def = PR_FindField (pr, "nextthink")))
pr->fields.nextthink = def->ofs;
if (pr->fields.frame == -1)
pr->fields.frame = ED_GetFieldIndex (pr, sym = "frame");
if ((def = PR_FindField (pr, "frame")))
pr->fields.frame = def->ofs;
if (pr->fields.think == -1)
pr->fields.think = ED_GetFieldIndex (pr, sym = "think");
if ((def = PR_FindField (pr, "think")))
pr->fields.think = def->ofs;
return 1;
error:
Sys_Printf ("%s: undefined symbol: %s\n", pr->progs_name, sym);
@ -215,7 +166,7 @@ int
PR_AccessField (progs_t *pr, const char *name, etype_t type,
const char *file, int line)
{
ddef_t *def = ED_FindField (pr, name);
ddef_t *def = PR_FindField (pr, name);
if (!def)
PR_Error (pr, "undefined field %s accessed at %s:%d", name, file, line);