ultdoomer Posted August 4, 2007 I was reading this page, and under the Final Doom teleport demo desyncs section (near the bottom of the page), it says that there's a comment in the source code that says this: thing->z = thing->floorz; // fixme: not needed?Apparently the entire line was removed for Final Doom. Does anyone know why, if teleporters were working as they should in all versions of Doom before Final Doom, they felt they needed to change it? Just curious. 0 Quote Share this post Link to post
fraggle Posted August 4, 2007 I think somebody was just smoking something dodgy. 0 Quote Share this post Link to post
emailking Posted August 4, 2007 Since the original code has the comment "// fixme: not needed?" presumably some dev assigned to fixing various bugs for final doom saw this, thought about it lazily for a minute, and agreed it wasn't needed, having been prejudiced by the notion that it wasn't. Now who knows why the comment was there to begin with. The function could have behaved differently before when maybe it wasn't quite so clear. And the comment never got deleted. Just an idea. They obviously didn't put *too* much effort into the Final Doom build seeing all the bugs which remain that they must have known about by then. 0 Quote Share this post Link to post
LogicDeLuxe Posted August 4, 2007 emailking said:assigned to fixing various bugs for final doomTell me one bug which got fixed. AfaIk, (besides this teleport oddity) they merely added map names and episode texts. 0 Quote Share this post Link to post
myk Posted August 4, 2007 Yeah, the Final DOOM executable's teleporter handling is simply messed up. The comment may have been added by Bernd Kreimeier when he was merging the three variants and saw that the Final one didn't have the line. 0 Quote Share this post Link to post
andrewj Posted August 4, 2007 Are there any mapping implications of this (e.g. a case where the player would get stuck) ? Judging by the code alone, if the destination floor is lower than the source then the player simply falls down, and if it is higher then the very next P_ZMovement() will reset z to floorz (player hit the ground) and all is well again. 0 Quote Share this post Link to post
RazTK Posted August 4, 2007 So that's why this happens... At first I thought it's intentional :-\ (it's a TNT MAP20 demo) 0 Quote Share this post Link to post
myk Posted August 4, 2007 Ajapted said: Are there any mapping implications of this (e.g. a case where the player would get stuck) ?Other than demo desynchs what you get is a HOM in some cases. 0 Quote Share this post Link to post
Grazza Posted August 4, 2007 Ajapted said:Are there any mapping implications of this (e.g. a case where the player would get stuck) ?A fair proportion of Final Doom demos (e.g. at compet-n, where there are something like 1600 of them in total) were recorded using the Final Doom exe, and I don't recall any instances of players getting stuck as a result of the teleporter bug. At least, if they did, they kept this fact to themselves - you'd normally expect at least a comment and often a "wtf.lmp" to be included if something weird had happened during the recording session. 0 Quote Share this post Link to post
emailking Posted August 4, 2007 LogicDeLuxe said:Tell me one bug which got fixed. Lost Souls didn't bounce off floors and ceilings in Vanilla doom and were supposed to. http://doom.wikia.com/wiki/Demo_desyncing_caused_by_bouncing_Lost_Souls In Ultimate Doom, Final Doom and Doom 95 this bug was fixed... There you go. 0 Quote Share this post Link to post
myk Posted August 4, 2007 emailking said: There you go. Not really, because that was fixed for The Ultimate DOOM, and later they used the "ultimate" source to build the engine for Final DOOM. 0 Quote Share this post Link to post
emailking Posted August 5, 2007 Regardless, it does mean they did try to fix bugs after 1.9. Obviously, the final doom .exe was changed beyond cosmetic stuff, as ultimate doom doesn't have the teleporter bug. I don't think there's anything wrong with the theory I proposed. 0 Quote Share this post Link to post
myk Posted August 5, 2007 emailking said: Since the original code has the comment "// fixme: not needed?" We don't know if that comment was on the original sources, all we know is that the original executables had this difference, and that there's a note in the released source. Obviously, the final doom .exe was changed beyond cosmetic stuff, as ultimate doom doesn't have the teleporter bug. The bug could be due to anything, including an accidental deletion or a five year old playing with a text editor on id's computers. 0 Quote Share this post Link to post
emailking Posted August 5, 2007 I'd give the 5-year old theory about a 0.001% chance. As for my theory, it's just a guess. 0 Quote Share this post Link to post
chungy Posted August 5, 2007 Even if it was a 5-year-old attack, I doubt it would have been their only copy of the source; or that they weren't using a version control (SCCS, RCS, was CVS around back then?) 0 Quote Share this post Link to post
LogicDeLuxe Posted August 6, 2007 The released source code is apparently a branch before Final Doom. Thus, they had at least separate copies for preparing the source release and for Final Doom to work with. 0 Quote Share this post Link to post
jval Posted August 8, 2007 After is called P_ZMovement whitch set the z to the floorz. 0 Quote Share this post Link to post
myk Posted August 8, 2007 LogicDeLuxe said: The released source code is apparently a branch before Final Doom. Bernd Kreimeier says the following in README.b: This is not "The DOOM Source Code" dump for a bunch of reasons. It is based on a DOOM development directory snapshot as of January 10th, but has been stripped and changed. Thus it is the DOOM source, but there are many minor differences to the source as last used by id Software. That's clearly January 10th '97 (as shown by the ChangeLog), certainly after Final DOOM (released in '96). And "last used" seems to imply that it includes the editing done to add Final DOOM's stuff (the last things added at id), because it means it's the very last state they left it in. I'm guessing whoever assumed Final DOOM is different was thinking that because only Final DOOM (and not The Ultimate DOOM or the released source) has the teleporter bug, but Bernd had more than one version of the source and one must have included the line. He says he compiled the Linuxdoom source at the beginning (see the ChangeLog), and only then he started messing with the DOS sources. 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.