Hi Ian,

I assume you store sprite location in Sprite.ImageLocationRect variable and you do a "Sprite.ImageLocationRect.x = Sprite.ImageLocationRect.x - 1" to scroll left. This is a bad idea IMHO, because SDL_BlitSurface writes back its info into this variable. That's why there is a 0 in Sprite.ImageLocationRect.x. It writes back the clipped/visible region of this rectangle. 0 is leftmost position you can see on the screen...
(I hope I'm right, I didnt use SDL since years...)
Cheers,
KiCHY