LessGRF
What?
LessGRF (LGRF) is an extension to the GRF format which adds a new algorithm for file compression. Normally the GRF will compress files using the DEFLATE algorithm which is the compression method typically used in ZIP files, but LessGRF adds the LZMA algorithm as an option.
Why?
Ragnarok's GRF files can get quite big. Back in the days the game data used to take up a few hundred megabytes, but today the GRF archives are about 2GB and contain tens of thousands of files. Since the data is starting to get pretty big it's possible to save quite a bit of space simply by re-compressing the game files with a more efficient algorithm. In my test on a full data.grf the file was reduced to about 60% of its former size. Maybe someone will find it useful if they want to make a mini client or something? Honestly, this was just a little experiment I did out of curiosity.
How?
Two simple steps are all that's necessary to use the LGRF format. First, download this file.
1. Installation
To upgrade your client, replace the cps.dll in your Ragnarok folder with the one from the download. (Make a backup of the old DLL file first.)
2. Recompression
Extract GRFCrush.exe somewhere. Run it from command line or just drag and drop your GRF file onto it. It will generate a new GRF file which you can use instead of the old one. The recompression process will likely take about 20 minutes on a moderately powerful computer.
Q&A
Q: Since the compression rate is better, will files load slower?
A: I've not notice any different in map load times. LZMA is more expensive to decompress, but modern processors are so fast the load time might just as well be reduced since less data has to be read from the hard disk.
Q: Can I use both GRF files and LGRF files at the same time?
A: Yes. The new cps.dll supports the old GRF compression as well. You can mix LGRF and GRF
Q: Can patchers or GRF tools update LGRF archives?
A: Very likely, but only if they don't attempt to decode the data in the process.
Q: Can current GRF tools extract files from LGRF archives?
A: No.
Q: ...Does that mean it can also be used for GRF protection?
A: I wouldn't recommend it. (That being said I guess this is no less "secure" than GRF protectors like SecureGRF.)
Q: Are there any penalties involved with using this format?
A: Incompatibility with GRF extractors is currently the only thing I've been able to think of. Let me know if you notice something else.