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.
License
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 SourceForge.net
You can always find the latest version of the tool box in the SVN on SourceForge.net. Download by pointing your SVN client to the following address:
http://svn.code.sf.net/p/actb/code/trunk
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.
Contents
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.
- zlib - for PNG support
- libpng - for PNG support
- squish - for DXT1, DXT3, DXT5 compression support in DDS files
- libjpeg - for JPG support
Utilities
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
Graphics
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
Framework
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