Zeus Productions Banner

Zeus Tech Note
Creating a Shockwave Projector

(This document last revised March 29, 2002)

Copyright © 1996-2002. Zeus Productions. All Rights Reserved.
Written by Bruce A. Epstein

Q. What is a "Shockwave Projector"?

A. A Shockwave Projector is a Director Projector that relies on external library files (i.e. DLLs on Windows or Lib files on the Mac). It can access these libraries from a local folder(such as on a CD-ROM) or from the Shockwave installation folder on the user's hard drive.A Shockwave Projector is a special type of Stub Projector.


Q. Why would I want to use a Shockwave Projector?

A. There are several advantages to a Shockwave Projector:


Q. What are the drawbacks to a Shockwave Projector?

A. If created improperly, or if you are missing the needed libraries, the user will be prompted to install Shockwave. The projector consists of an executable, plus additional library files, so you might want to hide the libraries when shipping them on a CD-ROM. There are various ways to hide these files depending on the operating system and your CD-ROM burning software.

See also the limitations of Stub Projectors in general.

Q. Does a Shockwave Projector perform as well as a standard projector?

A. Shockwave Projectors should perform better on Windows because the unbundling of the libraries does not need to be performed. On Macintosh, there shouldn't be much difference.


Q. How do I create a Shockwave Projector?

A. See detailed notes below.

Q. Are Shockwave Projectors appropriate for CD-ROMs?


A. Yes, because they start faster on Windows and don't copy temporary files to the Windows disk. You can see these temporary files in the folders called "TempFolder.aaa". "TempFolder.bbb", etc. in the C:\Windows\Temp folder. They are copied there temporarily while a projector runs and are deleted when the Projector quits. If the projector crashes, they are left there (occupying 2 MB+of disk space each time the Projector crashes). For similar reasons, Xtras should not be bundled into your projector.

Q. Does the user need Shockwave installed?


A. That depends.By including the libraries with the Shockwave Projector, as is practical on CD-ROM, your user does NOT need Shockwave installed. If you don't include the libraries and the user doesn't have Shockwave installed, he'll be prompted to download and install it.


Q. Are Shockwave Projectors appropriate for web-based applications?

A. Yes. By having your user download and install a small Shockwave Projector, you can skirt the security and other limitations of Shockwave pieces played within a browser. The user would also have to have Shockwave installed because you wouldn't ordinarily have them download the large libraries just for your project.


Creating a Shockwave Projector


The Basic Method:

Create a Stub.DIR file for your Shockwave Projector as described in the Stub Projector technote. Be sure to uncheck the "Include Xtra in Projector" checkboxes for all Xtras under Modify->Movie->Xtras because you don't want to bundle your Xtras into the Projector.

When Creating your Projector


Refer to the TechNote, "Creating Director Projectors for Mac and Windows" for tips on creating your actual projector.

The Super Secret No-Bake Method


