From d8ec09d4756718673e3ea564274ab41e53d566e9 Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Thu, 9 Apr 2026 03:17:57 -0600 Subject: [PATCH] centralize hardcore check (#720) --- src/device.rs | 4 +--- src/savestates.rs | 3 +++ src/ui/video.rs | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/device.rs b/src/device.rs index 129d5bd..f77e0bd 100644 --- a/src/device.rs +++ b/src/device.rs @@ -49,9 +49,7 @@ pub fn run_game(device: &mut Device, rom_contents: Vec, game_settings: ui::g if game_settings.disable_expansion_pak { device.rdram.size = 0x400000; } - if let Some(slot) = game_settings.load_savestate_slot - && !retroachievements::get_hardcore() - { + if let Some(slot) = game_settings.load_savestate_slot { device.ui.storage.save_state_slot = slot; device.load_state = true; } diff --git a/src/savestates.rs b/src/savestates.rs index dce97dc..83259f5 100644 --- a/src/savestates.rs +++ b/src/savestates.rs @@ -100,6 +100,9 @@ pub fn create_savestate(device: &device::Device) { } pub fn load_savestate(device: &mut device::Device) { + if retroachievements::get_hardcore() { + return; + } let savestate = std::fs::read(&device.ui.storage.paths.savestate_file_path); if let Ok(savestate) = &savestate { let device_bytes = ui::storage::decompress_file(savestate, "device"); diff --git a/src/ui/video.rs b/src/ui/video.rs index 87e867a..3208647 100644 --- a/src/ui/video.rs +++ b/src/ui/video.rs @@ -159,7 +159,7 @@ pub fn check_callback(device: &mut device::Device) -> (bool, bool) { if device.netplay.is_none() { if callback.save_state { device.save_state = true; - } else if callback.load_state && !retroachievements::get_hardcore() { + } else if callback.load_state { device.load_state = true; } if callback.reset_game {