Game Development Community

dev|Pro Game Development Curriculum

Patch to Markup Lite Converter

by Konrad Kiss · 10/12/2009 (5:21 pm) · 9 comments


www.bitgap.com/i/bghead.jpg


www.bitgap.com/pictures/120/248x100/patch_to_markup_lite.jpgMy Patch to Markup Lite Converter is a free web-based service that will make it easy for you to create instructions on how to install a resource by simply generating a patch of the changes and converting them to Markup Lite instructions. You can then post the generated text in your GG resource blogs.

While working on our new website, I created a web service that would convert patch files to html instructions. I decided to also create a public Markup Lite version that will let GarageGames users convert patch files to instructions for those readers, who are not familiar with applying patches.

Check out the converter


Here is a short example of what type of instructions it generates (from the Cliff Construction Kit for TGEA 1.8.1 instructions):


---------------------------------------------------------------
---------------------------------------------------------------
---------------------------------------------------------------


In console/sim.cpp insert the marked code at line 19
// BG CLIFFS PACK >>>
   ImplementNamedSet(fxBGCliffReplicatorSet)
   // <<< BG CLIFFS PACK
   ImplementNamedSet(fxReplicatorSet)


In console/sim.h insert the marked code at line 72
// BG CLIFFS PACK >>>
   DeclareNamedSet(fxBGCliffReplicatorSet)
   // <<< BG CLIFFS PACK
   DeclareNamedSet(fxReplicatorSet)


In console/simManager.cpp insert the marked code at line 370
// BG CLIFFS PACK >>>
   InstantiateNamedSet(fxBGCliffReplicatorSet);
   // <<< BG CLIFFS PACK
   InstantiateNamedSet(fxReplicatorSet);


In core/bitRender.cpp at line 631 replace
#define SF(x)           ((x) >> 2)
with the following marked code
// BG CLIFFS PACK >>>
#define SF(x)           ((x) * .75) // was: ((x) >> 2)
// <<< BG CLIFFS PACK

---------------------------------------------------------------
---------------------------------------------------------------
---------------------------------------------------------------

I hope you will find this service useful. Please always check the validity of the converted instructions, and report any bad conversions in this thread, so I can further fine-tune the converter.

Thanks for reading,
--Konrad


Update 10/13/2009: Fixed problems with SVN patch files. Patch files can now be in any directory, so script patch files will also work.


@konradkiss
KonradKiss @ GitHub
konradkiss.com

#1
10/12/2009 (6:28 pm)
You must think of solutions in your sleep. ;) .good stuff.

//edit: ha! beat OD for the first post! hehe
#2
10/12/2009 (6:30 pm)
rofl :)
#3
10/12/2009 (8:16 pm)
rofl, awesome Konrad, will check it out later.
#4
10/12/2009 (10:51 pm)
Seems to work, need my formatting to be cleaner :-). Nice job.
#5
10/12/2009 (11:05 pm)
Ok, maybe note. Using patch from svn

Index: Engine/source/environment/meshRoad.cpp
===================================================================
--- Engine/source/environment/meshRoad.cpp	(revision 206)
+++ Engine/source/environment/meshRoad.cpp	(revision 208)
@@ -401,7 +401,7 @@
    mConvexList = new Convex;
 
    // Setup NetObject.
-   mTypeMask |= StaticObjectType | StaticTSObjectType | StaticRenderedObjectType;   
+   mTypeMask |= StaticObjectType | StaticTSObjectType | StaticRenderedObjectType | IgnoreOcclusionBlockerObjectType;   
    mNetFlags.set(Ghostable);
 
 	mMatInst[Top] = NULL;

Seems to be returning nothing. Also, it only handles 1 file it seems as I cannot put 2 different files in there (such as meshRoad.cpp and meshRoad.h)
#6
10/13/2009 (4:00 am)
Thanks for pasting that! Unfortunately I've never tested this with SVN patches, so I'll need a bit of time. I'll let you know when it's fixed! Thanks!
#7
10/13/2009 (5:14 am)
@Joshua: it should now work with all kinds of patches, hopefully. Can you please test again? I've also added a bit of variety to the instructions.
#8
10/13/2009 (1:51 pm)
Tried a few more and it is handling multiple files now and seems to be parsing it right. Only thing I have left to add is when you close down the window it should clear out the application as you have to reload the page to get it to work again after you run it. Fairly easy to go and replace a few tags to get it working in other wiki software as well. Thanks for the app.
#9
10/13/2009 (2:43 pm)
Thanks a lot for your help and feedback.

I've added the thing you suggested, so you don't have to reload the page anymore to start another conversion.