diff --git a/meson.build b/meson.build new file mode 100644 index 00000000..4ecc5e9b --- /dev/null +++ b/meson.build @@ -0,0 +1,465 @@ +pbpch_files = ['mesonpch/botpch.h'] + +playerbot_source = [ + 'playerbot/Helpers.cpp', + 'playerbot/PlayerbotFactory.cpp', + 'playerbot/Talentspec.cpp', + 'playerbot/PlayerbotAIConfig.cpp', + 'playerbot/WorldPosition.cpp', + 'playerbot/GuidPosition.cpp', + 'playerbot/RandomPlayerbotMgr.cpp', + 'playerbot/PlayerbotDbStore.cpp', + 'playerbot/strategy/Multiplier.cpp', + 'playerbot/strategy/Trigger.cpp', + 'playerbot/strategy/generic/UseFoodStrategy.cpp', + 'playerbot/strategy/generic/AttackEnemyPlayersStrategy.cpp', + 'playerbot/strategy/generic/EmoteStrategy.cpp', + 'playerbot/strategy/generic/RacialsStrategy.cpp', + 'playerbot/strategy/generic/CombatStrategy.cpp', + 'playerbot/strategy/generic/MoltenCoreDungeonStrategies.cpp', + 'playerbot/strategy/generic/TankAssistStrategy.cpp', + 'playerbot/strategy/generic/SayStrategy.cpp', + 'playerbot/strategy/generic/NaxxramasDungeonStrategies.cpp', + 'playerbot/strategy/generic/LootNonCombatStrategy.cpp', + 'playerbot/strategy/generic/ClassStrategy.cpp', + 'playerbot/strategy/generic/PassiveStrategy.cpp', + 'playerbot/strategy/generic/ReturnStrategy.cpp', + 'playerbot/strategy/generic/DebugStrategy.cpp', + 'playerbot/strategy/generic/RunawayStrategy.cpp', + 'playerbot/strategy/generic/FleeStrategy.cpp', + 'playerbot/strategy/generic/NonCombatStrategy.cpp', + 'playerbot/strategy/generic/FollowMasterStrategy.cpp', + 'playerbot/strategy/generic/StayStrategy.cpp', + 'playerbot/strategy/generic/ChatCommandHandlerStrategy.cpp', + 'playerbot/strategy/generic/MeleeCombatStrategy.cpp', + 'playerbot/strategy/generic/KarazhanDungeonStrategies.cpp', + 'playerbot/strategy/generic/MarkRtiStrategy.cpp', + 'playerbot/strategy/generic/DungeonMultipliers.cpp', + 'playerbot/strategy/generic/GuildStrategy.cpp', + 'playerbot/strategy/generic/ConserveManaStrategy.cpp', + 'playerbot/strategy/generic/RpgStrategy.cpp', + 'playerbot/strategy/generic/GuardStrategy.cpp', + 'playerbot/strategy/generic/PullStrategy.cpp', + 'playerbot/strategy/generic/RangedCombatStrategy.cpp', + 'playerbot/strategy/generic/GroupStrategy.cpp', + 'playerbot/strategy/generic/DungeonStrategy.cpp', + 'playerbot/strategy/generic/DuelStrategy.cpp', + 'playerbot/strategy/generic/DeadStrategy.cpp', + 'playerbot/strategy/generic/CastTimeStrategy.cpp', + 'playerbot/strategy/generic/BattlegroundStrategy.cpp', + 'playerbot/strategy/generic/ThreatStrategy.cpp', + 'playerbot/strategy/generic/OnyxiasLairDungeonStrategies.cpp', + 'playerbot/strategy/generic/MaintenanceStrategy.cpp', + 'playerbot/strategy/generic/GrindingStrategy.cpp', + 'playerbot/strategy/generic/WorldPacketHandlerStrategy.cpp', + 'playerbot/strategy/generic/LfgStrategy.cpp', + 'playerbot/strategy/generic/ReactionStrategy.cpp', + 'playerbot/strategy/generic/TellTargetStrategy.cpp', + 'playerbot/strategy/generic/FocusTargetStrategy.cpp', + 'playerbot/strategy/generic/KiteStrategy.cpp', + 'playerbot/strategy/generic/QuestStrategies.cpp', + 'playerbot/strategy/generic/RTSCStrategy.cpp', + 'playerbot/strategy/generic/UsePotionsStrategy.cpp', + 'playerbot/strategy/generic/TravelStrategy.cpp', + 'playerbot/strategy/generic/DpsAssistStrategy.cpp', + 'playerbot/strategy/actions/SecurityCheckAction.cpp', + 'playerbot/strategy/actions/SeeSpellAction.cpp', + 'playerbot/strategy/actions/ReadyCheckAction.cpp', + 'playerbot/strategy/actions/TellCastFailedAction.cpp', + 'playerbot/strategy/actions/AttackAction.cpp', + 'playerbot/strategy/actions/RpgSubActions.cpp', + 'playerbot/strategy/actions/CheckMountStateAction.cpp', + 'playerbot/strategy/actions/TravelAction.cpp', + 'playerbot/strategy/actions/VehicleActions.cpp', + 'playerbot/strategy/actions/TellLosAction.cpp', + 'playerbot/strategy/actions/GreetAction.cpp', + 'playerbot/strategy/actions/TalkToQuestGiverAction.cpp', + 'playerbot/strategy/actions/CheckValuesAction.cpp', + 'playerbot/strategy/actions/StayActions.cpp', + 'playerbot/strategy/actions/ReviveFromCorpseAction.cpp', + 'playerbot/strategy/actions/ChatShortcutActions.cpp', + 'playerbot/strategy/actions/RepairAllAction.cpp', + 'playerbot/strategy/actions/MoveToTravelTargetAction.cpp', + 'playerbot/strategy/actions/TellTargetAction.cpp', + 'playerbot/strategy/actions/StatsAction.cpp', + 'playerbot/strategy/actions/UnequipAction.cpp', + 'playerbot/strategy/actions/LootStrategyAction.cpp', + 'playerbot/strategy/actions/PullActions.cpp', + 'playerbot/strategy/actions/TradeAction.cpp', + 'playerbot/strategy/actions/BattleGroundTactics.cpp', + 'playerbot/strategy/actions/QuestRewardActions.cpp', + 'playerbot/strategy/actions/SaveManaAction.cpp', + 'playerbot/strategy/actions/BuyAction.cpp', + 'playerbot/strategy/actions/ShareQuestAction.cpp', + 'playerbot/strategy/actions/GuildBankAction.cpp', + 'playerbot/strategy/actions/LeaveGroupAction.cpp', + 'playerbot/strategy/actions/ResetAiAction.cpp', + 'playerbot/strategy/actions/WtsAction.cpp', + 'playerbot/strategy/actions/RewardAction.cpp', + 'playerbot/strategy/actions/BankAction.cpp', + 'playerbot/strategy/actions/TeleportAction.cpp', + 'playerbot/strategy/actions/GiveItemAction.cpp', + 'playerbot/strategy/actions/AcceptQuestAction.cpp', + 'playerbot/strategy/actions/PositionAction.cpp', + 'playerbot/strategy/actions/TellItemCountAction.cpp', + 'playerbot/strategy/actions/SuggestWhatToDoAction.cpp', + 'playerbot/strategy/actions/MailAction.cpp', + 'playerbot/strategy/actions/SayAction.cpp', + 'playerbot/strategy/actions/WorldBuffAction.cpp', + 'playerbot/strategy/actions/WaitForAttackAction.cpp', + 'playerbot/strategy/actions/ValueActions.cpp', + 'playerbot/strategy/actions/BattleGroundJoinAction.cpp', + 'playerbot/strategy/actions/HireAction.cpp', + 'playerbot/strategy/actions/RtscAction.cpp', + 'playerbot/strategy/actions/ChooseTravelTargetAction.cpp', + 'playerbot/strategy/actions/UseMeetingStoneAction.cpp', + 'playerbot/strategy/actions/OutfitAction.cpp', + 'playerbot/strategy/actions/RevealGatheringItemAction.cpp', + 'playerbot/strategy/actions/GuildAcceptAction.cpp', + 'playerbot/strategy/actions/FlagAction.cpp', + 'playerbot/strategy/actions/ChangeChatAction.cpp', + 'playerbot/strategy/actions/ResetInstancesAction.cpp', + 'playerbot/strategy/actions/MovementActions.cpp', + 'playerbot/strategy/actions/GoAction.cpp', + 'playerbot/strategy/actions/QueryItemUsageAction.cpp', + 'playerbot/strategy/actions/NonCombatActions.cpp', + 'playerbot/strategy/actions/DungeonActions.cpp', + 'playerbot/strategy/actions/RemoveAuraAction.cpp', + 'playerbot/strategy/actions/SetCraftAction.cpp', + 'playerbot/strategy/actions/EquipAction.cpp', + 'playerbot/strategy/actions/ArenaTeamActions.cpp', + 'playerbot/strategy/actions/ChooseRpgTargetAction.cpp', + 'playerbot/strategy/actions/SellAction.cpp', + 'playerbot/strategy/actions/SetHomeAction.cpp', + 'playerbot/strategy/actions/QuestAction.cpp', + 'playerbot/strategy/actions/ImbueAction.cpp', + 'playerbot/strategy/actions/DropQuestAction.cpp', + 'playerbot/strategy/actions/InventoryChangeFailureAction.cpp', + 'playerbot/strategy/actions/TrainerAction.cpp', + 'playerbot/strategy/actions/MoveToRpgTargetAction.cpp', + 'playerbot/strategy/actions/SkipSpellsListAction.cpp', + 'playerbot/strategy/actions/ChangeTalentsAction.cpp', + 'playerbot/strategy/actions/HelpAction.cpp', + 'playerbot/strategy/actions/OnyxiasLairDungeonActions.cpp', + 'playerbot/strategy/actions/CastCustomSpellAction.cpp', + 'playerbot/strategy/actions/UseItemAction.cpp', + 'playerbot/strategy/actions/PetitionSignAction.cpp', + 'playerbot/strategy/actions/UpdateGearAction.cpp', + 'playerbot/strategy/actions/NaxxramasDungeonActions.cpp', + 'playerbot/strategy/actions/GossipHelloAction.cpp', + 'playerbot/strategy/actions/ChooseTargetActions.cpp', + 'playerbot/strategy/actions/GenericActions.cpp', + 'playerbot/strategy/actions/SendMailAction.cpp', + 'playerbot/strategy/actions/TradeStatusAction.cpp', + 'playerbot/strategy/actions/TaxiAction.cpp', + 'playerbot/strategy/actions/UseTrinketAction.cpp', + 'playerbot/strategy/actions/GuildManagementActions.cpp', + 'playerbot/strategy/actions/ListSpellsAction.cpp', + 'playerbot/strategy/actions/QueryQuestAction.cpp', + 'playerbot/strategy/actions/KarazhanDungeonActions.cpp', + 'playerbot/strategy/actions/LootAction.cpp', + 'playerbot/strategy/actions/KeepItemAction.cpp', + 'playerbot/strategy/actions/RtiAction.cpp', + 'playerbot/strategy/actions/EmoteAction.cpp', + 'playerbot/strategy/actions/XpGainAction.cpp', + 'playerbot/strategy/actions/FollowActions.cpp', + 'playerbot/strategy/actions/CustomStrategyEditAction.cpp', + 'playerbot/strategy/actions/TellReputationAction.cpp', + 'playerbot/strategy/actions/AhAction.cpp', + 'playerbot/strategy/actions/GenericSpellActions.cpp', + 'playerbot/strategy/actions/CombatActions.cpp', + 'playerbot/strategy/actions/ListQuestsActions.cpp', + 'playerbot/strategy/actions/LootRollAction.cpp', + 'playerbot/strategy/actions/LogLevelAction.cpp', + 'playerbot/strategy/actions/WhoAction.cpp', + 'playerbot/strategy/actions/LfgActions.cpp', + 'playerbot/strategy/actions/RememberTaxiAction.cpp', + 'playerbot/strategy/actions/RpgAction.cpp', + 'playerbot/strategy/actions/AutoLearnSpellAction.cpp', + 'playerbot/strategy/actions/MoltenCoreDungeonActions.cpp', + 'playerbot/strategy/actions/InviteToGroupAction.cpp', + 'playerbot/strategy/actions/AddLootAction.cpp', + 'playerbot/strategy/actions/AreaTriggerAction.cpp', + 'playerbot/strategy/actions/BotStateActions.cpp', + 'playerbot/strategy/actions/GuildCreateActions.cpp', + 'playerbot/strategy/actions/DebugAction.cpp', + 'playerbot/strategy/actions/RangeAction.cpp', + 'playerbot/strategy/actions/BuffAction.cpp', + 'playerbot/strategy/actions/CheckMailAction.cpp', + 'playerbot/strategy/actions/MoveStyleAction.cpp', + 'playerbot/strategy/actions/ChangeStrategyAction.cpp', + 'playerbot/strategy/actions/CheatAction.cpp', + 'playerbot/strategy/actions/DestroyItemAction.cpp', + 'playerbot/strategy/rogue/RogueActions.cpp', + 'playerbot/strategy/rogue/SubtletyRogueStrategy.cpp', + 'playerbot/strategy/rogue/RogueTriggers.cpp', + 'playerbot/strategy/rogue/RogueStrategy.cpp', + 'playerbot/strategy/rogue/AssassinationRogueStrategy.cpp', + 'playerbot/strategy/rogue/RogueAiObjectContext.cpp', + 'playerbot/strategy/rogue/CombatRogueStrategy.cpp', + 'playerbot/strategy/rogue/RogueMultipliers.cpp', + 'playerbot/strategy/Event.cpp', + 'playerbot/strategy/shaman/RestorationShamanStrategy.cpp', + 'playerbot/strategy/shaman/ShamanStrategy.cpp', + 'playerbot/strategy/shaman/ShamanMultipliers.cpp', + 'playerbot/strategy/shaman/ShamanTriggers.cpp', + 'playerbot/strategy/shaman/ShamanAiObjectContext.cpp', + 'playerbot/strategy/shaman/ShamanActions.cpp', + 'playerbot/strategy/shaman/EnhancementShamanStrategy.cpp', + 'playerbot/strategy/shaman/ElementalShamanStrategy.cpp', + 'playerbot/strategy/paladin/RetributionPaladinStrategy.cpp', + 'playerbot/strategy/paladin/ProtectionPaladinStrategy.cpp', + 'playerbot/strategy/paladin/PaladinActions.cpp', + 'playerbot/strategy/paladin/PaladinAiObjectContext.cpp', + 'playerbot/strategy/paladin/PaladinTriggers.cpp', + 'playerbot/strategy/paladin/PaladinMultipliers.cpp', + 'playerbot/strategy/paladin/PaladinStrategy.cpp', + 'playerbot/strategy/paladin/HolyPaladinStrategy.cpp', + 'playerbot/strategy/warlock/AfflictionWarlockStrategy.cpp', + 'playerbot/strategy/warlock/DemonologyWarlockStrategy.cpp', + 'playerbot/strategy/warlock/WarlockActions.cpp', + 'playerbot/strategy/warlock/WarlockStrategy.cpp', + 'playerbot/strategy/warlock/WarlockMultipliers.cpp', + 'playerbot/strategy/warlock/WarlockAiObjectContext.cpp', + 'playerbot/strategy/warlock/WarlockTriggers.cpp', + 'playerbot/strategy/warlock/DestructionWarlockStrategy.cpp', + 'playerbot/strategy/hunter/HunterActions.cpp', + 'playerbot/strategy/hunter/SurvivalHunterStrategy.cpp', + 'playerbot/strategy/hunter/MarksmanshipHunterStrategy.cpp', + 'playerbot/strategy/hunter/BeastMasteryHunterStrategy.cpp', + 'playerbot/strategy/hunter/HunterStrategy.cpp', + 'playerbot/strategy/hunter/HunterMultipliers.cpp', + 'playerbot/strategy/hunter/HunterAiObjectContext.cpp', + 'playerbot/strategy/hunter/HunterTriggers.cpp', + 'playerbot/strategy/Engine.cpp', + 'playerbot/strategy/deathknight/DKMultipliers.cpp', + 'playerbot/strategy/deathknight/FrostDKStrategy.cpp', + 'playerbot/strategy/deathknight/DKTriggers.cpp', + 'playerbot/strategy/deathknight/DKAiObjectContext.cpp', + 'playerbot/strategy/deathknight/GenericDKStrategy.cpp', + 'playerbot/strategy/deathknight/BloodDKStrategy.cpp', + 'playerbot/strategy/deathknight/DKReactionStrategy.cpp', + 'playerbot/strategy/deathknight/DKActions.cpp', + 'playerbot/strategy/deathknight/GenericDKNonCombatStrategy.cpp', + 'playerbot/strategy/deathknight/UnholyDKStrategy.cpp', + 'playerbot/strategy/Queue.cpp', + 'playerbot/strategy/ReactionEngine.cpp', + 'playerbot/strategy/AiObject.cpp', + 'playerbot/strategy/Value.cpp', + 'playerbot/strategy/warrior/WarriorTriggers.cpp', + 'playerbot/strategy/warrior/WarriorAiObjectContext.cpp', + 'playerbot/strategy/warrior/WarriorMultipliers.cpp', + 'playerbot/strategy/warrior/WarriorActions.cpp', + 'playerbot/strategy/warrior/WarriorStrategy.cpp', + 'playerbot/strategy/warrior/ArmsWarriorStrategy.cpp', + 'playerbot/strategy/warrior/ProtectionWarriorStrategy.cpp', + 'playerbot/strategy/warrior/FuryWarriorStrategy.cpp', + 'playerbot/strategy/AiObjectContext.cpp', + 'playerbot/strategy/triggers/KarazhanDungeonTriggers.cpp', + 'playerbot/strategy/triggers/PvpTriggers.cpp', + 'playerbot/strategy/triggers/PullTriggers.cpp', + 'playerbot/strategy/triggers/LootTriggers.cpp', + 'playerbot/strategy/triggers/GuildTriggers.cpp', + 'playerbot/strategy/triggers/LfgTriggers.cpp', + 'playerbot/strategy/triggers/TravelTriggers.cpp', + 'playerbot/strategy/triggers/NaxxramasDungeonTriggers.cpp', + 'playerbot/strategy/triggers/StuckTriggers.cpp', + 'playerbot/strategy/triggers/HealthTriggers.cpp', + 'playerbot/strategy/triggers/BotStateTriggers.cpp', + 'playerbot/strategy/triggers/GenericTriggers.cpp', + 'playerbot/strategy/triggers/RpgTriggers.cpp', + 'playerbot/strategy/triggers/CureTriggers.cpp', + 'playerbot/strategy/triggers/OnyxiasLairDungeonTriggers.cpp', + 'playerbot/strategy/triggers/MoltenCoreDungeonTriggers.cpp', + 'playerbot/strategy/triggers/DungeonTriggers.cpp', + 'playerbot/strategy/priest/PriestMultipliers.cpp', + 'playerbot/strategy/priest/PriestTriggers.cpp', + 'playerbot/strategy/priest/ShadowPriestStrategy.cpp', + 'playerbot/strategy/priest/HolyPriestStrategy.cpp', + 'playerbot/strategy/priest/PriestAiObjectContext.cpp', + 'playerbot/strategy/priest/PriestStrategy.cpp', + 'playerbot/strategy/priest/PriestActions.cpp', + 'playerbot/strategy/priest/DisciplinePriestStrategy.cpp', + 'playerbot/strategy/Action.cpp', + 'playerbot/strategy/PassiveMultiplier.cpp', + 'playerbot/strategy/values/TrainerValues.cpp', + 'playerbot/strategy/values/EngineValues.cpp', + 'playerbot/strategy/values/SnareTargetValue.cpp', + 'playerbot/strategy/values/OutfitListValue.cpp', + 'playerbot/strategy/values/PartyMemberWithoutItemValue.cpp', + 'playerbot/strategy/values/RtiValue.cpp', + 'playerbot/strategy/values/DpsTargetValue.cpp', + 'playerbot/strategy/values/MountValues.cpp', + 'playerbot/strategy/values/DeadValues.cpp', + 'playerbot/strategy/values/PossibleAttackTargetsValue.cpp', + 'playerbot/strategy/values/SpellCastUsefulValue.cpp', + 'playerbot/strategy/values/EnemyHealerTargetValue.cpp', + 'playerbot/strategy/values/LeastHpTargetValue.cpp', + 'playerbot/strategy/values/CcTargetValue.cpp', + 'playerbot/strategy/values/NearestNpcsValue.cpp', + 'playerbot/strategy/values/NewPlayerNearbyValue.cpp', + 'playerbot/strategy/values/GuidPositionValues.cpp', + 'playerbot/strategy/values/GroupValues.cpp', + 'playerbot/strategy/values/ItemUsageValue.cpp', + 'playerbot/strategy/values/MoveStyleValue.cpp', + 'playerbot/strategy/values/ActiveSpellValue.cpp', + 'playerbot/strategy/values/SkipSpellsListValue.cpp', + 'playerbot/strategy/values/AttackerCountValues.cpp', + 'playerbot/strategy/values/QuestValues.cpp', + 'playerbot/strategy/values/GuildValues.cpp', + 'playerbot/strategy/values/PartyMemberToDispel.cpp', + 'playerbot/strategy/values/RTSCValues.cpp', + 'playerbot/strategy/values/AttackerWithoutAuraTargetValue.cpp', + 'playerbot/strategy/values/NearestAdsValue.cpp', + 'playerbot/strategy/values/NearestNonBotPlayersValue.cpp', + 'playerbot/strategy/values/LineTargetValue.cpp', + 'playerbot/strategy/values/DuelTargetValue.cpp', + 'playerbot/strategy/values/Formations.cpp', + 'playerbot/strategy/values/AoeHealValues.cpp', + 'playerbot/strategy/values/CurrentCcTargetValue.cpp', + 'playerbot/strategy/values/NearestFriendlyPlayersValue.cpp', + 'playerbot/strategy/values/SubStrategyValue.cpp', + 'playerbot/strategy/values/ItemForSpellValue.cpp', + 'playerbot/strategy/values/Stances.cpp', + 'playerbot/strategy/values/PartyMemberWithoutAuraValue.cpp', + 'playerbot/strategy/values/FreeMoveValues.cpp', + 'playerbot/strategy/values/ThreatValues.cpp', + 'playerbot/strategy/values/NearestCorpsesValue.cpp', + 'playerbot/strategy/values/LootValues.cpp', + 'playerbot/strategy/values/AoeValues.cpp', + 'playerbot/strategy/values/TradeValues.cpp', + 'playerbot/strategy/values/PartyMemberValue.cpp', + 'playerbot/strategy/values/PossibleRpgTargetsValue.cpp', + 'playerbot/strategy/values/PartyMemberToResurrect.cpp', + 'playerbot/strategy/values/CollisionValue.cpp', + 'playerbot/strategy/values/PossibleTargetsValue.cpp', + 'playerbot/strategy/values/Arrow.cpp', + 'playerbot/strategy/values/EntryValues.cpp', + 'playerbot/strategy/values/PositionValue.cpp', + 'playerbot/strategy/values/CurrentTargetValue.cpp', + 'playerbot/strategy/values/StatsValues.cpp', + 'playerbot/strategy/values/LootStrategyValue.cpp', + 'playerbot/strategy/values/GrindTargetValue.cpp', + 'playerbot/strategy/values/MaintenanceValues.cpp', + 'playerbot/strategy/values/AlwaysLootListValue.cpp', + 'playerbot/strategy/values/NearestGameObjects.cpp', + 'playerbot/strategy/values/BudgetValues.cpp', + 'playerbot/strategy/values/TankTargetValue.cpp', + 'playerbot/strategy/values/VendorValues.cpp', + 'playerbot/strategy/values/OperatorValues.cpp', + 'playerbot/strategy/values/PvpValues.cpp', + 'playerbot/strategy/values/HazardsValue.cpp', + 'playerbot/strategy/values/ItemCountValue.cpp', + 'playerbot/strategy/values/RpgValues.cpp', + 'playerbot/strategy/values/EnemyPlayerValue.cpp', + 'playerbot/strategy/values/TargetValue.cpp', + 'playerbot/strategy/values/CraftValues.cpp', + 'playerbot/strategy/values/InvalidTargetValue.cpp', + 'playerbot/strategy/values/PartyMemberToHeal.cpp', + 'playerbot/strategy/values/AttackersValue.cpp', + 'playerbot/strategy/values/SpellIdValue.cpp', + 'playerbot/strategy/values/RangeValues.cpp', + 'playerbot/strategy/ActionBasket.cpp', + 'playerbot/strategy/CustomStrategy.cpp', + 'playerbot/strategy/druid/DruidStrategy.cpp', + 'playerbot/strategy/druid/RestorationDruidStrategy.cpp', + 'playerbot/strategy/druid/DruidActions.cpp', + 'playerbot/strategy/druid/TankFeralDruidStrategy.cpp', + 'playerbot/strategy/druid/DruidMultipliers.cpp', + 'playerbot/strategy/druid/DruidTriggers.cpp', + 'playerbot/strategy/druid/DruidAiObjectContext.cpp', + 'playerbot/strategy/druid/DruidValues.cpp', + 'playerbot/strategy/druid/BalanceDruidStrategy.cpp', + 'playerbot/strategy/druid/DpsFeralDruidStrategy.cpp', + 'playerbot/strategy/mage/FireMageStrategy.cpp', + 'playerbot/strategy/mage/MageActions.cpp', + 'playerbot/strategy/mage/MageAiObjectContext.cpp', + 'playerbot/strategy/mage/ArcaneMageStrategy.cpp', + 'playerbot/strategy/mage/MageStrategy.cpp', + 'playerbot/strategy/mage/MageTriggers.cpp', + 'playerbot/strategy/mage/FrostMageStrategy.cpp', + 'playerbot/strategy/mage/MageMultipliers.cpp', + 'playerbot/strategy/Strategy.cpp', + 'playerbot/BotTests.cpp', + 'playerbot/RandomPlayerbotFactory.cpp', + 'playerbot/PlayerbotTextMgr.cpp', + 'playerbot/PlayerbotSecurity.cpp', + 'playerbot/FleeManager.cpp', + 'playerbot/PlayerbotMgr.cpp', + 'playerbot/PlayerbotAIBase.cpp', + 'playerbot/PlayerbotAI.cpp', + 'playerbot/AiFactory.cpp', + 'playerbot/RandomItemMgr.cpp', + 'playerbot/PlayerbotCommandServer.cpp', + 'playerbot/PlayerbotHelpMgr.cpp', + 'playerbot/TravelMgr.cpp', + 'playerbot/LootObjectStack.cpp', + 'playerbot/PerformanceMonitor.cpp', + 'playerbot/ChatHelper.cpp', + 'playerbot/TravelNode.cpp', + 'playerbot/ChatFilter.cpp', + 'playerbot/ServerFacade.cpp', + 'playerbot/MemoryMonitor.cpp', +] + +ahbot_source = [ + 'ahbot/AhBot.cpp', + 'ahbot/PricingStrategy.cpp', + 'ahbot/AhBotConfig.cpp', + 'ahbot/Category.cpp', + 'ahbot/ConsumableCategory.cpp', + 'ahbot/TradeCategory.cpp', + 'ahbot/ItemBag.cpp', +] + +lib_source = [ playerbot_source, ahbot_source ] + +include_dirs = '' + +if get_option('PCH') + include_dirs = [include_dirs, 'mesonpch'] +endif + +include_dirs = [ + include_dirs, + './ahbot', + './playerbot', + './playerbot/strategy', + './playerbot/strategy/generic', + './playerbot/strategy/actions', + './playerbot/strategy/rogue', + './playerbot/strategy/shaman', + './playerbot/strategy/paladin', + './playerbot/strategy/warlock', + './playerbot/strategy/hunter', + './playerbot/strategy/deathknight', + './playerbot/strategy/warrior', + './playerbot/strategy/triggers', + './playerbot/strategy/priest', + './playerbot/strategy/values', + './playerbot/strategy/druid', + './playerbot/strategy/mage', +] + +include_dirs = include_directories(include_dirs) + +if 'Classic' in meson.project_name() + install_data('playerbot/aiplayerbot.conf.dist.in', rename: 'aiplayerbot.conf.dist', install_dir: 'etc') +endif +if 'TBC' in meson.project_name() + install_data('playerbot/aiplayerbot.conf.dist.in.tbc', rename: 'aiplayerbot.conf.dist', install_dir: 'etc') +endif +if 'WotLK' in meson.project_name() + install_data('playerbot/aiplayerbot.conf.dist.in.wotlk', rename: 'aiplayerbot.conf.dist', install_dir: 'etc') +endif +install_data('ahbot/ahbot.conf.dist.in', rename: 'ahbot.conf.dist', install_dir: 'etc') + + +libplayerbots = static_library('playerbots', + [playerbot_source, ahbot_source], + include_directories: [include_dirs, global_includes], + dependencies: [zlib_dep, boost_dep, dblib_dep, utfcpp_dep], + link_with: [sharedlib, g3dlib, detourlib], + cpp_pch: pbpch_files, + install : false +) diff --git a/mesonpch/botpch.h b/mesonpch/botpch.h new file mode 100644 index 00000000..f3e3ad58 --- /dev/null +++ b/mesonpch/botpch.h @@ -0,0 +1,20 @@ +//add here most rarely modified headers to speed up debug build compilation +#include "Server/WorldSocket.h" // must be first to make ACE happy with ACE includes in it +#include "Common.h" + +#include "Maps/MapManager.h" +#include "Log/Log.h" +#include "Globals/ObjectAccessor.h" +#include "Entities/ObjectGuid.h" +#include "Server/SQLStorages.h" +#include "Server/Opcodes.h" +#include "Globals/SharedDefines.h" +#include "Guilds/GuildMgr.h" +#include "Globals/ObjectMgr.h" +#include "DBScripts/ScriptMgr.h" + +#include "playerbot/playerbot.h" + +#ifndef GenerateBotHelp +//#define GenerateBotHelp //Enable only for help generation +#endif \ No newline at end of file