Jump to content
The Dark Mod Forums

Installing Older TDM Versions


NightStalker

Recommended Posts

I usually download an old build from moddb and then run tdm_update then stop it once it's hit the version I want.

Moddb now has the zip packs to covert many old versions to other old versions eg. 1.06 to 1.07 package.

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

Thanks, freyk. I got the large TDM 2.00 "base" zip file from the moddb site a couple years ago, but didn't think to look there for anything else.

Unfortunately, maybe I'm misunderstanding your suggestion but, after looking at what's available on the moddb site, I still don't see how I can install an older version of TDM (to be precise, older than 2.05, but newer than 2.00).

The "standalone" file seems to be for the 2.00 version only. And if one is to download an update (say the "2.00 to 2.01" update), IIUC it still requires one to run the TDM updater exec (under Windows or Linux) and that's the crux of the problem -- the updater app has no ability to do anything but install the latest version (2.05 ATM), AFAICT. If I supply it with the 2.00 to 2.01 upgrade file only, it will merrily go off and (painfully) download all the other upgrade files and (against my preference, in this case) bring the installation up to 2.05!

Am I missing something here?

And, in fact, I want to do this under Linux, not Windows, a fact I intentionally omitted from my post because I thought that it should not matter. I still think it doesn't matter, but I'm prepared to be wrong. :D

Lastly, I'm wondering why those "The Dark Mod 2.0{0-4}-2.0{1-5} Update Package (Windows)" files on moddb all say "(Windows)" when they seem to be the exact same update files one would use with Linux (and, presumably, Mac OSX).

It seems to me like someone would have wanted to install an old version of TDM at some point over the years, but it escapes me how to do it without some very ugly and/or tedious work-arounds.

So, still very puzzled here... just what am I missing?

Link to comment
Share on other sites

I usually download an old build from moddb and then run tdm_update then stop it once it's hit the version I want.

Moddb now has the zip packs to covert many old versions to other old versions eg. 1.06 to 1.07 package.

Missed your post initially, nb1m. Thanks for the info.

 

But, short of trying to halt the updater at the proper point, which gives me pause, I think most of what I said in my reply to freyk is still relevant and I'm still quite befuddled.

 

I may have to try what you suggest, though, because I see no easy way (ATM) to get what I want.

 

I can't see wanting to go back much beyond TDM 2.03, but I can't even yet accomplish that!

Link to comment
Share on other sites

The conversion packages should have both Windows and Linux executables in them as I recall.

That said, we offer our source for all old releases:

 

http://www.thedarkmod.com/download-sourcecode/

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

Sorry, I may not have made myself totally clear.

It's not the TDM executable that's the problem. So the availability of source code for old versions of TDM doesn't help (in this case).

It's the whole "environment". Think "directory content", "resources", or "assets". How do I set up a directory with, say, the TDM 2.03 release, with the executable (of course) and with TDM-2.03-era PK4 files ("assets") and no other (newer or older) assets?

Before I started this thread, I searched the TDM forums and found nothing helpful. I also tried various mild hacks to the 'tdm_update' source code and to its input files, but I was thwarted at each step (a longer story).

I still figure that someone, somewhere, over the years of TDM must have had the same dilemma I'm in, no? :wacko:

Link to comment
Share on other sites

Thanks, Durandall. I didn't consider extracting the update files over an earlier installation although I seem to recall having done something like that many months ago, for a different reason.

Today, I downloaded one of the so-called "Windows" moddb 'update' files and it had the exact same content as the one I use (under Linux, downloaded from one of the TDM mirrors) with 'tdm_update.linux'. So I would say that those files are actually meant to be used with the updater app, but...

I suppose that if one were to take the somewhat unusual step of extracting all of the PK4 files that come in the base 2.00 installation, one could then do as you suggest and extract (without using the updater app) the "update" file(s) on top of the 2.00 installation. Technically, that would not yield the same set of files as when the updater app is run for a given 2.0x release because the app will delete old files (IIRC, both intra-PK4 files and PK4 files themselves) when they're obsolete. But, if one isn't a purist, that would probably yield a workable 2.0x installation, so thanks again for the suggestion.

I'll try both nb1m's suggestion and Durandall's when I get a chance.

Thanks, folks. If anyone has any other ideas, I'm still open to them.

Link to comment
Share on other sites

Can you do this from the SVN?

Of course that requires you to have SVN access.

 

The main reason I'd want to do it is an old SVN version had soft shadows and honestly they're worth playing that old version to have them. I kept one install on my external HD somewhere just for that reason. (I don't know if that info is public; but anyway it's kind of academic because to get them back in the new version requires yet more fiddling.)

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

Can you do this from the SVN?

Of course that requires you to have SVN access.

Possibly. I'd thought about that, but since the "assets" SVN tree is non-public (IIRC), I didn't want to consider that avenue, at least for purposes of this (public) thread. So, although I could (and might eventually) try the SVN route, it's not really ideal, for multiple reasons, unfortunately. But I do appreciate your suggestion and comment.

 

It just seems to me like creating a "fully authentic" runnable older version of TDM should be far more straightforward than it is.

Link to comment
Share on other sites

  • 10 months later...

Apologies for not "closing the loop" on this. Only recently did I finally get back to re-visiting this issue. I wound up simply hacking the 'tdm_update' C++ code to crudely inject a large, obvious console message and a 10-second delay at the end of each version's update. This allowed me to simply monitor the installation and break out at the appropriate time. Very ugly, but it sufficed.

 

Here's the actual code, injected at the end of the 'Updater::PerformDifferentialUpdateStep()' routine in the 'tdm_update/libtdm_update/Updater/Updater.cpp' file:

 

 

// 
// 24 Jun 2018: NightStalker
//    
//    Allow time to break out of the update process here, at a convenient
//    point where a version update has just finished, before we start updating
//    to the next version...
//    
std::cerr << "=============================================================================" << std::endl;
std::cerr << "=============================================================================" << std::endl;
std::cerr << "=============================================================================" << std::endl;
std::cerr << "=============================================================================" << std::endl;
std::cerr << "     Abort within 10 seconds if you want to stay at version " + updateInfo.toVersion + "..." << std::endl;
std::cerr << "=============================================================================" << std::endl;
std::cerr << "=============================================================================" << std::endl;
std::cerr << "=============================================================================" << std::endl;
std::cerr << "=============================================================================" << std::endl;
sleep(10);

Thanks again for all the suggestions.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 4 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...