[Fix] Memory leaks not logging correctly.

This commit is contained in:
Tamir Atias 2012-06-11 00:03:20 +03:00
parent 307800e02f
commit 30dfb9dba0
7 changed files with 26 additions and 23 deletions

View File

@ -1,4 +1,5 @@
#include "Game.h"
#include "../libUnuk/Engine/MemManager.h"
#include "../libUnuk/Engine/NPC.h"
#include "../libUnuk/Engine/WorldManager.h"
#include "../Unuk/Globals.h"
@ -6,7 +7,7 @@
Game::Game(void) {
Debug::logger->message("Creating characters..");
_player = new Player(&_map);
_player = scNew(Player,(&_map));
_map.SetPlayer(_player);
_runGameReturnValue = gameMainMenu;
@ -85,7 +86,7 @@ gameNavVal_t Game::Run(void) {
_playerExpBar.SetWidthHeight(200, 25);
_playerExpBar.SetProgress(0.0f);
eventHistory = new EventHistory();
eventHistory = scNew(EventHistory,);
_gameRunning = true;
while(_gameRunning) {

View File

@ -7,6 +7,7 @@
#include "../libUnuk/UI/MainMenu.h"
#include "../libUnuk/UI/SavegameMenu.h"
#include "../libUnuk/Engine/MemManager.h"
#include "../libUnuk/Engine/NPC.h"
#include "../libUnuk/System/Debug.h"
#include "../libUnuk/System/Input.h"
@ -40,7 +41,7 @@ static gameNavVal_t RunGame(bool load) {
saveFilename << "save_" << savegameMenu.GetSelection();
Debug::logger->message("Entering game state..");
Game* game = new Game;
Game* game = scNew(Game,);
if(load) {
game->Load(saveFilename.str());
@ -97,7 +98,7 @@ int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) {
Text::LoadFonts();
Debug::logger->message("Creating mainmenu..");
MainMenu* menu = new MainMenu;
MainMenu* menu = scNew(MainMenu,);
// Initiate input.
Debug::logger->message("Setting up I/O..");
@ -113,7 +114,7 @@ int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) {
delete menu;
switch(RunGame(false)) {
case gameMainMenu:
menu = new MainMenu;
menu = scNew(MainMenu,);
break;
case gameQuitGame:
menuRunning = false;
@ -124,7 +125,7 @@ int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) {
delete menu;
switch(RunGame(true)) {
case gameMainMenu:
menu = new MainMenu;
menu = scNew(MainMenu,);
break;
case gameQuitGame:
menuRunning = false;

View File

@ -52,6 +52,4 @@ void operator delete[](void* buffer) throw();
#define __LINE__ 0
#endif
#ifndef _MSC_VER
#define new(__FILE__, __LINE__)
#endif
#define scNew(cName, params) (new (__FILE__, __LINE__)(cName)(params))

View File

@ -1,4 +1,5 @@
#include "WorldManager.h"
#include "MemManager.h"
#include "NPC.h"
#include "../../Unuk/Player.h"
#include "../../Unuk/Globals.h"
@ -69,7 +70,7 @@ NPC* WorldManager::GetNPCAt(int xArg, int yArg) {
}
void WorldManager::CreateNPC(int x, int y) {
NPC* npc = new NPC(_level);
NPC* npc = scNew(NPC,(_level));
npc->SetXY(x, y);
npc->ForceMove();
npc->LoadSprites("../Data/Media/Images/Characters/template.png", 40,45);

View File

@ -3,9 +3,9 @@
#include <cstdarg>
#include <ctime>
#include "Debug.h"
#include "../libUnuk/Engine/MemManager.h"
#include "string"
using namespace std;
// ===================================================================
@ -87,7 +87,7 @@ bool Debug::openLog(bool logToFile) {
logger->message("Warning: Multiple calls to openLog().");
return false;
}
logger = new Debug(logToFile);
logger = scNew(Debug,logToFile);
return true;
}

View File

@ -1,9 +1,10 @@
#include "IngameMenu.h"
#include "../Engine/MemManager.h"
IngameMenu::IngameMenu(void) {
_active = false;
Button* btnResume = new Button();
Button* btnResume = scNew(Button,);
btnResume->SetOutRGB(200, 200, 200);
btnResume->SetOverRGB(255, 255, 255);
btnResume->SetTextRGB(0, 0, 0);
@ -12,7 +13,7 @@ IngameMenu::IngameMenu(void) {
btnResume->SetHighlighted(false);
btnResume->SetXY(SCREEN_WIDTH / 2 - btnResume->GetWidth() / 2, 50);
Button* btnSaveGame = new Button();
Button* btnSaveGame = scNew(Button,);
btnSaveGame->SetOutRGB(200, 200, 200);
btnSaveGame->SetOverRGB(255, 255, 255);
btnSaveGame->SetTextRGB(0, 0, 0);
@ -21,7 +22,7 @@ IngameMenu::IngameMenu(void) {
btnSaveGame->SetHighlighted(false);
btnSaveGame->SetXY(SCREEN_WIDTH / 2 - btnSaveGame->GetWidth() / 2, 100);
Button* btnLoadGame = new Button();
Button* btnLoadGame = scNew(Button,);
btnLoadGame->SetOutRGB(200, 200, 200);
btnLoadGame->SetOverRGB(255, 255, 255);
btnLoadGame->SetTextRGB(0, 0, 0);
@ -30,7 +31,7 @@ IngameMenu::IngameMenu(void) {
btnLoadGame->SetHighlighted(false);
btnLoadGame->SetXY(SCREEN_WIDTH / 2 - btnLoadGame->GetWidth() / 2, 150);
Button* btnOptions = new Button();
Button* btnOptions = scNew(Button,);
btnOptions->SetOutRGB(200, 200, 200);
btnOptions->SetOverRGB(255, 255, 255);
btnOptions->SetTextRGB(0, 0, 0);
@ -39,7 +40,7 @@ IngameMenu::IngameMenu(void) {
btnOptions->SetHighlighted(false);
btnOptions->SetXY(SCREEN_WIDTH / 2 - btnOptions->GetWidth() / 2, 200);
Button* btnExitToMenu = new Button();
Button* btnExitToMenu = scNew(Button,);
btnExitToMenu->SetOutRGB(200, 200, 200);
btnExitToMenu->SetOverRGB(255, 255, 255);
btnExitToMenu->SetTextRGB(0, 0, 0);

View File

@ -1,7 +1,8 @@
#include "MainMenu.h"
#include "../Engine/MemManager.h"
MainMenu::MainMenu(void) {
Button* btnNewGame = new Button();
Button* btnNewGame = scNew(Button,);
btnNewGame->SetOutRGB(200, 200, 200);
btnNewGame->SetOverRGB(255, 255, 255);
btnNewGame->SetTextRGB(0, 0, 0);
@ -10,7 +11,7 @@ MainMenu::MainMenu(void) {
btnNewGame->SetHighlightRGB(255, 128, 0);
btnNewGame->SetHighlighted(false);
Button* btnLoadGame = new Button();
Button* btnLoadGame = scNew(Button,);
btnLoadGame->SetOutRGB(200, 200, 200);
btnLoadGame->SetOverRGB(255, 255, 255);
btnLoadGame->SetTextRGB(0, 0, 0);
@ -19,7 +20,7 @@ MainMenu::MainMenu(void) {
btnLoadGame->SetHighlighted(false);
btnLoadGame->SetXY(100, 200);
Button* btnOptions = new Button();
Button* btnOptions = scNew(Button,);
btnOptions->SetOutRGB(200, 200, 200);
btnOptions->SetOverRGB(255, 255, 255);
btnOptions->SetTextRGB(0, 0, 0);
@ -28,7 +29,7 @@ MainMenu::MainMenu(void) {
btnOptions->SetHighlighted(false);
btnOptions->SetXY(100, 250);
Button* btnExit = new Button();
Button* btnExit = scNew(Button,);
btnExit->SetOutRGB(200, 200, 200);
btnExit->SetOverRGB(255, 255, 255);
btnExit->SetTextRGB(0, 0, 0);
@ -54,7 +55,7 @@ MainMenu::MainMenu(void) {
lblMenu.SetXY(100, 75);
lblMenu.SetTextBlended("Unuk", vlarge, 0, 0, 0);
Button* btnNewGameYes = new Button();
Button* btnNewGameYes = scNew(Button,);
btnNewGameYes->SetOutRGB(20, 150, 20);
btnNewGameYes->SetOverRGB(20, 255, 20);
btnNewGameYes->SetTextRGB(0, 0, 0);
@ -63,7 +64,7 @@ MainMenu::MainMenu(void) {
btnNewGameYes->SetHighlighted(false);
btnNewGameYes->SetXY(rectNewGame.GetX() + rectNewGame.GetWidth() / 2 - 40 - btnNewGameYes->GetWidth(), 190);
Button* btnNewGameNo = new Button();
Button* btnNewGameNo = scNew(Button,);
btnNewGameNo->SetOutRGB(150, 20, 20);
btnNewGameNo->SetOverRGB(255, 20, 20);
btnNewGameNo->SetTextRGB(0, 0, 0);