TNT Map31 Officially fixed in some versions

I have read numerous times about the bug with TNT map31. Specifically that the yellow key is flagged as multiplayer only. I have also read that it has not been fixed in any official id IWADs and that the closest to an official fix is the patch on the TNT website.

Anyway, it's been ages since I played that map but I was just buzzing around on it in GZdoom and, lo and behold, there was a yellow key in front of me. Now, I know that (G)Zdoom has the ability to apply some compat options on the fly for maps that need them and I thought that, maybe, the flag was getting set auto-magically by GZdoom. So, I quickly fired up an old version of Zdoom that was released long before this ability was in and... the yellow card was still there.

So, I loaded tnt.wad up in DeePsea and went to map31 - the key was flagged in the way it should be (ie, it was not bugged and was correctly set to appear in single player). Funny, I thought, perhaps I fixed the IWAD myself at some point. So, I checked the date: 14 November 1996, 14:10:34. If I'd fixed the file, surely it would have a newer date than that?

So, time to check the version on the CD. This was where the mystery was semi-solved. On my id Anthology disk is a version with the date/time stamp 26 November 1996, 17:17:04. In that version, the key is flagged correctly to appear in single player (ie it is fixed - no bug). On my original Final Doom disk, the IWAD has a date/time stamp of 06 June 1996, 12:45:02 and the yellow key has the bug.

Why do I say that the mystery was only semi-solved? Because neither of these files have the date stamp of the one on my hard drive. The ones on the disks that I checked were just the ones sitting uncompressed on the CD. Further checking was required. I needed to actually run the install program on the Anthology disk. However, doing so under DOSBox on Vista 64bit date stamped the file for today. No advance. I don't have a suitable machine handy to run the install under native DOS ATM, so I can't check that any further.


So, anyway, I have no idea why the IWAD on my HD has a date stamp of 14 November 1996 but I have no recollection of ever having patched it. The main point of this post, however, is that, contrary to popular opinion, there is at least one, and possibly more, officially distributed versions of TNT.WAD with a correctly flagged yellow key. The original distribution disk has the bugged version but my Anthology disk has a fixed version. I don't know about the Collectors edition because I didn't buy that, but obviously it is newer than Anthology. Equally, I have no idea about the s... s... s... steam (there, I said it :P ) version.




Further info:
From the install program on the id Anthology disk
18654796 bytes
checksum
1d39e405bf6ee3df69a8d2646c8d5c49

The one sitting uncompressed on the CD has exactly the same values.

The one from my hard drive also has exactly the same values.


The one from my Final Doom CD (uncompressed version)
18195736 bytes
checksum
4e158d9953c79ccf97bd0663244cc6b6

Share this post


Link to post

4e15 (for short) is the checksum for the official TNT version, and the one you get from Steam. There's an unofficial patch out there that fixes the yellow key bug, but the resulting file's checksum is 677605e1a7ee75dc279373036cdb6ebb.

Would you mind using bsdiff to create a patch from 4e15 to 1d39?

Share this post


Link to post

Thanks. The size difference is intriguing as well. There must be more than just a different flag on a map object.

Share this post


Link to post

Yeah, I wondered about the size difference too. Could it just be wasted space?

[edit] Opening it and resaving it with DeePsea (which automatically clears up wasted space) reduces the size to 18,193,218 bytes so it could well just be wasted space. [/edit]

[edit2] doing the same with the Final Doom version reduces it to 18,192,674 bytes [/edit2]

Share this post


Link to post

Heh that's really fucked up. I checked my TNT.WAD from Replay's Final Doom CD, and it matched the June 6 file with MD5 of 4e158d9953c79ccf97bd0663244cc6b6.

Share this post


Link to post
Enjay said:

On my id Anthology disk is a version with the date/time stamp 26 November 1996, 17:17:04. In that version, the key is flagged correctly to appear in single player (ie it is fixed - no bug). On my original Final Doom disk, the IWAD has a date/time stamp of 06 June 1996, 12:45:02 and the yellow key has the bug.

What build does DOOM.LOG identify your disk as? Mine's Build #2, dated 20-Nov-96 and has the unpatched wad.

Share this post


Link to post

I wonder where the different size comes from. At first, I thought, mabye id rebuilt the wad with their own tools, but opening the wad in a HEX editor reveals that both versions were built with the same Deutex version.
I guess, if we extract the entire IWAD with deutex, we could find what resources differ.

Share this post


Link to post

I can't check doom.log ATM but will when I get home.

As for the size, I suspect that it is just wasted space. As I said above, just opening it and resaving it in a util that clears out wasted space in a WAD brings the size down to something pretty close to the other version.

