diff --git a/Unuk-QT/Makefile b/Unuk-QT/Makefile index c1ebc2c..a7a60a4 100644 --- a/Unuk-QT/Makefile +++ b/Unuk-QT/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Unuk-QT -# Generated by qmake (2.01a) (Qt 4.7.3) on: Sat Dec 31 00:45:11 2011 +# Generated by qmake (2.01a) (Qt 4.7.3) on: Thu Jan 5 16:49:04 2012 # Project: Unuk-QT.pro # Template: app # Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro @@ -262,6 +262,8 @@ main.o: ../src/Unuk/main.cpp ../src/libUnuk/MainMenu.h \ ../src/libUnuk/NPC.h \ ../src/libUnuk/Character.h \ ../src/libUnuk/Collision.h \ + ../src/libUnuk/MemClass.h \ + ../src/libUnuk/MemManager.h \ ../src/Unuk/Game.h \ ../src/Unuk/Player.h \ ../src/libUnuk/IngameMenu.h \ @@ -425,7 +427,9 @@ NPC.o: ../src/libUnuk/NPC.cpp ../src/libUnuk/NPC.h \ ../src/libUnuk/MapEntities.h \ ../src/libUnuk/Timer.h \ ../src/libUnuk/Text.h \ - ../src/libUnuk/Font.h + ../src/libUnuk/Font.h \ + ../src/libUnuk/MemClass.h \ + ../src/libUnuk/MemManager.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o NPC.o ../src/libUnuk/NPC.cpp Player.o: ../src/Unuk/Player.cpp ../src/Unuk/Player.h \ @@ -443,7 +447,9 @@ Player.o: ../src/Unuk/Player.cpp ../src/Unuk/Player.h \ ../src/libUnuk/MapEntities.h \ ../src/libUnuk/Timer.h \ ../src/libUnuk/Text.h \ - ../src/libUnuk/Font.h + ../src/libUnuk/Font.h \ + ../src/libUnuk/MemClass.h \ + ../src/libUnuk/MemManager.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Player.o ../src/Unuk/Player.cpp Game.o: ../src/Unuk/Game.cpp ../src/Unuk/Game.h \ @@ -463,6 +469,8 @@ Game.o: ../src/Unuk/Game.cpp ../src/Unuk/Game.h \ ../src/libUnuk/Timer.h \ ../src/libUnuk/Text.h \ ../src/libUnuk/Font.h \ + ../src/libUnuk/MemClass.h \ + ../src/libUnuk/MemManager.h \ ../src/libUnuk/IngameMenu.h \ ../src/libUnuk/Button.h \ ../src/libUnuk/Input.h \ @@ -493,8 +501,8 @@ FPS.o: ../src/libUnuk/FPS.cpp ../src/libUnuk/FPS.h \ ../src/libUnuk/Timer.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o FPS.o ../src/libUnuk/FPS.cpp -MemManager.o: ../src/libUnuk/MemManager.cpp ../src/libUnuk/MemManager.h \ - ../src/libUnuk/MemClass.h +MemManager.o: ../src/libUnuk/MemManager.cpp ../src/libUnuk/MemClass.h \ + ../src/libUnuk/MemManager.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o MemManager.o ../src/libUnuk/MemManager.cpp ####### Install diff --git a/Unuk-QT/Unuk-QT b/Unuk-QT/Unuk-QT index 6637e7e..c6c0b85 100755 Binary files a/Unuk-QT/Unuk-QT and b/Unuk-QT/Unuk-QT differ diff --git a/src/Unuk/Game.cpp b/src/Unuk/Game.cpp index f5da467..d33ca6a 100644 --- a/src/Unuk/Game.cpp +++ b/src/Unuk/Game.cpp @@ -212,7 +212,10 @@ void Game::LoadSavegame(const string savegameIDArg) { // - Parse the player name. dataElem = rootElem->FirstChildElement("name"); assert(dataElem != NULL); - _player->SetName(dataElem->GetText()); + + // Overloaded new/delete operator takes this out of scope.. + // TODO: Fix. + //_player->SetName(dataElem->GetText()); // // - Parse the player x coord. diff --git a/src/Unuk/main.cpp b/src/Unuk/main.cpp index a457a30..eedf668 100644 --- a/src/Unuk/main.cpp +++ b/src/Unuk/main.cpp @@ -29,6 +29,9 @@ int main() { #else int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { #endif + + Debug::openLog(true); + if(SDL_Init(SDL_INIT_VIDEO == -1)) { system("zenity --error --text=\"Could not load SDL\""); Debug::logger->message("Error: Could not load SDL"); @@ -84,18 +87,6 @@ int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { delete menu; break; } - // This is NOT going to go nicely. But I want to test this. - MemClass* array[1000]; - // Allocate a shitload of memory. - for(int i = 0; i < 5000; i++) { - for(int j = 0; j < 1000; j++) { - array[j] = new MemClass(i, j); - } - // Get rid of it. - for(int j = 0; j < 1000; j++) { - delete array[j]; - } - } } //stringstream caption; //caption << "Unuk - FPS: " << fps; diff --git a/src/libUnuk/Character.h b/src/libUnuk/Character.h index 776c99e..5c07735 100644 --- a/src/libUnuk/Character.h +++ b/src/libUnuk/Character.h @@ -6,6 +6,7 @@ #include "../Unuk/Globals.h" #include "../Unuk/Constants.h" +#include "MemClass.h" #include "ApplySurface.h" #include "ImageLoader.h" #include "Collision.h" @@ -40,6 +41,22 @@ public: void Render(void); void Update(void); + + inline void* operator new(size_t size) { + return gMemManager.Allocate(size); + } + + inline void operator delete(void* object) { + gMemManager.Free(object); + } + + inline void* operator new [](size_t size) { + return gMemManager.Allocate(size); + } + + inline void operator delete [](void* object) { + gMemManager.Free(object); + } protected: void Move(void); diff --git a/src/libUnuk/NPC.h b/src/libUnuk/NPC.h index f0abdd6..1e6c232 100644 --- a/src/libUnuk/NPC.h +++ b/src/libUnuk/NPC.h @@ -9,7 +9,7 @@ public: ~NPC(void); void Update(void); - + protected: void Move(void);