3.2 Console arguments

If you do not want to use the GUI for some reason, you can also start Hollywood from the console. When you start Hollywood from the console without any arguments, a file requester will be opened prompting you to select a script or applet to run. For a list of supported arguments, start Hollywood using the ‘-help’ argument. The template for using Hollywood from the console is as follows:

 
Hollywood file.hws [-alldisplays] [-askdisplaymode] [-audiodevice name]
[-autofullscreen] [-autoscale] [-backfill type] [-borderless]
[-brush brush] [-brushfile file] [-compile file] [-compress]
[-consolemode] [-cxkey hotkey] [-debugoutput] [-depth depth]
[-disableblanker] [-dpiaware] [-encoding enc] [-endcolor color]
[-exetype type] [-exportcommands file] [-exportconstants file]
[-exporthelpstrings] [-exportplugins file] [-exportpreprocs file]
[-fakefullscreen] [-fixed] [-fitscale] [-forceflush] [-forcesound]
[-formaterror] [-fullscreen] [-fullscreenscale] [-globalplugins] [-help]
[-hideoptionsmenu] [-hidepointer] [-hidetitlebar] [-icon16x16 file]
[-icon24x24 file] [-icon32x32 file] [-icon48x48 file] [-icon64x64 file]
[-icon96x96 file] [-icon128x128 file] [-icon256x256 file]
[-icon512x512 file] [-icon1024x1024 file] [-keepproportions]
[-keepscreenon] [-layerfullscreen] [-layerscale] [-legacyaudio]
[-linkfiles file] [-linkfonts file] [-linkplugins list] [-locksettings]
[-mastervolume vol] [-maximized] [-moderequester] [-monitor num]
[-nativeunits] [-nobackfill] [-nochdir] [-nocommodity] [-nodebug]
[-nodocky] [-nohardwarescale] [-nohide] [-nokeepproportions]
[-nolegacyaudio] [-noliveresize] [-nomodeswitch] [-nomousehook]
[-noscaleengine] [-noscaleswitch] [-nosmoothscale] [-nosound]
[-nostyleoverride] [-numchannels chans] [-overrideplacement]
[-overwrite] [-pictrans transparency] [-picxpos x] [-picypos y]
[-printerror] [-pubscreen name] [-quiet] [-requireplugins list]
[-requiretags tags] [-resourcemonitor] [-scalefactor s] [-scalepicture]
[-scaleswitch] [-scalewidth width] [-scaleheight height]
[-scrwidth width] [-scrheight height] [-setconstants list] [-sizeable]
[-skipplugins mask] [-smoothscale] [-softtimer] [-softwarerenderer]
[-startcolor color] [-stayactive] [-systemscale] [-tempdir path]
[-usequartz] [-usewpa] [-videofps fps] [-videoout file] [-videopointer]
[-videoquality quality] [-videostrategy strategy] [-vsync] [-window]
[-winwidth width] [-winheight height] [-wpamode mode] [-xserver name]

Important information: The majority of these arguments are also supported by every program compiled by Hollywood. If you do not want your compiled programs to support command line arguments, you have to compile your scripts using the ‘-locksettings’ argument (see below for a description).

Important information #2: Most of the arguments listed above can also be passed to Hollywood programs without using a console. See Arguments without console for details.

Here are detailed descriptions for every command:

-alldisplays:
By default, command line arguments like ‘-borderless’ or ‘-sizeable’ will only affect the first display. If you pass the parameter ‘-alldisplays’, all command line arguments controlling the display style will be applied to all Hollywood displays.

-askdisplaymode:
If you specify this command line argument, Hollywood will pop up a requester asking the user to select whether the script should be shown in windowed or full screen mode.

-audiodevice name:
This argument can be used to specify the ALSA sound device that Hollywood should use for audio output. You only need to pass this argument if you want to use a sound device that is different from the default ALSA sound device. So normally, you do not have to pass this argument at all. [Linux only]

-autofullscreen:
This will put the display into full screen mode using the auto scaling engine instead of changing the monitor's resolution but only when running Hollywood on systems that support GPU-accelerated scaling. On all other platforms a normal full screen mode will be used, i.e. Hollywood will change the monitor's resolution to fit the current display dimensions. Currently, GPU-accelerated scaling is supported on Windows, macOS, Android, and iOS which means that on those platforms no monitor resolution change will occur because Hollywood can simply scale the graphics to fit to the current monitor dimensions. On AmigaOS compatibles and Linux, however, there will still be a monitor resolution change with this mode because Hollywood doesn't support GPU-accelerated scaling on those platforms.

