diff --git a/Utilities/AutoPause.cpp b/Utilities/AutoPause.cpp index 5a604f0749..9c3fc70edf 100644 --- a/Utilities/AutoPause.cpp +++ b/Utilities/AutoPause.cpp @@ -2,6 +2,7 @@ #include "rpcs3/Ini.h" #include "AutoPause.h" #include "Utilities/Log.h" +#include "Utilities/rFile.h" #include "Emu/System.h" using namespace Debug; diff --git a/Utilities/BEType.h b/Utilities/BEType.h index 8322b804f8..fd45750cb1 100644 --- a/Utilities/BEType.h +++ b/Utilities/BEType.h @@ -183,3 +183,87 @@ template struct _se, T1, value> : pub #define se16(x) _se::value #define se32(x) _se::value #define se64(x) _se::value + +template __forceinline static u8 Read8(T& f) +{ + u8 ret; + f.Read(&ret, sizeof(ret)); + return ret; +} + +template __forceinline static u16 Read16(T& f) +{ + be_t ret; + f.Read(&ret, sizeof(ret)); + return ret; +} + +template __forceinline static u32 Read32(T& f) +{ + be_t ret; + f.Read(&ret, sizeof(ret)); + return ret; +} + +template __forceinline static u64 Read64(T& f) +{ + be_t ret; + f.Read(&ret, sizeof(ret)); + return ret; +} + +template __forceinline static u16 Read16LE(T& f) +{ + u16 ret; + f.Read(&ret, sizeof(ret)); + return ret; +} + +template __forceinline static u32 Read32LE(T& f) +{ + u32 ret; + f.Read(&ret, sizeof(ret)); + return ret; +} + +template __forceinline static u64 Read64LE(T& f) +{ + u64 ret; + f.Read(&ret, sizeof(ret)); + return ret; +} + +template __forceinline static void Write8(T& f, const u8 data) +{ + f.Write(&data, sizeof(data)); +} + +template __forceinline static void Write16LE(T& f, const u16 data) +{ + f.Write(&data, sizeof(data)); +} + +template __forceinline static void Write32LE(T& f, const u32 data) +{ + f.Write(&data, sizeof(data)); +} + +template __forceinline static void Write64LE(T& f, const u64 data) +{ + f.Write(&data, sizeof(data)); +} + +template __forceinline static void Write16(T& f, const u16 data) +{ + Write16LE(f, re16(data)); +} + +template __forceinline static void Write32(T& f, const u32 data) +{ + Write32LE(f, re32(data)); +} + +template __forceinline static void Write64(T& f, const u64 data) +{ + Write64LE(f, re64(data)); +} \ No newline at end of file diff --git a/Utilities/Log.cpp b/Utilities/Log.cpp index 4d0749426e..f95c2db3bc 100644 --- a/Utilities/Log.cpp +++ b/Utilities/Log.cpp @@ -12,6 +12,8 @@ #include #include #include +#include "Thread.h" +#include "rFile.h" using namespace Log; diff --git a/Utilities/SMutex.h b/Utilities/SMutex.h index efd99b840f..909d8ec87b 100644 --- a/Utilities/SMutex.h +++ b/Utilities/SMutex.h @@ -1,5 +1,7 @@ #pragma once +#include + bool SM_IsAborted(); void SM_Sleep(); size_t SM_GetCurrentThreadId(); diff --git a/Utilities/SSemaphore.h b/Utilities/SSemaphore.h index 2e61262959..420d9e8469 100644 --- a/Utilities/SSemaphore.h +++ b/Utilities/SSemaphore.h @@ -1,5 +1,8 @@ #pragma once +#include +#include + class SSemaphore { const u32 m_max; diff --git a/Utilities/rFile.cpp b/Utilities/rFile.cpp index 6fcd4b4066..a4b3153541 100644 --- a/Utilities/rFile.cpp +++ b/Utilities/rFile.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "Log.h" #include +#include "rFile.h" #ifdef _WIN32 // Maybe in StrFmt? diff --git a/rpcs3/Crypto/unedat.cpp b/rpcs3/Crypto/unedat.cpp index 9c4c96414e..b484cabf38 100644 --- a/rpcs3/Crypto/unedat.cpp +++ b/rpcs3/Crypto/unedat.cpp @@ -3,6 +3,7 @@ #include "key_vault.h" #include "unedat.h" #include "Utilities/Log.h" +#include "Utilities/rFile.h" void generate_key(int crypto_mode, int version, unsigned char *key_final, unsigned char *iv_final, unsigned char *key, unsigned char *iv) { diff --git a/rpcs3/Crypto/unpkg.cpp b/rpcs3/Crypto/unpkg.cpp index f762f35804..e667417359 100644 --- a/rpcs3/Crypto/unpkg.cpp +++ b/rpcs3/Crypto/unpkg.cpp @@ -7,6 +7,7 @@ #include #include "Utilities/Log.h" +#include "Utilities/rFile.h" // Decryption. bool CheckHeader(rFile& pkg_f, PKGHeader* m_header) diff --git a/rpcs3/Crypto/unpkg.h b/rpcs3/Crypto/unpkg.h index 886ffe3216..e47e061fbc 100644 --- a/rpcs3/Crypto/unpkg.h +++ b/rpcs3/Crypto/unpkg.h @@ -45,4 +45,6 @@ struct PKGEntry be_t pad; // Padding (zeros) }; +class rFile; + extern int Unpack(rFile& dec_pkg_f, std::string src, std::string dst); \ No newline at end of file diff --git a/rpcs3/Crypto/unself.cpp b/rpcs3/Crypto/unself.cpp index 10cc0200c7..61422f5328 100644 --- a/rpcs3/Crypto/unself.cpp +++ b/rpcs3/Crypto/unself.cpp @@ -1,5 +1,6 @@ #include "stdafx.h" #include "Utilities/Log.h" +#include "Utilities/rFile.h" #include "aes.h" #include "sha1.h" #include "utils.h" diff --git a/rpcs3/Emu/Audio/AudioDumper.h b/rpcs3/Emu/Audio/AudioDumper.h index e554b95eca..d3a6080ba4 100644 --- a/rpcs3/Emu/Audio/AudioDumper.h +++ b/rpcs3/Emu/Audio/AudioDumper.h @@ -1,5 +1,7 @@ #pragma once +#include "Utilities/rFile.h" + struct WAVHeader { struct RIFFHeader diff --git a/rpcs3/Emu/CPU/CPUThread.h b/rpcs3/Emu/CPU/CPUThread.h index e827ca77f2..c59fc08b2a 100644 --- a/rpcs3/Emu/CPU/CPUThread.h +++ b/rpcs3/Emu/CPU/CPUThread.h @@ -1,5 +1,7 @@ #pragma once +#include "Utilities/Thread.h" + enum CPUThreadType :unsigned char { CPU_THREAD_PPU, diff --git a/rpcs3/Emu/CPU/CPUThreadManager.h b/rpcs3/Emu/CPU/CPUThreadManager.h index ad312108d7..ddf149fc72 100644 --- a/rpcs3/Emu/CPU/CPUThreadManager.h +++ b/rpcs3/Emu/CPU/CPUThreadManager.h @@ -1,4 +1,7 @@ #pragma once + +#include + class CPUThread; class RawSPUThread; enum CPUThreadType : unsigned char; diff --git a/rpcs3/Emu/Cell/PPUProgramCompiler.cpp b/rpcs3/Emu/Cell/PPUProgramCompiler.cpp index 5e64958d0b..fd28e84cc1 100644 --- a/rpcs3/Emu/Cell/PPUProgramCompiler.cpp +++ b/rpcs3/Emu/Cell/PPUProgramCompiler.cpp @@ -1,5 +1,6 @@ #include "stdafx.h" #include "PPUProgramCompiler.h" +#include "Utilities/rFile.h" using namespace PPU_instr; diff --git a/rpcs3/Emu/Cell/SPURecompilerCore.cpp b/rpcs3/Emu/Cell/SPURecompilerCore.cpp index 04997c8c39..daa2cf5882 100644 --- a/rpcs3/Emu/Cell/SPURecompilerCore.cpp +++ b/rpcs3/Emu/Cell/SPURecompilerCore.cpp @@ -2,6 +2,7 @@ #include "Utilities/Log.h" #include "Emu/Memory/Memory.h" #include "Emu/System.h" +#include "Utilities/rFile.h" #include "Emu/SysCalls/lv2/sys_time.h" diff --git a/rpcs3/Emu/Event.h b/rpcs3/Emu/Event.h index bc01aaf162..31a33e3db5 100644 --- a/rpcs3/Emu/Event.h +++ b/rpcs3/Emu/Event.h @@ -1,5 +1,6 @@ #pragma once #include "Emu/SysCalls/lv2/sys_event.h" +#include class EventManager { diff --git a/rpcs3/Emu/FS/vfsDevice.cpp b/rpcs3/Emu/FS/vfsDevice.cpp index 9090bc694c..d17917b6c2 100644 --- a/rpcs3/Emu/FS/vfsDevice.cpp +++ b/rpcs3/Emu/FS/vfsDevice.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include #include "vfsDevice.h" +#include "Utilities/rFile.h" vfsDevice::vfsDevice(const std::string& ps3_path, const std::string& local_path) : m_ps3_path(ps3_path) diff --git a/rpcs3/Emu/FS/vfsDevice.h b/rpcs3/Emu/FS/vfsDevice.h index 2be4c108ff..b5780e7add 100644 --- a/rpcs3/Emu/FS/vfsDevice.h +++ b/rpcs3/Emu/FS/vfsDevice.h @@ -1,6 +1,7 @@ #pragma once #include "vfsFileBase.h" #include "vfsDirBase.h" +#include class vfsDevice { diff --git a/rpcs3/Emu/FS/vfsDirBase.cpp b/rpcs3/Emu/FS/vfsDirBase.cpp index 14f4fdfc45..6e37d7cf1e 100644 --- a/rpcs3/Emu/FS/vfsDirBase.cpp +++ b/rpcs3/Emu/FS/vfsDirBase.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "vfsDevice.h" #include "vfsDirBase.h" +#include "Utilities/rFile.h" vfsDirBase::vfsDirBase(vfsDevice* device) : m_pos(0) diff --git a/rpcs3/Emu/FS/vfsLocalDir.h b/rpcs3/Emu/FS/vfsLocalDir.h index c914f0c7c8..f4b41509d2 100644 --- a/rpcs3/Emu/FS/vfsLocalDir.h +++ b/rpcs3/Emu/FS/vfsLocalDir.h @@ -1,5 +1,6 @@ #pragma once #include "vfsDirBase.h" +#include "Utilities/rFile.h" class vfsLocalDir : public vfsDirBase { diff --git a/rpcs3/Emu/FS/vfsLocalFile.h b/rpcs3/Emu/FS/vfsLocalFile.h index c61dd495e7..7395eb519a 100644 --- a/rpcs3/Emu/FS/vfsLocalFile.h +++ b/rpcs3/Emu/FS/vfsLocalFile.h @@ -1,5 +1,6 @@ #pragma once #include "vfsFileBase.h" +#include "Utilities/rFile.h" class vfsLocalFile : public vfsFileBase { diff --git a/rpcs3/Emu/IdManager.h b/rpcs3/Emu/IdManager.h index b985f886cc..06604ca47b 100644 --- a/rpcs3/Emu/IdManager.h +++ b/rpcs3/Emu/IdManager.h @@ -1,4 +1,5 @@ #pragma once +#include #include #include diff --git a/rpcs3/Emu/Memory/Memory.cpp b/rpcs3/Emu/Memory/Memory.cpp index 79c6f293cb..b376b23c76 100644 --- a/rpcs3/Emu/Memory/Memory.cpp +++ b/rpcs3/Emu/Memory/Memory.cpp @@ -183,6 +183,38 @@ void MemoryBase::Close() #endif } +void MemoryBase::WriteMMIO32(u32 addr, const u32 data) +{ + { + std::lock_guard lock(m_mutex); + + if (RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET] && + RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET]->Write32(addr, data)) + { + return; + } + } + + *(u32*)((u8*)GetBaseAddr() + addr) = re32(data); // provoke error +} + +u32 MemoryBase::ReadMMIO32(u32 addr) +{ + u32 res; + { + std::lock_guard lock(m_mutex); + + if (RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET] && + RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET]->Read32(addr, &res)) + { + return res; + } + } + + res = re32(*(u32*)((u8*)GetBaseAddr() + addr)); // provoke error + return res; +} + bool MemoryBase::Map(const u64 dst_addr, const u64 src_addr, const u32 size) { std::lock_guard lock(m_mutex); diff --git a/rpcs3/Emu/Memory/Memory.h b/rpcs3/Emu/Memory/Memory.h index 61f2e7ed73..75b78e6eaa 100644 --- a/rpcs3/Emu/Memory/Memory.h +++ b/rpcs3/Emu/Memory/Memory.h @@ -199,20 +199,7 @@ public: } } - __noinline void WriteMMIO32(u32 addr, const u32 data) - { - { - std::lock_guard lock(m_mutex); - - if (RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET] && - RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET]->Write32(addr, data)) - { - return; - } - } - - *(u32*)((u8*)GetBaseAddr() + addr) = re32(data); // provoke error - } + __noinline void WriteMMIO32(u32 addr, const u32 data); template void Write32(T addr, const u32 data) { @@ -286,22 +273,7 @@ public: } } - __noinline u32 ReadMMIO32(u32 addr) - { - u32 res; - { - std::lock_guard lock(m_mutex); - - if (RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET] && - RawSPUMem[(addr - RAW_SPU_BASE_ADDR) / RAW_SPU_OFFSET]->Read32(addr, &res)) - { - return res; - } - } - - res = re32(*(u32*)((u8*)GetBaseAddr() + addr)); // provoke error - return res; - } + __noinline u32 ReadMMIO32(u32 addr); template u32 Read32(T addr) { diff --git a/rpcs3/Emu/Memory/MemoryBlock.h b/rpcs3/Emu/Memory/MemoryBlock.h index 43c36df710..d5fdb4f375 100644 --- a/rpcs3/Emu/Memory/MemoryBlock.h +++ b/rpcs3/Emu/Memory/MemoryBlock.h @@ -3,6 +3,7 @@ #define PAGE_4K(x) (x + 4095) & ~(4095) #include +#include #include struct MemInfo diff --git a/rpcs3/Emu/RSX/GL/GLFragmentProgram.h b/rpcs3/Emu/RSX/GL/GLFragmentProgram.h index 5107b86f95..f05dfc30e0 100644 --- a/rpcs3/Emu/RSX/GL/GLFragmentProgram.h +++ b/rpcs3/Emu/RSX/GL/GLFragmentProgram.h @@ -1,6 +1,7 @@ #pragma once #include "GLShaderParam.h" #include "Emu/RSX/RSXFragmentProgram.h" +#include "Utilities/Thread.h" struct GLFragmentDecompilerThread : public ThreadBase { diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.cpp b/rpcs3/Emu/RSX/GL/GLGSRender.cpp index 54549669c3..9a80f4d0ed 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.cpp +++ b/rpcs3/Emu/RSX/GL/GLGSRender.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "rpcs3/Ini.h" #include "Utilities/rPlatform.h" // only for rImage +#include "Utilities/rFile.h" #include "Utilities/Log.h" #include "Emu/Memory/Memory.h" #include "Emu/System.h" diff --git a/rpcs3/Emu/RSX/GL/GLVertexProgram.h b/rpcs3/Emu/RSX/GL/GLVertexProgram.h index 2605410a34..ef87c4cca7 100644 --- a/rpcs3/Emu/RSX/GL/GLVertexProgram.h +++ b/rpcs3/Emu/RSX/GL/GLVertexProgram.h @@ -1,6 +1,7 @@ #pragma once #include "GLShaderParam.h" #include "Emu/RSX/RSXVertexProgram.h" +#include "Utilities/Thread.h" struct GLVertexDecompilerThread : public ThreadBase { diff --git a/rpcs3/Emu/RSX/RSXThread.h b/rpcs3/Emu/RSX/RSXThread.h index 75aa31ffbe..ed7ab000d9 100644 --- a/rpcs3/Emu/RSX/RSXThread.h +++ b/rpcs3/Emu/RSX/RSXThread.h @@ -8,6 +8,7 @@ #include #include // For tracking a list of used gcm commands #include "Utilities/SSemaphore.h" +#include "Utilities/Thread.h" enum Method { diff --git a/rpcs3/Emu/SysCalls/Modules.h b/rpcs3/Emu/SysCalls/Modules.h index 9472d235dd..a5a6f6890a 100644 --- a/rpcs3/Emu/SysCalls/Modules.h +++ b/rpcs3/Emu/SysCalls/Modules.h @@ -1,5 +1,6 @@ #pragma once #include "Emu/SysCalls/SC_FUNC.h" +#include "Emu/IdManager.h" #include "ErrorCodes.h" #include "LogBase.h" diff --git a/rpcs3/Emu/SysCalls/Modules/sceNp.cpp b/rpcs3/Emu/SysCalls/Modules/sceNp.cpp index 4135045b0b..32e4c88d91 100644 --- a/rpcs3/Emu/SysCalls/Modules/sceNp.cpp +++ b/rpcs3/Emu/SysCalls/Modules/sceNp.cpp @@ -3,6 +3,7 @@ #include "Emu/System.h" #include "Emu/SysCalls/Modules.h" +#include "Utilities/rFile.h" #include "Emu/FS/vfsDir.h" #include "Crypto/unedat.h" #include "sceNp.h" diff --git a/rpcs3/Emu/SysCalls/SysCalls.h b/rpcs3/Emu/SysCalls/SysCalls.h index c96cbfcfb7..0c72003b6d 100644 --- a/rpcs3/Emu/SysCalls/SysCalls.h +++ b/rpcs3/Emu/SysCalls/SysCalls.h @@ -1,6 +1,7 @@ #pragma once #include "ErrorCodes.h" #include "LogBase.h" +#include "Emu/IdManager.h" //#define SYSCALLS_DEBUG diff --git a/rpcs3/Emu/SysCalls/lv2/sys_spinlock.h b/rpcs3/Emu/SysCalls/lv2/sys_spinlock.h index 0dfaa371fc..cec77494c5 100644 --- a/rpcs3/Emu/SysCalls/lv2/sys_spinlock.h +++ b/rpcs3/Emu/SysCalls/lv2/sys_spinlock.h @@ -1,5 +1,7 @@ #pragma once +#include + // SysCalls void sys_spinlock_initialize(mem_ptr_t>> lock); void sys_spinlock_lock(mem_ptr_t>> lock); diff --git a/rpcs3/Emu/SysCalls/lv2/sys_spu.h b/rpcs3/Emu/SysCalls/lv2/sys_spu.h index e050703dd4..3a6f1079eb 100644 --- a/rpcs3/Emu/SysCalls/lv2/sys_spu.h +++ b/rpcs3/Emu/SysCalls/lv2/sys_spu.h @@ -1,5 +1,7 @@ #pragma once +#include + enum { SYS_SPU_THREAD_GROUP_TYPE_NORMAL = 0x00, diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index afba7b2d3c..01dbe9790c 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -1,5 +1,6 @@ #include "stdafx.h" #include "Utilities/Log.h" +#include "Utilities/rFile.h" #include "Emu/Memory/Memory.h" #include "Emu/System.h" diff --git a/rpcs3/Emu/System.h b/rpcs3/Emu/System.h index 0e8e70d4bc..3a233b4b05 100644 --- a/rpcs3/Emu/System.h +++ b/rpcs3/Emu/System.h @@ -2,6 +2,7 @@ #include #include "Emu/CPU/CPUThreadManager.h" +#include "Emu/IdManager.h" #include "Emu/Io/Pad.h" #include "Emu/Io/Keyboard.h" #include "Emu/Io/Mouse.h" diff --git a/rpcs3/Gui/ConLogFrame.cpp b/rpcs3/Gui/ConLogFrame.cpp index 2ce0166337..ead9009409 100644 --- a/rpcs3/Gui/ConLogFrame.cpp +++ b/rpcs3/Gui/ConLogFrame.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include "Ini.h" #include "Utilities/Log.h" diff --git a/rpcs3/Gui/GameViewer.cpp b/rpcs3/Gui/GameViewer.cpp index 77d1b017c5..73e040c0af 100644 --- a/rpcs3/Gui/GameViewer.cpp +++ b/rpcs3/Gui/GameViewer.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "Utilities/AutoPause.h" #include "Utilities/Log.h" +#include "Utilities/rFile.h" #include "Emu/Memory/Memory.h" #include "Emu/System.h" #include "Emu/FS/vfsDir.h" diff --git a/rpcs3/Loader/ELF.cpp b/rpcs3/Loader/ELF.cpp index aaa7af4c65..cc9003857f 100644 --- a/rpcs3/Loader/ELF.cpp +++ b/rpcs3/Loader/ELF.cpp @@ -1,4 +1,5 @@ #include "stdafx.h" +#include "Emu/FS/vfsStream.h" #include "ELF.h" void Elf_Ehdr::Show() diff --git a/rpcs3/Loader/ELF32.cpp b/rpcs3/Loader/ELF32.cpp index 6c327e0494..618ed4fbb2 100644 --- a/rpcs3/Loader/ELF32.cpp +++ b/rpcs3/Loader/ELF32.cpp @@ -1,5 +1,7 @@ #include "stdafx.h" #include "Utilities/Log.h" +#include "Utilities/rFile.h" +#include "Emu/FS/vfsStream.h" #include "Emu/Memory/Memory.h" #include "ELF32.h" diff --git a/rpcs3/Loader/ELF32.h b/rpcs3/Loader/ELF32.h index 6d600fd82c..9e1a8a5948 100644 --- a/rpcs3/Loader/ELF32.h +++ b/rpcs3/Loader/ELF32.h @@ -1,6 +1,9 @@ #pragma once #include "Loader.h" +struct vfsStream; +class rFile; + struct Elf32_Ehdr { u32 e_magic; diff --git a/rpcs3/Loader/ELF64.cpp b/rpcs3/Loader/ELF64.cpp index 42c7a12042..72b70bb87c 100644 --- a/rpcs3/Loader/ELF64.cpp +++ b/rpcs3/Loader/ELF64.cpp @@ -1,5 +1,6 @@ #include "stdafx.h" #include "Utilities/Log.h" +#include "Utilities/rFile.h" #include "Emu/Memory/Memory.h" #include "Emu/System.h" #include "Emu/SysCalls/SysCalls.h" diff --git a/rpcs3/Loader/ELF64.h b/rpcs3/Loader/ELF64.h index 162d153fb7..2a98b9bbb8 100644 --- a/rpcs3/Loader/ELF64.h +++ b/rpcs3/Loader/ELF64.h @@ -1,6 +1,9 @@ #pragma once #include "Loader.h" +struct vfsStream; +class rFile; + struct Elf64_Ehdr { u32 e_magic; diff --git a/rpcs3/Loader/Loader.h b/rpcs3/Loader/Loader.h index 96134a3e34..0f14d38ab9 100644 --- a/rpcs3/Loader/Loader.h +++ b/rpcs3/Loader/Loader.h @@ -1,5 +1,7 @@ #pragma once -#include "Emu/FS/vfsFileBase.h" + +struct vfsFileBase; +class rFile; #ifdef _DEBUG //#define LOADER_DEBUG @@ -38,84 +40,6 @@ enum ShdrFlag SHF_MASKPROC = 0xf0000000, }; -__forceinline static u8 Read8(vfsStream& f) -{ - u8 ret; - f.Read(&ret, sizeof(u8)); - return ret; -} - -__forceinline static u16 Read16(vfsStream& f) -{ - return ((u16)Read8(f) << 8) | (u16)Read8(f); -} - -__forceinline static u32 Read32(vfsStream& f) -{ - return (Read16(f) << 16) | Read16(f); -} - -__forceinline static u64 Read64(vfsStream& f) -{ - return ((u64)Read32(f) << 32) | (u64)Read32(f); -} - -__forceinline static u16 Read16LE(vfsStream& f) -{ - return ((u16)Read8(f) | ((u16)Read8(f) << 8)); -} - -__forceinline static u32 Read32LE(vfsStream& f) -{ - return Read16LE(f) | (Read16LE(f) << 16); -} - -__forceinline static u64 Read64LE(vfsStream& f) -{ - return ((u64)Read32LE(f) | (u64)Read32LE(f) << 32); -} - -__forceinline static void Write8(rFile& f, const u8 data) -{ - f.Write(&data, 1); -} - -__forceinline static void Write16(rFile& f, const u16 data) -{ - Write8(f, data >> 8); - Write8(f, data); -} - -__forceinline static void Write32(rFile& f, const u32 data) -{ - Write16(f, data >> 16); - Write16(f, data); -} - -__forceinline static void Write64(rFile& f, const u64 data) -{ - Write32(f, data >> 32); - Write32(f, data); -} - -__forceinline static void Write16LE(rFile& f, const u16 data) -{ - Write8(f, data); - Write8(f, data >> 8); -} - -__forceinline static void Write32LE(rFile& f, const u32 data) -{ - Write16LE(f, data); - Write16LE(f, data >> 16); -} - -__forceinline static void Write64LE(rFile& f, const u64 data) -{ - Write32LE(f, data); - Write32LE(f, data >> 32); -} - const std::string Ehdr_DataToString(const u8 data); const std::string Ehdr_TypeToString(const u16 type); const std::string Ehdr_OS_ABIToString(const u8 os_abi); diff --git a/rpcs3/Loader/PKG.cpp b/rpcs3/Loader/PKG.cpp index 33b31725b3..71478074d5 100644 --- a/rpcs3/Loader/PKG.cpp +++ b/rpcs3/Loader/PKG.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "Utilities/Log.h" #include "Utilities/rMsgBox.h" +#include "Utilities/rFile.h" #include "PKG.h" #include "../Crypto/unpkg.h" diff --git a/rpcs3/Loader/PKG.h b/rpcs3/Loader/PKG.h index f616df04dd..3c18619d11 100644 --- a/rpcs3/Loader/PKG.h +++ b/rpcs3/Loader/PKG.h @@ -1,5 +1,6 @@ #pragma once -#include "Loader.h" + +class rFile; class PKGLoader { diff --git a/rpcs3/Loader/PSF.cpp b/rpcs3/Loader/PSF.cpp index bdeca14311..9f9813a950 100644 --- a/rpcs3/Loader/PSF.cpp +++ b/rpcs3/Loader/PSF.cpp @@ -1,5 +1,6 @@ #include "stdafx.h" #include "Utilities/Log.h" +#include "Emu/FS/vfsStream.h" #include "PSF.h" PSFLoader::PSFLoader(vfsStream& f) : psf_f(f) diff --git a/rpcs3/Loader/PSF.h b/rpcs3/Loader/PSF.h index 7cd8db139b..8fdfa8a532 100644 --- a/rpcs3/Loader/PSF.h +++ b/rpcs3/Loader/PSF.h @@ -1,6 +1,8 @@ #pragma once #include "Loader.h" +struct vfsStream; + struct PSFHeader { u32 psf_magic; diff --git a/rpcs3/Loader/SELF.cpp b/rpcs3/Loader/SELF.cpp index 2357d6e2d7..0d3755cce9 100644 --- a/rpcs3/Loader/SELF.cpp +++ b/rpcs3/Loader/SELF.cpp @@ -1,5 +1,6 @@ #include "stdafx.h" #include "Utilities/Log.h" +#include "Emu/FS/vfsStream.h" #include "SELF.h" #include "ELF64.h" diff --git a/rpcs3/Loader/SELF.h b/rpcs3/Loader/SELF.h index 8c3cb70d51..3c4e7b9fbe 100644 --- a/rpcs3/Loader/SELF.h +++ b/rpcs3/Loader/SELF.h @@ -1,6 +1,8 @@ #pragma once #include "Loader.h" +struct vfsStream; + struct SceHeader { u32 se_magic; diff --git a/rpcs3/Loader/TRP.h b/rpcs3/Loader/TRP.h index 758af90989..64d491d414 100644 --- a/rpcs3/Loader/TRP.h +++ b/rpcs3/Loader/TRP.h @@ -1,6 +1,8 @@ #pragma once #include "Loader.h" +struct vfsStream; + struct TRPHeader { be_t trp_magic; diff --git a/rpcs3/stdafx.h b/rpcs3/stdafx.h index 35cd772d9c..57405a0e08 100644 --- a/rpcs3/stdafx.h +++ b/rpcs3/stdafx.h @@ -252,9 +252,6 @@ struct u128 #include "Utilities/StrFmt.h" #include "Utilities/BEType.h" -#include "Utilities/rFile.h" -#include "Utilities/Thread.h" -#include "Emu/IdManager.h" #define _PRGNAME_ "RPCS3" #define _PRGVER_ "0.0.0.5"