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

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



