Difference between revisions of "Piñata Vision barcode/SpeciesID table"
FeralKitty (talk | contribs) (Species IDs also match up for Learn/Perform Trick cards. Species ID 1 is a special case.) |
FeralKitty (talk | contribs) m (Fix link to species ID 1 heading.) |
||
Line 22: | Line 22: | ||
== List of (species) IDs == | == List of (species) IDs == | ||
− | Missing from the table is [[# | + | Missing from the table is [[#Species ID 1|species ID 1]], which appears to be a wildcard for any (or all?) species. |
{| border="1" class="pii_species_variants sortable" style="text-align:left" | {| border="1" class="pii_species_variants sortable" style="text-align:left" |
Revision as of 08:22, 6 June 2010
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_Learn_Primary_Trick_badger.jpg Vision_Single_Learn_Secondary_Trick_badger.jpg Vision_Single_Perform_Primary_Trick_badger.jpg Vision_Single_Perform_Secondary_Trick_badger.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 unknown if the GoodVariant filename values have any relationship to IDs.
List of (species) IDs
Missing from the table is species ID 1, which appears to be a wildcard for any (or all?) species.
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|Learn|Perform)" barcodes.txt | egrep "^[0-9A-F]{15}8" | ./barcodetxt2bitdiff.pl --short | ./reader_obfuscation_set_8.pl | sort --key=6 LearnSec_Null 0 87F3E1E0344E3D08B64D61E3B92AC686 ID = 00000000001 1 x -1 Mate_sandsnake 0004 87F1B2C276543F08 ID = 00000000100 4 Journal_badger 0005 87B3F08114553F08 ID = 00000000101 5 UnlockArt_badger 0005 87B3F091145A3F08 ID = 00000000101 5 PerformSec_bat 0006 87E3F1C4744E3D088A73D8A5DF616DB5 ID = 00000000110 6 LearnPri_bear 0007 87F3F0C4344E3D08B64D61E3B92AC686 ID = 00000000111 7 Mate_bee 0009 87F1B6E226543F08 ID = 00000001001 9 Appear_bluebottle 0011 85B1B6E636543F08 ID = 00000001011 11 PerformPri_brownbutt 0014 87F2F5C4744E3D0896C176C8A50B975A ID = 00000001110 14 UnlockArt_bushbaby 0015 87B3F484145A3F08 ID = 00000001111 15 UnlockArt_buzzard 0016 87B3D0B0445A3F08 ID = 00000010000 16 Appear_skunk 0017 85B182E336543F08 ID = 00000010001 17 LearnSec_canary 0018 87F3C1E4744E3D088A73D8A5DF616DB5 ID = 00000010010 18 Mate_armadillo 0019 87F182E726543F08 ID = 00000010011 19 LearnPri_cat 0020 87F3D0C0744E3D088A73D8A5DF616DB5 ID = 00000010100 20 Mate_cat 0020 87F182D276543F08 ID = 00000010100 20 UnlockArt_chameleon 0021 87B3D081145A3F08 ID = 00000010101 21 PerformSec_camel 0023 87E3D1C4344E3D088A53D8A5DB616DB5 ID = 00000010111 23 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 PerformSec_eagle 0036 87E7F1C0744E3D08A06620AB6AA61C03 ID = 00000100100 36 PerformPri_frog 0044 87F6F5C0744E3D08E47D1B5F81652DBC ID = 00000101100 44 PerformSec_gorilla 0053 87E7D1C0344E3D08A06620AF6A961C03 ID = 00000110101 53 LearnPri_grasssnake 0054 87F7D0C4744E3D08A06620AB6AA61C03 ID = 00000110110 54 PerformPri_hyena 0061 87F6D5C0344E3D08EB7D9B5F81652DBC ID = 00000111101 61 PerformSec_mole 0075 87C3F5E4344E3D088A73F855DB616D45 ID = 00001001011 75 PerformPri_orangebut 0083 87D2D1E4344E3D088A73F855DB616D45 ID = 00001010011 83 LearnSec_parrot 0087 87D3C1C4344E3D08960CD1A3B1E62C09 ID = 00001010111 87 PerformSec_polarbear 0088 87C3D5E0744E3D08B64D61A3B90BC6B6 ID = 00001011000 88 LearnPri_penguin 0089 87D3D4E0344E3D088A73F855DB616D45 ID = 00001011001 89 Mate_rabbit 0096 87D5B2E376543F08 ID = 00001100000 96 PerformPri_rabbit 0096 87D6F1E0744E3D08A26660AB6A961E03 ID = 00001100000 96 Appear_raccoon 0097 8585B2F226543F08 ID = 00001100001 97 LearnSec_redbutterfl 0100 87D7E1C0744E3D08D65321E2FB365207 ID = 00001100100 100 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 PerformPri_spider 0113 87D6D1E0344E3D08A26660AF6AA61E03 ID = 00001110001 113 Appear_tiger 0121 858586E326543F08 ID = 00001111001 121 LearnPri_turtle 0123 87D7D4E4344E3D08A26660AF6AA61E03 ID = 00001111011 123 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 PerformPri_worm 0135 83F2F1C4344E3D088A53F8A5DB614DB5 ID = 00010000111 135 UnlockArt_yellowbutt 0137 83B3F4B0045A3F08 ID = 00010001001 137 Journal_scarab 0140 83B3F49154553F08 ID = 00010001100 140 PerformSec_scarab 0140 83E3F5C0744E3D08B64D69E3BA0AC6B6 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
Species ID 1
Of particular note is that the Vision_Single_Perform_Secondary_Trick_Null.jpg card appears to have an encoded (species) ID of 1.
ID 1, instead of referring to a particular (specific) species, likely refers to any (nearest?) species.
As other obfuscation sets are decoded, we might discover that it also refers to all species, such as UnlockArt_All?