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: | or 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.
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
!!!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 your own resources!| Vince Gee (Dec 09, 2006 at 19:28 GMT) Resource Rating: 5 |
| OneST8 (Dec 09, 2006 at 22:03 GMT) Resource Rating: 4 |
| Vince Gee (Dec 09, 2006 at 22:08 GMT) Resource Rating: 5 |
| Ken Finney (Dec 09, 2006 at 23:16 GMT) |
| OneST8 (Dec 10, 2006 at 00:00 GMT) Resource Rating: 4 |
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 |
Ill try again tomorrow, looks amazing :)
| Joseph R. (Dec 10, 2006 at 00:57 GMT) |
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 |
@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 |
| Flybynight Studios (Dec 11, 2006 at 08:00 GMT) Resource Rating: 5 |
Wish I could rate this a 10.
| Vince Gee (Dec 11, 2006 at 13:16 GMT) Resource Rating: 5 |
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.


4.6 out of 5


