Piñata Vision barcode/SpeciesID table
The ID table contains hundreds of IDs for a variety of items (e.g., plants, eggs, homes, props, sweets) that can be placed in the garden.
Species-specific cards share the same common ID field, and their ID value refers to a particular species. E.g., the (species) ID for a Badgesicle (badger) is 5. Within the ID table itself, the first hundred or so IDs (3 - 160 at first glance) correspond to species.
Specific species ID values are provided within the Blackariants filename. Other types of cards may not show an ID value as part of their filename, although the same specific (species) ID value can be found encoded within their barcodes.
Vision_Single_Blackariants_badger_5.jpg Vision_Single_UnlockArt_Animal_badger.jpg Vision_Single_View_Appear_Cutscene_Forced_badger.jpg Vision_Single_View_Mate_Cutscene_Forced_badger.jpg Vision_Single_ViewTagInJournal_Animal_badger.jpg
It's likely that the Learn Trick and Perform Trick cards also share the same ID field/values, although that hasn't been verified yet. (Those cards have 2 rows of barcodes, and the focus has been on decoding single-row cards.) It's also unknown if the GoodVariant filename values have any relationship to IDs.
List of (species) IDs
ID | Species |
---|---|
3 | ant |
4 | zz2sandsnake |
5 | badger |
6 | bat |
7 | bear |
8 | beaver |
9 | bee |
10 | blackbutterfly |
11 | bluebottle |
12 | bluebutterfly |
13 | boomslang |
14 | brownbutterfly |
15 | bushbaby |
16 | buzzard |
17 | zz3skunk |
18 | canary |
19 | zz3armadillo |
20 | cat |
21 | chameleon |
22 | chicken |
23 | zz2camel |
24 | cow |
25 | zz3crab |
26 | crocodile |
27 | crow |
28 | deer |
29 | zz3dinosaur |
30 | dog |
31 | zz2sandant |
33 | dragonfly |
34 | duck |
35 | zz2sandspider |
36 | eagle |
37 | zz2sandbuzzard |
38 | elephant |
39 | firefly |
40 | firesalamander |
41 | zz2sandrhino |
42 | flyingpig |
43 | fox |
44 | frog |
45 | zz2gecko |
47 | zz1snowfox |
48 | zz1snowrabbit |
49 | zz1snowowl |
50 | zz1snowgoose |
51 | zz1snowtiger |
52 | goose |
53 | zz3gorilla |
54 | grasssnake |
55 | greenbutterfly |
58 | hedgehog |
59 | hippo |
60 | horse |
61 | zz2hyena |
62 | hydra |
63 | zz1lemming |
64 | zz1lemmingpest |
65 | zz3ladybird |
69 | lion |
73 | mandrill |
75 | mole |
77 | monkey |
78 | zz1moose |
79 | moth |
80 | mouse |
81 | newt |
83 | orangebutterfly |
84 | zz2ostrich |
85 | zz3owl |
86 | zz3peacock |
87 | parrot |
88 | zz1polarbear |
89 | zz1penguin |
90 | pig |
91 | pigeon |
92 | poisonfrog |
93 | pinkbutterfly |
94 | pony |
95 | purplebutterfly |
96 | rabbit |
97 | raccoon |
100 | redbutterfly |
101 | zz3rhino |
102 | zz3rhinopest |
103 | zz1robin |
107 | zz3skunkpest |
108 | sheep |
109 | zz2scorpion |
110 | zz2scorpionpest |
111 | zz3smallbird |
112 | sparrow |
113 | spider |
114 | squirrel |
119 | swan |
121 | zz3tiger |
123 | zz3turtle |
126 | unicorn |
127 | batpest |
129 | zz2vulture |
130 | zz3walrus |
131 | whitebutterfly |
132 | zz3warthog |
133 | wolf |
134 | zz1yeti |
135 | worm |
136 | zz1yak |
137 | yellowbutterfly |
138 | zebra |
140 | zz2scarab |
146 | crowpest |
147 | raccoonpest |
148 | crocodilepest |
150 | molepest |
155 | wolfpest |
156 | mandrillpest |
159 | snail |
160 | snailpest |
Validating IDs for obfuscation set 8
To verify that the (species) IDs encoded in the barcode are the values we expect, and do share the same bits as the (PlaceTag) ID, we first read ID values from the (obfuscation set 8) PlaceTag card barcodes, and see that all IDs read from the card (the ID = field) match the expected ID (column 2's 4-digit value) for that item.
(Note that PlaceTag IDs refer to specific items (e.g., place item 515 -- a buzzard home -- into the garden), while species IDs (e.g., unlock art for species 16 -- the buzzard) refer to a particular species.)
Reading ID bits from PlaceTag cards |
---|
grep PlaceTag barcodes.txt | egrep "^[0-9A-F]{15}8" | ./barcodetxt2bitdiff.pl --short | ./reader_obfuscation_set_8.pl Plant_bluebell 1072 86A6D1E16B67CB08 ID = 10000110000 1072 Plant_maize 1067 86B7F4F52B67CB08 ID = 10000101011 1067 Plant_sunflower 1074 86A6D0E56B67CB08 ID = 10000110010 1074 Plant_snowdrop 1080 86A7D5E16B67CB08 ID = 10000111000 1080 Plant_pricklypear 1100 9783E5C16B67CB08 ID = 10001001100 1100 Plant_hemlock 1102 9783E4C56B67CB08 ID = 10001001110 1102 Plant_tigerlily 1082 86A7D4E56B67CB08 ID = 10000111010 1082 Tree_hollybush 1025 87B2F1F12B67CB08 ID = 10000000001 1025 Tree_palmtree 1027 87B2F0F52B67CB08 ID = 10000000011 1027 Egg_monkey 0256 B7B2F1E16B679F88 ID = 00100000000 256 Egg_moth 0258 B7B2F0E56B679F88 ID = 00100000010 258 Egg_parrot 0266 B7B3F4E56B679F88 ID = 00100001010 266 Egg_pony 0273 B7A2D1F12B679F88 ID = 00100010001 273 Egg_rabbit 0275 B7A2D0F52B679F88 ID = 00100010011 275 Egg_swan 0298 B6B7F4E56B679F88 ID = 00100101010 298 Egg_yak 0315 B6A7D4F52B679F88 ID = 00100111011 315 Egg_owl 0264 B7B3F5E16B679F88 ID = 00100001000 264 Egg_rhino 0281 B7A3D5F12B679F88 ID = 00100011001 281 Egg_skunk 0288 B6B6F1E16B679F88 ID = 00100100000 288 Egg_turtle 0305 B6A6D1F12B679F88 ID = 00100110001 305 Egg_warthog 0313 B6A7D5F12B679F88 ID = 00100111001 313 Fruit_apple 0333 A783E5D12B679F88 ID = 00101001101 333 Fruit_bluegem 0350 A793C4C56B679F88 ID = 00101011110 350 Fruit_hazelnut 0340 A792C1C16B679F88 ID = 00101010100 340 Fruit_monkeynut 0342 A792C0C56B679F88 ID = 00101010110 342 Home_beeshed 0513 87B2F1F12B679D48 ID = 01000000001 513 Home_buzzard 0515 87B2F0F52B679D48 ID = 01000000011 515 Home_chicken 0521 87B3F5F12B679D48 ID = 01000001001 521 Home_cow 0523 87B3F4F52B679D48 ID = 01000001011 523 Home_firefly 0538 87A3D4E56B679D48 ID = 01000011010 538 Home_grasssnake 0553 86B7F5F12B679D48 ID = 01000101001 553 Home_helpermine 0639 9697C4D52B679D48 ID = 01001111111 639 Home_hydra 0560 86A6D1E16B679D48 ID = 01000110000 560 Home_lion 0568 86A7D5E16B679D48 ID = 01000111000 568 Home_newt 0580 9782E1C16B679D48 ID = 01001000100 580 Home_pigeon 0590 9783E4C56B679D48 ID = 01001001110 590 Home_sheep 0607 9793C4D52B679D48 ID = 01001011111 607 Home_spider 0612 9686E1C16B679D48 ID = 01001100100 612 Home_zebra 0637 9697C5D12B679D48 ID = 01001111101 637 Home_lemming 0562 86A6D0E56B679D48 ID = 01000110010 562 Home_penguin 0588 9783E5C16B679D48 ID = 01001001100 588 Home_skunk 0614 9686E0C56B679D48 ID = 01001100110 614 Home_turtle 0620 9687E5C16B679D48 ID = 01001101100 620 Home_warthog 0631 9696C0D52B679D48 ID = 01001110111 631 Prop_advplane 0847 A783E4D52B679DB8 ID = 01101001111 847 Prop_advruin 0845 A783E5D12B679DB8 ID = 01101001101 845 Prop_bigrock 0877 A687E5D12B679DB8 ID = 01101101101 877 Prop_fakepinata 0871 A686E0D52B679DB8 ID = 01101100111 871 Prop_gardenjunk88 0817 B6A6D1F12B679DB8 ID = 01100110001 817 Prop_indbolt 0892 A697C5C16B679DB8 ID = 01101111100 892 Prop_indstove 0894 A697C4C56B679DB8 ID = 01101111110 894 Prop_junkfryingpan 0827 B6A7D4F52B679DB8 ID = 01100111011 827 Prop_junkskip 0825 B6A7D5F12B679DB8 ID = 01100111001 825 Prop_origateway 0884 A696C1C16B679DB8 ID = 01101110100 884 Prop_totembat 0860 A793C5C16B679DB8 ID = 01101011100 860 Prop_totemcrow 0862 A793C4C56B679DB8 ID = 01101011110 862 Prop_totemrhino 0800 B6B6F1E16B679DB8 ID = 01100100000 800 Prop_totemscorpion 0802 B6B6F0E56B679DB8 ID = 01100100010 802 Prop_toxicbarrel 0768 B7B2F1E16B679DB8 ID = 01100000000 768 Sweet_badsmelly 1374 A793C4C56B67CB88 ID = 10101011110 1374 Sweet_testbecomenonr 1364 A792C1C16B67CB88 ID = 10101010100 1364 Sweet_testexplode 1366 A792C0C56B67CB88 ID = 10101010110 1366 Sweet_testpoison 1372 A793C5C16B67CB88 ID = 10101011100 1372 Sweet_testscared 1359 A783E4D52B67CB88 ID = 10101001111 1359 Sweet_testsick 1357 A783E5D12B67CB88 ID = 10101001101 1357 Vegetable_chilli 1653 9696C1D12B67C848 ID = 11001110101 1653 Vegetable_pea 1655 9696C0D52B67C848 ID = 11001110111 1655 |
Next, we assign expected (species) IDs for Appear cutscene, Mate cutscene, UnlockArt, and ViewTagInJournal cards, then feed those cards through the same reader script to see if the encoded ID that was read from the barcode matches the (4-digit) ID that we expect.
The IDs do match, so we now know what species IDs to expect or use, when decoding or generating cards.
egrep "_(View|Unlock)" barcodes.txt | egrep "^[0-9A-F]{15}8" | ./barcodetxt2bitdiff.pl --short | ./reader_obfuscation_set_8.pl | sort --key=6 Mate_sandsnake 0004 87F1B2C276543F08 ID = 00000000100 4 Journal_badger 0005 87B3F08114553F08 ID = 00000000101 5 UnlockArt_badger 0005 87B3F091145A3F08 ID = 00000000101 5 Mate_bee 0009 87F1B6E226543F08 ID = 00000001001 9 Appear_bluebottle 0011 85B1B6E636543F08 ID = 00000001011 11 UnlockArt_bushbaby 0015 87B3F484145A3F08 ID = 00000001111 15 UnlockArt_buzzard 0016 87B3D0B0445A3F08 ID = 00000010000 16 Appear_skunk 0017 85B182E336543F08 ID = 00000010001 17 Mate_armadillo 0019 87F182E726543F08 ID = 00000010011 19 Mate_cat 0020 87F182D276543F08 ID = 00000010100 20 UnlockArt_chameleon 0021 87B3D081145A3F08 ID = 00000010101 21 Journal_cow 0024 87B3D4A144553F08 ID = 00000011000 24 Mate_crab 0025 87F186F226543F08 ID = 00000011001 25 Appear_crow 0027 85B186F636543F08 ID = 00000011011 27 Appear_dinosaur 0029 85B186C226543F08 ID = 00000011101 29 Mate_rabbit 0096 87D5B2E376543F08 ID = 00001100000 96 Appear_raccoon 0097 8585B2F226543F08 ID = 00001100001 97 UnlockArt_skunkpest 0107 8787F4B5145A3F08 ID = 00001101011 107 Mate_sheep 0108 87D5B6C266543F08 ID = 00001101100 108 Journal_scorpion 0109 8787F48104553F08 ID = 00001101101 109 UnlockArt_scorpion 0109 8787F491045A3F08 ID = 00001101101 109 Appear_scorpionpest 0110 8585B6C676543F08 ID = 00001101110 110 Mate_sparrow 0112 87D582F376543F08 ID = 00001110000 112 Appear_tiger 0121 858586E326543F08 ID = 00001111001 121 Appear_unicorn 0126 858586D676543F08 ID = 00001111110 126 Mate_walrus 0130 83F1B2E666543F08 ID = 00010000010 130 Journal_whitebutterf 0131 83B3F0B504553F08 ID = 00010000011 131 UnlockArt_whitebutte 0131 83B3F0A5045A3F08 ID = 00010000011 131 UnlockArt_warthog 0132 83B3F080545A3F08 ID = 00010000100 132 Mate_worm 0135 83F1B2C736543F08 ID = 00010000111 135 UnlockArt_yellowbutt 0137 83B3F4B0045A3F08 ID = 00010001001 137 Journal_scarab 0140 83B3F49154553F08 ID = 00010001100 140 UnlockArt_raccoonpes 0147 83B3D0B5045A3F08 ID = 00010010011 147 Appear_molepest 0150 81B182C666543F08 ID = 00010010110 150 Journal_mandrillpest 0156 83B3D48154553F08 ID = 00010011100 156 UnlockArt_mandrillpe 0156 83B3D491545A3F08 ID = 00010011100 156