Doom monster
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > What's the difference between Final Doom 1.9 and Linux Doom 1.10?
 
Author
All times are GMT. The time now is 18:49. Post New Thread    Post A Reply
Sodaholic
I feel justified yet disgusted with myself at the same time


Posts: 2756
Registered: 04-07


I was wondering.

Old Post 10-09-12 00:09 #
Sodaholic is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
chungy
Senior Member


Posts: 1833
Registered: 06-05


Not definitive but: http://doomwiki.org/wiki/Versions_o...#Source_release

Probably the easiest way to figure out is to look at the Chocolate Doom commit history. You'll have to sort out changes related to registered/Doom 2 and Ultimate Doom compatibility and Final Doom itself.

Old Post 10-09-12 00:31 #
chungy is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Foxpup
Member


Posts: 267
Registered: 09-05


You mean, aside from the fact that one is for DOS and one is for Linux?

  • Linux Doom 1.10 is based on Ultimate Doom 1.9, not Final Doom 1.9 (yes, they're actually completely different versions (and so is Doom II 1.9), to the point where some demos will desync when played back with a different version 1.9 EXE, even if identical IWADs are used). The only difference between Ultimate Doom 1.9 and Final Doom 1.9 that I can remember is that teleporters don't set your z-coordinate in Final Doom, causing you to be teleported into the air if departure point is higher than the arrival point.
  • The sky never changing in Doom II is fixed.
  • A different sound library was used since the DOS one used a proprietary license. A bunch of sound code got rewritten for the new library, which introduced a new bug into the special sound handling on level 8. In vanilla, the effect is simply that sounds are never cut off as a result of extreme distance (or even from setting the sound volume to zero), instead they become very quiet instead of completely silent. In Linux Doom, sounds actually get louder with distance, unless the sound volume is at maximum, in which case sounds are played at full volume regardless of distance.
  • Some movement functions use floating point instead of fixed point calculations, which in some cases can cause demo desyncing.

They're all the differences that I know about.

Old Post 10-09-12 08:37 #
Foxpup is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Filled with the code of Doom


Posts: 7513
Registered: 07-00



chungy said:
Not definitive but: http://doomwiki.org/wiki/Versions_o...#Source_release

Probably the easiest way to figure out is to look at the Chocolate Doom commit history. You'll have to sort out changes related to registered/Doom 2 and Ultimate Doom compatibility and Final Doom itself.


This is a pretty good list. In case it's not common knowledge: the source code was "cleaned up" before release by Bernd Kremeier, who made a number of changes to the code. You can see the effect of this in this page - there were several files that were excised from the source code entirely before release, due either to refactoring work or the fact that they were DOS code that wasn't needed. Some of the missing files can be found in the Raven sources, while I managed to get the "automap asteroids" stub files from Romero himself.

The most apparent change is the change to the sky handling, and I'm not certain it was even a deliberate fix. There's also this bug, which appears to have been caused by one of Bernd's changes.


Foxpup said:
Linux Doom 1.10 is based on Ultimate Doom 1.9, not Final Doom 1.9 (yes, they're actually completely different versions (and so is Doom II 1.9), to the point where some demos will desync when played back with a different version 1.9 EXE, even if identical IWADs are used). The only difference between Ultimate Doom 1.9 and Final Doom 1.9 that I can remember is that teleporters don't set your z-coordinate in Final Doom, causing you to be teleported into the air if departure point is higher than the arrival point.

Completely untrue. The LinuxDoom source release is absolutely based on Final Doom it includes all the Final Doom string changes for example.



A different sound library was used since the DOS one used a proprietary license. A bunch of sound code got rewritten for the new library, which introduced a new bug into the special sound handling on level 8. In vanilla, the effect is simply that sounds are never cut off as a result of extreme distance (or even from setting the sound volume to zero), instead they become very quiet instead of completely silent. In Linux Doom, sounds actually get louder with distance, unless the sound volume is at maximum, in which case sounds are played at full volume regardless of distance.

Um, sort of. It's not really the proprietary license that was the reason - DOS Vanilla Doom used the DMX sound library, which didn't run on Linux. So the sound code had to be replaced for the Linux port. Id released the source to the Linux port because Carmack wanted to release something that was functional, rather than releasing the DOS source with all the backend code ripped out.

Sound effects do not get louder with distance, I have no idea where you got that from.



[*]Some movement functions use floating point instead of fixed point calculations, which in some cases can cause demo desyncing.

Also untrue. Where on earth are you getting this stuff?

Old Post 10-09-12 09:32 #
fraggle is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Maes
I like big butts!


Posts: 12371
Registered: 07-06



fraggle said:
Sound effects do not get louder with distance, I have no idea where you got that from.


I think he's referring to the ApproxDist function overflow. Due to limitations of fixed_t numbers, differences greater than 32K units will wrap around, possibly resulting in such an effect. In practice, I've never noticed it.


fraggle said:
Also untrue [floating point code]. Where on earth are you getting this stuff?


I think he's referring to the FixedDiv function in the source release -indeed, that one uses a cast to float as an intermediate calculation. This is even mentioned on the wiki page.

In any case, even if the source release is based off Final Doom, a lot of the code needed to properly support it -or even to properly support e.g. correct switch initialization in episode 4 of UD) is missing, so anyone starting from the "bare metal" will have to fill-in for these missing parts.

Old Post 10-09-12 09:37 #
Maes is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Filled with the code of Doom


Posts: 7513
Registered: 07-00



Maes said:


I think he's referring to the ApproxDist function overflow. Due to limitations of fixed_t numbers, differences greater than 32K units will wrap around, possibly resulting in such an effect. In practice, I've never noticed it.

Assuming you mean the code from S_AdjustSoundParams, it seems like Chocolate Doom is still using the same logic. Nobody seems to have complained. Other than that I can only speculate about there possibly being some bug in the low level sound code.


I think he's referring to the FixedDiv function in the source release -indeed, that one uses a cast to float as an intermediate calculation. This is even mentioned on the wiki page.
Ah, forgot about this. That was certainly a weird change, I never understood why it was made. In any case, it's not "Some movement functions" that have been changed - it's the single function that does the fixed point calculations.


In any case, even if the source release is based off Final Doom, a lot of the code needed to properly support it -or even to properly support e.g. correct switch initialization in episode 4 of UD) is missing, so anyone starting from the "bare metal" will have to fill-in for these missing parts.
Has it been so long that I've forgotten about this? I don't remember doing these.

