move init_saving and join_saving_thread to librecomp namespace

This commit is contained in:
Angie 2024-06-21 19:35:00 -04:00
parent c7ab41ec05
commit 30bc1533c9
5 changed files with 27 additions and 10 deletions

View file

@ -4,9 +4,10 @@
#include <vector> #include <vector>
#include <filesystem> #include <filesystem>
#include "ultramodern/ultramodern.hpp"
#include "recomp.h" #include "recomp.h"
#include "rsp.hpp" #include "rsp.hpp"
#include <ultramodern/ultramodern.hpp>
namespace recomp { namespace recomp {
struct GameEntry { struct GameEntry {

View file

@ -0,0 +1,13 @@
#ifndef __LIBRECOMP_SAVE_HPP__
#define __LIBRECOMP_SAVE_HPP__
#include <cstdint>
namespace recomp {
namespace save {
void init(uint8_t *rdram);
void join_thread();
}
}
#endif

View file

@ -7,8 +7,11 @@
#include "recomp.h" #include "recomp.h"
#include "game.hpp" #include "game.hpp"
#include "files.hpp" #include "files.hpp"
#include <ultramodern/ultra64.h>
#include <ultramodern/ultramodern.hpp> #include "ultramodern/ultra64.h"
#include "ultramodern/ultramodern.hpp"
#include "librecomp/save.hpp"
static std::vector<uint8_t> rom; static std::vector<uint8_t> rom;
@ -153,7 +156,7 @@ void save_write_ptr(const void* in, uint32_t offset, uint32_t count) {
std::lock_guard lock { save_context.save_buffer_mutex }; std::lock_guard lock { save_context.save_buffer_mutex };
memcpy(&save_context.save_buffer[offset], in, count); memcpy(&save_context.save_buffer[offset], in, count);
} }
save_context.write_sempahore.signal(); save_context.write_sempahore.signal();
} }
@ -184,7 +187,7 @@ void save_clear(uint32_t start, uint32_t size, char value) {
save_context.write_sempahore.signal(); save_context.write_sempahore.signal();
} }
void ultramodern::init_saving(RDRAM_ARG1) { void recomp::save::init(uint8_t *rdram) {
std::filesystem::path save_file_path = get_save_file_path(); std::filesystem::path save_file_path = get_save_file_path();
// Ensure the save file directory exists. // Ensure the save file directory exists.
@ -203,7 +206,7 @@ void ultramodern::init_saving(RDRAM_ARG1) {
save_context.saving_thread = std::thread{saving_thread_func, PASS_RDRAM}; save_context.saving_thread = std::thread{saving_thread_func, PASS_RDRAM};
} }
void ultramodern::join_saving_thread() { void recomp::save::join_thread() {
if (save_context.saving_thread.joinable()) { if (save_context.saving_thread.joinable()) {
save_context.saving_thread.join(); save_context.saving_thread.join();
} }

View file

@ -18,6 +18,8 @@
#include "ultramodern/ultramodern.hpp" #include "ultramodern/ultramodern.hpp"
#include "ultramodern/error_handling.hpp" #include "ultramodern/error_handling.hpp"
#include "librecomp/save.hpp"
#ifdef _MSC_VER #ifdef _MSC_VER
inline uint32_t byteswap(uint32_t val) { inline uint32_t byteswap(uint32_t val) {
return _byteswap_ulong(val); return _byteswap_ulong(val);
@ -434,7 +436,7 @@ void recomp::start(
ultramodern::error_handling::message_box("Error opening stored ROM! Please restart this program."); ultramodern::error_handling::message_box("Error opening stored ROM! Please restart this program.");
} }
ultramodern::init_saving(rdram); recomp::save::init(rdram);
auto find_it = game_roms.find(current_game.value()); auto find_it = game_roms.find(current_game.value());
const recomp::GameEntry& game_entry = find_it->second; const recomp::GameEntry& game_entry = find_it->second;
@ -469,5 +471,5 @@ void recomp::start(
game_thread.join(); game_thread.join();
ultramodern::join_event_threads(); ultramodern::join_event_threads();
ultramodern::join_thread_cleaner_thread(); ultramodern::join_thread_cleaner_thread();
ultramodern::join_saving_thread(); recomp::save::join_thread();
} }

View file

@ -36,7 +36,6 @@ constexpr uint32_t save_size = 1024 * 1024 / 8; // Maximum save size, 1Mbit for
// Initialization. // Initialization.
void preinit(RDRAM_ARG renderer::WindowHandle window_handle); void preinit(RDRAM_ARG renderer::WindowHandle window_handle);
void init_saving(RDRAM_ARG1);
void init_events(RDRAM_ARG renderer::WindowHandle window_handle); void init_events(RDRAM_ARG renderer::WindowHandle window_handle);
void init_timers(RDRAM_ARG1); void init_timers(RDRAM_ARG1);
void init_thread_cleanup(); void init_thread_cleanup();
@ -124,7 +123,6 @@ bool is_game_started();
void quit(); void quit();
void join_event_threads(); void join_event_threads();
void join_thread_cleaner_thread(); void join_thread_cleaner_thread();
void join_saving_thread();
void set_audio_callbacks(const audio_callbacks_t& callbacks); void set_audio_callbacks(const audio_callbacks_t& callbacks);