7z and D
After sometime manually creating zip files and manually moving the files to the appropriate folder for sometime, I just realised that 7zip has it’s own command line interface. Yay! Windows did not provide a command line interface for the zip (not sure where the program is, even), so I couldn’t write batch files to automate the process.
7 zip, in my opinion, ranks in the top-tier of free compression software. It supports many formats outside of zip, along with a simple interface, it is essentially just download and zip/unzip your stuff.
The reason for the compression was that the game without compression is going to be horribly big for the game and that a base game, with all the patches is needed. While the patches were made with the free patch maker, it did not have a command line interface.
At first, I used Python to write a prototype using subprocess.call to call 7zip and datetime for the datestamp, and that was it. With extra time to spare, I wrote another in D. This took considerably longer as I added few more features, like reading from a config files, and a much general zero padding function using recursion(not a bad way to do it :D).
The end product was quite likable. The config.txt name was hardcoded into the program, so there could only be one config file for one autozip program, though hardcoding it would mean I just need to double click and run. It cuts both ways, I guess, though my patch build and game build was located in different folders anyway, so there was not much to complain of.
What I liked about the D program was that it compiled to an executable, and for user input, only relied on a text configuration file, so it was much cross platform than Python, which required me to download Python to run the script, on Windows, nothing less. That’s actually not a bad thing (I wrote Python and Batch scripts armed with notepad and a crippled Python27.dll when I worked in PADINI as a cashier, but that’s another story of it’s own. :P)