Speedy5 told me in a PM that he wanted to take a look at the source code of my 2D engine.
That was OK with me, because I was going to release the source later when my game was finished, but I found that I was unable to attach files to PMs.

So therefore I created this thread, prehaps others will find the code useful.

However I must warn you: Most of the source code was written three years ago and is quite messy. The only thing I've done in the recent days is the alpha blending and rotation code.

It supports:
  • 2D graphics
  • Hardware alpha blending
  • Hardware rotation
  • Bitmap objects (animation, movement, etc.)
  • JPG, BMP, PNG, GIF file formats
  • In-game console
  • Keyboard, mouse and joystick (only one) input
  • WAV sound: streaming and normal sampling


The engine should be compiled as a DLL with the macro DXENGINELIB_EXPORTS defined.