ZDuke: The Lost Port (Aka an effort for preservation)

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
User avatar
Redneckerz
Spotlight Team
Posts: 1052
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

ZDuke: The Lost Port (Aka an effort for preservation)

Post by Redneckerz »

Hello all, new member here (But do not let that be in the way of this topic!)

Let's talk a bit about ZDuke first for those who have no idea what am referring to.

''ZDuke? What has everyone's second favorite alien asskicker have anything to do with Doom?''

As most of the users that have dabbled with ZDoom know, some of Build's code was in use with the rest of the codebase. Recently (???) this stuff has been rewritten and thus
From the Zdoom Wiki: https://zdoom.org/wiki/ZDuke
Starting in 1999, Randy started looking for ways of using Build-like features to enhance ZDoom and outgrow some of the limitations enforced by the use of a BSP algorithm. These forays didn't pan out entirely, as ZDoom still uses a BSP tree, but some elements (such as slopes, cameras, skyboxes and stacked sectors) were implemented as a result. Other traces of Build support can be seen in the CustomSprite actor and a limited ability to load Build maps.

But it also resulted in a ZDoom-based Duke Nukem 3D source port, entitled ZDuke. ZDuke had one release, based on ZDoom 2.0.48, and was afterwards more or less abandoned. In November 2009, after some people expressed interest in this erstwhile project, Randy uploaded the ZDuke source code to the ZDoom SVN (r1963). The thread with this discussion and the announcement of the release was in the "off topic" forum and therefore unfortunately pruned out. However, it mentioned that the ZDuke code is outdated and unsupported.

Following the migration to a Git repository, the old Subversion repository on mancubus.net was erased, and the source code of ZDuke was taken along with it.

Note that merging ZDoom and ZDuke (even an updated version) is considered more trouble than it would be worth. The internal game logics are too different to be conciliated in a single engine in a streamlined and stable fashion.
Emphasis on the bolded. Unfortunately, the ZDuke code was erased from history, never to be seen again so far. For reasons found below, this topic was made to put some light on this little thing in Zdoom's history.

Now, a previous attempt was made on the Discords some aeons ago (May 2018) by myself to dig up the lost source port, but none came from it, although the Duke community at Duke4 had some interest in it. Excerpts of various users:

I can't compile for shit really so a prebuilt zduke binary would be nice even if its REALLY outdated
is the ZDuke source available somewhere at all?
And Community Guide Gez also did a mention back in September: viewtopic.php?p=1118550#p1118550 along with Graf's comment: viewtopic.php?p=1118552#p1118552

Nevertheless, every now and then it still gets mentioned in the ZDoom discord, lastly this October as of writing. So, at the very least, there is some interest for this port, for whatever reasonings. I feel this angle should be explored more.

So where am i going with this?

Ofcourse, you would have to be a legit madman to do anything serious with the source code, if it presumably can be found. But i believe that the ZDuke port, small as it was with its single release, is elligble and noteworthy to preserve, for Historic, academic or research purposes.. It represents a small, but influential stepping stone in the ZDoom history tree.

Note: This is specifcally about R1963 which as far as i know contained the ZDuke port based on ZDoom 2.0.48.

I don't have high hopes anyone has something laying around, but nevertheless, lets discuss and explore. If nothing else comes from it, then atleast there is now some sort of official thread regarding this lost legacy.

Sources:
Topic discussing Build in Doom stuff: viewtopic.php?f=3&t=22268
The R1963 release notes (R1962 on displaly as R1963 is considered lost for now): https://zdoom.org/Changelog/1963/files

EDIT: The R1963 release notes redirected to the wrong page. This is fixed.
Last edited by Redneckerz on Sun Dec 01, 2019 4:41 am, edited 1 time in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Graf Zahl »

Redneckerz wrote: I don't have high hopes anyone has something laying around,
That's the problem - and the curse with SVN: Thanks to being able to check out partial repositories, almost nobody got this - and when the old repo ceased to exist it took all the content with it that wasn't transferred to somewhere else. And from the looks of it, nobody thought of copying this obscure part of the repo to a safer place.

