fix custom pipes mem leak

This commit is contained in:
aap 2020-12-29 20:30:57 +01:00
parent d39c145f60
commit 14f7dbade8
3 changed files with 24 additions and 14 deletions

View File

@ -274,12 +274,26 @@ CGame::InitialiseRenderWare(void)
CPlayerSkin::Initialise();
#endif
#ifdef EXTENDED_PIPELINES
CustomPipes::CustomPipeInit(); // need Scene.world for this
#endif
#ifdef SCREEN_DROPLETS
ScreenDroplets::InitDraw();
#endif
return (true);
}
// missing altogether on PS2
void CGame::ShutdownRenderWare(void)
{
#ifdef SCREEN_DROPLETS
ScreenDroplets::Shutdown();
#endif
#ifdef EXTENDED_PIPELINES
CustomPipes::CustomPipeShutdown();
#endif
CMBlur::MotionBlurClose();
DestroySplashScreen();
CHud::Shutdown();

View File

@ -480,14 +480,7 @@ Initialise3D(void *param)
DebugMenuInit();
DebugMenuPopulate();
#endif // !DEBUGMENU
bool ret = CGame::InitialiseRenderWare();
#ifdef EXTENDED_PIPELINES
CustomPipes::CustomPipeInit(); // need Scene.world for this
#endif
#ifdef SCREEN_DROPLETS
ScreenDroplets::InitDraw();
#endif
return ret;
return CGame::InitialiseRenderWare();
}
return (FALSE);
@ -496,12 +489,6 @@ Initialise3D(void *param)
static void
Terminate3D(void)
{
#ifdef SCREEN_DROPLETS
ScreenDroplets::Shutdown();
#endif
#ifdef EXTENDED_PIPELINES
CustomPipes::CustomPipeShutdown();
#endif
CGame::ShutdownRenderWare();
#ifdef DEBUGMENU
DebugMenuShutdown();

View File

@ -171,6 +171,9 @@ DestroyVehiclePipe(void)
rw::d3d::destroyVertexShader(neoVehicle_VS);
neoVehicle_VS = nil;
rw::d3d::destroyPixelShader(neoVehicle_PS);
neoVehicle_PS = nil;
((rw::d3d9::ObjPipeline*)vehiclePipe)->destroy();
vehiclePipe = nil;
}
@ -362,6 +365,12 @@ CreateGlossPipe(void)
void
DestroyGlossPipe(void)
{
rw::d3d::destroyVertexShader(neoGloss_VS);
neoGloss_VS = nil;
rw::d3d::destroyPixelShader(neoGloss_PS);
neoGloss_PS = nil;
((rw::d3d9::ObjPipeline*)glossPipe)->destroy();
glossPipe = nil;
}