Share this post


Link to post
Enjay said:

As for the size, I suspect that it is just wasted space.

If the only difference is the replacement of a fixed wad, shouldn't deutex (same version) still build an IWAD of the same size? That doesn't explain such a huge difference.

Share this post


Link to post

Dunno, lots of WAD tools increase the file size when manipulating WADs. I don't really know why it happens, but it does. I'm going to guesss that it is something like the data isn't actually removed/overwritten in the WAD when a replacement lump is added. Perhaps the new data is just added without removing the old data and the index for the WAD only knows about one of the entries so that's the one that gets used. However, the data for the other one may still partially be there and therefore increase the WAD size.

Tools like cleanwad were written to remove such wasted space and other tools, such as DeePsea, also do it.

Share this post


Link to post

I just tested with Deutex 3.4 and rebuilt both. I got an identical build of the old tnt.wad. The new tnt.wad was only a few bytes larger.
So I checked what lumps exactly differ:
The new one has an additional _DEUTEX_ lump which increased the size a few bytes. The only other changes are MAP10 and MAP31. While MAP31 stays the same size, MAP10 was increased by another few bytes.

Share this post


Link to post
GreyGhost said:

What build does DOOM.LOG identify your disk as? Mine's Build #2, dated 20-Nov-96 and has the unpatched wad.

My doom.log file said:

TITLE: DOOM CD COLLECTION FOR ID ANTHOLOGY
BUILD#: 2
DATE: 11/20/96


So, same as yours despite the fact that we clearly have different IWADs.

Share this post


Link to post
Enjay said:

I have no idea about the s... s... s... steam (there, I said it :P ) version.


Confirmation: Yellow key is set as multiplayer only on the steam version of TNT's map31.

18,195,736 bytes

Share this post


Link to post

Well, this is very odd then. It would appear that for a very limited time a few, but not all, id Anthology disks were made with fixed yellow keys on map31 but then subsequent releases went back to the previous, more bugged, version of the IWAD. :/

Share this post


Link to post

Nice find! I think the biggest mystery is how did they passed that horrible bug when they released the game.

