Mod Text Merger version 1.1 by Vasiliy
--------------------------------------
(sorry for my bad english)

This program is for replacing the text in the some records in the morrowind mods.
The main usage is for import translated text back to the mod.

How it work: it load mod and textual file of importing. In the mod it scan all records, detect
record's ID, then such ID search in the import file, and if located, then replace original text
to text specified in the import file. The text replaced in various subrecrds - it is depended
from  the record type. The results writes to the file '_out.es?' to the same directory as original
mod.

The import file format is very simple. It is textual file. One line - one record. And looks like
INFO:1234567890=bla bla bla
where, part before '=' is specified record's type and ID divided by ':'. String, immediately after
the '=' and up to the end of line, will be written down to the mod.

This files can be generated by my other programm - Mod Info. Load mod, do searches in master files,
then use command Menu -> Export -> Export For Translate. The command Menu -> Info -> Check Info
Hyperlink also generate such strings, but only for changed INFO records with broken hyperlinks (and
the text  takes from the master files - not from mod). 

What more? ... The records in import file always should be in one line. If the text contain the
CRLF symbols, replace them with a symbol with a code 0x7f.

List of processed records and subrecords in them:
ACTI FNAM
ALCH FNAM
APPA FNAM
ARMO FNAM
BOOK FNAM
BSGN FNAM
CLAS FNAM
CLOT FNAM
CONT FNAM
CREA FNAM
DIAL NAME
DOOR FNAM
FACT FNAM
GMST STRV
INFO NAME
INGR FNAM
LIGH FNAM
LOCK FNAM
MGEF DESC
MISC FNAM
NPC_ FNAM
PROB FNAM
RACE FNAM
REGN FNAM
REPA FNAM
SPEL FNAM
WEAP FNAM

The algorithm.
--------------
First step - load mod into the memory, scan it and create records's ID list.
The second - load import file. In this file the program check the consistency of the import file.
For example most of records allows only 32 chars in the text. If any troubles founded, program
writes this into a log and disable the "Go" button. In this case you need correct import file and
reload it again.

Third step - import texts into the mod and save result to output file. The processing start from
first record and walk up to the end in the order, as it located in original mod. For each record
ID the programm do search same ID in the import table. If type and ID was located, then in this
record writes the text (in apropriate subrecord). If type and ID not located, then the record will
saved to the output without changes.

There is two possible problems:

1. If the record ID contain symbols '=', then it may be recognized incorrectly. Just delete those
lines from the import file (and edit it manually later).

2. If several records have same ID (it may be for INFO records), then in the import file was
located only first entry. And all of this records will take same changes.
Also remove this situation from import file. Mod Info can help you to know what IDs is not uniq.

PS: for the program there is not matter - is the input file is the mod, or master file...
 
--------------------------------------------------------------------------------------------
SOFTWARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.

AUTHOR DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH
RESPECT TO THE PROGRAM. THE END-USER ASSUMES ALL RISK AS TO THE SUITABILITY, QUALITY,
AND PERFORMANCE OF THE PROGRAM. IN NO EVENT WILL AUTHOR, OR ITS DIRECTORS, OFFICERS,
EMPLOYEES OR AFFILIATES, BE LIABLE TO THE END-USER FOR ANY CONSEQUENTIAL, INCIDENTAL,
INDIRECT, SPECIAL OR EXEMPLARY DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS,
BUSINESS INTERRUPTION, LOSS OF DATA OR BUSINESS INFORMATION, AND THE LIKE) ARISING OUT
OF THE USE OF OR INABILITY TO USE THE PROGRAM OR ACCOMPANYING WRITTEN MATERIALS, EVEN
IF AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
--------------------------------------------------------------------------------------------

Send your comments and suggestions to vasiliy73@mail.ru
With best regards, Vasiliy.