Page 1 of 2

D3 source Code speculation

Posted: Thu Nov 26, 2009 12:01 pm
by Duper
ok, here ya go.

iirc, the whole Descent thing is mired in legal bog as each party owns a piece. I think that there is much chance of code being released as there is a chance of us being allowed making a D4.

Posted: Thu Nov 26, 2009 12:06 pm
by CDN_Merlin
We can always hope.

Posted: Thu Nov 26, 2009 11:32 pm
by S13driftAZ
Forgive my absence of programming knowledge :), but why not use a different engine (unreal) and build a Descent from there?

Posted: Fri Nov 27, 2009 1:00 am
by Duper
there have been several \"tries\" over the years. But the reality is it take more than 1 to 4 persons to put a game together like this. D3 alone has over 1000 unique textures and about the same amount of sound files.

Re:

Posted: Fri Nov 27, 2009 1:33 am
by S13driftAZ
Duper wrote: D3 alone has over 1000 unique textures and about the same amount of sound files.
Does it need that many to be devoloped?

Posted: Fri Nov 27, 2009 4:43 am
by Aus-RED-5
Into Cerberon started off really well, but the dev has staled and pretty much died.

Such a shame it had no real joystick support. :(

Re:

Posted: Fri Nov 27, 2009 4:49 am
by Duper
S13driftAZ wrote:
Duper wrote: D3 alone has over 1000 unique textures and about the same amount of sound files.
Does it need that many to be devoloped?
remember that a game isn't just 10 or 20 textures slapped on walls. Go through D3 single player and actually notice the detail. This also includes the textures on ALL the bots. The firing animation for the Mass driver has 3 animated textures alone just to get the effect you see when you fire it. And that's just the player's view point not to mention the animation seen by other players.

So to answer your question, for a complete polished game, yes. At Least that many.

Re:

Posted: Fri Nov 27, 2009 4:51 am
by Duper
Aus-RED-5 wrote:Into Cerberon started off really well, but the dev has staled and pretty much died.

Such a shame it had no real joystick support. :(
That's because it didn't really exist in the Doom 3 engine. the DirectX tags were there, but no real support. And yea. like most efforts, folks get burned out or life takes priority. they worked hard on it for over a year. Some coding issues got the better of them and real life did eventually catch up. :\\

Posted: Fri Nov 27, 2009 8:33 am
by Krom
Forget the textures, there are also models, sounds, AI, input handling, physics, level design, scripting weapons, etc. What you see in the end is only a small portion of the guts of a video game, porting something to another engine would require years of work to accomplish.

Posted: Fri Nov 27, 2009 4:03 pm
by S13driftAZ
Anyways, regarding D3's source code, its been ten years already. Ive read in a thread somewhere that copyrights cease to protect engines and other crap after ten years. You can see where I'm going with this...

Posted: Fri Nov 27, 2009 4:52 pm
by Krom
Try 28 years there S13... Which automatically renews to 67 years.

Quite often an actual copyright can last \"The life of the author(s) + 70 years\".

Posted: Fri Nov 27, 2009 4:56 pm
by D.Cent
I don't think the original authors would actually care - the only problem is that you can't ask them since there's no working mail-address.

Re:

Posted: Fri Nov 27, 2009 5:04 pm
by S13driftAZ
Krom wrote:Try 28 years there S13... Which automatically renews to 67 years.
"The life of the author(s) + 70 years".
Huh? I don't understand

Posted: Fri Nov 27, 2009 5:15 pm
by Kevin Bentley
Copyrights for D3 will not expire any time soon. Probably not in my lifetime.

I don't think the problem is the lack of a mailing address either. I know how to reach the people who own some of the rights. That's the problem, there are very many different entities involved. What's left of Interplay, Parallax, Outrage Entertainment, even Apogee have a stake in different parts of D3. I think that Matt Toschlog probably has the rights to do whatever he wants with the D3 source, but not the name \"Descent\" or the game data (levels, etc.) I don't think he can make or authorize a new Descent game without the above mentioned entities being involved.

Re:

Posted: Fri Nov 27, 2009 5:39 pm
by Krom
S13driftAZ wrote:Huh? I don't understand
http://inventors.about.com/od/copyright ... ration.htm

Posted: Fri Nov 27, 2009 5:40 pm
by Duper
Quite right Kevin.

Valin Halcyon and his team ran into that and numerous disagreements many years ago when they embarked on a new installment of Descent. They were endeavoring to create a marketable game, not a conversion mod. It was this problem that killed the project dead. There were small \"in house\" disagreements, but this was a definitive issue.

Interplay as a new installment of Descent on their \"to do\" list, but it will be some years before or IF we see anything. They are barely able to make ends meet. The whole Fallout MMO thing is turning out to be a bit of financial fiasco.

Does anyone have the link to Valin's explanation as to why the project was ended and the difficulties they encountered?

Re:

Posted: Fri Nov 27, 2009 6:33 pm
by Thomas01
Kevin Bentley wrote:Copyrights for D3 will not expire any time soon. Probably not in my lifetime.

I don't think the problem is the lack of a mailing address either. I know how to reach the people who own some of the rights. That's the problem, there are very many different entities involved. What's left of Interplay, Parallax, Outrage Entertainment, even Apogee have a stake in different parts of D3. I think that Matt Toschlog probably has the rights to do whatever he wants with the D3 source, but not the name "Descent" or the game data (levels, etc.) I don't think he can make or authorize a new Descent game without the above mentioned entities being involved.
Then maybe it's time to ask what this unexpected new activity on D3 is for?

If you complete your task of fixing some (or all) current bugs, make all OS versions compatible, have a properly working patch (let's call it 1.6 for now), will the world see it and be allowed to see it without any copyright infringements?

I know I should have probably made this a PM, but I think that's too important to not discuss it in public. Considering that I'm providing a complete (half-way illegal) download for the game, it goes without saying that these things worry me a bit. ;-)

Posted: Fri Nov 27, 2009 6:45 pm
by Kevin Bentley
The work I'm doing now is simply a continuation of the 1.5 patch I was working on after I left Outrage. It's something I was working on for free as a benefit to the community and with the blessing of Outrage. I don't know if we will ever get official approval to release the patch, but I don't think anyone will complain if we release it without official approval.

Posted: Fri Nov 27, 2009 6:48 pm
by Kevin Bentley
I should add that legally distributing a binary patch of the game is different than distributing a full copy of the game -- and that is different from distributing source. I don't want to give the impression that because we're working on a patch that copying the game without buying it is ok.

Re:

Posted: Fri Nov 27, 2009 6:59 pm
by Grendel
Kevin Bentley wrote:I think that Matt Toschlog probably has the rights to do whatever he wants with the D3 source, but not the name "Descent" or the game data (levels, etc.)
Correct.

In the last email I got from him in '05,
Matt Toschlog wrote:As far as releasing the source code, my thought was to get the "final" patch out and then release the code.

I'll talk to Kevin and see if he and I can get it together enough to get this thing finished.
You definately need to talk to him.. ;)

If the code gets released, I'd suggest to release it as an SVN repository on bitbucket or sourceforge to prevent a version mess.

Posted: Fri Nov 27, 2009 7:16 pm
by Thomas01
Kevin,

I appreciate both your statements. I do not distribute a full copy of the game without people confirming first that they own a legal copy themselves (for that very reason).

Logically, this is a contradiction, because you can't currently buy any legal copy of Descent 3 that runs on Vista or Windows 7 by default, although some packages claim this (they should all be hanged, drawn, and quartered for that stupid claim).

If you go for that patch and the risk of getting in trouble, I won't be the only one who's behind you.

Re:

Posted: Sat Nov 28, 2009 1:24 pm
by S13driftAZ
Thomas01 wrote:you can't currently buy any legal copy of Descent 3 that runs on Vista or Windows 7 by default
Are you sure about this? :|
Cause my pops plays it fine on his Vista PC, the first time he installed it.

Re:

Posted: Sat Nov 28, 2009 1:36 pm
by Zantor
S13driftAZ wrote:
Thomas01 wrote:you can't currently buy any legal copy of Descent 3 that runs on Vista or Windows 7 by default
Are you sure about this? :|
Cause my pops plays it fine on his Vista PC, the first time he installed it.
If I recall correctly, I was able to get D3 to run in the Win7 RC back in June. It ran fine, albeit a little unstable thanks to the then beta drivers.

Posted: Sat Nov 28, 2009 2:16 pm
by Thomas01
Try it without admin rights and UAC on - and without compatibility mode. That's why I said *by default*.

Posted: Sat Nov 28, 2009 3:23 pm
by Duper
That's silly. It's why Vista and Windows 7 were made \"reverse compatable\". If you noticed, the win95.exe in D2 never worked ... or at least for very few. And what about the voodoo patch for 3DFX cards? Tweeking your system has always been a part of Descent.... always. And those were all legal copies.

Let's drop this. It's pointless.

Posted: Sat Nov 28, 2009 6:42 pm
by Kevin Bentley
Someone should write an installer that can extract the files from the original CD onto linux/windows/osx and apply the patches on top. Then there would be no problems distributing the installer and anyone could use the CDs.

Just an idea....

Posted: Sat Nov 28, 2009 7:31 pm
by Thomas01
Yes, the idea is not bad, but I think not doable.

There are too many different CDs and language versions around. The GOG version doesn't come with a CD and needs to be extracted/installed first before it can be verified or copied. Several files are different in all versions, hence would require a separate patch.

The next idea we had was to provide all files, but verify against a (legal) source, for instance check the existence of a CD or installation. But this turned out to be too complicated and prone to errors, let alone the requirement to change the CDs several times.

On Windows, D3 uses an old version of InstallShield while Mercenary uses an old version of Inno Setup. I was not able to find appropriate software to unpack the cab files (yeah, I found something in the end, but that was more like a bodge, basically a wrapper for that InstallShield version). After the nightmare with Windows I didn't even bother to look at Linux.

Re:

Posted: Sun Nov 29, 2009 4:56 am
by Floyd
Thomas01 wrote:Yes, the idea is not bad, but I think not doable.

There are too many different CDs and language versions around.
you mean these? if an insider, who knew the structures of the files, would give you the info on how to extract them, i sure see it's possible. if i only knew who to ask :P

Posted: Sun Nov 29, 2009 8:17 am
by Kevin Bentley
As far as I remember Merc uses a custom installer I wrote in MFC. I've still got the source for it...unfortunately my CD is bad so I can't verify that right now (It's possible we started off that way and changed our plan, but I remember writing the installer).

Re:

Posted: Sun Nov 29, 2009 9:58 am
by Thomas01
Floyd wrote:if an insider, who knew the structures of the files, would give you the info on how to extract them, i sure see it's possible. if i only knew who to ask :P
They are InstallShield cabinet files, so no real secret, but obviously incompatible with newer versions of the software.

Anyway, even if there was a straight forward way to extract them, what would this give us?

Descent 3 comes on 3 medias. So you go and download an installer for a patch, then insert one CD after another because this installer keeps asking you for them. ;-)
Although the autostart could be prevented by the software, it's still a terrible PITA.

The GOG version would require downloading and unpacking too to be checked. In that case it's technically pretty simple, because this is just an Inno Setup package as well. But I reckon the pilots wouldn't want to spend several hours installing it. ;)

