I'm new to DirectDraw, sorry if I don't make much sense..
I'm using DirectDraw for the graphics (6.1. It's the only version I
have on disk...)
Anyway, I have a double buffer with (640*480) bytes allocated
to it. I draw to this buffer, then copy that buffer to the primary
surface...(of course...)
I haven't put in any clipping or anything yet, so I don't know why
this is happening; but when I move my character off the screen,
he wraps around to the other side. The only function I have that
deals with movement is a simple, temporary statement that says
this:
cEthic.SetX(cEthic.GetX()+5)
It just keeps adding to cEthic's xPosition.
What the freak is happening? I'm not writing directly to this memory,
I'm writing to my buffer. Shouldn't my program crash after I've
written to memory that wasn't allocated? I have no idea why it's
wrapping around. It makes no sense! The xPosition of cEthic just
keeps getting bigger and bigger. How can cEthic be drawn at
a low xPosition when his xPosition should be greater than 700?
If cEthic's xPosition is 635, then the image should extend beyond
the 640 width limit of my buffer (and be drawn at (635, y)), not
be wrapped around to (0, y)...
I've attached a picture that shows what's happening...
Thanks,
ethic.