Letter Structure
Here you’ll find the structure of the Letter part from AC:WW.
NOTE 1:
EUR, USA and JPN have a special encoding, which i marked with the Datatype WWChar. For more about it, look at the Encoding part here.
NOTE 2:
If send to a villager, the first byte of the Receiver Player ID is the Receiver list index and the second the Villager ID.
Structures
EUR_USA LetterStruct
| Offset | Datatype | Size | Content |
| 0x0 - 0xF3 | | 0xF4 | Lettersize |
| | | | |
| 0x0 - 0x3 | uint32_t | 0x4 | Padding? |
| 0x4 - 0x5 | uint16_t | 0x2 | Town ID Receiver |
| 0x6 - 0xD | WWChar | 0x8 | Town Name Receiver |
| 0xE - 0xF | uint16_t | 0x2 | Player ID Receiver |
| 0x10 - 0x17 | WWChar | 0x8 | Player Name Receiver |
| 0x18 - 0x1B | uint8_t | 0x4 | Unknown 1 |
| 0x1C - 0x1D | uint16_t | 0x2 | Town ID Sender |
| 0x1E - 0x25 | WWChar | 0x8 | Town Name Sender |
| 0x26 - 0x27 | uint16_t | 0x2 | Player ID Sender |
| 0x28 - 0x2F | WWChar | 0x8 | Player Name Sender |
| 0x30 - 0x33 | uint8_t | 0x4 | Unknown 2 |
| 0x34 - 0x4B | WWChar | 0x18 | Letter Intro Part |
| 0x4C - 0xCB | WWChar | 0x81 | Letter Body Part |
| 0xCC - 0xEB | WWChar | 0x20 | Letter End Part |
| 0xEC - 0xEC | uint8_t | 0x1 | Intro Name Index |
| 0xED - 0xED | uint8_t | 0x1 | Paper ID |
| 0xEE - 0xEE | uint8_t | 0x1 | Letter Flags |
| 0xEF - 0xEF | uint8_t | 0x1 | Unknown 3 |
| 0xF0 - 0xF1 | uint16_t | 0x2 | Attachment Item |
| 0xF2 - 0xF3 | uint8_t | 0x2 | Unknown 4 |
JPN LetterStruct
| Offset | Datatype | Size | Content |
| 0x0 - 0x8B | | 0x8C | Lettersize |
| | | | |
| 0x0 - 0x3 | uint32_t | 0x4 | Padding? |
| 0x4 - 0x5 | uint16_t | 0x2 | Town ID Receiver |
| 0x6 - 0xB | WWChar | 0x6 | Town Name Receiver |
| 0xC - 0xD | uint16_t | 0x2 | Player ID Receiver |
| 0xE - 0x13 | WWChar | 0x6 | Player Name Receiver |
| 0x14 - 0x17 | uint8_t | 0x4 | Unknown 1 |
| 0x18 - 0x19 | uint16_t | 0x2 | Town ID Sender |
| 0x1A - 0x1F | WWChar | 0x6 | Town Name Sender |
| 0x20 - 0x21 | uint16_t | 0x2 | Player ID Sender |
| 0x22 - 0x27 | WWChar | 0x6 | Player Name Sender |
| 0x28 - 0x2B | uint8_t | 0x4 | Unknown 2 |
| 0x2C - 0x35 | WWChar | 0xA | Letter Intro Part |
| 0x36 - 0x75 | WWChar | 0x40 | Letter Body Part |
| 0x76 - 0x85 | WWChar | 0x10 | Letter End Part |
| 0x86 - 0x86 | uint8_t | 0x1 | Intro Name Index |
| 0x87 - 0x87 | uint8_t | 0x1 | Paper ID |
| 0x88 - 0x88 | uint8_t | 0x1 | Letter Flags |
| 0x89 - 0x89 | uint8_t | 0x1 | Unknown 2 |
| 0x8A - 0x8B | uint16_t | 0x2 | Attachment Item |
KOR LetterStruct
| Offset | Datatype | Size | Content |
| 0x0 - 0xFF | | 0x100 | Lettersize |
| | | | |
| 0x0 - 0x3 | uint32_t | 0x4 | Padding? |
| 0x4 - 0x5 | uint16_t | 0x2 | Town ID Receiver |
| 0x6 - 0x11 | char16_t | 0xC | Town Name Receiver |
| 0x12 - 0x13 | uint16_t | 0x2 | Player ID Receiver |
| 0x14 - 0x1F | char16_t | 0xC | Player Name Receiver |
| 0x20 - 0x23 | uint8_t | 0x4 | Unknown 1 |
| 0x24 - 0x25 | uint16_t | 0x2 | Town ID Sender |
| 0x26 - 0x31 | char16_t | 0xC | Town Name Sender |
| 0x32 - 0x33 | uint16_t | 0x2 | Player ID Sender |
| 0x34 - 0x3F | char16_t | 0xC | Player Name Sender |
| 0x40 - 0x43 | uint8_t | 0x4 | Unknown 2 |
| 0x44 - 0x57 | char16_t | 0x14 | Letter Intro Part |
| 0x58 - 0xD7 | char16_t | 0x80 | Letter Body Part |
| 0xD8 - 0xF7 | char16_t | 0x20 | Letter End Part |
| 0xF8 - 0xF8 | uint8_t | 0x1 | Intro Name Index |
| 0xF9 - 0xF9 | uint8_t | 0x1 | Paper ID |
| 0xFA - 0xFA | uint8_t | 0x1 | Letter Flags |
| 0xFB - 0xFB | uint8_t | 0x1 | Unknown 3 |
| 0xFC - 0xFD | uint16_t | 0x2 | Attachment Item |
| 0xFE - 0xFF | uint8_t | 0x2 | Unknown 4 |
Other
Paper IDs
| ID | Name |
| 0x0 | Butterfly Paper |
| 0x1 | Airmail Paper |
| 0x2 | New Years Cards |
| 0x3 | Lacy Paper |
| 0x4 | Cloudy Paper |
| 0x5 | Petal Paper |
| 0x6 | Snowy Paper |
| 0x7 | Maple Leaf Paper |
| 0x8 | Lined Paper |
| 0x9 | Notebook Paper |
| 0xA | Flowery Paper |
| 0xB | Polka dot Paper |
| 0xC | Bottle Paper |
| 0xD | Ribbon Paper |
| 0xE | Sparkly Paper |
| 0xF | Vine Paper |
| 0x10 | Formal Paper |
| 0x11 | Snowman Paper |
| 0x12 | Card Paper |
| 0x13 | Leopard Paper |
| 0x14 | Cow Paper |
| 0x15 | Camouflage Paper |
| 0x16 | Hamburger Paper |
| 0x17 | Piano Paper |
| 0x18 | Nook Paper |
| 0x19 | Fox Paper |
| 0x1A | Birthday Cards |
| 0x1B | Four Leaf Paper |
| 0x1C | Town Hall Paper |
| 0x1D | Tortimer Paper |
| 0x1E | Insurance Paper |
| 0x1F | Academy Paper |
| 0x20 | Lovely Paper |
| 0x21 | Rainbow Paper |
| 0x22 | Egyptian Paper |
| 0x23 | Lotus Paper |
| 0x24 | Tile Paper |
| 0x25 | Mosaic Paper |
| 0x26 | Elegant Paper |
| 0x27 | Town View Paper |
| 0x28 | Chinese Paper |
| 0x29 | Ocean Paper |
| 0x2A | Industrial Paper |
| 0x2B | Fireworks Paper |
| 0x2C | Floral Paper |
| 0x2D | Mushroom Paper |
| 0x2E | Star Paper |
| 0x2F | Composer Paper |
| 0x30 | Bathtub Paper |
| 0x31 | SMB3 Paper |
| 0x32 | Cool Paper |
| 0x33 | Forest Paper |
| 0x34 | Bubble Paper |
| 0x35 | Buttercup Paper |
| 0x36 | Tartan Paper |
| 0x37 | Plaid Paper |
| 0x38 | Lemon Lime Paper |
| 0x39 | Crater Paper |
| 0x3A | Bejeweled Paper |
| 0x3B | Geometric Paper |
| 0x3C | Southwest Paper |
| 0x3D | Night Sky Paper |
| 0x3E | Chic Paper |
| 0x3F | Goldfish Paper |
Letter Flags
| Flag | Content |
| 0x0 | Does not exist |
| 0x1 | Letter Created |
| 0x2 | Letter Unread |
| 0x3 | Letter Read |
| 0x4 | Received Bottle Letter |
| 0x5 | Created Bottle Letter |
| 0x40 | Letter from Mother |