Jump to content
The Dark Mod Forums

Notes and things.


Knockout Thief
 Share

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.

 Share


  • Recent Status Updates

    • peter_spy

      Perhaps an unpopular opinion: TDM team might benefit from someone with actual QA experience; someone with naturally and professionally developed curiosity, who is interested in how and why things work, how they break At least to me it's kind of mind-boggling how untested some rather important features are (first the absence alert feature for items, now the rope +body carry behavior).
      · 4 replies
    • nbohr1more

      The Dark Mod is hosting an Ask Me Anything thread on the PC Gaming reddit forum:  https://www.reddit.com/r/pcgaming/comments/10nfcwj/hello_we_are_the_international_development_team/
      Feel free to join the discussion there
      · 2 replies
    • stgatilov

      Bumped into an interesting piece of wisdom called Hyrum's Law:
      With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.
      · 5 replies
    • The Black Arrow

      I love playing The Dark Mod when it's cold in my place. Bonus points when it's a bit (or even very) dark and it's raining, too.
      · 2 replies
    • The Black Arrow

      I've been having stutters in Vulkan, apparently it's Nvidia Drivers' fault, so I reverted to 512 according to this: https://www.nvidia.com/en-us/geforce/forums/geforce-graphics-cards/5/505679/regular-microstutter-in-vulkan-applications-after-/?topicPage=40

      And no, that did NOT fix it. What's going on? My GPU is an RTX 2070, by the way.
      · 4 replies
×
×
  • Create New...