Re:

Posted: Sun Nov 29, 2009 10:06 am
by Thomas01
Kevin Bentley wrote:As far as I remember Merc uses a custom installer I wrote in MFC. I've still got the source for it...unfortunately my CD is bad so I can't verify that right now (It's possible we started off that way and changed our plan, but I remember writing the installer).
I just checked, yes, it's a custom made executable.

I thought this is what older Inno Setup versions looked like, because of that uninsxxx.* file that's required for Mercenary to work.

How many different versions of Mercenary are available?

Posted: Sun Nov 29, 2009 10:14 am
by Thomas01
The files are called IsUninst.exe and unmerc.exe, not uninstxxx.*.

Re:

Posted: Sun Nov 29, 2009 10:25 am
by Floyd
Thomas01 wrote:Descent 3 comes on 3 medias. So you go and download an installer for a patch, then insert one CD after another because this installer keeps asking you for them. ;-)
Although the autostart could be prevented by the software, it's still a terrible PITA.

...

But I reckon the pilots wouldn't want to spend several hours installing it.
first a default installation is impossible on vista and win7. then you dismiss a possible solution presented by the author himself that "is not doable". then you are presented with ideas to solve the problem. now the common way to install the game is a PITA, because there are 3 CDs, that would "take hours" of installing (pfft, come on!). i don't see a problem there, and noone has until now you made it up. people already have put effort into this game way beyond changing 3 CDs.

