Editing the Cracker Box to make your filmstrips work ==================================================== I would advise that you prepare the toy by making these changes in your hex editor before you alter your filmstrips using Tinker. Certainly that's how I would do it. As an example, I have converted my Petz 3 "Carrot bag" to babyz. I have made an external-filmstrip version available on my Tutorials page along with this Howto, so that you can see the exact changes that I made internally to make the toy work. You can download the finished, internal-filmstrip version if you wish, also, on my Babyz Toyz pages. The two versions overwrite each other :-) To make sure that your own filmstrips will be picked up by the game, you need to make quite a few changes inside the toy file. Some are not essential but are a good idea if you want to be sure of no puzzling clashes in the future. The first thing to note with this particular toy is that it's a good idea to keep the name the same length as the original or very nearly so. Trust me, I'll explain later. First off, this one is not essential but is a good idea since you'll probably be keeping the name length the same: 00039872 4372 6163 6B65 7220 426F 782E 746F 7900 Cracker Box.toy. 00039888 4765 7444 4C4C 5665 7273 696F 6E00 4765 GetDLLVersion.Ge Obviously, you change the name there to the name of your toy. Further down the file we have this: 00041200 74A3 0010 456C 6570 6861 6E74 2043 7261 t...Elephant Cra 00041216 636B 6572 0000 0000 0000 0000 0000 0000 cker............ 00041232 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041248 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041264 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041280 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041296 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041312 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041328 0000 0000 5268 696E 6F20 4372 6163 6B65 ....Rhino Cracke 00041344 7200 0000 0000 0000 0000 0000 0000 0000 r............... 00041360 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041376 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041392 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041408 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041424 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041440 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041456 0000 0000 5469 6765 7220 4372 6163 6B65 ....Tiger Cracke 00041472 7200 0000 0000 0000 0000 0000 0000 0000 r............... 00041488 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041504 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041520 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041536 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041552 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041568 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00041584 0000 0000 5A65 6272 6120 4372 6163 6B65 ....Zebra Cracke 00041600 7200 0000 0000 0000 0000 0000 0000 0000 r............... Change each of those cracker names to something else, different from each other. Keep a note of what you changed those names to. Now scroll down a bit more and you'll see this: 00041728 20A3 0010 0CA3 0010 0000 0011 5370 7269 ...........Spri 00041744 7465 5F43 7261 636B 6572 5F58 3400 0000 te_Cracker_X4... 00041760 5370 7269 7465 5F43 7261 636B 6572 5F58 Sprite_Cracker_X 00041776 3300 0000 5370 7269 7465 5F43 7261 636B 3...Sprite_Crack 00041792 6572 5F58 3200 0000 5370 7269 7465 5F43 er_X2...Sprite_C 00041808 7261 636B 6572 5F58 3100 0000 5370 7269 racker_X1...Spri 00041824 7465 5F43 7261 636B 6572 5F42 6F78 5F58 te_Cracker_Box_X 00041840 3100 0000 5265 666C 6563 7469 7665 0000 1...Reflective.. And here you come to something important; you need to change one or more characters in each of Cracker_X4, Cracker_X3, Cracker_X2, Cracker_X1 and Cracker_Box_X1. You will need to remember what changes you made, so that you can make the same changes later in the file when you come to these names again. A tip: Don't choose extensions with letters such as _A1 or _B1; steer clear of the first 3 letters of the alphabet, or you may find that the toy simply disappears. And this next bit is important also: 00042400 5C41 7274 5C53 7072 6974 6573 5C54 6F79 \Art\Sprites\Toy 00042416 7A5C 4372 6163 6B65 725F 426F 785F 5831 z\Cracker_Box_X1 00042432 5C42 4576 656E 745F 4372 6163 6B65 725F \BEvent_Cracker_ 00042448 5831 2E74 7874 0000 5C41 7274 5C53 7072 X1.txt..\Art\Spr 00042464 6974 6573 5C54 6F79 7A5C 4372 6163 6B65 ites\Toyz\Cracke 00042480 725F 426F 785F 5831 5C43 7261 636B 6572 r_Box_X1\Cracker 00042496 5F58 312E 666C 6D00 5C61 7274 5C73 7072 _X1.flm.\art\spr 00042512 6974 6573 5C74 6F79 7A5C 626F 776C 5F64 ites\toyz\bowl_d 00042528 315C 6361 7272 6F74 732E 626D 7000 0000 1\carrots.bmp... 00042544 5C61 7274 5C73 7072 6974 6573 5C74 6F79 \art\sprites\toy 00042560 7A5C 626F 776C 5F64 315C 7975 6368 7665 z\bowl_d1\yuchve 00042576 672E 626D 7000 0000 5C61 7274 5C73 7072 g.bmp...\art\spr 00042592 6974 6573 5C74 6F79 7A5C 626F 776C 5F64 ites\toyz\bowl_d 00042608 315C 7065 6173 2E62 6D70 0000 5C41 7274 1\peas.bmp..\Art 00042624 5C53 7072 6974 6573 5C54 6F79 7A5C 4372 \Sprites\Toyz\Cr 00042640 6163 6B65 725F 426F 785F 5831 5C42 4576 acker_Box_X1\BEv 00042656 656E 745F 4372 6163 6B65 725F 5832 2E74 ent_Cracker_X2.t 00042672 7874 0000 5C41 7274 5C53 7072 6974 6573 xt..\Art\Sprites 00042688 5C54 6F79 7A5C 4372 6163 6B65 725F 426F \Toyz\Cracker_Bo 00042704 785F 5831 5C43 7261 636B 6572 5F58 322E x_X1\Cracker_X2. 00042720 666C 6D00 5C41 7274 5C53 7072 6974 6573 flm.\Art\Sprites 00042736 5C54 6F79 7A5C 4372 6163 6B65 725F 426F \Toyz\Cracker_Bo 00042752 785F 5831 5C42 4576 656E 745F 4372 6163 x_X1\BEvent_Crac 00042768 6B65 725F 5833 2E74 7874 0000 5C41 7274 ker_X3.txt..\Art 00042784 5C53 7072 6974 6573 5C54 6F79 7A5C 4372 \Sprites\Toyz\Cr 00042800 6163 6B65 725F 426F 785F 5831 5C43 7261 acker_Box_X1\Cra 00042816 636B 6572 5F58 332E 666C 6D00 5C41 7274 cker_X3.flm.\Art 00042832 5C53 7072 6974 6573 5C54 6F79 7A5C 4372 \Sprites\Toyz\Cr 00042848 6163 6B65 725F 426F 785F 5831 5C42 4576 acker_Box_X1\BEv 00042864 656E 745F 4372 6163 6B65 725F 5834 2E74 ent_Cracker_X4.t 00042880 7874 0000 5C41 7274 5C53 7072 6974 6573 xt..\Art\Sprites 00042896 5C54 6F79 7A5C 4372 6163 6B65 725F 426F \Toyz\Cracker_Bo 00042912 785F 5831 5C43 7261 636B 6572 5F58 342E x_X1\Cracker_X4. 00042928 666C 6D00 5C52 6573 6F75 7263 655C 546F flm.\Resource\To 00042944 797A 5C43 7261 636B 6572 2042 6F78 2E74 yz\Cracker Box.t 00042960 6F79 0000 0000 0000 7C5B 0010 0000 0000 oy......|[...... Right, everywhere that you see the names Cracker_X4, Cracker_X3, Cracker_X2, Cracker_X1 and Cracker_Box_X1, change those to the same names that you used before. And at the bottom there you'll see \Resource\Toyz\Cracker Box.toy, which is the reason I recommend keeping the name of the toy the same length. You will need to fit the new name into that space, although you can probably overwrite some of those 6 bytes "00" with your toy's name. Further down you come to this 00042976 2E3F 4156 546F 7953 7072 6974 6540 4000 .?AVToySprite@@. 00042992 7C5B 0010 0000 0000 2E3F 4156 5370 7269 |[.......?AVSpri 00043008 7465 5F43 7261 636B 6572 5F58 3240 4000 te_Cracker_X2@@. 00043024 7C5B 0010 0000 0000 2E3F 4156 5370 7269 |[.......?AVSpri 00043040 7465 5F43 7261 636B 6572 5F58 3440 4000 te_Cracker_X4@@. 00043056 7C5B 0010 0000 0000 2E3F 4156 5370 7269 |[.......?AVSpri 00043072 7465 5F43 7261 636B 6572 5F58 3140 4000 te_Cracker_X1@@. 00043088 7C5B 0010 0000 0000 2E3F 4156 5370 7269 |[.......?AVSpri 00043104 7465 5F54 7265 6140 4000 0000 0000 0000 te_Trea@@....... 00043120 7C5B 0010 0000 0000 2E3F 4156 5370 7269 |[.......?AVSpri 00043136 7465 5F43 7261 636B 6572 5F58 3340 4000 te_Cracker_X3@@. and 00043408 7C5B 0010 0000 0000 2E3F 4156 5370 7269 |[.......?AVSpri 00043424 7465 5F43 7261 636B 6572 5F42 6F78 5F58 te_Cracker_Box_X 00043440 3140 4000 0000 0000 0000 0000 0000 0000 1@@............. 00043456 7C5B 0010 0000 0000 2E3F 4156 7479 7065 |[.......?AVtype 00043472 5F69 6E66 6F40 4000 0000 0000 0000 0000 _info@@......... And once again, everywhere you see the names Cracker_X4, Cracker_X3, Cracker_X2, Cracker_X1 and Cracker_Box_X1, change them to the names that you used before. 00046560 0300 4600 4C00 4800 0E00 4300 5200 4100 ..F.L.H...C.R.A. 00046576 4300 4B00 4500 5200 5F00 4200 4F00 5800 C.K.E.R._.B.O.X. 00046592 5F00 5800 3100 1300 4300 5200 4100 4300 _.X.1...C.R.A.C. 00046608 4B00 4500 5200 5F00 4200 4F00 5800 5F00 K.E.R._.B.O.X._. 00046624 5800 3100 5F00 4100 5700 4100 5900 0A00 X.1._.A.W.A.Y... 00046640 4300 5200 4100 4300 4B00 4500 5200 5F00 C.R.A.C.K.E.R._. 00046656 5800 3100 0A00 4300 5200 4100 4300 4B00 X.1...C.R.A.C.K. 00046672 4500 5200 5F00 5800 3200 0A00 4300 5200 E.R._.X.2...C.R. 00046688 4100 4300 4B00 4500 5200 5F00 5800 3300 A.C.K.E.R._.X.3. 00046704 0A00 4300 5200 4100 4300 4B00 4500 5200 ..C.R.A.C.K.E.R. 00046720 5F00 5800 3400 0300 4600 4C00 4D00 0300 _.X.4...F.L.M... 00046736 5400 5800 5400 1500 4200 4500 5600 4500 T.X.T...B.E.V.E. 00046752 4E00 5400 5F00 4300 5200 4100 4300 4B00 N.T._.C.R.A.C.K. 00046768 4500 5200 5F00 4200 4F00 5800 5F00 5800 E.R._.B.O.X._.X. 00046784 3100 1100 4200 4500 5600 4500 4E00 5400 1...B.E.V.E.N.T. 00046800 5F00 4300 5200 4100 4300 4B00 4500 5200 _.C.R.A.C.K.E.R. 00046816 5F00 5800 3100 1100 4200 4500 5600 4500 _.X.1...B.E.V.E. 00046832 4E00 5400 5F00 4300 5200 4100 4300 4B00 N.T._.C.R.A.C.K. 00046848 4500 5200 5F00 5800 3200 1100 4200 4500 E.R._.X.2...B.E. 00046864 5600 4500 4E00 5400 5F00 4300 5200 4100 V.E.N.T._.C.R.A. 00046880 4300 4B00 4500 5200 5F00 5800 3300 1100 C.K.E.R._.X.3... 00046896 4200 4500 5600 4500 4E00 5400 5F00 4300 B.E.V.E.N.T._.C. 00046912 5200 4100 4300 4B00 4500 5200 5F00 5800 R.A.C.K.E.R._.X. 00046928 3400 1500 5300 4F00 5500 4E00 4400 5300 4...S.O.U.N.D.S. 00046944 5F00 4300 5200 4100 4300 4B00 4500 5200 _.C.R.A.C.K.E.R. 00046960 5F00 4200 4F00 5800 5F00 5800 3100 1700 _.B.O.X._.X.1... The same applies when you get here, although of course you will need to keep all the letters in upper-case and preserve the null bytes (hex 00) which are between each letter of each name. Nearly there. Scroll a bit further, to here 00047200 0500 0000 5370 7269 7465 5F43 7261 636B ....Sprite_Crack 00047216 6572 5F42 6F78 5F58 3100 0000 0000 0000 er_Box_X1....... 00047232 0000 0000 4372 6163 6B65 7220 426F 7800 ....Cracker Box. 00047248 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00047264 0000 0000 2227 0000 8380 0000 5370 7269 ...."'......Spri 00047280 7465 5F43 7261 636B 6572 5F58 3100 0000 te_Cracker_X1... 00047296 0000 0000 0000 0000 0000 0000 456C 6570 ............Elep 00047312 6861 6E74 2043 7261 636B 6572 0000 0000 hant Cracker.... 00047328 0000 0000 0000 0000 0000 0000 2327 0000 ............#'.. 00047344 0100 0000 5370 7269 7465 5F43 7261 636B ....Sprite_Crack 00047360 6572 5F58 3200 0000 0000 0000 0000 0000 er_X2........... 00047376 0000 0000 5268 696E 6F20 4372 6163 6B65 ....Rhino Cracke 00047392 7200 0000 0000 0000 0000 0000 0000 0000 r............... 00047408 0000 0000 2427 0000 0100 0000 5370 7269 ....$'......Spri 00047424 7465 5F43 7261 636B 6572 5F58 3300 0000 te_Cracker_X3... 00047440 0000 0000 0000 0000 0000 0000 5469 6765 ............Tige 00047456 7220 4372 6163 6B65 7200 0000 0000 0000 r Cracker....... 00047472 0000 0000 0000 0000 0000 0000 2527 0000 ............%'.. 00047488 0100 0000 5370 7269 7465 5F43 7261 636B ....Sprite_Crack 00047504 6572 5F58 3400 0000 0000 0000 0000 0000 er_X4........... 00047520 0000 0000 5A65 6272 6120 4372 6163 6B65 ....Zebra Cracke 00047536 7200 0000 0000 0000 0000 0000 0000 0000 r............... 00047552 0000 0000 2627 0000 0100 0000 0000 0000 ....&'.......... (if the file has already been "Tinkered" or "Reshacked" then this section will be after the next one that I mention; but in the original, it's up above all the filmstrips.) Change the names of the Sprites, the names of the crackers, and the ID numbers here. The names should of course be the same as the ones you used above, and the Cracker Box ID is an absolute essential to change. In the original it's 2227 0000 8380 and you can see it after the name Cracker Box and before the Sprite name Sprite_Cracker_X1. Each of the crackers has an ID number also; 2327, 2427, 2527 and 2627. changing these to some that you've chosen yourself is a good idea. And finally, you want to make some changes down in the naming area. You can get to it by doing a search for the hex string 50004600 00218016 0B00 4300 7200 6100 6300 6B00 6500 7200 ..C.r.a.c.k.e.r. 00218032 2000 4200 6F00 7800 0B00 4300 7200 6100 .B.o.x...C.r.a. 00218048 6300 6B00 6500 7200 2000 4200 6F00 7800 c.k.e.r. .B.o.x. 00218064 0E00 4300 5200 4100 4300 4B00 4500 5200 ..C.R.A.C.K.E.R. 00218080 5F00 4200 4F00 5800 5F00 5800 3100 0000 _.B.O.X._.X.1... Change the names Cracker Box to the name of the toy and CRACKER_BOX_X1 to the box sprite name that you chose above, and save. NOTE: it is important to make the name of the box sprite name the same as the box sprite name that you chose earlier in the file -- _not_ the name of the toy. So for my carrots I have: ..C.a.r.r.o.t.s. .B.a.g...C.a.r. r.o.t.s. .B.a.g. ..C.A.R.R.O.T.S. _.B.A.G._.X.1... But that's because I chose the sprite name Sprite_Carrots_Bag_X1 as well as the toy name Carrots bag.toy. If I'd chosen the name Sprite_Cracker_Bag_X1, it would look like this ..C.a.r.r.o.t.s. .B.a.g...C.a.r. r.o.t.s. .B.a.g. ..C.R.A.C.K.E.R. _.B.A.G._.X.1... When you open the game, your toy should appear on the shelf with your own filmstrips, and when you have Tinkered with the filmstrips your own treats should appear in the hand for your babyz to enjoy. Have fun giving your Babyz your and their favourite treats! Carolyn Horn