Old Post 10-09-12 09:58 #
fraggle is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Foxpup
Member


Posts: 267
Registered: 09-05



fraggle said:

Completely untrue. The LinuxDoom source release is absolutely based on Final Doom it includes all the Final Doom string changes for example.


It does have the Final Doom string changes, but behaviour-wise, it acts in most if not all respects like Ultimate Doom 1.9, unless I'm very badly mistaken.


fraggle said:

Sound effects do not get louder with distance, I have no idea where you got that from.


It's been a long time since I've played Linux Doom, but I do specifically recall this happening, and wondering what the Hell was wrong with the sound, and the wiki says it happens, so... But just to humour me, start up Linux Doom, warp to level 8 (doesn't matter what game or episode), and tell me what you hear with the sound volume on various settings.


fraggle said:

Also untrue. Where on earth are you getting this stuff?




Maes said:

I think he's referring to the FixedDiv function in the source release -indeed, that one uses a cast to float as an intermediate calculation. This is even mentioned on the wiki page.

In any case, even if the source release is based off Final Doom, a lot of the code needed to properly support it -or even to properly support e.g. correct switch initialization in episode 4 of UD) is missing, so anyone starting from the "bare metal" will have to fill-in for these missing parts.


Correct on both points.

Old Post 10-09-12 09:59 #
Foxpup is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Filled with the code of Doom


Posts: 7513
Registered: 07-00



Foxpup said:

It's been a long time since I've played Linux Doom, but I do specifically recall this happening, and wondering what the Hell was wrong with the sound, and the wiki says it happens, so... But just to humour me, start up Linux Doom, warp to level 8 (doesn't matter what game or episode), and tell me what you hear with the sound volume on various settings.

Okay, you're right. Seems like it was actually me who investigated this stuff in the first place. I stand corrected.

Old Post 10-09-12 10:04 #
fraggle is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Maes
I like big butts!


Posts: 12371
Registered: 07-06



fraggle said:
Has it been so long that I've forgotten about this? I don't remember doing these.


Some versions like SDL Doom that built directly on top of Linux Doom did fix them (so if you used that one as a base, you might have not noticed), but many others started really at square zero. Check out e.g. how different the handling of the Finale is in prBoom, MBF, etc.

I had made a thread some time ago especially for these issues.

Old Post 10-09-12 10:06 #
Maes is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
fraggle
Filled with the code of Doom


Posts: 7513
Registered: 07-00


Found the switches not animating fix. It's been so long that I don't even remember making it.

Old Post 10-09-12 10:26 #
fraggle is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 18:49. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > What's the difference between Final Doom 1.9 and Linux Doom 1.10?

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.