mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 15:01:28 +12:00
Disable exception handling.
Use -fno-exceptions in cmake. On MSVC, enable _HAS_EXCEPTION=0. Cleanup throw/catch from the source. Create yaml.cpp enclave because it needs exception to work. Disable thread_local optimizations in logs.cpp (TODO). Implement cpu_counter for cpu_threads (moved globals).
This commit is contained in:
parent
47bbfdd2aa
commit
04dedb17eb
39 changed files with 421 additions and 437 deletions
|
@ -30,7 +30,7 @@
|
|||
|
||||
#include "../Crypto/unself.h"
|
||||
#include "../Crypto/unpkg.h"
|
||||
#include <yaml-cpp/yaml.h>
|
||||
#include "util/yaml.hpp"
|
||||
|
||||
#include "cereal/archives/binary.hpp"
|
||||
|
||||
|
@ -760,12 +760,23 @@ game_boot_result Emulator::Load(const std::string& title_id, bool add_only, bool
|
|||
m_title_id = title_id;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Init();
|
||||
|
||||
// Load game list (maps ABCD12345 IDs to /dev_bdvd/ locations)
|
||||
YAML::Node games = YAML::Load(fs::file{fs::get_config_dir() + "/games.yml", fs::read + fs::create}.to_string());
|
||||
YAML::Node games;
|
||||
|
||||
if (fs::file f{fs::get_config_dir() + "/games.yml", fs::read + fs::create})
|
||||
{
|
||||
auto [result, error] = yaml_load(f.to_string());
|
||||
|
||||
if (!error.empty())
|
||||
{
|
||||
sys_log.error("Failed to load games.yml: %s", error);
|
||||
}
|
||||
|
||||
games = result;
|
||||
}
|
||||
|
||||
if (!games.IsMap())
|
||||
{
|
||||
|
@ -1462,12 +1473,6 @@ game_boot_result Emulator::Load(const std::string& title_id, bool add_only, bool
|
|||
}
|
||||
return game_boot_result::no_errors;
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
{
|
||||
sys_log.fatal("%s thrown: %s", typeid(e).name(), e.what());
|
||||
Stop();
|
||||
return game_boot_result::generic_error;
|
||||
}
|
||||
}
|
||||
|
||||
void Emulator::Run(bool start_playtime)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue