mirror of
https://github.com/Lorenzooone/cc3dsfs.git
synced 2026-09-12 02:25:28 -05:00
Add option for fixed output framerate (useful for MacOS)
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 -DCMAKE_PARALLEL_MSVC=TRUE -DCMAKE_PREPARE_WINDOWS_DRIVERS=TRUE 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 -DCMAKE_PARALLEL_MSVC=TRUE -DCMAKE_PREPARE_WINDOWS_DRIVERS=TRUE 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 -DCMAKE_PARALLEL_MSVC=TRUE -DCMAKE_PREPARE_WINDOWS_DRIVERS=TRUE 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
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 -DCMAKE_PARALLEL_MSVC=TRUE -DCMAKE_PREPARE_WINDOWS_DRIVERS=TRUE 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 -DCMAKE_PARALLEL_MSVC=TRUE -DCMAKE_PREPARE_WINDOWS_DRIVERS=TRUE 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 -DCMAKE_PARALLEL_MSVC=TRUE -DCMAKE_PREPARE_WINDOWS_DRIVERS=TRUE 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:
@@ -96,6 +96,11 @@ static double FPSArrayGetAverage(FPSArray *array) {
|
||||
return fps_sum / available_fps;
|
||||
}
|
||||
|
||||
static void change_display_data_fixed_framerate(DisplayData* display_data, double change) {
|
||||
display_data->target_fixed_output_framerate += change;
|
||||
sanitize_display_data(display_data);
|
||||
}
|
||||
|
||||
void WindowScreen::init_menus() {
|
||||
for(int i = 0; i < NUM_FINGERS_SUPPORTED; i++)
|
||||
this->is_touch_currently_active[i] = false;
|
||||
@@ -135,6 +140,7 @@ void WindowScreen::init_menus() {
|
||||
this->optimize_serial_key_add_menu = new OptimizeSerialKeyAddMenu(this->text_rectangle_pool);
|
||||
this->optimize_old_fw_config_menu = new OptimizeOldFWConfigMenu(this->text_rectangle_pool);
|
||||
this->optimize_3ds_downgradev2_menu = new Optimize3DSDowngradeV2Menu(this->text_rectangle_pool);
|
||||
this->output_framerate_menu = new OutputFramerateMenu(this->text_rectangle_pool);
|
||||
}
|
||||
|
||||
void WindowScreen::destroy_menus() {
|
||||
@@ -170,6 +176,7 @@ void WindowScreen::destroy_menus() {
|
||||
delete this->optimize_serial_key_add_menu;
|
||||
delete this->optimize_old_fw_config_menu;
|
||||
delete this->optimize_3ds_downgradev2_menu;
|
||||
delete this->output_framerate_menu;
|
||||
}
|
||||
|
||||
void WindowScreen::set_close(int ret_val) {
|
||||
@@ -1330,6 +1337,15 @@ void WindowScreen::setup_optimize_n3ds_downgradev2_menu(bool reset_data) {
|
||||
}
|
||||
}
|
||||
|
||||
void WindowScreen::setup_output_framerate_menu(bool reset_data) {
|
||||
if(!this->can_setup_menu())
|
||||
return;
|
||||
if(this->curr_menu != OUTPUT_FRAMERATE_MENU_TYPE) {
|
||||
this->switch_to_menu(OUTPUT_FRAMERATE_MENU_TYPE, this->output_framerate_menu, reset_data);
|
||||
this->output_framerate_menu->insert_data();
|
||||
}
|
||||
}
|
||||
|
||||
void WindowScreen::update_save_menu() {
|
||||
if(this->curr_menu == SAVE_MENU_TYPE) {
|
||||
this->curr_menu = DEFAULT_MENU_TYPE;
|
||||
@@ -1889,6 +1905,9 @@ void WindowScreen::poll(bool do_everything) {
|
||||
case VIDEO_MENU_3D_SETTINGS:
|
||||
this->setup_main_3d_menu();
|
||||
break;
|
||||
case VIDEO_MENU_OUTPUT_FRAMERATE_SETTINGS:
|
||||
this->setup_output_framerate_menu();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -2590,6 +2609,47 @@ void WindowScreen::poll(bool do_everything) {
|
||||
}
|
||||
this->loaded_menu_ptr->reset_output_option();
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_TYPE:
|
||||
switch(this->output_framerate_menu->selected_index) {
|
||||
case OUTPUT_FRAMERATE_MENU_BACK:
|
||||
this->setup_video_menu(false);
|
||||
done = true;
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_NO_ACTION:
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_MODE_INC:
|
||||
case OUTPUT_FRAMERATE_MENU_MODE_DEC:
|
||||
this->display_data->fixed_output_framerate = !this->display_data->fixed_output_framerate;
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_RATE_001_INC:
|
||||
change_display_data_fixed_framerate(this->display_data, 0.01);
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_RATE_001_DEC:
|
||||
change_display_data_fixed_framerate(this->display_data, -0.01);
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_RATE_01_INC:
|
||||
change_display_data_fixed_framerate(this->display_data, 0.1);
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_RATE_01_DEC:
|
||||
change_display_data_fixed_framerate(this->display_data, -0.1);
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_RATE_1_INC:
|
||||
change_display_data_fixed_framerate(this->display_data, 1);
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_RATE_1_DEC:
|
||||
change_display_data_fixed_framerate(this->display_data, -1);
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_RATE_10_INC:
|
||||
change_display_data_fixed_framerate(this->display_data, 10);
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_RATE_10_DEC:
|
||||
change_display_data_fixed_framerate(this->display_data, -10);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
this->loaded_menu_ptr->reset_output_option();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -2926,6 +2986,9 @@ void WindowScreen::prepare_menu_draws(int view_size_x, int view_size_y) {
|
||||
case OPTIMIZE_3DS_DOWNGRADEV2_MENU_TYPE:
|
||||
this->optimize_3ds_downgradev2_menu->prepare(menu_scaling_factor, view_size_x, view_size_y);
|
||||
break;
|
||||
case OUTPUT_FRAMERATE_MENU_TYPE:
|
||||
this->output_framerate_menu->prepare(menu_scaling_factor, view_size_x, view_size_y, this->display_data);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user