diff --git a/saco/game/common.h b/saco/game/common.h index d1a0d70..94167e0 100644 --- a/saco/game/common.h +++ b/saco/game/common.h @@ -4,6 +4,7 @@ #include #define MAX_PLAYERS 1004 +#define MAX_ACTORS 1000 #define MAX_VEHICLES 2000 #define MAX_OBJECTS 1000 #define PLAYER_PED_SLOTS 210 @@ -11,6 +12,7 @@ //----------------------------------------------------------- typedef unsigned short VEHICLEID; +typedef unsigned short ACTORID; typedef unsigned short PLAYERID; typedef struct _VECTOR { diff --git a/saco/main.h b/saco/main.h index 0f0b65a..f5ee842 100644 --- a/saco/main.h +++ b/saco/main.h @@ -30,6 +30,7 @@ typedef struct _GAME_SETTINGS { #include "../raknet/GetTime.h" #include "net/netrpc.h" +#include "net/actorpool.h" #include "net/vehiclepool.h" #include "net/pickuppool.h" #include "net/objectpool.h" diff --git a/saco/net/actorpool.cpp b/saco/net/actorpool.cpp new file mode 100644 index 0000000..74c6cc0 --- /dev/null +++ b/saco/net/actorpool.cpp @@ -0,0 +1,16 @@ + +#include "../main.h" + +//---------------------------------------------------- + +CActorPool::CActorPool() +{ + for(ACTORID ActorID = 0; ActorID < MAX_ACTORS; ActorID++) { + field_FA4[ActorID] = 0; + field_4[ActorID] = 0; + field_1F44[ActorID] = 0; + } + field_0 = 0; +} + +//---------------------------------------------------- diff --git a/saco/net/actorpool.h b/saco/net/actorpool.h new file mode 100644 index 0000000..3bf4197 --- /dev/null +++ b/saco/net/actorpool.h @@ -0,0 +1,21 @@ + +#pragma once + +//---------------------------------------------------- + +class CActorPool +{ +private: + int field_0; + int field_4[MAX_ACTORS]; + int field_FA4[MAX_ACTORS]; + int field_1F44[MAX_ACTORS]; + + char _gap2EE4[8000]; + +public: + + CActorPool(); +}; + +//---------------------------------------------------- diff --git a/saco/net/netgame.cpp b/saco/net/netgame.cpp index a2e05db..fd4b1e4 100644 --- a/saco/net/netgame.cpp +++ b/saco/net/netgame.cpp @@ -37,6 +37,7 @@ void CNetGame::InitPools() m_pPools->pPlayerPool = new CPlayerPool(); m_pPools->pVehiclePool = new CVehiclePool(); m_pPools->pPickupPool = new CPickupPool(); + m_pPools->pActorPool = new CActorPool(); } DWORD CNetGame::GetTime() diff --git a/saco/net/netgame.h b/saco/net/netgame.h index a75004e..187ba9d 100644 --- a/saco/net/netgame.h +++ b/saco/net/netgame.h @@ -30,7 +30,8 @@ typedef struct _NETGAME_POOLS { CPlayerPool *pPlayerPool; CPickupPool *pPickupPool; CObjectPool *pObjectPool; - char _gap0[20]; + CActorPool *pActorPool; + char _gap0[16]; } NETGAME_POOLS; class CNetGame // size: 994 diff --git a/saco/saco.vcproj b/saco/saco.vcproj index 0bc1f6e..43d1d93 100644 --- a/saco/saco.vcproj +++ b/saco/saco.vcproj @@ -246,6 +246,12 @@ + + + +