Piñata Vision barcode/SpeciesID table

From PinataIsland.info, the Viva Piñata wiki
Revision as of 08:22, 6 June 2010 by FeralKitty (talk | contribs) (Fix link to species ID 1 heading.)
Jump to: navigation, search


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.)

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?