-autoscale:
If you specify this argument, the auto scaling engine will be activated. This means that your script can be displayed in any resolution that you define and it works completely automatically - you do not have to make any changes to your code. If auto scaling is enabled, Hollywood will pretend to your script that it is still running in its usual resolution but in reality it will get upscaled or downscaled (depending on the chosen scaling resolution). You can specify the initial auto scaling resolution by using the ‘-scalewidth’ and ‘-scaleheight’ arguments, or the ‘-scalefactor’ or the ‘-systemscale’ argument. The scaling resolution can be changed by the user at any time by resizing the Hollywood window (don't forget to make your window resizeable by using the @DISPLAY preprocessor command or the ‘-sizeable’ argument). If you do not specify ‘-scalewidth’ and ‘-scaleheight’ or ‘-scalefactor’ or ‘-systemscale’ at startup, the script will be started without auto scaling, but auto scaling will be activated as soon as the user resizes the window. If you want anti-aliased auto scaling (slower), specify the ‘-smoothscale’ argument. Hollywood supports another scaling engine which can be activated by specifying the ‘-layerscale’ argument (see below). See Scaling engines for details.

-backfill type:
This argument allows you to specify a backfill type for Hollywood's display. If you specify this argument, Hollywood will fill the whole screen. type can be one of the following keywords:

color
Fill the background with the color specified in the ‘-startcolor’ argument

picture
Display the brush specified in the ‘-brush’/‘-brushfile’ argument as background picture (centered); if you specify the ‘-startcolor’ argument also, the background will be cleared with that color; if you specify ‘-endcolor’ too, the background will be cleared with a gradient between ‘-startcolor’ and ‘-endcolor’.

gradient
Display a gradient as the background (with a fade from the color specified in the ‘-startcolor’ argument to the color specified in the ‘-endcolor’ argument).

texture
Display the brush specified in the ‘-brush’/‘-brushfile’ argument as a texture.

As you can see, all the backfill types require an additional argument as a parameter. You have to use the arguments ‘-brush’, ‘-brushfile’, ‘-startcolor’, and ‘-endcolor’ for this (as documented above).

-borderless:
If you specify this argument, Hollywood will open its window without borders. This is especially useful for transparent windows.

-brush id:
Only required in connection with ‘-backfill’ set to texture or picture. Specifies the identifier of the brush to use with the backfill mode. You can also use ‘-brushfile’ instead of this argument (if you want to use a brush for backfilling that hasn't been declared in the script).

-brushfile file:
Only required in connection with ‘-backfill’ set to texture or picture. Specifies the file name of the brush to use with the backfill mode. You can also use the ‘-brush’ argument instead of this one.

-compile file:
If you specify this argument, Hollywood will compile your script to a stand-alone executable. You will have to use this option if you want to publish your script. Your script will not be executed. It will be compiled and saved to file. Use the ‘-exetype’ argument to specify the platform for which you want to save your script.

-compress:
You can use this switch to enable compression of Hollywood projects. If this argument is specified, Hollywood will compress applets and executables. This argument can only be used in connection with ‘-compile’.

-consolemode:
If you specify this argument, Hollywood will compile an executable that runs in console mode on Windows. 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 by passing this argument. Note that this argument is obviously only handled when ‘-compile’ is specified as well. Note that ‘-consolemode’ is also available in the @OPTIONS preprocessor command. See OPTIONS for details. See Console mode for details.

-cxkey hotkey:
This argument can be used to install the specified key combination as a system-wide hotkey for your application. Whenever the user presses the specified key combination, your application will get a Hotkey event which you can listen to through the InstallEventHandler() function. [Amiga OS only]

-debugoutput:
Specifying this argument enables debug output for this script. This console argument has the same effect as calling DebugOutput() at the beginning of your script.

-disableblanker:
This argument can be used to disable the screen blanker while Hollywood is running.

-dpiaware:
This argument is only supported on Windows. If you pass this argument, 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 not specified, 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, pass the ‘-dpiaware’ argument. 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 also available in the @OPTIONS preprocessor command. See OPTIONS for details.

-encoding enc:
This argument can be used to set the script's character encoding. Enc can be one of the following:

utf8:
Script's character encoding is UTF-8 (with or without BOM). This is also the default and should be used whenever and whereever possible.

iso8859_1:
Script's character encoding is ISO 8859-1. Note that due to historical reasons Hollywood will not use ISO 8859-1 character encoding on AmigaOS and compatibles but whatever is the system's default character 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 iso8859_1 because Hollywood will only run correctly on locales compatible with Western European languages then. You should always use utf8 because this will put Hollywood in Unicode mode and make sure that Hollywood runs correctly on all locales.

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.

-endcolor color:
Only required in connection with ‘-backfill’ set to gradient. color is a color specified in RGB format (e.g. $FF0000 for red). Can also be specified with ‘-backfill’ set to picture. This will create a gradient behind the picture then.

-exetype type:
Only required in connection with ‘-compile’. This argument specifies the output format of the executable that the Hollywood compiler shall create. Type can be one of the following:

amigaos4
AmigaOS 4 executable (PowerPC)
android
Hollywood applet which has the platform-specific constants for Android set (see below).
aros
AROS executable (x86)
classic
AmigaOS 3.x executable (68020+)
classic881
AmigaOS 3.x executable (68020+) with math co-processor (68881/2 or 68040/68060)
ios
Hollywood applet which has the platform-specific constants for iOS set (see below).
linux
Linux executable (x86)
linux64
Linux executable (x64)
linuxarm
Linux executable (arm)
linuxppc
Linux executable (PowerPC)
macos
macOS application bundle (PowerPC)
macosarm64
macOS application bundle (arm64)
macos86
macOS application bundle (x86)
macos64
macOS application bundle (x64)
morphos
MorphOS executable (PowerPC)
warpos
WarpOS mixed-binary executable (68040/PowerPC)
win32
Windows executable (x86)
win64
Windows executable (x64)
applet
Universal Hollywood applet which can be started on any system with a Hollywood Player

This argument defaults to classic in the 68k version of Hollywood. In the 32-bit Windows version it defaults to win32 and so on.

Note that the targets applet, android, and ios will all compile platform-independent applets that can be run with the Hollywood Player on any platform. The difference between applet and android and ios is that when you compile for android or ios, Hollywood will set the respective platform-specific constants, i.e. #HW_ANDROID for Android and #HW_IOS for iOS. If you specify applet as the target, however, none of the platform-specific constants will be set. See IF for details. Of course, applets compiled using applet will work on Android and iOS as well. The scripts just won't know that they are being compiled for Android or iOS. This can only be detected if you specifically pass ios or android as the build target. Conversely, applets compiled using android or ios will also run on non-Android and non-iOS devices. The only difference between applet, android, and ios really is just related to the platform-specific constants. See IF for details.

You can also compile for multiple platforms at once. In that case, you have to pass several platform names separated by a vertical bar character (|). For example, to compile test.hws for AmigaOS 3 and MorphOS, use the following call:

 
Hollywood test.hws -compile test -exetype classic|morphos

If you specify multiple target platforms, the output file name specified to ‘-compile’ is regarded as a template and will get platform specific extensions. (i.e. the call above will generate a series of executables named test_OS3 and test_MOS)

-exportcommands file:
This argument can be used to export a list of available commands into the specified file. The list of available commands will be sorted by libraries. Inside the library sections the lists will be unsorted. Only native Hollywood commands are exported. Commands installed by plugins will not be listed here. You can get these by using the ‘-exportplugins’ argument. This option is probably not of much use for normal users but it can be helpful for authors of IDEs who would like to integrate Hollywood into their programming environment.

-exportconstants file:
This argument can be used to export a list of available constants into the specified file. The list of available constants will be entirely unsorted. Only native Hollywood constants are exported. Constants installed by plugins will not be listed here. You can get these by using the ‘-exportplugins’ argument. This option is probably not of much use for normal users but it can be helpful for authors of IDEs who would like to integrate Hollywood into their programming environment.

-exporthelpstrings:
If this argument is used together with the ‘-exportplugins’ argument, Hollywood will write three lines instead of one line for every plugin command to the file specified in the ‘-exportplugins’ argument. The first line will be the command's name, the second line will be its help text and the third line will be the command's help node in the accompanying documentation for the plugin. This information is useful for IDEs which would like to provide help for plugin commands. Note that both the second and the third line can be empty if the plugin doesn't export a help string or a help node for the command.

-exportplugins file:
This argument can be used to export a list of available plugins into the specified file. If a plugin exports commands and/or constants, these will also be appended to the export file. This option is probably of not much use for normal users but it can be helpful for authors of IDEs who would like to integrate Hollywood into their programming environment. If you also specify the ‘-exporthelpstrings’ argument (see above), Hollywood will export the help texts and nodes for all plugin commands as well. See above for details.

-exportpreprocs file:
This argument can be used to export a list of all preprocessor commands supported by Hollywood into the specified file. The list will be entirely unsorted and the individual preprocessor commands won't contain the at prefix. This option is probably not of much use for normal users but it can be helpful for authors of IDEs who would like to integrate Hollywood into their programming environment.

-fakefullscreen:
This argument allows you to put Hollywood into fake full screen mode. This means that Hollywood will open on the desktop but the backfill window will be configured to shield the desktop completely. Thus, the user gets the impression as if Hollywood was running full screen, although it is running on the desktop.

-fitscale:
This argument is only handled when either ‘-layerscale’ or ‘-autoscale’ is active. In that case, ‘-fitscale’ will set the scaling resolution to the current screen's resolution so that the script will always fill out the whole screen. Using ‘-fitscale’ is basically the same as passing the current screen's dimensions in ‘-scalewidth’/‘-scaleheight’. But you cannot know the screen resolution on your user's computers and that is why ‘-fitscale’ is here to do this job. Note that using ‘-fitscale’ might distort the appearance of your script in case the current screen resolution uses a different aspect-ratio than your script. To prevent distortion, you have to use ‘-keepproportions’ (see below) alongside ‘-fitscale’.

-fixed:
If you specify this argument, Hollywood's display will be fixed on the screen which means that you cannot move it. This is useful when Hollywood opens in full screen mode.

-forceflush:
Specify this argument to force a buffer flush after every single line that Hollywood writes to the debug device. This is only useful when the debug device is a file or a pipe because consoles always flush buffers after every line anyway.

-forcesound:
Normally, when a script tries to play a sound and the audio hardware cannot be allocated, Hollywood will continue running normally, just without sound. If you don't want that, i.e. if you want Hollywood to fail in case the audio hardware cannot be allocated, pass this argument. In that case Hollywood will throw an error in case the audio hardware cannot be allocated.

-formaterror:
This argument tells Hollywood to format its error messages in a certain way so that they can be easily distinguished from other console output. Note that this argument is only handled when the ‘-printerror’ option is active as well. In that case, errors are logged to the console like this:

 
@_hwerror<line>:<file>*<message>

Note that <file> may be enclosed by double quotes and it may be empty if the error is not related to a script file. In that case, <line> will be 0.

-fullscreen:
This argument will run Hollywood in full screen mode. It will scan your monitor's display modes to determine the best resolution for your script and will then switch the monitor's display mode into that resolution and run the script. If you would like to run your script in full screen mode without switching the monitor resolution, use the ‘-fullscreenscale’ mode instead (see below).

-fullscreenscale:
This is a special full screen mode which won't change your monitor's resolution. Instead, Hollywood's display will be resized to fit your monitor's dimensions. Additionally, this full screen mode will activate the auto scaling engine so that your display is automatically scaled to fit your monitor's dimensions. ‘-fullscreenscale’ will use auto scaling by default. If you would like it to use layer scaling, you have to pass the ‘-layerscale’ option as well. ‘-fullscreenscale’ is especially useful on mobile devices whose display hardware has a hard-coded resolution and doesn't support resolution changes in the same way as an external monitor connected to a desktop computer does. The downside of ‘-fullscreenscale’ is that it is slower because Hollywood has to scale all rendering operations to the monitor's dimensions.

-globalplugins:
On AmigaOS and compatibles, plugins can also be globally installed in LIBS:Hollywood. Executables compiled by Hollywood, however, will only load the plugins that are stored next to the executable in its directory. If you want your executable to load all plugins in LIBS:Hollywood as well, you can specify this argument. Alternatively, you can also set GlobalPlugins to True in the @OPTIONS preprocessor command. [AmigaOS only]

-help:
Print a list of supported console arguments.

-hideoptionsmenu:
When the user opens the options menu on Android devices, Hollywood will allow the user to configure several display parameters like enabling or disabling autoscaling or layerscaling. If you do not want to give the user this possibility to change the display parameters via the app's options menu, pass this argument to Hollywood. [Android only]

-hidepointer:
If you specify this argument, the mouse pointer will automatically be hidden as soon as Hollywood enters full screen or fake full screen mode. This argument has the advantage over the HidePointer() command in that it only hides the mouse pointer in full screen mode. If Hollywood opens in windowed mode, the mouse pointer will remain visible because hiding the mouse pointer in windowed mode usually causes confusion with the user.

-hidetitlebar:
This argument hides the title bar of the host screen. On desktop systems this argument is only effective when Hollywood opens on its own screen or when you use the ‘-backfill’ option. On mobile devices this option will hide the status bar (iOS) or action bar (Android). [Amiga OS, macOS, iOS and Android only]

-icon16x16 file:
This and all the other ‘-iconXXX’ console arguments can be used to specify the icons for your application. On Windows, macOS, and Linux these icons will appear in the window's border and they will also be used by certain elements of the window manager like the task bar on Windows. The icons will also be linked into any applets or executables you compile with Hollywood. By default, Hollywood will always use the standard Hollywood icon (the clapperboard). If you prefer to use your own icon instead, you can do so by specifying one or more of these arguments. For the best results, you should use multiple icons handcrafted for all individual sizes. Hollywood currently supports these icon sizes: 16x16, 24x24, 32x32, 48x48, 64x64, 96x96, 128x128, 256x256, 512x512, and 1024x1024. Not all sizes are currently supported on all platforms but you should make sure to provide icons for all these sizes. If you leave a size out, Hollywood might fall back to its default icon (clapperboard) for the size. So if you intend to use your own icons, make sure that you always provide it in all sizes. The image file that is required as a parameter by these arguments should be a PNG image with alpha channel. Images without alpha channel are supported as well, but this is not recommended because it doesn't look too good. Alternatively, you can also use the @APPICON preprocessor command to specify custom icons for your project.

-icon24x24 file:
Same as ‘-icon16x16’ but embeds an icon of size 24x24.

-icon32x32 file:
Same as ‘-icon16x16’ but embeds an icon of size 32x32.

-icon48x48 file:
Same as ‘-icon16x16’ but embeds an icon of size 48x48.

-icon64x64 file:
Same as ‘-icon16x16’ but embeds an icon of size 64x64.

-icon96x96 file:
Same as ‘-icon16x16’ but embeds an icon of size 96x96.

-icon128x128 file:
Same as ‘-icon16x16’ but embeds an icon of size 128x128.

-icon256x256 file:
Same as ‘-icon16x16’ but embeds an icon of size 256x256.

-icon512x512 file:
Same as ‘-icon16x16’ but embeds an icon of size 512x512.

-icon1024x1024 file:
Same as ‘-icon16x16’ but embeds an icon of size 1024x1024.

-keepproportions:
This argument is only handled when either ‘-layerscale’ or ‘-autoscale’ is active. In that case, ‘-keepproportions’ will not distort the resolution of the current script when the user resizes the window. Instead, black borders will be used to pad the non-proportional window regions. The display itself will always keep its aspect-ratio. This is very useful for scripts that should not be distorted.

-keepscreenon:
If you specify this argument, battery saving mode will be disabled on mobile devices. This means that the device's screen will never be dimmed or turned off to save energy. Useful for scripts that do not require user input. [Android and iOS only]

-layerfullscreen:
This will put the display into full screen mode using the layer scaling engine instead of changing the monitor's resolution but only when running Hollywood on systems that support GPU-accelerated scaling. On all other platforms a normal full screen mode will be used, i.e. Hollywood will change the monitor's resolution to fit the current display dimensions. Currently, GPU-accelerated scaling is supported on Windows, macOS, Android, and iOS which means that on those platforms no monitor resolution change will occur because Hollywood can simply scale the graphics to fit to the current monitor dimensions. On AmigaOS compatibles and Linux, however, there will still be a monitor resolution change with this mode because Hollywood doesn't support GPU-accelerated scaling on those platforms.

-layerscale:
If you specify this argument, the layer scaling engine will be activated. This means that your script can be displayed in any resolution that you define and everything is done completely automatically - you do not have to make any changes to your code. However, as the very name implies, the layer scaling engine will only work if layers are enabled. In layer scaling mode, all layers will automatically be adapted to the new resolution and Hollywood will pretend to your script that it is still running in its original resolution to make sure that your script is executed in exactly the same way as without layer scaling. The advantage of layer scaling is that vector layers (i.e. graphics primitives, true type text, vector brushes, vector anims) will be scaled in vector mode so that there won't be any loss of quality even if you change the resolution of your script from 320x240 to 1280x1024. You can specify the initial layer scaling resolution by using the ‘-scalewidth’ and ‘-scaleheight’ arguments or the ‘-scalefactor’ or the ‘-systemscale’ arguments (see below). The scaling resolution can be changed by the user at any time by resizing the Hollywood window (don't forget to make your window resizeable by using the @DISPLAY preprocessor command or the ‘-sizeable’ argument). If you do not specify ‘-scalewidth’ and ‘-scaleheight’ or ‘-scalefactor’ or ‘-systemscale’ at startup, the script will be started without layer scaling, but layer scaling will be activated as soon as the user resizes the window. If you want anti-aliased layer scaling (slower), specify the ‘-smoothscale’ argument. Hollywood supports another scaling engine which can be activated by specifying the ‘-autoscale’ argument (see above). See Scaling engines for details.

-legacyaudio:
Starting with Hollywood 6.0, the AmigaOS versions of Hollywood come with a new audio driver. The old audio driver is still supported and can be enabled by specifying this command line option. 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 to pass the ‘-nolegacyaudio’ console argument. [AmigaOS only]

-linkfiles file:
This argument is only handled when ‘-compile’ is also specified. You can use this argument to link files into your applet or executable. Your script will then automatically load these files from your applet or executable. This is an alternative for using the preprocessor commands to link files into your applet or executable. If you do not want to use preprocessor commands to link files into your applet or executable, use ‘-linkfiles’ for that. Alternatively, you can also use the @LINKER preprocessor command to specifiy a list of files to be linked into your applet or executable. See Linking data files for details.

-linkfonts file:
This argument is only handled when ‘-compile’ is also specified. You can use this argument to link fonts into your applet or executable. Your script will then automatically load these fonts from your applet or executable when you call SetFont(). Using ‘-linkfonts’ is an alternative to using the @FONT preprocessor command to link fonts into your applet or executable. Normally, using @FONT should be much easier than using ‘-linkfonts’ so you should use the latter only with good reasons. Alternatively, you can also use the @LINKER preprocessor command to specifiy a list of fonts to be linked into your applet or executable. See Linking fonts for details.

-linkplugins list:
This argument is only handled when ‘-compile’ is also specified. You can use this argument to link plugins into your executable. Your executable will then automatically load these plugins on startup and you have everything in a single file. It is no longer necessary to store or install plugins externally if you link them to your executable. Note that plugins can only be linked to executables, not to applets, since applets are platform-independent and plugins are not. You have to pass a list of plugins that should be linked to your executable to this argument. If you want to link more than one plugin, separate the individual plugins by using a vertical bar character (|). For example, to link your script against "plugin1.hwp" and "plugin2.hwp" you would have to specify "plugin1|plugin2" here. Make sure to carefully read the licenses of all plugins you link to your executable because licenses like LGPL affect your project if you statically link against LGPL software. Note that before you can use the ‘-linkplugins’ argument, you first have to set up the infrastructure for the plugin linker. See Linking plugins for details.

-locksettings
This argument is only handled when ‘-compile’ is also specified. You can use this argument to fix your script's display settings. Normally, when you compile an executable with Hollywood, the user will be able to change the appearance of it by passing arguments like ‘-borderless’ or ‘-fullscreen’ to the executable. The user could also change the backfill settings of the executable by specifying ‘-backfill’ etc. By default, the user is given all flexibility to adjust your program to his wishes. He could also enable a scaling engine or make your program sizeable. If you do not want the user to be able to change your display settings, you will have to compile your executables using ‘-locksettings’. If ‘-locksettings’ is used, Hollywood will always use the settings specified in your script's @DISPLAY preprocessor command. For example, if you specify Mode=FullScreen in your script's @DISPLAY command, and you compile using ‘-locksettings’, then the user will not be able to run your program in windowed mode. Your program will always open in full screen mode. Think twice before using ‘-locksettings’ because it impedes the flexibility of your programs.

-mastervolume vol:
This argument allows you to specify the master volume Hollywood shall use. Use this only if you experience distortion when Hollywood plays sounds. Normally, you do not have to use an other value here. Master volume can range from 0 to 64. [AmigaOS only]

-maximized:
Open the display in maximized mode. This display has to be sizeable for this parameter to take effect. [Windows only]

-moderequester:
If you specify this command line argument together with the ‘-fullscreen’ argument, Hollywood will pop up a requester prompting the user to select a monitor resolution for the full screen mode. Hollywood will then show your script in full screen mode using the display mode just chosen by the user.

-monitor num:
This argument allows you to specify the monitor your script's display should be opened on. Monitors are counted from 1 which is the primary monitor.

-nativeunits:
If this console argument is specified, Hollywood will use the host system's native coordinate space and units instead of pixels. This currently only has an effect on macOS and iOS because both operating systems use custom units instead of pixels when running on a Retina device. By default, Hollywood will enforce the use of pixels on Retina Macs and iOS devices for cross-platform compatibility reasons but you may want to override this setting by using this console argument.

-nobackfill:
By default, Hollywood will always install a backfill for your display if it is opened in full screen mode. If you don't want this, specify this option. Hollywood will open in full screen mode then but it won't shield the areas that are not covered by the display itself. This is useful on Amiga systems if you'd like Hollywood to open on a new screen without hiding the screen's visuals like its title bar and its background decoration from the user. If you use this argument, you might also want to use the ‘-nostyleoverride’ argument. [AmigaOS only]

-nochdir:
By default, Hollywood will always change the current directory to the directory of the script or applet it is currently running. Pass this argument if you don't want this behaviour. In that case, Hollywood won't change the current directory when running a script.

-nocommodity:
On AmigaOS systems, if this argument is specified Hollywood will not add itself to the system's list of commodities. [AmigaOS only]

-nodebug:
If this argument is specified, the commands DebugPrint(), DebugPrintNR(), Assert(), DebugOutput() and @WARNING will be skipped when running the script or applet. This allows you to globally disable debugging functions with just a single call.

-nodocky:
On AmigaOS 4 systems, if this argument is specified, Hollywood will not show the 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 in @OPTIONS. [AmigaOS 4 only]

-nohardwarescale:
For performance reasons Hollywood will try to use hardware accelerated scaling when autoscaling is enabled on Android devices by default. Some devices, however, do not implement hardware accelerated scaling properly so if you experience strange behaviour when using autoscale mode, try to disable hardware accelerated scaling using this argument and see if it helps. This is obsolete since Hollywood 8.0. Hollywood will always use hardware-accelerated scaling now. [Android only]

-nohide:
If you specify this argument, the user will not able to hide the Hollywood display, i.e. the Hollywood window will not have any minimize button. This argument does not affect the ShowDisplay() and HideDisplay() commands. You can still hide and show the display using these commands.

-nokeepproportions:
When the user switches between windowed and full screen mode using the CMD+RETURN hotkey (on Windows it is LALT+RETURN) and Hollywood chooses to scale the display to the current monitor's resolution, it will add padding borders if necessary to keep the display's proportions. If you don't want that, pass this argument.

-nolegacyaudio:
Starting with Hollywood 6.0, the AmigaOS versions of Hollywood come with a new audio driver but this new driver is not enabled on AmigaOS 3.x by default due to performance reasons. If you would like to use the new audio driver on AmigaOS 3.x too, pass this console argument. [AmigaOS only]

-noliveresize:
On many platforms Hollywood will use live resizing when the user is resizing a display. This means that the display's contents will be scaled while the user is resizing the display. If you don't want this, you can set this console argument.

-nomodeswitch:
If you specify this argument it will not be possible to switch between windowed and full screen mode by pressing the CMD+RETURN hotkey (on Windows it is LALT+RETURN). If ‘-nomodeswitch’ is specified, Hollywood will always remain in its initial display mode and no switches between windowed and full screen will be made.

-nomousehook:
If you specify this argument, Hollywood won't install a hook that constantly polls the mouse position. This is only useful on Linux if the connection to the X Server is quite slow. If that is the case, using ‘-nomousehook’ might give you a performance boost. The downside of using this option is that you will no longer be notified about OnMouseMove events if they occur outside the window's boundaries because this notification only works with a mouse hook. [Linux only]

-noscaleengine:
This console argument is only handled if you pass the ‘-fullscreenscale’ argument as well. In that case Hollywood will not use any scaling engine but will simply open your display in the same dimensions as the monitor's resolution. Your script then needs to manually adapt to the monitor's resolution. This allows you to write scripts which can dynamically adapt to different resolutions without simply scaling their graphics.

-noscaleswitch:
When the user switches between windowed and full screen mode using the CMD+RETURN hotkey (on Windows it is LALT+RETURN), Hollywood might choose to scale the display to the monitor's current resolution instead of switching the monitor's physical resolution. If you don't want Hollywood to simulate full screen mode by just scaling the display to the monitor's current resolution, pass this console argument. In that case, pressing the mode switch hotkey will always change the monitor's physical resolution.

-nosmoothscale:
When the user switches between windowed and full screen mode using the CMD+RETURN hotkey (on Windows it is LALT+RETURN) and Hollywood chooses to scale the display to the current monitor's resolution, it will use anti-aliased interpolation for smoother scale results by default. If you don't want that, pass this argument.

-nosound:
This argument disables all sound functions of Hollywood. Hollywood will start in mute mode.

-nostyleoverride:
If Hollywood runs your script in full screen mode it will automatically modify your display's window decoration style and make the window fixed and borderless. If you don't want this, you can use this argument to force Hollywood to leave window styles untouched. This argument is mostly used together with the ‘-nobackfill’ argument. [AmigaOS only]

-numchannels chans:
By default, Hollywood allocates 8 audio channels for sound playback. This means that Hollywood will run out of channels in case your script tries to play more than 8 different samples, music objects, or video streams at a time. If your script needs more than 8 channels for some particular reasons, you can use this argument to tell Hollywood how many channels it should allocate.

-overrideplacement:
If this argument is specified, Hollywood will ignore any saved position or size information for displays that have the RememberPosition tag set to True. Instead, those displays will always use their default position and size.

-overwrite:
If you specify this argument, Hollywood will automatically overwrite existing files when ‘-compile’ is used. Normally, Hollywood will ask you to confirm overwriting existing files in ‘-compile’ mode. You can suppress the compulsory confirmation by specifying this argument.

-pictrans transparency:
Only possible with ‘-backfill’ set to picture. This argument allows you to assign a transparency color to your picture. Defaults to #NOTRANSPARENCY.

-picxpos x:
Only possible with ‘-backfill’ set to picture. You can use this argument to specify the position where the backfill picture shall be displayed. Defaults to #CENTER.

-picypos y:
Only possible with ‘-backfill’ set to picture. You can use this argument to specify the position where the backfill picture shall be displayed. Defaults to #CENTER.

-printerror:
If this argument is specified, Hollywood won't show script errors in a dialog box, but will simply print them to the console. This can be useful when integrating Hollywood into IDEs. If you need to parse Hollywood's error messages, you should also specify the ‘-formaterror’ argument to force Hollywood to output errors in a format that can be parsed, i.e. split into its individual constituents like script file, line number, error message.

-pubscreen name:
If specified, Hollywood will open on the public screen specified by name instead of the desktop screen. [AmigaOS only]

-quiet:
If you specify this argument, Hollywood will not display any information during its startup.

-requireplugins list:
This argument allows you to specify a list of plugins that your script explicitly requires. If you need to specify more than one plugin, separate the individual plugins by using a vertical bar character (|). For example, to make your script require "plugin1.hwp" and "plugin2.hwp" you would have to specify "plugin1|plugin2" here. Using this preprocessor command has the same effect as using the @REQUIRE preprocessor command. See REQUIRE for details. If you need to pass additional arguments to the plugin's initialization routine, use the ‘-requiretags’ console argument.

-requiretags tags:
This console argument allows you to pass additional arguments to the initialization routine of plugins. Additional arguments for plugin initialization are normally passed to the plugin by using the @REQUIRE preprocessor command but you can also pass them from the command line using this argument. This is especially useful for testing purposes because you won't have to modify your script all the time if you pass additional initialization arguments via ‘-requiretags’. You can pass additional arguments to more than one plugin. The format of the string you pass to this argument must be like this:

 
name1[tag1=value1,...,tagN=valueN]name2[...]...nameN[...]

Here is an example:

 
-requiretags testplugin[User='admin',Pwd='secret',Len=64]

The command line above would pass three additional tags to the the initialization routine of the plugin testplugin.hwp, namely User, Pwd, and Len. User is set to "admin", Pwd to "secret", and Len is passed as an integer value of 64. Please note that you also have to use ‘-requireplugins’ if you use ‘-requiretags’ console argument. Otherwise, the plugins' initialization code won't be executed at all.

-resourcemonitor:
Specifying this argument will open Hollywood's resource monitor right at the start of your script. The resource monitor is useful to keep track of your resources while developing your script. Please read the documentation of OpenResourceMonitor() for more information on this topic.

-scalefactor s:
This argument can be used in connection with either ‘-autoscale’ or ‘-layerscale’ to apply a global scaling factor to your whole script. The scaling factor must be specified as a fractional number indicating the desired scaling coefficient, e.g. a value of 0.5 shrinks everything to half of its size whereas a value of 2.0 scales everything to twice its size. Note that setting ‘-scalefactor’ will make the script behave slightly different than setting ‘-scalewidth’ and ‘-scaleheight’ does. The latter will enforce a fixed display size for the script which will never be changed unless the user manually uses the mouse to change the display size. Setting ‘-scalefactor’, however, will apply the scale factor to all new BGPics and display sizes so the display size may change if the BGPic size changes or the script changes the display size. Thus, using ‘-scalefactor’ is perfect for scaling a script for a high dpi display because it makes sure that the script behaves exactly the same but just appears larger (or smaller if you want!). You can also use the ‘-systemscale’ argument to automatically apply the host system's scaling factor to your display (see below). Please also read the documentation of ‘-autoscale’/‘-layerscale’ for more information on the Hollywood scaling engines. See Scaling engines for details.

-scalepicture:
Only possible if ‘-backfill’ is set to picture. This argument tells Hollywood to scale the specified backfill picture to the actual size of the backfill window so that it fills it completely.

-scaleswitch:
When the user switches between windowed and full screen mode using the CMD+RETURN hotkey (on Windows it is LALT+RETURN), Hollywood might not change the monitor's screen mode but just simulate full screen mode by scaling the display to the monitor's current resolution. This is only done if the system Hollywood is running on supports hardware-accelerated scaling. On older systems or platforms that don't support hardware-accelerated scaling Hollywood will switch the monitor to the new resolution instead. If you want Hollywood to always simulate full screen mode by just scaling the display to the monitor's current resolution instead of changing its physical mode, pass this argument.

-scalewidth width:
This argument can be used in connection with either ‘-autoscale’ or ‘-layerscale’ to specify the initial scaling engine dimensions. You can specify a numeric pixel value (e.g. -scalewidth 1280 -scaleheight 1024) or a scaling percentage (e.g. -scalewidth 200% -scaleheight 200%). Please read the documentation of ‘-autoscale’/‘-layerscale’ for more information on the Hollywood scaling engines. See Scaling engines for details.

-scaleheight height:
Same as ‘-scalewidth’ but specifies the scaling height.

-scrdepth d:
This argument can be specified to set the screen depth when you want Hollywood to open in full screen mode. This argument tells Hollywood which color depth to choose for the full screen mode (valid depths are 15, 16, 24 and 32). If you do not specify this argument, Hollywood will open in the same depth as the desktop screen.

-scrwidth width:
This argument can be used in connection with ‘-fullscreen’ to specify the dimensions of the full screen that Hollywood shall open. If you do not specify this argument, Hollywood will choose a full screen mode which fits best for your display. If you specify 0 in ‘-scrwidth’ and ‘-scrheight’, Hollywood will use the dimensions of the desktop screen for the full screen mode.

-scrheight height:
Same as ‘-scrwidth’ but specifies the screen height.

-setconstants list:
You can use this argument to declare one or more constants. Normally, constants are declared using the Const statement. Sometimes, however, it can be convenient to be able to declare constants from the command line as well. This is especially useful when using the @IF preprocessor command. You have to pass a string which contains one or more constants to be declared to this argument. If you want to declare multiple constants, you have to separate the individual constants by using the vertical bar character (|). You can use the equal sign (=) to assign a value to a constant. If you leave out the equal sign, the constant will automatically be given a value of 1. Note that the constant name must not include the hash tag prefix but just the constant's name. Here is an example string: "MYCONSTANT|MYCONSTANT2=1000". If you pass this string to ‘-setconstants’, #MYCONSTANT will be defined as 1 and #MYCONSTANT2 will be defined as 1000. If you need to define a string constant, you need to enclose the string in square brackets, e.g. "MYSTRINGCONSTANT=[Test123]". If you need to store square brackets within a string constant, simply duplicate them so that they cannot be confused with the string constant delimiters.

-sizeable:
If you specify this argument, Hollywood will open its window with a size widget at the bottom right side of the window. This widgets will be invisible if your window does not have borders but it will still be accessible.

-skipplugins mask:
This argument can be used to tell Hollywood which plugins it should not load on startup. You can specify multiple plugins by separating them using a vertical bar (|) as a separator. If you want Hollywood to load no plugins at all on startup, specify an asterisk (*) here. You can load plugins later using the @REQUIRE preprocessor command or the LoadPlugin() function.

-smoothscale:
If ‘-autoscale’ or ‘-layerscale’ is active and you specify ‘-smoothscale’, all scaling operations are interpolated using anti-aliased pixel smoothing. This looks better but is also slower. Please read the documentation of ‘-autoscale’/‘-layerscale’ for more information on the Hollywood scaling engines.

-softtimer:
If you specify this argument, 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. On newer hardware and Windows versions you should never have to use this. [Windows only]

-softwarerenderer:
Specify this argument to disable Hollywood's GPU-accelerated Direct2D renderer on Windows systems. If ‘-softwarerenderer’ is set, Hollywood will use its CPU-based renderer for maximum compatibility. [Windows only]

-startcolor color:
Only required in connection with ‘-backfill’ set to gradient or color. color is a color specified in RGB format (e.g. $00FF00 for green). You can also use this argument together with ‘-backfill’ set to picture; the color will fill the picture background then.

-stayactive:
(removed in Hollywood 2.0)

-systemscale:
If you set this argument, the host system's scaling factor will automatically be applied to your display. This can be useful on systems with high-DPI monitors. For example, if your display normally opens in 640x480 pixels and you run it on a monitor that uses twice as many dots per inch (DPI), specifying the ‘-systemscale’ option will automatically scale your script to 1280x960 pixels so that it doesn't look tiny just because the system uses a high-DPI monitor. By default, ‘-systemscale’ will activate the auto scaling engine. If you want it to use layer scaling instead, just pass the ‘-layerscale’ argument. Note that ‘-systemscale’ uses the same scale mode as ‘-scalefactor’ internally, so scripts using ‘-systemscale’ will behave as if ‘-scalefactor’ was specified. It is even possible to use the ‘-scalefactor’ argument on top of ‘-systemscale’, in that case the value specified in ‘-scalefactor’ is multiplied by host system's default scaling factor. Please also read the documentation of ‘-autoscale’/‘-layerscale’ for more information on the Hollywood scaling engines. See Scaling engines for details. Note that on Windows you must also set the DPIAware tag to True in the @OPTIONS preprocessor command in order to use ‘-systemscale’. See OPTIONS for details.

-tempdir path:
This argument can be used to specify the path where Hollywood should store its temporary files. This is especially useful on AmigaOS and compatibles since Hollywood will store temporary files in the RAM disk on these systems. This can lead to problems on systems that are short on memory or when working with very large projects. To specify the current directory as the location for temporary files, pass "." here.

-usequartz:
Tells Hollywood to use Quartz 2D for all graphics output. By default, Hollywood uses QuickDraw because that is much faster (though deprecated). If you experience any graphics problems on macOS, you might want to try this argument. Note that this argument is only supported by the PowerPC version of Hollywood. The x86/x64 versions of Hollywood for macOS will always use Quartz 2D. [macOS only]

-usewpa:
Tells Hollywood to 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, specify -wpamode 0. Please note: ‘-usewpa’ is a lowlevel argument which is primarily here for testing purposes. Normally, you should not deal with this directly. [Amiga OS only]

-videofps fps:
Only used together with ‘-videoout’. If ‘-videoout’ is active, ‘-videofps’ can be used to tell Hollywood how many frames per second (FPS) the video to be recorded shall have. If not specified, 50 frames per second will be used as a default value. See Hollywood video recorder for details.

-videoout file:
Enables Hollywood's built-in video recording feature. If ‘-videoout’ is specified Hollywood will save your script as an AVI video file which you then could burn on a DVD, for instance. See Hollywood video recorder for details.

-videopointer:
Only used together with ‘-videoout’. If you specify ‘-videopointer’ the mouse pointer will always be rendered into the video stream. By default, when in video recording mode, no mouse pointer will appear in the video. If you need to have a mouse pointer in the video (e.g. to demonstrate user interaction), specify this argument. See Hollywood video recorder for details.

-videoquality quality:
Only used together with ‘-videoout’. If ‘-videoout’ is active, ‘-videoquality’ can be used to specify the compression level for the video frames. Quality is specified in percent so valid quality levels range from 0 to 100. The default is 90 which results in a pretty high quality video file which needs quite some disk space. If you want to have a smaller video file, you can try to use a lower quality level. See Hollywood video recorder for details.

-videostrategy strategy:
Only used together with ‘-videoout’. If the ‘-videoout’ argument is active, ‘-videostrategy’ can be used to specify the strategy Hollywood shall use when converting a Hollywood script into a video file. Currently, you can specify wait and raw here. By default Hollywood uses wait strategy. See Hollywood video recorder for details.

-vsync:
On Windows systems, this argument can be used to force Hollywood's renderer to throttle refresh to the monitor's refresh rate. This means that you'll no longer have to use functions like VWait() to throttle drawing. However, do note that if you set this to True, you must make sure to draw in full frames only otherwise drawing will become extremely slow. Full frame drawing can be achieved e.g. by either using a double buffer or by using BeginRefresh() and EndRefresh(). Also note that VSync is currently only supported on Windows and only if Hollywood uses its Direct2D backend. Direct2D is not available before Windows Vista SP2. [Windows only]

-window:
If you specify this argument, Hollywood will open its window on the desktop instead of full screen mode. This is the default setting.

-winwidth width:
This argument allows you to set the initial display width without activating one of the scaling engines. This has the same effect as if the user resized your display to the specified width. That's why your script will also receive a "SizeWindow" event right after Hollywood has been started if you pass this console argument. Note that this doesn't active any scaling engines, so your script needs to be prepared to adapt to the new dimensions itself.

-winheight height:
Same as ‘-winwidth’ but specifies the window height.

-wpamode mode:
If ‘-usewpa’ is active, this argument can be used to define the device independent bitmap mode. Passing 0 here turns off ‘-usewpa’, 1 activates 32-bit DIB mode, and 2 activates Workbench compliant DIB mode. Defaults to 1 which should give the best performance. Please note: ‘-wpamode’ is a lowlevel argument which is primarily here for testing purposes. Normally, you should not deal with this directly. [Amiga OS only]

-xserver name:
This argument can be used to specify the X Server that Hollywood should try to connect to. By default, Hollywood will use the X Server that is specified in the DISPLAY environment variable. If you want Hollywood to connect to a different X Server, use this argument. [Linux only]


Show TOC