« Previous - Version 2/14 (diff) - Next » - Current version
nimetu, 06/23/2010 01:52 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

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