Core/Misc: Move (or delete) constructors and destructors to .cpp files (avoids compiling them in every file that includes them)

This commit is contained in:
Shauren
2022-02-12 21:36:46 +01:00
parent 5b28a5ab14
commit f8ad7017dd
42 changed files with 758 additions and 102 deletions

View File

@@ -1196,7 +1196,7 @@ ScriptMgr::ScriptMgr()
{
}
ScriptMgr::~ScriptMgr() { }
ScriptMgr::~ScriptMgr() = default;
ScriptMgr* ScriptMgr::instance()
{
@@ -2374,24 +2374,32 @@ ServerScript::ServerScript(char const* name)
ScriptRegistry<ServerScript>::Instance()->AddScript(this);
}
ServerScript::~ServerScript() = default;
WorldScript::WorldScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<WorldScript>::Instance()->AddScript(this);
}
WorldScript::~WorldScript() = default;
FormulaScript::FormulaScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<FormulaScript>::Instance()->AddScript(this);
}
FormulaScript::~FormulaScript() = default;
UnitScript::UnitScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<UnitScript>::Instance()->AddScript(this);
}
UnitScript::~UnitScript() = default;
WorldMapScript::WorldMapScript(char const* name, uint32 mapId)
: ScriptObject(name), MapScript<Map>(sMapStore.LookupEntry(mapId))
{
@@ -2404,6 +2412,8 @@ WorldMapScript::WorldMapScript(char const* name, uint32 mapId)
ScriptRegistry<WorldMapScript>::Instance()->AddScript(this);
}
WorldMapScript::~WorldMapScript() = default;
InstanceMapScript::InstanceMapScript(char const* name, uint32 mapId)
: ScriptObject(name), MapScript<InstanceMap>(sMapStore.LookupEntry(mapId))
{
@@ -2416,6 +2426,8 @@ InstanceMapScript::InstanceMapScript(char const* name, uint32 mapId)
ScriptRegistry<InstanceMapScript>::Instance()->AddScript(this);
}
InstanceMapScript::~InstanceMapScript() = default;
BattlegroundMapScript::BattlegroundMapScript(char const* name, uint32 mapId)
: ScriptObject(name), MapScript<BattlegroundMap>(sMapStore.LookupEntry(mapId))
{
@@ -2428,30 +2440,42 @@ BattlegroundMapScript::BattlegroundMapScript(char const* name, uint32 mapId)
ScriptRegistry<BattlegroundMapScript>::Instance()->AddScript(this);
}
BattlegroundMapScript::~BattlegroundMapScript() = default;
ItemScript::ItemScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<ItemScript>::Instance()->AddScript(this);
}
ItemScript::~ItemScript() = default;
CreatureScript::CreatureScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<CreatureScript>::Instance()->AddScript(this);
}
CreatureScript::~CreatureScript() = default;
GameObjectScript::GameObjectScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<GameObjectScript>::Instance()->AddScript(this);
}
GameObjectScript::~GameObjectScript() = default;
AreaTriggerScript::AreaTriggerScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AreaTriggerScript>::Instance()->AddScript(this);
}
AreaTriggerScript::~AreaTriggerScript() = default;
OnlyOnceAreaTriggerScript::~OnlyOnceAreaTriggerScript() = default;
bool OnlyOnceAreaTriggerScript::OnTrigger(Player* player, AreaTriggerEntry const* trigger)
{
uint32 const triggerId = trigger->ID;
@@ -2473,95 +2497,111 @@ BattlefieldScript::BattlefieldScript(char const* name)
ScriptRegistry<BattlefieldScript>::Instance()->AddScript(this);
}
BattlefieldScript::~BattlefieldScript() = default;
BattlegroundScript::BattlegroundScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<BattlegroundScript>::Instance()->AddScript(this);
}
BattlegroundScript::~BattlegroundScript() = default;
OutdoorPvPScript::OutdoorPvPScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<OutdoorPvPScript>::Instance()->AddScript(this);
}
OutdoorPvPScript::~OutdoorPvPScript() = default;
CommandScript::CommandScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<CommandScript>::Instance()->AddScript(this);
}
CommandScript::~CommandScript() = default;
WeatherScript::WeatherScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<WeatherScript>::Instance()->AddScript(this);
}
WeatherScript::~WeatherScript() = default;
AuctionHouseScript::AuctionHouseScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AuctionHouseScript>::Instance()->AddScript(this);
}
AuctionHouseScript::~AuctionHouseScript() = default;
ConditionScript::ConditionScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<ConditionScript>::Instance()->AddScript(this);
}
ConditionScript::~ConditionScript() = default;
VehicleScript::VehicleScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<VehicleScript>::Instance()->AddScript(this);
}
VehicleScript::~VehicleScript() = default;
DynamicObjectScript::DynamicObjectScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<DynamicObjectScript>::Instance()->AddScript(this);
}
DynamicObjectScript::~DynamicObjectScript() = default;
TransportScript::TransportScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<TransportScript>::Instance()->AddScript(this);
}
TransportScript::~TransportScript() = default;
AchievementScript::AchievementScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AchievementScript>::Instance()->AddScript(this);
}
AchievementScript::~AchievementScript() = default;
AchievementCriteriaScript::AchievementCriteriaScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AchievementCriteriaScript>::Instance()->AddScript(this);
}
AchievementCriteriaScript::~AchievementCriteriaScript() = default;
PlayerScript::PlayerScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<PlayerScript>::Instance()->AddScript(this);
}
PlayerScript::~PlayerScript() = default;
AccountScript::AccountScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AccountScript>::Instance()->AddScript(this);
}
SceneScript::SceneScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<SceneScript>::Instance()->AddScript(this);
}
QuestScript::QuestScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<QuestScript>::Instance()->AddScript(this);
}
AccountScript::~AccountScript() = default;
GuildScript::GuildScript(char const* name)
: ScriptObject(name)
@@ -2569,24 +2609,48 @@ GuildScript::GuildScript(char const* name)
ScriptRegistry<GuildScript>::Instance()->AddScript(this);
}
GuildScript::~GuildScript() = default;
GroupScript::GroupScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<GroupScript>::Instance()->AddScript(this);
}
GroupScript::~GroupScript() = default;
AreaTriggerEntityScript::AreaTriggerEntityScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<AreaTriggerEntityScript>::Instance()->AddScript(this);
}
AreaTriggerEntityScript::~AreaTriggerEntityScript() = default;
ConversationScript::ConversationScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<ConversationScript>::Instance()->AddScript(this);
}
ConversationScript::~ConversationScript() = default;
SceneScript::SceneScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<SceneScript>::Instance()->AddScript(this);
}
SceneScript::~SceneScript() = default;
QuestScript::QuestScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<QuestScript>::Instance()->AddScript(this);
}
QuestScript::~QuestScript() = default;
// Specialize for each script type class like so:
template class TC_GAME_API ScriptRegistry<SpellScriptLoader>;
template class TC_GAME_API ScriptRegistry<ServerScript>;