@OPTIONS table
The following tags are currently recognized by @OPTIONS:
LockSettings:EnableArgs
tag below which allows you to control console argument handling in
Hollywood 11 and up.
SoftTimer:True, Hollywood will use a low resolution
software timer instead of the high resolution hardware timer. This
is sometimes necessary because with certain older Windows XP hardware,
the timer may occassionally leap which can cause unexpected behaviour.
This tag is only supported on the Windows platform. (V5.3)
NoCommodity:True, Hollywood will not add itself to the
system's list of commodities on AmigaOS. This tag is only supported
on AmigaOS and compatibles. Defaults to False. (V6.0)
RegisterApplication:True, Hollywood will register itself as an
AmigaOS 4 application on startup through application.library. This
is necessary if you want to call functions that deal with AmigaOS 4
application objects like SendApplicationMessage()
or if you want your application to appear in AmiDock. To change
the icon that is shown in AmiDock, use the @APPICON
preprocessor command. This tag is only available on AmigaOS 4. Defaults
to False. (V6.0)
DockyContextMenu:RegisterApplication has been set to
True and it is obviously only supported on AmigaOS 4. (V6.0)
DockyBrush:DockyBrush tag
can come in handy in one of the following situations: First, DockyBrush
allows you to specify an arbitrary brush and thus you are not restricted
to the predefined sizes made available by @APPICON.
Instead, your application's docky icon can be of any size you want.
Second, if you use DockyBrush Hollywood will automatically create
an app docky for you whereas using @APPICON would
create a standard docky (as long as your docky does not have a context
menu attached). See AmiDock information for more details on the difference between app and standard dockies.
This tag is only recognized if RegisterApplication has been set to
True and it is obviously only supported on AmigaOS 4. (V6.0)
NoDocky:True, Hollywood will not show your application
in AmiDock. This tag is useful if you would like to have an invisible
application that can use all the application functionality like the
message mechanism and Ringhio but doesn't appear in AmiDock. This tag
is only recognized if RegisterApplication has been set to True and
it is obviously only supported on AmigaOS 4. (V6.0)
Encoding:
#ENCODING_UTF8:
#ENCODING_ISO8859_1:#ENCODING_ISO8859_1 will put Hollywood in legacy
mode and should make your script fully compatible with Hollywood versions older than 7.0.
However, since ISO 8859-1 mode has several drawbacks, it isn't recommended to use this
legacy mode permanently. Instead, you should adapt your scripts to work correctly in
Unicode mode.
Note that it isn't recommended to use #ENCODING_ISO8859_1 because Hollywood will only run correctly
on locales compatible with Western European languages then. You should always use #ENCODING_UTF8
because this will put Hollywood in Unicode mode and make sure that Hollywood runs correctly
on all locales. Since #ENCODING_UTF8 is also the default, you normally don't have to use
the Encoding tag at all.
The encoding you specify here is automatically set as the default encoding for both the text and string library using SetDefaultEncoding(). This means that all functions of the string and text libraries will default to this encoding. (V7.0)
NoChDir:
EnableDebug:False, the commands DebugPrint(),
DebugPrintNR(), Assert(), DebugOutput()
and @WARNING will be ignored. This allows you to globally disable
debugging functions with just a single call. When compiling scripts Hollywood will
set EnableDebug to False by default. This is the recommended setting because it will
prevent people from reverse engineering your projects because they won't be able to activate
debug output by specifying the ‘-debugoutput’ console argument. When running
scripts, EnableDebug defaults to True to allow you to debug your scripts. (V7.1)
GlobalPlugins:LIBS:Hollywood.
Executables compiled by Hollywood, however, will only look for plugins in the same directory
as the executable by default. If you want your compiled executables to look for plugins also in the
LIBS:Hollywood directory, set the GlobalPlugins tag to True. Setting this and the
AutoLoadPlugins tag to True will make executables compiled by Hollywood load all plugins
in LIBS:Hollywood on startup as well, not just the ones in the executable's directory.
Obviously, this tag is only supported on AmigaOS and compatible platforms. Defaults to False. (V9.0)
DPIAware:True, Hollywood will start in DPI-aware
mode. This means that it will not ask the OS to automatically scale Hollywood to fit to the
monitor's DPI. If DPIAware is set to False (which is also the default), Hollywood will
automatically apply scaling on high-DPI monitors so that its display doesn't appear too small
on them. For example, a display of 640x480 pixels will appear really tiny on a high-DPI monitor.
By automatically adapting displays to the monitor's DPI, Hollywood will try to avoid this. However,
that scaling can make displays appear blurry on high-DPI monitors. So if you don't want that, set
DPIAware to True. Note, however, that you'll need to take care of making sure that
your display appears correctly on high-DPI monitors then. You can do this by setting the
SystemScale tag in the @DISPLAY preprocessor command, for example. Note
that DPIAware is only supported on Windows. On all other platforms Hollywood is always DPI-aware.
(V9.0)
ConsoleMode:True, Hollywood will compile an executable that runs in console
mode on Windows or macOS. On Windows, there is a distinction between console and non-console
programs so if you want to compile a program for the console, you will explicitly have to tell
Hollywood to do so. You can do that setting this tag to True. On macOS, all applications that have
a graphical user interface are normally stored inside a so-called app bundle, which is basically
a directory containing the app's main executable as well as some resources like icons and a
description of the app. When compiling for macOS and ConsoleMode is set to True,
Hollywood won't create such an app bundle for you but instead just a single macOS executable for
console use will be compiled. Note, however, that on macOS executables that aren't stored inside an
app bundle shouldn't try to use GUI features like opening windows etc., they should be strictly
limited to the console. Also note that on arm64 macOS you must codesign executables compiled
using the ConsoleMode option because they will always be monolithic (see the description
of the ‘-forcemonolithic’ console argument for more information). Note that this tag
is obviously only handled when compiling executables for Windows or macOS with Hollywood.
Otherwise it is simply ignored. Defaults to False. (V9.0)
Quiet:True, Hollywood won't show its traditional startup output but
will start quietly. When running Hollywood applets that have Quiet set to True using
the Hollywood Player for Amiga and compatibles, the player also won't open its startup
window. Defaults to False. (V9.0)
UseWPA:True, Hollywood will use device-independent
bitmaps instead of standard OS bitmaps. Device-independent bitmaps are normally slower
than the standard OS bitmaps with the exception of WinUAE and AROS which both can lock
OS bitmaps only pretty inefficiently. Thus, on WinUAE and AROS, UseWPA is activated
automatically to speed up Hollywood. If you want to turn this off, set UseWPA to False.
Please note: UseWPA is a low-level argument which is primarily here for testing purposes.
Normally, you should not have to deal with this directly. This tag is only supported on
AmigaOS. Defaults to False, except on WinUAE and AROS where it defaults to True. (V11.0)
NoPlananarama:True. Of course this
tag is only meaningful on AmigaOS 3. Defaults to False. (V11.0)
EnableArgs:EnableArgs
tag to True. If you do that, programs compiled by Hollywood will handle Hollywood's
standard console arguments which makes it possible, for example,
to change the display mode from the command line by passing either the ‘-window’
or the ‘-fullscreen’ arguments and it's also possible to configure various other
things like window style, backfill settings, and so on. If you want to allow all that,
set EnableArgs to True. Defaults to False. (V11.0)
AutoLoadPlugins:True. This tag also affects compiled programs. By
default, programs compiled by Hollywood won't load any plugins that are stored in the
same directory as the program's executable unless they have been declared as required
using the @REQUIRE preprocessor command. If you don't want that, set
this tag to True. In that case, all plugins that are stored in the same directory as your
program's executable will automatically be loaded on startup. This can be useful if you
want to allow the user of your program to dynamically add or remove plugins as he wishes.
On AmigaOS and compatibles you may, additionally, also want to set the GlobalPlugins tag
to True. In that case, compiled programs will also automatically load all plugins from the
LIBS:Hollywood directory. Defaults to False. (V11.0)
CompressToTmp:True. In that case, Hollywood will store the
uncompressed applet in a temporary file on HD instead of uncompressing to memory.
Defaults to False. (V11.0)
NumChannels:
LegacyAudio:True. Please note that on Amiga OS 3.x the
old audio driver is enabled by default due to performance reasons. If you would
like to use the new audio driver on AmigaOS 3.x too, you have set this tag to False.
On AmigaOS 3.x this tag defaults to True, on the other AmigaOS compatible platforms
it defaults to False. (V11.0)
ForceMonolithic:True, Hollywood
will link all data files to the executable instead of storing them separately in
the app bundle, which is the default behaviour when compiling for arm64 macOS to
work around the problem that all executables on macOS arm64 must be codesigned, which
is not possible in a platform-independent way but must be done on a macOS system using
Apple's proprietary tools. So if you set this tag to True, remember that you must manually
codesign the executable generated by Hollywood or macOS will refuse to run it.
Note that for all other platforms (including the PowerPC, x86 and x64 targets for macOS)
Hollywood will always create monolithic executables, i.e. executables that have all
data files linked to them. It's only the arm64 platform of macOS which is not monolithic
by default because those executables need to be codesigned and if Hollywood linked
data to them, the old code signature would become invalid, which is why Hollywood doesn't
do that by default but works around it by storing the data files externally. Defaults
to False. (V11.0)
Compress:True, Hollywood's compiler will compress the applets and
executables it generates. This is especially effective when using Miniwood because all
Miniwood libraries linked to the executable will be compressed as well which can
significantly reduce the executable size. Defaults to False. (V11.0)