As far as cpu goes, get either the Q6600 if you wanna go quad, or a newer C2D like E8400 or better, otherwise.
Really depends on what resolution you want to play at, when considering gpu. The games you listed aren't particularly graphically intensive, other than FarCry(2?).
If your resolution is 1680x1050 or lower: get ATI HD4850 or NVIDIA 9800GTX+.
If higher, get the HD4870 or GTX260.