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 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?
There are several advantages to a Shockwave Projector:
- It has all the advantages of a Stub Projector.
- Because ordinary projectors "unbundle" DLLs onto the Windows hard
drive at runtime, non-Shockwave projectors are slower to start and require
write access to the user's hard drive. Shockwave projectors don't include
the DLLs, so they don't need to be unbundled. (The DLLs do need to be available,
however). For more information, see Macromedia
Technote #13965 How to create a fast-start Director 7 stub projector and
Macromedia
TechNote #14431 How to create a fast-start Director 8 stub projector,
although I can't vouch for their accuracy or completeness.
- Shockwave Projectors are very small. Shockwave Projectors are under
200K, although they do require large (2MB) library files. The user may have
downloaded the libraries as part of a Shockwave installation, so you may not
need to ship those DLLs.
- Compared with a Shockwave piece running in a browser, there are none of
the Shockwave-induced security limitations when running a Shockwave Projector.
Q. What are the drawbacks to a Shockwave Projector?
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?
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?
See detailed notes below.
Q. Are Shockwave Projectors appropriate for CD-ROMs?
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?
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?
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
- Choose "
Create Projector...
"
from Director's File
menu.
- Set the projector type to "Shockwave", and set any other desired
options, using the "
Options
" button in the Create
Projector dialog box. For reasons not clear to me, sometimes the "Shockwave"
option is dimmed. See the "The Super Secret No-Bake Method" below
in this case.
- Select "STUB.DIR" in the left hand side file browser window
and Add it to the list of files to be included on the right hand side.
Do NOT add any other files to the Projector.
- Name your Projector and Save it.
- See the instructions below for including the right libraries.
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:
- Copy the Projec32.skl file from the folder where Director is installed to
a new folder
- 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).
- 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).
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.
- 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:
- 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.
- 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).
- 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.
- 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
- 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.
- Copy the Xtras folder into the same folder as the Projector (MyProj.EXE
on Windows or MyProj on the Mac).
- Put mymovie.dir (or whatever movie you specified in the Movie01 setting
in the INI file) in the same folder as the projector.
- 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.
- 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
Copyright © 1996-2002. Zeus Productions. All Rights Reserved.