Archive for June, 2008

MaxWinAPI – a review of this awesome DLL for GameMaker

Thursday, June 5th, 2008

Let’s face it, when it comes to the Windows API, Game Maker is lacking in many areas. But the developer(s) of Game Maker were well aware of that, and that’s why they put in their software the ability to call functions from an external DLL.

There areĀ many DLLs out there, some of them more awesome than others, but one that I think stands out is Hobble Software‘s MaxWinAPI DLL. This DLL gives you access to all sorts of Windows API functions, including tabs, textboxes, buttons, progress bars, combo boxes, tables, etc. Are there downsides? Absolutely. The biggest is that because of the way Game Maker draws on its windows the APIs will not refresh properly, and will look bad. The solution of course is that the DLL includes a function to create its own windows, where everything works as intended.

Tabbing between controls doesn’t seem to work either, and the MaxWinAPI windows do not respond to GameMaker keypress “Events”. Nevertheless, it will respond perfectly to keyboard_check_direct() events placed in the Step event. Remember if you are using a letter, (ie. “everything they press ‘C’) you need to use ord(). For example

if(keyboard_check_direct(ord('C')))
{
show_message("C has been pressed");
}

The DLL is also not documented very well, so make sure to view the provided examples and study them carefully. Furthermore, you may like to know that work on MaxWinAPI2 is underway and that it is much better documented.

Plus remember there’s a great community who will be more than willing to help out with any questions you may have.

Good luck!

Roman