If you have ever used the Sonic Data Compression Tool before, you will notice that there are four .dll files, one for each type of compression (Kosinski, Nemesis, Enigma, and Saxman) that come along with the main application that you use to compress/decompress files.
If you wanted to build a similar tool for your own compression formats, what program will need to use to make your .dll files, as well as making the main application?
A similar tool could also be made and used to transform data (e.g. for 8*8 tiles, you could choose to have all instances of one nybble replaced with another, thereby replacing the corresponding pixels' color).
Make your own Compression Libraries
Moderator: BigEvilCorporation
-
- Very interested
- Posts: 2452
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
Making a DLL is matter of setting a right compiler flag so it would make a DLL instead of an EXE.
Rest is up to the programmer to write and create interfaces for.
Rest is up to the programmer to write and create interfaces for.
Mida sa loed ? Nagunii aru ei saa 
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
Windows Forms Applications
The main application of Sonic Data Compressor seems to be made of a Windows Forms Application. You can make these from Microsoft Visual C++.
You can write a compressor and decompressor as a C++ program, and then run those programs with the push of a button on the main application, just like the Sonic Data Compressor.
You can write a compressor and decompressor as a C++ program, and then run those programs with the push of a button on the main application, just like the Sonic Data Compressor.
-
- Very interested
- Posts: 237
- Joined: Fri Apr 17, 2009 7:35 pm
- Location: USA
Re: Windows Forms Applications
You're most of the way there. Any windows compiler can put out a dll, I'd recommend one of Microsoft's Visual Studio Express products. You will also need to know what functions the main application is going to import from a compression dll. Probably one for compression and one for decompression. You can either consult documentation for Sonic Data Compressor (maybe it will mention the functions the dll needs to export, I'm not familiar with it) or just throw the main application in IDA and you can probably get an idea of what you need to export & its calling conventions. That said I'm sure the compression dll's are documented somewhere, as I believe more programs utilize them.walker7 wrote:The main application of Sonic Data Compressor seems to be made of a Windows Forms Application. You can make these from Microsoft Visual C++.
You can write a compressor and decompressor as a C++ program, and then run those programs with the push of a button on the main application, just like the Sonic Data Compressor.
my album - last thursday died last week