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);