Planet Descent

Community => Mess Hall => Topic started by: SaladBadger on April 18, 2021, 10:14:27 AM

Title: Versions of Descent 3?
Post by: SaladBadger on April 18, 2021, 10:14:27 AM
I'm currently finalizing my work on my Descent 3 patcher to get a public release out, but I'm having some trouble with versions. So I only have the dateiliste fan repack version of Descent 3 handy, which I obtained before Descent 3 was available on digital stores like GOG and Steam. This repack comes with two versions, one labeled "1.4" with a filesize of 1,818,624 bytes. It also contains one named "1.5" but which internally seems to be referring to itself as "1.4", with a filesize of 1,806,336 bytes. But the RE work, which was started by Arne, was done against the GOG version which he sent me a copy of, which is 1,794,048 bytes large and also also identifies itself as "1.4". But this isn't some strange GOG or Steam specific version, because the "Black Pyro Justice" mod (which simply changes the string for loading extra13.hog, from what I understand) is also 1,794,048 bytes large, so this version has been extant for a long time too.

For the moment, I've loaded in offsets for the 1,818,624 byte version and the 1,794,048 byte version from GOG for my patcher, but I'm really confused here. Which version is the most common one in use today? Why are there 3 versions calling themselves "1.4"? And which ones should I be caring about?
Title: Re: Versions of Descent 3?
Post by: Hunter on April 19, 2021, 08:02:14 AM
The most common version in use today will be what GOG and Steam provide. No CD version, no dateiliste version. Although those are held and used by old farts like myself, I imagine most (if not all) new D3 installations are with those two platforms..
Title: Re: Versions of Descent 3?
Post by: Matthew on April 19, 2021, 05:53:02 PM
The 1.5 patch is an unofficial patch which isn't available for Linux or Mac IIRC. The unofficial part may be why they didn't/couldn't change the version on the exe. At least back in the day, 1.4 official was the only version ever used for multiplayer with the sole exception of the very rare Olympus Gold game which would crash without the 1.5 patch. For singleplayer or for multiplayer with Windows/WINE users, 1.5 probably makes sense as I think it has better stability on modern operating systems. For Linux/Mac you still have no other choice.
Title: Re: Versions of Descent 3?
Post by: Arne on April 21, 2021, 10:38:01 AM
The 1.4 NoCD version is the 1.4 US version with two bytes changed, both 1789952 bytes. The GOG/Steam version is the 1.4 NoCD version with a patch to use the short name of the working dir. This patch needs an extra import so the exe is slightly larger, but is otherwise equal except for a few dozen bytes.
I have a 1.4 EU version which is 1818624 bytes, md5 4dab85a41780a2be14e23959ce040b01, that might be the same you have?
The 1.5 version from descent3.com (patch is just a zip) is 1806336 bytes, md5 ed5a366fef6dacac689124ea848ac746.

I recently came across a co-op mod by alexi which also does runtime patching. It has an interesting 'GetDisplacement' function which calculates a 1.4EU or 1.5 offset given a 1.4NoCD offset.
http://www.dateiliste.de/en/forum/22-descent-3-configuration/2459-descent-3-co-op-mod.html#2459 (http://www.dateiliste.de/en/forum/22-descent-3-configuration/2459-descent-3-co-op-mod.html#2459)
Title: Re: Versions of Descent 3?
Post by: SaladBadger on April 21, 2021, 02:33:40 PM
Hmm yeah, it looks like most of my work's been against EU 1.4, sensible given that it came from a German source. The included 1.5 matches your information about 1.5, if there's enough users of it I can spend some time working on getting it implemented. I may see if I can coerce a proper install of 1.4 out of my ancient CDs, but I don't have much hope there.

