Sources that helped tremendously while building this:
If you're interested in building your own homebrew that works with StreetRelay, I would recommend checking these sources out!
CEC
+- MBoxList____
+- <typically 8 char id>
| +- MBoxInfo____
| +- MBoxData.001
| +- MBoxData.010
| +- MBoxData.050
| +- InBox___
| | +- BoxInfo_____
| | +- _<12 char id>
| | +- ...
| +- OutBox__
| +- BoxInfo_____
| +- OBIndex_____
| +- _<12 char id>
+- <typically 8 char id>
+- ...
MBoxList____contains a list of all the games that have StreetPass enabled currently, in the form of 16 byte IDs. These games are saved in folders, named the ASCII representation of their IDs.<typically 8 char ID>is a folder containing all StreetPass-related information for a game, including:MBoxInfo____contains basic information about the mailboxMBoxData.001ICN encoded game icon for the titleMBoxData.010UTF encoded game titleMBoxData.050Title IDInBox___contains all current incoming StreetPass tags (i.e. a visitor in StreetPass Mii Plaza)BoxInfo_____contains information about the current box (inbox in this case), including an index of all messages and their headers._<12 char id>is a StreetPass tag. (hurray) This file has a0x70length header, zero or more extra headers, and the actual tag data. The ID is the first 8 bytes of the message ID converted to a custom base64
OutBox__contains all? (never seen more than one) your outgoing StreetPass data. (i.e. your data as a visitor in StreetPass Mii Plaza)BoxInfo_____same as above, contains information about the outbox, and a list of all included messages' headers.OBIndex_____Only found in theOutBox__, contains a list of how many outbox items there are and a list of their IDs. Simplified version ofBoxInfo_____<12 char id>outgoing StreetPass tag. Exactly the same as in theInBox__
- Upload profile data (not relevant)
- Get StreetPass games in
MBoxList___ - For each game in
MBoxList___:- Get outbox data
- Upload data in outbox
- Get list of tags available
- If server requests game public data:
- Upload
MBoxData.001andMBoxData.010(icon and title)
- Upload
- If inbox is not full:
- Download first tag
- Add tag to
BoxData____ - Change tag dates