KeenGrout

From KeenWiki
Jump to navigation Jump to search

KeenGrout
Developer(s)
Initial release
Latest update2008-05-21
Development statusFinished
Programming languagePureBasic
PlatformWindows XP, 7-10, Linux, Mac OS X
LicenseCopyright © 2010 by CK Guy
Tool TypeGraphics Editor
Engine(s)Keen:Galaxy
Discussion(s)K:M Discussion Thread
DownloadKeenGrout v.2.0 newest
KeenGrout extracted sprites

KeenGrout is a Keen:Modding utility created by CK Guy. This tool is adding/removing a Grid to the Keen graphics tileset and handling the sprite images. For the foreground tiles of Keens 4-6 it also makes all areas that are not part of the tiles a different color.

It was first released 2008-03-14. The updated version 2.0 from 2008-05-21 processes sprites in all episodes, as well as the 8x8 tiles in Keens 4-6.

It is written in PureBasic and is thus primarily a windows based utility. Nevertheless the source code is included in the download packet (keengrout.pb) and is highly portable to Linux or Mac OS X. Concerning the licensing the author stats: "Feel free to re-use whatever you want, but credit would be nice. It's not exactly open source (and definitely not GPL), it's more of an unspecified honor-system license. You know the deal; just play nice."

Using KeenGrout

KeenGrout 2.0 program screenshot

The file keengrout.exe must be placed in the same folder as the images (which are extracted with ModKeen beforehand). The grouted files have the same filenames as the originals, but with "G" added to the beginning. The program's interface is very simple: a single button and a textbox. Pressing the "Sync" button causes the program to go through all of the Keen graphics files in its folder. For each normal-file/grouted-file pair, it compares the two files' timestamps. The newer one is used to update the older one. (And if one is completely missing, the other is used to create it.) When one of the files is updated, its timestamp is changed to match its partner's.

This gives a bit of flexibility in how working with the graphics. Some tile work is easier in the original, non-grouted version. The only thing which shouldn't done between two executions of KeenGrout is editing both the original and grouted versions of a file, because any changes made to the older file will be lost.

The program window is "sticky" in that it will remain on top of other windows, even when it does not have focus. This was done so that one could just leave the program running during graphics-modding sessions, and move it to some corner of the screen.

Specifics

Here is a rundown of what files this program processes, and what it does for each.

  • nTIL0000.BMP (unmasked 16x16 tiles / for all episodes)
    The processed version of the graphics is stored in GnTIL0000.BMP, and contains grid lines every 17 pixels, to delimit the 16-pixel tiles.
  • nTIL0001.BMP (masked 16x16 tiles / for Keens 4-6 only)
    The processed version of the graphics is stored in GnTIL0001.BMP, and also contains grid lines every 17 pixels. It also examines the masking plane and makes all pixels that are not actually part of the tiles a different color.
  • nTIL0002.BMP (unmasked 8x8 tiles / for Keens 4-6 only)
    The processed version of the graphics is stored in GnTIL0002.BMP, and includes grid lines every 9 pixels, to delimit the 8-pixel tiles.
  • nTIL0003.BMP (masked 8x8 tiles / for Keens 4-6 only)
    The processed version of the graphics is stored in GnTIL0003.BMP, and also contains grid lines every 9 pixels. It also examines the masking plane and makes all pixels that are not actually part of the tiles a different color.
  • nMBMnnnn.BMP (masked bitmaps / for Keens 4-6 only)
    The processed version of the graphics is stored in GnMBMnnnn.BMP. It examines the masking plane and makes all pixels that are not actually part of the bitmap a different color.
  • nSPRnnnn.BMP (masked sprites / for all episodes)
    The processed version of the graphics is stored in GnSPRnnnn.BMP. It examines the masking plane and makes all pixels that are not actually part of the sprite a different color. The bounding box is carried over without change.

Miscellaneous

See Also