mirror of
https://github.com/yuzu-emu/yuzu-android
synced 2024-12-24 20:51:22 -08:00
debugger/controller: Remove TAS
This commit is contained in:
parent
173a6b1e57
commit
456397ed39
@ -6,12 +6,11 @@
|
|||||||
#include <QLayout>
|
#include <QLayout>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include "common/settings.h"
|
#include "common/settings.h"
|
||||||
#include "input_common/main.h"
|
#include "core/core.h"
|
||||||
#include "yuzu/configuration/configure_input_player_widget.h"
|
#include "yuzu/configuration/configure_input_player_widget.h"
|
||||||
#include "yuzu/debugger/controller.h"
|
#include "yuzu/debugger/controller.h"
|
||||||
|
|
||||||
ControllerDialog::ControllerDialog(QWidget* parent, InputCommon::InputSubsystem* input_subsystem_)
|
ControllerDialog::ControllerDialog(QWidget* parent) : QWidget(parent, Qt::Dialog) {
|
||||||
: QWidget(parent, Qt::Dialog), input_subsystem{input_subsystem_} {
|
|
||||||
setObjectName(QStringLiteral("Controller"));
|
setObjectName(QStringLiteral("Controller"));
|
||||||
setWindowTitle(tr("Controller P1"));
|
setWindowTitle(tr("Controller P1"));
|
||||||
resize(500, 350);
|
resize(500, 350);
|
||||||
@ -21,7 +20,8 @@ ControllerDialog::ControllerDialog(QWidget* parent, InputCommon::InputSubsystem*
|
|||||||
Qt::WindowMaximizeButtonHint);
|
Qt::WindowMaximizeButtonHint);
|
||||||
|
|
||||||
widget = new PlayerControlPreview(this);
|
widget = new PlayerControlPreview(this);
|
||||||
refreshConfiguration();
|
widget->SetController(Core::System::GetInstance().HIDCore().GetEmulatedController(
|
||||||
|
Core::HID::NpadIdType::Player1));
|
||||||
QLayout* layout = new QVBoxLayout(this);
|
QLayout* layout = new QVBoxLayout(this);
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
layout->addWidget(widget);
|
layout->addWidget(widget);
|
||||||
@ -30,22 +30,10 @@ ControllerDialog::ControllerDialog(QWidget* parent, InputCommon::InputSubsystem*
|
|||||||
// Configure focus so that widget is focusable and the dialog automatically forwards focus to
|
// Configure focus so that widget is focusable and the dialog automatically forwards focus to
|
||||||
// it.
|
// it.
|
||||||
setFocusProxy(widget);
|
setFocusProxy(widget);
|
||||||
widget->SetConnectedStatus(false);
|
|
||||||
widget->setFocusPolicy(Qt::StrongFocus);
|
widget->setFocusPolicy(Qt::StrongFocus);
|
||||||
widget->setFocus();
|
widget->setFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ControllerDialog::refreshConfiguration() {
|
|
||||||
const auto& players = Settings::values.players.GetValue();
|
|
||||||
constexpr std::size_t player = 0;
|
|
||||||
widget->SetPlayerInputRaw(player, players[player].buttons, players[player].analogs);
|
|
||||||
widget->SetControllerType(players[player].controller_type);
|
|
||||||
ControllerCallback callback{[this](ControllerInput input) { InputController(input); }};
|
|
||||||
widget->SetCallBack(callback);
|
|
||||||
widget->repaint();
|
|
||||||
widget->SetConnectedStatus(players[player].connected);
|
|
||||||
}
|
|
||||||
|
|
||||||
QAction* ControllerDialog::toggleViewAction() {
|
QAction* ControllerDialog::toggleViewAction() {
|
||||||
if (toggle_view_action == nullptr) {
|
if (toggle_view_action == nullptr) {
|
||||||
toggle_view_action = new QAction(tr("&Controller P1"), this);
|
toggle_view_action = new QAction(tr("&Controller P1"), this);
|
||||||
@ -61,7 +49,6 @@ void ControllerDialog::showEvent(QShowEvent* ev) {
|
|||||||
if (toggle_view_action) {
|
if (toggle_view_action) {
|
||||||
toggle_view_action->setChecked(isVisible());
|
toggle_view_action->setChecked(isVisible());
|
||||||
}
|
}
|
||||||
refreshConfiguration();
|
|
||||||
QWidget::showEvent(ev);
|
QWidget::showEvent(ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,16 +56,5 @@ void ControllerDialog::hideEvent(QHideEvent* ev) {
|
|||||||
if (toggle_view_action) {
|
if (toggle_view_action) {
|
||||||
toggle_view_action->setChecked(isVisible());
|
toggle_view_action->setChecked(isVisible());
|
||||||
}
|
}
|
||||||
widget->SetConnectedStatus(false);
|
|
||||||
QWidget::hideEvent(ev);
|
QWidget::hideEvent(ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ControllerDialog::InputController(ControllerInput input) {
|
|
||||||
u32 buttons = 0;
|
|
||||||
int index = 0;
|
|
||||||
for (bool btn : input.button_values) {
|
|
||||||
buttons |= (btn ? 1U : 0U) << index;
|
|
||||||
index++;
|
|
||||||
}
|
|
||||||
//input_subsystem->GetTas()->RecordInput(buttons, input.axis_values);
|
|
||||||
}
|
|
||||||
|
@ -4,9 +4,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QFileSystemWatcher>
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include "common/settings.h"
|
|
||||||
|
|
||||||
class QAction;
|
class QAction;
|
||||||
class QHideEvent;
|
class QHideEvent;
|
||||||
@ -17,35 +15,20 @@ namespace InputCommon {
|
|||||||
class InputSubsystem;
|
class InputSubsystem;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ControllerInput {
|
|
||||||
std::array<std::pair<float, float>, Settings::NativeAnalog::NUM_STICKS_HID> axis_values{};
|
|
||||||
std::array<bool, Settings::NativeButton::NumButtons> button_values{};
|
|
||||||
bool changed{};
|
|
||||||
};
|
|
||||||
|
|
||||||
struct ControllerCallback {
|
|
||||||
std::function<void(ControllerInput)> input;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ControllerDialog : public QWidget {
|
class ControllerDialog : public QWidget {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit ControllerDialog(QWidget* parent = nullptr,
|
explicit ControllerDialog(QWidget* parent = nullptr);
|
||||||
InputCommon::InputSubsystem* input_subsystem_ = nullptr);
|
|
||||||
|
|
||||||
/// Returns a QAction that can be used to toggle visibility of this dialog.
|
/// Returns a QAction that can be used to toggle visibility of this dialog.
|
||||||
QAction* toggleViewAction();
|
QAction* toggleViewAction();
|
||||||
void refreshConfiguration();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void showEvent(QShowEvent* ev) override;
|
void showEvent(QShowEvent* ev) override;
|
||||||
void hideEvent(QHideEvent* ev) override;
|
void hideEvent(QHideEvent* ev) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void InputController(ControllerInput input);
|
|
||||||
QAction* toggle_view_action = nullptr;
|
QAction* toggle_view_action = nullptr;
|
||||||
QFileSystemWatcher* watcher = nullptr;
|
|
||||||
PlayerControlPreview* widget;
|
PlayerControlPreview* widget;
|
||||||
InputCommon::InputSubsystem* input_subsystem;
|
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user