If you don't already have the iPhone4 text tones on your iPhone 3GS/3G, then click this link for details.
Now a little disclaimer - this hack has only been done on my iPhone 3GS iOS 4.2.1 and I've limited the files to about 2.5MB and below.
1. First download a SSH client, I'm using WinSCP.
2. Below is listed the Text Tones from the previous blog post. Keep it handy as you need a list of the file names.
3. You already have 17 new Text Tones but they are just the ones from the iPhone 4, so you need to create upto 17 of your own now. I say upto as you may wish to keep some of the new Tones, I kept 3. If you don't know how to create your own Tones, then use google.
4. Now you have your own Text Tones, put them in a directory on your desktop. Called it "Own Tones" or whatever you like.
5. Open WinSCP and go to \System\Library\Audio\UISounds and backup up the directory, just in case. Or do what I did and rename the old files with an old extension.
6. Now name your own Tones in your directory on your Desktop ("Own Tones") to the name of the iPhone 4 Tones. Use the image above for the names. So rename "newtone1.caf" to "anticipate.caf", then "newtones2.caf" to "bloom.caf" until you have named upto 17 new Text Tones.
I'm using the examples of newtone1.caf but you will probably have different names.
7. Copy all the new Tones to \System\Library\Audio\UISounds and either replace/overwrite all files from your folder. You will end up with something like mine, below.
8. Now you reboot/respring your iPhone.
9. Assign the new Text Tones to your Contacts as you did previously. They have the old names but this is due to an Apple restriction but you will be able to hear what they are when you click on them. If not turn your volume up.
As I said this hack has only been tested on my iPhone 3GS iOS 4.2.1 but should work with the iPhone 3G and maybe the iPhone 4 but 4.2.1 and above. Please feel free to test this out and let me know how you get on.
I've made this post as I wanted my own Text Tones but they didn't appear when I simply copied them to the directory so I made this hack. Searched for a while for this on google but found nothing like it.