<?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>Kristof Neirynck &#187; Flash</title>
	<atom:link href="http://www.crydust.be/blog/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crydust.be/blog</link>
	<description>yet another webdev blog</description>
	<lastBuildDate>Wed, 05 May 2010 16:13:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Silverlight vs Flash Chess</title>
		<link>http://www.crydust.be/blog/2009/03/16/silverlight-vs-flash-chess/</link>
		<comments>http://www.crydust.be/blog/2009/03/16/silverlight-vs-flash-chess/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 08:45:03 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/?p=89</guid>
		<description><![CDATA[<p>After seeing the <a href="http://silverlight.net/themes/silverlight/community/gallerydetail.aspx?cat=sl2#vid1812">Silverlight Chess</a> sample I immediately started work on a flash version. It needs a lot of optimizing, not a single variable type was set, so it's not a very fair fight. Anyway ... flash is about 10x faster than the ie7 js engine on my machine. But still a lot slower than silverlight.</p>]]></description>
			<content:encoded><![CDATA[<p>After seeing the <a href="http://silverlight.net/themes/silverlight/community/gallerydetail.aspx?cat=sl2#vid1812">Silverlight Chess</a> sample I immediately started work on a flash version. It needs a lot of optimizing, not a single variable type was set, so it&#8217;s not a very fair fight. Anyway &#8230; flash is about 10x faster than the ie7 js engine on my machine. But still a lot slower than silverlight.</p>
<span id="more-89"></span>
<p>Compare for yourself:</p>
<ul>
<li><a href="http://www.crydust.be/lab/chess/silverlight_vs_js/Default.html">silverlight vs javascript</a> (unchanged original)</li>
<li><a href="http://www.crydust.be/lab/chess/silverlight_vs_flash/Default.html">silverlight vs flash</a> (js delegates all logic to flash, silverlight code unchanged)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2009/03/16/silverlight-vs-flash-chess/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>full-screen mode in Actionscript 2</title>
		<link>http://www.crydust.be/blog/2008/02/19/full-screen-mode-in-actionscript-2/</link>
		<comments>http://www.crydust.be/blog/2008/02/19/full-screen-mode-in-actionscript-2/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 21:51:00 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2008/02/19/full-screen-mode-in-actionscript-2/</guid>
		<description><![CDATA[How to use full-screen mode in Actionscript 2: _root.btn_mc.onRelease = function(){ if(Stage[&#34;displayState&#34;] == &#34;normal&#34;){ Stage[&#34;displayState&#34;] = &#34;fullScreen&#34;; }else{ Stage[&#34;displayState&#34;] = &#34;normal&#34;; } } var listener:Object = {}; listener.onFullScreen = function(isFullscreen:Boolean){ if(isFullscreen){ trace(&#34;entered full-screen mode&#34;); }else{ trace(&#34;exited full-screen mode&#34;); } } Stage.addListener(listener); Also see Exploring full-screen mode in Flash Player 9.]]></description>
			<content:encoded><![CDATA[<p>How to use full-screen mode in Actionscript 2:</p>
<pre class="prettyprint">
_root.btn_mc.onRelease = function(){
    if(Stage[&quot;displayState&quot;] == &quot;normal&quot;){
        Stage[&quot;displayState&quot;] = &quot;fullScreen&quot;;
    }else{
        Stage[&quot;displayState&quot;] = &quot;normal&quot;;
    }
}

var listener:Object = {};
listener.onFullScreen = function(isFullscreen:Boolean){
    if(isFullscreen){
        trace(&quot;entered full-screen mode&quot;);
    }else{
        trace(&quot;exited full-screen mode&quot;);
    }
}
Stage.addListener(listener);
</pre>

<p>Also see <a href="http://www.adobe.com/devnet/flashplayer/articles/full_screen_mode.html">Exploring full-screen mode in Flash Player 9</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2008/02/19/full-screen-mode-in-actionscript-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>forceSmoothing</title>
		<link>http://www.crydust.be/blog/2008/02/15/forcesmoothing/</link>
		<comments>http://www.crydust.be/blog/2008/02/15/forcesmoothing/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 17:35:43 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2008/02/15/forcesmoothing/</guid>
		<description><![CDATA[<p>Rotating and scaling pictures in flash is easy. Just use _rotation, _xscale and _yscale. Except when you publish an swf for Flash Player 8 or newer. Every image you rotate or scale will become jagged. Very anoying. Tinic Uro even wrote a <a href="http://www.kaourantin.net/2005/12/dynamically-loading-bitmaps-with.html">loadBitmapSmoothed function that uses BitmapData</a>.</p>

<p>When Flash Player 8.5 came out it introduced the <a href="http://livedocs.adobe.com/flash/9.0/main/00001912.html">forceSmoothing</a> property. This property is also available in as2. Now all we need to do is set it to true when we load images.</p>

<p>I works quite well. In the example below you can clearly see the left picture is more jagged than the right one.</p>
]]></description>
			<content:encoded><![CDATA[<p>Rotating and scaling pictures in flash is easy. Just use _rotation, _xscale and _yscale. Except when you publish an swf for Flash Player 8 or newer. Every image you rotate or scale will become jagged. Very anoying. To remedy this you can either publish for Flash 7 or use a <a href="http://www.kaourantin.net/2005/12/dynamically-loading-bitmaps-with.html">complicated loadBitmapSmoothed function that uses BitmapData</a>.</p>

<p>When Flash Player 8.5 came out it introduced the <a href="http://livedocs.adobe.com/flash/9.0/main/00001912.html">forceSmoothing</a> property. This property is also available in as2. Now all we need to do is set it to true when we load images. Don&#8217;t forget that this will have no effect in Flash players older than version 8.5!</p>

<p>It works quite well. In the example below you can clearly see the left picture is more jagged than the right one.</p>

<span id="more-54"></span>

<div id="forcesmoothing"></div>
<script type="text/javascript">
var so = new SWFObject("http://www.crydust.be/blog/wp-content/uploads/forcesmoothing.swf", "forcesmoothing_swf", "400", "200", "9", "#FFFFFF");
so.addParam("base", ".");
so.write("forcesmoothing");
</script>

<pre class="prettyprint">
var outer_mc = this.createEmptyMovieClip(&quot;outer_mc&quot;, 0);
var inner_mc = outer_mc.createEmptyMovieClip(&quot;inner_mc&quot;, 0);

// don't rotate the inner_mc
// it will lose its properties when the image is loaded
outer_mc._rotation = 45;
outer_mc._xscale = 120;
outer_mc._yscale = 60;

var mcl:MovieClipLoader = new MovieClipLoader();

mcl.addListener({
  onLoadInit: function(target:MovieClip){
    // this prevents that awfully jagged look
    target.forceSmoothing = true;
  }
});

mcl.loadClip(&quot;image.jpg&quot;, inner_mc);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2008/02/15/forcesmoothing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pong0.5k, a game in 510bytes</title>
		<link>http://www.crydust.be/blog/2008/01/30/pong05k-a-game-in-510bytes/</link>
		<comments>http://www.crydust.be/blog/2008/01/30/pong05k-a-game-in-510bytes/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 12:12:27 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2008/01/30/pong05k-a-game-in-510bytes/</guid>
		<description><![CDATA[<p>Mr.doob created a 1k pong game in as3. Which made my fingers itch to do better. So here it is, in as2, less than half the filesize and the same functionality.</p>
<div id="pong0_5k"></div>
<script type="text/javascript">
var so = new SWFObject("http://www.crydust.be/blog/wp-content/uploads/pong0_5k.swf", "pong0_5k_swf", "450", "256", "6", "#000000");
so.write("pong0_5k");
</script>]]></description>
			<content:encoded><![CDATA[<p>Mr.doob created a 1k pong game in as3. Which made my fingers itch to do better. So here it is, in as2, less than half the filesize and the same functionality.</p>
<span id="more-52"></span>
<div id="pong0_5k"></div>
<script type="text/javascript">
var so = new SWFObject("http://www.crydust.be/blog/wp-content/uploads/pong0_5k.swf", "pong0_5k_swf", "450", "256", "6", "#000000");
so.write("pong0_5k");
</script>
<pre class="prettyprint">
//
// Pong.5k (510 bytes game)
// by Kristof Neirynck
//
// inspired by monoPong-1k and mrdoob
// <a href="http://pouet.net/prod.php?which=48976">http://pouet.net/prod.php?which=48976</a>
// <a href="http://mrdoob.com/blog/post/485/">http://mrdoob.com/blog/post/485/</a>
//
Stage.align = &quot;TL&quot;;
Stage.scaleMode = &quot;noScale&quot;;

// making 10 a variable to shave off some bytes
var t:Number = 10;

// speed
var vx:Number = -t;
var vy:Number = t;

// player 1
var p:MovieClip = createEmptyMovieClip(&quot;p&quot;, 1);

// player 2
var q:MovieClip = createEmptyMovieClip(&quot;q&quot;, 2);

// ball
var b:MovieClip = createEmptyMovieClip(&quot;b&quot;, 3);

// drawing the squares
d(p,20,40);
d(q,20,40);
d(b,t,t);

// magic loop
function onEnterFrame() {
  b._x += vx;
  b._y += vy;

  q._x = Stage.width;

  p._y = _ymouse;
  q._y = Stage.height-_ymouse;

  // bounce top or bottom border
  if (b._y&lt;t || b._y&gt;Stage.height-t) {
    vy = -vy;
  }
  // bounce player1 or left border
  // or player 2 or right border  
  if ((b.hitTest(p) &amp;&amp; b._x&gt;20) 
  || (b.hitTest(q) &amp;&amp; b._x&lt;Stage.width-20)) {
    vx = -vx;
  }
  // someone scored
  if (-t&gt;b._x || b._x&gt;Stage.width+t) {
    b._x = Stage.width*0.5;
    b._y = Stage.height*0.5;
    vx = -vx;
  }
};

// square drawing function
function d(m:MovieClip, w:Number, h:Number):Void {
  //w and h are already / 2
  //w /= 2;
  //h /= 2;
  m.beginFill(0xFFFFFF);
  m.moveTo(-w,-h);
  m.lineTo(w,-h);
  m.lineTo(w,h);
  m.lineTo(-w,h);
  //not needed
  //m.lineTo(-w,-h);
  //m.endFill();
}
</pre>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2008/01/30/pong05k-a-game-in-510bytes/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>FileZilla decrypt</title>
		<link>http://www.crydust.be/blog/2007/11/04/filezilla-decrypt/</link>
		<comments>http://www.crydust.be/blog/2007/11/04/filezilla-decrypt/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 22:19:53 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2007/11/04/filezilla-decrypt/</guid>
		<description><![CDATA[<p>Every now and then I get someone asking me for an ftp password. Mine have always been stored in FileZilla. I don't know them by heart. There is no problem with this except that FileZilla encrypts them. Thank God decrypting FileZilla 2 passwords is easy. Here is some as2 code to accomplish it.</p>]]></description>
			<content:encoded><![CDATA[<p>Every now and then I get someone asking me for an ftp password. Mine have always been stored in FileZilla. I don&#8217;t know them by heart. There is no problem with this except that FileZilla encrypts them. Thank God decrypting FileZilla 2 passwords is easy. Here is some as2 code to accomplish it:</p>
<span id="more-22"></span>
<pre class="prettyprint">
function decrypt(numeric:String):String {
  var decrypted:String = &quot;&quot;;
  var encrypted:String = &quot;&quot;;
  var secret:String = &quot;FILEZILLA1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;;
  if (numeric.length % 3 == 0) {
    for (var i:Number = 0; i &lt; numeric.length; i += 3) {
      var charCode:Number = parseInt(numeric.substr(i, 3), 10);
      encrypted += String.fromCharCode(charCode);
    }
    for (var i:Number = 0; i &lt; encrypted.length; i++) {
      var secretCharIndex:Number = (encrypted.length + i) % secret.length;
      var numA:Number = encrypted.charCodeAt(i);
      var numB:Number = secret.charCodeAt(secretCharIndex);
      decrypted += String.fromCharCode(numA ^ numB);
    }
  } else {
    decrypted = &quot;ERROR: Length must be multiple of 3.&quot;;
  }
  return decrypted;
}

function encrypt(decrypted:String):String {
  var numeric:String = &quot;&quot;;
  var encrypted:String = &quot;&quot;;
  var secret:String = &quot;FILEZILLA1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;;
  for (var i:Number = 0; i &lt; decrypted.length; i++) {
    var secretCharIndex:Number = (decrypted.length + i) % secret.length;
    var numA:Number = decrypted.charCodeAt(i);
    var numB:Number = secret.charCodeAt(secretCharIndex);
    var charCode:Number = numA ^ numB;
    encrypted += String.fromCharCode(charCode);
    var paddedcharCode:String = charCode.toString(10);
    while (paddedcharCode.length &lt; 3) {
      paddedcharCode = &quot;0&quot; + paddedcharCode;
    }
    numeric += paddedcharCode;
  }
  return numeric;
}
</pre>
<p>And a working example:</p>
<div id="decrypt_filezilla_passwords"></div>
<script type="text/javascript">
var so = new SWFObject("http://www.crydust.be/blog/wp-content/uploads/decrypt_filezilla_passwords.swf", "decrypt_filezilla_passwords_swf", "290", "100", "6", "#FFFFFF");
so.write("decrypt_filezilla_passwords");
</script>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2007/11/04/filezilla-decrypt/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Papervision3D Component</title>
		<link>http://www.crydust.be/blog/2007/07/02/papervision3d-component/</link>
		<comments>http://www.crydust.be/blog/2007/07/02/papervision3d-component/#comments</comments>
		<pubDate>Sun, 01 Jul 2007 23:59:06 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2007/07/02/papervision3d-component/</guid>
		<description><![CDATA[If you ever need to use 3D in flash you can now use the Papervision3D Component. Thank you John Grden! And Pierre Lepers created an event model for Papervision. Excellent work!]]></description>
			<content:encoded><![CDATA[<p>If you ever need to use 3D in flash you can now use the <a href="http://www.rockonflash.com/blog/?p=54">Papervision3D Component</a>. Thank you John Grden!</p>
<p>And Pierre Lepers created <a href="http://blog.lepers.info/7-7">an event model for Papervision</a>. Excellent work!</p>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2007/07/02/papervision3d-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlogReader in AsWing</title>
		<link>http://www.crydust.be/blog/2007/05/11/blogreader-in-aswing/</link>
		<comments>http://www.crydust.be/blog/2007/05/11/blogreader-in-aswing/#comments</comments>
		<pubDate>Fri, 11 May 2007 13:36:17 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2007/05/11/blogreader-in-aswing/</guid>
		<description><![CDATA[<p>The <a href="http://www.crydust.be/lab/aswing/BlogReader">AsWing Blogreader</a> was almost as easy to write as the <a href="http://www.crydust.be/blog/2006/12/26/blogreader/">Flex 2 BlogReader</a> it mimics.</p>]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.crydust.be/lab/aswing/BlogReader/">AsWing Blogreader</a> was almost as easy to write as the <a href="http://www.crydust.be/blog/2006/12/26/blogreader/">Flex 2 BlogReader</a> it mimics.</p>
<p>Right-click to view source.</p>
<span id="more-25"></span>
<p>The only downside was that it didn&#8217;t look exactly the same. <a href="http://www.aswing.org/">AsWing</a> has an excellent pluggable look and feel system. You can even change it at runtime!</p>
<p>So I proceeded to create a <a href="http://www.crydust.be/lab/aswing/BlogReader2/">Flex 2 Lookalike</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2007/05/11/blogreader-in-aswing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Trace Output on Linux with Flash Player 9</title>
		<link>http://www.crydust.be/blog/2007/05/06/trace-output-on-linux-with-flash-player-9/</link>
		<comments>http://www.crydust.be/blog/2007/05/06/trace-output-on-linux-with-flash-player-9/#comments</comments>
		<pubDate>Sun, 06 May 2007 15:48:04 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2007/05/06/trace-output-on-linux-with-flash-player-9/</guid>
		<description><![CDATA[<p>Tracing on linux is hard. The official docs are wrong and multiple blogs contradict each other.</p>]]></description>
			<content:encoded><![CDATA[<p>Tracing on linux is hard. The official docs are wrong and multiple blogs contradict each other.</p>
<span id="more-19"></span>
<p>To trace to a file in linux you&#8217;ll need the <a href="http://www.adobe.com/support/flashplayer/downloads.html#fp9">debug player</a>. Copy <em>flashplayer.xpt</em> and <em>libflashplayer.so</em> to <em>~/.mozilla/plugins</em>. If you use the standalone player, use the debug one. Place your <em>mm.cfg</em> in your home directory. Your <em>flashlog.txt</em> will spawn in the <em>~/.macromedia/Flash_Player/Logs</em> directory. There is no need to create this directory, flash handles this for you.</p>

<p>Reference: <a href="http://zomgforeelz.blogspot.com/2007/04/trace-output-on-linux-with-flash-player.html">Chris Hill&#8217;s blogpost</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2007/05/06/trace-output-on-linux-with-flash-player-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash player 9 for linux</title>
		<link>http://www.crydust.be/blog/2007/01/17/flash-player-9-for-linux/</link>
		<comments>http://www.crydust.be/blog/2007/01/17/flash-player-9-for-linux/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 12:44:23 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2007/01/17/flash-player-9-for-linux/</guid>
		<description><![CDATA[Flash Player 9 For Linux (x86) has gone gold.]]></description>
			<content:encoded><![CDATA[<a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash&#038;P2_Platform=Linux">Flash Player 9 For Linux (x86)</a> has gone gold.]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2007/01/17/flash-player-9-for-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOS Flash Log Tail</title>
		<link>http://www.crydust.be/blog/2006/12/17/sos-flash-log-tail/</link>
		<comments>http://www.crydust.be/blog/2006/12/17/sos-flash-log-tail/#comments</comments>
		<pubDate>Sun, 17 Dec 2006 19:37:55 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2006/12/17/sos-flash-log-tail/</guid>
		<description><![CDATA[<p>At work I use <a href="http://sos.powerflasher.de/english/english.html"><acronym title="SocketOutputServer">SOS</acronym></a> in conjunction with the <a href="http://www.as2lib.org/documentation/articles/as2lib_logging_api">As2lib Logging API</a> to log messages from flash. This works very well, except for the odd legacy program that uses the trace command for logging. This is where the flash debug player comes in handy.</p>]]></description>
			<content:encoded><![CDATA[<p>At work I use <a href="http://sos.powerflasher.de/english/english.html"><acronym title="SocketOutputServer">SOS</acronym></a> in conjunction with the <a href="http://www.as2lib.org/documentation/articles/as2lib_logging_api">As2lib Logging API</a> to log messages from flash. This works very well, except for the odd legacy program that uses the trace command for logging. This is where the flash debug player comes in handy.</p>

<span id="more-4"></span>

<p>To use this feature I <a href="http://www.adobe.com/support/flashplayer/downloads.html#uninstaller">uninstalled the flash player</a> and installed the <a href="http://www.adobe.com/support/flashplayer/downloads.html#fp9">flash debug player</a>.</p>
<p>Then I wrote a batch file to create the required mm.cfg file for me.</p>

<pre class="code-dos">@echo off
set mmcfgfile=&quot;%HOMEDRIVE%%HOMEPATH%\mm.cfg&quot;
set logfile=&quot;%APPDATA%\Macromedia\Flash Player\Logs\flashlog.txt&quot;
echo ErrorReportingEnable=1        &gt;  %mmcfgfile%
echo TraceOutputFileEnable=1       &gt;&gt; %mmcfgfile%
echo MaxWarnings=0                 &gt;&gt; %mmcfgfile%
echo TraceOutputFileName=%logfile% &gt;&gt; %mmcfgfile%
echo Done.</pre>

<p>After which I manually set the flashLog path in SOS to <kbd>C:\Documents and Settings\<em>username</em>\Application Data\Macromedia\Flash Player\Logs\flashLog.txt</kbd>. It doesn&#8217;t support the <var>%APPDATA%</var> environment variable.</p>

<p><img id="image6" src="http://www.crydust.be/blog/wp-content/uploads/sos-flash-log-tail-1.png" alt="Screenshot SOS Flash Log Tail Config menuitem" width="341" height="158"  />
<img id="image7" src="http://www.crydust.be/blog/wp-content/uploads/sos-flash-log-tail-2.png" alt="Screenshot SOS Flash Log Tail Config window" width="400" height="250" /></p>

<p>Also see <a href="http://www.digitalflipbook.com/archives/2005/07/trace_from_the.php">Trace from the browser, using standard trace()</a> by Mark Walters.</p>
<p>Also see <a href="http://jpauclair.net/2010/02/10/mmcfg-treasure/">AS3 hidden treasure in the mm.cfg file. Revealing and documenting many Flash secrets!</a> by Jean-Philippe Auclair.</p>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2006/12/17/sos-flash-log-tail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
