IohannRabeson / teamwork-launcher

Launcher for Team Fortress 2 that uses Teamwork.tf as data source
MIT License
9 stars 0 forks source link

[Feature Idea] Server Purity Profiles! #118

Open hatwearingdumb opened 1 year ago

hatwearingdumb commented 1 year ago

What if there was a bottom bar with different sv_pure options, that would disable/enable some mods, based on what server the user intends to play on?

The way it would work, could be:

  1. Profile button is clicked.
  2. The launcher moves any blacklisted mods of that profile to a temporary subfolder in the game's directory (ex.: Team Fortress 2\tf\custom_disabled), so that the game doesn't use them.
  3. The game is launched.

So one could configure such mod blacklist options as: [Casual] - Disables most mods that tamper with models/textures. [Community] - Enables all mods. [Strict] - Disables all non-hud, non-sound mods.

This would require automatic vpk/folder detection in the game's files, and maybe even mod type detection.

These profiles could also potentially work with config files (such as different autoexec.cfg and config.cfg per profile).

IohannRabeson commented 1 year ago

Hi! I'm not really an expert about mods (playing the game since 11 years but just started to use mods few weeks ago!) so correct me if I'm wrong! :)

The difficult thing with this feature is how to find the "type" or "kind" of a mod. What I could do is to implement a mod profile feature that allows to assign mods to a profile, the user can then choose the profile he wants to use and the launcher enables/disables the mods according to the selected profile by modifying the tf2/custom folder.
Once this is working, if possible, I can implement the mod scan features, it could scan each mods and add categories to the mod and then it should be easy to create some kind of automatic profile that checks for the categories to enable / disable a mod. Let me know what you think!

hatwearingdumb commented 1 year ago

That sounds great!

To determine a mod's type, you could unpack the vpk, and check it's subfolders, from there, you know what category it is- the unpacked mod's subfolder would be named either "models", "sound", or "materials".

The slightly trickier part would be to determine an animation mod, they contain something like: "models\player\engineer_animations.md"