Skip to content

Instantly share code, notes, and snippets.

@Wunkolo
Last active January 15, 2024 14:22
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Wunkolo/e0e1c8fef98dfcee806b to your computer and use it in GitHub Desktop.
Save Wunkolo/e0e1c8fef98dfcee806b to your computer and use it in GitHub Desktop.
Animal Crossing New Leaf research

Large player data struct, stores all patterns, letters, mayor info, mayor picture in what seems to be a JFIF stream with EXIF, and other data yet to be mapped out.

Generally in the 0x1FB8190 area of a FCRAM dump. Give or take a few offsets of 0x100.

Between me and troggs the offset seems to be 0x300

64EDD198 F8000200 Possible magic ints to look for to detect player info. Starts right before patterns. Common through-out. Patterns

Offset Type info
0x0 uint32_t Always set to 0
0x4 wchar_t[21] Pattern Name
0x2E uint16_t UserID
0x30 wchar_t[10] User Name
0x44 uint16_t TownID
0x48 wchat_t[10] Town Name
0x5A uint16_t Name+Town hash?
0x5C uint8_t[15] Palette indexes
0x6B uint8_t Unknown
0x6C uint8_t Always set to 10
0x6D uint8_t Pattern Type(see table)
0x6E uint16_t Padding
0x70 uint8_t[512] Pattern Data 0 (Always Present)
0x270 uint8_t[512] Pattern Data 1
0x470 uint8_t[512] Pattern Data 2
0x670 uint8_t[512] Pattern Data 3

Indexes are never 0. Indices 1-15 are used to address colors on the "Palette indexes" variable which further looks up against the Color Palette listing below. Every pattern can have a max of 15 visible colors.

Pattern Type Name
0x00 Dress/clothing Pattern
0x08 Photo Board
0x09 Regular Pattern

Pattern Palette

Index RGB Hex Color
0x00 #FFEFFF
0x01 #FF9AAD
0x02 #EF559C
0x03 #FF65AD
0x04 #FF0063
0x05 #BD4573
0x06 #CE0052
0x07 #9C0031
0x08 #522031
0x10 #FFBACE
0x11 #FF7573
0x12 #DE3010
0x13 #FF5542
0x14 #FF0000
0x15 #CE6563
0x16 #BD4542
0x17 #BD0000
0x18 #8C2021
0x20 #DECFBD
0x21 #FFCF63
0x22 #DE6521
0x23 #FFAA21
0x24 #FF6500
0x25 #BD8A52
0x26 #DE4500
0x27 #BD4500
0x28 #633010
0x30 #FFEFDE
0x31 #FFDFCE
0x32 #FFCFAD
0x33 #FFBA8C
0x34 #FFAA8C
0x35 #DE8A63
0x36 #BD6542
0x37 #9C5531
0x38 #8C4521
0x40 #FFCFFF
0x41 #EF8AFF
0x42 #CE65DE
0x43 #BD8ACE
0x44 #CE00FF
0x45 #9C659C
0x46 #8C00AD
0x47 #520073
0x48 #310042
0x50 #FFBAFF
0x51 #FF9AFF
0x52 #DE20BD
0x53 #FF55EF
0x54 #FF00CE
0x55 #8C5573
0x56 #BD009C
0x57 #8C0063
0x58 #520042
0x60 #DEBA9C
0x61 #CEAA73
0x62 #734531
0x63 #AD7542
0x64 #9C3000
0x65 #733021
0x66 #522000
0x67 #311000
0x68 #211000
0x70 #FFFFCE
0x71 #FFFF73
0x72 #DEDF21
0x73 #FFFF00
0x74 #FFDF00
0x75 #CEAA00
0x76 #9C9A00
0x77 #8C7500
0x78 #525500
0x80 #DEBAFF
0x81 #BD9AEF
0x82 #6330CE
0x83 #9C55FF
0x84 #6300FF
0x85 #52458C
0x86 #42009C
0x87 #210063
0x88 #211031
0x90 #BDBAFF
0x91 #8C9AFF
0x92 #3130AD
0x93 #3155EF
0x94 #0000FF
0x95 #31308C
0x96 #0000AD
0x97 #101063
0x98 #000021
0xA0 #9CEFBD
0xA1 #63CF73
0xA2 #216510
0xA3 #42AA31
0xA4 #008A31
0xA5 #527552
0xA6 #215500
0xA7 #103021
0xA8 #002010
0xB0 #DEFFBD
0xB1 #CEFF8C
0xB2 #8CAA52
0xB3 #ADDF8C
0xB4 #8CFF00
0xB5 #ADBA9C
0xB6 #63BA00
0xB7 #529A00
0xB8 #316500
0xC0 #BDDFFF
0xC1 #73CFFF
0xC2 #31559C
0xC3 #639AFF
0xC4 #1075FF
0xC5 #4275AD
0xC6 #214573
0xC7 #002073
0xC8 #001042
0xD0 #ADFFFF
0xD1 #52FFFF
0xD2 #008ABD
0xD3 #52BACE
0xD4 #00CFFF
0xD5 #429AAD
0xD6 #00658C
0xD7 #004552
0xD8 #002031
0xE0 #CEFFEF
0xE1 #ADEFDE
0xE2 #31CFAD
0xE3 #52EFBD
0xE4 #00FFCE
0xE5 #73AAAD
0xE6 #00AA9C
0xE7 #008A73
0xE8 #004531
0xF0 #ADFFAD
0xF1 #73FF73
0xF2 #63DF42
0xF3 #00FF00
0xF4 #21DF21
0xF5 #52BA52
0xF6 #00BA00
0xF7 #008A00
0xF8 #214521
0x0F #FFFFFF
0x1F #ECECEC
0x2F #DADADA
0x3F #C8C8C8
0x4F #B6B6B6
0x5F #A3A3A3
0x6F #919191
0x7F #7F7F7F
0x8F #6D6D6D
0x9F #5B5B5B
0xAF #484848
0xBF #363636
0xCF #242424
0xDF #121212
0xEF #000000

Letters

Offset Type info
0x0 uint16_t Recepient ID
0x2 wchar_t[10] Recepient Name
0x16 uint16_t Recepient Town ID
0x18 wchar_t[10] Recepient Town Name
0x2C uint16_t[2] Recepient Checksum+pad
0x30 uint16_t[2] Unknown Flag+pad
0x34 uint16_t Sender ID
0x36 wchar_t[10] Sender Name
0x4A uint16_t Sender Town ID
0x4C wchat_t[10] Sender Town Name
0x60 uint8_t[4] Unknown Flags
0x64 uint32_t Unknown BitMask
0x68 wchar_t[33] Message Intro(32 letters + \0)
0xAA wchar_t[193] Message (192 letters + \0)
0x22C wchar_t[33] Message Outro(32 letters + \0)
0x26E uint16_t Stationary ID
0x270 uint8_t[2] Unknown Flags
0x274 uint16 Attached Item ID
0x276 uint16 Attached Item Prelim
0x278 uint32_t[2] Unknown(Timestamp?)

Items are 32bit integers. First 16 bits identify the actual item while the last 16 bits provide preliminary information and flags for the item(durability,count,color,etc)

7FFEh = null object (no item, blank space, etc) Some confirmed Item ids found in my inventory:

Silver shovel = 3049h
exotic wardrobe = 2937h
^^^^ possibly something else




Silver Net = 3041h
Silver fishing rod = 3045h
Bubble Wand = 305Ah
Soft Serve Lamp = 2CB9h
Silver Axe = 303Ch  (misc data is durability,out of 64)
Gold Slingshot  = 3052h
Gold watering can = 304Eh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment