// Copyright 2017 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #include <memory> #include "scripted_input/script_runner.h" #include "scripted_input/scripted_buttons.h" #include "scripted_input/scripted_input.h" namespace ScriptedInput { static std::shared_ptr<ScriptedButtons> scripted_buttons; // TODO: static std::shared_ptr<ScriptedAnalog> scripted_analog; static ScriptRunner script_runner; void Init() { scripted_buttons = std::make_shared<ScriptedInput::ScriptedButtons>(); Input::RegisterFactory<Input::ButtonDevice>("scripted", scripted_buttons); script_runner.SetButtons(scripted_buttons); } void LoadScript(std::string script_name) { if (script_name.length() > 0) { script_runner.LoadScript(script_name); ScriptedButtons::OverrideControlsSettings(); } } void Shutdown() { Input::UnregisterFactory<Input::ButtonDevice>("scripted"); } bool IsInUse() { return script_runner.HasScript(); } void NotifyFrameFinished() { script_runner.NotifyFrameFinished(); } } // namespace ScriptedInput