Merge pull request #156 from Nick007J/master
CPool<cAudioScriptObject,cAudioScriptObject>
This commit is contained in:
commit
405c5c5cd2
@ -13,6 +13,7 @@
|
|||||||
#include "Physical.h"
|
#include "Physical.h"
|
||||||
#include "Plane.h"
|
#include "Plane.h"
|
||||||
#include "PlayerPed.h"
|
#include "PlayerPed.h"
|
||||||
|
#include "Pools.h"
|
||||||
#include "SampleManager.h"
|
#include "SampleManager.h"
|
||||||
#include "Stats.h"
|
#include "Stats.h"
|
||||||
#include "Vehicle.h"
|
#include "Vehicle.h"
|
||||||
@ -94,6 +95,11 @@ enum eVehicleModel {
|
|||||||
CAR159,
|
CAR159,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void *cAudioScriptObject::operator new(size_t sz) { return CPools::GetAudioScriptObjectPool()->New(); }
|
||||||
|
void *cAudioScriptObject::operator new(size_t sz, int handle) { return CPools::GetAudioScriptObjectPool()->New(handle); }
|
||||||
|
void cAudioScriptObject::operator delete(void *p, size_t sz) { CPools::GetAudioScriptObjectPool()->Delete((cAudioScriptObject*)p); }
|
||||||
|
void cAudioScriptObject::operator delete(void *p, int handle) { CPools::GetAudioScriptObjectPool()->Delete((cAudioScriptObject*)p); }
|
||||||
|
|
||||||
cAudioManager &AudioManager = *(cAudioManager *)0x880FC0;
|
cAudioManager &AudioManager = *(cAudioManager *)0x880FC0;
|
||||||
|
|
||||||
constexpr int totalAudioEntitiesSlots = 200;
|
constexpr int totalAudioEntitiesSlots = 200;
|
||||||
|
@ -178,6 +178,11 @@ struct cAudioScriptObject {
|
|||||||
char gap_2[2];
|
char gap_2[2];
|
||||||
CVector m_vecPos;
|
CVector m_vecPos;
|
||||||
int m_nAudioEntityId;
|
int m_nAudioEntityId;
|
||||||
|
|
||||||
|
static void *operator new(size_t);
|
||||||
|
static void *operator new(size_t, int);
|
||||||
|
static void operator delete(void*, size_t);
|
||||||
|
static void operator delete(void*, int);
|
||||||
};
|
};
|
||||||
|
|
||||||
static_assert(sizeof(cAudioScriptObject) == 0x14, "cAudioScriptObject: error");
|
static_assert(sizeof(cAudioScriptObject) == 0x14, "cAudioScriptObject: error");
|
||||||
|
@ -9,6 +9,7 @@ CBuildingPool *&CPools::ms_pBuildingPool = *(CBuildingPool**)0x8F2C04;
|
|||||||
CTreadablePool *&CPools::ms_pTreadablePool = *(CTreadablePool**)0x8F2568;
|
CTreadablePool *&CPools::ms_pTreadablePool = *(CTreadablePool**)0x8F2568;
|
||||||
CObjectPool *&CPools::ms_pObjectPool = *(CObjectPool**)0x880E28;
|
CObjectPool *&CPools::ms_pObjectPool = *(CObjectPool**)0x880E28;
|
||||||
CDummyPool *&CPools::ms_pDummyPool = *(CDummyPool**)0x8F2C18;
|
CDummyPool *&CPools::ms_pDummyPool = *(CDummyPool**)0x8F2C18;
|
||||||
|
CAudioScriptObjectPool *&CPools::ms_pAudioScriptObjectPool = *(CAudioScriptObjectPool**)0x8F1B6C;
|
||||||
|
|
||||||
void
|
void
|
||||||
CPools::Initialise(void)
|
CPools::Initialise(void)
|
||||||
@ -23,6 +24,7 @@ CPools::Initialise(void)
|
|||||||
ms_pTreadablePool = new CTreadablePool(NUMTREADABLES);
|
ms_pTreadablePool = new CTreadablePool(NUMTREADABLES);
|
||||||
ms_pObjectPool = new CObjectPool(NUMOBJECTS);
|
ms_pObjectPool = new CObjectPool(NUMOBJECTS);
|
||||||
ms_pDummyPool = new CDummyPool(NUMDUMMIES);
|
ms_pDummyPool = new CDummyPool(NUMDUMMIES);
|
||||||
|
ms_pAudioScriptObjectPool = new CAudioScriptObjectPool(NUMAUDIOSCRIPTOBJECTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 CPools::GetPedRef(CPed *ped) { return ms_pPedPool->GetIndex(ped); }
|
int32 CPools::GetPedRef(CPed *ped) { return ms_pPedPool->GetIndex(ped); }
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#include "PlayerPed.h"
|
#include "PlayerPed.h"
|
||||||
#include "Automobile.h"
|
#include "Automobile.h"
|
||||||
#include "DummyPed.h"
|
#include "DummyPed.h"
|
||||||
|
#include "AudioManager.h"
|
||||||
|
|
||||||
typedef CPool<CPtrNode> CCPtrNodePool;
|
typedef CPool<CPtrNode> CCPtrNodePool;
|
||||||
typedef CPool<CEntryInfoNode> CEntryInfoNodePool;
|
typedef CPool<CEntryInfoNode> CEntryInfoNodePool;
|
||||||
@ -17,6 +18,7 @@ typedef CPool<CBuilding> CBuildingPool;
|
|||||||
typedef CPool<CTreadable> CTreadablePool;
|
typedef CPool<CTreadable> CTreadablePool;
|
||||||
typedef CPool<CObject, CCutsceneHead> CObjectPool;
|
typedef CPool<CObject, CCutsceneHead> CObjectPool;
|
||||||
typedef CPool<CDummy, CDummyPed> CDummyPool;
|
typedef CPool<CDummy, CDummyPed> CDummyPool;
|
||||||
|
typedef CPool<cAudioScriptObject, cAudioScriptObject> CAudioScriptObjectPool;
|
||||||
|
|
||||||
class CPools
|
class CPools
|
||||||
{
|
{
|
||||||
@ -28,7 +30,7 @@ class CPools
|
|||||||
static CTreadablePool *&ms_pTreadablePool;
|
static CTreadablePool *&ms_pTreadablePool;
|
||||||
static CObjectPool *&ms_pObjectPool;
|
static CObjectPool *&ms_pObjectPool;
|
||||||
static CDummyPool *&ms_pDummyPool;
|
static CDummyPool *&ms_pDummyPool;
|
||||||
// ms_pAudioScriptObjectPool
|
static CAudioScriptObjectPool *&ms_pAudioScriptObjectPool;
|
||||||
public:
|
public:
|
||||||
static CCPtrNodePool *GetPtrNodePool(void) { return ms_pPtrNodePool; }
|
static CCPtrNodePool *GetPtrNodePool(void) { return ms_pPtrNodePool; }
|
||||||
static CEntryInfoNodePool *GetEntryInfoNodePool(void) { return ms_pEntryInfoNodePool; }
|
static CEntryInfoNodePool *GetEntryInfoNodePool(void) { return ms_pEntryInfoNodePool; }
|
||||||
@ -38,6 +40,7 @@ public:
|
|||||||
static CTreadablePool *GetTreadablePool(void) { return ms_pTreadablePool; }
|
static CTreadablePool *GetTreadablePool(void) { return ms_pTreadablePool; }
|
||||||
static CObjectPool *GetObjectPool(void) { return ms_pObjectPool; }
|
static CObjectPool *GetObjectPool(void) { return ms_pObjectPool; }
|
||||||
static CDummyPool *GetDummyPool(void) { return ms_pDummyPool; }
|
static CDummyPool *GetDummyPool(void) { return ms_pDummyPool; }
|
||||||
|
static CAudioScriptObjectPool *GetAudioScriptObjectPool(void) { return ms_pAudioScriptObjectPool; }
|
||||||
|
|
||||||
static void Initialise(void);
|
static void Initialise(void);
|
||||||
static int32 GetPedRef(CPed *ped);
|
static int32 GetPedRef(CPed *ped);
|
||||||
|
Loading…
Reference in New Issue
Block a user