Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
RestlessRodent

I made a Source port graph!

Recommended Posts

I hope I don't step on Dani's toes here and not being a developer I hope I got it all correct:

Originally, there was no Doomsday. Rather there was three entirely separate ports created by Skyjake: JHeXen, JHeretic and JDoom in that order of release.

Eventually though, one could imagine that maintaining three completely separate port's became tiresome because Skyjake created an engine, the Doomsday Engine, to handle some of the common functions between the afore mentioned three port's. As Dani has said, near all of the Doomsday Engine was written from scratch. But there is also a little Doom code in there.

What was JDoom, JHeretic and JHeXen became plugins for this new engine. Other than the afore mentioned, all the code used from the original games is contained in these plugins.

The Doomsday Engine itself does not require anything from the plugins to function. But obviously the plugins require the Doomsday Engine to work.

The plan for the near future of the Doomsday Engine appears to be to recreate more of the common code in the three game plugins using new code in the Doomsday Engine itself, not to mention as Dani has stated, the engine has very recently used some code from PrBoom. But of course Dani could probably elaborate further on that.

Share this post


Link to post

I'm pretty sure Final Doom is derived from Ultimate Doom.

There were multiple versions of SMMU and Eternity wasn't derived from the final one, although I can't remember much about the versions now; ask Quasar, as he seems to know more about SMMU versions than I do :-)

Wasn't Skulltag derived from csDoom/ZDaemon?

You've missed out Chex Quest!

GhostlyDeath said:

What is strife based off anyway?

Strife came out in 1996, by which time Id had release Quake, so it's safe to say that it was Doom 1.9.

Share this post


Link to post

fraggle said:
I'm pretty sure Final Doom is derived from Ultimate Doom.

True...

You've missed out Chex Quest!

Isn't it just a hacked executable?

For that matter, Doom+ and longtics Doom are also hacks, although they do influence ports; those that add longtics demo support and Strawberry Doom.

Share this post


Link to post

Like I mentioned in IRC, Strife doesn't seem to exhibit noire, the bug where monsters see through walls, or other 1.2 quirks. This is despite the fact it also used Raven code, which was from the 1.2 fork (according to Kaiser, who spoke with one of the original programmers).

Share this post


Link to post
myk said:

Isn't it just a hacked executable?

no, you can't just dehack chex quest.

Quasar said:

It is nearly identical to the system in the Fusion port, which is GPL licensed, and was heavily derived from Quake ;)


Zdoom had a particle system before the Quake engine source was ever released.

Share this post


Link to post

I like the part where everything breaks off to the right of Linux Doom v1.10

Share this post


Link to post

It might be a good idea to put Chi Hoang's original DOS Doom port of the Linuxdoom sources (the one that came out the day after the source was released); I know that several ports, including Boom, are based on it.

Share this post


Link to post

I think Lorenzo already did a Source Port chart - with a few misses but over-all ok. Watch out not to waste your time doing another. Here it is. Maybe it could get revised if need be.

Share this post


Link to post

On the ZDoom issue, influences run six ways between ZDoom, GZDoom and Skulltag (things added to one frequently end up being added to both others). There's like two scores of Skullag or ST references in rh-logs.txt, and when porting ZDoom changes to my own local copy of GZDoom (because Graf takes too long updating his own SVN) I sometimes see that some of the "recent ZDoom changes" are actually "old GZDoom changes" that have finally been backported (this being the latest example).

Share this post


Link to post

fraggle said:
It might be a good idea to put Chi Hoang's original DOS Doom port of the Linuxdoom sources (the one that came out the day after the source was released); I know that several ports, including Boom, are based on it.

As well as the unstripped original Doom source, which Team TNT perused while coding Boom.

printz said:
Watch out not to waste your time doing another. Here it is. Maybe it could get revised if need be.

That's useful to perhaps glean some extra info from, but the mere fact that it's an XLS file is enough reason to do another one.

Share this post


Link to post

Still needs another node between Doomsday ~v0.96 and Doomsday 1.9.0 which would be Doomsday 1.7.8 with Boomsday branching off from that which then in turn became Risen3D.

Share this post


Link to post
leileilol said:

Zdoom had a particle system before the Quake engine source was ever released.


The Quake source code was released on or around December 22, 1999. When did ZDoom add its particle system? Also, why is the particle code in the Fusion source port identical to ZDoom's, yet under GPL license? These are questions that deserve more than a simple unsupported dismissal. Did you even bother to research at all before you made this claim?

Share this post


Link to post
Quasar said:

The Quake source code was released on or around December 22, 1999. When did ZDoom add its particle system? Also, why is the particle code in the Fusion source port identical to ZDoom's, yet under GPL license? These are questions that deserve more than a simple unsupported dismissal. Did you even bother to research at all before you made this claim?

