diff --git a/apps/launcher/ui/mainwindow.ui b/apps/launcher/ui/mainwindow.ui
index 862ae2430e..6a2502f466 100644
--- a/apps/launcher/ui/mainwindow.ui
+++ b/apps/launcher/ui/mainwindow.ui
@@ -6,13 +6,13 @@
00
- 750
+ 775635
- 750
+ 775635
diff --git a/apps/openmw/mwgui/loadingscreen.cpp b/apps/openmw/mwgui/loadingscreen.cpp
index 3a9aba7828..3d9cfa5c44 100644
--- a/apps/openmw/mwgui/loadingscreen.cpp
+++ b/apps/openmw/mwgui/loadingscreen.cpp
@@ -343,7 +343,12 @@ namespace MWGui
MWBase::Environment::get().getInputManager()->update(0, true, true);
- mResourceSystem->reportStats(mViewer->getFrameStamp()->getFrameNumber(), mViewer->getViewerStats());
+ osg::Stats* const stats = mViewer->getViewerStats();
+ const unsigned frameNumber = mViewer->getFrameStamp()->getFrameNumber();
+
+ stats->setAttribute(frameNumber, "Loading", 1);
+
+ mResourceSystem->reportStats(frameNumber, stats);
if (osgUtil::IncrementalCompileOperation* ico = mViewer->getIncrementalCompileOperation())
{
ico->setMinimumTimeAvailableForGLCompileAndDeletePerFrame(1.f / getTargetFrameRate());
diff --git a/apps/openmw/mwrender/objectpaging.cpp b/apps/openmw/mwrender/objectpaging.cpp
index f426672784..f3e9570aa4 100644
--- a/apps/openmw/mwrender/objectpaging.cpp
+++ b/apps/openmw/mwrender/objectpaging.cpp
@@ -555,11 +555,19 @@ namespace MWRender
// TODO
}
- if (activeGrid)
+ if (activeGrid && !refs.empty())
{
std::lock_guard lock(mRefTrackerMutex);
- for (auto ref : getRefTracker().mBlacklist)
- refs.erase(ref);
+ const std::set& blacklist = getRefTracker().mBlacklist;
+ if (blacklist.size() < refs.size())
+ {
+ for (ESM::RefNum ref : blacklist)
+ refs.erase(ref);
+ }
+ else
+ {
+ std::erase_if(refs, [&](const auto& ref) { return blacklist.contains(ref.first); });
+ }
}
osg::Vec2f minBound = (center - osg::Vec2f(size / 2.f, size / 2.f));
diff --git a/components/resource/stats.cpp b/components/resource/stats.cpp
index 6730ddb303..963a9cf45d 100644
--- a/components/resource/stats.cpp
+++ b/components/resource/stats.cpp
@@ -54,6 +54,7 @@ namespace Resource
constexpr std::string_view firstPage[] = {
"FrameNumber",
"",
+ "Loading",
"Compiling",
"WorkQueue",
"WorkThread",
@@ -75,7 +76,6 @@ namespace Resource
"",
"",
"",
- "",
};
static_assert(std::size(firstPage) == itemsPerPage);
diff --git a/files/data/scripts/omw/ai.lua b/files/data/scripts/omw/ai.lua
index f90b92fd87..59455dc8cb 100644
--- a/files/data/scripts/omw/ai.lua
+++ b/files/data/scripts/omw/ai.lua
@@ -22,16 +22,18 @@ local function startPackage(args)
local key = "idle"
local idle = {}
local duration = 0
- for i = 2, 9 do
- local val = args.idle[key .. i]
- if val == nil then
- idle[i-1] = 0
- else
- local v = tonumber(val) or 0
- if v < 0 or v > 100 then
- error("idle values cannot exceed 100")
+ if args.idle then
+ for i = 2, 9 do
+ local val = args.idle[key .. i]
+ if val == nil then
+ idle[i-1] = 0
+ else
+ local v = tonumber(val) or 0
+ if v < 0 or v > 100 then
+ error("idle values cannot exceed 100")
+ end
+ idle[i-1] = v
end
- idle[i-1] = v
end
end
if args.duration then
diff --git a/files/lang/launcher_ru.ts b/files/lang/launcher_ru.ts
index 5c6719c11c..57a9c67f65 100644
--- a/files/lang/launcher_ru.ts
+++ b/files/lang/launcher_ru.ts
@@ -1226,11 +1226,11 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov
- <html><head/><body><p>Если настройка включена, требуются магические метательные снаряды, чтобы обойти сопротивление обычному оружию или уязвимость к нему. Если отключена, то требуются магические снаряды или магическое оружие дальнего боя.</p></body></html>
+ <html><head/><body><p>Если настройка включена, для обхода сопротивления или уязвимости к обычному оружию необходимо, чтобы снаряд был магическим. Если выключена, то магическим для этого может быть как снаряд, так и оружие дальнего боя.</p></body></html>
- Только снаряды обходят сопротивление
+ Обычные снаряды не обходят сопротивление