it's as easy: download the patch, start it. "please insert disc 1 ... disc2 ... disc 3". done in 20 minutes.
what do you want?

Posted: Sun Nov 29, 2009 10:33 am
by Kevin Bentley
I still have all the scripts that went into building the installers so I could help figure out what files to extract.

My point is that a simple to use installer for each platform that could extract the game files from any version of the CD would be nice for all the people who have the CDs. I just ordered a D3 + Merc jewel case from Amazon for $15 with free shipping -- if there was a easy way to install that on any platform with the 1.5 patch that would be huge IMO. If someone wanted to pursue that I would be glad to assist.

I just looked at the code that makes the package files used by the merc installer, it is a very simple format (similar to a hog, only meant for sequential reading). I can provide that info to anyone who wants to write an installer.

Posted: Sun Nov 29, 2009 10:38 am
by Floyd
this is great news Kevin, i'll post it on our newsforum: http://www.descentforum.de/forum/viewforum.php?f=41
thank you :)

Posted: Sun Nov 29, 2009 11:07 am
by Kevin Bentley
By the way, D3 is now working on an powerbook G4 (less movies, streaming audio, and netgame checksums). I get 60+fps and it looks really nice on an old powerbook I bought for $200. I have played a 4 way game with linux, windows, ppx osx and x86 osx with the checksum code disabled and it played nicely.

