Fix compilation on Linux + minor nits

This commit is contained in:
irisz64
2025-07-26 00:26:29 +02:00
parent 8fbac50131
commit ef05bcfac6
6 changed files with 20 additions and 20 deletions

View File

@@ -18,15 +18,15 @@ struct Disassembler {
return ret; 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); return details ? DisassembleDetailed(address, instruction) : DisassembleSimple(address, instruction);
} }
~Disassembler() { cs_close(&handle); } ~Disassembler() { cs_close(&handle); }
private: private:
DisassemblyResult DisassembleDetailed(u32 address, u32 instruction) const; [[nodiscard]] DisassemblyResult DisassembleDetailed(u32 address, u32 instruction) const;
DisassemblyResult DisassembleSimple(u32 address, u32 instruction) const; [[nodiscard]] DisassemblyResult DisassembleSimple(u32 address, u32 instruction) const;
explicit Disassembler(const bool rsp) : rsp(rsp) { explicit Disassembler(const bool rsp) : rsp(rsp) {
if (cs_open(CS_ARCH_MIPS, static_cast<cs_mode>((rsp ? CS_MODE_32 : CS_MODE_64) | CS_MODE_BIG_ENDIAN), &handle) != if (cs_open(CS_ARCH_MIPS, static_cast<cs_mode>((rsp ? CS_MODE_32 : CS_MODE_64) | CS_MODE_BIG_ENDIAN), &handle) !=

View File

@@ -1,5 +1,6 @@
#include <Core.hpp> #include <Core.hpp>
#include <Scheduler.hpp> #include <Scheduler.hpp>
#include <cmath>
#include <core/mmio/PI.hpp> #include <core/mmio/PI.hpp>
#include <log.hpp> #include <log.hpp>
@@ -341,7 +342,7 @@ void PI::BusWrite<u32, true>(u32 addr, u32 val) {
template <> template <>
auto PI::BusRead<u64, false>(u32 addr) -> u64 { auto PI::BusRead<u64, false>(u32 addr) -> u64 {
if (!ReadLatch()) [[unlikely]] { if (!ReadLatch()) [[unlikely]] {
return (u64)latch << 32; return static_cast<u64>(latch) << 32;
} }
switch (addr) { switch (addr) {
@@ -477,7 +478,7 @@ u32 PI::AccessTiming(const u8 domain, const u32 length) const {
panic("Unknown PI domain: {}\n", domain); panic("Unknown PI domain: {}\n", domain);
} }
const uint32_t pages = ceil((double)length / page_size); const uint32_t pages = ceil(static_cast<double>(length) / page_size);
cycles += (14 + latency) * pages; cycles += (14 + latency) * pages;
cycles += (pulse_width + release) * (length / 2); cycles += (pulse_width + release) * (length / 2);

View File

@@ -1,7 +1,8 @@
#include <cstring>
#include <PIF/MupenMovie.hpp> #include <PIF/MupenMovie.hpp>
#include <log.hpp> #include <File.hpp>
#include "File.hpp" #include <PIF.hpp>
#include "PIF.hpp"
union TASMovieControllerData { union TASMovieControllerData {
struct { struct {
@@ -36,7 +37,7 @@ bool MupenMovie::Load(const fs::path &path) {
return false; return false;
} }
memcpy(&loadedTasMovieHeader, loadedTasMovie.data(), sizeof(TASMovieHeader)); std::memcpy(&loadedTasMovieHeader, loadedTasMovie.data(), sizeof(TASMovieHeader));
if (loadedTasMovieHeader.signature[0] != 0x4D || loadedTasMovieHeader.signature[1] != 0x36 || if (loadedTasMovieHeader.signature[0] != 0x4D || loadedTasMovieHeader.signature[1] != 0x36 ||
loadedTasMovieHeader.signature[2] != 0x34 || loadedTasMovieHeader.signature[3] != 0x1A) { loadedTasMovieHeader.signature[2] != 0x34 || loadedTasMovieHeader.signature[3] != 0x1A) {

View File

@@ -6,7 +6,7 @@ EmuThread::EmuThread(const std::shared_ptr<n64::Core> &core, double &fps, Render
SettingsWindow &settings) noexcept : SettingsWindow &settings) noexcept :
renderWidget(renderWidget), core(core), settings(settings), fps(fps) {} renderWidget(renderWidget), core(core), settings(settings), fps(fps) {}
void EmuThread::run() noexcept { void EmuThread::run() const noexcept {
if(!core->romLoaded) return; if(!core->romLoaded) return;
auto lastSample = std::chrono::high_resolution_clock::now(); auto lastSample = std::chrono::high_resolution_clock::now();
@@ -34,9 +34,7 @@ void EmuThread::run() noexcept {
oneSecondPassed = true; oneSecondPassed = true;
return; return;
} }
lastSample = endFrameTime;
avgFps /= sampledFps; avgFps /= sampledFps;
sampledFps = 0;
fps = 1000.0 / avgFps; fps = 1000.0 / avgFps;
} }
} }

View File

@@ -13,7 +13,7 @@ class EmuThread final {
public: public:
explicit EmuThread(const std::shared_ptr<n64::Core> &, double &, RenderWidget &, SettingsWindow &) noexcept; explicit EmuThread(const std::shared_ptr<n64::Core> &, double &, RenderWidget &, SettingsWindow &) noexcept;
~EmuThread() = default; ~EmuThread() = default;
void run() noexcept; void run() const noexcept;
void TogglePause() const noexcept; void TogglePause() const noexcept;
void Reset() const noexcept; void Reset() const noexcept;
void Stop() const noexcept; void Stop() const noexcept;

View File

@@ -28,11 +28,11 @@ void print(const std::format_string<Args...> fmt, Args... args) {
} }
} }
#define panic(fmt, ...) do { Util::print<Util::Error>("[FATAL] " fmt, __VA_ARGS__); exit(-1); } while(0) #define panic(fmt, ...) do { Util::print<Util::Error>("[FATAL] " fmt __VA_OPT__(,) __VA_ARGS__); exit(-1); } while(0)
#define error(fmt, ...) do { Util::print<Util::Error>("[ERROR] " fmt, __VA_ARGS__); } while(0) #define error(fmt, ...) do { Util::print<Util::Error>("[ERROR] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
#define warn(fmt, ...) do { Util::print<Util::Warn>("[WARN] " fmt, __VA_ARGS__); } while(0) #define warn(fmt, ...) do { Util::print<Util::Warn>("[WARN] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
#define info(fmt, ...) do { Util::print<Util::Info>("[INFO] " fmt, __VA_ARGS__); } while(0) #define info(fmt, ...) do { Util::print<Util::Info>("[INFO] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
#define debug(fmt, ...) do { Util::print<Util::Debug>("[DEBUG] " fmt, __VA_ARGS__); } while(0) #define debug(fmt, ...) do { Util::print<Util::Debug>("[DEBUG] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
#define trace(fmt, ...) do { Util::print<Util::Trace>("[TRACE] " fmt, __VA_ARGS__); } while(0) #define trace(fmt, ...) do { Util::print<Util::Trace>("[TRACE] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
#define always(fmt, ...) do { Util::print<Util::Always>(fmt, __VA_ARGS__); } while(0) #define always(fmt, ...) do { Util::print<Util::Always>(fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
} // namespace Util } // namespace Util