Compare commits
2 Commits
0870dfba2e
...
61fa56b316
Author | SHA1 | Date |
---|---|---|
an | 61fa56b316 | |
an | 7fcd77c295 |
|
@ -249,18 +249,11 @@ void CL_Record_f(void)
|
|||
return;
|
||||
}
|
||||
|
||||
if(c == 2 && cls.state == ca_connected)
|
||||
{
|
||||
#if 0
|
||||
Con_Printf("Can not record - already connected to server\nClient demo recording must be started before connecting\n");
|
||||
return;
|
||||
#endif
|
||||
if(cls.signon < 2)
|
||||
if(c == 2 && cls.state == ca_connected && cls.signon < 2)
|
||||
{
|
||||
Con_Printf("Can't record - try again when connected\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// write the forced cd track number, or -1
|
||||
if(c == 4)
|
||||
|
|
|
@ -768,16 +768,6 @@ void CL_Viewpos_f(void)
|
|||
{
|
||||
if(cls.state != ca_connected)
|
||||
return;
|
||||
#if 0
|
||||
//camera position
|
||||
Con_Printf("Viewpos: (%" PRIi32 " %" PRIi32 " %" PRIi32 ") %" PRIi32 " %" PRIi32 " %" PRIi32 "\n",
|
||||
(int32_t)r_refdef.vieworg[0],
|
||||
(int32_t)r_refdef.vieworg[1],
|
||||
(int32_t)r_refdef.vieworg[2],
|
||||
(int32_t)r_refdef.viewangles[PITCH],
|
||||
(int32_t)r_refdef.viewangles[YAW],
|
||||
(int32_t)r_refdef.viewangles[ROLL]);
|
||||
#else
|
||||
//player position
|
||||
Con_Printf("Viewpos: (%" PRIi32 " %" PRIi32 " %" PRIi32 ") %" PRIi32 " %" PRIi32 " %" PRIi32 "\n",
|
||||
(int32_t)cl_entities[cl.viewentity].origin[0],
|
||||
|
@ -786,7 +776,6 @@ void CL_Viewpos_f(void)
|
|||
(int32_t)cl.viewangles[PITCH],
|
||||
(int32_t)cl.viewangles[YAW],
|
||||
(int32_t)cl.viewangles[ROLL]);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1125,32 +1125,6 @@ void COM_FileBase(const char *in, char *out, size_t outsize)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
COM_DefaultExtension
|
||||
if path doesn't have a .EXT, append extension
|
||||
(extension should include the leading ".")
|
||||
==================
|
||||
*/
|
||||
#if 0 /* can be dangerous */
|
||||
void COM_DefaultExtension(char *path, const char *extension, size_t len)
|
||||
{
|
||||
char *src;
|
||||
|
||||
if(!*path) return;
|
||||
src = path + strlen(path) - 1;
|
||||
|
||||
while(*src != '/' && *src != '\\' && src != path)
|
||||
{
|
||||
if(*src == '.')
|
||||
return; // it has an extension
|
||||
src--;
|
||||
}
|
||||
|
||||
q_strlcat(path, extension, len);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
==================
|
||||
COM_AddExtension
|
||||
|
@ -1884,7 +1858,7 @@ static pack_t *COM_LoadPackFile(const char *packfile)
|
|||
if(Sys_FileOpenRead(packfile, &packhandle) == -1)
|
||||
return NULL;
|
||||
|
||||
Sys_FileRead(packhandle, (void *)&header, sizeof(header));
|
||||
Sys_FileRead(packhandle, &header, sizeof(header));
|
||||
if(header.id[0] != 'P' || header.id[1] != 'A' || header.id[2] != 'C' || header.id[3] != 'K')
|
||||
Sys_Error("%s is not a packfile", packfile);
|
||||
|
||||
|
@ -1910,7 +1884,7 @@ static pack_t *COM_LoadPackFile(const char *packfile)
|
|||
newfiles = (packfile_t *) Z_Malloc(numpackfiles * sizeof(packfile_t));
|
||||
|
||||
Sys_FileSeek(packhandle, header.dirofs);
|
||||
Sys_FileRead(packhandle, (void *)info, header.dirlen);
|
||||
Sys_FileRead(packhandle, info, header.dirlen);
|
||||
|
||||
// parse the directory
|
||||
for(i = 0; i < numpackfiles; i++)
|
||||
|
|
|
@ -170,9 +170,6 @@ const char *COM_SkipPath(const char *pathname);
|
|||
void COM_StripExtension(const char *in, char *out, size_t outsize);
|
||||
void COM_FileBase(const char *in, char *out, size_t outsize);
|
||||
void COM_AddExtension(char *path, const char *extension, size_t len);
|
||||
#if 0 /* COM_DefaultExtension can be dangerous */
|
||||
void COM_DefaultExtension(char *path, const char *extension, size_t len);
|
||||
#endif
|
||||
const char *COM_FileGetExtension(const char *in); /* doesn't return NULL */
|
||||
void COM_ExtractExtension(const char *in, char *out, size_t outsize);
|
||||
void COM_CreatePath(char *path);
|
||||
|
|
|
@ -403,7 +403,7 @@ void Cvar_SetQuick(cvar_t *var, const char *value)
|
|||
len = Q_strlen(value);
|
||||
if(len != Q_strlen(var->string))
|
||||
{
|
||||
Z_Free((void *)var->string);
|
||||
Z_Free(var->string);
|
||||
var->string = (char *) Z_Malloc(len + 1);
|
||||
}
|
||||
memcpy((char *)var->string, value, len + 1);
|
||||
|
@ -419,7 +419,7 @@ void Cvar_SetQuick(cvar_t *var, const char *value)
|
|||
{
|
||||
// Sys_Printf("changing default of %s: %s -> %s\n",
|
||||
// var->name, var->default_string, var->string);
|
||||
Z_Free((void *)var->default_string);
|
||||
Z_Free(var->default_string);
|
||||
var->default_string = Z_Strdup(var->string);
|
||||
}
|
||||
//johnfitz
|
||||
|
|
|
@ -80,10 +80,10 @@ typedef void (*cvarcallback_t)(struct cvar_s *);
|
|||
typedef struct cvar_s
|
||||
{
|
||||
const char *name;
|
||||
const char *string;
|
||||
char *string;
|
||||
uint32_t flags;
|
||||
float value;
|
||||
const char *default_string; //johnfitz -- remember defaults for reset function
|
||||
char *default_string; //johnfitz -- remember defaults for reset function
|
||||
cvarcallback_t callback;
|
||||
struct cvar_s *next;
|
||||
} cvar_t;
|
||||
|
|
|
@ -951,12 +951,6 @@ void Mod_LoadTexinfo(lump_t *l)
|
|||
out->mipadjust = 2;
|
||||
else
|
||||
out->mipadjust = 1;
|
||||
#if 0
|
||||
if(len1 + len2 < 0.001)
|
||||
out->mipadjust = 1; // don't crash
|
||||
else
|
||||
out->mipadjust = 1 / floor((len1 + len2) / 2 + 0.1);
|
||||
#endif
|
||||
|
||||
miptex = LittleLong(in->miptex);
|
||||
out->flags = LittleLong(in->flags);
|
||||
|
@ -1596,7 +1590,7 @@ Mod_LoadLeafs
|
|||
*/
|
||||
void Mod_LoadLeafs(lump_t *l, int32_t bsp2)
|
||||
{
|
||||
void *in = (void *)(mod_base + l->fileofs);
|
||||
void *in = mod_base + l->fileofs;
|
||||
|
||||
if(bsp2 == 2)
|
||||
Mod_ProcessLeafs_L2((dl2leaf_t *)in, l->filelen);
|
||||
|
@ -2162,7 +2156,7 @@ void * Mod_LoadAliasFrame(void * pin, maliasframedesc_t *frame)
|
|||
|
||||
pinframe += pheader->numverts;
|
||||
|
||||
return (void *)pinframe;
|
||||
return pinframe;
|
||||
}
|
||||
|
||||
|
||||
|
@ -2199,7 +2193,7 @@ void *Mod_LoadAliasGroup(void * pin, maliasframedesc_t *frame)
|
|||
|
||||
pin_intervals += numframes;
|
||||
|
||||
ptemp = (void *)pin_intervals;
|
||||
ptemp = pin_intervals;
|
||||
|
||||
for(i = 0 ; i < numframes ; i++)
|
||||
{
|
||||
|
@ -2397,7 +2391,7 @@ void *Mod_LoadAllSkins(int32_t numskins, daliasskintype_t *pskintype)
|
|||
}
|
||||
}
|
||||
|
||||
return (void *)pskintype;
|
||||
return pskintype;
|
||||
}
|
||||
|
||||
//=========================================================================
|
||||
|
@ -2717,7 +2711,7 @@ void * Mod_LoadSpriteFrame(void * pin, mspriteframe_t **ppframe, int32_t framenu
|
|||
(byte *)(pinframe + 1), loadmodel->name, offset,
|
||||
TEXPREF_PAD | TEXPREF_ALPHA | TEXPREF_NOPICMIP); //johnfitz -- TexMgr
|
||||
|
||||
return (void *)((byte *)pinframe + sizeof(dspriteframe_t) + size);
|
||||
return (byte *)pinframe + sizeof(dspriteframe_t) + size;
|
||||
}
|
||||
|
||||
|
||||
|
@ -2762,7 +2756,7 @@ void * Mod_LoadSpriteGroup(void * pin, mspriteframe_t **ppframe, int32_t framenu
|
|||
pin_intervals++;
|
||||
}
|
||||
|
||||
ptemp = (void *)pin_intervals;
|
||||
ptemp = pin_intervals;
|
||||
|
||||
for(i = 0 ; i < numframes ; i++)
|
||||
{
|
||||
|
|
|
@ -59,7 +59,7 @@ typedef struct
|
|||
{
|
||||
int32_t magfilter;
|
||||
int32_t minfilter;
|
||||
const char *name;
|
||||
char name[32];
|
||||
} glmode_t;
|
||||
static glmode_t glmodes[] =
|
||||
{
|
||||
|
|
|
@ -92,12 +92,6 @@ void PerpendicularVector(vec3_t dst, const vec3_t src)
|
|||
|
||||
float anglemod(float a)
|
||||
{
|
||||
#if 0
|
||||
if(a >= 0)
|
||||
a -= 360 * (int32_t)(a / 360);
|
||||
else
|
||||
a += 360 * (1 + (int32_t)(-a / 360));
|
||||
#endif
|
||||
a = (360.0 / 65536) * ((int32_t)(a * (65536 / 360.0)) & 65535);
|
||||
return a;
|
||||
}
|
||||
|
@ -115,19 +109,6 @@ int32_t BoxOnPlaneSide(vec3_t emins, vec3_t emaxs, mplane_t *p)
|
|||
float dist1, dist2;
|
||||
int32_t sides;
|
||||
|
||||
#if 0 // this is done by the BOX_ON_PLANE_SIDE macro before calling this
|
||||
// function
|
||||
// fast axial cases
|
||||
if(p->type < 3)
|
||||
{
|
||||
if(p->dist <= emins[p->type])
|
||||
return 1;
|
||||
if(p->dist >= emaxs[p->type])
|
||||
return 2;
|
||||
return 3;
|
||||
}
|
||||
#endif
|
||||
|
||||
// general case
|
||||
switch(p->signbits)
|
||||
{
|
||||
|
@ -169,32 +150,6 @@ int32_t BoxOnPlaneSide(vec3_t emins, vec3_t emaxs, mplane_t *p)
|
|||
break;
|
||||
}
|
||||
|
||||
#if 0
|
||||
int32_t i;
|
||||
vec3_t corners[2];
|
||||
|
||||
for(i = 0 ; i < 3 ; i++)
|
||||
{
|
||||
if(plane->normal[i] < 0)
|
||||
{
|
||||
corners[0][i] = emins[i];
|
||||
corners[1][i] = emaxs[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
corners[1][i] = emins[i];
|
||||
corners[0][i] = emaxs[i];
|
||||
}
|
||||
}
|
||||
dist = DotProduct(plane->normal, corners[0]) - plane->dist;
|
||||
dist2 = DotProduct(plane->normal, corners[1]) - plane->dist;
|
||||
sides = 0;
|
||||
if(dist1 >= 0)
|
||||
sides = 1;
|
||||
if(dist2 < 0)
|
||||
sides |= 2;
|
||||
#endif
|
||||
|
||||
sides = 0;
|
||||
if(dist1 >= p->dist)
|
||||
sides = 1;
|
||||
|
|
|
@ -1146,12 +1146,6 @@ void M_DrawSlider(int32_t x, int32_t y, float range)
|
|||
|
||||
void M_DrawCheckbox(int32_t x, int32_t y, int32_t on)
|
||||
{
|
||||
#if 0
|
||||
if(on)
|
||||
M_DrawCharacter(x, y, 131);
|
||||
else
|
||||
M_DrawCharacter(x, y, 129);
|
||||
#endif
|
||||
if(on)
|
||||
M_Print(x, y, "on");
|
||||
else
|
||||
|
|
|
@ -250,7 +250,7 @@ typedef struct _PollProcedure
|
|||
{
|
||||
struct _PollProcedure *next;
|
||||
double nextTime;
|
||||
void (*procedure)(void *);
|
||||
void (*procedure)(void *arg);
|
||||
void *arg;
|
||||
} PollProcedure;
|
||||
|
||||
|
|
|
@ -519,7 +519,7 @@ static int32_t testPollCount;
|
|||
static int32_t testDriver;
|
||||
static sys_socket_t testSocket;
|
||||
|
||||
static void Test_Poll(void *);
|
||||
static void Test_Poll(void *unused);
|
||||
static PollProcedure testPollProcedure = {NULL, 0.0, Test_Poll};
|
||||
|
||||
static void Test_Poll(void *unused)
|
||||
|
@ -654,7 +654,7 @@ static bool test2InProgress = false;
|
|||
static int32_t test2Driver;
|
||||
static sys_socket_t test2Socket;
|
||||
|
||||
static void Test2_Poll(void *);
|
||||
static void Test2_Poll(void *unused);
|
||||
static PollProcedure test2PollProcedure = {NULL, 0.0, Test2_Poll};
|
||||
|
||||
static void Test2_Poll(void *unused)
|
||||
|
|
|
@ -101,8 +101,8 @@ qsocket_t *Loop_Connect(const char *host)
|
|||
loop_server->sendMessageLength = 0;
|
||||
loop_server->canSend = true;
|
||||
|
||||
loop_client->driverdata = (void *)loop_server;
|
||||
loop_server->driverdata = (void *)loop_client;
|
||||
loop_client->driverdata = loop_server;
|
||||
loop_server->driverdata = loop_client;
|
||||
|
||||
return loop_client;
|
||||
}
|
||||
|
|
|
@ -45,8 +45,8 @@ bool slistLocal = true;
|
|||
static double slistStartTime;
|
||||
static int32_t slistLastShown;
|
||||
|
||||
static void Slist_Send(void *);
|
||||
static void Slist_Poll(void *);
|
||||
static void Slist_Send(void *unused);
|
||||
static void Slist_Poll(void *unused);
|
||||
static PollProcedure slistSendProcedure = {NULL, 0.0, Slist_Send};
|
||||
static PollProcedure slistPollProcedure = {NULL, 0.0, Slist_Poll};
|
||||
|
||||
|
|
|
@ -719,22 +719,6 @@ static void PF_traceline(void)
|
|||
pr_global_struct->trace_ent = EDICT_TO_PROG(sv.edicts);
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
PF_checkpos
|
||||
|
||||
Returns true if the given entity can move to the given position from it's
|
||||
current position by walking or rolling.
|
||||
FIXME: make work...
|
||||
scalar checkpos (entity, vector)
|
||||
=================
|
||||
*/
|
||||
#if 0
|
||||
static void PF_checkpos(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
//============================================================================
|
||||
|
||||
static byte *checkpvs; //ericw -- changed to malloc
|
||||
|
|
|
@ -418,7 +418,7 @@ const char *PR_GlobalString(int32_t ofs)
|
|||
ddef_t *def;
|
||||
void *val;
|
||||
|
||||
val = (void *)&pr_globals[ofs];
|
||||
val = &pr_globals[ofs];
|
||||
def = ED_GlobalAtOfs(ofs);
|
||||
if(!def)
|
||||
sprintf(line, "%" PRIi32 "(?)", ofs);
|
||||
|
@ -724,7 +724,7 @@ const char *ED_ParseGlobals(const char *data)
|
|||
continue;
|
||||
}
|
||||
|
||||
if(!ED_ParseEpair((void *)pr_globals, key, com_token))
|
||||
if(!ED_ParseEpair(pr_globals, key, com_token))
|
||||
Host_Error("ED_ParseGlobals: parse error");
|
||||
}
|
||||
return data;
|
||||
|
@ -783,7 +783,7 @@ static bool ED_ParseEpair(void *base, ddef_t *key, const char *s)
|
|||
void *d;
|
||||
dfunction_t *func;
|
||||
|
||||
d = (void *)((int32_t *)base + key->ofs);
|
||||
d = (int32_t *)base + key->ofs;
|
||||
|
||||
switch(key->type & ~DEF_SAVEGLOBAL)
|
||||
{
|
||||
|
@ -944,7 +944,7 @@ const char *ED_ParseEdict(const char *data, edict_t *ent)
|
|||
sprintf(com_token, "0 %s 0", temp);
|
||||
}
|
||||
|
||||
if(!ED_ParseEpair((void *)&ent->v, key, com_token))
|
||||
if(!ED_ParseEpair(&ent->v, key, com_token))
|
||||
Host_Error("ED_ParseEdict: parse error");
|
||||
}
|
||||
|
||||
|
@ -1042,32 +1042,8 @@ void ED_LoadFromFile(const char *data)
|
|||
Con_DPrintf("%" PRIi32 " entities inhibited\n", inhibit);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
===============
|
||||
PR_LoadProgs
|
||||
===============
|
||||
*/
|
||||
void PR_LoadProgs(void)
|
||||
static void PR_LoadProgHeader(byte *prog_data)
|
||||
{
|
||||
byte *prog_data;
|
||||
int32_t i;
|
||||
|
||||
// flush the non-C variable lookup cache
|
||||
for(i = 0; i < GEFV_CACHESIZE; i++)
|
||||
gefvCache[i].field[0] = 0;
|
||||
|
||||
CRC_Init(&pr_crc);
|
||||
|
||||
prog_data = COM_LoadHunkFile("progs.dat", NULL);
|
||||
if(!prog_data)
|
||||
Host_Error("PR_LoadProgs: couldn't load progs.dat");
|
||||
Con_DPrintf("Programs occupy %" PRIi32 "K.\n", com_filesize / 1024);
|
||||
|
||||
for(i = 0; i < com_filesize; i++)
|
||||
CRC_ProcessByte(&pr_crc, prog_data[i]);
|
||||
|
||||
// byte swap the header
|
||||
progs.version = ReadLittleLong(&prog_data[4 * 0]);
|
||||
progs.crc = ReadLittleLong(&prog_data[4 * 1]);
|
||||
|
||||
|
@ -1093,11 +1069,39 @@ void PR_LoadProgs(void)
|
|||
|
||||
if(progs.version != PROG_VERSION)
|
||||
Host_Error("progs.dat has wrong version number (%" PRIi32 " should be %" PRIi32 ")", progs.version, PROG_VERSION);
|
||||
|
||||
if(progs.crc != PROGHEADER_CRC)
|
||||
Host_Error("progs.dat system vars have been modified, progdefs.h is out of date");
|
||||
}
|
||||
|
||||
pr_functions = (dfunction_t *)(prog_data + progs.ofs_functions);
|
||||
pr_strings = (char *)prog_data + progs.ofs_strings;
|
||||
/*
|
||||
===============
|
||||
PR_LoadProgs
|
||||
===============
|
||||
*/
|
||||
void PR_LoadProgs(void)
|
||||
{
|
||||
byte *prog_data;
|
||||
int32_t i;
|
||||
|
||||
// flush the non-C variable lookup cache
|
||||
for(i = 0; i < GEFV_CACHESIZE; i++)
|
||||
gefvCache[i].field[0] = 0;
|
||||
|
||||
CRC_Init(&pr_crc);
|
||||
|
||||
prog_data = COM_LoadHunkFile("progs.dat", NULL);
|
||||
if(!prog_data)
|
||||
Host_Error("PR_LoadProgs: couldn't load progs.dat");
|
||||
Con_DPrintf("Programs occupy %" PRIi32 "K.\n", com_filesize / 1024);
|
||||
|
||||
for(i = 0; i < com_filesize; i++)
|
||||
CRC_ProcessByte(&pr_crc, prog_data[i]);
|
||||
|
||||
PR_LoadProgHeader(prog_data);
|
||||
|
||||
pr_functions = (dfunction_t *)&prog_data[progs.ofs_functions];
|
||||
pr_strings = (char *)&prog_data[progs.ofs_strings];
|
||||
if(progs.ofs_strings + progs.numstrings >= com_filesize)
|
||||
Host_Error("progs.dat strings go past end of file\n");
|
||||
|
||||
|
@ -1106,15 +1110,15 @@ void PR_LoadProgs(void)
|
|||
pr_maxknownstrings = 0;
|
||||
pr_stringssize = progs.numstrings;
|
||||
if(pr_knownstrings)
|
||||
Z_Free((void *)pr_knownstrings);
|
||||
Z_Free(pr_knownstrings);
|
||||
pr_knownstrings = NULL;
|
||||
PR_SetEngineString("");
|
||||
|
||||
pr_globaldefs = (ddef_t *)(prog_data + progs.ofs_globaldefs);
|
||||
pr_fielddefs = (ddef_t *)(prog_data + progs.ofs_fielddefs);
|
||||
pr_statements = (dstatement_t *)(prog_data + progs.ofs_statements);
|
||||
pr_globaldefs = (ddef_t *)&prog_data[progs.ofs_globaldefs];
|
||||
pr_fielddefs = (ddef_t *)&prog_data[progs.ofs_fielddefs];
|
||||
pr_statements = (dstatement_t *)&prog_data[progs.ofs_statements];
|
||||
|
||||
pr_global_struct = (globalvars_t *)(prog_data + progs.ofs_globals);
|
||||
pr_global_struct = (globalvars_t *)&prog_data[progs.ofs_globals];
|
||||
pr_globals = (float *)pr_global_struct;
|
||||
|
||||
// byte swap the lumps
|
||||
|
@ -1224,7 +1228,7 @@ static void PR_AllocStringSlots(void)
|
|||
{
|
||||
pr_maxknownstrings += PR_STRING_ALLOCSLOTS;
|
||||
Con_DPrintf2("PR_AllocStringSlots: realloc'ing for %" PRIi32 " slots\n", pr_maxknownstrings);
|
||||
pr_knownstrings = (const char **) Z_Realloc((void *)pr_knownstrings, pr_maxknownstrings * sizeof(char *));
|
||||
pr_knownstrings = (const char **) Z_Realloc(pr_knownstrings, pr_maxknownstrings * sizeof(char *));
|
||||
}
|
||||
|
||||
const char *PR_GetString(int32_t num)
|
||||
|
@ -1253,33 +1257,16 @@ int32_t PR_SetEngineString(const char *s)
|
|||
|
||||
if(!s)
|
||||
return 0;
|
||||
#if 0 /* can't: sv.model_precache & sv.sound_precache points to pr_strings */
|
||||
if(s >= pr_strings && s <= pr_strings + pr_stringssize)
|
||||
Host_Error("PR_SetEngineString: \"%s\" in pr_strings area\n", s);
|
||||
#else
|
||||
if(s >= pr_strings && s <= pr_strings + pr_stringssize - 2)
|
||||
return (int32_t)(s - pr_strings);
|
||||
#endif
|
||||
for(i = 0; i < pr_numknownstrings; i++)
|
||||
{
|
||||
if(pr_knownstrings[i] == s)
|
||||
return -1 - i;
|
||||
}
|
||||
// new unknown engine string
|
||||
//Con_DPrintf ("PR_SetEngineString: new engine string %p\n", s);
|
||||
#if 0
|
||||
for(i = 0; i < pr_numknownstrings; i++)
|
||||
{
|
||||
if(!pr_knownstrings[i])
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
// if (i >= pr_numknownstrings)
|
||||
// {
|
||||
if(i >= pr_maxknownstrings)
|
||||
PR_AllocStringSlots();
|
||||
pr_numknownstrings++;
|
||||
// }
|
||||
pr_knownstrings[i] = s;
|
||||
return -1 - i;
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ model and pose.
|
|||
static void *GLARB_GetXYZOffset(aliashdr_t *hdr, int32_t pose)
|
||||
{
|
||||
const int32_t xyzoffs = offsetof(meshxyz_t, xyz);
|
||||
return (void *)(currententity->model->vboxyzofs + (hdr->numverts_vbo * pose * sizeof(meshxyz_t)) + xyzoffs);
|
||||
return &((byte *)NULL)[currententity->model->vboxyzofs + hdr->numverts_vbo * pose * sizeof(meshxyz_t) + xyzoffs];
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -112,7 +112,7 @@ given model and pose.
|
|||
static void *GLARB_GetNormalOffset(aliashdr_t *hdr, int32_t pose)
|
||||
{
|
||||
const int32_t normaloffs = offsetof(meshxyz_t, normal);
|
||||
return (void *)(currententity->model->vboxyzofs + (hdr->numverts_vbo * pose * sizeof(meshxyz_t)) + normaloffs);
|
||||
return &((byte *)NULL)[currententity->model->vboxyzofs + hdr->numverts_vbo * pose * sizeof(meshxyz_t) + normaloffs];
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
372
source/r_brush.c
372
source/r_brush.c
|
@ -135,378 +135,6 @@ void DrawGLTriangleFan(glpoly_t *p)
|
|||
=============================================================
|
||||
*/
|
||||
|
||||
#if 0
|
||||
/*
|
||||
================
|
||||
R_DrawSequentialPoly -- johnfitz -- rewritten
|
||||
================
|
||||
*/
|
||||
void R_DrawSequentialPoly(msurface_t *s)
|
||||
{
|
||||
glpoly_t *p;
|
||||
texture_t *t;
|
||||
float *v;
|
||||
float entalpha;
|
||||
int32_t i;
|
||||
|
||||
t = R_TextureAnimation(s->texinfo->texture, currententity->frame);
|
||||
entalpha = ENTALPHA_DECODE(currententity->alpha);
|
||||
|
||||
// drawflat
|
||||
if(r_drawflat_cheatsafe)
|
||||
{
|
||||
if((s->flags & SURF_DRAWTURB) && r_oldwater.value)
|
||||
{
|
||||
for(p = s->polys->next; p; p = p->next)
|
||||
{
|
||||
srand((uint32_t)(uintptr_t) p);
|
||||
glColor3f(rand() % 256 / 255.0, rand() % 256 / 255.0, rand() % 256 / 255.0);
|
||||
DrawGLPoly(p);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
srand((uint32_t)(uintptr_t) s->polys);
|
||||
glColor3f(rand() % 256 / 255.0, rand() % 256 / 255.0, rand() % 256 / 255.0);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
return;
|
||||
}
|
||||
|
||||
// fullbright
|
||||
if((r_fullbright_cheatsafe) && !(s->flags & SURF_DRAWTILED))
|
||||
{
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor4f(1, 1, 1, entalpha);
|
||||
}
|
||||
|
||||
if(s->flags & SURF_DRAWFENCE)
|
||||
glEnable(GL_ALPHA_TEST); // Flip on alpha test
|
||||
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
|
||||
if(s->flags & SURF_DRAWFENCE)
|
||||
glDisable(GL_ALPHA_TEST); // Flip alpha test back off
|
||||
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_TRUE);
|
||||
glDisable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1, 1, 1);
|
||||
}
|
||||
goto fullbrights;
|
||||
}
|
||||
|
||||
// r_lightmap
|
||||
if(r_lightmap_cheatsafe)
|
||||
{
|
||||
if(s->flags & SURF_DRAWTILED)
|
||||
{
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
DrawGLPoly(s->polys);
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
rs_brushpasses++;
|
||||
return;
|
||||
}
|
||||
|
||||
R_RenderDynamicLightmaps(s);
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
if(!gl_overbright.value)
|
||||
{
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor3f(0.5, 0.5, 0.5);
|
||||
}
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
glTexCoord2f(v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
if(!gl_overbright.value)
|
||||
{
|
||||
glColor3f(1, 1, 1);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
}
|
||||
rs_brushpasses++;
|
||||
return;
|
||||
}
|
||||
|
||||
// sky poly -- skip it, already handled in gl_sky.c
|
||||
if(s->flags & SURF_DRAWSKY)
|
||||
return;
|
||||
|
||||
// water poly
|
||||
if(s->flags & SURF_DRAWTURB)
|
||||
{
|
||||
if(currententity->alpha == ENTALPHA_DEFAULT)
|
||||
entalpha = CLAMP(0.0, GL_WaterAlphaForSurface(s), 1.0);
|
||||
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor4f(1, 1, 1, entalpha);
|
||||
}
|
||||
if(r_oldwater.value)
|
||||
{
|
||||
GL_Bind(s->texinfo->texture->gltexture);
|
||||
for(p = s->polys->next; p; p = p->next)
|
||||
{
|
||||
DrawWaterPoly(p);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else
|
||||
{
|
||||
GL_Bind(s->texinfo->texture->warpimage);
|
||||
s->texinfo->texture->update_warp = true; // FIXME: one frame too late!
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_TRUE);
|
||||
glDisable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1, 1, 1);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// missing texture
|
||||
if(s->flags & SURF_NOTEXTURE)
|
||||
{
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor4f(1, 1, 1, entalpha);
|
||||
}
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_TRUE);
|
||||
glDisable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1, 1, 1);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// lightmapped poly
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor4f(1, 1, 1, entalpha);
|
||||
}
|
||||
else
|
||||
glColor3f(1, 1, 1);
|
||||
|
||||
if(s->flags & SURF_DRAWFENCE)
|
||||
glEnable(GL_ALPHA_TEST); // Flip on alpha test
|
||||
|
||||
if(gl_overbright.value)
|
||||
{
|
||||
if(gl_texture_env_combine && gl_mtexable) //case 1: texture and lightmap in one pass, overbright using texture combiners
|
||||
{
|
||||
GL_DisableMultitexture(); // selects TEXTURE0
|
||||
GL_Bind(t->gltexture);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
GL_EnableMultitexture(); // selects TEXTURE1
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
R_RenderDynamicLightmaps(s);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_EXT);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_EXT, GL_MODULATE);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_EXT, GL_PREVIOUS_EXT);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB_EXT, GL_TEXTURE);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, 2.0f);
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
GL_MTexCoord2fFunc(GL_TEXTURE0_ARB, v[3], v[4]);
|
||||
GL_MTexCoord2fFunc(GL_TEXTURE1_ARB, v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, 1.0f);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
GL_DisableMultitexture();
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else if(entalpha < 1 || (s->flags & SURF_DRAWFENCE)) //case 2: can't do multipass if entity has alpha, so just draw the texture
|
||||
{
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else //case 3: texture in one pass, lightmap in second pass using 2x modulation blend func, fog in third pass
|
||||
{
|
||||
//first pass -- texture with no fog
|
||||
Fog_DisableGFog();
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
Fog_EnableGFog();
|
||||
rs_brushpasses++;
|
||||
|
||||
//second pass -- lightmap with black fog, modulate blended
|
||||
R_RenderDynamicLightmaps(s);
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_DST_COLOR, GL_SRC_COLOR); //2x modulate
|
||||
Fog_StartAdditive();
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
glTexCoord2f(v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
Fog_StopAdditive();
|
||||
rs_brushpasses++;
|
||||
|
||||
//third pass -- black geo with normal fog, additive blended
|
||||
if(Fog_GetDensity() > 0)
|
||||
{
|
||||
glBlendFunc(GL_ONE, GL_ONE); //add
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor3f(0, 0, 0);
|
||||
DrawGLPoly(s->polys);
|
||||
glColor3f(1, 1, 1);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glDisable(GL_BLEND);
|
||||
glDepthMask(GL_TRUE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(gl_mtexable) //case 4: texture and lightmap in one pass, regular modulation
|
||||
{
|
||||
GL_DisableMultitexture(); // selects TEXTURE0
|
||||
GL_Bind(t->gltexture);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
GL_EnableMultitexture(); // selects TEXTURE1
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
R_RenderDynamicLightmaps(s);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
GL_MTexCoord2fFunc(GL_TEXTURE0_ARB, v[3], v[4]);
|
||||
GL_MTexCoord2fFunc(GL_TEXTURE1_ARB, v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
GL_DisableMultitexture();
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else if(entalpha < 1 || (s->flags & SURF_DRAWFENCE)) //case 5: can't do multipass if entity has alpha, so just draw the texture
|
||||
{
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else //case 6: texture in one pass, lightmap in a second pass, fog in third pass
|
||||
{
|
||||
//first pass -- texture with no fog
|
||||
Fog_DisableGFog();
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
Fog_EnableGFog();
|
||||
rs_brushpasses++;
|
||||
|
||||
//second pass -- lightmap with black fog, modulate blended
|
||||
R_RenderDynamicLightmaps(s);
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_ZERO, GL_SRC_COLOR); //modulate
|
||||
Fog_StartAdditive();
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
glTexCoord2f(v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
Fog_StopAdditive();
|
||||
rs_brushpasses++;
|
||||
|
||||
//third pass -- black geo with normal fog, additive blended
|
||||
if(Fog_GetDensity() > 0)
|
||||
{
|
||||
glBlendFunc(GL_ONE, GL_ONE); //add
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor3f(0, 0, 0);
|
||||
DrawGLPoly(s->polys);
|
||||
glColor3f(1, 1, 1);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glDisable(GL_BLEND);
|
||||
glDepthMask(GL_TRUE);
|
||||
|
||||
}
|
||||
}
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_TRUE);
|
||||
glDisable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1, 1, 1);
|
||||
}
|
||||
|
||||
if(s->flags & SURF_DRAWFENCE)
|
||||
glDisable(GL_ALPHA_TEST); // Flip alpha test back off
|
||||
|
||||
fullbrights:
|
||||
if(gl_fullbrights.value && t->fullbright)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_ONE, GL_ONE);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor3f(entalpha, entalpha, entalpha);
|
||||
GL_Bind(t->fullbright);
|
||||
Fog_StartAdditive();
|
||||
DrawGLPoly(s->polys);
|
||||
Fog_StopAdditive();
|
||||
glColor3f(1, 1, 1);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glDisable(GL_BLEND);
|
||||
glDepthMask(GL_TRUE);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
=================
|
||||
R_DrawBrushModel
|
||||
|
|
|
@ -228,25 +228,6 @@ static void FindChunk(const char *name)
|
|||
FindNextChunk(name);
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void DumpChunks(void)
|
||||
{
|
||||
char str[5];
|
||||
|
||||
str[4] = 0;
|
||||
data_p = iff_data;
|
||||
do
|
||||
{
|
||||
memcpy(str, data_p, 4);
|
||||
data_p += 4;
|
||||
iff_chunk_len = GetLittleLong();
|
||||
Con_Printf("0x%x : %s (%" PRIi32 ")\n", (int32_t)(data_p - 4), str, iff_chunk_len);
|
||||
data_p += (iff_chunk_len + 1) & ~1;
|
||||
}
|
||||
while(data_p < iff_end);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
============
|
||||
GetWavinfo
|
||||
|
@ -277,9 +258,6 @@ wavinfo_t GetWavinfo(const char *name, byte *wav, int32_t wavlength)
|
|||
|
||||
// get "fmt " chunk
|
||||
iff_data = data_p + 12;
|
||||
#if 0
|
||||
DumpChunks();
|
||||
#endif
|
||||
|
||||
FindChunk("fmt ");
|
||||
if(!data_p)
|
||||
|
|
|
@ -31,16 +31,8 @@
|
|||
#include <errno.h>
|
||||
#include <opusfile.h>
|
||||
|
||||
|
||||
/* CALLBACK FUNCTIONS: */
|
||||
|
||||
static int32_t opc_fclose(void *f)
|
||||
{
|
||||
(void)f;
|
||||
return 0; /* we fclose() elsewhere. */
|
||||
}
|
||||
|
||||
static int32_t opc_fread(void *f, uint8_t *buf, int32_t size)
|
||||
static int opc_fread(void *f, unsigned char *buf, int size)
|
||||
{
|
||||
int32_t ret;
|
||||
|
||||
|
@ -56,23 +48,29 @@ static int32_t opc_fread(void *f, uint8_t *buf, int32_t size)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int32_t opc_fseek(void *f, opus_int64 off, int32_t whence)
|
||||
static int opc_fseek(void *f, opus_int64 off, int whence)
|
||||
{
|
||||
if(f == NULL) return (-1);
|
||||
if(f == NULL) return -1;
|
||||
return FS_fseek((fshandle_t *)f, (long)off, whence);
|
||||
}
|
||||
|
||||
static opus_int64 opc_ftell(void *f)
|
||||
{
|
||||
return (opus_int64) FS_ftell((fshandle_t *)f);
|
||||
return (opus_int64)FS_ftell(f);
|
||||
}
|
||||
|
||||
static int opc_fclose(void *f)
|
||||
{
|
||||
(void)f;
|
||||
return 0; /* we fclose() elsewhere. */
|
||||
}
|
||||
|
||||
static const OpusFileCallbacks opc_qfs =
|
||||
{
|
||||
(int32_t (*)(void *, uint8_t *, int32_t)) opc_fread,
|
||||
(int32_t (*)(void *, opus_int64, int32_t)) opc_fseek,
|
||||
(opus_int64(*)(void *)) opc_ftell,
|
||||
(int32_t (*)(void *)) opc_fclose
|
||||
.read = opc_fread,
|
||||
.seek = opc_fseek,
|
||||
.tell = opc_ftell,
|
||||
.close = opc_fclose,
|
||||
};
|
||||
|
||||
static bool S_OPUS_CodecInitialize(void)
|
||||
|
|
|
@ -126,7 +126,7 @@ bool SNDDMA_Init(dma_t *dma)
|
|||
return false;
|
||||
}
|
||||
|
||||
memset((void *) dma, 0, sizeof(dma_t));
|
||||
memset(dma, 0, sizeof(dma_t));
|
||||
shm = dma;
|
||||
|
||||
/* Fill the audio DMA information block */
|
||||
|
|
|
@ -44,6 +44,21 @@
|
|||
#define VORBIS_SIGNED_DATA 1
|
||||
|
||||
/* CALLBACK FUNCTIONS: */
|
||||
static size_t ovc_fread(void *ptr, size_t size, size_t nmemb, void *fh)
|
||||
{
|
||||
return FS_fread(ptr, size, nmemb, fh);
|
||||
}
|
||||
|
||||
static int32_t ovc_fseek(void *f, ogg_int64_t off, int32_t whence)
|
||||
{
|
||||
if(f == NULL) return -1;
|
||||
return FS_fseek(f, (long)off, whence);
|
||||
}
|
||||
|
||||
static long ovc_ftell(void *f)
|
||||
{
|
||||
return (long)FS_ftell(f);
|
||||
}
|
||||
|
||||
static int32_t ovc_fclose(void *f)
|
||||
{
|
||||
|
@ -51,18 +66,12 @@ static int32_t ovc_fclose(void *f)
|
|||
return 0; /* we fclose() elsewhere. */
|
||||
}
|
||||
|
||||
static int32_t ovc_fseek(void *f, ogg_int64_t off, int32_t whence)
|
||||
{
|
||||
if(f == NULL) return (-1);
|
||||
return FS_fseek((fshandle_t *)f, (long) off, whence);
|
||||
}
|
||||
|
||||
static ov_callbacks ovc_qfs =
|
||||
{
|
||||
(size_t (*)(void *, size_t, size_t, void *)) FS_fread,
|
||||
(int32_t (*)(void *, ogg_int64_t, int32_t)) ovc_fseek,
|
||||
(int32_t (*)(void *)) ovc_fclose,
|
||||
(long (*)(void *)) FS_ftell
|
||||
.read_func = ovc_fread,
|
||||
.seek_func = ovc_fseek,
|
||||
.tell_func = ovc_ftell,
|
||||
.close_func = ovc_fclose,
|
||||
};
|
||||
|
||||
static bool S_VORBIS_CodecInitialize(void)
|
||||
|
|
|
@ -138,10 +138,6 @@ STBIWDEF int32_t stbi_write_jpg(char const *filename, int32_t x, int32_t y, int3
|
|||
|
||||
typedef void stbi_write_func(void *context, void *data, int32_t size);
|
||||
|
||||
#if 0 /* not used in QuakeSpasm */
|
||||
STBIWDEF int32_t stbi_write_jpg_to_func(stbi_write_func *func, void *context, int32_t x, int32_t y, int32_t comp, const void *data, int32_t quality);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(STB_IMAGE_WRITE_IMPLEMENTATION)
|
||||
|
@ -218,7 +214,7 @@ static void stbi__stdio_write(void *context, void *data, int32_t size)
|
|||
static int32_t stbi__start_write_file(stbi__write_context *s, const char *filename)
|
||||
{
|
||||
FILE *f = fopen(filename, "wb");
|
||||
stbi__start_write_callbacks(s, stbi__stdio_write, (void *) f);
|
||||
stbi__start_write_callbacks(s, stbi__stdio_write, f);
|
||||
return f != NULL;
|
||||
}
|
||||
|
||||
|
@ -611,16 +607,6 @@ static int32_t stbi_write_jpg_core(stbi__write_context *s, int32_t width, int32_
|
|||
return 1;
|
||||
}
|
||||
|
||||
#if 0 /* not used in QuakeSpasm */
|
||||
STBIWDEF int32_t stbi_write_jpg_to_func(stbi_write_func *func, void *context, int32_t x, int32_t y, int32_t comp, const void *data, int32_t quality)
|
||||
{
|
||||
stbi__write_context s;
|
||||
stbi__start_write_callbacks(&s, func, context);
|
||||
return stbi_write_jpg_core(&s, x, y, comp, (void *) data, quality);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if !defined(STBI_WRITE_NO_STDIO)
|
||||
STBIWDEF int32_t stbi_write_jpg(char const *filename, int32_t x, int32_t y, int32_t comp, const void *data, int32_t quality)
|
||||
{
|
||||
|
|
|
@ -137,7 +137,7 @@ void *W_GetLumpName(const char *name)
|
|||
|
||||
if(!lump) return NULL; //johnfitz
|
||||
|
||||
return (void *)(wad_base + lump->filepos);
|
||||
return wad_base + lump->filepos;
|
||||
}
|
||||
|
||||
void *W_GetLumpNum(int32_t num)
|
||||
|
@ -149,7 +149,7 @@ void *W_GetLumpNum(int32_t num)
|
|||
|
||||
lump = wad_lumps + num;
|
||||
|
||||
return (void *)(wad_base + lump->filepos);
|
||||
return wad_base + lump->filepos;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -864,11 +864,6 @@ SV_MoveBounds
|
|||
*/
|
||||
void SV_MoveBounds(vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, vec3_t boxmins, vec3_t boxmaxs)
|
||||
{
|
||||
#if 0
|
||||
// debug to test against everything
|
||||
boxmins[0] = boxmins[1] = boxmins[2] = -9999;
|
||||
boxmaxs[0] = boxmaxs[1] = boxmaxs[2] = 9999;
|
||||
#else
|
||||
int32_t i;
|
||||
|
||||
for(i = 0 ; i < 3 ; i++)
|
||||
|
@ -884,7 +879,6 @@ void SV_MoveBounds(vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, vec3_t bo
|
|||
boxmaxs[i] = start[i] + maxs[i] + 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -168,7 +168,7 @@ static void *Z_TagMalloc(int32_t size, int32_t tag)
|
|||
// marker for memory trash testing
|
||||
*(int32_t *)((byte *)base + base->size - 4) = ZONEID;
|
||||
|
||||
return (void *)((byte *)base + sizeof(memblock_t));
|
||||
return (byte *)base + sizeof(memblock_t);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -456,7 +456,7 @@ void *Hunk_AllocName(int32_t size, const char *name)
|
|||
h->sentinel = HUNK_SENTINEL;
|
||||
q_strlcpy(h->name, name, HUNKNAME_LEN);
|
||||
|
||||
return (void *)(h + 1);
|
||||
return h + 1;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -547,7 +547,7 @@ void *Hunk_HighAllocName(int32_t size, const char *name)
|
|||
h->sentinel = HUNK_SENTINEL;
|
||||
q_strlcpy(h->name, name, HUNKNAME_LEN);
|
||||
|
||||
return (void *)(h + 1);
|
||||
return h + 1;
|
||||
}
|
||||
|
||||
|
||||
|
@ -628,7 +628,7 @@ void Cache_Move(cache_system_t *c)
|
|||
new_cs->user = c->user;
|
||||
Q_memcpy(new_cs->name, c->name, sizeof(new_cs->name));
|
||||
Cache_Free(c->user, false); //johnfitz -- added second argument
|
||||
new_cs->user->data = (void *)(new_cs + 1);
|
||||
new_cs->user->data = new_cs + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -926,7 +926,7 @@ void *Cache_Alloc(cache_user_t *c, int32_t size, const char *name)
|
|||
if(cs)
|
||||
{
|
||||
q_strlcpy(cs->name, name, CACHENAME_LEN);
|
||||
c->data = (void *)(cs + 1);
|
||||
c->data = cs + 1;
|
||||
cs->user = c;
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue