prog->edictprivate_size = max(prog->edictprivate_size,(int)sizeof(prvm_edict_private_t));
// alloc edicts
- prog->edicts = Mem_Alloc(prog->progs_mempool,prog->limit_edicts * sizeof(prvm_edict_t));
+ prog->edicts = (prvm_edict_t *)Mem_Alloc(prog->progs_mempool,prog->limit_edicts * sizeof(prvm_edict_t));
// alloc edict private space
prog->edictprivate = Mem_Alloc(prog->progs_mempool, prog->max_edicts * prog->edictprivate_size);
// set edict pointers
for(i = 0; i < prog->max_edicts; i++)
{
- prog->edicts[i].priv.required = (prvm_edict_private_t *)((qbyte *)prog->edictprivate + i * prog->edictprivate_size);
- prog->edicts[i].fields.vp = (void*)((qbyte *)prog->edictsfields + i * prog->edict_size);
+ prog->edicts[i].priv.required = (prvm_edict_private_t *)((unsigned char *)prog->edictprivate + i * prog->edictprivate_size);
+ prog->edicts[i].fields.vp = (void*)((unsigned char *)prog->edictsfields + i * prog->edict_size);
}
}
//set e and v pointers
for(i = 0; i < prog->max_edicts; i++)
{
- prog->edicts[i].priv.required = (prvm_edict_private_t *)((qbyte *)prog->edictprivate + i * prog->edictprivate_size);
- prog->edicts[i].fields.vp = (void*)((qbyte *)prog->edictsfields + i * prog->edict_size);
+ prog->edicts[i].priv.required = (prvm_edict_private_t *)((unsigned char *)prog->edictprivate + i * prog->edictprivate_size);
+ prog->edicts[i].fields.vp = (void*)((unsigned char *)prog->edictsfields + i * prog->edict_size);
}
PRVM_GCALL(end_increase_edicts)();
mfunction_t *f;
int n;
- type &= ~DEF_SAVEGLOBAL;
+ type = (etype_t)((int) type & ~DEF_SAVEGLOBAL);
switch (type)
{
ddef_t *def;
mfunction_t *f;
- type &= ~DEF_SAVEGLOBAL;
+ type = (etype_t)((int)type & ~DEF_SAVEGLOBAL);
switch (type)
{
sprintf (line,"%i(?)", ofs);
else
{
- s = PRVM_ValueString (def->type, val);
+ s = PRVM_ValueString ((etype_t)def->type, (prvm_eval_t *)val);
sprintf (line,"%i(%s)%s", ofs, PRVM_GetString(def->s_name), s);
}
strcat(tempstring, " ");
strcat(tempstring, " ");
- name = PRVM_ValueString(d->type, (prvm_eval_t *)v);
+ name = PRVM_ValueString((etype_t)d->type, (prvm_eval_t *)v);
if (strlen(name) > 256)
{
memcpy (tempstring2, name, 256);
continue;
FS_Printf(f,"\"%s\" ",name);
- FS_Printf(f,"\"%s\"\n", PRVM_UglyValueString(d->type, (prvm_eval_t *)v));
+ FS_Printf(f,"\"%s\"\n", PRVM_UglyValueString((etype_t)d->type, (prvm_eval_t *)v));
}
FS_Print(f, "}\n");
name = PRVM_GetString(def->s_name);
FS_Printf(f,"\"%s\" ", name);
- FS_Printf(f,"\"%s\"\n", PRVM_UglyValueString(type, (prvm_eval_t *)&prog->globals.generic[def->ofs]));
+ FS_Printf(f,"\"%s\"\n", PRVM_UglyValueString((etype_t)type, (prvm_eval_t *)&prog->globals.generic[def->ofs]));
}
FS_Print(f,"}\n");
}
init = true;
+ // ignore attempts to set key "" (this problem occurs in nehahra neh1m8.bsp)
+ if (!keyname[0])
+ continue;
+
// keynames with a leading underscore are used for utility comments,
// and are immediately discarded by quake
if (keyname[0] == '_')
//
if(prog->self && prog->flag & PRVM_FE_CLASSNAME)
{
- string_t handle = *(string_t*)&((qbyte*)ent->fields.vp)[PRVM_ED_FindFieldOffset("classname")];
+ string_t handle = *(string_t*)&((unsigned char*)ent->fields.vp)[PRVM_ED_FindFieldOffset("classname")];
if (!handle)
{
Con_Print("No classname for:\n");
===============
*/
void PRVM_LoadLNO( const char *progname ) {
- qbyte *lno;
+ unsigned char *lno;
unsigned int *header;
char filename[512];
(unsigned int)LittleLong( header[ 4 ] ) == (unsigned int)prog->progs->numfielddefs &&
(unsigned int)LittleLong( header[ 5 ] ) == (unsigned int)prog->progs->numstatements )
{
- prog->statement_linenums = Mem_Alloc(prog->progs_mempool, prog->progs->numstatements * sizeof( int ) );
+ prog->statement_linenums = (int *)Mem_Alloc(prog->progs_mempool, prog->progs->numstatements * sizeof( int ) );
memcpy( prog->statement_linenums, (int *) lno + 6, prog->progs->numstatements * sizeof( int ) );
}
Mem_Free( lno );
}
prog->progs = (dprograms_t *)FS_LoadFile (filename, prog->progs_mempool, false);
- if (prog->progs == NULL || fs_filesize < sizeof(dprograms_t))
+ if (prog->progs == NULL || fs_filesize < (fs_offset_t)sizeof(dprograms_t))
PRVM_ERROR ("PRVM_LoadProgs: couldn't load %s for %s", filename, PRVM_NAME);
Con_DPrintf("%s programs occupy %iK.\n", PRVM_NAME, fs_filesize/1024);
- prog->filecrc = CRC_Block((qbyte *)prog->progs, fs_filesize);
+ prog->filecrc = CRC_Block((unsigned char *)prog->progs, fs_filesize);
// byte swap the header
for (i = 0;i < (int) sizeof(*prog->progs) / 4;i++)
if (prog->progs->crc != prog->headercrc)
PRVM_ERROR ("%s: %s system vars have been modified, progdefs.h is out of date", PRVM_NAME, filename);
- //prog->functions = (dfunction_t *)((qbyte *)progs + progs->ofs_functions);
- dfunctions = (dfunction_t *)((qbyte *)prog->progs + prog->progs->ofs_functions);
+ //prog->functions = (dfunction_t *)((unsigned char *)progs + progs->ofs_functions);
+ dfunctions = (dfunction_t *)((unsigned char *)prog->progs + prog->progs->ofs_functions);
prog->strings = (char *)prog->progs + prog->progs->ofs_strings;
prog->stringssize = 0;
prog->knownstrings = NULL;
prog->knownstrings_freeable = NULL;
- prog->globaldefs = (ddef_t *)((qbyte *)prog->progs + prog->progs->ofs_globaldefs);
+ prog->globaldefs = (ddef_t *)((unsigned char *)prog->progs + prog->progs->ofs_globaldefs);
// we need to expand the fielddefs list to include all the engine fields,
// so allocate a new place for it
- infielddefs = (ddef_t *)((qbyte *)prog->progs + prog->progs->ofs_fielddefs);
+ infielddefs = (ddef_t *)((unsigned char *)prog->progs + prog->progs->ofs_fielddefs);
// ( + DPFIELDS )
- prog->fielddefs = Mem_Alloc(prog->progs_mempool, (prog->progs->numfielddefs + numrequiredfields) * sizeof(ddef_t));
+ prog->fielddefs = (ddef_t *)Mem_Alloc(prog->progs_mempool, (prog->progs->numfielddefs + numrequiredfields) * sizeof(ddef_t));
- prog->statements = (dstatement_t *)((qbyte *)prog->progs + prog->progs->ofs_statements);
+ prog->statements = (dstatement_t *)((unsigned char *)prog->progs + prog->progs->ofs_statements);
// moved edict_size calculation down below field adding code
- //pr_global_struct = (globalvars_t *)((qbyte *)progs + progs->ofs_globals);
- prog->globals.generic = (float *)((qbyte *)prog->progs + prog->progs->ofs_globals);
+ //pr_global_struct = (globalvars_t *)((unsigned char *)progs + progs->ofs_globals);
+ prog->globals.generic = (float *)((unsigned char *)prog->progs + prog->progs->ofs_globals);
// byte swap the lumps
for (i=0 ; i<prog->progs->numstatements ; i++)
prog->statements[i].c = LittleShort(prog->statements[i].c);
}
- prog->functions = Mem_Alloc(prog->progs_mempool, sizeof(mfunction_t) * prog->progs->numfunctions);
+ prog->functions = (mfunction_t *)Mem_Alloc(prog->progs_mempool, sizeof(mfunction_t) * prog->progs->numfunctions);
for (i = 0;i < prog->progs->numfunctions;i++)
{
prog->functions[i].first_statement = LittleLong (dfunctions[i].first_statement);
if(!PRVM_SetProgFromString(Cmd_Argv(1)))
return;
- counts = Mem_Alloc(tempmempool, prog->progs->numfielddefs * sizeof(int));
+ counts = (int *)Mem_Alloc(tempmempool, prog->progs->numfielddefs * sizeof(int));
for (ednum = 0;ednum < prog->max_edicts;ednum++)
{
ed = PRVM_EDICT_NUM(ednum);
if( !global )
Con_Printf( "No global '%s' in %s!\n", Cmd_Argv(2), Cmd_Argv(1) );
else
- Con_Printf( "%s: %s\n", Cmd_Argv(2), PRVM_ValueString( global->type, (prvm_eval_t *) &prog->globals.generic[ global->ofs ] ) );
+ Con_Printf( "%s: %s\n", Cmd_Argv(2), PRVM_ValueString( (etype_t)global->type, (prvm_eval_t *) &prog->globals.generic[ global->ofs ] ) );
PRVM_End;
}
// return e - prog->edicts;
//}
-//#define PRVM_EDICT_TO_PROG(e) ((qbyte *)(((prvm_edict_t *)e)->v) - (qbyte *)(prog->edictsfields))
+//#define PRVM_EDICT_TO_PROG(e) ((unsigned char *)(((prvm_edict_t *)e)->v) - (unsigned char *)(prog->edictsfields))
//#define PRVM_PROG_TO_EDICT(e) (prog->edicts + ((e) / (progs->entityfields * 4)))
int PRVM_EDICT_TO_PROG(prvm_edict_t *e)
{
if ((unsigned int)n >= (unsigned int)prog->max_edicts)
Host_Error("PRVM_EDICT_TO_PROG: invalid edict %8p (number %i compared to world at %8p)\n", e, n, prog->edicts);
return n;// EXPERIMENTAL
- //return (qbyte *)e->v - (qbyte *)prog->edictsfields;
+ //return (unsigned char *)e->v - (unsigned char *)prog->edictsfields;
}
prvm_edict_t *PRVM_PROG_TO_EDICT(int n)
{
if (i >= prog->maxknownstrings)
{
const char **oldstrings = prog->knownstrings;
- const qbyte *oldstrings_freeable = prog->knownstrings_freeable;
+ const unsigned char *oldstrings_freeable = prog->knownstrings_freeable;
prog->maxknownstrings += 128;
- prog->knownstrings = PRVM_Alloc(prog->maxknownstrings * sizeof(char *));
- prog->knownstrings_freeable = PRVM_Alloc(prog->maxknownstrings * sizeof(qbyte));
+ prog->knownstrings = (const char **)PRVM_Alloc(prog->maxknownstrings * sizeof(char *));
+ prog->knownstrings_freeable = (unsigned char *)PRVM_Alloc(prog->maxknownstrings * sizeof(unsigned char));
if (prog->numknownstrings)
{
memcpy((char **)prog->knownstrings, oldstrings, prog->numknownstrings * sizeof(char *));
- memcpy((char **)prog->knownstrings_freeable, oldstrings_freeable, prog->numknownstrings * sizeof(qbyte));
+ memcpy((char **)prog->knownstrings_freeable, oldstrings_freeable, prog->numknownstrings * sizeof(unsigned char));
}
}
prog->numknownstrings++;
if (i >= prog->maxknownstrings)
{
const char **oldstrings = prog->knownstrings;
- const qbyte *oldstrings_freeable = prog->knownstrings_freeable;
+ const unsigned char *oldstrings_freeable = prog->knownstrings_freeable;
prog->maxknownstrings += 128;
- prog->knownstrings = PRVM_Alloc(prog->maxknownstrings * sizeof(char *));
- prog->knownstrings_freeable = PRVM_Alloc(prog->maxknownstrings * sizeof(qbyte));
+ prog->knownstrings = (const char **)PRVM_Alloc(prog->maxknownstrings * sizeof(char *));
+ prog->knownstrings_freeable = (unsigned char *)PRVM_Alloc(prog->maxknownstrings * sizeof(unsigned char));
if (prog->numknownstrings)
{
memcpy((char **)prog->knownstrings, oldstrings, prog->numknownstrings * sizeof(char *));
- memcpy((char **)prog->knownstrings_freeable, oldstrings_freeable, prog->numknownstrings * sizeof(qbyte));
+ memcpy((char **)prog->knownstrings_freeable, oldstrings_freeable, prog->numknownstrings * sizeof(unsigned char));
}
}
prog->numknownstrings++;
}
prog->firstfreeknownstring = i + 1;
- prog->knownstrings[i] = PRVM_Alloc(bufferlength);
+ prog->knownstrings[i] = (char *)PRVM_Alloc(bufferlength);
prog->knownstrings_freeable[i] = true;
if (pointer)
*pointer = (char *)(prog->knownstrings[i]);