mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 21:53:51 +00:00
moved CellRefList into a separate file
This commit is contained in:
parent
f220867144
commit
367919200f
67 changed files with 295 additions and 111 deletions
|
@ -57,7 +57,7 @@ add_openmw_dir (mwworld
|
|||
cells localscripts customdata weather inventorystore ptr actionopen actionread
|
||||
actionequip timestamp actionalchemy cellstore actionapply actioneat
|
||||
esmstore store recordcmp fallback actionrepair actionsoulgem livecellref actiondoor
|
||||
contentloader esmloader omwloader actiontrap
|
||||
contentloader esmloader omwloader actiontrap cellreflist
|
||||
)
|
||||
|
||||
add_openmw_dir (mwclass
|
||||
|
|
|
@ -39,6 +39,12 @@ namespace ESM
|
|||
struct Spell;
|
||||
struct NPC;
|
||||
struct CellId;
|
||||
struct Armor;
|
||||
struct Weapon;
|
||||
struct Clothing;
|
||||
struct Enchantment;
|
||||
struct Book;
|
||||
struct EffectList;
|
||||
}
|
||||
|
||||
namespace MWRender
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "../mwworld/customdata.hpp"
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/physicssystem.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwrender/renderinginterface.hpp"
|
||||
#include "../mwrender/actors.hpp"
|
||||
|
|
|
@ -3,6 +3,11 @@
|
|||
|
||||
#include "../mwworld/class.hpp"
|
||||
|
||||
namespace ESM
|
||||
{
|
||||
struct GameSetting;
|
||||
}
|
||||
|
||||
namespace MWClass
|
||||
{
|
||||
class Creature : public MWWorld::Class
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef GAME_MWCLASS_DOOR_H
|
||||
#define GAME_MWCLASS_DOOR_H
|
||||
|
||||
#include <components/esm/loaddoor.hpp>
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
|
||||
namespace MWClass
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "../mwworld/inventorystore.hpp"
|
||||
#include "../mwworld/customdata.hpp"
|
||||
#include "../mwworld/physicssystem.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwrender/actors.hpp"
|
||||
#include "../mwrender/renderinginterface.hpp"
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include "../mwworld/ptr.hpp"
|
||||
#include "../mwworld/physicssystem.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwrender/objects.hpp"
|
||||
#include "../mwrender/renderinginterface.hpp"
|
||||
|
@ -25,7 +26,7 @@ namespace MWClass
|
|||
if(!model.empty())
|
||||
physics.addObject(ptr);
|
||||
}
|
||||
|
||||
|
||||
std::string Static::getModel(const MWWorld::Ptr &ptr) const
|
||||
{
|
||||
MWWorld::LiveCellRef<ESM::Static> *ref =
|
||||
|
|
|
@ -13,6 +13,11 @@
|
|||
|
||||
#include "../mwscript/compilercontext.hpp"
|
||||
|
||||
namespace ESM
|
||||
{
|
||||
struct Dialogue;
|
||||
}
|
||||
|
||||
namespace MWDialogue
|
||||
{
|
||||
class DialogueManager : public MWBase::DialogueManager
|
||||
|
|
|
@ -8,8 +8,9 @@
|
|||
#include "../mwbase/dialoguemanager.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/inventorystore.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwmechanics/npcstats.hpp"
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
#include <boost/lexical_cast.hpp>
|
||||
|
||||
#include <components/esm/loadbook.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/soundmanager.hpp"
|
||||
|
@ -169,7 +171,7 @@ namespace MWGui
|
|||
}
|
||||
++i;
|
||||
}
|
||||
|
||||
|
||||
//If it is the last page, hide the button "Next Page"
|
||||
if ( (mCurrentPage+1)*2 == mPages.size()
|
||||
|| (mCurrentPage+1)*2 == mPages.size() + 1)
|
||||
|
@ -194,7 +196,7 @@ namespace MWGui
|
|||
if (button->getAlign().isRight())
|
||||
button->setPosition(button->getPosition() + MyGUI::IntPoint(diff.width,0));
|
||||
}
|
||||
|
||||
|
||||
void BookWindow::nextPage()
|
||||
{
|
||||
if ((mCurrentPage+1)*2 < mPages.size())
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
#ifndef CHARACTER_CREATION_HPP
|
||||
#define CHARACTER_CREATION_HPP
|
||||
|
||||
#include <components/esm/loadskil.hpp>
|
||||
#include <components/esm/loadclas.hpp>
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/windowmanager.hpp"
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/windowmanager.hpp"
|
||||
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
class ConsoleInterpreterContext : public MWScript::InterpreterContext
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/fallback.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
#include "../mwmechanics/npcstats.hpp"
|
||||
|
|
|
@ -7,7 +7,9 @@
|
|||
#include "../mwbase/windowmanager.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
||||
#include "../mwworld/player.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwrender/globalmap.hpp"
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include "merchantrepair.hpp"
|
||||
|
||||
#include <components/esm/loadgmst.hpp>
|
||||
|
||||
#include <boost/lexical_cast.hpp>
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
|
@ -10,6 +12,7 @@
|
|||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include "scrollwindow.hpp"
|
||||
|
||||
#include <components/esm/loadbook.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/soundmanager.hpp"
|
||||
|
|
|
@ -1,5 +1,18 @@
|
|||
#include "sortfilteritemmodel.hpp"
|
||||
|
||||
#include <components/esm/loadalch.hpp>
|
||||
#include <components/esm/loadappa.hpp>
|
||||
#include <components/esm/loadarmo.hpp>
|
||||
#include <components/esm/loadbook.hpp>
|
||||
#include <components/esm/loadclot.hpp>
|
||||
#include <components/esm/loadingr.hpp>
|
||||
#include <components/esm/loadlock.hpp>
|
||||
#include <components/esm/loadligh.hpp>
|
||||
#include <components/esm/loadmisc.hpp>
|
||||
#include <components/esm/loadprob.hpp>
|
||||
#include <components/esm/loadrepa.hpp>
|
||||
#include <components/esm/loadweap.hpp>
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
|
||||
namespace
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include "tradeitemmodel.hpp"
|
||||
|
||||
#include <components/misc/stringops.hpp>
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/inventorystore.hpp"
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "../mwbase/mechanicsmanager.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
#include "../mwmechanics/npcstats.hpp"
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/player.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "console.hpp"
|
||||
#include "journalwindow.hpp"
|
||||
|
|
|
@ -15,13 +15,16 @@
|
|||
|
||||
#include "../engine.hpp"
|
||||
|
||||
#include "../mwworld/player.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/inventorystore.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/windowmanager.hpp"
|
||||
#include "../mwbase/soundmanager.hpp"
|
||||
#include "../mwbase/statemanager.hpp"
|
||||
|
||||
#include "../mwworld/player.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/inventorystore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
|
||||
using namespace ICS;
|
||||
|
@ -169,7 +172,7 @@ namespace MWInput
|
|||
switch (action)
|
||||
{
|
||||
case A_GameMenu:
|
||||
if(!(MWBase::Environment::get().getStateManager()->getState() != MWBase::StateManager::State_Running
|
||||
if(!(MWBase::Environment::get().getStateManager()->getState() != MWBase::StateManager::State_Running
|
||||
&& MWBase::Environment::get().getWindowManager()->getMode() == MWGui::GM_MainMenu))
|
||||
toggleMainMenu ();
|
||||
break;
|
||||
|
@ -283,7 +286,7 @@ namespace MWInput
|
|||
|
||||
// Disable movement in Gui mode
|
||||
if (MWBase::Environment::get().getWindowManager()->isGuiMode()
|
||||
|| MWBase::Environment::get().getStateManager()->getState() != MWBase::StateManager::State_Running)
|
||||
|| MWBase::Environment::get().getStateManager()->getState() != MWBase::StateManager::State_Running)
|
||||
return;
|
||||
|
||||
|
||||
|
|
|
@ -1,8 +1,14 @@
|
|||
#include "activespells.hpp"
|
||||
|
||||
#include <components/misc/stringops.hpp>
|
||||
|
||||
#include <components/esm/loadmgef.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
namespace MWMechanics
|
||||
{
|
||||
void ActiveSpells::update() const
|
||||
|
@ -40,7 +46,7 @@ namespace MWMechanics
|
|||
void ActiveSpells::rebuildEffects() const
|
||||
{
|
||||
MWWorld::TimeStamp now = MWBase::Environment::get().getWorld()->getTimeStamp();
|
||||
|
||||
|
||||
mEffects = MagicEffects();
|
||||
|
||||
for (TIterator iter (begin()); iter!=end(); ++iter)
|
||||
|
@ -59,7 +65,7 @@ namespace MWMechanics
|
|||
if (end>now)
|
||||
mEffects.add(effectIt->mKey, MWMechanics::EffectParam(effectIt->mMagnitude));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ActiveSpells::ActiveSpells()
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#include "aiactivate.hpp"
|
||||
#include <iostream>
|
||||
|
||||
#include "movement.hpp"
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/action.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "steering.hpp"
|
||||
#include "movement.hpp"
|
||||
|
||||
namespace
|
||||
{
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/timestamp.hpp"
|
||||
#include "../mwworld/inventorystore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/mechanicsmanager.hpp"
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
#include "aiescort.hpp"
|
||||
|
||||
#include "movement.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/timestamp.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/mechanicsmanager.hpp"
|
||||
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/timestamp.hpp"
|
||||
|
||||
#include "steering.hpp"
|
||||
#include "movement.hpp"
|
||||
|
||||
namespace
|
||||
{
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
#include "aifollow.hpp"
|
||||
#include <iostream>
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "movement.hpp"
|
||||
|
||||
#include <OgreMath.h>
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "movement.hpp"
|
||||
#include "steering.hpp"
|
||||
|
||||
MWMechanics::AiFollow::AiFollow(const std::string &actorId,float duration, float x, float y, float z)
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "steering.hpp"
|
||||
#include "movement.hpp"
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
#include "aiwander.hpp"
|
||||
|
||||
#include "movement.hpp"
|
||||
#include <OgreVector3.h>
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/mechanicsmanager.hpp"
|
||||
#include "../mwbase/dialoguemanager.hpp"
|
||||
|
||||
#include "creaturestats.hpp"
|
||||
#include <OgreVector3.h>
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "creaturestats.hpp"
|
||||
#include "steering.hpp"
|
||||
#include "movement.hpp"
|
||||
|
||||
namespace
|
||||
{
|
||||
|
|
|
@ -8,6 +8,11 @@
|
|||
|
||||
#include "../mwworld/ptr.hpp"
|
||||
|
||||
namespace ESM
|
||||
{
|
||||
struct Potion;
|
||||
}
|
||||
|
||||
namespace MWMechanics
|
||||
{
|
||||
struct EffectKey;
|
||||
|
@ -16,29 +21,29 @@ namespace MWMechanics
|
|||
class Alchemy
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
typedef std::vector<MWWorld::Ptr> TToolsContainer;
|
||||
typedef TToolsContainer::const_iterator TToolsIterator;
|
||||
|
||||
|
||||
typedef std::vector<MWWorld::Ptr> TIngredientsContainer;
|
||||
typedef TIngredientsContainer::const_iterator TIngredientsIterator;
|
||||
|
||||
typedef std::vector<ESM::ENAMstruct> TEffectsContainer;
|
||||
typedef TEffectsContainer::const_iterator TEffectsIterator;
|
||||
|
||||
|
||||
enum Result
|
||||
{
|
||||
Result_Success,
|
||||
|
||||
|
||||
Result_NoMortarAndPestle,
|
||||
Result_LessThanTwoIngredients,
|
||||
Result_NoName,
|
||||
Result_NoEffects,
|
||||
Result_RandomFailure
|
||||
};
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
MWWorld::Ptr mAlchemist;
|
||||
TToolsContainer mTools;
|
||||
TIngredientsContainer mIngredients;
|
||||
|
@ -51,61 +56,61 @@ namespace MWMechanics
|
|||
void applyTools (int flags, float& value) const;
|
||||
|
||||
void updateEffects();
|
||||
|
||||
|
||||
const ESM::Potion *getRecord() const;
|
||||
///< Return existing recrod for created potion (may return 0)
|
||||
|
||||
|
||||
void removeIngredients();
|
||||
///< Remove selected ingredients from alchemist's inventory, cleanup selected ingredients and
|
||||
/// update effect list accordingly.
|
||||
|
||||
void addPotion (const std::string& name);
|
||||
///< Add a potion to the alchemist's inventory.
|
||||
|
||||
|
||||
void increaseSkill();
|
||||
///< Increase alchemist's skill.
|
||||
|
||||
|
||||
float getChance() const;
|
||||
///< Return chance of success.
|
||||
|
||||
|
||||
int countIngredients() const;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
||||
void setAlchemist (const MWWorld::Ptr& npc);
|
||||
///< Set alchemist and configure alchemy setup accordingly. \a npc may be empty to indicate that
|
||||
/// there is no alchemist (alchemy session has ended).
|
||||
|
||||
|
||||
TToolsIterator beginTools() const;
|
||||
///< \attention Iterates over tool slots, not over tools. Some of the slots may be empty.
|
||||
|
||||
|
||||
TToolsIterator endTools() const;
|
||||
|
||||
|
||||
TIngredientsIterator beginIngredients() const;
|
||||
///< \attention Iterates over ingredient slots, not over ingredients. Some of the slots may be empty.
|
||||
|
||||
|
||||
TIngredientsIterator endIngredients() const;
|
||||
|
||||
|
||||
void clear();
|
||||
///< Remove alchemist, tools and ingredients.
|
||||
|
||||
|
||||
int addIngredient (const MWWorld::Ptr& ingredient);
|
||||
///< Add ingredient into the next free slot.
|
||||
///
|
||||
/// \return Slot index or -1, if adding failed because of no free slot or the ingredient type being
|
||||
/// listed already.
|
||||
|
||||
|
||||
void removeIngredient (int index);
|
||||
///< Remove ingredient from slot (calling this function on an empty slot is a no-op).
|
||||
|
||||
|
||||
TEffectsIterator beginEffects() const;
|
||||
|
||||
|
||||
TEffectsIterator endEffects() const;
|
||||
|
||||
|
||||
std::string getPotionName() const;
|
||||
///< Return the name of the potion that would be created when calling create (if a record for such
|
||||
/// a potion already exists) or return an empty string.
|
||||
|
||||
|
||||
Result create (const std::string& name);
|
||||
///< Try to create a potion from the ingredients, place it in the inventory of the alchemist and
|
||||
/// adjust the skills of the alchemist accordingly.
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/inventorystore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
namespace
|
||||
{
|
||||
|
@ -562,7 +563,7 @@ bool CharacterController::updateWeaponState()
|
|||
getWeaponGroup(weaptype, weapgroup);
|
||||
mAnimation->showWeapons(false);
|
||||
mAnimation->setWeaponGroup(weapgroup);
|
||||
|
||||
|
||||
mAnimation->play(weapgroup, Priority_Weapon,
|
||||
MWRender::Animation::Group_UpperBody, true,
|
||||
1.0f, "equip start", "equip stop", 0.0f, 0);
|
||||
|
@ -751,7 +752,7 @@ bool CharacterController::updateWeaponState()
|
|||
MWRender::Animation::Group_UpperBody, false,
|
||||
weapSpeed, mAttackType+" start", mAttackType+" min attack",
|
||||
0.0f, 0);
|
||||
mUpperBodyState = UpperCharState_StartToMinAttack;
|
||||
mUpperBodyState = UpperCharState_StartToMinAttack;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -855,7 +856,7 @@ bool CharacterController::updateWeaponState()
|
|||
|
||||
mUpperBodyState = UpperCharState_WeapEquiped;
|
||||
//don't allow to continue playing hit animation on UpperBody after actor had attacked during it
|
||||
if(mHitState == CharState_Hit)
|
||||
if(mHitState == CharState_Hit)
|
||||
{
|
||||
mAnimation->changeGroups(mCurrentHit, MWRender::Animation::Group_LowerBody);
|
||||
//commenting out following 2 lines will give a bit different combat dynamics(slower)
|
||||
|
@ -932,7 +933,7 @@ bool CharacterController::updateWeaponState()
|
|||
weapSpeed, start, stop, 0.0f, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//if playing combat animation and lowerbody is not busy switch to whole body animation
|
||||
if((weaptype != WeapType_None || UpperCharState_UnEquipingWeap) && animPlaying)
|
||||
{
|
||||
|
@ -1431,7 +1432,7 @@ void CharacterController::updateVisibility()
|
|||
void CharacterController::determineAttackType()
|
||||
{
|
||||
float * move = mPtr.getClass().getMovementSettings(mPtr).mPosition;
|
||||
|
||||
|
||||
if(mPtr.getClass().hasInventoryStore(mPtr))
|
||||
{
|
||||
if (move[0] && !move[1]) //sideway
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/inventorystore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwbase/windowmanager.hpp"
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "../mwbase/world.hpp"
|
||||
#include "../mwworld/ptr.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwmechanics/spells.hpp"
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
#include "pathfinding.hpp"
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include <map>
|
||||
|
||||
#include "OgreMath.h"
|
||||
#include "OgreVector3.h"
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
||||
#include <map>
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
namespace
|
||||
{
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
#include "pickpocket.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
||||
#include "npcstats.hpp"
|
||||
|
||||
namespace MWMechanics
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
#include "../mwmechanics/npcstats.hpp"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include "../mwworld/actionteleport.hpp"
|
||||
#include "../mwworld/player.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwrender/animation.hpp"
|
||||
|
||||
|
|
|
@ -5,6 +5,16 @@
|
|||
|
||||
#include <OgreVector3.h>
|
||||
|
||||
#include <components/esm/loadskil.hpp>
|
||||
|
||||
namespace ESM
|
||||
{
|
||||
struct Spell;
|
||||
struct Ingredient;
|
||||
struct Potion;
|
||||
struct EffectList;
|
||||
}
|
||||
|
||||
namespace MWMechanics
|
||||
{
|
||||
class EffectKey;
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
#include <map>
|
||||
#include <string>
|
||||
|
||||
#include <components/misc/stringops.hpp>
|
||||
|
||||
#include "../mwworld/ptr.hpp"
|
||||
|
||||
#include "magiceffects.hpp"
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
#include "activatoranimation.hpp"
|
||||
|
||||
#include "renderconst.hpp"
|
||||
#include <components/esm/loadacti.hpp>
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
|
||||
#include "renderconst.hpp"
|
||||
|
||||
namespace MWRender
|
||||
{
|
||||
|
||||
|
|
|
@ -11,18 +11,26 @@
|
|||
#include <OgreControllerManager.h>
|
||||
#include <OgreStaticGeometry.h>
|
||||
|
||||
#include <components/esm/loadligh.hpp>
|
||||
#include <components/esm/loadweap.hpp>
|
||||
#include <components/esm/loadench.hpp>
|
||||
#include <components/esm/loadstat.hpp>
|
||||
|
||||
#include <libs/openengine/ogre/lights.hpp>
|
||||
|
||||
#include <extern/shiny/Main/Factory.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/soundmanager.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
|
||||
#include <extern/shiny/Main/Factory.hpp>
|
||||
|
||||
#include "../mwmechanics/character.hpp"
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/fallback.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "renderconst.hpp"
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
|
||||
#include "../mwworld/ptr.hpp"
|
||||
|
||||
namespace ESM
|
||||
{
|
||||
struct Light;
|
||||
}
|
||||
|
||||
namespace MWRender
|
||||
{
|
||||
|
|
|
@ -4,12 +4,14 @@
|
|||
#include <OgreSkeletonInstance.h>
|
||||
#include <OgreBone.h>
|
||||
|
||||
#include "renderconst.hpp"
|
||||
#include <components/esm/loadcrea.hpp>
|
||||
|
||||
#include "../mwbase/world.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
|
||||
#include "renderconst.hpp"
|
||||
|
||||
namespace MWRender
|
||||
{
|
||||
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
#include <components/esm/loadstat.hpp>
|
||||
#include <components/esm/loadpgrd.hpp>
|
||||
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwbase/world.hpp" // these includes can be removed once the static-hack is gone
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
||||
#include "../mwworld/ptr.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "renderconst.hpp"
|
||||
|
||||
|
|
|
@ -7,12 +7,13 @@
|
|||
#include <OgreCamera.h>
|
||||
#include <OgreTextureManager.h>
|
||||
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/windowmanager.hpp"
|
||||
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "renderconst.hpp"
|
||||
#include "renderingmanager.hpp"
|
||||
|
||||
|
|
|
@ -11,11 +11,15 @@
|
|||
#include <OgreParticleEmitter.h>
|
||||
#include <OgreStaticGeometry.h>
|
||||
|
||||
#include <components/esm/loadligh.hpp>
|
||||
#include <components/esm/loadstat.hpp>
|
||||
|
||||
#include <components/nifogre/ogrenifloader.hpp>
|
||||
#include <components/settings/settings.hpp>
|
||||
|
||||
#include "../mwworld/ptr.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "renderconst.hpp"
|
||||
#include "animation.hpp"
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwbase/world.hpp" // these includes can be removed once the static-hack is gone
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwworld/player.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "interpretercontext.hpp"
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
#include <components/interpreter/runtime.hpp>
|
||||
#include <components/interpreter/opcodes.hpp>
|
||||
|
||||
#include <components/esm/loadskil.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/windowmanager.hpp"
|
||||
|
||||
|
@ -284,7 +286,7 @@ namespace MWScript
|
|||
virtual void execute(Interpreter::Runtime &runtime)
|
||||
{
|
||||
MWWorld::Ptr ptr = R()(runtime);
|
||||
|
||||
|
||||
const std::string &name = runtime.getStringLiteral (runtime[0].mInteger);
|
||||
runtime.pop();
|
||||
|
||||
|
|
|
@ -13,12 +13,16 @@
|
|||
#include <components/interpreter/runtime.hpp>
|
||||
#include <components/interpreter/opcodes.hpp>
|
||||
|
||||
#include <components/esm/loadmgef.hpp>
|
||||
#include <components/esm/loadcrea.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/windowmanager.hpp"
|
||||
#include "../mwbase/scriptmanager.hpp"
|
||||
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/containerstore.hpp"
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
|
||||
#include "../mwmechanics/npcstats.hpp"
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "../mwbase/statemanager.hpp"
|
||||
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "sound_output.hpp"
|
||||
#include "sound_decoder.hpp"
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
#include "../mwworld/player.hpp"
|
||||
#include "../mwworld/class.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "../mwmechanics/npcstats.hpp"
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
#include <cstdlib>
|
||||
|
||||
#include <components/esm/loadskil.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
|
||||
|
@ -19,10 +21,10 @@ namespace MWWorld
|
|||
|
||||
// apply to actor
|
||||
std::string id = Class::get (getTarget()).getId (getTarget());
|
||||
|
||||
|
||||
if (Class::get (actor).apply (actor, id, actor))
|
||||
Class::get (actor).skillUsageSucceeded (actor, ESM::Skill::Alchemy, 1);
|
||||
}
|
||||
}
|
||||
|
||||
ActionEat::ActionEat (const MWWorld::Ptr& object) : Action (false, object) {}
|
||||
}
|
||||
|
|
44
apps/openmw/mwworld/cellreflist.hpp
Normal file
44
apps/openmw/mwworld/cellreflist.hpp
Normal file
|
@ -0,0 +1,44 @@
|
|||
#ifndef GAME_MWWORLD_CELLREFLIST_H
|
||||
#define GAME_MWWORLD_CELLREFLIST_H
|
||||
|
||||
#include <list>
|
||||
|
||||
#include "livecellref.hpp"
|
||||
|
||||
namespace MWWorld
|
||||
{
|
||||
/// \brief Collection of references of one type
|
||||
template <typename X>
|
||||
struct CellRefList
|
||||
{
|
||||
typedef LiveCellRef<X> LiveRef;
|
||||
typedef std::list<LiveRef> List;
|
||||
List mList;
|
||||
|
||||
/// Search for the given reference in the given reclist from
|
||||
/// ESMStore. Insert the reference into the list if a match is
|
||||
/// found. If not, throw an exception.
|
||||
/// Moved to cpp file, as we require a custom compare operator for it,
|
||||
/// and the build will fail with an ugly three-way cyclic header dependence
|
||||
/// so we need to pass the instantiation of the method to the linker, when
|
||||
/// all methods are known.
|
||||
void load (ESM::CellRef &ref, bool deleted, const MWWorld::ESMStore &esmStore);
|
||||
|
||||
LiveRef *find (const std::string& name)
|
||||
{
|
||||
for (typename List::iterator iter (mList.begin()); iter!=mList.end(); ++iter)
|
||||
if (iter->mData.getCount() > 0 && iter->mRef.mRefID == name)
|
||||
return &*iter;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
LiveRef &insert (const LiveRef &item)
|
||||
{
|
||||
mList.push_back(item);
|
||||
return mList.back();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
|
@ -11,6 +11,7 @@
|
|||
#include "class.hpp"
|
||||
#include "esmstore.hpp"
|
||||
#include "containerstore.hpp"
|
||||
#include "cellstore.hpp"
|
||||
|
||||
MWWorld::CellStore *MWWorld::Cells::getCellStore (const ESM::Cell *cell)
|
||||
{
|
||||
|
|
|
@ -12,6 +12,7 @@ namespace ESM
|
|||
class ESMReader;
|
||||
class ESMWriter;
|
||||
struct CellId;
|
||||
struct Cell;
|
||||
}
|
||||
|
||||
namespace MWWorld
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "livecellref.hpp"
|
||||
#include "esmstore.hpp"
|
||||
#include "cellreflist.hpp"
|
||||
|
||||
namespace ESM
|
||||
{
|
||||
|
@ -16,40 +17,6 @@ namespace MWWorld
|
|||
{
|
||||
class Ptr;
|
||||
|
||||
/// A list of cell references
|
||||
template <typename X>
|
||||
struct CellRefList
|
||||
{
|
||||
typedef LiveCellRef<X> LiveRef;
|
||||
typedef std::list<LiveRef> List;
|
||||
List mList;
|
||||
|
||||
// Search for the given reference in the given reclist from
|
||||
// ESMStore. Insert the reference into the list if a match is
|
||||
// found. If not, throw an exception.
|
||||
// Moved to cpp file, as we require a custom compare operator for it,
|
||||
// and the build will fail with an ugly three-way cyclic header dependence
|
||||
// so we need to pass the instantiation of the method to the lnker, when
|
||||
// all methods are known.
|
||||
void load(ESM::CellRef &ref, bool deleted, const MWWorld::ESMStore &esmStore);
|
||||
|
||||
LiveRef *find (const std::string& name)
|
||||
{
|
||||
for (typename std::list<LiveRef>::iterator iter (mList.begin()); iter!=mList.end(); ++iter)
|
||||
{
|
||||
if (iter->mData.getCount() > 0 && iter->mRef.mRefID == name)
|
||||
return &*iter;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
LiveRef &insert(const LiveRef &item) {
|
||||
mList.push_back(item);
|
||||
return mList.back();
|
||||
}
|
||||
};
|
||||
|
||||
/// \brief Mutable state of a cell
|
||||
class CellStore
|
||||
{
|
||||
|
|
|
@ -3,6 +3,19 @@
|
|||
|
||||
#include <iterator>
|
||||
|
||||
#include <components/esm/loadalch.hpp>
|
||||
#include <components/esm/loadappa.hpp>
|
||||
#include <components/esm/loadarmo.hpp>
|
||||
#include <components/esm/loadbook.hpp>
|
||||
#include <components/esm/loadclot.hpp>
|
||||
#include <components/esm/loadingr.hpp>
|
||||
#include <components/esm/loadlock.hpp>
|
||||
#include <components/esm/loadligh.hpp>
|
||||
#include <components/esm/loadmisc.hpp>
|
||||
#include <components/esm/loadprob.hpp>
|
||||
#include <components/esm/loadrepa.hpp>
|
||||
#include <components/esm/loadweap.hpp>
|
||||
|
||||
#include "ptr.hpp"
|
||||
|
||||
namespace ESM
|
||||
|
|
|
@ -5,6 +5,11 @@
|
|||
|
||||
#include "../mwmechanics/magiceffects.hpp"
|
||||
|
||||
namespace ESM
|
||||
{
|
||||
struct MagicEffect;
|
||||
}
|
||||
|
||||
namespace MWMechanics
|
||||
{
|
||||
class NpcStats;
|
||||
|
|
|
@ -15,13 +15,15 @@
|
|||
|
||||
#include <components/nifbullet/bulletnifloader.hpp>
|
||||
|
||||
#include <components/esm/loadgmst.hpp>
|
||||
|
||||
#include "../mwbase/world.hpp" // FIXME
|
||||
#include "../mwbase/environment.hpp"
|
||||
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
|
||||
#include <components/esm/loadgmst.hpp>
|
||||
#include "../mwworld/esmstore.hpp"
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
||||
#include "ptr.hpp"
|
||||
#include "class.hpp"
|
||||
|
|
|
@ -7,19 +7,20 @@
|
|||
#include <components/esm/esmwriter.hpp>
|
||||
#include <components/esm/player.hpp>
|
||||
#include <components/esm/defs.hpp>
|
||||
#include <components/esm/loadbsgn.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
#include "../mwbase/windowmanager.hpp"
|
||||
#include "../mwbase/soundmanager.hpp"
|
||||
|
||||
#include "../mwworld/ptr.hpp"
|
||||
#include "../mwworld/inventorystore.hpp"
|
||||
|
||||
#include "../mwmechanics/movement.hpp"
|
||||
#include "../mwmechanics/npcstats.hpp"
|
||||
|
||||
#include "class.hpp"
|
||||
#include "ptr.hpp"
|
||||
#include "inventorystore.hpp"
|
||||
#include "cellstore.hpp"
|
||||
|
||||
namespace MWWorld
|
||||
{
|
||||
|
|
|
@ -1,12 +1,18 @@
|
|||
#ifndef GAME_MWWORLD_PTR_H
|
||||
#define GAME_MWWORLD_PTR_H
|
||||
|
||||
#include "cellstore.hpp"
|
||||
#include <cassert>
|
||||
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
|
||||
#include "cellreflist.hpp"
|
||||
#include "livecellref.hpp"
|
||||
|
||||
namespace MWWorld
|
||||
{
|
||||
class ContainerStore;
|
||||
class CellStore;
|
||||
|
||||
/// \brief Pointer to a LiveCellRef
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
#include "localscripts.hpp"
|
||||
#include "esmstore.hpp"
|
||||
#include "class.hpp"
|
||||
|
||||
#include "cellfunctors.hpp"
|
||||
#include "cellstore.hpp"
|
||||
|
||||
namespace
|
||||
{
|
||||
|
|
|
@ -21,6 +21,11 @@ namespace Files
|
|||
class Collections;
|
||||
}
|
||||
|
||||
namespace Loading
|
||||
{
|
||||
class Listener;
|
||||
}
|
||||
|
||||
namespace Render
|
||||
{
|
||||
class OgreRenderer;
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "player.hpp"
|
||||
#include "esmstore.hpp"
|
||||
#include "fallback.hpp"
|
||||
#include "cellstore.hpp"
|
||||
|
||||
using namespace Ogre;
|
||||
using namespace MWWorld;
|
||||
|
|
Loading…
Reference in a new issue