Simplified customization for TurboHUD menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 18
  1. #1
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3693
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3335
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    Simplified customization for TurboHUD

    This thread is created to discuss a simplified configuration interface for TurboHUD plugins.
    I would like to discuss this topic with mainly plugin developers.

    Even the C# "Customize()" method is way too complex for most regular users.

    We need a simplified way to customize plugins.

    requirements:
    - persist user settings in 1 or more files
    - if a setting is invalid, just ignore it and allow the plugin to use default settings (example: the property behind the setting is no longer exists in the plugin, or just renamed)
    - support basic property value types: integer, float, double, bool, IFont, IBrush, ITexture (any more ideas?)
    - special property values (lists, dictionaries, enumerables, delegates, etc) are not in the scope of this tool
    - integrated into HUD itself, so it will be unaware of any classes/types in the plugins (decorators, etc)
    Do not send me private messages unless it is absolutely necessary or the content is sensitive or when I ask you to do that...

    Simplified customization for TurboHUD
  2. #2
    johnbl's Avatar Active Member
    Reputation
    33
    Join Date
    Dec 2016
    Posts
    129
    Thanks G/R
    347/16
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    KJ, if something like TCT could be integrated into TH, it would definitely make life easier for new users.

    You could also get some ideas from PoEHUD. It allows customization from inside the game, using a tree-like menu.

  3. #3
    User5981's Avatar First Dev On The Internet
    Reputation
    379
    Join Date
    Aug 2017
    Posts
    765
    Thanks G/R
    30/358
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hard for me to imagine something else... But here are some ideas :
    A key launching a window with a user interface featuring an "apply & restart TurboHUD" button.
    Using a special PluginSettings class, available settings could be displayed (including a setting description text) & set in the interface.
    One page per plugin, default plugins separated from custom ones.
    Supported version for all Resu plugins

  4. #4
    icheck's Avatar Banned
    Reputation
    6
    Join Date
    Jan 2019
    Posts
    36
    Thanks G/R
    11/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think it's a good idea, it would be useful for those who do not know how to edit those files without spoiling them. For compatibility, in my opinion, I would have to work on the PluginEnablerOrDisablerPlugin.cs instead of having my own configuration file. Initially I could modify the simplest types of data such as boolean, and gradually expand, and leave the more complicated parameters to edit them by hand for those who know how to do it.

  5. #5
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3693
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3335
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    1) add Winforms window UI into HUD, activated by hotkey
    2) display all plugins and suppprted properties in a tree (discovered by reflection)
    3) on close, persist changes in two files: a well structured file (xml, json, or binary) and a generated 'customizer' plugin C# file
    4) on open always read data from the structured file

    opinions?
    Do not send me private messages unless it is absolutely necessary or the content is sensitive or when I ask you to do that...

  6. #6
    User5981's Avatar First Dev On The Internet
    Reputation
    379
    Join Date
    Aug 2017
    Posts
    765
    Thanks G/R
    30/358
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by KillerJohn View Post
    1) add Winforms window UI into HUD, activated by hotkey
    2) display all plugins and suppprted properties in a tree (discovered by reflection)
    3) on close, persist changes in two files: a well structured file (xml, json, or binary) and a generated 'customizer' plugin C# file
    4) on open always read data from the structured file

    opinions?
    Sounds good :-)
    Supported version for all Resu plugins

  7. #7
    bm206's Avatar Active Member
    Reputation
    73
    Join Date
    Mar 2017
    Posts
    285
    Thanks G/R
    57/64
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think the effort is too big. Most users use a complete plugin package from a clan user who knows about it. For all plugins, only the text needs to be copied to a cs file. If adjustments are required for the plugin, these are specified by the creator. Here it would only help to offer these adjustments as a separate config file. This is where most mistakes happen. So one config file per plugin. Then only true / false would have to be changed.

  8. #8
    JarJarD3's Avatar Contributor
    Reputation
    106
    Join Date
    Oct 2017
    Posts
    395
    Thanks G/R
    41/101
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    Easy configuration without C# is great idea for both end users and plugin developers a like!

    UI would be nice and convenient for most users.
    As a programmer I prefer text files for configuration (most of the times) and definitely for the initial version (to make it work).

    Could you first persist all settings (from all plugins) in the text config file.
    In practice this requirement would mean that on startup all plugins has to inspected and the text config file synchronized with actual plugin "settings".
    Add new and remove deleted settings but do not touch existing settings as user may have modified them.

    Property files (.properties - Wikipedia) are my favorites.
    There are other popular text formats for config files as well (like YAML).
    Which is easiest to read and write could be one selection criteria if good UI is provided.

    UI needs to have "reset to default" option for each plugin.
    UI could notify about new plugins or settings (nice to have feature).

  9. #9
    JarJarD3's Avatar Contributor
    Reputation
    106
    Join Date
    Oct 2017
    Posts
    395
    Thanks G/R
    41/101
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    Originally Posted by bm206 View Post
    I think the effort is too big. Most users use a complete plugin package from a clan user who knows about it. For all plugins, only the text needs to be copied to a cs file. If adjustments are required for the plugin, these are specified by the creator. Here it would only help to offer these adjustments as a separate config file. This is where most mistakes happen. So one config file per plugin. Then only true / false would have to be changed.
    It is true that work estimate for this feature is quite big.
    Maybe (optimistically) 2-3 days for the code to persist plugin settings from and to a config file using reflection etc..
    I suggest breaking changes without backwards compatibility as existing plugins can be configured already using original method.
    New settings should use new Configuration interface or maybe annotations would be easier and better suited for this kind of task.

    I can not even estimate work amount for the UI task, definitely a much longer time than persisting the settings.

  10. #10
    bm206's Avatar Active Member
    Reputation
    73
    Join Date
    Mar 2017
    Posts
    285
    Thanks G/R
    57/64
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    But don't break old plugins. There are so many useful plugins, but their developer is gone...

  11. #11
    User5981's Avatar First Dev On The Internet
    Reputation
    379
    Join Date
    Aug 2017
    Posts
    765
    Thanks G/R
    30/358
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by bm206 View Post
    But don't break old plugins. There are so many useful plugins, but their developer is gone...
    We can upgrade them to the new system, I don't think there are so many useful abandonned plugins...
    Supported version for all Resu plugins

  12. #12
    johnbl's Avatar Active Member
    Reputation
    33
    Join Date
    Dec 2016
    Posts
    129
    Thanks G/R
    347/16
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think there are quite a few useful abandoned plugins. The thing is that they are still working with the latest TH so nobody complained yet.

  13. #13
    User5981's Avatar First Dev On The Internet
    Reputation
    379
    Join Date
    Aug 2017
    Posts
    765
    Thanks G/R
    30/358
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by johnbl View Post
    I think there are quite a few useful abandoned plugins. The thing is that they are still working with the latest TH so nobody complained yet.
    I would be interested in having a list of those.
    Supported version for all Resu plugins

  14. #14
    JarJarD3's Avatar Contributor
    Reputation
    106
    Join Date
    Oct 2017
    Posts
    395
    Thanks G/R
    41/101
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    Originally Posted by bm206 View Post
    But don't break old plugins. There are so many useful plugins, but their developer is gone...
    It is better to leave current plugins "as is" and new plugins has to implement a configuration API or use annotations for configurable settings in order to use proposed configuration UI.

  15. #15
    JarJarD3's Avatar Contributor
    Reputation
    106
    Join Date
    Oct 2017
    Posts
    395
    Thanks G/R
    41/101
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    Originally Posted by JarJarD3 View Post
    It is better to leave current plugins "as is" and new plugins has to implement a configuration API or use annotations for configurable settings in order to use proposed configuration UI.
    I vote for annotations as they are easy to use and easy to implement.

Page 1 of 2 12 LastLast

Similar Threads

  1. TurboUI: A graphical user interface for TurboHUD run files
    By LongDon in forum Diablo 3 Bots and Programs
    Replies: 9
    Last Post: 08-22-2022, 03:50 AM
  2. [Selling] Want regulars customers for all orb types in standar league(eu)
    By almorranas in forum PoE Buy Sell Trade
    Replies: 0
    Last Post: 04-04-2014, 03:18 AM
  3. [Selling] Honorbuddy Grinding/Gathering Profiles (customized for you!)
    By ev0 in forum World of Warcraft Buy Sell Trade
    Replies: 51
    Last Post: 12-02-2013, 05:40 AM
  4. [Buying] Race change/character re-customization for gold
    By reload3 in forum World of Warcraft Buy Sell Trade
    Replies: 1
    Last Post: 02-11-2011, 11:16 AM
  5. [Request] npcs customs for trinity database 3.2.2a
    By matrix23 in forum WoW EMU Questions & Requests
    Replies: 0
    Last Post: 01-24-2010, 12:19 AM
All times are GMT -5. The time now is 09:34 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search