Memory leaks regarding sound hopefully solved...
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
#include "volcano.h"
|
||||
#include <iostream>
|
||||
|
||||
#define CLOSE_SOUND(a) if (a != nullptr) JA_DeleteSound(a); a = nullptr
|
||||
#define CLOSE_MUSIC(a) if (a != nullptr) JA_DeleteMusic(a); a = nullptr
|
||||
|
||||
void allocatePointers()
|
||||
{
|
||||
// Textures
|
||||
@@ -47,13 +50,13 @@ void deletePointers()
|
||||
delete prog.sprite;
|
||||
|
||||
// Sounds
|
||||
JA_DeleteSound(game.sound_drop_enemy);
|
||||
JA_DeleteSound(game.sound_drop_splat);
|
||||
JA_DeleteSound(menu.sound_logo);
|
||||
JA_DeleteSound(menu.sound_start);
|
||||
JA_DeleteSound(player.sound_coin);
|
||||
JA_DeleteSound(player.sound_death);
|
||||
JA_DeleteSound(player.sound_jump);
|
||||
CLOSE_SOUND(game.sound_drop_enemy);
|
||||
CLOSE_SOUND(game.sound_drop_splat);
|
||||
CLOSE_SOUND(menu.sound_logo);
|
||||
CLOSE_SOUND(menu.sound_start);
|
||||
CLOSE_SOUND(player.sound_coin);
|
||||
CLOSE_SOUND(player.sound_death);
|
||||
CLOSE_SOUND(player.sound_jump);
|
||||
|
||||
// Music
|
||||
//game.music = new Mix_Music();
|
||||
@@ -75,7 +78,7 @@ bool loadTextureFromFile(LTexture *texture, std::string path, SDL_Renderer *rend
|
||||
return success;
|
||||
}
|
||||
|
||||
void CloseSound(JA_Sound sound)
|
||||
/*void CloseSound(JA_Sound sound)
|
||||
{
|
||||
if (sound != nullptr)
|
||||
JA_DeleteSound(sound);
|
||||
@@ -87,7 +90,7 @@ void CloseMusic(JA_Music music)
|
||||
if (music != nullptr)
|
||||
JA_DeleteMusic(music);
|
||||
music = nullptr;
|
||||
}
|
||||
}*/
|
||||
|
||||
void ClosePicture(LTexture *picture)
|
||||
{
|
||||
@@ -612,9 +615,10 @@ void IniMenu()
|
||||
|
||||
void EndMenu()
|
||||
{
|
||||
CloseSound(menu.sound_logo);
|
||||
CloseSound(menu.sound_start);
|
||||
CloseMusic(menu.music);
|
||||
|
||||
CLOSE_SOUND(menu.sound_logo);
|
||||
CLOSE_SOUND(menu.sound_start);
|
||||
CLOSE_MUSIC(menu.music);
|
||||
ClosePicture(menu.sprite);
|
||||
ClosePicture(menu.sprite_animation);
|
||||
menu.enabled = false;
|
||||
@@ -780,9 +784,9 @@ void IniPlayer()
|
||||
void EndPlayer()
|
||||
{
|
||||
ClosePicture(player.sprite);
|
||||
CloseSound(player.sound_jump);
|
||||
CloseSound(player.sound_death);
|
||||
CloseSound(player.sound_coin);
|
||||
CLOSE_SOUND(player.sound_jump);
|
||||
CLOSE_SOUND(player.sound_death);
|
||||
CLOSE_SOUND(player.sound_coin);
|
||||
}
|
||||
|
||||
void IniHud()
|
||||
@@ -857,11 +861,11 @@ void EndGame()
|
||||
EndPlayer();
|
||||
EndHud();
|
||||
EndMap();
|
||||
CloseSound(game.sound_drop_enemy);
|
||||
CloseSound(game.sound_drop_splat);
|
||||
CLOSE_SOUND(game.sound_drop_enemy);
|
||||
CLOSE_SOUND(game.sound_drop_splat);
|
||||
if (JA_GetMusicState() == JA_MUSIC_PLAYING)
|
||||
JA_StopMusic();
|
||||
CloseMusic(game.music);
|
||||
CLOSE_MUSIC(game.music);
|
||||
game.enabled = false;
|
||||
}
|
||||
|
||||
@@ -2292,18 +2296,18 @@ int main(int argc, char *args[])
|
||||
}
|
||||
}
|
||||
// Finalitzar la m<>sica, els samples i el audio
|
||||
CloseSound(player.sound_jump);
|
||||
CloseSound(player.sound_death);
|
||||
CloseSound(player.sound_coin);
|
||||
CloseSound(menu.sound_logo);
|
||||
CloseSound(menu.sound_start);
|
||||
CloseSound(game.sound_drop_enemy);
|
||||
CloseSound(game.sound_drop_splat);
|
||||
CLOSE_SOUND(player.sound_jump);
|
||||
CLOSE_SOUND(player.sound_death);
|
||||
CLOSE_SOUND(player.sound_coin);
|
||||
CLOSE_SOUND(menu.sound_logo);
|
||||
CLOSE_SOUND(menu.sound_start);
|
||||
CLOSE_SOUND(game.sound_drop_enemy);
|
||||
CLOSE_SOUND(game.sound_drop_splat);
|
||||
|
||||
JA_StopMusic();
|
||||
|
||||
CloseMusic(game.music);
|
||||
CloseMusic(menu.music);
|
||||
CLOSE_MUSIC(game.music);
|
||||
CLOSE_MUSIC(menu.music);
|
||||
|
||||
//Mix_CloseAudio();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user