Piñata Vision barcode/Name bits

From PinataIsland.info, the Viva Piñata wiki
Revision as of 05:03, 2 March 2011 by FeralKitty (talk | contribs) (Bring article up-to-date with respect to known encoded data. Reader can now decode names from almost every card with known names.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Pinata names can be found encoded on cards released by Rare. Examples of such cards are the PV-exclusive black and other variant cards, the holiday and themed cards, and the pre-launch cards (e.g., BunnycombPV.jpg).

Cards shared by gamers at VivaPinata.com do not have pinata names.

Name flag

The name flag identifies whether an optional pinata name is present or not.

Location of name flag

The offset for the name flag varies, depending on the existence of other optional data, such as accessories. (Since the accessory data is variable length, depending on accessory count, the name flag will not be at a fixed offset, however its offset relative to the accessory data should be constant.)

Name length

The variable-length name data does not contain an encoded length/count. Instead the name is terminated with a null character (\0, called NUL).

It's unknown if the name length is capped by an in-game limit, or constrained by the permitted number of rows in a barcode (4 rows being the most seen.)

For GoodVariants and Blackariants cards, encoded names are 3 to 9 characters long, the longest (and only 9-character name) being Francesca.

Other cards with longer names include Uncle Tusk, Fiddy Pence, Maximum Carnage, and Geckiesaurus Rex.

Name data

Location of name data

Name data appears to closely follow the name flag. Further decoding needs to be done to identify other bits near the flag, and how they affect offsets.

Decoding name data

The name character set is 5 bits, with no shift bit to distinguish between upper and lower case. It contains the letters A through Z, the space character, and the NUL character. (There is a possibility of 4 more characters in the set, although no cards have been seen so far that use those bit patterns.)

It's probable that accented or multi-byte Unicode characters (e.g., CJK) cannot be encoded on a card.

To decode a name, start at the name data offset, then read and decode 5-bit characters until the NUL character is found. Uppercase is handled by capitalizing the first character, and any character that follows a space character. (I.e., capitalize the first character of each word.)

Working notes

Matching names

The following cards share pinata names, and belong to the same (row 2) obfuscation set.

Cards that also share matching variant data have nearly identical row 2 barcodes, differing in only a few bits.

Ava

9FBEF59DCF5DD656 8683F11D287FC206	Bunnycomb-TroubleInParadise-BrightPink-(Ava-)PV.jpg (Variant 8)
A2F8D48C480E9EFA 8683F11D2DED9606	Buzzenge-TroubleInParadise-Black-Ava-PV.jpg (Variant 15)

Harley

97B6A3855B66CF88 5168F4494A171D81	Elephanilla-TroubleInParadise-PaleBlue-(Harley-)PV.jpg (Variant 5)
D37649004D560805 5168F44A4A161D91	Dragumfly-TroubleInParadise-PaleBlueRed-(Harley-)PV.jpg (Variant 5)
D1EBE85E5810F7AE 5168F4594AA61BF1	Mothdrop-TroubleInParadise-Black-(Harley-)PV.jpg (Variant 15)

Note that the first two cards share the same variant data, and that their row 2 barcodes are nearly identical.

Aimee

9A586E134C0BCD3C D26B28D7670ED64E	Roario-TroubleInParadise-Pink-(Aimee-)PV.jpg (Variant 6)
E17EC6B36C459649 D26B68C6F50ED64E	Tartridge-TroubleInParadise-Black-Aimee-)PV.jpg (Variant 15)

Mia

836195952A2BC52B E6769697BF19E6FC	DesertRaisant-TroubleInParadise-Black-Mia-PV.jpg (Variant 15)
E4653B3B3F14538F E676CF169F09E6FC	Sherbat-TroubleInParadise-Blue-(Mia-)PV.jpg (Variant 2)

James

DEE66A946C1BE2B4 9A9C55CDE256C006	Cocoadile-TroubleInParadise-Pink-James-PV.jpg (Variant 5)
D37248104F172B35 9A9C55CDE356E216	Juicygoose-TroubleInParadise-Purple-James-PV.jpg (Variant 5)

D37248104F172B35 9B636492E839E419	Juicygoose-TroubleInParadise-PaleBlue-(James-)PV.jpg (Variant 6)
D76195943B0B6A2B AB6364927878B019	Fudgehog-TroubleInParadise-Black-James-PV.jpg (Variant 15)

Again, the first two cards share the same variant data, and their row 2 barcodes are nearly identical.

The third card happens to share a matching pinata name, but its row 2 barcode is obfuscated differently. Although name length does seem to be one factor in row 2 obfuscation set selection, another factor (such as variant bits or GoodVariants ID) may jointly determine how row 2 is obfuscated.

Also notable (but unrelated) is that the row 1 barcodes for the two Juicygoose cards are identical. The cards do share the same species ID (and use cost). It's unknown at this point if the matching names have any influence on the row 1 barcode, but the differing variant data appears to be completely unrelated to row 1.

