[XAM] Rework how export groups are registered.
This commit is contained in:
parent
42b1427087
commit
1481735d36
|
@ -27,21 +27,10 @@ XamModule::XamModule(Emulator* emulator, KernelState* kernel_state)
|
||||||
: KernelModule(kernel_state, "xe:\\xam.xex"), loader_data_() {
|
: KernelModule(kernel_state, "xe:\\xam.xex"), loader_data_() {
|
||||||
RegisterExportTable(export_resolver_);
|
RegisterExportTable(export_resolver_);
|
||||||
|
|
||||||
// Register all exported functions.
|
#define XE_MODULE_EXPORT_GROUP(m, n) \
|
||||||
RegisterAvatarExports(export_resolver_, kernel_state_);
|
Register##n##Exports(export_resolver_, kernel_state_);
|
||||||
RegisterContentExports(export_resolver_, kernel_state_);
|
#include "xam_module_export_groups.inc"
|
||||||
RegisterEnumExports(export_resolver_, kernel_state_);
|
#undef XE_MODULE_EXPORT_GROUP
|
||||||
RegisterInfoExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterInputExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterLocaleExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterMsgExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterNetExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterNotifyExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterNuiExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterUIExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterUserExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterVideoExports(export_resolver_, kernel_state_);
|
|
||||||
RegisterVoiceExports(export_resolver_, kernel_state_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<xe::cpu::Export*> xam_exports(4096);
|
std::vector<xe::cpu::Export*> xam_exports(4096);
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* Xenia : Xbox 360 Emulator Research Project *
|
||||||
|
******************************************************************************
|
||||||
|
* Copyright 2020 Ben Vanik. All rights reserved. *
|
||||||
|
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
// This is a partial file designed to be included by other files when
|
||||||
|
// constructing various tables.
|
||||||
|
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Avatar)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Content)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Enum)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Info)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Input)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Locale)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Msg)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Net)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Notify)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Nui)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, UI)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, User)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Video)
|
||||||
|
XE_MODULE_EXPORT_GROUP(xam, Voice)
|
|
@ -23,24 +23,11 @@ bool xeXamIsUIActive();
|
||||||
xe::cpu::Export* RegisterExport_xam(xe::cpu::Export* export_entry);
|
xe::cpu::Export* RegisterExport_xam(xe::cpu::Export* export_entry);
|
||||||
|
|
||||||
// Registration functions, one per file.
|
// Registration functions, one per file.
|
||||||
#define DECLARE_REGISTER_EXPORTS(n) \
|
#define XE_MODULE_EXPORT_GROUP(m, n) \
|
||||||
void Register##n##Exports(xe::cpu::ExportResolver* export_resolver, \
|
void Register##n##Exports(xe::cpu::ExportResolver* export_resolver, \
|
||||||
KernelState* kernel_state)
|
KernelState* kernel_state);
|
||||||
DECLARE_REGISTER_EXPORTS(Avatar);
|
#include "xam_module_export_groups.inc"
|
||||||
DECLARE_REGISTER_EXPORTS(Content);
|
#undef XE_MODULE_EXPORT_GROUP
|
||||||
DECLARE_REGISTER_EXPORTS(Enum);
|
|
||||||
DECLARE_REGISTER_EXPORTS(Info);
|
|
||||||
DECLARE_REGISTER_EXPORTS(Input);
|
|
||||||
DECLARE_REGISTER_EXPORTS(Locale);
|
|
||||||
DECLARE_REGISTER_EXPORTS(Msg);
|
|
||||||
DECLARE_REGISTER_EXPORTS(Net);
|
|
||||||
DECLARE_REGISTER_EXPORTS(Notify);
|
|
||||||
DECLARE_REGISTER_EXPORTS(Nui);
|
|
||||||
DECLARE_REGISTER_EXPORTS(UI);
|
|
||||||
DECLARE_REGISTER_EXPORTS(User);
|
|
||||||
DECLARE_REGISTER_EXPORTS(Video);
|
|
||||||
DECLARE_REGISTER_EXPORTS(Voice);
|
|
||||||
#undef DECLARE_REGISTER_EXPORTS
|
|
||||||
|
|
||||||
} // namespace xam
|
} // namespace xam
|
||||||
} // namespace kernel
|
} // namespace kernel
|
||||||
|
|
Loading…
Reference in New Issue