Dōbutsu no Mori ePlus eReader Villager Documentation - Cuyler36/ACSE GitHub Wiki

In Dōbutsu no Mori e+, you are able to invite villagers to your town via e-Reader cards. Sixty new villagers and eighteen new islanders added. They are only available through scanning the e-Reader cards. When they are loaded, the game adds their entire data to your save file as Yaz0 compressed data, along with padding. The file structure looks like this:

Offset Size Description
0x0000 Varies (Maximum of 0x73B) Yaz0 Encoded Section of the file (contains villager data & textures)

Decoded File Structure:

Offset Size Description
0x0000 0x0001 e-Reader Villager Card Number (Used in check_pwdInfoTable)
0x0001 0x0006 Name
0x0007 0x0004 Catchphrase
0x000B 0x0001 Model
0x000C 0x0001 IsIslander
0x000D 0x0001 Personality (Referred to as "Looks")
0x000E 0x0001 Shirt Item Id Lower Byte
0x000F 0x0001 HouseType
0x0010 0x0001 HousePalette
0x0011 0x0001 Wallpaper Item Id Lower Byte
0x0012 0x0001 Carpet Item Id Lower Byte
0x0013 0x0002 HouseRoomInfoBaseLayerIndex
0x0015 0x0002 HouseRoomInfoSecondLayerIndex
0x0017 0x0001 Umbrella Item Id Lower Byte
0x0018 0x0001 K.K. Song Item Id Lower Byte
0x0019 0x0002 chk_height (Unsure what this is used in, seems to be something related to the height of the npc?)
0x001B 0x0001 Favorite Shirt Category
0x001C 0x0001 Hated Shirt Category
0x001D 0x0001 Tribe (Species) (Used for GBA Minigames)
0x001E 0x0001 Character (Gender, upper nibble = male/female, lower nibble = personality) (Used for GBA Minigames)
0x001F 0x0001 Constellation (Used for GBA Minigames)
0x0020 0x0001 Popular (Used for GBA Minigames)
0x0021 0x0001 Intelligence (Used for GBA Minigames)
0x0022 0x0001 Unknown (Used for GBA Minigames)
0x0023 0x0001 Unknown (Used for GBA Minigames)
0x0024 0x0001 Unknown (Used for GBA Minigames)
0x0025 0x0800 GBA NPC Head Texture
0x0825 0x0020 GBA NPC BGR5A1 Texture Palette Array [0x10]
0x0845 0x0020 RGB5A3 Texture Palette Array [0x10]
0x0865 Varies Texture Data

The four-byte value before the first compressed villager is a bitmap that tells the game if that specific villager has data. Bits 0 - 19 are used.

Note: There are 19 slots for Yaz0 compressed custom villagers. Fifteen regular villagers, and one islander per player.