2.1 Overview

Here's an overview of the most important components you have to know when programming with Hollywood:

Interpreter:

The Hollywood main executable is what we call "the interpreter". It can read your source code files (the scripts) and translate them into custom Hollywood bytecode. It can also compile your source codes into stand-alone executables or applets and link data files into those executables or applets. Once you have compiled your source codes into executables or applets, you can distribute them. If you distribute your projects as applets, your users first have to install the freely available Hollywood Player before they can run your project. If you choose to distribute your projects as stand-alone executables, no further components are needed. The interpreter is a console program and doesn't have any GUI. Hollywood's GUI and the Windows IDE will run simply start the interpreter when you choose to run a script.

Player:

The Hollywood Player can only run applets (see below). It cannot run source codes. The Hollywood Player isn't part of Hollywood's commercial distribution but is available for free download from the official Hollywood portal at http://www.hollywood-mal.com. In contrast to the interpreter, the Hollywood Player is freely distributable. If you choose to distribute your projects as Hollywood applets, your users first have to download and install the Hollywood Player before they can run your projects. If you choose to distribute your projects as stand-alone executables, the Hollywood Player isn't necessary because it has already been linked into your executable. Note that the Hollywood Player for Android isn't available from the Hollywood portal but from Google Play: http://play.google.com/store/apps/details?id=com.airsoftsoftwair.hollywood

GUI:

Since the Hollywood interpreter is just a console program, it is accompanied by a separate GUI program which allows you to conveniently use the interpreter. On Windows, the Hollywood GUI is a full-blown IDE whereas on all other systems (Amiga, Linux, macOS) it is just a front-end which you can use to start and compile scripts but it doesn't allow you to edit scripts. Thus, on Amiga, Linux, and macOS you have to use your favourite text editor for editing Hollywood scripts. But since the interpreter is a console program, it is quite easy to integrate it with your favourite IDE.

Scripts:

Source codes in the Hollywood language are called Hollywood scripts. Hollywood scripts are simply text files that contain a number of statements Hollywood can understand. Thus, they have to follow certain syntactical rules which are explained in this documentation. Hollywood scripts use the extension *.hws. It is recommended to use UTF-8 encoding for all your scripts.

Applets:

Hollywood applets are binary files that contain the bytecode of a script as well as additional data like images, sounds, fonts, etc. Applets can be run by the Hollywood Player or the Hollywood interpreter. Hollywood applets use the extension *.hwa. Choosing to distribute your project as an applet can save lots of disk space since applets are usually very small because they do not contain the Hollywood Player. See Applets for details.

Plugins:

On all systems except on AmigaOS and compatibles, plugins must be stored in a directory named "Plugins" that is in the same directory as the main Hollywood program. On AmigaOS and compatible systems, plugins must be installed to LIBS:Hollywood instead. On macOS, the "Plugins" directory must be inside the "Resources" directory of the application bundle, i.e. inside the HollywoodInterpreter.app/Contents/Resources directory. Note that HollywoodInterpreter.app is stored inside the Hollywood.app application bundle itself, namely in Hollywood.app/Contents/Resources. When distributing a compiled Hollywood program, plugins required by your program must simply be put into the same directory as your program. When compiling application bundles for macOS, plugins need to be put in the "Resources" directory of the application bundle, i.e. in MyProject.app/Contents/Resources. Alternatively, you can also choose to link plugins into your executables. Hollywood plugins use the extension *.hwp. See Plugins for details.


Show TOC