<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.m2osw.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Made to Order Software Corporation - C</title>
 <link>http://www.m2osw.com/taxonomy/term/188/all</link>
 <description></description>
 <language>en</language>
<item>
 <title>LLChatLib</title>
 <link>http://www.m2osw.com/node/415</link>
 <description>&lt;p&gt;LLChatLib is a C++&amp;nbsp;library which wraps the Second Life libraries and provides to the developer means of interfacing with a grid server.&lt;/p&gt;
&lt;p&gt;Features:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Logging in and out&lt;/li&gt;
    &lt;li&gt;Local chat, IMs and Group Chat&lt;/li&gt;
    &lt;li&gt;Friendship management (list, add and removal)&lt;/li&gt;
    &lt;li&gt;and more...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Check out the documentation &lt;a href=&quot;/mo_references_view/llchatlib_docs/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/node/415#comments</comments>
 <pubDate>Mon, 11 Jan 2010 06:25:23 +0000</pubDate>
 <dc:creator>Doug Barbieri</dc:creator>
 <guid isPermaLink="false">415 at http://www.m2osw.com</guid>
</item>
<item>
 <title>Push Data</title>
 <link>http://www.m2osw.com/swf_action_pushdata</link>
 <description>&lt;fieldset class=&quot;fieldgroup group-action&quot;&gt;&lt;legend&gt;SWF Action&lt;/legend&gt;&lt;div class=&quot;field field-type-content-taxonomy field-field-swf-action-type&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Category:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    Stack        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-typed-action&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Details:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    0        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-action-identifier&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Identifier:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    150        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-action-def&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Structure:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;pre&gt;
struct {
	unsigned char   f_type
	&lt;em&gt;&amp;lt;type&amp;gt;&lt;/em&gt;          f_data
} f_push_data[&lt;em&gt;&amp;lt;variable&amp;gt;&lt;/em&gt;];&lt;/pre&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-action-len&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Length:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    -1 byte(s)        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-action-stack&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Stack:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    push &amp;lt;variable&amp;gt; (a)        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-action-operation&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Operation:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;div&gt;a&lt;sub&gt;1&lt;/sub&gt; = f_data[0];&lt;a class=&quot;see-footnote&quot; id=&quot;footnoteref1_b6r0i22&quot; title=&quot;Notice that the first data in the action is the last accessible on your stack.&quot; href=&quot;#footnote1_b6r0i22&quot;&gt;1&lt;/a&gt;&lt;br /&gt;
push(a&lt;sub&gt;1&lt;/sub&gt;);&lt;br /&gt;
a&lt;sub&gt;2&lt;/sub&gt; = f_data[1];&lt;br /&gt;
push(a&lt;sub&gt;2&lt;/sub&gt;);&lt;br /&gt;
a&lt;sub&gt;3&lt;/sub&gt; = f_data[2];&lt;br /&gt;
push(a&lt;sub&gt;3&lt;/sub&gt;);&lt;br /&gt;
...&lt;br /&gt;
a&lt;sub&gt;n&lt;/sub&gt; = f_data[n];&lt;br /&gt;
push(a&lt;sub&gt;n&lt;/sub&gt;);&lt;/div&gt;

&lt;ul class=&quot;footnotes&quot;&gt;&lt;li class=&quot;footnote&quot; id=&quot;footnote1_b6r0i22&quot;&gt;&lt;a class=&quot;footnote-label&quot; href=&quot;#footnoteref1_b6r0i22&quot;&gt;1.&lt;/a&gt; Notice that the first data in the action is the last accessible on your stack.&lt;/li&gt;
&lt;/ul&gt;
        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-version&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Flash Version:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    4        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-nodereference field-field-see-also&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;See Also:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;a href=&quot;/swf_action_duplicate&quot;&gt;Duplicate&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item even&quot;&gt;
                    &lt;a href=&quot;/swf_action_pop&quot;&gt;Pop&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;a href=&quot;/swf_action_swap&quot;&gt;Swap&lt;/a&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;Push some immediate data on the stack. 	This action was introduced in V4.0. The supported data types 	vary depending on the version of the player you have. As many 	values as necessary can be pushed at once. The &lt;i&gt;f_push_data&lt;/i&gt; 	structure will be repeated multiple times as required. For 	instance, to push two strings on the stack at once, you would 	use the following code:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_action_pushdata&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_action_pushdata#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/579">Action</category>
 <category domain="http://www.m2osw.com/taxonomy/term/686">Stack</category>
 <pubDate>Sun, 03 Jan 2010 04:45:16 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">382 at http://www.m2osw.com</guid>
