Nov. 7, 1994

Polymodular Techno-Soft 
UltimaEdit Ver. 2.0

Original c++ file cipher taken from UW2E23.EXE written by Terry Orr
compuserv 71140,633.

New interface and utilities written By Scott Dillman
(internet: wsd@world.std.com)
	Using:

			      ObjectEase v3.0

	      (c)Copyright 1992 - David S. Reinhart Associates
		  1004 Marticville Rd. Pequea, PA  17565
			      (717) 284-3736

UltimaEdit is a character editor for Ultima Underworld II.

This program is freeware and may be distributed freely to anyone, but
may not be sold.

System Requirements:

AT 286 with VGA graphics and a MS compatible mouse.

Legal Stuff:


Instructions:

IMPORTANT: Back up your saved games before using this utility.
	   I have never had any problem with the editor, but is doesn't
	   hurt to be on the safe side.

	The files that hold the character's attributes are located 
in sub-directories under the uw2 directory.  These directories are labeled
save1, save2, save3, and save4.  The names of the directories correspond to
the saved positions in the game.  In each of these directories there is a
file named 'PLAYER.DAT' this is the file that holds all the attributes.
	To use the editor place the file uw2edv20.exe anywhere you would
like.  I put it in the uw2 main directory.  After moving the file, start the 
editor by typing UW2EDV20.  At startup the program will automatically backup 
your original "PLAYER.DAT" file to a file called "PLAYER.ORG".  If you get 
into trouble restore the file by re-naming "PLAYER.ORG" to "PLAYER.DAT".  
A graphic screen will appear with the PMT logo.  Hit the return key to 
continue.  You now will be presented with a file dialog box.  Use the box 
to choose the 'PLAYER.DAT' file you wish to edit, click on OK to continue.
The program will display two panels.  One with all the known bytes 
and one with all the unknown bytes.  All the bytes can be edited and saved. 
Move the mouse cursor over one of the fields. If the mouse cursor changes to 
a pencil, that indicates the field may be edited.  Click on the field you wish 
to change.  Hit enter to accept your changes. If no changes are made nothing 
is saved.  IMPORTANT: You must enter a zero for a zero value. Move the mouse
to the "SAVE" button, and the cursor will turn to a disk. Click on the
"SAVE" button to save your changes to disk.  Another file dialog box appears. 
Choose the file you want to save the changes to and click on OK.  Choose the 
"QUIT" button to leave the editor.  The game may also be exited at any time 
by hitting the right mouse button. Remember to save your changes before
exiting. If for any reason the editor locks up, hit the escape key.
	At the top left of the screen there is a pull down menu that
duplicates three of the most used commands ("QUIT", "SAVE", "RESTORE", and
"LOAD"). It also includes the menu item "ABOUT" which tells you a little
about the author and the program.  Remove the about screen by moving the 
mouse cursor across it or by clicking the left mouse button.
	Beside the "QUIT" and "SAVE" buttons there are also ( "RESTORE", 
"TEXT SAVE", "TEXT PRINT", "CREATE INI", and "LOAD") buttons.
	The "RESTORE" button allows you to restore all the original
values of your character from the time you first ran UltimaEdit.  It does
not restore values from recently made changes, only from your original
character that was backed up into the "PLAYER.ORG" file when the
editor was first run.
	The "TEXT SAVE" button is a good way to keep track of multiple
character configurations.  What this button does is write your current
character information out to a text file, for viewing with a text editor. The
file name is a shortened version of the character name.
	The "TEXT PRINT" button is just a version of the "TEXT SAVE"
button, but instead of writing to a file it writes to the printer on LPT1.
	The "CREATE INI" button creates a text file that is read by the
program at startup in order for the user to configure the unknown bytes
as they are discovered.  If the ini file (called "ULTEDIT.INI") is not
found at program startup, the program uses the default setup.
	If you wish to configure the unknown bytes the best thing to do is
run UltimaEdit and hit the "CREATE INI" button.  Exit the program and
use a text editor to make your changes.  The structure of the ini file
is very important.  If there is any deviance from the structure the
program will abort and tell you what is needed to be done. The ini file
looks as follows:

