Whenever the content earlier to Director 11 is played, Adobe Shockwave Player needs to understand the version of the content to enable smooth playback of that content. For this purpose a new and efficient approach is adopted.
The method adopted for the interim approach helps users play content created for Shockwave 10 on a computer with the Shockwave 11 player. To facilitate this, a new parameter called playerVersion has been introduced for HTML pages containing the Shockwave file. The values set for this parameter decide the Shockwave player that will be used to play the content. If Shockwave 10 is specified, Shockwave 11 transparently downloads Shockwave 10.4.0.025 to the user's computer and plays the file.
This approach provides web developers with sufficient time to migrate their content from Shockwave 10 to the latest version before the support for this feature is withdrawn. The duration of this support depends on the data providing information on Director 11 - Shockwave 11 adoption, and any other business reasons.
The support for backward compatibility is available only on Windows.
A new parameter called playerVersion has been introduced for HTML pages containing a Shockwave file. The values set for this parameter decide the version of the Shockwave player that will play the content. The values, corresponding to the Shockwave versions, must be set to either 10 or 11. A value lesser than 11 is reset to10 and a value greater than or equal to 11 is reset to 11. When a value is not set, the web page will attempt to play the file in the Shockwave 10 player.
When developers insert Shockwave files into HTML pages using HTML editors like Dreamweaver, they must set this parameter accordingly. For Shockwave content developed using Director 11 to play as intended, developers must set the playerVersion to 11. When a value has not been set, the content will try to play the content in the Shockwave 10 player, and the following error dialog is displayed.

