Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom configuration for each game #632

Open
wants to merge 57 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
2640f08
Added custom setting function for each game
Goodfeat Feb 6, 2025
5dc7fb4
Merge branch 'master' of https://github.com/Goodfeat/Ryujinx_alt
Goodfeat Feb 6, 2025
fbe1a7d
Added custom setting function for each game
Goodfeat Feb 6, 2025
fe94224
keys returned to their place, minor fixes, local ones added
Goodfeat Feb 6, 2025
afdfcc1
fix
Goodfeat Feb 6, 2025
6d37d79
Ops
Goodfeat Feb 6, 2025
df1c761
returned the deleted field
Goodfeat Feb 6, 2025
7f4a161
Merge branch 'master' into master
Goodfeat Feb 7, 2025
3a8e6e3
Added gamepad configuration for custom configuration
Goodfeat Feb 7, 2025
fa463c5
code cleaning
Goodfeat Feb 7, 2025
fc01f7b
Merge branch 'master' into master
Goodfeat Feb 8, 2025
4cb2170
Merge branch 'master' into master
Goodfeat Feb 8, 2025
4d5ae23
Added game name to user settings window
Goodfeat Feb 8, 2025
a92475b
Merge branch 'master' of https://github.com/Goodfeat/Ryujinx_alt
Goodfeat Feb 8, 2025
5f5c761
Fixed a ban where a custom setting was mistakenly created when starti…
Goodfeat Feb 8, 2025
e4e38c4
Merge branch 'master' into master
Goodfeat Feb 8, 2025
11a68a2
Fixed bug crash due to incorrect System.SystemTimeOffset.Value,
Goodfeat Feb 8, 2025
39fbbb3
Merge branch 'master' of https://github.com/Goodfeat/Ryujinx_alt
Goodfeat Feb 8, 2025
45b1794
Returned an erroneously modified Convert time string
Goodfeat Feb 8, 2025
ae16360
Code cleaning
Goodfeat Feb 8, 2025
cdc4557
Merge branch 'master' into master
Goodfeat Feb 8, 2025
57ac90a
Merge branch 'master' into master
Goodfeat Feb 9, 2025
4bbcec2
Fixed a bug where control would not return after changing settings.
Goodfeat Feb 9, 2025
7568dd4
Merge branch 'master' of https://github.com/Goodfeat/Ryujinx_alt
Goodfeat Feb 9, 2025
a301a14
Merge branch 'master' into master
Goodfeat Feb 9, 2025
b9982c0
Merge branch 'master' into master
Goodfeat Feb 9, 2025
966860a
Change: initialization of user configuration is now a separate function
Goodfeat Feb 10, 2025
1d68546
Merge branch 'master' of https://github.com/Goodfeat/Ryujinx_alt
Goodfeat Feb 10, 2025
3e40532
Merge branch 'master' into master
Goodfeat Feb 10, 2025
0399af0
Replace the "delete" button with "apply" during the game in the custo…
Goodfeat Feb 10, 2025
8efceb3
Merge branch 'master' into master
Goodfeat Feb 10, 2025
1ca5407
Added autorestart of the emulator if it is necessary to change the gr…
Goodfeat Feb 11, 2025
6f4930d
Merge branch 'master' of https://github.com/Goodfeat/Ryujinx_alt
Goodfeat Feb 11, 2025
03692e6
Merge branch 'master' into master
Goodfeat Feb 11, 2025
af13f4b
fix latest changes
Goodfeat Feb 11, 2025
7f7055a
Merge branch 'master' into master
Goodfeat Feb 11, 2025
32f9b33
Merge branch 'master' into master
Goodfeat Feb 12, 2025
c21e63e
Removed irrelevant functions.
Goodfeat Feb 12, 2025
5d061a1
Merge branch 'master' of https://github.com/Goodfeat/Ryujinx_alt
Goodfeat Feb 12, 2025
acc06a8
Merge branch 'master' into master
Goodfeat Feb 12, 2025
22299e6
Merge branch 'master' into master
Goodfeat Feb 12, 2025
42bd991
Merge branch 'master' into master
Goodfeat Feb 12, 2025
2dd787f
Changed: Hid.DisableInputWhenOutOfFocus only for global config
Goodfeat Feb 12, 2025
3f185f5
Merge branch 'master' into master
Goodfeat Feb 13, 2025
1dedf4c
fixed: when loading a game with a custom configuration via a shortcut…
Goodfeat Feb 13, 2025
4f02b6a
Merge branch 'master' into master
Goodfeat Feb 13, 2025
ca8329d
Merge branch 'master' into master
Goodfeat Feb 13, 2025
139e869
Merge branch 'master' into master
GreemDev Feb 14, 2025
7f2dfac
Merge branch 'master' into master
Goodfeat Feb 14, 2025
f73c9ac
Merge branch 'master' into master
Goodfeat Feb 15, 2025
451525e
Merge branch 'master' into master
Goodfeat Feb 15, 2025
931da5e
fix update
Goodfeat Feb 15, 2025
af00ca6
Merge branch 'master' into master
Goodfeat Feb 15, 2025
24867ec
Code refinement. Added UI menu to user settings
Goodfeat Feb 15, 2025
e7c9913
Removed unused library
Goodfeat Feb 15, 2025
edfd58b
small fix
Goodfeat Feb 15, 2025
4461a7c
Removed extra line added by mistake
Goodfeat Feb 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/Ryujinx/AppHost.cs
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,13 @@ private void Exit()
Rainbow.Disable();
Rainbow.Reset();