</item>
<item>
 <title>New Method</title>
 <link>http://www.m2osw.com/swf_action_newmethod</link>
 <description>&lt;fieldset class=&quot;fieldgroup group-action&quot;&gt;&lt;legend&gt;SWF Action&lt;/legend&gt;&lt;div class=&quot;field field-type-content-taxonomy field-field-swf-action-type&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Category:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    Objects        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-typed-action&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Details:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    0        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-action-identifier&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Identifier:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    83        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-action-def&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Structure:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;div&gt;&lt;em&gt;&amp;lt;n.a.&amp;gt;&lt;/em&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-action-len&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Length:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    0 byte(s)        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-action-stack&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Stack:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    pop 2 (s), pop 1 (i), pop i3 (a), push (o)        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-action-operation&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Operation:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;div&gt;s&lt;sub&gt;1&lt;/sub&gt; := pop();&lt;br /&gt;
s&lt;sub&gt;2&lt;/sub&gt; := pop();&lt;br /&gt;
i&lt;sub&gt;3&lt;/sub&gt; := pop();&lt;br /&gt;
for(idx := 4; idx &amp;lt;= i&lt;sub&gt;3&lt;/sub&gt; + 3; ++idx)&amp;nbsp;{&lt;br /&gt;
&amp;nbsp; a&lt;sub&gt;idx&lt;/sub&gt; := pop();&lt;br /&gt;
}&lt;br /&gt;
o := new s&lt;sub&gt;2&lt;/sub&gt;;&lt;br /&gt;
if (s&lt;sub&gt;1&lt;/sub&gt;.length &amp;gt; 0)&amp;nbsp;{&lt;br /&gt;
&amp;nbsp; o.s&lt;sub&gt;1&lt;/sub&gt;(a&lt;sub&gt;4&lt;/sub&gt;, a&lt;sub&gt;5&lt;/sub&gt;, a&lt;sub&gt;6&lt;/sub&gt;, ... , a&lt;sub&gt;(i3 + 3)&lt;/sub&gt;);&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; o.s&lt;sub&gt;2&lt;/sub&gt;(a&lt;sub&gt;4&lt;/sub&gt;, a&lt;sub&gt;5&lt;/sub&gt;, a&lt;sub&gt;6&lt;/sub&gt;, ... , a&lt;sub&gt;(i3 + 3)&lt;/sub&gt;);&lt;br /&gt;
}&lt;br /&gt;
push(o);&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-version&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Flash Version:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    5        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-nodereference field-field-see-also&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;See Also:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;a href=&quot;/swf_action_delete&quot;&gt;Delete&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item even&quot;&gt;
                    &lt;a href=&quot;/swf_action_deleteall&quot;&gt;Delete All&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;a href=&quot;/swf_action_duplicatesprite&quot;&gt;Duplicate Sprite&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item even&quot;&gt;
                    &lt;a href=&quot;/swf_action_getmember&quot;&gt;Get Member&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;a href=&quot;/swf_action_new&quot;&gt;New&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item even&quot;&gt;
                    &lt;a href=&quot;/swf_action_setmember&quot;&gt;Set Member&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;a href=&quot;/swf_action_declareobject&quot;&gt;Declare Object&lt;/a&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;Pop the name of a method (can be the empty string), pop an object&lt;a class=&quot;see-footnote&quot; id=&quot;footnoteref1_rjt6ezk&quot; title=&quot;Yes. This contradicts the definition above. I will have to confirm which is correct.&quot; href=&quot;#footnote1_rjt6ezk&quot;&gt;1&lt;/a&gt; (created with the &lt;a href=&quot;/swf_action_declareobject&quot;&gt;&lt;strong&gt;Declare&amp;nbsp;Object&lt;/strong&gt;&lt;/a&gt;,) pop the number of arguments, pop each argument, create a new object, then call the specified method (function &lt;em&gt;s&lt;sub&gt;1&lt;/sub&gt;&lt;/em&gt; if defined, otherwise function &lt;em&gt;s&lt;sub&gt;2&lt;/sub&gt;&lt;/em&gt;) as the constructor function of the object, push the returned value on the stack. This allows for overloaded constructors as in &lt;abbr class=&quot;mo-glossary mo-glossary-abbr&quot;  title=&quot;Object Oriented C&quot; lang=&quot;en&quot;&gt;C++&lt;/abbr&gt;.&lt;/p&gt;

