improve function order (#788)

* improve function order

* more
This commit is contained in:
Logan McNaughton
2026-04-20 14:53:42 -06:00
committed by GitHub
parent 779ef9fe77
commit 412f928781
6 changed files with 18 additions and 1 deletions
+1
View File
@@ -168,6 +168,7 @@ fn main() {
.allowlist_function("ra_shutdown_client")
.allowlist_function("ra_get_hardcore")
.allowlist_function("ra_load_game")
.allowlist_function("ra_unload_game")
.allowlist_function("ra_set_dmem")
.allowlist_function("ra_do_frame")
.allowlist_function("ra_do_idle")
+9
View File
@@ -98,6 +98,7 @@ const char *ra_get_token() { return g_token; }
void ra_logout_user() {
g_user_logged_in = false;
g_game_loaded = false;
g_username = NULL;
g_token = NULL;
rc_client_logout(g_client);
@@ -184,6 +185,14 @@ void ra_load_game(const uint8_t *rom, size_t rom_size, void *userdata) {
userdata);
}
void ra_unload_game() {
if (!g_game_loaded)
return;
rc_client_unload_game(g_client);
g_game_loaded = false;
}
void ra_set_dmem(const uint8_t *dmem, size_t dmem_size) {
g_dmem = dmem;
g_dmem_size = dmem_size;
+1
View File
@@ -7,6 +7,7 @@ void ra_shutdown_client();
void ra_welcome();
bool ra_get_hardcore();
void ra_load_game(const uint8_t *rom, size_t rom_size, void *userdata);
void ra_unload_game();
void ra_set_dmem(const uint8_t *dmem, size_t dmem_size);
void ra_do_frame();
void ra_do_idle();
+2 -1
View File
@@ -89,8 +89,9 @@ pub fn run_game(device: &mut Device, rom_contents: &[u8], game_settings: ui::Gam
cpu::run(device);
retroachievements::unload_game();
ui::storage::write_saves(device);
retroachievements::shutdown_client();
ui::input::close(&mut device.ui);
ui::audio::close(&mut device.ui);
ui::video::close(&device.ui);
+1
View File
@@ -225,6 +225,7 @@ async fn main() -> std::io::Result<()> {
load_savestate_slot: args.load_state,
},
);
retroachievements::shutdown_client();
if device.netplay.is_some() {
netplay::close(&mut device);
+4
View File
@@ -152,6 +152,10 @@ pub async fn load_game(rom: &[u8], rom_size: usize) {
rx.await.unwrap();
}
pub fn unload_game() {
unsafe { ra_unload_game() };
}
pub fn welcome() {
unsafe { ra_welcome() };
}