AngelCode Tool Box

The AngelCode tool box is a set of independent classes and functions used to speed up development of applications. Functionality covered includes light Win32 wrapper, image loading/saving, timer, etc.


The library is released under the liberal zlib license, which basically says that you are free to use the library in your projects without any cost, as long as you do not claim to have written the used parts yourself. The full license text can be found in each of the source files.

Download at

You can always find the latest version of the tool box in the SVN on Download by pointing your SVN client to the following address:

I recommend TortoiseSVN as the SVN client if you're using Windows, otherwise the original SVN is the best alternative.

You can also browse the source code directly online.


Win32 wrapper classes

Sub directory: win
Namespace: acWindow

These are a set of light Win32 wrapper classes, that will let you work with Win32 windows as C++ classes rather than Win32 handles. They are by no means meant to substitute the Win32 API, only to simplify your work with the API a little.

Classes: CWindow, CDialog, CButton, CEdit, CListView, CTreeView, CStatic, CFileDialog, CStatusBar

Image functions

Sub directory: img
Namespace: acImage

This is a set of functions for loading and saving images in different file formats. There are also a few functions for performing simple manipulation such as conversion between pixel formats.

Supported file formats: BMP, TGA, PNG, JPG, DDS

The loading and saving of images relies on a few 3rd party libraries.


Sub directory: util
Namespace: acUtility

These are utility classes for performing some specific tasks.

Classes: CTimer, CLog, CInput, CConfig, CFileMgr, CSimpleRandomizer, vector2, vector3, matrix4x4
Functions: DecodeUTF8, EncodeUTF8, DecodeUTF16, EncodeUTF16


Sub directory: gfx
Namespace: acGraphics

Classes for working with graphics through DirectX 9. CGraphics is the main class for initializing and setting render states. CDynRender is used for simple dynamic rendering, without having to manually build the vertex and index buffers. CCamera is for basic camera manipulation. CFont is for rendering bitmap fonts, as generated by BMFont.

Classes: CGraphics, CDynRender, CCamera, CFont


Sub directory: dxapp
Namespace: acFramework

This is basic starting point for creating a new DirectX application using the toolbox.

Classes: CBaseApplication, CAppWindow
Effect files: font, shadowmap, scene, copytexture, white