<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rss [<!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">]>
<rss version="2.0" xml:base="http://sysd.org/stas">
<channel>
 <title>stas&#039;den - game</title>
 <link>http://sysd.org/stas/taxonomy/term/29/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>ACFTools+AC3D tutorial</title>
 <link>http://sysd.org/stas/node/47</link>
 <description>&lt;br&gt;
My attempt to show how is it possible to make
&lt;a href=&quot;http://www.x-plane.com/&quot;&gt;X-Plane&lt;/a&gt; models using
&lt;a href=&quot;http://www.ac3d.org/&quot;&gt;AC3D&lt;/a&gt; editor and my
&lt;a href=&quot;http://sysd.org/stas/node/46&quot;&gt;ACFTools&lt;/a&gt;.


&lt;ol&gt;
&lt;li&gt;Open AC3D &lt;code&gt;&lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
Now you shall use &lt;i&gt;Side (ZY)&lt;/i&gt; view to draw a shape of revolution object
to be imported. You may wish to draw it as &lt;i&gt;Polyline&lt;/i&gt;:&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://sysd.org/stas/files/active/0/shape.png&quot;&gt;&lt;img title=&quot;(click to enlagre)&quot; src=&quot;http://sysd.org/stas/files/active/0/shape.png&quot; alt=&quot;Object shape&quot; border=&quot;0&quot; height=&quot;514&quot; width=&quot;640&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Note that the shape polyline has exactly &lt;b&gt;9 vertices&lt;/b&gt; and it is &lt;b&gt;closed&lt;/b&gt;.

&lt;/li&gt;
&lt;li&gt;
&lt;a name=&quot;gap1&quot;&gt;&lt;/a&gt;
Put your shape a bit off-center. You will be revolving it around &lt;i&gt;Y&lt;/i&gt; axis, so
just create &lt;b&gt;small&lt;/b&gt; gap between shape edge and &lt;i&gt;Y&lt;/i&gt; axis:&lt;br&gt;&lt;br&gt;
&lt;img src=&quot;http://sysd.org/stas/files/active/0/gap.png&quot; alt=&quot;First gap&quot; border=&quot;0&quot; height=&quot;248&quot; width=&quot;283&quot;&gt;&lt;br&gt;&lt;br&gt;
Later you will see the meaning of this gap &lt;code&gt;&lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/code&gt;

&lt;/li&gt;
&lt;li&gt;
Select your shape as group, and do &lt;i&gt;&quot;Object -&amp;gt; Revolve...&quot;&lt;/i&gt;.
Enter with 180 degrees, &lt;i&gt;Y&lt;/i&gt; axis and 11 segments:&lt;br&gt;&lt;br&gt;
&lt;img src=&quot;http://sysd.org/stas/files/active/0/revolve.png&quot; alt=&quot;Revolve dialog&quot; border=&quot;0&quot; height=&quot;99&quot; width=&quot;281&quot;&gt;&lt;br&gt;&lt;br&gt;
Wow, look, you got half of your object:&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://sysd.org/stas/files/active/0/half.png&quot;&gt;&lt;img title=&quot;(click to enlarge)&quot; src=&quot;http://sysd.org/stas/files/active/0/half.png&quot; alt=&quot;One half&quot; border=&quot;0&quot; height=&quot;514&quot; width=&quot;640&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
By default it has &lt;i&gt;flat&lt;/i&gt; surface but you may wish to set a &lt;i&gt;smooth&lt;/i&gt; one
like I did.

&lt;/li&gt;
&lt;li&gt;
Go to &lt;i&gt;Side (XY)&lt;/i&gt; view. Select your object and &lt;i&gt;&quot;Edit -&amp;gt; Duplicate&quot;&lt;/i&gt; it.
Then &lt;i&gt;flip&lt;/i&gt; it on &lt;i&gt;X&lt;/i&gt; axis. Now align both halves so they again have a

&lt;b&gt;very&lt;/b&gt; small gap between them. &lt;u&gt;DO NOT SNAP THEM TOGETHER!&lt;/u&gt;. Then do
&lt;i&gt;&quot;Object -&amp;gt; Merge&quot;&lt;/i&gt;. You should get this:&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://sysd.org/stas/files/active/0/both.png&quot;&gt;&lt;img title=&quot;(click to enlagre)&quot; src=&quot;http://sysd.org/stas/files/active/0/both.png&quot; alt=&quot;Both halves&quot; border=&quot;0&quot; height=&quot;514&quot; width=&quot;640&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a name=&quot;gap2&quot;&gt;&lt;/a&gt;
Note &lt;i&gt;&quot;move to&quot;&lt;/i&gt; coordinates. &lt;i&gt;X&lt;/i&gt; is &lt;code&gt;0.53&lt;/code&gt; instead of &lt;code&gt;0.5&lt;/code&gt;!
That &lt;code&gt;0.03&lt;/code&gt; difference on both sides of &lt;i&gt;Y&lt;/i&gt; axis makes that desired gap.&lt;br&gt;

You may be wondering why to have yet another gap here? Well, 18 vertices in each section are
supposed to be sorted &lt;i&gt;automatically&lt;/i&gt; in counter-clockwise order. If you have overlapping
vertices like in this case, algorithm treats vertices with same coordinates as being one vertex
and thus messes everything. Sorry.&lt;br&gt;&lt;br&gt;
&lt;b&gt;VERY IMPORTANT:&lt;/b&gt; switch to &lt;i&gt;vertex&lt;/i&gt; selection mode. You should see &lt;u&gt;exactly&lt;/u&gt;
216 vertices. If you do not have 216 vertices you&#039;re terrible wrong, start over!!!
&lt;/li&gt;
&lt;li&gt;
At this moment you are ready for the most boring part. Split AC3D-generated object to
sections that X-Plane would accept. Now a bit of theory. X-Plane treats all aircraft
models as 3D objects with 12 sections with 18 vertices each one. If you try to feed it
with everything else, surface will be mismapped. Thus you &lt;b&gt;NEED&lt;/b&gt; to cut your AC3D
object into 12 sections with 18 vertices each one. And &lt;code&gt;12 * 18 = 216&lt;/code&gt;, got it?

&lt;code&gt;&lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/code&gt;. OK, to start section splitting you need to remove all surfaces. Sorry again &lt;code&gt;&lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/code&gt;
&lt;i&gt;&quot;Surface -&amp;gt; Remove surface only&quot;&lt;/i&gt;.
Now hurry up, &lt;i&gt;&quot;File -&amp;gt; Save&quot;&lt;/i&gt; as &lt;code&gt;original.ac&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;

Let the pain begin. &lt;code&gt;&amp;gt;%E~&lt;/code&gt;&lt;br&gt;
Go to &lt;i&gt;Plan (XZ)&lt;/i&gt; view. Select 18 vertices:&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://sysd.org/stas/files/active/0/section01.png&quot;&gt;&lt;img title=&quot;(click to enlarge)&quot; src=&quot;http://sysd.org/stas/files/active/0/section01.png&quot; alt=&quot;Section #1&quot; border=&quot;0&quot; height=&quot;514&quot; width=&quot;640&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;

&lt;ol&gt;
&lt;li&gt;Copy these vertices to clipboard. Delete them.&lt;/li&gt;
&lt;li&gt;&lt;i&gt;&quot;File -&amp;gt; Save&quot;&lt;/i&gt; &lt;code&gt;original.ac&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;&lt;i&gt;&quot;File -&amp;gt; New...&quot;&lt;/i&gt; and paste 18 vertices from clipboard.&lt;/li&gt;
&lt;li&gt;Save as &lt;code&gt;section01.ac&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;

Now reopen &lt;code&gt;original.ac&lt;/code&gt;. Select next 18 vertices:&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://sysd.org/stas/files/active/0/section02.png&quot;&gt;&lt;img title=&quot;(click to enlarge)&quot; src=&quot;http://sysd.org/stas/files/active/0/section02.png&quot; alt=&quot;Section #2&quot; border=&quot;0&quot; height=&quot;514&quot; width=&quot;640&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;

Do the same steps as for first section, but now save it as &lt;code&gt;section02.ac&lt;/code&gt;.
Unless you are screaming in anger extract all the 12 sections in this way. Calm down,
it&#039;s not &lt;b&gt;that&lt;/b&gt; boring when you start to do it &lt;code&gt;&lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
Understood the meaning of the &lt;a href=&quot;http://sysd.org/stas/node/47#gap1&quot;&gt;first gap&lt;/a&gt;? If you added none, when you
try to select 18 vertices you select 48 each time you reach center, as you select some
central vertices from other sections.
&lt;/li&gt;
&lt;li&gt;
Supposing you were patient enough, at this moment your &lt;code&gt;original.ac&lt;/code&gt; is empty
and you have sections 1 to 12 in separate &lt;code&gt;.ac&lt;/code&gt; files. Now merge them back.
No, I&#039;m not kidding. Merging all sections in sequence from 1 to 12 puts them in the order
that X-Plane accepts. OK, I think that there is no need to explain how to

&lt;i&gt;&quot;File -&amp;gt; Merge..&quot;&lt;/i&gt; 12 section files in one. The result will look the same as
&lt;code&gt;original.ac&lt;/code&gt; (rest in peace) but internal order would be the right one.
You should now &lt;i&gt;&quot;Object -&amp;gt; Merge&quot;&lt;/i&gt; &amp;amp; &lt;i&gt;Group&lt;/i&gt; 216 vertices
(assure that you still have 216!). Call your group &quot;body[45]&quot;, it will import to X-Plane
as &quot;misc. body 1&quot;:&lt;br&gt;&lt;br&gt;

&lt;a href=&quot;http://sysd.org/stas/files/active/0/final.png&quot;&gt;&lt;img title=&quot;(click to enlarge)&quot; src=&quot;http://sysd.org/stas/files/active/0/final.png&quot; alt=&quot;Final result&quot; border=&quot;0&quot; height=&quot;514&quot; width=&quot;640&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Rescale this object to any size you want (in feets) and save all the stuff as
&lt;code&gt;importable.ac&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;
OK, now go and merge &lt;code&gt;importable.ac&lt;/code&gt; in any model of yours using ACFTools:&lt;br&gt;

&lt;pre&gt;acftools -e -acf C:\X-Plane\Aircraft\UPHO.acf -txt UPHO.txt&lt;br&gt;&lt;i&gt;(prepare UPHO.txt to work with)&lt;/i&gt;

acftools -me -ac3d importable.ac -txt UPHO.txt

&lt;i&gt;(merge! don&#039;t worry about warnings)&lt;/i&gt;
&lt;/pre&gt;

Fine! Next step is to edit UPHO.txt in your favorite text editor (I use Write) to mark
that &quot;misc. body 1&quot; was added:

&lt;ol&gt;
&lt;li&gt;
Seek for &lt;code&gt;PARTS_WingBodyGear_part_eq[45]&lt;/code&gt;
and make it &lt;code&gt;&quot;= 1&quot;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
Seek for &lt;code&gt;PARTS_WingBodyGear_body_r[45]&lt;/code&gt;

and set it to desired radius of your body (or Plane-Maker
will mess the things up)
&lt;/li&gt;
&lt;li&gt;
Seek for &lt;code&gt;PARTS_WingBodyGear_body[45][0][0]&lt;/code&gt;.
This was your &lt;code&gt;section01.ac&lt;/code&gt;. Remember the
&lt;a href=&quot;http://sysd.org/stas/node/47#gap2&quot;&gt;second gap&lt;/a&gt;? Remove it setting all the
&lt;i&gt;X&lt;/i&gt; values for 1&lt;sup&gt;st&lt;/sup&gt; section to &lt;code&gt;0&lt;/code&gt;.
Remember that each section has 18 vertices, so, don&#039;t harm neighbor ones!

&lt;/li&gt;
&lt;li&gt;
Seek for &lt;code&gt;PARTS_WingBodyGear_body[45][11][0]&lt;/code&gt;.
This was your &lt;code&gt;section12.ac&lt;/code&gt;. Make the same as for
section 1 &lt;code&gt;&lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;pre&gt;acftools -g -txt UPHO.txt -acf test.acf&lt;br&gt;&lt;i&gt;(generate test.acf from edited .txt file)&lt;/i&gt;
&lt;/pre&gt;

Finally open &lt;code&gt;test.acf&lt;/code&gt; in Plane-Maker and see what the heck you just did
&lt;code&gt;=D&lt;/code&gt;&lt;br&gt;
It may be a bit broken, just fix it in Plane-Maker as normal body.
&lt;/li&gt;
&lt;/ol&gt;
</description>
 <category domain="http://sysd.org/stas/taxonomy/term/29">game</category>
 <category domain="http://sysd.org/stas/taxonomy/term/6">graphics</category>
 <category domain="http://sysd.org/stas/taxonomy/term/34">howto</category>
 <category domain="http://sysd.org/stas/taxonomy/term/28">simulation</category>
 <pubDate>Wed, 10 May 2006 01:22:10 -0300</pubDate>
</item>
<item>
 <title>ACFTools (for X-Plane)</title>
 <link>http://sysd.org/stas/node/46</link>
 <description>&lt;br&gt;


&lt;div align=&quot;center&quot;&gt;&lt;a href=&quot;http://sysd.org/stas/files/active/0/shot.png&quot;&gt;&lt;img alt=&quot;ACFTools screenshot&quot; src=&quot;http://sysd.org/stas/files/active/0/shot_t.jpg&quot; border=&quot;0&quot; height=&quot;480&quot; width=&quot;640&quot;&gt;&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;


&lt;br&gt;


The &lt;b&gt;Plane-Maker&lt;/b&gt; from &lt;a href=&quot;http://x-plane.com/&quot;&gt;X-Plane&lt;/a&gt;
v7.x is fun and easy to use... Although I found it a bit limited to
edit my planes&#039; fuselage. 20 cross-sections aren&#039;t enough, sometimes.
It would be nice to export the fuselage shape into any 3D-editor and
fine-tune it there... This is exactly what my ACFTools are supposed to
do. Please note that X-Plane v8.x is unsupported, unless you create &amp;amp; edit a v7
model and then import it to Plane-Maker v8. But I believe this isn&#039;t a
problem: X-Plane v8 is able to use OBJ format files (which can be
imported/exported by &lt;a href=&quot;http://scenery.x-plane.com/tools.php&quot;&gt;AC3D&lt;/a&gt; and &lt;a href=&quot;http://marginal.org.uk/x-planescenery/tools.html&quot;&gt;Blender&lt;/a&gt; plugins) as parts of an aircraft, thus, extremely weird shapes are perfectly possible without even touching the ACF file.&lt;br&gt;


Now, what exactly ACFTools does? It is able to process the file that
stores all the aircraft data (except the textures), in the binary ACF
format, and dump all the data in the human-readable TXT format. It is the
same format as for Tony Gondola&#039;s ACF2Text utility, which inspirited my
ACFTools. Then, ACFTools can extract the 3D model of the aircraft from
this data, and export it in the &lt;a href=&quot;http://www.ac3d.org&quot;&gt;AC3D&lt;/a&gt; format. After that you can edit the aircraft&#039;s shape as you want using AC3D and make the inverse process: from &lt;code&gt;.ac&lt;/code&gt; to &lt;code&gt;.txt&lt;/code&gt;, and then from &lt;code&gt;.txt&lt;/code&gt; to &lt;code&gt;.acf&lt;/code&gt;. Here comes the brief set of ACFTools features:&lt;br&gt;


&lt;ul&gt;


  &lt;li&gt;Convert from ACF (aircraft) &amp;amp; WPN (weapon) formats to TXT format and vice-versa.&lt;br&gt;
  &lt;/li&gt;
  &lt;li&gt;Extract AC3D model from TXT file, along with wings and propellers (using the real airfoils!).&lt;/li&gt;
  &lt;li&gt;Import AC3D model into TXT file (fuselage, nacelles, wheel fairings &amp;amp; external fuel tanks only)&lt;br&gt;
  &lt;/li&gt;
&lt;/ul&gt;


3D model extractor is also useful if you want to use X-Plane generated
aircrafts somewhere else; as in your own Computer Graphics compositions.&lt;br&gt;


ACFTools was written in &lt;a href=&quot;http://www.perl.org/get.html&quot;&gt;Perl&lt;/a&gt;,
thus it is able to work under Linux, MacOS &amp;amp; Windows. And it is
Open-Source &amp;amp; highly modular, so you can modify it as you want, or
use my functions for your own needs. When you start ACFTools, this is
what you get at your console:&lt;br&gt;


&lt;pre&gt;##############################################################################&lt;br&gt;[ACFTools v0.62a] Set of tools to play with ACF files outside of Plane-Maker&lt;br&gt;Perl script and modules coded by Stanislaw Pusep &lt;stas @sysd.org=&quot;&quot;&gt;&lt;br&gt;Site of this and another X-Plane projects of mine: http://xplane.sysd.org/&lt;br&gt;&lt;br&gt;Allows you to:&lt;br&gt; * export X-Plane (www.x-plane.com) aircraft data files to human-editable&lt;br&gt;   plaintext format and 3D mesh editable in AC3D modeler (www.ac3d.org).&lt;br&gt; * import plaintext/3D mesh back to ACF file.&lt;br&gt;##############################################################################&lt;br&gt;&lt;br&gt;Usage: acftools.exe &lt;commands&gt; [parameters]&lt;br&gt; o Commands:&lt;br&gt;	-extract [DEF]	: extract TXT from ACF (opt: using DEF definition)&lt;br&gt;        -generate       : generate ACF from TXT&lt;br&gt;        -merge          : merge body from AC3D file to TXT&lt;br&gt; o Parameters:&lt;br&gt;        -acffile FILE   : name of ACF file to process&lt;br&gt;        -txtfile FILE   : name of TXT file to process&lt;br&gt;        -ac3dfile FILE  : name of AC3D file to process&lt;br&gt;        -noorder        : DO NOT sort vertices while merging bodies&lt;br&gt;        -noac3d         : DO NOT generate AC3D&lt;br&gt;        -(min|max)body N: write all bodies in specified range to AC3D&lt;br&gt;        -force LIST     : force extraction of bodies LIST (comma-separated N)&lt;br&gt;        -normalize N    : normalize wings to N vert/surface (N&amp;gt;=2 or no wings!)&lt;br&gt; o Notes:&lt;br&gt;        * You can use abbreviations of commands/parameters (-gen or even -g&lt;br&gt;          instead of -generate).&lt;br&gt;        * The only required parameter for &quot;extract&quot; command is -acffile.&lt;br&gt;          Both -txtfile and -ac3dfile are derivated from it.&lt;br&gt;        * &quot;generate&quot; command and -txtfile has the same relation.&lt;br&gt;        * By default &quot;extract&quot; uses the latest DEF file.&lt;br&gt;        * &quot;generate&quot; doesn&#039;t need DEF at all (it is implicit in TXT)&lt;br&gt;        * If file to be created already exists backup is made automatically.&lt;br&gt; o Examples:&lt;br&gt;        acftools.exe --extract=ACF700 --acffile=&quot;F-22 Raptor.acf&quot;&lt;br&gt;        (extract &#039;F-22 Raptor.txt&#039; from &#039;F-22 Raptor.acf&#039;)&lt;br&gt;&lt;br&gt;        acftools.exe -e -acf &quot;F-22 Raptor.acf&quot;&lt;br&gt;        (same as above)&lt;br&gt;&lt;br&gt;        acftools.exe -me -ac3d ladar.ac -txt &quot;F-22 Raptor.txt&quot;&lt;br&gt;        (merge *single* 3D body from &#039;ladar.ac&#039; to &#039;F-22 Raptor.txt&#039;)&lt;br&gt;&lt;br&gt;        acftools.exe -g -txt &quot;F-22 Raptor.txt&quot;&lt;br&gt;        (reverse operation; generate &#039;F-22 Raptor.acf&#039; from &#039;F-22 Raptor.txt&#039;)&lt;br&gt;&lt;/commands&gt;&lt;/stas&gt;&lt;/pre&gt;


The most important thing you should know is that to convert from the
binary ACF format to TXT, ACFTools uses one of the files stored in the &lt;code&gt;defs&lt;/code&gt; directory. By default, it is a &lt;code&gt;ACF740.def&lt;/code&gt;,
which works for X-Plane v7.40 and later. You can specify any definition
file you want, as shown on the screen above. You can also write your
own definition files, if you have the structure specification. Note
that to convert TXT back to ACF, no definition is necessary, as the TXT
format itself holds all the data necessary to build the binary file.
The second thing is to specify the file that ACFTools should convert.
The name of the converted file and every of the intermediary files will
be generated from this name. When converting from ACF to AC3D formats,
TXT file is generated automatically. Please note that when you want to
put the edited aircraft part back into the &lt;code&gt;.acf&lt;/code&gt; file, you must save this part as a &lt;code&gt;.ac&lt;/code&gt;
separate file, then merge it into the TXT file, and after that convert
it into ACF! Yes, it would be nice to have a GUI to automate the entire
process, but I&#039;m too lazy to do that! Anyway, may the source be with you
&lt;img src=&quot;misc/smileys/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; /&gt;&lt;br&gt;


I strongly recommend you to read the &lt;code&gt;docs\README.txt&lt;/code&gt; file contained in the ACFTools package before you start using it!&lt;br&gt;</description>
 <category domain="http://sysd.org/stas/taxonomy/term/9">addon</category>
 <category domain="http://sysd.org/stas/taxonomy/term/14">console</category>
 <category domain="http://sysd.org/stas/taxonomy/term/29">game</category>
 <category domain="http://sysd.org/stas/taxonomy/term/18">hack</category>
 <category domain="http://sysd.org/stas/taxonomy/term/11">linux</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/20">perl</category>
 <category domain="http://sysd.org/stas/taxonomy/term/28">simulation</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/12">windows</category>
 <pubDate>Wed, 10 May 2006 01:09:12 -0300</pubDate>
</item>
<item>
 <title>X-V8L model</title>
 <link>http://sysd.org/stas/node/45</link>
 <description>&lt;br&gt;



&lt;div align=&quot;center&quot;&gt;&lt;img alt=&quot;X-V8L pictures&quot; src=&quot;http://sysd.org/stas/files/active/0/x-v8l.jpg&quot; height=&quot;384&quot; width=&quot;512&quot;&gt;&lt;br&gt;
&lt;/div&gt;



&lt;br&gt;



&lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;2&quot;&gt;



  &lt;tbody&gt;
    &lt;tr&gt;&lt;th colspan=&quot;2&quot;&gt;
      General characteristics
    &lt;/th&gt;&lt;/tr&gt;
    &lt;tr&gt;
      &lt;td colspan=&quot;2&quot; rowspan=&quot;1&quot; valign=&quot;top&quot;&gt;X-V8L experimental joined-wing ultralight design&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Crew&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;1 pilot&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Engine&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;two small 2-stroke engines (similar to &quot;JPX PUL 212&quot; or &quot;SOLO 210&quot;)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Power&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;15 hp at 6000 rpm (30 hp total)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th colspan=&quot;2&quot; rowspan=&quot;1&quot; valign=&quot;top&quot;&gt;Dimensions&lt;br&gt;
      &lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Wing area&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;40 sq.ft (3.7 m&amp;sup2;)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Wing span&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;12.2 ft (3.7 m)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Wing aspect ratio&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;8.0&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Length overall&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;8.2 ft (2.5 m)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Height overall&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;4.3 ft (1.3 m)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th colspan=&quot;2&quot; rowspan=&quot;1&quot; valign=&quot;top&quot;&gt;Weights&lt;br&gt;
      &lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Max. fuel on board&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;40 lb (18 kg)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Weight empty&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;150 lb (68 kg)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Max. weight&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;400 lb (181 kg)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Payload&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;210 lb (95 kg)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th colspan=&quot;2&quot; rowspan=&quot;1&quot; valign=&quot;top&quot;&gt;Performance&lt;br&gt;
      &lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Max. cruise speed&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;125 knots (230 km/h)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Max. climb rate&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;1200 ft/min (6 m/s)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Service ceiling&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;15000 ft (4500 m)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Stall speed (flaps down)&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;45 knots (83 km/h)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Take off run&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;1000 ft (300 m)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Landing run&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;1000 ft (300 m)
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;Max. range&lt;br&gt;
      &lt;/td&gt;
      &lt;td valign=&quot;top&quot;&gt;400 nm (740 km)&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;



&lt;br&gt;
This is a model I developed for &lt;a href=&quot;http://www.x-plane.com/&quot;&gt;X-Plane&lt;/a&gt;
to test this uncommon aerodynamic scheme. It&#039;s not unique, yet: some
people actually think that joined-wing design is superior to the
traditional one. Here are some examples of joined-wing &amp;amp; box-wing aircrafts:&lt;br&gt;

&lt;br&gt;

&lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;2&quot;&gt;

  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td align=&quot;center&quot; valign=&quot;middle&quot;&gt;&lt;img alt=&quot;Ligeti Stratos&quot; src=&quot;http://sysd.org/stas/files/active/0/stratos.jpg&quot; height=&quot;240&quot; width=&quot;320&quot;&gt;
      &lt;/td&gt;
      &lt;td align=&quot;center&quot; valign=&quot;middle&quot;&gt;&lt;a href=&quot;http://www.aoe.vt.edu/design/ikelos/&quot;&gt;&lt;img alt=&quot;Virginia Tech &amp;amp; Loughborough University Ikelos&quot; src=&quot;http://sysd.org/stas/files/active/0/ikelos.jpg&quot; border=&quot;0&quot; height=&quot;240&quot; width=&quot;320&quot;&gt;&lt;/a&gt;&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&quot;center&quot; valign=&quot;middle&quot;&gt;&lt;img alt=&quot;Joined wing concept by Jose E. Araya&quot; src=&quot;http://sysd.org/stas/files/active/0/joined_wing.jpg&quot; height=&quot;173&quot; width=&quot;250&quot;&gt;&lt;br&gt;
      &lt;/td&gt;
      &lt;td align=&quot;center&quot; valign=&quot;middle&quot;&gt;&lt;a href=&quot;http://www.janes.com/defence/air_forces/news/idr/idr000704_1_n.shtml&quot;&gt;&lt;img alt=&quot;Box wing concept by Lockheed Martins&quot; src=&quot;http://sysd.org/stas/files/active/0/box_wing.jpg&quot; border=&quot;0&quot; height=&quot;165&quot; width=&quot;250&quot;&gt;&lt;/a&gt;&lt;br&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;br&gt;



 My idea was to create some kind of a &quot;flying scooter&quot;. So, my
X-V8L ultralight was based on the famous MC-15 Cricket (a.k.a. Cricri),
which is the world&#039;s smallest twin-engine aircraft:&lt;br&gt;
&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;img alt=&quot;MC-15 Cricket&quot; src=&quot;http://sysd.org/stas/files/active/0/cricket.jpg&quot; height=&quot;200&quot; width=&quot;400&quot;&gt;&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
A &quot;real world&quot; reference is also important to evaluate if this thing would fly at all &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;br&gt;
Thus, X-V8L has (almost) the same power plant, weight and wing area as
the MC15 Cricket. In fact, to obtain this data, I had to peek into
another X-Plane model, the MC15 Cricket by Emmanuel Sanvito (a.k.a.
Namu).&lt;br&gt;
Now, the design itself is completely different. First of all, X-V8L has
more wings and a bigger wing area. Second, it makes use of a ducted
fan. This is supposed to give 50% thrust increase, and can be easily
made for smaller propellers. At the time I modeled X-V8L for X-Plane,
there was no ducted fan-specific option, so I had to simulate it
increasing the engine power up to 22.5 hp. And rudder/elevator surfaces
are currently &lt;b&gt;inside&lt;/b&gt; the duct. This is supposed to redirect air
flux to give better handling, as X-V8L has no horizontal/vertical
stabilizers. On this model the effect is reforced by applying &quot;vector
trust&quot; option to our tiny propeller engines.&lt;br&gt;
The flight test results are surprising. All the data from the table
shown above were obtained from the &quot;flight tests&quot; performed under
X-Plane v7.10. And it got quite close to the &quot;real thing&quot;: the MC15
Cricket!&lt;br&gt;
</description>
 <category domain="http://sysd.org/stas/taxonomy/term/9">addon</category>
 <category domain="http://sysd.org/stas/taxonomy/term/29">game</category>
 <category domain="http://sysd.org/stas/taxonomy/term/28">simulation</category>
 <pubDate>Wed, 10 May 2006 01:02:36 -0300</pubDate>
</item>
<item>
 <title>Duke3D D.M. cheater</title>
 <link>http://sysd.org/stas/node/43</link>
 <description>&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;E1L2 near the dark room elevator: enhanced brightness&quot; src=&quot;http://sysd.org/stas/files/active/0/duke3d.png&quot; height=&quot;240&quot; width=&quot;320&quot;&gt;&lt;br&gt;
&lt;small&gt;E1L2 near the dark room elevator: enhanced brightness&lt;/small&gt;
&lt;/div&gt;
&lt;br&gt;
Do you consider yourself a good Duke3D deathmatch player?! Neither I do &lt;img src=&quot;misc/smileys/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; /&gt;&lt;br&gt;

For our luck, &lt;a href=&quot;http://www.3drealms.com/&quot;&gt;3D Realms&lt;/a&gt; released Duke3D source code under GPL license at April 1&lt;sup&gt;st&lt;/sup&gt;,
2003. No, I&#039;m not fooling you! Since then, several people are enhancing this
classic game, extending it&#039;s portability and adding some cool features
to it. There are ports like &lt;a href=&quot;http://icculus.org/duke3d/&quot;&gt;icculus Duke3D port&lt;/a&gt; and &lt;a href=&quot;http://jonof.edgenetwork.org/index.php?p=jfduke3d&quot;&gt;JonoF&#039;s Duke Nukem 3D Port&lt;/a&gt;.
So, with the source in my hands, I decided to make my own version. I called it &lt;big&gt;Duke Nukem 3D v1.666&lt;/big&gt;. It
is 100% compatible with the original MS-DOS Duke3D v1.5, and adds some &lt;b&gt;cheats&lt;/b&gt; into &lt;b&gt;deathmatch&lt;/b&gt; games:&lt;br&gt;

&lt;ul&gt;

  &lt;li&gt;&lt;b&gt;Omniscience.&lt;/b&gt; You can peek at your opponents screen (using
&quot;Coop View&quot;, which now works even in the deathmatch mode!), and hear the
sounds they make (you may hear them scream when hit at the long distances).
You are able to see in darkness all the time, without using the
night vision goggles, and without that ugly green screen tinting. You&#039;ll know
when your opponent drops a holoduke, so you won&#039;t waste your ammo with
it. And finally, you won&#039;t see that confusing steroids trail anymore!&lt;br&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Aim bot features.&lt;/b&gt; Aim bot (which can be turned off!) will
track the closest visible opponent automatically. If you&#039;re close
enough to your opponent, aim bot will also try to kick him while
shooting. And it will auto-activate med kit when you get shot! Another
cool feature associated to the aim bot is the auto-jetpack. Jump from a
high place, and jetpack will be activated automatically when you&#039;re
close to the ground.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Practical enhancements.&lt;/b&gt; When you find a new weapon, game
won&#039;t switch to it automatically. You will always see which weapon your
opponent is using, without activating the &quot;Weapon Mode&quot;. Demo viewer
doesn&#039;t switches camera automatically anymore. And game doesn&#039;t prompts
you with credit screens/animations when started or finished.&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;DNCROZ&lt;/code&gt;&lt;b&gt; during multiplayer?!&lt;/b&gt; Even this is
possible in the cheater! The only problem is: both players should type
it when the game is paused, or the &quot;Out Of Sync&quot; condition occurs.
Other cheats that work in the multiplayer game are: &lt;code&gt;DNSCOTTY###; DNCOORDS, DNVIEW; DNRATE; DNBETA; DNTODD; DNSHOWMAP; DNALLEN; DNDEBUG&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;&quot;.ANM viewer&quot;&lt;/b&gt;. Just type &lt;code&gt;DNENDING&lt;/code&gt; while playing, and the game skips right to the episode ending video &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

Please note that the most useful cheat, the aim bot, only works fine
with the game&#039;s internal AI opponents (A.K.A. &quot;PP bot&quot;, started with &lt;code&gt;&quot;duke3d.exe /q2 /a&quot;&lt;/code&gt;
command). It may work in the acceptable way on crossover 100 Mbps LAN
connection (peer-to-peer), although... And the worst thing ever: Duke3D
v1.666 will only work on real DOS mode, so forget it if you only have
Windows NT/2k/XP (anyway, those who play Duke3D over network frequently
do have Windows 9x installed for this specific purpose &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;)&lt;br&gt;

Still interested?! It&#039;s a bit difficult to install, though... First,
you need to have the original Duke Nukem 3D v1.5 installed. Second,
backup it!!! After that:&lt;br&gt;

&lt;ol&gt;

  &lt;li&gt;Unpack the &lt;code&gt;DN3D1666.ZIP&lt;/code&gt; into your Duke3D installation directory, overwriting files.&lt;/li&gt;
  &lt;li&gt;Configure Duke3D. Run &lt;code&gt;SETUP.EXE&lt;/code&gt;, and go to &lt;i&gt;&quot;Controller Setup&quot;&lt;/i&gt;, then &lt;i&gt;&quot;Choose Controller Type&quot;&lt;/i&gt;, and then select &lt;i&gt;&quot;Keyboard and External&quot;&lt;/i&gt;. After this, select &lt;i&gt;&quot;Setup External&quot;&lt;/i&gt;, &lt;i&gt;&quot;Change External Program Name&quot;&lt;/i&gt;, and type &lt;code&gt;&quot;DUKE3D.EXE&quot;&lt;/code&gt; there. Now you can save config, but DON&#039;T LAUNCH A GAME YET!!!&lt;br&gt;
(NOTE: it would be great if you disabled &lt;i&gt;Turn_Left&lt;/i&gt; and &lt;i&gt;Turn_Right&lt;/i&gt; keyboard bindings, although, if you don&#039;t plan to use &lt;i&gt;&quot;AutoAimSelfCalibrate&quot;&lt;/i&gt; setting in &lt;code&gt;DUKE3D.666&lt;/code&gt; file or won&#039;t use Auto-Aim feature at all, you don&#039;t need to do this).&lt;/li&gt;
  &lt;li&gt;Now, edit the file &lt;code&gt;DUKE3D.666&lt;/code&gt;. Open it in your
favorite editor (&lt;code&gt;EDIT.COM&lt;/code&gt; &lt;img src=&quot;misc/smileys/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; /&gt;), and you&#039;ll see that it&#039;s almost self-explanatory. Note that
your mouse is now configured by this file, any &lt;code&gt;SETUP&lt;/code&gt;
settings will be ignored! Also note that default mouse settings for
v1.666 imitates the default settings for the original Duke3D v1.5.&lt;br&gt;
  &lt;/li&gt;
&lt;/ol&gt;

I also recommend you to read the &lt;code&gt;&quot;DN3D1666.ME!&quot;&lt;/code&gt; file, supplied in the download package.&lt;br&gt;

&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;Relative project: &lt;a href=&quot;http://sysd.org/stas/node/40&quot;&gt;GRP packer plugin&lt;/a&gt; for the &lt;a href=&quot;http://www.ghisler.com/&quot;&gt;Total Commander&lt;/a&gt;.&lt;br&gt;

&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;Sorry, no source code is available for direct download. However, if you&#039;re interested in it, &lt;a href=&quot;http://sysd.org/stas/feedback&quot;&gt; contact me&lt;/a&gt; and I&#039;ll provide it to you! Thus, GPL license of the original Duke3D source wouldn&#039;t be harmed, I beleive...&lt;br&gt;
</description>
 <category domain="http://sysd.org/stas/taxonomy/term/9">addon</category>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/27">cheat</category>
 <category domain="http://sysd.org/stas/taxonomy/term/29">game</category>
 <category domain="http://sysd.org/stas/taxonomy/term/6">graphics</category>
 <category domain="http://sysd.org/stas/taxonomy/term/18">hack</category>
 <category domain="http://sysd.org/stas/taxonomy/term/7">network</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <pubDate>Tue, 09 May 2006 16:47:51 -0300</pubDate>
</item>
<item>
 <title>GibCounter QW stats</title>
 <link>http://sysd.org/stas/node/21</link>
 <description>GibCounter is a tiny yet quite useful game statistics generator for QuakeWorld games.
It operates parsing &lt;code&gt;frag*.log&lt;/code&gt; files generated by the QuakeWorld game server. If your server doesn&#039;t generate such a log files by default, you may enable this feature executing the server as follows:&lt;br&gt;
&lt;pre&gt;qw-server +set fraglogfile 1&lt;/pre&gt;
Of course you can also edit your server&#039;s &lt;code&gt;.cfg&lt;/code&gt; files to enable frag logging. You may run GibCounter on the same machine (and, on UN*X systems, as the same user) that runs the game server. If it&#039;s a &lt;a href=&quot;http://www.quakeforge.net/&quot;&gt;QuakeForge&lt;/a&gt; server, then GibCounter will locate log files automatically at the path &lt;code&gt;$HOME/.quakeforge/qw&lt;/code&gt;. For the different ports of the QuakeWorld server, or a QuakeForge server operating as a different user, you may specify the location of the &lt;code&gt;qw&lt;/code&gt; directory manually. To do that, simply pass the new directory as an argument to GibCounter (using your favorite command line shell):&lt;br&gt;
&lt;pre&gt;perl gibcounter.pl /home/qserver/.quake/qw&lt;/pre&gt;
GibCounter outputs the generated HTML code directly to &lt;code&gt;STDOUT&lt;/code&gt;. So, if you&#039;re going to add it into your server&#039;s &lt;i&gt;crontab&lt;/i&gt;, don&#039;t forget to pipe the output to some file! For example, the following &lt;span style=&quot;font-style: italic;&quot;&gt;crontab&lt;/span&gt; line will regenerate GibCounter game stats every 30 min and make it available through the URL &lt;u&gt;http://yourserver.com/~youruser/gibcounter.html&lt;/u&gt; (file paths &amp;amp; &lt;i&gt;crontab&lt;/i&gt; format may be different on your system; so ask your system administrator if unsure):&lt;br&gt;
&lt;pre&gt;0,30 * * * * perl $HOME/gibcounter.pl &amp;gt; $HOME/www/gibcounter.html&lt;/pre&gt;
GibCounter is also highly theme-able: CSS style of almost every element may be changed within &lt;code&gt;gibcounter.css&lt;/code&gt; file. Of course, you can also edit the HTML template which is contained inside the Perl source itself &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;br&gt;
The game statistics page generated by GibCounter is self-explanatory. On the top, it will show players ranking, sorted by (guess what?!) the frags they scored. Frags are computed as: kills &lt;i&gt;minus&lt;/i&gt; suicides. GibCounter also computes how many times each player was killed by others. And, on the bottom of the generated page, some computed totals are shown. This includes the period of time for which the stats were made, the &lt;i&gt;top fragger&lt;/i&gt; (the best) &amp;amp; the &lt;i&gt;top fragged&lt;/i&gt; (the worst) players. Please note that players with default nicknames, such as &quot;unnamed&quot; or &quot;user-#&quot;, are automatically excluded from being processed, simply to avoid useless information bloat (as many different players would be rated as one, with very high kill/death number)!&lt;br&gt;
By the way, GibCounter preserves the colorization of the graphical font in players&#039; nicknames (Quake console is able to print some ASCII characters in white, orange, gold &amp;amp; brown colors), and translates all symbols into readable ASCII.&lt;br&gt;
So, after all, how does GibCounter-generated page looks like?! Look for yourself, here are some &lt;a href=&quot;http://sysd.org/docs/gibcounter.html&quot;&gt;example stats&lt;/a&gt;. Also, feel free to modify the program itself to fit your own needs!&lt;br&gt;
</description>
 <category domain="http://sysd.org/stas/taxonomy/term/23">database</category>
 <category domain="http://sysd.org/stas/taxonomy/term/29">game</category>
 <category domain="http://sysd.org/stas/taxonomy/term/7">network</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/20">perl</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/8">web</category>
 <pubDate>Thu, 20 Apr 2006 01:48:22 -0300</pubDate>
</item>
</channel>
</rss>
