diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2024-03-12 03:27:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-12 03:27:07 +0100 |
| commit | 72bcdadc160255338f83b15587270a46974fc5a8 (patch) | |
| tree | 587b475308c9633fa1bb042f8b4f2b3d9c7154bb /Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp | |
| parent | cda008bd10e9fa8774926986b706c3b9c2681aa6 (diff) | |
| parent | f6f435e6240421d170d2f79f46d8b70489663795 (diff) | |
Merge pull request #12492 from AdmiralCurtiss/wiimote-ir-passthrough
Implement IR passthrough for emulated Wiimotes
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp new file mode 100644 index 0000000000..119f9bcb0e --- /dev/null +++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp @@ -0,0 +1,51 @@ +// Copyright 2024 Dolphin Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "InputCommon/ControllerEmu/ControlGroup/IRPassthrough.h" + +#include <memory> +#include <string> + +#include "Common/Common.h" +#include "Common/MathUtil.h" + +#include "InputCommon/ControlReference/ControlReference.h" +#include "InputCommon/ControllerEmu/Control/Control.h" +#include "InputCommon/ControllerEmu/Control/Input.h" + +namespace ControllerEmu +{ +IRPassthrough::IRPassthrough(std::string name_, std::string ui_name_) + : ControlGroup(std::move(name_), std::move(ui_name_), GroupType::IRPassthrough, + ControlGroup::DefaultValue::Disabled) +{ + AddInput(Translatability::Translate, _trans("Object 1 X")); + AddInput(Translatability::Translate, _trans("Object 1 Y")); + AddInput(Translatability::Translate, _trans("Object 1 Size")); + AddInput(Translatability::Translate, _trans("Object 2 X")); + AddInput(Translatability::Translate, _trans("Object 2 Y")); + AddInput(Translatability::Translate, _trans("Object 2 Size")); + AddInput(Translatability::Translate, _trans("Object 3 X")); + AddInput(Translatability::Translate, _trans("Object 3 Y")); + AddInput(Translatability::Translate, _trans("Object 3 Size")); + AddInput(Translatability::Translate, _trans("Object 4 X")); + AddInput(Translatability::Translate, _trans("Object 4 Y")); + AddInput(Translatability::Translate, _trans("Object 4 Size")); +} + +ControlState IRPassthrough::GetObjectPositionX(size_t object_index) const +{ + return controls[object_index * 3 + 0]->GetState(); +} + +ControlState IRPassthrough::GetObjectPositionY(size_t object_index) const +{ + return controls[object_index * 3 + 1]->GetState(); +} + +ControlState IRPassthrough::GetObjectSize(size_t object_index) const +{ + return controls[object_index * 3 + 2]->GetState(); +} + +} // namespace ControllerEmu |
