Kitty Corp Meow Mix Forums

Help & Tutorials => Programming Tutorials => Topic started by: jdaster64 on April 11, 2012, 12:17:49 AM



Title: Sticker attributes editing guide
Post by: jdaster64 on April 11, 2012, 12:17:49 AM
Seeing as I couldn't find anything on this myself, I thought I'd delve into random files with a hex editor.  Not fifteen minutes in, I found this (http://www.mediafire.com/?82vq5dl8mud2fli).

That's an excerpt from ty_seal_data.dat (in the "toy"/"seal" folder of the partition) starting at HEX address 0x0000628C, and although I haven't tested it, I have absolutely no reason to doubt that this is where sticker data is stored.

Here's what I've found so far, and it covers pretty much everything important:

First of all, each sticker has exactly 100 bytes of data, arranged as follows (stuff in red I haven't yet figured out):

Bytes 01-04: Sticker number (By Effect order in-game)
Bytes 05-20: Various ascending numbers, probably best not to mess with them.
Bytes 21-22: Dictates an alternate order? (series?)
Bytes 23-24: Dictates an alternate order (probably alphabetical)
Bytes 25-26: Unknown
Bytes 29-36: Dictates who can use the sticker, values listed below
Bytes 37-40: Unknown, ranges from 0 to 3, probably important
Bytes 41-44: Always "00030000".  Perhaps, combined w/37-40, a probability?
Bytes 45-48: Effect, possible values listed below
Bytes 49-52: Effect Strength (in floating point)
Bytes 53-56: Always 1 in FP, except for item-carry stickers, which say 00000000
Bytes 57-60: Ranges from 1 to 5 in FP; perhaps dictates when the sticker can be unlocked?
Bytes 61-76: Always 0
Bytes 77-80: Always 1 in FP
Bytes 81-84: Unknown, two 16-bit values each ranging from about 20 to 100; seem to be smaller as a general rule for smaller stickers
Bytes 85-88: Double the values in 81-84
Bytes 89-92: Probably dictates the size order
Bytes 93-100: Always 0

Character Bytes:
0000000100000000 Mario
0000000200000000 Donkey Kong
0000000400000000 Link
0000000800000000 Samus/ZSS
0000002000000000 Yoshi
0000004000000000 Kirby
0000008000000000 Fox
0000010000000000 Pikachu
0000020000000000 Luigi
0000040000000000 Captain Falcon
0000080000000000 Ness
0000100000000000 Bowser
0000200000000000 Peach
0000400000000000 Zelda
0008000000000000 Marth
0001000000000000 Ice Climbers
0010000000000000 Mr. Game & Watch
0020000000000000 Falco
0040000000000000 Ganondorf
0080000000000000 Wario
0100000000000000 Meta Knight
0200000000000000 Pit
0400000000000000 Olimar
0800000000000000 Lucas
1000000000000000 Diddy Kong
2000000000000000 Pokemon Trainer
0000000000000008 Dedede
0000000000000010 Lucario
0000000000000020 Ike
0000000000000040 R.O.B.
0000000000000080 Jigglypuff
0000000000000100 Toon Link
0000000000000200 Wolf
0000000000000400 Snake
0000000000000800 Sonic
(3FF97FEF00000FF8 All Characters)

Effect Bytes:
02 Launch Power
03 Launch Resistance
06 Arm
07 Leg
08 Weapon
09 Head
0a Body/Spin
0b Throwing
0c Magic
0e Pikmin
0f Water
10 PK
11 Bite
12 Tail
13 Arm + Leg
14 Slash
15 Electric
16 Flame
17 Grass
18 Battering Resistance
19 Slash Resistance
1a Flame Resistance
1b Electric Resistance
1c Direct Specials
1d Indirect Specials
1e Shield Resistance
20 Dizzy Time
21 Shield Recovery
22 Food Effect
23 Flinch Resistance
25 Maxim Tomato Recovery
26 Heart Container Recovery
28 Sticker Drops
2b Trophy Drops
2c Trophy Stand Drops
2d Swim Time
40 Explosive
42 Energy
43 Aura
44 Freezing
45 Darkness

Carry Items (all use Effect Strength value of 3F800000, or 1)
46 Star Rod
47 Lip's Stick
48 Cracker Launcher
49 Super Scope
4a Ray Gun
4b Fire Flower
4c Beam Sword
4d Homerun Bat
4e Fan
58 Bob-omb
59 Mr. Saturn

Again, I have no reason to believe that patching this into ty_seal_data.dat at HEX address 0x0000628C (over what's already there) shouldn't change the stickers' effects, as this data matches perfectly with the attributes shown in-game.

BTW, if this topic needs to be moved, please do so and tell me; I'm new around here, so I didn't know where this would best go.