For Kernel Panic, I tried to strike a balance between not upsetting old timers and not confusing new players, a balance between controlling the widget environnment, and harnessing the power of freedom. So I do the following:
- Kernel Panic sd7 only include widgets that would make no sense outside of it.*
- Generic widgets that I like are put in the installer.**
- KP include a whitelist widget. This widget is run once the first time KP is run, then disable itself forever. (Or until you manually re-enable it from widgetlist, or clean your LuaUI/config/) ***
*
- kp_cnslcmd.lua could be used as generic external widget, except it was meant mainly for the /sos /ons etc... luarules cheats which are KP specific.
- kp_keep_morphed_selected.lua could be used as generic external widget, but I figured if another mod implement morphing, he can copy the widget as well.
- kp_mission_briefing.lua only make sense for mods using my mission system, and then I copy the widged in them as well.
- kp_buildbar.lua is customised for KP by green lines and by handling the terminal & firewall.
**
- music.lua I consider external because the .ogg files are external (and they are for good reasons). Beside technically another mod installer could install its own music in /music/ or /music/modShortName/ and the same widget could be used.
***
The whitelist widget also reset settings. Maybe the two function should be seperated, but I wanted to keep the widget list short, an in a sense which widgets are active is a setting.
That way, people who run Kernel Panic for the first time have all their extra widget disabled. I do that only to avoid bug. I had several report of widgets interfering with KP, making it unplayable. Like a camera control wrestling for camera control with my HOMF gamemode, like some widget managing idle builder unaware they can't assit in KP, etc... plus all that I was never told about.
However, enabling external widget in KP is as simple as opening the F11 widget list and clicking them. Your active widget list will be saved between games, and even between KP versions.
I changed the default to off so that the game doesn't start with a massive amount of unneeded widgets activated, but I'm not trying to forbid external widget. I do not believe sploits and cheats are really a concern for such a small hobby project. I encourage using external widget in KP, as long as you know what you're doing. I just don't want KP to crash or become unplayable on unsuspecting people because they forget an awfully coded widget that assumed all mods were BA.
I would like to point out how few replies had this thread:
http://springrts.com/phpbb/viewtopic.php?f=43&t=18586