Merge pull request #12448 from lioncash/es

Core/IOS/ES: Remove global system accessor in InitializeEmulationState()
This commit is contained in:
Admiral H. Curtiss 2023-12-19 04:26:08 +01:00 committed by GitHub
commit acd76918d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 5 deletions

View File

@ -125,10 +125,8 @@ ESDevice::ESDevice(EmulationKernel& ios, ESCore& core, const std::string& device
ESDevice::~ESDevice() = default; ESDevice::~ESDevice() = default;
void ESDevice::InitializeEmulationState() void ESDevice::InitializeEmulationState(CoreTiming::CoreTimingManager& core_timing)
{ {
auto& system = Core::System::GetInstance();
auto& core_timing = system.GetCoreTiming();
s_finish_init_event = s_finish_init_event =
core_timing.RegisterEvent("IOS-ESFinishInit", [](Core::System& system_, u64, s64) { core_timing.RegisterEvent("IOS-ESFinishInit", [](Core::System& system_, u64, s64) {
GetIOS()->GetESDevice()->FinishInit(); GetIOS()->GetESDevice()->FinishInit();

View File

@ -17,6 +17,10 @@
class PointerWrap; class PointerWrap;
namespace CoreTiming
{
class CoreTimingManager;
}
namespace DiscIO namespace DiscIO
{ {
enum class Platform; enum class Platform;
@ -232,7 +236,7 @@ public:
ESDevice& operator=(ESDevice&& other) = delete; ESDevice& operator=(ESDevice&& other) = delete;
~ESDevice(); ~ESDevice();
static void InitializeEmulationState(); static void InitializeEmulationState(CoreTiming::CoreTimingManager& core_timing);
static void FinalizeEmulationState(); static void FinalizeEmulationState();
ReturnCode DIVerify(const ES::TMDReader& tmd, const ES::TicketReader& ticket); ReturnCode DIVerify(const ES::TMDReader& tmd, const ES::TicketReader& ticket);

View File

@ -959,7 +959,7 @@ void Init(Core::System& system)
s_ios->HandleIPCEvent(userdata); s_ios->HandleIPCEvent(userdata);
}); });
ESDevice::InitializeEmulationState(); ESDevice::InitializeEmulationState(core_timing);
s_event_finish_ppc_bootstrap = s_event_finish_ppc_bootstrap =
core_timing.RegisterEvent("IOSFinishPPCBootstrap", FinishPPCBootstrap); core_timing.RegisterEvent("IOSFinishPPCBootstrap", FinishPPCBootstrap);