And in reality, there's nothing there. I have seen the code back in the day and it was as basic as they come, it couldn't hold up in any way to the more successful Duke ports out there.
Blzut3
 
 
Posts: 3144
Joined: Wed Nov 24, 2004 12:59 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Contact:

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Blzut3 »

Out of curiosity I checked some of the archives that I have and while I have a complete checkout of the ZDoom svn ZDuke isn't included so there must have been a revision that deleted it. Which would explain why no one has it.

Actually kind of impressed I still have the ZDoom svn since I'm pretty aggressive on deleting things.


Edit: Found the directory listing on wayback. Forgot that ZDoom svn had multiple projects crammed in it.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Graf Zahl »

Pity. I would have loved to have a look at that code and compare it to EDuke32.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by drfrag »

Seems it's lost then. From an august 2004 thread:
randi wrote:I do have my own port that I spent a few days on.
Enjay wrote:You put that file up for download a while back. Is it still around anywhere? I still have my copy somewhere, I'm just asking.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Graf Zahl »

It was later added to the ZDoom SVN, which only got nuked after the transition to Git in 2013, when it simply was forgotten.
User avatar
Redneckerz
Spotlight Team
Posts: 1052
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Redneckerz »

Graf Zahl wrote:
Redneckerz wrote: I don't have high hopes anyone has something laying around,
That's the problem - and the curse with SVN: Thanks to being able to check out partial repositories, almost nobody got this - and when the old repo ceased to exist it took all the content with it that wasn't transferred to somewhere else. And from the looks of it, nobody thought of copying this obscure part of the repo to a safer place.

And in reality, there's nothing there. I have seen the code back in the day and it was as basic as they come, it couldn't hold up in any way to the more successful Duke ports out there.
I figured so as much :/ Is it possible one of the people at Doomworld may keep a record? I recall one user who used to archive everything (It was not Ty Halderman). If nothing else, then the only other option would be Randi.

Or, to think a little bit out of the box, perhaps Jason Scott of Textfiles.org and the Archive Team may have a scroll through this.
Blzut3 wrote:Out of curiosity I checked some of the archives that I have and while I have a complete checkout of the ZDoom svn ZDuke isn't included so there must have been a revision that deleted it. Which would explain why no one has it.

Actually kind of impressed I still have the ZDoom svn since I'm pretty aggressive on deleting things.


Edit: Found the directory listing on wayback. Forgot that ZDoom svn had multiple projects crammed in it.
Interesting stuff and thank you for the look up! The archivelink refers to Revision or R3138 whilst R1963 (supposely) contained the ZDuke code. I am going to thinker a little bit with that link, perhaps there is some more snippets of info to be found regarding this.
User avatar
Redneckerz
Spotlight Team
Posts: 1052
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Redneckerz »

DP but my mind works quickly. So i went ahead and looked up the Wayback link. Nothing much yet, so i turned to Doomworld.

And there i found this, I.R was on the money to look at August 2004 dates as this post originated from there: https://www.doomworld.com/forum/topic/2 ... ent=468611

This links to a Zdoom thread: viewtopic.php?t=760

And there, a post by Randi from October 2003 with a curious little attachment: viewtopic.php?p=8100#p8100

That link still works. I can confirm that the cab file contains a Zduke3d.exe but i have yet to test if it is Zdoom based. Judging by further Randi posts in that thread, it seems that this is a geniune Build port that just so happens to be called ZDuke, but i am not too sure if it is a ZDoom based source port with Randi's Build experiments enabled. I read a post yesterday that Randi back in the day worked on this linked ZDuke port and later did a ZDoom merge which is what the entry on the Wiki talks about.

Since i have both Doom and Duke 3D, i am going to experiment with this. Perhaps this is the real deal (One other post details that the user is waiting on ZDoom 2.1.0, which would make it plausible that this is ZDuke considering that was based on ZDoom 2.0.48) but most of the post for now tell me this is a geniune Duke port (without ZDoom as a base and without directly stating it is a direct Build port).

