mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 21:57:57 +03:00
Clean up terrain when shutting the Ref down
This commit is contained in:
parent
e0dee12578
commit
716a574abe
7 changed files with 92 additions and 19 deletions
|
@ -1754,6 +1754,8 @@ void RE_Shutdown( qboolean destroyWindow ) {
|
|||
|
||||
R_ShutdownFont();
|
||||
|
||||
R_ShutdownTerrain();
|
||||
|
||||
tr.registered = qfalse;
|
||||
}
|
||||
|
||||
|
@ -1770,6 +1772,8 @@ void RE_BeginRegistration(glconfig_t* glconfigOut) {
|
|||
R_IssuePendingRenderCommands();
|
||||
|
||||
R_LevelMarksFree();
|
||||
R_TerrainFree();
|
||||
|
||||
ri.Hunk_Clear();
|
||||
|
||||
*glconfigOut = glConfig;
|
||||
|
|
|
@ -2182,6 +2182,8 @@ void R_MarkTerrainPatch(cTerraPatchUnpacked_t* pPatch);
|
|||
void R_AddTerrainSurfaces();
|
||||
void R_AddTerrainMarkSurfaces();
|
||||
void R_InitTerrain();
|
||||
void R_ShutdownTerrain();
|
||||
void R_TerrainFree();
|
||||
void R_TerrainPrepareFrame();
|
||||
qboolean R_TerrainHeightForPoly(cTerraPatchUnpacked_t* pPatch, polyVert_t* pVerts, int nVerts);
|
||||
void R_SwapTerraPatch(cTerraPatch_t* pPatch);
|
||||
|
|
|
@ -1490,14 +1490,7 @@ void R_TerrainRestart_f(void)
|
|||
return;
|
||||
}
|
||||
|
||||
if (g_pVert) {
|
||||
ri.Free(g_pVert);
|
||||
g_pVert = NULL;
|
||||
}
|
||||
if (g_pTris) {
|
||||
ri.Free(g_pTris);
|
||||
g_pTris = NULL;
|
||||
}
|
||||
R_TerrainFree();
|
||||
|
||||
R_PreTessellateTerrain();
|
||||
}
|
||||
|
@ -1654,6 +1647,37 @@ void R_InitTerrain()
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
R_ShutdownTerrain
|
||||
================
|
||||
*/
|
||||
void R_ShutdownTerrain()
|
||||
{
|
||||
ri.Cmd_RemoveCommand("ter_restart");
|
||||
|
||||
R_TerrainFree();
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
R_TerrainFree
|
||||
|
||||
Frees terrain memory
|
||||
================
|
||||
*/
|
||||
void R_TerrainFree()
|
||||
{
|
||||
if (g_pVert) {
|
||||
ri.Free(g_pVert);
|
||||
g_pVert = NULL;
|
||||
}
|
||||
if (g_pTris) {
|
||||
ri.Free(g_pTris);
|
||||
g_pTris = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
====================
|
||||
R_SwapTerraPatch
|
||||
|
|
|
@ -1836,6 +1836,12 @@ void RE_Shutdown( qboolean destroyWindow ) {
|
|||
Com_Memset( &glState, 0, sizeof( glState ) );
|
||||
}
|
||||
|
||||
//
|
||||
// OPENMOHAA-specific stuff
|
||||
//=========================
|
||||
R_ShutdownTerrain();
|
||||
//=========================
|
||||
|
||||
tr.registered = qfalse;
|
||||
}
|
||||
|
||||
|
@ -1858,6 +1864,18 @@ void RE_BeginRegistration(glconfig_t* glconfigOut) {
|
|||
R_ClearFlares();
|
||||
RE_ClearScene();
|
||||
|
||||
//
|
||||
// OPENMOHAA-specific stuff
|
||||
//=========================
|
||||
R_LevelMarksFree();
|
||||
R_TerrainFree();
|
||||
|
||||
R_InitLensFlare();
|
||||
R_LevelMarksInit();
|
||||
|
||||
ri.UI_LoadResource("*124");
|
||||
//=========================
|
||||
|
||||
tr.registered = qtrue;
|
||||
}
|
||||
//=========================
|
||||
|
|
|
@ -3174,6 +3174,8 @@ void R_MarkTerrainPatch(cTerraPatchUnpacked_t* pPatch);
|
|||
void R_AddTerrainSurfaces();
|
||||
void R_AddTerrainMarkSurfaces();
|
||||
void R_InitTerrain();
|
||||
void R_ShutdownTerrain();
|
||||
void R_TerrainFree();
|
||||
void R_TerrainPrepareFrame();
|
||||
qboolean R_TerrainHeightForPoly(cTerraPatchUnpacked_t* pPatch, polyVert_t* pVerts, int nVerts);
|
||||
void R_SwapTerraPatch(cTerraPatch_t* pPatch);
|
||||
|
|
|
@ -1490,14 +1490,7 @@ void R_TerrainRestart_f(void)
|
|||
return;
|
||||
}
|
||||
|
||||
if (g_pVert) {
|
||||
ri.Free(g_pVert);
|
||||
g_pVert = NULL;
|
||||
}
|
||||
if (g_pTris) {
|
||||
ri.Free(g_pTris);
|
||||
g_pTris = NULL;
|
||||
}
|
||||
R_TerrainFree();
|
||||
|
||||
R_PreTessellateTerrain();
|
||||
}
|
||||
|
@ -1654,6 +1647,36 @@ void R_InitTerrain()
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
================
|
||||
R_ShutdownTerrain
|
||||
================
|
||||
*/
|
||||
void R_ShutdownTerrain()
|
||||
{
|
||||
ri.Cmd_RemoveCommand("ter_restart");
|
||||
|
||||
R_TerrainFree();
|
||||
}
|
||||
/*
|
||||
================
|
||||
R_TerrainFree
|
||||
|
||||
Frees terrain memory
|
||||
================
|
||||
*/
|
||||
void R_TerrainFree()
|
||||
{
|
||||
if (g_pVert) {
|
||||
ri.Free(g_pVert);
|
||||
g_pVert = NULL;
|
||||
}
|
||||
if (g_pTris) {
|
||||
ri.Free(g_pTris);
|
||||
g_pTris = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
====================
|
||||
R_SwapTerraPatch
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue