Piñata Vision barcode/Variant bits

From PinataIsland.info, the Viva Piñata wiki
Revision as of 02:00, 2 April 2011 by FeralKitty (talk | contribs) (Variant data is 4-bits, and follows the name data (for named pinatas) or the use cost (for player-created pinatas, whether or not accessorized).)
Jump to: navigation, search

Types of variant data

The game supports two types of variants. The first are the Journal variants (often labeled as Variant 1, 2, and 3). These variants are obtainable in-game by feeding a pinata a certain item.

The second type of variants are the PV-exclusive variants. These extra colors aren't normally available in-game, but can be obtained by scanning other variant cards and black variant cards.

In terms of the barcode (and card description), these two types of variant data are identical, and the variant data is stored in the same 4-bit field, regardless of whether it's an in-game variant, or PV-exclusive color.

The encoded values are distinctly numbered. For example, Image:Kittyfloss-TroubleInParadise-Orange-Harrison-PV.jpg, labeled as Variant: 2, Variant description: Orange, is distinct from in-game variant 2 for the Kittyfloss, which is actually encoded as 4.

Variant data

The variant data is a 4-bit field. It's not certain yet if this field is optional, or also exists for normal pinatas.

This field is likely specific to the PlaceTag species card type.

Based on descriptions from Vision_Single cards, GoodVariants values range from 2 to 10, while Blackariants are always 15. In-game variants share similar (non-conflicting) numbering, using 3 of the possible values in the GoodVariants range.

PlaceTag species variant cards are two (or more) rows, unlike normal (non-variant, non-wildcard) pinata cards which are typically a single barcode row.

Like the PlaceTag species variant cards, GoodVariants and Blackariants cards also use two barcode rows.

GoodVariants and Blackariants data

Location of variant bits

Variant data may be encoded in row 1, or row 2, depending on the presence of other optional data. For named pinatas, such as the GoodVariants, the variant data follows the (variable-length) name data, certainly meaning it's in row 2 for those cards. Notice in the following example that the row 1 barcode is identical, although the cards are for two different variant colors (5 and 6).

D37248104F172B35 9A9C55CDE356E216	Vision_Single_GoodVariants_goose_41.jpg (5, James)
D37248104F172B35 9B636492E839E419	Vision_Single_GoodVariants_goose_42.jpg (6, James)

The offset for the variant data varies, depending on what other optional data (e.g., pinata name, accessories) is encoded on the card. The 4-bit (Black/Good) variant data appears 5 bits after the end of the name data. The 4-bit (in-game) variant data appears 5 bits after the use cost for player-created pinata cards.

Variant data for player-created cards with no accessories can be found at offset 56 (since there is no optional data to shift the use cost and variant data into row 2).

Decoding variant bits

After filtering out other 2-row cards (Learn Trick, Perform Trick, and RomanceMusic), what generally remains are the following types of two-row cards:

  • Normal pinatas with accessories
  • Wildcard (non-variant) pinatas
  • In-game variant pinatas
  • GoodVariants and Blackariants pinatas

It's uncertain if PlaceTag species and GoodVariants/Blackariants variant data share (overlap?) a common field (location?). While obfuscation set 6 wildcards do appear to consistently decode as variant 0, correct Journal variant values will be needed to see if PlaceTag species variants also decode to expected values.

GoodVariants IDs

It's unknown what the GoodVariants _nnn filename values refer to, although they are unrelated to the species IDs, as seen in the Blackariants _nnn filename values.

Row 2 obfuscation set selection/progression

To be determined. Possibilities are based on name length byte, name bits, variant bits, and/or possibly a row 2 (GoodVariants?) ID.

Working notes

Keeping the barcode comparisons for now, to refer to them while proving/disproving row 2 speculation, but the information will eventually get discarded, or condensed and folded into the article content.

Row 2 similarities for PlaceTag species

These same-species variants only differ in a few (row 2) bits, leading to speculation that the variant data is the only differing row 2 field.

D160783A3F74A3CF 94B87E37198A2144	Camello-TroubleInParadise-Variant2-PV.jpg
F8F271A4DE8A2D1D 94B87F37188A2144	Camello-TroubleInParadise-Variant3-PV.jpg

                                             42
 Description           VPID  Barcode row 2   04
-----------------------------------------------
CamelloVariant2          23 94B87E37198A2144 01  0x0017 0b0000000000010111
CamelloVariant3          23 94B87F37188A2144 10  0x0017 0b0000000000010111

FE49F0A08CC60807 96BA75F21C2A9F86	Buzzenge-TroubleInParadise-Variant2-PV.jpg
9A582F460D5432DC 96BE7AE21C2A9F86	Buzzenge-TroubleInParadise-Variant1-PV.jpg

                                             544443
 Description           VPID  Barcode row 2   032106
---------------------------------------------------
BuzzengeVariant2         16 96BA75F21C2A9F86 001011  0x0010 0b0000000000010000
BuzzengeVariant1         16 96BE7AE21C2A9F86 110100  0x0010 0b0000000000010000

A2624406F90E44A2 D68A79F29E0A86B6	Mothdrop-TroubleInParadise-Variant3-PV.jpg
A2624406E80E45B2 D68E75E29E0A86B6	Mothdrop-TroubleInParadise-Variant2-PV.jpg

                                             5443
 Description           VPID  Barcode row 2   0326
-------------------------------------------------
MothdropVariant3         79 D68A79F29E0A86B6 0101  0x004f 0b0000000001001111
MothdropVariant2         79 D68E75E29E0A86B6 1010  0x004f 0b0000000001001111

9F6F2386EA4DE6E6 AA42B893D0410DB5	Chocstrich-TiP-Variant3-PV.jpg
F5F271A4DEBA275D AA52B893D0412DB5	Chocstrich-TroubleInParadise-Variant2-PV.jpg

                                             51
 Description           VPID  Barcode row 2   23
-----------------------------------------------
ChocstrichVariant3       84 AA42B893D0410DB5 00  0x0054 0b0000000001010100
ChocstrichVariant2       84 AA52B893D0412DB5 11  0x0054 0b0000000001010100

E07B65A20331DA80 E0CE52C2E40E87B0	Robean-TroubleInParadise-Variant2-PV.jpg
8760B0A53992E53B E0CE52E2E00E87B0	Robean-TroubleInParadise-Variant1-PV.jpg

                                             32
 Description           VPID  Barcode row 2   76
-----------------------------------------------
RobeanVariant2          103 E0CE52C2E40E87B0 01  0x0067 0b0000000001100111
RobeanVariant1          103 E0CE52E2E00E87B0 10  0x0067 0b0000000001100111