HLE: Fix integer sign inconcistency accross the codebase (#2222)
* Make all title id instances unsigned * Replace address and size with ulong instead of signed types Long overdue change. Also change some logics here and there to optimize with the new memory manager. * Address Ac_K's comments * Remove uneeded cast all around * Fixes some others misalignment
This commit is contained in:
parent
c46f6879ff
commit
305f06eb71
73 changed files with 707 additions and 716 deletions
|
@ -87,7 +87,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl
|
|||
|
||||
for (SharedFontType type = 0; type < SharedFontType.Count; type++)
|
||||
{
|
||||
int offset = (int)type * 4;
|
||||
uint offset = (uint)type * 4;
|
||||
|
||||
if (!AddFontToOrderOfPriorityList(context, type, offset))
|
||||
{
|
||||
|
@ -103,27 +103,27 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl
|
|||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
private bool AddFontToOrderOfPriorityList(ServiceCtx context, SharedFontType fontType, int offset)
|
||||
private bool AddFontToOrderOfPriorityList(ServiceCtx context, SharedFontType fontType, uint offset)
|
||||
{
|
||||
long typesPosition = context.Request.ReceiveBuff[0].Position;
|
||||
long typesSize = context.Request.ReceiveBuff[0].Size;
|
||||
ulong typesPosition = context.Request.ReceiveBuff[0].Position;
|
||||
ulong typesSize = context.Request.ReceiveBuff[0].Size;
|
||||
|
||||
long offsetsPosition = context.Request.ReceiveBuff[1].Position;
|
||||
long offsetsSize = context.Request.ReceiveBuff[1].Size;
|
||||
ulong offsetsPosition = context.Request.ReceiveBuff[1].Position;
|
||||
ulong offsetsSize = context.Request.ReceiveBuff[1].Size;
|
||||
|
||||
long fontSizeBufferPosition = context.Request.ReceiveBuff[2].Position;
|
||||
long fontSizeBufferSize = context.Request.ReceiveBuff[2].Size;
|
||||
ulong fontSizeBufferPosition = context.Request.ReceiveBuff[2].Position;
|
||||
ulong fontSizeBufferSize = context.Request.ReceiveBuff[2].Size;
|
||||
|
||||
if ((uint)offset + 4 > (uint)typesSize ||
|
||||
(uint)offset + 4 > (uint)offsetsSize ||
|
||||
(uint)offset + 4 > (uint)fontSizeBufferSize)
|
||||
if (offset + 4 > (uint)typesSize ||
|
||||
offset + 4 > (uint)offsetsSize ||
|
||||
offset + 4 > (uint)fontSizeBufferSize)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
context.Memory.Write((ulong)(typesPosition + offset), (int)fontType);
|
||||
context.Memory.Write((ulong)(offsetsPosition + offset), context.Device.System.Font.GetSharedMemoryAddressOffset(fontType));
|
||||
context.Memory.Write((ulong)(fontSizeBufferPosition + offset), context.Device.System.Font.GetFontSize(fontType));
|
||||
context.Memory.Write(typesPosition + offset, (int)fontType);
|
||||
context.Memory.Write(offsetsPosition + offset, context.Device.System.Font.GetSharedMemoryAddressOffset(fontType));
|
||||
context.Memory.Write(fontSizeBufferPosition + offset, context.Device.System.Font.GetFontSize(fontType));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue