# HG changeset patch # User kyberneticist@gmail.com # Date 1377196634 0 # Node ID 612048d0890b9e6d9f203caaed6e1e72e39eae37 # Parent 5b70b52c17c4513f123d287844c43dec0fb9f77c Edited wiki page SVGImport through web user interface. diff -r 5b70b52c17c4 -r 612048d0890b SVGImport.wiki --- a/SVGImport.wiki Mon Jul 22 14:31:47 2013 +0000 +++ b/SVGImport.wiki Thu Aug 22 18:37:14 2013 +0000 @@ -2,7 +2,7 @@ = Introduction = -This is a quick and dirty description of converting an SVG into hedgewars HWMAP format. It is not at all pretty. Hopefully someone will make a prettier process. It currently makes use of Inkscape, vim, perl, g++ and a bit of manual labour. It looks best in 0.9.18 which makes use of the variable brush size (the examples below use the smallest size, or 16px wide) +This is a quick and dirty description of converting an SVG into hedgewars HWMAP format. It is not at all pretty. Hopefully someone will make a prettier process. It currently makes use of Inkscape, vim, perl, g++ and a bit of manual labour. It looks best in 0.9.18+ which makes use of the variable brush size (the examples below use the smallest size, or 16px wide) = Details = @@ -15,7 +15,7 @@ Open an SVG. Ideally one of simple line art, without too much use of fill or filters. 1) Select all in the image and choose ungroup, then combine all paths in the drawing (select them, then choose Path->Combine). -Note. I had some difficulty doing that with some images even after repeated use of ungroup. I ended up just going into the SVG file and deleting all the groups. This usually happens if there are filters in place. Removing all the g tags (keeping the paths inside) in the SVG might be faster than cleaning up in Inkscape. +Note. I had some difficulty doing that with some images even after repeated use of ungroup. I ended up just going into the SVG file and deleting all the groups. This usually happens if there are filters in place. Removing all the g tags but keeping the paths inside the groups in the SVG in a text editor might be faster than cleaning up in Inkscape. Also, some paths might be worth eliminating altogether. In order to get a better idea of what it'll look like, try: View->Display Mode->Outline. To simulate occluding, you can try combining individual paths first, and using union to combine into larger groups. This takes a bit more work. If it still doesn't look right, you're going to have to go in and delete nodes, and generally rework the shape to simulate occlusion. 2) Click on the path, and choose dimensions for W and H that would look good in the game (no more than 4096 for W and 2048 for H). The Lock button may be helpful here @@ -34,7 +34,7 @@ 8) Edit the file, and delete everything but the path data. You should have a one-line file starting with something like M1234.3 456.78L3298.3 9023.34 and so on. If instead you have a format like M 1234.678,9875.323 2345.0,123.45 - you'll want to convert if you want to try the crude script in (10) - otherwise a smarter script would be needed. Here's some Vim commands for that syntax {{{s/\(\d\) \(\d\)/\1 L\2/g}}} and {{{s/,/ /g}}} and {{{s/\([LM]\)\s*/\1/g}}} -The coordinates should now be rounded unless you plan to handle that yourself in some way. Here is a vim one-liner to do it. +The coordinates should now be rounded for use by the crude script in (10) unless you plan to handle that yourself in some way. Here is a vim one-liner to do it. {{{:s/[0-9][0-9.]*/\=float2nr(floor(submatch(0)*1))/g}}} @@ -79,7 +79,7 @@ }}} {{{./a.out hwpointdata hwpointdata.Z}}} -11) Convert to base64 and you're done! +11) Convert to base64 and you're done! (whew) {{{base64 -w0 hwpointdata.Z > mynewhedgewars.hwmap}}}