Jump to content
The Dark Mod Forums

New tdm_installer and dev builds


Recommended Posts

  • Replies 114
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Some time ago I started investigation for a better differential update algorithm. The first attempt was known as time-travelling tdmupdate (also "tdmsync"). The second attempt has been much more cumbe

Note that there are no gamepad input mappings active by default (except for the main menu). That's still something we need to sort out. Follow this guide to actually make the gamepad work: https://git

The new HotReload feature by stgatilov in this latest build is a big one for any mappers. Now you no longer need to reload the whole map in TDM if you changed an entity's properties in DR (origin, mod

Posted Images

Some sort of TODO:

  1. Icons.
  2. Some wording improvement (confusion about "Please wait" after installation is complete).
  3. Preliminary check of files, in case they are locked by someone.
  4. Generate different names for log file, so that they don't overwrite each other.
     
  • Thanks 1
Link to post
Share on other sites
Spoiler

 

I've recently obtained zipsync.exe (had to find the file at the new location on taaaki's mirrors and update the link on the wiki page) so I can make a small unofficial patch containing my upgraded security camera. The problem is that it closes down instantly when I open it. I've tried running it via cmd with administrator access with this line, but it was the same result:





start C:/personal/darkmod/zipsync.exe

My antivirus didn't like it, but putting it on the white list etc. made no difference.

I suppose you did say it requires command line skills, but making a small patch from a few files seems like it should be quite easy.

 

Edit: nevermind, looks like the problem was that I should use the above line without "start". I've started cmd and entered:

cd C:/personal/darkmod/packaging

Then

zipsync analyze -cn *.pk4 *.zip

 

Edit2: the main problem now is that there's no 2.09 equivalent of this manifest: release208_from_release207

So I can only base my patch on 2.09b6. Shouldn't really matter since 2.09b6 is identical to 2.09, but still - I wouldn't have been able to follow the wiki instructions without looking into taaaki's mirror.

So the 3rd command is currently:

zipsync patch -b http://darkmod.taaaki.za.net/zipsync/beta/209/beta209-06_from_beta209-05/manifest.iniz

 

Edit3: got it all established, now anyone can easily download (or undownload) the current state of my reworked security camera by doing the following:

  1. Start the tdm_installer, select "Get custom version", click on "Next".
  2. Click on beta209-06
  3. Paste this URL into the "Custom manifest URL" box and start the download: http://darkmod.taaaki.za.net/zipsync/dragofer/sec_cam/manifest.iniz
  4. When the download is done, you can click on "Restore old darkmod.cfg", since I made no graphics changes. Saves can only be loaded on the build they were made on.

Still got some more plans with this camera, but that's the distribution aspect sorted.

  • Like 1
Link to post
Share on other sites
22 hours ago, Dragofer said:

My antivirus didn't like it, but putting it on the white list etc. made no difference.

My Windows 10 does not like any executable downloaded from internet.

Quote

Edit2: the main problem now is that there's no 2.09 equivalent of this manifest release208_from_release207

So I can only base my patch on 2.09b6. Shouldn't really matter since 2.09b6 is identical to 2.09, but still - I wouldn't have been able to follow the wiki instructions without looking into taaaki's mirror.

That's because you were looking at the wrong place.

