Hugor - A portable Hugo engine
Written and maintained by Nikos Chantziaras <realnc@gmail.com>

"Hugor" stands for "Hugo Runner."  It plays adventure games created with
Kent Tessman’s Hugo authoring system:

  http://ifwiki.org/index.php/Hugo

All multimedia features of Hugo are supported: video, graphics, audio
samples and music.

Hugor runs on all current major operating systems (Linux, MacOS and
Microsoft Windows).  You can find binaries at:

  http://ifwiki.org/index.php/Hugor

The source code is hosted at:

  https://github.com/realnc/hugor

If you have questions, you can use the intfiction.org forum:

  https://www.intfiction.org

or the Jolt Country forum:

  https://www.joltcountry.com/phpBB3


Installing on Gentoo Linux
==========================

If you're on Gentoo Linux, or a Gentoo-based distro that supports layman
overlays, you can install Hugor by enabling the interactive-fiction
overlay:

  layman -a interactive-fiction

You can then emerge Hugor like any other package:

  emerge -a hugor


Compiling from source
=====================

(NOTE: These instructions are for Unix systems (Linux, macOS, *BSD, etc.)
On Windows, you're on your own. The official Windows binary for Hugor is
built in Linux, using an MXE [https://mxe.cc] toolchain.)

If you wish to build from source, you will need the development packages
for the Qt library. At least Qt 5.5 is required. 5.6 or newer is *highly*
recommended, preferably 5.9 or newer.

For audio support, you will need development files for:

  SDL 2
  libmpg123
  libopenmpt or libxmp or libmodplug
  libsndfile
  libfluidsynth (version 2.x; 1.x will not work)
  libADLMIDI (optional; it plays MIDI through OPL3 emulation)

Video is supported through LibVLC or GStreamer.

LibVLC is the recommended backend, and it is usually installed as part of
the VLC media player on Linux.  It should be detected though pkg-config.
The LibVLC ffmpeg/libav plugin needs to be installed (which is the case by
default on pretty much every Linux distro.)  When building on macOS or
Windows, I wish you good luck...  You need to make sure the LibVLC
libraries and headers are available through pkg-config.

When using GStreamer instead of LibVLC, you will need the correct
GStreamer plugins/codecs installed and their development files. Having the
ffmpeg or libav plugin installed should be enough.

If all dependencies are available, you can build and install Hugor with
the following commands:

  qmake
  make -jN

Substitute the 'N' in '-jN' with the amount of CPUs or cores in your
system in order to utilize all of them for a faster compilation process.

This will build Hugor with audio and video support, with LibVLC as the
video backend and libopenmpt as the MOD music backend.

On macOS, this will create an application bundle (Hugor.app) that you can
run. You can also move it into /Applications. You might want to run the
"macdeployqt" command-line tool (comes with Qt) on the app bundle in order
to copy needed libraries into it.

On other Unix systems, you can install into /usr/local with:

  make install

To specify a different path, you should pass PREFIX to qmake prior to
installing:

  qmake PREFIX=/some/other/directory

To disable audio support, use:

  qmake -config disable-audio

(Note that SDL2 is still needed for video support, even if audio is
disabled.)

To disable video support, use:

  qmake -config disable-video

To disable both audio and video:

  qmake -config "disable-audio disable-video"

The recognized config options are:

  xmp            - Use libxmp instead of libopenmpt
  modplug        - Use libmodplug instead of libopenmpt
  adlmidi        - Enable OPL3 emulator (requires libADLMIDI)
  gstreamer-1    - Use GStreamer 1.x instead of LibVLC
  gstreamer-0    - Use GStreamer 0.x instead of LibVLC
  disable-audio  - Disable audio support
  disable-video  - Disable video support

The recognized installation directory options are:

  PREFIX   - Install prefix. Default is /usr/local.
  BINDIR   - Default is PREFIX/bin.
  DATADIR  - Default is PREFIX/share.
  DOCDIR   - Default is DATADIR/doc/hugor-version
