TESPort
is a free utility to help you port (convert) the essential features of any mod written for Morrowind to Oblivion.
Essentially it is an ESM/ESP convertor from TES3 to TES4 and will create an Oblivion compatible copy of the original mod
including all the external cells, landmass, vertex colour shading, Oblivionized landscape textures, all NPCs,
common Oblivionized inventory for those NPCs, Books, Quests, Journal entries and Global Variables.
The output is put in a file called TESPORT.ESP; an Oblivion (TES4) compatible plugin file and the landmass is put into
a new worldspace called TESPORT, which you may later rename in the Oblivion TES Construction Set (TESCS).
Since this is a complete reverse-engineering job without assistance, not every feature of TES3 will be imported (indeed some TES3
features simply aren't supported in TES4).
Please note this is presently a Console application only, though it is trivial to use.
To see screenshots of Morrowind and Ynys Mon automatically 'Oblivion-ized' - Click here!
tesport myfile.esp
Downloads | File |
TESPort (Current development version - 0.25) - 22-February 2007 | TESPort-0.25.zip |
TESPort parses each record in a selected TES3 (Morrowind) master or plugin file looking for specific records, GLOBs (global variables),
NPC_s (Non Player Character statistics, including inventory), external CELLs and LAND (the former contains details for each point on the
world-grid including placed items and NPCs, the latter contains the land-height, vertex normals and applied texture settings) and BOOKs (obvious!)
and writes a TES4 version of each record with a group header. For NPC_ and LAND records, Oblivion expects the data to be compressed with ZLIB.
DIAL and quest INFO records are accumulated into QUST records.
Since each TES4:Oblivion cell contains only 32x32 grid points - that's 4 times smaller than TES3:Morrowind's 64x64 cell format, TESPort
generates 4 cell records for later use; as a result, for example, a cell at co-ords (5, 6) in Morrowind will cover 4 cells in
Oblivion: (10, 12), (10, 13), (11, 12) and (11, 13).
TESPort then looks for the LAND record. Each LAND record has to be split up in to 4 records containing the vertex normals (VNML), vertex height gradients (VHGT),
vertex colour shading (VCLR) and vertex texture (VTEX) data. The VNML and VCLR data is re-arranged in to 4 smaller grids. The VHGT data is also arranged in to 4 smaller
grids, but 3 of the cells have recalculated cell offsets and the edges of these cells are recalculated so there are no join gaps. The TES3 VTEX data (a 16x16 grid,
arranged in sets of 4x4) is arranged in to a logical (X-Y) 16x16 grid, blown up to 34x34, then 4 sets of 17x17 texture points are processed for each cell. Each TES3 texture
number is matched to a TES4 FormID number via a lookup file and a sequence of TES4 compatible ATXT-VTXT records is created. 4 LAND records are then generated, compressed with ZLIB format into an Oblivion compatible LAND record and for each of the 4 CELL-LAND
combination; a cell record, 2 cell child group records and a LAND record are written to TESPORT.ESP.