// Reload settings when the game is turned off
// (resets custom settings if there were any)
Program.ReloadConfig();

//Updates the gameList (changes the status of the user setting if it was added or removed during the game)
RyujinxApp.MainWindow.GameListUpdate();

_isStopped = true;
Stop();
}
Expand Down
33 changes: 31 additions & 2 deletions src/Ryujinx/Assets/Styles/Styles.xaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<Styles
<Styles
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
xmlns:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
xmlns:windowing="clr-namespace:FluentAvalonia.UI.Windowing;assembly=FluentAvalonia">
<Design.PreviewWith>
<Border Height="2000"
Expand Down Expand Up @@ -30,7 +31,8 @@
<Button
Name="btnRem"
HorizontalAlignment="Right"
Content="Add" />
Content="Add"
Classes="red"/>
<TextBox
Width="100"
VerticalAlignment="Center"
Expand All @@ -41,7 +43,13 @@
</StackPanel>
</Grid>
<ui:NumberBox Value="1" />
<MenuItem
Header="123 0000"
ToolTip.Tip="What this"/>
<TextBlock
Classes="globalConfigMarker"/>
</StackPanel>

</Border>
</Design.PreviewWith>
<Style Selector="DropDownButton">
Expand Down Expand Up @@ -331,6 +339,14 @@
<Setter Property="Margin"
Value="0,5,0,0" />
</Style>
<Style Selector="TextBlock.globalConfigMarker" >
<Setter Property="Foreground" Value="SeaGreen"/>
<Setter Property="Margin" Value="5,0,0,0"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Text" Value="(Global)"/>
</Style>
<Style Selector="StackPanel.globalConfigMarker">
</Style>
<Style Selector="ContextMenu">
<Setter Property="BorderBrush"
Value="{DynamicResource MenuFlyoutPresenterBorderBrush}" />
Expand Down Expand Up @@ -373,6 +389,19 @@
<Setter Property="Background"
Value="{DynamicResource AppListHoverBackgroundColor}" />
</Style>
<Style Selector="Button.red /template/ ContentPresenter">
<Setter Property="CornerRadius" Value="4"/>
<Setter Property="Background" Value="red"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<Style Selector="Button.red:pointerover /template/ ContentPresenter">
<Setter Property="CornerRadius" Value="4"/>
<Setter Property="Background" Value="{DynamicResource WarningBackgroundColor}" />
<Setter Property="Foreground" Value="White"/>
</Style>



