Yeah, I'd recommend a full upgrade...that is a new CPU (BTW, what CPU do you have now), mobo, RAM and video card. If your RAM is PC3200, you don't have to upgrade that. Now you could upgrade just you're vid card and that would definitely give you a noticeable increase in performance in graphics and games, but a CPU upgrade with that would help the video card out even more. Really though if you keep your CPU the same, but only upgrade the video card, you could be losing quite a bit of performance depending on what CPU you have.
Put it this way, if you can afford it, do a full upgrade. Oh, I almost forgot... you'll have to upgrade your mobo, vid card and CPU if you want a top of the line vid card from at least 2005 since they're only PCI-E, unless you get an Nvidia GeForce 7800 GS or 7900 GS which is AGP.
I always recommend that you buy the fastest parts you can afford so you're system will last that much longer before you have to upgrade next. Now after saying all of that, you could run BF2 or BF2142 (BF2142 is built on the same engine as BF2 is) at 1280x1024 with medium settings and it looks very nice! Like 43st said, you won't be able to run it at 1680x1050 with that setup.
If you're short on money, the cheapest way to go is to upgrade your video card to a GeForce 7800 or 7900 GS and you won't be wasting money because you're CPU isn't powerful enough....that is provided you have a CPU that is at least a Athlon XP 2500+ or a P4 2.8GHz+.
This is the system I would build if I had the money. Intel Core 2 Duo E6600 or E6700, 2GB of Corsair 667MHz DDR2 RAM, Intel based mobo chipset along with a GeForce 8800 GTX or GTX, or a ATi R600....not sure what they'll call it yet. If you build a system like that, you'll be able to run all games at a resolution of 1920x1200 with full AF and AA and it would run smooth as butter. Of course you're looking at around $1,500 for a system like that, but believe me, it would be a good investment and I can promise you, you'd see a massive difference between what you have now and that system!!!