I figure I might as well throw in my two cents. The code (at least for my team's untested implementation) will look a lot like RobotDrive's mecanumDrive_Polar/Cartesian.
- You want to take the joystick degrees and break it up into x and y vectors (kind of like what you do in physics).
- Use the magnitude to compute the size of the x and y vectors.
- Divide by the original x and y vectors so that you can bring your magnitudes back to a scale of -1 to 1. Without this last step, you robot won't be able to go diagonal at max speed.