Minor fixes

This commit is contained in:
Lynix
2023-11-28 20:05:09 +01:00
parent c7579fb9be
commit 079f153640
16 changed files with 53 additions and 47 deletions

View File

@@ -472,6 +472,7 @@ namespace Nz
// Signal we're good
{
std::unique_lock<std::mutex> lock(m);
m_musicStarted = true;
cv.notify_all();
} // m & cv no longer exists from here
@@ -519,10 +520,11 @@ namespace Nz
std::exception_ptr exceptionPtr;
std::unique_lock<std::mutex> lock(mutex);
m_musicStarted = false;
m_thread = std::thread(&Music::MusicThread, this, std::ref(cv), std::ref(mutex), std::ref(exceptionPtr), startPaused);
// Wait until thread signal it has properly started (or an error occurred)
cv.wait(lock);
cv.wait(lock, [&] { return exceptionPtr || m_musicStarted; });
if (exceptionPtr)
std::rethrow_exception(exceptionPtr);

View File

@@ -4,14 +4,11 @@
#include <Nazara/Audio/OpenALLibrary.hpp>
#include <Nazara/Audio/OpenALDevice.hpp>
#include <Nazara/Core/Algorithm.hpp>
#include <NazaraUtils/Algorithm.hpp>
#include <Nazara/Core/Error.hpp>
#include <Nazara/Core/ErrorFlags.hpp>
#include <Nazara/Core/Log.hpp>
#include <Nazara/Core/StringExt.hpp>
#include <NazaraUtils/CallOnExit.hpp>
#include <array>
#include <cstring>
#include <sstream>
#include <stdexcept>
#include <Nazara/Audio/Debug.hpp>
@@ -30,7 +27,7 @@ namespace Nz
#define NAZARA_AUDIO_AL_ALC_FUNCTION(name)
#define NAZARA_AUDIO_AL_EXT_BEGIN(ext) if (alIsExtensionPresent(#ext)) {
#define NAZARA_AUDIO_AL_EXT_END() }
#define NAZARA_AUDIO_AL_FUNCTION_EXT(name) name = reinterpret_cast<decltype(&::name)>(alGetProcAddress(#name));
#define NAZARA_AUDIO_AL_EXT_FUNCTION(name) name = reinterpret_cast<decltype(&::name)>(alGetProcAddress(#name));
#include <Nazara/Audio/OpenALFunctions.hpp>
m_hasCaptureSupport = alcIsExtensionPresent(nullptr, "ALC_EXT_CAPTURE");
@@ -67,7 +64,7 @@ namespace Nz
{
ErrorFlags disableError(ErrorMode::Silent, ~ErrorMode::ThrowException);
if (!m_library.Load(libname))
if (!m_library.Load(Utf8Path(libname)))
continue;
auto LoadSymbol = [this](const char* name, bool optional)
@@ -82,13 +79,16 @@ namespace Nz
try
{
#define NAZARA_AUDIO_AL_ALC_FUNCTION(name) name = reinterpret_cast<decltype(&::name)>(LoadSymbol(#name, false));
#define NAZARA_AUDIO_AL_EXT_BEGIN(name)
#define NAZARA_AUDIO_AL_EXT_END(name)
#define NAZARA_AUDIO_AL_EXT_FUNCTION(name)
#include <Nazara/Audio/OpenALFunctions.hpp>
}
catch (const std::exception& e)
{
ErrorFlags disableSilent({}, ~ErrorMode::Silent);
NazaraWarning(std::string("failed to load ") + libname + ": " + e.what());
NazaraWarningFmt("failed to load {0}: {1}", libname, e.what());
continue;
}
@@ -104,6 +104,8 @@ namespace Nz
// Load core
#define NAZARA_AUDIO_AL_ALC_FUNCTION(name) name = &::name;
#define NAZARA_AUDIO_AL_EXT_BEGIN(name)
#define NAZARA_AUDIO_AL_EXT_END(name)
#define NAZARA_AUDIO_AL_EXT_FUNCTION(name)
#include <Nazara/Audio/OpenALFunctions.hpp>

View File

@@ -37,7 +37,7 @@ namespace Nz
{
#if NAZARA_CORE_SAFE
if (m_referenceCount > 0)
NazaraWarning("Resource destroyed while still referenced " + std::to_string(m_referenceCount) + " time(s)");
NazaraWarningFmt("Resource destroyed while still referenced {0} time(s)", m_referenceCount);
#endif
}

View File

@@ -298,7 +298,7 @@ namespace Nz
while (ptr < ptrEnd && *patternPtr != '*')
{
if (patternPtr < patternPtrEnd && *patternPtr != *ptr && *patternPtr != '?')
if (patternPtr >= patternPtrEnd || (*patternPtr != *ptr && *patternPtr != '?'))
return false;
patternPtr++;
@@ -307,7 +307,7 @@ namespace Nz
const char* cp = nullptr;
const char* mp = nullptr;
while (*ptr)
while (ptr < ptrEnd)
{
if (*patternPtr == '*')
{

View File

@@ -100,7 +100,7 @@ namespace Nz
if (it == m_materialInstances.end())
{
auto& matPassEntry = m_materialInstances[&materialInstance];
matPassEntry.onMaterialInstancePipelineInvalidated.Connect(materialInstance.OnMaterialInstancePipelineInvalidated, [=](const MaterialInstance*, std::size_t passIndex)
matPassEntry.onMaterialInstancePipelineInvalidated.Connect(materialInstance.OnMaterialInstancePipelineInvalidated, [this](const MaterialInstance*, std::size_t passIndex)
{
if (passIndex != m_passIndex)
return;

View File

@@ -34,7 +34,7 @@ namespace Nz
const auto& uniformBlockData = material.GetUniformBlockData(m_uniformBlockIndex);
const ShaderReflection::StructData* structData = reflection.GetStructByIndex(uniformBlockData.structIndex);
NazaraAssert(structData, "invalid struct index " + std::to_string(uniformBlockData.structIndex));
NazaraAssertFmt(structData, "invalid struct index {0}", uniformBlockData.structIndex);
auto it = structData->members.find(m_memberTag);
if (it == structData->members.end())

View File

@@ -475,7 +475,7 @@ namespace Nz
return SocketState::Connected;
else
{
NazaraWarning("Socket " + std::to_string(handle) + " was returned by poll without POLLOUT nor error events (events: 0x" + NumberToString(descriptor.revents, 16) + ')');
NazaraWarningFmt("Socket {0} was returned by poll without POLLOUT nor error events (events: {1:#x})", handle, descriptor.revents);
return SocketState::NotConnected;
}
}

View File

@@ -91,7 +91,7 @@ namespace Nz
if (shaderBinding)
shaderBinding->Apply(*pipelineLayout, setIndex, context);
else
NazaraWarning("no shader binding for set #" + std::to_string(setIndex));
NazaraWarningFmt("no shader binding for set #{0}", setIndex);
setIndex++;
}

View File

@@ -45,17 +45,17 @@ namespace Nz::GL
if constexpr (std::is_same_v<Ret, void>)
{
funcPtr(std::forward<Args>(args)...);
funcPtr(args...);
if (context->ProcessErrorStack())
context->PrintFunctionCall(FuncIndex, std::forward<Args>(args)...);
context->PrintFunctionCall(FuncIndex, args...);
}
else
{
Ret r = funcPtr(std::forward<Args>(args)...);
Ret r = funcPtr(args...);
if (context->ProcessErrorStack())
context->PrintFunctionCall(FuncIndex, std::forward<Args>(args)...);
context->PrintFunctionCall(FuncIndex, args...);
return r;
}

View File

@@ -188,7 +188,7 @@ namespace Nz
m_byteStream >> minimumCodeSize;
if (minimumCodeSize > 12)
{
NazaraInternalError("unexpected LZW Minimum Code Size (" + std::to_string(minimumCodeSize) + ")");
NazaraInternalErrorFmt("unexpected LZW Minimum Code Size ({0})", minimumCodeSize);
return false;
}

View File

@@ -211,7 +211,7 @@ namespace Nz
void MD5MeshParser::Error(const std::string& message)
{
NazaraErrorFmt("{0} at line #1", message, m_lineCount);
NazaraErrorFmt("{0} on line #{1}", message, m_lineCount);
}
bool MD5MeshParser::ParseJoints()
@@ -446,7 +446,7 @@ namespace Nz
void MD5MeshParser::Warning(const std::string& message)
{
NazaraWarning(message + " at line #" + std::to_string(m_lineCount));
NazaraWarningFmt("{0} on line #{1}", message, m_lineCount);
}
void MD5MeshParser::UnrecognizedLine(bool error)