The initial location of zipsync packages (http://darkmod.taaaki.za.net/zipsync) is abandoned now. I have already deleted zipsync.exe from there, and just now I have deleted the core packages from there. Only tdm_installer executables and your packages are left.

Now the official TDM packages are at http://darkmod.taaaki.za.net/release/zipsync.
But you cannot put your own files there, because it is synchronized to TDM server (which is another location you don't have write access to). If you like to put your own patches on TDM servers, I guess the old location can be used for it (just as you did).

Quote

Still got some more plans with this camera, but that's the distribution aspect sorted.

I did not think people will really use zipsync packages, and I must admit that you have lowered the difficulty bar of it in my head 🤩

You can of course do any unofficial packages you like. Just keep in mind that I'll anyway do dev builds from trunk on regular basis. Just need some time for 2.09 release to settle...
 

Link to post
Share on other sites
3 hours ago, stgatilov said:

I did not think people will really use zipsync packages, and I must admit that you have lowered the difficulty bar of it in my head 🤩

Yeah, if you have basic knowledge of how .pk4's work in TDM, are told exactly what to enter into the console and have access to an HTTP server, then it can be done very easily. I've written out explicit step-by-step instructions for laymen on what exactly to do, based on your wiki and my experience:

 

1. Pack all your files into .pk4's:

  • If you want your files to be merged into existing .pk4's from TDM's base install, your .pk4's must have the same names as the existing .pk4's.
  • If you want your files to overwrite existing files from the base install, name their .pk4's so that they sort lexicographically later. An example is z_camera.pk4.
  • Unfortunately you can’t delete files with the patch method. To do that, you should use the differential patch method.
  • Things that are not usually in .zip archives, like the .exe's, should go into a .zip archive called tdm_shared_stuff.zip. They will automatically be unpacked at the user's end.

2. Move the archives and zipsync.exe into an empty folder, i.e. C:/games/darkmod/packaging.

3. Start the command prompt (search for the program “cmd” on your system) and enter the following commands:

  • cd c:/games/darkmod/packaging
    • This makes the command prompt navigate to the folder containing your patch files and zipsync.exe. Adjust as necessary.
  • zipsync analyze -cn *.pk4 *.zip
    • This runs zipsync.exe for the first time, generating a small manifest of your files.
  • zipsync patch -b http://update.thedarkmod.com/zipsync/release/release209_from_release208/manifest.iniz
    • This runs zipsync.exe a second time. It downloads the full manifest of the 2.09 release and combines it with the manifest of your files. If successful, your manifest should grow to upwards of 2 MB.
    • If you wanted your patch to be based on a different release, simply adjust the URL to point to a different manifest.
    • You will also have a slightly smaller temporary manifest in your folder, representing the original 2.09 manifest. You can delete it.

4. Upload your manifest.iniz and your archives to an HTTP server. This can be either your own or one of the TDM-affiliated servers, if you have access to them.

5. To let users download the patch, you will need to tell them:

  • the URL of your manifest.iniz
  • the version of TDM on which the patch is built upon

 


These download instructions can be provided to users (adjust to fit your own case):

  1. Start the tdm_installer, select "Get custom version", click on "Next".
  2. Click on release209
  3. Paste this URL into the "Custom manifest URL" box and start the download: http://darkmod.taaaki.za.net/zipsync/dragofer/sec_cam/manifest.iniz
  4. When the download is done, you can click on "Restore old darkmod.cfg", since no graphics changes were made. Saves can only be loaded on the build they were made on.
Link to post
Share on other sites
On 2/17/2021 at 10:43 AM, stgatilov said:

Some sort of TODO:

  1. Icons.
  2. Some wording improvement (confusion about "Please wait" after installation is complete).
  3. Preliminary check of files, in case they are locked by someone.
  4. Generate different names for log file, so that they don't overwrite each other.
     

Done all of that.

Sorry to players for leaving many logfiles around. The logfiles older than 30 days should get deleted automatically... but the amount of garbage will increase.

As for preliminary check for locked files. This works perfectly under Windows, all pk4/zip files and manifest.iniz are checked. I have tested: if TDM or DR is open, then the check complains about it. I had to use some Windows-specific function to implement it, because normally you can write to pk4 files while TDM holds read access to them (but cannot delete them).

However, it does not work under Linux. In fact, when TDM is running, everyone can overwrite and delete pk4 files. Only the actual executable cannot be modified. I'm afraid there is no special flag or state on pk4 files which would tell me that someone uses them: since TDM does not explicitly lock them using Linux-specific API, it basically says "everyone is free to modify them as they like".

Link to post
Share on other sites
  • 3 months later...

Updated tdm_installer (version 1.05).

Improvements:

  1. Close button of the main window no longer works if some action is being executed. Previously you could close window this way, but installer continued its current action --- pretty sneaky, especially on Windows.
  2. Downloader now handles silent loss of connection (by checking low download speed over seconds). Also tweaked timeouts and added retry algorithm. This should fix installer hanging during downloading.
  3. Added a way to select download mirror on the second page. A user can select mirror which is closer to him if he really wants, or it can be used for troubleshooting.

Note: by default mirrors are selected randomly according to weights. That the preferred way, because it allows us to distribute traffic across mirrors. If some mirror gets unexpectedly high traffic, the mirror owner can have his server down or be charged with additional payment.

Link to post
Share on other sites

I have a question about the new frob highlight. Can this be toggled to the old one somewhere? If not is there an easy way to revert it for my Unofficial Patch?

Link to post
Share on other sites
2 hours ago, Destined said:

The cvar seems to be "r_newFrob", but there is also a description, how the highlight can be modified.

So it is possible to call and set a console variable out of a script of def and what about adding an option to switch between both to the core mod?

Link to post
Share on other sites

The next dev build will change how surface highlight works.

Also, the old code for surface highlight will be completely removed in some near future.

Link to post
Share on other sites
3 hours ago, stgatilov said:

The next dev build will change how surface highlight works.

Okay, then I will wait for that and hope it is not as modern killing-the-atmosphere as the current one ;).

Link to post
Share on other sites

So I have tested the new build and I still don't like the new highlight system. It's an immersion killer big time! Not only due to the bright look, also due to artifacts, see the attached screenshots. The lines in the first one are very obvious and on a whole the AA works really bad. In the second screenshot you get a transparent looking candle which looks stupid as well!

bakery_job_2021-05-28_19.00.00.jpg

bakery_job_2021-05-28_19.00.21.jpg

Edited by wesp5
  • Like 2
Link to post
Share on other sites
35 minutes ago, wesp5 said:

So I have tested the new build and I still don't like the new highlight system. It's an immersion killer big time! Not only due to the bright look, also due to artifacts, see the attached screenshots. The lines in the first one are very obvious and on a whole the AA works really bad. In the second screenshot you get a transparent looking candle which looks stupid as well!

bakery_job_2021-05-28_19.00.00.jpg

bakery_job_2021-05-28_19.00.21.jpg

The door looks weird but the candle warmly reminds me of the pleasant shades from Thief: Deadly Shadows.

"I really perceive that vanity about which most men merely prate — the vanity of the human or temporal life. I live continually in a reverie of the future. I have no faith in human perfectibility. I think that human exertion will have no appreciable effect upon humanity. Man is now only more active — not more happy — nor more wise, than he was 6000 years ago. The result will never vary — and to suppose that it will, is to suppose that the foregone man has lived in vain — that the foregone time is but the rudiment of the future — that the myriads who have perished have not been upon equal footing with ourselves — nor are we with our posterity. I cannot agree to lose sight of man the individual, in man the mass."...

- 2 July 1844 letter to James Russell Lowell from Edgar Allan Poe.

Link to post
Share on other sites
3 hours ago, nbohr1more said:

Try either r_frobIgnoreDepth 0 or r_frobOutline 0

The latter did the trick, reverting the visuals almost to those of before. Can you please add a toggle in the UI to switch the outlines on and off? Like "Show Frob Outlines" below the "Show Frob Helper" options, then everybody would be happy :)!

