diff options
| author | crueter <crueter@eden-emu.dev> | 2025-12-31 23:45:58 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-12-31 23:45:58 +0100 |
| commit | 73f2535edc25e7e1ff9e054428c956e6dde15555 (patch) | |
| tree | af6b0f12a7f26107d2f27b15fbe25b0bb7c96702 | |
| parent | d9874fa4bc063a4c48352e75988497a754360f67 (diff) | |
[desktop, settings] new RendererHacks category, move to Extensions -> Extras, fix GPU accuracy naming (#3245)
added a new RendererHacks category, moved them to the Extensions tab and
renamed that tab Extras. Should fit in smaller screens now
also Performance -> Fast, GPU Accuracy -> GPU Mode
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3245
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt | 1 | ||||
| -rw-r--r-- | src/android/app/src/main/res/values/strings.xml | 11 | ||||
| -rw-r--r-- | src/common/settings.cpp | 1 | ||||
| -rw-r--r-- | src/common/settings.h | 8 | ||||
| -rw-r--r-- | src/common/settings_common.h | 1 | ||||
| -rw-r--r-- | src/frontend_common/config.cpp | 2 | ||||
| -rw-r--r-- | src/qt_common/config/shared_translation.cpp | 8 | ||||
| -rw-r--r-- | src/qt_common/config/shared_translation.h | 2 | ||||
| -rw-r--r-- | src/qt_common/config/uisettings.h | 2 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_dialog.cpp | 2 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 18 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.ui | 39 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_extensions.cpp | 23 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_extensions.ui | 45 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_per_game.cpp | 2 | ||||
| -rw-r--r-- | src/yuzu/main_window.cpp | 2 | ||||
| -rwxr-xr-x | tools/find-unused-strings.sh | 28 |
17 files changed, 87 insertions, 108 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt index da606274eb..50143a449e 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt @@ -306,6 +306,7 @@ abstract class SettingsItem( SingleChoiceSetting( IntSetting.RENDERER_ACCURACY, titleId = R.string.renderer_accuracy, + descriptionId = R.string.renderer_accuracy_description, choicesId = R.array.rendererAccuracyNames, valuesId = R.array.rendererAccuracyValues ) diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 117e7397e0..35f2489223 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -473,7 +473,8 @@ <string name="advanced">Advanced</string> - <string name="renderer_accuracy">Accuracy level</string> + <string name="renderer_accuracy">GPU Mode</string> + <string name="renderer_accuracy_description">Controls the GPU emulation mode. Most games render fine with Fast or Balanced modes, but Accurate is still required for some. Particles tend to only render correctly with Accurate mode.</string> <string name="dma_accuracy">DMA Accuracy</string> <string name="dma_accuracy_description">Controls the DMA precision accuracy. Safe precision can fix issues in some games, but it can also impact performance in some cases. If unsure, leave this on Default.</string> <string name="anisotropic_filtering">Anisotropic filtering</string> @@ -721,18 +722,12 @@ <!-- Custom Paths settings --> <string name="custom_save_directory">Save Data Directory</string> <string name="custom_save_directory_description">Set a custom path for save data storage</string> - <string name="select_directory">Select Directory</string> - <string name="choose_save_directory_action">Choose an action for the save directory:</string> - <string name="set_custom_path">Set Custom Path</string> <string name="reset_to_nand">Reset to Default</string> <string name="migrate_save_data">Migrate Save Data</string> <string name="migrate_save_data_question">Do you want to migrate existing save data to the new location?</string> - <string name="migrate_save_data_description">This will copy your save files from the old location to the new one.</string> - <string name="migrating_save_data">Migrating save data…</string> <string name="save_migration_complete">Save data migrated successfully</string> <string name="save_migration_failed">Save data migration failed</string> <string name="save_directory_set">Save directory set</string> - <string name="save_directory_reset">Save directory reset to default</string> <string name="destination_has_saves">The destination already contains data. Do you want to overwrite it?</string> <string name="all_files_permission_required">All Files Access permission is required for custom paths</string> <string name="grant_permission">Grant Permission</string> @@ -970,7 +965,7 @@ <string name="renderer_none">None</string> <!-- Renderer Accuracy --> - <string name="renderer_accuracy_low">Performance</string> + <string name="renderer_accuracy_low">Fast</string> <string name="renderer_accuracy_medium">Balanced</string> <string name="renderer_accuracy_high">Accurate</string> diff --git a/src/common/settings.cpp b/src/common/settings.cpp index e961e1d2d7..b7c2d3c9a9 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -231,6 +231,7 @@ const char* TranslateCategory(Category category) { return "Overlay"; case Category::Renderer: case Category::RendererAdvanced: + case Category::RendererHacks: case Category::RendererDebug: case Category::RendererExtensions: return "Renderer"; diff --git a/src/common/settings.h b/src/common/settings.h index 44cdb24f17..b523fb673b 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -492,13 +492,13 @@ struct Values { SwitchableSetting<GpuOverclock> fast_gpu_time{linkage, GpuOverclock::Medium, "fast_gpu_time", - Category::RendererAdvanced, + Category::RendererHacks, Specialization::Default}; SwitchableSetting<bool> skip_cpu_inner_invalidation{linkage, false, "skip_cpu_inner_invalidation", - Category::RendererAdvanced, + Category::RendererHacks, Specialization::Default, true, true}; @@ -508,10 +508,10 @@ struct Values { #else false, #endif - "async_presentation", Category::RendererAdvanced}; + "async_presentation", Category::RendererHacks}; SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders", - Category::RendererAdvanced}; + Category::RendererHacks}; SwitchableSetting<ExtendedDynamicState> dyna_state{linkage, #if defined (_WIN32) diff --git a/src/common/settings_common.h b/src/common/settings_common.h index 0107895c8c..653ce17b89 100644 --- a/src/common/settings_common.h +++ b/src/common/settings_common.h @@ -24,6 +24,7 @@ enum class Category : u32 { Overlay, Renderer, RendererAdvanced, + RendererHacks, RendererExtensions, RendererDebug, System, diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp index 669e578b33..fdb7ac0833 100644 --- a/src/frontend_common/config.cpp +++ b/src/frontend_common/config.cpp @@ -368,6 +368,7 @@ void Config::ReadRendererValues() { ReadCategory(Settings::Category::Renderer); ReadCategory(Settings::Category::RendererAdvanced); + ReadCategory(Settings::Category::RendererHacks); ReadCategory(Settings::Category::RendererExtensions); ReadCategory(Settings::Category::RendererDebug); @@ -671,6 +672,7 @@ void Config::SaveRendererValues() { WriteCategory(Settings::Category::Renderer); WriteCategory(Settings::Category::RendererAdvanced); + WriteCategory(Settings::Category::RendererHacks); WriteCategory(Settings::Category::RendererExtensions); WriteCategory(Settings::Category::RendererDebug); diff --git a/src/qt_common/config/shared_translation.cpp b/src/qt_common/config/shared_translation.cpp index 90e8c81f32..a3a720db8e 100644 --- a/src/qt_common/config/shared_translation.cpp +++ b/src/qt_common/config/shared_translation.cpp @@ -272,8 +272,8 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QObject* parent) tr("Controls the quality of texture rendering at oblique angles.\nSafe to set at 16x on most GPUs.")); INSERT(Settings, gpu_accuracy, - tr("GPU Accuracy:"), - tr("Controls the GPU emulation accuracy.\nMost games render fine with Performance or Balanced modes, but Accurate is still " + tr("GPU Mode:"), + tr("Controls the GPU emulation mode.\nMost games render fine with Fast or Balanced modes, but Accurate is still " "required for some.\nParticles tend to only render correctly with Accurate mode.")); INSERT(Settings, dma_accuracy, @@ -321,7 +321,7 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QObject* parent) // Renderer (Extensions) INSERT(Settings, dyna_state, tr("Extended Dynamic State"), tr("Controls the number of features that can be used in Extended Dynamic State.\n" - "Higher numbers allow for more features and can increase performance, but may cause " + "Higher states allow for more features and can increase performance, but may cause " "additional graphical issues.")); INSERT(Settings, @@ -499,7 +499,7 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QObject* parent) }}); translations->insert({Settings::EnumMetadata<Settings::GpuAccuracy>::Index(), { - PAIR(GpuAccuracy, Low, tr("Performance")), + PAIR(GpuAccuracy, Low, tr("Fast")), PAIR(GpuAccuracy, Medium, tr("Balanced")), PAIR(GpuAccuracy, High, tr("Accurate")), }}); diff --git a/src/qt_common/config/shared_translation.h b/src/qt_common/config/shared_translation.h index 299c31eaf8..e12b93ea6d 100644 --- a/src/qt_common/config/shared_translation.h +++ b/src/qt_common/config/shared_translation.h @@ -61,7 +61,7 @@ static const std::map<Settings::ConsoleMode, QString> use_docked_mode_texts_map }; static const std::map<Settings::GpuAccuracy, QString> gpu_accuracy_texts_map = { - {Settings::GpuAccuracy::Low, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "Performance"))}, + {Settings::GpuAccuracy::Low, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "Fast"))}, {Settings::GpuAccuracy::Medium, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "Balanced"))}, {Settings::GpuAccuracy::High, QStringLiteral(QT_TRANSLATE_NOOP("MainWindow", "Accurate"))}, }; diff --git a/src/qt_common/config/uisettings.h b/src/qt_common/config/uisettings.h index c5a7d0b483..d139f43871 100644 --- a/src/qt_common/config/uisettings.h +++ b/src/qt_common/config/uisettings.h @@ -253,7 +253,7 @@ const std::array<Shortcut, 30> default_hotkeys{{ {QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Capture Screenshot")).toStdString(), QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Main Window")).toStdString(), {std::string("Ctrl+P"), std::string("Screenshot"), Qt::WidgetWithChildrenShortcut, false}}, {QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Change Adapting Filter")).toStdString(), QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Main Window")).toStdString(), {std::string("F8"), std::string("Home+L"), Qt::ApplicationShortcut, false}}, {QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Change Docked Mode")).toStdString(), QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Main Window")).toStdString(), {std::string("F10"), std::string("Home+X"), Qt::ApplicationShortcut, false}}, - {QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Change GPU Accuracy")).toStdString(), QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Main Window")).toStdString(), {std::string("F9"), std::string("Home+R"), Qt::ApplicationShortcut, false}}, + {QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Change GPU Mode")).toStdString(), QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Main Window")).toStdString(), {std::string("F9"), std::string("Home+R"), Qt::ApplicationShortcut, false}}, {QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Configure")).toStdString(), QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Main Window")).toStdString(), {std::string("Ctrl+,"), std::string(""), Qt::WidgetWithChildrenShortcut, false}}, {QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Configure Current Game")).toStdString(), QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Main Window")).toStdString(), {std::string("Ctrl+."), std::string(""), Qt::WidgetWithChildrenShortcut, false}}, {QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Continue/Pause Emulation")).toStdString(), QStringLiteral(QT_TRANSLATE_NOOP("Hotkeys", "Main Window")).toStdString(), {std::string("F4"), std::string("Home+Plus"), Qt::WindowShortcut, false}}, diff --git a/src/yuzu/configuration/configure_dialog.cpp b/src/yuzu/configuration/configure_dialog.cpp index 239e78a4d8..c247c53493 100644 --- a/src/yuzu/configuration/configure_dialog.cpp +++ b/src/yuzu/configuration/configure_dialog.cpp @@ -74,7 +74,7 @@ ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry_, ui->tabWidget->addTab(general_tab.get(), tr("General")); ui->tabWidget->addTab(graphics_tab.get(), tr("Graphics")); ui->tabWidget->addTab(graphics_advanced_tab.get(), tr("GraphicsAdvanced")); - ui->tabWidget->addTab(graphics_extensions_tab.get(), tr("GraphicsExtensions")); + ui->tabWidget->addTab(graphics_extensions_tab.get(), tr("GraphicsExtra")); ui->tabWidget->addTab(hotkeys_tab.get(), tr("Hotkeys")); ui->tabWidget->addTab(input_tab.get(), tr("Controls")); ui->tabWidget->addTab(profile_tab.get(), tr("Profiles")); diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index efcf7eabdf..9096e3252d 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp @@ -35,17 +35,9 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {} void ConfigureGraphicsAdvanced::Setup(const ConfigurationShared::Builder& builder) { auto& normal_layout = *ui->normal_target->layout(); - auto& hacks_layout = *ui->hacks_target->layout(); // A map will sort the data for us std::map<u32, QWidget*> normal_hold{}; - std::map<u32, QWidget*> hacks_hold{}; - - // These options are hacks and should probably be changed with caution. - // TODO(crueter) maybe make a separate category RendererHacks? - QList<u32> hacks = { - Settings::values.skip_cpu_inner_invalidation.Id(), Settings::values.async_presentation.Id(), - Settings::values.use_asynchronous_shaders.Id(), Settings::values.fast_gpu_time.Id()}; for (auto setting : Settings::values.linkage.by_category[Settings::Category::RendererAdvanced]) { @@ -61,11 +53,7 @@ void ConfigureGraphicsAdvanced::Setup(const ConfigurationShared::Builder& builde const auto id = setting->Id(); - if (hacks.contains(id)) { - hacks_hold.emplace(id, widget); - } else { - normal_hold.emplace(id, widget); - } + normal_hold.emplace(id, widget); // Keep track of enable_compute_pipelines so we can display it when needed if (setting->Id() == Settings::values.enable_compute_pipelines.Id()) { @@ -76,10 +64,6 @@ void ConfigureGraphicsAdvanced::Setup(const ConfigurationShared::Builder& builde for (const auto& [id, widget] : normal_hold) { normal_layout.addWidget(widget); } - - for (const auto& [id, widget] : hacks_hold) { - hacks_layout.addWidget(widget); - } } void ConfigureGraphicsAdvanced::ApplyConfiguration() { diff --git a/src/yuzu/configuration/configure_graphics_advanced.ui b/src/yuzu/configuration/configure_graphics_advanced.ui index 8c9ab1873b..bc8a9b2731 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.ui +++ b/src/yuzu/configuration/configure_graphics_advanced.ui @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>404</width> + <width>465</width> <height>376</height> </rect> </property> @@ -45,43 +45,6 @@ </widget> </item> <item> - <widget class="QGroupBox" name="hacks"> - <property name="title"> - <string>Hacks</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_6"> - <item> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Changing these options from their default may cause issues. Novitii cavete!</string> - </property> - </widget> - </item> - <item> - <widget class="QWidget" name="hacks_target" native="true"> - <layout class="QVBoxLayout" name="verticalLayout_7"> - <property name="spacing"> - <number>6</number> - </property> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - </layout> - </widget> - </item> - </layout> - </widget> - </item> - <item> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Orientation::Vertical</enum> diff --git a/src/yuzu/configuration/configure_graphics_extensions.cpp b/src/yuzu/configuration/configure_graphics_extensions.cpp index 71a428059e..7334eccc97 100644 --- a/src/yuzu/configuration/configure_graphics_extensions.cpp +++ b/src/yuzu/configuration/configure_graphics_extensions.cpp @@ -35,6 +35,7 @@ void ConfigureGraphicsExtensions::SetConfiguration() {} void ConfigureGraphicsExtensions::Setup(const ConfigurationShared::Builder& builder) { auto& layout = *ui->populate_target->layout(); + std::map<u32, QWidget*> hold{}; // A map will sort the data for us for (auto setting : @@ -71,6 +72,28 @@ void ConfigureGraphicsExtensions::Setup(const ConfigurationShared::Builder& buil for (const auto& [id, widget] : hold) { layout.addWidget(widget); } + + auto& hacks = *ui->hacks_target->layout(); + std::map<u32, QWidget*> hacks_hold{}; // A map will sort the data for us + + for (auto setting : Settings::values.linkage.by_category[Settings::Category::RendererHacks]) { + auto* widget = builder.BuildWidget(setting, apply_funcs); + + if (widget == nullptr) { + continue; + } + + if (!widget->Valid()) { + widget->deleteLater(); + continue; + } + + hacks_hold.emplace(setting->Id(), widget); + } + + for (const auto& [id, widget] : hacks_hold) { + hacks.addWidget(widget); + } } void ConfigureGraphicsExtensions::ApplyConfiguration() { diff --git a/src/yuzu/configuration/configure_graphics_extensions.ui b/src/yuzu/configuration/configure_graphics_extensions.ui index 7906b8318d..79a2107cc9 100644 --- a/src/yuzu/configuration/configure_graphics_extensions.ui +++ b/src/yuzu/configuration/configure_graphics_extensions.ui @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>404</width> + <width>465</width> <height>376</height> </rect> </property> @@ -14,15 +14,52 @@ <string>Form</string> </property> <property name="accessibleName"> - <string>Extensions</string> + <string>Extras</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_1"> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <widget class="QGroupBox" name="hacks"> + <property name="title"> + <string>Hacks</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Changing these options from their default may cause issues. Novitii cavete!</string> + </property> + </widget> + </item> + <item> + <widget class="QWidget" name="hacks_target" native="true"> + <layout class="QVBoxLayout" name="verticalLayout_7"> + <property name="spacing"> + <number>6</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + </layout> + </widget> + </item> + </layout> + </widget> + </item> <item> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QGroupBox" name="groupBox_1"> <property name="title"> - <string>Vulkan Extensions Settings</string> + <string>Vulkan Extensions</string> </property> <layout class="QVBoxLayout" name="verticalLayout_3"> <item> diff --git a/src/yuzu/configuration/configure_per_game.cpp b/src/yuzu/configuration/configure_per_game.cpp index 691fc766ae..e49978414c 100644 --- a/src/yuzu/configuration/configure_per_game.cpp +++ b/src/yuzu/configuration/configure_per_game.cpp @@ -77,7 +77,7 @@ ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id_, const std::st ui->tabWidget->addTab(cpu_tab.get(), tr("CPU")); ui->tabWidget->addTab(graphics_tab.get(), tr("Graphics")); ui->tabWidget->addTab(graphics_advanced_tab.get(), tr("Adv. Graphics")); - ui->tabWidget->addTab(graphics_extensions_tab.get(), tr("GPU Extensions")); + ui->tabWidget->addTab(graphics_extensions_tab.get(), tr("Ext. Graphics")); ui->tabWidget->addTab(audio_tab.get(), tr("Audio")); ui->tabWidget->addTab(input_tab.get(), tr("Input Profiles")); ui->tabWidget->addTab(network_tab.get(), tr("Network")); diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp index 6d5d6fc03e..c246923fcc 100644 --- a/src/yuzu/main_window.cpp +++ b/src/yuzu/main_window.cpp @@ -1421,7 +1421,7 @@ void MainWindow::InitializeHotkeys() { connect_shortcut(QStringLiteral("Change Adapting Filter"), &MainWindow::OnToggleAdaptingFilter); connect_shortcut(QStringLiteral("Change Docked Mode"), &MainWindow::OnToggleDockedMode); - connect_shortcut(QStringLiteral("Change GPU Accuracy"), &MainWindow::OnToggleGpuAccuracy); + connect_shortcut(QStringLiteral("Change GPU Mode"), &MainWindow::OnToggleGpuAccuracy); connect_shortcut(QStringLiteral("Audio Mute/Unmute"), &MainWindow::OnMute); connect_shortcut(QStringLiteral("Audio Volume Down"), &MainWindow::OnDecreaseVolume); connect_shortcut(QStringLiteral("Audio Volume Up"), &MainWindow::OnIncreaseVolume); diff --git a/tools/find-unused-strings.sh b/tools/find-unused-strings.sh deleted file mode 100755 index 62c8852435..0000000000 --- a/tools/find-unused-strings.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -e - -# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project -# SPDX-License-Identifier: GPL-3.0-or-later - -# TODO: rewrite this to get a list of every string used in $ANDROID -# then search strings.xml -# -ANDROID=src/android/app/src/main -STRINGS=$ANDROID/res/values/strings.xml - -SRC=$(mktemp) - -# We start out by getting the list of source strings... -grep -e "string name" $STRINGS | cut -d'"' -f2 > "$SRC" - -# ... then search for each string as R.string. or @string/ -while IFS= read -r str; do - grep -qre "R.string.$str\|@string/$str" "$ANDROID" && continue - - echo "-- Removing unused string $str" - sed "/string name=\"$str\"/d" "$STRINGS" > "$STRINGS.new" - mv "$STRINGS.new" "$STRINGS" -done < "$SRC" - -rm -rf "$TMP_DIR" - -tools/stale-translations.sh |