This method of creating a Shockwave Projector avoids the problem with the "Shockwave"projector build option sometimes being dimmed (for reasons I haven't figured out) under File->Create Projector->Options.

Make sure you have a properly installed version of Director. If installing the D8.5 or D8.5.1 update, make sure you have a clean installation before running the updater. By default, the "folder where Director is installed" will be something like C:\Program Files\Macromedia\Director 8\ on Windows. On the Mac, it is something like "Director 8" on whatever disk you choose for installation.


On Windows:

  1. Copy the Projec32.skl file from the folder where Director is installed to a new folder


  2. Rename Projec32.skl to MyProj.EXE (you can name the EXE anything you want, but I strongly recommend using a name no longer than 8 characters; the .EXE extension is mandatory).


  3. Copy dirapi.dll, iml32.dll, msvcrt.dll, and Proj.dll from the folder where Director is installer into the projector's Xtras folder (on the Mac they can't be in the Xtras folder--they must be in the same folder as the projector itself. See Mac details below). You don't need Prjctrc.dll. I think it is used only for rebuilding a real projector using the projector build options. Note that these DLLs are not found in Director's Xtras folder; look for them in the same folder where Director is installed (along with Director.EXE).
  4. As I recall, D7 did not requite the Proj.dll file. Furthermore, in D7.0 (I'm not sure about D7.0.2), including the msvcrt.dll file along with your projector didn't help. For D7, the msvcrt.dll file had to be installed in the right Windows directory (in almost all cases, except very early versions of Windows 95, it was usually installed, so this wasn't a huge issue). As of D8, if not D7.0.2, Director Projectors will correctly access the msvcrt.dll file shipped with a projector, even if it isn't installed in the Windows System folder.

  5. Create a MyProj.INI file, as described below, with a simple text editor like NotePad. (The name must match the projector's .EXE name, but with an .INI extension). Don't use MS-Word to create or edit the INI file.

On the Macintosh:

  1. Copy the file "Projector Shockwave Resources" from the folder where Director is installed and rename it to MyProj (or some other file name). On the Mac, projectors don't use the EXE extension.

  2. Using a file editor, such as DropInfo or ResEdit, change the file's type from DsJt to APPL, and change the file's creator from MD03 to PJ03 (these file type and creator codes are case-sensitive).


  3. Look for these files where Director is installed:
    DPLib
    IMLLib
    MacromediaRuntimeLib
    ProjLib
    Copy these files to the same folder where the Projector is, not the Xtras folder (the Windows dirapi.dll, iml32.dll, msvcrt.dll, and Proj.dll files can go in the Xtras folder, but their equivalents on the Mac cannot). You can use a utility, such as ResEdit or Toast, to make the files invisible when the CD is burned. Or simply arrange the CD's window so that these files aren't readily apparent.


  4. Create the MyProj.INI file as described next (similar to the PC). If it doesn't work, be sure to re-save the INI file in SimpleText without PC CRLF characters. I think Windows tolerates a Mac-created INI file. If you do it right, you can use the same INI file on both platforms. It seems that on the Mac (but not Windows) the heading in the INI file must be [Movies] with a capital M, not [movies] with a lowercase m.

Creating the INI file

As a starting point, you can copy the Director.INI file from the folder where Director is installed (The D8 Director.INI file includes most of these options, but the D7 INI file does not). Make sure the following are the INI file. If using the Director.INI file as a template, remove the semicolon at the beginning of lines that you want to "uncomment" (the semicolon disables the line by "commenting it out"). Beware of capitalization as some settings are case-sensitive. Do NOT use spaces. Do not use FALSE in place of "0" or TRUE in place of "1". INI files don't recognize TRUE and FALSE the way Lingo does. For details on these settings, see Projector Build Options - The OTTO files for ways to configure a Stub Projector in D7 and D8.

Note that the fast-bake method does not require a STUB.DIR file at all. The first movie is determined by the Movie01 parameter in the INI file.

[Movies]
Movie01=mymovie


[Settings]
FullScreen=1
UseTitleBar=0
BackgroundAnimation=1
CenterStage=1
ResizeStage=0
SingleInstance=1
EscapeOK=1


[Lingo]
DisplayFullLingoErrorText=1
debugPlaybackEnabled=1


(debugPlaybackEnabled is available in D8.5 and later only. Set it to 0 to prevent someone from analyzing your movie from a projector. Set it to 1 to allow debugging while a projector is running)

Files to Include (Xtras, etc.) and Testing

  1. Copy Xtras from the Xtras folder where Director is installed to your Projector's Xtras folder. Delete authoring-only Xtras or other unneeded Xtras. A full discussion of the necessary Xtras is beyond the scope of this document. However, for example, if it says you need an Xtra for the Vector assets, then you need the "Flash Asset PPC" Xtra (or its equivalent on Windows). If it says you need an Xtra for the Text assets, you need the "TextAsset PPC" and "TextXtra PPC" Xtras (or Windows equivalent). If it says you need an Xtra for Font assets, you need the "Font Asset PPC" and "Font Xtra PPC" Xtras (or Windows equivalent). To use sound.queue and other sound Lingo, you need the Sound Control Xtra. You won't hear sounds without the "Sound Import Export" and "Mix Services" Xtras (even for internal sounds). You might also need the "SWA Streaming PPC Xtra" and "SWA Decompression PPC Xtra" (or Windows equivalent).Be sure to use the right Xtras (such as D8.5.1 Xtras) for the version of Director you are testing. For more information on Xtras, see Macromedia TechNote #16076: Director Xtras Functionality.

  2. Copy the Xtras folder into the same folder as the Projector (MyProj.EXE on Windows or MyProj on the Mac).


  3. Put mymovie.dir (or whatever movie you specified in the Movie01 setting in the INI file) in the same folder as the projector.

  4. Double-click the projector to test it. If any of the necessary files are missing, it might say "This application cannot run, Try restarting the computer" or "This application requires Shockwave 8.5. Click here to download it." If you get any such error messages, check for the right files and try again. Also see above for hints on what Xtras are needed if you get an error message about Xtras. Note that the "This application requires Shockwave" error message is a general error posted whenever a projector has trouble starting, so be careful about relying on it too much.


  5. If you add a bitmap file called MyProj.BMP to the same folder, the projector will use it as a splash screen while the projector starts up. This is probably still undocumented and unsupported and might not work on the Mac (maybe try a PICT file if a BMP doesn't work).




Home (Spotlight) | Table of Contents | Links | Contact Info

Place an Order | Products for Sale | Licensing | Downloads

TechNotes | FAQs | E-Mail Zeus | GuestBook | Glossary

[End of Page]

Copyright © 1996-2002. Zeus Productions. All Rights Reserved.