Previous Blog Next Blog
Prev/Next Blog
by date

Game Patcher Release 1 Finished!!!!

Game Patcher Release 1 Finished!!!!
Name:Vince Gee 
Date Posted:Dec 09, 2006
Rating:4.6 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Vince Gee

Blog post
Hey readers!

!!!UPDATE!!!
I've put up forums for the tool where I will be publishing updates and such to.
www.geeconsulting.net/vision/login.asp

IMPORTANT: This program ONLY works on windows. You cannot even run the patcher to download the source on anything else. I used winzip to make the download as well.

So I get an email from a guy last week.
Quote:


'...The only changes Im looking to make to the patcher are very basic. Really I just want to remove the 'user input' stuff and then put a nice branded/logo splash screen on the GUI. So specifically what I am trying to accomplish with it are:

1) Brand the GUI for my project
2) Hard code the FTP info into the EXE
3) Have the application assume the directory it is running from IS the root of the software package we are attempting to patch. (IE not require the user to enter in a directory location.)

And finally, do you have any suggestions on how to get the patcher to execute the main game EXE upon successful completion?



Simple enough by most standards, I most likely could have enhanced the original program to meet these requirements. Then I opened up my old code. It was horrid! No comments, no real logic... too many variables named 'thisdoessomething' and I thought to myself... I am embarrassed.

So, after a week of working I ended up with an application like the one I posted in my last blog. It was cool and all and it did work, albeit clunky. The user interface reminded me of applications I wrote back in the 80's and that tab control irritated me every time I used it.

So, a couple days ago I decided I was going to scrap the interface for the Patch Creator. It was ugly and unintuitive. That is when I remembered about MDI forms and how nice they looked. This marked the birth of the new Patch Creator interface.

So, I get these MDI forms working and I notice that the application freezes time to time. I am not new to programming, I am aware this is because I am not threading the application and so the program does not have time to redraw the forms.

After a night fooling around with basic threading, I finally have screens that properly refresh. I finally learned how to use Delegates in C#, was interesting kinda.


The source code is free, use it how you wish. I do accept donations via Paypal, email is deceptus AT verizon dot net. If you do use it for an indie game that goes live, all I ask is for a free lifetime membership to play :)

So, for a quick tour of the application...

When the program starts up it will show you:



You then put in all your information like:



After that you click on "Verify FTP"



Then Go Tools--> Generate CRC



Which will then make your screen look like :



Then go Tools-->Compare CRC To Existing



If you have deployed the files before it will uncheck any files that haven't changed.


The go Tools-->Push to FTP




That is IT! If the FTP process does hang, just close the upload window and restart it. The files are un-checked as they are successfully sent to the server. When you restart it, it just starts again where it left off. You restart it by tools-->Push to FTP


No, how do people get your files?

You take the patcher client distribution and copy the crc.log from your scratch folder into it.
Also remember to replace the splash.gif with your splash screen.

Well thats it when the patcher runs it looks like


I will have the source code as well as the compiled code up today. It does require Microsoft Dot Net 2.0 to run.

EDIT:
To demonstrate how the patcher works, I am using the patcher to download the code :)
To download the patcher so you can download the source code, go to
mysite.verizon.net/deceptus/DL/Patcher.zip
Unzip it to a empty folder and click patcher.exe





Vince

Recent Blog Posts
List:12/22/06 - Need a head start on modding 1.5?
12/20/06 - Just thought I would post my going ons.
12/09/06 - Game Patcher Release 1 Finished!!!!
12/07/06 - Opensource Patcher Part 2
11/17/06 - Looking for a mountable Dragon
03/27/06 - The Current state of affairs (pics inside)
02/14/06 - Finnally an opensource patcher!!!!!
02/12/06 - Things are smoothing out for the Vision Toolkit

Submit ResourceSubmit your own resources!

Vince Gee   (Dec 09, 2006 at 19:28 GMT)   Resource Rating: 5
Feel free to post any questions here.

