diff --git a/src/Unuk/Game.cpp b/src/Unuk/Game.cpp index 2e612cc..8b538c2 100644 --- a/src/Unuk/Game.cpp +++ b/src/Unuk/Game.cpp @@ -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) { diff --git a/src/Unuk/main.cpp b/src/Unuk/main.cpp index f1e1926..3e69e5c 100644 --- a/src/Unuk/main.cpp +++ b/src/Unuk/main.cpp @@ -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; diff --git a/src/libUnuk/Engine/MemManager.h b/src/libUnuk/Engine/MemManager.h index f02572b..03ca9b9 100644 --- a/src/libUnuk/Engine/MemManager.h +++ b/src/libUnuk/Engine/MemManager.h @@ -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)) \ No newline at end of file diff --git a/src/libUnuk/Engine/WorldManager.cpp b/src/libUnuk/Engine/WorldManager.cpp index 3e04170..b8f2290 100644 --- a/src/libUnuk/Engine/WorldManager.cpp +++ b/src/libUnuk/Engine/WorldManager.cpp @@ -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); diff --git a/src/libUnuk/System/Debug.cpp b/src/libUnuk/System/Debug.cpp index 72f2422..46dab8a 100644 --- a/src/libUnuk/System/Debug.cpp +++ b/src/libUnuk/System/Debug.cpp @@ -3,9 +3,9 @@ #include #include #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; } diff --git a/src/libUnuk/UI/IngameMenu.cpp b/src/libUnuk/UI/IngameMenu.cpp index ebf9c2d..b2051e0 100644 --- a/src/libUnuk/UI/IngameMenu.cpp +++ b/src/libUnuk/UI/IngameMenu.cpp @@ -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); diff --git a/src/libUnuk/UI/MainMenu.cpp b/src/libUnuk/UI/MainMenu.cpp index 65ab53c..402b6ed 100644 --- a/src/libUnuk/UI/MainMenu.cpp +++ b/src/libUnuk/UI/MainMenu.cpp @@ -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);