Simplest way would be to take bits of move animation data in FR in a hex editor (offsets for this are documented somewhere in R&D) and search for it in Ruby. It'll probably take a few tries to get something that isn't different between the two ROMs, but the general structures of the scripts and the commands are the same so it should be doable. Once you've found a battle script in Ruby, search for the pointer to it and there's your animation pointer table.
Thanks, I looked over the threads a bit more carefully. I didn't have the patience to expand the move table, learn animation scripting, or look at RAM in VBA to figure out where moves start and end, so I took something of a shortcut.
1. I found a list of moves in the order they're listed in the ROM itself. You could also just load up your ROM in PGE or A-Tack and use that list as a reference, I guess. I CAN'T link to what I used, thanks to this site's annoying rule against linking. :(
2. I noted the number of the move Spider Web (169), and converted it to Hex (A9).
3. I multiplied A9 by 4, and got 2A4.
3. I found the offset of the Ruby Attack Animation Table in a thread, 1C7168.
4. I added 1C7168 to 2A4, and got 1C740C.
5. I went to 1C740C in a Hex editor, and wrote down the pointer 6A1D1D between the two 08 bytes (big-endian/ARM form of 1D1D6A, if you care).
6. I repeated step 1, and got 178 for the move Cotton Spore (which I'm changing into Electroweb).
7. I converted 178 into Hex, giving B2.
8. I multiplied B2 by 4, and got 2C8.
9. I added 1C7168 to 2C8, and got 1C7430.
10. I went to 1C7430, and OVERWROTE the three-byte pointer there with the 6A1D1D pointer I wrote down earlier.
Now Electroweb has the Spider Web animation! I tested it, and it works perfectly. This method should work any time you want to "borrow" an animation from an existing move to overwrite another existing move, provided you DON'T need to customize or change the animation at all.
I hope it helps someone out there, so they don't have to wade through all the stuff I did.