mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-04 20:37:51 -06:00
Merge branch 'main' into user_and_settings
This commit is contained in:
commit
164dba99e3
1
dist/net.shadps4.shadPS4.metainfo.xml
vendored
1
dist/net.shadps4.shadPS4.metainfo.xml
vendored
@ -11,6 +11,7 @@
|
||||
<project_license translate="no">GPL-2.0</project_license>
|
||||
<launchable type="desktop-id" translate="no">net.shadps4.shadPS4.desktop</launchable>
|
||||
<url type="homepage" translate="no">https://shadps4.net/</url>
|
||||
<url type="vcs-browser" translate="no">https://github.com/shadps4-emu/shadPS4</url>
|
||||
<description>
|
||||
<p>shadPS4 is an early PlayStation 4 emulator for Windows, Linux and macOS written in C++.</p>
|
||||
<p>The emulator is still early in development, so don't expect a flawless experience. Nonetheless, the emulator can already run a number of commercial games.</p>
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2014 Citra Emulator Project
|
||||
// SPDX-FileCopyrightText: Copyright 2026 shadPS4 Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <chrono>
|
||||
@ -98,6 +99,7 @@ private:
|
||||
std::size_t bytes_written = 0;
|
||||
};
|
||||
|
||||
#ifdef _WIN32
|
||||
/**
|
||||
* Backend that writes to Visual Studio's output window
|
||||
*/
|
||||
@ -108,15 +110,14 @@ public:
|
||||
~DebuggerBackend() = default;
|
||||
|
||||
void Write(const Entry& entry) {
|
||||
#ifdef _WIN32
|
||||
::OutputDebugStringW(UTF8ToUTF16W(FormatLogMessage(entry).append(1, '\n')).c_str());
|
||||
#endif
|
||||
}
|
||||
|
||||
void Flush() {}
|
||||
|
||||
void EnableForStacktrace() {}
|
||||
};
|
||||
#endif
|
||||
|
||||
bool initialization_in_progress_suppress_logging = true;
|
||||
|
||||
@ -221,6 +222,7 @@ public:
|
||||
.line_num = line_num,
|
||||
.function = function,
|
||||
.message = std::move(message),
|
||||
.thread = Common::GetCurrentThreadName(),
|
||||
};
|
||||
if (EmulatorSettings::GetInstance()->GetLogType() == "async") {
|
||||
message_queue.EmplaceWait(entry);
|
||||
@ -268,7 +270,9 @@ private:
|
||||
}
|
||||
|
||||
void ForEachBackend(auto lambda) {
|
||||
// lambda(debugger_backend);
|
||||
#ifdef _WIN32
|
||||
lambda(debugger_backend);
|
||||
#endif
|
||||
lambda(color_console_backend);
|
||||
lambda(file_backend);
|
||||
}
|
||||
@ -281,7 +285,9 @@ private:
|
||||
static inline bool should_append{false};
|
||||
|
||||
Filter filter;
|
||||
#ifdef _WIN32
|
||||
DebuggerBackend debugger_backend{};
|
||||
#endif
|
||||
ColorConsoleBackend color_console_backend{};
|
||||
FileBackend file_backend;
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@ struct Entry {
|
||||
u32 line_num = 0;
|
||||
std::string function;
|
||||
std::string message;
|
||||
std::string thread;
|
||||
};
|
||||
|
||||
} // namespace Common::Log
|
||||
|
||||
@ -14,7 +14,6 @@
|
||||
#include "common/logging/log.h"
|
||||
#include "common/logging/log_entry.h"
|
||||
#include "common/logging/text_formatter.h"
|
||||
#include "common/thread.h"
|
||||
|
||||
namespace Common::Log {
|
||||
|
||||
@ -25,9 +24,8 @@ std::string FormatLogMessage(const Entry& entry) {
|
||||
const char* class_name = GetLogClassName(entry.log_class);
|
||||
const char* level_name = GetLevelName(entry.log_level);
|
||||
|
||||
return fmt::format("[{}] <{}> ({}) {}:{} {}: {}", class_name, level_name,
|
||||
Common::GetCurrentThreadName(), entry.filename, entry.line_num,
|
||||
entry.function, entry.message);
|
||||
return fmt::format("[{}] <{}> ({}) {}:{} {}: {}", class_name, level_name, entry.thread,
|
||||
entry.filename, entry.line_num, entry.function, entry.message);
|
||||
}
|
||||
|
||||
void PrintMessage(const Entry& entry) {
|
||||
|
||||
@ -51,14 +51,14 @@ std::string convertValueToHex(const std::string type, const std::string valueStr
|
||||
uint32_t i;
|
||||
} floatUnion;
|
||||
floatUnion.f = std::stof(valueStr);
|
||||
result = toHex(floatUnion.i, sizeof(floatUnion.i));
|
||||
result = toHex(std::byteswap(floatUnion.i), sizeof(floatUnion.i));
|
||||
} else if (type == "float64") {
|
||||
union {
|
||||
double d;
|
||||
uint64_t i;
|
||||
} doubleUnion;
|
||||
doubleUnion.d = std::stod(valueStr);
|
||||
result = toHex(doubleUnion.i, sizeof(doubleUnion.i));
|
||||
result = toHex(std::byteswap(doubleUnion.i), sizeof(doubleUnion.i));
|
||||
} else if (type == "utf8") {
|
||||
std::vector<unsigned char> byteArray =
|
||||
std::vector<unsigned char>(valueStr.begin(), valueStr.end());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user