mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-11 18:50:46 +00:00
maint: refactor closing cache files and removing duplicate pointers into their own functions
git-svn-id: https://svn.eduke32.com/eduke32@2064 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
8b7af4f486
commit
b63f7e558b
1 changed files with 42 additions and 80 deletions
|
@ -569,6 +569,43 @@ float glox1, gloy1, glox2, gloy2;
|
||||||
static int32_t gltexcacnum = -1;
|
static int32_t gltexcacnum = -1;
|
||||||
extern void freevbos(void);
|
extern void freevbos(void);
|
||||||
|
|
||||||
|
|
||||||
|
static void Cachefile_CloseBoth(void)
|
||||||
|
{
|
||||||
|
if (cachefilehandle != -1)
|
||||||
|
{
|
||||||
|
Bclose(cachefilehandle);
|
||||||
|
cachefilehandle = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cacheindexptr)
|
||||||
|
{
|
||||||
|
Bfclose(cacheindexptr);
|
||||||
|
cacheindexptr = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Cachefile_RemoveDups(void)
|
||||||
|
{
|
||||||
|
int32_t i;
|
||||||
|
|
||||||
|
for (i = numcacheentries-1; i >= 0; i--)
|
||||||
|
if (cacheptrs[i])
|
||||||
|
{
|
||||||
|
int32_t ii;
|
||||||
|
for (ii = numcacheentries-1; ii >= 0; ii--)
|
||||||
|
if (i != ii && cacheptrs[ii] == cacheptrs[i])
|
||||||
|
{
|
||||||
|
/*OSD_Printf("removing duplicate cacheptr %d\n",ii);*/
|
||||||
|
cacheptrs[ii] = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
Bfree(cacheptrs[i]);
|
||||||
|
cacheptrs[i] = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void polymost_cachesync(void)
|
void polymost_cachesync(void)
|
||||||
{
|
{
|
||||||
if (memcachedata && cachefilehandle != -1 && filelength(cachefilehandle) > memcachesize)
|
if (memcachedata && cachefilehandle != -1 && filelength(cachefilehandle) > memcachesize)
|
||||||
|
@ -647,34 +684,7 @@ void polymost_glreset()
|
||||||
memset(gltexcachead,0,sizeof(gltexcachead));
|
memset(gltexcachead,0,sizeof(gltexcachead));
|
||||||
glox1 = -1;
|
glox1 = -1;
|
||||||
|
|
||||||
/*
|
Cachefile_RemoveDups();
|
||||||
if (cachefilehandle != -1)
|
|
||||||
{
|
|
||||||
Bclose(cachefilehandle);
|
|
||||||
cachefilehandle = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cacheindexptr)
|
|
||||||
{
|
|
||||||
Bfclose(cacheindexptr);
|
|
||||||
cacheindexptr = NULL;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
for (i = numcacheentries-1; i >= 0; i--)
|
|
||||||
if (cacheptrs[i])
|
|
||||||
{
|
|
||||||
int32_t ii;
|
|
||||||
for (ii = numcacheentries-1; ii >= 0; ii--)
|
|
||||||
if (i != ii && cacheptrs[ii] == cacheptrs[i])
|
|
||||||
{
|
|
||||||
/*OSD_Printf("removing duplicate cacheptr %d\n",ii);*/
|
|
||||||
cacheptrs[ii] = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
Bfree(cacheptrs[i]);
|
|
||||||
cacheptrs[i] = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
polymost_cachesync();
|
polymost_cachesync();
|
||||||
#ifdef DEBUGGINGAIDS
|
#ifdef DEBUGGINGAIDS
|
||||||
|
@ -737,17 +747,7 @@ void polymost_glinit()
|
||||||
bglEnableClientState(GL_VERTEX_ARRAY);
|
bglEnableClientState(GL_VERTEX_ARRAY);
|
||||||
bglEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
bglEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
|
|
||||||
if (cachefilehandle != -1)
|
Cachefile_CloseBoth();
|
||||||
{
|
|
||||||
Bclose(cachefilehandle);
|
|
||||||
cachefilehandle = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cacheindexptr)
|
|
||||||
{
|
|
||||||
Bfclose(cacheindexptr);
|
|
||||||
cacheindexptr = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (memcachedata)
|
if (memcachedata)
|
||||||
{
|
{
|
||||||
|
@ -756,20 +756,7 @@ void polymost_glinit()
|
||||||
memcachesize = -1;
|
memcachesize = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = numcacheentries-1; i >= 0; i--)
|
Cachefile_RemoveDups();
|
||||||
if (cacheptrs[i])
|
|
||||||
{
|
|
||||||
int32_t ii;
|
|
||||||
for (ii = numcacheentries-1; ii >= 0; ii--)
|
|
||||||
if (i != ii && cacheptrs[ii] == cacheptrs[i])
|
|
||||||
{
|
|
||||||
/*OSD_Printf("removing duplicate cacheptr %d\n",ii);*/
|
|
||||||
cacheptrs[ii] = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
Bfree(cacheptrs[i]);
|
|
||||||
cacheptrs[i] = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
curcacheindex = firstcacheindex = (texcacheindex *)Bcalloc(1, sizeof(texcacheindex));
|
curcacheindex = firstcacheindex = (texcacheindex *)Bcalloc(1, sizeof(texcacheindex));
|
||||||
numcacheentries = 0;
|
numcacheentries = 0;
|
||||||
|
@ -858,8 +845,6 @@ void polymost_glinit()
|
||||||
|
|
||||||
void invalidatecache(void)
|
void invalidatecache(void)
|
||||||
{
|
{
|
||||||
int32_t i;
|
|
||||||
|
|
||||||
#ifdef DEBUGGINGAIDS
|
#ifdef DEBUGGINGAIDS
|
||||||
OSD_Printf("invalidatecache()\n");
|
OSD_Printf("invalidatecache()\n");
|
||||||
#endif
|
#endif
|
||||||
|
@ -867,17 +852,7 @@ void invalidatecache(void)
|
||||||
|
|
||||||
polymost_glreset();
|
polymost_glreset();
|
||||||
|
|
||||||
if (cachefilehandle != -1)
|
Cachefile_CloseBoth();
|
||||||
{
|
|
||||||
Bclose(cachefilehandle);
|
|
||||||
cachefilehandle = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cacheindexptr)
|
|
||||||
{
|
|
||||||
Bfclose(cacheindexptr);
|
|
||||||
cacheindexptr = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (memcachedata)
|
if (memcachedata)
|
||||||
{
|
{
|
||||||
|
@ -886,20 +861,7 @@ void invalidatecache(void)
|
||||||
memcachesize = -1;
|
memcachesize = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = numcacheentries-1; i >= 0; i--)
|
Cachefile_RemoveDups();
|
||||||
if (cacheptrs[i])
|
|
||||||
{
|
|
||||||
int32_t ii;
|
|
||||||
for (ii = numcacheentries-1; ii >= 0; ii--)
|
|
||||||
if (i != ii && cacheptrs[ii] == cacheptrs[i])
|
|
||||||
{
|
|
||||||
/*OSD_Printf("removing duplicate cacheptr %d\n",ii);*/
|
|
||||||
cacheptrs[ii] = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
Bfree(cacheptrs[i]);
|
|
||||||
cacheptrs[i] = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
curcacheindex = firstcacheindex = (texcacheindex *)Bcalloc(1, sizeof(texcacheindex));
|
curcacheindex = firstcacheindex = (texcacheindex *)Bcalloc(1, sizeof(texcacheindex));
|
||||||
numcacheentries = 0;
|
numcacheentries = 0;
|
||||||
|
|
Loading…
Reference in a new issue