Eliminated hardcoded allowed map limit, added and increased the limit in length.h

This commit is contained in:
2023-12-09 19:16:41 +02:00
parent da120f69e0
commit 99935d6cff
6 changed files with 12 additions and 5 deletions

View File

@ -19,6 +19,7 @@ enum EMisc
SMS_MAX_LEN = 80,
MOBILE_MAX_LEN = 32,
SOCIAL_ID_MAX_LEN = 18,
MAP_ALLOW_MAX_LEN = 128,
GUILD_NAME_MAX_LEN = 12,

View File

@ -761,7 +761,7 @@ typedef struct SPacketGDSetup
BYTE bChannel; // ä<><C3A4>
WORD wListenPort; // Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><>Ʈ <20><>ȣ
WORD wP2PPort; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ű<EFBFBD><C5B0> P2P <20><>Ʈ <20><>ȣ
LONG alMaps[32];
LONG alMaps[MAP_ALLOW_MAX_LEN];
DWORD dwLoginCount;
BYTE bAuthServer;
} TPacketGDSetup;
@ -773,7 +773,7 @@ typedef struct SPacketDGMapLocations
typedef struct SMapLocation
{
LONG alMaps[32];
LONG alMaps[MAP_ALLOW_MAX_LEN];
char szHost[MAX_HOST_LENGTH + 1];
WORD wPort;
} TMapLocation;

View File

@ -66,7 +66,7 @@ class CPeer : public CPeerBase
DWORD m_dwUserCount;
WORD m_wListenPort; // <20><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> listen <20>ϴ<EFBFBD> <20><>Ʈ
WORD m_wP2PPort; // <20><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD> P2P <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> listen <20>ϴ<EFBFBD> <20><>Ʈ
LONG m_alMaps[32]; // <20><20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>ִ°<D6B4>?
LONG m_alMaps[MAP_ALLOW_MAX_LEN]; // <20><20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>ִ°<D6B4>?
TItemIDRangeTable m_itemRange;
TItemIDRangeTable m_itemSpareRange;

View File

@ -172,6 +172,12 @@ void map_allow_add(int index)
exit(1);
}
if (s_set_map_allows.size() >= MAP_ALLOW_MAX_LEN)
{
fprintf(stdout, "Fatal error: maximum allowed maps reached!\n");
exit(1);
}
fprintf(stdout, "MAP ALLOW %d\n", index);
s_set_map_allows.insert(index);
}

View File

@ -180,7 +180,7 @@ void CLIENT_DESC::SetPhase(int iPhase)
p.wListenPort = mother_port;
p.wP2PPort = p2p_port;
p.bAuthServer = false;
map_allow_copy(p.alMaps, 32);
map_allow_copy(p.alMaps, MAP_ALLOW_MAX_LEN);
const DESC_MANAGER::DESC_SET & c_set = DESC_MANAGER::instance().GetClientSet();
DESC_MANAGER::DESC_SET::const_iterator it;

View File

@ -1312,7 +1312,7 @@ void CInputDB::MapLocations(const char * c_pData)
while (bCount--)
{
for (int i = 0; i < 32; ++i)
for (int i = 0; i < MAP_ALLOW_MAX_LEN; ++i)
{
if (0 == pLoc->alMaps[i])
break;