GRF Editor 1.8.0

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.

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.

Tools

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).

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!

). 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.

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.

[Added] GrfEditor : The lub files can be decompiled by GRF Editor without using a third party software. These are still available though. The decompiler has a rather high rate of success, lua 5.0 and 5.1 are both supported. Some formatting options are available, I'll add more if requested. It will decompile large files, such as ItemInfo very well.

[Added] GrfEditor : Added lua and imf custom syntax highlighting.

[Added] GrfEditor : Testing an automatic update system; it is disabled by default (Settings > Application > Enable patching service). It will only warn you about a newer version for now.

[Added] GrfEditor : Custom GRF compression and uncompression is possible by using a DLL which exports the proper methods (such as cps.dll; these are the "compress" and "uncompress" methods).

[Added] GRF : Added a new saving method, "repack", which recompresses all the files in the GRF (this option is visible in GRF Editor via File > Repack). Repacking requires the GRF to have no modifications, so you'll have to save your current GRF before using it. The purpose of this is to automatically convert the files from one compression mode to another. This will NOT save space since GRF Editor always repacks the files when you save.

[Fixed] GrfEditor : The lub decompilation process was broken for quite some time now, it's been replaced.

[Fixed] GrfEditor : The gat editor was broken due to an optimization on the previous release.

[Fixed] GrfEditor : The file stucture previewing tab didn't show the right information on a button.

[Fixed] SpriteEditor : Saving a modified sprite direclty in the GRF caused the other previewing tabs to throw exceptions. This has been fixed.

[Fixed] SpriteEditor : Much safer to use now, no weird exceptions regarding the index.

[Modified] GrfEditor : The compression method has been changed to the official zlib library used by Gravity (this is the default value and it can be modified). GrfCL will still use GRF Editor's compression method.

[Modified] GrfEditor : Only the installer will be in the zip file from now on, there is no need to have files twice.

[Modified] GrfEditor : Clicking on an already selected item will reload the content on the preview panels.

[Modified] SpriteEditor : Implemented the ICommand pattern on the sprite builder, this means you can now undo and redo operations. A warning will be prompted when closing a sprite with modifications.

[Modified] SpriteEditor : Same as GrfEditor, clicking on an already selected item now always shows it up on the preview panel.

[Modified] SpriteEditor : On the format conflict window, all images will now scroll at the same time to better see the differences on the images (the window is also resizable now).

[Modified] SpriteEditor : Two new transparency modes have been added ("use the first pixel in the image" and "use the last pixel in the image").

[Modified] TkLibrary : All image conversions now use the same library.

[Modified] GRF : Core changes in how images are processed. They will no longer be delayed when converted to their proper format.

[Removed] SpriteEditor : Can no longer move sprites with the ALT key (this code was a giant mess and wasn't very stable). They can still be moved with the "Set index" option, and multiple items can be moved as well this way now.