Line 651: |
Line 651: |
| [[Mario Kart Live: Home Circuit|mklive]] uses the following string with this: "Failed to create a group: %08X". | | [[Mario Kart Live: Home Circuit|mklive]] uses the following string with this: "Failed to create a group: %08X". |
| | | |
− | This is only available if a group wasn't already created. | + | The [[#GetRole|role]] must be 0. This eventually sets the [[#GetRole|role]] to value 1. |
| | | |
| === DestroyGroup === | | === DestroyGroup === |
| No input/output. | | No input/output. |
| | | |
− | This destroys the previously [[#CreateGroup|created]] group. If no group was previously created, this just returns 0. | + | This destroys the previously [[#CreateGroup|created]] group. If no group was previously created ([[#GetRole|role]] is not 1), this just returns 0. |
| | | |
| === SetAdvertiseData === | | === SetAdvertiseData === |
| Takes a type-0x21 input buffer, no output. | | Takes a type-0x21 input buffer, no output. |
| | | |
− | The buffer size must be <=0x80. | + | The buffer size must be <=0x80. The [[#GetRole|role]] must be <=1. |
| | | |
| A string in [[Mario Kart Live: Home Circuit|mklive]] refers to the buffer data as "scan advertise data". | | A string in [[Mario Kart Live: Home Circuit|mklive]] refers to the buffer data as "scan advertise data". |
Line 676: |
Line 676: |
| A string in [[Mario Kart Live: Home Circuit|mklive]] refers to the buffer data as "Action frame". | | A string in [[Mario Kart Live: Home Circuit|mklive]] refers to the buffer data as "Action frame". |
| | | |
− | This is only available when a group was previously [[#CreateGroup|created]].
| + | The [[#GetRole|role]] must be non-zero. |
| | | |
| This sends an Action frame to the specified [[#GroupId]], with the specified destination [[#MacAddress_2|MacAddress]] (can be a broadcast address). | | This sends an Action frame to the specified [[#GroupId]], with the specified destination [[#MacAddress_2|MacAddress]] (can be a broadcast address). |
Line 689: |
Line 689: |
| Flags is only used for selecting which func to call internally, via bit0. | | Flags is only used for selecting which func to call internally, via bit0. |
| | | |
− | This is only available when a group was previously [[#CreateGroup|created]].
| + | The [[#GetRole|role]] must be non-zero. |
| | | |
| This receives an Action frame. This will block until data is available (?). | | This receives an Action frame. This will block until data is available (?). |
Line 752: |
Line 752: |
| Takes a type-0x22 output buffer, returns 2 output u16s. | | Takes a type-0x22 output buffer, returns 2 output u16s. |
| | | |
− | Validates that the [[#GetRole|role]] is value 0x2, then copies data from state into the output buffer. The first output u16 is the size used for the memcpy, the second u16 is the original size from state. | + | Validates that the [[#GetRole|role]] is value 2, then copies data from state into the output buffer. The first output u16 is the size used for the memcpy, the second u16 is the original size from state. |
| | | |
| === GetAdvertiseData2 === | | === GetAdvertiseData2 === |
Line 790: |
Line 790: |
| Takes a type-0x22 output buffer containing an array of [[#NodeInfo_2|NodeInfo]], returns an output s32 total_out. | | Takes a type-0x22 output buffer containing an array of [[#NodeInfo_2|NodeInfo]], returns an output s32 total_out. |
| | | |
− | Validates that the [[#GetRole|role]] is value 0x1. Then any entries from state which are available are copied into the output array buffer, if there's space available. A maximum of 8 entries can be returned. | + | Validates that the [[#GetRole|role]] is value 1. Then any entries from state which are available are copied into the output array buffer, if there's space available. A maximum of 8 entries can be returned. |
| | | |
| A string in [[Mario Kart Live: Home Circuit|mklive]] refers to the array data as "connected members". | | A string in [[Mario Kart Live: Home Circuit|mklive]] refers to the array data as "connected members". |