From ec6089bbd8c8aec24b6b19f7bfead72e322c8451 Mon Sep 17 00:00:00 2001 From: zergtmn Date: Wed, 29 Dec 2010 21:48:06 +0500 Subject: [PATCH] [10935] Move script calls to ScriptMgr - Script library presence is now optional. - Some script hooks have new names. Scripting libraries need to be adjusted accordingly. Signed-off-by: zergtmn --- configure.ac | 1 - src/bindings/Makefile.am | 1 - src/game/BattleGroundHandler.cpp | 4 +- src/game/ChatHandler.cpp | 1 - src/game/CreatureAISelector.cpp | 4 +- src/game/GameObject.cpp | 13 +- src/game/Level3.cpp | 7 +- src/game/Makefile.am | 2 - src/game/Map.cpp | 4 +- src/game/MiscHandler.cpp | 4 +- src/game/NPCHandler.cpp | 31 +-- src/game/QuestHandler.cpp | 24 +-- src/game/ScriptCalls.cpp | 107 ---------- src/game/ScriptCalls.h | 111 ----------- src/game/ScriptMgr.cpp | 260 ++++++++++++++++++++++++- src/game/ScriptMgr.h | 85 +++++++- src/game/SpellAuras.cpp | 6 +- src/game/SpellEffects.cpp | 11 +- src/game/SpellHandler.cpp | 4 +- src/game/Transports.cpp | 3 +- src/game/UnitAuraProcHandler.cpp | 1 - src/game/WaypointMovementGenerator.cpp | 4 +- src/game/World.cpp | 8 +- src/mangosd/CliRunnable.cpp | 1 - src/mangosd/Makefile.am | 3 +- src/mangosd/Master.cpp | 6 +- src/shared/revision_nr.h | 2 +- win/VC100/game.vcxproj | 2 - win/VC100/game.vcxproj.filters | 6 - win/mangosdVC100.sln | 139 ++++++------- win/mangosdVC80.sln | 17 -- win/mangosdVC90.sln | 17 -- 32 files changed, 454 insertions(+), 435 deletions(-) delete mode 100644 src/game/ScriptCalls.cpp delete mode 100644 src/game/ScriptCalls.h diff --git a/configure.ac b/configure.ac index 4e7d76cfd..e1bb2ed74 100644 --- a/configure.ac +++ b/configure.ac @@ -364,7 +364,6 @@ AC_CONFIG_FILES([ src/mangosd/Makefile src/mangosd/mangosd.conf.dist src/bindings/Makefile - src/bindings/universal/Makefile ]) ## Configure ACE, if needed diff --git a/src/bindings/Makefile.am b/src/bindings/Makefile.am index d7dc65486..adbfbe22e 100644 --- a/src/bindings/Makefile.am +++ b/src/bindings/Makefile.am @@ -14,4 +14,3 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -SUBDIRS = universal diff --git a/src/game/BattleGroundHandler.cpp b/src/game/BattleGroundHandler.cpp index 6563d021c..3f58d1bb8 100644 --- a/src/game/BattleGroundHandler.cpp +++ b/src/game/BattleGroundHandler.cpp @@ -30,7 +30,7 @@ #include "BattleGround.h" #include "ArenaTeam.h" #include "Language.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include "World.h" void WorldSession::HandleBattlemasterHelloOpcode(WorldPacket & recv_data) @@ -593,7 +593,7 @@ void WorldSession::HandleAreaSpiritHealerQueueOpcode( WorldPacket & recv_data ) if(!unit->isSpiritService()) // it's not spirit service return; - Script->GossipHello(GetPlayer(), unit); + sScriptMgr.OnGossipHello(GetPlayer(), unit); } void WorldSession::HandleBattlemasterJoinArena( WorldPacket & recv_data ) diff --git a/src/game/ChatHandler.cpp b/src/game/ChatHandler.cpp index a6a65c2eb..235ea9808 100644 --- a/src/game/ChatHandler.cpp +++ b/src/game/ChatHandler.cpp @@ -29,7 +29,6 @@ #include "Group.h" #include "Guild.h" #include "ObjectAccessor.h" -#include "ScriptCalls.h" #include "Player.h" #include "SpellAuras.h" #include "Language.h" diff --git a/src/game/CreatureAISelector.cpp b/src/game/CreatureAISelector.cpp index 4ddfa9136..d35478cc3 100644 --- a/src/game/CreatureAISelector.cpp +++ b/src/game/CreatureAISelector.cpp @@ -22,7 +22,7 @@ #include "NullCreatureAI.h" #include "Policies/SingletonImp.h" #include "MovementGenerator.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include "Pet.h" INSTANTIATE_SINGLETON_1(CreatureAIRegistry); @@ -34,7 +34,7 @@ namespace FactorySelector { // Allow scripting AI for normal creatures and not controlled pets (guardians and mini-pets) if ((!creature->IsPet() || !((Pet*)creature)->isControlled()) && !creature->isCharmed()) - if(CreatureAI* scriptedAI = Script->GetAI(creature)) + if (CreatureAI* scriptedAI = sScriptMgr.GetCreatureAI(creature)) return scriptedAI; CreatureAIRegistry &ai_registry(CreatureAIRepository::Instance()); diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp index 16ff6a4ec..385e9ef58 100644 --- a/src/game/GameObject.cpp +++ b/src/game/GameObject.cpp @@ -35,7 +35,6 @@ #include "BattleGround.h" #include "BattleGroundAV.h" #include "Util.h" -#include "ScriptCalls.h" #include "ScriptMgr.h" GameObject::GameObject() : WorldObject() @@ -920,7 +919,7 @@ void GameObject::Use(Unit* user) uint32 spellId = 0; bool triggered = false; - if (user->GetTypeId() == TYPEID_PLAYER && Script->GOHello((Player*)user, this)) + if (user->GetTypeId() == TYPEID_PLAYER && sScriptMgr.OnGameObjectUse((Player*)user, this)) return; switch(GetGoType()) @@ -952,7 +951,7 @@ void GameObject::Use(Unit* user) Player* player = (Player*)user; - if (!Script->GOGossipHello(player, this)) + if (!sScriptMgr.OnGossipHello(player, this)) { player->PrepareGossipMenu(this, GetGOInfo()->questgiver.gossipID); player->SendPreparedGossip(this); @@ -970,7 +969,7 @@ void GameObject::Use(Unit* user) { DEBUG_LOG("Chest ScriptStart id %u for GO %u", GetGOInfo()->chest.eventId, GetDBTableGUIDLow()); - if (!Script->ProcessEventId(GetGOInfo()->chest.eventId, user, this, true)) + if (!sScriptMgr.OnProcessEvent(GetGOInfo()->chest.eventId, user, this, true)) GetMap()->ScriptsStart(sEventScripts, GetGOInfo()->chest.eventId, user, this); } @@ -1080,7 +1079,7 @@ void GameObject::Use(Unit* user) } else if (info->goober.gossipID) // ...or gossip, if page does not exist { - if (!Script->GOGossipHello(player, this)) + if (!sScriptMgr.OnGossipHello(player, this)) { player->PrepareGossipMenu(this, info->goober.gossipID); player->SendPreparedGossip(this); @@ -1091,7 +1090,7 @@ void GameObject::Use(Unit* user) { DEBUG_FILTER_LOG(LOG_FILTER_AI_AND_MOVEGENSS, "Goober ScriptStart id %u for GO entry %u (GUID %u).", info->goober.eventId, GetEntry(), GetDBTableGUIDLow()); - if (!Script->ProcessEventId(info->goober.eventId, player, this, true)) + if (!sScriptMgr.OnProcessEvent(info->goober.eventId, player, this, true)) GetMap()->ScriptsStart(sEventScripts, info->goober.eventId, player, this); } @@ -1153,7 +1152,7 @@ void GameObject::Use(Unit* user) if (info->camera.eventID) { - if (!Script->ProcessEventId(info->camera.eventID, player, this, true)) + if (!sScriptMgr.OnProcessEvent(info->camera.eventID, player, this, true)) GetMap()->ScriptsStart(sEventScripts, info->camera.eventID, player, this); } diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 335bac715..5aca5d4b3 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -33,7 +33,7 @@ #include "Guild.h" #include "ObjectAccessor.h" #include "MapManager.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include "Language.h" #include "GridNotifiersImpl.h" #include "CellImpl.h" @@ -927,7 +927,10 @@ bool ChatHandler::HandleReloadMailLevelRewardCommand(char* /*args*/) bool ChatHandler::HandleLoadScriptsCommand(char* args) { - if (!LoadScriptingModule(args)) + if (!*args) + return false; + + if (!sScriptMgr.LoadScriptLibrary(args)) return true; sWorld.SendWorldText(LANG_SCRIPTS_RELOADED); diff --git a/src/game/Makefile.am b/src/game/Makefile.am index c88cd2a75..51be9be99 100644 --- a/src/game/Makefile.am +++ b/src/game/Makefile.am @@ -233,8 +233,6 @@ libmangosgame_a_SOURCES = \ ReactorAI.h \ ReputationMgr.cpp \ ReputationMgr.h \ - ScriptCalls.cpp \ - ScriptCalls.h \ ScriptMgr.cpp \ ScriptMgr.h \ SharedDefines.h \ diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 80e96786f..07946b920 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -30,7 +30,7 @@ #include "ObjectAccessor.h" #include "ObjectMgr.h" #include "World.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include "Group.h" #include "MapRefManager.h" #include "DBCEnums.h" @@ -1467,7 +1467,7 @@ void InstanceMap::CreateInstanceData(bool load) if (mInstance) { i_script_id = mInstance->script_id; - i_data = Script->CreateInstanceData(this); + i_data = sScriptMgr.CreateInstanceData(this); } if(!i_data) diff --git a/src/game/MiscHandler.cpp b/src/game/MiscHandler.cpp index 5be3b1e75..89e687321 100644 --- a/src/game/MiscHandler.cpp +++ b/src/game/MiscHandler.cpp @@ -32,7 +32,7 @@ #include "UpdateData.h" #include "LootMgr.h" #include "Chat.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include #include "ObjectAccessor.h" #include "Object.h" @@ -709,7 +709,7 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPacket & recv_data) return; } - if(Script->scriptAreaTrigger(pl, atEntry)) + if (sScriptMgr.OnAreaTrigger(pl, atEntry)) return; uint32 quest_id = sObjectMgr.GetQuestForAreaTrigger( Trigger_ID ); diff --git a/src/game/NPCHandler.cpp b/src/game/NPCHandler.cpp index d21695d1e..f21fdb3c6 100644 --- a/src/game/NPCHandler.cpp +++ b/src/game/NPCHandler.cpp @@ -28,7 +28,7 @@ #include "Player.h" #include "GossipDef.h" #include "UpdateMask.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include "ObjectAccessor.h" #include "Creature.h" #include "Pet.h" @@ -316,7 +316,7 @@ void WorldSession::HandleGossipHelloOpcode(WorldPacket & recv_data) if (pCreature->isSpiritGuide()) pCreature->SendAreaSpiritHealerQueryOpcode(_player); - if (!Script->GossipHello(_player, pCreature)) + if (!sScriptMgr.OnGossipHello(_player, pCreature)) { _player->PrepareGossipMenu(pCreature, pCreature->GetCreatureInfo()->GossipMenuId); _player->SendPreparedGossip(pCreature); @@ -344,6 +344,9 @@ void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data ) if (GetPlayer()->hasUnitState(UNIT_STAT_DIED)) GetPlayer()->RemoveSpellsCausingAura(SPELL_AURA_FEIGN_DEATH); + uint32 sender = _player->PlayerTalkClass->GossipOptionSender(gossipListId); + uint32 action = _player->PlayerTalkClass->GossipOptionAction(gossipListId); + if (guid.IsAnyTypeCreature()) { Creature *pCreature = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_NONE); @@ -354,16 +357,8 @@ void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data ) return; } - if (!code.empty()) - { - if (!Script->GossipSelectWithCode(_player, pCreature, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId), code.c_str())) - _player->OnGossipSelect(pCreature, gossipListId, menuId); - } - else - { - if (!Script->GossipSelect(_player, pCreature, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId))) - _player->OnGossipSelect(pCreature, gossipListId, menuId); - } + if (!sScriptMgr.OnGossipSelect(_player, pCreature, sender, action, code.empty() ? NULL : code.c_str())) + _player->OnGossipSelect(pCreature, gossipListId, menuId); } else if (guid.IsGameObject()) { @@ -375,16 +370,8 @@ void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data ) return; } - if (!code.empty()) - { - if (!Script->GOGossipSelectWithCode(_player, pGo, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId), code.c_str())) - _player->OnGossipSelect(pGo, gossipListId, menuId); - } - else - { - if (!Script->GOGossipSelect(_player, pGo, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId))) - _player->OnGossipSelect(pGo, gossipListId, menuId); - } + if (!sScriptMgr.OnGossipSelect(_player, pGo, sender, action, code.empty() ? NULL : code.c_str())) + _player->OnGossipSelect(pGo, gossipListId, menuId); } } diff --git a/src/game/QuestHandler.cpp b/src/game/QuestHandler.cpp index ed0fd3eee..f26cfcd90 100644 --- a/src/game/QuestHandler.cpp +++ b/src/game/QuestHandler.cpp @@ -27,7 +27,7 @@ #include "GossipDef.h" #include "QuestDef.h" #include "ObjectAccessor.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include "Group.h" void WorldSession::HandleQuestgiverStatusQueryOpcode( WorldPacket & recv_data ) @@ -54,7 +54,7 @@ void WorldSession::HandleQuestgiverStatusQueryOpcode( WorldPacket & recv_data ) if (!cr_questgiver->IsHostileTo(_player)) // not show quest status to enemies { - dialogStatus = Script->NPCDialogStatus(_player, cr_questgiver); + dialogStatus = sScriptMgr.OnDialogStatus(_player, cr_questgiver); if (dialogStatus > DIALOG_STATUS_REWARD_REP) dialogStatus = getDialogStatus(_player, cr_questgiver, DIALOG_STATUS_NONE); @@ -64,7 +64,7 @@ void WorldSession::HandleQuestgiverStatusQueryOpcode( WorldPacket & recv_data ) case TYPEID_GAMEOBJECT: { GameObject* go_questgiver = (GameObject*)questgiver; - dialogStatus = Script->GODialogStatus(_player, go_questgiver); + dialogStatus = sScriptMgr.OnDialogStatus(_player, go_questgiver); if (dialogStatus > DIALOG_STATUS_REWARD_REP) dialogStatus = getDialogStatus(_player, go_questgiver, DIALOG_STATUS_NONE); @@ -103,7 +103,7 @@ void WorldSession::HandleQuestgiverHelloOpcode(WorldPacket & recv_data) if (!pCreature->IsStopped()) pCreature->StopMoving(); - if (Script->GossipHello(_player, pCreature)) + if (sScriptMgr.OnGossipHello(_player, pCreature)) return; _player->PrepareGossipMenu(pCreature, pCreature->GetCreatureInfo()->GossipMenuId); @@ -192,12 +192,12 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode( WorldPacket & recv_data ) switch(pObject->GetTypeId()) { case TYPEID_UNIT: - Script->QuestAccept(_player, ((Creature*)pObject), qInfo ); + sScriptMgr.OnQuestAccept(_player, (Creature*)pObject, qInfo); break; case TYPEID_ITEM: case TYPEID_CONTAINER: { - Script->ItemQuestAccept(_player, ((Item*)pObject), qInfo ); + sScriptMgr.OnQuestAccept(_player, (Item*)pObject, qInfo); // destroy not required for quest finish quest starting item bool destroyItem = true; @@ -216,7 +216,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode( WorldPacket & recv_data ) break; } case TYPEID_GAMEOBJECT: - Script->GOQuestAccept(_player, ((GameObject*)pObject), qInfo ); + sScriptMgr.OnQuestAccept(_player, (GameObject*)pObject, qInfo); break; } _player->PlayerTalkClass->CloseGossip(); @@ -299,7 +299,7 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode( WorldPacket & recv_data ) switch(pObject->GetTypeId()) { case TYPEID_UNIT: - if (!(Script->ChooseReward(_player, ((Creature*)pObject), pQuest, reward))) + if (!sScriptMgr.OnQuestChooseReward(_player, (Creature*)pObject, pQuest, reward)) { // Send next quest if (Quest const* nextquest = _player->GetNextQuest(guid, pQuest)) @@ -307,10 +307,10 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode( WorldPacket & recv_data ) } break; case TYPEID_GAMEOBJECT: - if (!Script->GOChooseReward(_player, ((GameObject*)pObject), pQuest, reward)) + if (!sScriptMgr.OnQuestChooseReward(_player, (GameObject*)pObject, pQuest, reward)) { // Send next quest - if (Quest const* nextquest = _player->GetNextQuest(guid ,pQuest)) + if (Quest const* nextquest = _player->GetNextQuest(guid, pQuest)) _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextquest, guid, true); } break; @@ -663,7 +663,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket if (!questgiver->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER)) continue; - dialogStatus = Script->NPCDialogStatus(_player, questgiver); + dialogStatus = sScriptMgr.OnDialogStatus(_player, questgiver); if (dialogStatus > DIALOG_STATUS_REWARD_REP) dialogStatus = getDialogStatus(_player, questgiver, DIALOG_STATUS_NONE); @@ -682,7 +682,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket if (questgiver->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER) continue; - dialogStatus = Script->GODialogStatus(_player, questgiver); + dialogStatus = sScriptMgr.OnDialogStatus(_player, questgiver); if (dialogStatus > DIALOG_STATUS_REWARD_REP) dialogStatus = getDialogStatus(_player, questgiver, DIALOG_STATUS_NONE); diff --git a/src/game/ScriptCalls.cpp b/src/game/ScriptCalls.cpp deleted file mode 100644 index 10d121582..000000000 --- a/src/game/ScriptCalls.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 2005-2010 MaNGOS - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef WIN32 -#include -#endif - -#include "Platform/Define.h" -#include "ScriptCalls.h" -#include "World.h" - -ScriptsSet Script=NULL; - -void UnloadScriptingModule() -{ - if(Script) - { - //todo: some check if some func from script library is called right now - Script->ScriptsFree(); - MANGOS_CLOSE_LIBRARY(Script->hScriptsLib); - delete Script; - Script = NULL; - } -} - -bool LoadScriptingModule(char const* libName) -{ - ScriptsSet testScript=new _ScriptSet; - - std::string name = strlen(libName) ? libName : MANGOS_SCRIPT_NAME; - name = MANGOS_SCRIPT_PREFIX + name + MANGOS_SCRIPT_SUFFIX; - - testScript->hScriptsLib=MANGOS_LOAD_LIBRARY(name.c_str()); - - if(!testScript->hScriptsLib ) - { - printf("Error loading Scripts Library %s !\n",name.c_str()); - delete testScript; - return false; - } - - if( !(testScript->ScriptsInit =(scriptCallScriptsInit )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"ScriptsInit" )) - ||!(testScript->ScriptsFree =(scriptCallScriptsFree )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"ScriptsFree" )) - ||!(testScript->ScriptsVersion =(scriptCallScriptsVersion )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"ScriptsVersion" )) - ||!(testScript->GossipHello =(scriptCallGossipHello )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GossipHello" )) - ||!(testScript->GOGossipHello =(scriptCallGOGossipHello )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GOGossipHello" )) - ||!(testScript->GOChooseReward =(scriptCallGOChooseReward )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GOChooseReward" )) - ||!(testScript->QuestAccept =(scriptCallQuestAccept )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"QuestAccept" )) - ||!(testScript->GossipSelect =(scriptCallGossipSelect )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GossipSelect" )) - ||!(testScript->GOGossipSelect =(scriptCallGOGossipSelect )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GOGossipSelect" )) - ||!(testScript->GossipSelectWithCode=(scriptCallGossipSelectWithCode)MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GossipSelectWithCode")) - ||!(testScript->GOGossipSelectWithCode=(scriptCallGOGossipSelectWithCode)MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GOGossipSelectWithCode")) - ||!(testScript->QuestSelect =(scriptCallQuestSelect )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"QuestSelect" )) - ||!(testScript->QuestComplete =(scriptCallQuestComplete )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"QuestComplete" )) - ||!(testScript->NPCDialogStatus =(scriptCallNPCDialogStatus )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"NPCDialogStatus" )) - ||!(testScript->GODialogStatus =(scriptCallGODialogStatus )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GODialogStatus" )) - ||!(testScript->ChooseReward =(scriptCallChooseReward )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"ChooseReward" )) - ||!(testScript->ItemHello =(scriptCallItemHello )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"ItemHello" )) - ||!(testScript->GOHello =(scriptCallGOHello )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GOHello" )) - ||!(testScript->scriptAreaTrigger =(scriptCallAreaTrigger )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"AreaTrigger" )) - ||!(testScript->ProcessEventId =(scriptCallProcessEventId )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"ProcessEventId" )) - ||!(testScript->ItemQuestAccept =(scriptCallItemQuestAccept )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"ItemQuestAccept" )) - ||!(testScript->GOQuestAccept =(scriptCallGOQuestAccept )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GOQuestAccept" )) - ||!(testScript->ItemUse =(scriptCallItemUse )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"ItemUse" )) - ||!(testScript->EffectDummyGameObj =(scriptCallEffectDummyGameObj )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"EffectDummyGameObj" )) - ||!(testScript->EffectDummyCreature =(scriptCallEffectDummyCreature )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"EffectDummyCreature" )) - ||!(testScript->EffectDummyItem =(scriptCallEffectDummyItem )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"EffectDummyItem" )) - ||!(testScript->EffectAuraDummy =(scriptCallEffectAuraDummy )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"EffectAuraDummy" )) - ||!(testScript->GetAI =(scriptCallGetAI )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"GetAI" )) - ||!(testScript->CreateInstanceData =(scriptCallCreateInstanceData )MANGOS_GET_PROC_ADDR(testScript->hScriptsLib,"CreateInstanceData" )) - ) - { - printf("Error loading Scripts Library %s !\n Library missing required functions.",name.c_str()); - MANGOS_CLOSE_LIBRARY(testScript->hScriptsLib); - delete testScript; - return false; - } - - sLog.outString(); - sLog.outString( ">>> Scripts Library %s was successfully loaded.\n", name.c_str() ); - - //heh we are still there :P we have a valid library - //we reload script - UnloadScriptingModule(); - - Script=testScript; - Script->ScriptsInit(sScriptMgr.GetScriptNames()); - - sWorld.SetScriptsVersion(Script->ScriptsVersion()); - - return true; -} diff --git a/src/game/ScriptCalls.h b/src/game/ScriptCalls.h deleted file mode 100644 index e82a07acb..000000000 --- a/src/game/ScriptCalls.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (C) 2005-2010 MaNGOS - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __SCRIPT_CALLS_H -#define __SCRIPT_CALLS_H - -#include "Common.h" -#include "ObjectMgr.h" -#include "ScriptMgr.h" -#include "DBCStructure.h" - -class Aura; -class Creature; -class CreatureAI; -class GameObject; -class Item; -class Object; -class Player; -class Quest; -class Unit; -class SpellCastTargets; -class Map; -class InstanceData; - -bool LoadScriptingModule(char const* libName = ""); -void UnloadScriptingModule(); - -typedef void(MANGOS_IMPORT * scriptCallScriptsInit) (ScriptMgr::ScriptNameMap const& scriptNames); -typedef void(MANGOS_IMPORT * scriptCallScriptsFree) (); -typedef char const* (MANGOS_IMPORT * scriptCallScriptsVersion) (); - -typedef bool(MANGOS_IMPORT * scriptCallGossipHello) (Player *player, Creature *_Creature ); -typedef bool(MANGOS_IMPORT * scriptCallGOGossipHello) (Player *player, GameObject *_GO); -typedef bool(MANGOS_IMPORT * scriptCallQuestAccept) (Player *player, Creature *_Creature, Quest const *); -typedef bool(MANGOS_IMPORT * scriptCallGossipSelect)(Player *player, Creature *_Creature, uint32 sender, uint32 action); -typedef bool(MANGOS_IMPORT * scriptCallGOGossipSelect)(Player *player, GameObject *_GO, uint32 sender, uint32 action); -typedef bool(MANGOS_IMPORT * scriptCallGossipSelectWithCode)( Player *player, Creature *_Creature, uint32 sender, uint32 action, const char* sCode ); -typedef bool(MANGOS_IMPORT * scriptCallGOGossipSelectWithCode)( Player *player, GameObject *_GO, uint32 sender, uint32 action, const char* sCode ); -typedef bool(MANGOS_IMPORT * scriptCallQuestSelect)( Player *player, Creature *_Creature, Quest const* ); -typedef bool(MANGOS_IMPORT * scriptCallQuestComplete)(Player *player, Creature *_Creature, Quest const*); -typedef uint32(MANGOS_IMPORT * scriptCallNPCDialogStatus)( Player *player, Creature *_Creature); -typedef uint32(MANGOS_IMPORT * scriptCallGODialogStatus)( Player *player, GameObject * _GO); -typedef bool(MANGOS_IMPORT * scriptCallChooseReward)( Player *player, Creature *_Creature, Quest const*, uint32 opt ); -typedef bool(MANGOS_IMPORT * scriptCallItemHello)( Player *player, Item *, Quest const*); -typedef bool(MANGOS_IMPORT * scriptCallGOHello)( Player *player, GameObject * ); -typedef bool(MANGOS_IMPORT * scriptCallAreaTrigger)( Player *player, AreaTriggerEntry const* ); -typedef bool(MANGOS_IMPORT * scriptCallProcessEventId)(uint32 eventId, Object* source, Object* target, bool isStart); -typedef bool(MANGOS_IMPORT * scriptCallItemQuestAccept)(Player *player, Item *, Quest const*); -typedef bool(MANGOS_IMPORT * scriptCallGOQuestAccept)(Player *player, GameObject *, Quest const*); -typedef bool(MANGOS_IMPORT * scriptCallGOChooseReward)(Player *player, GameObject *, Quest const*, uint32 opt ); -typedef bool(MANGOS_IMPORT * scriptCallItemUse) (Player *player, Item *_Item, SpellCastTargets const& targets); -typedef bool(MANGOS_IMPORT * scriptCallEffectDummyGameObj) (Unit *caster, uint32 spellId, SpellEffectIndex effIndex, GameObject *gameObjTarget); -typedef bool(MANGOS_IMPORT * scriptCallEffectDummyCreature) (Unit *caster, uint32 spellId, SpellEffectIndex effIndex, Creature *crTarget); -typedef bool(MANGOS_IMPORT * scriptCallEffectDummyItem) (Unit *caster, uint32 spellId, SpellEffectIndex effIndex, Item *itemTarget); -typedef bool(MANGOS_IMPORT * scriptCallEffectAuraDummy) (const Aura* pAura, bool apply); -typedef CreatureAI* (MANGOS_IMPORT * scriptCallGetAI) ( Creature *_Creature ); -typedef InstanceData* (MANGOS_IMPORT * scriptCallCreateInstanceData) (Map *map); - -typedef struct -{ - scriptCallScriptsInit ScriptsInit; - scriptCallScriptsFree ScriptsFree; - scriptCallScriptsVersion ScriptsVersion; - - scriptCallGossipHello GossipHello; - scriptCallGOGossipHello GOGossipHello; - scriptCallGOChooseReward GOChooseReward; - scriptCallQuestAccept QuestAccept; - scriptCallGossipSelect GossipSelect; - scriptCallGOGossipSelect GOGossipSelect; - scriptCallGossipSelectWithCode GossipSelectWithCode; - scriptCallGOGossipSelectWithCode GOGossipSelectWithCode; - scriptCallQuestSelect QuestSelect; - scriptCallQuestComplete QuestComplete; - scriptCallNPCDialogStatus NPCDialogStatus; - scriptCallGODialogStatus GODialogStatus; - scriptCallChooseReward ChooseReward; - scriptCallItemHello ItemHello; - scriptCallGOHello GOHello; - scriptCallAreaTrigger scriptAreaTrigger; - scriptCallProcessEventId ProcessEventId; - scriptCallItemQuestAccept ItemQuestAccept; - scriptCallGOQuestAccept GOQuestAccept; - scriptCallItemUse ItemUse; - scriptCallEffectDummyGameObj EffectDummyGameObj; - scriptCallEffectDummyCreature EffectDummyCreature; - scriptCallEffectDummyItem EffectDummyItem; - scriptCallEffectAuraDummy EffectAuraDummy; - scriptCallGetAI GetAI; - scriptCallCreateInstanceData CreateInstanceData; - - MANGOS_LIBRARY_HANDLE hScriptsLib; -}_ScriptSet,*ScriptsSet; - -extern ScriptsSet Script; -#endif diff --git a/src/game/ScriptMgr.cpp b/src/game/ScriptMgr.cpp index d4ba764ae..f077621ea 100644 --- a/src/game/ScriptMgr.cpp +++ b/src/game/ScriptMgr.cpp @@ -34,12 +34,44 @@ ScriptMapMap sCreatureMovementScripts; INSTANTIATE_SINGLETON_1(ScriptMgr); -ScriptMgr::ScriptMgr() +ScriptMgr::ScriptMgr() : + m_hScriptLib(NULL), + + m_pOnInitScriptLibrary(NULL), + m_pOnFreeScriptLibrary(NULL), + m_pGetScriptLibraryVersion(NULL), + + m_pGetCreatureAI(NULL), + m_pCreateInstanceData(NULL), + + m_pOnGossipHello(NULL), + m_pOnGOGossipHello(NULL), + m_pOnGossipSelect(NULL), + m_pOnGOGossipSelect(NULL), + m_pOnGossipSelectWithCode(NULL), + m_pOnGOGossipSelectWithCode(NULL), + m_pOnQuestAccept(NULL), + m_pOnGOQuestAccept(NULL), + m_pOnItemQuestAccept(NULL), + m_pOnQuestComplete(NULL), + m_pOnQuestChooseReward(NULL), + m_pOnGOQuestChooseReward(NULL), + m_pOnNPCDialogStatus(NULL), + m_pOnGODialogStatus(NULL), + m_pOnGOUse(NULL), + m_pOnItemUse(NULL), + m_pOnAreaTrigger(NULL), + m_pOnProcessEvent(NULL), + m_pOnEffectDummyCreature(NULL), + m_pOnEffectDummyGO(NULL), + m_pOnEffectDummyItem(NULL), + m_pOnAuraDummy(NULL) { } ScriptMgr::~ScriptMgr() { + UnloadScriptLibrary(); } void ScriptMgr::LoadScripts(ScriptMapMap& scripts, const char* tablename) @@ -878,6 +910,227 @@ uint32 ScriptMgr::GetEventIdScriptId(uint32 eventId) const return 0; } +CreatureAI* ScriptMgr::GetCreatureAI(Creature* pCreature) +{ + if (!m_pGetCreatureAI) + return NULL; + + return m_pGetCreatureAI(pCreature); +} + +InstanceData* ScriptMgr::CreateInstanceData(Map* pMap) +{ + if (!m_pCreateInstanceData) + return NULL; + + return m_pCreateInstanceData(pMap); +} + +bool ScriptMgr::OnGossipHello(Player* pPlayer, Creature* pCreature) +{ + return m_pOnGossipHello != NULL && m_pOnGossipHello(pPlayer, pCreature); +} + +bool ScriptMgr::OnGossipHello(Player* pPlayer, GameObject* pGameObject) +{ + return m_pOnGOGossipHello != NULL && m_pOnGOGossipHello(pPlayer, pGameObject); +} + +bool ScriptMgr::OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 sender, uint32 action, const char* code) +{ + if (code) + return m_pOnGossipSelectWithCode != NULL && m_pOnGossipSelectWithCode(pPlayer, pCreature, sender, action, code); + else + return m_pOnGossipSelect != NULL && m_pOnGossipSelect(pPlayer, pCreature, sender, action); +} + +bool ScriptMgr::OnGossipSelect(Player* pPlayer, GameObject* pGameObject, uint32 sender, uint32 action, const char* code) +{ + if (code) + return m_pOnGOGossipSelectWithCode != NULL && m_pOnGOGossipSelectWithCode(pPlayer, pGameObject, sender, action, code); + else + return m_pOnGOGossipSelect != NULL && m_pOnGOGossipSelect(pPlayer, pGameObject, sender, action); +} + +bool ScriptMgr::OnQuestAccept(Player* pPlayer, Creature* pCreature, Quest const* pQuest) +{ + return m_pOnQuestAccept != NULL && m_pOnQuestAccept(pPlayer, pCreature, pQuest); +} + +bool ScriptMgr::OnQuestAccept(Player* pPlayer, GameObject* pGameObject, Quest const* pQuest) +{ + return m_pOnGOQuestAccept != NULL && m_pOnGOQuestAccept(pPlayer, pGameObject, pQuest); +} + +bool ScriptMgr::OnQuestAccept(Player* pPlayer, Item* pItem, Quest const* pQuest) +{ + return m_pOnItemQuestAccept != NULL && m_pOnItemQuestAccept(pPlayer, pItem, pQuest); +} + +bool ScriptMgr::OnQuestComplete(Player* pPlayer, Creature* pCreature, Quest const* pQuest) +{ + return m_pOnQuestComplete != NULL && m_pOnQuestComplete(pPlayer, pCreature, pQuest); +} + +bool ScriptMgr::OnQuestChooseReward(Player* pPlayer, Creature* pCreature, Quest const* pQuest, uint32 opt) +{ + return m_pOnQuestChooseReward != NULL && m_pOnQuestChooseReward(pPlayer, pCreature, pQuest, opt); +} + +bool ScriptMgr::OnQuestChooseReward(Player* pPlayer, GameObject* pGameObject, Quest const* pQuest, uint32 opt) +{ + return m_pOnGOQuestChooseReward != NULL && m_pOnGOQuestChooseReward(pPlayer, pGameObject, pQuest, opt); +} + +uint32 ScriptMgr::OnDialogStatus(Player* pPlayer, Creature* pCreature) +{ + if (!m_pOnNPCDialogStatus) + return 100; + + return m_pOnNPCDialogStatus(pPlayer, pCreature); +} + +uint32 ScriptMgr::OnDialogStatus(Player* pPlayer, GameObject* pGameObject) +{ + if (!m_pOnGODialogStatus) + return 100; + + return m_pOnGODialogStatus(pPlayer, pGameObject); +} + +bool ScriptMgr::OnGameObjectUse(Player* pPlayer, GameObject* pGameObject) +{ + return m_pOnGOUse != NULL && m_pOnGOUse(pPlayer, pGameObject); +} + +bool ScriptMgr::OnItemUse(Player* pPlayer, Item* pItem, SpellCastTargets const& targets) +{ + return m_pOnItemUse != NULL && m_pOnItemUse(pPlayer, pItem, targets); +} + +bool ScriptMgr::OnAreaTrigger(Player* pPlayer, AreaTriggerEntry const* atEntry) +{ + return m_pOnAreaTrigger != NULL && m_pOnAreaTrigger(pPlayer, atEntry); +} + +bool ScriptMgr::OnProcessEvent(uint32 eventId, WorldObject* pSource, WorldObject* pTarget, bool isStart) +{ + return m_pOnProcessEvent != NULL && m_pOnProcessEvent(eventId, pSource, pTarget, isStart); +} + +bool ScriptMgr::OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Creature* pTarget) +{ + return m_pOnEffectDummyCreature != NULL && m_pOnEffectDummyCreature(pCaster, spellId, effIndex, pTarget); +} + +bool ScriptMgr::OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, GameObject* pTarget) +{ + return m_pOnEffectDummyGO != NULL && m_pOnEffectDummyGO(pCaster, spellId, effIndex, pTarget); +} + +bool ScriptMgr::OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Item* pTarget) +{ + return m_pOnEffectDummyItem != NULL && m_pOnEffectDummyItem(pCaster, spellId, effIndex, pTarget); +} + +bool ScriptMgr::OnAuraDummy(Aura const* pAura, bool apply) +{ + return m_pOnAuraDummy != NULL && m_pOnAuraDummy(pAura, apply); +} + +bool ScriptMgr::LoadScriptLibrary(const char* libName) +{ + UnloadScriptLibrary(); + + std::string name = libName; + name = MANGOS_SCRIPT_PREFIX + name + MANGOS_SCRIPT_SUFFIX; + + m_hScriptLib = MANGOS_LOAD_LIBRARY(name.c_str()); + + if (!m_hScriptLib) + return false; + + GetScriptHookPtr(m_pOnInitScriptLibrary, "InitScriptLibrary"); + GetScriptHookPtr(m_pOnFreeScriptLibrary, "FreeScriptLibrary"); + GetScriptHookPtr(m_pGetScriptLibraryVersion, "GetScriptLibraryVersion"); + + GetScriptHookPtr(m_pGetCreatureAI, "GetCreatureAI"); + GetScriptHookPtr(m_pCreateInstanceData, "CreateInstanceData"); + + GetScriptHookPtr(m_pOnGossipHello, "GossipHello"); + GetScriptHookPtr(m_pOnGOGossipHello, "GOGossipHello"); + GetScriptHookPtr(m_pOnGossipSelect, "GossipSelect"); + GetScriptHookPtr(m_pOnGOGossipSelect, "GOGossipSelect"); + GetScriptHookPtr(m_pOnGossipSelectWithCode, "GossipSelectWithCode"); + GetScriptHookPtr(m_pOnGOGossipSelectWithCode, "GOGossipSelectWithCode"); + GetScriptHookPtr(m_pOnQuestAccept, "QuestAccept"); + GetScriptHookPtr(m_pOnGOQuestAccept, "GOQuestAccept"); + GetScriptHookPtr(m_pOnItemQuestAccept, "ItemQuestAccept"); + GetScriptHookPtr(m_pOnQuestComplete, "QuestComplete"); + GetScriptHookPtr(m_pOnQuestChooseReward, "QuestChooseReward"); + GetScriptHookPtr(m_pOnGOQuestChooseReward, "GOQuestChooseReward"); + GetScriptHookPtr(m_pOnNPCDialogStatus, "NPCDialogStatus"); + GetScriptHookPtr(m_pOnGODialogStatus, "GODialogStatus"); + GetScriptHookPtr(m_pOnGOUse, "GOUse"); + GetScriptHookPtr(m_pOnItemUse, "ItemUse"); + GetScriptHookPtr(m_pOnAreaTrigger, "AreaTrigger"); + GetScriptHookPtr(m_pOnProcessEvent, "ProcessEvent"); + GetScriptHookPtr(m_pOnEffectDummyCreature, "EffectDummyCreature"); + GetScriptHookPtr(m_pOnEffectDummyGO, "EffectDummyGameObject"); + GetScriptHookPtr(m_pOnEffectDummyItem, "EffectDummyItem"); + GetScriptHookPtr(m_pOnAuraDummy, "AuraDummy"); + + if (m_pOnInitScriptLibrary) + m_pOnInitScriptLibrary(); + + if (m_pGetScriptLibraryVersion) + sWorld.SetScriptsVersion(m_pGetScriptLibraryVersion()); + + return true; +} + +void ScriptMgr::UnloadScriptLibrary() +{ + if (!m_hScriptLib) + return; + + if (m_pOnFreeScriptLibrary) + m_pOnFreeScriptLibrary(); + + MANGOS_CLOSE_LIBRARY(m_hScriptLib); + m_hScriptLib = NULL; + + m_pOnInitScriptLibrary = NULL; + m_pOnFreeScriptLibrary = NULL; + m_pGetScriptLibraryVersion = NULL; + + m_pGetCreatureAI = NULL; + m_pCreateInstanceData = NULL; + + m_pOnGossipHello = NULL; + m_pOnGOGossipHello = NULL; + m_pOnGossipSelect = NULL; + m_pOnGOGossipSelect = NULL; + m_pOnGossipSelectWithCode = NULL; + m_pOnGOGossipSelectWithCode = NULL; + m_pOnQuestAccept = NULL; + m_pOnGOQuestAccept = NULL; + m_pOnItemQuestAccept = NULL; + m_pOnQuestComplete = NULL; + m_pOnQuestChooseReward = NULL; + m_pOnGOQuestChooseReward = NULL; + m_pOnNPCDialogStatus = NULL; + m_pOnGODialogStatus = NULL; + m_pOnGOUse = NULL; + m_pOnItemUse = NULL; + m_pOnAreaTrigger = NULL; + m_pOnProcessEvent = NULL; + m_pOnEffectDummyCreature = NULL; + m_pOnEffectDummyGO = NULL; + m_pOnEffectDummyItem = NULL; + m_pOnAuraDummy = NULL; +} + uint32 GetAreaTriggerScriptId(uint32 triggerId) { return sScriptMgr.GetAreaTriggerScriptId(triggerId); @@ -892,8 +1145,3 @@ uint32 GetScriptId(const char *name) { return sScriptMgr.GetScriptId(name); } - -ScriptMgr::ScriptNameMap const& GetScriptNames() -{ - return sScriptMgr.GetScriptNames(); -} diff --git a/src/game/ScriptMgr.h b/src/game/ScriptMgr.h index 1f5e61fc3..8e9ee6f9b 100644 --- a/src/game/ScriptMgr.h +++ b/src/game/ScriptMgr.h @@ -22,6 +22,21 @@ #include "Common.h" #include "Policies/Singleton.h" #include "ObjectGuid.h" +#include "DBCEnums.h" + +struct AreaTriggerEntry; +class Aura; +class Creature; +class CreatureAI; +class GameObject; +class InstanceData; +class Item; +class Map; +class Player; +class Quest; +class SpellCastTargets; +class Unit; +class WorldObject; enum eScriptCommand { @@ -294,8 +309,6 @@ public: ScriptMgr(); ~ScriptMgr(); - typedef std::vector ScriptNameMap; - void LoadGameObjectScripts(); void LoadQuestEndScripts(); void LoadQuestStartScripts(); @@ -313,13 +326,47 @@ public: uint32 GetAreaTriggerScriptId(uint32 triggerId) const; uint32 GetEventIdScriptId(uint32 eventId) const; - ScriptNameMap const& GetScriptNames() { return m_scriptNames; } const char* GetScriptName(uint32 id) const { return id < m_scriptNames.size() ? m_scriptNames[id].c_str() : ""; } uint32 GetScriptId(const char *name) const; + + bool LoadScriptLibrary(const char* libName); + void UnloadScriptLibrary(); + + CreatureAI* GetCreatureAI(Creature* pCreature); + InstanceData* CreateInstanceData(Map* pMap); + + bool OnGossipHello(Player* pPlayer, Creature* pCreature); + bool OnGossipHello(Player* pPlayer, GameObject* pGameObject); + bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 sender, uint32 action, const char* code); + bool OnGossipSelect(Player* pPlayer, GameObject* pGameObject, uint32 sender, uint32 action, const char* code); + bool OnQuestAccept(Player* pPlayer, Creature* pCreature, Quest const* pQuest); + bool OnQuestAccept(Player* pPlayer, GameObject* pGameObject, Quest const* pQuest); + bool OnQuestAccept(Player* pPlayer, Item* pItem, Quest const* pQuest); + bool OnQuestComplete(Player* pPlayer, Creature* pCreature, Quest const* pQuest); + bool OnQuestChooseReward(Player* pPlayer, Creature* pCreature, Quest const* pQuest, uint32 opt); + bool OnQuestChooseReward(Player* pPlayer, GameObject* pGameObject, Quest const* pQuest, uint32 opt); + uint32 OnDialogStatus(Player* pPlayer, Creature* pCreature); + uint32 OnDialogStatus(Player* pPlayer, GameObject* pGameObject); + bool OnGameObjectUse(Player* pPlayer, GameObject* pGameObject); + bool OnItemUse(Player* pPlayer, Item* pItem, SpellCastTargets const& targets); + bool OnAreaTrigger(Player* pPlayer, AreaTriggerEntry const* atEntry); + bool OnProcessEvent(uint32 eventId, WorldObject* pSource, WorldObject* pTarget, bool isStart); + bool OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Creature* pTarget); + bool OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, GameObject* pTarget); + bool OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Item* pTarget); + bool OnAuraDummy(Aura const* pAura, bool apply); + private: void LoadScripts(ScriptMapMap& scripts, const char* tablename); void CheckScriptTexts(ScriptMapMap const& scripts, std::set& ids); + template + void GetScriptHookPtr(T& ptr, const char* name) + { + ptr = (T)MANGOS_GET_PROC_ADDR(m_hScriptLib, name); + } + + typedef std::vector ScriptNameMap; typedef UNORDERED_MAP AreaTriggerScriptMap; typedef UNORDERED_MAP EventIdScriptMap; @@ -327,6 +374,37 @@ private: EventIdScriptMap m_EventIdScripts; ScriptNameMap m_scriptNames; + MANGOS_LIBRARY_HANDLE m_hScriptLib; + + void (MANGOS_IMPORT* m_pOnInitScriptLibrary)(); + void (MANGOS_IMPORT* m_pOnFreeScriptLibrary)(); + const char* (MANGOS_IMPORT* m_pGetScriptLibraryVersion)(); + + CreatureAI* (MANGOS_IMPORT* m_pGetCreatureAI) (Creature*); + InstanceData* (MANGOS_IMPORT* m_pCreateInstanceData) (Map*); + + bool (MANGOS_IMPORT* m_pOnGossipHello) (Player*, Creature*); + bool (MANGOS_IMPORT* m_pOnGOGossipHello) (Player*, GameObject*); + bool (MANGOS_IMPORT* m_pOnGossipSelect) (Player*, Creature*, uint32, uint32); + bool (MANGOS_IMPORT* m_pOnGOGossipSelect) (Player*, GameObject*, uint32, uint32); + bool (MANGOS_IMPORT* m_pOnGossipSelectWithCode) (Player*, Creature*, uint32, uint32, const char*); + bool (MANGOS_IMPORT* m_pOnGOGossipSelectWithCode) (Player*, GameObject*, uint32, uint32, const char*); + bool (MANGOS_IMPORT* m_pOnQuestAccept) (Player*, Creature*, Quest const*); + bool (MANGOS_IMPORT* m_pOnGOQuestAccept) (Player*, GameObject*, Quest const*); + bool (MANGOS_IMPORT* m_pOnItemQuestAccept) (Player*, Item*pItem, Quest const*); + bool (MANGOS_IMPORT* m_pOnQuestComplete) (Player*, Creature* pCreature, Quest const*); + bool (MANGOS_IMPORT* m_pOnQuestChooseReward) (Player*, Creature*, Quest const*, uint32); + bool (MANGOS_IMPORT* m_pOnGOQuestChooseReward) (Player*, GameObject*, Quest const*, uint32); + uint32 (MANGOS_IMPORT* m_pOnNPCDialogStatus) (Player*, Creature*); + uint32 (MANGOS_IMPORT* m_pOnGODialogStatus) (Player*, GameObject*); + bool (MANGOS_IMPORT* m_pOnGOUse) (Player*, GameObject*); + bool (MANGOS_IMPORT* m_pOnItemUse) (Player*, Item*, SpellCastTargets const&); + bool (MANGOS_IMPORT* m_pOnAreaTrigger) (Player*, AreaTriggerEntry const*); + bool (MANGOS_IMPORT* m_pOnProcessEvent)(uint32, WorldObject*, WorldObject*, bool); + bool (MANGOS_IMPORT* m_pOnEffectDummyCreature) (Unit*, uint32, SpellEffectIndex, Creature*); + bool (MANGOS_IMPORT* m_pOnEffectDummyGO) (Unit*, uint32, SpellEffectIndex, GameObject*); + bool (MANGOS_IMPORT* m_pOnEffectDummyItem) (Unit*, uint32, SpellEffectIndex, Item*); + bool (MANGOS_IMPORT* m_pOnAuraDummy) (Aura const*, bool); }; #define sScriptMgr MaNGOS::Singleton::Instance() @@ -334,6 +412,5 @@ private: MANGOS_DLL_SPEC uint32 GetAreaTriggerScriptId(uint32 triggerId); MANGOS_DLL_SPEC uint32 GetEventIdScriptId(uint32 eventId); MANGOS_DLL_SPEC uint32 GetScriptId(const char *name); -MANGOS_DLL_SPEC ScriptMgr::ScriptNameMap const& GetScriptNames(); #endif diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 6d71330a8..f1d38a4bf 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -39,7 +39,7 @@ #include "Formulas.h" #include "BattleGround.h" #include "CreatureAI.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include "Util.h" #include "GridNotifiers.h" #include "GridNotifiersImpl.h" @@ -1903,7 +1903,7 @@ void Aura::TriggerSpell() { if (Unit* caster = GetCaster()) { - if (triggerTarget->GetTypeId() != TYPEID_UNIT || !Script->EffectDummyCreature(caster, GetId(), GetEffIndex(), (Creature*)triggerTarget)) + if (triggerTarget->GetTypeId() != TYPEID_UNIT || !sScriptMgr.OnEffectDummy(caster, GetId(), GetEffIndex(), (Creature*)triggerTarget)) sLog.outError("Aura::TriggerSpell: Spell %u have 0 in EffectTriggered[%d], not handled custom case?",GetId(),GetEffIndex()); } } @@ -2804,7 +2804,7 @@ void Aura::HandleAuraDummy(bool apply, bool Real) // script has to "handle with care", only use where data are not ok to use in the above code. if (target->GetTypeId() == TYPEID_UNIT) - Script->EffectAuraDummy(this, apply); + sScriptMgr.OnAuraDummy(this, apply); } void Aura::HandleAuraMounted(bool apply, bool Real) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 135e5c493..f8bfc89cc 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -51,7 +51,6 @@ #include "VMapFactory.h" #include "Util.h" #include "TemporarySummon.h" -#include "ScriptCalls.h" #include "ScriptMgr.h" #include "SkillDiscovery.h" #include "Formulas.h" @@ -2697,11 +2696,11 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) // Script based implementation. Must be used only for not good for implementation in core spell effects // So called only for not processed cases if (gameObjTarget) - Script->EffectDummyGameObj(m_caster, m_spellInfo->Id, eff_idx, gameObjTarget); - else if (unitTarget && unitTarget->GetTypeId()==TYPEID_UNIT) - Script->EffectDummyCreature(m_caster, m_spellInfo->Id, eff_idx, (Creature*)unitTarget); + sScriptMgr.OnEffectDummy(m_caster, m_spellInfo->Id, eff_idx, gameObjTarget); + else if (unitTarget && unitTarget->GetTypeId() == TYPEID_UNIT) + sScriptMgr.OnEffectDummy(m_caster, m_spellInfo->Id, eff_idx, (Creature*)unitTarget); else if (itemTarget) - Script->EffectDummyItem(m_caster, m_spellInfo->Id, eff_idx, itemTarget); + sScriptMgr.OnEffectDummy(m_caster, m_spellInfo->Id, eff_idx, itemTarget); } void Spell::EffectTriggerSpellWithValue(SpellEffectIndex eff_idx) @@ -3304,7 +3303,7 @@ void Spell::EffectSendEvent(SpellEffectIndex effectIndex) */ DEBUG_FILTER_LOG(LOG_FILTER_SPELL_CAST, "Spell ScriptStart %u for spellid %u in EffectSendEvent ", m_spellInfo->EffectMiscValue[effectIndex], m_spellInfo->Id); - if (!Script->ProcessEventId(m_spellInfo->EffectMiscValue[effectIndex], m_caster, focusObject, true)) + if (!sScriptMgr.OnProcessEvent(m_spellInfo->EffectMiscValue[effectIndex], m_caster, focusObject, true)) m_caster->GetMap()->ScriptsStart(sEventScripts, m_spellInfo->EffectMiscValue[effectIndex], m_caster, focusObject); } diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp index 1fea2a61a..1e43e3ba9 100644 --- a/src/game/SpellHandler.cpp +++ b/src/game/SpellHandler.cpp @@ -25,7 +25,7 @@ #include "Log.h" #include "Opcodes.h" #include "Spell.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include "Totem.h" #include "SpellAuras.h" @@ -177,7 +177,7 @@ void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket) } //Note: If script stop casting it must send appropriate data to client to prevent stuck item in gray state. - if(!Script->ItemUse(pUser,pItem,targets)) + if (!sScriptMgr.OnItemUse(pUser, pItem, targets)) { // no script or script not process request by self pUser->CastItemUseSpell(pItem,targets,cast_count,glyphIndex); diff --git a/src/game/Transports.cpp b/src/game/Transports.cpp index 908321a4e..774419009 100644 --- a/src/game/Transports.cpp +++ b/src/game/Transports.cpp @@ -27,7 +27,6 @@ #include "WorldPacket.h" #include "DBCStores.h" #include "ProgressBar.h" -#include "ScriptCalls.h" #include "ScriptMgr.h" void MapManager::LoadTransports() @@ -579,7 +578,7 @@ void Transport::DoEventIfAny(WayPointMap::value_type const& node, bool departure { DEBUG_FILTER_LOG(LOG_FILTER_TRANSPORT_MOVES, "Taxi %s event %u of node %u of %s \"%s\") path", departure ? "departure" : "arrival", eventid, node.first, GetGuidStr().c_str(), GetName()); - if (!Script->ProcessEventId(eventid, this, this, departure)) + if (!sScriptMgr.OnProcessEvent(eventid, this, this, departure)) GetMap()->ScriptsStart(sEventScripts, eventid, this, this); } } diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp index a40d0dc0c..d84c4b009 100644 --- a/src/game/UnitAuraProcHandler.cpp +++ b/src/game/UnitAuraProcHandler.cpp @@ -28,7 +28,6 @@ #include "Creature.h" #include "Formulas.h" #include "CreatureAI.h" -#include "ScriptCalls.h" #include "Util.h" pAuraProcHandler AuraProcHandler[TOTAL_AURAS]= diff --git a/src/game/WaypointMovementGenerator.cpp b/src/game/WaypointMovementGenerator.cpp index f3364233e..c75c7231b 100644 --- a/src/game/WaypointMovementGenerator.cpp +++ b/src/game/WaypointMovementGenerator.cpp @@ -39,7 +39,7 @@ alter table creature_movement add `wpguid` int(11) default '0'; #include "CreatureAI.h" #include "WaypointManager.h" #include "WorldPacket.h" -#include "ScriptCalls.h" +#include "ScriptMgr.h" #include @@ -435,7 +435,7 @@ void FlightPathMovementGenerator::DoEventIfAny(Player& player, TaxiPathNodeEntry { DEBUG_FILTER_LOG(LOG_FILTER_AI_AND_MOVEGENSS, "Taxi %s event %u of node %u of path %u for player %s", departure ? "departure" : "arrival", eventid, node.index, node.path, player.GetName()); - if (!Script->ProcessEventId(eventid, &player, &player, departure)) + if (!sScriptMgr.OnProcessEvent(eventid, &player, &player, departure)) player.GetMap()->ScriptsStart(sEventScripts, eventid, &player, &player); } } diff --git a/src/game/World.cpp b/src/game/World.cpp index 36717d0e2..7361a0e56 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -23,6 +23,7 @@ #include "World.h" #include "Database/DatabaseEnv.h" #include "Config/Config.h" +#include "Platform/Define.h" #include "SystemConfig.h" #include "Log.h" #include "Opcodes.h" @@ -44,7 +45,6 @@ #include "LootMgr.h" #include "ItemEnchantmentMgr.h" #include "MapManager.h" -#include "ScriptCalls.h" #include "ScriptMgr.h" #include "CreatureAIRegistry.h" #include "Policies/SingletonImp.h" @@ -1250,11 +1250,7 @@ void World::SetInitialWorldSettings() sEventAIMgr.LoadCreatureEventAI_Scripts(); sLog.outString( "Initializing Scripts..." ); - if(!LoadScriptingModule()) - { - Log::WaitBeforeContinueIfNeed(); - exit(1); // Error message displayed in function already - } + sScriptMgr.LoadScriptLibrary(MANGOS_SCRIPT_NAME); ///- Initialize game time and timers sLog.outString( "DEBUG:: Initialize game time and timers" ); diff --git a/src/mangosd/CliRunnable.cpp b/src/mangosd/CliRunnable.cpp index 80761ef08..0f69fcfe7 100644 --- a/src/mangosd/CliRunnable.cpp +++ b/src/mangosd/CliRunnable.cpp @@ -24,7 +24,6 @@ #include "Language.h" #include "Log.h" #include "World.h" -#include "ScriptCalls.h" #include "ObjectMgr.h" #include "WorldSession.h" #include "Config/Config.h" diff --git a/src/mangosd/Makefile.am b/src/mangosd/Makefile.am index dd1b2a43c..72faf8b62 100644 --- a/src/mangosd/Makefile.am +++ b/src/mangosd/Makefile.am @@ -40,7 +40,6 @@ mangos_worldd_SOURCES = \ ## Link world daemon against the shared library mangos_worldd_LDADD = \ - ../bindings/universal/libmangosscript.la \ ../game/libmangosgame.a \ ../game/vmap/libmangosvmaps.a \ ../shared/Database/libmangosdatabase.a \ @@ -51,7 +50,7 @@ mangos_worldd_LDADD = \ ../../dep/src/g3dlite/libg3dlite.a \ ../../dep/src/gsoap/libgsoap.a -mangos_worldd_LDFLAGS = -L../../dep/src/g3dlite -L../../dep/src/gsoap -L../bindings/universal/ -L$(libdir) $(MANGOS_LIBS) -export-dynamic +mangos_worldd_LDFLAGS = -L../../dep/src/g3dlite -L../../dep/src/gsoap -L$(libdir) $(MANGOS_LIBS) -export-dynamic ## Additional files to include when running 'make dist' # Include world daemon configuration diff --git a/src/mangosd/Master.cpp b/src/mangosd/Master.cpp index c5c934189..042032bf9 100644 --- a/src/mangosd/Master.cpp +++ b/src/mangosd/Master.cpp @@ -34,10 +34,10 @@ #include "Database/DatabaseEnv.h" #include "CliRunnable.h" #include "RASocket.h" -#include "ScriptCalls.h" #include "Util.h" #include "revision_sql.h" #include "MaNGOSsoap.h" +#include "DBCStores.h" #include #include @@ -403,10 +403,6 @@ int Master::Run() delete cliThread; } - // for some unknown reason, unloading scripts here and not in worldrunnable - // fixes a memory leak related to detaching threads from the module - UnloadScriptingModule(); - ///- Exit the process with specified return value return World::GetExitCode(); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 14282faca..332434dc1 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10934" + #define REVISION_NR "10935" #endif // __REVISION_NR_H__ diff --git a/win/VC100/game.vcxproj b/win/VC100/game.vcxproj index 186acf256..8f3c30808 100644 --- a/win/VC100/game.vcxproj +++ b/win/VC100/game.vcxproj @@ -473,7 +473,6 @@ - @@ -616,7 +615,6 @@ - diff --git a/win/VC100/game.vcxproj.filters b/win/VC100/game.vcxproj.filters index 3c993a234..d3588ae89 100644 --- a/win/VC100/game.vcxproj.filters +++ b/win/VC100/game.vcxproj.filters @@ -195,9 +195,6 @@ World/Handlers - - World/Handlers - World/Handlers @@ -597,9 +594,6 @@ World/Handlers - - World/Handlers - World/Handlers diff --git a/win/mangosdVC100.sln b/win/mangosdVC100.sln index aed8c4c49..407fca221 100644 --- a/win/mangosdVC100.sln +++ b/win/mangosdVC100.sln @@ -1,5 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 10 +# Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "game", "VC100\game.vcxproj", "{1DC6C4DA-A028-41F3-877D-D5400C594F88}" ProjectSection(ProjectDependencies) = postProject {90297C34-F231-4DF4-848E-A74BCC0E40ED} = {90297C34-F231-4DF4-848E-A74BCC0E40ED} @@ -34,11 +34,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "realmd", "VC100\realmd.vcxp {90297C34-F231-4DF4-848E-A74BCC0E40ED} = {90297C34-F231-4DF4-848E-A74BCC0E40ED} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "script", "VC100\script.vcxproj", "{4205C8A9-79B7-4354-8064-F05FB9CA0C96}" - ProjectSection(ProjectDependencies) = postProject - {A3A04E47-43A2-4C08-90B3-029CEF558594} = {A3A04E47-43A2-4C08-90B3-029CEF558594} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g3dlite", "VC100\g3dlite.vcxproj", "{8072769E-CF10-48BF-B9E1-12752A5DAC6E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genrevision", "VC100\genrevision.vcxproj", "{803F488E-4C5A-4866-8D5C-1E6C03C007C2}" @@ -64,100 +59,88 @@ Global GlobalSection(ProjectConfigurationPlatforms) = postSolution {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug|Win32.ActiveCfg = Debug|Win32 {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug|Win32.Build.0 = Debug|Win32 - {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug|x64.ActiveCfg = Debug|X64 - {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug|x64.Build.0 = Debug|X64 + {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug|x64.ActiveCfg = Debug|x64 + {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Debug|x64.Build.0 = Debug|x64 {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Release|Win32.ActiveCfg = Release|Win32 {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Release|Win32.Build.0 = Release|Win32 - {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Release|x64.ActiveCfg = Release|X64 - {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Release|x64.Build.0 = Release|X64 + {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Release|x64.ActiveCfg = Release|x64 + {1DC6C4DA-A028-41F3-877D-D5400C594F88}.Release|x64.Build.0 = Release|x64 {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug|Win32.ActiveCfg = Debug|Win32 {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug|Win32.Build.0 = Debug|Win32 - {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug|x64.ActiveCfg = Debug|X64 - {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug|x64.Build.0 = Debug|X64 + {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug|x64.ActiveCfg = Debug|x64 + {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Debug|x64.Build.0 = Debug|x64 {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Release|Win32.ActiveCfg = Release|Win32 {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Release|Win32.Build.0 = Release|Win32 - {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Release|x64.ActiveCfg = Release|X64 - {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Release|x64.Build.0 = Release|X64 + {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Release|x64.ActiveCfg = Release|x64 + {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Release|x64.Build.0 = Release|x64 {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|Win32.ActiveCfg = Debug|Win32 {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|Win32.Build.0 = Debug|Win32 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|x64.ActiveCfg = Debug|X64 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|x64.Build.0 = Debug|X64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|x64.ActiveCfg = Debug|x64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|x64.Build.0 = Debug|x64 {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|Win32.ActiveCfg = Release|Win32 {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|Win32.Build.0 = Release|Win32 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|x64.ActiveCfg = Release|X64 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|x64.Build.0 = Release|X64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|x64.ActiveCfg = Release|x64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|x64.Build.0 = Release|x64 {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.ActiveCfg = Debug|Win32 {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.Build.0 = Debug|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|x64.ActiveCfg = Debug|X64 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|x64.Build.0 = Debug|X64 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|x64.ActiveCfg = Debug|x64 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|x64.Build.0 = Debug|x64 {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.ActiveCfg = Release|Win32 {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.Build.0 = Release|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|x64.ActiveCfg = Release|X64 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|x64.Build.0 = Release|X64 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|x64.ActiveCfg = Release|x64 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|x64.Build.0 = Release|x64 {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug|Win32.ActiveCfg = Debug|Win32 {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug|Win32.Build.0 = Debug|Win32 - {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug|x64.ActiveCfg = Debug|X64 - {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug|x64.Build.0 = Debug|X64 + {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug|x64.ActiveCfg = Debug|x64 + {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Debug|x64.Build.0 = Debug|x64 {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Release|Win32.ActiveCfg = Release|Win32 {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Release|Win32.Build.0 = Release|Win32 - {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Release|x64.ActiveCfg = Release|X64 - {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Release|x64.Build.0 = Release|X64 + {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Release|x64.ActiveCfg = Release|x64 + {BF6F5D0E-33A5-4E23-9E7D-DD481B7B5B9E}.Release|x64.Build.0 = Release|x64 {563E9905-3657-460C-AE63-0AC39D162E23}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {563E9905-3657-460C-AE63-0AC39D162E23}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {563E9905-3657-460C-AE63-0AC39D162E23}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {563E9905-3657-460C-AE63-0AC39D162E23}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|Win32.ActiveCfg = Debug|Win32 {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|Win32.Build.0 = Debug|Win32 - {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|x64.ActiveCfg = Debug|X64 - {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|x64.Build.0 = Debug|X64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|x64.ActiveCfg = Debug|x64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|x64.Build.0 = Debug|x64 {563E9905-3657-460C-AE63-0AC39D162E23}.Release|Win32.ActiveCfg = Release|Win32 {563E9905-3657-460C-AE63-0AC39D162E23}.Release|Win32.Build.0 = Release|Win32 - {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.ActiveCfg = Release|X64 - {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.Build.0 = Release|X64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|Win32.ActiveCfg = Debug|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|Win32.Build.0 = Debug|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|x64.ActiveCfg = Debug|X64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|x64.Build.0 = Debug|X64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|Win32.ActiveCfg = Release|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|Win32.Build.0 = Release|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|x64.ActiveCfg = Release|X64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|x64.Build.0 = Release|X64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.ActiveCfg = Release|x64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.Build.0 = Release|x64 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|Win32.ActiveCfg = Debug|Win32 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|Win32.Build.0 = Debug|Win32 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|x64.ActiveCfg = Debug|X64 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|x64.Build.0 = Debug|X64 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|x64.ActiveCfg = Debug|x64 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|x64.Build.0 = Debug|x64 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.ActiveCfg = Release|Win32 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.Build.0 = Release|Win32 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|x64.ActiveCfg = Release|X64 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|x64.Build.0 = Release|X64 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|x64.ActiveCfg = Release|x64 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|x64.Build.0 = Release|x64 {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|Win32 @@ -172,40 +155,40 @@ Global {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|x64.Build.0 = Release|Win32 {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug|Win32.ActiveCfg = Debug|Win32 {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug|Win32.Build.0 = Debug|Win32 - {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug|x64.ActiveCfg = Debug|X64 - {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug|x64.Build.0 = Debug|X64 + {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug|x64.ActiveCfg = Debug|x64 + {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Debug|x64.Build.0 = Debug|x64 {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|Win32.ActiveCfg = Release|Win32 {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|Win32.Build.0 = Release|Win32 - {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|x64.ActiveCfg = Release|X64 - {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|x64.Build.0 = Release|X64 + {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|x64.ActiveCfg = Release|x64 + {BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|x64.Build.0 = Release|x64 {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|Win32.ActiveCfg = Debug|Win32 {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|Win32.Build.0 = Debug|Win32 - {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|x64.ActiveCfg = Debug|X64 - {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|x64.Build.0 = Debug|X64 + {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|x64.ActiveCfg = Debug|x64 + {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|x64.Build.0 = Debug|x64 {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|Win32.ActiveCfg = Release|Win32 {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|Win32.Build.0 = Release|Win32 - {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|x64.ActiveCfg = Release|X64 - {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|x64.Build.0 = Release|X64 + {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|x64.ActiveCfg = Release|x64 + {B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|x64.Build.0 = Release|x64 {F62787DD-1327-448B-9818-030062BCFAA5}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {F62787DD-1327-448B-9818-030062BCFAA5}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {F62787DD-1327-448B-9818-030062BCFAA5}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|X64 - {F62787DD-1327-448B-9818-030062BCFAA5}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|X64 + {F62787DD-1327-448B-9818-030062BCFAA5}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 + {F62787DD-1327-448B-9818-030062BCFAA5}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 {F62787DD-1327-448B-9818-030062BCFAA5}.Debug|Win32.ActiveCfg = Debug|Win32 {F62787DD-1327-448B-9818-030062BCFAA5}.Debug|Win32.Build.0 = Debug|Win32 - {F62787DD-1327-448B-9818-030062BCFAA5}.Debug|x64.ActiveCfg = Debug|X64 - {F62787DD-1327-448B-9818-030062BCFAA5}.Debug|x64.Build.0 = Debug|X64 + {F62787DD-1327-448B-9818-030062BCFAA5}.Debug|x64.ActiveCfg = Debug|x64 + {F62787DD-1327-448B-9818-030062BCFAA5}.Debug|x64.Build.0 = Debug|x64 {F62787DD-1327-448B-9818-030062BCFAA5}.Release|Win32.ActiveCfg = Release|Win32 {F62787DD-1327-448B-9818-030062BCFAA5}.Release|Win32.Build.0 = Release|Win32 - {F62787DD-1327-448B-9818-030062BCFAA5}.Release|x64.ActiveCfg = Release|X64 - {F62787DD-1327-448B-9818-030062BCFAA5}.Release|x64.Build.0 = Release|X64 + {F62787DD-1327-448B-9818-030062BCFAA5}.Release|x64.ActiveCfg = Release|x64 + {F62787DD-1327-448B-9818-030062BCFAA5}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/win/mangosdVC80.sln b/win/mangosdVC80.sln index 650d39ea4..52d29a0ae 100644 --- a/win/mangosdVC80.sln +++ b/win/mangosdVC80.sln @@ -31,11 +31,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "realmd", "VC80\realmd.vcpro {90297C34-F231-4DF4-848E-A74BCC0E40ED} = {90297C34-F231-4DF4-848E-A74BCC0E40ED} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "script", "VC80\script.vcproj", "{4205C8A9-79B7-4354-8064-F05FB9CA0C96}" - ProjectSection(ProjectDependencies) = postProject - {A3A04E47-43A2-4C08-90B3-029CEF558594} = {A3A04E47-43A2-4C08-90B3-029CEF558594} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g3dlite", "VC80\g3dlite.vcproj", "{8072769E-CF10-48BF-B9E1-12752A5DAC6E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genrevision", "VC80\genrevision.vcproj", "{803F488E-4C5A-4866-8D5C-1E6C03C007C2}" @@ -131,18 +126,6 @@ Global {563E9905-3657-460C-AE63-0AC39D162E23}.Release|Win32.Build.0 = Release|Win32 {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.ActiveCfg = Release|x64 {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.Build.0 = Release|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|Win32.ActiveCfg = Debug|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|Win32.Build.0 = Debug|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|x64.ActiveCfg = Debug|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|x64.Build.0 = Debug|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|Win32.ActiveCfg = Release|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|Win32.Build.0 = Release|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|x64.ActiveCfg = Release|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|x64.Build.0 = Release|x64 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 diff --git a/win/mangosdVC90.sln b/win/mangosdVC90.sln index 2fdfacd75..54feaf723 100644 --- a/win/mangosdVC90.sln +++ b/win/mangosdVC90.sln @@ -33,11 +33,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "realmd", "VC90\realmd.vcpro {90297C34-F231-4DF4-848E-A74BCC0E40ED} = {90297C34-F231-4DF4-848E-A74BCC0E40ED} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "script", "VC90\script.vcproj", "{4205C8A9-79B7-4354-8064-F05FB9CA0C96}" - ProjectSection(ProjectDependencies) = postProject - {A3A04E47-43A2-4C08-90B3-029CEF558594} = {A3A04E47-43A2-4C08-90B3-029CEF558594} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g3dlite", "VC90\g3dlite.vcproj", "{8072769E-CF10-48BF-B9E1-12752A5DAC6E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genrevision", "VC90\genrevision.vcproj", "{803F488E-4C5A-4866-8D5C-1E6C03C007C2}" @@ -133,18 +128,6 @@ Global {563E9905-3657-460C-AE63-0AC39D162E23}.Release|Win32.Build.0 = Release|Win32 {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.ActiveCfg = Release|x64 {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.Build.0 = Release|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug_NoPCH|x64.Build.0 = Debug_NoPCH|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|Win32.ActiveCfg = Debug|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|Win32.Build.0 = Debug|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|x64.ActiveCfg = Debug|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Debug|x64.Build.0 = Debug|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|Win32.ActiveCfg = Release|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|Win32.Build.0 = Release|Win32 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|x64.ActiveCfg = Release|x64 - {4205C8A9-79B7-4354-8064-F05FB9CA0C96}.Release|x64.Build.0 = Release|x64 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|x64.ActiveCfg = Debug_NoPCH|x64