Bläddra i källkod

Merge branch '3.8' into 3.9-beta

badlogic 6 år sedan
förälder
incheckning
e6103a8a88

+ 1 - 1
spine-cocos2dx/example/Classes/AppDelegate.cpp

@@ -112,7 +112,7 @@ bool AppDelegate::applicationDidFinishLaunching () {
 	
 	// create a scene. it's an autorelease object
 	//auto scene = RaptorExample::scene();
-	auto scene = MixAndMatchExample::scene();
+	auto scene = BatchingExample::scene();
 
 	// run
 	director->runWithScene(scene);

+ 11 - 0
spine-cpp/spine-cpp/include/spine/Debug.h

@@ -63,12 +63,14 @@ public:
 
 	void clearAllocations() {
 		_allocated.clear();
+		_usedMemory = 0;
 	}
 
 	virtual void *_alloc(size_t size, const char *file, int line) {
 		void *result = _extension->_alloc(size, file, line);
 		_allocated[result] = Allocation(result, size, file, line);
 		_allocations++;
+		_usedMemory += size;
 		return result;
 	}
 
@@ -76,14 +78,17 @@ public:
 		void *result = _extension->_calloc(size, file, line);
 		_allocated[result] = Allocation(result, size, file, line);
 		_allocations++;
+		_usedMemory += size;
 		return result;
 	}
 
 	virtual void *_realloc(void *ptr, size_t size, const char *file, int line) {
+		if (_allocated.count(ptr)) _usedMemory -= _allocated[ptr].size;
 		_allocated.erase(ptr);
 		void *result = _extension->_realloc(ptr, size, file, line);
 		_reallocations++;
 		_allocated[result] = Allocation(result, size, file, line);
+		_usedMemory += size;
 		return result;
 	}
 
@@ -91,6 +96,7 @@ public:
 		if (_allocated.count(mem)) {
 			_extension->_free(mem, file, line);
 			_frees++;
+			_usedMemory -= _allocated[mem].size;
 			_allocated.erase(mem);
 			return;
 		}
@@ -102,6 +108,10 @@ public:
 	virtual char *_readFile(const String &path, int *length) {
 		return _extension->_readFile(path, length);
 	}
+	
+	size_t getUsedMemory() {
+		return _usedMemory;
+	}
 
 private:
 	SpineExtension* _extension;
@@ -109,6 +119,7 @@ private:
 	size_t _allocations;
 	size_t _reallocations;
 	size_t _frees;
+	size_t _usedMemory;
 };
 }
 

+ 2 - 2
spine-cpp/spine-cpp/src/spine/SpineObject.cpp

@@ -36,11 +36,11 @@
 using namespace spine;
 
 void *SpineObject::operator new(size_t sz) {
-	return SpineExtension::calloc<SpineObject>(sz, __FILE__, __LINE__);
+	return SpineExtension::getInstance()->_calloc(sz, __FILE__, __LINE__);
 }
 
 void *SpineObject::operator new(size_t sz, const char *file, int line) {
-	return SpineExtension::calloc<SpineObject>(sz, file, line);
+	return SpineExtension::getInstance()->_calloc(sz, file, line);
 }
 
 void *SpineObject::operator new(size_t sz, void *ptr) {