configuration: Add auto stub toggle that resets on boot

Auto-stub is an experimental debugging feature that may cause unforseen bugs. This adds a toggle to only allow auto-stubbing unimplemented functions when explicitly enabled when yuzu is launched.
This commit is contained in:
ameerj 2021-03-12 17:56:02 -05:00
parent e6e61424d4
commit 54c1e0897d
5 changed files with 32 additions and 4 deletions

View file

@ -70,6 +70,7 @@
#include "core/hle/service/vi/vi.h"
#include "core/hle/service/wlan/wlan.h"
#include "core/reporter.h"
#include "core/settings.h"
namespace Service {
@ -146,10 +147,11 @@ void ServiceFrameworkBase::ReportUnimplementedFunction(Kernel::HLERequestContext
system.GetReporter().SaveUnimplementedFunctionReport(ctx, ctx.GetCommand(), function_name,
service_name);
UNIMPLEMENTED_MSG("Unknown / unimplemented {}", fmt::to_string(buf));
LOG_WARNING(Service, "Using auto stub fallback!");
IPC::ResponseBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS);
if (Settings::values.use_auto_stub) {
LOG_WARNING(Service, "Using auto stub fallback!");
IPC::ResponseBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS);
}
}
void ServiceFrameworkBase::InvokeRequest(Kernel::HLERequestContext& ctx) {

View file

@ -222,6 +222,7 @@ struct Values {
bool quest_flag;
bool disable_macro_jit;
bool extended_logging;
bool use_auto_stub;
// Miscellaneous
std::string log_filter;