# HG changeset patch # User kyberneticist@gmail.com # Date 1340629367 0 # Node ID b5780c560285575458f53f48fc34957894669048 # Parent 9584a3da2b8786091f4237f575383548ecbe3f11 Edited wiki page SVGImport through web user interface. diff -r 9584a3da2b87 -r b5780c560285 SVGImport.wiki --- a/SVGImport.wiki Mon Jun 25 00:13:42 2012 +0000 +++ b/SVGImport.wiki Mon Jun 25 13:02:47 2012 +0000 @@ -14,20 +14,19 @@ Open an SVG. Ideally one of simple line art, without too much use of fill or filters. -1) 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. +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 tags in the SVG is faster than cleaning up the filters 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 -2) select the combined path, and ungroup. +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 -3) 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. - -4) Go to File->Document Properties and choose Resize Page to Drawing or Selection. You may want to then reposition the art to be more centred vertically or horizontally. +3) Go to File->Document Properties and specify 4096 for W and 2048 for H. You may want to then reposition the art to be more centred vertically or horizontally. -5) Save and Quit +4) Save and Quit -6) Open in an editor and verify there is one path. change the path ID attribute to id="base" - this is to work around a bug in the current stable Inkscape extensions tool which was crashing it. +6) Open in an editor and verify there is one path. change the path ID attribute to id="base" - this is to work around a bug in the current stable Inkscape extensions tool which was crashing it. Make sure all those groups are removed. -7) open the file in Inkscape again, Click on the path again, then go to Extensions->Modify Path->Flatten Beziers and flatten out the curves to your taste. Default of 10 seems fine. +7) open the file in Inkscape again, Click on the path again, then go to Extensions->Modify Path->Flatten Beziers and flatten out the curves to your taste. Default of 10 seems fine. 8) Save and Quit again @@ -35,7 +34,8 @@ {{{:s/[0-9][0-9.]*/\=float2nr(floor(submatch(0)*1))/g}}} 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 a Vim one-liner for that syntax {{{s/\(\d\) \(\d\)/\1 L\2/g}}} and {{{s/,/ /g}}} -10) Convert the path data. Here is a crude script to do that. +10) Convert the path data. Here is a crude script to do that. Note this one uses a line size of 1 (that's the 0x01 business). +If you want larger lines you can pick anything between 0x01 and 0x3F. That's 16-636. See the map format wiki page. {{{ #!/usr/bin/perl # just a one-line list of points. at least, it had better be one-line @@ -51,7 +51,7 @@ ($t, $x, $y) = @_; $x+=0; $y+=0; # just in case - printf("%c%c%c%c%c",$x>>8,$x&0xff,$y>>8,$y&0xff,($t=~m/M/)?0x81:0x01); + printf("%c%c%c%c%c",$x>>8,$x&0xff,$y>>8,$y&0xff,($t=~m/M/)?(0x80|0x01):0x01); return; } }}}