diff --git a/src/core/hle.cpp b/src/core/hle.cpp index f0c7d21785058bfb53b453a574b3193cbce54a68..8dad7695b747e250f2b839ed4d352eeed43d9d5f 100644 --- a/src/core/hle.cpp +++ b/src/core/hle.cpp @@ -11,10 +11,10 @@ namespace HLE { -static std::vector<HLEModule> g_module_db; +static std::vector<ModuleDef> g_module_db; -void RegisterModule(const char *name, int num_functions, const HLEFunction *func_table) { - HLEModule module = {name, num_functions, func_table}; +void RegisterModule(std::string name, int num_functions, const FunctionDef* func_table) { + ModuleDef module = {name, num_functions, func_table}; g_module_db.push_back(module); } diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h index 6648c787fe566c89dc9637d49fe186a06290b6e0..35c8a4621a0cd5658812fe0874da76ebe001a2e2 100644 --- a/src/core/hle/hle.h +++ b/src/core/hle/hle.h @@ -9,29 +9,31 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// -typedef void (*HLEFunc)(); +#define PARAM(n) Core::g_app_core->GetReg(n) +#define RETURN(n) Core::g_app_core->SetReg(0, n) + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +namespace HLE { -struct HLEFunction { +typedef void (*Func)(); + +struct FunctionDef { u32 id; - HLEFunc func; - const char* name; + Func func; + std::string name; }; -struct HLEModule { - const char* name; +struct ModuleDef { + std::string name; int num_funcs; - const HLEFunction* func_table; + const FunctionDef* func_table; }; -#define PARAM(n) Core::g_app_core->GetReg(n) -#define RETURN(n) Core::g_app_core->SetReg(0, n) - -namespace HLE { - void Init(); void Shutdown(); -void RegisterModule(const char *name, int num_functions, const HLEFunction *func_table); +void RegisterModule(std::string name, int num_functions, const FunctionDef *func_table); } // namespace diff --git a/src/core/hle/hle_syscall.cpp b/src/core/hle/hle_syscall.cpp index b17a2e2204768f4e5525a91c065296c985e6fad1..fdcaa914fc09c4b041b45566f919838dc497cdbd 100644 --- a/src/core/hle/hle_syscall.cpp +++ b/src/core/hle/hle_syscall.cpp @@ -15,10 +15,10 @@ Result SVC_ConnectToPort(void* out, const char* port_name) { return 0; } -const HLEFunction SysCallTable[] = { +const HLE::FunctionDef SysCall_Table[] = { {0x2D, WrapI_VC<SVC_ConnectToPort>, "svcConnectToPort"}, }; void Register_SysCall() { - HLE::RegisterModule("SysCallTable", ARRAY_SIZE(SysCallTable), SysCallTable); + HLE::RegisterModule("SysCallTable", ARRAY_SIZE(SysCall_Table), SysCall_Table); } diff --git a/src/core/hle/hle_syscall.h b/src/core/hle/hle_syscall.h index 643af0bf4667781b43640f91064741d85d7e77ae..4faa14535e7fb433884840d7a3278b16f51b27af 100644 --- a/src/core/hle/hle_syscall.h +++ b/src/core/hle/hle_syscall.h @@ -34,7 +34,4 @@ // } //}; - - - void Register_SysCall();