OneST8   (Dec 09, 2006 at 22:03 GMT)   Resource Rating: 4
I'm trying to unpack the zip in Linux so that I can browse the sources without having to reboot etc and noticed that I get an error: "unsupported compression method 98". Just an fyi.

Vince Gee   (Dec 09, 2006 at 22:08 GMT)   Resource Rating: 5
Dude, it won't work in any way shape or form on linux. I'm aware of that. The program uses microsoft .cab files for compression. You will need to do it on a windows box.

Ken Finney   (Dec 09, 2006 at 23:16 GMT)
I get the same error as OneST8 on Windows XP SSP2 using Winzip.

OneST8   (Dec 10, 2006 at 00:00 GMT)   Resource Rating: 4
Dude, I'm totally aware it won't work anywhere outside of Win32 but give me a break here, I just tried extracting it in Linux to experiment with Wine and whatnot. Sheesh.

Reminds me of a "bug reporter's tip" I once read somewhere... "when reporting a bug for a windows app, don't mention the word Linux. Even if the bug is valid; developers tend to get offended" or something to that effect.

Mads Laumann   (Dec 10, 2006 at 00:49 GMT)   Resource Rating: 5
I can't unzip too. I run Windows XP Pro SP2.

Ill try again tomorrow, looks amazing :)

Joseph R.   (Dec 10, 2006 at 00:57 GMT)
I can't unzip this using WinZip(R) 9.0 SR-1 (6224s) on Windows XP . I get these errors
Extracting to "C:\temp\patcher\"
Use Path: no Overlay Files: no
skipping Patcher Client\CabLib.dll: this file was compressed using an unknown compression method.
Please visit www.winzip.com/wz54.htm for more information.
The compression method used for this file is 98.
skipping Patcher Client\log.crc: this file was compressed using an unknown compression method.
Please visit www.winzip.com/wz54.htm for more information.
The compression method used for this file is 98.
skipping Patcher Client\PatcherClient.exe: this file was compressed using an unknown compression method.
Please visit www.winzip.com/wz54.htm for more information.
The compression method used for this file is 98.
skipping Patcher Client\Splash.gif: this file was compressed using an unknown compression method.
Please visit www.winzip.com/wz54.htm for more information.
The compression method used for this file is 98.

Vince Gee   (Dec 10, 2006 at 01:48 GMT)   Resource Rating: 5
Seems the version of winzip I was using is cheesy. I apologize for the bad zip. I redid it and try downloading it now.

@OneST8, I didn't mean to come off short. I have been working on this around the clock and I am a tad burned out. I have made a zip file of all the code and put it on my ftp site versus downloading the patcher and running it which is the way it is set up now. The url is mysite.verizon.net/deceptus/DL/SourceCode.zip and I used max compatability, so it should work now.

I am already planning my next release :) Maybe I'll start on it tomorrow if I get time.

Vince

OneST8   (Dec 10, 2006 at 13:09 GMT)   Resource Rating: 4
@Vince: It's all good, no harm done. The new zip extracts just fine. Thanks for clearing the problem up :)

Flybynight Studios   (Dec 11, 2006 at 08:00 GMT)   Resource Rating: 5
Vince: Bar none, THE most helpful and productive resource I've seen on the site. My hats off to you on this for your obvious hardwork and kindness in sharing. I'll drop you an email "soon"(tm) ;)

Wish I could rate this a 10.

Vince Gee   (Dec 11, 2006 at 13:16 GMT)   Resource Rating: 5
Your very kind, really the program is nothing special, it just does a few things I could never find a program to do. Also it doesn't require any special server software since it uses FTP.

I plan to add FTP pruning, file validation etc and also a client rewrite to get the blinking to go away. Also, a tool to make sure you have enough space on your ftp site as well as hard drive. Sooo much to do so little time to do it.

I figure I logged about 60 hours on it so far, so with another 60 hours I should be able to really refine this mess.

Maybe once I get all of the features I think I need I might move the project to sourceforge to protect the program from loss.

If anyone see's a feature that they would realy like but is not in their yet, feel free to email me and I will try to sneak it into the next release.

Vince

You must be a member and be logged in to either append comments or rate this resource.