Personally I fixed the wad myself inserting the raw entries in the proper place to the iwad (in a way that didn't turn tnt.wad into a pwad).

What about DOOM Collector's Edition? As far as I know is the latest pack of id that includes TNT.wad

Share this post


Link to post

I did a closer look at MAP10:
- The new one has only 1 sector marked secret, while the old had 5, all in the same corner of the map. The sectors are identical in any other aspect. Since Vanilla Doom only shows the percentage, it is unlikely to ever notice the difference there. But since most source ports have a message when a secret is discovered, you would notice. Is it possible that id actually stumbled on this "bug", which is less harmful than a misaligned texture, and didn't notice the much more serious issues already pointed out?
- The nodes are different.
- Also reject differs slightly, probably due to rebuilt nodes.
- vertexes differ due to a few more subsectors, but not in regards to actual map geometry.
Linedefs, sidedefs and things don't differ.

Share this post


Link to post
Vegeta said:

What about DOOM Collector's Edition? As far as I know is the latest pack of id that includes TNT.wad

Just the original un-patched IWAD:
$ TZ=UTC ls --full-time /usr/local/share/games/doom/tnt.wad
-rw-r--r-- 1 root root 18195736 1996-06-06 20:00:02.000000000 +0000 /usr/local/share/games/doom/tnt.wad
$ md5sum /usr/local/share/games/doom/tnt.wad
4e158d9953c79ccf97bd0663244cc6b6 /usr/local/share/games/doom/tnt.wad

Share this post


Link to post

Since the Anthology version has fixed the tnt31 bug I wonder if they have fixed the bugs in doom2.wad as well ?

Share this post


Link to post

Hey Enjay check for this.

tnt.wad MD-5: 1D39E405BF6EE3DF69A8D2646C8D5C49
plutonia.wad MD-5: 3493BE7E1E2588BC9C8B31EAB2587A04
doom2.wad MD-5: 25E1459CA71D321525F84628F45CA8CD
doom.wad MD-5: C4FE9FD920207691A9F493668E0A2083

mac tnt.wad MD-5: 1D39E405BF6EE3DF69A8D2646C8D5C49
mac plutonia.wad MD-5: 3493BE7E1E2588BC9C8B31EAB2587A04
mac doom2.wad MD-5: 25E1459CA71D321525F84628F45CA8CD
mac doom.wad MD-5: C4FE9FD920207691A9F493668E0A2083

tnt exe MD-5: CCD2769F32B38D74D361085E905D8F9C
plutonia exe MD-5: CCD2769F32B38D74D361085E905D8F9C
doom2 exe MD-5: E2382B7DC47AE2433D26B6E6BC312999
udoom exe MD-5: 742A5F9953871687341E3794468894D8

plutonia dm.dat MD-5: 2547E53216867E98DE335683A95AF1C3

I think I have the same cd.

I got two id anthologys to compare one old and one new.

The only thing that is different is the doom cd.

The old id anth have the new final doom wads on mac and the new id anth have both new wads for pc and mac.

Tnt the wad and exe are updated.

Plutonia the wad and exe and dm.dat are updated.

Share this post


Link to post
digger said:

Tnt the wad and exe are updated.

They updated the exe? What did they change? The transporter z bug maybe? Is it still v1.9? I don't have access to my CD at the moment.

Somewhat related is the Quake CD. I noticed that the boxed Quake CD is different to the CD included in the id Anthology. Eventhough, they show the same version number.

Share this post


Link to post

This is intersting stuff. Clearly a little bit more than just map31 of the WAD was altered.

What I find really odd is that they must have decided the thing needed to be fixed and actually went ahead an did yet but then they promptly forgot about it (or whatever the reason was) and went back to an older, buggier version for newer distributions. :/

Share this post


Link to post
Enjay said:

they promptly forgot about it (or whatever the reason was) and went back to an older, buggier version for newer distributions. :/


This could very well be the result of purists complaining that it broke existing demos and the such.

Share this post


Link to post

Didn't stop previous updates for Doom/Doom 2 from being released. Plus the difference between the regular, original tnt.wad and the one in Enjay's id Anthology is only five months, I doubt there would have been many demos for people to complain about...

Share this post


Link to post

plutonia.wad MD-5: 3493BE7E1E2588BC9C8B31EAB2587A04

The IWAD from my Collector's Edition disk is:

Plutonia.wad
Size: 17420824 bytes
Modified: Thursday, June 06, 1996, 9:43:34 PM
MD5: 75C8CF89566741FA9D22447604053BD7
SHA1: 90361E2A538D2388506657252AE41ACEEB1BA360
CRC32: 48D1453C

Share this post


Link to post
MikeRS said:

Didn't stop previous updates for Doom/Doom 2 from being released.


The difference is that those updates were also bound to (and marked/milestoned) different versions of the vanilla .exes themselves, which were demo-incompatible by definition. In that case, the demoscene moved on.

However, there was never an instance of an IWAD-only fix that became demoscene-standard, and this fix isn't bound to the release of a new .exe version (it's not 1.9a, or 1.9b, or 1.91 or anything. It's still 1.9 which makes things ambiguous).

The yellow key fix clearly falls in the last case: it's purely an IWAD fix although there seems to be something "rotten" about certain .exes too, probably to make them aware of modifications to the modified IWADs (length awareness, perhaps?).

I doubt the demoscene would bother splitting over "TNT -nofix" and "TNT -fixed" even if the correction was made more explicit back in the day, but it would be better if a demoscener who witnessed the fix on time (back in the day) had his say.

A simple way to witness this would be to see if a full TNT speedrun (without the secret levels) breaks under the fixed IWADs and exes. Chances are that it will, even if you don't play the offending MAP31. The fact that the .exe is still called v1.9 doesn't help, either.

Share this post


Link to post
Maes said:

This could very well be the result of purists complaining that it broke existing demos and the such.

Unlikely. We would be stuck with Doom v1.1 then, wouldn't we?
And since they didn't stop us making downgrade patches, this would be no issue to begin with.
Of course, they could have changed the version number, too.

MikeRS said:

I doubt there would have been many demos for people to complain about...

Since the old version is still wide spread for unknown reasons, and since MAP10 has different nodes and reject table (despite the map geometry hasn't changed), it will almost certainly break demos.

It is really surprising, that those differences weren't discovered in the demo scene already.

Share this post


Link to post
LogicDeLuxe said:

Unlikely. We would be stuck with Doom v1.1 then, wouldn't we?


AAARGH @ reading comprehension failure

Read my previous post:

the other versions of doom marked differences in both the IWAD and EXE, this one only marked a difference to the IWAD, while the .exe version remained the same, and this potentially invalidating all demos. There was never an IWAD-only fixes version before. Plus it was not universally supported. It was not marketed as v1.91 or something, it was still v1.9, so which one is the demoscene supposed to follow?

This one is more of a hack to v1.9, and as you probably know, hacks are seldom accepted as demoscene material.

Share this post


Link to post
This topic is now closed to further replies.