Shockwave backward compatibility matrix
|
Authored Content |
Shockwave player that will play the content after auto-updating to 11. |
1 |
Shockwave 10 content with playerVersion parameter set to 11 |
Content will play on Shockwave 11 |
2 |
Shockwave 11 content with playerVersion parameter set to 11 |
3 |
Shockwave 10 content without playerVersion parameter |
Content will play on Shockwave 10.4.0.025. |
4 |
Shockwave 10 content with playerVersion parameter set to 10 |
5 |
Shockwave 11 content without playerVersion parameter |
Content will try to load using the default Shockwave 10 player and will fail throwing an error dialog.(Fig.1) |
6 |
Shockwave 11 content with playerVersion parameter set to 10 |
The Shockwave installation Process
When the user launches Shockwave content from a browser, the Shockwave 11 ActiveX control is downloaded to the <%System%>/Adobe/Shockwave11 folder. If the HTML page does not specify the playerVersion as 11, the Shockwave 10.4.0.025 ActiveX control is transparently downloaded and installed in the <%System%>/Macromed/Shockwave10 folder. This installation overwrites any earlier version of Shockwave that is present on the system, and corresponding Adobe Xtras.
After both the above players are installed, they will co-exist. This is a valid public usage scenario.
The Shockwave auto-update mechanism installs Shockwave 11 only. The Shockwave 10.4.0.025 player is installed only when the user tries to download Shockwave 10 content.
Note:
The 10.4.0.025 player has features that were supported by the previous Shockwave 10 installer (10.3.0.024). Any legacy bug fix or enhancement made after the release of 10.3.0.024 is supported by the Shockwave 11 player only.
Auto-download of Xtras for Shockwave 10 and Shockwave 11
- Xtras downloaded by Shockwave 11 are downloaded to the <%System%>/Adobe/Shockwave11/Xtras folder
- Xtras downloaded by Shockwave 10 are downloaded to the <%System%>/Macromed/Shockwave10/Xtras
The above paths are valid for custom Xtras also.
Content creators are not allowed to use Xtras (Adobe or custom Xtras) across versions of Director and hence, any confusion with auto-download of Xtras is avoided. For example:
Allowed cases:
Content created in Director 11 can use only Xtras corresponding to this version. This is true for other versions of Director too.
Disallowed cases:
Content created in Director 11 cannot use Xtras of earlier versions. This is true for other versions of Director too.
How the playerVersion parameter should be added to a HTML page?
Internet Explorer:
<OBJECT classid="clsid:233C1507-6A77-46A4-9443-F871F945D258"
codebase=http://download.macromedia.com/pub/Shockwave/cabs/director/sw.cab#version=11,0,0,0 ID=DirectorTutorial2 WIDTH=640 HEIGHT=480 VIEWASTEXT>
<PARAM name=src value="DirectorTutorial2.dcr">
<PARAM NAME=swStretchStyle VALUE=fill>
<PARAM name=swRemote value="swSaveEnabled='true' swVolume='true' swRestart='true' swPausePlay='true' swFastForward='true' swContextMenu='true' ">
<PARAM name=playerVersion value=11>
<PARAM NAME=bgColor VALUE=#FFFFFF>
</OBJECT>
Fire-fox:
<embed src="http://siv.macromedia.com/test/buttons.dcr" bgcolor="#FFFFFF"
width="558" height="168"
swremote="swSaveEnabled='true' swVolume='true' swRestart='true'
swPausePlay='true' swFastForward='true' swContextMenu='true' "
swstretchstyle="none" type="application/x-director" playerVersion="11"
pluginspage="http://www.macromedia.com/Shockwave/download/" >
</embed>
Note:
Content created using Director 11 will have this parameter mentioned in all the publish templates by default, and any modification to a lower version results in an error message (Fig.1).
Shockwave 10 content can use the benefits of Shockwave 11 functionality. However, the following points have to be noted for this case.
- Physics will continue to use the Havok Xtra as in Shockwave 10.
- In 3D, if the content uses an undocumented side-effect for frame-buffer blending (multi-texturing), this will not work on the Shockwave 11 DirectX 9 renderer. Using a Shockwave 10 movie directly on Shockwave 11 (on the DX9 renderer) may lead to undesirable artifacts.
Workaround: Users must explicitly specify backward compatibility mode in movie scripts by setting the multi-texturing property.
To reproduce Shockwave 10 behavior in Shockwave 11 using DirectX 9, set getRendererServices().multiTexturing = FALSE.
- Shockwave 11 supports Flash Player 9. When the user performs Flash Player version checks for earlier versions, the content will not play in Shockwave 11.
- Some movies use problems with text in Shockwave 10 to their advantage. Such text may have alignment issues in Shockwave 11. This is because these issues have been fixed in the latest version.
For example, in previous versions of Director, superscripts and subscripts were not displayed in a smaller font size. If the author had reduced the font size explicitly, then this content will render with an even smaller size in Shockwave 11.
- Some movies use undocumented side-effects of the rendering technology for text, specifically the way in which anti-aliasing was performed. If text anti-aliasing was not explicitly set in earlier versions of Director, then Shockwave 11 will not perform any kind of anti-aliasing on text.
Workaround: The appropriate anti-aliasing should be set in the content.
Serial Number |
Director MX 2004 anti-aliasing set |
Director 11 anti-aliasing set |
Director 11 Anti-alias Threshold |
1 |
Anti-alias All-Text |
GrayscaleLargerThan |
0 |
2 |
Anti-alias Larger Than |
GrayscaleLargerThan |
Value set previously |
3 |
None |
None |
NA |
- If content in earlier versions of Director used undocumented implementation details to fudge font substitution, this will no longer work with Shockwave 11.
- Shockwave 10 movies receive Unicode data when dealing with a multi-user Server through Shockwave 11. Similarly, the multi-user server receives Unicode data too. This can cause the movie to break.
Note:
Multi-user server is a discontinued product and is not supported by Adobe.
- Text Line height issues: The following compatibility issues are encountered between the old and the new text engine.
- The line height calculation has been changed and this could affect the text when playing content created in earlier versions.
- This will affect text published from previous versions on Director and played on the Shockwave 11 player.
Workaround: the line height has to be adjusted for proper rendering and the content has to be re-published from Director 11.
- File I/O Xtra issue while reading binary information: It is not possible to create a file using File-IO Xtra using UTF-8 encoding in Director 11. The readChar() and writeChar() methods are not supported by UTF-8 files. This can result in incorrect writing or reading Unicode data to a file.
- If the earlier Shockwave content uses an XML parser having high-ASCII characters, this will not play correctly on Shockwave 11.
Feedback:
If you have any questions or comments concerning this
article, please send a message to sujai.s@gmail.com
|