Edited by wesp5
  • Like 1
Link to post
Share on other sites
15 hours ago, Anderson said:

candle warmly reminds me of the pleasant shades from Thief: Deadly Shadows.

Except TDS had cubemap frob highlight and the outline is more like a Dishonored 2 thing. Although here it's as subtle as a fart joke. You don't have to be an art graduate to know that extreme color values work only in particular situations, and this is definitely not one of those. Setting outline alpha to something like .5 should help in making it a bit less jarring.

Link to post
Share on other sites
  • 2 weeks later...

Is it a good place to discuss installer feature suggestions?

I'm installing TDM on a new computer right now and there are two obvious things missing on Windows:

  • HiDPI support
  • Progress on the taskbar button

I understand the cross-platform nature of the installer, but still these two things would be an instant improvement.

Link to post
Share on other sites
17 hours ago, duzenko said:

Is it a good place to discuss installer feature suggestions?

Yes.

Quote

HiDPI support

Since there are no special things in the installer for high-DPI case, I assume the OS should consider the tdm_installer as DPI-unaware and scale it automatically. So it wouldn't be tiny on 4K screen. Yes, it will be a bit blurry, but that's not a problem: it's not a game with crisp graphics.

Quote

Progress on the taskbar button

Maybe this is possible.
I'm not sure FLTK supports it, but maybe it can be wrapped into OsUtils and called in progress callback.

  • Like 1
