mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-25 06:35:30 +00:00
fixed Topic selected event
Fix rebase
This commit is contained in:
parent
c283ea0ae8
commit
09d461a8cd
@ -65,9 +65,9 @@ namespace CSMWorld
|
||||
/// Works like getAppendIndex unless an overloaded method uses the record pointer
|
||||
/// to get additional info about the record that results in an alternative index.
|
||||
|
||||
int getAppendIndex(const std::string& id, UniversalId::Type type) const override
|
||||
int getAppendIndex(const ESM::RefId& id, UniversalId::Type type) const override
|
||||
{
|
||||
return getInsertIndex(id, type);
|
||||
return getInsertIndex(id.getRefIdString(), type);
|
||||
}
|
||||
|
||||
bool reorderRows(int baseIndex, const std::vector<int>& newOrder) override;
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include <osg/ref_ptr>
|
||||
|
||||
#include "../../model/world/cellcoordinates.hpp"
|
||||
#include <components/esm/refid.hpp>
|
||||
#include "instancedragmodes.hpp"
|
||||
|
||||
class QModelIndex;
|
||||
|
@ -120,8 +120,8 @@ namespace
|
||||
Gui::MWList* list = getWidget<Gui::MWList>(QuestsList);
|
||||
list->eventItemSelected += MyGUI::newDelegate(this, &JournalWindowImpl::notifyQuestClicked);
|
||||
|
||||
//Gui::MWList* topicsList = getWidget<Gui::MWList>(TopicsList);
|
||||
//topicsList->eventItemSelected += MyGUI::newDelegate(this, &JournalWindowImpl::notifyTopicSelected);
|
||||
Gui::MWList* topicsList = getWidget<Gui::MWList>(TopicsList);
|
||||
topicsList->eventItemSelected += MyGUI::newDelegate(this, &JournalWindowImpl::notifyTopicSelected);
|
||||
|
||||
{
|
||||
MWGui::BookPage::ClickCallback callback;
|
||||
@ -417,8 +417,9 @@ namespace
|
||||
MWBase::Environment::get().getWindowManager()->playSound(ESM::sBookPageSoundId);
|
||||
}
|
||||
|
||||
void notifyTopicSelected(const ESM::RefId& topic, int id)
|
||||
void notifyTopicSelected(const std::string& topicIdString, int id)
|
||||
{
|
||||
ESM::RefId topic = ESM::RefId::stringRefId(topicIdString);
|
||||
const MWBase::Journal* journal = MWBase::Environment::get().getJournal();
|
||||
intptr_t topicId = 0; /// \todo get rid of intptr ids
|
||||
for (MWBase::Journal::TTopicIter i = journal->topicBegin(); i != journal->topicEnd(); ++i)
|
||||
|
@ -2043,16 +2043,15 @@ namespace MWMechanics
|
||||
if (!godmode)
|
||||
{
|
||||
// reduce fatigue
|
||||
const MWWorld::Store<ESM::GameSetting>& gmst = world->getStore().get<ESM::GameSetting>();
|
||||
float fatigueLoss = 0;
|
||||
static const float fFatigueRunBase = gmst.find(ESM::RefId::stringRefId("fFatigueRunBase"))->mValue.getFloat();
|
||||
static const float fFatigueRunMult = gmst.find(ESM::RefId::stringRefId("fFatigueRunMult"))->mValue.getFloat();
|
||||
static const float fFatigueSwimWalkBase = gmst.find(ESM::RefId::stringRefId("fFatigueSwimWalkBase"))->mValue.getFloat();
|
||||
static const float fFatigueSwimRunBase = gmst.find(ESM::RefId::stringRefId("fFatigueSwimRunBase"))->mValue.getFloat();
|
||||
static const float fFatigueSwimWalkMult = gmst.find(ESM::RefId::stringRefId("fFatigueSwimWalkMult"))->mValue.getFloat();
|
||||
static const float fFatigueSwimRunMult = gmst.find(ESM::RefId::stringRefId("fFatigueSwimRunMult"))->mValue.getFloat();
|
||||
static const float fFatigueSneakBase = gmst.find(ESM::RefId::stringRefId("fFatigueSneakBase"))->mValue.getFloat();
|
||||
static const float fFatigueSneakMult = gmst.find(ESM::RefId::stringRefId("fFatigueSneakMult"))->mValue.getFloat();
|
||||
static const float fFatigueRunBase = gmst.find("fFatigueRunBase")->mValue.getFloat();
|
||||
static const float fFatigueRunMult = gmst.find("fFatigueRunMult")->mValue.getFloat();
|
||||
static const float fFatigueSwimWalkBase = gmst.find("fFatigueSwimWalkBase")->mValue.getFloat();
|
||||
static const float fFatigueSwimRunBase = gmst.find("fFatigueSwimRunBase")->mValue.getFloat();
|
||||
static const float fFatigueSwimWalkMult = gmst.find("fFatigueSwimWalkMult")->mValue.getFloat();
|
||||
static const float fFatigueSwimRunMult = gmst.find("fFatigueSwimRunMult")->mValue.getFloat();
|
||||
static const float fFatigueSneakBase = gmst.find("fFatigueSneakBase")->mValue.getFloat();
|
||||
static const float fFatigueSneakMult = gmst.find("fFatigueSneakMult")->mValue.getFloat();
|
||||
|
||||
if (cls.getEncumbrance(mPtr) <= cls.getCapacity(mPtr))
|
||||
{
|
||||
@ -2159,16 +2158,19 @@ namespace MWMechanics
|
||||
|
||||
if (mPtr.getClass().isNpc())
|
||||
{
|
||||
std::string_view sound;
|
||||
const ESM::RefId* sound = nullptr;
|
||||
static const ESM::RefId defaultLandWater = ESM::RefId::stringRefId("DefaultLandWater");
|
||||
static const ESM::RefId defaultLand = ESM::RefId::stringRefId("DefaultLand");
|
||||
|
||||
osg::Vec3f pos(mPtr.getRefData().getPosition().asVec3());
|
||||
if (world->isUnderwater(mPtr.getCell(), pos) || world->isWalkingOnWater(mPtr))
|
||||
sound = "DefaultLandWater";
|
||||
sound = &defaultLandWater;
|
||||
else if (onground)
|
||||
sound = "DefaultLand";
|
||||
sound = &defaultLand;
|
||||
|
||||
if (!sound.empty())
|
||||
if (sound && !sound->empty())
|
||||
sndMgr->playSound3D(
|
||||
mPtr, sound, 1.f, 1.f, MWSound::Type::Foot, MWSound::PlayMode::NoPlayerLocal);
|
||||
mPtr, *sound, 1.f, 1.f, MWSound::Type::Foot, MWSound::PlayMode::NoPlayerLocal);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -437,7 +437,7 @@ namespace MWWorld
|
||||
};
|
||||
Misc::forEachUnique(refs.rbegin(), refs.rend(), equalByRefNum, incrementRefCount);
|
||||
auto& store = getWritable<ESM::Miscellaneous>().mStatic;
|
||||
for (const std::string& id : keyIDs)
|
||||
for (const auto& id : keyIDs)
|
||||
{
|
||||
auto it = store.find(id);
|
||||
if (it != store.end())
|
||||
|
Loading…
x
Reference in New Issue
Block a user