Jump to content
The Dark Mod Forums

Recommended Posts

Posted

Beta 11

  • Fix finished-on state auto-update was unreliable
  • Slighty improve scanner title/author detect

Tags are now named some whatever regular-version-looking thing to force GitHub to put the newest at the top

  • Like 1
Posted

Yeah, a last completed date would be something the game would have to implement (and write it out to missions.tdminfo). Apart from that, there's no reliable way for AngelLoader to know it.

Beta 12

  • Fixed: the first "refresh from disk" trigger from TDM would be ignored, due to spurious refreshes being queued on startup and then never run, thus not having the refresh level value reset.
  • In the Settings window, if a setting was changed that required a view refresh (game paths etc.), the filters would lose their state after the refresh.
  • Dark Mod FM scans now show a progress box with a cancel button, because it's theoretically possible for the server data download to take some unboundedly large amount of time (highly unlikely, but covering the edge cases).
  • Title filter searches now also search TDM "archive" names, same as for the other games.
  • The DarkLoader Import window will now disable the Import Saves checkbox if no backup path has been specified, and shows a link to go to the Settings window where you can specify a backup path.
Posted (edited)
53 minutes ago, FenPhoenix said:

Yeah, a last completed date would be something the game would have to implement (and write it out to missions.tdminfo).

Shouldn't that not be the same as the last played date? For me it usually is unless I am in the middle of a mission ;).

Edited by wesp5
Posted (edited)

Yeah, there's the last played date, but there's no (reliable) way to know if you actually completed the game on that date. What I mean by "no reliable way" is that the following would have to occur for the last completed date to be accurate:

  • AngelLoader is running.
  • You're playing an FM (say, Iris) on a difficulty you have not completed yet (say, Expert).
  • You complete the FM, the game marks it as "completed on Expert" and writes that out to missions.tdminfo.
  • AngelLoader detects the change to missions.tdminfo, reads it, and compares to its internal list. It sees that Iris' finished states differ between the internal database and missions.tdminfo: the latter has Expert marked, whereas the internal database only has Normal marked (or nothing, or whatever). It adds the Expert finished state to the internal database for Iris, and updates the UI. Because it catches every modification of this file and updates its internal database every time, it knows the difference in finished states occured on the most recent write. Thus, it could timestamp this and there's your last completed date.