Jeff is working on streaming audio, and I'm working on checksums, then I'll work on movies.

I've also written a new net game connection model I started working on for D2X-XL that I'm adding support to D3 for. It basically is a broadcast server so you play direct TCP/IP, but you will see games of other people across the internet if they are logged on the same broadcast server as you. It's a real simple approach that basically works like a TCP/IP Kali. It's just going to be another option, you won't be forced to use it.

I've been fighting the checksums still. The problems come down to differences in how the CPU handles internal precision on single precision floats. Part of the problem is that it's a homegrown checksum, so there's lots of bit shifting and multiplying going on and with different internal precision models you get different results.

So I'm implementing a new checksum approach entirely. The new model uses MD5, and will get rid of all the internal bit shifting and multiplying.

I'm headed to a conference in Orlando today and I'll be gone all week. So I'm not sure how much progress I'll make in the coming week, but I'm bringing two laptops along so I can try to squeeze some D3 work in. I will be checking back here and my email though.

-Kevin

Posted: Sun Nov 29, 2009 11:16 am
by Krom
Don't overwork yourself, better to do it at a comfortable pace to keep the quality up. I don't think anyone here is in any particular rush, it'll be done when its done. :)

Posted: Sun Nov 29, 2009 1:31 pm
by NUMBERZero
I second the no rush even though it has been 10 years. :P

Re:

Posted: Sun Nov 29, 2009 3:20 pm
by Thomas01
Kevin Bentley wrote:I still have all the scripts that went into building the installers so I could help figure out what files to extract.
I don't think the scripts are required for this task, but certainly can be handy. You yourself should be able to tell which files your patch needs. ;)
Kevin Bentley wrote:My point is that a simple to use installer for each platform that could extract the game files from any version of the CD would be nice for all the people who have the CDs.
That wouldn't be just nice - that'd be a dream!

Kevin Bentley wrote:I just looked at the code that makes the package files used by the merc installer, it is a very simple format (similar to a hog, only meant for sequential reading). I can provide that info to anyone who wants to write an installer.
I guess that solves the Mercenary issue.

I just found this, but didn't have a closer look yet:
http://www.synce.org/oldwiki/index.php/Unshield

That could solve the issue with the cab files from the D3 CDs, which means in theory that you could get your files. ;)

From how I understand your posts so far, you're not planning to release a "real" patch, right?

You're instead planning to release a complete functional multi-platform Descent 3 but without the data files, very similar to the DX or Rebirth versions. Is that correct?

If that's the case this changes the whole process quite a lot.

Posted: Sun Nov 29, 2009 3:50 pm
by D.Cent
Well, actually installing the files shouldn't be too hard (I also had a look at \"unshield\"), but I actually don't think we can get it to work with every platform (a program which uses the same source code for all platforms won't be possible).

As I see, all you need to locate on a Windows D3 CD is the \"data1.cab\" file, extract it, and then copy the rest of the needed files from CD1 & 2 to the target directory. After that comes patching ... etc.

As of now I could try writing such a program, but I only have Win XP on a virtual machine and I am not sure if that will run correctly on Vista/7.
For Linux: the installer is still working and there's also a Mercenary installer by Loki, but it's all a bit difficult to use - writing an installer should be easier than for Windows, so I could do that as well.
For Mac: I don't have any Macs here and I have absolutely no knowledge about it.

If I should do anything, I would use C++, using Qt4 for the GUI, because it's Linux/Mac/Windows compatible.

EDIT: I've made an installation program for Linux now and it was really easy. Everything's working except for Mercenary and patching, which will be added when 1.5 is ready. The next days I will port the program to Windows. Screenshot from Linux is here: http://intelcentino.in.funpic.de/upload/d3installer.png (but note, this is not final)