« Previous - Version 3/14 (diff) - Next » - Current version
sfb, 10/14/2010 10:28 pm


PatchGen

First generate new product by running

patch_gen createNewProduct patch_game/game.xml

that creates default directory layout and xml files

Directory layout

* patch_game/
* patch_game/bnp     - put your .bnp files here
* patch_game/patch   - this will have generated patch files. copy these to web server
* patch_game/ref     - patch_gen work files
* patch_game/game.hist
* patch_game/game.xml

Generate patch

Copy updated .bnp files to patch_game/bnp and run

patch_gen updateProduct patch_game/game.xml

xml file

<xml>
        <_Categories>
                <_Category>
                        <_Name type="STRING" value="main"/>
                        <_IsOptional type="SINT32" value="0"/>
                        <_IsIncremental type="SINT32" value="0"/>
                        <_Files type="STRING" value="main.bnp"/>
                        <_Files type="STRING" value="sound.bnp"/>
                        <_Files type="STRING" value="textures.bnp"/>
                </_Category>
                <_Category>
                        <_Name type="STRING" value="unpacked"/>
                        <_IsOptional type="SINT32" value="0"/>
                        <_UnpackTo type="STRING" value="./"/>
                        <_IsIncremental type="SINT32" value="1"/>
                        <_Files type="STRING" value="exedll.bnp"/>
                </_Category>
                <_Category>
                        <_Name type="STRING" value="optional"/>
                </_Category>
        </_Categories>
        <_IndexFileName type="STRING" value="game.hist"/>
        <_PatchDirectory type="STRING" value="patch_game/patch/"/>
        <_BnpDirectory type="STRING" value="patch_game/bnp/"/>
        <_RefDirectory type="STRING" value="patch_game/ref/"/>
        <_NextVersionFile type="STRING" value=""/>
</xml>

<_Files> node in each category will tell which .bnp files are being tracked.

Directory entries or IndexFileName can also be absolute like bnp's in 'r:/game/ryzom/data', patch will be put to 'w:/webroot/patch_game' and history is kept in 'c:/game.hist'

External tools

lzma.exe can be found from http://www.7-zip.org/sdk.html

xdelta.exe from http://evanjones.ca/software/xdelta-win32.html

Warning!

On Windows 7 environments you may need to enable compatibility. To do this:
  1. Right click on xdelta.exe and choose Properties
  2. Navigate to the Compatibility tab.
  3. Check "Run this program in compatility mode for" in the "Compatibility Mode" section.
  4. Choose "Windows XP (Service Pack 3)"
  5. Click OK.
  6. Run xdelta.exe and confirm that you wish to allow the program to make changes to your system.

generated_Patch_Folders.png - generated_Patch_Folders.png (12 kB) Aztecmage, 08/01/2011 03:17 pm