&lt;ul class=&quot;footnotes&quot;&gt;&lt;li class=&quot;footnote&quot; id=&quot;footnote1_rjt6ezk&quot;&gt;&lt;a class=&quot;footnote-label&quot; href=&quot;#footnoteref1_rjt6ezk&quot;&gt;1.&lt;/a&gt; Yes. This contradicts the definition above. I will have to confirm which is correct.&lt;/li&gt;
&lt;/ul&gt;
</description>
 <comments>http://www.m2osw.com/swf_action_newmethod#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/695">Objects</category>
 <pubDate>Fri, 01 Jan 2010 12:43:55 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">375 at http://www.m2osw.com</guid>
</item>
<item>
 <title>Implements</title>
 <link>http://www.m2osw.com/swf_action_implements</link>
 <description>&lt;fieldset class=&quot;fieldgroup group-action&quot;&gt;&lt;legend&gt;SWF Action&lt;/legend&gt;&lt;div class=&quot;field field-type-content-taxonomy field-field-swf-action-type&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Category:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    Objects        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-typed-action&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Details:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    0        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-action-identifier&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Identifier:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    44        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-action-def&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Structure:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;div&gt;&lt;em&gt;&amp;lt;n.a.&amp;gt;&lt;/em&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-action-len&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Length:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    0 byte(s)        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-action-stack&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Stack:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    pop 1 (o), pop 1 (i), pop i2 (o)        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-action-operation&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Operation:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;div&gt;o&lt;sub&gt;1&lt;/sub&gt; := pop();&lt;br /&gt;
i&lt;sub&gt;2&lt;/sub&gt; := pop();&lt;br /&gt;
for (idx := 3; idx&amp;nbsp;&amp;lt;= i&lt;sub&gt;2&lt;/sub&gt; + 2; ++idx) {&lt;br /&gt;
&amp;nbsp; o&lt;sub&gt;idx&lt;/sub&gt; := pop();&lt;br /&gt;
}&lt;br /&gt;
o&lt;sub&gt;1&lt;/sub&gt; implements o&lt;sub&gt;3&lt;/sub&gt;, o&lt;sub&gt;4&lt;/sub&gt;, o&lt;sub&gt;5&lt;/sub&gt;, ... , o&lt;sub&gt;(i2 +2)&lt;/sub&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-version&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Action Flash Version:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    7        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-nodereference field-field-see-also&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;See Also:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;a href=&quot;/swf_action_castobject&quot;&gt;Cast Object&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item even&quot;&gt;
                    &lt;a href=&quot;/swf_action_declareobject&quot;&gt;Declare Object&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;a href=&quot;/swf_action_extends&quot;&gt;Extends&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item even&quot;&gt;
                    &lt;a href=&quot;/swf_action_instanceof&quot;&gt;Instance Of&lt;/a&gt;        &lt;/div&gt;
              &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;a href=&quot;/swf_action_typeof&quot;&gt;Type Of&lt;/a&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;This action declares an object as a sub-class of one or more interfaces. The syntax here is simple, the real implementation is quite unbelievably difficult to fathom.&lt;br /&gt;
