8 Screenshots

About This File

Hey everyone,

This is a GRF tool I started to develop for my own personnal use, but I thought I'd share it since I've upgraded the UI. Its primary goal is to be easy to use while offering a wide variety of options and customizations. The software is quite stable and can handle large operations easily.

How to install

  • Download the zip archive provided from the download link at the bottom of this description or directly from there : http://www.mediafire.com/?aflylbhblrzpz0h
  • Install the application with GRF Editor Installer.exe; if you are missing a .NET Framework you will be prompted to download it.
  • Once you are done, you can start the program from the link on your desktop.

Key features

  • Overall speed is faster (or at least equal) than any GRF tool.
  • Common operations : add, delete, merge, extract, preview, save.
  • Undo and redo for any operation.
  • It can open any GRF file.
  • Clean and very interactive interface.
  • Saving formats supported : 0x200, 0x103 and 0x102 (through the Settings page) and conversion to the Thor format.
  • Instant filter and search options (example : "map .gat").
  • File association and context menus integration for .grf, .gpf, .rgz and .thor (through the Settings page).
  • Can rebuild separated images into one file easily.
  • Drag and drop (with the ALT key, can be modified in the Settings page). This is a big part of the software; most of the items can be moved around within the application itself or from/to Windows Explorer.


  • Sprite editor : a simple sprite editor with powerful features. Semi-transparent images can be added, you can easily change the order or replace images, etc. This tool can convert images in the wrong type by showing you multiple solutions (merging a new palette, dithering the image by using current palette, using the closest color, and a few more).
  • Grf validation : allows you to validate a GRF with multiple settings. It can detect corrupted GRF entries, invalid sprites, empty files, non-GRF files, duplicate files and a lot more.
  • Flat maps maker : generates flat maps from .gat and .rsw files. Useful to generate WoE maps or to fasten up the loading time.
  • Patch maker : generates a GRF patch based on two different GRFs.
  • Hash viewer : shows the hash code (both CRC32 and MD5) for files.
  • Image converter : converts an image to any format requested (BMP, PNG, JPG, TGA).
  • GrfCL : used to create batch files (.bat) which can automate tasks on GRF files. See the content in GrfCL.rar in the download for more information. This tool can be customized from the sources as well.
  • Palette recolorer : creates new sprites by changing their colors (this tool is now deprecated).
  • Client database editor : allows modifications of the database client files (txt and lua) with easy and simple tools. Work in progress.

Grf encryption

The encryption feature has been enabled again. It's similar to what it used to be and it has been tested on client versions ranging from 2012-08-01 to 2014-02-05. Some error messages will be displayed if necessary. If you have an issue, copy the error message (with the code, if there's one) and send me the client executable with the cps.dll file generated by GRF Editor. There shouldn't be compatibility issues anymore though!

Thor files

Thor files are patches used by Thor Patcher (
). Because of their similarity with the GRF file structure, they have been integrated within GRF Editor. The primary utility of this feature is that it allows you to add encrypted files to a Thor patch. All the other options can be achieved by using Thor Maker. You'll find the necessary steps below, but test your patches before sending them off to players (I've done a lot of testing on my end, but better be safe).
If you're using SecureGRF, then make a new GRF, add the files and encrypt it. In GRF Editor, open the encrypted GRF you just made, use "Save as" and name the new file with a .thor extension. That's it, if you want to change the output directory, click on the root node of the project and select the tab "Container options". You can select the output mode and the GRF to merge the patch with. Simply save again if you change these properties.
If you're using GRF Editor's encryption, then make a new Thor file (File > New > New Thor) and add the files you want to patch it with. Right-click on the files you want to encrypt and use Encryption > Encrypt.

Technical stuff

  • Requires .Net Framework 3.5 (SP1) Client Profile to run (3.5 or more will work as well).
  • Automatically converts file name encoding to their proper values (you can change the encoding).
  • Data virtualization is used as much as possible to preview files, meaning the files aren't completely loaded.
  • Right-clicking an item will bring up the available options with that file.
  • Preview file formats : txt, log, xml, lua, lub, bmp, png, tga, jpp, db, ebm, pal, gnd, rsw, gat, rsm, str, spr, act, imf, fna and wav.
  • Services are "crash ready", meaning that you will be warned about a failed operation and no work will be lost (the application won't close and crash). It tries to continue operating even if it meets unsual conditions.
  • Operations can be cancelled by clicking on the button near the progress bar.
  • The warning level can be changed to avoid messages like "Please select a folder first."
  • When prompted with an error, use Ctrl-C to copy the current dialog's content.

Some screenshots!

1) Previewing an act file, while showing the search feature


