                                    EXULT
                                    =====

WHAT IS IT ?
------------
EXULT lets you, to some extent, play Ultima 7 natively under Linux,
Windows, and possibly other platforms.  It is released under the GNU 
General Public License, and source code is available.

See the "NEWS" and "ChangeLog" files for the latest changes.

IMPORTANT: Make sure you have a valid configuration file (see below).
Run "exult" on a clean installation of Ultima7; "exult" should either be
installed in a directory where you see the "static" subdirectory or the 
configuration file should point to the static directory.  "Exult" will
create the "gamedat" directory and files the first time you run it.  And al-
though I've tried to be safe about this, I don't recommend trying it on a
game which you're actually in the middle of playing.

CONFIGURATION
-------------
Exult keeps a configuration file. You can specify where your Ultima 7
installation is, whether you want full-screen graphics, or windowed, and
midi devices and midi settings. Some of these options can be set from the
"Setup" menu when you run Exult.

If you do not already have a configuration file, Exult will make one for you
filling in sensible defaults by itself. The location of this file varies slightly. On unix systems
you can expect to find it in $HOME/.exult.cfg while other operating systems
will probably locate it as 'exult.cfg' in the same directory as the exult
binary. However it is recommended that you edit this file by hand to achieve
optimal results for your system.

The file uses a simple hierarchical XML-like syntax, which should be simple to
understand and modify. Take care though. Handling of syntax errors in this file
is not well tested.

Here is an example exult.cfg:

<config>
 <video>
  <fullscreen>
  no
  </fullscreen>
 </video>
 <gameplay>
  <cheat>
  no
  </cheat>
  <skip_intro>
  no
  </skip_intro>
 </gameplay>
 <disk>
  <game>
   <blackgate>
    <path>
    /home/user/mystuff/ultima/u7
    </path>
    <title>
    black_gate
    </title>
   </blackgate>
   <serpentisle>
    <path>
    /home/user/mystuff/ultima/si
    </path>
    <title>
    serpent_isle
    </title>
   </blackgate>
  </game>
 </disk>
 <audio>
  <speech>
   <enabled>
   yes
   </enabled>
  </speech>
  <midi>
   <kmidi>
    <device>
    5
    </device>
   </kmidi>
   <enabled>
   yes
   </enabled>
  </midi>
 </audio>
</config>

VIDEO
-----
By default Exult runs at 320x200 (which is the resolution the original
Ultima VII used). Exult uses the 2xSaI scaling engine by Derek Liauw to
double the size to 640x400 and increase the quality of the graphics.
More information on this excellent scaling engine is available at 
http://members.xoom.com/derek_liauw/
Your screen should be set to 16-bit color mode, and you need to
add the following to the <video> section of .exult.cfg:

   <width>
   320
   </width>
   <height>
   200
   </height>
   <scale>
   2
   </scale>

Within the game you can use the "ALT +" and "ALT -" to switch 
resolution/scaling modes. The game will save the last selected mode and reuse
it the next time you run Exult.

AUDIO
-----
Exult can play the Ultima VII's speech through SDL, and its own
internal mixer. Configuration is managed through Exult's configuration file.
Support for sound effects has been implemented, but the output may not be
what is expected, as the original sound effects cannot be reproduced directly.

MIDI
----
MIDI audio is available for both Linux and Windows users.
Exult automatically remaps the Ultima VII Midi music (which is in the XMIDI
format) to GM/GS instrument mapping, so the end result should be as close as
(or better) than the original.

COMPILING
---------

Exult uses the multiplatform library SDL by Sam Lantinga of LokiGames.  
SDL provides low-level graphics, timing and sound capabilities.
Windows, Be and Mac ports are much easier now.

Unusual library dependencies
----------------------------
   Some of you may have SDL or other libraries that have been compiled with
unusual or inappropriate dynamic link paths. This typically affects linking
with the X11 libraries. You can add:
        --x-libraries=/usr/X11R6/lib

(or whatever your X11 library path is) to the configure command-line to get
around this problem.

Requirements:	Ultima7 must be installed and visible.  The "exult" executable
		should be placed in the top-level u7 directory (where "static"
		appears as a subdirectory).

		Your X display must be in 8-bit or 16-bit color.
		(24-bit is left as an exercise to the user :-)).

Installation:	Refer to the INSTALL file in the source distribution

Caveats:	The program is a memory hog.  Really makes me appreciate
		Origin's accomplishment in making it run under DOS.

		I'm not sure if the program works with a 2-button mouse.

Running:	Hold right mouse button down to move Avatar.
		Click on objects with left button to identify them.
		Double-click on characters to hold conversations.
		Double-click on doors, shutters with left button to open or
			close them.
		Arrow keys scroll around the "universe".
		'q' quits.
		'p' repaints the screen.
		'i' brings up inventory.
		'l' cycles through the "lift factors", causing roofs to
			disappear so you can see inside buildings.
		'+' brightens the palette.
		'-' darkens the palette.

Credits:	The paper by Gary Thompson on the structure of the U7 data
		files was crucial to the early development of Exult.

		Work by Maxim Shatskih, Jakob Shonberg, and Wouter Dijkslag 
		made the "usecode" interpreter possible.
		
		Thanks also go to the person who wrote u7items.txt and the
		contributor of the "avatar.ttf" font.



CONTACTING US / GETTING MORE INFORMATION

You can contact the Exult team and/or get more information from:

	http://exult.sourceforge.net/
or
	http://sourceforge.net/projects/exult/




-- The Exult Team

