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