The POLITIC.PAK is used by Daggerfall to determine in which region of the Iliac Bay a coordinate defined by WOODS.WLD belongs. These two files are used in conjunction by Daggerfall.

Grey-scale output of POLITIC.PAK

General FormatEdit

The file consists of a contiguous list of UInt32 offsets, followed by a contiguous list of PakFile structures.

CLIMATE.PAK coarse structure
OffsetList
PakFileList

OffsetListEdit

This is a contiguous list of UInt32 offsets. Since the PakFile data immediately follows this list, the length of the list can be implied by the current position within the file. Each element is relative from the start of the list. Each offset points to a PakFile structure within the file. The OffsetList is 500 elements in count, one for each row of output pixel data, and editors should preserve this format by encoding one row at a time. The offsets are not required to be in any particular order; that is to say Offsetn may be greater than Offsetn + 1. Editors should be prepared to accept offsets in any particular order. Editors should save the data in offset-sorted order.

PakFileListEdit

Immediately following the OffsetList is a contiguous list of PakFile strucures, one for each element of the OffsetList. Since no PakFile structures overlap, the length of each element can be implied by the OffsetList. Each PakFile structure begins at a location specified by an element of the OffsetList. Each PakFile structure decodes as 1001 bytes, one for each column in the output bitmap, and editors should ensure this by encoding each row of data as a separate PakFile structure.

RegionEdit

Decompressing and concatenating all the PakFiles together results in a 1001x500 pixel bitmap, which corresponds to the 1000x500 map in WOODS.WLD. The values of this bitmap include 64, 128, 129, 132, 133, 137, 139, 144-152, 154, 160-189, and 233*. Each value implies a specific Faction "owns" or "occupies" that pixel.

For values from 128 through and including 233, subtract 128 from the value and to derive the Region Number for that pixel.

Value 64 is associated with all water terrain.

Reading POLITIC.PAKEdit

One merely reads the OffsetList, stopping when the current file position is within the range of values specified by the OffsetList. At this point one may begin computing the size of each PakFile structure contained. Now one may seek to each position within the offset list and begin decompressing the PakFile structures as per standard PakFile logic. It should be remembered that each element is a separate PakFile for purposes of decompression.

Once the data has been decompressed and concatenated, one may use the above look-up table to determine which Faction claims the given location.

NotesEdit

*The value 233 implies region #105, which does not exist in the defined Region within the MAPS.BSA file. Entering any area not defined within MAPS.BSA will crash the game. This value has been corrected via a patch available here.