&lt;br /&gt;
The following shows you how you can add an &lt;b&gt;implements&lt;/b&gt; 			of interfaces &amp;quot;A&amp;quot; and &amp;quot;B&amp;quot; to the class &amp;quot;C&amp;quot;. Notice that 			class &amp;quot;C&amp;quot; needs to already exist. Here we assume that all 			classes are defined in the global scope.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_action_implements&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_action_implements#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/579">Action</category>
 <category domain="http://www.m2osw.com/taxonomy/term/695">Objects</category>
 <pubDate>Wed, 30 Dec 2009 08:39:54 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">362 at http://www.m2osw.com</guid>
</item>
<item>
 <title>DefineFont2</title>
 <link>http://www.m2osw.com/swf_tag_definefont2</link>
 <description>&lt;fieldset class=&quot;fieldgroup group-swf-tag-info&quot;&gt;&lt;legend&gt;Tag Info&lt;/legend&gt;&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-number&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Number:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    48        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-content-taxonomy field-field-tag-swf-type&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Type:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    Define        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-version&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Flash Version:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    3        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-tag-def&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Structure:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;pre&gt;
struct swf_definefont2 {
	&lt;a href=&quot;/swf_struct_tag&quot;&gt;swf_tag&lt;/a&gt;			f_tag;		&lt;font color=&quot;green&quot;&gt;/* 48 or 75 */&lt;/font&gt;
	unsigned short		f_font2_id;
	unsigned		f_font2_has_layout : 1;
	if(version &amp;gt;= 6) {
		unsigned	f_font2_reserved : 1;
		if(version &amp;gt;= 7) {
			unsigned	f_font2_small_text : 1;
		}
		unsigned	f_font2_reserved : 1;
	}
	else {
		unsigned	f_font2_shiftjis : 1;
		unsigned	f_font2_unicode : 1;
		unsigned	f_font2_ansii : 1;
	}
	unsigned		f_font2_wide_offsets : 1;
	unsigned		f_font2_wide : 1;	&lt;font color=&quot;green&quot;&gt;/* always 1 in v6.x+ */&lt;/font&gt;
	unsigned		f_font2_italic : 1;
	unsigned		f_font2_bold : 1;
	if(version &amp;gt;= 6) {
		unsigned char	f_font2_language;
	}
	else {
		unsigned char	f_font2_reserved;
	}
	unsigned char		f_font2_name_length;
	unsigned char		f_font2_name[f_font2_name_length];
	unsigned short		f_font2_glyphs_count;
	if(f_font2_wide_offsets) {
		unsigned long		f_font2_offsets[f_font2_glyphs_count];
		unsigned long		f_font2_map_offset;
	}
	else {
		unsigned short		f_font2_offsets[f_font2_glyphs_count];
		unsigned short		f_font2_map_offset;
	}
	&lt;a href=&quot;/swf_struct_shape&quot;&gt;swf_shape&lt;/a&gt;		f_font2_shapes[f_font2_glyphs_count];
	if(f_font_info_wide) {
		unsigned short		f_font2_map[f_font2_glyphs_count];
	}
	else {
		unsigned char		f_font2_map[f_font2_glyphs_count];
	}
	if(f_font2_has_layout) {
		signed short		f_font2_ascent;
		signed short		f_font2_descent;
		signed short		f_font2_leading_height;
		signed short		f_font2_advance[f_font2_glyphs_count];
		&lt;a href=&quot;/swf_struct_rect&quot;&gt;swf_rect&lt;/a&gt;		f_font2_bounds[f_font2_glyphs_count];
		signed short		f_font2_kerning_count;
		&lt;a href=&quot;/swf_struct_kerning&quot;&gt;swf_kerning&lt;/a&gt;		f_font2_kerning[f_font2_kerning_count];
	}
};
&lt;font color=&quot;green&quot;&gt;/* DefineFont3 is the same as DefineFont2 */&lt;/font&gt;
typedef struct swf_definefont2 swf_definefont3;&lt;/pre&gt;

        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;It is common to use the &lt;a href=&quot;/swf_tag_definefont2&quot;&gt;&lt;strong&gt;&lt;b class=&quot;swf_tagname&quot;&gt;DefineFont2&lt;/b&gt;&lt;/strong&gt;&lt;/a&gt; tag in order to create an array of   shapes later re-used to draw strings of text on the screen. This tag &lt;b&gt;must&lt;/b&gt;   be used whenever a &lt;a class=&quot;swf_tagname&quot; href=&quot;/swf_tag_defineedittext&quot;&gt;&lt;strong&gt;DefineEditText&lt;/strong&gt;&lt;/a&gt;   references a font; and in that case it is suggested you include a full description   of the font with layouts.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_tag_definefont2&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_tag_definefont2#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/648">DefineEditText</category>
 <category domain="http://www.m2osw.com/taxonomy/term/646">DefineFont2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/673">DefineFont3</category>
 <category domain="http://www.m2osw.com/taxonomy/term/664">DefineFontAlignZones</category>
 <pubDate>Wed, 16 Dec 2009 09:30:54 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">279 at http://www.m2osw.com</guid>
