<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Allefant</title>
	<atom:link href="http://allefant.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://allefant.com</link>
	<description></description>
	<lastBuildDate>Fri, 18 May 2012 14:54:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Pyweek #14</title>
		<link>http://allefant.com/pyweek-14/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pyweek-14</link>
		<comments>http://allefant.com/pyweek-14/#comments</comments>
		<pubDate>Fri, 18 May 2012 14:32:14 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=620</guid>
		<description><![CDATA[Yay, finally finished a compo entry again! I made a little puzzle game called Yellow and Dangerous for PyWeek 14. This one was a lot of fun. I used Python 3, which just is so nice to use. Very high &#8230; <a href="http://allefant.com/pyweek-14/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://allefant.com/wordpress/../pics/yellowanddangerous.gif"  alt="pyweek-14" /></div>
<p>Yay, finally finished a compo entry again! I made a little puzzle game called <a title="Yellow and Dangerous" href="http://allefant.com/games/yellow-and-dangerous/">Yellow and Dangerous</a> for <a href="http://pyweek.org/e/pyweek14/">PyWeek 14</a>.</p>
<p><iframe src="http://www.youtube.com/embed/y9cEx2Z34dk?rel=0" frameborder="0" width="420" height="315"></iframe></p>
<p>This one was a lot of fun. I used Python 3, which just is so nice to use. Very high level, very clean syntax and my code just works as intended <img src='http://allefant.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Which allowed me to do quite a lot in the limited time. Basically a complete isometric engine which uses masking to solve the old (impossible) 3d sorting problem.</p>
<p>It probably would have been easier to do full 3d and use a regular z buffer. But I&#8217;ve basically been waiting for 20 years or so to do a 2d isometric engine like this &#8211; ever since I played Cadaver on the Amiga. And now I finally managed to do a 100% clone of the engine they used back then. My life is complete now. And I managed to do it in (the free time of) a week no less (well, the implementation, there&#8217;s years of research in it&#8230;) <img src='http://allefant.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The game itself is rather simple. During the competition someone made a mockup of a Portal like game (he never actually made the game though, unfortunately). But it prompted me to create a Companion Cube like cube as placeholder for my initial testing. And I liked it so much I kept it as the main game mechanic. The goal in each level is to place cubes on pressure plates to unlock the exit. However to do so, you need to push, pull and stack other objects. Either to move them, or to create structures which help you move. For example to create a bridge over a gap or to create some kind of stairway to climb up to a high place. I also tried using the 3D aspect in some of the levels, for example one level has a block hidden behind a bush. And another arranges platforms in a way so the isometric view makes it hard to see where they actually are. Similar to those <a href="http://en.wikipedia.org/wiki/M._C._Escher">M. C. Escher</a> drawings.</p>
]]></content:encoded>
			<wfw:commentRss>http://allefant.com/pyweek-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FOSDEM 2012 in Brussels</title>
		<link>http://allefant.com/fosdem-2012-in-brussels/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fosdem-2012-in-brussels</link>
		<comments>http://allefant.com/fosdem-2012-in-brussels/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 15:37:40 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=606</guid>
		<description><![CDATA[Really need to add a blog entry about this &#8211; I was there a few weeks ago. Was coding some Wesnoth related stuff: units.wesnoth.org Also not directly related, I made a Pacman clone while bored: It uses no external datafiles, &#8230; <a href="http://allefant.com/fosdem-2012-in-brussels/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Really need to add a blog entry about this &#8211; I was there a few weeks ago. Was coding some Wesnoth related stuff: <a href="http://units.wesnoth.org">units.wesnoth.org</a> Also not directly related, I made a Pacman clone while bored:</p>
<p><a href="http://allefant.com/wordpress/wp-content/uploads/2012/02/Screenshot-02262012-043350-PM.png"><img title="A5 Pacman" src="http://allefant.com/wordpress/wp-content/uploads/2012/02/Screenshot-02262012-043350-PM.png" alt="" width="450" height="602" /></a></p>
<p>It uses no external datafiles, just plain Allegro 5 primitives:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;allegro5/allegro.h&gt;</span>
<span style="color: #339933;">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span style="color: #339933;">#include &lt;allegro5/allegro_color.h&gt;</span>
<span style="color: #339933;">#include &lt;math.h&gt;</span>
&nbsp;
ALLEGRO_DISPLAY <span style="color: #339933;">*</span>d<span style="color: #339933;">;</span>
ALLEGRO_EVENT_QUEUE <span style="color: #339933;">*</span>q<span style="color: #339933;">;</span>
ALLEGRO_EVENT e<span style="color: #339933;">;</span>
ALLEGRO_TIMER <span style="color: #339933;">*</span>t<span style="color: #339933;">;</span>
ALLEGRO_COLOR c<span style="color: #339933;">;</span>
bool k<span style="color: #009900;">&#91;</span>ALLEGRO_KEY_MAX<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">int</span> w <span style="color: #339933;">=</span> <span style="color: #0000dd;">30</span><span style="color: #339933;">;</span>
<span style="color: #993333;">int</span> h <span style="color: #339933;">=</span> <span style="color: #0000dd;">38</span><span style="color: #339933;">;</span>
<span style="color: #993333;">int</span> s <span style="color: #339933;">=</span> <span style="color: #0000dd;">16</span><span style="color: #339933;">;</span>
<span style="color: #993333;">int</span> a<span style="color: #339933;">,</span> b<span style="color: #339933;">,</span> g<span style="color: #339933;">;</span>
<span style="color: #993333;">double</span> p <span style="color: #339933;">=</span> ALLEGRO_PI<span style="color: #339933;">,</span> f<span style="color: #339933;">;</span>
bool r<span style="color: #339933;">;</span>
<span style="color: #993333;">int</span> x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> px<span style="color: #339933;">,</span> py<span style="color: #339933;">,</span> kx<span style="color: #339933;">,</span> ky<span style="color: #339933;">,</span> sx<span style="color: #339933;">,</span> sy<span style="color: #339933;">;</span>
<span style="color: #993333;">int</span> gx<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> gy<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> dx<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> dy<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">char</span> n<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>
<span style="color: #ff0000;">&quot;                              &quot;</span>
<span style="color: #ff0000;">&quot;                              &quot;</span>
<span style="color: #ff0000;">&quot;                              &quot;</span>
<span style="color: #ff0000;">&quot;                              &quot;</span>
<span style="color: #ff0000;">&quot; ############################ &quot;</span>
<span style="color: #ff0000;">&quot; #............##............# &quot;</span>
<span style="color: #ff0000;">&quot; #.####.#####.##.#####.####.# &quot;</span>
<span style="color: #ff0000;">&quot; #.#  #.#   #.##.#   #.#  #.# &quot;</span>
<span style="color: #ff0000;">&quot; #.####.#####.##.#####.####.# &quot;</span>
<span style="color: #ff0000;">&quot; #..........................# &quot;</span>
<span style="color: #ff0000;">&quot; #.####.##.########.##.####.# &quot;</span>
<span style="color: #ff0000;">&quot; #.####.##.########.##.####.# &quot;</span>
<span style="color: #ff0000;">&quot; #......##....##....##......# &quot;</span>
<span style="color: #ff0000;">&quot; ######.##### ## #####.###### &quot;</span>
<span style="color: #ff0000;">&quot;      #.##### ## #####.#      &quot;</span>
<span style="color: #ff0000;">&quot;      #.##    []    ##.#      &quot;</span>
<span style="color: #ff0000;">&quot;      #.## ###  ### ##.#      &quot;</span>
<span style="color: #ff0000;">&quot; ######.## #~~~~~~# ##.###### &quot;</span>
<span style="color: #ff0000;">&quot;       .   #[][][]#   .       &quot;</span>
<span style="color: #ff0000;">&quot; ######.## #~~~~~~# ##.###### &quot;</span>
<span style="color: #ff0000;">&quot;      #.## ######## ##.#      &quot;</span>
<span style="color: #ff0000;">&quot;      #.##          ##.#      &quot;</span>
<span style="color: #ff0000;">&quot;      #.## ######## ##.#      &quot;</span>
<span style="color: #ff0000;">&quot; ######.## ######## ##.###### &quot;</span>
<span style="color: #ff0000;">&quot; #............##............# &quot;</span>
<span style="color: #ff0000;">&quot; #.####.#####.##.#####.####.# &quot;</span>
<span style="color: #ff0000;">&quot; #.####.#####.##.#####.####.# &quot;</span>
<span style="color: #ff0000;">&quot; #...##.......().......##...# &quot;</span>
<span style="color: #ff0000;">&quot; ###.##.##.########.##.##.### &quot;</span>
<span style="color: #ff0000;">&quot; ###.##.##.########.##.##.### &quot;</span>
<span style="color: #ff0000;">&quot; #......##....##....##......# &quot;</span>
<span style="color: #ff0000;">&quot; #.##########.##.##########.# &quot;</span>
<span style="color: #ff0000;">&quot; #.##########.##.##########.# &quot;</span>
<span style="color: #ff0000;">&quot; #..........................# &quot;</span>
<span style="color: #ff0000;">&quot; ############################ &quot;</span>
<span style="color: #ff0000;">&quot;                              &quot;</span>
<span style="color: #ff0000;">&quot;                              &quot;</span>
<span style="color: #ff0000;">&quot;                              &quot;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">char</span> <span style="color: #339933;">*</span>m<span style="color: #339933;">;</span>
<span style="color: #339933;">#define P(x) (((x) - 1) * s)</span>
<span style="color: #339933;">#define Q(x) (1 + (x) / s)</span>
<span style="color: #339933;">#define M(x, y) m[(y) * w + (x)]</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    srand<span style="color: #009900;">&#40;</span>time<span style="color: #009900;">&#40;</span>NULL<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_install_keyboard<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_init_primitives_addon<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_set_new_display_option<span style="color: #009900;">&#40;</span>ALLEGRO_SAMPLE_BUFFERS<span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> ALLEGRO_SUGGEST<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_set_new_display_option<span style="color: #009900;">&#40;</span>ALLEGRO_SAMPLES<span style="color: #339933;">,</span> <span style="color: #0000dd;">8</span><span style="color: #339933;">,</span> ALLEGRO_SUGGEST<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    d <span style="color: #339933;">=</span> al_create_display<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>w <span style="color: #339933;">-</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> s<span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span>h <span style="color: #339933;">-</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_set_window_title<span style="color: #009900;">&#40;</span>d<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Bambam and the Globals&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    q <span style="color: #339933;">=</span> al_create_event_queue<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    t <span style="color: #339933;">=</span> al_create_timer<span style="color: #009900;">&#40;</span><span style="color:#800080;">1.0</span> <span style="color: #339933;">/</span> <span style="color: #0000dd;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_register_event_source<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">,</span> al_get_keyboard_event_source<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_register_event_source<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">,</span> al_get_timer_event_source<span style="color: #009900;">&#40;</span>t<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_register_event_source<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">,</span> al_get_display_event_source<span style="color: #009900;">&#40;</span>d<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_start_timer<span style="color: #009900;">&#40;</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    m <span style="color: #339933;">=</span> malloc<span style="color: #009900;">&#40;</span>strlen<span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    restart<span style="color: #339933;">:</span>
    strcpy<span style="color: #009900;">&#40;</span>m<span style="color: #339933;">,</span> n<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    b <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    y <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    starty<span style="color: #339933;">:</span>
    x <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    startx<span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'('</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> noparenthesis<span style="color: #339933;">;</span>
    px <span style="color: #339933;">=</span> P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">;</span>
    py <span style="color: #339933;">=</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
    noparenthesis<span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'['</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> nobracket<span style="color: #339933;">;</span>
    gx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">;</span>
    gy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> notfirst<span style="color: #339933;">;</span>
    sx <span style="color: #339933;">=</span> gx<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    sy <span style="color: #339933;">=</span> gy<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    notfirst<span style="color: #339933;">:</span>
    b<span style="color: #339933;">++;</span>
    nobracket<span style="color: #339933;">:</span>
    x<span style="color: #339933;">++;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>x <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> w <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> startx<span style="color: #339933;">;</span>
    y<span style="color: #339933;">++;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>y <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> h <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> starty<span style="color: #339933;">;</span>
    mainloop<span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>r <span style="color: #339933;">||</span> <span style="color: #339933;">!</span>al_is_event_queue_empty<span style="color: #009900;">&#40;</span>q<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> dontdraw<span style="color: #339933;">;</span>
    al_clear_to_color<span style="color: #009900;">&#40;</span>al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;black&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    b <span style="color: #339933;">=</span> <span style="color: #0000dd;">7</span><span style="color: #339933;">;</span>
    loopdrawhighlight<span style="color: #339933;">:</span>
    c <span style="color: #339933;">=</span> al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;blue&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">==</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> c <span style="color: #339933;">=</span> al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;wheat&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    y <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    loopdrawy<span style="color: #339933;">:</span>
    x <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    loopdrawx<span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'.'</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> nodot<span style="color: #339933;">;</span>
    al_draw_filled_rectangle<span style="color: #009900;">&#40;</span>
        P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.4</span><span style="color: #339933;">,</span>
        P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.4</span><span style="color: #339933;">,</span>
        P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.6</span><span style="color: #339933;">,</span>
        P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.6</span><span style="color: #339933;">,</span>
        al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;peachpuff&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    nodot<span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> nohash<span style="color: #339933;">;</span>
    a <span style="color: #339933;">=</span>   <span style="color: #0000dd;">1</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">+</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> y <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
          <span style="color: #0000dd;">2</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
          <span style="color: #0000dd;">4</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y <span style="color: #339933;">+</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
          <span style="color: #0000dd;">8</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
         <span style="color: #0000dd;">16</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">+</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> y <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
         <span style="color: #0000dd;">32</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
         <span style="color: #0000dd;">64</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y <span style="color: #339933;">+</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
        <span style="color: #0000dd;">128</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>a <span style="color: #339933;">==</span> <span style="color: #0000dd;">64</span><span style="color: #009900;">&#41;</span>
        al_draw_line<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span>
            P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>a <span style="color: #339933;">==</span> <span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span>
        al_draw_line<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span>
            P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
&nbsp;
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">85</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">5</span><span style="color: #009900;">&#41;</span>
        al_draw_arc<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">85</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">20</span><span style="color: #009900;">&#41;</span>
        al_draw_arc<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span>
            s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> p<span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">85</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">65</span><span style="color: #009900;">&#41;</span>
        al_draw_arc<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">85</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">80</span><span style="color: #009900;">&#41;</span>
        al_draw_arc<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span>
            s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> p <span style="color: #339933;">*</span> <span style="color:#800080;">1.5</span><span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">7</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">5</span><span style="color: #009900;">&#41;</span>
        al_draw_arc<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">28</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">20</span><span style="color: #009900;">&#41;</span>
        al_draw_arc<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span>
            s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> p<span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">193</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">65</span><span style="color: #009900;">&#41;</span>
        al_draw_arc<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">112</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">80</span><span style="color: #009900;">&#41;</span>
        al_draw_arc<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span>
            s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> p <span style="color: #339933;">*</span> <span style="color:#800080;">1.5</span><span style="color: #339933;">,</span> p <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">17</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">17</span><span style="color: #009900;">&#41;</span>
        al_draw_line<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span>
            P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>a <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #0000dd;">68</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">68</span><span style="color: #009900;">&#41;</span>
        al_draw_line<span style="color: #009900;">&#40;</span>P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> P<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span>
            P<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> c<span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    nohash<span style="color: #339933;">:</span>
    x<span style="color: #339933;">++;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>x <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> w <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> loopdrawx<span style="color: #339933;">;</span>
    y<span style="color: #339933;">++;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>y <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> h <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> loopdrawy<span style="color: #339933;">;</span>
    b <span style="color: #339933;">-=</span> <span style="color: #0000dd;">6</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> loopdrawhighlight<span style="color: #339933;">;</span>
&nbsp;
    b <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    looptwice<span style="color: #339933;">:</span>
    al_draw_filled_pieslice<span style="color: #009900;">&#40;</span>px <span style="color: #339933;">+</span> b <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>w <span style="color: #339933;">-</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> s<span style="color: #339933;">,</span> py<span style="color: #339933;">,</span> s<span style="color: #339933;">,</span>
        f <span style="color: #339933;">+</span> p <span style="color: #339933;">*</span> <span style="color:#800080;">0.25</span> <span style="color: #339933;">*</span> fabs<span style="color: #009900;">&#40;</span>sin<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">2</span> <span style="color: #339933;">*</span> p <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>g <span style="color: #339933;">%</span> <span style="color: #0000dd;">60</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color:#800080;">60.0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
        p <span style="color: #339933;">*</span> <span style="color: #0000dd;">2</span> <span style="color: #339933;">-</span> p <span style="color: #339933;">*</span> <span style="color:#800080;">0.5</span> <span style="color: #339933;">*</span> fabs<span style="color: #009900;">&#40;</span>sin<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">2</span> <span style="color: #339933;">*</span> p <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>g <span style="color: #339933;">%</span> <span style="color: #0000dd;">60</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color:#800080;">60.0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
        al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;yellow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    b<span style="color: #339933;">++;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> looptwice<span style="color: #339933;">;</span>
    b <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    loopdrawghosts<span style="color: #339933;">:</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> c <span style="color: #339933;">=</span> al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;red&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">==</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> c <span style="color: #339933;">=</span> al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;cyan&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">==</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> c <span style="color: #339933;">=</span> al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;pink&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">==</span> <span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span> c <span style="color: #339933;">=</span> al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;orange&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    x <span style="color: #339933;">=</span> gx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    y <span style="color: #339933;">=</span> gy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    al_draw_filled_pieslice<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> s<span style="color: #339933;">,</span> p <span style="color: #339933;">*</span> <span style="color:#800080;">0.6</span><span style="color: #339933;">,</span> p <span style="color: #339933;">*</span> <span style="color:#800080;">1.8</span><span style="color: #339933;">,</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_draw_filled_triangle<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> x <span style="color: #339933;">-</span> s<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> x <span style="color: #339933;">-</span> s<span style="color: #339933;">,</span> y <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_draw_filled_triangle<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> x <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> x <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span> y <span style="color: #339933;">+</span> s<span style="color: #339933;">,</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_draw_filled_rectangle<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">-</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.5</span><span style="color: #339933;">,</span> y<span style="color: #339933;">,</span>
        x <span style="color: #339933;">+</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.5</span><span style="color: #339933;">,</span> y <span style="color: #339933;">+</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.5</span><span style="color: #339933;">,</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_draw_filled_circle<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">-</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.5</span><span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.25</span><span style="color: #339933;">,</span>
        al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;white&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_draw_filled_circle<span style="color: #009900;">&#40;</span>x <span style="color: #339933;">+</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.5</span><span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> s <span style="color: #339933;">*</span> <span style="color:#800080;">0.25</span><span style="color: #339933;">,</span>
        al_color_name<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;white&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    b<span style="color: #339933;">++;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> loopdrawghosts<span style="color: #339933;">;</span>
&nbsp;
    al_flip_display<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    g<span style="color: #339933;">++;</span>
    r <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
    dontdraw<span style="color: #339933;">:</span>
    al_wait_for_event<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>e.<span style="color: #202020;">type</span> <span style="color: #339933;">==</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> done<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>e.<span style="color: #202020;">type</span> <span style="color: #339933;">!=</span> ALLEGRO_EVENT_TIMER<span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> nottimer<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>k<span style="color: #009900;">&#91;</span>ALLEGRO_KEY_ESCAPE<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> done<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>k<span style="color: #009900;">&#91;</span>ALLEGRO_KEY_LEFT<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>kx <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span> ky <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> f <span style="color: #339933;">=</span> p<span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>k<span style="color: #009900;">&#91;</span>ALLEGRO_KEY_RIGHT<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>kx <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span> ky <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> f <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>k<span style="color: #009900;">&#91;</span>ALLEGRO_KEY_UP<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>kx <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> ky <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span> f <span style="color: #339933;">=</span> p <span style="color: #339933;">*</span> <span style="color:#800080;">1.5</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>k<span style="color: #009900;">&#91;</span>ALLEGRO_KEY_DOWN<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>kx <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> ky <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span> f <span style="color: #339933;">=</span> p <span style="color: #339933;">*</span> <span style="color:#800080;">0.5</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>Q<span style="color: #009900;">&#40;</span>px <span style="color: #339933;">+</span> kx <span style="color: #339933;">*</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> Q<span style="color: #009900;">&#40;</span>py <span style="color: #339933;">+</span> ky <span style="color: #339933;">*</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> cango<span style="color: #339933;">;</span>
    px <span style="color: #339933;">+=</span> kx<span style="color: #339933;">;</span>
    py <span style="color: #339933;">+=</span> ky<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>px <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #339933;">-</span>s<span style="color: #009900;">&#41;</span> px <span style="color: #339933;">+=</span> <span style="color: #009900;">&#40;</span>w <span style="color: #339933;">-</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> s<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>px <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #009900;">&#40;</span>w <span style="color: #339933;">-</span> <span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> s<span style="color: #009900;">&#41;</span> px <span style="color: #339933;">-=</span> <span style="color: #009900;">&#40;</span>w <span style="color: #339933;">-</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> s<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>Q<span style="color: #009900;">&#40;</span>px <span style="color: #339933;">+</span> kx <span style="color: #339933;">*</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> Q<span style="color: #009900;">&#40;</span>py <span style="color: #339933;">+</span> ky <span style="color: #339933;">*</span> s<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'.'</span><span style="color: #009900;">&#41;</span>
        M<span style="color: #009900;">&#40;</span>Q<span style="color: #009900;">&#40;</span>px <span style="color: #339933;">+</span> kx <span style="color: #339933;">*</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> Q<span style="color: #009900;">&#40;</span>py <span style="color: #339933;">+</span> ky <span style="color: #339933;">*</span> s<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">' '</span><span style="color: #339933;">;</span>
    cango<span style="color: #339933;">:</span>
&nbsp;
    b <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    loopghosts<span style="color: #339933;">:</span>
    x <span style="color: #339933;">=</span> gx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> px<span style="color: #339933;">;</span>
    y <span style="color: #339933;">=</span> gy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> py<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>x <span style="color: #339933;">*</span> x <span style="color: #339933;">+</span> y <span style="color: #339933;">*</span> y <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> s <span style="color: #339933;">*</span> s <span style="color: #339933;">*</span> <span style="color: #0000dd;">2</span> <span style="color: #339933;">*</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> restart<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>dx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> dy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> dx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>rand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #0000dd;">2</span> <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>Q<span style="color: #009900;">&#40;</span>gx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> Q<span style="color: #009900;">&#40;</span>gy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'~'</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> noteleport<span style="color: #339933;">;</span>
    gx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> sx<span style="color: #339933;">;</span>
    gy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> sy<span style="color: #339933;">;</span>
    dy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    noteleport<span style="color: #339933;">:</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>M<span style="color: #009900;">&#40;</span>Q<span style="color: #009900;">&#40;</span>gx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> dx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> Q<span style="color: #009900;">&#40;</span>gy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> dy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> s <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'#'</span><span style="color: #009900;">&#41;</span>
        <span style="color: #b1b100;">goto</span> ghostwall<span style="color: #339933;">;</span>
    gx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">+=</span> dx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    gy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">+=</span> dy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">goto</span> ghostmoved<span style="color: #339933;">;</span>
    ghostwall<span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>dx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> nodx<span style="color: #339933;">;</span>
    dx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    dy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>rand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #0000dd;">2</span> <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">goto</span> ghostmoved<span style="color: #339933;">;</span>
    nodx<span style="color: #339933;">:</span>
    dy<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    dx<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>rand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #0000dd;">2</span> <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    ghostmoved<span style="color: #339933;">:</span>
    b<span style="color: #339933;">++;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">goto</span> loopghosts<span style="color: #339933;">;</span>
&nbsp;
    r <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">true</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">goto</span> mainloop<span style="color: #339933;">;</span>
    nottimer<span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>e.<span style="color: #202020;">type</span> <span style="color: #339933;">==</span> ALLEGRO_EVENT_KEY_DOWN<span style="color: #009900;">&#41;</span> k<span style="color: #009900;">&#91;</span>e.<span style="color: #202020;">keyboard</span>.<span style="color: #202020;">keycode</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">true</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>e.<span style="color: #202020;">type</span> <span style="color: #339933;">==</span> ALLEGRO_EVENT_KEY_UP<span style="color: #009900;">&#41;</span> k<span style="color: #009900;">&#91;</span>e.<span style="color: #202020;">keyboard</span>.<span style="color: #202020;">keycode</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">goto</span> mainloop<span style="color: #339933;">;</span>
    done<span style="color: #339933;">:</span>
    free<span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    al_uninstall_system<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://allefant.com/fosdem-2012-in-brussels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Global Game Jam 2012</title>
		<link>http://allefant.com/global-game-jam-2012/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=global-game-jam-2012</link>
		<comments>http://allefant.com/global-game-jam-2012/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 22:24:49 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=602</guid>
		<description><![CDATA[On Friday I travelled to Vienna to attend my sister&#8217;s &#8220;Sponsionsfeier&#8221; (ceremony where she was awarded her Master&#8217;s degree in biomedicine). I had heard of the GGJ earlier from Oncer in #Moosader so looked up the address and went there. &#8230; <a href="http://allefant.com/global-game-jam-2012/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On Friday I travelled to Vienna to attend my sister&#8217;s &#8220;Sponsionsfeier&#8221; (ceremony where she was awarded her Master&#8217;s degree in biomedicine). I had heard of the GGJ earlier from Oncer in #Moosader so looked up the address and went there. And decided to register and take part.</p>
<p>I teamed up with someone who wanted to make a 3D snake clone. The result turned out quite interesting I think:</p>
<p><img src="http://globalgamejam.org/sites/default/files/uploads/2012/13764/press.jpg?1328047935" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://allefant.com/global-game-jam-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SantaHack 2011</title>
		<link>http://allefant.com/santahack-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=santahack-2011</link>
		<comments>http://allefant.com/santahack-2011/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 19:15:04 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=590</guid>
		<description><![CDATA[I took part in SantaHack 2011 and made a game called xmas. Download (.exe plus sources) is here.]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://allefant.com/wordpress/../pics/xmas.gif"  alt="santahack-2011" /></div>
<p>I took part in SantaHack 2011 and made a game called <a title="xmas" href="http://allefant.com/games/xmas/">xmas</a>. Download (.exe plus sources) is <a href="http://allegro5.org/xmas-v6.zip">here</a>.</p>
<p><iframe width="640" height="360" src="http://www.youtube.com/embed/AluW1E85c_w"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://allefant.com/santahack-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Coke diet</title>
		<link>http://allefant.com/the-coke-diet/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-coke-diet</link>
		<comments>http://allefant.com/the-coke-diet/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 17:53:48 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=574</guid>
		<description><![CDATA[How Coke helped me lose weight! I love Coca Cola. I was drinking 2 liters of it per day. Every day for about 10 years. And despite what people claim I never had any health problems. About half a year &#8230; <a href="http://allefant.com/the-coke-diet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>How Coke helped me lose weight!</em></p>
<p>I love Coca Cola. I was drinking 2 liters of it per day. Every day for about 10 years. And despite what people claim I never had any health problems. About half a year ago I bought a scale and then, just as some kind of experiment initially, tried watching what would happen if I&#8217;d reduce my Coke intake to 1 liter per day. And in the following weeks actually reduced it further to no Coke anymore. This is the somewhat interesting result:</p>
<p><a href="http://allefant.com/wordpress/wp-content/uploads/2011/12/weight.png"><img class=" wp-image-575" title="weight" src="http://allefant.com/wordpress/wp-content/uploads/2011/12/weight.png" alt="" width="815" height="322" /></a></p>
<p>I started losing weight really fast by just leaving out one liter of coke at first. And then constantly kept losing weight. After about three months I was losing much less weight even though I was eating/drinking the exact same things, not sure why. Still, by simply replacing those 2 liters of coke with 2 liters of carbonated water I keep losing weight. The three days at the end without data points is when I wasn&#8217;t home (and also got sick which explains the somewhat abrupt weight loss there). But that means I&#8217;m now down 10 kg, from about 80 kg to about 70 kg, which means my experiment is now done I guess.</p>
<p>Maybe next I&#8217;ll see how fast I can get the weight back if I start drinking Coke again <img src='http://allefant.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://allefant.com/the-coke-diet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speedhack 2011</title>
		<link>http://allefant.com/speedhack-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=speedhack-2011</link>
		<comments>http://allefant.com/speedhack-2011/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 20:28:40 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=554</guid>
		<description><![CDATA[Took part in Speedhack 2011. The game I made is called Red, White &#38; You. The speedhack rules this timere were ESRB-E rating, random, color, propaganda and lazyness. Not much to get a specific game idea so I just started &#8230; <a href="http://allefant.com/speedhack-2011/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://allefant.com/wordpress/../pics/redwhiteyou.gif"  alt="speedhack-2011" /></div>
<p>Took part in <a href="http://speedhack.allegro.cc/2011">Speedhack 2011</a>. The game I made is called <a href="http://allefant.com/red-white-you">Red, White &amp; You</a>. The speedhack rules this timere were ESRB-E rating, random, color, propaganda and lazyness. Not much to get a specific game idea so I just started coding, using pymunk. In hindsight pymunk was a bad choice as I had a hard time getting it to work on Windows. It uses some Python 2.x constructs (I&#8217;m using Python 3) and its setup.py script couldn&#8217;t compile a new chipmunk.dll which does not depend on msvcr71.dll. Also I know the chipmunk C API so the extra cruft pymunk adds wasn&#8217;t so useful, especially as it&#8217;s very incomplete. Next time I&#8217;ll just use ctypes and chipmunk (mingw compiled dll for windows) directly. Will solve all problems <img src='http://allefant.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Coding the game itself was a lot of fun though, so I&#8217;m happy <img src='http://allefant.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/8BcxJbToXqw" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://allefant.com/speedhack-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LD48 2011 (#20)</title>
		<link>http://allefant.com/ld48-2011-20/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ld48-2011-20</link>
		<comments>http://allefant.com/ld48-2011-20/#comments</comments>
		<pubDate>Sun, 01 May 2011 21:40:19 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=528</guid>
		<description><![CDATA[Took part in this LD. However, I had no time to prepare and also have too much stress with work and getting Fargoal 2 done to be really into it. Coding for 2 days straight as I did in some &#8230; <a href="http://allefant.com/ld48-2011-20/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://allefant.com/wordpress/../pics/allefant.gif"  alt="ld48-2011-20" /></div>
<p>Took part in this LD. However, I had no time to prepare and also have too much stress with work and getting Fargoal 2 done to be really into it. Coding for 2 days straight as I did in some of the previous LDs seriously impacts me for the next days, the brain gets exhausted from it <img src='http://allefant.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Which I can&#8217;t afford now &#8211; almost had a bad conscience for &#8220;taking off&#8221; this weekend.</p>
<p>Also, this must be the worst theme any LD ever had. Just a phrase from the beginning of Zelda1 which would fit for virtually any game. So one of the most fun parts of LDs for me, coming up with an idea fitting to the theme, was missing. Still, I&#8217;m quite happy about the theme since I got to watch a play-through of Zelda 1 on Youtube instead &#8211; it&#8217;s a game I long have on my list of must-try games. I didn&#8217;t get around to actually try it in a NES emulator so I&#8217;ll leave it on the list, but seeing a video also tells a bit.</p>
<p>Also, my actual game turned out nice enough &#8211; even though it&#8217;s basically just a model viewer of a custom Blender exporter I wrote. I needed to get starting with Blender 2.5 scripting anyway, after this it should now be a lot easier to update all my 2.4 scripts. I spent quite a bit of time figuring out the matrix manipulations of armatures.</p>
<p>The first stumbling block was:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">scene.<span style="color: black;">frame_set</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Basically, my first problem was that the exported mesh always had my armature applied already. So I made a frame 0 with everything key-framed to the rest position. Probably there&#8217;s a way to get the raw mesh vertices &#8211; but well I couldn&#8217;t find it. The next trouble was:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">v <span style="color: #66cc66;">*</span>= armature.<span style="color: black;">pose</span>.<span style="color: black;">bones</span><span style="color: black;">&#91;</span>group<span style="color: black;">&#93;</span>.<span style="color: black;">matrix</span>.<span style="color: black;">inverted</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>This is what I spent the most time on. First I used .matrix_base of the pose vertices and tried to re-assemble bone position and orientation by following all the parents. But it never quite worked out. So then finally I decided to go the brute force route and added the above. Basically, I take the pose (again in rest position with the frame 0 trick) and then apply the inverse transformation to each vertex. When I now in-game just send the matrix to OpenGL everything ends up at the right place &#8211; and it all kept working with complex armature hierarchies. If a vertex is affected by more than one bone it might need more tweaking but the models for this game don&#8217;t use vertex weights.</p>
<p>Finally the third problem was gamma correction. With the simple solution of disabling &#8220;color management&#8221; in render settings. Just took some time to identify the problem then find that button in a rather unrelated place (i wasn&#8217;t rendering anything, my scene didn&#8217;t even have a camera or any lights).</p>
<p>Now I&#8217;m only sad that it will be at least several weeks before I&#8217;ll have time to get back to this game which I&#8217;d really like to finish.</p>
]]></content:encoded>
			<wfw:commentRss>http://allefant.com/ld48-2011-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fosdem picture</title>
		<link>http://allefant.com/ludumdare/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ludumdare</link>
		<comments>http://allefant.com/ludumdare/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 19:58:37 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=516</guid>
		<description><![CDATA[Just testing how this will appear on ludumdare.com/planet. Will it show my name as &#8220;allefant&#8221;? Do pictures appear?]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://allefant.com/wordpress/../pics/wordpress.png"  alt="fosdem-picture" /></div>
<p>Just testing how this will appear on ludumdare.com/planet. Will it show my name as &#8220;allefant&#8221;? Do pictures appear?</p>
<p><img class="alignnone" src="http://forums.wesnoth.org/download/file.php?id=48633&amp;mode=view" alt="" width="600" height="450" /></p>
]]></content:encoded>
			<wfw:commentRss>http://allefant.com/ludumdare/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>fosdem</title>
		<link>http://allefant.com/fosdem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fosdem</link>
		<comments>http://allefant.com/fosdem/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 14:29:07 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=517</guid>
		<description><![CDATA[2011 is the year of travelling for me, travelled infinitely many more times than any previous year already Mainly meeting the Wesnoth devs here, which is quite fun. They seem to be talking about Wesnoth all the time. And at &#8230; <a href="http://allefant.com/fosdem/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>2011 is the year of travelling for me, travelled infinitely many more times than any previous year already <img src='http://allefant.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Mainly meeting the Wesnoth devs here, which is quite fun. They seem to be talking about Wesnoth all the time. And at fosdem, instead of going to any talks they took over one of the hack rooms and do talks and discuss stuff. And there&#8217;s a lot of them, close to 15 people I&#8217;d say. And well, I&#8217;m doing the same, sitting in the hacking room and working on SoF 2.</p>
]]></content:encoded>
			<wfw:commentRss>http://allefant.com/fosdem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Global Game Jam 2011</title>
		<link>http://allefant.com/global-game-jam-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=global-game-jam-2011</link>
		<comments>http://allefant.com/global-game-jam-2011/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 12:43:52 +0000</pubDate>
		<dc:creator>allefant</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://allefant.com/?p=514</guid>
		<description><![CDATA[Last weekend I went to Vienna and took part in the global game jam. indeterminatus mentioned it in #allegro on Tuesday or Wednesday, on Thursday in a moment of insanity I ordered train tickets and on Friday was standing in &#8230; <a href="http://allefant.com/global-game-jam-2011/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last weekend I went to Vienna and took part in the global game jam. indeterminatus mentioned it in #allegro on Tuesday or Wednesday, on Thursday in a moment of insanity I ordered train tickets and on Friday was standing in the Vienna subway trying to find the game jam location&#8230; with only wireless internet I really should have noted down the location and maybe brought a map <img src='http://allefant.com/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Still, when I saw a station called Karlsplatz in the subway plan I remembered, and went there. Outside the station I saw a university building&#8230; and at the main entrance there was a sign saying &#8220;game jam&#8221; and then another sign pointing up a stairway. And there I was.</p>
<p>The main difference to LD48/pyweek/speedhack and so on was that it was a team competition. I mainly did some support coding. Will put a link to the game later.</p>
]]></content:encoded>
			<wfw:commentRss>http://allefant.com/global-game-jam-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>


