|   Site Nav
css drop down menu by Css3Menu.com | Update Information  Update Information
Version WFS40p5 (affects only the Professional 
          version) --12/12/03 
          Got rid of the need to insert an 'on new' handler in every dynamic 
            behavior. Thank goodness. Now you never have to insert anything special 
            in your behaviors to make them dynamic.Added code to the wfsDestroyDynamicSprite 
            handler which zeros many properties. A discussion 
            on DirGames about dynamic sprite creation was very useful. Now 
            the wfsDestroyDynamicSprite handler sets the following properties: 
            sprite(elementSpriteNum).member = 0
 sprite(elementSpriteNum).rect = void
 sprite(elementSpriteNum).scriptInstanceList = []
 sprite(elementSpriteNum).stretch = FALSE
 sprite(elementSpriteNum).rotation = 0
 sprite(elementSpriteNum).color = paletteIndex( 255 )
 sprite(elementSpriteNum).forecolor = 255
 sprite(elementSpriteNum).backcolor = 0
 sprite(elementSpriteNum).visible = 1
Added the very useful wfsAttachBehavior 
            handler. Thanks to Robert Tweed and Brennan Young for this.The wfsCreateBehavior handler is now wfsCreateBehaviorPrivate. If 
            you want to attach your own behaviors to sprites, use wfsAttachBehavior. 
            It is deluxe. The wfsCreateBehaviorPrivate handler is used privately 
            by the "Script Writer" handlers. Don't use it.The discussion on DirgGames about dynamic sprite creation was useful 
            in learning about known bugs and issues concerning dynamic sprite 
            creation. I have added a section to 
            the "Dynamism" document that lists them. Version WFS40p6 (affects only the Professional version) 
          --22/12/03 
          Bug fix: The "Script Writer" handler 
            wfsWriteMultiSpriteFamily 
            is supposed to be capable of letting you point it at a multi-sprite 
            x that has ancestors and descendants. It should then write code to 
            make a dynamic copy of x and its descendants. This was not functioning 
            properly if x had ancestors. It was functioning OK if x was a root, 
            but not if x has ancestors. It now works fine. The problem was with 
            the private wfsWriteWindowManagerProperties and wfsWriteMenuManagerProperties 
            handlers in the "Script Writer" script.Bug fix: wfsAttachBehaviorPrivate, which is private 
            to the "Script Writer" handlers was not working right if 
            the attached behavior contained an 'on new' handler. This handler 
            also now calls any 'on new' handler that the behavior may have.Doc fix: It is now documented, concerning wfsCreateElement 
            in the "Dynamism" script, that you can specify, or not, 
            the doNotCreateNewMember parameter as part of the memberParams parameter.New feature: wfsCreateWindowManager 
            and wfsCreateMenuManager 
            in the "Dynamism" script now allow you to specify (or not) 
            the doNotCreateNewMember parameter. So that wfsCreateWindowManager 
            and wfsCreateMenuManager do not, now, perforce, create a copy of the 
            manager bitmap. Version WFS45p1 and s1 (affects WFS 4.0 
          Standard and Pro) --14/4/04 If you are using MX 2004 or later, you need this upgrade. If you are 
          using Director 8.5 or MX, you may use WFS40p6 or this upgrade. This 
          upgrade does not work with Director 8 (use WFS 4.0 or earlier in Director 
          8).  If you are already using WFS 4.0 in a project and want to upgrade the 
          project, see Notes to Users of Previous Versions 
          for instructions. WFS 4.5 is just to make WFS compatible with DMX 2004. It addresses 
          the below issues: 
          Bug fix: Director MX 2004 introduced a bug in the 
            WFS code. WFS occassionally checks to see whether a particular member 
            is present in a cast. What I had been doing to check this was 'if 
            member("whatever").memberNum > 0'. This evaluated to 
            true if the member was present and -1 if the member was not present. 
            However, in DMX 2004, the above code results in a script error if 
            the member is not present. See Thomas 
            Higgins's remarks on this. WFS now uses the private new wfsMemberExists 
            handler in the "1: PrepareMovie" movie script to check for 
            the existence of members. This handler works in 8.5, MX, and DMX 2004.
 The above script error in 4.0 only arises if you are authoring with 
            DMX 2004 or later. It doesn't arise in 8.5 or MX, and the DCR or projector 
            only has problems if, again, you authored in MX 2004 using WFS 4.0.
 
 The new WFS wfsMemberExists handler is used in the following WFS scripts:
 1: PrepareMovie
 Dynamism
 Script Writer
 6: Handle
 Drag Element
 
 