</item>
<item>
 <title>The SSWF Project</title>
 <link>http://www.m2osw.com/swf_sswf_project</link>
 <description>&lt;p&gt;The SWF Reference by Alexis is part of the free SSWF project.&lt;/p&gt;
&lt;p&gt;This documentation is intended for people who want to program a Flash player, editor, or some similar tool handling Flash data.&lt;/p&gt;
&lt;p&gt;The project comes with a complete &lt;abbr class=&quot;mo-glossary mo-glossary-abbr&quot;  title=&quot;Object Oriented C&quot; lang=&quot;en&quot;&gt;C++&lt;/abbr&gt; library that is designed to greatly simplify the generation and loading of Flash files.&lt;/p&gt;

</description>
 <comments>http://www.m2osw.com/swf_sswf_project#comments</comments>
 <pubDate>Sun, 13 Dec 2009 08:27:36 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">262 at http://www.m2osw.com</guid>
</item>
<item>
 <title>Appendix A — The geometry in SWF — Edges</title>
 <link>http://www.m2osw.com/swf_appendix_a_edges</link>
 <description>&lt;p&gt;Edges are used to define a shape vector based and also coordinates       where images need to be drawn. The edges are always coordinates       from where ever your last point was to where ever you want the       next point to be (a little like a turtle in LOGO).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_appendix_a_edges&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_appendix_a_edges#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/581">End</category>
 <pubDate>Sun, 13 Dec 2009 08:02:03 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">259 at http://www.m2osw.com</guid>
</item>
<item>
 <title>SWF Any Filter (swf_any_filter)</title>
 <link>http://www.m2osw.com/swf_struct_any_filter</link>
 <description>&lt;fieldset class=&quot;fieldgroup group-swf-structure&quot;&gt;&lt;legend&gt;SWF Structure Info&lt;/legend&gt;&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-version&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Flash Version:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    8        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-structure&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;SWF Structure:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;pre&gt;&lt;a name=&quot;swf_filter_type&quot;&gt;&lt;font color=&quot;green&quot;&gt;/* the filter type */&lt;/font&gt;&lt;/a&gt;
struct swf_filter_type {
	unsigned char	f_type;
};

