Example #1
0
        static public XPARTY_USER_LIST GetPartyUserList(XDevkit.IXboxConsole xbc)
        {
            ((XDevkit.IXboxConsole)xbc).CallSysFunction(xbc.abcdresfunctxrpc("xam.xex", 0xaff), 1, Addresses.g_freememory + 0x80);

            byte[]           data = ((XDevkit.IXboxConsole)xbc).getMemory(Addresses.g_freememory + 0x80, 2024);
            IntPtr           ptr  = Marshal.UnsafeAddrOfPinnedArrayElement(data, 0);
            XPARTY_USER_LIST user = (XPARTY_USER_LIST)Marshal.PtrToStructure(ptr, typeof(XPARTY_USER_LIST));

            return(user);
        }
Example #2
0
        static public void GetPartyMembers(XDevkit.IXboxConsole xbc)
        {
            XPARTY_USER_LIST partyUserList = GetPartyUserList(xbc);
            int Count = pUtil.Bitswap32(partyUserList.dwUserCount);

            if (Count > 8)
            {
                return;
            }

            PartyUsersCount = Count;
            for (int i = 0; i < Count; i++)
            {
                byte[] destinationArray = new byte[120];
                Array.Copy(partyUserList.Users, i * 120, destinationArray, 0, destinationArray.Length);
                XPARTY_USER_INFO xparty_user_info = new XPARTY_USER_INFO();
                XDRPCStructArgumentInfo <XPARTY_USER_INFO> info2 = new XDRPCStructArgumentInfo <XPARTY_USER_INFO>(xparty_user_info, ArgumentType.Out);
                info2.UnpackBufferData(destinationArray);

                ListGamerTags[i] = info2.Value.GamerTag;
                ListSXuid[i]     = info2.Value.Xuid.ToString("X16");
                ListLXuid[i]     = info2.Value.Xuid;
            }
        }