• Home - See the latest news from Lone Wolf Development
  • Hero Lab® - Character management software for traditional role-playing games
  • Army Builder® - Point and click army construction for tabletop miniatures games
  • Realm Works™ - Streamlined RPG campaign management for players and GMs
  • Online Store - Buy Army Builder, Hero Lab and Card Vault here
  • Forums - Post your questions and comments about our products here
  • Technical Support - Having problems? Check here for solutions
  • Retailer Info - Important information for retailers, including free in-store licenses for all our products
  • More - Information about the company, other resources, and information on our discontinued products

–  Creating Interface Extensions  –

If you want to create your own custom interface extension for the Army Builder® brand roster construction tool, you've come to the right place. This page outlines all of the pertinent details for how to do it. It also provides a detailed list of each resource id, its dimensional requirements, and how/where that resource is used within Army Builder.

Note! Interface extensions are NOT considered an official feature of Army Builder. Creation of interface extensions is therefore NOT supported by Lone Wolf Development.

How Interface Extensions Work

Army Builder normally retrieves the graphics and color definitions that it uses from a DLL named "gfxblue.dll". All of this data is stored in the DLL as standard Windows bitmaps (no other resources are used in this file). Each bitmap has a unique id assigned to, and all of these bitmaps are collectively referred to as "resources".

Creating an interface extension consists of creating a separate DLL that contains the resources you want Army Builder to use instead of its standard resources. Each of the resources in the extension DLL must have the exact same unique id that Army Builder expects, since that's how Army Builder identifies the proper resources in the file. A list of all of the resources and their ids is provided separately on this web-page, enabling you to determine which resources you want to replace and what constraints may exist upon those resources (e.g. fixed dimensions for buttons). You can create your own interface extension DLL using a wide range of tools, although the details of how to create a DLL are beyond the scope of this documentation.

When Army Builder is launched, it looks for the existence of an alternate graphics DLL named "altgfx.dll" in the directory where Army Builder is installed. If it finds this DLL, the DLL is loaded and Army Builder will first look for all of its resources in the alternate DLL. This means that installing an interface extension requires three simple things. First, a DLL must be created that contains the appropriate resources for Army Builder to use. Second, that DLL must named "altgfx.dll". Third, the DLL must be placed into the directory where Army Builder is installed.

Assuming an interface extension is properly created and installed, Army Builder will look in the extension DLL first, but the extension DLL does NOT need to contain all of the resources used by Army Builder. The extension DLL is treated as an "override". If a resource is found in the extension DLL, it is used. If the resource is not found, Army Builder will retrieve the default resource from the standard DLLs. This greatly simplifies the creation of interface extensions, since the DLL does not have to contain all the resources and you and incrementally override one resource at a time until you get the complete look that you'd like.


Important Considerations

The follow is a list of important considerations that must be kept in mind when writing custom interface extensions.

  • Army Builder will ignore interface extensions on a system with 8-bit color (256 colors).
  • Only the published resource ids (see list) should be overridden within an extension DLL.
  • Mask bitmaps are monochrome with a pixel value of 0 indicating the pixel IS blitted through.
  • Buttons will often have a "disabled" state, indicating the button cannot be clicked by the user.

Public Resource Definitions

You can view a complete lists of all Public Resource Definitions used by Army Builder by using the link provided.


Looking for a Good Resource Editor?

There are numerous shareware tools available that allow you to directly edit the contents of resources in a DLL. You can find a long list of them on www.download.com. Simply do a search for "Resource Editor".