mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-09-11 04:18:16 +00:00
Compare commits
13 Commits
Canary-1.3
...
Canary-1.3
Author | SHA1 | Date | |
---|---|---|---|
|
3df6b7c0f5 | ||
|
37e81481c4 | ||
|
4d8b799763 | ||
|
cb786b7147 | ||
|
2a308f50c0 | ||
|
b51c5cead6 | ||
|
461c1f5342 | ||
|
cfea61b3a0 | ||
|
ae2e9a73ab | ||
|
c6f22318a7 | ||
|
dd5e1b99b1 | ||
|
c863ffd353 | ||
|
d6d089b81b |
1598
assets/locales.json
1598
assets/locales.json
File diff suppressed because it is too large
Load Diff
@@ -62,7 +62,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns.Aoc
|
||||
|
||||
Logger.Debug?.PrintStub(LogClass.ServiceNs); // NOTE: Uses Debug to avoid spamming.
|
||||
|
||||
return ResultCode.Success;
|
||||
return ResultCode.NoPurchasedProductInfoAvailable;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns.Aoc
|
||||
{
|
||||
enum ResultCode
|
||||
{
|
||||
EShopModuleId = 164,
|
||||
ModuleId = 166,
|
||||
ErrorCodeShift = 9,
|
||||
|
||||
@@ -9,5 +10,6 @@ namespace Ryujinx.HLE.HOS.Services.Ns.Aoc
|
||||
|
||||
InvalidBufferSize = (200 << ErrorCodeShift) | ModuleId,
|
||||
InvalidPid = (300 << ErrorCodeShift) | ModuleId,
|
||||
NoPurchasedProductInfoAvailable = (400 << ErrorCodeShift) | EShopModuleId
|
||||
}
|
||||
}
|
||||
|
@@ -157,7 +157,7 @@ namespace Ryujinx.Memory.Range
|
||||
{
|
||||
int index = BinarySearch(item.Address);
|
||||
|
||||
if (index >= 0)
|
||||
if (index >= 0 && Items[index].Value.Equals(item))
|
||||
{
|
||||
_quickAccess.Remove(item.Address);
|
||||
|
||||
|
@@ -266,7 +266,7 @@
|
||||
</Style>
|
||||
<Style Selector="ToggleButton">
|
||||
<Setter Property="Padding"
|
||||
Value="0,-5,0,0" />
|
||||
Value="0,0,0,0" />
|
||||
</Style>
|
||||
<Style Selector="TabItem">
|
||||
<Setter Property="FontSize"
|
||||
@@ -336,7 +336,7 @@
|
||||
</Style>
|
||||
<Style Selector="CheckBox TextBlock">
|
||||
<Setter Property="Margin"
|
||||
Value="0,5,0,0" />
|
||||
Value="0,2,0,0" />
|
||||
</Style>
|
||||
<Style Selector="TextBlock.globalConfigMarker" >
|
||||
<Setter Property="Foreground" Value="SeaGreen"/>
|
||||
|
@@ -1,6 +1,7 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Threading;
|
||||
using Ryujinx.Input;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -16,6 +17,8 @@ namespace Ryujinx.Ava.Input
|
||||
private bool _isDisposed;
|
||||
private Size _size;
|
||||
private readonly TopLevel _window;
|
||||
private DispatcherTimer _scrollStopTimer;
|
||||
private const int _dispatchTimerMS = 100;
|
||||
|
||||
public bool[] PressedButtons { get; }
|
||||
public Vector2 CurrentPosition { get; private set; }
|
||||
@@ -39,6 +42,11 @@ namespace Ryujinx.Ava.Input
|
||||
_window.PointerReleased += Parent_PointerReleasedEvent;
|
||||
_window.PointerWheelChanged += Parent_PointerWheelChanged;
|
||||
|
||||
_scrollStopTimer = new DispatcherTimer
|
||||
{
|
||||
Interval = TimeSpan.FromMilliseconds(_dispatchTimerMS)
|
||||
};
|
||||
|
||||
PressedButtons = new bool[(int)MouseButton.Count];
|
||||
|
||||
_size = new Size((int)parent.Bounds.Width, (int)parent.Bounds.Height);
|
||||
@@ -62,10 +70,26 @@ namespace Ryujinx.Ava.Input
|
||||
{
|
||||
_size = new Size((int)rect.Width, (int)rect.Height);
|
||||
}
|
||||
|
||||
private void HandleScrollStopped()
|
||||
{
|
||||
Scroll = new Vector2(0, 0);
|
||||
}
|
||||
|
||||
private void Parent_PointerWheelChanged(object o, PointerWheelEventArgs args)
|
||||
{
|
||||
Scroll = new Vector2((float)args.Delta.X, (float)args.Delta.Y);
|
||||
|
||||
_scrollStopTimer?.Stop();
|
||||
|
||||
_scrollStopTimer.Tick += (_, __) =>
|
||||
{
|
||||
_scrollStopTimer.Stop();
|
||||
|
||||
HandleScrollStopped();
|
||||
|
||||
};
|
||||
_scrollStopTimer.Start();
|
||||
}
|
||||
|
||||
private void Parent_PointerReleasedEvent(object o, PointerReleasedEventArgs args)
|
||||
|
@@ -301,6 +301,13 @@ namespace Ryujinx.Ava
|
||||
|
||||
internal static void PrintSystemInfo()
|
||||
{
|
||||
Logger.Notice.Print(LogClass.Application, " ___ __ _ ");
|
||||
Logger.Notice.Print(LogClass.Application, @" / _ \ __ __ __ __ / / (_) ___ ___ _");
|
||||
Logger.Notice.Print(LogClass.Application, @" / , _/ / // // // / / _ \ / / / _ \ / _ `/");
|
||||
Logger.Notice.Print(LogClass.Application, @"/_/|_| \_, / \_,_/ /_.__//_/ /_//_/ \_, / ");
|
||||
Logger.Notice.Print(LogClass.Application, " /___/ /___/ ");
|
||||
|
||||
|
||||
Logger.Notice.Print(LogClass.Application, $"{RyujinxApp.FullAppName} Version: {Version}");
|
||||
Logger.Notice.Print(LogClass.Application, $".NET Runtime: {RuntimeInformation.FrameworkDescription}");
|
||||
SystemInfo.Gather().Print();
|
||||
|
@@ -482,7 +482,10 @@ namespace Ryujinx.Ava.Systems
|
||||
|
||||
Dispatcher.UIThread.InvokeAsync(() =>
|
||||
{
|
||||
_viewModel.Title = TitleHelper.ActiveApplicationTitle(Device.Processes.ActiveApplication, Program.Version, !ConfigurationState.Instance.ShowOldUI);
|
||||
if (ConfigurationState.Instance.ShowOldUI)
|
||||
{
|
||||
_viewModel.Title = TitleHelper.ActiveApplicationTitle(Device.Processes.ActiveApplication, Program.Version, !ConfigurationState.Instance.ShowOldUI);
|
||||
}
|
||||
});
|
||||
|
||||
_viewModel.SetUiProgressHandlers(Device);
|
||||
@@ -902,7 +905,10 @@ namespace Ryujinx.Ava.Systems
|
||||
|
||||
_viewModel.IsPaused = false;
|
||||
_playTimer.Start();
|
||||
_viewModel.Title = TitleHelper.ActiveApplicationTitle(Device?.Processes.ActiveApplication, Program.Version, !ConfigurationState.Instance.ShowOldUI);
|
||||
if (ConfigurationState.Instance.ShowOldUI)
|
||||
{
|
||||
_viewModel.Title = TitleHelper.ActiveApplicationTitle(Device?.Processes.ActiveApplication, Program.Version, !ConfigurationState.Instance.ShowOldUI);
|
||||
}
|
||||
Logger.Info?.Print(LogClass.Emulation, "Emulation was resumed");
|
||||
}
|
||||
|
||||
@@ -912,7 +918,10 @@ namespace Ryujinx.Ava.Systems
|
||||
|
||||
_viewModel.IsPaused = true;
|
||||
_playTimer.Stop();
|
||||
_viewModel.Title = TitleHelper.ActiveApplicationTitle(Device?.Processes.ActiveApplication, Program.Version, !ConfigurationState.Instance.ShowOldUI, LocaleManager.Instance[LocaleKeys.Paused]);
|
||||
if (ConfigurationState.Instance.ShowOldUI)
|
||||
{
|
||||
_viewModel.Title = TitleHelper.ActiveApplicationTitle(Device?.Processes.ActiveApplication, Program.Version, !ConfigurationState.Instance.ShowOldUI, LocaleManager.Instance[LocaleKeys.Paused]);
|
||||
}
|
||||
Logger.Info?.Print(LogClass.Emulation, "Emulation was paused");
|
||||
}
|
||||
|
||||
|
@@ -15,11 +15,11 @@ namespace Ryujinx.Ava.UI.Helpers
|
||||
public object Convert(object value, Type _, object __, CultureInfo ___)
|
||||
=> value.Cast<LocaleKeys>() switch
|
||||
{
|
||||
LocaleKeys.CompatibilityListNothing or
|
||||
LocaleKeys.CompatibilityListBoots or
|
||||
LocaleKeys.CompatibilityListMenus => Brushes.Red,
|
||||
LocaleKeys.CompatibilityListIngame => Brushes.DarkOrange,
|
||||
_ => Brushes.ForestGreen
|
||||
LocaleKeys.CompatibilityListNothing => Brushes.DarkGray,
|
||||
LocaleKeys.CompatibilityListBoots => Brushes.Red,
|
||||
LocaleKeys.CompatibilityListMenus => Brushes.Tomato,
|
||||
LocaleKeys.CompatibilityListIngame => Brushes.Orange,
|
||||
_ => Brushes.LimeGreen
|
||||
};
|
||||
|
||||
public object ConvertBack(object value, Type _, object __, CultureInfo ___)
|
||||
|
@@ -47,13 +47,13 @@
|
||||
Glyph="{helpers:GlyphValueConverter Grid}" />
|
||||
</Button>
|
||||
<TextBlock
|
||||
Margin="10,0"
|
||||
Margin="10,0,5,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{ext:Locale IconSize}" />
|
||||
<controls:SliderScroll
|
||||
Width="150"
|
||||
Height="35"
|
||||
Margin="5,-10,5,0"
|
||||
Margin="5,-12,10,0"
|
||||
VerticalAlignment="Center"
|
||||
IsSnapToTickEnabled="True"
|
||||
SmallChange="1"
|
||||
@@ -62,11 +62,11 @@
|
||||
TickFrequency="1"
|
||||
Value="{Binding GridSizeScale}" />
|
||||
<CheckBox
|
||||
Margin="0"
|
||||
Margin="0,-2,0,0"
|
||||
VerticalAlignment="Center"
|
||||
IsChecked="{Binding ShowNames, Mode=TwoWay}"
|
||||
IsVisible="{Binding IsGrid}">
|
||||
<TextBlock Margin="5,3,0,0" Text="{ext:Locale CommonShowNames}" />
|
||||
<TextBlock Text="{ext:Locale CommonShowNames}" />
|
||||
</CheckBox>
|
||||
<TextBox
|
||||
Name="SearchBox"
|
||||
|
@@ -117,8 +117,9 @@
|
||||
<ToggleButton Name="TurboMode">
|
||||
<TextBlock Text="{Binding KeyboardHotkey.TurboMode, Converter={x:Static helpers:KeyValueConverter.Instance}}" />
|
||||
</ToggleButton>
|
||||
<TextBlock Text="{ext:Locale SettingsTabHotkeysOnlyWhilePressed}" Margin="10,0" />
|
||||
<CheckBox IsChecked="{Binding KeyboardHotkey.TurboModeWhileHeld}" />
|
||||
<CheckBox IsChecked="{Binding KeyboardHotkey.TurboModeWhileHeld}" Margin="10,0,0,0">
|
||||
<TextBlock Text="{ext:Locale SettingsTabHotkeysOnlyWhilePressed}" />
|
||||
</CheckBox>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
@@ -25,7 +25,12 @@
|
||||
Grid.Column="0"
|
||||
Margin="15, 0, 7, 0"
|
||||
ToolTip.Tip="{ext:WindowTitle CompatibilityListTitle, False}"/>
|
||||
<TextBox Name="SearchBoxFlush" Grid.Column="1" Margin="0, 5, 0, 5" HorizontalAlignment="Stretch" Watermark="{ext:Locale CompatibilityListSearchBoxWatermarkWithCount}" TextChanged="TextBox_OnTextChanged" />
|
||||
<TextBox Grid.Column="1"
|
||||
Name="SearchBoxFlush"
|
||||
Margin="0, 5, 0, 5"
|
||||
HorizontalAlignment="Stretch"
|
||||
Watermark="{ext:Locale CompatibilityListSearchBoxWatermarkWithCount}"
|
||||
TextChanged="TextBox_OnTextChanged"/>
|
||||
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="10, 5, 0, 5">
|
||||
<TextBlock
|
||||
Margin="10,0"
|
||||
@@ -88,14 +93,15 @@
|
||||
</DropDownButton.Flyout>
|
||||
</DropDownButton>
|
||||
</StackPanel>
|
||||
<CheckBox Grid.Column="3" Margin="7, 0, 0, 0" IsChecked="{Binding OnlyShowOwnedGames}" />
|
||||
<TextBlock Grid.Column="4" Padding="0, 0, 138, 0" Margin="-10, 0, 18, 0" Text="{ext:Locale CompatibilityListOnlyShowOwnedGames}" />
|
||||
<CheckBox Grid.Column="3" Margin="15, 0, 155, 0" IsChecked="{Binding OnlyShowOwnedGames}">
|
||||
<TextBlock Text="{ext:Locale CompatibilityListOnlyShowOwnedGames}" />
|
||||
</CheckBox>
|
||||
</Grid>
|
||||
|
||||
<!-- UI NormalControls -->
|
||||
<Grid Grid.Row="0" ColumnDefinitions="*,Auto,Auto,Auto" Name="NormalControls">
|
||||
<TextBox Name="SearchBoxNormal" Grid.Column="0" Margin="15, 0, 0, 5" HorizontalAlignment="Stretch" Watermark="{ext:Locale CompatibilityListSearchBoxWatermarkWithCount}" TextChanged="TextBox_OnTextChanged" />
|
||||
<StackPanel Grid.Column="1" Orientation="Horizontal" Margin="10, 0, 5, 5">
|
||||
<TextBox Name="SearchBoxNormal" Grid.Column="0" Margin="15, 5, 0, 5" HorizontalAlignment="Stretch" Watermark="{ext:Locale CompatibilityListSearchBoxWatermarkWithCount}" TextChanged="TextBox_OnTextChanged" />
|
||||
<StackPanel Grid.Column="1" Orientation="Horizontal" Margin="10, 5, 5, 5">
|
||||
<TextBlock
|
||||
Margin="10,0"
|
||||
HorizontalAlignment="Right"
|
||||
@@ -157,8 +163,9 @@
|
||||
</DropDownButton.Flyout>
|
||||
</DropDownButton>
|
||||
</StackPanel>
|
||||
<CheckBox Grid.Column="2" Margin="7, 0, 0, 0" IsChecked="{Binding OnlyShowOwnedGames}" />
|
||||
<TextBlock Grid.Column="3" Padding="0, 0, 1, 0" Margin="-10, 0, 18, 0" Text="{ext:Locale CompatibilityListOnlyShowOwnedGames}" />
|
||||
<CheckBox Grid.Column="2" Margin="20, 0, 50, 0" IsChecked="{Binding OnlyShowOwnedGames}">
|
||||
<TextBlock Text="{ext:Locale CompatibilityListOnlyShowOwnedGames}" />
|
||||
</CheckBox>
|
||||
</Grid>
|
||||
|
||||
<!-- Description Field Above ScrollViewer -->
|
||||
@@ -206,15 +213,11 @@
|
||||
Height="35"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Content="Info"
|
||||
Content="{ext:Locale CompatibilityListStats}"
|
||||
DockPanel.Dock="Right">
|
||||
<DropDownButton.Flyout>
|
||||
<Flyout Placement="Bottom">
|
||||
<StackPanel>
|
||||
<TextBlock
|
||||
HorizontalAlignment="Left"
|
||||
Padding="0,5"
|
||||
Text="Compatibility verified:" />
|
||||
<TextBlock
|
||||
HorizontalAlignment="Left"
|
||||
Foreground="{Binding IsStringPlayable, Converter={x:Static helpers:PlayabilityStatusConverter.Shared}}"
|
||||
|
@@ -128,8 +128,9 @@
|
||||
Margin="10"
|
||||
Content="{ext:Locale SettingsButtonReset}"
|
||||
Command="{Binding ResetButton}" />
|
||||
<CheckBox IsChecked="{Binding WantsToReset}"/>
|
||||
<TextBlock Text="{ext:Locale SettingsButtonResetConfirm}"/>
|
||||
<CheckBox IsChecked="{Binding WantsToReset}">
|
||||
<TextBlock Text="{ext:Locale SettingsButtonResetConfirm}" />
|
||||
</CheckBox>
|
||||
</StackPanel>
|
||||
<ReversibleStackPanel
|
||||
Grid.Column="2"
|
||||
|
Reference in New Issue
Block a user