Difference between revisions of "Piñata Vision barcode/Name bits"

From PinataIsland.info, the Viva Piñata wiki
Jump to: navigation, search
(Needs many corrections. Link to encoded data article for now.)
(Bring article up-to-date with respect to known encoded data. Reader can now decode names from almost every card with known names.)
 
Line 1: Line 1:
__NOTOC__
+
Pinata names can be found encoded on cards released by Rare.  Examples of such cards are the PV-exclusive [[Black variant cards|black]] and [[Other variant cards|other variant]] cards, the [[Gallery of special Piñata Vision images|holiday and themed cards]], and the pre-launch cards (e.g., [[:Image:BunnycombPV.jpg|BunnycombPV.jpg]]).
: ''Note: Much of this information is out-of-date/wrong, and needs to be updated.  (E.g., there is no name length data; the character set is 5 bits (not 7 or based on ASCII); the name data can start in row 1 if no other optional data is present to shift it into row 2.)  Refer to the [[Piñata_Vision_barcode/Encoded_data#Name|encoded data]] article for more up-to-date information.''
 
  
== Name data ==
+
Cards shared by gamers at [http://VivaPinata.com/ VivaPinata.com] do not have pinata names.
 +
 
 +
=== Name flag ===
 +
 
 +
The [[Piñata_Vision_barcode/Encoded_data#Name_flag|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.)
 +
 
 +
{| class="collapsible collapsed"
 +
|-
 +
!Offset for name flag
 +
|-
 +
|
 +
{| border="1" class="pii_species_variants" style="text-align:center"
 +
|-
 +
!Offset!!Condition!!Name offset!!Examples
 +
|-
 +
|39||AF=0 (and bit26=0?)||41||align="left"|Vision_Single_Blackariants; Vision_Single_GoodVariants
 +
|-
 +
|66?||AF=1||69||align="left"|BunnycombPV (3 accessories)
 +
|-
 +
|30?||?||31||align="left"|Jinjo-Banjo_Kazooie (wildcard, no accessories)
 +
|-
 +
|63?||?||65||align="left"|Banjo-Banjo_Kazooie (GoodVariant, 2 accessories)
 +
|}
 +
|}
  
Based on released GoodVariants and Blackariants cards, encoded names are 3 to 9 characters long, the longest (and only 9-character name) being [[:Image:Chewnicorn-TroubleInParadise-Black-Francesca-PV.jpg|Francesca]].
+
=== Name length ===
  
Other cards with longer names include [[:Image:Tusk-Killer_Instinct-PV.jpg|Uncle Tusk]], [[:Image:Pengum-TroubleInParadise-TeamMember-14-PV.jpg|Fiddy Pence]], [[:Image:Custacean-TroubleInParadise-TGS08-PV.jpg|Maximum Carnage]], and [[:Image:Geckie-TroubleInParadise-TGS08-PV.jpg|Geckiesaurus Rex]].
+
The variable-length [[Piñata_Vision_barcode/Encoded_data#Name|name data]] does not contain an encoded length/count. Instead the name is terminated with a null character (\0, called NUL).
  
Based on the above names, the name length data is possibly a 5-bit field (0-31, with the likelihood that 0 indicates the absence of a variable-length name field to follow).
+
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.)
  
From the [[#Decoding_name_data|results]] of ([[Piñata_Vision_barcode/Obfuscation_set|obfuscation set]] C) cards that have been decoded so far, it's possible that the name itself may be encoded as (7-bit?) ASCII characters.  Other sets need to be checked to verify if punctuation and spaces are likewise encoded as ASCII.
+
For GoodVariants and Blackariants cards, encoded names are 3 to 9 characters long, the longest (and only 9-character name) being [[:Image:Chewnicorn-TroubleInParadise-Black-Francesca-PV.jpg|Francesca]].
  
It's uncertain yet if/how accented or multi-byte Unicode characters (e.g., CJK) are encoded.
+
Other cards with longer names include [[:Image:Tusk-Killer_Instinct-PV.jpg|Uncle Tusk]], [[:Image:Pengum-TroubleInParadise-TeamMember-14-PV.jpg|Fiddy Pence]], [[:Image:Custacean-TroubleInParadise-TGS08-PV.jpg|Maximum Carnage]], and [[:Image:Geckie-TroubleInParadise-TGS08-PV.jpg|Geckiesaurus Rex]].
  
== Location of name length bits ==
+
== Name data ==
  
GoodVariants and Blackariants cards encode name length data in row 2, as determined by checking rows 1 and 2 for all obfuscation sets.  It's likely that PlaceTag species also have a name length field in row 2, although the lack of specific name data for those cards makes it impossible to verify at this time.
 
  
== Decoding name length bits ==
+
=== Location of name data ===
  
{| class="collapsible collapsed"
+
[[Piñata_Vision_barcode/Encoded_data#Name|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.
!Reading name length data from obfuscation set 2 cards
 
|-
 
|
 
<pre>
 
% egrep "^[0-9A-F ]{32}2" barcodes.txt | ./barcodetxt2bitdiff.pl --short --namelen | ./reader.pl --namelen | egrep -v "        0      "
 
B._Orchid-Killer_Ins 9 E1E8C94D1D3E907E862310C95B859A62222CE0C6932E80B2                NAMELEN = 1001    9
 
Christmas-12.25.2008 7 B18177A5BDFE1C9362BF4624050612F2F64D2CA27C7452174ED8F0B56F061703 NAMELEN = 0111    7
 
Tusk-Killer_Instinct 10 FE35B5B46A03DF5BF736C2C6BF0EED6283CD55C21F0FF2F4                NAMELEN = 1010    10
 
Black_flyingpig    6 E07B76921B8641D04363E08C768C9702                                NAMELEN = 0110    6
 
Black_horse        3 C02EFAB3FC45C649F29EE298258F17B2                                NAMELEN = 0011    3
 
Black_hydra        4 A2F8D58F59901FDABD68A6388136D502                                NAMELEN = 0100    4
 
Black_lemmingpest  4 D761959578F6492BBD6556381936D202                                NAMELEN = 0100    4
 
Black_snowrabbit    3 E7BCB0A0D0C52D37F283E298458F17B2                                NAMELEN = 0011    3
 
Black_ostrich      4 A2F8D58E5E1BADDA4D6E56389936D6B2                                NAMELEN = 0100    4
 
Black_sandbuzzard  4 CEEE69162D3BB0A4BD6456385936DB82                                NAMELEN = 0100    4
 
Black_sandsnake    3 EE89E1A8D8E56D27F2D5E29D458F37B2                                NAMELEN = 0011    3
 
Good_monkey        4 A2FF7406100E5A12BD69A638992FD482                                NAMELEN = 0100    4
 
Good_pigeon        6 F43E3EF3FC4596B992F2438C990D85F2                                NAMELEN = 0110    6
 
Good_ostrich        4 E4647B3B3B61538FBD60A638592FD482                                NAMELEN = 0100    4
 
Good_ladybird      8 CB7E6A360D0FE2D404C9447C4AABE492                                NAMELEN = 1000    8
 
</pre>
 
|}
 
  
== Location of name data ==
+
=== Decoding name data ===
  
Names appear to be encoded starting in row 2, with longer names continuing on to row 3.
+
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.)
  
== Decoding name data ==
+
It's probable that accented or multi-byte Unicode characters (e.g., CJK) cannot be encoded on a card.
  
By decoding the name length field, then decoding the following ''namelen'' characters, names can be read from the barcode.  (Results stop at 6 characters, due to the lack of enough similarly-obfuscated longer-name cards.)
+
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.)
  
 
{| class="collapsible collapsed"
 
{| class="collapsible collapsed"
!Reading name data from obfuscation set C cards
+
!Reading name data from all cards with known names
 
|-
 
|-
 
|
 
|
 
<pre>
 
<pre>
% egrep "^[0-9A-F ]{32}C" barcodes.txt | ./barcodetxt2bitdiff.pl --short --name | ./reader.pl --names
+
% ./barcodetxt2bitdiff.pl --short --name < barcodes.txt | ./reader.pl --names
Black_bear          Maya       D772B9106F1F0425945FD4B86C41E59C                                Namelen = 4 Name = Maya
+
B._Orchid-Killer_Ins B Orchid E1E8C94D1D3E907E862310C95B859A62222CE0C6932E80B2       
Black_bluebottle    Henry      C47E77F3EC4596A92754CB15FAFBD6AC                               Namelen = 5 Name = Henry
+
Banjo-Banjo_Kazooie Banjo E07B7AEBE16FE0F0B33D00D6007BCF48                               
Black_chameleon    Finlay     D52CDFF36C4596B930B040B6BFBB599C                                Namelen = 6 Name = Finlay
+
BunnycombPV        Aaron E07B6404197A0590014F13122AC41E53                               
Black_cow          Ellie      C94D6E134D0446CCC1802815F8CAC3AC                               Namelen = 5 Name = Ellie
+
Christmas-12.25.2008 Rudolph B18177A5BDFE1C9362BF4624050612F2F64D2CA27C7452174ED8F0B56F061703
Black_fox          Rhys       D4FBCA4E0F98F7AE945FD18B2F50D4AC                                Namelen = 4 Name = Rhys
+
DoenutPV            Louie E07B7C0418412930B6A03DF1CDEADD15                                Name =  x
Black_orangebutterfl Benjamin   E471793A7872A38F71B6E394DCDEE3BC                                Namelen = 8 Name = Benjam
+
Jinjo-Banjo_Kazooie Jinjo E07B6D70DD32E7B08D2850CF4CD4C5AA                                Name = Njo x
Black_pony          Keira     B3F171A0BDFD067335542B15FBEBC7AC                                Namelen = 5 Name = Keira
+
SweetlePV          Brandon E07B5E04195522F033EA3458E4D56CC1                               
Black_snailpest    Kieran     A0FE543F350B5F32144263E69C8B58AC                                Namelen = 6 Name = Kieran
+
Tusk-Killer_Instinct Uncle Tusk FE35B5B46A03DF5BF736C2C6BF0EED6283CD55C21F0FF2F4        Name =  x
Black_unicorn      Francesca BC8174A07DFE06E31098FCBC0C65C0AC                               Namelen =  9 Name = France
+
Black_ant          Alex A26AB4361A0F5BD202FF53465A6E174A                                Name = Alex
Black_whitebutterfly Summer     877DB9204C1A0415909008F68F9B18BC                                Namelen = 6 Name = Summer
+
Black_badger        Leah 9A4D2E134F55ED6C64FE4FA71E0C8C0E                                Name = Leah
Black_penguin      Daniel    F966D06B27CE517194826266BE9B188C                               Namelen = 6 Name = Daniel
+
Black_bat          Alicia EEB9F1A8B8F57E278763DBA5D91C4B27                                Name = Alicia
Black_snowtiger    Lydia     E78CA0A4D3D42F6795B02B15FBF9F3AC                                Namelen = 5 Name = Lydia
+
Black_batpest      Keira D1C8F80E0AE0F7AE78E28B3C0FCDA2F0                                Name = Keira
Black_sandant      Mia        836195952A2BC52BE6769697BF19E6FC                               Namelen = 3 Name = Mia
+
Black_bear          Maya D772B9106F1F0425945FD4B86C41E59C                                Name = Maya
Good_bat            Mia       E4653B3B3F14538FE676CF169F09E6FC                                Namelen = 3 Name = Mia
+
Black_beaver        Max 836195952B25582B8F63A0EC4D2F9A5A                                Name = Max
Good_chameleon      Amelia    F976D2B826EE4A2136B268A68FBBB0BC                               Namelen = 6 Name = Amelia
+
Black_bee          Eva E07B7F521B9565B0DA77B93F1A0F089E                                Name = Eva
Good_hydra          Jayden    D1FBE84E1FC2F7AE308023D28DBA80AC                               Namelen = 6 Name = Jayden
+
Black_blackbutterfly Alice CFBA669D9F58E6568112F71B62157CF5                                Name = Alice
Good_snail          Alice     D0F8DA0E1630F7AEC1926815FC94F7AC                                Namelen = 5 Name = Alice
+
Black_bluebottle    Henry C47E77F3EC4596A92754CB15FAFBD6AC                                Name = Henry
Good_vulture        Evie       9A586E134D21E62C945FD5B17C41D49C                                Namelen =  4 Name = Evie
+
Black_bluebutterfly Robert E431687B3D09538FCB39D238D07DC5E6                                Name = Robert
Good_armadillo      Ethan      86B393A42F2ECD1897913855FD31E78C                               Namelen = 5 Name = Ethan
+
Black_boomslang    Archie 836195902820813B6AF0191B4A680CAF                                Name = Archie
 +
Black_brownbutterfly Amy A26A942F110E5B42D66788AC7FEE0C07                                Name = Amy
 +
Black_bushbaby     Jessica D172B1324F5F0835886FC7842F0E4491                                Name = Jessica
 +
Black_buzzard      Ava A2F8D48C480E9EFA8683F11D2DED9606                                Name = Ava
 +
Black_canary        Lydia C94D6E134F5030EC925ED552913CE6E4                               Name = Lydia
 +
Black_cat          Zara D5FBE85E5E66F7AEBA81D1B0385F3497                                Name = Zara
 +
Black_chameleon    Finlay D52CDFF36C4596B930B040B6BFBB599C                                Name = Finlay
 +
Black_chicken      Leon F97FD4A826AE50C1627810DB56122581                                Name = Leon
 +
Black_cow          Ellie C94D6E134D0446CCC1802815F8CAC3AC                                Name = Ellie
 +
Black_crocodile    Matthew CDAA6492CE50C0F654207F821F6BDF50                                Name = Matthew
 +
Black_crocodilepest John B5E271E0D9184D5D5AB180B8786F3587                                Name = John
 +
Black_crow          Callum D0C8E80D5D38F7AE598DF5B40FBBF32D                                Name = Callum
 +
Black_crowpest     Lilly D36195957E2F683B37A8C019263FB38D                                Name = Lilly
 +
Black_deer          Eva E7B9F0A8FDC16C27B0175A9A68F2198B                                Name = Eva
 +
Black_dog          Aidan C95D6E134C0418EC905BB5B2E1037674                                Name = Aidan
 +
Black_dragonfly    Amelia E4713A3B7FB7A38F6544E8AA64FBCD1B                                Name = Amelia
 +
Black_duck          Billy D0FBC80D5D8DF7AE1410C1CD06E64F5B                                Name = Billy
 +
Black_eagle        Hayden D37249104F562B05679815CA637B1F88                                Name = Hayden
 +
Black_elephant      Lewis CA4D6E134F57E9DCC192C05B007FB38D                                Name = Lewis
 +
Black_firefly      Matthew E78CA058B0E46F770393E574087F5613                                Name = Matthew
 +
Black_firesalamander Harvey E07B76121BDCA470778D050FF23B1F88                               Name = Harvey
 +
Black_flyingpig    Amelie E07B76921B8641D04363E08C768C9702                                Name = Amelie
 +
Black_fox          Rhys D4FBCA4E0F98F7AE945FD18B2F50D4AC                                Name = Rhys
 +
Black_frog          James EE89B1A881E06D27B661CAA4951702BF                                Name = James
 +
Black_goose        Daniel D03CDAF3FC4596B9D986C45F4F1ECAD5                                Name = Daniel
 +
Black_grasssnake    Kian D77258004F1E200571D67BCE85076AB0                                Name = Kian
 +
Black_greenbutterfly Megan 9F4A6A9FCE58F2F6925A45B2E1135654                                Name = Megan
 +
Black_hedgehog      James D76195943B0B6A2BAB6364927878B019                                Name = James
 +
Black_hippo        Jayden DEE66AA47D0BE0B443B40FA965DBDD5B                                Name = Jayden
 +
Black_horse        Kai C02EFAB3FC45C649F29EE298258F17B2                                Name = Kai
 +
Black_hydra        Jake A2F8D58F59901FDABD68A6388136D502                                Name = Jake
 +
Black_lion          Zak F976D67B277E61018703617856E77C98                                Name = Zak
 +
Black_mandrill      Finlay F56E2FF36C4596B942E522818BC8B173                                Name = Finlay
 +
Black_mandrillpest  Matthew E78CA078B8C06D373A899EDF4F5D67BE                                Name = Matthew
 +
Black_mole          Andrew C9AD6E134C0BA47C43F52D8004C780B3                                Name = Andrew
 +
Black_molepest      Scarlett E07B59921BAE0550442AA42CEE057690                        Name = Scarlett
 +
Black_monkey        Aaron B7E1E3A06DF60FF3A5E204C27D2CBA09                                Name = Aaron
 +
Black_moth          Harley D1EBE85E5810F7AE5168F4594AA61BF1                                Name = Harley
 +
Black_mouse        Amber E7B9E1A9B9D52D278D16F31B70A46CF5                                Name = Amber
 +
Black_newt          Maisie D1D8E80E0B2BF7AEAC3BA0EF6C15070A                                Name = Maisie
 +
Black_orangebutterfl Benjamin E471793A7872A38F71B6E394DCDEE3BC                       Name = Benjamin
 +
Black_parrot        Morgan 9D4ADA929E52C2E6BA68F4B84AA605A1                                Name = Morgan
 +
Black_pig          Shannon F53A3AB36904C6493D106B845C5D67BE                               Name = Shannon
 +
Black_pigeon        Lexie E4647939287DA38FF8E28B3D2FCFF520                                Name = Lexie
 +
Black_pinkbutterfly Connor 869297812F6ECF08038394AEBD0CAB17                                Name = Connor
 +
Black_poisonfrog    Jayden D36195943BDAAA2B6782944FBF1AC195                                Name = Jayden
 +
Black_pony          Keira B3F171A0BDFD067335542B15FBEBC7AC                                Name = Keira
 +
Black_purplebutterfl Aidan 876195902ADBD02BA5F204C2ED2CFA19                                Name = Aidan
 +
Black_rabbit        Grace 85F079A4C958608D935FF522B12CA664                                Name = Grace
 +
Black_raccoon      Lucas 96FEFA9FCE5DD066971E650299CCB654                                Name = Lucas
 +
Black_raccoonpest  Georgia F93FD4A426CE48914341EE146B7B76D3                                Name = Georgia
 +
Black_redbutterfly  Jamie E07B65121BD3B990B2C0E6F12A1F4AD1                                Name = Jamie
 +
Black_sheep        Rosie F07AD4F7F94B9249905F25B2C12CB624                                Name = Rosie
 +
Black_snail        Oscar C43AC7B7E9449209A8D27DA3E8730CA8                                Name = Oscar
 +
Black_snailpest    Kieran A0FE543F350B5F32144263E69C8B58AC                                Name = Kieran
 +
Black_sparrow      Poppy 85E239E03C58741D02C031AD2A186EA1                                Name = Poppy
 +
Black_spider        Anna EE89E1A9F1D52C67BA05D0B03D7A35C7                                Name = Anna
 +
Black_squirrel      Sara 876195816B8E3B2BB2257B322B676E0B                                Name = Sara
 +
Black_swan          Dylan A2F8D4AE1C987EDA8792A039E316E676                                Name = Dylan
 +
Black_unicorn      Francesca BC8174A07DFE06E31098FCBC0C65C0AC                       Name = Francesca
 +
Black_whitebutterfly Summer 877DB9204C1A0415909008F68F9B18BC                                Name = Summer
 +
Black_wolf          Daniel B7C1E0A85CFB1F738E828AA99982BB07                                Name = Daniel
 +
Black_wolfpest      Bethany B7C172A07C6016B36333EBC4A87DE6C3                                Name = Bethany
 +
Black_worm          Shannon D4C8CA1E1240F7AE05B451ECE84132B9                                Name = Shannon
 +
Black_yellowbutterfl Ethan 876195912D70502B8EC2A239E31FC666                                Name = Ethan
 +
Black_zebra        Jamie 876195943F246A3B8512E70B02A77CE5                                Name = Jamie
 +
Black_lemming      Jasmine FBF238E4D918687D81411CB638352ACB                                Name = Jasmine
 +
Black_lemmingpest  Luke D761959578F6492BBD6556381936D202                                Name = Luke
 +
Black_moose        Sean D4C8F81E1852F7AE0940F50BA3E97F9D                                Name = Sean
 +
Black_penguin      Daniel F966D06B27CE517194826266BE9B188C                                Name = Daniel
 +
Black_polarbear     Dominic 869287B06F67CF08DE2A7444D91B7EED                                Name = Dominic
 +
Black_robin        Harley F16CE7F3FC4BC6B972FF9B180B2B0CFF                                Name = Harley
 +
Black_snowfox      Harrison F94FD444267E40A152AD208D61C7E499                        Name = Harrison
 +
Black_snowgoose    Kai DEEE6A343C0BE0B4B1B5A41B6812BDB3                                Name = Kai
 +
Black_snowowl      Keira A2F8D5AD499EDEDA13FD7633A316ED76                               Name = Keira
 +
Black_snowrabbit    Leo E7BCB0A0D0C52D37F283E298458F17B2                                Name = Leo
 +
Black_snowtiger    Lydia E78CA0A4D3D42F6795B02B15FBF9F3AC                                Name = Lydia
 +
Black_yak          Evie 877DB9324D952425FE4C9C11215ADFC5                                Name = Evie
 +
Black_yeti          Brooke A2F8D48E506B0EFAFE92F9F01B58C63D                                Name = Brooke
 +
Black_camel        Evelyn D0D9F91C1D20F7AE593CB02F7A33868E                                Name = Evelyn
 +
Black_gecko        James 9A586E134E179D3CF1F92522D72EB76A                                Name = James
 +
Black_hyena        David E07B73521B9CA0909AB06435B8451D87                                Name = David
 +
Black_ostrich      John A2F8D58E5E1BADDA4D6E56389936D6B2                                Name = John
 +
Black_sandant      Mia 836195952A2BC52BE6769697BF19E6FC                                Name = Mia
 +
Black_sandbuzzard  Kyle CEEE69162D3BB0A4BD6456385936DB82                                Name = Kyle
 +
Black_sandrhino    Elliot C94D6E134D06B63CF3DA26B1D8C300D3                                Name = Elliot
 +
Black_sandsnake    Ben EE89E1A8D8E56D27F2D5E29D458F37B2                                Name = Ben
 +
Black_sandspider    Eve E475292B7F96A38F99744C9B4E014181                                Name = Eve
 +
Black_scarab       Joshua E78CB1EBDDE07D3727123900C33E8654                                Name = Joshua
 +
Black_scorpion      Sofia C24EDA969E5D2476D43A2BD7D00ED74E                                Name = Sofia
 +
Black_scorpionpest  Niamh 8786B7854F269F88B4FC4B92ED638119                                Name = Niamh
 +
Black_vulture      Joseph F936D758263E4211D20935802BC800D3                                Name = Joseph
 +
Black_armadillo    Luca D17DB8306D1E0015D4FE1CB31E0C8C0E                                Name = Luca
 +
Black_crab          Ashton D3619590287B506B5952F4F28BB8E72D                                Name = Ashton
 +
Black_gorilla      Oliver 86B682932B6F9D18517458FD3C05034A                                Name = Oliver
 +
Black_ladybird      Amy E4713A393B17A38FB205FB1F6812BD43                                Name = Amy
 +
Black_owl          Sienna D76195816ADF853B0168AF118AA61831                                Name = Sienna
 +
Black_peacock      Bethany B3C172A87DF006B3526C9D234A3758FA                                Name = Bethany
 +
Black_rhino        Alicia 8686B3913B2F9D18FE4DF9408DB9D73D                                Name = Alicia
 +
Black_rhinopest    Thomas F95FD018275E76C1B22530B0C8DC80E3                                Name = Thomas
 +
Black_skunk        Isabella 847279A4CC186D4D056CEB090D7DB06A                        Name = Isabella
 +
Black_skunkpest    Imogen CEE62AE41D0FB0F4A12D9ACF3C01164A                                Name = Imogen
 +
Black_smallbird    Aimee E17EC6B36C459649D26B68C6F50ED64E                                Name = Aimee
 +
Black_tiger        Zachary E07B62521BF3B38016B26745E7B20D08                                Name = Zachary
 +
Black_turtle        Adam D73248220D9A0825B3F398CC8F2B7363                                Name = Adam
 +
Black_walrus        Faith 9FEA6492CE18E6764223FCA0FD3D0678                               Name = Faith
 +
Black_warthog      Liam D1CBC81E1246F7AE964C3B34A0919E49                                Name = Liam
 +
Good_bat            Mia E4653B3B3F14538FE676CF169F09E6FC                                Name = Mia
 +
Good_bear          Andrew D0F8D91D4E40F7AE43B7718824F3AE1B                                Name = Andrew
 +
Good_bee            Leon E07B7F521BCC57C06078136B46122C81                                Name = Leon
 +
Good_bee            Evelyn 846078A4D9586EFD6B9BC16FBF1EC585                                Name = Evelyn
 +
Good_bluebottle    Ben A26BA426130F5A02B10178BA38F2198B                                Name = Ben
 +
Good_boomslang      Harvey 99A86E134E559C6C512240FD6C6A520A                                Name = Harvey
 +
Good_boomslang      Elliot A2FAF4263C0E5B9281F5F57E7A1786DE                                Name = Elliot
 +
Good_boomslang      Amelie B7F1E0A03DF11FF34544A8AA64CD0C0B                                Name = Amelie
 +
Good_bushbaby      Sofia D47ACEB7F94496B9B2D1CAF85B3CCF03                                Name = Sofia
 +
Good_canary        Isabella E461297B3F32538F050FC4AE215526BD                        Name = Isabella
 +
Good_cat            Harrison 99AD6E134E553CFC52AD208DE12FC019                        Name = Harrison
 +
Good_chameleon      Brandon D0FAE91E1D64F7AE368178845C1CF7BE                                Name = Brandon
 +
Good_chameleon      Amelia F976D2B826EE4A2136B268A68FBBB0BC                                Name = Amelia
 +
Good_chameleon      Billy E4717B3A6D65A38F02E032762F1848C1                                Name = Billy
 +
Good_chameleon      Eve C42CDFB7EC049649C835493F1A0F089E                                Name = Eve
 +
Good_chicken        Ashton F97FD3E026AE4CB13089F1DFC3ED5566                                Name = Ashton
 +
Good_cow            Benjamin B3C170A05D601FE361E31BA115A3234F                        Name = Benjamin
 +
Good_cow            John D1FAEB0F5D7FF7AE21ED0A8E1E0C8C6E                                Name = John
 +
Good_cow            Sienna D1F278A4D9187E2D07208B19F9484E17                                Name = Sienna
 +
Good_crocodile      Megan C43E7BB3EC45C24995F0BB188B560D97                                Name = Megan
 +
Good_crocodile      James DEE66A946C1BE2B49A9C55CDE256C006                                Name = James
 +
Good_crocodile      Jayden 96B287A55B26CF886582854FFF5AC195                                Name = Jayden
 +
Good_deer          Kai F966D46B26AE598186B3F51D787C9D66                                Name = Kai
 +
Good_dog            Keira C65A659FCE58E2E625B8C834C47BF39D                                Name = Keira
 +
Good_dragonfly      Aaron F956D244263E48B18230A209DF1B4291                                Name = Aaron
 +
Good_dragonfly      Sean D1792EB3EC44C64943F188CD0B265123                                Name = Sean
 +
Good_dragonfly      Harley D37649004D5608055168F44A4A161D91                                Name = Harley
 +
Good_duck          Matthew CE7E6AA41C1BF0A473A1F5CBAE78A646                                Name = Matthew
 +
Good_duck          Callum D16C3AB3FC4592B9033CB82E7A0386DE                                Name = Callum
 +
Good_duck          Eva E475292B3F96538F8F83F11D38FFCD06                                Name = Eva
 +
Good_duck          Hayden E46078393F86538F6371C081602BB123                                Name = Hayden
 +
Good_duck          Aidan D9F278E0CC186BBDDD4B78C3BB0ED40E                                Name = Aidan
 +
Good_elephant      Harley 97B6A3855B66CF885168F4494A171D81                                Name = Harley
 +
Good_firefly        Kian A2F8D5AD19DA3DDA6E528C75F05ADFB5                                Name = Kian
 +
Good_firesalamander Bethany D06E24F3EC4B92B9526C8E731A3752DA                                Name = Bethany
 +
Good_firesalamander Morgan 97B6A7B05F2ECF08E9182F3F3ADC2700                                Name = Morgan
 +
Good_firesalamander Dominic EE89F0A4D3E03D27DC1AE444D95B2EED                                Name = Dominic
 +
Good_firesalamander Daniel 876195917B044B3BD2F3700A08590CAF                                Name = Daniel
 +
Good_flyingpig      Aidan 87A7A7A46B2F9F888230A221DF1B4741                                Name = Aidan
 +
Good_flyingpig      Grace BCB1E4A0FD6716639AB2B971DC563C87                                Name = Grace
 +
Good_flyingpig      Lucas CA5D6E134F53A0EC9980B4504D542C87                                Name = Lucas
 +
Good_flyingpig      Jamie DAF270A4DC1868ED85626492E820A819                                Name = Jamie
 +
Good_flyingpig      Alicia E4713A6A3F8F538FE83B083F7B53863E                                Name = Alicia
 +
Good_flyingpig      Thomas BC81EDA03D6E1613B20530B8D8DF88A3                                Name = Thomas
 +
Good_fox            Archie A2F8D48C58D23CFA673376F0507B1D18                                Name = Archie
 +
Good_fox            Robert BEC1EBA06D6716C3C139D9C84377EF54                                Name = Robert
 +
Good_frog          Lydia 876195957904883BD1392AD6620ED74E                                Name = Lydia
 +
Good_goose          Rhys E07B71121BB2CA60D167BA9B7F1608BF                                Name = Rhys
 +
Good_goose          James D37248104F172B359A9C55CDE356E216                                Name = James
 +
Good_goose          James D37248104F172B359B636492E839E419                                Name = James
 +
Good_grasssnake    Leah BCD170A8EDFD16636378118B4F122B81                                Name = Leah
 +
Good_grasssnake     Alicia 9A582E134C066BDC8168B8A40A5695E1                                Name = Alicia
 +
Good_horse          Finlay 99482E134D161DCC61324A6D2B5E86DE                               Name = Finlay
 +
Good_hydra          Shannon BCB178A03DFE1633584124101A3653FA                                Name = Shannon
 +
Good_hydra          Lexie DEE729746C0BF0E4A1292572782CB26A                                Name = Lexie
 +
Good_hydra          Jayden D1FBE84E1FC2F7AE308023D28DBA80AC                                Name = Jayden
 +
Good_hydra          Connor EE89E0A4B3C07F2773E54AFC6F61920A                                Name = Connor
 +
Good_lion          Niamh E4657B3B3B41A38F83A1D178CA1B2FF3                                Name = Niamh
 +
Good_lion          Aimee 9A586E134C0BCD3CD26B28D7670ED64E                                Name = Aimee
 +
Good_lion          Poppy E469D7F7F94BC2A94BC0D9B04403002F                                Name = Poppy
 +
Good_lion          Sara B7E1EDA86DFF0F73AF8971C298E4AB16                                Name = Sara
 +
Good_monkey        David F47EDEF3FC4B96B9979C10C8A354E676                                Name = David
 +
Good_monkey        Jake A2FF7406100E5A12BD69A638992FD482                                Name = Jake
 +
Good_moth          Luca B7D1E4A0FDF8065394693410AC999E49                                Name = Luca
 +
Good_moth          Zara FBF239A0CC1872EDD072A8897F1608FF                                Name = Zara
 +
Good_moth          Finlay E07B6EA21B92B8D06E06D97F4F7FC7A5                                Name = Finlay
 +
Good_mouse          Maya B3F172A8BD6F0FE3F0EF1B4C1E0C8C3E                                Name = Maya
 +
Good_mouse          Max EEBCA0A9F8C42D37F8F4090B2B176B0F                                Name = Max
 +
Good_newt          Ellie E4753A6A6873A38FF6E5EB814E4703FF                                Name = Ellie
 +
Good_parrot        Keira E43CEEB3EC45C659213B69F2540EDE4E                                Name = Keira
 +
Good_pig            Leo A36FC40F350F5E42A9786B0A17D567B0                                Name = Leo
 +
Good_pigeon        Kai 9A5D2E134F4A102CFBE1690B2B176A0F                                Name = Kai
 +
Good_pigeon        Lydia 88F278E0DC18633DD340C1CE6CD34E5B                                Name = Lydia
 +
Good_pigeon        Daniel F43E3EF3FC4596B992F2438C990D85F2                                Name = Daniel
 +
Good_pigeon        Oliver DB76FA142D0FA2D46375D9B1642EB193                                Name = Oliver
 +
Good_poisonfrog     Matthew F5F238E03958636D14BA5B8AB065C2A9                                Name = Matthew
 +
Good_rabbit        Amy A2FA941F110B5B42B110709B68F2198B                                Name = Amy
 +
Good_rabbit        Jessica F956D6A0271E4001B14191AC68653EFB                                Name = Jessica
 +
Good_rabbit        Ava 9FBEF59DCF5DD6568683F11D287FC206                               Name = Ava
 +
Good_snail          Eva A2F8D4BC40053EFAF9F5490B2B17685F                                Name = Eva
 +
Good_snail          Alice D0F8DA0E1630F7AEC1926815FC94F7AC                                Name = Alice
 +
Good_snail          Henry E460793A7338A38F11F3BAB14B772C97                                Name = Henry
 +
Good_sparrow        Alex E789F15AF0D53C2763782E0B4613CB81                                Name = Alex
 +
Good_spider        Hayden BED172A8BD670F63121D452FC0FD9566                                Name = Hayden
 +
Good_spider        Kyle E4642B3A68D3A38FF2780DDB4F124701                                Name = Kyle
 +
Good_spider        Lewis F956D4EB27CE50C183C878D6600ED2BE                                Name = Lewis
 +
Good_swan          Amber F86279A0C918644D8812E33B70542DE5                                Name = Amber
 +
Good_swan          Maisie E465383A3AD4A38FE7BB3AD05965EAE9                                Name = Maisie
 +
Good_wolf          Jasmine F4F238E4D9184DAD975267BA71678D08                                Name = Jasmine
 +
Good_wolf          Luke D76195957D66B12B94693A14A8C59E49                                Name = Luke
 +
Good_wolf          Amy F06231A4CC584FBDE1A9AA3653DF27F4                                Name = Amy
 +
Good_wolf          Zak E421783A6615A38F876BAC6BCD58739D                                Name = Zak
 +
Good_camel          Dylan 86A393942F679F88D1ABE1CC63775E4B                                Name = Dylan
 +
Good_camel          Zachary DEEF29C45D1BF284055F70C9C069C649                                Name = Zachary
 +
Good_camel          Adam F97FD28826EE4CC1F5DC0D2C1E0C8CEE                                Name = Adam
 +
Good_camel          Francesca DAEED9944D2BE2B46938582516174921                        Name = Francesca
 +
Good_gecko          Joseph D76195943815812BBA4E9B369924EBA9                                Name = Joseph
 +
Good_gecko          Keira E464393A3E99A38F429190F8FA3ACF23                                Name = Keira
 +
Good_hyena          Faith C12EDFF3FC45C6592751C811C2CBBEBD                                Name = Faith
 +
Good_hyena          Summer DAE729162D3BE0D4B7B6FDAA34D4DE1B                                Name = Summer
 +
Good_ostrich        Liam E4647B3B3B61538FBD60A638592FD482                                Name = Liam
 +
Good_ostrich        Daniel E474783A7871538FA776E4228C65E579                                Name = Daniel
 +
Good_ostrich        Brooke DA7FF9E65C2FF2B4D700F8B09B18C61D                                Name = Brooke
 +
Good_vulture        Shannon 83B2B3B32F6F9F18126DCFC9D20777F1                                Name = Shannon
 +
Good_vulture        Evie 9A586E134D21E62C945FD5B17C41D49C                                Name = Evie
 +
Good_armadillo      Ethan 86B393A42F2ECD1897913855FD31E78C                                Name = Ethan
 +
Good_armadillo     Jamie DEEF2AC46D1BE2B4F6F1C8B1614703FF                                Name = Jamie
 +
Good_crab          Joshua E46168786F7EA38F339DC922C32ED674                                Name = Joshua
 +
Good_crab          Lilly D36195957A2B403B4BF4CA804A53002F                                Name = Lilly
 +
Good_ladybird      Georgia E07B6B521BDE575038CC19730F5C27BE                                Name = Georgia
 +
Good_ladybird      John 9DFEDB969E5DE246422029C428767E0B                                Name = John
 +
Good_ladybird      Scarlett CB7E6A360D0FE2D404C9447C4AABE492                        Name = Scarlett
 +
Good_owl            Bethany D0FBF85D5924F7AE347E97D75D1CB7BE                                Name = Bethany
 +
Good_owl            Matthew E07B69521BC7A2601F67C018DDE82687                                Name = Matthew
 +
Good_owl            Oscar 964EFA9F9E5D34B6A9F37DA3E8732E08                                Name = Oscar
 +
Good_peacock        Kieran E07B69921BCFB15075783998934ED614                                Name = Kieran
 +
Good_peacock        Lauren FAF238A43C18631D6341C9806037B983                                Name = Lauren
 +
Good_peacock        Evie A2F8D4BC4D1A1FDA9EB9E1DDCCEB5B36                                Name = Evie
 +
Good_skunk          Ruby D4FAF81E4C6BF7AED432B9917F1608BF                               Name = Ruby
 +
Good_turtle        Aidan D53658126D1A08358EC25230EC16E456                                Name = Aidan
 
</pre>
 
</pre>
  
 
|}
 
|}
 +
 +
= Working notes =
 +
 
== Matching names ==
 
== Matching names ==
  
Line 212: Line 444:
 
== Non-matching names ==
 
== 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, raising the possibility that a) there is a length "byte" for the name field, and b) the row 2 obfuscation set selection involves bits from that field.
+
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 ===
 
=== Obfuscation set 2, 3-character name ===
Line 233: Line 465:
 
D772B9106F1F0425 945FD4B86C41E59C Fizzlybear-TroubleInParadise-Black-Maya-PV.jpg (Variant 15)
 
D772B9106F1F0425 945FD4B86C41E59C Fizzlybear-TroubleInParadise-Black-Maya-PV.jpg (Variant 15)
 
9A586E134D21E62C 945FD5B17C41D49C Vulchurro-TroubleInParadise-Green-Evie-PV.jpg (Variant 7)
 
9A586E134D21E62C 945FD5B17C41D49C Vulchurro-TroubleInParadise-Green-Evie-PV.jpg (Variant 7)
</pre>
 
 
== Process of decoding names ==
 
 
Assuming the names are encoded as ASCII, change IDs to match the ASCII value of the name's first character  (e.g., Maya, M = 77 decimal).
 
 
<pre>
 
% egrep "^[0-9A-F ]{32}C" barcodes.txt | ./barcodetxt2bitdiff.pl --short --name=1
 
Black_bear          77 D772B9106F1F0425945FD4B86C41E59C Character 1 = M (Maya)
 
Black_bluebottle    72 C47E77F3EC4596A92754CB15FAFBD6AC Character 1 = H (Henry)
 
Black_chameleon    70 D52CDFF36C4596B930B040B6BFBB599C Character 1 = F (Finlay)
 
Black_cow          69 C94D6E134D0446CCC1802815F8CAC3AC Character 1 = E (Ellie)
 
Black_fox          82 D4FBCA4E0F98F7AE945FD18B2F50D4AC Character 1 = R (Rhys)
 
Black_orangebutterfl 66 E471793A7872A38F71B6E394DCDEE3BC Character 1 = B (Benjamin)
 
Black_pony          75 B3F171A0BDFD067335542B15FBEBC7AC Character 1 = K (Keira)
 
Black_snailpest    75 A0FE543F350B5F32144263E69C8B58AC Character 1 = K (Kieran)
 
Black_unicorn      70 BC8174A07DFE06E31098FCBC0C65C0AC Character 1 = F (Francesca)
 
Black_whitebutterfly 83 877DB9204C1A0415909008F68F9B18BC Character 1 = S (Summer)
 
Black_penguin      68 F966D06B27CE517194826266BE9B188C Character 1 = D (Daniel)
 
Black_snowtiger    76 E78CA0A4D3D42F6795B02B15FBF9F3AC Character 1 = L (Lydia)
 
Black_sandant      77 836195952A2BC52BE6769697BF19E6FC Character 1 = M (Mia)
 
Good_bat            77 E4653B3B3F14538FE676CF169F09E6FC Character 1 = M (Mia)
 
Good_chameleon      65 F976D2B826EE4A2136B268A68FBBB0BC Character 1 = A (Amelia)
 
Good_hydra          74 D1FBE84E1FC2F7AE308023D28DBA80AC Character 1 = J (Jayden)
 
Good_snail          65 D0F8DA0E1630F7AEC1926815FC94F7AC Character 1 = A (Alice)
 
Good_vulture        69 9A586E134D21E62C945FD5B17C41D49C Character 1 = E (Evie)
 
Good_armadillo      69 86B393A42F2ECD1897913855FD31E78C Character 1 = E (Ethan)
 
</pre>
 
 
Search within barcode row 2 for obfuscated columns that match values for bits 0-7 of each character.  (... = omitted results for column matches)
 
 
<pre>
 
% egrep "^[0-9A-F ]{32}C" barcodes.txt | ./barcodetxt2bitdiff.pl --short --name=1 | sort --key=3.18 | ./bit_diff.pl --row=2 --bits=0..7
 
                                            666655555555544444444443333333333222222222111111111100000
 
Description          VPID  Barcode row 2  321087654321098765432109876543210986543210987654321098654
 
------------------------------------------------------------------------------------------------------
 
Black_unicorn            70 1098FCBC0C65C0AC 000100010011000111111001011110000001000110010111000000010  0x0046 0b0000000001000110
 
Black_snailpest          75 144263E69C8B58AC 000110001000010011000111110011010011001000101101011000010  0x004b 0b0000000001001011
 
Black_bluebottle        72 2754CB15FAFBD6AC 001011101010100110010110001010111110101111101111010110010  0x0048 0b0000000001001000
 
Good_hydra              74 308023D28DBA80AC 001100010000000001000111101001010001011011101010000000010  0x004a 0b0000000001001010
 
Black_chameleon          70 30B040B6BFBB599C 001100010110000010000001011011010111111011101101011001001  0x0046 0b0000000001000110
 
Black_pony              75 35542B15FBEBC7AC 001110101010100001010110001010111110111110101111000111010  0x004b 0b0000000001001011
 
Good_chameleon          65 36B268A68FBBB0BC 001111010110010011010001010011010001111011101110110000011  0x0041 0b0000000001000001
 
Black_orangebutterfl    66 71B6E394DCDEE3BC 011100110110110111000111001010011011001101111011100011011  0x0042 0b0000000001000010
 
Black_whitebutterfly    83 909008F68F9B18BC 100100010010000000010001111011010001111001101100011000011  0x0053 0b0000000001010011
 
Black_fox                82 945FD18B2F50D4AC 100110001011111110100011000101100101110101000011010100010  0x0052 0b0000000001010010
 
Black_bear              77 945FD4B86C41E59C 100110001011111110101001011100001101000100000111100101001  0x004d 0b0000000001001101
 
Good_vulture            69 945FD5B17C41D49C 100110001011111110101011011000101111000100000111010100001  0x0045 0b0000000001000101
 
Black_penguin            68 94826266BE9B188C 100110010000010011000100110011010111101001101100011000000  0x0044 0b0000000001000100
 
Black_snowtiger          76 95B02B15FBF9F3AC 100110110110000001010110001010111110111111100111110011010  0x004c 0b0000000001001100
 
Good_armadillo          69 97913855FD31E78C 100111110010001001110000101010111111010011000111100111000  0x0045 0b0000000001000101
 
Black_cow                69 C1802815F8CAC3AC 110000110000000001010000001010111110001100101011000011010  0x0045 0b0000000001000101
 
Good_snail              65 C1926815FC94F7AC 110000110010010011010000001010111111001001010011110111010  0x0041 0b0000000001000001
 
Black_sandant            77 E6769697BF19E6FC 111011001110110100101101001011110111110001100111100110111  0x004d 0b0000000001001101
 
Good_bat                77 E676CF169F09E6FC 111011001110110110011110001011010011110000100111100110111  0x004d 0b0000000001001101
 
 
ID bit  0 to match 0100011010110011111
 
  ...
 
 
ID bit  1 to match 1101110111000000000
 
  ...
 
 
(and so on...)
 
</pre>
 
 
This process can be repeated to look for columns matching (ASCII) values for each succeeding character, although the diminishing number of longer-name cards start to make it difficult or impossible to correctly identify relevant columns.
 
 
E.g., obfuscation set C only has 2 cards so far that have names of 7 or more characters:
 
<pre>
 
egrep "^[0-9A-F ]{32}C" barcodes.txt | ./barcodetxt2bitdiff.pl --short --name=7
 
Black_orangebutterfl 105 E471793A7872A38F71B6E394DCDEE3BC Character 7 = i (Benjamin)
 
Black_unicorn      115 BC8174A07DFE06E31098FCBC0C65C0AC Character 7 = s (Francesca)
 
 
</pre>
 
</pre>
  
 
[[Category:Pinata Vision barcode]]
 
[[Category:Pinata Vision barcode]]

Latest revision as of 06:03, 2 March 2011

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)