Jump to content
The Dark Mod Forums

Notes and things.


Knockout Thief

Recommended Posts

10 hours ago, nbohr1more said:

TheDarkModx64.exe +set fs_currentfm alberic3

Given how easy this is, and given that changing the mission involves restarting the game, it does strike me that it would make a lot of sense to build a separate launcher to act as the "front end" before the starting a mission.  This could even be built by anyone comfortable with GUI building in any programming language of their choice as a completely separate project.  PyQt maybe?  (Haven't built a GUI app in forever.)

Sounds like a fun experiment, and a rewrite of the mission downloader would not hurt (though it seems a lot better behaved than in the past, haven't had it crash on me recently ... though I have learnt not to tab away when it is running).

Link to comment
Share on other sites

A little studying on this...

GarrettLoader used to launch TDM in addition to Thief games but was last updated in 2009 ( before TDM standalone ).

For some reason the open source spiritual successor "AngelLoader" never included a TDM option:

https://github.com/FenPhoenix/AngelLoader

@freyk how would you feel about porting your launcher work to AngelLoader and submitting a PR ( or forking AngelLoader to include your work )?

  • Like 1

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

@nbohr1more

Sure, the sourcecode is online. But my launcher doesnt have a mission manager. And i dont have the time to add code to my launcher or port code to angeloader myself. Maybe someone would like to that, like @FenPhoenix

Because, in the state the launcher is in now, It is just a proof of concept and a sollution for solving some userexperience problems. Download the binary (or sourcecode) and see it for yourself.

Edited by freyk

Info: My portfolio and darkmod graphical installer
Amnesty for Bikerdude!

Link to comment
Share on other sites

Hello all. Author of AngelLoader here.

There were never any plans to support TDM in AngelLoader, as I figured the in-game system was adequate enough. Adding TDM support would not be impossible, of course, but would require quite a lot of work to shoehorn it into a loader that's mostly designed around NewDark games and the way they work and are structured. For example, TDM doesn't really have the concept of some external "FM archive folder", it just keeps the FMs in an "fms" subdir, doesn't it? And it doesn't really have the concept of a set of "local installed FMs" vs a set of "local not-installed FMs", but rather just "existent FMs and then one that's 'the current one'". Or something similar anyway. I'm sure there's lots more differences too.

Also, if you wanted to download new FMs, you'd have to go in-game to do it anyway, then go back out to your external loader, which seems kinda awkward. I mean unless the external loader also duplicated the download functionality so it could replace the in-game one completely... but honestly that's more than I'm willing to take on.

Also, regarding Linux, AngelLoader pretty much can't be made to run on it natively for reasons, unless you're one of the lucky ones who can manage to get it working on Wine (some can, some can't - I haven't been able to). It's tied to WinForms because of the RichTextBox (it needs to be able to show .rtf files) and .NET kinda has no UI framework for Linux, not even MAUI supports it... there's Mono but its WinForms isn't a perfect clone either... I can't move to modern .NET post-Framework versions either because the dark theming breaks. WPF has a RichTextBox but it's unusably slow. etc. It's a whole mess.

So, really, given AngelLoader has to support rtf and a bunch of other legacy Windows-y stuff for its Windows-y games, and it's designed with Thief-y assumptions, it would probably be better to write a new loader from scratch that only does TDM and can run cross-platform. You'd get rid of all the irrelevant complexity of a Thief series loader (including the need to display rtf!) and you could use Qt or something to have a nice uniform cross-platform look and all. But I'm not a C++ coder, I only know C# and just barely enough C++ to fumble out some simple things, so I'm not the one to do it.

Anyway, AngelLoader is open-source MIT so anyone can feel free to fork, learn from, or take whatever they find useful from it.

Edited by FenPhoenix
  • Thanks 1
Link to comment
Share on other sites

On 10/27/2022 at 11:41 AM, Xolvix said:

Just make sure it's rewritten using Rust, that's what all the cool kids are using these days apparently.

I'm a big fan of Rust. It's an well-designed language with excellent tooling. But it doesn't have great GUI support yet (although there are a few toolkits available), and integrating it into a larger C++ application is non-trivial (although possible).

Designing a new loader from scratch in Rust with an Electron-based front-end — that might actually be possible, although it would probably need somebody with more than my beginner-level Rust knowledge.

  • Like 1
Link to comment
Share on other sites

Yes that is true, there are many startup arguments you can use and files you can edit.

Writing the manager from scratch is easy. I got the parts of my launcher working in a few minutes/hours. I dont know and want to fix bugs in the internal downloader.

To me, the internal mission downloader is great for getting/updating/inforeading missions, but not nice to write to notes in it, because it works very slow.

I prefer a more "native" external application like notepad, so i can make a note much quicker, can easely switch applications, etc. And install/update the missions without opening the game.

I only see that the mission manager-parts will take some hours. Because we need to search in files where to download the fms. Manage the database of the launcher, etc.

And i dont see the launcher replaceing internal parts of the game. It is just an external tool, like the tdm installer. (That also updates tdm-files, outside the game)

Edited by freyk
  • Like 1

Info: My portfolio and darkmod graphical installer
Amnesty for Bikerdude!

Link to comment
Share on other sites

The internal TDM downloader saves a simple text file called missions.tdminfo in which things like downloaded_version, last_play_date, mission_completed and mission_loot_collected are stored which are read from the main game and shown there. Shouldn't it be possible to add some kind of commentary or at least a rating into this very file in the same way?

 

Edited by wesp5
Link to comment
Share on other sites

12 hours ago, datiswous said:

Maybe use html5 via Electron. I have not worked with it, but having to work with html, css for the ui seems easier and something more people have knowledge of.

Unfortunately this is also the reason we're getting slower applications with greater memory requirements. People don't want to build native applications anymore, they want languages originally intended for web development but repurposed for the desktop via Electron because it's... easier. Somehow we managed to make zippy applications using C/C++ for ages (even cross-platform using toolkits like Qt/GTK) but now that's IMPOSSIBLE apparently.

/old-man rant

  • Like 1

A word of warning, Agent Denton. This was a simulated experience; real LAMs will not be so forgiving.

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

    • Ansome

      Query: when was the last time a zombie in a video game was unnerving or scary to you? I'm chipping away at my anniversary submission and I've been trying to gather opinions on the subject. I'm perfectly capable of lighting them well, changing their sfx, and creating effective ambience, but I'm worried that zombies at their core are just too overdone to be an effective payoff to the tension I'm creating.
      · 4 replies
    • nbohr1more

      The Lieutenant 3 is out! Congrats Frost_Salamander! ( raising awareness )
      · 2 replies
    • OrbWeaver

      Has anyone had any luck with textures from Polyhaven? Their OpenEXR normal maps seem too washed out and give incorrect shading in the engine.
      · 5 replies
    • datiswous

      I tried to upscale the TDM logo video. First try:

      briefing_video.mp4 You can test it ingame by making a copy of the core tdm_gui.mtr and place it in your-tdm-root/materials/ , then edit line 249 of that file into the location where you placed the new briefing.mp4 file.
      What I did was I extracted all the image files, then used Upscayl to upscale the images using General photo (Real-Esrgan) upscale setting and then turn it back into a video.
      I might have to crop it a bit, the logo looks smaller on screen (or maybe it's actually better this way?). My video editor turned it into a 16:9 video, which I think overal looks better than 1:1 video of original.
      · 1 reply
    • nbohr1more

      Trying to be productive on my down-time before Capcom releases Akuma and my son is constantly on my PC playing Street Fighter...
      · 1 reply
×
×
  • Create New...