mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 14:53:52 +00:00
Compare commits
4 Commits
master
...
19096c10a6
Author | SHA1 | Date | |
---|---|---|---|
|
19096c10a6 | ||
|
a2272d8a2e | ||
|
ef272fca8b | ||
|
cd27a65d33 |
@@ -734,15 +734,3 @@ install(TARGETS "${EXECNAME}" COMPONENT Executable)
|
|||||||
install(FILES ${DATA_FILES} DESTINATION lib/aerofoil/Packaged COMPONENT Resources)
|
install(FILES ${DATA_FILES} DESTINATION lib/aerofoil/Packaged COMPONENT Resources)
|
||||||
install(FILES ${HOUSE_FILES} DESTINATION lib/aerofoil/Packaged/Houses COMPONENT Resources)
|
install(FILES ${HOUSE_FILES} DESTINATION lib/aerofoil/Packaged/Houses COMPONENT Resources)
|
||||||
install(TARGETS ${TOOL_EXES} DESTINATION lib/aerofoil/tools COMPONENT Tools)
|
install(TARGETS ${TOOL_EXES} DESTINATION lib/aerofoil/tools COMPONENT Tools)
|
||||||
|
|
||||||
if (UNIX AND NOT APPLE)
|
|
||||||
install(FILES Resources/Linux/io.github.elasota.aerofoil.metainfo.xml
|
|
||||||
DESTINATION share/appdata
|
|
||||||
PERMISSIONS WORLD_READ GROUP_READ GROUP_EXECUTE OWNER_READ OWNER_WRITE)
|
|
||||||
install(FILES Resources/Linux/io.github.elasota.aerofoil.desktop
|
|
||||||
DESTINATION share/applications
|
|
||||||
PERMISSIONS WORLD_EXECUTE WORLD_READ GROUP_READ GROUP_EXECUTE OWNER_READ OWNER_WRITE OWNER_EXECUTE)
|
|
||||||
install(FILES Resources/Linux/io.github.elasota.aerofoil.svg
|
|
||||||
DESTINATION share/icons/hicolor/scalable/apps
|
|
||||||
PERMISSIONS WORLD_READ GROUP_READ GROUP_EXECUTE OWNER_READ OWNER_WRITE)
|
|
||||||
endif()
|
|
||||||
|
@@ -5,61 +5,38 @@ files, if necessary, to the "Houses" directory inside of the "Aerofoil"
|
|||||||
directory in your "Documents" directory, then restart Aerofoil.
|
directory in your "Documents" directory, then restart Aerofoil.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IMPORTING EXISTING COMMUNITY CONTENT TO AEROFOIL
|
IMPORTING EXISTING COMMUNITY CONTENT TO AEROFOIL
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
If you want to import an existing third-party Glider PRO house to Aerofoil,
|
If you want to import an existing third-party Glider PRO house to Aerofoil,
|
||||||
a few steps are required. All Aerofoil import tools are currently command-line
|
a few steps are required.
|
||||||
only, so you will need to use a command prompt to use them. Launch the tool
|
|
||||||
programs without any arguments and they will give instructions for usage.
|
|
||||||
|
|
||||||
|
You need to convert the file into Aerofoil's "triplet" format, which consists
|
||||||
|
of a metadata file (extension .gpf), and file forks (.gpd for data, .gpr for
|
||||||
|
resources). How you get these depends on the input format:
|
||||||
|
- For MacBinary files (.bin), use the "bin2gp" utility
|
||||||
|
- For BinHex files (.hqx), use the "hqx2gp" utility
|
||||||
|
- For StuffIt (.sit) and Compact Pro (.cpt) archives, use the "unpacktool"
|
||||||
|
utility to extract the contents in triplet format. The "unpacktool"
|
||||||
|
utility should support most vintage StuffIt archives made with StuffIt
|
||||||
|
Deluxe 6 or lower.
|
||||||
|
|
||||||
Some history: On most modern operating systems, files are a single stream of
|
(NOTE: ".sea" files are self-extracting archives, typically StuffIt or Compact
|
||||||
data, and the file type is represented by an extension at the end of the file
|
Pro archives with the self-extractor program in the resources. These will
|
||||||
name. On classic Macintosh systems, files have 2 streams: The data fork and
|
always be distributed in a fork-grouping container like MacBinary or BinHex.
|
||||||
resource fork, and the file type (among other things) is stored in a metadata
|
For cases like these, you need to split the self-extracting archive using
|
||||||
block that is separate from the file data itself.
|
"bin2gp" or "hqx2gp" and then pass the ".sea.gpd" file (which contains the
|
||||||
|
archive data) to "unpacktool" to decompress it.)
|
||||||
|
|
||||||
Macintosh Glider PRO house files use the data fork to store the level data and
|
Once you've done that, if the house has custom resources (i.e. a .gpr file),
|
||||||
the resource fork to store custom features like sounds.
|
you need to convert it to an Aerofoil resource archive, which you can do using
|
||||||
|
the "gpr2gpa" tool.
|
||||||
|
|
||||||
However, most server software only supports transmitting files as a single data
|
|
||||||
stream, so Macintosh files were shared in formats that bundle the 3 types of
|
|
||||||
data into a single data stream, and were converted into the full Macintosh
|
|
||||||
format files using conversion software on a Macintosh machine.
|
|
||||||
|
|
||||||
Aerofoil's unpack tools will always extract Macintosh files as a triplet of 3
|
|
||||||
files:
|
|
||||||
- The resource fork will be split to a file with a ".gpr" extension
|
|
||||||
- The data fork will be split to a file with a ".gpa" extension
|
|
||||||
- The metadata will be split to a file with a ".gpf" extension
|
|
||||||
|
|
||||||
Some file types you may encounter in the wild:
|
|
||||||
- MacBinary files (.bin): These encode a single file. Use the "bin2gp"
|
|
||||||
utility to unpack it.
|
|
||||||
- BinHex files (.hqx): These encode a single file. Use the "hqx2gp" utility
|
|
||||||
to unpack it.
|
|
||||||
- Compact Pro (.cpt) and StuffIt (.sit) archives encode multiple files.
|
|
||||||
Use the "unpacktool" utility to extract it.
|
|
||||||
- Self-extracting archives (.sea) are programs that contain archive data,
|
|
||||||
usually in StuffIt or Compact Pro format, in the data fork, and a
|
|
||||||
decompression program in the resource fork. Typically you will encounter
|
|
||||||
these as ".sea.hqx" or similar. For these, you need to extract the .sea
|
|
||||||
file from its original encoding, and then pass the data fork file (.gpd)
|
|
||||||
to the "unpacktool" utility.
|
|
||||||
|
|
||||||
|
|
||||||
Once you've unpacked the data for the house, you may need to convert the
|
|
||||||
resources (.gpr file) to Aerofoil's resource format. Aerofoil can not read .gpr
|
|
||||||
files directly.
|
|
||||||
|
|
||||||
To convert resources for a house, use the "gpr2gpa" utility. Note that
|
|
||||||
gpr2gpa's PICT converter may not support all PICT encodings. If you find a
|
gpr2gpa's PICT converter may not support all PICT encodings. If you find a
|
||||||
house with custom PICT resources that isn't supported, please submit a sample
|
house with custom PICT resources that isn't supported, please submit a sample
|
||||||
to Aerofoil's issue tracker.
|
to Aerofoil's issue tracker.
|
||||||
|
|
||||||
Once you've done this, you should have a .gpf, .gpa, and .gpd file for the
|
|
||||||
house. Put them in the Houses directory to add the house to Aerofoil.
|
|
||||||
|
|
||||||
|
|
||||||
IMPORTING TV QUICKTIME MOVIES
|
IMPORTING TV QUICKTIME MOVIES
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@@ -102,9 +79,12 @@ with an asterisk (*) and omit the output filename.
|
|||||||
|
|
||||||
SECURITY CONSIDERATIONS
|
SECURITY CONSIDERATIONS
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
Glider PRO didn't really do any validation of houses. Aerofoil 1.1 has a
|
Glider PRO didn't really do any validation of houses. Currently, Aerofoil
|
||||||
significantly stricter validator, which will reject data that seems
|
doesn't do any additional validation either, and it's possible that invalid
|
||||||
excessively large or invalid.
|
house data may lead to crashes or even remote code execution.
|
||||||
|
|
||||||
|
Aerofoil 1.1 has a significantly stricter validator, which will reject data
|
||||||
|
that seems excessively large or invalid.
|
||||||
|
|
||||||
Also, Glider PRO houses were able to take advantage of a resource overlaying
|
Also, Glider PRO houses were able to take advantage of a resource overlaying
|
||||||
feature of the Macintosh operating system, where a resource being present in
|
feature of the Macintosh operating system, where a resource being present in
|
||||||
|
@@ -9,6 +9,6 @@ To play:
|
|||||||
Windows, macOS:
|
Windows, macOS:
|
||||||
Download from the Releases page, or from https://galeforcegames.itch.io/aerofoil
|
Download from the Releases page, or from https://galeforcegames.itch.io/aerofoil
|
||||||
|
|
||||||
Browser (HTML5): Visit https://galeforcegames.itch.io/aerofoil
|
Android: Download from Google Play Store: https://play.google.com/store/apps/details?id=org.thecodedeposit.aerofoil from itch.io: https://galeforcegames.itch.io/aerofoil, or from the Releases page
|
||||||
|
|
||||||
Android: Unfortunately, the Android version has been discontinued due to high maintenance requirements. The Google Play Store listing will be retired in August, 2025. You can try downloading an APK from the Releases page, but it may not work on newer devices.
|
Browser (HTML5): Visit https://galeforcegames.itch.io/aerofoil
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
<id>io.github.elasota.aerofoil</id>
|
<id>io.github.elasota.aerofoil</id>
|
||||||
<name>Aerofoil</name>
|
<name>Aerofoil</name>
|
||||||
<developer id="io.github.elasota.aerofoil">
|
<developer id="io.github.elasota.aerofoil">
|
||||||
<name>John Calhoun, Eric Lasota, Aerofoil Contributors</name>
|
<name>Aerofoil Contributors</name>
|
||||||
<url>https://github.com/elasota/Aerofoil/graphs/contributors</url>
|
<url>https://github.com/elasota/Aerofoil/graphs/contributors</url>
|
||||||
</developer>
|
</developer>
|
||||||
<branding>
|
<branding>
|
||||||
@@ -24,41 +24,18 @@
|
|||||||
</description>
|
</description>
|
||||||
<screenshots>
|
<screenshots>
|
||||||
<screenshot type="default">
|
<screenshot type="default">
|
||||||
<image type="source">https://cdn.jsdelivr.net/gh/elasota/elasota.github.io@refs/heads/master/aerofoil/titlescreen.png</image>
|
<image type="source">https://play-lh.googleusercontent.com/9AWQ8tfXjjavos7xLahHolliczMrLNnCz8erMzrMu1dRr-ZRpbNnQc-kn_0GFjfTxBs=w2560-h1440</image>
|
||||||
<caption>The classic title screen with the custom menu GUI</caption>
|
<caption>How to tip the grease...</caption>
|
||||||
</screenshot>
|
</screenshot>
|
||||||
<screenshot>
|
<screenshot>
|
||||||
<image type="source">https://cdn.jsdelivr.net/gh/elasota/elasota.github.io@refs/heads/master/aerofoil/demomode.png</image>
|
<image type="source">https://play-lh.googleusercontent.com/rkBnqvdYw_H02E3Xue0wd6WS44SZdMm6orNy-gRCFyauH7sdu6N-h-2G12NHF74b6zI=w2560-h1440</image>
|
||||||
<caption>Demo mode</caption>
|
<caption>Koo-koo</caption>
|
||||||
</screenshot>
|
|
||||||
<screenshot>
|
|
||||||
<image type="source">https://cdn.jsdelivr.net/gh/elasota/elasota.github.io@refs/heads/master/aerofoil/winscreen.png</image>
|
|
||||||
<caption>You won!</caption>
|
|
||||||
</screenshot>
|
|
||||||
<screenshot>
|
|
||||||
<image type="source">https://cdn.jsdelivr.net/gh/elasota/elasota.github.io@refs/heads/master/aerofoil/nemosmarket.png</image>
|
|
||||||
<caption>One of the included houses</caption>
|
|
||||||
</screenshot>
|
|
||||||
<screenshot>
|
|
||||||
<image type="source">https://cdn.jsdelivr.net/gh/elasota/elasota.github.io@refs/heads/master/aerofoil/editor.png</image>
|
|
||||||
<caption>Level editor included!</caption>
|
|
||||||
</screenshot>
|
</screenshot>
|
||||||
</screenshots>
|
</screenshots>
|
||||||
<recommends>
|
|
||||||
<input>keyboard</input>
|
|
||||||
</recommends>
|
|
||||||
<categories>
|
<categories>
|
||||||
<category>Game</category>
|
<category>Game</category>
|
||||||
</categories>
|
</categories>
|
||||||
<releases>
|
<releases type="external" />
|
||||||
<release version="1.1.2" date="2021-11-10">
|
|
||||||
<url>https://github.com/elasota/Aerofoil/releases/tag/1.1.2</url>
|
|
||||||
<description>
|
|
||||||
<p>Added gamepad support to Android and fixed gamepads not working
|
|
||||||
on other platforms.</p>
|
|
||||||
<p>Split off comand-line import tools to a separate package.</p>
|
|
||||||
</description>
|
|
||||||
</release>
|
|
||||||
</releases>
|
|
||||||
<content_rating type="oars-1.1"></content_rating>
|
<content_rating type="oars-1.1"></content_rating>
|
||||||
|
<update_contact>https://github.com/elasota</update_contact>
|
||||||
</component>
|
</component>
|
||||||
|
10
Resources/Linux/io.github.elasota.aerofoil.releases.xml
Normal file
10
Resources/Linux/io.github.elasota.aerofoil.releases.xml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<releases>
|
||||||
|
<release version="1.1.2" date="2021-11-10">
|
||||||
|
<url>https://github.com/elasota/Aerofoil/releases/tag/1.1.2</url>
|
||||||
|
<description>
|
||||||
|
<p>Added gamepad support to Android and fixed gamepads not working
|
||||||
|
on other platforms.</p>
|
||||||
|
<p>Split off comand-line import tools to a separate package.</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
</releases>
|
@@ -1,2 +1,113 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<svg width="512pt" height="512pt" version="1.1" viewBox="0 0 682.67 682.67" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="linearGradient2" x1="79.399" x2="79.399" y1="176.02" y2="120.3" gradientTransform="matrix(2.3332,0,0,2.3332,-111.25,-195.69)" gradientUnits="userSpaceOnUse"><stop stop-color="#d00" offset="0"/><stop stop-color="#f63" offset=".32649"/><stop stop-color="#fc9" offset=".71632"/><stop stop-color="#ff0" offset="1"/></linearGradient></defs><g transform="matrix(3.4895 0 0 3.4895 -98.192 -304.23)"><g transform="matrix(1.1519,0,0,1.1519,4.4555,12.215)"><path d="m170 150a65 65 0 01-64.743 64.999 65 65 0 01-65.255-64.486 65 65 0 0164.227-65.509 65 65 0 0165.763 63.968" fill="url(#linearGradient2)"/><path d="m30 130h26.25l3.75-10h45l20 20 4.8276-5h25.172l5 5h5l15 20h-20l-10 10h-71.128l-3.8724-10h-30z" fill="none" stroke="#336" stroke-linecap="square" stroke-width="5" style="paint-order:normal"/><path d="m30 130h26.25l3.75-10h45l15 15 5.0862 4.9108 4.7414-4.9108h25.172l5 5h5l15 20h-20l-10 10h-71.128l-3.8724-10h-30z" fill="#555"/><path d="m30 130h26.25l3.75-10h45l5 5 15.086 14.911 4.9138-4.9108h25l5 5h5l1.9297 6.5285-4.2904 6.9963-2.6393 6.4752 11.106-11.859-11.106 11.859-10 10h-11.166l-15.198-21.859h-34.614l-10.149 11.859h-7.4876l-11.385-32.431-11.853 32.431h-3.1472z" fill="#888"/><path d="m95.996 148.14h6.2852l-19.119 21.859h-4.2904z" fill="#444" stroke-linecap="square" stroke-width="5"/><path d="m30 130h26.25l3.75-10h45l20 20h40l15 20h-16.197l8.697-10-1.3943-1.8591-11.106 11.859-10 10h-7.5632l-17.437-25h-25l-21.128 25-18.872-50-15 40z" fill="#fff"/></g></g></svg>
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="180mm"
|
||||||
|
height="180mm"
|
||||||
|
viewBox="0 0 179.99999 180"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:docname="io.github.elasota.aerofoil.svg"
|
||||||
|
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.30992466"
|
||||||
|
inkscape:cx="608.21233"
|
||||||
|
inkscape:cy="554.97359"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="696"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"><inkscape:grid
|
||||||
|
id="grid4"
|
||||||
|
units="mm"
|
||||||
|
originx="-25.954912"
|
||||||
|
originy="-85.000008"
|
||||||
|
spacingx="0.99999998"
|
||||||
|
spacingy="1"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
dotted="false"
|
||||||
|
gridanglex="30"
|
||||||
|
gridanglez="30"
|
||||||
|
visible="false" /></sodipodi:namedview><defs
|
||||||
|
id="defs1"><linearGradient
|
||||||
|
id="linearGradient1"
|
||||||
|
inkscape:collect="always"><stop
|
||||||
|
style="stop-color:#dd0000;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop1" /><stop
|
||||||
|
style="stop-color:#ff6633;stop-opacity:1;"
|
||||||
|
offset="0.32649031"
|
||||||
|
id="stop3" /><stop
|
||||||
|
style="stop-color:#ffcc99;stop-opacity:1;"
|
||||||
|
offset="0.71631855"
|
||||||
|
id="stop4" /><stop
|
||||||
|
style="stop-color:#ffff00;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop2" /></linearGradient><linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1"
|
||||||
|
id="linearGradient2"
|
||||||
|
x1="79.3993"
|
||||||
|
y1="176.01854"
|
||||||
|
x2="79.3993"
|
||||||
|
y2="120.30114"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(2.3332031,0,0,2.3332031,-111.24523,-195.68701)" /></defs><g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-25.954913,-85.000005)"><g
|
||||||
|
id="g6"
|
||||||
|
transform="translate(10.477456,23.156336)"><path
|
||||||
|
style="fill:url(#linearGradient2);stroke:none;stroke-width:0.699961;stroke-linecap:round"
|
||||||
|
id="path1"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="105"
|
||||||
|
sodipodi:cy="150"
|
||||||
|
sodipodi:rx="65"
|
||||||
|
sodipodi:ry="65"
|
||||||
|
sodipodi:start="0"
|
||||||
|
sodipodi:end="6.2673744"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="m 170,150 a 65,65 0 0 1 -64.74307,64.99949 65,65 0 0 1 -65.254899,-64.48564 65,65 0 0 1 64.227209,-65.50928 65,65 0 0 1 65.76264,63.96776" /><path
|
||||||
|
id="rect5-2"
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#333366;stroke-width:5;stroke-linecap:square;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||||
|
d="m 29.999999,130 h 26.249999 l 3.75,-10 H 105 l 5,5 15,15 4.82755,-5 H 155 l 5,5 h 5 l 15,20 h -20 l -10,10 H 78.872355 L 74.999999,160 H 44.999998 Z"
|
||||||
|
sodipodi:nodetypes="ccccccccccccccccc" /><path
|
||||||
|
id="rect5"
|
||||||
|
style="fill:#555555;fill-opacity:1;stroke:none;stroke-width:80;stroke-linecap:round;stroke-dasharray:none"
|
||||||
|
d="m 30.000002,130 h 26.249999 l 3.75,-10 H 105 l 5,5 10,10 5.08617,4.91075 L 129.82755,135 H 155 l 5,5 h 5 l 15,20 h -20 l -10,10 H 78.872355 L 75.000002,160 H 45.000001 Z"
|
||||||
|
sodipodi:nodetypes="cccccccccccccccccc" /><path
|
||||||
|
id="rect5-6-3"
|
||||||
|
style="fill:#888888;fill-opacity:1;stroke:none;stroke-linecap:round"
|
||||||
|
d="m 30.000002,130 h 26.25 l 3.75,-10 v 0 H 105 l 5,5 15.08617,14.91075 L 130,135 h 25 l 5,5 h 5 l 1.92971,6.52853 -4.29045,6.99628 L 160,160 171.10569,148.14092 v 0 L 160,160 150,170 H 138.83367 L 123.63566,148.14092 H 89.021511 L 78.872353,160 H 75.000002 71.384761 L 60.000002,127.5687 48.14717,160 h -3.147169 z"
|
||||||
|
sodipodi:nodetypes="cccccccccccccccccccccccccccc" /><path
|
||||||
|
id="rect6"
|
||||||
|
style="opacity:1;fill:#444444;stroke-width:5;stroke-linecap:square"
|
||||||
|
d="m 95.996386,148.14092 h 6.285194 L 83.162805,170 h -4.29045 z"
|
||||||
|
sodipodi:nodetypes="ccccc" /><path
|
||||||
|
id="rect5-6"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-linecap:round"
|
||||||
|
d="m 30.000002,130 h 26.249999 l 3.75,-10 v 0 H 105 l 5,5 10,10 5,5 h 30 5 5 l 15,20 H 163.80303 L 172.5,150 171.10569,148.14092 160,160 150,170 h -7.56325 L 125,145 h -25 l -21.127645,25 -18.872354,-50 -15,40 z"
|
||||||
|
sodipodi:nodetypes="cccccccccccccccccccccccc" /></g></g></svg>
|
||||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 5.0 KiB |
Reference in New Issue
Block a user