Facepunch / garrysmod-requests

Feature requests for Garry's Mod
83 stars 24 forks source link

Ability to unmount legacy addons #275

Open DarthTealc opened 10 years ago

DarthTealc commented 10 years ago

It could work the same way as Workshop addons do. List all the addons and have a button to enable/disable them individually. Store a list of disabled addons in cfg/addonnomount.txt and then don't mount those ones.

Example: http://i.imgur.com/ezyQEIH.png

Nothing fancy. Just the ability to mount/unmount without having to move folders around and reboot Gmod.

xaviergmail commented 10 years ago

I would like to see this and perhaps an addon mount list in gamemode.txt as well if possible

robotboy655 commented 10 years ago

Addon mount list?

xaviergmail commented 10 years ago

Something like this is what I had in mind:

"Gamemode"
{
    "title"         "Gamemode"
    "version"       "1.0"
    "author_name"   "Author"
    "menusystem"    "1"
    "addons"
    {
        "1"         "ulib"
        "2"         "ulx"
        "3"         "chatbox"
        "4"         "supercoolradio"
    }
}

It could be done differently but I would really like the ability to only mount specific addons for certain gamemodes.

Edit: Pardon me, I don't quite understand the logic behind this github markdown stuff.

DrVrej commented 10 years ago

I support this.

Vipes commented 10 years ago

I support this as well. Could prove useful for testing your own addons, as well as keeping the addons you don't want to use currently instead of deleting them.

DarthTealc commented 10 years ago

Lucky9Two has requested disabling non-workshop .gma addons. Could functionality for that be included in this legacy addon list? http://facepunch.com/showthread.php?t=1374457&p=45252138&viewfull=1#post45252138

DarthTealc commented 10 years ago

Example of how the non-mount list could work. file Basically the same as the workshop non-mount list but with folder names instead of Workshop IDs. Any unlisted folder names get mounted. If a folder name is listed, that folder isn't mounted.

xaviergmail commented 9 years ago

I would rather have an implicit mount list rather than a blacklist. Could this be possible? Obviously the addon mount list would be completely optional, and it would mount all addons normally if it isn't added. Doesn't have to be strictly in the gamemode file either, but at least the ability to mount specific addons would be great for sharing addons between gamemodes as well as not needing either a separate SRCDS instance or having to move addon folders when switching gamemodes.

6:02 PM - Willox: Xavier, I'd just add a startup parameter that can mount more addon dirs

Or perhaps something like -addondir addons_gamemode, less flexibility but could also be an option.

robotboy655 commented 9 years ago

That doesn't make any sense to implement. If you want to limit your addon to a sinlge gamemode, use a if ( !SOME GLOBAL VARIABLE FROM THE GAMEMODE ) then return end to stop execution of the code.

willox commented 9 years ago

I think the idea is that multiple servers can be ran from a single SRCDS installation. You'd need to be able to change other things like the data directory and sqlite databases too, though.

xaviergmail commented 9 years ago

I just want to be able to have only a single development SRCDS instance for multiple gamemodes. For example, if I want to work on gamemode A, I may only want addon "xmod" and "chatbox" to be mounted, where as if I run gamemode B, I may want "xmod", "chatbox", "weapons", "logger" to be mounted, etc. without the hassle of moving folders around. Data folder / sqlite aren't an issue. It does make a lot of sense to implement, as it's completely optional and shouldn't take long at all to implement either.

xaviergmail commented 9 years ago

if ( !SOME GLOBAL VARIABLE FROM THE GAMEMODE ) then return end

Also this won't work for things such as weapons / entities without either including this inside of every file or having to unregister them. That approach is also not modular at all, because you would have to manually edit each addon for every gamemode you want to support for shared addons.