A "retro" C game development library, developed with Watcom C targeting MS-DOS and VGA Mode 13h.
Go to file
2017-11-26 13:18:33 -05:00
.gitignore initial commit 2017-11-26 13:18:33 -05:00
BLIT.C initial commit 2017-11-26 13:18:33 -05:00
BLIT.H initial commit 2017-11-26 13:18:33 -05:00
CLIPPING.C initial commit 2017-11-26 13:18:33 -05:00
CLIPPING.H initial commit 2017-11-26 13:18:33 -05:00
COMMON.H initial commit 2017-11-26 13:18:33 -05:00
DGL.C initial commit 2017-11-26 13:18:33 -05:00
DGL.H initial commit 2017-11-26 13:18:33 -05:00
DRAW.C initial commit 2017-11-26 13:18:33 -05:00
DRAW.H initial commit 2017-11-26 13:18:33 -05:00
ERROR.H initial commit 2017-11-26 13:18:33 -05:00
GFX.C initial commit 2017-11-26 13:18:33 -05:00
GFX.H initial commit 2017-11-26 13:18:33 -05:00
INTERNAL.C initial commit 2017-11-26 13:18:33 -05:00
INTERNAL.H initial commit 2017-11-26 13:18:33 -05:00
KEYBOARD.C initial commit 2017-11-26 13:18:33 -05:00
KEYBOARD.H initial commit 2017-11-26 13:18:33 -05:00
KEYS.H initial commit 2017-11-26 13:18:33 -05:00
LIBDGL.GDT initial commit 2017-11-26 13:18:33 -05:00
LIBDGL.GPR initial commit 2017-11-26 13:18:33 -05:00
MATHEXT.C initial commit 2017-11-26 13:18:33 -05:00
MATHEXT.H initial commit 2017-11-26 13:18:33 -05:00
MATRIX33.H initial commit 2017-11-26 13:18:33 -05:00
MOUSE.C initial commit 2017-11-26 13:18:33 -05:00
MOUSE.H initial commit 2017-11-26 13:18:33 -05:00
PCX.C initial commit 2017-11-26 13:18:33 -05:00
PCX.H initial commit 2017-11-26 13:18:33 -05:00
README.md initial commit 2017-11-26 13:18:33 -05:00
RECT.H initial commit 2017-11-26 13:18:33 -05:00
TEST.C initial commit 2017-11-26 13:18:33 -05:00
UTIL.C initial commit 2017-11-26 13:18:33 -05:00
UTIL.H initial commit 2017-11-26 13:18:33 -05:00
VECTOR2.H initial commit 2017-11-26 13:18:33 -05:00

libDGL

libDGL is a "retro coding" C library aimed at MS-DOS VGA Mode 13h game development. It is developed with DJGPP with 486 DX2 systems as a baseline target for performance.

Why?

Because it's fun.

If you were looking for something for "retro" MS-DOS game development that is fully featured, really performant and bug-tested that's ready right now, have a look at Allegro 3.x or possibly 4.x depending on what hardware you're targetting.

Status

This library is currently under early development and is lacking many things and probably chock-full of bugs.

Done / Mostly Done

  • Primitive drawing support
  • Text rendering
  • Blitting
  • Graphics clipping
  • Keyboard input
  • Mouse input
  • PCX loading/saving
  • Math library (general helpers, 2D vector, 3x3 matrix)
  • Basic error handling / results

TODO

  • Scaled/rotated blitting support
  • Blending
  • "Mode 7" like support
  • Custom font loading (BIOS-like format?)
  • Joystick / Gravis GamePad support
  • PC speaker sounds
  • Sound Blaster compatible sound/music
  • Gravis Ultrasound compatible sound/music
  • Fixed point math
  • Sine/cosine lookup table optimizations
  • BMP, LBM, GIF image loading (and saving?)

DJGPP Toolchain

Along the same theme as this library itself, I am using an older version of DJGPP from the late 90's. I have not tested with any other versions of the DJGPP toolchain other than:

15 Jan 1998   bnu281b.zip
24 Oct 1997   csdpmi4b.zip
31 Oct 1996   djdev201.zip
18 Jan 1997   faq210b.zip
 6 Jun 1998   gcc281b.zip
18 Oct 1996   gdb416b.zip
 6 Jun 1998   gpp281b.zip
 1 Mar 1998   mak3761b.zip
30 Sep 1997   rhide14b.zip

This is a pretty arbitrary selection that was based on a cut-off of about 1998 (which was when I first came across DJGPP when I was younger).