2021-12-05 17:54:36 +00:00
|
|
|
#include "CDClientManager.h"
|
2023-03-17 14:36:21 +00:00
|
|
|
#include "CDActivityRewardsTable.h"
|
|
|
|
#include "CDAnimationsTable.h"
|
|
|
|
#include "CDBehaviorParameterTable.h"
|
|
|
|
#include "CDBehaviorTemplateTable.h"
|
2024-01-08 23:32:09 +00:00
|
|
|
#include "CDClientDatabase.h"
|
2023-03-17 14:36:21 +00:00
|
|
|
#include "CDComponentsRegistryTable.h"
|
|
|
|
#include "CDCurrencyTableTable.h"
|
|
|
|
#include "CDDestructibleComponentTable.h"
|
|
|
|
#include "CDEmoteTable.h"
|
|
|
|
#include "CDInventoryComponentTable.h"
|
|
|
|
#include "CDItemComponentTable.h"
|
|
|
|
#include "CDItemSetsTable.h"
|
|
|
|
#include "CDItemSetSkillsTable.h"
|
|
|
|
#include "CDLevelProgressionLookupTable.h"
|
|
|
|
#include "CDLootMatrixTable.h"
|
|
|
|
#include "CDLootTableTable.h"
|
|
|
|
#include "CDMissionNPCComponentTable.h"
|
|
|
|
#include "CDMissionTasksTable.h"
|
|
|
|
#include "CDMissionsTable.h"
|
|
|
|
#include "CDObjectSkillsTable.h"
|
|
|
|
#include "CDObjectsTable.h"
|
|
|
|
#include "CDPhysicsComponentTable.h"
|
|
|
|
#include "CDRebuildComponentTable.h"
|
|
|
|
#include "CDScriptComponentTable.h"
|
|
|
|
#include "CDSkillBehaviorTable.h"
|
|
|
|
#include "CDZoneTableTable.h"
|
|
|
|
#include "CDVendorComponentTable.h"
|
|
|
|
#include "CDActivitiesTable.h"
|
|
|
|
#include "CDPackageComponentTable.h"
|
|
|
|
#include "CDProximityMonitorComponentTable.h"
|
|
|
|
#include "CDMovementAIComponentTable.h"
|
|
|
|
#include "CDBrickIDTableTable.h"
|
|
|
|
#include "CDRarityTableTable.h"
|
|
|
|
#include "CDMissionEmailTable.h"
|
|
|
|
#include "CDRewardsTable.h"
|
|
|
|
#include "CDPropertyEntranceComponentTable.h"
|
|
|
|
#include "CDPropertyTemplateTable.h"
|
|
|
|
#include "CDFeatureGatingTable.h"
|
|
|
|
#include "CDRailActivatorComponent.h"
|
2023-11-22 02:05:15 +00:00
|
|
|
#include "CDRewardCodesTable.h"
|
2021-12-05 17:54:36 +00:00
|
|
|
|
2024-01-08 23:32:09 +00:00
|
|
|
#include <exception>
|
|
|
|
|
2023-12-31 06:26:49 +00:00
|
|
|
#ifndef CDCLIENT_CACHE_ALL
|
2023-08-11 04:27:40 +00:00
|
|
|
// Uncomment this to cache the full cdclient database into memory. This will make the server load faster, but will use more memory.
|
|
|
|
// A vanilla CDClient takes about 46MB of memory + the regular world data.
|
2023-12-31 06:26:49 +00:00
|
|
|
// # define CDCLIENT_CACHE_ALL
|
|
|
|
#endif // CDCLIENT_CACHE_ALL
|
2023-08-11 04:27:40 +00:00
|
|
|
|
|
|
|
#ifdef CDCLIENT_CACHE_ALL
|
|
|
|
#define CDCLIENT_DONT_CACHE_TABLE(x) x
|
|
|
|
#else
|
|
|
|
#define CDCLIENT_DONT_CACHE_TABLE(x)
|
|
|
|
#endif
|
|
|
|
|
2024-01-08 23:32:09 +00:00
|
|
|
class CDClientConnectionException : public std::exception {
|
|
|
|
public:
|
|
|
|
virtual const char* what() const throw() {
|
|
|
|
return "CDClientDatabase is not connected!";
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
void CDClientManager::LoadValuesFromDatabase() {
|
|
|
|
if (!CDClientDatabase::isConnected) throw CDClientConnectionException();
|
|
|
|
|
2023-08-11 04:27:40 +00:00
|
|
|
CDActivityRewardsTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDActivitiesTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDCLIENT_DONT_CACHE_TABLE(CDAnimationsTable::Instance().LoadValuesFromDatabase());
|
|
|
|
CDBehaviorParameterTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDBehaviorTemplateTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDBrickIDTableTable::Instance().LoadValuesFromDatabase();
|
2023-10-09 20:33:22 +00:00
|
|
|
CDCLIENT_DONT_CACHE_TABLE(CDComponentsRegistryTable::Instance().LoadValuesFromDatabase());
|
2023-08-11 04:27:40 +00:00
|
|
|
CDCurrencyTableTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDDestructibleComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDEmoteTableTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDFeatureGatingTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDInventoryComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDCLIENT_DONT_CACHE_TABLE(CDItemComponentTable::Instance().LoadValuesFromDatabase());
|
|
|
|
CDItemSetSkillsTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDItemSetsTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDLevelProgressionLookupTable::Instance().LoadValuesFromDatabase();
|
2023-10-09 20:33:22 +00:00
|
|
|
CDCLIENT_DONT_CACHE_TABLE(CDLootMatrixTable::Instance().LoadValuesFromDatabase());
|
|
|
|
CDCLIENT_DONT_CACHE_TABLE(CDLootTableTable::Instance().LoadValuesFromDatabase());
|
2023-08-11 04:27:40 +00:00
|
|
|
CDMissionEmailTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDMissionNPCComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDMissionTasksTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDMissionsTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDMovementAIComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDObjectSkillsTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDCLIENT_DONT_CACHE_TABLE(CDObjectsTable::Instance().LoadValuesFromDatabase());
|
|
|
|
CDPhysicsComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDPackageComponentTable::Instance().LoadValuesFromDatabase();
|
2024-01-08 23:32:09 +00:00
|
|
|
CDPetComponentTable::Instance().LoadValuesFromDatabase();
|
2023-08-11 04:27:40 +00:00
|
|
|
CDProximityMonitorComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDPropertyEntranceComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDPropertyTemplateTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDRailActivatorComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDRarityTableTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDRebuildComponentTable::Instance().LoadValuesFromDatabase();
|
2023-11-22 02:05:15 +00:00
|
|
|
CDRewardCodesTable::Instance().LoadValuesFromDatabase();
|
2023-08-11 04:27:40 +00:00
|
|
|
CDRewardsTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDScriptComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDSkillBehaviorTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDVendorComponentTable::Instance().LoadValuesFromDatabase();
|
|
|
|
CDZoneTableTable::Instance().LoadValuesFromDatabase();
|
2021-12-05 17:54:36 +00:00
|
|
|
}
|
2024-01-08 23:32:09 +00:00
|
|
|
|
|
|
|
void CDClientManager::LoadValuesFromDefaults() {
|
|
|
|
LOG("Loading default CDClient tables!");
|
|
|
|
|
|
|
|
CDPetComponentTable::Instance().LoadValuesFromDefaults();
|
|
|
|
}
|