Compare commits

..

2 Commits

Author SHA1 Message Date
MetrosexualGarbodor
90432946ac Avalonia - Display language names in their corresponding language under "Change Language" (#3490)
* change languages to their native names

* fix Chinese language names

* Update MainWindow.axaml
2022-08-26 19:12:11 +02:00
Mary-nyan
9bad71afbf bsd: Fix Poll writting in input buffer (#3630)
This is a very old oversight on our Poll implementation.
This worked so far reliably because games and homebrews pass the same
buffer as input and output.
2022-08-26 18:10:45 +02:00
2 changed files with 34 additions and 33 deletions

View File

@@ -131,56 +131,56 @@
<MenuItem Header="{locale:Locale MenuBarOptionsChangeLanguage}"> <MenuItem Header="{locale:Locale MenuBarOptionsChangeLanguage}">
<MenuItem <MenuItem
Command="{ReflectionBinding ChangeLanguage}" Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="en_US" CommandParameter="de_DE"
Header="American English" /> Header="Deutsch" />
<MenuItem <MenuItem
Command="{ReflectionBinding ChangeLanguage}" Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="pt_BR" CommandParameter="en_US"
Header="Brazilian Portuguese" /> Header="English (US)" />
<MenuItem <MenuItem
Command="{ReflectionBinding ChangeLanguage}" Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="es_ES" CommandParameter="es_ES"
Header="Castilian Spanish" /> Header="Español (ES)" />
<MenuItem <MenuItem
Command="{ReflectionBinding ChangeLanguage}" Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="fr_FR" CommandParameter="fr_FR"
Header="French" /> Header="Français" />
<MenuItem
Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="de_DE"
Header="German" />
<MenuItem
Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="el_GR"
Header="Greek" />
<MenuItem <MenuItem
Command="{ReflectionBinding ChangeLanguage}" Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="it_IT" CommandParameter="it_IT"
Header="Italian" /> Header="Italiano" />
<MenuItem <MenuItem
Command="{ReflectionBinding ChangeLanguage}" Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="ja_JP" CommandParameter="pt_BR"
Header="Japanese" /> Header="Português (BR)" />
<MenuItem
Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="ko_KR"
Header="Korean" />
<MenuItem
Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="ru_RU"
Header="Russian" />
<MenuItem <MenuItem
Command="{ReflectionBinding ChangeLanguage}" Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="tr_TR" CommandParameter="tr_TR"
Header="Turkish" /> Header="Türkçe" />
<MenuItem
Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="el_GR"
Header="Ελληνικά" />
<MenuItem
Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="ru_RU"
Header="Русский" />
<MenuItem <MenuItem
Command="{ReflectionBinding ChangeLanguage}" Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="zh_CN" CommandParameter="zh_CN"
Header="Simplified Chinese" /> Header="简体中文" />
<MenuItem <MenuItem
Command="{ReflectionBinding ChangeLanguage}" Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="zh_TW" CommandParameter="zh_TW"
Header="Traditional Chinese (Taiwan)" /> Header="繁體中文" />
<MenuItem
Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="ja_JP"
Header="日本語" />
<MenuItem
Command="{ReflectionBinding ChangeLanguage}"
CommandParameter="ko_KR"
Header="한국어" />
</MenuItem> </MenuItem>
<Separator /> <Separator />
<MenuItem <MenuItem

View File

@@ -219,9 +219,10 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
int fdsCount = context.RequestData.ReadInt32(); int fdsCount = context.RequestData.ReadInt32();
int timeout = context.RequestData.ReadInt32(); int timeout = context.RequestData.ReadInt32();
(ulong bufferPosition, ulong bufferSize) = context.Request.GetBufferType0x21(); (ulong inputBufferPosition, ulong inputBufferSize) = context.Request.GetBufferType0x21();
(ulong outputBufferPosition, ulong outputBufferSize) = context.Request.GetBufferType0x22();
if (timeout < -1 || fdsCount < 0 || (ulong)(fdsCount * 8) > bufferSize) if (timeout < -1 || fdsCount < 0 || (ulong)(fdsCount * 8) > inputBufferSize)
{ {
return WriteBsdResult(context, -1, LinuxError.EINVAL); return WriteBsdResult(context, -1, LinuxError.EINVAL);
} }
@@ -230,7 +231,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
for (int i = 0; i < fdsCount; i++) for (int i = 0; i < fdsCount; i++)
{ {
PollEventData pollEventData = context.Memory.Read<PollEventData>(bufferPosition + (ulong)(i * Unsafe.SizeOf<PollEventData>())); PollEventData pollEventData = context.Memory.Read<PollEventData>(inputBufferPosition + (ulong)(i * Unsafe.SizeOf<PollEventData>()));
IFileDescriptor fileDescriptor = _context.RetrieveFileDescriptor(pollEventData.SocketFd); IFileDescriptor fileDescriptor = _context.RetrieveFileDescriptor(pollEventData.SocketFd);
@@ -277,7 +278,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
{ {
bool IsUnexpectedLinuxError(LinuxError error) bool IsUnexpectedLinuxError(LinuxError error)
{ {
return errno != LinuxError.SUCCESS && errno != LinuxError.ETIMEDOUT; return error != LinuxError.SUCCESS && error != LinuxError.ETIMEDOUT;
} }
// Hybrid approach // Hybrid approach
@@ -332,7 +333,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
// TODO: Spanify // TODO: Spanify
for (int i = 0; i < fdsCount; i++) for (int i = 0; i < fdsCount; i++)
{ {
context.Memory.Write(bufferPosition + (ulong)(i * Unsafe.SizeOf<PollEventData>()), events[i].Data); context.Memory.Write(outputBufferPosition + (ulong)(i * Unsafe.SizeOf<PollEventData>()), events[i].Data);
} }
return WriteBsdResult(context, updateCount, errno); return WriteBsdResult(context, updateCount, errno);