Merge pull request #340 from asherkin/datapack-alloc

Improve DataPack memory allocation & Report size for DataPack Handles
This commit is contained in:
Asher Baker
2015-07-08 20:07:40 +01:00
3 changed files with 18 additions and 5 deletions
+12 -1
View File
@@ -31,9 +31,14 @@
#include "common_logic.h"
#include <IHandleSys.h>
#include <IDataPack.h>
#include <ISourceMod.h>
// This just in from the bucket o' hacks department.
// One day, IDataPack will go away and CDataPack will be merged into this file.
// This internal header is included directly to access GetCapacity,
// which can not be added to the public interface due to ABI issues.
#include "../CDataPack.h"
HandleType_t g_DataPackType;
class DataPackNatives :
@@ -63,6 +68,12 @@ public:
{
g_pSM->FreeDataPack(reinterpret_cast<IDataPack *>(object));
}
bool GetHandleApproxSize(HandleType_t type, void *object, unsigned int *pSize)
{
CDataPack *pack = reinterpret_cast<CDataPack *>(object);
*pSize = sizeof(CDataPack) + pack->GetCapacity();
return true;
}
};
static cell_t smn_CreateDataPack(IPluginContext *pContext, const cell_t *params)