[editini]
byte19= 19:
byte20= 20:
byte21= 21:
byte22= 22:
byte23= 23:
byte24= 24:
byte25= 25:
byte26= 26:
byte27= 27:
byte28= 28:
byte29= 29:
byte57= 57:
byte58= 58:
byte59= 59:
byte60= 60:
byte62= 62:
byte63= 63:
byte64= 64:
byte65= 65:
byte66= 66:
byte67= 67:
byte71= 71:
byte72= 72:
byte73= 73:
byte74= 74:
byte75= 75:
byte76= 76:
byte77= 77:
byte78= 78:
byte79= 79:
[end]

	The number and colon after the label is what is needed to be
changed if you what to configure a byte. For example to change byte 19,
which was labeled "19:" to something like "charisma:", you would edit
the line:

		  byte19= 19:
to be:
		  byte19= charisma:

Be very careful to leave a space after the "=".  When running the
program again, the first line under "unknown bytes" should now read
"charisma:". Also do not create labels that contain spaces, only one
word labels are allowed.
	The "LOAD" button allows you to load any .DAT file you choose.  It
is useful in editing more than one saved postion in a session or if you have
made coppies of you original .DAT file, it allows you to edit these; 
giving you the ability to have more than one character in a saved position.


Helpful Hints:

1.)  Always back up your data before you edit anything.

2.)  To bypass the start up logo screen type: UW2EDV20 S

3.) A swimming value above 60 seems to cause problems.

4.)     "Rune A-H", "Rune I-P", and "Rune Q-Y" represent the Runes of
Magic available in your Rune bag.  These are 8 bit values with each bit
representing a particularly Rune as the following example for "Rune A-
H":

Bit     Rune    Value

7       A       128
6       B       64
5       C       32
4       D       16
3       E       8
2       F       4
1       G       2
0       H       1

	So, if you want only the A Rune, you would set the value to 128.
All Runes would be 255 (just add up the value for the Runes you want).
If you want all the Runes (A thru Y) you would set "Rune A-H",
"Rune I-P", and "Rune Q-Y" to a value 255.

5.)     If you want to experiment with many characters in different saved
locations.  Make your own coppies of the 'PLAYER.DAT' file and give them
different names; like 'PLAYER1.DAT', 'PLAYER2.DAT', etc..   Then using
the load and save features edit these characters the way you want, but
remember the game only recognizes the 'PLAYER.DAT' file so before you load
the game make sure the character you want to test is in the file 'PLAYER.DAT'.

6.)     Only the first 80 bytes of info in the 'PLAYER.DAT' file are of use
to this program.  The rest is other data pertaining to other things in the 
game.  Therefore, it would not be a good idea to mix and match different 
'PLAYER.DAT' files with different saved positions.   Everytime you save
the game it would be a good idea to remove any coppies of the 'PLAYER.DAT'
file you have made at that saved position, and start the whole editing 
process over.  I do not know what will happen if you use an old 'PLAYER.DAT'
file with a new saved position.  It might be nothing but I do not recommend
it.

Revision History:

Ver 1.0:
	Released 11/9/93, worked o.k. but had lots of bugs.

Ver 1.5:
	Released 1/17/94, cleaned up a lot of memory bugs and added     
	support for .ini file, text file output, and  printer output.

Ver 2.0:
	Released 11/7/94, cleaned up the rest of the bugs that I never
	saw until I started using the program again. Added status bar at
	bottom of the screen, and the about menu item.  Added file dialogs
	to make the program directory independent.


Error messages:

	UltimaEdit Error(1): Cannot open/find player.dat

	UltimaEdit Error(2): Error in ini file.
	Erase ultedit.ini, run program again, and choose
	create ini to create an ini file with program defaults.
	Use a text editor to edit the ini file to configure
	the program defaults.

	UltimaEdit Error(3): Unable to detect mouse driver.
	Graphic portion of this program requires a mouse.

Thank you for using UltimaEdit Ver 2.0.
