Standalone release guide

From MZXWiki
Jump to navigation Jump to search

Getting Started

Download a fresh copy of the latest version of MegaZeux and extract it to a new folder.

Which architectures do I need to release under?

Releasing simply a copy of Windows x86 should be enough to satisfy the majority of people who will play your game. For Mac OS X users, it is recommended that you use the Universal DMG. Standalone releases for Linux platforms are not recommended, as most Linux users will be able to figure out how to use MegaZeux normally and play the standard release of your game.

Which files do I need to include?

These are the only files mandatory to run a MegaZeux game--all other files can be safely deleted for your standalone release. Please note that as of MegaZeux 2.84c, several features will not correctly work from this setup, including the editor, help file, and updater.

mzxrun.exe        (this can be renamed or have the icon changed)
core.dll          MegaZeux core library
sdl.dll           SDL library (2.80 to 2.84c)
SDL2.dll          SDL library (2.90+)
config.txt        Config file (see #Configuration).
assets/           Most of this directory is mandatory. For best results include the entire thing; otherwise, MZX will fail to start.

docs/COPYING.DOC  Mandatory to fulfill GPL 2.0 requirements (2.80 to 2.90d)

LICENSE           Mandatory to fulfill GPL 2.0 requirements (2.91+)

In addition to including the license in your release, it is recommended that you provide a link to http://digitalmzx.net/ on any other website your game is released to, as releases of GPL software such as MegaZeux must have accessible source code.

Only use files from the same release of MegaZeux; e.g., do NOT mix "mzxrun.exe" and "core.dll" or "assets/" from different releases of MegaZeux. Do not modify these files unless you know what you are doing, and NEVER modify the license file (unless you are renaming it to "LICENSE.MEGAZEUX" or similar).


Can my release to DMZX include these files?

Yes. Still, it should include all of the files listed above and a link to the MegaZeux source somewhere in your game's archive.

Configuration

Your game can be further integrated into MegaZeux by the following config.txt options:

startup_file      Specifies a local path from the startup path to a .MZX file.  This file is loaded automatically upon starting MegaZeux.
startup_path      Specifies a relative or absolute path for MZX to startup in. May be necessary for some platforms.
standalone_mode   See below.
no_titlescreen    See below.

Standalone mode disables the load world menu (L/F3), causes the counters ESCAPE_MENU, HELP_MENU, F2_MENU, LOAD_MENU, ENTER_MENU, EXIT_GAME to work on the title screen, and adds the new function counter PLAY_GAME which, when set, causes MZXRun to enter the gameplay state. When the no_titlescreen option is enabled AND standalone_mode is enabled, MZXRun will immediately enter the gameplay state on startup (completely bypassing the titlescreen). Using EXIT_GAME or the escape menu will cause MZXRun to exit entirely instead of changing to the titlescreen state.

See the config.txt that ships with MegaZeux 2.90+ for more information on these features.