Unreliabilities:

  • If AngelLoader were not running when the game writes the value out, then you have no guarantee of time anymore. Not only were you not there to catch the change event, but the file's last-write-time doesn't save you either: the file could have been modified any number of times (updating any number of FMs' entries) since the time of the updating of the actual FM you completed, and individual entries are not marked with the time of their finished state change. So if multiple FMs were finished between AngelLoader runs? Even if you went with the file timestamp, that's still only one. If you finished two FMs between AL runs, any information whatsoever about the time of completion of the first one is completely lost. Same if the game simply wrote over the file with unchanged data, that would lose your correct file timestamp too.
  • If you finished an FM on a difficulty you have finished before, then the game will simply write out the same value resulting in no change to the FM entry in missions.tdminfo. AngelLoader will still detect the file modification and will still read and compare the file, but now no differences will be found, so it's impossible for it to know whether any FM's finished state has been changed, and thus it can't know whether you finished it that run or not, and can't datestamp it.
  • The last finished dates of any FMs you completed before you set up AngelLoader are unknowable, period. It might be the last played date but it just as well might not be.

We'd end up with a mishmash of correct data and guesses that may just as well be wrong as right. If you can't trust the data then I'm not convinced it's that useful.

Edited by FenPhoenix
"played" -> "completed"
  • Like 1
Posted

Beta 13

  • More robust TDM file reading attempts: we now try until we can access them or until a 5 second timeout
  • If a TDM file is not found at all, we now continue immediately and don't wait the 5 seconds
  • Rework auto-refresh system to be simpler and more robust:
    • Refreshes run completely on the UI thread now
    • Refreshes happen immediately or not at all; no more deferred refreshes
    • Refreshes are not allowed when the main window is blocked or disabled (mostly if a progress box is up)
    • If a dialog window is open (Settings, About, etc.) then a "lightweight" refresh (UI update only) is allowed, but a "heavyweight" refresh (FM list reload, possible scan and/or readme cache update) is not.
  • Remove installed status from unavailable TDM FMs (those not found on disk)
  • Gracefully handle scenarios where some or all watched TDM files or directories may not exist (clean install, partially broken install etc.)
  • Ignore empty or invalid FM dirs (dirs with no pk4 files in them; TDM clean installs may add an empty "saintlucia" folder for example)
  • Like 2
Posted

Here's the latest beta. I feel like this is about ready for a public release at this point. If no one has any bug reports or anything, and if I don't find any issues in the next few days, I'll start preparing the first public release.

Beta 14

  • Matching game behavior on a bunch of subtler points. None of the below scenarios are likely to occur, but it's best to be able to handle them.
    • TDM auto-converts FM file names to a valid form (lowercase, replacing disallowed chars with underscores, etc.). AngelLoader is now able to match non-converted FM names to their converted counterparts, so it knows for example "BaKerY;job.pk4" is the FM "bakery_job".
    • TDM doesn't care what the pk4 inside an fm's folder is called. So "C:\darkmod\fms\bakery_job\bakery_job.pk4" will load just as well as "C:\darkmod\fms\bakery_job\totally_different_name.pk4". AngelLoader is now aware of this during scans and will not require the in-fm-folder pk4's name to match the FM's.
    • TDM supports compressed FMs with the .zip extension as well as .pk4 when the FM is in the base FMs dir (hasn't been moved yet). AngelLoader is now aware of this, and of the priority order of the two extensions, and will choose the correct file when scanning/loading.
  • In Settings -> Paths, the Backup Path area has been polished a bit.
  • In Settings -> Appearance -> Show or hide interface elements, the checkboxes are now "Show" instead of "Hide", to be more straightforward.
  • When scanning, the progress box will now show a message that it's getting TDM FM data from the server if it's doing so, rather than the more generic "preparing scan" message.
  • Like 1
Posted

I launched two different instances of beta 14, one with and one without internet and both worked without issues, messages or complaints.

AngelLoader does what it is supposed to do very efficiently. It is lightning fast and it comes with the right set of settings to set it up as per my liking: dark theme, tabs instead of icons (two games only), and sorting (true alphabetical).

A welcome addition to the TDM world. Thank you very much.

  • Like 1

TDM_Modpack_Thumb_50.png

  • FenPhoenix changed the title to AngelLoader TDM Support (now released!)
  • 4 weeks later...
  • 11 months later...

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

    • datiswous

      I moved from Manjaro Linux (rolling release) to Linux Mint (LTS). One of the reasons was that I found the updates a bit too often and long. But now on Mint I get updates every day, although they're usually small updates.
      · 3 replies
    • JackFarmer

      "Hidden Hands: Vitalic Fever" - new update available including subtitles & compressed briefing video (thanks to @datiswous) and several fixes.
      · 0 replies
    • Wolfmond

      🇬🇧

      2025-04-20
      I'd like to track my level design progress a bit more often now, so I'm using the feed in my profile here.
      I've been working intensively on Springheel's YouTube course over the past few days. I'm currently up to lesson 8. There is so much information that needs to be processed and practiced. 
      I have started to create my own house. As I don't have the imagination to create a good floor plan, I grabbed a floor plan generator from Watabou and experimented with it. I chose a floor plan that I will modify slightly, but at least I now have an initial idea. 
      I used two guards as a measuring tape: The rooms are two guards high. It turned out that I can simply double the number of boxes in DarkRadiant in grid size 8 that are drawn in the floor plan. 
      I practiced the simplest things on the floor plan first. Drawing walls, cutting walls, inserting doors, cutting out frames, creating VisPortals, furnishing rooms.
      I have had my first success in creating a book. Creating a book was easier than I thought. I have a few ideas with books. The level I'm creating will be more or less a chill level, just for me, where I'll try out a few things. I don't have an idea for my own mission yet. I want to start small first.
      For the cellar, I wanted to have a second entrance, which should be on the outside. I'm fascinated by these basement doors from the USA, I think they're called Bilco basement doors. They are very unusual in Germany, but this type of access is sometimes used for deliveries to restaurants etc., where barrels can be rolled or lifted into the cellar. 
      I used two Hatch Doors, but they got completely disoriented after turning. I have since got them reasonably tamed. It's not perfect, but it's acceptable. 
      In the cellar today I experimented with a trap door that leads to a shaft system. The rooms aren't practically finished yet, but I want to continue working on the floor plan for now. I'll be starting on the upper floor very soon.

      __________________________________________________________________________________
      🇩🇪

      2025-04-20

      Ich möchte nun mal öfters ein bisschen meinen Werdegang beim Leveldesign tracken, dazu nutze ich hier den Feed in meinem Profil.
      Ich habe mich in den vergangenen Tagen intensiv mit dem Youtube-Kurs von Springheel beschäftigt. Aktuell bin ich bis zu Lektion 8 gekommen. Das sind so viele Informationen, die erstmal verarbeitet werden wollen und trainiert werden wollen. 

      Ich habe mich daran gemacht, ein eigenes Haus zu erstellen. Da mir die Fantasie fehlt, einen guten Raumplan zu erstellen, habe ich mir einen Grundrissgenerator von Watabou geschnappt und damit experimentiert. Ich habe mich für einen Grundriss entschieden, den ich noch leicht abwandeln werde, aber zumindest habe ich nun eine erste Idee. 

      Als Maßband habe ich zwei Wächter genommen: Die Räume sind zwei Wächter hoch. Es hat sich herausgestellt, dass ich in DarkRadiant in Gittergröße 8 einfach die doppelte Anzahl an Kästchen übernehmen kann, die im Grundriss eingezeichnet sind. 

      Ich habe bei dem Grundriss erstmal die einfachsten Sachen geübt. Wände ziehen, Wände zerschneiden, Türen einsetzen, Zargen herausschneiden, VisPortals erstellen, Räume einrichten.

      Ich habe erste Erfolge mit einem Buch gehabt. Das Erstellen eines Buchs ging leichter als gedacht. Ich habe ein paar Ideen mit Bücher. Das Level, das ich gerade erstelle, wird mehr oder weniger ein Chill-Level, einfach nur für mich, bei dem ich ein paar Sachen ausprobieren werde. Ich habe noch keine Idee für eine eigene Mission. Ich möchte erst einmal klein anfangen.

      Beim Keller wollte ich gerne einen zweiten Zugang haben, der sich außen befinden soll. Mich faszinieren diese Kellertüren aus den USA, Bilco basement doors heißen die, glaube ich. Diese sind in Deutschland sehr unüblich, diese Art von Zugängen gibt es aber manchmal zur Anlieferung bei Restaurants etc., wo Fässer dann in den Keller gerollt oder gehoben werden können. 
      Ich habe zwei Hatch Doors verwendet, die allerdings nach dem Drehen vollkommen aus dem Ruder liefen. Inzwischen habe ich sie einigermaßen gebändigt bekommen. Es ist nicht perfekt, aber annehmbar. 
      Im Keller habe ich heute mit einer Falltür experimentiert, die zu einem Schachtsystem führt. Die Räume sind noch quasi nicht eingerichtet, aber ich möchte erstmal am Grundriss weiterarbeiten. In Kürze fange ich das Obergeschoss an.



      · 2 replies
    • JackFarmer

      On a lighter note, thanks to my cat-like reflexes, my superior puzzle skills and my perfect memory, I was able to beat the remastered version of "Tomb Raider: The Last Revelation" in a new superhuman record time of 23 h : 35 m, worship me!
      · 3 replies
    • Goblin of Akenash

      My mapping discord if anyone is interested, its more of a general modding thing rather than just for TDM 
      https://discord.gg/T4Jt4DdmUb

       
      · 0 replies
×
×
  • Create New...