Crafting and items

DS game only γ¨γ‚“γŒγ‚Šγƒœγ‚¦γ‚·γ¨γŠγ—γ‚ƒγ‚Œγͺまほう぀かい The field guide documents the DS game's internals.

How the game stores crafted products, quality descriptions, recipe data, and the item icon pipeline.

Item icons

The game's 656 item icons live in a single file: data/item/itemicon.ofs. Each icon is a 32x32 pixel sprite. The runtime mapping from item ID to icon index was found in the ARM9 binary at function FUN_02052c54. The formula is entry[+2] & 0x7ff, which extracts the icon index from the item database entry. The global palette for item icons comes from global.lzs.

Crafting product names (ucc_names)

Crafted products have their display names stored in a separate database table called ucc_names. This table maps a slot number to an English product name. It is separate from the main dialog entries table -- the crafting UI reads product names from ucc_names rather than from message files.

Key slots identified:

SlotJP sourceEnglish name
50γŠγ•γγ„γƒ–γƒΌγ‚±Lure Bouquet
51γ‚„γ™γ‚‰γŽγƒ†γ‚£γƒΌSereni-Tea

The ucc_names table feeds the crafting product display in shops, inventory, and the Part-Time Cat crafting dialog.

Quality description table (msg99047)

message/msg99/04/msg99047.ofs is a crafting-quality description lookup table, not regular dialog. Each entry contains exactly 12 NUL-separated segments (one per quality tier). The game's renderer reads each segment into a fixed-size buffer when displaying a crafted item's quality description.

The Japanese source text never exceeds 12 characters per segment across all 468 segments (24 entries, each with roughly 12--20 segments). This establishes an empirical 12-character-per-segment cap for this surface.

Entry layout

EntriesContent
0--2, 15--16, 27Placeholder ellipsis segments (twelve repetitions of a filled-ellipsis glyph, NUL-separated)
3--6Quality adjectives (Normal, Pretty, Dazzling, Mysterious)
7--14Descriptors (shine, vibes, style, etc.) -- 12 segments each, covering quality tiers from lowest to highest
17Tone / timbre descriptors (musical quality -- JP ねいろ)
18Rhythm descriptors
22--25Product names (must also fit within 12 characters)

This is the surface that crashed the game when English segments exceeded the buffer size. Entries like "a sparkly-bright shine" (21 characters) or "Tummy-rumbling rhythm" (21 characters) overflowed the 12-character buffer on real hardware.

Recipe data files

Three files under data/recipe/ hold the crafting recipe database:

FileRole
recipedata.lzs RESC v3.11 container. Holds the recipe ingredient lists, success conditions, and output product mappings. The RESC format uses 48-byte TOC entries with reversed-ASCII names and string deduplication.
recipemsg.lzs Recipe narration strings. 87 unique narration strings, heavily reused via pointer deduplication. These are the step-by-step text shown during the crafting minigame.
mgcinfo.lzs Magic info lookup. Binary item_id lookup table for magic-related crafting.

Category labels (msg99138)

message/msg99/13/msg99138.ofs contains category labels for the crafting product browser. Entries like "Sereni-Tea, etc." and "Chic Clothes, etc." appear here as short labels for product categories.

The Part-Time Cat

The Part-Time Cat is the NPC that handles all crafting interactions. Its dialog lives in message/msg32/10/msg32108.ofs. When the player brings materials, the cat announces what it will make (for example, "With these ingredients, I'll make a yummy Sereni-Tea, nya!"). These lines reference crafted product names and must stay consistent with the ucc_names table.

Classroom lessons

Crafting recipes are taught in classroom lessons stored in message/msg52/06/msg52063.ofs (bouquet recipes) and message/msg52/06/msg52064.ofs (tea and aroma recipes). Each lesson entry contains multi-page instructions explaining how to craft a specific product. Product names in these lessons must match the canonical names in ucc_names and msg99047.

UCC asset files

The data/ucc/ directory (27+ files plus subdirectories) holds the 2D sprites and UI resources for the crafting interface:

PathContents
ucc/act/Per-action crafting animation sprites (SZL-packed in .ofs containers)
ucc/brush/Paint brush tool UI
ucc/dishup/Cooking / dish-up interface
ucc/uccact_txt.ofsCrafting action text sprites (17 SZL entries)
ucc/uccact_gra.ofsCrafting action graphic sprites (16 SZL entries)
uccchtype.uctpCrafting type table (purpose partially decoded)

Item name consistency

A single crafted item can appear in five or more different places across the game's data: the ucc_names table, msg99047 quality descriptions, msg99138 category labels, Part-Time Cat dialog (msg32108), classroom lessons (msg52063/msg52064), and sometimes the magic glyph keyboard. All of these must use the same canonical English name. Drift between surfaces causes player confusion -- for example, "Invitation Bouquet" in one place versus "Lure Bouquet" in another for the same JP item γŠγ•γγ„γƒ–γƒΌγ‚±.

Source