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:
@ -4,15 +4,15 @@ namespace Ryujinx.HLE.HOS.Ipc
|
||||
{
|
||||
struct IpcBuffDesc
|
||||
{
|
||||
public long Position { get; private set; }
|
||||
public long Size { get; private set; }
|
||||
public int Flags { get; private set; }
|
||||
public ulong Position { get; private set; }
|
||||
public ulong Size { get; private set; }
|
||||
public byte Flags { get; private set; }
|
||||
|
||||
public IpcBuffDesc(BinaryReader reader)
|
||||
{
|
||||
long word0 = reader.ReadUInt32();
|
||||
long word1 = reader.ReadUInt32();
|
||||
long word2 = reader.ReadUInt32();
|
||||
ulong word0 = reader.ReadUInt32();
|
||||
ulong word1 = reader.ReadUInt32();
|
||||
ulong word2 = reader.ReadUInt32();
|
||||
|
||||
Position = word1;
|
||||
Position |= (word2 << 4) & 0x0f00000000;
|
||||
@ -21,7 +21,7 @@ namespace Ryujinx.HLE.HOS.Ipc
|
||||
Size = word0;
|
||||
Size |= (word2 << 8) & 0xf00000000;
|
||||
|
||||
Flags = (int)word2 & 3;
|
||||
Flags = (byte)(word2 & 3);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user