[Fix] Memory managment now working, and utilized.

This commit is contained in:
Rtch90 2012-02-19 14:51:53 +00:00
parent 7ca0ad0d7d
commit d55d16ac61
4 changed files with 118 additions and 98 deletions

View File

@ -45,21 +45,22 @@ public:
void OnAttack(void); void OnAttack(void);
// inline void* operator new(size_t size) { // Overload new and delete operators to utilize MemManager.
// return gMemManager.Allocate(size); inline void* operator new(size_t size) {
// } return gMemManager.Allocate(size);
// }
// inline void operator delete(void* object) {
// gMemManager.Free(object); inline void operator delete(void* object) {
// } gMemManager.Free(object);
// }
// inline void* operator new [](size_t size) {
// return gMemManager.Allocate(size); inline void* operator new [](size_t size) {
// } return gMemManager.Allocate(size);
// }
// inline void operator delete [](void* object) {
// gMemManager.Free(object); inline void operator delete [](void* object) {
// } gMemManager.Free(object);
}
enum { enum {
FACING_UP, FACING_UP,

View File

@ -1,5 +1,6 @@
#pragma once #pragma once
#include <list> #include <list>
#include "MemClass.h"
class Character; class Character;
class NPC; class NPC;
@ -29,6 +30,23 @@ public:
void OnPlayerAttack(Player* player); void OnPlayerAttack(Player* player);
void OnPlayerMove(Player* player); void OnPlayerMove(Player* player);
// Overload new and delete operators to utilize MemManager.
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);
}
private: private:
LevelGen* _level; LevelGen* _level;
std::list<NPC*> _npcs; std::list<NPC*> _npcs;

View File

@ -14,6 +14,7 @@
#include "../LevelGen/MapTile.h" #include "../LevelGen/MapTile.h"
#include "../System/Debug.h" #include "../System/Debug.h"
#include "../Engine/WorldManager.h" #include "../Engine/WorldManager.h"
#include "../Engine/MemClass.h"
using namespace std; using namespace std;
class Character; class Character;