NACP: Difference between revisions

PlayLogPolicy: Moving to sdb page.
No edit summary
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This is '''control.nacp'''.
This is '''control.nacp''', "nn::ns::ApplicationControlProperty".


Roughly equivalent to non-gfx areas of 3DS SMDH. All strings for language-entries are UTF-8, unlike SMDH which uses UTF-16.
Roughly equivalent to non-gfx areas of 3DS SMDH. All strings for language-entries are UTF-8, unlike SMDH which uses UTF-16.
Line 13: Line 13:
|-
|-
| 0x0
| 0x0
| 0x3000 (0x300*0x10)
| 0x3000 (0x300 * 16)
| [[#Title Entry|Title entries]]
| [[#ApplicationTitle|Title]]
|-
|-
| 0x3000
| 0x3000
Line 34: Line 34:
| 0x3028
| 0x3028
| 0x4
| 0x4
| ApplicationAttribute
| AttributeFlag
|-
|-
| 0x302C
| 0x302C
| 0x4
| 0x4
| SupportedLanguages
| SupportedLanguageFlag
|-
|-
| 0x3030
| 0x3030
| 0x4
| 0x4
| ParentalControl
| ParentalControlFlag
|-
|-
| 0x3034
| 0x3034
Line 50: Line 50:
| 0x3035
| 0x3035
| 0x1
| 0x1
| [[#VideoCaptureMode]]
| [[#VideoCapture]]
|-
|-
| 0x3036
| 0x3036
Line 105: Line 105:
|-
|-
| 0x30B0
| 0x30B0
| 0x40 (0x8*0x8)
| 0x40 (0x8 * 8)
| LocalCommunicationIds
| LocalCommunicationId
|-
|-
| 0x30F0
| 0x30F0
Line 121: Line 121:
|-
|-
| 0x30F3
| 0x30F3
| 0x3
| 0x1
| RuntimeParameterDelivery
|-
| 0x30F4
| 0x1
| AppropriateAgeForChina
|-
| 0x30F5
| 0x1
| Reserved
| Reserved
|-
|-
Line 142: Line 150:
| 0x3141
| 0x3141
| 0x1
| 0x1
| Reserved
| StartupUserAccountOption
|-
|-
| 0x3142
| 0x3142
| 0x6
| 0x6
| Reserved
| ReservedForUserAccountSaveDataOperation
|-
|-
| 0x3148
| 0x3148
| 0x8
| 0x8
| UserAccountSaveDataMaxSize
| UserAccountSaveDataSizeMax
|-
|-
| 0x3150
| 0x3150
| 0x8
| 0x8
| UserAccountSaveDataMaxJournalSize
| UserAccountSaveDataJournalSizeMax
|-
|-
| 0x3158
| 0x3158
| 0x8
| 0x8
| DeviceSaveDataMaxSize
| DeviceSaveDataSizeMax
|-
|-
| 0x3160
| 0x3160
| 0x8
| 0x8
| DeviceSaveDataMaxJournalSize
| DeviceSaveDataJournalSizeMax
|-
|-
| 0x3168
| 0x3168
Line 178: Line 186:
| 0x3180
| 0x3180
| 0x8
| 0x8
| CacheStorageMaxSizeAndMaxJournalSize
| CacheStorageDataAndJournalSizeMax
|-
|-
| 0x3188
| 0x3188
| 0x8
| 0x2
| CacheStorageMaxIndex
| CacheStorageIndexMax
|-
| 0x318A
| 0x1
| Reserved
|-
| 0x318B
| 0x1
| RuntimeUpgrade
|-
| 0x318C
| 0x4
| SupportingLimitedApplicationLicenses
|-
|-
| 0x3190
| 0x3190
| 0x80 (0x8*0x10)
| 0x80 (0x8 * 16)
| PlayLogQueryableApplicationId
| PlayLogQueryableApplicationId
|-
|-
Line 205: Line 225:
|-
|-
| 0x3214
| 0x3214
| 0xDEC
| 0x1
| [20.0.0+] ApplicationErrorCodePrefix
|-
| 0x3215
| 0x1
| Reserved
|-
| 0x3216
| 0x1
| [20.0.0+] AcdIndex
|-
| 0x3217
| 0x1
| [20.0.0+] ApparentPlatform
|-
| 0x3218
| 0x198
| [[#ApplicationNeighborDetectionClientConfiguration|NeighborDetectionClientConfiguration]]
|-
| 0x33B0
| 0x10
| [[#ApplicationJitConfiguration|JitConfiguration]]
|-
| 0x33C0
| 0x40
| [[#RequiredAddOnContentsSetBinaryDescriptor|RequiredAddOnContentsSetBinaryDescriptor]]
|-
| 0x3400
| 0x1
| PlayReportPermission
|-
| 0x3401
| 0x1
| CrashScreenshotForProd
|-
| 0x3402
| 0x1
| CrashScreenshotForDev
|-
| 0x3403
| 0x1
| ContentsAvailabilityTransitionPolicy
|-
| 0x3404
| 0x4
| Reserved
|-
| 0x3408
| 0x40
| [[#AccessibleLaunchRequiredVersionValue|AccessibleLaunchRequiredVersion]]
|-
| 0x3448
| 0x89
| [20.0.0+] [[#ApplicationControlDataCondition|ApplicationControlDataCondition]]
|-
| 0x34D1
| 0x1
| [20.0.0+] InitialProgramIndex
|-
| 0x34D2
| 0x2
| Reserved
| Reserved
|-
| 0x34D4
| 0x4
| [20.0.0+] AccessibleProgramIndexFlags
|-
| 0x34D8
| 0x1
| [20.0.0+] AlbumFileExport
|-
| 0x34D9
| 0x7
| Reserved
|-
| 0x34E0
| 0x80
| [20.0.0+] SaveDataCertificateBytes
|-
| 0x3560
| 0x1
| [20.0.0+] HasInGameVoiceChat
|-
| 0x3561
| 0x3
| Reserved
|-
| 0x3564
| 0x4
| [20.0.0+] SupportedExtraAddOnContentFlag
|-
| 0x3568
| 0x698
| Reserved
|-
| 0x3C00
| 0x400
| [20.0.0+] PlatformSpecificRegion
|}
|}


== Title Entry ==
== ApplicationTitle ==
Total size is 0x300-bytes.
Total size is 0x300-bytes.


Line 266: Line 382:
Official apps tend to have the title entries' strings set only to English. Some apps don't have certain title entries set at all. In addition, official apps usually (?) don't have the following title entries set: Korean, Taiwanese, and Chinese.
Official apps tend to have the title entries' strings set only to English. Some apps don't have certain title entries set at all. In addition, official apps usually (?) don't have the following title entries set: Korean, Taiwanese, and Chinese.


== VideoCaptureMode ==
== VideoCapture ==
This is the enum used to determine how gameplay recording can occur, if at all.
This is the enum used to determine how gameplay recording can occur, if at all.


Line 290: Line 406:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Value || Meaning
! Value || Meaning || Description
|-
| 0 || None || The specified titleIDs must match the user-process titleID.
|-
| 1 || WhiteList || The specified titleIDs must match the user-process titleID, or one of the titleIDs from PlayLogQueryableApplicationId.
|-
| 2 || All || All titleIDs are allowed.
|}
 
== ApplicationNeighborDetectionClientConfiguration ==
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x18
| [[#ApplicationNeighborDetectionGroupConfiguration|SendGroupConfiguration]]
|-
| 0x18
| 0x180 (0x18 * 16)
| [[#ApplicationNeighborDetectionGroupConfiguration|ReceivableGroupConfigurations]]
|}
 
=== ApplicationNeighborDetectionGroupConfiguration ===
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x8
| GroupId
|-
| 0x8
| 0x10
| Key
|}
 
== ApplicationJitConfiguration ==
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x8
| Flags
|-
| 0x8
| 0x8
| MemorySize
|}
 
== RequiredAddOnContentsSetBinaryDescriptor ==
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x40 (0x2 * 32)
| Descriptors
|}
 
== AccessibleLaunchRequiredVersionValue ==
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x40 (0x8 * 8)
| Array of [[NCM_services#ApplicationId|ApplicationId]]
|}
 
== ApplicationControlDataCondition ==
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x8 (0x1 * 8)
| Type
|-
| 0x8
| 0x80 (0x10 * 8)
| [[#ApplicationControlDataConditionData|Data]]
|-
| 0x88
| 0x1
| Count
|}
 
=== ApplicationControlDataConditionData ===
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
|-
| 0 || None (the specified titleIDs must match the user-process titleID)
| 0x0
| 0x1
| Priority
|-
|-
| 1 || WhiteList (the specified titleIDs must match the user-process titleID, or one of the titleIDs from PlayLogQueryableApplicationId)
| 0x1
| 0x7
| Reserved
|-
|-
| 2 || All (all titleIDs are allowed)
| 0x8
| 0x2
| AocIndex
|-
| 0xA
| 0x6
| Reserved
|}
|}