“Boxes” objects are rectangles whose four horizontal-coordinate values are uint8_ts in TR2 and int32_t's in TR1.

“Zones” objects have 10 int16_ts in TR2, but 6 int16_ts in TR1

In TR1, [tr_entity] is like the TR2 version, but with only one light intensity.

The TR1 colour table has the same format as the TR2 colour table, but it is located between the LightMap and the cinematic frames.

SoundMap is 370 int16_ts in TR2, but 256 int16_ts in TR1.

Between SoundDetails and SampleIndices, TR1 has all the level’s sound samples, in the form of embedded Microsoft WAVE files. Just before these samples is the total number of bytes in those sound samples, which is a int32_t.

Changes in TR2 vs. TR3

After the two room-light intensities, TR2 has a lighting-mode value, which TR3 lacks.

Also in [tr3_room], TR3 has 3 extra bytes at the end, which are WaterScheme, ReverbInfo and null filler.

Differences between “normal” TRs and Demos

Presumably as a form of copy protection, the demo versions of some of the TR games use levels that are slightly different from those in the retail versions. However, those that have been found are all data rearrangements, as explained below.

The TR1 and Unfinished Business (.TUB) demos have their palettes moved to between the SpriteSequences and the Cameras.

The TR2 “Wall” demo, and maybe also its “Venice” demo, has its LightMap (8K) moved to between the SpriteSequences and the Cameras. It also has its SampleIndices content replaced by the soundfiles, though the associated number of them remains unchanged (the number of indices becomes the number of samples).

That demo also has its own version of TOMBPC.DAT, called DEMOPC.DAT, which appears to have the exact same format as TOMBPC.DAT.

The Version field of TR4 levels is 0x00345254 (“TR4\0”) for normal game and 0x63345254 (“TR4c”) for demo.