Glad you like it

There is one problem with it however, it's very processor intensive and that problem lies with CheckSprToSpr() (which should be named CheckFishToFish(), oh well).
For each updating fish, it checks the distances to all the others, and tries to keep some distance away, so when the constant MAXSPR is set to 50, that's 50 x 49 checks (2450). Set MAXSPR to 100 and there should be a noticable slowdown (9900 checks), on my system it just about makes 30 fps in fullscreen exclusive mode.