What are the odds. The first time you find absolutely nothing, and now you find a lot more just by some targeted searches.

EDIT: Looking further, it seems 2.0.48 was released around the same time frame, so it may very well be that this is an actual ZDuke port. It needs fmod.dll though.

Furthermore, i found some more sources from a user who tested this against 2.0.63a:
viewtopic.php?t=22268&p=438604

EDIT 2:
I got some results:
  • - It is a renamed zdoom.exe.
    - It has the Doomguy logo that ZDoom uses, which strengthens the idea this is a ZDoom based port.
    - It is based according to the string off of ZDoom version 2.0.43. Which would mean that the ''official'' release by 2.0.48 is likely indeed lost to time, but the existence of a previously unaware version is now revealed and it is indeed ZDoom based.
    - With a Fmod.dll version from 2011 it spits out the error: ''Can't find entry point of procedure_FSOUND_Sample_Load@16 in DLL file fmod.dll.''
    - With a Fmod.dll version from 2009 i get a similar result.
Unfortunately i don't have a perfect test environment set up to more specifically figure what is causing this issue. Perhaps BlZut3 can take a look or Graf on what this is?

It seems that if true, Randi did do an earlier, second release of ZDuke based off of 2.0.43. If that is the case,then this is quite the novelty find, id say. :o

EDIT 3:
Okay, okay, last edit, some more background details:
  • - Zdoom 2.0.48 and its source are available here: https://sourceforge.net/projects/zdoom/files/zdoom/ I have yet to check if that is the correct revision, but i do think that the SVN release was, despite being based on this version, different from the released ZDoom build. After all, it was a seperate exe, not ZDoom itself. However, considering the experiments with 2.0.63a, this may or may not be historically relevant for testing purposes.
    - Oddly, according to https://zdoom.org/wiki/ZDoom_version_history, a 2.0.43 release never existed. So perhaps Randi's build is a specific version? After all, Randi only uploaded the 2.0.48 build in 2009 after requests were made, but that does not mean that this 2.0.43 version is not ZDoom, but rather indeed an earlier release of ZDuke and perhaps an internal, renamed ZDoom version considering ZDoom's version history makes no mention of a .43 version.
    - According to said history, version 2.0.97 added Polymost code from Build. However, at this point we have to distinguish between ZDuke and Randi's experiments with adding Build code to Zdoom as these are based on earlier 2003 ZDoom code.
    - Some sources for this: viewtopic.php?t=8060& and some more indepth stuff about Polymost support (Removed in 2014, 2.7.1 being the last version to have it): https://zdoom.org/wiki/Polymost
    - TheDarkArchon did make a mention in November 2004 about a ZDuke port based on 2.0.43: viewtopic.php?f=4&t=2688&p=74486&hilit=zduke#p74486
Last edited by Redneckerz on Tue Nov 26, 2019 11:23 am, edited 3 times in total.
Blzut3
 
 
Posts: 3144
Joined: Wed Nov 24, 2004 12:59 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Contact:

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Blzut3 »

Can't examine right now, but what I can say is the ZDuke that was in the svn repo is a build engine port. IIRC it just had ZDoom's front end (OS interface) and console code transplanted. (This is similar to how ECWolf is done.) I don't remember if I ever checked it out.

I don't know if anyone has ever asked Manc if he has a backup of the svn repo, but the number of people who would have thought to check it out is pretty small. As you can see from wayback the repo was unconventionally organized such that there were basically multiple subrepos. So the likelihood of anyone checking out the actual root of the repo is pretty small.

I also don't know if anyone tried to PM Randi about if it still exists.
User avatar
Redneckerz
Spotlight Team
Posts: 1052
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Redneckerz »

Blzut3 wrote:Can't examine right now, but what I can say is the ZDuke that was in the svn repo is a build engine port. IIRC it just had ZDoom's front end (OS interface) and console code transplanted. (This is similar to how ECWolf is done.) I don't remember if I ever checked it out.

