Jump to content

8 Screenshots

About This File

** This program has been orignally uploaded on rAthena; it's been uploaded on Hercules due to multiple requests. If you have suggestions or feedback and you want a quick response, please contact me via rAthena. I will respond on Hercules' forum as well, but it'll take a bit longer ;).

 

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).
  • Instant filter and search options (example : "map .gat").
  • File association and context menus integration for .grf, .gpf and .rgz (through the Settings page).
  • Can rebuild separated images into one file easily.
  • Lub decompilation (in beta, but it can decompile almost any lub file so far).
  • 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).
  • 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!

 

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

f4s9HyJ.png

 

2) Preview of a model file (rsm)

JJGzEDe.png

 

3) Preview of GrfCL with the MakeGrf command

grfcl.png

 

4) Preview of the Client Database Editor

KIilfiY.png

 

5) Preview of Grf validation

RhQY5hj.png

 

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

vGwnomr.png

Sources : http://www.mediafire.com/download.php?7z6hkdag4ayj8rs

 

Got a feedback? I'd gladly hear you out and fix issues you have with the program. If you want new features to be added, don't hesitate to ask!


What's New in Version 1.6.7   See changelog

Released

  • [Added] GrfEditor : You can now save as .thor. Encrypted files can be used (if you're using SecureGRF, then please read the description concerning Thor files making). If you're using GRF Editor's encryption, then simply right-click and encrypt.
  • [Added] GrfEditor : New preview tab when selecting a folder : "Container options". This tab is mainly useful for editing the options of Thor patch files (target GRF and patch mode).
  • [Added] GrfEditor : Thor file association.
  • [Modified] GrfEditor : Encrypted files will now show as orange and files to remove will show as red.
  • [Modified] GrfEditor : The stack trace viewer has been updated to help locate and identify the exception in a more readable output.
  • [Modified] GrfEditor : When the extraction process fails, the first exception will be shown.
  • [Modified] GrfEditor : Adding a container file (grf/gpf/thor/rgz) is now allowed for RGZ and Thor files. It's not recommended to do so though (you are compressing an already compressed file).
  • [Removed] CDE : Removed the option to keep old comments in TXT files (doesn't perform fast enough).
  • [Fixed] CDE : Several minor fixes in CDE.
  • [Fixed] GRF : Saving as .rgz will now work again. Also RGZ to GRF has been fixed (bug introduced in the last release).
  • [Fixed] GRF : The encoding of added files wasn't being taken into account with the new structure.
  • [Fixed] GrfEditor : Fixed the extraction method (multi-threading wasn't behaving properly).
  • [Fixed] GrfEditor : The window priority for dialogs has been fixed.
  • [Fixed] GrfEditor : Changing encoding now also changes every fields in the tree nodes data (would cause issues when adding files, such as having folders appearing twice).
  • [Fixed] GrfEditor : Updated the embedded manifest (fixes some UI problems).
  • [Fixed] GrfEditor : Creating a new GRF if the current one is already modified will prompt a warning.
  • [Fixed] GrfEditor : Fixed a bug when renaming a folder.
  • [Fixed] GrfEditor : Fixed the extraction method (BufferedStream.ReadMisaligned).
  • [Fixed] GrfEditor : A file name without an extension won't throw an exception in the search engine anymore.
  • [Fixed] GrfEditor : Extraction has been fixed for both RGZ and Thor files (bug introduced in the last release).
  • [Fixed] SpriteEditor : Fixed a bug when trying to replace an image.
  • [Fixed] GrfEncryption : The generated DLL has been upgraded to not disable itself in case of an uncommon scenario.



User Feedback

Recommended Comments

I'm attempting to load the data.grf from a fresh kRO install (from here) and I get this error:

 

--------------          Message          --------------
Couldn't load the GRF.
--------------        Stack trace        --------------
   at GrfToWpfBridge.Application.DefaultErrorHandler._reportAnyManagedExceptions(String message, Exception exception, ErrorLevel errorLevel)
   at GrfToWpfBridge.Application.DefaultErrorHandler.Handle(Exception exception, ErrorLevel errorLevel)
   at ErrorManager.ErrorHandler.HandleException(String message, Exception exception, ErrorLevel errorLevel)
   at GRF.Core.Container._load(String fileName)
   at GRF.Core.Container..ctor(String fileName)
   at GRF.Core.GrfContainerProvider.Get(String fileName)
   at GRF.Core.GrfHolder.Open(String fileName, GrfLoadOptions options)
   at GRF.Core.GrfHolder.Open(String fileName)
   at GRFEditor.EditorMainWindow.<>c__DisplayClass63.<_load>b__58()
   at GRF.Threading.GrfThread.<>c__DisplayClass7.<Start>b__6()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

--------------         Exception         --------------
System.Exception: Couldn't load the GRF. ---> GRF.ContainerFormat.GrfException: The length of the stream is too small for this container. Unable to parse the header.
Actual size : -1610635553
Expected minimal size : 46
   at GRF.ContainerFormat.GrfExceptions.ThrowHeaderLengthInvalid(Int32 length, Int32 expected)
   at GRF.Core.GrfHeader..ctor(IBinaryReader reader)
   at GRF.Core.Container._load(String fileName)
   --- End of inner exception stack trace ---
--------------          Message          --------------
The length of the stream is too small for this container. Unable to parse the header.
Actual size : -1610635553
Expected minimal size : 46
--------------      Inner exception      --------------
GRF.ContainerFormat.GrfException: The length of the stream is too small for this container. Unable to parse the header.
Actual size : -1610635553
Expected minimal size : 46
   at GRF.ContainerFormat.GrfExceptions.ThrowHeaderLengthInvalid(Int32 length, Int32 expected)
   at GRF.Core.GrfHeader..ctor(IBinaryReader reader)
   at GRF.Core.Container._load(String fileName)
 

Anyone know what's going on?

Share this comment


Link to comment
Share on other sites

And as an added bonus, when I try to open the data.grf from the pre-re translation project, all clientinfo.xml says is

 

[null][null][null][null][null][null][null][null][null][null][null][null][null][null][null][null][null][null]

 

translation project grf updated.PNG

Share this comment


Link to comment
Share on other sites
9 hours ago, Vejova said:

And as an added bonus, when I try to open the data.grf from the pre-re translation project, all clientinfo.xml says is

 

[null][null][null][null][null][null][null][null][null][null][null][null][null][null][null][null][null][null]

 

translation project grf updated.PNG

save this as clientinfo.xml 

 

<?xml version="1.0" encoding="euc-kr" ?>
<clientinfo>
    <desc>Ragnarok Client Information</desc>
    <servicetype>korea</servicetype>
    <servertype>primary</servertype>
            <connection>
            <display>BesprenRO</display>
              <address>192.168.0.1</address>
              <port>6900</port>
              <version>55</version>
              <langtype>1</langtype>
        <registrationweb>www.besprenro.com</registrationweb>
        <yellow>
            <admin>2000000</admin>
        </yellow>
        <loading>
            <image>loading00.jpg</image>
            <image>loading01.jpg</image>
        </loading>
    </connection>
</clientinfo>



 

Share this comment


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.