From 850606cc30eb77daac374b4842957c9f813015be Mon Sep 17 00:00:00 2001 From: marcin Date: Wed, 14 Nov 2012 18:14:20 +0100 Subject: [PATCH 01/10] Feature #391 AiPackage classes --- openmw/apps/openmw/mwmechanics/aiescort.cpp | 56 +++++++++++++++++++++ openmw/apps/openmw/mwmechanics/aiescort.hpp | 41 +++++++++++++++ openmw/apps/openmw/mwmechanics/aifallow.cpp | 27 ++++++++++ openmw/apps/openmw/mwmechanics/aifallow.hpp | 36 +++++++++++++ openmw/apps/openmw/mwmechanics/aitravel.cpp | 44 ++++++++++++++++ openmw/apps/openmw/mwmechanics/aitravel.hpp | 37 ++++++++++++++ openmw/apps/openmw/mwmechanics/aiwander.cpp | 55 ++++++++++++++++++++ openmw/apps/openmw/mwmechanics/aiwander.hpp | 42 ++++++++++++++++ 8 files changed, 338 insertions(+) create mode 100644 openmw/apps/openmw/mwmechanics/aiescort.cpp create mode 100644 openmw/apps/openmw/mwmechanics/aiescort.hpp create mode 100644 openmw/apps/openmw/mwmechanics/aifallow.cpp create mode 100644 openmw/apps/openmw/mwmechanics/aifallow.hpp create mode 100644 openmw/apps/openmw/mwmechanics/aitravel.cpp create mode 100644 openmw/apps/openmw/mwmechanics/aitravel.hpp create mode 100644 openmw/apps/openmw/mwmechanics/aiwander.cpp create mode 100644 openmw/apps/openmw/mwmechanics/aiwander.hpp diff --git a/openmw/apps/openmw/mwmechanics/aiescort.cpp b/openmw/apps/openmw/mwmechanics/aiescort.cpp new file mode 100644 index 000000000..eac5d3bf5 --- /dev/null +++ b/openmw/apps/openmw/mwmechanics/aiescort.cpp @@ -0,0 +1,56 @@ +#include "aiescort.hpp" + + +MWMechanics::AiEscort::AiEscort(std::string ActorID,int Duration, float X, float Y, float Z, bool Reset) +{ + mActorID = ActorID; + mDuration = Duration; + mX = X; + mY = Y; + mZ = Z; + mReset = Reset; + +} +MWMechanics::AiEscort *MWMechanics::AiEscort::clone() const +{ + AiEscort * temp = new AiEscort(*this); + return temp; +} + +bool MWMechanics::AiEscort::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiEscort complted. \n"; + return true; +} + +int MWMechanics::AiEscort::getTypeId() const +{ + return 2; +} + +float MWMechanics::AiEscort::getX() +{ + return mX; +} +float MWMechanics::AiEscort::getY() +{ + return mY; +} +float MWMechanics::AiEscort::getZ() +{ + return mZ; +} +bool MWMechanics::AiEscort::getReset() +{ + return mReset; +} + +std::string MWMechanics::AiEscort::getActorID() +{ + return mActorID; +} + +int MWMechanics::AiEscort::getDuration() +{ + return mDuration; +} diff --git a/openmw/apps/openmw/mwmechanics/aiescort.hpp b/openmw/apps/openmw/mwmechanics/aiescort.hpp new file mode 100644 index 000000000..cc6a1ec29 --- /dev/null +++ b/openmw/apps/openmw/mwmechanics/aiescort.hpp @@ -0,0 +1,41 @@ +#ifndef AIESCORT_H +#define AIESCORT_H + +#include "aipackage.hpp" +#include +#include + +namespace MWWorld +{ +class Ptr; +} + +namespace MWMechanics +{ +class AiEscort : public AiPackage +{ + public: + AiEscort(std::string ActorID,int Duration, float X, float Y, float Z, bool Reset = false); + virtual AiEscort *clone() const; + + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + + virtual int getTypeId() const; + float getX(); + float getY(); + float getZ(); + bool getReset(); + std::string getActorID(); + int getDuration(); + + private: + std::string mActorID; + float mX; + float mY; + float mZ; + int mDuration; + bool mReset; +}; +} +#endif // AIESCORT_H diff --git a/openmw/apps/openmw/mwmechanics/aifallow.cpp b/openmw/apps/openmw/mwmechanics/aifallow.cpp new file mode 100644 index 000000000..2ba527761 --- /dev/null +++ b/openmw/apps/openmw/mwmechanics/aifallow.cpp @@ -0,0 +1,27 @@ +#include "aifallow.hpp" + +MWMechanics::AiFallow::AiFallow(std::string ActorID,float duration, float X, float Y, float Z, bool Reset) +{ + mActorID = ActorID; + mDuration = duration; + mX = X; + mY = Y; + mZ = Z; + mReset = Reset; +} +MWMechanics::AiFallow *MWMechanics::AiFallow::clone() const +{ + AiFallow * temp = new AiFallow(*this); + return temp; +} + + bool MWMechanics::AiFallow::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiFallow complited. \n"; + return true; +} + + int MWMechanics::AiFallow::getTypeId() const +{ + return 3; +} diff --git a/openmw/apps/openmw/mwmechanics/aifallow.hpp b/openmw/apps/openmw/mwmechanics/aifallow.hpp new file mode 100644 index 000000000..b602bf300 --- /dev/null +++ b/openmw/apps/openmw/mwmechanics/aifallow.hpp @@ -0,0 +1,36 @@ +#ifndef AIFALLOW_H +#define AIFALLOW_H + +#include "aipackage.hpp" +#include +#include + +namespace MWWorld +{ +class Ptr; +} + +namespace MWMechanics +{ + +class AiFallow : AiPackage +{ + public: + AiFallow(std::string ActorID,float duration, float X, float Y, float Z, bool Reset = false); + virtual AiFallow *clone() const; + + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + + virtual int getTypeId() const; + ///< 0: Wanter, 1 Travel, 2 Escort, 3 Follo + private: + float mDuration; + float mX; + float mY; + float mZ; + bool mReset; + std::string mActorID; +}; +} +#endif // AIFALLOW_H diff --git a/openmw/apps/openmw/mwmechanics/aitravel.cpp b/openmw/apps/openmw/mwmechanics/aitravel.cpp new file mode 100644 index 000000000..a71c85783 --- /dev/null +++ b/openmw/apps/openmw/mwmechanics/aitravel.cpp @@ -0,0 +1,44 @@ +#include "aitravel.hpp" + +MWMechanics::AiTravel::AiTravel(float x, float y, float z, bool reset) +{ + mX = x; + mY = y; + mZ = z; + mReset = reset; +} +MWMechanics::AiTravel * MWMechanics::AiTravel::clone() const +{ + AiTravel * temp = new AiTravel(*this); + return temp; +} +bool MWMechanics::AiTravel::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiTravel complited. \n"; + return true; +} +int MWMechanics::AiTravel::getTypeId() const +{ + return 1; +} + +float MWMechanics::AiTravel::getX() +{ + return mX; +} + + +float MWMechanics::AiTravel::getY() +{ + return mY; +} + +float MWMechanics::AiTravel::getZ() +{ + return mZ; +} + +bool MWMechanics::AiTravel::getReset() +{ + return mReset; +} diff --git a/openmw/apps/openmw/mwmechanics/aitravel.hpp b/openmw/apps/openmw/mwmechanics/aitravel.hpp new file mode 100644 index 000000000..0503935fd --- /dev/null +++ b/openmw/apps/openmw/mwmechanics/aitravel.hpp @@ -0,0 +1,37 @@ +#ifndef AITRAVEL_HPP_INCLUDED +#define AITRAVEL_HPP_INCLUDED + +#include "aipackage.hpp" +#include + +namespace MWWorld +{ +class Ptr; +} + +namespace MWMechanics +{ +class AiTravel : public AiPackage +{ + public: + AiTravel(float x, float y, float z, bool reset = false); + virtual AiTravel *clone() const; + + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + + virtual int getTypeId() const; + float getX(); + float getY(); + float getZ(); + bool getReset(); + + private: + float mX; + float mY; + float mZ; + bool mReset; +}; +} + +#endif // AITRAVEL_HPP_INCLUDED diff --git a/openmw/apps/openmw/mwmechanics/aiwander.cpp b/openmw/apps/openmw/mwmechanics/aiwander.cpp new file mode 100644 index 000000000..b77b2c04b --- /dev/null +++ b/openmw/apps/openmw/mwmechanics/aiwander.cpp @@ -0,0 +1,55 @@ +#include "aiwander.hpp" + +MWMechanics::AiWander::AiWander(int distance, int duration, int timeOfDay,std::vector Idle,bool reset) +{ + mDistance = distance; + mDuration = duration; + mTimeOfDay = timeOfDay; + mIdle = Idle; + mReset = reset; +} + +int MWMechanics::AiWander::getDistance() const +{ + return mDistance; +} + +int MWMechanics::AiWander::getDuration() const +{ + return mDuration; +} + +int MWMechanics::AiWander::getTimeOfDay() const +{ + return mTimeOfDay; +} + +bool MWMechanics::AiWander::getReset() const +{ + return mReset; +} + +MWMechanics::AiPackage * MWMechanics::AiWander::clone() const +{ + return new AiWander(*this); +} + +bool MWMechanics::AiWander::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiWadner complited. \n"; + return true; +} + +int MWMechanics::AiWander::getTypeId() const +{ + return 0; +} + +int MWMechanics::AiWander::getIdle(int index) const +{ + if(index < 0 || (uint)index > mIdle.size()) + return -1; + int temp; + temp = mIdle.at(index); + return temp; +} diff --git a/openmw/apps/openmw/mwmechanics/aiwander.hpp b/openmw/apps/openmw/mwmechanics/aiwander.hpp new file mode 100644 index 000000000..6ecd7f100 --- /dev/null +++ b/openmw/apps/openmw/mwmechanics/aiwander.hpp @@ -0,0 +1,42 @@ +#ifndef AIWANDER_H +#define AIWANDER_H + +#include "aipackage.hpp" +#include +#include + +namespace MWWorld +{ +class Ptr; +} + +namespace MWMechanics +{ + +class AiWander : public AiPackage +{ +public: + + AiWander(int distance, int duration, int timeOfDay,std::vector Idle,bool reset=false); + virtual AiPackage *clone() const; + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + virtual int getTypeId() const; + ///< 0: Wander + + int getDistance() const; + int getDuration()const; + int getTimeOfDay()const; + bool getReset()const; + int getIdle(int index) const; + +private: + int mDistance; + int mDuration; + int mTimeOfDay; + std::vector mIdle; + bool mReset; +}; +} + +#endif // AIWANDER_H From c26d17c74b4b38c3472c184fc7b2b0c8b1675391 Mon Sep 17 00:00:00 2001 From: marcin Date: Wed, 14 Nov 2012 18:14:59 +0100 Subject: [PATCH 02/10] Feature #391 AiPackage classes --- openmw/apps/openmw/CMakeLists.txt | 132 ++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 openmw/apps/openmw/CMakeLists.txt diff --git a/openmw/apps/openmw/CMakeLists.txt b/openmw/apps/openmw/CMakeLists.txt new file mode 100644 index 000000000..cdfbcc27d --- /dev/null +++ b/openmw/apps/openmw/CMakeLists.txt @@ -0,0 +1,132 @@ + +# config file +configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/config.hpp.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/config.hpp") + +# local files +set(GAME + main.cpp + engine.cpp +) +set(GAME_HEADER + engine.hpp + config.hpp +) +source_group(game FILES ${GAME} ${GAME_HEADER}) + +add_openmw_dir (mwrender + renderingmanager debugging sky player animation npcanimation creatureanimation actors objects + renderinginterface localmap occlusionquery terrain terrainmaterial water shadows + compositors characterpreview externalrendering globalmap + ) + +add_openmw_dir (mwinput + inputmanagerimp + ) + +add_openmw_dir (mwgui + text_input widgets race class birth review windowmanagerimp console dialogue + dialogue_history window_base stats_window messagebox journalwindow charactercreation + map_window window_pinnable_base cursorreplace tooltips scrollwindow bookwindow list + formatting inventorywindow container hud countdialog tradewindow settingswindow + confirmationdialog alchemywindow referenceinterface spellwindow mainmenu quickkeysmenu + itemselection spellbuyingwindow loadingscreen levelupdialog waitdialog spellcreationdialog + enchantingdialog trainingwindow travelwindow + ) + +add_openmw_dir (mwdialogue + dialoguemanagerimp journalimp journalentry quest topic + ) + +add_openmw_dir (mwscript + locals scriptmanagerimp compilercontext interpretercontext cellextensions miscextensions + guiextensions soundextensions skyextensions statsextensions containerextensions + aiextensions controlextensions extensions globalscripts ref dialogueextensions + animationextensions transformationextensions consoleextensions userextensions + ) + +add_openmw_dir (mwsound + soundmanagerimp openal_output audiere_decoder mpgsnd_decoder ffmpeg_decoder + ) + +add_openmw_dir (mwworld + refdata worldimp physicssystem scene globals class action nullaction actionteleport + containerstore actiontalk actiontake manualref player cellfunctors + cells localscripts customdata weather inventorystore ptr actionopen actionread + actionequip timestamp actionalchemy cellstore actionapply actioneat + esmstore store recordcmp + ) + +add_openmw_dir (mwclass + classes activator creature npc weapon armor potion apparatus book clothing container door + ingredient creaturelevlist itemlevlist light lockpick misc probe repair static + ) + +add_openmw_dir (mwmechanics + mechanicsmanagerimp stat creaturestats magiceffects movement actors drawstate spells + activespells npcstats aipackage aisequence alchemy aiwander aitravel aifallow aiescort + ) + +add_openmw_dir (mwbase + environment world scriptmanager dialoguemanager journal soundmanager mechanicsmanager + inputmanager windowmanager + ) + +# Main executable +IF(OGRE_STATIC) +IF(WIN32) +ADD_DEFINITIONS(-DENABLE_PLUGIN_CgProgramManager -DENABLE_PLUGIN_OctreeSceneManager -DENABLE_PLUGIN_ParticleFX -DENABLE_PLUGIN_-DENABLE_PLUGIN_Direct3D9 -DENABLE_PLUGIN_GL) +set(OGRE_STATIC_PLUGINS ${OGRE_Plugin_CgProgramManager_LIBRARIES} ${OGRE_Plugin_OctreeSceneManager_LIBRARIES} ${OGRE_Plugin_ParticleFX_LIBRARIES} ${OGRE_RenderSystem_Direct3D9_LIBRARIES} ${OGRE_RenderSystem_GL_LIBRARIES}) +ELSE(WIN32) +ADD_DEFINITIONS(-DENABLE_PLUGIN_CgProgramManager -DENABLE_PLUGIN_OctreeSceneManager -DENABLE_PLUGIN_ParticleFX -DENABLE_PLUGIN_GL) +set(OGRE_STATIC_PLUGINS ${OGRE_Plugin_CgProgramManager_LIBRARIES} ${Cg_LIBRARIES} ${OGRE_Plugin_OctreeSceneManager_LIBRARIES} ${OGRE_Plugin_ParticleFX_LIBRARIES} ${OGRE_RenderSystem_GL_LIBRARIES}) +ENDIF(WIN32) +ENDIF(OGRE_STATIC) +add_executable(openmw + ${OPENMW_LIBS} ${OPENMW_LIBS_HEADER} + ${OPENMW_FILES} + ${GAME} ${GAME_HEADER} + ${APPLE_BUNDLE_RESOURCES} +) + +# Sound stuff - here so CMake doesn't stupidly recompile EVERYTHING +# when we change the backend. +include_directories(${SOUND_INPUT_INCLUDES} ${BULLET_INCLUDE_DIRS}) +add_definitions(${SOUND_DEFINE}) + +target_link_libraries(openmw + ${OGRE_LIBRARIES} + ${OGRE_Terrain_LIBRARY} + ${OGRE_STATIC_PLUGINS} + ${OIS_LIBRARIES} + ${Boost_LIBRARIES} + ${OPENAL_LIBRARY} + ${SOUND_INPUT_LIBRARY} + ${BULLET_LIBRARIES} + ${MYGUI_LIBRARIES} + ${MYGUI_PLATFORM_LIBRARIES} + "shiny" + "shiny.OgrePlatform" + "oics" + components +) + +# Fix for not visible pthreads functions for linker with glibc 2.15 +if (UNIX AND NOT APPLE) +target_link_libraries(openmw ${CMAKE_THREAD_LIBS_INIT}) +endif() + +if(APPLE) + find_library(CARBON_FRAMEWORK Carbon) + find_library(COCOA_FRAMEWORK Cocoa) + find_library(IOKIT_FRAMEWORK IOKit) + target_link_libraries(openmw ${CARBON_FRAMEWORK} ${COCOA_FRAMEWORK} ${IOKIT_FRAMEWORK}) +endif(APPLE) + +if(DPKG_PROGRAM) + INSTALL(TARGETS openmw RUNTIME DESTINATION games COMPONENT openmw) +endif(DPKG_PROGRAM) + +if (BUILD_WITH_CODE_COVERAGE) + add_definitions (--coverage) + target_link_libraries(openmw gcov) +endif() From 698afbec3e62f54ee44b76ae02e07ca5beaa164b Mon Sep 17 00:00:00 2001 From: marcin Date: Wed, 14 Nov 2012 18:40:32 +0100 Subject: [PATCH 03/10] Feature #391 Dummy AI package classes --- apps/openmw/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index b9ce26a66..cdfbcc27d 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -63,7 +63,7 @@ add_openmw_dir (mwclass add_openmw_dir (mwmechanics mechanicsmanagerimp stat creaturestats magiceffects movement actors drawstate spells - activespells npcstats aipackage aisequence alchemy + activespells npcstats aipackage aisequence alchemy aiwander aitravel aifallow aiescort ) add_openmw_dir (mwbase From e6c8e1f0d7e2149de4d980d617e504971aaa29ae Mon Sep 17 00:00:00 2001 From: marcin Date: Wed, 14 Nov 2012 18:42:04 +0100 Subject: [PATCH 04/10] Feature #391 Dummy AI package classes --- apps/openmw/mwmechanics/aiescort.cpp | 56 ++++++++++++++++++++++++++++ apps/openmw/mwmechanics/aiescort.hpp | 41 ++++++++++++++++++++ apps/openmw/mwmechanics/aifallow.cpp | 27 ++++++++++++++ apps/openmw/mwmechanics/aifallow.hpp | 36 ++++++++++++++++++ apps/openmw/mwmechanics/aitravel.cpp | 44 ++++++++++++++++++++++ apps/openmw/mwmechanics/aitravel.hpp | 37 ++++++++++++++++++ apps/openmw/mwmechanics/aiwander.cpp | 55 +++++++++++++++++++++++++++ apps/openmw/mwmechanics/aiwander.hpp | 42 +++++++++++++++++++++ 8 files changed, 338 insertions(+) create mode 100644 apps/openmw/mwmechanics/aiescort.cpp create mode 100644 apps/openmw/mwmechanics/aiescort.hpp create mode 100644 apps/openmw/mwmechanics/aifallow.cpp create mode 100644 apps/openmw/mwmechanics/aifallow.hpp create mode 100644 apps/openmw/mwmechanics/aitravel.cpp create mode 100644 apps/openmw/mwmechanics/aitravel.hpp create mode 100644 apps/openmw/mwmechanics/aiwander.cpp create mode 100644 apps/openmw/mwmechanics/aiwander.hpp diff --git a/apps/openmw/mwmechanics/aiescort.cpp b/apps/openmw/mwmechanics/aiescort.cpp new file mode 100644 index 000000000..eac5d3bf5 --- /dev/null +++ b/apps/openmw/mwmechanics/aiescort.cpp @@ -0,0 +1,56 @@ +#include "aiescort.hpp" + + +MWMechanics::AiEscort::AiEscort(std::string ActorID,int Duration, float X, float Y, float Z, bool Reset) +{ + mActorID = ActorID; + mDuration = Duration; + mX = X; + mY = Y; + mZ = Z; + mReset = Reset; + +} +MWMechanics::AiEscort *MWMechanics::AiEscort::clone() const +{ + AiEscort * temp = new AiEscort(*this); + return temp; +} + +bool MWMechanics::AiEscort::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiEscort complted. \n"; + return true; +} + +int MWMechanics::AiEscort::getTypeId() const +{ + return 2; +} + +float MWMechanics::AiEscort::getX() +{ + return mX; +} +float MWMechanics::AiEscort::getY() +{ + return mY; +} +float MWMechanics::AiEscort::getZ() +{ + return mZ; +} +bool MWMechanics::AiEscort::getReset() +{ + return mReset; +} + +std::string MWMechanics::AiEscort::getActorID() +{ + return mActorID; +} + +int MWMechanics::AiEscort::getDuration() +{ + return mDuration; +} diff --git a/apps/openmw/mwmechanics/aiescort.hpp b/apps/openmw/mwmechanics/aiescort.hpp new file mode 100644 index 000000000..cc6a1ec29 --- /dev/null +++ b/apps/openmw/mwmechanics/aiescort.hpp @@ -0,0 +1,41 @@ +#ifndef AIESCORT_H +#define AIESCORT_H + +#include "aipackage.hpp" +#include +#include + +namespace MWWorld +{ +class Ptr; +} + +namespace MWMechanics +{ +class AiEscort : public AiPackage +{ + public: + AiEscort(std::string ActorID,int Duration, float X, float Y, float Z, bool Reset = false); + virtual AiEscort *clone() const; + + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + + virtual int getTypeId() const; + float getX(); + float getY(); + float getZ(); + bool getReset(); + std::string getActorID(); + int getDuration(); + + private: + std::string mActorID; + float mX; + float mY; + float mZ; + int mDuration; + bool mReset; +}; +} +#endif // AIESCORT_H diff --git a/apps/openmw/mwmechanics/aifallow.cpp b/apps/openmw/mwmechanics/aifallow.cpp new file mode 100644 index 000000000..2ba527761 --- /dev/null +++ b/apps/openmw/mwmechanics/aifallow.cpp @@ -0,0 +1,27 @@ +#include "aifallow.hpp" + +MWMechanics::AiFallow::AiFallow(std::string ActorID,float duration, float X, float Y, float Z, bool Reset) +{ + mActorID = ActorID; + mDuration = duration; + mX = X; + mY = Y; + mZ = Z; + mReset = Reset; +} +MWMechanics::AiFallow *MWMechanics::AiFallow::clone() const +{ + AiFallow * temp = new AiFallow(*this); + return temp; +} + + bool MWMechanics::AiFallow::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiFallow complited. \n"; + return true; +} + + int MWMechanics::AiFallow::getTypeId() const +{ + return 3; +} diff --git a/apps/openmw/mwmechanics/aifallow.hpp b/apps/openmw/mwmechanics/aifallow.hpp new file mode 100644 index 000000000..b602bf300 --- /dev/null +++ b/apps/openmw/mwmechanics/aifallow.hpp @@ -0,0 +1,36 @@ +#ifndef AIFALLOW_H +#define AIFALLOW_H + +#include "aipackage.hpp" +#include +#include + +namespace MWWorld +{ +class Ptr; +} + +namespace MWMechanics +{ + +class AiFallow : AiPackage +{ + public: + AiFallow(std::string ActorID,float duration, float X, float Y, float Z, bool Reset = false); + virtual AiFallow *clone() const; + + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + + virtual int getTypeId() const; + ///< 0: Wanter, 1 Travel, 2 Escort, 3 Follo + private: + float mDuration; + float mX; + float mY; + float mZ; + bool mReset; + std::string mActorID; +}; +} +#endif // AIFALLOW_H diff --git a/apps/openmw/mwmechanics/aitravel.cpp b/apps/openmw/mwmechanics/aitravel.cpp new file mode 100644 index 000000000..a71c85783 --- /dev/null +++ b/apps/openmw/mwmechanics/aitravel.cpp @@ -0,0 +1,44 @@ +#include "aitravel.hpp" + +MWMechanics::AiTravel::AiTravel(float x, float y, float z, bool reset) +{ + mX = x; + mY = y; + mZ = z; + mReset = reset; +} +MWMechanics::AiTravel * MWMechanics::AiTravel::clone() const +{ + AiTravel * temp = new AiTravel(*this); + return temp; +} +bool MWMechanics::AiTravel::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiTravel complited. \n"; + return true; +} +int MWMechanics::AiTravel::getTypeId() const +{ + return 1; +} + +float MWMechanics::AiTravel::getX() +{ + return mX; +} + + +float MWMechanics::AiTravel::getY() +{ + return mY; +} + +float MWMechanics::AiTravel::getZ() +{ + return mZ; +} + +bool MWMechanics::AiTravel::getReset() +{ + return mReset; +} diff --git a/apps/openmw/mwmechanics/aitravel.hpp b/apps/openmw/mwmechanics/aitravel.hpp new file mode 100644 index 000000000..0503935fd --- /dev/null +++ b/apps/openmw/mwmechanics/aitravel.hpp @@ -0,0 +1,37 @@ +#ifndef AITRAVEL_HPP_INCLUDED +#define AITRAVEL_HPP_INCLUDED + +#include "aipackage.hpp" +#include + +namespace MWWorld +{ +class Ptr; +} + +namespace MWMechanics +{ +class AiTravel : public AiPackage +{ + public: + AiTravel(float x, float y, float z, bool reset = false); + virtual AiTravel *clone() const; + + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + + virtual int getTypeId() const; + float getX(); + float getY(); + float getZ(); + bool getReset(); + + private: + float mX; + float mY; + float mZ; + bool mReset; +}; +} + +#endif // AITRAVEL_HPP_INCLUDED diff --git a/apps/openmw/mwmechanics/aiwander.cpp b/apps/openmw/mwmechanics/aiwander.cpp new file mode 100644 index 000000000..b77b2c04b --- /dev/null +++ b/apps/openmw/mwmechanics/aiwander.cpp @@ -0,0 +1,55 @@ +#include "aiwander.hpp" + +MWMechanics::AiWander::AiWander(int distance, int duration, int timeOfDay,std::vector Idle,bool reset) +{ + mDistance = distance; + mDuration = duration; + mTimeOfDay = timeOfDay; + mIdle = Idle; + mReset = reset; +} + +int MWMechanics::AiWander::getDistance() const +{ + return mDistance; +} + +int MWMechanics::AiWander::getDuration() const +{ + return mDuration; +} + +int MWMechanics::AiWander::getTimeOfDay() const +{ + return mTimeOfDay; +} + +bool MWMechanics::AiWander::getReset() const +{ + return mReset; +} + +MWMechanics::AiPackage * MWMechanics::AiWander::clone() const +{ + return new AiWander(*this); +} + +bool MWMechanics::AiWander::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiWadner complited. \n"; + return true; +} + +int MWMechanics::AiWander::getTypeId() const +{ + return 0; +} + +int MWMechanics::AiWander::getIdle(int index) const +{ + if(index < 0 || (uint)index > mIdle.size()) + return -1; + int temp; + temp = mIdle.at(index); + return temp; +} diff --git a/apps/openmw/mwmechanics/aiwander.hpp b/apps/openmw/mwmechanics/aiwander.hpp new file mode 100644 index 000000000..6ecd7f100 --- /dev/null +++ b/apps/openmw/mwmechanics/aiwander.hpp @@ -0,0 +1,42 @@ +#ifndef AIWANDER_H +#define AIWANDER_H + +#include "aipackage.hpp" +#include +#include + +namespace MWWorld +{ +class Ptr; +} + +namespace MWMechanics +{ + +class AiWander : public AiPackage +{ +public: + + AiWander(int distance, int duration, int timeOfDay,std::vector Idle,bool reset=false); + virtual AiPackage *clone() const; + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + virtual int getTypeId() const; + ///< 0: Wander + + int getDistance() const; + int getDuration()const; + int getTimeOfDay()const; + bool getReset()const; + int getIdle(int index) const; + +private: + int mDistance; + int mDuration; + int mTimeOfDay; + std::vector mIdle; + bool mReset; +}; +} + +#endif // AIWANDER_H From 4b939c7521ece2f9db5258b44495faa1cfd15f3c Mon Sep 17 00:00:00 2001 From: marcin Date: Thu, 15 Nov 2012 22:15:20 +0100 Subject: [PATCH 05/10] Feature #391 Dummy AI package classes --- apps/openmw/CMakeLists.txt | 2 +- apps/openmw/mwmechanics/aiescort.cpp | 21 ++++------------ apps/openmw/mwmechanics/aiescort.hpp | 21 ++++++---------- apps/openmw/mwmechanics/aifallow.cpp | 27 --------------------- apps/openmw/mwmechanics/aifallow.hpp | 36 ---------------------------- apps/openmw/mwmechanics/aitravel.cpp | 21 +++++++--------- apps/openmw/mwmechanics/aitravel.hpp | 18 +++++--------- apps/openmw/mwmechanics/aiwander.cpp | 16 ++++--------- apps/openmw/mwmechanics/aiwander.hpp | 14 +++-------- 9 files changed, 34 insertions(+), 142 deletions(-) delete mode 100644 apps/openmw/mwmechanics/aifallow.cpp delete mode 100644 apps/openmw/mwmechanics/aifallow.hpp diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index cdfbcc27d..e513c9dd5 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -63,7 +63,7 @@ add_openmw_dir (mwclass add_openmw_dir (mwmechanics mechanicsmanagerimp stat creaturestats magiceffects movement actors drawstate spells - activespells npcstats aipackage aisequence alchemy aiwander aitravel aifallow aiescort + activespells npcstats aipackage aisequence alchemy aiwander aitravel aifollow aiescort aiactivate ) add_openmw_dir (mwbase diff --git a/apps/openmw/mwmechanics/aiescort.cpp b/apps/openmw/mwmechanics/aiescort.cpp index eac5d3bf5..fd7b9bf32 100644 --- a/apps/openmw/mwmechanics/aiescort.cpp +++ b/apps/openmw/mwmechanics/aiescort.cpp @@ -1,25 +1,18 @@ #include "aiescort.hpp" +#include - -MWMechanics::AiEscort::AiEscort(std::string ActorID,int Duration, float X, float Y, float Z, bool Reset) +MWMechanics::AiEscort::AiEscort(const std::string &ActorID,int Duration, float X, float Y, float Z): +mActorID(ActorID), mDuration(Duration), mX(X), mY(Y), mZ(Z) { - mActorID = ActorID; - mDuration = Duration; - mX = X; - mY = Y; - mZ = Z; - mReset = Reset; - } MWMechanics::AiEscort *MWMechanics::AiEscort::clone() const { - AiEscort * temp = new AiEscort(*this); - return temp; + return new AiEscort(*this); } bool MWMechanics::AiEscort::execute (const MWWorld::Ptr& actor) { - std::cout << "AiEscort complted. \n"; + std::cout << "AiEscort completed. \n"; return true; } @@ -40,10 +33,6 @@ float MWMechanics::AiEscort::getZ() { return mZ; } -bool MWMechanics::AiEscort::getReset() -{ - return mReset; -} std::string MWMechanics::AiEscort::getActorID() { diff --git a/apps/openmw/mwmechanics/aiescort.hpp b/apps/openmw/mwmechanics/aiescort.hpp index cc6a1ec29..e39327e04 100644 --- a/apps/openmw/mwmechanics/aiescort.hpp +++ b/apps/openmw/mwmechanics/aiescort.hpp @@ -1,21 +1,15 @@ -#ifndef AIESCORT_H -#define AIESCORT_H +#ifndef GAME_MWMECHANICS_AIESCORT_H +#define GAME_MWMECHANICS_AIESCORT_H -#include "aipackage.hpp" -#include -#include - -namespace MWWorld -{ -class Ptr; -} +#include "aipackage.hpp" +#include namespace MWMechanics { class AiEscort : public AiPackage { public: - AiEscort(std::string ActorID,int Duration, float X, float Y, float Z, bool Reset = false); + AiEscort(const std::string &ActorID,int Duration, float X, float Y, float Z); virtual AiEscort *clone() const; virtual bool execute (const MWWorld::Ptr& actor); @@ -25,7 +19,6 @@ class AiEscort : public AiPackage float getX(); float getY(); float getZ(); - bool getReset(); std::string getActorID(); int getDuration(); @@ -35,7 +28,7 @@ class AiEscort : public AiPackage float mY; float mZ; int mDuration; - bool mReset; + }; } -#endif // AIESCORT_H +#endif diff --git a/apps/openmw/mwmechanics/aifallow.cpp b/apps/openmw/mwmechanics/aifallow.cpp deleted file mode 100644 index 2ba527761..000000000 --- a/apps/openmw/mwmechanics/aifallow.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "aifallow.hpp" - -MWMechanics::AiFallow::AiFallow(std::string ActorID,float duration, float X, float Y, float Z, bool Reset) -{ - mActorID = ActorID; - mDuration = duration; - mX = X; - mY = Y; - mZ = Z; - mReset = Reset; -} -MWMechanics::AiFallow *MWMechanics::AiFallow::clone() const -{ - AiFallow * temp = new AiFallow(*this); - return temp; -} - - bool MWMechanics::AiFallow::execute (const MWWorld::Ptr& actor) -{ - std::cout << "AiFallow complited. \n"; - return true; -} - - int MWMechanics::AiFallow::getTypeId() const -{ - return 3; -} diff --git a/apps/openmw/mwmechanics/aifallow.hpp b/apps/openmw/mwmechanics/aifallow.hpp deleted file mode 100644 index b602bf300..000000000 --- a/apps/openmw/mwmechanics/aifallow.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef AIFALLOW_H -#define AIFALLOW_H - -#include "aipackage.hpp" -#include -#include - -namespace MWWorld -{ -class Ptr; -} - -namespace MWMechanics -{ - -class AiFallow : AiPackage -{ - public: - AiFallow(std::string ActorID,float duration, float X, float Y, float Z, bool Reset = false); - virtual AiFallow *clone() const; - - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? - - virtual int getTypeId() const; - ///< 0: Wanter, 1 Travel, 2 Escort, 3 Follo - private: - float mDuration; - float mX; - float mY; - float mZ; - bool mReset; - std::string mActorID; -}; -} -#endif // AIFALLOW_H diff --git a/apps/openmw/mwmechanics/aitravel.cpp b/apps/openmw/mwmechanics/aitravel.cpp index a71c85783..d07d30228 100644 --- a/apps/openmw/mwmechanics/aitravel.cpp +++ b/apps/openmw/mwmechanics/aitravel.cpp @@ -1,22 +1,22 @@ #include "aitravel.hpp" +#include -MWMechanics::AiTravel::AiTravel(float x, float y, float z, bool reset) +MWMechanics::AiTravel::AiTravel(float x, float y, float z): +mX(x),mY(y),mZ(z) { - mX = x; - mY = y; - mZ = z; - mReset = reset; } + MWMechanics::AiTravel * MWMechanics::AiTravel::clone() const { - AiTravel * temp = new AiTravel(*this); - return temp; + return new AiTravel(*this); } + bool MWMechanics::AiTravel::execute (const MWWorld::Ptr& actor) { - std::cout << "AiTravel complited. \n"; + std::cout << "AiTravel completed.\n"; return true; } + int MWMechanics::AiTravel::getTypeId() const { return 1; @@ -27,7 +27,6 @@ float MWMechanics::AiTravel::getX() return mX; } - float MWMechanics::AiTravel::getY() { return mY; @@ -38,7 +37,3 @@ float MWMechanics::AiTravel::getZ() return mZ; } -bool MWMechanics::AiTravel::getReset() -{ - return mReset; -} diff --git a/apps/openmw/mwmechanics/aitravel.hpp b/apps/openmw/mwmechanics/aitravel.hpp index 0503935fd..86032cf54 100644 --- a/apps/openmw/mwmechanics/aitravel.hpp +++ b/apps/openmw/mwmechanics/aitravel.hpp @@ -1,20 +1,14 @@ -#ifndef AITRAVEL_HPP_INCLUDED -#define AITRAVEL_HPP_INCLUDED +#ifndef GAME_MWMECHANICS_AITRAVEL_H +#define GAME_MWMECHANICS_AITRAVEL_H #include "aipackage.hpp" -#include - -namespace MWWorld -{ -class Ptr; -} namespace MWMechanics { class AiTravel : public AiPackage { public: - AiTravel(float x, float y, float z, bool reset = false); + AiTravel(float x, float y, float z); virtual AiTravel *clone() const; virtual bool execute (const MWWorld::Ptr& actor); @@ -24,14 +18,14 @@ class AiTravel : public AiPackage float getX(); float getY(); float getZ(); - bool getReset(); + private: float mX; float mY; float mZ; - bool mReset; + }; } -#endif // AITRAVEL_HPP_INCLUDED +#endif diff --git a/apps/openmw/mwmechanics/aiwander.cpp b/apps/openmw/mwmechanics/aiwander.cpp index b77b2c04b..ac39fe94d 100644 --- a/apps/openmw/mwmechanics/aiwander.cpp +++ b/apps/openmw/mwmechanics/aiwander.cpp @@ -1,12 +1,9 @@ #include "aiwander.hpp" +#include -MWMechanics::AiWander::AiWander(int distance, int duration, int timeOfDay,std::vector Idle,bool reset) +MWMechanics::AiWander::AiWander(int distance, int duration, int timeOfDay,std::vector Idle): + mDistance(distance), mDuration(duration), mTimeOfDay(timeOfDay), mIdle(Idle) { - mDistance = distance; - mDuration = duration; - mTimeOfDay = timeOfDay; - mIdle = Idle; - mReset = reset; } int MWMechanics::AiWander::getDistance() const @@ -24,11 +21,6 @@ int MWMechanics::AiWander::getTimeOfDay() const return mTimeOfDay; } -bool MWMechanics::AiWander::getReset() const -{ - return mReset; -} - MWMechanics::AiPackage * MWMechanics::AiWander::clone() const { return new AiWander(*this); @@ -36,7 +28,7 @@ MWMechanics::AiPackage * MWMechanics::AiWander::clone() const bool MWMechanics::AiWander::execute (const MWWorld::Ptr& actor) { - std::cout << "AiWadner complited. \n"; + std::cout << "AiWadner completed.\n"; return true; } diff --git a/apps/openmw/mwmechanics/aiwander.hpp b/apps/openmw/mwmechanics/aiwander.hpp index 6ecd7f100..64168042c 100644 --- a/apps/openmw/mwmechanics/aiwander.hpp +++ b/apps/openmw/mwmechanics/aiwander.hpp @@ -1,15 +1,9 @@ -#ifndef AIWANDER_H -#define AIWANDER_H +#ifndef GAME_MWMECHANICS_AIWANDER_H +#define GAME_MWMECHANICS_AIWANDER_H #include "aipackage.hpp" -#include #include -namespace MWWorld -{ -class Ptr; -} - namespace MWMechanics { @@ -17,7 +11,7 @@ class AiWander : public AiPackage { public: - AiWander(int distance, int duration, int timeOfDay,std::vector Idle,bool reset=false); + AiWander(int distance, int duration, int timeOfDay,std::vector Idle); virtual AiPackage *clone() const; virtual bool execute (const MWWorld::Ptr& actor); ///< \return Package completed? @@ -27,7 +21,6 @@ public: int getDistance() const; int getDuration()const; int getTimeOfDay()const; - bool getReset()const; int getIdle(int index) const; private: @@ -35,7 +28,6 @@ private: int mDuration; int mTimeOfDay; std::vector mIdle; - bool mReset; }; } From 515419ae0beb762b68822cfb572ad840e7899e3a Mon Sep 17 00:00:00 2001 From: marcin Date: Thu, 15 Nov 2012 22:22:44 +0100 Subject: [PATCH 06/10] Feature #391 Dummy AI package classes --- apps/openmw/mwmechanics/aiactivate.cpp | 21 +++++++++++++++++++++ apps/openmw/mwmechanics/aiactivate.hpp | 23 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 apps/openmw/mwmechanics/aiactivate.cpp create mode 100644 apps/openmw/mwmechanics/aiactivate.hpp diff --git a/apps/openmw/mwmechanics/aiactivate.cpp b/apps/openmw/mwmechanics/aiactivate.cpp new file mode 100644 index 000000000..72dfae11b --- /dev/null +++ b/apps/openmw/mwmechanics/aiactivate.cpp @@ -0,0 +1,21 @@ +#include "aiactivate.hpp" +#include + +MWMechanics::AiActivate::AiActivate(const MWWorld::Ptr& object) +{ + mObject = &object; +} +MWMechanics::AiActivate *MWMechanics::AiActivate::clone() const +{ + return new AiActivate(*this); +} +bool MWMechanics::AiActivate::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiActivate completed.\n"; + return true; +} + +int MWMechanics::AiActivate::getTypeId() const +{ + return 4; +} diff --git a/apps/openmw/mwmechanics/aiactivate.hpp b/apps/openmw/mwmechanics/aiactivate.hpp new file mode 100644 index 000000000..c314cb2f5 --- /dev/null +++ b/apps/openmw/mwmechanics/aiactivate.hpp @@ -0,0 +1,23 @@ +#ifndef GAME_MWMECHANICS_AIACTIVATE_H +#define GAME_MWMECHANICS_AIACTIVATE_H + +#include "aipackage.hpp" + + +namespace MWMechanics +{ + +class AiActivate : AiPackage +{ + public: + AiActivate(const MWWorld::Ptr& object); + virtual AiActivate *clone() const; + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + virtual int getTypeId() const; + + private: + const MWWorld::Ptr * mObject; +}; +} +#endif // GAME_MWMECHANICS_AIACTIVATE_H From 96dd399457f6e41c96ae5b1ff47fd4f29af1dd6e Mon Sep 17 00:00:00 2001 From: marcin Date: Thu, 15 Nov 2012 22:30:15 +0100 Subject: [PATCH 07/10] Feature #391 Dummy AI package classes --- openmw/apps/openmw/CMakeLists.txt | 132 -------------------- openmw/apps/openmw/mwmechanics/aiescort.cpp | 56 --------- openmw/apps/openmw/mwmechanics/aiescort.hpp | 41 ------ openmw/apps/openmw/mwmechanics/aifallow.cpp | 27 ---- openmw/apps/openmw/mwmechanics/aifallow.hpp | 36 ------ openmw/apps/openmw/mwmechanics/aitravel.cpp | 44 ------- openmw/apps/openmw/mwmechanics/aitravel.hpp | 37 ------ openmw/apps/openmw/mwmechanics/aiwander.cpp | 55 -------- openmw/apps/openmw/mwmechanics/aiwander.hpp | 42 ------- 9 files changed, 470 deletions(-) delete mode 100644 openmw/apps/openmw/CMakeLists.txt delete mode 100644 openmw/apps/openmw/mwmechanics/aiescort.cpp delete mode 100644 openmw/apps/openmw/mwmechanics/aiescort.hpp delete mode 100644 openmw/apps/openmw/mwmechanics/aifallow.cpp delete mode 100644 openmw/apps/openmw/mwmechanics/aifallow.hpp delete mode 100644 openmw/apps/openmw/mwmechanics/aitravel.cpp delete mode 100644 openmw/apps/openmw/mwmechanics/aitravel.hpp delete mode 100644 openmw/apps/openmw/mwmechanics/aiwander.cpp delete mode 100644 openmw/apps/openmw/mwmechanics/aiwander.hpp diff --git a/openmw/apps/openmw/CMakeLists.txt b/openmw/apps/openmw/CMakeLists.txt deleted file mode 100644 index cdfbcc27d..000000000 --- a/openmw/apps/openmw/CMakeLists.txt +++ /dev/null @@ -1,132 +0,0 @@ - -# config file -configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/config.hpp.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/config.hpp") - -# local files -set(GAME - main.cpp - engine.cpp -) -set(GAME_HEADER - engine.hpp - config.hpp -) -source_group(game FILES ${GAME} ${GAME_HEADER}) - -add_openmw_dir (mwrender - renderingmanager debugging sky player animation npcanimation creatureanimation actors objects - renderinginterface localmap occlusionquery terrain terrainmaterial water shadows - compositors characterpreview externalrendering globalmap - ) - -add_openmw_dir (mwinput - inputmanagerimp - ) - -add_openmw_dir (mwgui - text_input widgets race class birth review windowmanagerimp console dialogue - dialogue_history window_base stats_window messagebox journalwindow charactercreation - map_window window_pinnable_base cursorreplace tooltips scrollwindow bookwindow list - formatting inventorywindow container hud countdialog tradewindow settingswindow - confirmationdialog alchemywindow referenceinterface spellwindow mainmenu quickkeysmenu - itemselection spellbuyingwindow loadingscreen levelupdialog waitdialog spellcreationdialog - enchantingdialog trainingwindow travelwindow - ) - -add_openmw_dir (mwdialogue - dialoguemanagerimp journalimp journalentry quest topic - ) - -add_openmw_dir (mwscript - locals scriptmanagerimp compilercontext interpretercontext cellextensions miscextensions - guiextensions soundextensions skyextensions statsextensions containerextensions - aiextensions controlextensions extensions globalscripts ref dialogueextensions - animationextensions transformationextensions consoleextensions userextensions - ) - -add_openmw_dir (mwsound - soundmanagerimp openal_output audiere_decoder mpgsnd_decoder ffmpeg_decoder - ) - -add_openmw_dir (mwworld - refdata worldimp physicssystem scene globals class action nullaction actionteleport - containerstore actiontalk actiontake manualref player cellfunctors - cells localscripts customdata weather inventorystore ptr actionopen actionread - actionequip timestamp actionalchemy cellstore actionapply actioneat - esmstore store recordcmp - ) - -add_openmw_dir (mwclass - classes activator creature npc weapon armor potion apparatus book clothing container door - ingredient creaturelevlist itemlevlist light lockpick misc probe repair static - ) - -add_openmw_dir (mwmechanics - mechanicsmanagerimp stat creaturestats magiceffects movement actors drawstate spells - activespells npcstats aipackage aisequence alchemy aiwander aitravel aifallow aiescort - ) - -add_openmw_dir (mwbase - environment world scriptmanager dialoguemanager journal soundmanager mechanicsmanager - inputmanager windowmanager - ) - -# Main executable -IF(OGRE_STATIC) -IF(WIN32) -ADD_DEFINITIONS(-DENABLE_PLUGIN_CgProgramManager -DENABLE_PLUGIN_OctreeSceneManager -DENABLE_PLUGIN_ParticleFX -DENABLE_PLUGIN_-DENABLE_PLUGIN_Direct3D9 -DENABLE_PLUGIN_GL) -set(OGRE_STATIC_PLUGINS ${OGRE_Plugin_CgProgramManager_LIBRARIES} ${OGRE_Plugin_OctreeSceneManager_LIBRARIES} ${OGRE_Plugin_ParticleFX_LIBRARIES} ${OGRE_RenderSystem_Direct3D9_LIBRARIES} ${OGRE_RenderSystem_GL_LIBRARIES}) -ELSE(WIN32) -ADD_DEFINITIONS(-DENABLE_PLUGIN_CgProgramManager -DENABLE_PLUGIN_OctreeSceneManager -DENABLE_PLUGIN_ParticleFX -DENABLE_PLUGIN_GL) -set(OGRE_STATIC_PLUGINS ${OGRE_Plugin_CgProgramManager_LIBRARIES} ${Cg_LIBRARIES} ${OGRE_Plugin_OctreeSceneManager_LIBRARIES} ${OGRE_Plugin_ParticleFX_LIBRARIES} ${OGRE_RenderSystem_GL_LIBRARIES}) -ENDIF(WIN32) -ENDIF(OGRE_STATIC) -add_executable(openmw - ${OPENMW_LIBS} ${OPENMW_LIBS_HEADER} - ${OPENMW_FILES} - ${GAME} ${GAME_HEADER} - ${APPLE_BUNDLE_RESOURCES} -) - -# Sound stuff - here so CMake doesn't stupidly recompile EVERYTHING -# when we change the backend. -include_directories(${SOUND_INPUT_INCLUDES} ${BULLET_INCLUDE_DIRS}) -add_definitions(${SOUND_DEFINE}) - -target_link_libraries(openmw - ${OGRE_LIBRARIES} - ${OGRE_Terrain_LIBRARY} - ${OGRE_STATIC_PLUGINS} - ${OIS_LIBRARIES} - ${Boost_LIBRARIES} - ${OPENAL_LIBRARY} - ${SOUND_INPUT_LIBRARY} - ${BULLET_LIBRARIES} - ${MYGUI_LIBRARIES} - ${MYGUI_PLATFORM_LIBRARIES} - "shiny" - "shiny.OgrePlatform" - "oics" - components -) - -# Fix for not visible pthreads functions for linker with glibc 2.15 -if (UNIX AND NOT APPLE) -target_link_libraries(openmw ${CMAKE_THREAD_LIBS_INIT}) -endif() - -if(APPLE) - find_library(CARBON_FRAMEWORK Carbon) - find_library(COCOA_FRAMEWORK Cocoa) - find_library(IOKIT_FRAMEWORK IOKit) - target_link_libraries(openmw ${CARBON_FRAMEWORK} ${COCOA_FRAMEWORK} ${IOKIT_FRAMEWORK}) -endif(APPLE) - -if(DPKG_PROGRAM) - INSTALL(TARGETS openmw RUNTIME DESTINATION games COMPONENT openmw) -endif(DPKG_PROGRAM) - -if (BUILD_WITH_CODE_COVERAGE) - add_definitions (--coverage) - target_link_libraries(openmw gcov) -endif() diff --git a/openmw/apps/openmw/mwmechanics/aiescort.cpp b/openmw/apps/openmw/mwmechanics/aiescort.cpp deleted file mode 100644 index eac5d3bf5..000000000 --- a/openmw/apps/openmw/mwmechanics/aiescort.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include "aiescort.hpp" - - -MWMechanics::AiEscort::AiEscort(std::string ActorID,int Duration, float X, float Y, float Z, bool Reset) -{ - mActorID = ActorID; - mDuration = Duration; - mX = X; - mY = Y; - mZ = Z; - mReset = Reset; - -} -MWMechanics::AiEscort *MWMechanics::AiEscort::clone() const -{ - AiEscort * temp = new AiEscort(*this); - return temp; -} - -bool MWMechanics::AiEscort::execute (const MWWorld::Ptr& actor) -{ - std::cout << "AiEscort complted. \n"; - return true; -} - -int MWMechanics::AiEscort::getTypeId() const -{ - return 2; -} - -float MWMechanics::AiEscort::getX() -{ - return mX; -} -float MWMechanics::AiEscort::getY() -{ - return mY; -} -float MWMechanics::AiEscort::getZ() -{ - return mZ; -} -bool MWMechanics::AiEscort::getReset() -{ - return mReset; -} - -std::string MWMechanics::AiEscort::getActorID() -{ - return mActorID; -} - -int MWMechanics::AiEscort::getDuration() -{ - return mDuration; -} diff --git a/openmw/apps/openmw/mwmechanics/aiescort.hpp b/openmw/apps/openmw/mwmechanics/aiescort.hpp deleted file mode 100644 index cc6a1ec29..000000000 --- a/openmw/apps/openmw/mwmechanics/aiescort.hpp +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef AIESCORT_H -#define AIESCORT_H - -#include "aipackage.hpp" -#include -#include - -namespace MWWorld -{ -class Ptr; -} - -namespace MWMechanics -{ -class AiEscort : public AiPackage -{ - public: - AiEscort(std::string ActorID,int Duration, float X, float Y, float Z, bool Reset = false); - virtual AiEscort *clone() const; - - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? - - virtual int getTypeId() const; - float getX(); - float getY(); - float getZ(); - bool getReset(); - std::string getActorID(); - int getDuration(); - - private: - std::string mActorID; - float mX; - float mY; - float mZ; - int mDuration; - bool mReset; -}; -} -#endif // AIESCORT_H diff --git a/openmw/apps/openmw/mwmechanics/aifallow.cpp b/openmw/apps/openmw/mwmechanics/aifallow.cpp deleted file mode 100644 index 2ba527761..000000000 --- a/openmw/apps/openmw/mwmechanics/aifallow.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "aifallow.hpp" - -MWMechanics::AiFallow::AiFallow(std::string ActorID,float duration, float X, float Y, float Z, bool Reset) -{ - mActorID = ActorID; - mDuration = duration; - mX = X; - mY = Y; - mZ = Z; - mReset = Reset; -} -MWMechanics::AiFallow *MWMechanics::AiFallow::clone() const -{ - AiFallow * temp = new AiFallow(*this); - return temp; -} - - bool MWMechanics::AiFallow::execute (const MWWorld::Ptr& actor) -{ - std::cout << "AiFallow complited. \n"; - return true; -} - - int MWMechanics::AiFallow::getTypeId() const -{ - return 3; -} diff --git a/openmw/apps/openmw/mwmechanics/aifallow.hpp b/openmw/apps/openmw/mwmechanics/aifallow.hpp deleted file mode 100644 index b602bf300..000000000 --- a/openmw/apps/openmw/mwmechanics/aifallow.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef AIFALLOW_H -#define AIFALLOW_H - -#include "aipackage.hpp" -#include -#include - -namespace MWWorld -{ -class Ptr; -} - -namespace MWMechanics -{ - -class AiFallow : AiPackage -{ - public: - AiFallow(std::string ActorID,float duration, float X, float Y, float Z, bool Reset = false); - virtual AiFallow *clone() const; - - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? - - virtual int getTypeId() const; - ///< 0: Wanter, 1 Travel, 2 Escort, 3 Follo - private: - float mDuration; - float mX; - float mY; - float mZ; - bool mReset; - std::string mActorID; -}; -} -#endif // AIFALLOW_H diff --git a/openmw/apps/openmw/mwmechanics/aitravel.cpp b/openmw/apps/openmw/mwmechanics/aitravel.cpp deleted file mode 100644 index a71c85783..000000000 --- a/openmw/apps/openmw/mwmechanics/aitravel.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include "aitravel.hpp" - -MWMechanics::AiTravel::AiTravel(float x, float y, float z, bool reset) -{ - mX = x; - mY = y; - mZ = z; - mReset = reset; -} -MWMechanics::AiTravel * MWMechanics::AiTravel::clone() const -{ - AiTravel * temp = new AiTravel(*this); - return temp; -} -bool MWMechanics::AiTravel::execute (const MWWorld::Ptr& actor) -{ - std::cout << "AiTravel complited. \n"; - return true; -} -int MWMechanics::AiTravel::getTypeId() const -{ - return 1; -} - -float MWMechanics::AiTravel::getX() -{ - return mX; -} - - -float MWMechanics::AiTravel::getY() -{ - return mY; -} - -float MWMechanics::AiTravel::getZ() -{ - return mZ; -} - -bool MWMechanics::AiTravel::getReset() -{ - return mReset; -} diff --git a/openmw/apps/openmw/mwmechanics/aitravel.hpp b/openmw/apps/openmw/mwmechanics/aitravel.hpp deleted file mode 100644 index 0503935fd..000000000 --- a/openmw/apps/openmw/mwmechanics/aitravel.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef AITRAVEL_HPP_INCLUDED -#define AITRAVEL_HPP_INCLUDED - -#include "aipackage.hpp" -#include - -namespace MWWorld -{ -class Ptr; -} - -namespace MWMechanics -{ -class AiTravel : public AiPackage -{ - public: - AiTravel(float x, float y, float z, bool reset = false); - virtual AiTravel *clone() const; - - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? - - virtual int getTypeId() const; - float getX(); - float getY(); - float getZ(); - bool getReset(); - - private: - float mX; - float mY; - float mZ; - bool mReset; -}; -} - -#endif // AITRAVEL_HPP_INCLUDED diff --git a/openmw/apps/openmw/mwmechanics/aiwander.cpp b/openmw/apps/openmw/mwmechanics/aiwander.cpp deleted file mode 100644 index b77b2c04b..000000000 --- a/openmw/apps/openmw/mwmechanics/aiwander.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include "aiwander.hpp" - -MWMechanics::AiWander::AiWander(int distance, int duration, int timeOfDay,std::vector Idle,bool reset) -{ - mDistance = distance; - mDuration = duration; - mTimeOfDay = timeOfDay; - mIdle = Idle; - mReset = reset; -} - -int MWMechanics::AiWander::getDistance() const -{ - return mDistance; -} - -int MWMechanics::AiWander::getDuration() const -{ - return mDuration; -} - -int MWMechanics::AiWander::getTimeOfDay() const -{ - return mTimeOfDay; -} - -bool MWMechanics::AiWander::getReset() const -{ - return mReset; -} - -MWMechanics::AiPackage * MWMechanics::AiWander::clone() const -{ - return new AiWander(*this); -} - -bool MWMechanics::AiWander::execute (const MWWorld::Ptr& actor) -{ - std::cout << "AiWadner complited. \n"; - return true; -} - -int MWMechanics::AiWander::getTypeId() const -{ - return 0; -} - -int MWMechanics::AiWander::getIdle(int index) const -{ - if(index < 0 || (uint)index > mIdle.size()) - return -1; - int temp; - temp = mIdle.at(index); - return temp; -} diff --git a/openmw/apps/openmw/mwmechanics/aiwander.hpp b/openmw/apps/openmw/mwmechanics/aiwander.hpp deleted file mode 100644 index 6ecd7f100..000000000 --- a/openmw/apps/openmw/mwmechanics/aiwander.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef AIWANDER_H -#define AIWANDER_H - -#include "aipackage.hpp" -#include -#include - -namespace MWWorld -{ -class Ptr; -} - -namespace MWMechanics -{ - -class AiWander : public AiPackage -{ -public: - - AiWander(int distance, int duration, int timeOfDay,std::vector Idle,bool reset=false); - virtual AiPackage *clone() const; - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? - virtual int getTypeId() const; - ///< 0: Wander - - int getDistance() const; - int getDuration()const; - int getTimeOfDay()const; - bool getReset()const; - int getIdle(int index) const; - -private: - int mDistance; - int mDuration; - int mTimeOfDay; - std::vector mIdle; - bool mReset; -}; -} - -#endif // AIWANDER_H From 99ddc63e2c4d165a8b9f9f8d3b47d4c585bf3b94 Mon Sep 17 00:00:00 2001 From: marcin Date: Thu, 15 Nov 2012 22:32:15 +0100 Subject: [PATCH 08/10] Feature #391 Dummy AI package classes --- apps/openmw/mwmechanics/aifollow.cpp | 22 ++++++++++++++++++++++ apps/openmw/mwmechanics/aifollow.hpp | 27 +++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 apps/openmw/mwmechanics/aifollow.cpp create mode 100644 apps/openmw/mwmechanics/aifollow.hpp diff --git a/apps/openmw/mwmechanics/aifollow.cpp b/apps/openmw/mwmechanics/aifollow.cpp new file mode 100644 index 000000000..abb51102b --- /dev/null +++ b/apps/openmw/mwmechanics/aifollow.cpp @@ -0,0 +1,22 @@ +#include "aifollow.hpp" +#include + +MWMechanics::AiFollow::AiFollow(const std::string &ActorID,float duration, float X, float Y, float Z): +mActorID(ActorID), mDuration(duration), mX(X), mY(Y), mZ(Z) +{ +} +MWMechanics::AiFollow *MWMechanics::AiFollow::clone() const +{ + return new AiFollow(*this); +} + + bool MWMechanics::AiFollow::execute (const MWWorld::Ptr& actor) +{ + std::cout << "AiFollow completed.\n"; + return true; +} + + int MWMechanics::AiFollow::getTypeId() const +{ + return 3; +} diff --git a/apps/openmw/mwmechanics/aifollow.hpp b/apps/openmw/mwmechanics/aifollow.hpp new file mode 100644 index 000000000..f2e716ebf --- /dev/null +++ b/apps/openmw/mwmechanics/aifollow.hpp @@ -0,0 +1,27 @@ +#ifndef GAME_MWMECHANICS_AIFALLOW_H +#define GAME_MWMECHANICS_AIFALLOW_H + +#include "aipackage.hpp" +#include + +namespace MWMechanics +{ + +class AiFollow : AiPackage +{ + public: + AiFollow(const std::string &ActorID,float duration, float X, float Y, float Z); + virtual AiFollow *clone() const; + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + virtual int getTypeId() const; + + private: + float mDuration; + float mX; + float mY; + float mZ; + std::string mActorID; +}; +} +#endif From bed0280ba1b789c0b8cb0350bffe5fdbbf154607 Mon Sep 17 00:00:00 2001 From: marcin Date: Thu, 15 Nov 2012 22:33:50 +0100 Subject: [PATCH 09/10] Feature #391 Dummy AI package classes --- apps/openmw/mwmechanics/aiwander.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/openmw/mwmechanics/aiwander.cpp b/apps/openmw/mwmechanics/aiwander.cpp index ac39fe94d..71159b94b 100644 --- a/apps/openmw/mwmechanics/aiwander.cpp +++ b/apps/openmw/mwmechanics/aiwander.cpp @@ -41,7 +41,5 @@ int MWMechanics::AiWander::getIdle(int index) const { if(index < 0 || (uint)index > mIdle.size()) return -1; - int temp; - temp = mIdle.at(index); - return temp; + return mIdle.at(index); } From 51027c541e3ef6b448be96e91f9b24677e000a93 Mon Sep 17 00:00:00 2001 From: marcin Date: Fri, 16 Nov 2012 18:38:15 +0100 Subject: [PATCH 10/10] Feature #391 Dummy AI package classes --- apps/openmw/mwmechanics/aiactivate.cpp | 4 +-- apps/openmw/mwmechanics/aiactivate.hpp | 24 ++++++++-------- apps/openmw/mwmechanics/aiescort.cpp | 4 +-- apps/openmw/mwmechanics/aiescort.hpp | 40 +++++++++++++------------- apps/openmw/mwmechanics/aifollow.cpp | 4 +-- apps/openmw/mwmechanics/aifollow.hpp | 30 +++++++++---------- apps/openmw/mwmechanics/aitravel.hpp | 32 ++++++++++----------- apps/openmw/mwmechanics/aiwander.cpp | 6 ++-- apps/openmw/mwmechanics/aiwander.hpp | 40 +++++++++++++------------- 9 files changed, 91 insertions(+), 93 deletions(-) diff --git a/apps/openmw/mwmechanics/aiactivate.cpp b/apps/openmw/mwmechanics/aiactivate.cpp index 72dfae11b..464b30c7c 100644 --- a/apps/openmw/mwmechanics/aiactivate.cpp +++ b/apps/openmw/mwmechanics/aiactivate.cpp @@ -1,9 +1,9 @@ #include "aiactivate.hpp" #include -MWMechanics::AiActivate::AiActivate(const MWWorld::Ptr& object) +MWMechanics::AiActivate::AiActivate(const std::string &objectID): +mObjectID(objectID) { - mObject = &object; } MWMechanics::AiActivate *MWMechanics::AiActivate::clone() const { diff --git a/apps/openmw/mwmechanics/aiactivate.hpp b/apps/openmw/mwmechanics/aiactivate.hpp index c314cb2f5..5744cb25b 100644 --- a/apps/openmw/mwmechanics/aiactivate.hpp +++ b/apps/openmw/mwmechanics/aiactivate.hpp @@ -2,22 +2,22 @@ #define GAME_MWMECHANICS_AIACTIVATE_H #include "aipackage.hpp" - +#include namespace MWMechanics { -class AiActivate : AiPackage -{ - public: - AiActivate(const MWWorld::Ptr& object); - virtual AiActivate *clone() const; - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? - virtual int getTypeId() const; + class AiActivate : AiPackage + { + public: + AiActivate(const std::string &objectID); + virtual AiActivate *clone() const; + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + virtual int getTypeId() const; - private: - const MWWorld::Ptr * mObject; -}; + private: + std::string mObjectID; + }; } #endif // GAME_MWMECHANICS_AIACTIVATE_H diff --git a/apps/openmw/mwmechanics/aiescort.cpp b/apps/openmw/mwmechanics/aiescort.cpp index fd7b9bf32..9f170ef6e 100644 --- a/apps/openmw/mwmechanics/aiescort.cpp +++ b/apps/openmw/mwmechanics/aiescort.cpp @@ -1,8 +1,8 @@ #include "aiescort.hpp" #include -MWMechanics::AiEscort::AiEscort(const std::string &ActorID,int Duration, float X, float Y, float Z): -mActorID(ActorID), mDuration(Duration), mX(X), mY(Y), mZ(Z) +MWMechanics::AiEscort::AiEscort(const std::string &actorID,int duration, float x, float y, float z): +mActorID(actorID), mDuration(duration), mX(x), mY(y), mZ(z) { } MWMechanics::AiEscort *MWMechanics::AiEscort::clone() const diff --git a/apps/openmw/mwmechanics/aiescort.hpp b/apps/openmw/mwmechanics/aiescort.hpp index e39327e04..4bd3f4b22 100644 --- a/apps/openmw/mwmechanics/aiescort.hpp +++ b/apps/openmw/mwmechanics/aiescort.hpp @@ -6,29 +6,29 @@ namespace MWMechanics { -class AiEscort : public AiPackage -{ - public: - AiEscort(const std::string &ActorID,int Duration, float X, float Y, float Z); - virtual AiEscort *clone() const; + class AiEscort : public AiPackage + { + public: + AiEscort(const std::string &actorID,int duration, float x, float y, float z); + virtual AiEscort *clone() const; - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? - virtual int getTypeId() const; - float getX(); - float getY(); - float getZ(); - std::string getActorID(); - int getDuration(); + virtual int getTypeId() const; + float getX(); + float getY(); + float getZ(); + std::string getActorID(); + int getDuration(); - private: - std::string mActorID; - float mX; - float mY; - float mZ; - int mDuration; + private: + std::string mActorID; + float mX; + float mY; + float mZ; + int mDuration; -}; + }; } #endif diff --git a/apps/openmw/mwmechanics/aifollow.cpp b/apps/openmw/mwmechanics/aifollow.cpp index abb51102b..6478544bc 100644 --- a/apps/openmw/mwmechanics/aifollow.cpp +++ b/apps/openmw/mwmechanics/aifollow.cpp @@ -1,8 +1,8 @@ #include "aifollow.hpp" #include -MWMechanics::AiFollow::AiFollow(const std::string &ActorID,float duration, float X, float Y, float Z): -mActorID(ActorID), mDuration(duration), mX(X), mY(Y), mZ(Z) +MWMechanics::AiFollow::AiFollow(const std::string &actorID,float duration, float x, float y, float z): +mActorID(actorID), mDuration(duration), mX(x), mY(y), mZ(z) { } MWMechanics::AiFollow *MWMechanics::AiFollow::clone() const diff --git a/apps/openmw/mwmechanics/aifollow.hpp b/apps/openmw/mwmechanics/aifollow.hpp index f2e716ebf..079c3c381 100644 --- a/apps/openmw/mwmechanics/aifollow.hpp +++ b/apps/openmw/mwmechanics/aifollow.hpp @@ -7,21 +7,21 @@ namespace MWMechanics { -class AiFollow : AiPackage -{ - public: - AiFollow(const std::string &ActorID,float duration, float X, float Y, float Z); - virtual AiFollow *clone() const; - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? - virtual int getTypeId() const; + class AiFollow : AiPackage + { + public: + AiFollow(const std::string &ActorID,float duration, float X, float Y, float Z); + virtual AiFollow *clone() const; + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + virtual int getTypeId() const; - private: - float mDuration; - float mX; - float mY; - float mZ; - std::string mActorID; -}; + private: + float mDuration; + float mX; + float mY; + float mZ; + std::string mActorID; + }; } #endif diff --git a/apps/openmw/mwmechanics/aitravel.hpp b/apps/openmw/mwmechanics/aitravel.hpp index 86032cf54..813ba81eb 100644 --- a/apps/openmw/mwmechanics/aitravel.hpp +++ b/apps/openmw/mwmechanics/aitravel.hpp @@ -5,27 +5,27 @@ namespace MWMechanics { -class AiTravel : public AiPackage -{ - public: - AiTravel(float x, float y, float z); - virtual AiTravel *clone() const; + class AiTravel : public AiPackage + { + public: + AiTravel(float x, float y, float z); + virtual AiTravel *clone() const; - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? - virtual int getTypeId() const; - float getX(); - float getY(); - float getZ(); + virtual int getTypeId() const; + float getX(); + float getY(); + float getZ(); - private: - float mX; - float mY; - float mZ; + private: + float mX; + float mY; + float mZ; -}; + }; } #endif diff --git a/apps/openmw/mwmechanics/aiwander.cpp b/apps/openmw/mwmechanics/aiwander.cpp index 71159b94b..38d913f5f 100644 --- a/apps/openmw/mwmechanics/aiwander.cpp +++ b/apps/openmw/mwmechanics/aiwander.cpp @@ -1,8 +1,8 @@ #include "aiwander.hpp" #include -MWMechanics::AiWander::AiWander(int distance, int duration, int timeOfDay,std::vector Idle): - mDistance(distance), mDuration(duration), mTimeOfDay(timeOfDay), mIdle(Idle) +MWMechanics::AiWander::AiWander(int distance, int duration, int timeOfDay,std::vector idle): + mDistance(distance), mDuration(duration), mTimeOfDay(timeOfDay), mIdle(idle) { } @@ -39,7 +39,5 @@ int MWMechanics::AiWander::getTypeId() const int MWMechanics::AiWander::getIdle(int index) const { - if(index < 0 || (uint)index > mIdle.size()) - return -1; return mIdle.at(index); } diff --git a/apps/openmw/mwmechanics/aiwander.hpp b/apps/openmw/mwmechanics/aiwander.hpp index 64168042c..6b53390a1 100644 --- a/apps/openmw/mwmechanics/aiwander.hpp +++ b/apps/openmw/mwmechanics/aiwander.hpp @@ -7,28 +7,28 @@ namespace MWMechanics { -class AiWander : public AiPackage -{ -public: + class AiWander : public AiPackage + { + public: - AiWander(int distance, int duration, int timeOfDay,std::vector Idle); - virtual AiPackage *clone() const; - virtual bool execute (const MWWorld::Ptr& actor); - ///< \return Package completed? - virtual int getTypeId() const; - ///< 0: Wander + AiWander(int distance, int duration, int timeOfDay,std::vector idle); + virtual AiPackage *clone() const; + virtual bool execute (const MWWorld::Ptr& actor); + ///< \return Package completed? + virtual int getTypeId() const; + ///< 0: Wander - int getDistance() const; - int getDuration()const; - int getTimeOfDay()const; - int getIdle(int index) const; + int getDistance() const; + int getDuration()const; + int getTimeOfDay()const; + int getIdle(int index) const; -private: - int mDistance; - int mDuration; - int mTimeOfDay; - std::vector mIdle; -}; -} + private: + int mDistance; + int mDuration; + int mTimeOfDay; + std::vector mIdle; + }; + } #endif // AIWANDER_H