Report size for DataPack Handles.
This commit is contained in:
		
							parent
							
								
									7f97e67931
								
							
						
					
					
						commit
						fd48f4adfd
					
				| @ -61,6 +61,7 @@ public: //IDataPack | ||||
| 	void PackFunction(cell_t function); | ||||
| public: | ||||
| 	void Initialize(); | ||||
| 	inline size_t GetCapacity() const { return m_capacity; } | ||||
| private: | ||||
| 	void CheckSize(size_t sizetype); | ||||
| private: | ||||
|  | ||||
| @ -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) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user