Add IS TWL Capture Battery and AC Adapter support
Some checks failed
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux32 flags:32 name:Linux GCC 32 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux64 flags:64 name:Linux GCC x64 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm32 flags:arm32 name:Linux GCC ARM 32 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm64 flags:arm64 name:Linux GCC ARM 64 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:macos name:macOS Apple Silicon os:macos-14]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win32 flags:-A Win32 name:Windows VS2022 Win32 os:windows-2022]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win64 flags:-A x64 name:Windows VS2022 x64 os:windows-2022]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:winarm64 flags:-A ARM64 name:Windows VS2022 ARM os:windows-2022]) (push) Has been cancelled
CD / Create Pi Mono Setup (push) Has been cancelled
CD / Publishing (push) Has been cancelled

This commit is contained in:
Lorenzooone
2025-02-11 19:38:10 +01:00
parent 0610ffdb62
commit 2da2251409
10 changed files with 220 additions and 4 deletions

View File

@@ -5,6 +5,8 @@
#define FPS_WINDOW_SIZE 64
static const int battery_levels[] = {1, 5, 12, 25, 50, 100};
static const sf::VideoMode default_fs_mode_4_5k_macos = sf::VideoMode({4480, 2520});
static const sf::VideoMode default_fs_mode_4k_macos = sf::VideoMode({4096, 2304});
static const sf::VideoMode default_fs_mode_4k = sf::VideoMode({3840, 2160});
@@ -207,6 +209,34 @@ void WindowScreen::is_nitro_capture_reset_hw() {
this->capture_status->reset_hardware = true;
}
void WindowScreen::is_nitro_battery_change(bool positive) {
if(this->capture_status->battery_percentage < 1)
this->capture_status->battery_percentage = 1;
if(this->capture_status->battery_percentage > 100)
this->capture_status->battery_percentage = 100;
int closest_level = 0;
int curr_diff = 100;
const int num_levels = sizeof(battery_levels) / sizeof(battery_levels[0]);
for(int i = 0; i < num_levels; i++) {
int level_diff = abs(battery_levels[i] - this->capture_status->battery_percentage);
if(level_diff < curr_diff) {
closest_level = i;
curr_diff = level_diff;
}
}
if((!positive) && (closest_level > 0))
closest_level -= 1;
if((positive) && (closest_level < (num_levels - 1)))
closest_level += 1;
if(battery_levels[closest_level] != this->capture_status->battery_percentage)
this->print_notification("Changing battery level...\nPlease wait...");
this->capture_status->battery_percentage = battery_levels[closest_level];
}
void WindowScreen::is_nitro_ac_adapter_change() {
this->capture_status->ac_adapter_connected = !this->capture_status->ac_adapter_connected;
}
void WindowScreen::padding_change() {
if(this->m_info.is_fullscreen)
return;
@@ -1921,6 +1951,15 @@ void WindowScreen::poll(bool do_everything) {
case ISN_MENU_RESET:
this->is_nitro_capture_reset_hw();
break;
case ISN_MENU_BATTERY_DEC:
this->is_nitro_battery_change(false);
break;
case ISN_MENU_BATTERY_INC:
this->is_nitro_battery_change(true);
break;
case ISN_MENU_AC_ADAPTER_TOGGLE:
this->is_nitro_ac_adapter_change();
break;
default:
break;
}