ACT Services: Difference between revisions

TimmSkiller (talk | contribs)
add all command names for act:u
TimmSkiller (talk | contribs)
complete DataBlocks documentation
Line 316: Line 316:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
!  BlkID
!  BlkID !!  Size !!  Command needed !!  Description
!  Size
!  Command needed
!  Description
|-
|-
| 0x1
| 0x1 || 0x1 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Number of accounts
| 0x1
| [[ACTU:GetCommonInfo|GetCommonInfo]]
| Number of accounts
|-
|-
| 0x2
| 0x2 || 0x1 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Current account slot
| 0x1
| [[ACTU:GetCommonInfo|GetCommonInfo]]
| Current account slot
|-
|-
| 0x3
| 0x3 || 0x1 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Default account slot
| 0x1
| [[ACTU:GetCommonInfo|GetCommonInfo]]
| Default account slot
|-
|-
| 0x4
| 0x4 || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Difference betwwen server time and device time (in nanoseconds)
| 0x8
| [[ACTU:GetCommonInfo|GetCommonInfo]]
| ?
|-
|-
| 0x5
| 0x5 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || PersistentId
| 0x4
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| PersistentId
|-
|-
| 0x6
| 0x6 || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]]/[[ACTU:GetAccountDataBlock|GetAccountInfo]] || CommonTransferableIdBase on GetCommonInfo / TransferableIdBase on GetAccountInfo
| 0x8
| [[ACTU:GetCommonInfo|GetCommonInfo]]/[[ACTU:GetAccountDataBlock|GetAccountInfo]]
| CommonTransferableIdBase on GetCommonInfo / TransferableIdBase on GetAccountInfo
|-
|-
| 0x7
| 0x7 || 0x60 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || [[Mii#Mii_format|MiiData]]
| 0x60
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| [[Mii#Mii_format|MiiData]]
|-
|-
| 0x8
| 0x8 || 0x11 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || AccountId (ASCII NULL-terminated Nintendo Network ID)
| 0x11
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| AccountId (ASCII NUL-terminated Nintendo Network ID)
|-
|-
| 0x9
| 0x9 || 0x101 || [[ACTU:AcquireAccountInfo|AcquireAccountInfo]] || Mail address
| 0x101
| AcquireAccountInfo
| Mail address
|-
|-
| 0xA
| 0xA || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Birthdate
| 0x4
{| class="wikitable" border="1"
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| Birthday {u16 year; u8 month; u8 day;}
|-
|-
| 0xB
! Offset !! Size !! Description
| 0x3
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| ASCII NUL-terminated Country Name
|-
|-
| 0xC
| 0x0 || 0x2 || Year
| 0x4
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| PrincipalId
|-
|-
| 0xE
| 0x2 || 0x1 || Month
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| IsPasswordCacheEnabled
|-
|-
| 0xF
| 0x3 || 0x1 || Day
| 0x1
|}
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| Does nothing?
|-
|-
| 0x11
| 0xB || 0x3 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ASCII NULL-terminated Country Name
| 0xA0
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| struct{u32 PersistentID; u32 padding; u64 TransferableIDBase; u8[0x60] MiiData; char16_t[0xB] MachinUserName?; char[0x11] AccountID; u8 padding; struct{u16 year; u8 month; u8 day;}Birthday; u32 PrincipalID;}
|-
|-
| 0x12
| 0xC || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || PrincipalId
| 0x4
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| ?
|-
|-
| 0x13
| 0xE || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsPasswordCacheEnabled
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| Gender
|-
|-
| 0x14
| 0xF || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Does not return anything.
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| LastAuthenticationResult
|-
|-
| 0x15
| 0x11 || 0xA0 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] ||
| 0x11
{| class="wikitable" border="1"
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| AssignedAccountId (ASCII NUL-terminated Nintendo Network ID)
|-
|-
| 0x16
! Offset !! Size !! Description
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| ParentalControlSlotNo
|-
|-
| 0x17
| 0x0 || 0x4 || u32 PersistentID
| 0x4
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| SimpleAddressId ([[Config_Savegame#CountryInfo|CountryInfo]])
|-
|-
| 0x19
| 0x4 || 0x4 || padding
| 0x8
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| UtcOffset
|-
|-
| 0x1A
| 0x8 || 0x8 || u64 TransferableIDBase
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| IsCommited
|-
|-
| 0x1B
| 0x10 || 0x60 || [[Mii#Mii_format|Mii]]
| 0x16
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| MiiName (NUL-terminated UTF-16 Mii name)
|-
|-
| 0x1C
| 0x70 || (10 + 1) * 2 || 10-character UTF-16 Mii Display Name
| 0x11
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| NfsPassword
|-
|-
| 0x1D
| 0x86 || 0x11 || ASCII NULL-terminated NNID Account ID (username)
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| Bool: if EciVirtualAccount has a value
|-
|-
| 0x1E
| 0x97 || 1 || padding
| 0x41
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| TimeZoneId (ASCII Time Zone Location)
|-
|-
| 0x1F
| 0x98 || 0x4 || Birthdate
| 0x1
{| class="wikitable" border="1"
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| IsMiiUpdated
|-
|-
| 0x20
! Offset !! Size !! Description
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| IsMailAddressValidated
|-
|-
| 0x21
| 0x0 || 0x2 || Year
| 0x4C
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| ?
|-
|-
| 0x24
| 0x2 || 0x1 || Month
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| IsServerAccountDeleted
|-
|-
| 0x25
| 0x3 || 0x1 || Day
| 0x101
|}
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| MiiImageUrl (ASCII NUL-terminated URL to account mii image)
|-
|-
| 0x26
| 0x9C || 0x4 || u32, PrincipalID
| 0x4
|}
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| AssignedPrincipalId
|-
|-
| 0x27
| 0x12 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] ||
| 0x4
{| class="wikitable" border="1"
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| ? (Only accessible with param[1] = 0xFE)
|-
|-
| 0x28
! Offset !! Size !! Description
| 0x24
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| struct{char[0x21] NnasSubDomain?; char[0x3] NnasNfsEnv;}
|-
|-
| 0x29
| 0x0 || 0x1 || NNAS (Nintendo Network Authentication Server) Type
| 0x24
| [[ACTU:GetCommonInfo|GetCommonInfo]]
| struct{char[0x21] DefaultNnasSubDomain?; char[0x3] DefaultNnasNfsEnv;}
|-
|-
| 0x2A
| 0x1 || 0x1 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Type Value]]
| 0x8
| [[ACTU:GetCommonInfo|GetCommonInfo]]
| ?
|-
|-
| 0x2B
| 0x2 || 0x1 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Number]]
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| FpLocalAccountId
|-
|-
| 0x2C
| 0x3 || 0x1 || padding (0)
| 0x2
|}
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| Age
|-
|-
| 0x2D
| 0x13 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Gender
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| IsEnabledReceiveAds
|-
|-
| 0x2E
| 0x14 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || LastAuthenticationResult
| 0x1
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| IsOffDeviceAccessEnabled
|-
|-
| 0x2F
| 0x15 || 0x11 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || AssignedAccountId (ASCII NULL-terminated Nintendo Network ID)
| 0x4
|-
| [[ACTU:GetAccountDataBlock|GetAccountInfo]]
| 0x16 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ParentalControlSlotNo
| [[Cfg:TranslateCountryInfo|Translated]] SimpleAddressId ([[Config_Savegame#CountryInfo|CountryInfo]])
|-
| 0x17 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || SimpleAddressId ([[Config_Savegame#CountryInfo|CountryInfo]])
|-
| 0x19 || 0x8 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || UtcOffset
|-
| 0x1A || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsCommited
|-
| 0x1B || 0x16 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || 10-character UTF-16 Mii Name (10 characters + NULL termination)
|-
| 0x1C || 0x11 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ASCII NULL-termiinated NfsPassword
|-
| 0x1D || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || HasEciVirtualAccount (checks whether EciVirtualAccount has a value)
|-
| 0x1E || 0x41 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || TimeZoneId (ASCII Time Zone Location)
|-
| 0x1F || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsMiiUpdated
|-
| 0x20 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsMailAddressValidated
|-
| 0x21 || 0x4C || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || (Developer units only) Account access token
{| class="wikitable" border="1"
|-
! Offset !! Size !! Description
|-
| 0x0 || 0x1 || Access token state (0: uninitialized, 1: expired, 2: valid)
|-
| 0x1 || 0x21 || ASCII NULL-terminated access token
|-
| 0x22 || 0x29 || ASCII NULL-terminated refresh token
|}
|-
| 0x24 || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsServerAccountDeleted
|-
| 0x25 || 0x101 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || MiiImageUrl (ASCII NULL-terminated URL to account mii image)
|-
| 0x26 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || AssignedPrincipalId
|-
| 0x27 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Account Access token state, only accessible with account slot = 0xFE: (0: uninitialized, 1: expired, 2: valid)
|-
| 0x28 || 0x24 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Account server environment
{| class="wikitable" border="1"
|-
! Offset !! Size !! Description
|-
| 0x0 || 0x21 || ASCII NULL-terminated NNAS subdomain
|-
| 0x21 || 0x3 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Environment]]
|}
|-
| 0x29 || 0x24 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Server environment of default account
{| class="wikitable" border="1"
|-
! Offset !! Size !! Description
|-
| 0x0 || 0x21 || ASCII NULL-terminated NNAS subdomain
|-
| 0x21 || 0x3 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Environment]]
|}
|-
| 0x2A || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]] || first 8 bytes of <code>SHA256 ( [[AM:GetDeviceId]]() as 4 little endian bytes + 'A2257354' )</code>
|-
| 0x2B || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || FpLocalAccountId (local account ID of [[Friend_Services|friends sysmodule]])
|-
| 0x2C || 0x2 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Age (calculated using server time, not device time)
|-
| 0x2D || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsEnabledReceiveAds
|-
| 0x2E || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsOffDeviceAccessEnabled
|-
| 0x2F || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || [[Cfg:TranslateCountryInfo|Translated]] SimpleAddressId ([[Config_Savegame#CountryInfo|CountryInfo]])
|}
|}