From ef05bcfac6f37a5e7dfb7ed9f5df5795bda08a66 Mon Sep 17 00:00:00 2001 From: irisz64 Date: Sat, 26 Jul 2025 00:26:29 +0200 Subject: [PATCH] Fix compilation on Linux + minor nits --- src/backend/core/Disassembler.hpp | 6 +++--- src/backend/core/mmio/PI.cpp | 5 +++-- src/backend/core/mmio/PIF/MupenMovie.cpp | 9 +++++---- src/frontend/EmuThread.cpp | 4 +--- src/frontend/EmuThread.hpp | 2 +- src/utils/log.hpp | 14 +++++++------- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/backend/core/Disassembler.hpp b/src/backend/core/Disassembler.hpp index b3dd8ac3..3362b7b9 100644 --- a/src/backend/core/Disassembler.hpp +++ b/src/backend/core/Disassembler.hpp @@ -18,15 +18,15 @@ struct Disassembler { return ret; } - DisassemblyResult Disassemble(const u32 address, const u32 instruction) { + [[nodiscard]] DisassemblyResult Disassemble(const u32 address, const u32 instruction) const { return details ? DisassembleDetailed(address, instruction) : DisassembleSimple(address, instruction); } ~Disassembler() { cs_close(&handle); } private: - DisassemblyResult DisassembleDetailed(u32 address, u32 instruction) const; - DisassemblyResult DisassembleSimple(u32 address, u32 instruction) const; + [[nodiscard]] DisassemblyResult DisassembleDetailed(u32 address, u32 instruction) const; + [[nodiscard]] DisassemblyResult DisassembleSimple(u32 address, u32 instruction) const; explicit Disassembler(const bool rsp) : rsp(rsp) { if (cs_open(CS_ARCH_MIPS, static_cast((rsp ? CS_MODE_32 : CS_MODE_64) | CS_MODE_BIG_ENDIAN), &handle) != diff --git a/src/backend/core/mmio/PI.cpp b/src/backend/core/mmio/PI.cpp index 2dd4c905..90f376e2 100644 --- a/src/backend/core/mmio/PI.cpp +++ b/src/backend/core/mmio/PI.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -341,7 +342,7 @@ void PI::BusWrite(u32 addr, u32 val) { template <> auto PI::BusRead(u32 addr) -> u64 { if (!ReadLatch()) [[unlikely]] { - return (u64)latch << 32; + return static_cast(latch) << 32; } switch (addr) { @@ -477,7 +478,7 @@ u32 PI::AccessTiming(const u8 domain, const u32 length) const { panic("Unknown PI domain: {}\n", domain); } - const uint32_t pages = ceil((double)length / page_size); + const uint32_t pages = ceil(static_cast(length) / page_size); cycles += (14 + latency) * pages; cycles += (pulse_width + release) * (length / 2); diff --git a/src/backend/core/mmio/PIF/MupenMovie.cpp b/src/backend/core/mmio/PIF/MupenMovie.cpp index 4d7bc1f6..f4120a42 100644 --- a/src/backend/core/mmio/PIF/MupenMovie.cpp +++ b/src/backend/core/mmio/PIF/MupenMovie.cpp @@ -1,7 +1,8 @@ +#include #include -#include -#include "File.hpp" -#include "PIF.hpp" +#include +#include + union TASMovieControllerData { struct { @@ -36,7 +37,7 @@ bool MupenMovie::Load(const fs::path &path) { return false; } - memcpy(&loadedTasMovieHeader, loadedTasMovie.data(), sizeof(TASMovieHeader)); + std::memcpy(&loadedTasMovieHeader, loadedTasMovie.data(), sizeof(TASMovieHeader)); if (loadedTasMovieHeader.signature[0] != 0x4D || loadedTasMovieHeader.signature[1] != 0x36 || loadedTasMovieHeader.signature[2] != 0x34 || loadedTasMovieHeader.signature[3] != 0x1A) { diff --git a/src/frontend/EmuThread.cpp b/src/frontend/EmuThread.cpp index 05a9fea0..3c861871 100644 --- a/src/frontend/EmuThread.cpp +++ b/src/frontend/EmuThread.cpp @@ -6,7 +6,7 @@ EmuThread::EmuThread(const std::shared_ptr &core, double &fps, Render SettingsWindow &settings) noexcept : renderWidget(renderWidget), core(core), settings(settings), fps(fps) {} -void EmuThread::run() noexcept { +void EmuThread::run() const noexcept { if(!core->romLoaded) return; auto lastSample = std::chrono::high_resolution_clock::now(); @@ -34,9 +34,7 @@ void EmuThread::run() noexcept { oneSecondPassed = true; return; } - lastSample = endFrameTime; avgFps /= sampledFps; - sampledFps = 0; fps = 1000.0 / avgFps; } } diff --git a/src/frontend/EmuThread.hpp b/src/frontend/EmuThread.hpp index a7794fe4..6526312a 100644 --- a/src/frontend/EmuThread.hpp +++ b/src/frontend/EmuThread.hpp @@ -13,7 +13,7 @@ class EmuThread final { public: explicit EmuThread(const std::shared_ptr &, double &, RenderWidget &, SettingsWindow &) noexcept; ~EmuThread() = default; - void run() noexcept; + void run() const noexcept; void TogglePause() const noexcept; void Reset() const noexcept; void Stop() const noexcept; diff --git a/src/utils/log.hpp b/src/utils/log.hpp index ef538b30..44849486 100644 --- a/src/utils/log.hpp +++ b/src/utils/log.hpp @@ -28,11 +28,11 @@ void print(const std::format_string fmt, Args... args) { } } -#define panic(fmt, ...) do { Util::print("[FATAL] " fmt, __VA_ARGS__); exit(-1); } while(0) -#define error(fmt, ...) do { Util::print("[ERROR] " fmt, __VA_ARGS__); } while(0) -#define warn(fmt, ...) do { Util::print("[WARN] " fmt, __VA_ARGS__); } while(0) -#define info(fmt, ...) do { Util::print("[INFO] " fmt, __VA_ARGS__); } while(0) -#define debug(fmt, ...) do { Util::print("[DEBUG] " fmt, __VA_ARGS__); } while(0) -#define trace(fmt, ...) do { Util::print("[TRACE] " fmt, __VA_ARGS__); } while(0) -#define always(fmt, ...) do { Util::print(fmt, __VA_ARGS__); } while(0) +#define panic(fmt, ...) do { Util::print("[FATAL] " fmt __VA_OPT__(,) __VA_ARGS__); exit(-1); } while(0) +#define error(fmt, ...) do { Util::print("[ERROR] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0) +#define warn(fmt, ...) do { Util::print("[WARN] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0) +#define info(fmt, ...) do { Util::print("[INFO] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0) +#define debug(fmt, ...) do { Util::print("[DEBUG] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0) +#define trace(fmt, ...) do { Util::print("[TRACE] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0) +#define always(fmt, ...) do { Util::print(fmt __VA_OPT__(,) __VA_ARGS__); } while(0) } // namespace Util