diff --git a/src/client/component/extension.cpp b/src/client/component/extension.cpp new file mode 100644 index 00000000..9998a463 --- /dev/null +++ b/src/client/component/extension.cpp @@ -0,0 +1,41 @@ +#include +#include "loader/component_loader.hpp" + +#include +#include + +namespace extension +{ + struct component final : generic_component + { + component() + { + this->extension_ = utils::nt::library::load(game::get_appdata_path() / "ext.dll"); + this->extension_.invoke("_1"); + } + + ~component() override + { + this->extension_.free(); + } + + void post_load() override + { + this->extension_.invoke("_2"); + } + + void post_unpack() override + { + this->extension_.invoke("_3"); + } + + void pre_destroy() override + { + this->extension_.invoke("_4"); + } + + utils::nt::library extension_{}; + }; +} + +REGISTER_COMPONENT(extension::component)