mirror of
https://git.eden-emu.dev/archive/citron
synced 2026-04-15 09:10:46 -04:00
feat: Choose Controller Color & Toggle Gyro
Signed-off-by: Collecting <collecting@noreply.localhost>
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2025 citron Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
@@ -97,6 +98,9 @@ void EmulatedController::ReloadFromSettings() {
|
|||||||
motion_params[index] = Common::ParamPackage(player.motions[index]);
|
motion_params[index] = Common::ParamPackage(player.motions[index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
controller.body_color = player.body_color;
|
||||||
|
controller.gyro_overlay_visible = player.gyro_overlay_visible;
|
||||||
|
|
||||||
controller.color_values = {};
|
controller.color_values = {};
|
||||||
ReloadColorsFromSettings();
|
ReloadColorsFromSettings();
|
||||||
|
|
||||||
@@ -637,6 +641,8 @@ void EmulatedController::SaveCurrentConfig() {
|
|||||||
auto& player = Settings::values.players.GetValue()[player_index];
|
auto& player = Settings::values.players.GetValue()[player_index];
|
||||||
player.connected = is_connected;
|
player.connected = is_connected;
|
||||||
player.controller_type = MapNPadToSettingsType(npad_type);
|
player.controller_type = MapNPadToSettingsType(npad_type);
|
||||||
|
player.body_color = controller.body_color;
|
||||||
|
player.gyro_overlay_visible = controller.gyro_overlay_visible;
|
||||||
for (std::size_t index = 0; index < player.buttons.size(); ++index) {
|
for (std::size_t index = 0; index < player.buttons.size(); ++index) {
|
||||||
player.buttons[index] = button_params[index].Serialize();
|
player.buttons[index] = button_params[index].Serialize();
|
||||||
}
|
}
|
||||||
@@ -730,6 +736,26 @@ Common::ParamPackage EmulatedController::GetMotionParam(std::size_t index) const
|
|||||||
return motion_params[index];
|
return motion_params[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u32 EmulatedController::GetBodyColor() const {
|
||||||
|
std::scoped_lock lock{mutex};
|
||||||
|
return controller.body_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EmulatedController::SetBodyColor(u32 color) {
|
||||||
|
std::scoped_lock lock{mutex};
|
||||||
|
controller.body_color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool EmulatedController::IsGyroOverlayVisible() const {
|
||||||
|
std::scoped_lock lock{mutex};
|
||||||
|
return controller.gyro_overlay_visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EmulatedController::SetGyroOverlayVisible(bool visible) {
|
||||||
|
std::scoped_lock lock{mutex};
|
||||||
|
controller.gyro_overlay_visible = visible;
|
||||||
|
}
|
||||||
|
|
||||||
void EmulatedController::SetButtonParam(std::size_t index, Common::ParamPackage param) {
|
void EmulatedController::SetButtonParam(std::size_t index, Common::ParamPackage param) {
|
||||||
if (index >= button_params.size()) {
|
if (index >= button_params.size()) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user