Harrison

F94FD444267E40A1 52AD208D61C7E499	ArcticPretztail-TroubleInParadise-Black-Harrison-PV.jpg (Variant 15)
99AD6E134E553CFC 52AD208DE12FC019	Kittyfloss-TroubleInParadise-Orange-Harrison-PV.jpg (Variant 2)

Dominic

869287B06F67CF08 DE2A7444D91B7EED	Polollybear-TroubleInParadise-Black-(Dominic-)PV.jpg (Variant 15)
EE89F0A4D3E03D27 DC1AE444D95B2EED	Salamango-TroubleInParadise-Pink-(Dominic-)PV.jpg (Variant 5)

Jake

A2FF7406100E5A12 BD69A638992FD482	Cinnamonkey-TroubleInParadise-OrangePink-Jake-PV.jpg (Variant 6)
A2F8D58F59901FDA BD68A6388136D502	Fourheads-TroubleInParadise-Black-Jake-PV.jpg (Variant 15)

Amber

E7B9E1A9B9D52D27 8D16F31B70A46CF5	Mousemallow-TroubleInParadise-Black-(Amber-)PV.jpg (Variant 15)
F86279A0C918644D 8812E33B70542DE5	Swanana-TroubleInParadise-White-Amber-PV.jpg (Variant 3)

Bethany

B3C172A87DF006B3 526C9D234A3758FA	Peckanmix-TroubleInParadise-Black-Bethany-PV.jpg (Variant 15)
D06E24F3EC4B92B9 526C8E731A3752DA	Salamango-TroubleInParadise-Orange-(Bethany-)PV.jpg (Variant 3)

Brooke

DA7FF9E65C2FF2B4 D700F8B09B18C61D	Chocstrich-TroubleInParadise-YellowGreen-(Brooke-)PV.jpg (Variant 8)
A2F8D48E506B0EFA FE92F9F01B58C63D	Jeli-TroubleInParadise-Black-Brooke-PV.jpg (Variant 15)

Joshua

E46168786F7EA38F 339DC922C32ED674	Custacean-TroubleInParadise-Green-Joshua-PV.jpg (Variant 2)
E78CB1EBDDE07D37 27123900C33E8654	Sweetle-TroubleInParadise-Black-(Joshua-)PV.jpg (Variant 15)

Leon

E07B7F521BCC57C0 6078136B46122C81	Buzzlegum-TroubleInParadise-Yellow-(Leon-)PV.jpg (Variant 3)
F97FD4A826AE50C1 627810DB56122581	Cluckles-TroubleInParadise-Black-Leon-PV.jpg (Variant 15)

Oscar

964EFA9F9E5D34B6 A9F37DA3E8732E08	Hootyfruity-TroubleInParadise-Orange-(Oscar-)PV.jpg (Variant 6)
C43AC7B7E9449209 A8D27DA3E8730CA8	Shellybean-TroubleInParadise-Black-Oscar-PV.jpg (Variant 15)

Thomas

BC81EDA03D6E1613 B20530B8D8DF88A3	Pigxie-TroubleInParadise-PaleGreenWhite-Thomas-PV.jpg (Variant 10)
F95FD018275E76C1 B22530B0C8DC80E3	SourLimeoceros-TroubleInParadise-Black-Thomas-PV.jpg (Variant 15)

Non-matching names

The following cards belong to the same (row 2) obfuscation set, but have differing pinata names. However, their names are all the same length.

Obfuscation set 2, 3-character name

E7BCB0A0D0C52D37 F283E298458F17B2	ArcticBunnycomb-TroubleInParadise-Black-(Leo-)PV.jpg (Variant 15)
C02EFAB3FC45C649 F29EE298258F17B2	Horstachio-TroubleInParadise-Black-(Kai-)PV.jpg (Variant 15)
EE89E1A8D8E56D27 F2D5E29D458F37B2	DesertSyrupent-TroubleInParadise-Black-Ben-PV.jpg (Variant 15)

Obfuscation set 2, 4-character name

E4647B3B3B61538F BD60A638592FD482	Chocstrich-TroubleInParadise-Orange-(Liam-)PV.jpg (Variant 6)
CEEE69162D3BB0A4 BD6456385936DB82	DesertBuzzenge-TroubleInParadise-Black-Kyle-PV.jpg (Variant 15)
D761959578F6492B BD6556381936D202	SourLemmoning-TroubleInParadise-Black-(Luke-)PV.jpg (Variant 15)

Obfuscation set C, 4-character name

D4FBCA4E0F98F7AE 945FD18B2F50D4AC	Pretztail-TroubleInParadise-Black-Rhys-PV.jpg (Variant 15)
D772B9106F1F0425 945FD4B86C41E59C	Fizzlybear-TroubleInParadise-Black-Maya-PV.jpg (Variant 15)
9A586E134D21E62C 945FD5B17C41D49C	Vulchurro-TroubleInParadise-Green-Evie-PV.jpg (Variant 7)