2) Preview of a model file (rsm)


3) Preview of GrfCL with the MakeGrf command


4) Preview of maps


5) Preview of Grf validation


6) Search feature (press Ctrl-F or Ctrl-H to bring up within a text editor)


Got a feedback? I'd gladly hear you out and fix issues you have with the program.

What's New in Version 1.6.3   See changelog


  • [Added] GRF : Str files can now be read (no previews are available for now, but their content can be explored).
  • [Added] GrfEditor : Dragging a folder node outside of the application will now copy the content to a windows folder (this operation is a lot slower than using right-click > Extract > Extract to... but it is more convenient). As a reminder, the ALT key is used by default to drag and drop items from list views and tree views.
  • [Added] GrfEditor : You can now drag and drop from the search list as well (the path of the files will be ignored).
  • [Added] GrfEditor : Str' resources (images) can be extracted from the ResourceExtractor previewing tab.
  • [Added] GrfEditor : It is now possible to rename a map file directly with right-click > "Save map as...".
  • [Added] SpriteEditor : You can extract images by drag and drop (by pressing the ALT key), this is much more convenient.
  • [Added] ResourceExtractor : You can select files to its location within the GRF by right-clicking on the item.
  • [Added] ResourceExtractor : The TreeView for selecting the resources can now handle multiple selections (maintain the shift or control key). Drag and drop for the ResourceExtractor will now extract resources directly to a windows folder. There is also a preview of the selected item.
  • [Fixed] GRF : Repacking now better handles corrupted files.
  • [Fixed] CDE : GrfExplorer didn't show the column headers properly.
  • [Fixed] LubDecompiler : Fixed an indentation issue regarding the SetGlobal opcode.
  • [Fixed] GrfEditor : The "Add" option on the project node has been fixed and it has been improved slightly (drag and drop is still highly recommended).
  • [Fixed] GrfEditor : Undoing a folder merge didn't update the TreeView correctly; this should no longer happen. Added folders with no files will now be removed properly after an undo as well.
  • [Fixed] GrfEditor : Large animation sprites (ACT) shouldn't lag anymore.
  • [Fixed] GrfEditor : Dropping a TreeViewItem on an empty space of the TreeView no longer throws exceptions.
  • [Fixed] GrfEditor : The display size of new items is being shown again.
  • [Fixed] GrfEditor : When saving images, all the available formats are shown and the current format is automatically selected.
  • [Fixed] GrfEditor : When selecting a folder, the Vista-style folder dialog will pop up if you're using Windows Vista or later.
  • [Fixed] GrfEditor : The file locking process is now being handled directly by the GrfFileTable class instead of the GrfHolder class. This fixes quite a few issues with delete operations.
  • [Fixed] GrfEditor : Operations on GRF entries that aren't available (such as extracting map files on a lua file for example) won't be accessible anymore.
  • [Fixed] GrfEditor : Inappropriate operations on RGZ files won't be allowed anymore (ex : root node cannot be modified, folders can't be added before the root, etc).
  • [Fixed] GrfEditor : Fixed bugs regarding Windows XP (AvalonEdit wasn't behaving properly; some minimap previews weren't showing; the new imaging component didn't handle the DPI properly for palette images).
  • [Modified] GrfEditor : All data is now being written in the UserAppDataPath instead of the program's folder. This is done to avoid privilege issues (as in UAC and drag/drop features). The current software settings should get copied automatically with the self patching system (as well as the file associations).
  • [Modified] GrfEditor : The map previewing tab is now using Indexed8 images instead of Bgra32.
  • [Modified] GrfEditor : The path requests (open file dialogs, save file dialogs, etc) are now saved based on their utilities. Sprite Editor will save its own paths, the extractions will save its own paths, etc.
  • [Modified] GrfEditor : You can now extract from the project node, this is the same as extracting from the data node.
  • Upvote 24
  • Love 3
  • Like 1