Code Migration: Director MX 2004 introduces the 
            makeScriptedSprite and removeScriptedSprite commands. These replace 
            the old method of dynamic sprite creation (puppetSprite). I had a 
            talk with Thomas Higgins of Macromedia about these commands because 
            there was some question whether the introduction of these commands 
            makes dynamic sprite creation/destruction officially supported by 
            Macromedia. I I refer you to my posts on the WFS 
            list on this matter. The subject is "new makeScriptedSprite 
            command in Director MX 2004". 
 The upshot is that the makeScriptedSprite and removeScriptedSprite 
            commands are, under the hood, using the old puppetSprite implementation, 
            ie, dynamic sprite creation is no more supported than it was before. 
            However, talking with folks at Macromedia about this, it seems like 
            the introduction of the makeScriptedSprite/removeScriptedSprite commands 
            is the beginning of a process that may culminate in true 
            dynamic sprite creation support in Director sometime down the road, 
            and there are already subtle differences. In any case, I have created 
            WFS 4.5 which uses the makeScriptedSprite/removeScriptedSprite commands 
            rather than puppetSprite in the interests of keeping WFS current. 
            Actually, the WFS 4.5 code checks which version of Director you're 
            using and uses makeScriptedSprite/removeScriptedSprite if you're using 
            DMX 2004 or greater, and uses puppetSprite if you're using a version 
            of Director earlier than DMX 2004.
 
 The changes I've made:
 
              wfsCreateSprite, in the 'Dynamism' 
                script, now uses makeScriptedSprite if the Director version you're 
                using is DMX 2004 or greater.wfsCreateMenuItemHighlight in the 'Dynamism' 
                script, now uses makeScriptedSprite if the Director version you're 
                using is DMX 2004 or greater.wfsDestroyDynamicSprite in the 'Dynamism' 
                script, now uses removeScriptedSprite if the Director version 
                you're using is DMX 2004 or greater. Version WFS48p1 This version affects only the Pro version, ie, the "Dynamism" and
          "Script Writer" scripts. 
          The wfsCreateWindowManager handler
            in the "Dynamism" script now includes the boolean CenterWindow
            parameter (third parameter). If you have called wfsCreateWindowManager,
            you will
            need to update your parameters because wfsCreateWindowManager is
            the third
            parameter
          now. Insert a boolean as the third parameter which says whether the
          window is to be initialiy centered or not.4.8 fixes a bug in the
            way that behaviors are attached dynamically. Previously, in 4.0 and
            4.5, when a behavior was attached
          dynamically,
          in some cases,
          the beginSprite handler of not only that behavior
        but other behaviors attached to the sprite was run. The Attacher behaviors
          such as wfsAttachCloseMyWindow have been upgraded so that they use
          only wfsAttachBehavior, not wfsAttachBehaviorPrivate.
          In fact 4.8 makes wfsAttachBehaviorPrivate obsolete (but is still in
          the "Dynamism" script).I have done a lot of work on the Script
            Writer routines so that the code they generate is a lot more compact
          and easy to understand.I have also added some Script Writer routines
            that generate code for various purposes, ie, the Script Writer handlers
            make using the "Dynamism" API
          much much easier. 4.8 has also revamped dynamic creation so that you
              can create dynamic copies of dynamic sprites, whereas 4.0 and 4.5
              only let you make dynamic
            copies of static sprites.
 Version WFS48p3 and WFS48s3 (20/05/04) This version affects both the Pro and Standard versions. 
          Introduced a new feature. You can now name elements via the "4:
            Window/Menu Element" behavior. Wrote several handlers to support
            operations involving
              element names, as documented in the the "4:
              Window/Menu Element" doc. This feature makes refering
              to dynamic sprites much easier. This feature involves code changes
              in various scripts: 
			  
			  1: prepareMovieDynamism (Pro version only)Script Writer (Pro version only)3: Window ManagerMenu Manager4: Window/Menu ElementMenu Item HighlightAdded some public handlers to the Close
          A Window behavior.To upgrade existing projects, 
		    
		      copy the new .cst file to the Libs folder
		    of your Director installation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Open Director and your project .DIR fileCreate a temporary
		    new cast.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Put the above scripts in the temporary cast from the
		    Library Palette.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Click on a WFS script in the temporary cast. Edit>Copy
		    Cast Member to copy the member.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Click on the corresponding script
		    in your cast.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Edit>Paste to paste the member over the old version.Do that for each of the WFS scripts.Delete the temporary cast.To initialize all the "4: Window/Menu Element" behaviors properly, select all sprites that have the "4: Window/Menu Element" behavior attached to them. Go to the Behavior tab of the Property Inspector and open the Parameter Dialog box. Click OK. Fixed a bug in the wfsGenerateManagerName handler in the "Dynamism" script.
		    The bug caused the handler to generate a name the same as an already
		    instantiated manager, in some cases.Fixed a bug in the Script Writer script. The bug causes a script
            error when running the Script Writer handlers, in some cases.Various documentation corrections.   |