struct swf_filter_glow {
	swf_filter_type	f_type;		&lt;font color=&quot;green&quot;&gt;/* 0, 2, 3, 4 or 7 */&lt;/font&gt;
	if(f_type == GradientGlow || f_type == GradientBevel) {
		unsigned char		f_count;
	}
	else {
		f_count = 1;
	}
	&lt;a href=&quot;/swf_struct_rgba&quot;&gt;swf_rgba&lt;/a&gt;		f_rgba[f_count];
	if(f_type == Bevel) {
		&lt;a href=&quot;/swf_struct_rgba&quot;&gt;swf_rgba&lt;/a&gt;		f_highlight_rgba[f_count];
	}
	if(f_type == GradientGlow || f_type == GradientBevel) {
		unsigned char		f_position[f_count];
	}
	signed long fixed	f_blur_horizontal;
	signed long fixed	f_blur_vertical;
	if(f_type != Glow) {
		signed long fixed	f_radian_angle;
		signed long fixed	f_distance;
	}
	signed short fixed	f_strength;
	unsigned		f_inner_shadow : 1;
	unsigned		f_knock_out : 1;
	unsigned		f_composite_source : 1;
	if(f_type == Bevel) {
		unsigned		f_on_top : 1;
	}
	else {
		unsigned		f_reserved : 1;
	}
	if(f_type == GradientGlow || f_type == GradientBevel) {
		unsigned		f_passes : 4;
	}
	else {
		unsigned		f_reserved : 4;
	}
};

struct swf_filter_blur {
	swf_filter_type		f_type;	&lt;font color=&quot;green&quot;&gt;/* 1 */&lt;/font&gt;
	unsigned long fixed	f_blur_horizontal;
	unsigned long fixed	f_blur_vertical;
	unsigned		f_passes : 5;
	unsigned		f_reserved : 3;
};

struct swf_filter_convolution {
	swf_filter_type	f_type;		&lt;font color=&quot;green&quot;&gt;/* 5 */&lt;/font&gt;
	unsigned char	f_columns;
	unsigned char	f_rows;
	long float	f_divisor;
	long float	f_bias;
	long float	f_weights[f_columns &amp;times; f_rows];
	&lt;a href=&quot;/swf_struct_rgba&quot;&gt;swf_rgba&lt;/a&gt;	f_default_color;
	unsigned	f_reserved : 6;
	unsigned	f_clamp : 1;
	unsigned	f_preserve_alpha : 1;
};

struct swf_filter_colormatrix {
	swf_filter_type	f_type;		&lt;font color=&quot;green&quot;&gt;/* 6 */&lt;/font&gt;
	long float	f_matrix[20];
};

struct swf_any_filter {
	&lt;a href=&quot;#swf_filter_type&quot;&gt;swf_filter_type&lt;/a&gt;			f_fitler_type;
	&lt;a href=&quot;#swf_filter_blur&quot;&gt;swf_filter_blur&lt;/a&gt;			f_filter_blur;
	&lt;a href=&quot;#swf_filter_colormatrix&quot;&gt;swf_filter_colormatrix&lt;/a&gt;		f_filter_colormatrix;
	&lt;a href=&quot;#swf_filter_convolution&quot;&gt;swf_filter_convolution&lt;/a&gt;		f_filter_convolution;
	&lt;a href=&quot;#swf_filter_glow&quot;&gt;swf_filter_glow&lt;/a&gt;			f_filter_glow;
};
&lt;/pre&gt;

        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;A filter defines how to transform the objects it is attached to. The first byte is the filter type. The data following depend on the type. Because each filter is much different, they are defined in separate structures. You can attach a filter to an object using an ActionScript or the &lt;a class=&quot;swf_tagname&quot; href=&quot;/swf_tag_placeobject3&quot;&gt;&lt;strong&gt;PlaceObject3&lt;/strong&gt;&lt;/a&gt; tag.&lt;/p&gt;
&lt;p&gt;The following describes the different filters available since version 8.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_struct_any_filter&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_struct_any_filter#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/578">Display</category>
 <category domain="http://www.m2osw.com/taxonomy/term/581">End</category>
 <category domain="http://www.m2osw.com/taxonomy/term/662">PlaceObject3</category>
 <pubDate>Sun, 13 Dec 2009 04:32:03 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">242 at http://www.m2osw.com</guid>
</item>
<item>
 <title>PlaceObject2</title>
 <link>http://www.m2osw.com/swf_tag_placeobject2</link>
 <description>&lt;fieldset class=&quot;fieldgroup group-swf-tag-info&quot;&gt;&lt;legend&gt;Tag Info&lt;/legend&gt;&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-number&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Number:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    26        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-content-taxonomy field-field-tag-swf-type&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Type:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    Define        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-version&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Flash Version:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    3        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-tag-def&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Structure:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;pre&gt;
