Compare commits
2 Commits
Canary-1.2
...
ae1fea3597
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae1fea3597 | ||
|
|
cbd851d00e |
@@ -8,10 +8,10 @@ namespace Ryujinx.Common
|
||||
public static class StreamExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Writes a <see cref="ReadOnlySpan{int}" /> to this stream.
|
||||
/// Writes an int span to this stream.
|
||||
///
|
||||
/// This default implementation converts each buffer value to a stack-allocated
|
||||
/// byte array, then writes it to the Stream using <cref="System.Stream.Write(byte[])" />.
|
||||
/// byte array, then writes it to the Stream using <see cref="Stream.Write(ReadOnlySpan{byte})" />.
|
||||
/// </summary>
|
||||
/// <param name="stream">The stream to be written to</param>
|
||||
/// <param name="buffer">The buffer of values to be written</param>
|
||||
|
||||
@@ -8,20 +8,7 @@ namespace Ryujinx.Common
|
||||
{
|
||||
public static class TitleIDs
|
||||
{
|
||||
private static string _currentApplication;
|
||||
|
||||
public static Optional<string> CurrentApplication
|
||||
{
|
||||
get => _currentApplication;
|
||||
set
|
||||
{
|
||||
_currentApplication = value.OrElse(null);
|
||||
|
||||
CurrentApplicationChanged?.Invoke(_currentApplication);
|
||||
}
|
||||
}
|
||||
|
||||
public static event Action<Optional<string>> CurrentApplicationChanged;
|
||||
public static ReactiveObject<Optional<string>> CurrentApplication { get; set; } = new();
|
||||
|
||||
public static GraphicsBackend SelectGraphicsBackend(string titleId, GraphicsBackend currentBackend)
|
||||
{
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
|
||||
using var region = context.Memory.GetWritableRegion(bufferAddress, (int)bufferLen, true);
|
||||
Result result = _baseStorage.Get.Read((long)offset, new OutBuffer(region.Memory.Span), (long)size);
|
||||
|
||||
if (context.Device.DirtyHacks.HasFlag(DirtyHacks.Xc2MenuSoftlockFix) && TitleIDs.CurrentApplication == Xc2TitleId)
|
||||
if (context.Device.DirtyHacks.HasFlag(DirtyHacks.Xc2MenuSoftlockFix) && TitleIDs.CurrentApplication.Value == Xc2TitleId)
|
||||
{
|
||||
// Add a load-bearing sleep to avoid XC2 softlock
|
||||
// https://web.archive.org/web/20240728045136/https://github.com/Ryujinx/Ryujinx/issues/2357
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace Ryujinx.HLE.Loaders.Processes
|
||||
{
|
||||
_latestPid = processResult.ProcessId;
|
||||
|
||||
TitleIDs.CurrentApplication = processResult.ProgramIdText;
|
||||
TitleIDs.CurrentApplication.Value = processResult.ProgramIdText;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -90,7 +90,7 @@ namespace Ryujinx.HLE.Loaders.Processes
|
||||
{
|
||||
_latestPid = processResult.ProcessId;
|
||||
|
||||
TitleIDs.CurrentApplication = processResult.ProgramIdText;
|
||||
TitleIDs.CurrentApplication.Value = processResult.ProgramIdText;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -120,7 +120,7 @@ namespace Ryujinx.HLE.Loaders.Processes
|
||||
{
|
||||
_latestPid = processResult.ProcessId;
|
||||
|
||||
TitleIDs.CurrentApplication = processResult.ProgramIdText;
|
||||
TitleIDs.CurrentApplication.Value = processResult.ProgramIdText;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -140,7 +140,7 @@ namespace Ryujinx.HLE.Loaders.Processes
|
||||
{
|
||||
_latestPid = processResult.ProcessId;
|
||||
|
||||
TitleIDs.CurrentApplication = processResult.ProgramIdText;
|
||||
TitleIDs.CurrentApplication.Value = processResult.ProgramIdText;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -193,17 +193,17 @@ namespace Ryujinx.HLE.Loaders.Processes
|
||||
if (nacpData.Value.PresenceGroupId != 0)
|
||||
{
|
||||
programId = nacpData.Value.PresenceGroupId;
|
||||
TitleIDs.CurrentApplication = programId.ToString("X16");
|
||||
TitleIDs.CurrentApplication.Value = programId.ToString("X16");
|
||||
}
|
||||
else if (nacpData.Value.SaveDataOwnerId != 0)
|
||||
{
|
||||
programId = nacpData.Value.SaveDataOwnerId;
|
||||
TitleIDs.CurrentApplication = programId.ToString("X16");
|
||||
TitleIDs.CurrentApplication.Value = programId.ToString("X16");
|
||||
}
|
||||
else if (nacpData.Value.AddOnContentBaseId != 0)
|
||||
{
|
||||
programId = nacpData.Value.AddOnContentBaseId - 0x1000;
|
||||
TitleIDs.CurrentApplication = programId.ToString("X16");
|
||||
TitleIDs.CurrentApplication.Value = programId.ToString("X16");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ namespace Ryujinx.HLE
|
||||
FileSystem.Dispose();
|
||||
Memory.Dispose();
|
||||
|
||||
TitleIDs.CurrentApplication = null;
|
||||
TitleIDs.CurrentApplication.Value = null;
|
||||
Shared = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,13 +45,13 @@ namespace Ryujinx.UI.Common
|
||||
};
|
||||
|
||||
ConfigurationState.Instance.EnableDiscordIntegration.Event += Update;
|
||||
TitleIDs.CurrentApplicationChanged += titleId =>
|
||||
TitleIDs.CurrentApplication.Event += (_, e) =>
|
||||
{
|
||||
if (titleId)
|
||||
if (e.NewValue)
|
||||
SwitchToPlayingState(
|
||||
ApplicationLibrary.LoadAndSaveMetaData(titleId),
|
||||
ApplicationLibrary.LoadAndSaveMetaData(e.NewValue),
|
||||
Switch.Shared.Processes.ActiveApplication
|
||||
);
|
||||
);
|
||||
else
|
||||
SwitchToMainState();
|
||||
};
|
||||
|
||||
@@ -1234,7 +1234,7 @@
|
||||
"he_IL": "",
|
||||
"it_IT": "",
|
||||
"ja_JP": "",
|
||||
"ko_KR": "",
|
||||
"ko_KR": "자주 묻는 질문(FAQ) 및 안내",
|
||||
"no_NO": "",
|
||||
"pl_PL": "",
|
||||
"pt_BR": "",
|
||||
@@ -2609,7 +2609,7 @@
|
||||
"he_IL": "",
|
||||
"it_IT": "",
|
||||
"ja_JP": "",
|
||||
"ko_KR": "",
|
||||
"ko_KR": "펌웨어 버전 : {0}",
|
||||
"no_NO": "",
|
||||
"pl_PL": "",
|
||||
"pt_BR": "Versão do firmware: {0}",
|
||||
@@ -4009,7 +4009,7 @@
|
||||
"he_IL": "",
|
||||
"it_IT": "",
|
||||
"ja_JP": "",
|
||||
"ko_KR": "",
|
||||
"ko_KR": "PC 날짜와 시간에 동기화",
|
||||
"no_NO": "",
|
||||
"pl_PL": "",
|
||||
"pt_BR": "",
|
||||
@@ -15259,7 +15259,7 @@
|
||||
"he_IL": "",
|
||||
"it_IT": "",
|
||||
"ja_JP": "",
|
||||
"ko_KR": "",
|
||||
"ko_KR": "시스템 시간을 PC의 현재 날짜 및 시간과 일치하도록 다시 동기화합니다.\n\n이 설정은 활성 설정이 아니므로 여전히 동기화되지 않을 수 있으며, 이 경우 이 버튼을 다시 클릭하면 됩니다.",
|
||||
"no_NO": "",
|
||||
"pl_PL": "",
|
||||
"pt_BR": "",
|
||||
@@ -20509,7 +20509,7 @@
|
||||
"he_IL": "",
|
||||
"it_IT": "",
|
||||
"ja_JP": "",
|
||||
"ko_KR": "",
|
||||
"ko_KR": "자동",
|
||||
"no_NO": "",
|
||||
"pl_PL": "",
|
||||
"pt_BR": "",
|
||||
@@ -20534,7 +20534,7 @@
|
||||
"he_IL": "",
|
||||
"it_IT": "",
|
||||
"ja_JP": "",
|
||||
"ko_KR": "",
|
||||
"ko_KR": "Vulkan을 사용합니다.\nARM 맥에서 해당 플랫폼에서 잘 실행되는 게임을 플레이하는 경우 Metal 후단부를 사용합니다.",
|
||||
"no_NO": "",
|
||||
"pl_PL": "",
|
||||
"pt_BR": "",
|
||||
|
||||
Reference in New Issue
Block a user