the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 70 lines 1.5 kB view raw
1#include "stdafx.h" 2#include "MemoryTracker.h" 3#include "..\Minecraft.World\IntBuffer.h" 4#include "..\Minecraft.World\ByteBuffer.h" 5#include "..\Minecraft.World\FloatBuffer.h" 6 7unordered_map<int,int> MemoryTracker::GL_LIST_IDS; 8vector<int> MemoryTracker::TEXTURE_IDS; 9 10int MemoryTracker::genLists(int count) 11{ 12 int id = glGenLists(count); 13 GL_LIST_IDS.insert( pair<int,int>(id,count) ); 14 return id; 15} 16 17int MemoryTracker::genTextures() 18{ 19 int id = glGenTextures(); 20 TEXTURE_IDS.push_back(id); 21 return id; 22} 23 24void MemoryTracker::releaseLists(int id) 25{ 26 AUTO_VAR(it, GL_LIST_IDS.find(id)); 27 if( it != GL_LIST_IDS.end() ) 28 { 29 glDeleteLists(id, it->second); 30 GL_LIST_IDS.erase(it); 31 } 32} 33 34void MemoryTracker::releaseTextures() 35{ 36 for (int i = 0; i < TEXTURE_IDS.size(); i++) 37 { 38 glDeleteTextures(TEXTURE_IDS.at(i)); 39 } 40 TEXTURE_IDS.clear(); 41} 42 43void MemoryTracker::release() 44{ 45 //for (Map.Entry<Integer, Integer> entry : GL_LIST_IDS.entrySet()) 46 for(AUTO_VAR(it, GL_LIST_IDS.begin()); it != GL_LIST_IDS.end(); ++it) 47 { 48 glDeleteLists(it->first, it->second); 49 } 50 GL_LIST_IDS.clear(); 51 52 releaseTextures(); 53} 54 55ByteBuffer *MemoryTracker::createByteBuffer(int size) 56{ 57 // 4J - was ByteBuffer.allocateDirect(size).order(ByteOrder.nativeOrder()) 58 ByteBuffer *bb = ByteBuffer::allocate(size); 59 return bb; 60} 61 62IntBuffer *MemoryTracker::createIntBuffer(int size) 63{ 64 return createByteBuffer(size << 2)->asIntBuffer(); 65} 66 67FloatBuffer *MemoryTracker::createFloatBuffer(int size) 68{ 69 return createByteBuffer(size << 2)->asFloatBuffer(); 70}