struct swf_placeobject2 {	&lt;font color=&quot;green&quot;&gt;/* and swf_placeobject3 */&lt;/font&gt;
	&lt;a href=&quot;/swf_struct_tag&quot;&gt;swf_tag&lt;/a&gt;			f_tag;		&lt;font color=&quot;green&quot;&gt;/* 26 or 70 */&lt;/font&gt;
	&lt;font color=&quot;green&quot;&gt;/* NOTE: the following flags can be read as one or two bytes also */&lt;/font&gt;
	if(version &amp;gt;= 8) {
		unsigned	f_place_reserved : 5;
		unsigned	f_place_bitmap_caching : 1;
		unsigned	f_place_blend_mode : 1;
		unsigned	f_place_filters : 1;
	}
	if(version &amp;gt;= 5) {
		unsigned	f_place_has_actions : 1;
	}
	else {
		unsigned	f_place_reserved : 1;
	}
	unsigned		f_place_has_clipping_depth : 1;
	unsigned		f_place_has_name : 1;
	unsigned		f_place_has_morph_position : 1;
	unsigned		f_place_has_color_transform : 1;
	unsigned		f_place_has_matrix : 1;
	unsigned		f_place_has_id_ref : 1;
	unsigned		f_place_has_move : 1;
	unsigned short		f_depth;
	if(f_place_has_id_ref) {
		unsigned short		f_object_id_ref;
	}
	if(f_place_has_matrix) {
		&lt;a href=&quot;/swf_struct_matrix&quot;&gt;swf_matrix&lt;/a&gt;		f_matrix;
	}
	if(f_place_has_color_transform) {
		&lt;a href=&quot;/swf_struct_color_transform&quot;&gt;swf_color_transform&lt;/a&gt;	f_color_transform;
	}
	if(f_place_has_morph_position) {
		unsigned short		f_morph_position;
	}
	if(f_place_has_name) {
		string			f_name;&lt;a class=&quot;see-footnote&quot; id=&quot;footnoteref1_0gyx03f&quot; title=&quot;Assuming that this PlaceObject2 references a DefineSprite, this name becomes the name of this instance of the sprite. This feature enables you to place the same DefineSprite multiple times in your display list each time using a different name.&quot; href=&quot;#footnote1_0gyx03f&quot;&gt;1&lt;/a&gt;
	}
	if(f_place_has_clipping_depth) {
		unsigned short		f_clipping_depth;
	}
	&lt;font color=&quot;green&quot;&gt;/* 3 next entries since v8.0 */&lt;/font&gt;
	if(f_place_filters) {
		unsigned char		f_filter_count;
		&lt;a href=&quot;/swf_struct_any_filter&quot;&gt;swf_any_filter&lt;/a&gt;		f_filter;
	}
	if(f_place_blend_mode) {
		unsigned char		f_blend_mode;
	}
	if(f_place_bitmap_caching) {
		&lt;font color=&quot;green&quot;&gt;/* WARNING: this is not defined in the Macromedia documentation&lt;br /&gt;		 * it may be that it was part of the blend mode whenever the person&lt;br /&gt;		 * who defined this byte was testing (I copied that from somewhere else!).&lt;br /&gt;		 */&lt;/font&gt;
		unsigned char		f_bitmap_caching;
	}
	&lt;font color=&quot;green&quot;&gt;/* since v5.0 */&lt;/font&gt;
	if(f_place_has_actions) {
		unsigned short		f_reserved;
		if(version &amp;gt;= 6) {
			unsigned long	f_all_flags;
		}
		else {
			unsigned short	f_all_flags;
		}
		&lt;a href=&quot;/swf_struct_event&quot;&gt;swf_event&lt;/a&gt;		f_event[&lt;i&gt;&amp;lt;variable&amp;gt;&lt;/i&gt;];
		if(version &amp;gt;= 6) {
			unsigned long	f_end;	&lt;font color=&quot;green&quot;&gt;/* always zero */&lt;/font&gt;
		}
		else {
			unsigned short	f_end;	&lt;font color=&quot;green&quot;&gt;/* always zero */&lt;/font&gt;
		}
	}
};&lt;/pre&gt;