I don't know if anyone has ever asked Manc if he has a backup of the svn repo, but the number of people who would have thought to check it out is pretty small. As you can see from wayback the repo was unconventionally organized such that there were basically multiple subrepos. So the likelihood of anyone checking out the actual root of the repo is pretty small.

I also don't know if anyone tried to PM Randi about if it still exists.
Thanks for getting back :) Then it seems that the novelty link that so thinly was disguised as duke3d.cab might be similar?

You don't have to examine right now ofcourse, please take the time you need if you were willing to check this out. I appreciate it regardless.

It is indeed pretty small and likely rather insignificant how many people may care about this, but like i said, there has been some interest, and from a historical point of view, it is interesting to know aswell (And perhaps the linked build is indeed that).

Regarding contacting Mancubus or Randi: I could do that, but i am not too certain if A: Any of the two want to be bothered by this and B: Given that despite knowing and being at this place for a decade or so but never registered, i may not be the most suitable person to ask this. I do know from looking at the links that Enjay took a stab at this, so perhaps he can assist if he wants to?

Even as is, its just pure coincidence to stumble upon something that is a different build of ZDuke and identifies as ZDoom based like that, so given my expectations were close to zero, everything discovered thus far is an absolute win. =:)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Graf Zahl »

Blzut3 wrote: I also don't know if anyone tried to PM Randi about if it still exists.

AFAIR Randi lost it as well, because the only copy was in the repo.
User avatar
Redneckerz
Spotlight Team
Posts: 1052
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Redneckerz »

Graf Zahl wrote:
Blzut3 wrote: I also don't know if anyone tried to PM Randi about if it still exists.

AFAIR Randi lost it as well, because the only copy was in the repo.
Psst:


I am sure you saw it already but there is likely another build of this ZDuke port. Because you wrote earlier that you would love to see what it looked like under the hood its why i gave this mention. Perhaps a bit superfluous on my part, but it can't hurt to notify, right?
Blzut3
 
 
Posts: 3144
Joined: Wed Nov 24, 2004 12:59 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Contact:

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Blzut3 »

Redneckerz wrote:That link still works. I can confirm that the cab file contains a Zduke3d.exe but i have yet to test if it is Zdoom based. Judging by further Randi posts in that thread, it seems that this is a geniune Build port that just so happens to be called ZDuke, but i am not too sure if it is a ZDoom based source port with Randi's Build experiments enabled. I read a post yesterday that Randi back in the day worked on this linked ZDuke port and later did a ZDoom merge which is what the entry on the Wiki talks about.
ZDuke refers only to the genuine build port, which the file you found is indeed (I fired it up on my XP rig, works fine there). There is no ZDoom that runs Duke Nukem if that's what you're looking for, ZDoom does however contain code to open Duke/Blood maps and data files. Which is what the 63a post is referring to.