<Styles.Resources>
<SolidColorBrush x:Key="ThemeAccentColorBrush"
Color="{DynamicResource SystemAccentColor}" />
Expand Down
8 changes: 7 additions & 1 deletion src/Ryujinx/Assets/Styles/Themes.xaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui"
<ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Default">
Expand All @@ -12,11 +12,13 @@
<Color x:Key="MenuFlyoutPresenterBorderColor">#C1C1C1</Color>
<Color x:Key="AppListBackgroundColor">#b3ffffff</Color>
<Color x:Key="AppListHoverBackgroundColor">#80cccccc</Color>
<Color x:Key="WarningBackgroundColor">#FF6347</Color>
<Color x:Key="SecondaryTextColor">#A0000000</Color>
<Color x:Key="FavoriteApplicationIconColor">#fffcd12a</Color>
<Color x:Key="Switch">#FF2EEAC9</Color>
<Color x:Key="Unbounded">#FFFF4554</Color>
<Color x:Key="Custom">#6483F5</Color>
<Color x:Key="Warning">#800080</Color>
</ResourceDictionary>
<ResourceDictionary x:Key="Light">
<SolidColorBrush x:Key="DataGridSelectionBackgroundBrush"
Expand All @@ -29,11 +31,13 @@
<Color x:Key="MenuFlyoutPresenterBorderColor">#C1C1C1</Color>
<Color x:Key="AppListBackgroundColor">#b3ffffff</Color>
<Color x:Key="AppListHoverBackgroundColor">#80cccccc</Color>
<Color x:Key="WarningBackgroundColor">#FF6347</Color>
<Color x:Key="SecondaryTextColor">#A0000000</Color>
<Color x:Key="FavoriteApplicationIconColor">#fffcd12a</Color>
<Color x:Key="Switch">#13c3a4</Color>
<Color x:Key="Unbounded">#FFFF4554</Color>
<Color x:Key="Custom">#6483F5</Color>
<Color x:Key="Warning">#800080</Color>
</ResourceDictionary>
<ResourceDictionary x:Key="Dark">
<SolidColorBrush x:Key="DataGridSelectionBackgroundBrush"
Expand All @@ -46,11 +50,13 @@
<Color x:Key="MenuFlyoutPresenterBorderColor">#3D3D3D</Color>
<Color x:Key="AppListBackgroundColor">#0FFFFFFF</Color>
<Color x:Key="AppListHoverBackgroundColor">#1EFFFFFF</Color>
<Color x:Key="WarningBackgroundColor">#FF6347</Color>
<Color x:Key="SecondaryTextColor">#A0FFFFFF</Color>
<Color x:Key="FavoriteApplicationIconColor">#fffcd12a</Color>
<Color x:Key="Switch">#FF2EEAC9</Color>
<Color x:Key="Unbounded">#FFFF4554</Color>
<Color x:Key="Custom">#6483F5</Color>
<Color x:Key="Warning">#FFA500</Color>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
150 changes: 150 additions & 0 deletions src/Ryujinx/Assets/locales.json
Original file line number Diff line number Diff line change
Expand Up @@ -2722,6 +2722,31 @@
"zh_TW": "建立桌面捷徑,啟動選取的應用程式"
}
},
{
"ID": "GameListContextMenuEditGameConfiguration",
"Translations": {
"ar_SA": "تعديل تكوين اللعبة",
"de_DE": "Spielkonfiguration bearbeiten",
"el_GR": "Επεξεργασία ρυθμίσεων παιχνιδιού",
"en_US": "Edit Game Configuration",
"es_ES": "Editar configuración del juego",
"fr_FR": "Modifier la configuration du jeu",
"he_IL": "ערוך את הגדרת המשחק",
"it_IT": "Modifica configurazione gioco",
"ja_JP": "ゲーム設定を編集",
"ko_KR": "게임 설정 편집",
"no_NO": "Rediger spillkonfig.",
"pl_PL": "Edytuj konfigurację gry",
"pt_BR": "Editar configuração do jogo",
"ru_RU": "Редактировать конфигурацию игры",
"sv_SE": "Redigera spelkonfiguration",
"th_TH": "แก้ไขการตั้งค่าเกม",
"tr_TR": "Oyunun yapılandırmasını düzenle",
"uk_UA": "Редагувати конфігурацію гри",
"zh_CN": "编辑游戏配置",
"zh_TW": "編輯遊戲設定"
}
},
{
"ID": "GameListContextMenuCreateShortcutToolTipMacOS",
"Translations": {
Expand All @@ -2747,6 +2772,31 @@
"zh_TW": "在 macOS 的應用程式資料夾中建立捷徑,啟動選取的應用程式"
}
},
{
"ID": "EditGameConfigurationToolTip",
"Translations": {
"ar_SA": "ينشئ تكوينًا مستقلًا للعبة الحالية",
"de_DE": "Erstellt eine unabhängige Konfiguration für das aktuelle Spiel",
"el_GR": "Δημιουργεί μια ανεξάρτητη διαμόρφωση για το τρέχον παιχνίδι",
"en_US": "Creates an independent configuration for the current game",
"es_ES": "Crea una configuración independiente para el juego actual",
"fr_FR": "Crée une configuration indépendante pour le jeu en cours",
"he_IL": "יוצר תצורה עצמאית למשחק הנוכחי",
"it_IT": "Crea una configurazione indipendente per il gioco attuale",
"ja_JP": "現在のゲーム用の独立した設定を作成します",
"ko_KR": "현재 게임에 대한 독립적인 설정을 생성합니다",
"no_NO": "Oppretter en uavhengig konfigurasjon for det gjeldende spillet",
"pl_PL": "Tworzy niezależną konfigurację dla bieżącej gry",
"pt_BR": "Cria uma configuração independente para o jogo atual",
"ru_RU": "Создает независимую конфигурацию для текущей игры",
"sv_SE": "Skapar en oberoende konfiguration för det aktuella spelet",
"th_TH": "สร้างการกำหนดค่าที่เป็นอิสระสำหรับเกมปัจจุบัน",
"tr_TR": "Mevcut oyun için bağımsız bir yapılandırma oluşturur",
"uk_UA": "Створює незалежну конфігурацію для поточної гри",
"zh_CN": "为当前游戏创建独立的配置",
"zh_TW": "為當前遊戲創建獨立的配置"
}
},
{
"ID": "GameListContextMenuShowCompatEntry",
"Translations": {
Expand Down Expand Up @@ -3272,6 +3322,31 @@
"zh_TW": "設定"
}
},
{
"ID": "SettingsWithInfo",
"Translations": {
"ar_SA": "{0} - إعدادات",
"de_DE": "Einstellungen - {0}",
"el_GR": "Ρυθμίσεις - {0}",
"en_US": "Settings - {0}",
"es_ES": "Configuración - {0}",
"fr_FR": "Paramètres - {0}",
"he_IL": "{0} - הגדרות",
"it_IT": "Impostazioni - {0}",
"ja_JP": "設定 - {0}",
"ko_KR": "설정 - {0}",
"no_NO": "Innstillinger - {0}",
"pl_PL": "Ustawienia - {0}",
"pt_BR": "Configurações - {0}",
"ru_RU": "Параметры - {0}",
"sv_SE": "Inställningar - {0}",
"th_TH": "ตั้งค่า - {0}",
"tr_TR": "Ayarlar - {0}",
"uk_UA": "Налаштування - {0}",
"zh_CN": "设置 - {0}",
"zh_TW": "設定 - {0}"
}
},
{
"ID": "SettingsTabGeneral",
"Translations": {
Expand Down Expand Up @@ -12672,6 +12747,31 @@
"zh_TW": "正在下載更新..."
}
},
{
"ID": "DialogRebooterMessage",
"Translations": {
"ar_SA": "من فضلك انتظر، المحاكي في طور إعادة التشغيل",
"de_DE": "Bitte warten Sie, der Emulator wird neu gestartet",
"el_GR": "Παρακαλώ περιμένετε, ο εξομοιωτής επανεκκινείται",
"en_US": "Please wait, the emulator is restarting",
"es_ES": "Por favor, espere, el emulador se está reiniciando",
"fr_FR": "Veuillez patienter, l'émulateur est en train de redémarrer",
"he_IL": "אנא המתן, המחקה מתארגן מחדש",
"it_IT": "Attendere prego, l'emulatore si sta riavviando",
"ja_JP": "お待ちください、エミュレーターが再起動しています",
"ko_KR": "잠시만 기다려 주세요, 에뮬레이터가 재시작 중입니다",
"no_NO": "Vennligst vent, emulatoren starter på nytt",
"pl_PL": "Proszę czekać, emulator jest w trakcie ponownego uruchamiania",
"pt_BR": "Por favor, aguarde, o emulador está reiniciando",
"ru_RU": "Пожалуйста, подождите, эмулятор перезапускается",
"sv_SE": "Vänligen vänta, emulatorn startar om",
"th_TH": "กรุณารอสักครู่, ตัวจำลองกำลังเริ่มใหม่",
"tr_TR": "Lütfen bekleyin, emülatör yeniden başlatılıyor",
"uk_UA": "Будь ласка, зачекайте, емулятор перезавантажується",
"zh_CN": "请稍等,模拟器正在重新启动",
"zh_TW": "請稍候,模擬器正在重新啟動"
}
},
{
"ID": "DialogUpdaterExtractionMessage",
"Translations": {
Expand Down Expand Up @@ -19522,6 +19622,31 @@
"zh_TW": "{0} 更新程式"
}
},
{
"ID": "RyujinxRebooter",
"Translations": {
"ar_SA": "إعادة تشغيل {0}",
"de_DE": "Neustart von {0}",
"el_GR": "Επανεκκίνηση {0}",
"en_US": "{0} Reboot",
"es_ES": "Reinicio de {0}",
"fr_FR": "Redémarrage de {0}",
"he_IL": "אתחול {0}",
"it_IT": "Riavvio di {0}",
"ja_JP": "{0} 再起動",
"ko_KR": "{0} 재부팅",
"no_NO": "Omstart av {0}",
"pl_PL": "Ponowne uruchomienie {0}",
"pt_BR": "Reinício de {0}",
"ru_RU": "{0} Перезагрузка",
"sv_SE": "Ominläsning av {0}",
"th_TH": "เริ่มต้นใหม่ {0}",
"tr_TR": "{0} Yeniden Başlatma",
"uk_UA": "Перезавантаження {0}",
"zh_CN": "{0} 重启",
"zh_TW": "{0} 重新啟動"
}
},
{
"ID": "SettingsTabHotkeys",
"Translations": {
Expand Down Expand Up @@ -23997,6 +24122,31 @@
"zh_TW": ""
}
},
{
"ID": "UserConfigurationHeader",
"Translations": {
"ar_SA": "",
"de_DE": "",
"el_GR": "",
"en_US": "User Config",
"es_ES": "",
"fr_FR": "",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
"ko_KR": "",
"no_NO": "",
"pl_PL": "",
"pt_BR": "",
"ru_RU": "",
"sv_SE": "",
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_TW": ""
}
},
{
"ID": "ExtractAocListHeader",
"Translations": {
Expand Down
1 change: 1 addition & 0 deletions src/Ryujinx/Common/LocaleManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ private void Load()
SetDynamicValues(LocaleKeys.RyujinxInfo, RyujinxApp.FullAppName);
SetDynamicValues(LocaleKeys.RyujinxConfirm, RyujinxApp.FullAppName);
SetDynamicValues(LocaleKeys.RyujinxUpdater, RyujinxApp.FullAppName);
SetDynamicValues(LocaleKeys.RyujinxRebooter, RyujinxApp.FullAppName);
}

public string this[LocaleKeys key]
Expand Down
Loading