Link to post
Share on other sites
8 hours ago, stgatilov said:

Yes, it will be a bit blurry, but that's not a problem: it's not a game with crisp graphics.

To me auto-scaling looks bad and implies incompatibility (as in legacy unsupported staff) or merely lazy and/or noob programmer.

I think pretty much every self-respecting installer supports HiDPI nowadays.

Link to post
Share on other sites
5 hours ago, duzenko said:

To me auto-scaling looks bad and implies incompatibility (as in legacy unsupported staff) or merely lazy and/or noob programmer.

I'm pretty sure everyone with 4K display is used to seeing upscaled applications. If something was not updated, or developers don't care (like me), then it works in default upscaling mode.

Anyway, FLTK renders all its GUI manually, so high DPI support must come from the library. I guess here is the page, saying "FLTK supports high-DPI screens using a screen scaling factor". I think it either looks the same as with OS scaling, or it looks even worse due to some stuff getting thinner.

Link to post
Share on other sites
12 hours ago, stgatilov said:

I'm pretty sure everyone with 4K display is used to seeing upscaled applications. If something was not updated, or developers don't care (like me), then it works in default upscaling mode.

 

Actually, the TDM installer is the only blurred auto-scaled UI I've seen in months. That's why I'm bringing it up - in 2021 it's no longer norm. Off the top of my head I can't remember any Windows program I'm using more or less often that does not at least want to support HiDPI (even if poorly)

Quote

Anyway, FLTK renders all its GUI manually, so high DPI support must come from the library. I guess here is the page, saying "FLTK supports high-DPI screens using a screen scaling factor". I think it either looks the same as with OS scaling, or it looks even worse due to some stuff getting thinner.

Would you like me to look at it?

Link to post
Share on other sites
1 hour ago, duzenko said:

Off the top of my head I can't remember any Windows program I'm using more or less often that does not at least want to support HiDPI (even if poorly)

It is better to not show any support (since OS does it perfectly) than to do it poorly.

Link to post
Share on other sites
1 hour ago, duzenko said:

Would you like me to look at it?

If it will be a small change, then OK.
But if it needs substantial changes, then I'd say better don't.

Link to post
Share on other sites

The day before yesterday I had a computer accident (he was five feet tall and his name is nephew) that left the TDM directory corrupted.
Instead of trying to fix it, I have decided to completely uninstall it and reinstall it again, thus testing the new installer in the process.
It worked as expected, but exasperatingly slow, the installation took almost 48 minutes with the 3 missions by default (I use fiber connection with a minimum of 100 Mbs).

Sys Specs Laptop Lenovo V145 15AST, AMD A9- 9425 Radeon R5 - 5 cores 3,1 GHz  RAM 8Gb, GPU 1+2 Gb -Win10 64 v21H1

Favorite online apps you may like too 😉

Link to post
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.


×
×
  • Create New...