rh-logs.txt said:
February 13, 1999
- Created things for the particle fountains and sparks.


January 30, 1999
- Added blood, gunshot, and grenade particle effects.


January 16, 1999
- Added particle fountain effects with the following colors:
red, green, blue, yellow, purple, black, and white
- Got rocket trails into a state I think looks nice.
- Improved the particle system further by making the particle sizes
adjustable, letting particles fade out over time, and moving all of
the particle thinking out of the renderer and into the play simulation.

January 10, 1999
- Added a rocket trail using the particle system.
- Added a particle system.

Share this post


Link to post
Gez said:

ZDoom change log

So are you saying that ZDoom added Quake code before the Quake source was released? Doesn't that make the ZDoom source code illegal if it's based on stolen code?

:-)

Share this post


Link to post

Quasar said:
The Quake source code was released on or around December 22, 1999. When did ZDoom add its particle system? Also, why is the particle code in the Fusion source port identical to ZDoom's, yet under GPL license?

The date stamps of the PARTICLE.H and PARTICLE.C files in the Fusion sources are from August 13th, 1999. Unless there's something wrong with the stamps, that's before the Quake source code release, and before the Doom source code was dual-licensed (October 3rd, 1999).

Share this post


Link to post

Interesting. I assume the extent to which it appears Quake-inspired probably comes from the author having seen QuakeC code for starting/controlling particle effects, then.

The license is still weird though. The Fusion and ZDoom sources are definitely related, but did the Fusion author have the right to place it under GPL? Basically, who got it from whom is my question :) I'm only interested because it would help me clear up a licensing mess in EE's particle system ;)

Share this post


Link to post

Good lord. This tangled web of derivations and associations is worse than a redneck's family tree.

Share this post


Link to post
Quasar said:

Interesting. I assume the extent to which it appears Quake-inspired probably comes from the author having seen QuakeC code for starting/controlling particle effects, then.

QuakeC contains only calls for calling particles with origin, color, and velocity. There is no rendering code in QuakeC.


Linux Quake v1.01 source did leak illegally around 97 though, but I doubt Zdoom ever based on that. There were plenty of other games in the era with "Quake-like" particle systems that aren't derived from Quake's engine, it's not like it's a unique feature. Zdoom's particles also had transparencies; Quake didn't.

Zdoom also had a console before the Quake source release, as well as having a "OMG RAILTRAIL FROM QUAKE2S SOURCE CODE" way before Quake2's source release but I probably mentioned that already.

Share this post


Link to post

Although I would find it extremely unlikely, almost impossible, other games based on the Quake engine were made... did any of them ever have a source code release before the official id release?

Not trying to imply anything particular about ZDoom or anyone else, it's just a question of curiosity.

Share this post


Link to post
printz said:

I think Lorenzo already did a Source Port chart - with a few misses but over-all ok. Watch out not to waste your time doing another. Here it is. Maybe it could get revised if need be.



Thank you printz !

I even forgot to have created the chart...
Will i get any credit?

Share this post


Link to post

Lorenzo said:
Will i get any credit?

You're mentioned at the bottom of GhostlyDeath's chart.

Share this post


Link to post

Doom Legacy used code from SMMU. The scripting language to be precise.

Then SoM and Quas cooperated on developing Fraggle Script further for a while for Legacy and Eternity.

Also. Didn't CSdoom take it's CS code directly from Quakeworld?

Also, Legacy 2.0 got code from Hexen too, or possibly Zdoom.

And I can't seem to find SVstrife. (also not sure how the Strife covered ports are connected, but I am pretty sure they all are)

Share this post


Link to post

kristus said:
Didn't CSdoom take it's CS code directly from Quakeworld?

Right (see the July 26 and December 3 posts).

Share this post


Link to post

maybe should set up some disclaimer for how much connection there should be though. Like Zdoom once used a bit of code from Legacy, and Quake2, and Eternity got it's particles from Zdoom (which got it from Quake2)

Then there's GZdoom that got Fraggle script from Eternity (IIRC.)

EDIT: Another port that seems to be missing is the old old ZdoomGL port, used to make Zan Zan for instance.

Share this post


Link to post

After more careful observation I'm content that ZDoom's particle system isn't at all Quake-derived. The only real resemblence aside from simple functionally-equivalent but differently implemented function and structure field names is the similarity in approach of using a free list over an array of particles. But this is coincidental, I am fairly confident to say, as it is still implemented differently - pointers in Quake, and array indices in ZDoom.

However, ZDoom 1.18b's p_effect.c is nearly line-identical to Fusion's p_effect.c -- why did the Fusion author get permission to recast this code as GPL when I did not? :(

Share this post


Link to post
kristus said:

(which got it from Quake2)

I thought we cleared that up some posts ago

zdoom doesn't use quake code

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×