diff --git a/AI/VCAI/CMakeLists.txt b/AI/VCAI/CMakeLists.txt index 95a3a7242..4a99a285c 100644 --- a/AI/VCAI/CMakeLists.txt +++ b/AI/VCAI/CMakeLists.txt @@ -4,10 +4,10 @@ cmake_minimum_required(VERSION 2.6) include_directories(${Boost_INCLUDE_DIRS} ${CMAKE_HOME_DIRECTORY} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_HOME_DIRECTORY}/lib ${CMAKE_HOME_DIRECTORY}/AI/FuzzyLite) set(VCAI_SRCS - AIUtility.cpp - Goals.cpp - main.cpp VCAI.cpp + Goals.cpp + AIUtility.cpp + main.cpp Fuzzy.cpp ) diff --git a/CMakeLists.txt b/CMakeLists.txt index 52c85188f..51ac3d126 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,14 +136,14 @@ add_definitions(-DM_LIB_DIR="${CMAKE_INSTALL_PREFIX}/${LIB_DIR}") SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/vcmi") SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +if (ENABLE_ERM) + add_subdirectory(scripting/erm) +endif() add_subdirectory(lib) -add_subdirectory(lib/minizip) add_subdirectory(client) +add_subdirectory(lib/minizip) add_subdirectory(server) add_subdirectory(AI) -if (ENABLE_ERM) - add_subdirectory(scripting/erm) -endif() if (ENABLE_EDITOR) add_subdirectory(editor) endif() diff --git a/Mods/WoG/config/wog/creatures.json b/Mods/WoG/config/wog/creatures.json index c3b7b74b8..ae2eab1a1 100644 --- a/Mods/WoG/config/wog/creatures.json +++ b/Mods/WoG/config/wog/creatures.json @@ -716,7 +716,6 @@ "defend": "BGORDFND.wav", "killed": "BGORKILL.wav", "move": "BGORMOVE.wav", - "shoot": "BGORSHOT.wav", "wince": "BGORWNCE.wav" } }, @@ -1488,7 +1487,6 @@ "defend": "BGORDFND.wav", "killed": "BGORKILL.wav", "move": "BGORMOVE.wav", - "shoot": "BGORSHOT.wav", "wince": "BGORWNCE.wav" } }, diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index cbe4a6694..cdb21d34e 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -6,9 +6,15 @@ include_directories(${SDL_INCLUDE_DIR} ${SDLIMAGE_INCLUDE_DIR} ${SDLMIXER_INCLUD include_directories(${Boost_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR} ${FFMPEG_INCLUDE_DIRS}) set(client_SRCS + CPreGame.cpp + Client.cpp + CPlayerInterface.cpp + CMT.cpp + GUIClasses.cpp + battle/CBattleInterface.cpp + ../CCallback.cpp battle/CBattleAnimations.cpp - battle/CBattleInterface.cpp battle/CBattleInterfaceClasses.cpp battle/CCreatureAnimation.cpp gui/CGuiHandler.cpp @@ -28,17 +34,12 @@ set(client_SRCS CGameInfo.cpp CHeroWindow.cpp CKingdomInterface.cpp - Client.cpp CMessage.cpp - CMT.cpp CMusicHandler.cpp - CPlayerInterface.cpp - CPreGame.cpp CSpellWindow.cpp CVideoHandler.cpp CQuestLog.cpp Graphics.cpp - GUIClasses.cpp mapHandler.cpp NetPacksClient.cpp ) diff --git a/config/factions/castle.json b/config/factions/castle.json index 8672bcc86..86ff8ae2b 100644 --- a/config/factions/castle.json +++ b/config/factions/castle.json @@ -116,6 +116,7 @@ }, "musicTheme" : "music/CstleTown", + "defaultTavern" : 5, "townBackground": "TBCSBACK.bmp", "guildWindow": "TPMAGECS.bmp", diff --git a/config/factions/conflux.json b/config/factions/conflux.json index 2c70f0f7b..723ba0b1e 100644 --- a/config/factions/conflux.json +++ b/config/factions/conflux.json @@ -120,6 +120,7 @@ }, "musicTheme" : "music/ElemTown", + "defaultTavern" : 5, "townBackground": "TBELBACK.bmp", "guildWindow": "TPMAGEEL.bmp", diff --git a/config/factions/dungeon.json b/config/factions/dungeon.json index 081d01dfe..56c925071 100644 --- a/config/factions/dungeon.json +++ b/config/factions/dungeon.json @@ -115,6 +115,7 @@ }, "musicTheme" : "music/Dungeon", + "defaultTavern" : 5, "townBackground": "TBDNBACK.bmp", "guildWindow": "TPMAGEDN.bmp", diff --git a/config/factions/fortress.json b/config/factions/fortress.json index 53a6e5ca5..7e4bb9998 100644 --- a/config/factions/fortress.json +++ b/config/factions/fortress.json @@ -116,6 +116,7 @@ }, "musicTheme" : "music/FortressTown", + "defaultTavern" : 5, "townBackground": "TBFRBACK.bmp", "guildWindow": "TPMAGEFR.bmp", diff --git a/config/factions/inferno.json b/config/factions/inferno.json index 138082125..db45a3e96 100644 --- a/config/factions/inferno.json +++ b/config/factions/inferno.json @@ -116,6 +116,7 @@ }, "musicTheme" : "music/InfernoTown", + "defaultTavern" : 5, "townBackground": "TBINBACK.bmp", "guildWindow": "TPMAGEIN.bmp", diff --git a/config/factions/necropolis.json b/config/factions/necropolis.json index 4c39c5e05..0646e750f 100644 --- a/config/factions/necropolis.json +++ b/config/factions/necropolis.json @@ -120,6 +120,7 @@ }, "musicTheme" : "music/NecroTown", + "defaultTavern" : 5, "townBackground": "TBNCBACK.bmp", "guildWindow": "TPMAGENC.bmp", diff --git a/config/factions/rampart.json b/config/factions/rampart.json index e7a64fedc..84fc05859 100644 --- a/config/factions/rampart.json +++ b/config/factions/rampart.json @@ -120,6 +120,7 @@ }, "musicTheme" : "music/Rampart", + "defaultTavern" : 5, "townBackground": "TBRMBACK.bmp", "guildWindow": "TPMAGERM.bmp", diff --git a/config/factions/stronghold.json b/config/factions/stronghold.json index 0097b5afa..f828c19ca 100644 --- a/config/factions/stronghold.json +++ b/config/factions/stronghold.json @@ -114,6 +114,7 @@ }, "musicTheme" : "music/Stronghold", + "defaultTavern" : 5, "townBackground": "TBSTBACK.bmp", "guildWindow": "TPMAGEST.bmp", diff --git a/config/factions/tower.json b/config/factions/tower.json index b89c103cc..f4a24b7f4 100644 --- a/config/factions/tower.json +++ b/config/factions/tower.json @@ -115,6 +115,7 @@ }, "musicTheme" : "music/TowerTown", + "defaultTavern" : 5, "townBackground": "TBTWBACK.bmp", "guildWindow": "TPMAGETW.bmp", diff --git a/config/heroClasses.json b/config/heroClasses.json index bf40a338d..a0697c754 100644 --- a/config/heroClasses.json +++ b/config/heroClasses.json @@ -3,6 +3,7 @@ { "index": 0, "faction" : "castle", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH00.DEF", "female" : "CH01.DEF" }, @@ -13,6 +14,7 @@ { "index": 1, "faction" : "castle", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH00.DEF", "female" : "CH01.DEF" }, @@ -23,6 +25,7 @@ { "index": 2, "faction" : "rampart", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH02.DEF", "female" : "CH03.DEF" }, @@ -33,6 +36,7 @@ { "index": 3, "faction" : "rampart", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH02.DEF", "female" : "CH03.DEF" }, @@ -43,6 +47,7 @@ { "index": 4, "faction" : "tower", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH05.DEF", "female" : "CH04.DEF" }, @@ -53,6 +58,7 @@ { "index": 5, "faction" : "tower", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH05.DEF", "female" : "CH04.DEF" }, @@ -63,6 +69,7 @@ { "index": 6, "faction" : "inferno", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH06.DEF", "female" : "CH07.DEF" }, @@ -73,6 +80,7 @@ { "index": 7, "faction" : "inferno", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH06.DEF", "female" : "CH07.DEF" }, @@ -83,6 +91,7 @@ { "index": 8, "faction" : "necropolis", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH08.DEF", "female" : "CH09.DEF" }, @@ -93,6 +102,7 @@ { "index": 9, "faction" : "necropolis", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH08.DEF", "female" : "CH09.DEF" }, @@ -103,6 +113,7 @@ { "index": 10, "faction" : "dungeon", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH010.DEF", "female" : "CH11.DEF" }, @@ -113,6 +124,7 @@ { "index": 11, "faction" : "dungeon", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH010.DEF", "female" : "CH11.DEF" }, @@ -123,6 +135,7 @@ { "index": 12, "faction" : "stronghold", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH013.DEF", "female" : "CH012.DEF" }, @@ -133,6 +146,7 @@ { "index": 13, "faction" : "stronghold", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH013.DEF", "female" : "CH012.DEF" }, @@ -143,6 +157,7 @@ { "index": 14, "faction" : "fortress", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH014.DEF", "female" : "CH015.DEF" }, @@ -153,6 +168,7 @@ { "index": 15, "faction" : "fortress", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH014.DEF", "female" : "CH015.DEF" }, @@ -163,6 +179,7 @@ { "index": 16, "faction" : "conflux", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH16.DEF", "female" : "CH17.DEF" }, @@ -173,6 +190,7 @@ { "index": 17, "faction" : "conflux", + "defaultTavern" : 5, "animation": { "battle" : { "male" : "CH16.DEF", "female" : "CH17.DEF" }, diff --git a/config/schemas/faction.json b/config/schemas/faction.json index 8ec9402f2..b6a4bc3f1 100644 --- a/config/schemas/faction.json +++ b/config/schemas/faction.json @@ -109,7 +109,7 @@ "additionalProperties" : false, "required" : [ "adventureMap", "buildingsIcons", "buildings", "creatures", "guildWindow", "names", - "hallBackground", "hallSlots", "horde", "mageGuild", "moatDamage", + "hallBackground", "hallSlots", "horde", "mageGuild", "moatDamage", "defaultTavern", "musicTheme", "siege", "structures", "townBackground", "warMachine" ], "description": "town", @@ -158,12 +158,18 @@ "additionalProperties" : { "type" : "number" } + }, + "defaultTavern" : { + "type" : "number", + "description" : "Default chance for hero to appear in tavern, used only when value vas not set in tavern field", + "minimum" : 0 }, "tavern" : { "type" : "object", "description" : "Hero classes available in tavern. Value indicates chance for hero of this class to appear", "additionalProperties" : { - "type" : "number" + "type" : "number", + "minimum" : 0 } }, "names" : { diff --git a/config/schemas/heroClass.json b/config/schemas/heroClass.json index d6558610e..a9c5fa425 100644 --- a/config/schemas/heroClass.json +++ b/config/schemas/heroClass.json @@ -5,7 +5,7 @@ "description" : "Format used to define classes of heroes in VCMI", "required" : [ "animation", "faction", "highLevelChance", "lowLevelChance", - "name", "primarySkills", "secondarySkills", "tavern" + "name", "primarySkills", "secondarySkills", "tavern", "defaultTavern" ], "additionalProperties" : false, @@ -94,11 +94,18 @@ "type":"number" } }, + "defaultTavern" : { + "type" : "number", + "description" : "Default chance for hero to appear in tavern, used only when value vas not set in tavern field", + "minimum" : 0 + }, + "tavern": { "type":"object", "description": "Chance for this hero to appear in tavern of this factions. Reversed version of field \"tavern\" from town format", "additionalProperties":{ - "type":"number" + "type":"number", + "minimum" : 0 } } } diff --git a/debian/control b/debian/control index e7a708092..9daf18f26 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: vcmi Section: games Priority: optional Maintainer: Ivan Savenko -Build-Depends: debhelper (>= 8), cmake, libsdl-image1.2-dev, libsdl-ttf2.0-dev, libsdl-mixer1.2-dev (>= 1.2.8), zlib1g-dev, libavformat-dev, libswscale-dev, libboost-dev (>=1.46), libboost-program-options-dev (>=1.46), libboost-filesystem-dev (>=1.46), libboost-system-dev (>=1.46), libboost-thread-dev (>=1.46) +Build-Depends: debhelper (>= 8), cmake, libsdl-image1.2-dev, libsdl-ttf2.0-dev, libsdl-mixer1.2-dev (>= 1.2.8), zlib1g-dev, libavformat-dev, libswscale-dev, libboost-dev (>=1.48), libboost-program-options-dev (>=1.48), libboost-filesystem-dev (>=1.48), libboost-system-dev (>=1.48), libboost-locale-dev (>=1.48), libboost-thread-dev (>=1.48) Standards-Version: 3.9.1 Homepage: http://vcmi.eu diff --git a/launcher/modManager/cmodlist.cpp b/launcher/modManager/cmodlist.cpp index 08a1c0bd7..fd598069a 100644 --- a/launcher/modManager/cmodlist.cpp +++ b/launcher/modManager/cmodlist.cpp @@ -28,7 +28,7 @@ bool CModEntry::compareVersions(QString lesser, QString greater) return false; } -CModEntry::CModEntry(QVariantMap repository, QVariantMap localData, QVariant modSettings, QString modname): +CModEntry::CModEntry(QVariantMap repository, QVariantMap localData, QVariantMap modSettings, QString modname): repository(repository), localData(localData), modSettings(modSettings), @@ -41,7 +41,7 @@ bool CModEntry::isEnabled() const if (!isInstalled()) return false; - return modSettings.toBool(); + return modSettings["active"].toBool(); } bool CModEntry::isDisabled() const @@ -140,7 +140,13 @@ CModEntry CModList::getMod(QString modname) const QVariantMap repo; QVariantMap local = localModList[modname].toMap(); - QVariant settings = modSettings[modname]; + QVariantMap settings; + + QVariant conf = modSettings[modname]; + if (conf.canConvert()) + settings = modSettings[modname].toMap(); + else + settings.insert("active", conf); for (auto entry : repositories) { diff --git a/launcher/modManager/cmodlist.h b/launcher/modManager/cmodlist.h index 15009050a..9739eb40a 100644 --- a/launcher/modManager/cmodlist.h +++ b/launcher/modManager/cmodlist.h @@ -22,11 +22,11 @@ class CModEntry // repository contains newest version only (if multiple are available) QVariantMap repository; QVariantMap localData; - QVariant modSettings; + QVariantMap modSettings; QString modname; public: - CModEntry(QVariantMap repository, QVariantMap localData, QVariant modSettings, QString modname); + CModEntry(QVariantMap repository, QVariantMap localData, QVariantMap modSettings, QString modname); // installed and enabled bool isEnabled() const; @@ -76,4 +76,4 @@ public: // returns list of all available mods QVector getModList() const; -}; \ No newline at end of file +}; diff --git a/launcher/modManager/cmodmanager.cpp b/launcher/modManager/cmodmanager.cpp index fc569d1d1..cb66889f9 100644 --- a/launcher/modManager/cmodmanager.cpp +++ b/launcher/modManager/cmodmanager.cpp @@ -192,8 +192,10 @@ bool CModManager::doEnableMod(QString mod, bool on) { QVariant value(on); QVariantMap list = modSettings["activeMods"].toMap(); + QVariantMap modData = list[mod].toMap(); - list.insert(mod, value); + modData.insert("active", value); + list.insert(mod, modData); modSettings.insert("activeMods", list); modList->setModSettings(modSettings["activeMods"]); diff --git a/lib/CHeroHandler.cpp b/lib/CHeroHandler.cpp index b8826817e..9f4bf1058 100644 --- a/lib/CHeroHandler.cpp +++ b/lib/CHeroHandler.cpp @@ -108,6 +108,7 @@ CHeroClass *CHeroClassHandler::loadFromJson(const JsonNode & node) heroClass->secSkillProbability.push_back(node["secondarySkills"][secSkill].Float()); } + heroClass->defaultTavernChance = node["defaultTavern"].Float(); for(auto & tavern : node["tavern"].Struct()) { int value = tavern.second.Float(); @@ -189,6 +190,24 @@ void CHeroClassHandler::loadObject(std::string scope, std::string name, const Js VLC->modh->identifiers.registerObject(scope, "heroClass", name, object->id); } +void CHeroClassHandler::afterLoadFinalization() +{ + // for each pair set selection probability if it was not set before in tavern entries + for (CHeroClass * heroClass : heroClasses) + { + for (CFaction * faction : VLC->townh->factions) + { + if (!faction->town) + continue; + if (heroClass->selectionProbability.count(faction->index)) + continue; + + float chance = heroClass->defaultTavernChance * faction->town->defaultTavernChance; + heroClass->selectionProbability[faction->index] = round(sqrt(chance)); + } + } +} + std::vector CHeroClassHandler::getDefaultAllowed() const { return std::vector(heroClasses.size(), true); diff --git a/lib/CHeroHandler.h b/lib/CHeroHandler.h index ce531365c..d1859f63f 100644 --- a/lib/CHeroHandler.h +++ b/lib/CHeroHandler.h @@ -103,6 +103,10 @@ public: TFaction faction; ui8 id; + // default chance for hero of specific class to appear in tavern, if field "tavern" was not set + // resulting chance = sqrt(town.chance * heroClass.chance) + ui32 defaultTavernChance; + std::vector primarySkillInitial; // initial primary skills std::vector primarySkillLowLevel; // probability (%) of getting point of primary skill when getting level std::vector primarySkillHighLevel;// same for high levels (> 10) @@ -121,7 +125,7 @@ public: template void serialize(Handler &h, const int version) { - h & identifier & name & faction & id;// & aggression; + h & identifier & name & faction & id & defaultTavernChance;// & aggression; h & primarySkillInitial & primarySkillLowLevel; h & primarySkillHighLevel & secSkillProbability; h & selectionProbability; @@ -162,6 +166,8 @@ public: void loadObject(std::string scope, std::string name, const JsonNode & data) override; void loadObject(std::string scope, std::string name, const JsonNode & data, size_t index) override; + void afterLoadFinalization(); + std::vector getDefaultAllowed() const; ~CHeroClassHandler(); diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 1d0f5331a..6f93d52ee 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -5,6 +5,13 @@ include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_CURRENT_SOURCE_DIRECTORY} ${ include_directories(${Boost_INCLUDE_DIRS} ${SDL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR}) set(lib_SRCS + RegisterTypes.cpp + IGameCallback.cpp + CGameState.cpp + CObjectHandler.cpp + Connection.cpp + NetPacksLib.cpp + filesystem/AdapterLoaders.cpp filesystem/CCompressedStream.cpp filesystem/CFilesystemLoader.cpp @@ -47,24 +54,18 @@ set(lib_SRCS CCreatureSet.cpp CDefObjInfoHandler.cpp CGameInterface.cpp - CGameState.cpp CGeneralTextHandler.cpp CHeroHandler.cpp CModHandler.cpp - CObjectHandler.cpp CObstacleInstance.cpp - Connection.cpp CSpellHandler.cpp CThreadHelper.cpp CTownHandler.cpp GameConstants.cpp HeroBonus.cpp - IGameCallback.cpp JsonDetail.cpp JsonNode.cpp - NetPacksLib.cpp ResourceSet.cpp - RegisterTypes.cpp VCMI_Lib.cpp VCMIDirs.cpp ) diff --git a/lib/CModHandler.cpp b/lib/CModHandler.cpp index 65c981adf..1ded92c28 100644 --- a/lib/CModHandler.cpp +++ b/lib/CModHandler.cpp @@ -445,17 +445,31 @@ std::vector CModHandler::resolveDependencies(std::vector input return output; } +static void updateModSettingsFormat(JsonNode & config) +{ + for (auto & entry : config.Struct()) + { + if (entry.second.getType() == JsonNode::DATA_BOOL) + { + entry.second["active"].Bool() = entry.second.Bool(); + } + } +} + void CModHandler::initialize(std::vector availableMods) { std::string confName = "config/modSettings.json"; JsonNode modConfig; - // Porbably new install. Create initial configuration + // Probably new install. Create initial configuration if (!CResourceHandler::get()->existsResource(ResourceID(confName))) CResourceHandler::get()->createResource(confName); else modConfig = JsonNode(ResourceID(confName)); + // mod compatibility: check if modSettings has old, 0.94 format + updateModSettingsFormat(modConfig["activeMods"]); + const JsonNode & modList = modConfig["activeMods"]; JsonNode resultingList; @@ -473,12 +487,12 @@ void CModHandler::initialize(std::vector availableMods) if (config.isNull()) continue; - if (!modList[name].isNull() && modList[name].Bool() == false ) + if (!modList[name].isNull() && modList[name]["active"].Bool() == false ) { - resultingList[name].Bool() = false; + resultingList[name]["active"].Bool() = false; continue; // disabled mod } - resultingList[name].Bool() = true; + resultingList[name]["active"].Bool() = true; CModInfo & mod = allMods[name]; diff --git a/lib/CTownHandler.cpp b/lib/CTownHandler.cpp index 351b494f5..70d30f5d9 100644 --- a/lib/CTownHandler.cpp +++ b/lib/CTownHandler.cpp @@ -503,6 +503,7 @@ void CTownHandler::loadTown(CTown &town, const JsonNode & source) } } + town.defaultTavernChance = source["defaultTavern"].Float(); /// set chance of specific hero class to appear in this town for(auto &node : source["tavern"].Struct()) { diff --git a/lib/CTownHandler.h b/lib/CTownHandler.h index 734987935..c79b3c2be 100644 --- a/lib/CTownHandler.h +++ b/lib/CTownHandler.h @@ -148,6 +148,9 @@ public: ui16 primaryRes; ArtifactID warMachine; si32 moatDamage; + // default chance for hero of specific class to appear in tavern, if field "tavern" was not set + // resulting chance = sqrt(town.chance * heroClass.chance) + ui32 defaultTavernChance; // Client-only data. Should be moved away from lib struct ClientInfo @@ -197,7 +200,7 @@ public: template void serialize(Handler &h, const int version) { h & names & faction & creatures & dwellings & dwellingNames & buildings & hordeLvl & mageLevel - & primaryRes & warMachine & clientInfo & moatDamage; + & primaryRes & warMachine & clientInfo & moatDamage & defaultTavernChance; auto findNull = [](const std::pair> &building) { return building.second == nullptr; }; diff --git a/scripting/erm/CMakeLists.txt b/scripting/erm/CMakeLists.txt index 294ffe704..d661a5135 100644 --- a/scripting/erm/CMakeLists.txt +++ b/scripting/erm/CMakeLists.txt @@ -4,8 +4,8 @@ cmake_minimum_required(VERSION 2.6) include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_CURRENT_SOURCE_DIRECTORY}) set(lib_SRCS - ERMInterpreter.cpp ERMParser.cpp + ERMInterpreter.cpp ERMScriptModule.cpp ) diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt index 211087923..109b14981 100644 --- a/server/CMakeLists.txt +++ b/server/CMakeLists.txt @@ -6,8 +6,8 @@ include_directories(${Boost_INCLUDE_DIRS}) set(server_SRCS CGameHandler.cpp - CQuery.cpp CVCMIServer.cpp + CQuery.cpp NetPacksServer.cpp )