I can't confirm nor deny if the version of ZDuke source that got released is the same as that one or if it's slightly newer, but it does look like it ticks all the boxes of features that I recall.
Redneckerz wrote:- It is a renamed zdoom.exe.
It is not since it's a legitimate Duke3D port.
Redneckerz wrote:- It has the Doomguy logo that ZDoom uses, which strengthens the idea this is a ZDoom based port.
It is ZDoom based in so far as the framework that takes player input and throws the software rendered image on the screen is ZDoom code. The sound code may also be shared to some degree (hard to tell how much based on Randi's posts).

The icon and the meta data in the exe don't mean anything since the rc file was likely just copied over from ZDoom since this isn't a polished release.
Redneckerz wrote:- It is based according to the string off of ZDoom version 2.0.43. Which would mean that the ''official'' release by 2.0.48 is likely indeed lost to time, but the existence of a previously unaware version is now revealed and it is indeed ZDoom based.
Technically, given that we have no way of confirming nor denying, we don't know if these are one and the same.
Redneckerz wrote:- Zdoom 2.0.48 and its source are available here: https://sourceforge.net/projects/zdoom/files/zdoom/ I have yet to check if that is the correct revision, but i do think that the SVN release was, despite being based on this version, different from the released ZDoom build. After all, it was a seperate exe, not ZDoom itself. However, considering the experiments with 2.0.63a, this may or may not be historically relevant for testing purposes.
The old releases are on this site: https://zdoom.org/files/old/ https://zdoom.org/files/lars/

It is indeed different since it's a Duke3D port.
Redneckerz wrote:- Oddly, according to https://zdoom.org/wiki/ZDoom_version_history, a 2.0.43 release never existed. So perhaps Randi's build is a specific version? After all, Randi only uploaded the 2.0.48 build in 2009 after requests were made, but that does not mean that this 2.0.43 version is not ZDoom, but rather indeed an earlier release of ZDuke and perhaps an internal, renamed ZDoom version considering ZDoom's version history makes no mention of a .43 version.
Don't know why no one added these releases to the list, the binaries and source are in the old directory.
Gez
 
 
Posts: 17835
Joined: Fri Jul 06, 2007 3:22 pm

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Gez »

Blzut3 wrote:Don't know why no one added these releases to the list, the binaries and source are in the old directory.
The list was made from release threads IIRC.
User avatar
Redneckerz
Spotlight Team
Posts: 1052
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: ZDuke: The Lost Port (Aka an effort for preservation)

Post by Redneckerz »

Blzut, thanks a bunch in advance for taking the time to go through this and some very interesting answers indeed. Also thanks for the links provided to older releases.
Blzut3 wrote: ZDuke refers only to the genuine build port, which the file you found is indeed (I fired it up on my XP rig, works fine there). There is no ZDoom that runs Duke Nukem if that's what you're looking for, ZDoom does however contain code to open Duke/Blood maps and data files. Which is what the 63a post is referring to.

I can't confirm nor deny if the version of ZDuke source that got released is the same as that one or if it's slightly newer, but it does look like it ticks all the boxes of features that I recall.
This is very interesting to read. So this is indeed the ZDuke port that got lost over time if i read you correctly.

I understand its not a port that runs Duke content, but it can open its data files. That code has existed for a long time, but not as a seperate build which is what ZDuke is (If i read you correctly.)

Regarding the bolded: Are you referring to the official source Randi released in 2009 and which was based on ZDoom 2.0.48 which indeed seems lost to time?
Blzut3 wrote: It is not since it's a legitimate Duke3D port.
I understand, what i tried to say with that is that the user string identifies as ZDoom. This is all irrelevant to its content ofcourse, for which i thank you.
Blzut3 wrote: It is ZDoom based in so far as the framework that takes player input and throws the software rendered image on the screen is ZDoom code. The sound code may also be shared to some degree (hard to tell how much based on Randi's posts).
So its some kind of hybrid thing. Is there any idea you may have why Fmod threw up the error that i posted? Considering it works on your XP machine, id love to load a build map and see what happens.
Blzut3 wrote: Technically, given that we have no way of confirming nor denying, we don't know if these are one and the same.
This is true. The only variable i can work with is that Randi denoted his source of ZDuke from 2009 was based on 2.0.48 and this identifies as 2.0.43. It may very well be the same thing, but indeed, we can never tell for sure. So what should we do with this?

1: Consider this a new build (that's older)
2: Consider that the code to the SVN was lost, but this build exists (Which would be the novelty here as prior no ZDuke build was known for download)

At the very least, i'd argue that the Wiki entry regarding ZDuke should be updated if this is the ZDuke port as described by you, and edited that although the code and build for the SVN version are lost, an older build/version has been discovered. How do you see this?
Gez wrote:
Blzut3 wrote:Don't know why no one added these releases to the list, the binaries and source are in the old directory.
The list was made from release threads IIRC.
I believe that's the case. Well, atleast one person (myself) got fooled by this, so perhaps this can be added? I am not sure how often visited the Wiki is, so i should reiterate that this whole preservation effort is only interesting to a select few. But that there is some interest is readily apparent.
Post Reply

Return to “General”