Currently, from this, I support the GOG version (wherever the source of that is from, since it's been extant long enough that Black Pyro Justice was built against it) and the EU 1.4 version, which is an odd spread. I'll have to look at GetDisplacement to see if I can put it in reverse to get 1.4 NOCD offsets for my patch points. Thanks for tipping me off to this project.
Title: Re: Versions of Descent 3?
Post by: Hunter on April 27, 2021, 08:19:39 PM
The 1.5 patch is an unofficial patch which isn't available for Linux or Mac IIRC. The unofficial part may be why they didn't/couldn't change the version on the exe. At least back in the day, 1.4 official was the only version ever used for multiplayer with the sole exception of the very rare Olympus Gold game which would crash without the 1.5 patch. For singleplayer or for multiplayer with Windows/WINE users, 1.5 probably makes sense as I think it has better stability on modern operating systems. For Linux/Mac you still have no other choice.

The Kali Linux version is horribly outdated, best not used unless debugging something. If playing native is a must, use the new 64bit port by Ryan. But I still prefer wine by far, it offers way more flexibility.

Another interesting forgotten version of D3 is the Japanese version! Completely different audio files too.
Title: Re: Versions of Descent 3?
Post by: SaladBadger on April 27, 2021, 09:29:45 PM
For whatever it's worth Linux/Mac support isn't on the table ATM since it's an entirely different beast than Windows, requiring the use of entirely different POSIX APIs to do the memory patching I'm doing. Hypothetically these things should work in WINE, though my little C# configuration program would need Mono.

I don't really have anything left to do beyond doing a final check over the source code and then releasing this thing to people where it will surely explode in 3 minutes because I failed to account for something and it just crashes on everyone's machines... gee I sure have a positive outlook on development. In any case, I'm sticking with my plan for supporting EU 1.4 and GOG 1.4 at the moment, and I'll expand things to other versions later, but without any other option (beyond trying to get my CDs working), I'll have to ask people to donate executables for testing.
Title: Re: Versions of Descent 3?
Post by: akula65 on May 24, 2021, 03:07:41 AM
Some notes I have for my CD-ROM copies:
Quote
Creative Labs OEM Version 1.2 bundled with Sound Blaster Live! X-Gamer (Model SB4760X)
Disk One is labeled:  CD-C95-778-C2E, CLI Part No. 1713310386-1
Disk Two is labeled:  CD-C95-778-C2E, CLI Part No. 1713310387-1
Installing the Descent 3 Mercenary Expansion Pack will upgrade the version to 1.3.1 Build 567.
This version can be patched directly to Version 1.4 with the d3140us.exe U.S. patch.

Version 1.0 (Dual Jewel/Australian)
Disk One is labeled:  CD-C95-778-2
Disk Two is labeled:  CD-C95-778-3
Installing the Descent 3 Mercenary Expansion Pack will upgrade the version to 1.3.1 Build 567.
This version can be patched directly to Version 1.4 with the D3_AUS_1.4_Patch.exe Australian patch.

Version 1.0 (U.S.)
Disk One is labeled:  CD-C95-778-0
Disk Two is labeled:  CD-C95-778-1
Installing the Descent 3 Mercenary Expansion Pack will upgrade the version to 1.3.1 Build 567.
This version can be patched directly to Version 1.4 with the d3140us.exe U.S. patch.
Title: Re: Versions of Descent 3?
Post by: TechPro on May 24, 2021, 03:28:54 PM
Some notes I have for my CD-ROM copies:
Quote
Creative Labs OEM Version 1.2 bundled with Sound Blaster Live! X-Gamer (Model SB4760X)
Disk One is labeled:  CD-C95-778-C2E, CLI Part No. 1713310386-1
Disk Two is labeled:  CD-C95-778-C2E, CLI Part No. 1713310387-1
Installing the Descent 3 Mercenary Expansion Pack will upgrade the version to 1.3.1 Build 567.
This version can be patched directly to Version 1.4 with the d3140us.exe U.S. patch.

Version 1.0 (Dual Jewel/Australian)
Disk One is labeled:  CD-C95-778-2
Disk Two is labeled:  CD-C95-778-3
Installing the Descent 3 Mercenary Expansion Pack will upgrade the version to 1.3.1 Build 567.
This version can be patched directly to Version 1.4 with the D3_AUS_1.4_Patch.exe Australian patch.

Version 1.0 (U.S.)
Disk One is labeled:  CD-C95-778-0
Disk Two is labeled:  CD-C95-778-1
Installing the Descent 3 Mercenary Expansion Pack will upgrade the version to 1.3.1 Build 567.
This version can be patched directly to Version 1.4 with the d3140us.exe U.S. patch.

That looks like the US “Dual Jewel” disc set.
Title: Re: Versions of Descent 3?
Post by: Thunderbird on June 07, 2021, 05:00:41 AM
For whatever it's worth Linux/Mac support isn't on the table ATM since it's an entirely different beast than Windows, requiring the use of entirely different POSIX APIs to do the memory patching I'm doing. Hypothetically these things should work in WINE, though my little C# configuration program would need Mono.

I don't really have anything left to do beyond doing a final check over the source code and then releasing this thing to people where it will surely explode in 3 minutes because I failed to account for something and it just crashes on everyone's machines... gee I sure have a positive outlook on development. In any case, I'm sticking with my plan for supporting EU 1.4 and GOG 1.4 at the moment, and I'll expand things to other versions later, but without any other option (beyond trying to get my CDs working), I'll have to ask people to donate executables for testing.

Mac support is probably pointless anyway since the original Mac D3 does not work on any recent version of OS X (being that it was released prior to OS X).