&lt;ul class=&quot;footnotes&quot;&gt;&lt;li class=&quot;footnote&quot; id=&quot;footnote1_0gyx03f&quot;&gt;&lt;a class=&quot;footnote-label&quot; href=&quot;#footnoteref1_0gyx03f&quot;&gt;1.&lt;/a&gt; Assuming that this &lt;strong&gt;PlaceObject2&lt;/strong&gt; references a &lt;a href=&quot;/swf_tag_definesprite&quot;&gt;&lt;strong&gt;DefineSprite&lt;/strong&gt;&lt;/a&gt;, this name becomes the name of this instance of the sprite. This feature enables you to place the same &lt;strong&gt;DefineSprite&lt;/strong&gt; multiple times in your display list each time using a different name.&lt;/li&gt;
&lt;/ul&gt;
        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;This tag will be used to specify where and how to place an object   in the next frame. The &lt;a href=&quot;/swf_tag_placeobject&quot; class=&quot;swf_tagname&quot;&gt;&lt;b&gt;PlaceObject&lt;/b&gt;&lt;/a&gt;   is much different and is presented separately.&lt;/p&gt;
&lt;p&gt;The &lt;i&gt;f_depth&lt;/i&gt; field is used to indicate at which depth the character is   inserted in the current frame. There can be only one object per depth value   (thus a maximum of 65536 objects can appear on a single frame).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_tag_placeobject2&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_tag_placeobject2#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/579">Action</category>
 <category domain="http://www.m2osw.com/taxonomy/term/588">DefineButton</category>
 <category domain="http://www.m2osw.com/taxonomy/term/635">DefineButton2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/648">DefineEditText</category>
 <category domain="http://www.m2osw.com/taxonomy/term/644">DefineMorphShape</category>
 <category domain="http://www.m2osw.com/taxonomy/term/583">DefineShape</category>
 <category domain="http://www.m2osw.com/taxonomy/term/605">DefineShape2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/618">DefineShape3</category>
 <category domain="http://www.m2osw.com/taxonomy/term/638">DefineSprite</category>
 <category domain="http://www.m2osw.com/taxonomy/term/592">DefineText</category>
 <category domain="http://www.m2osw.com/taxonomy/term/578">Display</category>
 <category domain="http://www.m2osw.com/taxonomy/term/585">PlaceObject</category>
 <category domain="http://www.m2osw.com/taxonomy/term/609">PlaceObject2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/610">RemoveObject2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/624">Sprite</category>
 <category domain="http://www.m2osw.com/taxonomy/term/625">VideoFrame</category>
 <pubDate>Tue, 01 Dec 2009 08:10:31 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">208 at http://www.m2osw.com</guid>
</item>
<item>
 <title>string</title>
 <link>http://www.m2osw.com/swf_type_string</link>
 <description>&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-version&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Flash Version:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    1        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-number-integer field-field-used-by-pushdata&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Used by PushData Action:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    Available in PushData Action        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;A null terminated string of 8 bits characters (i.e. a C string.) You have to scan the string in order to skip it to the next element.&lt;/p&gt;
&lt;p&gt;Flash also makes use of Pascal Strings. Those strings start with a size. In all instance, the size of the string is defined on one byte (char). In this case, we declare the string with a construct as follow:&lt;/p&gt;
&lt;pre&gt;
  char f_string_size;
  char f_pascal_string[f_string_size];
&lt;/pre&gt;

</description>
 <comments>http://www.m2osw.com/swf_type_string#comments</comments>
 <pubDate>Mon, 30 Nov 2009 12:08:40 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">206 at http://www.m2osw.com</guid>
</item>
</channel>
</rss>


